:root {
  --ink:#0f172a;
  --soft:#475569;
  --navy:#16345f;
  --navy-dark:#0f172a;
  --teal:#0f766e;
  --teal-soft:#e7f5f2;
  --paper:#f8fafc;
  --line:#cbd5e1;
  --white:#fff;
  --danger:#b91c1c;
  --shadow:0 1px 3px rgba(15,23,42,.08),0 10px 28px rgba(15,23,42,.05);
}

* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:Inter,"SF Pro Text","Segoe UI",Roboto,Arial,sans-serif; -webkit-font-smoothing:antialiased; }
a { color:inherit; }
svg { display:block; }
.inline-icon { width:17px; height:17px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.visually-hidden { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
.bot-field { position:absolute!important; left:-10000px!important; width:1px!important; height:1px!important; overflow:hidden!important; }
.skip-link { position:fixed; left:12px; top:-60px; z-index:100; padding:10px 15px; border-radius:6px; color:white; background:var(--navy); }
.skip-link:focus { top:12px; }

.site-header { min-height:80px; display:flex; align-items:center; justify-content:space-between; gap:24px; padding:10px clamp(20px,6vw,96px); border-bottom:1px solid var(--line); background:rgba(255,255,255,.97); backdrop-filter:blur(12px); position:sticky; top:0; z-index:30; }
.brand { display:flex; align-items:center; gap:12px; text-decoration:none; }
.brand img { width:56px; height:52px; object-fit:cover; border-radius:8px; }
.brand strong,.brand small { display:block; }
.brand strong { font-size:18px; font-weight:700; letter-spacing:-.01em; }
.brand small { margin-top:3px; color:var(--teal); font-size:12px; font-weight:700; letter-spacing:.04em; }
nav { display:flex; align-items:center; gap:25px; }
nav a { color:#334155; font-size:13px; font-weight:650; text-decoration:none; }
nav a:hover,nav a:focus-visible { color:var(--teal); }
.header-action { padding:11px 16px; border-radius:6px; color:white; background:var(--navy); font-size:13px; font-weight:700; text-decoration:none; }

.section { padding:88px clamp(24px,7vw,120px); }
.eyebrow { display:inline-flex; align-items:center; color:var(--teal); font-size:12px; font-weight:750; letter-spacing:.04em; }
.eyebrow.light { color:#b7e3de; }
.section-heading { max-width:820px; margin-bottom:38px; }
.section-heading h2,.mobile h2,.privacy h2,.contact-intro>h2 { margin:11px 0 16px; font-size:clamp(30px,4vw,46px); line-height:1.08; font-weight:700; letter-spacing:-.025em; }
.section-heading>p,.mobile-intro>p,.privacy>div>p,.contact-intro>p { color:var(--soft); font-size:16px; line-height:1.7; }

.hero { min-height:650px; display:grid; grid-template-columns:minmax(0,1.1fr) minmax(340px,.75fr); gap:clamp(40px,7vw,96px); align-items:center; padding:clamp(56px,8vw,96px) clamp(24px,7vw,120px); background:#fff; }
h1 { max-width:830px; margin:18px 0 22px; font-size:clamp(40px,5.7vw,66px); line-height:1.02; font-weight:720; letter-spacing:-.035em; }
h1 em { color:inherit; font-style:normal; font-weight:inherit; }
.hero-copy>p { max-width:710px; color:var(--soft); font-size:clamp(16px,1.4vw,19px); line-height:1.7; }
.hero-actions { display:flex; flex-wrap:wrap; gap:11px; margin-top:30px; }
.button { min-height:48px; display:inline-flex; align-items:center; justify-content:center; gap:14px; padding:0 19px; border-radius:6px; font-size:13px; font-weight:700; text-decoration:none; }
.primary { color:white; background:var(--teal); }
.primary:hover { background:#0b625c; }
.secondary { color:var(--navy); border:1px solid var(--line); background:white; }
.trust-row { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:38px; padding-top:22px; border-top:1px solid var(--line); }
.trust-row span { color:var(--soft); font-size:12px; line-height:1.45; }
.trust-row b { display:block; margin-bottom:4px; color:var(--ink); font-size:12px; }

.product-visual { min-height:530px; display:grid; place-items:center; }
.phone-shell { width:min(310px,82vw); min-height:520px; padding:14px 15px 18px; border:6px solid var(--navy-dark); border-radius:28px; background:#fff; box-shadow:var(--shadow); }
.phone-top { display:flex; justify-content:space-between; align-items:center; padding:0 8px 11px; color:#64748b; font-size:12px; font-weight:700; }
.phone-top i { width:72px; height:18px; margin-top:-14px; border-radius:0 0 10px 10px; background:var(--navy-dark); }
.phone-brand { display:flex; align-items:center; gap:9px; padding:8px 5px 13px; }
.phone-brand img { width:37px; height:37px; border-radius:7px; object-fit:cover; }
.phone-brand small,.phone-brand strong { display:block; }
.phone-brand small { color:var(--teal); font-size:12px; font-weight:750; letter-spacing:.03em; }
.phone-brand strong { margin-top:2px; font-size:17px; font-weight:700; }
.capture-view { height:260px; overflow:hidden; position:relative; border:1px solid var(--line); border-radius:10px; background:#eef3f7; }
.capture-placeholder { position:absolute; inset:0; display:grid; place-content:center; justify-items:center; gap:10px; color:#526175; font-size:13px; font-weight:650; }
.capture-placeholder svg { width:54px; fill:none; stroke:var(--teal); stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
.corner { position:absolute; z-index:3; width:34px; height:34px; border-color:var(--teal); border-style:solid; }
.corner.top-left{left:18px;top:18px;border-width:2px 0 0 2px}.corner.top-right{right:18px;top:18px;border-width:2px 2px 0 0}.corner.bottom-left{left:18px;bottom:18px;border-width:0 0 2px 2px}.corner.bottom-right{right:18px;bottom:18px;border-width:0 2px 2px 0}
.measurements { display:grid; grid-template-columns:repeat(3,1fr); gap:7px; margin:11px 0; }
.measurements span { padding:10px 7px; border:1px solid #e2e8f0; border-radius:6px; text-align:center; background:#f8fafc; }
.measurements small,.measurements strong { display:block; }
.measurements small { color:var(--soft); font-size:12px; font-weight:700; letter-spacing:.02em; }
.measurements strong { margin-top:5px; font-family:"SFMono-Regular",Consolas,"Liberation Mono",monospace; font-size:17px; font-variant-numeric:tabular-nums; }
.local-status { display:flex; align-items:center; gap:9px; padding:11px; border:1px solid #b9dcd7; border-radius:6px; background:#f0fdfa; }
.local-status i { width:9px; height:9px; flex:0 0 auto; border-radius:50%; background:var(--teal); }
.local-status strong,.local-status small { display:block; }
.local-status strong { font-size:12px; }
.local-status small { margin-top:2px; color:var(--soft); font-size:12px; }

.web-apps { background:#f8fafc; }
.portal-grid { display:grid; grid-template-columns:1fr 1fr; gap:22px; }
.portal-card { padding:32px; border:1px solid var(--line); border-radius:10px; background:white; box-shadow:var(--shadow); }
.card-top { display:flex; align-items:center; gap:13px; }
.portal-icon { width:46px; height:46px; display:grid; place-items:center; border-radius:8px; color:var(--teal); background:var(--teal-soft); }
.portal-icon svg { width:24px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.clinician .portal-icon { color:var(--navy); background:#e7eef8; }
.portal-card small { color:var(--teal); font-size:12px; font-weight:750; letter-spacing:.04em; }
.clinician small { color:var(--navy); }
.portal-card h3 { max-width:500px; margin:21px 0 13px; font-size:clamp(23px,2.6vw,32px); line-height:1.15; font-weight:700; letter-spacing:-.02em; }
.portal-card p,.portal-card li { color:var(--soft); font-size:14px; line-height:1.6; }
.portal-card ul { display:grid; gap:8px; padding-left:18px; margin:23px 0; }
.portal-card>a { display:flex; justify-content:space-between; align-items:center; padding-top:18px; border-top:1px solid var(--line); color:var(--navy); font-size:13px; font-weight:700; text-underline-offset:4px; }
.web-boundary { margin:24px 0 0; padding:18px 20px; border-left:3px solid var(--teal); color:var(--soft); background:white; font-size:13px; line-height:1.6; }
.web-boundary strong { color:var(--ink); }

.mobile { display:grid; grid-template-columns:minmax(0,.9fr) minmax(500px,1.1fr); gap:clamp(48px,8vw,110px); align-items:center; color:white; background:var(--navy-dark); }
.mobile-intro>p { color:#cbd5e1; }
.availability-note { padding-left:14px; border-left:2px solid #64748b; font-size:13px!important; }
.store-buttons { display:flex; flex-wrap:wrap; gap:11px; margin-top:27px; }
.store-buttons>* { min-width:205px; display:flex; align-items:center; gap:13px; padding:13px 16px; border:1px solid #475569; border-radius:8px; background:#1e293b; }
.store-buttons>a { color:white; text-decoration:none; }
.store-buttons .coming-soon { opacity:.72; }
.store-buttons b svg { width:27px; height:27px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.store-buttons small,.store-buttons strong { display:block; }
.store-buttons small { font-size:12px; letter-spacing:.03em; }
.store-buttons strong { margin-top:2px; font-size:14px; }
.measurement-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.measurement-grid article { min-height:180px; padding:24px; border:1px solid #475569; border-radius:10px; background:#1e293b; }
.measurement-grid span { color:#99f6e4; font-family:"SFMono-Regular",Consolas,monospace; font-size:16px; font-weight:700; font-variant-numeric:tabular-nums; }
.measurement-grid h3 { margin:27px 0 8px; font-size:21px; }
.measurement-grid p { margin:0; color:#cbd5e1; font-size:13px; line-height:1.6; }

.hybrid { background:#fff; }
.architecture { display:grid; grid-template-columns:1fr auto 1fr auto 1fr; gap:14px; align-items:center; }
.architecture>i svg { width:22px; fill:none; stroke:#64748b; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.architecture-step { min-height:240px; padding:26px; border:1px solid var(--line); border-radius:10px; background:white; box-shadow:var(--shadow); }
.architecture-step>span { width:34px; height:34px; display:grid; place-items:center; margin-bottom:28px; border-radius:6px; color:white; background:var(--navy); font-family:"SFMono-Regular",Consolas,monospace; font-size:12px; font-weight:700; }
.architecture-step small { color:var(--teal); font-size:12px; font-weight:750; letter-spacing:.03em; }
.architecture-step h3 { margin:10px 0; font-size:22px; line-height:1.2; }
.architecture-step p { color:var(--soft); font-size:13px; line-height:1.6; }
.architecture-step.accent { color:white; border-color:var(--navy); background:var(--navy); }
.architecture-step.accent>span { color:var(--navy); background:white; }
.architecture-step.accent small { color:#99f6e4; }
.architecture-step.accent p { color:#dbe4ee; }
.hybrid-guardrails { display:grid; grid-template-columns:.7fr 1.3fr; gap:28px; align-items:center; margin-top:23px; padding:22px 25px; border:1px solid var(--line); border-radius:8px; background:#f8fafc; }
.hybrid-guardrails strong { font-size:18px; line-height:1.35; }
.hybrid-guardrails span { color:var(--soft); font-size:13px; line-height:1.65; }

.privacy { display:grid; grid-template-columns:.72fr 1.28fr; gap:65px; color:white; background:var(--navy-dark); }
.privacy>div>p { color:#cbd5e1; }
.privacy ol { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin:0; padding:0; list-style:none; }
.privacy li { padding:22px; border:1px solid #475569; border-radius:8px; background:#1e293b; }
.privacy li span { color:#99f6e4; font-family:"SFMono-Regular",Consolas,monospace; font-size:16px; font-weight:700; }
.privacy li strong { display:block; margin:14px 0 7px; font-size:14px; }
.privacy li p { margin:0; color:#cbd5e1; font-size:12px; line-height:1.55; }

.contact { display:grid; grid-template-columns:minmax(0,.78fr) minmax(460px,1.22fr); gap:clamp(45px,8vw,105px); align-items:start; background:#fff; }
.email-card { display:grid; grid-template-columns:44px 1fr auto; gap:13px; align-items:center; margin-top:28px; padding:16px; border:1px solid var(--line); border-radius:8px; background:var(--paper); color:var(--ink); text-decoration:none; }
.email-card>span:first-child { width:44px; height:44px; display:grid; place-items:center; border-radius:7px; color:white; background:var(--teal); }
.email-card>span:first-child svg { width:22px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.email-card small,.email-card strong { display:block; }
.email-card small { color:var(--teal); font-size:12px; font-weight:750; letter-spacing:.03em; }
.email-card strong { margin-top:4px; font-size:14px; }
.signup-card { margin-top:18px; padding:24px; border-radius:10px; color:white; background:var(--navy); box-shadow:var(--shadow); }
.signup-card>small,.form-heading small { color:#99f6e4; font-size:12px; font-weight:750; letter-spacing:.03em; }
.signup-card h3 { margin:10px 0 7px; font-size:23px; }
.signup-card>p { margin:0 0 17px; color:#dbe4ee; font-size:13px; line-height:1.55; }
.signup-row { display:grid; grid-template-columns:1fr auto; gap:8px; }
.signup-row button { min-height:46px; padding:0 17px; border:0; border-radius:6px; color:var(--navy); background:white; font-size:13px; font-weight:700; cursor:pointer; }
.contact-form { padding:32px; border:1px solid var(--line); border-radius:10px; background:var(--paper); box-shadow:var(--shadow); }
.form-heading { margin-bottom:25px; }
.form-heading small { color:var(--teal); }
.form-heading h3 { margin:9px 0 8px; font-size:30px; }
.form-heading p { margin:0; color:var(--soft); font-size:13px; line-height:1.6; }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.contact-form>label,.form-grid label { display:block; margin-bottom:16px; }
.contact-form label>span:not(.visually-hidden),.form-grid label>span { display:block; margin-bottom:7px; color:var(--ink); font-size:13px; font-weight:650; }
.contact-form input,.contact-form select,.contact-form textarea,.signup-card input { width:100%; min-height:46px; padding:11px 12px; border:1px solid var(--line); border-radius:6px; color:var(--ink); background:white; font:inherit; font-size:14px; }
.contact-form textarea { resize:vertical; }
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus,.signup-card input:focus { outline:3px solid rgba(15,118,110,.18); border-color:var(--teal); }
.consent-line { display:flex!important; gap:9px; align-items:flex-start; margin:14px 0!important; color:var(--soft); font-size:12px; line-height:1.5; }
.signup-card .consent-line { color:#dbe4ee; }
.consent-line input { width:16px!important; min-height:16px!important; flex:0 0 16px; margin:1px 0 0; padding:0; accent-color:var(--teal); }
.consent-line span { margin:0!important; color:inherit!important; font-size:inherit!important; font-weight:400!important; }
.submit-button { width:100%; min-height:48px; display:flex; align-items:center; justify-content:center; gap:14px; border:0; border-radius:6px; color:white; background:var(--teal); font-size:13px; font-weight:700; cursor:pointer; }

.safety { display:flex; gap:9px; justify-content:center; padding:28px clamp(24px,7vw,120px); border-top:1px solid var(--line); color:var(--soft); background:white; font-size:13px; }
.safety strong { color:var(--ink); }
footer { display:grid; grid-template-columns:1fr auto 1fr; gap:25px; align-items:center; padding:28px clamp(24px,7vw,120px); color:#cbd5e1; background:var(--navy-dark); font-size:12px; }
.footer-brand { display:flex; align-items:center; gap:11px; color:white; text-decoration:none; }
.footer-brand img { width:45px; height:43px; border-radius:7px; object-fit:cover; }
.footer-brand strong,.footer-brand small { display:block; }
.footer-brand strong { font-size:16px; }
.footer-brand small { margin-top:3px; color:#94a3b8; font-size:12px; }
footer>div { display:flex; gap:19px; }
footer>div a { text-decoration:none; }
.footer-note { text-align:right; }

.submission-page { min-height:100vh; display:grid; place-items:center; padding:24px; background:var(--paper); }
.submission-page main { width:min(620px,100%); padding:42px; border:1px solid var(--line); border-radius:10px; background:white; box-shadow:var(--shadow); text-align:center; }
.submission-page img { width:76px; height:73px; border-radius:8px; object-fit:cover; }
.submission-page main>span { display:block; margin-top:18px; color:var(--teal); font-size:12px; font-weight:750; letter-spacing:.04em; }
.submission-page h1 { margin:13px 0; font-size:clamp(34px,7vw,50px); }
.submission-page p { color:var(--soft); font-size:15px; line-height:1.65; }
.submission-page a { min-height:48px; display:inline-flex; align-items:center; justify-content:center; margin-top:15px; padding:0 21px; border-radius:6px; color:white; background:var(--teal); font-size:13px; font-weight:700; text-decoration:none; }
.submission-page main>small { display:block; margin-top:25px; color:var(--soft); font-size:12px; line-height:1.5; }

@media(max-width:1080px){nav{display:none}.hero{grid-template-columns:1fr minmax(320px,.65fr);gap:35px}.mobile{grid-template-columns:1fr}.mobile-intro{max-width:800px}.contact{grid-template-columns:1fr}.contact-intro{max-width:800px}}
@media(max-width:850px){.header-action{display:none}.hero{grid-template-columns:1fr}.product-visual{min-height:550px;max-width:600px;width:100%;margin:auto}.portal-grid{grid-template-columns:1fr}.architecture{grid-template-columns:1fr}.architecture>i{transform:rotate(90deg);justify-self:center}.hybrid-guardrails{grid-template-columns:1fr}.privacy{grid-template-columns:1fr}footer{grid-template-columns:1fr;justify-items:start}.footer-note{text-align:left}}
@media(max-width:600px){.site-header{min-height:70px}.brand img{width:50px;height:47px}.brand span{display:none}.section{padding:58px 17px}.hero{min-height:auto;padding:48px 17px 62px}h1{font-size:40px}.hero-actions .button{width:100%}.trust-row{grid-template-columns:1fr}.product-visual{min-height:530px}.phone-shell{width:280px}.measurement-grid{grid-template-columns:1fr}.measurement-grid article{min-height:auto}.privacy ol{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.contact-form{padding:24px 18px}.signup-row{grid-template-columns:1fr}.signup-row button{width:100%}.safety{align-items:flex-start;flex-direction:column;padding-inline:17px}footer{padding-inline:17px}footer>div{flex-wrap:wrap}.store-buttons>*{width:100%}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
