/* Candor — shared design system. Flat, institutional, typographic. No gradients,
   shadows kept to one hairline, no stock imagery. Restraint executed carefully. */
:root{
  --navy:#1B2A41; --navy-soft:#2A3B54;
  --paper:#FAF8F5; --ink:#22201D; --muted:#5F5A52; --faint:#8A857C;
  --ox:#7A2E2E; --seal:#2F5D50; --brass:#8A5E17;
  --rule:#E3DED6; --soft:#F2EEE7; --surface:#fff;
  /* type scale */
  --f-serif:'Instrument Serif',Georgia,'Times New Roman',serif;
  --f-sans:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif;
  --f-mono:'IBM Plex Mono',ui-monospace,Consolas,monospace;
  /* spacing scale */
  --s1:8px; --s2:14px; --s3:22px; --s4:34px; --s5:52px; --s6:80px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{background:var(--paper);color:var(--ink);font-family:var(--f-sans);font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased}
img{max-width:100%}
a{color:var(--ox);text-decoration:none}
a:hover{text-decoration:underline}
.wrap{max-width:1000px;margin:0 auto;padding:0 28px}
.narrow{max-width:660px;margin:0 auto}
h1,h2,h3,h4{font-family:var(--f-serif);font-weight:400;color:var(--navy);letter-spacing:-.005em;line-height:1.14}
h1{font-size:clamp(33px,6.4vw,50px)}
h1 em{font-style:italic}
h2{font-size:clamp(26px,4.2vw,34px)}
h3{font-size:21px}
p{margin:0 0 var(--s2)}
.mono{font-family:var(--f-mono);text-transform:uppercase;letter-spacing:.12em;font-size:11px;color:var(--muted)}
.lede{font-size:19px;color:var(--muted);max-width:34em}
strong{font-weight:600;color:var(--navy)}
.center{text-align:center}
.skip{position:absolute;left:-999px}
.skip:focus{left:12px;top:12px;background:var(--navy);color:var(--paper);padding:8px 12px;z-index:100}

/* nav */
header.nav{position:sticky;top:0;z-index:20;background:rgba(250,248,245,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--rule)}
.nav-in{display:flex;align-items:center;justify-content:space-between;gap:16px;max-width:1000px;margin:0 auto;padding:14px 28px}
.brand{display:flex;align-items:center;gap:10px}
.brand .name{font-family:var(--f-serif);font-size:25px;color:var(--navy);line-height:1}
.brand .name span{color:var(--ox)}
.navlinks{display:flex;gap:22px;align-items:center}
.navlinks a{color:var(--ink);font-size:14.5px}
.navlinks a:hover{color:var(--ox);text-decoration:none}
.navlinks a.cta{background:var(--ox);color:var(--paper);padding:8px 15px;border:1px solid var(--ox)}
.navlinks a.cta:hover{background:transparent;color:var(--ox)}
.navtoggle{display:none;background:none;border:1px solid var(--rule);border-radius:3px;padding:6px 9px;font-size:16px;color:var(--navy);cursor:pointer}
@media(max-width:760px){
  .navlinks{position:absolute;top:100%;left:0;right:0;background:var(--paper);border-bottom:1px solid var(--rule);flex-direction:column;align-items:stretch;gap:0;padding:8px 0;display:none}
  .navlinks.open{display:flex}
  .navlinks a{padding:11px 28px}
  .navlinks a.cta{margin:8px 28px;text-align:center}
  .navtoggle{display:block}
}

/* buttons */
.btn{display:inline-block;font-size:15px;color:var(--paper);background:var(--ox);padding:12px 24px;border:1px solid var(--ox);cursor:pointer;transition:background .15s,color .15s}
.btn:hover{background:transparent;color:var(--ox);text-decoration:none}
.btn.ghost{background:transparent;color:var(--navy);border-color:var(--navy)}
.btn.ghost:hover{background:var(--navy);color:var(--paper)}
.btnrow{display:flex;gap:14px;flex-wrap:wrap;align-items:center;margin-top:var(--s3)}

/* hero + sections */
.hero{padding:72px 0 var(--s1)}
.tagpill{display:inline-block;font-family:var(--f-mono);font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:var(--seal);border:1px solid var(--seal);border-radius:999px;padding:4px 12px;margin-bottom:var(--s3)}
.band{padding:var(--s6) 0;border-top:1px solid var(--rule)}
.eyebrow{margin-bottom:var(--s2)}
.sectionlede{margin-top:var(--s2);color:var(--muted);max-width:36em}
.pagehead{padding:60px 0 var(--s3)}

/* cards */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:var(--s4)}
.cards.two{grid-template-columns:1fr 1fr}
.card{border:1px solid var(--rule);background:var(--surface);padding:22px}
.card h3{font-size:20px;margin-bottom:8px}
.card p{font-size:15px;color:var(--muted);margin:0}
@media(max-width:720px){.cards,.cards.two{grid-template-columns:1fr}}

/* steps */
.steps{margin-top:var(--s4);border-left:2px solid var(--rule)}
.step{display:grid;grid-template-columns:52px 1fr;gap:2px 18px;padding:22px 0 22px 24px;border-bottom:1px solid var(--rule);margin-left:-2px;border-left:2px solid transparent}
.step:last-child{border-bottom:0}
.step:hover{border-left-color:var(--ox)}
.step .num{grid-row:1/3;font-family:var(--f-mono);font-size:13px;color:var(--ox);padding-top:4px}
.step h3{font-size:20px}
.step p{font-size:15px;color:var(--muted);max-width:42em;margin:2px 0 0}

/* record component */
.record{margin:var(--s5) 0 0;border:1px solid var(--rule);border-top:2px solid var(--navy);background:var(--surface)}
.record-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:13px 20px;border-bottom:1px solid var(--rule);font-family:var(--f-mono);font-size:11px;letter-spacing:.11em;text-transform:uppercase;color:var(--muted)}
.record-head b{color:var(--navy);font-weight:500}
.rrow{display:flex;gap:16px;padding:11px 20px;border-bottom:1px solid var(--rule);font-family:var(--f-mono);font-size:12.5px;line-height:1.5}
.rrow:last-child{border-bottom:0}
.rrow .k{color:var(--muted);flex:0 0 92px}
.rrow .v{color:var(--ink);min-width:0;word-break:break-word}
.seal{color:var(--seal)}.flagged{color:var(--ox)}
.caption{margin-top:var(--s2);font-size:14px;color:var(--muted);font-style:italic}

/* tables */
table.tbl{width:100%;border-collapse:collapse;margin-top:var(--s3);font-size:15px}
table.tbl th,table.tbl td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--rule);vertical-align:top}
table.tbl th{font-family:var(--f-mono);font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:500}
table.tbl td b{color:var(--navy)}

/* pricing */
.tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:var(--s4)}
.tier{border:1px solid var(--rule);background:var(--surface);padding:24px;display:flex;flex-direction:column}
.tier.feature{border-top:2px solid var(--ox)}
.tier h3{font-size:22px}
.tier .price{font-family:var(--f-serif);font-size:32px;color:var(--navy);margin:8px 0 2px}
.tier .price small{font-size:14px;color:var(--muted);font-family:var(--f-sans)}
.tier ul{list-style:none;margin:16px 0 0;font-size:14.5px;color:var(--muted)}
.tier li{padding:6px 0;border-bottom:1px solid var(--rule)}
.tier li:last-child{border-bottom:0}
@media(max-width:720px){.tiers{grid-template-columns:1fr}}

/* faq / prose lists */
details{border-bottom:1px solid var(--rule);padding:18px 0}
summary{cursor:pointer;list-style:none;font-family:var(--f-serif);font-size:20px;color:var(--navy);display:flex;justify-content:space-between;gap:16px}
summary::-webkit-details-marker{display:none}
summary::after{content:'+';color:var(--ox)}
details[open] summary::after{content:'\2013'}
details p{margin-top:12px;font-size:15.5px;color:var(--muted);max-width:44em}
.deflist{margin-top:var(--s3)}
.deflist div{border-top:1px solid var(--rule);padding:16px 0}
.deflist h3{font-size:18px;margin-bottom:5px}
.deflist p{font-size:15px;color:var(--muted);margin:0;max-width:44em}
.body p{max-width:36em}

/* live demo */
.demo{margin-top:var(--s4);border:1px solid var(--rule);background:var(--surface)}
.demo-head{padding:12px 18px;border-bottom:1px solid var(--rule);font-family:var(--f-mono);font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--seal)}
.demo-grid{display:grid;grid-template-columns:1fr 1fr;gap:0}
.demo-grid>div{padding:18px}
.demo-grid>div:first-child{border-right:1px solid var(--rule)}
.demo label{display:block;font-family:var(--f-mono);font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:8px}
.demo textarea{width:100%;min-height:150px;resize:vertical;border:1px solid var(--rule);border-radius:2px;padding:11px;font-size:14px;font-family:var(--f-sans);background:var(--paper);color:var(--ink)}
.demo textarea:focus{outline:none;border-color:var(--ox)}
.demo-out{min-height:150px;white-space:pre-wrap;word-break:break-word;font-size:14px;color:var(--ink)}
.demo-out .r{color:var(--ox);font-weight:600;background:rgba(122,46,46,.10);border-radius:2px;padding:0 2px}
.demo .chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}
.demo .chip{border:1px solid var(--rule);border-radius:999px;padding:2px 10px;font-size:12px}
.demo .note{padding:11px 18px;border-top:1px solid var(--rule);font-size:12px;color:var(--seal)}
@media(max-width:640px){.demo-grid{grid-template-columns:1fr}.demo-grid>div:first-child{border-right:0;border-bottom:1px solid var(--rule)}}

/* footer */
footer{margin-top:var(--s6);border-top:1px solid var(--rule);padding:var(--s4) 0 var(--s6);font-size:13.5px;color:var(--muted);line-height:1.7}
.foot-grid{display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap}
.foot-links{display:flex;gap:22px;flex-wrap:wrap}
.foot-links a{color:var(--muted)}
footer p{max-width:42em}
.social{display:flex;gap:16px;margin-top:16px}
.social a{color:var(--muted);display:inline-flex}
.social a:hover{color:var(--ox)}
.social svg{width:19px;height:19px;display:block}
.disc{margin-top:22px;font-size:12.5px;color:var(--faint)}

/* reveal on scroll */
.reveal{opacity:0;transform:translateY(14px);transition:opacity .6s ease,transform .6s ease}
.reveal.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}html{scroll-behavior:auto}}

/* 404 */
.err{min-height:56vh;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.err .code{font-family:var(--f-mono);color:var(--ox);letter-spacing:.2em}

/* animated browser-extension demo (product page) */
.exd-wrap{max-width:760px;margin:34px auto 0}
.exd{position:relative;border:1px solid var(--rule);border-radius:8px;overflow:hidden;background:var(--surface);font-size:14px}
.exd-top{display:flex;align-items:center;gap:7px;background:var(--navy);padding:10px 14px}
.exd-top .d{width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.28)}
.exd-url{margin-left:10px;color:rgba(255,255,255,.6);font-family:var(--f-mono);font-size:11px;letter-spacing:.04em}
.exd-chat{padding:20px 18px 74px;min-height:236px}
.exd-msg{max-width:82%;padding:11px 14px;border-radius:10px;line-height:1.5;margin-bottom:14px}
.exd-user{margin-left:auto;background:var(--soft);color:var(--ink);border-bottom-right-radius:3px}
.exd-ai{background:#fff;border:1px solid var(--rule);color:var(--ink);border-bottom-left-radius:3px}
.exd-ai b{color:var(--navy);font-weight:600}
.exd-hedge{background:rgba(138,94,23,.14);border-radius:3px;padding:0 3px}
.exd-pill{position:absolute;right:16px;bottom:16px;display:flex;align-items:center;gap:7px;background:var(--navy);color:#fff;border:none;border-radius:999px;padding:8px 14px;font-size:13px;font-weight:600;font-family:var(--f-sans);transition:background .3s}
.exd.alert .exd-pill{background:var(--brass)}
.exd-badge{background:rgba(255,255,255,.22);border-radius:999px;padding:1px 7px;font-size:11px;opacity:0;transform:scale(.6);transition:opacity .3s,transform .3s}
.exd.alert .exd-badge{opacity:1;transform:none}
.exd-panel{position:absolute;right:16px;bottom:60px;width:290px;max-width:calc(100% - 32px);background:var(--paper);border:1px solid var(--rule);border-top:2px solid var(--navy);border-radius:4px;opacity:0;transform:translateY(12px);transition:opacity .45s,transform .45s;pointer-events:none}
.exd.open .exd-panel{opacity:1;transform:none}
.exd-ph{font-family:var(--f-serif);font-size:16px;color:var(--navy);padding:9px 12px;border-bottom:1px solid var(--rule)}
.exd-ph i{color:var(--ox);font-style:normal}
.exd-pb{padding:10px 12px}
.exd-sh{font-family:var(--f-serif);font-size:12.5px;color:var(--navy);font-weight:600;margin-bottom:6px}
.exd-checking{font-size:12.5px;color:var(--muted);opacity:0;transition:opacity .3s}
.exd.checking .exd-checking{opacity:1}
.exd.r1 .exd-checking{display:none}
.exd-res>*{opacity:0;transform:translateY(4px);transition:opacity .4s,transform .4s}
.exd.r1 .exd-res .g1{opacity:1;transform:none}
.exd.r2 .exd-res .g2{opacity:1;transform:none}
.exd-vh{font-size:10.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:7px 0 3px}
.exd-cite{font-size:12.5px;line-height:1.55}
.exd-ok{color:var(--seal);font-weight:700}
.exd-warn{color:var(--brass);font-weight:700}
.exd-chip{display:inline-block;border:1px solid var(--rule);border-radius:999px;padding:1px 9px;font-size:11px}
.exd-fine{font-size:10px;color:var(--faint);margin-top:8px;line-height:1.45}
.exd-cap{text-align:center;font-size:12.5px;color:var(--muted);margin-top:12px}
@media(prefers-reduced-motion:reduce){.exd-panel,.exd-badge,.exd-res>*{transition:none}}

/* clickable product steps */
.step{cursor:pointer;transition:border-color .15s,background .15s}
.step:hover{border-left-color:var(--ox);background:var(--soft)}
.step:focus-visible{outline:2px solid var(--navy);outline-offset:-2px}
.step-cue{font-family:var(--f-mono);font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--ox);border:1px solid var(--rule);border-radius:999px;padding:2px 8px;vertical-align:middle;margin-left:8px;white-space:nowrap}
.step[aria-expanded="true"] .step-cue{background:var(--ox);color:var(--paper);border-color:var(--ox)}
.step-detail{margin-top:14px;display:grid;grid-template-columns:minmax(0,320px) 1fr;gap:20px;align-items:start}
.step-detail[hidden]{display:none}
@media(max-width:640px){.step-detail{grid-template-columns:1fr}}
.step-extra{font-size:14.5px;color:var(--muted);max-width:40em;margin:0}
.stepfig{border:1px solid var(--rule);border-top:2px solid var(--navy);border-radius:4px;background:var(--surface);padding:12px;font-size:13px}
.sf-cap{font-family:var(--f-mono);font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:8px}
.sf-line{line-height:1.5;color:var(--ink)}
.sf-red{color:var(--ox);font-weight:600;background:rgba(122,46,46,.10);border-radius:2px;padding:0 3px}
.sf-chips{display:flex;flex-wrap:wrap;gap:5px;margin:9px 0 4px}
.sf-chip{border:1px solid var(--rule);border-radius:999px;padding:1px 8px;font-size:11px;color:var(--ink)}
.sf-btn{display:inline-block;background:var(--ox);color:var(--paper);border-radius:3px;padding:5px 11px;font-size:12px;font-weight:600;margin-top:2px}
.sf-row{display:flex;justify-content:space-between;gap:12px;padding:5px 0;border-bottom:1px solid var(--rule)}
.sf-row:last-child{border-bottom:0}
.sf-row span:first-child{color:var(--muted)}
.sf-ok{color:var(--seal);font-size:12px}
.sf-cite{padding:4px 0;line-height:1.4}
.sf-okc{color:var(--seal);font-weight:700}
.sf-warnc{color:var(--brass);font-weight:700}
.sf-muted{color:var(--muted)}
.sf-check{display:flex;gap:7px;line-height:1.45;color:var(--ink)}
.sf-sign{margin-top:8px;font-family:var(--f-serif);color:var(--seal);font-size:14px}
.sf-doc{display:flex;flex-direction:column;gap:7px;margin-bottom:10px}
.sf-docline{height:7px;background:var(--soft);border-radius:2px}

/* news */
.newshero{margin-top:var(--s4)}
.newsgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px 22px;margin-top:var(--s4)}
@media(max-width:900px){.newsgrid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.newsgrid{grid-template-columns:1fr}}
.nc{display:block;color:inherit;text-decoration:none;border:1px solid var(--rule);background:var(--surface);transition:border-color .15s,transform .15s}
.nc:hover{text-decoration:none;border-color:var(--navy);transform:translateY(-2px)}
.nc-fig{position:relative;margin:0;aspect-ratio:16/9;overflow:hidden;background-color:var(--navy);background-size:cover;background-position:center}
.nc-fig img{width:100%;height:100%;object-fit:cover;display:block}
.nc-topic{position:absolute;left:0;bottom:0;background:var(--paper);color:var(--navy);font-family:var(--f-mono);font-size:10px;text-transform:uppercase;letter-spacing:.1em;padding:4px 9px;border-top:1px solid var(--rule);border-right:1px solid var(--rule)}
.nc-body{padding:15px 16px 17px}
.nc-body h3{font-size:19px;line-height:1.22}
.nc:hover .nc-body h3{color:var(--ox)}
.nc-body p{font-size:14px;color:var(--muted);margin:8px 0 0;line-height:1.5}
.nc-meta{display:flex;align-items:center;gap:7px;margin-top:11px;font-family:var(--f-mono);font-size:10.5px;text-transform:uppercase;letter-spacing:.07em;color:var(--faint)}
.nc-src{color:var(--ox)}
.nc-dot{opacity:.5}
.nc.big{display:grid;grid-template-columns:1.35fr 1fr;align-items:stretch;border-top:2px solid var(--navy)}
.nc.big .nc-fig{aspect-ratio:auto;min-height:290px;height:100%}
.nc.big .nc-body{padding:26px 28px;align-self:center}
.nc.big .nc-body h3{font-size:clamp(24px,3.2vw,32px);line-height:1.14}
.nc.big .nc-body p{font-size:15.5px;margin-top:12px}
@media(max-width:720px){.nc.big{grid-template-columns:1fr}.nc.big .nc-fig{min-height:0;aspect-ratio:16/9}.nc.big .nc-body{padding:18px}}
