/* Doctor Genius AI visibility check LP. Direction B, rounded pass.
   Serif (Literata) for headlines and anything a person or a model "says".
   System sans for interface text: buttons, chips, labels, rows. No framework. */
:root{
  --night:#0a2a66;
  --night-2:#123a86;
  --ink:#14213a;
  --soft:#46546e;       /* 7.6:1 on white */
  --on-night:#d5def0;
  --sheet:#ffffff;
  --note:#f1f5fc;
  --note-2:#e6edf9;
  --rule:#d5ddea;
  --mark:#ffd84d;       /* only: a name mention, and the one action */
  --mark-hover:#ffcd1f;
  --dg:#108fff;         /* logo blue. rules and focus only */
  --error:#8c0f32;
  --error-bg:#fff6f8;
  --r-s:10px;           /* chips, marks */
  --r-m:16px;           /* inputs, small panels */
  --r-l:26px;           /* cards */
  --r-xl:34px;          /* fields */
  --radius:16px;        /* alias used by flow.css */
  --pill:999px;
  --shadow:0 1px 2px rgba(10,42,102,.05),0 14px 34px -14px rgba(10,42,102,.22);
  --shadow-lift:0 2px 4px rgba(10,42,102,.06),0 28px 60px -22px rgba(10,42,102,.45);
  --gutter:18px;
  --measure:34rem;
  --font:"Literata",Georgia,"Times New Roman",serif;
  --ui:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;font-family:var(--font);font-optical-sizing:auto;font-size:1.0625rem;line-height:1.6;color:var(--ink);background:var(--sheet)}
body.bar-on{padding-bottom:calc(84px + env(safe-area-inset-bottom))}
img,svg{max-width:100%}
h1,h2,h3,p,ol,ul,dl,figure{margin:0}
a{color:var(--night);text-underline-offset:3px}
a:hover{text-decoration-thickness:2px}
:focus-visible{outline:3px solid var(--dg);outline-offset:3px;border-radius:6px}
.wrap{width:100%;max-width:72rem;margin:0 auto;padding-left:var(--gutter);padding-right:var(--gutter)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{min-height:44px;display:inline-flex;align-items:center;position:absolute;left:8px;top:-60px;background:var(--mark);color:var(--ink);padding:10px 16px;border-radius:var(--pill);z-index:20;font:600 1rem var(--ui)}
.skip:focus{top:8px}

h1{font-size:2.1875rem;line-height:1.12;font-weight:500;letter-spacing:-.015em}
h2{font-size:1.75rem;line-height:1.16;font-weight:500;letter-spacing:-.01em}
h3{font-size:1.1875rem;line-height:1.3;font-weight:600}
h1,h2,h3{text-wrap:balance}
.meta{font:400 .8125rem/1.4 var(--ui);color:var(--soft)}
.lead{color:var(--soft);max-width:var(--measure)}

/* header */
.top{display:flex;align-items:center;justify-content:space-between;padding-top:4px;padding-bottom:4px}
.top img{display:block;height:44px;width:auto;margin-left:-8px}
.top a{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border-radius:var(--pill);background:var(--note);font:600 .9375rem var(--ui);text-decoration:none}
.top a:hover{background:var(--note-2)}

/* the one action */
.cta{display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:58px;padding:0 30px;border:0;border-radius:var(--pill);background:var(--mark);color:var(--ink);font:700 1.125rem var(--ui);text-decoration:none;cursor:pointer;box-shadow:0 1px 0 rgba(255,255,255,.55) inset,0 10px 24px -10px rgba(0,0,0,.45);transition:background-color .15s ease,transform .15s ease}
.cta:hover{background:var(--mark-hover)}
.cta:active{transform:scale(.985)}
.cta:focus-visible{outline:3px solid #fff;outline-offset:3px;box-shadow:0 0 0 6px var(--ink);border-radius:var(--pill)}
.cta[aria-disabled=true]{opacity:.6;cursor:wait}
.gate{font:400 .875rem/1.5 var(--ui);margin-top:12px;max-width:30rem}
.proof{font:600 .875rem/1.4 var(--ui);margin-top:8px;color:#fff}

/* navy fields are inset, rounded panels */
.field{background:radial-gradient(120% 90% at 15% 0%,var(--night-2) 0%,var(--night) 60%);color:#fff;margin:0 8px;border-radius:var(--r-xl)}
.field .lead,.field .gate{color:var(--on-night)}
.field .mlogo{color:#fff}
.hero{display:flow-root;padding-top:24px;padding-bottom:0}
.hero h1{margin-bottom:12px}
.hero .lead{margin-bottom:14px}
.hero-sheet{margin-top:20px;margin-bottom:-64px}
.sec.after-hero{padding-top:112px}

.models{list-style:none;margin:0 0 18px;padding:0;display:grid;grid-template-columns:auto auto;justify-content:start;gap:10px 32px;font:600 1rem var(--ui);color:#fff}
.models li{display:inline-flex;align-items:center;white-space:nowrap}
.mlogo{display:block;width:28px;height:28px;flex:none;color:var(--ink)}
.mlogo.in{display:inline-block;width:16px;height:16px;margin:0 6px 0 0;vertical-align:-3px}
.models .mlogo.in{width:26px;height:26px;margin-right:9px;vertical-align:0}

/* cards */
.card,.sheet{background:var(--sheet);color:var(--ink);border-radius:var(--r-l);box-shadow:var(--shadow)}
.card{padding:22px}
.sheet{padding:18px;box-shadow:var(--shadow-lift)}
.tint .sheet{box-shadow:var(--shadow)}

/* a chat exchange: what the patient typed, what the model said */
.chat{display:grid;gap:14px}
.chat .meta{display:flex;align-items:center}
.bubble{justify-self:end;max-width:88%;background:var(--note-2);border-radius:22px 22px 6px 22px;padding:11px 16px;font-size:1.0625rem;line-height:1.35}
.reply{display:grid;grid-template-columns:30px 1fr;gap:10px;align-items:start}
.ava{width:30px;height:30px;border-radius:50%;background:var(--ink);color:#fff;display:grid;place-items:center;font:700 .6875rem var(--ui);letter-spacing:.02em}
.reply-lead{display:none;color:var(--soft);margin-bottom:6px}
.ans{padding-left:22px;font-size:1rem}
.ans li{margin-bottom:8px}
.ans li:last-child{margin-bottom:0}
.redact{display:inline-block;height:12px;width:150px;max-width:70%;background:var(--note-2);border-radius:var(--pill);vertical-align:middle}
.redact.s{width:112px}
.hl{background:var(--mark);border-radius:7px;padding:1px 6px;font-weight:600;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.js .hl.draw{background:linear-gradient(var(--mark),var(--mark)) no-repeat 0 0/0% 100%}
.js .hl.draw.on{background-size:100% 100%;transition:background-size .24s ease-out}
.src{text-decoration:underline dotted;text-underline-offset:3px;overflow-wrap:anywhere}
.illus{justify-self:start;display:inline-block;font:700 .6875rem/1.3 var(--ui);letter-spacing:.02em;padding:5px 10px;border-radius:var(--pill);background:var(--note);color:var(--night)}

/* sections */
.sec{padding-top:60px;padding-bottom:60px}
.sec h2{margin-bottom:10px;max-width:22ch}
.sec .lead{margin-bottom:24px}
.sec h2.big{font-size:2rem;line-height:1.12;max-width:18ch;margin-bottom:24px}
.tint{background:var(--note);margin:0 8px;border-radius:var(--r-xl)}

/* why */
.why{display:grid;gap:14px}
.why > div{background:var(--note);border-radius:var(--r-l);padding:22px}
.why > div::before{content:"";display:block;width:34px;height:7px;border-radius:var(--pill);background:var(--mark);margin-bottom:14px}
.why h3{margin-bottom:6px}
.why p{color:var(--soft)}

/* output */
.pick{display:inline-flex;flex-wrap:wrap;gap:4px;margin-bottom:18px;padding:4px;background:var(--note-2);border-radius:26px}
.pick[hidden]{display:none}
.pick button{min-height:44px;padding:0 16px;border:0;border-radius:var(--pill);background:transparent;color:var(--ink);font:600 .9375rem var(--ui);cursor:pointer}
.pick button[aria-pressed=true]{background:#fff;box-shadow:var(--shadow)}
.case{margin-bottom:22px}
.case h3{margin-bottom:8px}
.js .case{margin-bottom:0}
.js .case[hidden]{display:none}
.js .case h3{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.case-grid{display:grid;gap:14px}
.notes{display:grid;gap:10px;align-content:start}
.mnote{background:#fff;border-radius:var(--r-m);padding:12px 16px;font-size:.9375rem;box-shadow:var(--shadow)}
.mnote b{display:block;font:700 .9375rem var(--ui);margin-bottom:2px}
.unknown{border:2px dashed #9aa7bd;background:#fff;border-radius:var(--r-l);padding:18px;font-size:.9375rem}
.unknown b{display:block;font:700 .9375rem/1.4 var(--ui);margin-bottom:4px}
.unknown .illus{margin-top:10px}
.ctx{font:400 .875rem/1.55 var(--ui);color:var(--soft);margin-top:20px;max-width:var(--measure)}

/* model rows: the whole snapshot in plain words */
.summary{margin-top:40px}
.summary h3{margin-bottom:4px}
.summary .lead{margin-bottom:16px;font-size:.9375rem}
.rows{list-style:none;margin:0 0 12px;padding:6px 18px;background:#fff;border-radius:var(--r-l);box-shadow:var(--shadow);max-width:40rem}
.rows li{display:grid;grid-template-columns:28px 1fr auto;gap:14px;align-items:center;padding:14px 0;font-family:var(--ui)}
.rows li+li{border-top:1px solid var(--rule)}
.rows b{display:block;font-size:1rem;font-weight:700}
.rows div span{display:block;font-size:.875rem;color:var(--soft);line-height:1.4}
.dots{display:inline-flex;gap:6px;align-items:center}
.dots i{width:16px;height:16px;border-radius:50%;border:2px solid #9aa7bd;background:#fff;display:block}
.dots i.on{background:var(--mark);border-color:var(--ink)}
.dots i.unk{border-style:dashed}
.dotkey{list-style:none;margin:0 0 14px;padding:0;display:flex;flex-wrap:wrap;gap:8px 18px;font:400 .8125rem var(--ui);color:var(--soft)}
.dotkey li{display:inline-flex;align-items:center;gap:7px}

/* steps: a true sequence, so numbered */
.steps{list-style:none;padding:0;counter-reset:s;display:grid;gap:14px}
.steps li{counter-increment:s;background:var(--note);border-radius:var(--r-l);padding:22px}
.steps li::before{content:counter(s);width:40px;height:40px;border-radius:50%;background:var(--night);color:#fff;display:grid;place-items:center;font:700 1.0625rem var(--ui);margin-bottom:14px}
.steps h3{margin-bottom:6px}
.steps p{color:var(--soft)}

/* Doctor Genius hub */
.two{display:grid;gap:24px}
.letter{max-width:var(--measure)}
.letter p{margin-bottom:14px}
.stats{display:grid;grid-template-columns:auto auto;justify-content:start;gap:14px 40px;margin:0 0 20px}
.stats dt{font-size:2.5rem;line-height:1.05;font-weight:500;letter-spacing:-.015em}
.stats dd{margin:4px 0 0;font:400 .9375rem var(--ui);color:var(--soft)}
.hub-card{display:grid;justify-items:center;gap:10px;padding:18px 10px 20px}
.hub{position:relative;container-type:inline-size;width:min(100%,360px);aspect-ratio:1;margin:0;--r:35.5cqw}
.hub-lines{position:absolute;inset:0;width:100%;height:100%;color:#aab6cb}
.hub-core{position:absolute;left:50%;top:50%;width:76px;height:76px;margin:-38px 0 0 -38px;border-radius:50%;background:#fff;box-shadow:0 0 0 8px var(--note),var(--shadow);overflow:hidden}
.hub-core img{position:absolute;left:50%;top:50%;translate:-50% -50%;width:106px;height:106px;max-width:none;display:block}
.hub-ring{position:absolute;inset:0;list-style:none;margin:0;padding:0}
.hub-ring li{position:absolute;left:50%;top:50%;translate:-50% -50%;transform:rotate(calc(var(--i)*60deg)) translateY(calc(var(--r)*-1)) rotate(calc(var(--i)*-60deg));white-space:nowrap;background:var(--note);border-radius:var(--pill);padding:8px 14px;font:600 .8125rem/1.2 var(--ui)}
.hub-ring li.new{background:var(--mark);border-radius:20px;padding:8px 10px 10px;display:flex;flex-direction:column;align-items:center;gap:6px;box-shadow:var(--shadow)}
.hub-logos{display:flex;gap:7px;background:#fff;border-radius:var(--pill);padding:5px 10px}
.hub-logos .mlogo.in{width:18px;height:18px;margin:0;vertical-align:0}
@supports not (width:1cqw){.hub{--r:126px}}
.below{margin-top:24px}
.pair{display:grid;gap:12px;margin-top:14px}

details{background:#fff;border-radius:var(--r-l);box-shadow:var(--shadow);padding:0 20px}
summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:60px;font:700 1rem var(--ui);cursor:pointer;list-style:none}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";flex:none;width:30px;height:30px;border-radius:50%;background:var(--note);display:grid;place-items:center;font:600 1.125rem/1 var(--ui)}
details[open] summary::after{content:"\2212"}
details > *:not(summary){padding-bottom:18px;color:var(--soft)}
details ul{padding-left:20px;margin:0}
details li{margin-bottom:6px}

/* limits */
.qa{display:grid;gap:14px;margin-top:22px}
.qa .card{background:var(--note);box-shadow:none}
.qa h3{margin-bottom:6px}
.qa p{color:var(--soft)}

/* placeholders stay visible until approved content replaces them */
.ph{display:inline-block;border:1.5px dashed currentColor;border-radius:var(--r-s);padding:2px 8px;font:400 .75rem/1.4 var(--ui)}
.ph-block{display:block;border:2px dashed #9aa7bd;border-radius:var(--r-l);padding:18px 20px;color:var(--soft);font:400 .9375rem/1.5 var(--ui)}

/* closing field and footer */
.close{padding-top:56px;padding-bottom:56px}
.close h2{margin-bottom:10px;max-width:20ch}
.close .lead{margin-bottom:14px}
.foot{color:var(--soft);font:400 .8125rem/1.5 var(--ui)}
.foot .wrap{display:flex;flex-wrap:wrap;gap:6px 20px;align-items:center;padding-top:22px;padding-bottom:calc(26px + env(safe-area-inset-bottom))}
.foot .tm{flex-basis:100%;max-width:44rem;margin:0}
.foot a{display:inline-flex;align-items:center;min-height:44px}

/* persistent mobile action: a floating, frosted tray */
.bar{position:fixed;left:8px;right:8px;bottom:calc(8px + env(safe-area-inset-bottom));z-index:10;padding:8px;border-radius:var(--pill);background:rgba(255,255,255,.78);-webkit-backdrop-filter:blur(14px) saturate(1.4);backdrop-filter:blur(14px) saturate(1.4);box-shadow:var(--shadow-lift);transform:translateY(140%);visibility:hidden;transition:transform .22s ease,visibility 0s linear .22s}
.bar.on{transform:none;visibility:visible;transition:transform .22s ease}
.bar .cta{min-height:52px;box-shadow:none}

/* smallest phones: the hub gets a compact set of labels so none collide */
@media (max-width:22.49rem){
  .hub{--r:35cqw}
  .hub-card{padding-left:4px;padding-right:4px}
  .hub-core{width:60px;height:60px;margin:-30px 0 0 -30px;box-shadow:0 0 0 6px var(--note),var(--shadow)}
  .hub-core img{width:84px;height:84px}
  .hub-ring li{font-size:.6875rem;padding:6px 8px}
  .hub-ring li.new{padding:6px 7px 7px;gap:4px;border-radius:16px}
  .hub-logos{gap:5px;padding:4px 7px}
  .hub-logos .mlogo.in{width:14px;height:14px}
}

/* ---------- wider screens ---------- */
@media (min-width:48rem){
  :root{--gutter:40px}
  body{font-size:1.125rem}
  h1{font-size:3rem}
  h2{font-size:2.25rem}
  .cta{width:auto;justify-self:start}
  .models{display:flex;flex-wrap:wrap;gap:12px 24px}
  .field,.tint{margin:0 16px;border-radius:44px}
  .bar{display:none}
  body.bar-on{padding-bottom:0}
  .sec,.close{padding-top:88px;padding-bottom:88px}
  .sec h2.big{font-size:2.75rem;max-width:28ch;margin-bottom:32px}
  .sec h2{max-width:30ch}
  .why,.steps{gap:16px}
  .sec.after-hero{padding-top:128px}
  .why > div,.steps li,.card{padding:28px}
  .qa{grid-template-columns:1fr 1fr;gap:18px}
  .pair{grid-template-columns:1fr 1fr;gap:18px;align-items:start}
  .sheet{padding:24px}
  .reply-lead{display:block}
}
@media (min-width:64rem){
  :root{--gutter:64px}
  h1{font-size:3.375rem;line-height:1.08}
  .top img{height:54px}
  .hero{display:grid;grid-template-columns:1.1fr 1fr;column-gap:64px;align-items:start;padding-top:72px;padding-bottom:80px}
  .hero h1{margin-bottom:22px}
  .hero .lead{font-size:1.25rem;margin-bottom:20px}
  .hero .models{display:grid;grid-template-columns:auto auto;justify-content:start;gap:14px 40px;font-size:1.0625rem;margin-bottom:32px}
  .hero .models .mlogo.in,.close .models .mlogo.in{width:30px;height:30px;margin-right:10px}
  .hero-sheet{grid-column:2;grid-row:1 / span 6;align-self:center;margin:0;padding:32px;gap:18px}
  .hero-sheet .ans{font-size:1.125rem}
  .hero-sheet .ans li{margin-bottom:12px}
  .hero > :not(.hero-sheet){grid-column:1}
  .sec.after-hero{padding-top:88px}
  .bubble{font-size:1.1875rem}
  .case-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);column-gap:32px;align-items:start}
  .two{grid-template-columns:1fr 1fr;column-gap:56px;align-items:center}
  .qa{grid-template-columns:repeat(3,1fr)}
  .hub{width:min(100%,420px)}
  /* landing page only. Inside the scanner flow the rows stay one column. */
  .summary .rows{max-width:none;display:grid;grid-template-columns:1fr 1fr;column-gap:48px;padding:8px 28px}
  .summary .rows li+li{border-top:0}
  .summary .rows li:nth-child(n+3){border-top:1px solid var(--rule)}
  .ctx{max-width:48rem}
  .hub-core{width:96px;height:96px;margin:-48px 0 0 -48px}
  .hub-core img{width:134px;height:134px}
}

/* tablet: three cards across would be 212px wide and 500px tall, so stack them and lay each one out sideways */
@media (min-width:48rem) and (max-width:59.99rem){
  .steps li{display:grid;grid-template-columns:40px 1fr;column-gap:22px;align-items:start}
  .steps li::before{grid-row:1 / span 2;margin:0}
  .steps h3,.steps p{grid-column:2}
  .why > div{display:grid;grid-template-columns:34px 1fr;column-gap:22px}
  .why > div::before{grid-row:1 / span 2;margin:10px 0 0}
  .why h3,.why p{grid-column:2}
  .why p,.steps p{max-width:40rem}
}
/* from 960px three cards fit at about 280px each, and the hub can sit beside its text */
@media (min-width:60rem){
  .why,.steps{grid-template-columns:repeat(3,1fr);gap:18px}
  .two{grid-template-columns:1fr 1fr;column-gap:48px;align-items:center}
}
@media (min-width:64rem){.two{column-gap:56px}}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .cta,.bar,.bar.on{transition:none}
  .js .hl.draw,.js .hl.draw.on{background-size:100% 100%;transition:none}
}
@media print{.bar{display:none}}
