/* AuroraMed design system v1 — no external fonts, no CDN. Tokens -> base -> components -> pages. */
:root{
  --navy-950:#06142A;--navy-900:#0B1F3A;--navy-800:#12305A;--navy-700:#1B4276;
  --teal-700:#0B6B74;--teal-600:#0E7C86;--teal-500:#19A7B0;--teal-300:#7FD6DB;--teal-100:#DDF3F4;--teal-50:#F0FAFA;
  --amber:#FFB547;--amber-600:#E9960F;--coral:#E879A6;--violet:#6E7BF2;
  --ink:#0E1B2C;--ink-2:#2F4157;--ink-3:#44566B;--line:#D5DEE8;--line-2:#E8EEF4;--bg:#FFFFFF;--bg-soft:#F5F8FB;--bg-tint:#EEF4F9;
  --ok:#0B6B3A;--ok-bg:#E3F5EA;--warn:#7A4A00;--warn-bg:#FFF1D6;--bad:#8A1C1C;--bad-bg:#FBE4E4;--info:#1B4276;--info-bg:#E3EDF9;--violet-d:#3F3FA8;--violet-bg:#EBEBFC;
  --aurora:linear-gradient(115deg,#19A7B0 0%,#6E7BF2 45%,#E879A6 75%,#FFB547 100%);
  --r-sm:8px;--r:14px;--r-lg:22px;--shadow-1:0 1px 2px rgba(11,31,58,.06),0 4px 14px rgba(11,31,58,.06);--shadow-2:0 10px 40px rgba(6,20,42,.18);
  --font:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif;--mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --maxw:1180px;--pad:clamp(1rem,4vw,2rem);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
body{margin:0;font:400 1.0625rem/1.65 var(--font);color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased}
img,svg{max-width:100%;height:auto;display:block}
a{color:var(--teal-700);text-underline-offset:.18em;text-decoration-thickness:.08em}
a:hover{color:var(--navy-800)}
:focus-visible{outline:3px solid var(--amber);outline-offset:3px;border-radius:4px}
.skip{position:absolute;left:-999px;top:0;background:var(--amber);color:var(--navy-900);padding:.75rem 1rem;z-index:1000;font-weight:700}
.skip:focus{left:0}
h1,h2,h3,h4{line-height:1.15;letter-spacing:-.015em;color:var(--navy-900);margin:0 0 .6em;font-weight:750}
h1{font-size:clamp(2.2rem,5.2vw,3.6rem);letter-spacing:-.03em}
h2{font-size:clamp(1.6rem,3.2vw,2.35rem)}
h3{font-size:1.25rem}h4{font-size:1.05rem}
.h1{font-size:clamp(2.2rem,5.2vw,3.6rem);letter-spacing:-.03em}.h2{font-size:clamp(1.6rem,3.2vw,2.35rem)}.h3{font-size:1.25rem}.h4{font-size:1.05rem}
p{margin:0 0 1em}
.lead{font-size:clamp(1.1rem,1.6vw,1.3rem);color:var(--ink-2);max-width:62ch}
.eyebrow{font-size:.8rem;font-weight:750;letter-spacing:.12em;text-transform:uppercase;color:var(--teal-700);margin:0 0 .8rem}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--pad)}
.narrow{max-width:780px}
section{padding:clamp(3rem,7vw,5.5rem) 0}
.s-soft{background:var(--bg-soft)}.s-tint{background:var(--bg-tint)}
.s-dark{background:var(--navy-900);color:#E6EEF7}.s-dark h2,.s-dark h3,.s-dark h4{color:#fff}.s-dark .lead,.s-dark p{color:#C9D7E6}.s-dark .eyebrow{color:var(--teal-300)}.s-dark a{color:var(--teal-300)}
.center{text-align:center}.center .lead{margin-inline:auto}
.grid{display:grid;gap:1.25rem}
.g2{grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr))}
.g3{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}
.g4{grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr))}
.stack>*+*{margin-top:1rem}
/* buttons */
.btn{display:inline-flex;align-items:center;gap:.5rem;font:700 1rem/1 var(--font);padding:.95rem 1.4rem;border-radius:999px;border:2px solid transparent;text-decoration:none;cursor:pointer;min-height:48px;transition:transform .15s,box-shadow .15s,background .15s}
.btn:hover{transform:translateY(-1px)}
.btn-primary{background:var(--amber);color:var(--navy-900);box-shadow:0 6px 20px rgba(255,181,71,.35)}
.btn-primary:hover{background:#FFC468;color:var(--navy-900)}
.btn-dark{background:var(--navy-900);color:#fff}.btn-dark:hover{background:var(--navy-700);color:#fff}
.btn-ghost{background:transparent;color:var(--navy-900);border-color:var(--navy-900)}.btn-ghost:hover{background:var(--navy-900);color:#fff}
.s-dark .btn-ghost,.hero .btn-ghost{color:#fff;border-color:rgba(255,255,255,.7)}.s-dark .btn-ghost:hover,.hero .btn-ghost:hover{background:#fff;color:var(--navy-900)}
.btn-row{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.4rem}
/* header */
.announce{background:var(--navy-950);color:#DCE8F5;font-size:.9rem;text-align:center;padding:.55rem var(--pad)}
.announce a{color:var(--amber);font-weight:700}
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--line-2)}
.nav{display:flex;align-items:center;gap:1rem;min-height:68px}
.brand{display:flex;align-items:center;gap:.6rem;font-weight:800;font-size:1.25rem;color:var(--navy-900);text-decoration:none;letter-spacing:-.02em}
.brand svg{width:34px;height:34px}
.nav ul{list-style:none;display:flex;gap:.25rem;margin:0 0 0 auto;padding:0;align-items:center}
.nav li{position:relative}
.nav a.nl,.nav button.nl{font:600 .97rem/1 var(--font);color:var(--ink);text-decoration:none;padding:.8rem .8rem;border-radius:8px;display:inline-block;background:none;border:0;cursor:pointer}
.nav a.nl:hover,.nav button.nl:hover,.nav a[aria-current=page]{background:var(--bg-tint);color:var(--navy-900)}
.drop{position:absolute;left:0;top:100%;min-width:290px;background:#fff;border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow-2);padding:.6rem;display:none;z-index:60}
.has-drop:hover .drop,.has-drop:focus-within .drop,.has-drop.open .drop{display:block}
.drop a{display:block;padding:.6rem .8rem;border-radius:8px;text-decoration:none;color:var(--ink);font-weight:600}
.drop a small{display:block;font-weight:400;color:var(--ink-3);font-size:.85rem}
.drop a:hover{background:var(--teal-50)}
.lang{font-size:.85rem;font-weight:700;border:1px solid var(--line);border-radius:999px;padding:.4rem .7rem;text-decoration:none;color:var(--ink-2)}
.nav-toggle{display:none;margin-left:auto;background:none;border:1px solid var(--line);border-radius:10px;padding:.6rem .8rem;font:700 .95rem var(--font);color:var(--navy-900);min-height:44px;cursor:pointer}
@media (max-width:980px){
  .nav-toggle{display:inline-block}
  .nav ul{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;padding:.8rem var(--pad) 1.2rem;margin:0;max-height:80vh;overflow:auto}
  .nav.open ul{display:flex}
  .drop{position:static;display:block;box-shadow:none;border:0;padding:0 0 0 .8rem;min-width:0}
  .nav .lang,.nav .btn{align-self:flex-start;margin-top:.4rem}
}
/* hero */
.hero{position:relative;overflow:hidden;background:radial-gradient(1200px 600px at 85% -10%,rgba(110,123,242,.35),transparent 60%),radial-gradient(900px 500px at 10% 110%,rgba(25,167,176,.35),transparent 60%),var(--navy-900);color:#E6EEF7;padding:clamp(3.2rem,8vw,6rem) 0 clamp(3rem,7vw,5rem)}
.hero h1{color:#fff}.hero .lead{color:#D3E0EE}.hero .eyebrow{color:var(--teal-300)}
.hero-grid{display:grid;gap:2.5rem;grid-template-columns:1.05fr .95fr;align-items:center}
@media (max-width:980px){.hero-grid{grid-template-columns:1fr}}
.hero-note{margin-top:1.2rem;font-size:.92rem;color:#B9CADC;display:flex;flex-wrap:wrap;gap:.4rem 1.2rem;padding:0;list-style:none}
.hero-note li::before{content:"";display:inline-block;width:.55rem;height:.55rem;border-radius:50%;background:var(--teal-300);margin-right:.5rem}
.aurora-text{background:var(--aurora);-webkit-background-clip:text;background-clip:text;color:transparent}
.page-hero{background:linear-gradient(180deg,var(--bg-tint),#fff);padding:clamp(2.6rem,6vw,4.4rem) 0 clamp(1.6rem,3vw,2.4rem);border-bottom:1px solid var(--line-2)}
.crumbs{font-size:.88rem;color:var(--ink-3);margin-bottom:1rem}.crumbs a{color:var(--ink-3)}
/* cards */
.card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:1.5rem;box-shadow:var(--shadow-1);display:flex;flex-direction:column}
.card h3{margin-bottom:.4rem}.card p:last-child{margin-bottom:0}
a.card{text-decoration:none;color:inherit;transition:transform .15s,box-shadow .15s,border-color .15s}
a.card:hover{transform:translateY(-3px);border-color:var(--teal-500);box-shadow:var(--shadow-2)}
a.card .more{margin-top:auto;padding-top:1rem;font-weight:700;color:var(--teal-700)}
.s-dark .card{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.16);box-shadow:none}.s-dark .card p{color:#C9D7E6}
.icon{width:44px;height:44px;border-radius:12px;background:var(--teal-100);display:grid;place-items:center;margin-bottom:1rem;color:var(--teal-700)}
.icon svg{width:24px;height:24px}
.s-dark .icon{background:rgba(127,214,219,.16);color:var(--teal-300)}
/* badges: icon + text, never color alone */
.badge{display:inline-flex;align-items:center;gap:.35rem;font-size:.76rem;font-weight:750;letter-spacing:.02em;padding:.22rem .6rem;border-radius:999px;border:1px solid;white-space:nowrap;vertical-align:middle}
.badge::before{content:"";width:.5rem;height:.5rem;background:currentColor}
.b-pilot{color:var(--ok);background:var(--ok-bg);border-color:#9BD7B2}.b-pilot::before{border-radius:50%}
.b-sim{color:var(--info);background:var(--info-bg);border-color:#9DBBE4}.b-sim::before{border-radius:2px;transform:rotate(45deg)}
.b-coming{color:var(--warn);background:var(--warn-bg);border-color:#EBC27A}.b-coming::before{clip-path:polygon(0 0,100% 50%,0 100%)}
.b-design{color:var(--violet-d);background:var(--violet-bg);border-color:#BDBDF0}.b-design::before{clip-path:polygon(50% 0,100% 100%,0 100%)}
.b-open{color:#5B3A00;background:#FFF7E0;border-color:#E6CD86}.b-open::before{border-radius:50%;background:transparent;border:2px solid currentColor;width:.55rem;height:.55rem}
.b-not{color:var(--bad);background:var(--bad-bg);border-color:#E6A9A9}.b-not::before{clip-path:polygon(20% 0,50% 30%,80% 0,100% 20%,70% 50%,100% 80%,80% 100%,50% 70%,20% 100%,0 80%,30% 50%,0 20%)}
.b-partner{color:#0A5560;background:var(--teal-100);border-color:#8FCFD3}.b-partner::before{border-radius:2px}
.legend{display:flex;flex-wrap:wrap;gap:.5rem .9rem;align-items:center;font-size:.9rem;color:var(--ink-3);margin:1rem 0 0}
/* stat strip */
.strip{background:var(--navy-950);color:#fff;padding:1.6rem 0}
.strip-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.2rem}
.stat b{display:block;font-size:2rem;line-height:1.1;letter-spacing:-.02em;background:var(--aurora);-webkit-background-clip:text;background-clip:text;color:transparent}
.stat span{font-size:.92rem;color:#C9D7E6}
.strip small{display:block;color:#9FB4CA;margin-top:1rem}
.metric{border-left:4px solid var(--teal-500);padding:.2rem 0 .2rem 1.1rem}
.metric b{display:block;font-size:1.9rem;letter-spacing:-.02em;color:var(--navy-900)}
/* tables */
.tbl{width:100%;border-collapse:collapse;font-size:.97rem;background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.tbl th,.tbl td{padding:.8rem 1rem;text-align:left;vertical-align:top;border-bottom:1px solid var(--line-2)}
.tbl thead th{background:var(--navy-900);color:#fff;font-size:.88rem;letter-spacing:.03em}
.tbl tbody th{font-weight:700;color:var(--navy-900);background:var(--bg-soft)}
.tbl tr:last-child td,.tbl tr:last-child th{border-bottom:0}
.tbl-wrap{overflow-x:auto;border-radius:var(--r)}
/* callouts */
.callout{border-left:5px solid var(--teal-500);background:var(--teal-50);padding:1rem 1.2rem;border-radius:0 var(--r-sm) var(--r-sm) 0;margin:1.2rem 0}
.callout.warn{border-color:var(--amber-600);background:var(--warn-bg)}
.callout.note{border-color:var(--violet);background:var(--violet-bg)}
.callout p:last-child{margin-bottom:0}.callout strong:first-child{color:var(--navy-900)}
.ticks{list-style:none;padding:0;margin:0}
.ticks li{padding-left:1.8rem;position:relative;margin:.55rem 0}
.ticks li::before{content:"";position:absolute;left:0;top:.5em;width:1rem;height:.55rem;border-left:3px solid var(--teal-600);border-bottom:3px solid var(--teal-600);transform:rotate(-45deg) translateY(-.2em)}
.ticks.x li::before{border:0;width:1rem;height:1rem;transform:none;top:.35em;background:linear-gradient(45deg,transparent 43%,var(--bad) 43% 57%,transparent 57%),linear-gradient(-45deg,transparent 43%,var(--bad) 43% 57%,transparent 57%)}
/* pricing */
.plan{position:relative}
.plan .price{font-size:2.6rem;font-weight:800;letter-spacing:-.03em;color:var(--navy-900);line-height:1;margin:.6rem 0 .2rem}
.plan .per{color:var(--ink-3);font-size:.95rem;margin-bottom:1rem}
.plan.feat{border:2px solid var(--teal-600);box-shadow:var(--shadow-2)}
.plan .tag{position:absolute;top:-.8rem;left:1.2rem;background:var(--navy-900);color:#fff;font-size:.78rem;font-weight:750;padding:.25rem .7rem;border-radius:999px}
/* faq */
details.faq{border:1px solid var(--line);border-radius:var(--r-sm);background:#fff;margin:.6rem 0}
details.faq summary{cursor:pointer;padding:1rem 1.2rem;font-weight:700;color:var(--navy-900);list-style:none;display:flex;justify-content:space-between;gap:1rem;min-height:48px}
details.faq summary::-webkit-details-marker{display:none}
details.faq summary::after{content:"+";font-size:1.4rem;line-height:1;color:var(--teal-700)}
details.faq[open] summary::after{content:"\2212"}
details.faq .ans{padding:0 1.2rem 1rem;color:var(--ink-2)}
/* steps */
.steps{counter-reset:s;list-style:none;padding:0;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}
.steps li{counter-increment:s;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:1.3rem;position:relative}
.steps li::before{content:counter(s);display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--navy-900);color:#fff;font-weight:800;margin-bottom:.7rem}
/* forms */
label{display:block;font-weight:700;margin:1rem 0 .35rem;color:var(--navy-900)}
input,select,textarea{width:100%;font:inherit;padding:.8rem .9rem;border:1.5px solid #8CA0B6;border-radius:var(--r-sm);background:#fff;color:var(--ink);min-height:48px}
textarea{min-height:130px}
input:focus,select:focus,textarea:focus{border-color:var(--teal-600);outline:3px solid var(--teal-100)}
.form-card{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:clamp(1.2rem,3vw,2rem);box-shadow:var(--shadow-2)}
.hint{font-size:.9rem;color:var(--ink-3);margin-top:.3rem}
.check{display:flex;gap:.6rem;align-items:flex-start;font-weight:500}
.check input{width:1.3rem;min-height:1.3rem;margin-top:.25rem}
/* footer */
.site-footer{background:var(--navy-950);color:#C2D1E2;padding:3.5rem 0 6rem;font-size:.95rem}
.site-footer a{color:#DCE8F5}.site-footer h4,.site-footer .h4{color:#fff;font-size:.95rem;letter-spacing:.06em;text-transform:uppercase}
.foot-grid{display:grid;gap:2rem;grid-template-columns:1.4fr repeat(4,1fr)}
@media (max-width:900px){.foot-grid{grid-template-columns:1fr 1fr}}
.site-footer ul{list-style:none;padding:0;margin:0}.site-footer li{margin:.45rem 0}
.fine{border-top:1px solid rgba(255,255,255,.14);margin-top:2rem;padding-top:1.4rem;font-size:.86rem;color:#9FB4CA}
/* sticky cta */
.sticky-cta{position:fixed;left:0;right:0;bottom:0;z-index:70;background:var(--navy-900);color:#fff;padding:.7rem var(--pad);display:flex;gap:1rem;align-items:center;justify-content:center;transform:translateY(110%);transition:transform .3s;box-shadow:0 -8px 30px rgba(6,20,42,.3)}
.sticky-cta.show{transform:none}
.sticky-cta span{font-weight:600}
.sticky-cta .btn{padding:.7rem 1.1rem;min-height:44px}
.sticky-cta button.x{background:none;border:0;color:#C9D7E6;font-size:1.4rem;cursor:pointer;min-width:44px;min-height:44px}
@media (max-width:640px){.sticky-cta span{display:none}}
/* docs / help */
.doc{display:grid;grid-template-columns:260px minmax(0,1fr);gap:2.5rem;align-items:start}
@media (max-width:900px){.doc{grid-template-columns:1fr}}
.toc{position:sticky;top:90px;font-size:.93rem;border:1px solid var(--line);border-radius:var(--r);padding:1rem;background:var(--bg-soft);max-height:80vh;overflow:auto}
.toc ol{padding-left:1.1rem;margin:.4rem 0 0}.toc li{margin:.35rem 0}
.prose{max-width:78ch}.prose h2{margin-top:2.2rem}.prose h3{margin-top:1.6rem}
.prose li{margin:.3rem 0}
.qa{border:1px solid var(--line);border-radius:var(--r);padding:1.2rem 1.4rem;margin:1rem 0;background:#fff;scroll-margin-top:90px}
.qa:target{border-color:var(--teal-600);box-shadow:0 0 0 4px var(--teal-100)}
.qa h3{font-size:1.1rem;margin:0 0 .5rem;display:flex;gap:.6rem;flex-wrap:wrap;align-items:baseline}
.qa .cid{font-family:var(--mono);font-size:.78rem;color:var(--ink-3);background:var(--bg-tint);border-radius:6px;padding:.15rem .45rem}
.qa .meta{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;font-size:.85rem;color:var(--ink-3);margin-top:.6rem}
.search{position:relative;max-width:720px}
.search input{padding:1rem 1.2rem;font-size:1.1rem;border-radius:999px}
#results{list-style:none;padding:0;margin:1.2rem 0}
#results li{border-bottom:1px solid var(--line-2);padding:1rem 0}
#results a{font-weight:700}
#results .sn{color:var(--ink-2);font-size:.95rem;margin:.3rem 0 0}
.chips{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0}
.chip{border:1.5px solid var(--line);background:#fff;border-radius:999px;padding:.45rem .9rem;font:600 .9rem var(--font);cursor:pointer;color:var(--ink-2);min-height:40px}
.chip[aria-pressed=true]{background:var(--navy-900);color:#fff;border-color:var(--navy-900)}
.count{color:var(--ink-3);font-size:.92rem}
.pill-list{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;padding:0}
.pill-list li{background:var(--bg-tint);border-radius:999px;padding:.3rem .8rem;font-size:.9rem;font-weight:600;color:var(--ink-2)}
.preview-banner{background:var(--warn-bg);border-bottom:1px solid #EBC27A;color:var(--warn);text-align:center;padding:.6rem var(--pad);font-weight:600;font-size:.95rem}
.compare{display:grid;gap:1.2rem;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.kv{display:grid;grid-template-columns:auto 1fr;gap:.4rem 1rem;margin:0}.kv dt{font-weight:700;color:var(--navy-900)}.kv dd{margin:0}
.diagram{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:1rem;box-shadow:var(--shadow-1)}
.figcap{font-size:.9rem;color:var(--ink-3);margin-top:.6rem}
@media print{.site-header,.announce,.sticky-cta,.site-footer,.toc{display:none}a{color:#000}}

/* region selector + legal note */
.announce{display:flex;flex-wrap:wrap;justify-content:center;gap:.4rem 1.4rem;align-items:center}
.region{display:inline-flex;gap:.5rem;align-items:center;font-size:.85rem;color:#DCE8F5}
.region select{width:auto;min-height:32px;padding:.2rem .5rem;font-size:.85rem;border:1px solid #9FB4CA;background:#0B1F3A;color:#fff;border-radius:6px}
.site-footer .regions a{white-space:nowrap}
.conv-bar{position:sticky;top:0}
.compare-tbl td:first-child,.compare-tbl th:first-child{min-width:170px}
.obj{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}
.objc h3{font-size:1.1rem}
.objc .q{font-weight:750;color:var(--navy-900)}
.diagram svg{width:100%;height:auto}
.gloss dt{font-weight:750;color:var(--navy-900);margin-top:1.1rem}.gloss dd{margin:.2rem 0 0}
.timeline{list-style:none;padding:0;border-left:3px solid var(--teal-500);margin-left:.6rem}.timeline li{padding:0 0 1.4rem 1.4rem;position:relative}.timeline li::before{content:"";position:absolute;left:-.62rem;top:.4rem;width:.9rem;height:.9rem;background:var(--navy-900);border-radius:50%}
