:root { --ink:#101c2a; --paper:#f4f0e9; --lime:#d8ff4e; --line:rgba(16,28,42,.2); --muted:#65707b; }
* { box-sizing:border-box; } html { scroll-behavior:smooth; } body { margin:0; background:var(--paper); color:var(--ink); font-family:Manrope,Arial,sans-serif; font-size:16px; line-height:1.55; } a { color:inherit; text-decoration:none; } .site-header,.section,.site-footer { padding-left:max(5vw,24px); padding-right:max(5vw,24px); } .site-header { display:flex; align-items:center; justify-content:space-between; height:88px; position:relative; z-index:2; } .brand { font-size:1.45rem; font-weight:800; letter-spacing:-.08em; } .brand span { font-size:.48em; vertical-align:top; margin-left:3px; letter-spacing:0; } nav { display:flex; align-items:center; gap:28px; font-size:.88rem; font-weight:700; } nav a:not(.nav-cta):hover { opacity:.55; } .nav-cta { border:1px solid var(--ink); padding:9px 14px; } .menu-toggle { display:none; background:transparent; border:0; font:inherit; font-weight:700; color:inherit; } .section { padding-top:100px; padding-bottom:100px; } .hero { min-height:calc(100vh - 88px); display:flex; flex-direction:column; justify-content:space-between; padding-top:6vh; } .eyebrow { margin:0; font:500 .69rem/1.3 "DM Mono",monospace; letter-spacing:.06em; text-transform:uppercase; } .hero-grid,.statement-grid,.contact-grid { display:grid; grid-template-columns:1.35fr .65fr; gap:5vw; align-items:end; } h1,h2,h3,p { margin-top:0; } h1,h2 { letter-spacing:-.07em; line-height:.94; font-size:clamp(3.65rem,8.6vw,9.2rem); margin:0; font-weight:800; } em { color:var(--muted); font-style:normal; } .hero-intro { max-width:370px; padding-bottom:10px; } .hero-intro p,.contact-grid p { font-size:1.08rem; line-height:1.55; } .button { display:inline-flex; justify-content:space-between; align-items:center; min-width:205px; gap:24px; margin-top:19px; background:var(--ink); color:var(--paper); padding:13px 16px; font-size:.84rem; font-weight:700; transition:transform .2s,background .2s; } .button:hover { background:#263a50; transform:translateY(-2px); } .hero-rule { display:flex; align-items:center; gap:14px; margin-top:68px; font:500 .68rem "DM Mono",monospace; text-transform:uppercase; } .hero-rule i { display:block; height:1px; flex:1; background:var(--line); } .section-dark { background:var(--ink); color:var(--paper); } .statement { padding-top:125px; padding-bottom:125px; } .statement-grid { margin-top:90px; align-items:start; } .statement-grid h2 em,.contact h2 em { color:var(--lime); } .statement-grid > div { max-width:420px; } .statement-grid .lead { font-size:1.27rem; font-weight:600; line-height:1.4; } .statement-grid p:not(.lead) { color:#bdc4ca; } .section-heading { display:grid; grid-template-columns:1.35fr .65fr; gap:5vw; padding-bottom:48px; border-bottom:1px solid var(--line); } .section-heading > p:last-child { max-width:280px; margin:0; } .service-list article { min-height:138px; display:grid; grid-template-columns:12% 1fr auto; gap:20px; align-items:center; padding:26px 0; border-bottom:1px solid var(--line); transition:padding .2s; } .service-list article:hover { padding-left:15px; } .service-list span,.attribution { color:var(--muted); font:500 .68rem "DM Mono",monospace; } h3 { font-size:clamp(1.7rem,3vw,3rem); line-height:1; letter-spacing:-.06em; margin-bottom:11px; } .service-list p { color:var(--muted); margin:0; max-width:510px; } .service-list b { font-size:1.4rem; font-weight:400; } .proof { min-height:590px; display:flex; flex-direction:column; justify-content:space-between; background:var(--lime); } blockquote { max-width:940px; margin:55px 0; font-size:clamp(2rem,4.4vw,4.6rem); font-weight:700; line-height:1.08; letter-spacing:-.06em; } .attribution { color:var(--ink); } .contact { padding-top:130px; padding-bottom:130px; } .contact-grid { margin-top:85px; align-items:start; } .contact-grid > div { max-width:390px; } .contact-grid p { color:#bdc4ca; } .button-light { background:var(--lime); color:var(--ink); } .button-light:hover { background:#ebff9d; } .site-footer { padding-top:35px; padding-bottom:35px; display:grid; grid-template-columns:1fr 1fr 1fr; align-items:center; border-top:1px solid var(--line); font-size:.75rem; } .site-footer > p { margin:0; color:var(--muted); } .site-footer div { display:flex; justify-content:flex-end; gap:17px; } .site-footer a:not(.brand):hover { text-decoration:underline; }
@media (max-width:720px) { .site-header { height:70px; } .menu-toggle { display:block; } nav { position:absolute; display:none; flex-direction:column; align-items:stretch; gap:0; padding:14px max(5vw,24px) 24px; top:70px; left:0; right:0; background:var(--paper); border-bottom:1px solid var(--line); } nav.open { display:flex; } nav a { padding:12px 0; } .nav-cta { text-align:center; margin-top:8px; } .section { padding-top:75px; padding-bottom:75px; } .hero { min-height:660px; } .hero-grid,.statement-grid,.contact-grid,.section-heading { grid-template-columns:1fr; gap:35px; } .statement { padding-top:85px; padding-bottom:85px; } .statement-grid,.contact-grid { margin-top:55px; } .service-list article { grid-template-columns:38px 1fr auto; gap:13px; } .service-list article:hover { padding-left:0; } .site-footer { grid-template-columns:1fr; gap:16px; } .site-footer div { justify-content:flex-start; flex-wrap:wrap; } }

/* Local system fonts avoid a third-party font request. */
body { font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif; }
.eyebrow,.hero-rule,.service-list span,.attribution { font-family:ui-monospace,SFMono-Regular,Consolas,monospace; }
.contact-grid > div,.contact-form { max-width:390px; }
.form-row { margin-top:18px; }
.form-row label { display:block; margin-bottom:6px; font-size:.78rem; font-weight:700; }
.form-row label span { color:var(--lime); }
input,textarea { width:100%; border:0; border-bottom:1px solid rgba(244,240,233,.42); border-radius:0; padding:9px 1px; background:transparent; color:var(--paper); font:inherit; outline:none; }
textarea { min-height:90px; resize:vertical; }
input:focus,textarea:focus { border-color:var(--lime); }
.trap { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
.form-status { min-height:25px; margin:14px 0 0!important; font-size:.84rem!important; color:var(--lime)!important; }
.button { border:0; cursor:pointer; font-family:inherit; }
.button:disabled { cursor:wait; opacity:.7; }
.legal h1 { margin-top:28px; }
.legal-copy { max-width:690px; margin-top:58px; }
.legal-copy h2 { margin:42px 0 14px; font-size:1.3rem; line-height:1.1; letter-spacing:-.04em; }
.legal-copy p { max-width:650px; }
.legal-copy a { text-decoration:underline; text-underline-offset:3px; }
