:root { --ink:#0a0a0a; --paper:#fff; --muted:#666; --line:#d9d9d9; --soft:#f3f3f1; --serif:'Archivo', Arial, sans-serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:var(--serif); font-size:16px; line-height:1.5; }
a { color:inherit; text-decoration:none; }
.section-shell { width:min(1240px, calc(100% - 80px)); margin:0 auto; }
.site-header { height:92px; width:min(1240px, calc(100% - 80px)); margin:0 auto; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); }
.brand { display:flex; align-items:center; gap:12px; font-size:12px; line-height:1.08; font-weight:700; letter-spacing:-.02em; text-transform:uppercase; }
.brand-mark { display:flex; align-items:flex-end; gap:3px; height:22px; width:24px; }
.brand-mark span { display:block; width:6px; background:var(--ink); }.brand-mark span:nth-child(1){height:10px}.brand-mark span:nth-child(2){height:16px}.brand-mark span:nth-child(3){height:22px}
.nav { display:flex; align-items:center; gap:36px; font-size:13px; font-weight:600; }.nav a { transition:opacity .2s; }.nav a:hover,.text-link:hover { opacity:.58; }.nav-cta { border:1px solid var(--ink); padding:10px 15px; }.nav-cta span { margin-left:14px; font-size:16px; }
.hero { min-height:620px; display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:60px; padding:80px 0 92px; }.eyebrow { display:flex; align-items:center; gap:12px; margin:0 0 28px; text-transform:uppercase; font-size:11px; font-weight:700; letter-spacing:.11em; }.eyebrow-line { width:30px; height:1px; background:var(--ink); display:inline-block; }.hero h1,.section-intro h2,.fit h2,.cta h2 { margin:0; font-size:clamp(46px, 5.5vw, 78px); line-height:.99; letter-spacing:-.075em; font-weight:600; }.hero h1 em,.section-intro h2 em,.fit h2 em,.cta h2 em { font-style:normal; font-weight:400; }.hero-lede { max-width:480px; margin:32px 0 0; font-size:18px; line-height:1.52; color:#3e3e3e; }.hero-actions { display:flex; align-items:center; gap:28px; margin-top:38px; }.button { display:inline-flex; align-items:center; justify-content:space-between; min-width:208px; padding:16px 18px; font-size:12px; font-weight:700; letter-spacing:.01em; transition:transform .2s, background .2s; }.button:hover { transform:translateY(-2px); }.button span { margin-left:25px; font-size:17px; }.button-dark { background:var(--ink); color:var(--paper); }.text-link { font-size:12px; font-weight:700; }.text-link span { margin-left:10px; font-size:17px; }
.hero-visual { position:relative; min-height:440px; border:1px solid var(--ink); background:var(--soft); overflow:hidden; }.hero-visual svg { display:block; width:100%; height:auto; margin-top:38px; }.grid-line { fill:none; stroke:#d5d5d2; stroke-width:1; }.growth-line { fill:none; stroke:var(--ink); stroke-width:4; stroke-linecap:round; }.growth-dot { fill:var(--paper); stroke:var(--ink); stroke-width:3; }.arrow-line { fill:none; stroke:var(--ink); stroke-width:2; }.visual-label { position:absolute; top:22px; left:24px; font-size:11px; line-height:1.15; text-transform:uppercase; letter-spacing:.08em; font-weight:700; }.visual-caption { position:absolute; left:24px; right:24px; bottom:20px; display:flex; justify-content:space-between; border-top:1px solid var(--ink); padding-top:12px; font-size:11px; line-height:1.2; text-transform:uppercase; letter-spacing:.07em; }.visual-caption strong { font-size:12px; }.visual-caption span { text-align:right; }
.signal-bar { border-top:1px solid var(--line); border-bottom:1px solid var(--line); }.signal-inner { min-height:64px; display:grid; grid-template-columns:1.2fr 1fr 1fr; align-items:center; font-size:11px; text-transform:uppercase; letter-spacing:.08em; font-weight:700; }.signal-item { border-left:1px solid var(--line); padding-left:24px; }
.comparison { padding:130px 0 120px; }.section-intro { display:grid; grid-template-columns:1fr 1fr; column-gap:80px; align-items:end; margin-bottom:62px; }.section-intro .eyebrow { grid-column:1/-1; }.section-intro h2 { font-size:clamp(42px, 5vw, 66px); }.section-intro > p:last-child { max-width:390px; margin:0 0 5px; color:#4b4b4b; font-size:16px; }.comparison-layout { display:grid; grid-template-columns:1.25fr .75fr; gap:40px; align-items:start; }.model-table { border-top:1px solid var(--ink); }.table-head,.table-row { display:grid; grid-template-columns:1fr 1fr; gap:30px; border-bottom:1px solid var(--line); padding:20px 0; font-size:14px; }.table-head { color:#6a6a6a; font-size:10px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }.table-row span:first-child { color:#696969; }.table-row b { font-weight:600; }.calculator-card { background:var(--ink); color:var(--paper); padding:30px; }.card-kicker { font-size:10px; text-transform:uppercase; letter-spacing:.1em; font-weight:700; color:#a9a9a9; }.calculator-card h3 { margin:17px 0 10px; font-size:25px; line-height:1.08; letter-spacing:-.04em; }.calculator-card > p { margin:0 0 26px; color:#c2c2c2; font-size:13px; line-height:1.45; }.calculator-form { display:grid; gap:7px; }.calculator-form label { margin-top:8px; color:#bbb; font-size:10px; font-weight:700; letter-spacing:.07em; text-transform:uppercase; }.input-wrap { display:flex; align-items:center; border-bottom:1px solid #686868; }.input-wrap span { color:#999; font-size:12px; }.input-wrap input { min-width:0; flex:1; border:0; outline:0; background:transparent; color:var(--paper); padding:8px 5px; font:500 17px var(--serif); }.input-wrap input::-webkit-inner-spin-button { opacity:1; }.result { border-top:1px solid #666; margin-top:27px; padding-top:18px; }.result span,.result small { display:block; color:#aaa; font-size:10px; text-transform:uppercase; letter-spacing:.08em; }.result strong { display:block; margin:4px 0 6px; font-size:37px; letter-spacing:-.06em; font-weight:500; }.result small { text-transform:none; letter-spacing:0; font-size:11px; color:#aaa; }
.fit { border-top:1px solid var(--line); padding:110px 0 120px; display:grid; grid-template-columns:1fr 2fr; gap:80px; }.fit h2 { font-size:clamp(38px, 4vw, 56px); }.fit-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }.fit-grid article { border-top:1px solid var(--ink); padding-top:15px; }.number { font-size:11px; font-weight:700; }.fit-grid h3 { margin:44px 0 14px; font-size:20px; line-height:1.1; letter-spacing:-.04em; }.fit-grid p { margin:0; color:#595959; font-size:14px; line-height:1.48; }
.reviews { border-top:1px solid var(--line); padding:110px 0 120px; }.reviews-heading { display:grid; grid-template-columns:1fr 1fr; column-gap:80px; align-items:end; margin-bottom:64px; }.reviews-heading .eyebrow { grid-column:1/-1; }.reviews-heading h2 { margin:0; font-size:clamp(42px, 5vw, 66px); line-height:.99; letter-spacing:-.075em; font-weight:600; }.reviews-heading h2 em { font-style:normal; font-weight:400; }.reviews-heading > p:last-child { max-width:390px; margin:0 0 5px; color:#4b4b4b; font-size:16px; }.review-rows { border-top:1px solid var(--ink); }.review-row { display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:center; padding:52px 0; border-bottom:1px solid var(--line); }.review-row-reverse .review-copy { order:2; }.review-row-reverse .review-video { order:1; }.review-copy { padding:8px 0; }.review-logo { display:block; width:auto; max-width:140px; height:42px; object-fit:contain; object-position:left center; margin-bottom:30px; }.review-copy blockquote { max-width:510px; margin:0; font-size:clamp(25px, 2.5vw, 38px); line-height:1.08; letter-spacing:-.055em; }.review-person { margin:28px 0 0; color:#666; font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }.review-video { background:var(--soft); border:1px solid var(--ink); aspect-ratio:16/10; overflow:hidden; }.review-video video { display:block; width:100%; height:100%; object-fit:cover; }
.case-studies { border-top:1px solid var(--line); padding:110px 0 120px; }.case-studies .section-intro { margin-bottom:62px; }.case-study-timeline { border-left:1px solid var(--ink); margin-left:18px; }.case-study-event { display:grid; grid-template-columns:68px minmax(0,1fr) 250px; gap:28px; align-items:start; position:relative; padding:0 0 56px 0; }.case-study-event:last-child { padding-bottom:0; }.case-study-marker { width:38px; height:38px; margin-left:-20px; display:grid; place-items:center; border:1px solid var(--ink); border-radius:50%; background:var(--paper); font-size:10px; font-weight:700; letter-spacing:.04em; }.case-study-event-copy { padding-top:3px; }.case-study-label,.case-study-event-result span { display:block; color:#666; font-size:10px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }.case-study-event blockquote { margin:17px 0 0; max-width:650px; font-size:clamp(24px, 2.5vw, 36px); line-height:1.06; letter-spacing:-.055em; }.case-study-event small { display:block; margin-top:19px; color:#777; font-size:11px; text-transform:uppercase; letter-spacing:.07em; }.case-study-event-result { margin-top:3px; padding:18px 0 0 20px; border-top:1px solid var(--ink); }.case-study-event-result span { margin-bottom:10px; color:var(--ink); }.case-study-event-result strong { display:block; font-family:var(--serif); font-size:20px; line-height:1.08; letter-spacing:-.04em; }.case-study-event:nth-child(2) .case-study-marker { background:var(--soft); }.case-study-event:nth-child(2) .case-study-event-result { border-color:#888; }.case-study-event:nth-child(3) .case-study-marker { background:var(--ink); color:var(--paper); }.case-study-event:nth-child(3) .case-study-event-result { background:var(--ink); color:var(--paper); border-color:var(--ink); padding:18px 20px 20px; }.case-study-event:nth-child(3) .case-study-event-result span { color:#aaa; }
.cta { background:var(--ink); color:var(--paper); padding:76px 80px; display:flex; align-items:flex-end; justify-content:space-between; gap:60px; }.cta .eyebrow-line { background:var(--paper); }.cta h2 { font-size:clamp(40px, 4.8vw, 64px); }.cta-content > p:last-child { max-width:480px; margin:30px 0 0; color:#c2c2c2; font-size:15px; }.cta-action { display:flex; flex-direction:column; align-items:flex-start; gap:15px; min-width:240px; }.button-light { background:var(--paper); color:var(--ink); }.cta-action > span { color:#999; font-size:10px; text-transform:uppercase; letter-spacing:.08em; }.site-footer { display:flex; justify-content:space-between; padding:30px 0; color:#686868; font-size:11px; }.site-footer a { color:var(--ink); font-weight:600; }
@media (max-width:900px) { .section-shell,.site-header { width:min(100% - 40px, 680px); }.hero { grid-template-columns:1fr; padding:64px 0 70px; gap:50px; }.hero-visual { min-height:390px; }.signal-inner { grid-template-columns:1fr; gap:10px; padding:18px 0; }.signal-item { border:0; padding:0; }.comparison { padding:86px 0; }.section-intro { grid-template-columns:1fr; gap:24px; }.section-intro > p:last-child { margin:0; }.comparison-layout { grid-template-columns:1fr; }.fit { grid-template-columns:1fr; gap:50px; padding:80px 0; }.fit-grid { gap:35px; }.reviews { padding:80px 0; }.reviews-heading { grid-template-columns:1fr; gap:24px; }.reviews-heading > p:last-child { margin:0; }.review-row { gap:38px; }.cta { width:100%; padding:60px 40px; flex-direction:column; align-items:flex-start; gap:45px; }.site-footer { flex-wrap:wrap; gap:12px; } }
@media (max-width:900px) { .case-studies { padding:80px 0; }.case-study-event { grid-template-columns:54px minmax(0,1fr); gap:20px; padding-bottom:45px; }.case-study-event-result { grid-column:2; margin-top:0; padding-left:0; }.case-study-event:nth-child(3) .case-study-event-result { padding-left:18px; } }
@media (max-width:560px) { .site-header { height:76px; }.nav a:not(.nav-cta) { display:none; }.nav { gap:0; }.hero h1 { font-size:48px; }.hero-lede { font-size:16px; }.hero-actions { align-items:flex-start; flex-direction:column; gap:22px; }.hero-visual { min-height:330px; }.hero-visual svg { margin-top:54px; }.table-head,.table-row { grid-template-columns:1fr; gap:8px; }.table-head { padding-bottom:13px; }.table-row { padding:17px 0; }.calculator-card { padding:24px; }.fit-grid { grid-template-columns:1fr; }.fit-grid h3 { margin-top:28px; }.review-row,.review-row-reverse { grid-template-columns:1fr; gap:28px; padding:38px 0; }.review-row-reverse .review-copy { order:1; }.review-row-reverse .review-video { order:2; }.review-logo { margin-bottom:22px; }.review-copy blockquote { font-size:29px; }.cta { padding:55px 20px; }.site-footer { flex-direction:column; }.site-footer a { order:-1; } }

/* Audit improvements */
:focus-visible { outline:2px solid currentColor; outline-offset:4px; }
.skip-link { position:fixed; z-index:20; top:12px; left:12px; transform:translateY(-160%); background:var(--ink); color:var(--paper); padding:10px 14px; font-size:12px; font-weight:700; }
.skip-link:focus { transform:translateY(0); }
.menu-toggle { display:none; border:1px solid var(--ink); background:var(--paper); padding:10px 12px; font:700 11px var(--serif); text-transform:uppercase; letter-spacing:.08em; }
.model-notes { display:grid; grid-template-columns:1fr 1fr; gap:80px; border-top:1px solid var(--line); padding:90px 0 100px; }
.model-notes h2 { margin:0; font-size:clamp(40px, 4vw, 58px); line-height:.99; letter-spacing:-.07em; }
.model-notes h2 em { font-style:normal; font-weight:400; }
.model-notes-copy { max-width:520px; color:#4b4b4b; font-size:16px; }
.model-notes-copy p { margin:0 0 18px; }
.mid-cta { display:flex; align-items:center; justify-content:space-between; gap:24px; border-top:1px solid var(--ink); border-bottom:1px solid var(--ink); padding:25px 0; margin-bottom:110px; }
.mid-cta p { margin:0; font-size:14px; font-weight:600; }
.fit-intro { max-width:420px; margin:30px 0 0; color:#595959; font-size:14px; line-height:1.48; }
.proof-cta { display:flex; align-items:center; justify-content:space-between; gap:24px; border-top:1px solid var(--ink); border-bottom:1px solid var(--ink); padding:25px 0; margin-bottom:110px; }
.proof-cta p { margin:0; font-size:14px; font-weight:600; }
.review-video details { padding:10px 14px; background:var(--paper); font-size:12px; }
.review-video summary { cursor:pointer; font-weight:700; }
.review-video details p { margin:8px 0 0; color:#555; }
.review-row:first-child .review-video video { object-fit:contain; background:var(--ink); }
.process-visual { background:#f3f3f1; }
.process-visual svg { margin-top:32px; }
.process-line { fill:none; stroke:var(--ink); stroke-width:1.5; }
.process-loop { stroke-dasharray:4 4; }
.process-node rect { fill:var(--paper); stroke:var(--ink); stroke-width:1.5; }
.process-node-dark rect { fill:var(--ink); }
.process-node-accent rect { fill:#e2e2df; }
.process-number,.process-title,.process-copy,.process-feedback { font-family:var(--serif); }
.process-number { font-size:9px; font-weight:700; letter-spacing:.08em; }
.process-title { font-size:14px; font-weight:700; letter-spacing:.04em; }
.process-copy { font-size:10px; }
.process-feedback { font-size:9px; font-weight:700; letter-spacing:.1em; }
.process-node-dark text { fill:var(--paper); }
.process-node-dark .process-copy { fill:#c7c7c7; }
.process-node-accent .process-copy { fill:#555; }
html { scroll-behavior:smooth; }
@media (max-width:900px) { .model-notes { grid-template-columns:1fr; gap:35px; padding:70px 0; } .mid-cta,.proof-cta { margin-bottom:80px; } }
@media (max-width:560px) { .site-header { position:relative; height:76px; } .menu-toggle { display:block; } .nav { position:absolute; top:76px; left:20px; right:20px; z-index:10; display:none; flex-direction:column; align-items:stretch; gap:0; border:1px solid var(--ink); background:var(--paper); } .nav.is-open { display:flex; } .nav a { display:block !important; padding:14px 16px; border-bottom:1px solid var(--line); } .nav a:last-child { border-bottom:0; } .nav-cta { border:0; } .table-head { display:none; } .table-row { display:block; padding:0; } .table-row span { display:block; padding:15px 0 15px 92px; position:relative; } .table-row span + span { border-top:1px dashed var(--line); } .table-row span::before { content:attr(data-label); position:absolute; left:0; top:15px; color:#777; font-size:9px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; } .model-notes { padding:65px 0; } .mid-cta,.proof-cta { align-items:flex-start; flex-direction:column; } }
@media (max-width:560px) { .lead-form input, .lead-form textarea { font-size:16px; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *, *::before, *::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; } }
