/* Shared design system — InstantCISO / InstantCIO (family of DigitalRiskWatch) */
:root{
  --bg:#0e1015; --panel:#171a22; --panel-2:#1e222d; --line:#2b303d;
  --ink:#e9edf4; --muted:#8f9aab; --brand:#8f7bff; --brand-ink:#0d0a1d;
  --cio:#2fc6a0; --ciso:#8f7bff; --accent:#28d17c; --warn:#ffb454;
  --radius:14px; --maxw:1120px;
  --font:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}
@media (prefers-color-scheme: light){
  :root{ --bg:#f7f8fb; --panel:#ffffff; --panel-2:#f0f2f8; --line:#dde1ec;
         --ink:#141824; --muted:#5b6577; --brand:#5b45d6; --brand-ink:#ffffff;
         --cio:#0e8f72; --ciso:#5b45d6; }
}
:root[data-theme="dark"]{ --bg:#0e1015; --panel:#171a22; --panel-2:#1e222d; --line:#2b303d;
  --ink:#e9edf4; --muted:#8f9aab; --brand:#8f7bff; --brand-ink:#0d0a1d; --cio:#2fc6a0; --ciso:#8f7bff; }
:root[data-theme="light"]{ --bg:#f7f8fb; --panel:#ffffff; --panel-2:#f0f2f8; --line:#dde1ec;
  --ink:#141824; --muted:#5b6577; --brand:#5b45d6; --brand-ink:#ffffff; --cio:#0e8f72; --ciso:#5b45d6; }

/* Brand accent per page: <html data-brand="cio"> switches purple → teal */
:root[data-brand="cio"]{ --brand:var(--cio); --brand-ink:#03150e; }
@media (prefers-color-scheme: light){ :root[data-brand="cio"]{ --brand-ink:#ffffff; } }
:root[data-theme="light"][data-brand="cio"]{ --brand-ink:#ffffff; }
:root[data-theme="dark"][data-brand="cio"]{ --brand-ink:#03150e; }

*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);line-height:1.55;-webkit-font-smoothing:antialiased}
a{color:var(--brand);text-decoration:none}
a:hover{text-decoration:underline}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 20px}

header.site{border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--bg) 88%, transparent);
  position:sticky;top:0;backdrop-filter:blur(8px);z-index:10}
header.site .wrap{display:flex;align-items:center;justify-content:space-between;height:62px}
.logo{font-weight:700;letter-spacing:-.02em;font-size:1.05rem;display:flex;gap:.5rem;align-items:center;color:var(--ink)}
.logo:hover{text-decoration:none}
.logo .dot{width:12px;height:12px;border-radius:3px;background:var(--brand);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 25%,transparent)}
nav.top{display:flex;align-items:center}
nav.top a{color:var(--muted);margin-left:22px;font-size:.92rem}
nav.top a:hover{color:var(--ink);text-decoration:none}
nav.top a.alt-brand{font-weight:600}
nav.top a.alt-brand.to-cio{color:var(--cio)}
nav.top a.alt-brand.to-ciso{color:var(--ciso)}
.theme-btn{background:none;border:1px solid var(--line);color:var(--muted);border-radius:8px;padding:5px 10px;cursor:pointer;font-size:.8rem;margin-left:22px}

.hero{padding:70px 0 26px;text-align:center}
.hero .kicker{display:inline-block;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--brand);
  border:1px solid color-mix(in srgb,var(--brand) 45%,transparent);border-radius:999px;padding:5px 14px;margin-bottom:18px;font-weight:700}
.hero h1{font-size:clamp(2rem,4.6vw,3.1rem);line-height:1.08;letter-spacing:-.03em;margin:0 0 14px}
.hero h1 em{font-style:normal;color:var(--brand)}
.hero p{color:var(--muted);font-size:1.13rem;max-width:680px;margin:0 auto}
.hero .cta-row{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:26px}
.btn{display:inline-block;text-align:center;border-radius:10px;padding:12px 20px;font-weight:600;font-size:.95rem;
  border:1px solid var(--line);color:var(--ink);background:var(--panel-2);cursor:pointer;font-family:var(--font)}
.btn:hover{text-decoration:none;border-color:var(--brand)}
.btn.primary{background:var(--brand);color:var(--brand-ink);border-color:var(--brand)}
.pills{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin:28px 0 0}
.pill{font-size:.8rem;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:6px 13px;background:var(--panel)}
.pill b{color:var(--ink)}

.anchor-strip{margin:44px auto 0;max-width:760px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);
  padding:16px 22px;display:flex;gap:18px;align-items:center;justify-content:center;flex-wrap:wrap;font-size:.98rem}
.anchor-strip .was{color:var(--muted);text-decoration:line-through}
.anchor-strip .now{color:var(--accent);font-weight:700;font-size:1.15rem}

section.block{margin:70px 0 0}
.block-head{text-align:center;max-width:700px;margin:0 auto 30px}
.block-head h2{font-size:1.9rem;letter-spacing:-.02em;margin:0 0 10px}
.block-head p{color:var(--muted)}

.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
@media(max-width:800px){.steps{grid-template-columns:1fr}}
.step{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:22px}
.step .num{width:30px;height:30px;border-radius:50%;background:var(--brand);color:var(--brand-ink);font-weight:700;
  display:flex;align-items:center;justify-content:center;margin-bottom:12px}
.step h3{margin:0 0 6px;font-size:1.05rem}
.step p{margin:0;color:var(--muted);font-size:.92rem}

.toggles{display:flex;gap:26px;justify-content:center;align-items:center;margin:30px 0 8px;color:var(--muted);font-size:.9rem;flex-wrap:wrap}
.toggle{display:flex;gap:8px;align-items:center}
.switch{appearance:none;width:44px;height:24px;border-radius:999px;background:var(--line);position:relative;cursor:pointer;transition:.15s;border:none;flex:none}
.switch:checked{background:var(--brand)}
.switch::after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;transition:.15s}
.switch:checked::after{transform:translateX(20px)}

.tiers{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:22px 0 10px}
@media(max-width:900px){.tiers{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.tiers{grid-template-columns:1fr}}
.tier{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:20px 18px;display:flex;flex-direction:column}
.tier.popular{border-color:var(--brand);box-shadow:0 0 0 1px var(--brand)}
.tier .badge{align-self:flex-start;font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;color:var(--brand-ink);
  background:var(--brand);border-radius:999px;padding:3px 9px;margin-bottom:10px;font-weight:700}
.tier h3{margin:0 0 2px;font-size:1.15rem;letter-spacing:-.01em}
.tier .price{font-size:1.9rem;font-weight:700;letter-spacing:-.02em;margin:8px 0 2px}
.tier .price span{font-size:.9rem;font-weight:500;color:var(--muted)}
.tier .sub{color:var(--muted);font-size:.85rem;min-height:2.6em}
.tier ul{list-style:none;padding:0;margin:14px 0 0;font-size:.88rem}
.tier li{padding:7px 0;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:10px}
.tier li b{font-weight:600;text-align:right}
.tier li.hl{background:color-mix(in srgb,var(--brand) 8%,transparent);margin:0 -18px;padding:7px 18px}
.tier li .muted{color:var(--muted);font-size:.8rem}
.tier .cta{margin-top:auto;padding-top:16px}
.tier .cta .btn{display:block}
.discount-tag{color:var(--accent);font-weight:700}
.drw-tag{color:var(--warn);font-weight:600}
.fineprint{text-align:center;color:var(--muted);font-size:.82rem}

.bundle{margin-top:34px;background:linear-gradient(135deg,color-mix(in srgb,var(--ciso) 14%,var(--panel)),color-mix(in srgb,var(--cio) 14%,var(--panel)));
  border:1px solid var(--line);border-radius:var(--radius);padding:30px 28px}
.bundle-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:26px;align-items:center}
@media(max-width:800px){.bundle-grid{grid-template-columns:1fr}}
.bundle h2{margin:0 0 10px;font-size:1.6rem;letter-spacing:-.02em}
.bundle p{color:var(--muted);margin:0 0 8px}
.bundle .math{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:18px 20px;font-size:.95rem}
.bundle .math .row{display:flex;justify-content:space-between;padding:7px 0;border-top:1px solid var(--line)}
.bundle .math .row:first-child{border-top:none}
.bundle .math .row.total{border-top:2px solid var(--brand);font-weight:700;font-size:1.1rem;padding-top:11px}
.cio-name{color:var(--cio);font-weight:700}
.ciso-name{color:var(--ciso);font-weight:700}

.trust{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
@media(max-width:800px){.trust{grid-template-columns:1fr}}
.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:22px}
.card h3{margin:0 0 8px;font-size:1.02rem}
.card p{margin:0;color:var(--muted);font-size:.9rem}

.faq{max-width:760px;margin:0 auto}
.faq details{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:4px 18px;margin-bottom:10px}
.faq summary{cursor:pointer;font-weight:600;padding:12px 0;font-size:.98rem}
.faq p{color:var(--muted);font-size:.92rem;margin:0 0 14px}

.final-cta{text-align:center;margin:80px 0 0;padding:50px 20px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius)}
.final-cta h2{font-size:1.8rem;margin:0 0 10px;letter-spacing:-.02em}
.final-cta p{color:var(--muted);margin:0 0 22px}

/* Sub-pages */
.page-head{padding:56px 0 8px;max-width:760px;margin:0 auto;text-align:center}
.page-head h1{font-size:clamp(1.7rem,3.6vw,2.4rem);letter-spacing:-.03em;margin:0 0 10px}
.page-head p{color:var(--muted);font-size:1.05rem}
.prose{max-width:760px;margin:26px auto 0;font-size:.96rem}
.prose h2{font-size:1.25rem;letter-spacing:-.01em;margin:34px 0 8px}
.prose h3{font-size:1.02rem;margin:22px 0 6px}
.prose p,.prose li{color:var(--muted)}
.prose code{background:var(--panel-2);border:1px solid var(--line);border-radius:5px;padding:1px 6px;
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.85em;color:var(--ink)}
.prose li{margin:4px 0}
.prose strong{color:var(--ink)}
.prose .card{margin:18px 0}
.notice{max-width:760px;margin:24px auto 0;border:1px solid color-mix(in srgb,var(--warn) 55%,transparent);
  background:color-mix(in srgb,var(--warn) 10%,var(--panel));border-radius:12px;padding:12px 16px;font-size:.88rem;color:var(--ink)}

/* Forms */
.form-card{max-width:640px;margin:30px auto 0;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:26px}
.field{margin:0 0 16px}
.field label{display:block;font-size:.85rem;color:var(--muted);margin-bottom:6px}
.field input,.field select,.field textarea{width:100%;background:var(--panel-2);border:1px solid var(--line);color:var(--ink);
  border-radius:9px;padding:11px 12px;font-size:1rem;font-family:var(--font)}
.field textarea{min-height:110px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid color-mix(in srgb,var(--brand) 60%,transparent);border-color:var(--brand)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:600px){.form-row{grid-template-columns:1fr}}
.result-panel{display:none;margin-top:20px;border-top:1px solid var(--line);padding-top:18px}
.result-panel.visible{display:block}
.code-chip{display:block;background:var(--panel-2);border:1px solid var(--line);border-radius:9px;padding:10px 12px;
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.85rem;overflow-x:auto;white-space:nowrap;margin:8px 0}

footer.site-foot{border-top:1px solid var(--line);margin-top:70px;padding:26px 0;color:var(--muted);font-size:.85rem}
footer.site-foot .wrap{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
