@font-face{font-family:'Funnel Display';src:url('/fonts/FunnelDisplay-VF.ttf') format('truetype');font-weight:300 800;font-display:swap}
@font-face{font-family:Geist;src:url('/fonts/Geist-VF.ttf') format('truetype');font-weight:100 900;font-display:swap}
:root{color-scheme:dark;--ground:#000;--ink:#fff;--panel:#0a0a0c;--body:rgba(255,255,255,.72);--muted:rgba(255,255,255,.62);--quiet:rgba(255,255,255,.55);--rule:rgba(255,255,255,.09);--border:rgba(255,255,255,.18);--tag-warning:#f7c873;--tag-warning-ground:#302516;--tag-warning-edge:#69502b;--tag-review:#c6baff;--tag-review-ground:#211b35;--tag-review-edge:#514570;--finding-attention:#f4a19b;--field-ground:#080808;--report-inset:clamp(24px,4vw,48px);--house-ease:cubic-bezier(.22,1,.36,1)}
*{box-sizing:border-box}
html{background:var(--ground);scroll-behavior:smooth;scrollbar-color:rgba(255,255,255,.3) var(--ground)}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
.lenis.lenis-stopped{overflow:hidden}
#main:focus{outline:none}
body{margin:0;background:var(--ground);color:var(--ink);font-family:Geist,system-ui,sans-serif;font-size:17px;line-height:1.6;letter-spacing:-.01em}
::selection{background:rgba(255,255,255,.24);color:var(--ink)}
a{color:inherit;text-underline-offset:4px}
button,input{font:inherit;letter-spacing:inherit}
button,a,input{-webkit-tap-highlight-color:transparent}
:focus-visible{outline:2px solid var(--ink);outline-offset:5px}
[hidden]{display:none!important}
p,h1,h2,h3{margin:0}
p{text-wrap:pretty}
h1,h2,h3{font-family:'Funnel Display',Geist,system-ui,sans-serif;font-weight:500;text-wrap:balance}
h1{max-width:20ch;font-size:clamp(40px,5.6vw,88px);line-height:1.02;letter-spacing:-.04em}
h2{font-size:clamp(36px,4.6vw,72px);line-height:1.05;letter-spacing:-.035em}
h3{font-size:clamp(22px,2.2vw,30px);line-height:1.15;letter-spacing:-.03em}
.wrap{width:calc(100% - 2 * clamp(24px,6vw,96px));max-width:1100px;margin-inline:auto}
.skip-link{position:fixed;z-index:10;top:12px;left:24px;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;background:var(--ink);color:var(--ground);border-radius:999px}
.skip-link:focus{width:auto;height:auto;padding:10px 20px;overflow:visible;clip-path:none}
.atmosphere{position:absolute;z-index:0;inset:14px 14px auto;height:680px;max-height:90vh;overflow:hidden;border-radius:50px 50px 0 0;pointer-events:none;background:var(--ground)}
.atmosphere canvas{width:100%;height:100%;display:block;opacity:0;transition:opacity .8s ease}
.atmosphere-fade{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(0,0,0,.18),rgba(0,0,0,.46) 24%,rgba(0,0,0,.78) 62%,#000 96%)}
.landing-header{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:30px}
.brand{display:inline-flex;align-items:center;gap:16px;font-size:14px;font-weight:500;text-decoration:none;white-space:nowrap}
.brand img{display:block;width:47px;height:auto}
.header-wordmark{min-height:44px}
.header-wordmark img{width:164px;height:auto}
.ghost-button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:44px;padding:0 20px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.03);color:rgba(255,255,255,.8);border-radius:999px;font-size:14px;text-decoration:none;transition:border-color .25s ease,background .25s ease,color .25s ease}
.ghost-button:hover{border-color:rgba(255,255,255,.3);background:rgba(255,255,255,.07);color:var(--ink)}
main{position:relative;z-index:1}
.hero{padding-top:140px;padding-bottom:112px}
.lede{max-width:50ch;margin-top:30px;font-size:clamp(16px,1.3vw,19px);color:var(--muted);line-height:1.6}
#scan-form{max-width:780px;margin-top:42px}
.field-label{display:block;margin-bottom:12px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--quiet)}
.scan-controls{display:flex;gap:14px;align-items:center}
.input-wrap{position:relative;flex:1;min-width:0}
.globe{position:absolute;left:22px;top:50%;transform:translateY(-50%);color:var(--quiet);pointer-events:none}
input{width:100%;height:56px;padding:0 22px 0 55px;border:1px solid rgba(255,255,255,.14);border-radius:999px;background:var(--field-ground);color:var(--ink);caret-color:var(--ink);font-size:16px;transition:border-color .25s ease,background .25s ease}
input::placeholder{color:var(--quiet);opacity:1}
input:focus{outline:none}
html[data-keyboard-focus] input:focus{border-color:rgba(255,255,255,.5)}
input:is(:autofill,:-webkit-autofill){-webkit-text-fill-color:var(--ink);caret-color:var(--ink);box-shadow:inset 0 0 0 1000px var(--field-ground)}
input[aria-invalid=true]{border-color:rgba(255,255,255,.6)}
input:disabled{opacity:.55}
.pk-button{position:relative;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:184px;min-height:52px;overflow:hidden;border-radius:999px;border:1px solid var(--border);background:var(--ground);color:var(--ink);text-decoration:none;text-align:center;font-size:15px;font-weight:600;line-height:1.4;cursor:pointer}
.scan-button{width:224px;height:56px}
.button-label{position:relative;z-index:2;display:inline-block;transform:translateX(4px);transition:transform .3s ease,opacity .3s ease}
.button-reveal{position:absolute;z-index:2;inset:0;display:flex;align-items:center;justify-content:center;gap:15px;padding-left:25px;color:var(--ground);transform:translateX(48px);opacity:0;transition:transform .3s ease,opacity .3s ease}
.button-dot{position:absolute;z-index:1;top:50%;left:24px;width:8px;height:8px;background:var(--ink);border-radius:8px;transform:translateY(-50%);transition:width .3s ease,height .3s ease,left .3s ease,transform .3s ease}
.pk-button:where(:hover,:focus-visible):not(:disabled) .button-label{opacity:0;transform:translateX(48px)}
.pk-button:where(:hover,:focus-visible):not(:disabled) .button-reveal{opacity:1;transform:translateX(-4px)}
.pk-button:where(:hover,:focus-visible):not(:disabled) .button-dot{left:0;width:100%;height:100%;transform:translateY(-50%) scale(1.8)}
.pk-button:disabled{cursor:wait;opacity:.55}
.scan-note{margin-top:16px;color:var(--quiet);font-size:12px;line-height:1.7}
.scan-note a{text-decoration-color:rgba(255,255,255,.3)}
.form-error,.no-script{margin-top:20px;max-width:62ch;font-size:15px;color:var(--body)}
.scan-status{display:flex;align-items:center;gap:12px;margin-top:22px;font-size:14px;color:var(--body)}
.loading-mark{width:8px;height:8px;flex-shrink:0;border-radius:50%;background:var(--ink);animation:scan-pulse 1.8s ease infinite}
.text-button{border:0;padding:8px 6px;margin-left:auto;background:none;color:var(--body);font-size:13px;text-decoration:underline;text-underline-offset:4px;cursor:pointer}
.results{scroll-margin-top:32px;padding:0 0 128px}
.results:focus{outline:none}
.results:focus-visible{outline:1px solid rgba(255,255,255,.4);outline-offset:12px;border-radius:28px}
.report-panel{animation:result-in .7s var(--house-ease);padding:var(--report-inset);border:1px solid rgba(255,255,255,.14);border-radius:28px;background:var(--panel)}
.result-overview{display:grid;grid-template-columns:minmax(270px,.85fr) minmax(0,1.3fr);gap:48px;align-items:center}
.score-value{display:flex;align-items:baseline;gap:18px;font-family:'Funnel Display',Geist,sans-serif;font-size:clamp(100px,12vw,164px);line-height:1;letter-spacing:-.04em;font-weight:500;font-variant-numeric:tabular-nums}
.score-max{font-family:Geist,system-ui,sans-serif;font-size:22px;letter-spacing:-.01em;color:var(--quiet)}
.result-site{font-size:14px;overflow-wrap:anywhere;color:var(--body);margin-bottom:14px}
.result-summary h2{font-size:clamp(32px,3.3vw,48px);max-width:20ch}
.result-summary>p:not(.result-site){font-size:16px;color:var(--muted);margin-top:18px}
.findings{margin-top:48px}
.findings>h3{margin-bottom:24px;font-size:22px}
.finding-row{display:grid;grid-template-columns:1fr 1.3fr;gap:12px 48px;padding:24px 0;border-top:1px solid var(--rule)}
.finding-row h4{font-family:'Funnel Display',Geist,sans-serif;font-size:23px;letter-spacing:-.02em;font-weight:500;line-height:1.2;margin:0}
.finding-row p{font-size:15px;color:var(--body);max-width:56ch}
.finding-details{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:12px}
.finding-count{font-size:12px;color:var(--quiet)}
.finding-tag{display:inline-flex;align-items:center;gap:6px;min-height:30px;padding:4px 10px;border:1px solid var(--tag-review-edge);border-radius:999px;background:var(--tag-review-ground);color:var(--tag-review);font-size:12px;font-weight:500;line-height:1.6;text-decoration:none;transition:border-color .25s ease}
.finding-tag--warning{color:var(--tag-warning);background:var(--tag-warning-ground);border-color:var(--tag-warning-edge)}
.finding-tag svg{flex-shrink:0}
.finding-tag:hover{border-color:currentColor}
@media(pointer:coarse){.finding-tag{min-height:44px;padding-block:10px}}
.report-note{font-size:13px;color:var(--quiet);margin-top:16px}
.additional-note{display:flex;align-items:flex-start;gap:10px;padding-top:20px;margin-top:4px;border-top:1px solid var(--rule);font-size:14px;font-weight:500;line-height:1.6;color:var(--finding-attention)}
.additional-note svg{flex-shrink:0;margin-top:2px}
.result-next{animation:result-in .8s var(--house-ease);display:flex;justify-content:space-between;align-items:center;gap:32px;margin-top:24px;padding:8px 8px 0}
.result-next>p{max-width:55ch;font-size:16px;color:var(--body)}
.context{display:flex;flex-direction:column;gap:48px;padding-top:30px;padding-bottom:144px}
.section-intro{display:flex;flex-direction:column;gap:24px}
.section-intro h2{font-size:clamp(34px,3.5vw,54px)}
.section-intro p{font-size:16px;color:var(--muted);max-width:65ch}
.explanation-list{width:100%}
.explanation-row>div{display:grid;grid-template-columns:1fr 1.3fr;gap:48px}
.explanation-row{display:grid;grid-template-columns:24px minmax(0,1fr);gap:24px;padding:28px 0;border-top:1px solid var(--rule);align-items:start}
.explanation-row svg{color:var(--body);margin-top:2px}
.explanation-row h3{font-size:26px}
.explanation-row p{font-size:16px;color:var(--muted);max-width:65ch}
.closing{padding-top:64px;padding-bottom:144px;border-top:1px solid var(--rule)}
.closing h2{max-width:19ch;font-size:clamp(38px,5.4vw,84px);line-height:1.02;letter-spacing:-.04em}
.closing-details{display:flex;flex-direction:column;align-items:flex-start;gap:24px;margin-top:32px}
.closing-details>p{max-width:60ch;color:var(--muted);font-size:17px}
.blur-word{display:inline-block;white-space:pre}
.landing-footer{display:flex;align-items:center;gap:28px;min-height:116px;padding-block:24px;border-top:1px solid var(--rule);color:var(--quiet);font-size:12px}
.landing-footer p{margin-right:auto}
.landing-footer>a:last-child{text-decoration:none}
@keyframes scan-pulse{0%,100%{opacity:.35}50%{opacity:1}}
@keyframes result-in{from{opacity:.5;filter:blur(6px);transform:translateY(12px)}to{opacity:1;filter:blur(0);transform:translateY(0)}}
@media(max-width:960px){.explanation-row>div{gap:32px}.result-overview{gap:32px}}
@media(min-width:721px) and (max-width:860px){.result-overview{grid-template-columns:1fr;gap:24px}.score-value{font-size:128px}.section-intro h2{font-size:38px}}
@media(max-width:720px){
  .landing-header{padding-top:32px;width:calc(100% - 64px)}.brand{gap:12px}.header-wordmark img{width:56px;height:auto;aspect-ratio:489 / 228}.ghost-button{padding-inline:16px;font-size:12px;gap:8px}
  .hero{padding-top:94px;padding-bottom:88px}.lede{margin-top:24px;max-width:39ch}#scan-form{margin-top:32px}
  .scan-controls{flex-direction:column;align-items:stretch;gap:12px}.scan-button{width:100%}.input-wrap{width:100%}.scan-note{font-size:12px;max-width:40ch}
  .result-overview,.finding-row,.explanation-row>div{grid-template-columns:1fr;gap:16px}
  .result-overview{gap:24px}.result-summary h2{max-width:23ch;font-size:32px}.result-next{align-items:flex-start;flex-direction:column;gap:24px;padding:0;margin-top:24px}
  .results{padding-bottom:96px}.report-panel{padding:24px;border-radius:24px}.findings{margin-top:32px}.finding-row{padding-block:24px}.score-value{font-size:112px;gap:14px}
  .context{padding-top:18px;padding-bottom:96px;gap:36px}.section-intro{gap:24px}.explanation-row{padding-block:24px;gap:20px}.explanation-row h3{font-size:24px}
  .closing{padding-top:48px;padding-bottom:88px}.closing-details{margin-top:28px}.landing-footer{gap:18px;min-height:96px}.atmosphere{height:520px;border-radius:34px 34px 0 0}
}
@media(max-width:380px){.ghost-button{min-height:44px}h1{font-size:36px}.hero{padding-top:80px}.report-panel{padding:20px}.score-value{font-size:96px;gap:12px}.score-max{font-size:18px}.landing-footer{gap:14px;font-size:11px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
