/* Cyber Insurance Readiness Check: "underwriter's checklist" identity.
   Reference lock: Monarch (light oat canvas + white cards, refined serif headlines at book weight, pill buttons, one accent reserved for CTAs, soft card shadow)
   + Symbolic.ai (layered paper-sheet motif for the hero). Accent: evergreen (CTA only); indigo for links/info. Type: Source Serif 4 display, Inter Tight body. */
@font-face{font-family:"Source Serif 4";src:url(sourceserif4.woff2) format("woff2");font-weight:300 700;font-display:swap}
:root{
  --bg:#f4f2ed;--bg2:#efece6;--panel:#ffffff;--panel-solid:#ffffff;--line:#e3dfd6;--line2:#cfc8bb;
  --ink:#1c2420;--ink2:#46504a;--ink3:#626a64;--glow:#1f5c46;--brand:#1f5c46;--brand2:#1f5c46;--brand3:#1f5c46;
  --acc:#1f5c46;--acc-rgb:31,92,70;--acc2:#2f7a5e;--ind:#3a4a94;
  --ok:#17784f;--warn:#8a4d00;--hi:#b54708;--bad:#b42318;
  --r:12px;--serif:"Source Serif 4",Georgia,serif;
  --shadow:0 1px 2px rgba(34,32,29,.05),0 10px 24px -12px rgba(34,32,29,.14);
}
html{color-scheme:light}
body{background:var(--bg);color:var(--ink)}
.bg{background:var(--bg)}.bg .orb,.bg-grid{display:none}
h1,h2,h3{font-family:var(--serif);font-weight:500;letter-spacing:-.015em;color:var(--ink)}
h4{color:var(--ink)}
.grad{background:none;color:inherit;-webkit-text-fill-color:currentColor}
a{color:var(--ind)}
:focus-visible{outline:2px solid var(--ind);outline-offset:3px}
.skip{background:var(--ink);color:#fff}

.topbar{background:rgba(255,255,255,.9);border-bottom:1px solid var(--line);backdrop-filter:blur(10px)}
.brand img{height:26px}
.topbar .app-name{font:600 14.5px/1 var(--sans);letter-spacing:0;text-transform:none;color:var(--ink);border-left:1px solid var(--line2);padding-left:16px;display:inline-flex;align-items:center;gap:8px}
.topbar .app-name::before{content:"";width:14px;height:16px;background:no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 28'%3E%3Cpath d='M12 1l10 4v8c0 7-4.5 12-10 14C6.5 25 2 20 2 13V5z' fill='%231f5c46'/%3E%3Cpath d='M7 14l3.5 3.5L17 11' fill='none' stroke='white' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
.tp-label{color:var(--ink3)}
.tp-track{background:#e6e2d9}.tp-fill{background:var(--acc);box-shadow:none}

.btn-primary{background:var(--acc);color:#fff;box-shadow:0 1px 2px rgba(34,32,29,.08);border:1px solid var(--acc)}
.btn-primary:hover{background:#174a38;box-shadow:0 8px 20px -10px rgba(31,92,70,.6);transform:translateY(-1px)}
.btn-primary:disabled{opacity:.35}
.btn-ghost{background:#fff;border:1px solid var(--line2);color:var(--ink)}
.btn-ghost:hover{background:#faf9f6;border-color:#b5ad9e}
.btn-link{color:var(--ink2)}.btn-link:hover{color:var(--ink)}

.why-card,.panel,.qcard,.contact-form,.how-step,.gap,.check{background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);backdrop-filter:none;-webkit-backdrop-filter:none}
.eyebrow{font:600 11.5px/1.2 var(--mono);letter-spacing:.1em;color:var(--acc);background:#e8efe9;border:0;border-radius:99px}
.dot{background:var(--acc);box-shadow:0 0 0 4px rgba(31,92,70,.15)}
@keyframes pulse{50%{box-shadow:0 0 0 7px rgba(31,92,70,0)}}
.lede{color:var(--ink2)}.lede em{color:var(--ink)}

/* ---------- landing ---------- */
main{max-width:1200px}
.ci-hero{display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:center;padding:clamp(8px,3vw,36px) 0 24px}
.ci-kicker{margin:0 0 22px;font:600 12px/1.5 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--acc)}
.ci-kicker span{color:var(--line2);margin:0 4px}
.ci-hero h1{font-size:clamp(42px,5.6vw,80px);line-height:1.02;font-weight:500;letter-spacing:-.025em;text-wrap:balance}
.ci-hero .lede{text-wrap:pretty}
.hero-actions{margin-top:32px;align-items:center}
.sample-link{color:var(--ind)!important;font-weight:600}
.sample-link svg{stroke:var(--ind)}
.ci-facts{list-style:none;display:flex;gap:0;margin:40px 0 0;padding:0;border-top:1px solid var(--line2);max-width:560px}
.ci-facts li{flex:1;padding:14px 16px 0 0;display:flex;flex-direction:column;gap:2px}
.ci-facts li+li{padding-left:16px;border-left:1px solid var(--line)}
.ci-facts b{font:500 30px/1 var(--serif);color:var(--ink)}
.ci-facts span{font-size:13px;color:var(--ink3)}

.ci-stack{position:relative;min-height:520px}
.sheet{position:absolute;inset:20px 30px 30px 40px;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow)}
.sheet.s3{transform:rotate(5deg) translate(18px,10px);background:#faf8f3}
.sheet.s2{transform:rotate(2.2deg) translate(8px,4px);background:#fdfcf9}
.sheet.s1{transform:rotate(-1.4deg);padding:26px 28px 22px;display:flex;flex-direction:column;box-shadow:0 30px 60px -30px rgba(34,32,29,.35),0 1px 2px rgba(34,32,29,.06)}
.sh-head{display:grid;grid-template-columns:1fr auto;align-items:end;gap:2px 10px;padding-bottom:14px;border-bottom:2px solid var(--ink)}
.sh-head span{font:600 11px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink3)}
.sh-head b{grid-row:2;font:500 24px/1.1 var(--serif);color:var(--ink)}
.sh-head em{grid-row:2;font:500 11.5px var(--mono);font-style:normal;color:var(--ink3)}
.sh-qs{list-style:none;margin:6px 0 0;padding:0;counter-reset:q}
.sh-qs li{counter-increment:q;display:grid;grid-template-columns:22px 1fr auto;gap:12px;align-items:start;padding:12px 0;border-bottom:1px solid var(--line)}
.sh-qs i{width:18px;height:18px;border-radius:4px;border:1.5px solid #a39b8c;margin-top:2px;position:relative}
.sh-qs .y i{background:var(--acc);border-color:var(--acc)}
.sh-qs .y i::after{content:"";position:absolute;left:5px;top:1.5px;width:5px;height:9px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
.sh-qs p{margin:0;font-size:13.5px;line-height:1.4;color:var(--ink2)}
.sh-qs span{font:600 11px var(--mono);letter-spacing:.06em;text-transform:uppercase;padding:3px 8px;border-radius:99px;white-space:nowrap}
.sh-qs .y span{color:var(--ok);background:#e5f2ea}.sh-qs .n span{color:var(--bad);background:#fbe9e7}.sh-qs .q span{color:var(--warn);background:#fbf0dc}
.sh-sign{margin-top:auto;padding-top:18px;display:flex;align-items:end;gap:14px;font:500 11px var(--mono);color:var(--ink3);letter-spacing:.06em;text-transform:uppercase}
.sh-sign i{flex:1;height:1px;background:var(--line2)}
.ci-stamp{position:absolute;right:0;bottom:56px;width:132px;height:132px;border-radius:50%;display:grid;place-items:center;align-content:center;text-align:center;color:var(--acc);border:2px solid var(--acc);background:rgba(244,242,237,.92);transform:rotate(-12deg);box-shadow:inset 0 0 0 6px rgba(244,242,237,.92),inset 0 0 0 7.5px rgba(31,92,70,.6)}
.ci-stamp b{font:500 50px/1 var(--serif);letter-spacing:-.03em}
.ci-stamp span{font:600 10px var(--mono);letter-spacing:.16em;text-transform:uppercase;margin-top:4px}
.ci-note{position:absolute;left:0;bottom:8px;padding:10px 14px;border-radius:8px;background:var(--ink);color:#fff;font-size:13.5px;font-weight:500;box-shadow:var(--shadow)}

.ci-areas{display:grid;grid-template-columns:.8fr 1.2fr;gap:56px;margin:72px 0 0;padding:48px 0;border-top:1px solid var(--line2)}
.ci-areas-h h2{font-size:clamp(28px,3.2vw,42px);line-height:1.08;text-wrap:balance}
.ci-areas-h p{color:var(--ink2);margin:14px 0 0;max-width:34ch}
.toc{list-style:none;margin:0;padding:0}
.toc li{display:grid;grid-template-columns:40px auto 1fr auto;align-items:baseline;gap:10px;padding:13px 0;border-bottom:1px solid var(--line)}
.toc .tn{font:500 12px var(--mono);color:var(--ink3)}
.toc b{font:500 19px var(--serif);color:var(--ink)}
.toc i{border-bottom:1.5px dotted #b9b1a2;transform:translateY(-4px)}
.toc em{font:600 11px var(--mono);font-style:normal;letter-spacing:.08em;text-transform:uppercase;color:var(--acc)}

.ci-why{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:8px}
.ci-why article{background:#fff;border:1px solid var(--line);border-radius:12px;padding:28px;box-shadow:var(--shadow)}
.ci-why .why-k{font:500 15px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--acc);background:none;-webkit-text-fill-color:currentColor;margin-bottom:16px}
.ci-why h3{font-size:24px;line-height:1.15;margin-bottom:10px}
.ci-why p{color:var(--ink2);font-size:15px;margin:0 0 16px}
.ci-why .src{font:500 11.5px var(--mono);color:var(--ink3)}
.ci-how{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin:44px 0 0;padding:36px 32px;background:#e9e5dc;border-radius:16px}
.ci-how>div>span{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--ink);color:#fff;font:500 16px var(--serif)}
.ci-how h3{font-size:21px;margin:14px 0 6px}
.ci-how p{margin:0;color:var(--ink2);font-size:15px}
.privacy-note{color:var(--ink3)}.privacy-note svg{stroke:var(--acc)}
.affil,.affil-foot{color:var(--ink3)}

/* ---------- quiz ---------- */
.rail-item{color:var(--ink2)}.rail-item:hover{background:#ebe7df}.rail-item.on{background:#fff;box-shadow:var(--shadow);color:var(--ink)}
.rail-ring .t{stroke:#e2ddd3}.rail-ring .f{stroke:var(--acc)}
.rail-foot{color:var(--ink3)}
.q-text{font-family:var(--serif)!important;font-weight:500!important;color:var(--ink)}
.q-cat{color:var(--acc)}
.q-count{color:var(--ink3)}
.ans{background:#fff;border-color:var(--line2);color:var(--ink)}
.ans:hover{border-color:var(--acc);background:#f7faf8}
.ans .k{border-color:var(--line2);color:var(--ink3)}
.ans small{color:var(--ink3)}
.ans[aria-checked=true]{border-color:var(--acc);background:#eef5f0;box-shadow:0 0 0 3px rgba(31,92,70,.15)}
.ans[aria-checked=true] .k{background:var(--acc);border-color:var(--acc);color:#fff}
.q-help{background:#faf9f6;border-color:var(--line)}
kbd{background:#fff;border-color:var(--line2);color:var(--ink2)}

/* ---------- contact / gate ---------- */
.ur-track{stroke:#e2ddd3}.ur-fill{stroke:var(--acc)}
.ur-ico{color:var(--acc)}
.ticks li{color:var(--ink2)}.ticks li::before{color:var(--acc)}
.field label{color:var(--ink2)}
.field input,.field select{background:#fff;border:1px solid var(--line2);color:var(--ink);border-radius:10px}
.field select option{background:#fff;color:var(--ink)}
.field select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231f5c46' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E")}
.field input::placeholder{color:#8b8f87}
.field input:focus,.field select:focus{border-color:var(--acc);box-shadow:0 0 0 4px rgba(31,92,70,.14)}
.err{color:var(--bad)}
.form-status.bad{color:var(--bad)}
.lead-notice{color:var(--ink3)}

/* ---------- results ---------- */
.res-head h2{font-weight:500}
.g-track{stroke:#ebe7df}.g-knob{fill:#fff;stroke:var(--ink)}
.g-num{fill:var(--ink);font-family:var(--serif)!important;font-weight:500!important}
.g-of,.g-tick{fill:var(--ink3)}
.radar .grid{stroke:#e2ddd3}.radar .axis{stroke:#e2ddd3}.radar .area{fill:rgba(31,92,70,.16);stroke:var(--acc)}
.radar .pt{fill:var(--acc)}.radar text{fill:var(--ink2)}.radar .val{fill:var(--ink)}
.cb-track{background:#ece8e0}
.stat-row b{font-family:var(--serif);font-weight:500}
.risk-badge{background:#fff}
.chip{background:#fff;border-color:var(--line2);color:var(--ink2)}
.chip:hover{color:var(--ink);border-color:#b5ad9e}
.chip.on{background:var(--ink);border-color:var(--ink);color:#fff}
.gap-why b,.gap-do{color:var(--acc)}
.gap ul li::marker{color:var(--acc)}
.pill{background:#fff}
.tag{background:#f1eee8;color:var(--ink2)}
.phase{background:#fff;border-color:var(--line);box-shadow:var(--shadow)}
.ph-n{background:var(--ink);color:#fff}
.ev-track{background:#e6e2d9}.ev-fill{background:var(--acc)}
.ev-dot{border-color:var(--line2)}.ev.ready .ev-dot{background:var(--acc);border-color:var(--acc)}
.crit-alert{background:#fdf1ef;border-color:#f0c4bd;color:var(--ink)}
.crit-alert p,.crit-alert li{color:var(--ink2)}
.ca-ico{background:#fbe0dc;color:var(--bad)}
.agent-qs{color:var(--ink2)}.agent-qs li::marker{color:var(--acc)}
.review-list li{border-color:var(--line)}
.cta-band{background:#173f31;border:0;box-shadow:none;border-radius:18px;color:#fff;position:relative;overflow:hidden}
.cta-band::after{content:"";position:absolute;right:-60px;top:-60px;width:260px;height:260px;border-radius:50%;border:1.5px solid rgba(255,255,255,.12);box-shadow:0 0 0 30px rgba(255,255,255,.03),0 0 0 60px rgba(255,255,255,.02);pointer-events:none}
.cta-band h3{color:#fff}
.cta-band p{color:#cfe1d7}
.cta-band .btn-primary{background:#fff;color:#173f31;border-color:#fff}
.cta-band .btn-ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.4)}
.cta-band .btn-ghost:hover{background:rgba(255,255,255,.08)}
.sponsor{display:flex;align-items:center;gap:10px;margin:0 0 14px;font:600 11px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink3)}
.sponsor img{height:15px;width:auto}
.cta-band .sponsor{color:#cfe1d7}
.sources summary{color:var(--ink2)}.sources ol{color:var(--ink3)}.sources a{color:var(--ind)}
.toast{background:var(--ink);color:#fff}
.foot{border-top:1px solid var(--line2);color:var(--ink3);background:#ece9e2}
.foot a{color:var(--ind)}
.foot .foot-app{font:500 17px var(--serif);color:var(--ink);margin-bottom:12px}
.hint{color:var(--ink3)}
.muted{color:var(--ink3)}

@media (max-width:900px){
  .ci-hero{grid-template-columns:1fr;gap:28px}
  .ci-stack{min-height:500px;max-width:520px;width:100%;margin:0 auto}
  .ci-areas{grid-template-columns:1fr;gap:20px;padding:36px 0}
  .ci-why,.ci-how{grid-template-columns:1fr}
}
@media (max-width:640px){
  .topbar{flex-wrap:wrap;row-gap:6px;padding-top:10px;padding-bottom:10px}
  .brand img{height:21px}
  .topbar .app-name{display:inline-flex;order:3;flex-basis:100%;border-left:0;padding-left:0;font-size:13px}
  .topbar .app-name[hidden]{display:none}
  .ci-hero h1{font-size:clamp(36px,10.5vw,46px)}
  .ci-facts b{font-size:24px}
  .ci-stack{min-height:470px}
  .sheet{inset:14px 10px 40px 14px}
  .sheet.s1{padding:18px 16px}
  .sh-head b{font-size:19px}
  .sh-qs li{grid-template-columns:20px 1fr;gap:10px}.sh-qs span{grid-column:2;justify-self:start}
  .sh-qs li:nth-child(n+4){display:none}
  .ci-stamp{width:104px;height:104px;bottom:58px}.ci-stamp b{font-size:38px}
  .toc li{grid-template-columns:30px 1fr;row-gap:2px}.toc i{display:none}.toc em{grid-column:2}
  .ci-how{padding:26px 22px}
}
/* light-theme fixes for inherited dark tokens */
:root{--ink:#1c2420}
.q-crit.high{color:var(--hi)!important;border-color:rgba(181,71,8,.35)!important;background:#fdf3ea}
.q-crit.critical{color:var(--bad)!important;background:#fdf1ef}
.q-cat{background:#e8efe9;color:var(--acc)!important}
.ur-ico svg{stroke:var(--acc)}
.g-knob{fill:#fff;stroke:var(--ink);stroke-width:2;filter:none}
.radar .pt{fill:var(--acc)}
.exempt{color:var(--ind);background:#eef0f8;border-color:#cdd3ea}
.cap-note{color:var(--warn)}
.pill.crit{--pc:var(--bad)}
.ph-n{background:var(--ink);color:#fff;box-shadow:none}
.strengths li{background:#e5f2ea;border-color:#bcdcc9;color:#146c43}
.tag.k-quick{background:#e5f2ea;border-color:#bcdcc9}
