/**
 * Homepage v3 (staging) — styles from the evidence-led design export.
 *
 * Regenerated 2026-08-19 from the revised mock (adds the detection-suite section).
 * Font-variable substitution uses [^;}]+ so it cannot cross a rule boundary: the
 * second :root block ends without a semicolon, and an unbounded match previously
 * swallowed the following rule and orphaned letter-spacing into :root.
 *
 * @package proofademictheme
 */
:root{--ink:#0a0c14;--ink2:#111522;--line:#283047;--paper:#f6f5f0;--text:#141722;--muted:#606678;--soft:#d2d3d8;--peri:#7b86c4;--blue:#505dad;--deep:#28337d;--pale:#e9edff;--green:#397d59;--serif:'Iowan Old Style',Baskerville,'Palatino Linotype',Palatino,Georgia,serif;--sans:-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif;--mono:'SFMono-Regular',Consolas,monospace;--max:1240px}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--ink)}body{margin:0;background:var(--paper);color:var(--text);font:15px/1.65 var(--sans);-webkit-font-smoothing:antialiased}.pf-hv3{overflow-x:clip}.pf-hv3 img{max-width:100%}a{color:inherit;text-decoration:none}button{font:inherit}::selection{background:var(--blue);color:#fff}:focus-visible{outline:3px solid var(--peri);outline-offset:3px}.skip{position:fixed;z-index:999;top:12px;left:12px;padding:10px 14px;background:#fff;color:var(--ink);transform:translateY(-160%)}.skip:focus{transform:none}.wrap{width:min(calc(100% - 40px),var(--max));margin:auto}.section{padding:clamp(76px,9vw,132px) 0}.eyebrow{display:flex;align-items:center;gap:10px;margin:0 0 20px;color:var(--deep);font:700 11px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase}.eyebrow:before{content:"";width:24px;height:1px;background:currentColor}.eyebrow.light{color:#a8b0df}.head{display:grid;grid-template-columns:1.1fr .72fr;gap:clamp(28px,7vw,100px);align-items:end;margin-bottom:54px}.head h2,.split h2,.dark-intro h2{font:400 clamp(38px,5vw,66px)/.98 var(--serif);letter-spacing:-.04em;margin:0;text-wrap:balance}.head p,.split-copy>p{margin:0;color:var(--muted);font-size:16px;max-width:56ch}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 19px;border:1px solid transparent;border-radius:3px;font-weight:700;font-size:13px;transition:.18s}.primary{background:#fff;color:var(--ink)}.primary:hover{background:var(--pale);color:var(--deep)}.dark{background:var(--ink);color:#fff}.dark:hover{background:var(--deep)}.outline{border-color:var(--line);color:#d9dcef}.outline:hover{border-color:var(--peri);color:#fff}.textlink{display:inline-flex;gap:9px;color:var(--deep);font-weight:700;font-size:13px;border-bottom:1px solid #b6bee9;padding-bottom:3px}.mark{width:25px;height:25px;display:grid;place-items:center;background:#f3f4fa;color:var(--ink);border-radius:3px}.mark svg{width:15px}
.hero{position:relative;overflow:hidden;background:var(--ink);color:#f4f5fa}.hero:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(123,134,196,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(123,134,196,.07) 1px,transparent 1px);background-size:40px 40px;mask-image:linear-gradient(#000,transparent 70%)}.hero-inner{position:relative;display:grid;grid-template-columns:.9fr minmax(460px,1.1fr);gap:clamp(50px,7vw,110px);align-items:center;padding:clamp(70px,8vw,112px) 0 90px}.hero h1{font:400 clamp(52px,6.4vw,88px)/.91 var(--serif);letter-spacing:-.052em;margin:0;max-width:9.5ch}.hero h1 em{color:#aeb6ee;font-weight:400}.lede{max-width:57ch;margin:28px 0 30px;color:#c2c7d9;font-size:17px;line-height:1.7}.hero-actions{display:flex;gap:10px;flex-wrap:wrap}.assurance{display:flex;gap:21px;flex-wrap:wrap;margin-top:30px;color:#8992bd;font:10px var(--mono);text-transform:uppercase;letter-spacing:.08em}.assurance span{display:flex;gap:7px;align-items:center}.assurance i{width:5px;height:5px;border-radius:50%;background:var(--green)}
.dossier{position:relative;background:#fcfcfb;color:var(--text);border:1px solid #3a435f;box-shadow:18px 24px 0 rgba(80,93,173,.12),0 34px 80px rgba(0,0,0,.35)}.dossier:before{content:"CASE 24—081";position:absolute;top:16px;right:-46px;transform:rotate(90deg);color:#6d769f;font:10px var(--mono);letter-spacing:.14em}.dossier-top{display:flex;align-items:center;gap:10px;padding:13px 16px;border-bottom:1px solid #dddfe8;background:#f4f4f1;font:10px var(--mono);letter-spacing:.08em;text-transform:uppercase}.live{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 0 4px rgba(57,125,89,.12)}.dossier-top span:last-child{margin-left:auto;color:var(--muted)}.report{display:grid;grid-template-columns:1fr .72fr}.manuscript{padding:28px 26px;border-right:1px solid #dddfe8}.label{color:#787d8e;font:10px var(--mono);letter-spacing:.12em;text-transform:uppercase}.paper-copy{margin:20px 0 25px;font:15px/1.85 var(--serif);color:#444956}.flag{background:linear-gradient(transparent 12%,#dfe4ff 12%,#dfe4ff 89%,transparent 89%);box-shadow:inset 0 -1px #9eaae8}.paper-meta{display:flex;gap:18px;padding-top:15px;border-top:1px solid #e5e5df;color:#7a7f8e;font:10px var(--mono)}.result{padding:28px 22px;background:#f7f7f3}.score{display:flex;align-items:center;gap:14px;margin:18px 0 25px}.ring{width:76px;height:76px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--blue) 75%,#e2e4ec 0)}.ring:after{content:"75%";display:grid;place-items:center;width:59px;height:59px;border-radius:50%;background:#fff;font:700 15px var(--serif)}.score strong{display:block;font-size:13px}.score small{color:var(--muted);font:10px var(--mono)}.signal{padding:11px 12px;margin-top:7px;border-left:2px solid var(--blue);background:var(--pale);font-size:11px;line-height:1.5}.signal.human{border-color:var(--green);background:#eaf6ee}.note{margin-top:16px;color:#757b8d;font:10px var(--mono);text-align:center}
.proofbar{position:relative;background:var(--ink2);color:#fff;border-top:1px solid var(--line)}.proofgrid{display:grid;grid-template-columns:1.2fr repeat(4,1fr);min-height:116px}.proofgrid>div{padding:26px 24px;border-left:1px solid var(--line);display:flex;flex-direction:column;justify-content:center}.proofgrid>div:first-child{border:0}.proofgrid small{font:10px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:#7f88b5}.proofgrid strong{font:400 23px var(--serif)}.proofgrid p{margin:7px 0 0;color:#aab0c8;font-size:12px}
.ledger{border-top:1px solid #cdced4}.feature{display:grid;grid-template-columns:90px minmax(210px,.62fr) 1.25fr;gap:28px;padding:30px 0;border-bottom:1px solid #cdced4}.feature-no{color:#a5a9b8;font:12px var(--mono)}.feature h3{font:400 clamp(22px,2.5vw,32px)/1.1 var(--serif);margin:0}.feature p{color:var(--muted);margin:0;max-width:66ch}.feature:first-child{background:var(--ink);color:#fff;margin-inline:-28px;padding-inline:28px;border:0}.feature:first-child p{color:#aeb4ca}.models{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.models span{border:1px solid #d3d6e1;background:#fff;padding:5px 9px;border-radius:2px;color:#5d6272;font:10px var(--mono)}
.white{background:#fff}.split{display:grid;grid-template-columns:.82fr minmax(460px,1.18fr);gap:clamp(50px,9vw,130px);align-items:center}.split-copy>p{margin:24px 0}.checklist{list-style:none;padding:0;margin:28px 0}.checklist li{display:flex;gap:11px;padding:12px 0;border-bottom:1px solid #e4e4e4;font-size:14px}.checklist li:before{content:"✓";color:var(--blue);font-weight:800}.board{border:1px solid #cfd1d8;background:var(--paper);padding:28px;box-shadow:14px 14px 0 var(--pale)}.board-top{display:flex;justify-content:space-between;padding-bottom:16px;border-bottom:1px solid #d6d6d0;font:10px var(--mono);text-transform:uppercase}.board-score{display:grid;grid-template-columns:150px 1fr;align-items:center;padding:26px 0}.big{font:400 68px/1 var(--serif);letter-spacing:-.05em}.big small{display:block;font:10px var(--mono);color:var(--muted);margin-top:10px}.metric{display:grid;grid-template-columns:1fr 110px 34px;gap:12px;align-items:center;padding:11px 0;border-top:1px solid #ddd}.metric span{font-size:12px}.bar{height:5px;background:#dedfdc}.bar i{display:block;height:100%;background:var(--blue)}.metric code{font:10px var(--mono);color:var(--muted)}
.process{display:grid;grid-template-columns:repeat(4,1fr);border-block:1px solid #cfd0d5}.step{padding:30px 26px 34px;border-right:1px solid #cfd0d5}.step:last-child{border:0}.step b{display:block;color:#aab0c8;font:400 46px/1 var(--serif);margin-bottom:30px}.step h3{font:400 20px var(--serif);margin:0 0 10px}.step p{color:var(--muted);font-size:13px;margin:0}.step-ui{margin-top:28px;min-height:78px;border:1px solid #d8d9df;background:#fff;padding:13px}.tiny{height:5px;background:#e8e9ed;margin:7px 0}.tiny.blue{background:#cbd2f6}.tiny-file{display:flex;justify-content:space-between;color:var(--muted);font:9px var(--mono)}
.batch{background:var(--ink);color:#fff}.batch .split{grid-template-columns:1fr 1fr}.batch h2{max-width:10ch}.batch p{color:#aeb4ca}.cohort{border:1px solid #333c56;background:#0e121e}.cohort-head,.cohort-row{display:grid;grid-template-columns:1.5fr .6fr .6fr .25fr;gap:12px;align-items:center;padding:13px 16px;border-bottom:1px solid #273049}.cohort-head{color:#7680ac;font:9px var(--mono);text-transform:uppercase}.cohort-row{font-size:12px}.cohort-row:last-child{border:0}.status{font:9px var(--mono);padding:4px 6px;background:rgba(123,134,196,.15);color:#b5bced;width:max-content}.risk{font:10px var(--mono);color:#d9b5a5}.low{color:#85c8a1}.callout{margin-top:24px;padding-left:17px;border-left:2px solid var(--peri);color:#c7cbe0;font-size:13px}
.dark-intro{background:var(--ink);color:#fff;padding:clamp(48px,6vw,78px)}.dark-intro p{color:#abb1c8;max-width:58ch;margin:24px 0 0}.principles{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--soft);border-top:0}.principle{padding:30px 24px;border-right:1px solid var(--soft)}.principle:last-child{border:0}.principle h3{font:400 19px var(--serif);margin:0 0 12px}.principle p{font-size:13px;color:var(--muted);margin:0}.api{display:grid;grid-template-columns:.85fr 1.15fr;margin-top:70px;background:var(--pale)}.api-copy{padding:45px}.api-copy h3{font:400 34px/1.05 var(--serif);margin:0 0 16px}.api-copy p{color:var(--muted);margin:0 0 22px}.code{background:var(--ink);color:#cdd2eb;padding:32px;font:12px/1.8 var(--mono);overflow:auto}.key{color:#94a1ed}.string{color:#93c7a7}.comment{color:#687193}
.solutions{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#cfd0d5;border:1px solid #cfd0d5}.solution{background:var(--paper);padding:38px 30px}.solution small{font:10px var(--mono);color:var(--blue);text-transform:uppercase}.solution h3{font:400 27px var(--serif);margin:42px 0 12px}.solution p{color:var(--muted);font-size:14px;margin:0 0 28px}.institution{grid-column:1/-1;background:var(--deep);color:#fff;display:grid;grid-template-columns:1fr auto;gap:30px;align-items:center;padding:34px}.institution h3{margin:0 0 6px}.institution p{color:#c6cbed;margin:0}
.prices{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid #cfd0d5}.plan{padding:30px 24px;border-right:1px solid #cfd0d5;display:flex;flex-direction:column;min-height:330px}.plan:last-child{border:0}.plan.featured{background:var(--ink);color:#fff;transform:translateY(-12px);box-shadow:0 18px 36px rgba(10,12,20,.18)}.plan small{font:10px var(--mono);color:var(--muted);text-transform:uppercase}.plan h3{font:400 23px var(--serif);margin:14px 0}.price{font:400 38px var(--serif);margin:12px 0}.price span{font:12px var(--sans);color:var(--muted)}.plan p{color:var(--muted);font-size:13px}.plan.featured p{color:#aeb4ca}.plan .btn{margin-top:auto}
.faq-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:clamp(50px,9vw,130px)}.faq-grid h2{font:400 clamp(38px,5vw,64px)/1 var(--serif);letter-spacing:-.04em;margin:0}.faq-list{border-top:1px solid #cfd0d5}.faq-item{border-bottom:1px solid #cfd0d5}.faq-button{width:100%;display:flex;justify-content:space-between;gap:25px;text-align:left;padding:22px 0;border:0;background:none;font:400 18px/1.4 var(--serif);cursor:pointer}.faq-button span:last-child{color:var(--blue);font-family:var(--sans);transition:.2s}.faq-button[aria-expanded=true] span:last-child{transform:rotate(45deg)}.faq-answer{display:grid;grid-template-rows:0fr;transition:.25s}.faq-answer>div{overflow:hidden}.faq-answer p{color:var(--muted);margin:0 0 24px}.faq-button[aria-expanded=true]+.faq-answer{grid-template-rows:1fr}
.closing{background:var(--ink);color:#fff}.closing-inner{display:grid;grid-template-columns:1fr auto;gap:40px;align-items:end;padding:clamp(70px,9vw,118px) 0}.closing h2{font:400 clamp(44px,6vw,78px)/.96 var(--serif);letter-spacing:-.045em;margin:0;max-width:12ch}.closing p{color:#adb3ca}.closing-actions{display:flex;gap:10px;flex-wrap:wrap}.footer{background:var(--ink2);color:#b2b7ca;border-top:1px solid var(--line);padding:55px 0 28px}.footer-grid{display:grid;grid-template-columns:1.6fr repeat(3,1fr);gap:40px}.footer p{max-width:32ch;color:#848cab;font-size:13px}.footer h4{font:10px var(--mono);text-transform:uppercase;color:#858eb8}.footer a:not(.brand){display:block;padding:4px 0;font-size:13px}.legal{display:flex;gap:20px;margin-top:46px;padding-top:20px;border-top:1px solid var(--line);font:10px var(--mono);color:#737ca4}.legal span:nth-child(2){margin-left:auto}
@media(max-width:1000px){.hero-inner,.split,.batch .split{grid-template-columns:1fr}.hero h1{max-width:12ch}.proofgrid{grid-template-columns:repeat(3,1fr)}.proofgrid>div:first-child{grid-column:1/-1;border-bottom:1px solid var(--line)}.process,.principles,.prices{grid-template-columns:1fr 1fr}.solutions{grid-template-columns:1fr 1fr}.solution:last-of-type{grid-column:1/-1}.faq-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1.4fr 1fr 1fr}.footer-grid>div:last-child{display:none}}
@media(max-width:760px){.wrap{width:min(calc(100% - 28px),var(--max))}.hero-inner{padding-top:58px}.hero h1{font-size:clamp(48px,14vw,68px)}.report{grid-template-columns:1fr}.manuscript{border-right:0;border-bottom:1px solid #dddfe8}.dossier:before{display:none}.head{grid-template-columns:1fr}.feature{grid-template-columns:45px 1fr}.feature p,.feature>div{grid-column:2}.board-score{grid-template-columns:1fr}.process,.principles,.prices,.solutions{grid-template-columns:1fr}.step,.principle,.plan{border-right:0;border-bottom:1px solid #cfd0d5}.plan.featured{transform:none}.solution:last-of-type{grid-column:auto}.institution,.api,.closing-inner{grid-template-columns:1fr}.cohort-head,.cohort-row{grid-template-columns:1.4fr .7fr .3fr}.cohort-head span:nth-child(3),.cohort-row span:nth-child(3){display:none}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}.legal{flex-wrap:wrap}.legal span:nth-child(2){margin-left:0}}
@media(max-width:500px){.dossier{box-shadow:8px 10px 0 rgba(80,93,173,.12)}.manuscript,.result{padding:20px 17px}.proofgrid{grid-template-columns:1fr 1fr}.proofgrid>div:last-child{grid-column:1/-1}.feature:first-child{margin-inline:-14px;padding-inline:14px}.board{padding:20px}.metric{grid-template-columns:1fr 80px 30px}.api-copy,.code{padding:25px 20px}.footer-grid{grid-template-columns:1fr}.footer-grid>div{grid-column:auto!important}.footer-grid>div:last-child{display:block}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* Refined hero: the detector is the dominant product experience. */
.hero-stage{position:relative;padding:clamp(68px,7.5vw,108px) 0 0;text-align:center}.hero-stage .eyebrow{justify-content:center}.hero-stage .eyebrow:after{content:"";width:24px;height:1px;background:currentColor}.hero-stage h1{max-width:17ch;margin:0 auto;font:400 clamp(50px,6.3vw,86px)/.94 var(--serif);letter-spacing:-.05em;text-wrap:balance}.hero-stage h1 em{color:#aeb6ee;font-weight:400}.hero-stage .lede{max-width:76ch;margin:26px auto 26px}.audience-line{display:flex;justify-content:center;gap:9px;flex-wrap:wrap;margin:0 auto 34px}.audience-line span{border:1px solid #303951;background:rgba(17,21,34,.7);padding:6px 10px;border-radius:2px;color:#aeb5d1;font:10px var(--mono);letter-spacing:.08em;text-transform:uppercase}
.detector-shell{position:relative;width:min(calc(100% - 40px),1160px);margin:0 auto -1px;background:#fbfbf9;color:var(--text);border:1px solid #3a435f;border-radius:10px 10px 0 0;overflow:hidden;box-shadow:0 42px 100px rgba(0,0,0,.48)}.detector-shell.live-embed{border:0;background:#fff;border-radius:10px;line-height:0}.detector-shell.live-embed iframe{width:100%;height:660px;border:0;display:block}.detector-bar{height:52px;display:flex;align-items:center;gap:10px;padding:0 20px;border-bottom:1px solid #e0e1e5;background:#fff;font-size:12px}.detector-bar strong{font-size:13px}.detector-bar .trial{margin-left:auto;color:#666d80;font:10px var(--mono);text-transform:uppercase}.detector-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(330px,.72fr);min-height:500px}.detector-input{display:flex;flex-direction:column;border-right:1px solid #e0e1e5;background:#fff}.input-head{display:flex;align-items:center;gap:10px;padding:18px 22px 12px;color:#707688;font:10px var(--mono);text-transform:uppercase;letter-spacing:.08em}.input-head button{margin-left:auto;border:0;background:none;color:var(--deep);font:700 11px var(--sans);cursor:pointer}.detector-input textarea{display:block;flex:1;width:100%;min-height:340px;resize:none;border:0;padding:4px 22px 22px;background:transparent;color:#353a49;font:16px/1.75 var(--serif);outline:0}.detector-input textarea::placeholder{color:#a2a5ad}.input-foot{display:flex;align-items:center;gap:15px;min-height:72px;padding:13px 20px;border-top:1px solid #e5e5e2;color:#747a8b;font:11px var(--mono)}.analyze{margin-left:auto;min-width:160px;min-height:44px;border:0;border-radius:3px;background:var(--ink);color:#fff;font-weight:750;cursor:pointer}.analyze:disabled{opacity:.42;cursor:not-allowed}.detector-result{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px 28px;background:#f7f7f3;text-align:center}.result-orbit{width:142px;height:142px;border-radius:50%;display:grid;place-items:center;border:1px solid #d9dad6;background:conic-gradient(#dfe1e7 0 100%);transition:.5s}.result-orbit:after{content:attr(data-score);display:grid;place-items:center;width:112px;height:112px;border-radius:50%;background:#f7f7f3;font:400 32px var(--serif)}.detector-result h3{margin:25px 0 8px;font:400 21px var(--serif)}.detector-result>p{max-width:29ch;margin:0;color:#747a8b;font-size:13px}.signal-list{display:none;width:100%;margin-top:24px;text-align:left}.signal-row{padding:11px 12px;margin-top:7px;border-left:2px solid var(--blue);background:var(--pale);font-size:11px;line-height:1.45}.signal-row.human{border-color:var(--green);background:#eaf6ee}.detector-result.has-result{justify-content:flex-start}.detector-result.has-result .signal-list{display:block}.detector-result.has-result .result-orbit{background:conic-gradient(var(--blue) 0 var(--score),#e0e2e8 var(--score) 100%)}.model-checks{margin-top:23px;color:#9298a8;font:9px var(--mono);letter-spacing:.1em;text-transform:uppercase}.model-pills{display:flex;justify-content:center;gap:6px;flex-wrap:wrap;margin-top:9px}.model-pills span{padding:5px 8px;border:1px solid #d9dad6;border-radius:99px;background:#fff;color:#6e7485;font-size:9px}.demo-caveat{padding:12px 20px;background:#f2f2ef;border-top:1px solid #e2e2de;color:#747a8b;font:10px var(--mono);text-align:left}
.enterprise-proof{position:relative;overflow:hidden;min-height:520px;background:var(--ink);color:#fff}.enterprise-proof img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 44%;opacity:.46}.enterprise-proof:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,12,20,.96) 0%,rgba(10,12,20,.78) 44%,rgba(10,12,20,.18) 100%)}.enterprise-proof .wrap{position:relative;z-index:1;display:flex;align-items:center;min-height:520px}.enterprise-copy{max-width:630px;padding:70px 0}.enterprise-copy h2{font:400 clamp(40px,5vw,68px)/.98 var(--serif);letter-spacing:-.04em;margin:0 0 24px}.enterprise-copy p{max-width:55ch;color:#c3c8da;font-size:16px}.enterprise-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:38px;background:#39415b;border:1px solid #39415b}.enterprise-stats div{background:rgba(10,12,20,.82);padding:18px}.enterprise-stats strong{display:block;font:400 21px var(--serif)}.enterprise-stats span{color:#929bc4;font:9px var(--mono);text-transform:uppercase;letter-spacing:.08em}
@media(max-width:760px){.hero-stage{padding-top:55px}.hero-stage h1{font-size:clamp(44px,13vw,62px)}.detector-shell{width:min(calc(100% - 20px),1160px)}.detector-shell.live-embed iframe{height:900px}.detector-grid{grid-template-columns:1fr}.detector-input{border-right:0;border-bottom:1px solid #e0e1e5}.detector-input textarea{min-height:280px}.detector-result{min-height:390px}.detector-bar .trial{display:none}.input-foot{flex-wrap:wrap}.analyze{width:100%;margin-left:0}.enterprise-proof:after{background:rgba(10,12,20,.82)}.enterprise-stats{grid-template-columns:1fr}.enterprise-copy{padding:70px 0}}
.nav-shell{height:68px;display:flex;align-items:center;gap:24px}.chev{width:10px;height:10px;transition:transform .2s}.signin{padding:9px 8px;color:#afb5ca;font-size:13px}.mobile-group{padding:10px 0}.mobile-group h3{margin:0 0 6px;color:#818bb8;font:700 9px var(--mono);letter-spacing:.13em;text-transform:uppercase}.mobile-group a{display:block;padding:10px 0;border-top:1px solid #242c40;color:#c7cbda;font-size:13px}
@media(max-width:1080px){.mega-nav{display:none}.signin{display:none}}
@media(max-width:520px){.header-actions .outline{display:none}}
/* Final polish: quieter institutional typography and a textured, grid-free hero. */
:root{--serif:'Iowan Old Style',Baskerville,'Palatino Linotype',Palatino,Georgia,serif}
.hero{background-color:#080b12;background-position:center top;background-size:cover;background-repeat:no-repeat}.hero:before{display:none}.hero:after{content:"";position:absolute;inset:0;background:rgba(8,11,18,.32);pointer-events:none}.hero>*{position:relative;z-index:1}.hero-stage{padding-top:clamp(76px,8vw,118px)}.hero-stage h1{max-width:16.5ch;font-weight:500;letter-spacing:-.042em;line-height:.96}.hero-stage h1 em{font-style:normal;color:#aeb6ee}.hero-stage .lede{color:#c7cbda;font-size:16.5px;line-height:1.72}.audience-line{margin-top:4px}.audience-line span{background:rgba(10,12,20,.74);border-color:#343d58;color:#aeb5d1;letter-spacing:.07em}.detector-shell{border-radius:6px 6px 0 0;border-color:#343d55;box-shadow:0 36px 90px rgba(0,0,0,.42)}.detector-bar{height:54px}.input-head{padding-top:20px}.detector-input textarea{font-family:var(--serif);font-size:16.5px}.result-orbit:after,.detector-result h3{font-family:var(--serif)}.proofbar{background:#101522}.head h2,.split h2,.dark-intro h2,.enterprise-copy h2,.faq-grid h2,.closing h2{letter-spacing:-.032em}.btn{border-radius:3px}.mark{border-radius:2px}
@media(max-width:760px){.hero-stage{padding-top:62px}.hero-stage h1{line-height:.98;letter-spacing:-.038em}.hero-stage .lede{font-size:16px}.audience-line span{font-size:9px}.detector-shell{border-radius:5px 5px 0 0}}
/* Selective hybrid: evidence-first messaging, neutral interface type and image-led insights. */
:root{--sans:-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif}[id]{scroll-margin-top:78px}
.eyebrow{font-size:9px;letter-spacing:.13em;margin-bottom:16px}.hero-stage{padding-top:clamp(72px,7.4vw,104px)}.hero-stage h1{max-width:none}.hero-stage h1 span{display:block;white-space:nowrap}.hero-stage .lede{max-width:78ch;margin-top:24px}.detector-input textarea{font-family:var(--sans);font-size:16px}.detector-bar strong{font-size:12px;letter-spacing:.02em}.proofgrid strong{font-family:var(--sans);font-size:18px;font-weight:650}.proofgrid{min-height:104px}.proofgrid>div{padding-block:21px}
.insights{background:#fff}.insights-grid{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:16px}.insight-card{display:flex;flex-direction:column;min-height:410px;border:1px solid #d7d9df;background:#fff;transition:transform .18s,box-shadow .18s}.insight-card:hover{transform:translateY(-3px);box-shadow:0 18px 36px rgba(15,20,32,.1)}.insight-card img{width:100%;height:190px;object-fit:cover;filter:saturate(.76) contrast(1.02)}.insight-card:first-child img{height:240px}.insight-body{display:flex;flex:1;flex-direction:column;padding:24px}.insight-meta{color:#69718c;font:700 9px var(--mono);letter-spacing:.11em;text-transform:uppercase}.insight-card h3{margin:18px 0 12px;font:400 clamp(21px,2.2vw,30px)/1.08 var(--serif);letter-spacing:-.025em}.insight-card p{margin:0 0 24px;color:var(--muted);font-size:13px}.insight-card .textlink{margin-top:auto;width:max-content}
.product-suite{background:#eef0f8}.suite-head{display:grid;grid-template-columns:1.05fr .72fr;gap:clamp(28px,7vw,100px);align-items:end;margin-bottom:48px}.suite-head h2{margin:0;font:400 clamp(38px,5vw,66px)/.98 var(--serif);letter-spacing:-.032em;max-width:15ch}.suite-head>p{margin:0;color:var(--muted);font-size:16px;max-width:55ch}.suite-grid{display:grid;grid-template-columns:1fr 1fr;border:1px solid #c9cddc;background:#c9cddc;gap:1px}.suite-card{display:flex;flex-direction:column;min-width:0;background:#fbfbfa}.suite-copy{padding:clamp(28px,4vw,48px)}.suite-status{display:inline-flex;align-items:center;gap:7px;color:var(--green);font:700 9px var(--mono);letter-spacing:.12em;text-transform:uppercase}.suite-status:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.suite-card h3{margin:24px 0 14px;font:400 clamp(28px,3.4vw,46px)/1.02 var(--serif);letter-spacing:-.03em}.suite-card p{margin:0 0 24px;color:var(--muted);max-width:53ch}.ai-card{grid-column:1/-1;display:grid;grid-template-columns:.72fr 1.28fr;background:#fff}.ai-card .suite-copy{display:flex;flex-direction:column;justify-content:center}.ai-suite-ui{display:grid;grid-template-columns:1.2fr .8fr;min-height:290px;margin:26px;border:1px solid #d6d8df;background:#fff;box-shadow:9px 10px 0 #e2e6fb}.ai-manuscript{padding:28px;border-right:1px solid #e0e1e5;color:#444956}.ai-label{display:block;margin-bottom:20px;color:#777e91;font:9px var(--mono);letter-spacing:.1em;text-transform:uppercase}.ai-manuscript p{margin:0;font:15px/1.85 var(--serif);color:#444956}.ai-manuscript mark{background:#e0e5ff;color:inherit;box-shadow:inset 0 -1px #9aa6e8}.ai-analysis{padding:28px;background:#f7f7f4}.ai-score{display:flex;align-items:center;gap:14px;margin:6px 0 22px}.ai-ring{width:74px;height:74px;flex:none;display:grid;place-items:center;border-radius:50%;background:conic-gradient(var(--blue) 72%,#e0e2e8 0)}.ai-ring:after{content:"72%";display:grid;place-items:center;width:57px;height:57px;border-radius:50%;background:#fff;font:700 14px var(--sans)}.ai-score strong{font-size:13px}.ai-score small{display:block;color:#747a8b;font:9px var(--mono)}.ai-flag{margin-top:8px;padding:11px;border-left:2px solid var(--blue);background:var(--pale);color:#4f566d;font-size:10px}.ai-flag.human{border-color:var(--green);background:#eaf6ee}.plagiarism-ui{margin:auto 26px 26px;border:1px solid #d6d8df;background:#fff;box-shadow:9px 10px 0 #e2e6fb}.ui-head{display:flex;justify-content:space-between;gap:15px;padding:13px 16px;border-bottom:1px solid #e0e1e5;color:#777e91;font:9px var(--mono);letter-spacing:.09em;text-transform:uppercase}.match-grid{display:grid;grid-template-columns:1fr 150px;min-height:230px}.match-copy{padding:24px;border-right:1px solid #e0e1e5;font:15px/1.8 var(--serif);color:#444956}.match-copy mark{background:#f3ddd7;color:inherit;box-shadow:inset 0 -1px #c68170}.match-sources{padding:22px 18px;background:#f7f7f4}.match-score{font:400 39px/1 var(--serif)}.match-score small{display:block;margin-top:8px;color:#7b8191;font:9px var(--mono);text-transform:uppercase}.source{margin-top:16px;padding:10px;border-left:2px solid #b46e5e;background:#fff;color:#5d6372;font-size:10px}.source.low{border-color:#8994cd}.image-card{background:var(--ink);color:#fff}.image-card .suite-copy p{color:#b5bbd0}.image-card .suite-status{color:#b4bbed}.image-inspector{position:relative;min-height:360px;margin:auto 26px 26px;overflow:hidden;border:1px solid #353e59;background:#111522}.image-inspector img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.08);opacity:.5}.image-inspector:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0 5px,rgba(123,134,196,.08) 5px 6px)}.scan-frame{position:absolute;z-index:1;inset:32px;border:1px solid rgba(190,197,236,.72)}.scan-frame:before,.scan-frame:after{content:"";position:absolute;background:#c8ceef}.scan-frame:before{left:18%;right:18%;top:43%;height:1px}.scan-frame:after{top:18%;bottom:18%;left:61%;width:1px}.image-readout{position:absolute;z-index:2;right:18px;bottom:18px;width:220px;padding:16px;background:rgba(10,12,20,.92);border:1px solid #3b4563}.image-readout strong{display:block;margin-bottom:10px;font:700 9px var(--mono);letter-spacing:.11em;text-transform:uppercase;color:#bdc4eb}.image-signal{display:grid;grid-template-columns:1fr 54px;gap:10px;align-items:center;padding:7px 0;border-top:1px solid #283047;color:#b1b7cd;font-size:10px}.image-signal i{height:3px;background:#303953}.image-signal i:after{content:"";display:block;width:var(--v);height:100%;background:#8f9add}.preview-note{position:absolute;z-index:2;left:18px;top:18px;padding:7px 9px;background:#eef0ff;color:#28337d;font:700 9px var(--mono);letter-spacing:.1em;text-transform:uppercase}
@media(max-width:900px){.insights-grid{grid-template-columns:1fr 1fr}.insight-card:first-child{grid-column:1/-1}.insight-card:first-child img{height:260px}}
@media(max-width:760px){.hero-stage h1{font-size:clamp(42px,12.5vw,58px)}.hero-stage h1 span{white-space:normal}.insights-grid,.suite-grid,.suite-head{grid-template-columns:1fr}.insight-card:first-child{grid-column:auto}.insight-card,.insight-card:first-child{min-height:0}.insight-card img,.insight-card:first-child img{height:210px}.proofgrid strong{font-size:16px}.ai-card{display:flex}.ai-suite-ui,.match-grid{grid-template-columns:1fr}.ai-manuscript,.match-copy{border-right:0;border-bottom:1px solid #e0e1e5}.image-inspector{min-height:330px}}
@media(max-width:460px){.ai-suite-ui,.plagiarism-ui,.image-inspector{margin-inline:14px;margin-bottom:14px}.ai-manuscript,.ai-analysis,.match-copy{padding:18px}.image-readout{left:14px;right:14px;bottom:14px;width:auto}.scan-frame{inset:22px}}
@media(max-width:520px){.nav-shell{height:60px;gap:8px}.mark{width:22px;height:22px}.header-actions .primary{min-height:36px;padding:0 12px;font-size:11px;white-space:nowrap}}
.faq-button span:last-child{display:grid;place-items:center;flex:none;width:16px;height:16px;line-height:1;margin-right:4px;transform-origin:center}
.grammar-ui{margin:auto 26px 26px;border:1px solid #d6d8df;background:#fff;box-shadow:9px 10px 0 #e2e6fb}.grammar-page{padding:24px;font:15px/1.85 var(--serif);color:#444956}.grammar-page p{margin:0;color:#444956}.grammar-mark{position:relative;text-decoration-line:underline;text-decoration-style:wavy;text-underline-offset:4px;text-decoration-thickness:1px}.grammar-mark.error{text-decoration-color:#b45f55}.grammar-mark.style{text-decoration-color:#6574c3}.grammar-suggestions{display:grid;grid-template-columns:1fr 1fr;gap:1px;padding:1px;background:#e0e1e5}.grammar-suggestions span{padding:13px;background:#f7f7f4;color:#596071;font-size:10px}.grammar-suggestions strong{display:block;margin-bottom:3px;color:#2d3343;font:700 9px var(--mono);letter-spacing:.08em;text-transform:uppercase}.image-card{grid-column:1/-1;display:grid;grid-template-columns:.72fr 1.28fr}.image-card .suite-copy{display:flex;flex-direction:column;justify-content:center}.image-card .image-inspector{width:calc(100% - 52px)}
@media(max-width:760px){.image-card{display:flex}.image-card .image-inspector{width:auto}.grammar-suggestions{grid-template-columns:1fr}}
@media(max-width:900px) and (min-width:761px){.feature:first-child{margin-inline:0}}
@media(max-width:460px){.grammar-ui{margin-inline:14px;margin-bottom:14px}.grammar-page{padding:18px}}
.ai-card,.image-card{grid-column:auto;display:flex}.ai-card .suite-copy,.image-card .suite-copy{display:block}.image-card .image-inspector{width:auto}
@media(max-width:1100px) and (min-width:761px){.ai-suite-ui{grid-template-columns:1fr}.ai-manuscript{border-right:0;border-bottom:1px solid #e0e1e5}.image-inspector{min-height:430px}.image-readout{left:14px;right:14px;width:auto}}
.api{border:1px solid #cbd1ed}.api-copy{display:flex;flex-direction:column;justify-content:center}.api-copy h3{font-size:clamp(30px,3vw,42px);max-width:18ch}.api-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:28px}.api-actions .btn{min-height:42px}.api-directory{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#cbd1ed;border-top:1px solid #cbd1ed}.api-product{display:flex;min-height:145px;flex-direction:column;padding:20px;background:#f8f9ff}.api-product:hover{background:#fff}.api-product small{color:#6974ad;font:700 9px var(--mono);letter-spacing:.11em;text-transform:uppercase}.api-product strong{margin:20px 0 6px;font:400 18px/1.15 var(--serif)}.api-product span{color:#697086;font-size:11px;line-height:1.5}.api-product code{margin-top:auto;padding-top:13px;color:#343f82;font:9px var(--mono)}
@media(max-width:900px){.api-directory{grid-template-columns:1fr 1fr}}
@media(max-width:500px){.api-directory{grid-template-columns:1fr}.api-actions{align-items:stretch;flex-direction:column}.api-actions a{width:100%}}

/* -------------------------------------------------------------------------
 * Integration fixes, carried forward from the previous build. Each was
 * measured before and after. See CHANGES.md 2026-08-19 (7) and (8).
 * ---------------------------------------------------------------------- */

/* Page-scoped type. Declared on the template's body class, not :root, so this
   file cannot restyle another page even if it were ever loaded there. */
.pf-hv3{
	--serif:'Iowan Old Style',Baskerville,'Palatino Linotype',Palatino,Georgia,serif;
	--sans:-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif;
	--mono:'SFMono-Regular',Consolas,monospace;
}

/* Pricing clarity and interaction semantics. Static editorial panels stay
   still; only controls and links respond to hover/focus. */
.pf-hv3 .textlink{transition:color .16s ease,border-color .16s ease}
.pf-hv3 .textlink:hover,.pf-hv3 .textlink:focus-visible{color:#151D65;border-bottom-color:currentColor}
.pf-hv3 .plan{min-height:390px}
.pf-hv3 .plan-limits{display:grid;gap:4px;margin:6px 0 12px;padding:12px 0;border-top:1px solid #D9DAE0;border-bottom:1px solid #D9DAE0}
.pf-hv3 .plan-limits strong{font:700 12px/1.35 var(--sans)}
.pf-hv3 .plan-limits span{color:var(--muted);font:500 10px/1.45 var(--mono)}
.pf-hv3 .plan.featured .plan-limits{border-color:#30384E}
.pf-hv3 .plan.featured .plan-limits span{color:#AEB4CA}

/* Customer-facing information architecture: Product is the public suite;
   API Platform remains the named developer destination inside it. */
.pf-v3-mega-company{right:-22px;width:min(430px,calc(100vw - 48px))}
.pf-v3-company-grid{display:grid;grid-template-columns:1fr;padding:12px}

/* Nothing here may reach into the shared mega-nav. */
header, header *{ font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif; }
header code, header kbd{ font-family:'SFMono-Regular',Consolas,monospace; }

/* .feature overran the viewport by 8px between 768 and 1439. */
.feature{ max-width:100%; box-sizing:border-box; }
main, .wrap{ overflow-x:clip; }

/* .big sets tracking in absolute px, inherited unchanged by the 10px label
   nested inside it, which mashed the word together. */
.big{ letter-spacing:-.05em; }
.big > *{ letter-spacing:.08em; }

/* Contrast, scoped per surface — these classes appear on both dark and light
   grounds, so a single value cannot satisfy AA in both. */
.feature-no{ color:#5D6272; padding-inline-start:clamp(0px,2vw,20px); }
.ledger .feature:first-child .feature-no{ color:#9BA4D6; }
.plan small, .price span{ color:#5D6272; }
.plan.featured small, .plan.featured .price span{ color:#AAB2D8; }
.status{ background:#28337D; color:#EEF0FA; padding:3px 7px; border-radius:3px; }
.code .comment, .comment{ color:#8B95CC; }

/* -------------------------------------------------------------------------
 * Footer, rebuilt to sit inside the page's own system rather than beside it.
 * The design's footer used a different type scale and a tighter grid than every
 * other section, which is why it read as a bolted-on block.
 * ---------------------------------------------------------------------- */
.footer{ background:var(--ink,#0A0C14); color:#C8CCE0; border-top:1px solid rgba(255,255,255,.08); }
.footer .wrap{ padding-top:clamp(52px,6vw,76px); padding-bottom:32px; }

.footer-grid{
	display:grid; gap:clamp(28px,4vw,56px);
	grid-template-columns:1.5fr repeat(4,1fr); align-items:start;
}
@media (max-width:1080px){ .footer-grid{ grid-template-columns:1.4fr repeat(2,1fr); } }
@media (max-width:760px){ .footer-grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:560px){ .footer-grid{ grid-template-columns:1fr; } }

.footer-brand .brand{ display:inline-block; margin-bottom:16px; }
.footer-brand p{
	margin:0; max-width:34ch; color:#8B95CC;
	font:15px/1.65 var(--sans); letter-spacing:normal;
}

/* Column headings match the section eyebrows used through the page. */
.footer h4,.footer .footer-heading{
	margin:0 0 14px; color:#6E7488;
	font:700 10.5px/1 var(--mono); letter-spacing:.14em; text-transform:uppercase;
}
.footer-grid a{
	display:block; margin-bottom:10px; color:#C8CCE0;
	font:15px/1.5 var(--sans); text-decoration:none; transition:color .14s;
}
.footer-grid a:hover{ color:#FFFFFF; }

.footer-social{ display:flex; gap:10px; margin:36px 0 0; }
.footer-social a{
	width:32px; height:32px; display:grid; place-items:center; border-radius:4px;
	border:1px solid rgba(255,255,255,.10); color:#8B95CC; transition:color .16s,border-color .16s;
}
.footer-social a:hover{ color:#EEF0FA; border-color:rgba(255,255,255,.28); }
.footer-social svg{ width:16px; height:16px; }

.legal{
	display:flex; flex-wrap:wrap; gap:8px 22px; align-items:center;
	margin-top:34px; padding-top:22px; border-top:1px solid rgba(255,255,255,.08);
	color:#9AA1BE; font:12.5px/1.6 var(--sans);
}
.legal a{ color:#9AA1BE; text-decoration:none; }
.legal a:hover{ color:#EEF0FA; }
.legal span:nth-child(2){ margin-right:auto; }

/* -------------------------------------------------------------------------
 * Cookie Policy — V3 legal document shell.
 *
 * Complianz continues to own the policy copy, cookie inventory and consent
 * controls. Every presentation rule is body-scoped so no other legal or product
 * page inherits this treatment.
 * ---------------------------------------------------------------------- */
.pf-cookie-policy{background:var(--paper);color:var(--text)}
.pf-cookie-policy main,.pf-cookie-policy .wrap{overflow:visible}
.pf-cookie-hero{position:relative;overflow:hidden;background:#0a0c14;color:#f4f4f7;border-bottom:1px solid #283047}
.pf-cookie-hero:after{content:"";position:absolute;right:-9%;bottom:-75%;width:580px;height:580px;border-radius:50%;background:radial-gradient(circle,rgba(93,106,184,.15),rgba(93,106,184,0) 69%);pointer-events:none}
.pf-cookie-hero-inner{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.62fr);gap:clamp(36px,8vw,112px);align-items:end;padding-top:clamp(72px,8vw,112px);padding-bottom:clamp(64px,7vw,94px)}
.pf-cookie-hero .eyebrow{color:#aeb6ee}
.pf-cookie-hero h1{max-width:9ch;margin:0;font:400 clamp(56px,8vw,94px)/.92 var(--serif);letter-spacing:-.045em}
.pf-cookie-hero-inner>p{max-width:54ch;margin:0 0 7px;color:#bec4d6;font:400 clamp(16px,1.7vw,19px)/1.7 var(--sans)}
.pf-cookie-main{padding:clamp(62px,8vw,112px) 0 clamp(88px,10vw,148px);background:#f6f5f0}
.pf-cookie-layout{display:grid;grid-template-columns:270px minmax(0,820px);gap:clamp(42px,8vw,104px);justify-content:center;align-items:start}
.pf-cookie-rail{position:sticky;top:96px;padding:26px 0 0;border-top:1px solid #aeb4c5}
.pf-cookie-rail-label{margin:0 0 18px;color:#3f4b89;font:700 10px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase}
.pf-cookie-rail h2{max-width:10ch;margin:0 0 14px;font:400 30px/1.03 var(--serif);letter-spacing:-.03em}
.pf-cookie-rail>p:not(.pf-cookie-rail-label){margin:0 0 23px;color:#656b7d;font:14px/1.65 var(--sans)}
.pf-cookie-preference-button{display:flex;align-items:center;justify-content:center;width:100%;min-height:46px;padding:11px 14px;border:1px solid #28337d;border-radius:3px;background:#28337d;color:#fff;font:650 13px/1.2 var(--sans);cursor:pointer;text-align:center;transition:background .16s,border-color .16s,transform .16s}
.pf-cookie-preference-button:hover{background:#151d65;border-color:#151d65;transform:translateY(-1px)}
.pf-cookie-preference-button:focus-visible{outline:3px solid #7b86c4;outline-offset:3px}
.pf-cookie-rail nav{display:grid;gap:0;margin-top:26px;border-top:1px solid #d5d6dc}
.pf-cookie-rail nav a{display:flex;justify-content:space-between;gap:15px;padding:13px 0;border-bottom:1px solid #d5d6dc;color:#40475a;font:600 12px/1.35 var(--sans);transition:color .15s,padding-left .15s}
.pf-cookie-rail nav a:hover,.pf-cookie-rail nav a:focus-visible{padding-left:4px;color:#28337d}
.pf-cookie-document{min-width:0;padding:clamp(30px,5vw,62px);border:1px solid #d5d6dc;background:#fff;box-shadow:10px 12px 0 #e5e7f2}
.pf-cookie-policy #cmplz-document{max-width:none!important;margin:0!important;color:#3f4557;font:15.5px/1.78 var(--sans)}
.pf-cookie-policy #cmplz-document>p:first-child{margin:0 0 36px;padding:0 0 22px;border-bottom:1px solid #dfe0e5;color:#666d81;font-size:13px}
.pf-cookie-policy #cmplz-document h2{margin:54px 0 16px;padding:0 0 13px;border-bottom:1px solid #dfe0e5;color:#141722;font:400 clamp(29px,3vw,38px)/1.08 var(--serif);letter-spacing:-.025em}
.pf-cookie-policy #cmplz-document h2:first-of-type{margin-top:0}
.pf-cookie-policy #cmplz-document h3{margin:33px 0 11px;color:#1f2432;font:650 18px/1.3 var(--sans);letter-spacing:-.01em}
.pf-cookie-policy #cmplz-document h4{margin:22px 0 8px;color:#252b3b;font:650 14px/1.35 var(--sans)}
.pf-cookie-policy #cmplz-document h5{margin:0;color:#686f82;font:700 10px/1.35 var(--mono);letter-spacing:.08em;text-transform:uppercase}
.pf-cookie-policy #cmplz-document p{margin:0 0 18px}
.pf-cookie-policy #cmplz-document a{color:#28337d;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.pf-cookie-policy #cmplz-document a:hover{color:#151d65;text-decoration-thickness:2px}
.pf-cookie-policy #cmplz-document ul{display:grid;gap:9px;margin:10px 0 24px;padding-left:22px}
.pf-cookie-policy #cmplz-cookies-overview{margin:22px 0 34px}
.pf-cookie-policy .cmplz-dropdown-cookiepolicy{overflow:hidden;border:1px solid #cfd2dc;border-radius:3px;background:#fafaff}
.pf-cookie-policy .cmplz-service-header{padding:19px 20px;cursor:pointer;transition:background .16s}
.pf-cookie-policy .cmplz-service-header:hover{background:#f0f2ff}
.pf-cookie-policy .cmplz-service-header h3{margin:0!important;font-size:16px!important}
.pf-cookie-policy .cmplz-service-header p{margin:4px 0 0!important;color:#687088;font-size:12px}
.pf-cookie-policy .cmplz-service-description,.pf-cookie-policy .cmplz-sharing-data{padding:0 20px}
.pf-cookie-policy .cookies-per-purpose{display:grid!important;grid-template-columns:minmax(110px,.65fr) minmax(0,1.35fr)!important;margin-top:18px;border-top:1px solid #d9dce5}
.pf-cookie-policy .cookies-per-purpose>div{min-width:0;padding:11px 14px;border-right:1px solid #e1e3e9;border-bottom:1px solid #e1e3e9;overflow-wrap:anywhere}
.pf-cookie-policy #cmplz-manage-consent-container-nojavascript{padding:13px 15px;border-left:3px solid #7b86c4;background:#f0f2ff;color:#4c5368;font-size:13px}
.pf-cookie-policy #cmplz-manage-consent-container{margin:14px 0 26px}
.pf-cookie-policy #cmplz-manage-consent-container .cmplz-manage-consent{position:static!important;display:inline-flex!important;width:auto!important;min-height:44px!important;padding:11px 15px!important;border:1px solid #28337d!important;border-radius:3px!important;background:#28337d!important;color:#fff!important;box-shadow:none!important;font:650 13px/1.2 var(--sans)!important}
.pf-cookie-policy .footer .wrap{overflow:visible}
@media(max-width:900px){.pf-cookie-hero-inner{grid-template-columns:1fr;gap:26px}.pf-cookie-hero-inner>p{max-width:64ch}.pf-cookie-layout{grid-template-columns:1fr}.pf-cookie-rail{position:static;display:grid;grid-template-columns:1fr 1fr;gap:16px 30px;padding-top:22px}.pf-cookie-rail-label,.pf-cookie-rail h2{grid-column:1/-1}.pf-cookie-rail>p:not(.pf-cookie-rail-label){margin:0}.pf-cookie-rail nav{margin-top:0}.pf-cookie-document{box-shadow:7px 8px 0 #e5e7f2}}
@media(max-width:600px){.pf-cookie-hero-inner{padding-top:54px;padding-bottom:56px}.pf-cookie-hero h1{font-size:clamp(48px,16vw,66px)}.pf-cookie-hero-inner>p{font-size:15px;line-height:1.65}.pf-cookie-main{padding-top:42px}.pf-cookie-layout{gap:38px}.pf-cookie-rail{grid-template-columns:1fr}.pf-cookie-rail-label,.pf-cookie-rail h2{grid-column:auto}.pf-cookie-document{padding:25px 20px;box-shadow:5px 6px 0 #e5e7f2}.pf-cookie-policy #cmplz-document{font-size:14.5px;line-height:1.72}.pf-cookie-policy #cmplz-document h2{margin-top:44px;font-size:29px}.pf-cookie-policy .cookies-per-purpose{grid-template-columns:1fr!important}.pf-cookie-policy .cookies-per-purpose>div{border-right:0}}
@media print{.pf-cookie-policy .pf-v3-header,.pf-cookie-policy .pf-cookie-hero,.pf-cookie-policy .pf-cookie-rail,.pf-cookie-policy .footer,.pf-cookie-policy #cmplz-manage-consent-container{display:none!important}.pf-cookie-policy .pf-cookie-main{padding:0;background:#fff}.pf-cookie-policy .pf-cookie-layout{display:block;width:100%}.pf-cookie-policy .pf-cookie-document{padding:0;border:0;box-shadow:none}}

/* -------------------------------------------------------------------------
 * Contrast, revised-mock pass. The new detection-suite section ships its UI
 * mock labels just under the AA floor, and my own footer heading colour was
 * also short. Measured against each element's real background.
 * ---------------------------------------------------------------------- */

/* numbered steps on cream (was 1.97:1) */
.step b{ color:#6E7488; }

/* #assurance kickers on the pale tint (was 4.25:1) */
#assurance small{ color:#4A5382; }

/* my own footer column headings on #0A0C14 (was 4.20:1) */
.footer h4,.footer .footer-heading{ color:#8B95CC; }




/* -------------------------------------------------------------------------
 * #originality — UI-mock label contrast.
 *
 * Measured, after two wrong guesses. The suite cards are dark, but the product
 * mock-ups *inside* them sit on white / #F7F7F4, so their labels need to go
 * darker, not lighter. Every failing element is on a light ground; the only
 * text on a dark ground is .suite-status ("Coming soon"), which is excluded.
 * ---------------------------------------------------------------------- */
#originality .ai-label,
#originality .suite-card small,
#originality .suite-card span:not(.suite-status):not(.image-signal){ color:#5A6070; }

/* Keep the v3 section-label token authoritative over contextual paragraph rules. */
.pf-hv3 .eyebrow{
  margin:0 0 16px;
  max-width:none;
  color:var(--deep);
  font:700 10px/1.2 var(--mono);
  letter-spacing:.125em;
}
.pf-hv3 .eyebrow.light{ color:#A8B0DF; }
.pf-hv3 .hero-stage .eyebrow{ white-space:nowrap; }

/* .image-readout is a dark overlay panel (rgba(10,12,20,.92)) sitting inside the
   image card, so its signal labels are the one place in this section that needs
   LIGHT text. The rule above would otherwise darken them onto a dark ground. */
#originality .suite-card .image-readout span,
#originality .suite-card .image-readout small,
#originality .suite-card .image-signal{ color:#C8CCE0; }

/* Homepage v3 launch-polish overrides. Kept at the end of this v3-only
   stylesheet so no existing Proofademic page inherits the audience layout. */
@media (min-width:1001px){
  .solutions{ grid-template-columns:repeat(4,1fr); }
  .solution{ padding-inline:24px; }
  .solution h3{ font-size:24px; }
}
@media (max-width:1000px) and (min-width:761px){
  .solution:last-of-type{ grid-column:auto; }
}
.enterprise-stats span{ color:#b3bce8; font-size:10px; }
@media (max-width:760px){
  .section{ padding:clamp(58px,14vw,78px) 0; }
  .footer{ padding-top:44px; }
  .footer-grid{ gap:30px; }
}
@media (min-width:361px) and (max-width:560px){
  .footer-grid{ grid-template-columns:1fr 1fr; }
  .footer-grid>div:first-child{ grid-column:1/-1!important; }
}
@media (max-width:500px){
  .code{ white-space:pre-wrap; overflow-wrap:anywhere; word-break:break-word; }
}

/* -------------------------------------------------------------------------
 * V3 header and mega navigation: opaque, grouped and intentionally quiet.
 * ---------------------------------------------------------------------- */
.pf-v3-header{
  position:sticky; top:0; z-index:200;
  background:#0A0C14; color:#EEF0FA;
  border-bottom:1px solid #242C40;
}
.pf-v3-nav-inner{
  width:min(calc(100% - 36px),1240px); height:60px; margin:auto;
  display:flex; align-items:center; gap:clamp(16px,2.4vw,34px);
}
.pf-v3-nav-brand{ display:flex; align-items:center; flex:none; }
.pf-v3-nav-brand img{ display:block; width:auto; max-width:166px; height:32px; object-fit:contain; }
.pf-v3-desktop-nav{ display:flex; align-items:stretch; flex:1; min-width:0; height:60px; }
.pf-v3-menu{ position:relative; display:flex; align-items:stretch; }
.pf-v3-nav-trigger,.pf-v3-nav-direct{
  display:inline-flex; align-items:center; gap:7px; height:60px; padding:0 12px;
  border:0; background:none; color:#C8CCE0;
  font:500 13.5px/1 var(--sans); white-space:nowrap; cursor:pointer;
  transition:color .15s,background-color .15s;
}
.pf-v3-nav-trigger:hover,.pf-v3-nav-direct:hover{ color:#FFFFFF; background:#101522; }
.pf-v3-nav-trigger svg{ width:10px; height:10px; fill:none; stroke:#8B95CC; stroke-width:1.8; transition:transform .2s; }
.pf-v3-mega{
  position:absolute; top:60px; z-index:2;
  overflow:hidden; background:#0D111C;
  border:1px solid #2B344A; border-radius:6px;
  box-shadow:0 26px 54px rgba(0,0,0,.48);
  opacity:0; visibility:hidden; pointer-events:none; transform:translateY(-3px);
  transition:opacity .14s,transform .16s,visibility .16s;
}
.pf-v3-mega-platform{ left:-124px; width:min(940px,calc(100vw - 48px)); }
.pf-v3-mega-solutions{ left:-148px; width:min(700px,calc(100vw - 48px)); }
.pf-v3-mega-resources{ left:-258px; width:min(700px,calc(100vw - 48px)); }
.pf-v3-mega-title{
  min-height:48px; padding:0 18px; display:flex; align-items:center; justify-content:space-between; gap:20px;
  border-bottom:1px solid #252D40; background:#0A0E18;
}
.pf-v3-mega-title>span,.pf-v3-mega-group>p{
  margin:0; color:#98A2D6; font:700 10px/1.2 var(--mono);
  letter-spacing:.125em; text-transform:uppercase;
}
.pf-v3-mega-title>a{ color:#D8DDF4; font:700 12px/1 var(--sans); }
.pf-v3-mega-actions{ display:flex; align-items:center; gap:9px; }
.pf-v3-mega-actions a{ color:#D8DDF4; font:700 11.5px/1 var(--sans); white-space:nowrap; }
.pf-v3-mega-actions .pf-v3-mega-secondary{ padding:8px 2px; }
.pf-v3-mega-actions .pf-v3-mega-primary{
  padding:8px 10px; border:1px solid #3A4664; border-radius:3px;
  background:#151B2A; color:#FFFFFF;
}
.pf-v3-mega-actions .pf-v3-mega-primary:hover,
.pf-v3-mega-actions .pf-v3-mega-primary:focus-visible{ border-color:#6876A7; background:#1B2234; }
.pf-v3-platform-grid{ display:grid; grid-template-columns:1fr .92fr 1.08fr; }
.pf-v3-mega-group{ min-width:0; padding:16px; border-left:1px solid #252D40; }
.pf-v3-mega-group:first-child{ border-left:0; }
.pf-v3-mega-group.is-developer{ background:#0F1420; }
.pf-v3-mega-group>p{ padding:0 8px 9px; }
.pf-v3-card-grid{ display:grid; grid-template-columns:1fr 1fr; padding:12px; }
.pf-v3-mega-link{
  position:relative; min-width:0; display:flex; align-items:flex-start; gap:11px; padding:10px;
  color:inherit; border:1px solid transparent; border-radius:5px;
  transition:background-color .14s,border-color .14s,transform .14s;
}
.pf-v3-mega-link:hover,.pf-v3-mega-link:focus-visible{
  background:#171D2C; border-color:#252F45; transform:translateX(2px);
}
.pf-v3-nav-code{
  width:32px; height:32px; flex:none; display:grid; place-items:center;
  border:1px solid #303A52; border-radius:7px;
  background:#111725; color:#AAB3E5;
  transition:color .14s,border-color .14s,background-color .14s;
}
.pf-v3-nav-icon{
  width:18px; height:18px; display:block; fill:none; stroke:currentColor;
  stroke-width:1.55; stroke-linecap:round; stroke-linejoin:round;
}
.pf-v3-nav-icon .pf-v3-icon-accent{ stroke:#7886D2; }
.pf-v3-mega-link:hover .pf-v3-nav-code,.pf-v3-mega-link:focus-visible .pf-v3-nav-code{
  border-color:#52618B; background:#161D2E; color:#D4D9FA;
}
.pf-v3-mega-link:hover strong,.pf-v3-mega-link:focus-visible strong{ color:#FFFFFF; }
.pf-v3-mega-link>span:last-child{ min-width:0; }
.pf-v3-mega-link strong{ display:flex; align-items:center; gap:7px; color:#EEF0FA; font:650 13px/1.3 var(--sans); }
.pf-v3-mega-link strong small{
  padding:3px 5px; border:1px solid #3A4562; border-radius:2px;
  color:#ABB4E5; font:700 8px/1 var(--mono); letter-spacing:.08em; text-transform:uppercase;
}
.pf-v3-mega-link em{ display:block; margin-top:3px; color:#9AA2BF; font:400 11.5px/1.4 var(--sans); font-style:normal; }
.pf-v3-mega-callout{
  min-height:46px; padding:0 18px; display:flex; align-items:center; justify-content:space-between; gap:20px;
  border-top:1px solid #252D40; background:#101522; color:#AEB5D0; font-size:12px;
}
.pf-v3-mega-callout a{ color:#FFFFFF; font-weight:700; }
.pf-v3-nav-actions{ display:flex; align-items:center; gap:7px; flex:none; }
.pf-v3-signin,.pf-v3-sales,.pf-v3-start{
  min-height:40px; display:inline-flex; align-items:center; justify-content:center;
  padding:0 13px; border-radius:3px; color:#C8CCE0; font:600 13px/1 var(--sans); white-space:nowrap;
}
.pf-v3-sales{ border:1px solid #303A52; }
.pf-v3-start{ background:#EEF0FA; color:#0A0C14; padding-inline:15px; }
.pf-v3-signin:hover,.pf-v3-sales:hover{ color:#FFFFFF; }
.pf-v3-sales:hover{ border-color:#56617F; }
.pf-v3-start:hover{ background:#FFFFFF; }
/* homepage-v2.js owns shared header visibility and writes inline-block. Restore
   flex centering only at the widths where those controls are meant to show. */
.pf-v3-signin,.pf-v3-sales{ display:none; }
@media(min-width:720px){ .pf-v3-signin{ display:inline-flex!important; } }
@media(min-width:900px){ .pf-v3-sales{ display:inline-flex!important; } }
.pf-v3-burger{
  display:none; width:44px; height:44px; place-items:center; align-items:center; justify-content:center; padding:0;
  border:1px solid #303A52; border-radius:3px; background:transparent; color:#D8DCEF; cursor:pointer;
}
.pf-v3-burger svg{ width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; }
.pf-v3-burger svg{ transition:transform .18s cubic-bezier(.22,1,.36,1); }
.pf-v3-burger[aria-expanded="true"] svg{ transform:rotate(90deg); }
body.pf-v3-menu-open{ overflow:hidden; }
.pf-v3-mobile-sheet{
  display:none; overflow:hidden;
  border-top:1px solid #252D40; background:#0D111C;
}
.pf-v3-mobile-layout{
  height:calc(100vh - 61px); height:calc(100dvh - 61px);
  min-height:0; display:flex; flex-direction:column;
}
.pf-v3-mobile-scroll{
  min-height:0; flex:1 1 auto; overflow-y:auto; overscroll-behavior:contain;
  scrollbar-width:thin; scrollbar-color:#46516F transparent;
}
.pf-v3-mobile-accordion{
  width:min(calc(100% - 36px),680px); margin:0 auto;
  padding:10px 0 28px;
}
.pf-v3-mobile-section{ margin:0; border-bottom:1px solid #252D40; }
.pf-v3-mobile-trigger,.pf-v3-mobile-direct{
  width:100%; min-height:64px; display:flex; align-items:center; justify-content:space-between; gap:20px;
  padding:0 3px; border:0; background:transparent; color:#E6E9F5;
  font:600 17px/1.2 var(--sans); text-align:left; text-decoration:none; cursor:pointer;
  touch-action:manipulation; transition:color .15s,background-color .15s;
}
.pf-v3-mobile-direct{ border-bottom:1px solid #252D40; }
.pf-v3-mobile-trigger svg{
  width:16px; height:16px; flex:none; fill:none; stroke:#9AA5DD; stroke-width:1.6;
  stroke-linecap:round; stroke-linejoin:round; transition:transform .18s cubic-bezier(.22,1,.36,1);
}
.pf-v3-mobile-trigger[aria-expanded="true"]{ color:#FFFFFF; }
.pf-v3-mobile-trigger[aria-expanded="true"] svg{ transform:rotate(180deg); }
.pf-v3-mobile-panel[hidden]{ display:none; }
.pf-v3-mobile-panel-inner{ padding:1px 3px 18px; }
.pf-v3-mobile-panel-inner>a{
  min-height:44px; display:flex; align-items:center; padding:9px 12px;
  color:#BEC5DD; font:500 14px/1.4 var(--sans); border-left:1px solid #303A52;
  touch-action:manipulation; transition:color .15s,background-color .15s,border-color .15s;
}
.pf-v3-mobile-group+ .pf-v3-mobile-group{ margin-top:14px; }
.pf-v3-mobile-group>p{
  margin:0; padding:8px 12px 7px; color:#8792CC;
  font:700 10px/1.2 var(--mono); letter-spacing:.13em; text-transform:uppercase;
}
.pf-v3-mobile-group>a{
  min-height:42px; display:flex; align-items:center; padding:8px 12px;
  color:#BEC5DD; font:500 14px/1.4 var(--sans); border-left:1px solid #303A52;
  touch-action:manipulation; transition:color .15s,background-color .15s,border-color .15s;
}
.pf-v3-mobile-group .pf-v3-mobile-key{ color:#FFFFFF; font-weight:700; }
.pf-v3-mobile-actions{
  width:min(100%,716px); flex:0 0 auto; align-self:center;
  display:grid; grid-template-columns:1fr 1fr; gap:10px;
  padding:12px 18px max(12px,env(safe-area-inset-bottom));
  border-top:1px solid #2A3348; background:#0A0C14;
  box-shadow:0 -14px 30px rgba(0,0,0,.28);
}
.pf-v3-mobile-actions a{
  min-height:48px; display:flex; align-items:center; justify-content:center;
  border:1px solid #3A4560; border-radius:3px;
  color:#E7EAF6; font:700 14px/1 var(--sans); text-decoration:none;
  touch-action:manipulation; transition:background-color .15s,border-color .15s,color .15s;
}
.pf-v3-mobile-actions .pf-v3-mobile-start{ border-color:#EEF0FA; background:#EEF0FA; color:#0A0C14; }
@media(hover:hover){
  .pf-v3-mobile-trigger:hover,.pf-v3-mobile-direct:hover{ color:#FFFFFF; background:#111725; }
  .pf-v3-mobile-panel-inner>a:hover,.pf-v3-mobile-group>a:hover{ color:#FFFFFF; border-left-color:#7884C6; background:#111725; }
  .pf-v3-mobile-actions .pf-v3-mobile-signin:hover{ border-color:#69759A; background:#121826; color:#FFFFFF; }
  .pf-v3-mobile-actions .pf-v3-mobile-start:hover{ border-color:#FFFFFF; background:#FFFFFF; }
}
.pf-v3-mobile-trigger:focus-visible,.pf-v3-mobile-direct:focus-visible,
.pf-v3-mobile-panel-inner>a:focus-visible,.pf-v3-mobile-group>a:focus-visible,
.pf-v3-mobile-actions a:focus-visible{ outline:2px solid #AEB7ED; outline-offset:2px; }

@media(prefers-reduced-motion:reduce){
  .pf-v3-nav-trigger svg,.pf-v3-mega,.pf-v3-mega-link,.pf-v3-nav-code,.pf-v3-burger svg,.pf-v3-mobile-trigger svg{ transition:none!important; }
  .pf-v3-mega-link:hover,.pf-v3-mega-link:focus-visible{ transform:none; }
}

/* CTA cadence: high-intent buttons at conversion moments, text links elsewhere. */
.section-actions{ display:flex; align-items:center; gap:18px; flex-wrap:wrap; margin-top:30px; }
.process+.section-actions{ justify-content:center; margin-top:34px; }
.textlink-light{ color:#E3E6F7; border-bottom-color:#65709D; }
.textlink-light:hover{ color:#FFFFFF; border-bottom-color:#AEB6E8; }
.enterprise-copy .section-actions{ margin-top:28px; }
.batch .section-actions{ margin-top:25px; }
.dark-intro .section-actions{ margin-top:25px; }

/* Footer: tighter desktop rhythm, real touch targets and social ownership. */
@media(min-width:1081px){ .pf-hv3 .footer-grid{ grid-template-columns:1.75fr repeat(5,minmax(0,1fr)); gap:32px; } }
.pf-hv3 .footer-grid>div:not(.footer-brand){ display:grid; align-content:start; gap:7px; min-width:0; }
.pf-hv3 .footer .footer-grid>div:not(.footer-brand)>a{
  display:flex; align-items:center; min-height:25px; margin:0; padding:2px 0;
  color:#C8CCE0; font:400 14px/1.5 var(--sans);
}
.pf-hv3 .footer h4,.pf-hv3 .footer .footer-heading{ margin:0 0 7px; }
.pf-hv3 .footer-social{ display:flex; flex-wrap:wrap; gap:9px; margin:24px 0 0; }
.pf-hv3 .footer-social a{
  width:40px; height:40px; margin:0; padding:0; display:grid; place-items:center;
  border:1px solid #2D354A; border-radius:3px; color:#A6AFDF;
}
.pf-hv3 .footer-social svg{ display:block; width:18px; height:18px; }
.pf-hv3 .footer-social a[aria-label$="Facebook"] svg,
.pf-hv3 .footer-social a[aria-label$="TikTok"] svg{ width:17px; height:17px; }

@media(max-width:1139px){
  .pf-v3-desktop-nav{ display:none; }
  .pf-v3-burger{ display:grid; }
}
@media(min-width:761px) and (max-width:1080px){
  .pf-hv3 .footer-grid>div:last-child{ display:grid; }
}
@media(max-width:760px){
  .pf-v3-nav-inner{ width:min(calc(100% - 28px),1240px); }
  .pf-v3-nav-brand img{ max-width:132px; height:28px; }
  .pf-v3-nav-actions{ gap:6px; margin-left:auto; }
  .pf-v3-start{ min-height:40px; height:40px; }
  .pf-v3-burger{ min-height:44px; height:44px; }
  .pf-v3-start{ padding-inline:13px; font-size:12px; }
  .pf-v3-mobile-accordion{ width:min(calc(100% - 28px),680px); }
  .pf-v3-mobile-actions{ padding-inline:14px; }
  .section-actions{ align-items:flex-start; }
  .pf-hv3 .footer-grid{ grid-template-columns:1fr 1fr; gap:34px 18px; }
  .pf-hv3 .footer-grid>.footer-brand{ grid-column:1/-1!important; }
  .pf-hv3 .footer .footer-grid>div:not(.footer-brand)>a{ min-height:40px; padding:7px 0; font-size:13.5px; }
  .pf-hv3 .footer-social a{ width:44px; height:44px; }
}
@media(max-width:360px){
  .pf-v3-nav-brand img{ max-width:118px; }
  .pf-v3-start{ padding-inline:11px; font-size:11.5px; }
  .pf-v3-mobile-trigger,.pf-v3-mobile-direct{ min-height:60px; font-size:16px; }
  .pf-v3-mobile-actions{ gap:8px; padding-inline:12px; }
  .pf-v3-mobile-actions a{ min-height:46px; font-size:13.5px; }
  .pf-hv3 .footer-grid{ grid-template-columns:1fr 1fr; }
  .pf-hv3 .footer .footer-grid>div:not(.footer-brand)>a{ font-size:13px; overflow-wrap:anywhere; }
  .closing h2{ font-size:42px; }
}

/* Final heading rhythm: preserve the editorial scale while giving long copy
   enough measure to wrap as phrases instead of isolated words. */
.closing h2{
  max-width:18ch;
  font-size:clamp(42px,5vw,68px);
  line-height:.98;
}
@media(min-width:1001px){
  #coverage .split{
    grid-template-columns:1.05fr .95fr;
    gap:clamp(60px,7vw,96px);
  }
}
@media(max-width:900px){
  .closing-inner{ grid-template-columns:1fr; align-items:start; }
  .closing-actions{ margin-top:8px; }
}

/* The API directory introduction is a true section heading. Match the existing
   editorial treatment after promoting it from H3 to the correct H2 level. */
.api-copy h2{
  max-width:18ch; margin:0 0 16px;
  font:400 clamp(30px,3vw,42px)/1.05 var(--serif);
  letter-spacing:-.032em;
}

/* Desktop hero fold: keep the positioning statement and standfirst compact so
   the live detector is visibly interactive in the first viewport. */
@media(min-width:1001px){
  .hero-stage{ padding-top:82px; }
  .hero-stage h1{
    font-size:clamp(56px,5vw,72px);
    white-space:nowrap;
  }
  .hero-stage h1 span{ display:inline; }
  .hero-stage .lede{ max-width:86ch; }
}

/* The rounded live product should read as a discrete object, not fuse with the
   evidence strip that follows it. The iframe owns its internal spacing; the
   WordPress page owns this separation between page sections. */
.detector-shell.live-embed{ margin-bottom:clamp(32px,3.5vw,52px); }
@media(max-width:820px){
  .detector-shell.live-embed iframe{ height:900px; }
}
@media(min-width:821px){
  .detector-shell.live-embed iframe{ height:560px; }
}
@media(min-width:821px) and (max-height:950px){
  .detector-shell.live-embed iframe{ height:500px; }
}

/* -------------------------------------------------------------------------
 * Homepage motion system.
 *
 * Motion explains product state rather than decorating every section. These
 * rules are activated only after JS adds .hv3-motion-ready; without JS every
 * artifact remains visible. Each observed sequence runs once and settles.
 * ---------------------------------------------------------------------- */
@property --hv3-score-angle{
  syntax:'<angle>';
  inherits:false;
  initial-value:0deg;
}

/* Interactive affordances: hover and keyboard focus communicate the same
   state. FAQ rows stay flat—no card lift or shadow on an accordion. */
.pf-hv3 .faq-button{
  padding-inline:12px;
  transition:background-color .16s ease,color .16s ease;
}
.pf-hv3 .faq-button:hover,
.pf-hv3 .faq-button:focus-visible,
.pf-hv3 .faq-button[aria-expanded=true]{
  background:#EEF0F8;
  color:var(--deep);
}
.pf-hv3 .faq-button:focus-visible{ outline:2px solid var(--peri); outline-offset:2px; }
.pf-hv3 .faq-button span:last-child{
  transition:transform .2s cubic-bezier(.22,1,.36,1),color .16s ease,background-color .16s ease;
}
.pf-hv3 .faq-button:hover span:last-child,
.pf-hv3 .faq-button:focus-visible span:last-child{ color:var(--deep); background:#E2E6F8; }
.pf-hv3 .faq-answer>div{ padding-inline:12px; }

.pf-hv3 .api-product{ transition:background-color .15s ease; }
.pf-hv3 .api-product code{ transition:transform .15s cubic-bezier(.22,1,.36,1),color .15s ease; }
.pf-hv3 .api-product:hover,
.pf-hv3 .api-product:focus-visible{ background:#FFF; }
.pf-hv3 .api-product:hover code,
.pf-hv3 .api-product:focus-visible code{ color:var(--deep); transform:translateX(3px); }

.pf-hv3 .insight-card:focus-visible{
  transform:translateY(-3px);
  box-shadow:0 18px 36px rgba(15,20,32,.1);
}
.pf-hv3 .insight-card img{ transition:transform .22s cubic-bezier(.22,1,.36,1); }
.pf-hv3 .insight-card:hover img,
.pf-hv3 .insight-card:focus-visible img{ transform:scale(1.012); }

/* Suite: four different product states, not four copies of one card reveal. */
.pf-hv3.hv3-motion-ready .ai-suite-ui,
.pf-hv3.hv3-motion-ready .image-inspector,
.pf-hv3.hv3-motion-ready .plagiarism-ui,
.pf-hv3.hv3-motion-ready .grammar-ui,
.pf-hv3.hv3-motion-ready #coverage .board,
.pf-hv3.hv3-motion-ready #batch .cohort{
  opacity:0;
  transform:translateY(12px);
  transition:opacity .38s ease,transform .38s cubic-bezier(.22,1,.36,1);
}
.pf-hv3.hv3-motion-ready .ai-suite-ui.is-inview,
.pf-hv3.hv3-motion-ready .image-inspector.is-inview,
.pf-hv3.hv3-motion-ready .plagiarism-ui.is-inview,
.pf-hv3.hv3-motion-ready .grammar-ui.is-inview,
.pf-hv3.hv3-motion-ready #coverage .board.is-inview,
.pf-hv3.hv3-motion-ready #batch .cohort.is-inview{
  opacity:1;
  transform:none;
}

.pf-hv3 .ai-ring{
  --hv3-score-angle:259.2deg;
  background:conic-gradient(var(--blue) var(--hv3-score-angle),#E0E2E8 0);
}
.pf-hv3.hv3-motion-ready .ai-suite-ui .ai-ring{
  --hv3-score-angle:0deg;
  transition:--hv3-score-angle .54s .14s cubic-bezier(.22,1,.36,1);
}
.pf-hv3.hv3-motion-ready .ai-suite-ui.is-inview .ai-ring{ --hv3-score-angle:259.2deg; }
.pf-hv3.hv3-motion-ready .ai-suite-ui mark,
.pf-hv3.hv3-motion-ready .plagiarism-ui mark{
  background-color:transparent;
  background-position:left center;
  background-repeat:no-repeat;
  background-size:0 100%;
  transition:background-size .4s .18s cubic-bezier(.22,1,.36,1);
}
.pf-hv3.hv3-motion-ready .ai-suite-ui mark{ background-image:linear-gradient(#E0E5FF,#E0E5FF); }
.pf-hv3.hv3-motion-ready .plagiarism-ui mark{ background-image:linear-gradient(#F3DDD7,#F3DDD7); }
.pf-hv3.hv3-motion-ready .ai-suite-ui.is-inview mark,
.pf-hv3.hv3-motion-ready .plagiarism-ui.is-inview mark{ background-size:100% 100%; }
.pf-hv3.hv3-motion-ready .ai-suite-ui .ai-flag{
  opacity:0;
  transform:translateY(6px);
  transition:opacity .26s .3s ease,transform .26s .3s cubic-bezier(.22,1,.36,1);
}
.pf-hv3.hv3-motion-ready .ai-suite-ui .ai-flag.human{ transition-delay:.38s; }
.pf-hv3.hv3-motion-ready .ai-suite-ui.is-inview .ai-flag{ opacity:1; transform:none; }

.pf-hv3.hv3-motion-ready .image-inspector::before{
  content:'';
  position:absolute;
  z-index:3;
  left:0;
  right:0;
  top:0;
  height:1px;
  opacity:0;
  background:#B8C1F3;
  box-shadow:0 0 14px rgba(184,193,243,.7);
}
.pf-hv3.hv3-motion-ready .image-inspector.is-inview::before{ animation:hv3-scan-pass .72s .12s ease-out both; }
@keyframes hv3-scan-pass{
  0%{ opacity:0; transform:translateY(24px); }
  18%{ opacity:.8; }
  82%{ opacity:.6; }
  100%{ opacity:0; transform:translateY(270px); }
}
.pf-hv3.hv3-motion-ready .image-inspector .image-signal i::after{
  transform:scaleX(0);
  transform-origin:left center;
  transition:transform .34s cubic-bezier(.22,1,.36,1);
}
.pf-hv3.hv3-motion-ready .image-inspector .image-signal:nth-child(2) i::after{ transition-delay:.26s; }
.pf-hv3.hv3-motion-ready .image-inspector .image-signal:nth-child(3) i::after{ transition-delay:.32s; }
.pf-hv3.hv3-motion-ready .image-inspector .image-signal:nth-child(4) i::after{ transition-delay:.38s; }
.pf-hv3.hv3-motion-ready .image-inspector.is-inview .image-signal i::after{ transform:scaleX(1); }

.pf-hv3.hv3-motion-ready .plagiarism-ui .source,
.pf-hv3.hv3-motion-ready .grammar-ui .grammar-suggestions span{
  opacity:0;
  transform:translateY(6px);
  transition:opacity .27s .27s ease,transform .27s .27s cubic-bezier(.22,1,.36,1);
}
.pf-hv3.hv3-motion-ready .plagiarism-ui .source.low,
.pf-hv3.hv3-motion-ready .grammar-ui .grammar-suggestions span:nth-child(2){ transition-delay:.35s; }
.pf-hv3.hv3-motion-ready .plagiarism-ui.is-inview .source,
.pf-hv3.hv3-motion-ready .grammar-ui.is-inview .grammar-suggestions span{ opacity:1; transform:none; }

/* Coverage: the report enters as one object; the bars then resolve in order. */
.pf-hv3.hv3-motion-ready #coverage .metric .bar i{
  transform:scaleX(0);
  transform-origin:left center;
  transition:transform .34s cubic-bezier(.22,1,.36,1);
}
.pf-hv3.hv3-motion-ready #coverage .metric:nth-child(3) .bar i{ transition-delay:.14s; }
.pf-hv3.hv3-motion-ready #coverage .metric:nth-child(4) .bar i{ transition-delay:.20s; }
.pf-hv3.hv3-motion-ready #coverage .metric:nth-child(5) .bar i{ transition-delay:.26s; }
.pf-hv3.hv3-motion-ready #coverage .metric:nth-child(6) .bar i{ transition-delay:.32s; }
.pf-hv3.hv3-motion-ready #coverage .board.is-inview .metric .bar i{ transform:scaleX(1); }

/* Workflow: a small stagger establishes sequence without delaying reading. */
.pf-hv3.hv3-motion-ready #how .process .step{
  opacity:0;
  transform:translateY(9px);
  transition:opacity .3s ease,transform .3s cubic-bezier(.22,1,.36,1);
}
.pf-hv3.hv3-motion-ready #how .process .step:nth-child(1){ transition-delay:.03s; }
.pf-hv3.hv3-motion-ready #how .process .step:nth-child(2){ transition-delay:.09s; }
.pf-hv3.hv3-motion-ready #how .process .step:nth-child(3){ transition-delay:.15s; }
.pf-hv3.hv3-motion-ready #how .process .step:nth-child(4){ transition-delay:.21s; }
.pf-hv3.hv3-motion-ready #how .process.is-inview .step{ opacity:1; transform:none; }
.pf-hv3.hv3-motion-ready #how .process .tiny{
  transform:scaleX(0);
  transform-origin:left center;
  transition:transform .28s .2s cubic-bezier(.22,1,.36,1);
}
.pf-hv3.hv3-motion-ready #how .process.is-inview .tiny{ transform:scaleX(1); }

/* Batch Scan: queue order appears once; the active state receives one cue. */
.pf-hv3.hv3-motion-ready #batch .cohort-row{
  opacity:0;
  transform:translateY(7px);
  transition:opacity .26s ease,transform .26s cubic-bezier(.22,1,.36,1),background-color .3s ease;
}
.pf-hv3.hv3-motion-ready #batch .cohort-row:nth-child(2){ transition-delay:.06s; }
.pf-hv3.hv3-motion-ready #batch .cohort-row:nth-child(3){ transition-delay:.11s; }
.pf-hv3.hv3-motion-ready #batch .cohort-row:nth-child(4){ transition-delay:.16s; }
.pf-hv3.hv3-motion-ready #batch .cohort-row:nth-child(5){ transition-delay:.21s; }
.pf-hv3.hv3-motion-ready #batch .cohort-row:nth-child(6){ transition-delay:.26s; }
.pf-hv3.hv3-motion-ready #batch .cohort.is-inview .cohort-row{ opacity:1; transform:none; }
.pf-hv3.hv3-motion-ready #batch .cohort.is-inview .cohort-row:last-child{ animation:hv3-queue-cue .62s .34s ease-out both; }
@keyframes hv3-queue-cue{
  0%{ background:transparent; }
  46%{ background:#161D31; }
  100%{ background:transparent; }
}

@media(max-width:760px){
  .pf-hv3.hv3-motion-ready #how .process .step{ transform:translateY(7px); }
}

@media(prefers-reduced-motion:reduce){
  .pf-hv3 *{ animation:none!important; transition:none!important; }
  .pf-hv3.hv3-motion-ready .ai-suite-ui,
  .pf-hv3.hv3-motion-ready .image-inspector,
  .pf-hv3.hv3-motion-ready .plagiarism-ui,
  .pf-hv3.hv3-motion-ready .grammar-ui,
  .pf-hv3.hv3-motion-ready #coverage .board,
  .pf-hv3.hv3-motion-ready #batch .cohort,
  .pf-hv3.hv3-motion-ready #how .process .step,
  .pf-hv3.hv3-motion-ready .ai-suite-ui .ai-flag,
  .pf-hv3.hv3-motion-ready .plagiarism-ui .source,
  .pf-hv3.hv3-motion-ready .grammar-ui .grammar-suggestions span,
  .pf-hv3.hv3-motion-ready #batch .cohort-row{ opacity:1!important; transform:none!important; }
  .pf-hv3.hv3-motion-ready .ai-suite-ui .ai-ring{ --hv3-score-angle:259.2deg; }
  .pf-hv3.hv3-motion-ready .ai-suite-ui mark,
  .pf-hv3.hv3-motion-ready .plagiarism-ui mark{ background-size:100% 100%; }
  .pf-hv3.hv3-motion-ready .image-inspector .image-signal i::after,
  .pf-hv3.hv3-motion-ready #coverage .metric .bar i,
  .pf-hv3.hv3-motion-ready #how .process .tiny{ transform:none!important; }
}
