/* AISutra site: IOSutra family. Warm off-white, near-black, editorial serif headlines, royal/periwinkle blue accent.
   System fonts only (fast). Calm, spacious, restrained. */
:root{
  color-scheme:light;
  --bg:#f9f8f6; --surface:#ffffff; --warm:#f3f2ee;
  --ink:#1d1d24; --text:#55565f; --muted:#7a7b84;
  --blue:#3b4fd1; --blue-hi:#2f40b5; --blue-tint:#eceffd; --blue-line:#cfd5f7;
  --line:#e8e6e0; --line2:#dcd9d2;
  --ok:#1f6f4d; --warn:#8a5a00; --bad:#b4372c;
  /* legacy names used by templates/inline styles, remapped */
  --navy:var(--ink); --navy2:var(--blue); --navy3:var(--blue); --soft:var(--warm); --paper:var(--surface);
  --radius:12px; --max:1120px;
  --serif:"Source Serif 4","Newsreader","Iowan Old Style","Palatino Linotype",Palatino,"Book Antiqua",Georgia,serif;
  --sans:"Inter","Segoe UI Variable Text","Segoe UI",system-ui,-apple-system,Roboto,"Helvetica Neue",Arial,sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;background:var(--bg)}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
body{margin:0;font:16.5px/1.72 var(--sans);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased}
::selection{background:var(--blue-tint);color:var(--ink)}
h1,h2,h3{color:var(--ink);line-height:1.13;margin:0 0 .55em}
h1,h2{font-family:var(--serif);font-weight:400;letter-spacing:-.018em}
h1{font-size:clamp(2.5rem,5.4vw,4.1rem);letter-spacing:-.025em} h2{font-size:clamp(1.8rem,3.3vw,2.55rem)} h3{font-family:var(--sans);font-size:1.05rem;font-weight:600;letter-spacing:0}
h1 em,h2 em{font-style:normal;color:var(--blue)}
p{margin:0 0 1.05em} strong{color:var(--ink);font-weight:600}
a{color:var(--blue);text-underline-offset:3px;text-decoration-thickness:1px} a:hover{color:var(--blue-hi)}
img,svg{max-width:100%}
:focus-visible{outline:2px solid var(--blue);outline-offset:3px;border-radius:6px}
.skip{position:absolute;left:-999px;top:8px;background:var(--blue);color:#fff;padding:10px 16px;border-radius:8px;font-weight:600;z-index:100}
.skip:focus{left:8px}
.wrap{max-width:var(--max);margin:0 auto;padding:0 24px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* header */
.site-header{position:sticky;top:0;z-index:50;background:rgba(249,248,246,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:64px}
.logo{display:flex;align-items:center;gap:9px;color:var(--blue);text-decoration:none;font-weight:700;font-size:1.12rem;letter-spacing:-.005em}
.logo:hover{color:var(--blue-hi)} .logo span{color:inherit}
.nav{display:flex;align-items:center;gap:2px}
.nav a{color:var(--text);text-decoration:none;padding:7px 12px;font-size:.9rem;border-radius:8px}
.nav a:hover{color:var(--ink)} .nav a[aria-current="page"]{color:var(--blue);background:var(--blue-tint)}
.nav a.btn{margin-left:10px;color:#fff;padding:8px 16px;font-size:.85rem;border-radius:10px}
.nav a.btn:hover{color:#fff;background:var(--blue-hi)}
.menu-btn{display:none;background:none;border:1px solid var(--line2);color:var(--ink);border-radius:8px;padding:7px 14px;font:inherit;font-size:.9rem;cursor:pointer}
@media (max-width:860px){
  .menu-btn{display:block}
  .nav{display:none;position:absolute;left:0;right:0;top:64px;background:var(--bg);flex-direction:column;align-items:stretch;padding:10px 24px 22px;border-bottom:1px solid var(--line)}
  .nav.open{display:flex} .nav a{padding:12px 8px;border-radius:8px}
  .nav a.btn{margin:12px 0 0;text-align:center}
}

/* buttons: modest radius, blue primary; secondary actions are plain text links */
.btn{display:inline-block;background:var(--blue);color:#fff;font-weight:500;text-decoration:none;padding:12px 22px;border-radius:10px;border:1px solid var(--blue);transition:background .15s,border-color .15s;cursor:pointer;font-size:.95rem;line-height:1.25}
.btn:hover{background:var(--blue-hi);border-color:var(--blue-hi);color:#fff}
.btn.ghost,.btn.dark{background:transparent;border-color:transparent;color:var(--ink);padding:12px 6px;font-weight:500}
.btn.ghost:hover,.btn.dark:hover{background:transparent;border-color:transparent;color:var(--blue)}
.btn.ghost::after,.btn.dark::after{content:" \2192";color:var(--blue)}
.btn.small{padding:8px 16px;font-size:.85rem}
.cta-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px 22px;margin-top:30px}

/* hero: flat warm off-white, no dark panel */
.hero{position:relative;background:var(--bg);color:var(--text);overflow:hidden}
.hero .wrap{position:relative;display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:center;padding-top:92px;padding-bottom:104px}
.hero h1{margin-bottom:.4em}
.hero .lead{font-size:1.14rem;color:var(--text);max-width:33em}
.eyebrow{display:inline-flex;align-items:center;gap:9px;color:var(--blue);background:var(--blue-tint);border:1px solid var(--blue-line);font-weight:600;letter-spacing:.12em;text-transform:uppercase;font-size:.68rem;padding:6px 13px;border-radius:999px;margin-bottom:22px}
.eyebrow::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--blue)}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:30px 0 0;padding:0;list-style:none}
.chips li{border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:5px 14px;font-size:.8rem;color:var(--text)}
@media (max-width:900px){.hero .wrap{grid-template-columns:1fr;padding-top:52px;padding-bottom:64px;gap:44px}}

/* product-window mock (report preview): white, hairline border, one soft shadow */
.mock{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:0 30px 60px -24px rgba(40,50,120,.18),0 2px 6px rgba(20,20,40,.04);padding:58px 24px 24px;color:var(--text)}
.mock::before{content:"";position:absolute;left:18px;top:17px;width:9px;height:9px;border-radius:50%;background:#dedbd5;box-shadow:15px 0 #dedbd5,30px 0 #dedbd5}
.mock::after{content:"";position:absolute;left:0;right:0;top:43px;height:1px;background:var(--line)}
.mock .top{position:absolute;left:84px;right:18px;top:11px;display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:.7rem;color:var(--muted);margin:0}
.mock .tag{background:var(--blue-tint);color:var(--blue);border:1px solid var(--blue-line);padding:2px 10px;border-radius:99px;font-weight:600;letter-spacing:.04em;font-size:.66rem}
.ring{--p:50;width:112px;height:112px;border-radius:50%;background:conic-gradient(var(--blue) calc(var(--p)*1%),var(--blue-tint) 0);display:grid;place-items:center;flex:none}
.ring>div{width:92px;height:92px;border-radius:50%;background:var(--surface);display:grid;place-items:center;text-align:center;line-height:1}
.ring b{font-family:var(--serif);font-weight:400;font-size:2.1rem;color:var(--ink);display:block} .ring small{font-size:.66rem;color:var(--muted)}
.mock .row{display:flex;gap:20px;align-items:center}
.bars{display:grid;gap:8px;flex:1;min-width:0}
.bar{font-size:.7rem;color:var(--text)} .bar .t{display:flex;justify-content:space-between;margin-bottom:3px}
.track{height:4px;background:var(--blue-tint);border-radius:99px;overflow:hidden} .track i{display:block;height:100%;background:var(--blue);border-radius:99px}
.mock .items{margin:20px 0 0;padding:0;list-style:none;display:grid;gap:8px;font-size:.82rem}
.mock .items li{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--ink)}
.pill{font-size:.62rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;border-radius:6px;padding:2px 8px;flex:none;margin-top:2px}
.pill.c{background:#fbeae8;color:var(--bad)} .pill.h{background:#fdf0df;color:#9a5a0b} .pill.m{background:#f3efdc;color:#6f5c00}

/* sections */
section{padding:112px 0}
section.alt{background:var(--surface);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
section.dark{background:var(--warm);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.sec-head{max-width:44em;margin-bottom:52px} .sec-head p{font-size:1.06rem;color:var(--text)}
.center{text-align:center;margin-left:auto;margin-right:auto}
.grid{display:grid;gap:20px} .g3{grid-template-columns:repeat(3,1fr)} .g2{grid-template-columns:repeat(2,1fr)} .g4{grid-template-columns:repeat(4,1fr)}
@media (max-width:900px){.g3,.g4{grid-template-columns:1fr 1fr}} @media (max-width:620px){.g3,.g2,.g4{grid-template-columns:1fr}section{padding:72px 0}}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:28px}
.alt .card{background:var(--bg)} .dark .card{background:var(--surface)}
.card h3{margin-top:16px}.card p:last-child{margin-bottom:0}
.icon{width:40px;height:40px;border-radius:10px;background:var(--blue-tint);display:grid;place-items:center}
.icon svg{width:20px;height:20px;stroke:var(--blue);fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.steps{counter-reset:s;display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding:0;list-style:none}
.steps li{counter-increment:s;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:28px}
.steps li::before{content:counter(s,decimal-leading-zero);display:block;font-family:var(--serif);font-size:1.5rem;color:var(--blue);margin-bottom:14px}
@media (max-width:820px){.steps{grid-template-columns:1fr}}
.callout{border-left:2px solid var(--blue);background:var(--blue-tint);padding:16px 22px;border-radius:0 10px 10px 0;color:var(--ink)} .callout strong{color:var(--ink)}
.split{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center} @media (max-width:860px){.split{grid-template-columns:1fr;gap:36px}}
.cats{display:grid;gap:10px;margin:0;padding:0;list-style:none}
.cats li{display:grid;grid-template-columns:1fr auto;gap:3px 16px;align-items:baseline;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:14px 18px}
.cats b{color:var(--ink);font-weight:600} .cats .w{font-family:var(--serif);color:var(--blue);font-size:1.1rem} .cats small{grid-column:1/-1;color:var(--muted);font-size:.88rem}
.check-list{margin:0;padding:0;list-style:none;display:grid;gap:10px} .check-list li{padding-left:26px;position:relative;font-size:.95rem}
.check-list li::before{content:"";position:absolute;left:1px;top:.5em;width:12px;height:6px;border-left:2px solid var(--blue);border-bottom:2px solid var(--blue);transform:rotate(-45deg)}
.x-list li::before{border:0;width:12px;height:12px;top:.4em;transform:none;background:linear-gradient(45deg,transparent 45%,var(--bad) 45% 55%,transparent 55%),linear-gradient(-45deg,transparent 45%,var(--bad) 45% 55%,transparent 55%)}
.badge{display:inline-block;font-size:.66rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:2px 10px;border-radius:99px;vertical-align:middle}
.badge.ok{background:#e6f3ec;color:var(--ok)} .badge.soon{background:var(--blue-tint);color:var(--blue)}

/* pricing */
.price-card{background:var(--surface);border:1px solid var(--line2);border-radius:16px;padding:38px;position:relative;box-shadow:0 30px 60px -28px rgba(40,50,120,.16)}
.price{font-family:var(--serif);font-size:4rem;line-height:1;color:var(--ink);font-weight:400} .price small{font-size:1rem;color:var(--muted);font-family:var(--sans)}
.was{color:var(--muted);text-decoration:line-through;margin-left:10px;font-size:1.25rem}
.ribbon{position:absolute;top:-13px;left:30px;background:var(--blue-tint);color:var(--blue);border:1px solid var(--blue-line);font-weight:600;font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;padding:5px 14px;border-radius:99px}

/* sample report page + tables */
.sample-grid{display:grid;grid-template-columns:320px 1fr;gap:40px;align-items:start} @media (max-width:900px){.sample-grid{grid-template-columns:1fr}}
table{width:100%;border-collapse:collapse;font-size:.92rem} th{background:var(--warm);color:var(--muted);text-align:left;padding:11px 14px;font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;font-weight:600}
td{padding:12px 14px;border-bottom:1px solid var(--line);vertical-align:top;color:var(--text)}
.tbl-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:10px;background:var(--surface)}
.chip{display:inline-block;padding:1px 10px;border-radius:99px;font-size:.74rem;font-weight:600;white-space:nowrap}
.chip.pass,.chip.answered{background:#e6f3ec;color:var(--ok)} .chip.partial{background:#fdf1d9;color:var(--warn)} .chip.fail,.chip.missing{background:#fbeae8;color:var(--bad)}
.ev{border-left:2px solid var(--line2);padding-left:12px;color:var(--muted);font-size:.9rem}
pre{background:var(--warm);color:#2b2c35;border:1px solid var(--line);border-radius:10px;padding:18px;overflow:auto;font-size:.8rem;line-height:1.55}
code{font-family:Consolas,Menlo,monospace;font-size:.9em;background:var(--blue-tint);color:#2f3fa8;padding:1px 7px;border-radius:5px} pre code{background:none;padding:0;color:inherit}

/* faq */
details{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:0;margin:0 0 10px}
details[open]{border-color:var(--blue-line)}
summary{cursor:pointer;padding:17px 22px;font-weight:600;color:var(--ink);list-style:none;display:flex;justify-content:space-between;gap:16px}
summary::-webkit-details-marker{display:none} summary::after{content:"+";font-size:1.4rem;line-height:1;color:var(--blue);font-weight:300} details[open] summary::after{content:"\2212"}
details div{padding:0 22px 20px;color:var(--text)}

/* forms */
form{display:grid;gap:18px} label{font-weight:600;color:var(--ink);display:block;margin-bottom:6px;font-size:.9rem}
input[type=text],input[type=url],input[type=email],select{width:100%;font:inherit;padding:12px 14px;border:1px solid var(--line2);border-radius:10px;background:var(--surface);color:var(--ink)}
input::placeholder{color:#a3a4ab}
input:focus,select:focus{border-color:var(--blue);outline:3px solid var(--blue-tint);outline-offset:0}
.hint{font-size:.84rem;color:var(--muted);margin:5px 0 0} .check{display:flex;gap:12px;align-items:flex-start;font-weight:400;color:var(--text)} .check input{margin-top:.4em;width:17px;height:17px;flex:none;accent-color:var(--blue)}
.notice{padding:14px 18px;border-radius:10px;background:var(--blue-tint);border:1px solid var(--blue-line);color:var(--ink)} [hidden]{display:none!important}

/* prose pages */
.page-hero{background:var(--bg);color:var(--text);padding:80px 0 60px;border-bottom:1px solid var(--line)} .page-hero h1{font-size:clamp(2.1rem,4.6vw,3.3rem);margin-bottom:.35em} .page-hero p{font-size:1.12rem;max-width:40em;margin:0;color:var(--text)}
.prose{max-width:740px} .prose h2{margin-top:2em;font-size:1.75rem} .prose h3{margin-top:1.5em} .prose ul,.prose ol{padding-left:1.2em} .prose li{margin-bottom:.5em}
.crumbs{font-size:.78rem;color:var(--muted);margin-bottom:18px} .crumbs a{color:var(--muted);text-decoration:none} .crumbs a:hover{color:var(--blue)}

/* footer */
.site-footer{background:var(--warm);color:var(--muted);padding:72px 0 36px;font-size:.92rem;border-top:1px solid var(--line)}
.site-footer a{color:var(--text);text-decoration:none} .site-footer a:hover{color:var(--blue)} .foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px} @media (max-width:760px){.foot-grid{grid-template-columns:1fr}}
.site-footer li a{display:inline-block;padding:5px 0}
.site-footer p strong{color:var(--ink)}
.site-footer h3{color:var(--ink);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;margin-bottom:1em} .site-footer ul{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.fine{border-top:1px solid var(--line2);margin-top:40px;padding-top:22px;font-size:.82rem;max-width:62em;color:var(--muted)}
@media print{.site-header,.site-footer,.cta-row{display:none}section{padding:20px 0}}
