:root{
  --paper:#f4f3ed; --paper-2:#ecebe3; --card:#ffffff; --ink:#0b0e13; --ink-2:#161c26;
  --muted:#5c6675; --faint:#8b94a3; --line:#e2e0d4; --line-dark:#232b38;
  --lime:#cdfb50; --lime-deep:#a8e02e; --dark:#0b0e13; --dark-panel:#121825;
  --red:#e5484d; --amber:#e79d13; --green:#1f9d55;
  --max:1200px; --radius:20px;
  --font-sans:"Inter",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  --font-serif:"Instrument Serif",Georgia,serif;
  color-scheme:light;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-sans);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
::selection{background:var(--ink);color:var(--lime)}
a{color:inherit}
h1,h2,h3,h4,p{margin-top:0}
.serif{font-family:var(--font-serif);font-style:italic;font-weight:400;letter-spacing:-.01em}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.grain{position:fixed;inset:0;pointer-events:none;z-index:60;opacity:.5;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .05 0'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)'/%3E%3C/svg%3E")}
.wrap{max-width:var(--max);margin:0 auto;padding:0 28px}
/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:999px;font-weight:700;text-decoration:none;border:1px solid transparent;cursor:pointer;font-size:15px;padding:14px 24px;transition:transform .18s ease,box-shadow .18s ease,background .18s ease;white-space:nowrap}
.btn:hover{transform:translateY(-1px)}
.btn:active{transform:translateY(0)}
.btn-dark{background:var(--ink);color:#fff}
.btn-dark:hover{background:#1d2532;box-shadow:0 12px 30px rgba(11,14,19,.22)}
.btn-lime{background:var(--lime);color:var(--ink);box-shadow:0 10px 30px rgba(160,220,40,.35)}
.btn-lime:hover{background:var(--lime-deep)}
.btn-ghost{background:transparent;border-color:var(--line);color:var(--ink)}
.btn-ghost:hover{border-color:var(--ink)}
.btn-sm{padding:10px 18px;font-size:13.5px}
.btn-lg{padding:18px 34px;font-size:17px}
/* Nav */
.nav{position:sticky;top:0;z-index:50;background:rgba(244,243,237,.82);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}
.nav-inner{max-width:var(--max);margin:auto;padding:0 28px;height:72px;display:flex;align-items:center;gap:28px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-weight:800;letter-spacing:-.02em;font-size:17px}
.brand-word em{font-style:normal;background:var(--ink);color:var(--lime);border-radius:7px;padding:1px 7px;margin-left:6px;font-size:13px;letter-spacing:.02em}
.brand-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:var(--ink);color:var(--lime)}
.nav-links{display:flex;gap:26px;margin-left:12px}
.nav-links a{text-decoration:none;font-size:14px;font-weight:600;color:var(--muted);white-space:nowrap}
.nav-links a:hover{color:var(--ink)}
.nav-actions{margin-left:auto;display:flex;align-items:center;gap:14px}
.nav-actions>a.nav-ghost{display:none}
.nav-ghost{font-size:12px;font-weight:700;color:var(--muted);text-decoration:none;border:1px solid var(--line);padding:7px 12px;border-radius:999px;background:#fff;white-space:nowrap}
.auth-nav{display:flex;align-items:center;gap:8px}
.nav-auth-button{font:inherit;font-size:12px;font-weight:700;color:var(--muted);border:0;background:transparent;padding:7px 4px;cursor:pointer;white-space:nowrap}
.nav-auth-button:hover{color:var(--ink)}
.nav-burger{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:8px}
.nav-burger span{width:22px;height:2px;background:var(--ink);border-radius:2px}
.nav-mobile{display:none}
/* Hero */
.hero{position:relative;background:radial-gradient(1100px 500px at 50% -8%,#e7f5c2 0%,transparent 60%),var(--paper);overflow:hidden;border-bottom:1px solid var(--line)}
.hero-inner{max-width:var(--max);margin:auto;padding:84px 28px 30px;display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center}
.pill{display:inline-flex;align-items:center;gap:9px;background:#fff;border:1px solid var(--line);border-radius:999px;padding:8px 15px;font-size:12.5px;font-weight:700;letter-spacing:.02em;box-shadow:0 6px 20px rgba(0,0,0,.05)}
.pulse{width:8px;height:8px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 0 rgba(34,197,94,.5);animation:pulse 2s infinite}
@keyframes pulse{70%{box-shadow:0 0 0 9px rgba(34,197,94,0)}100%{box-shadow:0 0 0 0 rgba(34,197,94,0)}}
.hero h1{font-size:clamp(44px,5.6vw,76px);line-height:.98;letter-spacing:-.05em;font-weight:800;margin:22px 0 18px}
.hero h1 .serif{font-size:1.06em}
.lede{font-size:18px;color:var(--muted);max-width:56ch}
.scan-form{margin-top:26px}
.scan-field{display:flex;gap:8px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:8px;box-shadow:0 24px 60px rgba(11,14,19,.12)}
.scan-lock{display:grid;place-items:center;width:48px;color:var(--faint)}
.scan-field input{flex:1;min-width:0;border:0;outline:0;font:inherit;font-size:16px;background:transparent;color:var(--ink)}
.form-error{color:var(--red);font-size:14px;min-height:20px;margin:10px 2px 0}
.progress{margin-top:14px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px 16px}
.progress-row{display:flex;justify-content:space-between;font-size:13px;font-weight:600}
.track{height:8px;background:var(--paper-2);border-radius:99px;margin-top:10px;overflow:hidden}
.track i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--ink),#3a4a2a 60%,var(--lime-deep));border-radius:99px;transition:width .5s ease}
.trust-row{display:flex;align-items:center;gap:10px;margin-top:16px;font-size:13px;font-weight:600;color:var(--muted)}
.trust-row i{font-style:normal;color:var(--faint)}
.hero-stats{display:grid;grid-template-columns:repeat(4,auto);gap:28px;margin:30px 0 0;padding:22px 0 0;border-top:1px dashed var(--line);justify-content:start}
.hero-stats dt{font-size:30px;font-weight:800;letter-spacing:-.04em}
.hero-stats dd{margin:0;font-size:12.5px;color:var(--muted)}
/* Hero visual */
.hero-visual{display:flex;justify-content:center;min-width:0}
.hero-inner>*{min-width:0}
.browser-card{position:relative;width:100%;max-width:480px;min-width:0;background:var(--dark);color:#eef2f6;border-radius:22px;box-shadow:0 40px 100px rgba(11,14,19,.35);border:1px solid #1e2635;transform:rotate(1.2deg)}
.browser-bar{display:flex;align-items:center;gap:12px;padding:13px 16px;border-bottom:1px solid #1e2635;font-size:12px;border-radius:22px 22px 0 0;overflow:hidden;background:var(--dark)}
.dots{display:flex;gap:6px}.dots i{width:10px;height:10px;border-radius:50%;background:#2a3446;display:block}
.dots i:first-child{background:#ff5f57}.dots i:nth-child(2){background:#febc2e}.dots i:nth-child(3){background:#28c840}
.browser-url{flex:1;background:#1a2231;border-radius:8px;padding:6px 12px;color:#9fb0c5;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.browser-live{color:#7dff9b;font-weight:700;font-size:11px}
.browser-body{padding:22px;border-radius:0 0 22px 22px;overflow:hidden;background:var(--dark)}
.mini-score{display:flex;gap:16px;align-items:center;background:var(--dark-panel);border:1px solid #222c3f;border-radius:16px;padding:16px}
.mini-ring{--score:86;width:84px;height:84px;flex:0 0 84px;border-radius:50%;display:grid;place-content:center;text-align:center;background:radial-gradient(circle closest-side,#121825 74%,transparent 75%),conic-gradient(var(--lime) calc(var(--score)*1%),#263049 0)}
.mini-ring strong{font-size:24px;line-height:1}.mini-ring span{font-size:10px;color:#8b94a3}
.mini-score b{font-size:15px}.mini-score p{margin:4px 0 0;color:#8b94a3;font-size:12px}
.mini-bars{margin-top:16px;display:grid;gap:10px}
.mini-bars>div{display:grid;grid-template-columns:110px 1fr 30px;align-items:center;gap:10px;font-size:12px;color:#aeb9cb}
.mini-bars i{background:#222c3f;border-radius:99px;height:7px;display:block;overflow:hidden}
.mini-bars em{display:block;height:100%;background:linear-gradient(90deg,var(--lime),#7ddf6a);border-radius:99px}
.mini-bars b{color:#fff;text-align:right}
.mini-findings{margin-top:16px;display:grid;gap:8px}
.mini-finding{display:flex;align-items:center;gap:10px;background:#141b29;border:1px solid #222c3f;border-radius:12px;padding:10px 12px;font-size:12px}
.mini-finding b{font-size:10px;text-transform:uppercase;letter-spacing:.08em;padding:4px 8px;border-radius:99px}
.mini-finding.bad b{background:#3a1d20;color:#ff9d9d}.mini-finding.good b{background:#16352a;color:#7dffb0}.mini-finding.warn b{background:#3a2f17;color:#ffd37f}
.mini-finding span{flex:1;color:#dbe3ef}.mini-finding em{color:#8b94a3;font-style:normal}
.browser-float{position:absolute;background:var(--lime);color:var(--ink);font-size:12px;font-weight:800;padding:9px 14px;border-radius:999px;box-shadow:0 14px 30px rgba(0,0,0,.3);z-index:2;max-width:220px}
.browser-float.f1{top:38%;right:-14px;transform:rotate(3deg)}
.browser-float.f2{bottom:18px;left:-14px;transform:rotate(-3deg);background:#fff}
/* Marquee */
.marquee{border-top:1px solid var(--line);background:#fff;overflow:hidden;padding:14px 0;margin-top:44px}
.marquee-track{display:flex;gap:34px;width:max-content;animation:scroll 26s linear infinite;font-weight:800;font-size:13px;text-transform:uppercase;letter-spacing:.14em;color:var(--muted)}
.marquee-track span{display:flex;align-items:center;gap:34px}
.marquee-track span::after{content:"✦";color:var(--lime-deep)}
@keyframes scroll{to{transform:translateX(-50%)}}
/* Sections */
.section{padding:110px 0}
.section-dark{background:var(--dark);color:#eef1f5}
.section-head{max-width:760px;margin-bottom:54px}
.section-head h2{font-size:clamp(34px,4vw,56px);line-height:1.02;letter-spacing:-.045em;margin:14px 0 14px}
.section-head p{color:var(--muted);font-size:17px;margin:0}
.section-dark .section-head p{color:#9aa5b6}
.eyebrow{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.18em;color:var(--ink)}
.eyebrow.lime{color:var(--lime)}
.section-dark .eyebrow{color:var(--lime)}
.pillar-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.pillar{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:28px;transition:transform .2s ease,box-shadow .2s ease}
.pillar:hover{transform:translateY(-4px);box-shadow:0 24px 50px rgba(11,14,19,.1)}
.pillar-top{display:flex;justify-content:space-between;align-items:center}
.pillar-num{font-size:12px;font-weight:800;letter-spacing:.14em;color:var(--faint)}
.pillar-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:var(--ink);color:var(--lime);font-size:18px}
.pillar h3{font-size:21px;letter-spacing:-.02em;margin:26px 0 8px}
.pillar p{font-size:14.5px;color:var(--muted);margin:0 0 16px}
.pillar ul{list-style:none;margin:0;padding:14px 0 0;border-top:1px solid var(--line);font-size:12.5px;font-weight:600;color:var(--ink)}
.pillar ul li{padding:3px 0}.pillar ul li::before{content:"✓ ";color:var(--green)}
.trio{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:34px}
.trio b{color:var(--lime);font-size:13px;text-transform:uppercase;letter-spacing:.12em}
.trio p{color:#aeb7c6;margin:8px 0 0;font-size:15px}
.sample-card{background:#fff;color:var(--ink);border-radius:22px;padding:30px;max-width:860px}
.sample-head{display:flex;gap:10px;align-items:center;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;margin-bottom:14px}
.status{padding:5px 10px;border-radius:99px;background:#eef1f5}
.status.fail,.fail .status{background:#fbe3e3;color:#b4232a}
.status.pass,.pass .status{background:#dcf5e3;color:#137a46}
.status.review,.review .status{background:#fdf0d3;color:#8a5d00}
.status.opportunity,.opportunity .status{background:#e6efff;color:#2454a6}
.status.unknown,.unknown .status{background:#e8ebf0;color:#5c6675}
.severity,.points{color:var(--muted)}
.points{margin-left:auto}
.sample-card h3{font-size:22px;letter-spacing:-.02em;margin:0 0 10px}
.sample-card .evidence{color:var(--muted);font-size:14px}
.sample-fix{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:16px;margin-top:16px;font-size:14px}
.sample-fix b{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.1em;margin-bottom:6px}
/* Split / steps */
.split{display:grid;grid-template-columns:1fr 1.1fr;gap:70px;align-items:center}
.split.reverse{direction:rtl}.split.reverse>*{direction:ltr}
.split h2{font-size:clamp(32px,3.6vw,50px);letter-spacing:-.045em;line-height:1.05;margin:14px 0 14px}
.split p{color:var(--muted)}
.split .btn{margin-top:18px}
.steps{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.steps li{display:flex;gap:20px;background:var(--card);border:1px solid var(--line);border-radius:18px;padding:24px}
.steps b{font-size:13px;color:var(--lime-deep);background:var(--ink);height:fit-content;padding:6px 10px;border-radius:9px}
.steps strong{display:block;font-size:17px;margin-bottom:4px}
.steps span{color:var(--muted);font-size:14.5px}
/* Exports */
.chip-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.chip-row span{background:var(--ink);color:var(--lime);font-family:ui-monospace,Menlo,monospace;font-size:12.5px;padding:8px 14px;border-radius:999px}
.export-card{background:var(--dark);color:#dbe3ef;border-radius:22px;padding:0;overflow:hidden;border:1px solid #1e2635}
.export-head{display:flex;gap:7px;padding:16px 20px;border-bottom:1px solid #1e2635}
.export-head span{width:11px;height:11px;border-radius:50%;background:#2a3446;display:block}
.export-card pre{margin:0;padding:24px;font-family:ui-monospace,Menlo,monospace;font-size:13px;line-height:1.7;overflow:auto}
.export-card pre:focus-visible{outline:2px solid #cdff50;outline-offset:-2px}
.export-card p{padding:0 24px 24px;color:#8b94a3;font-size:13px;margin:0}
/* FAQ */
.faq{max-width:820px;display:grid;gap:12px}
.faq details{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:20px 24px}
.faq summary{cursor:pointer;font-weight:700;font-size:16px;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";float:right;font-weight:400;color:var(--faint)}
.faq details[open] summary::after{content:"–"}
.faq p{color:var(--muted);margin:12px 0 0;font-size:15px}
/* CTA */
.cta-wrap{padding-top:0}
.cta-panel{background:var(--dark);color:#fff;border-radius:28px;padding:clamp(36px,5vw,70px);display:flex;align-items:center;justify-content:space-between;gap:30px;position:relative;overflow:hidden}
.cta-panel::before{content:"";position:absolute;width:560px;height:560px;right:-160px;top:-200px;background:radial-gradient(circle,rgba(205,251,80,.28),transparent 65%)}
.cta-panel h2{font-size:clamp(32px,4vw,54px);letter-spacing:-.045em;line-height:1;margin:14px 0 12px}
.cta-panel p{color:#9aa5b6;margin:0}
/* Footer */
.footer{background:var(--paper);border-top:1px solid var(--line);padding:70px 0 30px}
.footer-inner{max-width:var(--max);margin:auto;padding:0 28px}
.footer-top{max-width:420px;margin-bottom:40px}
.footer-tag{color:var(--muted);font-size:14px;margin:14px 0 0}
.footer-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;padding:30px 0;border-top:1px solid var(--line)}
.footer-grid h3{font-size:12px;text-transform:uppercase;letter-spacing:.14em;color:#566171;margin:0 0 14px}
.footer-grid a{display:block;text-decoration:none;font-size:14px;font-weight:600;padding:5px 0}
.footer-grid a:hover{text-decoration:underline}
.footer-muted{color:#566171;font-size:13px}
.footer-bottom{display:flex;justify-content:space-between;gap:14px;padding-top:24px;border-top:1px solid var(--line);font-size:12.5px;color:var(--muted)}
/* Responsive page captures */
.shot{margin:26px 0 0;background:linear-gradient(145deg,#fff 0%,#f6f7f9 100%);border:1px solid var(--line);border-radius:22px;padding:clamp(24px,3.4vw,40px);overflow:hidden}
.shot-copy{display:flex;align-items:end;justify-content:space-between;gap:36px;margin-bottom:30px}
.shot-copy>*{min-width:0}
.shot-copy h2{font-size:clamp(28px,3.4vw,44px);letter-spacing:-.045em;margin:12px 0 10px}
.shot-copy p{color:var(--muted);font-size:15px;max-width:66ch;margin-bottom:0}
.shot-meta{display:grid;grid-template-columns:repeat(3,auto);gap:26px;justify-content:end;flex:0 0 auto}
.shot-meta b{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--faint)}
.shot-meta span{font-size:14px;font-weight:600}
.shot-url{display:inline-block;max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom}
.viewport-gallery{display:grid;grid-template-columns:.72fr 1fr 1.8fr;gap:22px;align-items:end;background:var(--dark);border-radius:20px;padding:clamp(18px,2.7vw,34px);box-shadow:inset 0 0 0 1px #1e2635}
.viewport-card{min-width:0;margin:0}
.viewport-card>a{display:block;text-decoration:none;transition:transform .2s ease}
.viewport-card>a:hover{transform:translateY(-4px)}
.device-frame{background:#101621;border:1px solid #303b4f;border-radius:18px;padding:8px;box-shadow:0 20px 45px rgba(0,0,0,.3);overflow:hidden}
.viewport-mobile .device-frame{border-radius:26px;padding:9px}
.device-bar{height:16px;display:flex;align-items:center;gap:5px;padding:0 4px 7px}
.device-bar i{display:block;width:5px;height:5px;border-radius:50%;background:#566171}
.device-frame img{display:block;width:100%;height:auto;aspect-ratio:var(--capture-ratio);object-fit:cover;object-position:top;background:#080b10;border-radius:10px}
.viewport-mobile .device-frame img{--capture-ratio:390/844;border-radius:17px}
.viewport-tablet .device-frame img{--capture-ratio:768/1024}
.viewport-desktop .device-frame img{--capture-ratio:1440/900}
.viewport-card figcaption{display:flex;justify-content:space-between;align-items:center;gap:10px;color:#aeb7c6;font-size:11.5px;margin-top:11px}
.viewport-card figcaption span{display:flex;gap:7px;align-items:baseline}
.viewport-card figcaption b{color:#fff;font-size:12.5px}
.viewport-card figcaption a{color:var(--lime);font-weight:700;text-decoration:none;white-space:nowrap}
.viewport-card figcaption a:hover{text-decoration:underline}
.report{background:var(--paper);padding:40px 0 100px}
.report-pending{padding:80px 0}
.pending-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:50px;max-width:680px;margin:auto;text-align:center}
.pending-card h1{letter-spacing:-.04em}
.crumbs{display:flex;gap:10px;align-items:center;font-size:13px;font-weight:600;color:var(--muted);margin-bottom:26px}
.crumbs a{text-decoration:none}.crumbs a:hover{color:var(--ink)}
.report-hero{display:grid;grid-template-columns:1fr 260px;gap:50px;align-items:center;background:var(--dark);color:#eef1f5;border-radius:26px;padding:clamp(30px,4vw,54px);position:relative;overflow:hidden}
.report-hero::after{content:"";position:absolute;inset:auto -120px -200px auto;width:480px;height:480px;background:radial-gradient(circle,rgba(205,251,80,.2),transparent 65%)}
.report-hero.single{grid-template-columns:1fr}
.report-hero h1{font-size:clamp(36px,5vw,64px);letter-spacing:-.05em;line-height:1;margin:12px 0 6px;word-break:break-word}
.report-hero .lede{color:#aeb7c6}
.target{color:var(--lime);word-break:break-all;font-weight:600;font-size:14px}
.result-counts{display:flex;flex-wrap:wrap;gap:18px;margin-top:22px}
.result-counts span{font-size:13px;color:#9aa5b6}
.result-counts b{color:#fff;margin-right:5px}
.report-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.report-actions .btn-ghost{border-color:#2a3446;color:#fff}
.report-actions .btn-ghost:hover{border-color:var(--lime)}
.score-ring{--score:0;text-align:center;position:relative;z-index:1}
.score-ring .ring{display:grid;place-content:center;width:220px;height:220px;margin:auto;border-radius:50%;background:radial-gradient(circle closest-side,#0b0e13 76%,transparent 77%),conic-gradient(var(--lime) calc(var(--score)*1%),#232c3f 0)}
.score-ring strong{font-size:66px;line-height:.9;letter-spacing:-.05em}
.score-ring span{color:#8b94a3;font-size:14px}
.score-ring p{margin:14px 0 0;font-weight:700}
.score-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:22px 0}
.cat-score{display:block;background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px;text-decoration:none;color:inherit}
.cat-score:hover{border-color:#9ca7b8;transform:translateY(-1px)}
.cat-score>div:first-child{display:flex;justify-content:space-between;align-items:baseline}
.cat-score span{font-size:12.5px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}
.cat-score strong{font-size:38px;letter-spacing:-.04em}
.mini-track{height:7px;background:var(--paper-2);border-radius:99px;margin:14px 0 10px;overflow:hidden}
.mini-track i{display:block;height:100%;background:var(--ink);border-radius:99px}
.cat-score small{display:block;color:var(--muted);font-size:12px;margin-top:5px;line-height:1.4}
.method-note{display:flex;gap:20px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px 24px;font-size:13.5px;color:var(--muted)}
.method-note b{color:var(--ink);white-space:nowrap}
.method-note a{font-weight:700}
.agent-files{margin:30px 0;display:grid;grid-template-columns:1fr 1.2fr;background:var(--dark);color:#eef1f5;border-radius:22px;overflow:hidden;border:1px solid #1c2434}
.agent-files>div{padding:36px}
.agent-files h2{font-size:30px;letter-spacing:-.04em;margin:12px 0 10px}
.agent-files p{color:#9aa5b6;margin:0;font-size:14.5px}
.agent-files nav{display:grid;grid-template-columns:1fr 1fr}
.agent-files nav a{display:flex;justify-content:space-between;align-items:center;padding:28px;border-left:1px solid #1e2635;border-bottom:1px solid #1e2635;text-decoration:none;color:var(--lime);font-size:14px;gap:14px}
.agent-files nav a>span{display:grid;gap:5px}.agent-files nav b{font-size:14px}.agent-files nav small{color:#9aa5b6;font-weight:500;line-height:1.35}.agent-files nav em{font-style:normal;font-weight:700;white-space:nowrap}
.agent-files nav a:hover{background:#141b29}
.section-title{display:flex;justify-content:space-between;align-items:end;gap:16px;margin:70px 0 22px}
.section-title span{font-size:12px;text-transform:uppercase;letter-spacing:.16em;font-weight:800;color:var(--faint)}
.section-title h2{font-size:clamp(28px,3vw,38px);letter-spacing:-.04em;margin:4px 0 0}
.section-title h2 small{color:var(--faint);font-size:.6em}
.section-title p{color:var(--muted);font-size:13px;margin:0}
.checks{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.check-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px}
.check-card.fail{border-color:#f0c4c4;box-shadow:0 10px 30px rgba(229,72,77,.08)}
.check-card.pass{border-color:#bfe6c9}
.check-head{display:flex;gap:8px;align-items:center;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.07em}
.check-title{display:flex;gap:13px;align-items:center;margin:16px 0 8px}
.check-icon{display:grid;place-items:center;width:42px;height:42px;flex:0 0 42px;border-radius:13px;background:#eef1f5;color:var(--ink-2);border:1px solid rgba(0,0,0,.06)}
.check-card h3{font-size:18px;margin:0;letter-spacing:-.01em;line-height:1.25}
.check-card.pass .check-icon{background:#dcf5e3;color:#137a46;border-color:#bfe6c9}
.check-card.fail .check-icon{background:#fbe3e3;color:#b4232a;border-color:#f0c4c4}
.check-card.review .check-icon{background:#fdf0d3;color:#8a5d00;border-color:#f0dcae}
.check-card.opportunity .check-icon{background:#e6efff;color:#2454a6;border-color:#bed2f5}
.check-card.unknown .check-icon,.check-card.na .check-icon{background:#e8ebf0;color:#5c6675;border-color:#d6dbe2}
.check-card .evidence{color:var(--muted);font-size:14px}
.check-card details{border-top:1px solid var(--line);padding-top:14px;margin-top:14px;font-size:13.5px}
.check-card summary{cursor:pointer;font-weight:700}
.check-card details p{color:var(--muted)}
.audit-detail h4{margin:18px 0 6px;font-size:13px}.audit-detail ol{color:var(--muted);padding-left:20px}.audit-detail li+li{margin-top:6px}.calculation{display:grid;gap:4px;background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:12px}.calculation b{color:var(--ink)}
.evidence-scroll{overflow-x:auto}.evidence-table,.score-table,.method-table{width:100%;border-collapse:collapse;font-size:12.5px}.evidence-table th,.evidence-table td,.score-table th,.score-table td,.method-table th,.method-table td{text-align:left;vertical-align:top;padding:10px;border-bottom:1px solid var(--line)}.evidence-table th,.score-table th,.method-table th{color:var(--ink)}.evidence-table td,.method-table td{color:var(--muted)}.evidence-table code{display:block;max-width:380px;overflow-wrap:anywhere;margin-top:4px}.evidence-table small{display:block;margin-top:4px}
.score-proof,.method-rules{margin:26px 0;background:#fff;border:1px solid var(--line);border-radius:22px;padding:clamp(24px,3.4vw,40px)}.score-formula{display:flex;align-items:center;justify-content:space-between;gap:20px;background:var(--dark);color:#fff;border-radius:14px;padding:18px 20px;margin:18px 0}.score-formula code{color:var(--lime);white-space:normal}.score-formula span{font-size:22px;font-weight:800;white-space:nowrap}.score-proof>p{color:var(--muted);font-size:13.5px}.category-formula{margin:-14px 0 14px;color:var(--muted);font-size:12.5px}.method-rules{margin-top:30px}.method-table{min-width:900px}.method-table td:nth-child(3){font-weight:800;color:var(--ink);text-align:center}
.report .section-title>div>span,.report .section-title h2 small,.shot-meta b{color:#566171}
.fix{background:var(--paper);border:1px solid var(--line);padding:14px;border-radius:12px;margin-top:10px}
.fix b{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.1em;margin-bottom:5px}
/* Lead */
.lead{margin-top:80px;background:#fff;border:1px solid var(--line);border-radius:26px;padding:clamp(28px,4vw,50px);display:grid;grid-template-columns:1fr 1.15fr;gap:50px}
.lead h2{font-size:clamp(30px,3.4vw,44px);letter-spacing:-.045em;line-height:1.05;margin:14px 0 12px}
.lead p{color:var(--muted)}
.lead-points{list-style:none;margin:22px 0 0;padding:0;display:grid;gap:10px;font-size:14px;font-weight:600}
.lead-points li::before{content:"✓ ";color:var(--green);font-weight:800}
.lead form{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.lead label{font-size:12px;font-weight:700;color:var(--muted);display:block}
.lead label small{font-weight:400}
.lead input,.lead textarea{width:100%;margin-top:6px;border:1px solid var(--line);border-radius:12px;background:var(--paper);color:var(--ink);padding:12px 14px;font:inherit;font-size:14px}
.lead input:focus,.lead textarea:focus{outline:2px solid var(--ink);border-color:var(--ink)}
.full{grid-column:1/-1}
.consent{display:flex;gap:10px;align-items:flex-start;font-weight:500}
.consent input{width:auto;margin-top:4px}
.lead button{grid-column:1/-1}
#lead-result{font-size:14px;font-weight:600}
/* One-time email sign-in */
.auth-page{min-height:calc(100vh - 160px);display:grid;place-items:center;padding:90px 20px;background:radial-gradient(circle at 50% 20%,rgba(199,255,69,.18),transparent 36%)}
.auth-card{width:min(100%,560px);background:#fff;border:1px solid var(--line);border-radius:26px;padding:clamp(28px,5vw,52px);box-shadow:0 24px 70px rgba(16,21,26,.1)}
.auth-card h1{font-size:clamp(36px,6vw,54px);line-height:1;letter-spacing:-.05em;margin:14px 0 16px}
.auth-card>p{color:var(--muted);line-height:1.65}
.auth-form{display:grid;gap:12px;margin-top:28px}
.auth-form label{font-size:12px;font-weight:800;color:var(--muted)}
.auth-form input{width:100%;border:1px solid var(--line);border-radius:12px;background:var(--paper);color:var(--ink);padding:14px 16px;font:inherit;font-size:16px}
.auth-form input:focus{outline:2px solid var(--ink);border-color:var(--ink)}
.auth-result{min-height:22px;margin:2px 0 0;color:var(--ink)!important;font-size:14px;font-weight:650}
.auth-note{font-size:12px;margin:22px 0 0}
.auth-unavailable{display:grid;gap:16px;margin-top:24px}.auth-unavailable p{margin:0;color:var(--muted)}.auth-unavailable .btn{justify-self:start}
/* Signed-in audit history */
.account-page{min-height:calc(100vh - 160px);padding:86px 0 110px;background:radial-gradient(circle at 75% 0,rgba(199,255,69,.16),transparent 30%)}
.account-head{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:34px}
.account-head h1{font-size:clamp(42px,7vw,72px);line-height:.98;letter-spacing:-.055em;margin:14px 0 16px}
.account-head p{color:var(--muted);margin:0;max-width:680px}
.account-email{color:var(--ink);overflow-wrap:anywhere}
.account-panel{background:#fff;border:1px solid var(--line);border-radius:26px;padding:clamp(22px,4vw,42px);box-shadow:0 24px 70px rgba(16,21,26,.08)}
.account-panel-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:24px}
.account-panel-head h2{font-size:30px;letter-spacing:-.035em;margin:7px 0 0}
.account-audits{display:grid;gap:10px}
.account-audit{display:grid;grid-template-columns:minmax(220px,1fr) auto auto auto;align-items:center;gap:18px;text-decoration:none;border:1px solid var(--line);border-radius:16px;padding:18px 20px;background:var(--paper);transition:border-color .18s ease,transform .18s ease}
.account-audit:hover{border-color:var(--ink);transform:translateY(-1px)}
.account-audit-main{min-width:0}
.account-audit-main strong,.account-audit-main span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.account-audit-main strong{font-size:16px}
.account-audit-main span{font-size:12px;color:var(--muted);margin-top:3px}
.account-audit-result{display:flex;align-items:center;gap:12px}
.account-audit-result b{font-size:22px;letter-spacing:-.04em}
.account-audit-result b small{font-size:11px;color:var(--faint);letter-spacing:0}
.account-status{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;padding:5px 9px;border-radius:999px;background:#e9edf2;color:var(--muted)}
.account-status.completed{background:#dcf5e3;color:#137a46}.account-status.failed{background:#fbe3e3;color:#b4232a}.account-status.running,.account-status.queued{background:#fff0cc;color:#8a5a00}
.account-audit time{font-size:12px;color:var(--muted);white-space:nowrap}
.account-open{font-size:12px;font-weight:800;white-space:nowrap}
.account-empty{text-align:center;border:1px dashed var(--line);border-radius:18px;padding:54px 20px}
.account-empty h3{font-size:24px;margin-bottom:6px}.account-empty p{color:var(--muted);margin-bottom:22px}
.account-result{min-height:20px;color:var(--red);font-size:13px;font-weight:650;margin:16px 0 0}
/* Methodology */
.method-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:30px 0}
.method-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:30px}
.method-card h2{font-size:22px;letter-spacing:-.02em;margin:0 0 8px}
.method-card p{color:var(--muted);font-size:14px}
.method-card ul{margin:16px 0 0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:8px}
.method-card li{background:var(--paper);border:1px solid var(--line);border-radius:999px;padding:6px 12px;font-size:12.5px;font-weight:600}
.method-split{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:30px}
.method-split>div{background:#fff;border:1px solid var(--line);border-radius:20px;padding:30px}
.method-split h2{margin:0 0 10px;letter-spacing:-.02em}
.method-split p{color:var(--muted);margin:0;font-size:15px}
/* Re-run + history */
.rerun-error{color:var(--red);font-size:13px;font-weight:600;min-height:18px;margin:10px 0 0}
.report-actions.centered{justify-content:center;margin-top:22px}
#rerun-btn:disabled{opacity:.7;cursor:wait;transform:none}
.history{margin-top:26px;background:#fff;border:1px solid var(--line);border-radius:22px;padding:clamp(24px,3.4vw,40px)}
.history .section-title{margin:0 0 18px}
.history-list{display:grid;gap:10px}
.history-row{display:grid;grid-template-columns:1fr auto auto;gap:8px 18px;align-items:center;text-decoration:none;border:1px solid var(--line);border-radius:14px;padding:14px 18px;background:var(--paper)}
.history-row:hover{border-color:var(--ink)}
.history-row.current{background:var(--dark);color:#eef1f5;border-color:var(--dark)}
.history-row.current span{color:#9aa5b6}
.history-row div b{display:block;font-size:14px}
.history-row div span{font-size:12px;color:var(--muted);font-weight:600}
.history-row strong{font-size:22px;letter-spacing:-.03em}
.history-row strong small{font-size:13px;color:var(--faint);font-weight:600}
.history-row.current strong small{color:#9aa5b6}
.history-row em{font-style:normal;font-size:12px;font-weight:800;padding:4px 10px;border-radius:99px}
.history-row em.up{background:#dcf5e3;color:#137a46}
.history-row em.down{background:#fbe3e3;color:#b4232a}
.history-link{font-size:13px;font-weight:700;color:var(--muted)}
.history-row.current .history-link{color:var(--lime)}
/* Reveal — progressive enhancement: visible by default, animated only with JS */
.reveal{opacity:1;transform:none}
html.js .reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}
html.js .reveal.visible{opacity:1;transform:none}
/* Responsive */
@media(max-width:1020px){
  .nav-links{display:none}
  .nav-burger{display:flex}
  .nav-mobile{display:none;flex-direction:column;gap:6px;padding:14px 28px 22px;background:var(--paper);border-bottom:1px solid var(--line)}
  .nav-mobile.open{display:flex}
  .nav-mobile a{text-decoration:none;font-weight:700;padding:10px 0}
  .hero-inner{grid-template-columns:1fr;padding-top:60px}
  .hero-visual{order:-1}
  .browser-card{transform:none;max-width:560px}
  .browser-float.f1{right:6px}.browser-float.f2{left:6px}
  .pillar-grid{grid-template-columns:1fr 1fr}
  .split{grid-template-columns:1fr;gap:36px}
  .score-grid{grid-template-columns:1fr 1fr}
  .report-hero{grid-template-columns:1fr}
  .score-ring .ring{width:190px;height:190px}
  .agent-files{grid-template-columns:1fr}
  .agent-files nav a{border-left:0;border-top:1px solid #1e2635}
  .lead{grid-template-columns:1fr}
  .method-grid,.method-split{grid-template-columns:1fr}
  .shot-copy{display:block}
  .shot-meta{grid-template-columns:repeat(3,1fr);justify-content:start;margin-top:22px}
  .viewport-gallery{grid-template-columns:.75fr 1fr}
  .viewport-desktop{grid-column:1/-1;grid-row:1}
  .account-audit{grid-template-columns:minmax(220px,1fr) auto auto}
  .account-open{display:none}
}
@media(max-width:680px){
  .nav-links,.nav-actions .nav-ghost,.nav-actions .nav-auth-button,.nav-actions .btn{display:none}
  .nav-mobile{padding:14px 18px 22px}
  .section{padding:70px 0}
  .hero-stats{grid-template-columns:1fr 1fr;gap:16px}
  .scan-field{flex-direction:column;border:0;background:transparent;box-shadow:none;padding:0;gap:10px}
  .scan-lock{display:none}
  .scan-field input{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px}
  .scan-field .btn{width:100%;padding:17px}
  .browser-float.f2{bottom:-16px;left:16px}
  .pillar-grid,.checks,.trio{grid-template-columns:1fr}
  .score-grid{grid-template-columns:1fr}
  .account-page{padding:58px 0 80px}
  .account-head,.account-panel-head{align-items:flex-start;flex-direction:column}
  .account-head .btn,.account-panel-head .btn{width:100%}
  .account-audit{grid-template-columns:minmax(0,1fr) auto;gap:10px 14px;padding:16px}
  .account-audit-result{align-items:flex-end;flex-direction:column;gap:4px}
  .account-audit time{grid-column:1/-1}
  .cta-panel{flex-direction:column;align-items:flex-start}
  .footer-grid{grid-template-columns:1fr}
  .footer-bottom{flex-direction:column}
  .section-title{flex-direction:column;align-items:start}
  .lead form{grid-template-columns:1fr}
  .lead input,.lead textarea{font-size:16px} /* prevent iOS auto-zoom on focus */
  .method-note{flex-direction:column;gap:8px}
  .history-row{grid-template-columns:1fr auto}
  .history-link{display:none}
  .shot{padding:24px 18px}
  .shot-meta{grid-template-columns:1fr 1fr;gap:14px 20px}
  .shot-meta>div:nth-child(2){grid-column:1/-1;grid-row:2}
  .viewport-gallery{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:14px;margin:0 -18px;padding:20px 18px 24px;border-radius:0;scrollbar-width:thin}
  .viewport-card{flex:0 0 82%;scroll-snap-align:center}
  .viewport-mobile{flex-basis:66%}
  .viewport-card figcaption{align-items:flex-start}
  .viewport-card figcaption span{display:block}
  .viewport-card figcaption b{display:block;margin-bottom:2px}
  .wrap{padding:0 18px}.nav-inner{padding:0 18px}
}

/* Audit v0.4: separate measurements, clear actions and progressive detail. */
[hidden]{display:none!important}
.report-scope{font-size:13px;color:#bdc5cb;max-width:660px;margin-top:18px}
.report-hero h1{overflow-wrap:anywhere}
.report-hero .score-ring.incomplete .ring{background:#263038}
.priority-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.priority-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:24px;min-width:0}
.priority-number{display:block;font-size:13px;color:#616a73;margin-bottom:18px}
.priority-card h3{font-size:21px;line-height:1.3;margin:14px 0}
.priority-card p{font-size:14px;line-height:1.65}
.priority-evidence{background:#f1f3ee;padding:12px;border-radius:10px;overflow-wrap:anywhere}
.priority-card .fix{margin:18px 0}
.priority-card a{font-weight:650;font-size:14px}
.priority-card small{display:block;margin-top:12px;color:#58616a}
.performance-section,.technical-section,.field-data{margin:38px 0;background:#fff;border:1px solid var(--line);border-radius:26px;padding:30px}
.profile-switch,.finding-filters{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}
.profile-switch [aria-pressed=true],.finding-filters [aria-pressed=true]{background:#10151a;color:#fff;border-color:#10151a}
.performance-summary{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:24px 0}
.performance-summary>div>span{font-size:14px;color:#54606b}
.performance-summary strong{display:block;font-size:58px;line-height:1.2;letter-spacing:-2px}
.performance-summary strong small{font-size:15px;letter-spacing:0;color:#54606b;margin-left:8px}
.performance-summary p{max-width:440px;font-size:14px;line-height:1.7;color:#54606b}
.metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.metric-card{background:#f4f5f0;padding:20px;border-radius:16px;min-width:0}
.metric-card span{font-size:13px;display:block;color:#3b4650}
.metric-card strong{font-size:30px;display:block;margin:10px 0;letter-spacing:-1px}
.metric-card small{font-size:12px;color:#54606b;display:block;line-height:1.55}
.measurement-details{border-top:1px solid var(--line);margin-top:22px;padding-top:20px}
.measurement-details summary,.field-data summary,.passed-checks>summary,.score-proof>summary,.history details>summary{cursor:pointer;font-weight:650;padding:8px 0;min-height:32px}
.measurement-details p,.field-data p{font-size:14px;line-height:1.7}
.performance-findings{margin-top:26px}
.performance-findings>p{font-size:13px;color:#54606b}
.performance-findings article{border-top:1px solid var(--line);padding:18px 0}
.performance-findings h4{font-size:16px;margin:0 0 8px}
.performance-findings article p{font-size:14px;line-height:1.65}
.performance-findings article span{font-size:13px;font-weight:650}
.technical-section .score-grid{margin-bottom:22px}
.technical-section .score-proof{padding:16px 0;margin:0;border:0;border-radius:0}
.all-findings>.section-title{margin-top:42px}
.passed-checks{margin-top:18px}
.passed-checks>.checks{padding-top:18px}
.check-card{scroll-margin-top:110px}
.check-card .fix{margin:15px 0;line-height:1.6;font-size:14px}
.check-head{flex-wrap:wrap}
.check-head .severity{font-size:10px}
.comparison p{line-height:1.7;font-size:14px}
.audit-stages{display:grid;gap:12px;text-align:left;margin:24px auto;max-width:380px;color:#54606b;font-size:14px}
[data-partial-summary]{font-size:14px;padding:16px;background:#edf3dd;border-radius:12px;margin:18px 0}
[data-partial-summary]:empty{display:none}
[data-poll-error]{font-size:14px;color:#824b05}
.methodology{padding:70px 0}
.methodology h1{font-size:clamp(34px,5vw,64px)}
.methodology .method-card{margin:24px 0;padding:26px;border:1px solid var(--line);border-radius:20px;background:#fff}
.methodology .method-card p{line-height:1.8;font-size:15px;margin:16px 0}
.methodology .method-card h2{font-size:25px}
@media(max-width:1000px){.priority-grid{grid-template-columns:1fr}.priority-card{display:block}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.performance-section,.technical-section,.field-data{padding:20px 16px}.performance-summary{display:block}.metric-grid{grid-template-columns:1fr 1fr}.metric-card{padding:14px}.metric-card strong{font-size:25px}.report-hero{padding:28px 22px}.score-proof .score-table{min-width:560px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
.pending-card p { overflow-wrap: anywhere; }
.report-hero h1 { font-size: clamp(30px, 3.7vw, 48px); line-height: 1.08; }
.report-hero .eyebrow { color: #aeb7c6; }
.report-hero .score-ring.incomplete .ring { width: auto; height: auto; border-radius: 18px; padding: 24px; gap: 12px; }
.score-ring.incomplete strong { font-size: 38px; }
.priority-grid:has(> :only-child) { grid-template-columns: minmax(0, 760px); }
