:root { --ink:#0b0a09; --paper:#f3f1ea; --acid:#ffd632; --muted:#a8a49b; --font-geist-sans:Arial; --font-geist-mono:monospace; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:var(--font-geist-sans), Arial, sans-serif; }
a { color:inherit; text-decoration:none; }
.shell { width:min(1320px, calc(100% - 80px)); margin-inline:auto; }
.hero { position:relative; min-height:100svh; overflow:hidden; color:#f5f3ec; background:var(--ink); isolation:isolate; }
.nav { height:110px; display:flex; align-items:center; justify-content:space-between; position:relative; z-index:4; border-bottom:1px solid rgba(255,255,255,.13); }
.brand { display:flex; gap:13px; align-items:center; font-size:18px; font-weight:420; letter-spacing:.22em; }
.mark { width:34px; height:34px; display:inline-block; position:relative; flex:none; }
.mark i { position:absolute; inset:4px; border:1px solid currentColor; transform:rotate(calc(var(--r) * 12deg)); }
.mark i:nth-child(1){--r:0}.mark i:nth-child(2){--r:1}.mark i:nth-child(3){--r:2}.mark i:nth-child(4){--r:3}.mark i:nth-child(5){--r:4}.mark i:nth-child(6){--r:5}
.navLinks { display:flex; gap:42px; font-size:14px; }
.navLinks a { opacity:.72; transition:opacity .2s; }.navLinks a:hover{opacity:1}
.heroGlow { position:absolute; width:650px; height:650px; border-radius:50%; right:-110px; top:90px; background:var(--acid); filter:blur(160px); opacity:.1; z-index:-2; }
.heroGrid { position:absolute; inset:0; opacity:.12; z-index:-1; background-image:linear-gradient(rgba(255,255,255,.12) 1px, transparent 1px),linear-gradient(90deg, rgba(255,255,255,.12) 1px, transparent 1px); background-size:88px 88px; mask-image:linear-gradient(to bottom,transparent,black 35%,transparent); }
.heroContent { min-height:calc(100svh - 172px); display:flex; flex-direction:column; justify-content:center; padding:64px 0 90px; position:relative; z-index:2; }
.eyebrow { text-transform:uppercase; letter-spacing:.16em; font-size:11px; font-weight:650; display:flex; align-items:center; gap:12px; }
.eyebrow span { width:30px; height:2px; display:inline-block; background:var(--acid); }
h1 { margin:35px 0 46px; max-width:1120px; font-size:clamp(60px,7.8vw,122px); line-height:.88; letter-spacing:-.065em; font-weight:560; }
h1 em, .contact h2 em { color:var(--acid); font-family:Georgia,serif; font-weight:400; }
.heroBottom { display:flex; align-items:center; justify-content:space-between; gap:50px; }
.heroBottom>p { max-width:540px; margin:0; color:#aaa79f; font-size:18px; line-height:1.65; }
.roundCta { width:148px; height:148px; flex:none; border-radius:50%; background:var(--acid); color:#111; display:flex; flex-direction:column; justify-content:space-between; padding:27px; font-size:13px; font-weight:650; transition:transform .25s,background .25s; }
.roundCta:hover { transform:rotate(-4deg) scale(1.04); background:white; }.roundCta b{font-size:24px;align-self:flex-end}
.ticker { height:62px; display:flex; align-items:center; white-space:nowrap; overflow:hidden; border-top:1px solid rgba(255,255,255,.16); background:#11100f; text-transform:uppercase; letter-spacing:.14em; font-size:11px; }
.ticker div { min-width:max-content; animation:drift 22s linear infinite; }.ticker b{color:var(--acid);margin:0 28px}@keyframes drift{to{transform:translateX(-15%)}}
.services { padding:150px 0; display:grid; grid-template-columns:36% 1fr; gap:10%; }
.eyebrow.dark span { background:#111; }.sectionIntro{position:sticky;top:70px;align-self:start}.sectionIntro h2{font-size:clamp(50px,5.4vw,82px);line-height:.95;letter-spacing:-.055em;margin:34px 0}.sectionIntro>p:last-child{max-width:380px;color:#6d6962;line-height:1.7}
.serviceList article { position:relative; display:grid; grid-template-columns:46px 1fr 220px 24px; gap:18px; align-items:center; padding:32px 0; border-top:1px solid #c9c5bb; transition:padding .25s; }.serviceList article:last-child{border-bottom:1px solid #c9c5bb}.serviceList article:hover{padding-left:10px}.serviceList small{color:#858078;font-family:var(--font-geist-mono)}.serviceList h3{font-size:26px;letter-spacing:-.03em;margin:0}.serviceList p{font-size:14px;line-height:1.5;color:#706c64;margin:0}.serviceList article>span{font-size:20px}
.contact { background:#11100f;color:#f5f3ec;padding:140px 0 50px; }.contact h2{font-size:clamp(70px,10vw,150px);line-height:.85;letter-spacing:-.07em;margin:45px 0 95px}.email{display:flex;justify-content:space-between;align-items:center;padding:25px 0;border-top:1px solid #68655e;border-bottom:1px solid #68655e;font-size:clamp(26px,4vw,54px);letter-spacing:-.04em}.email span{color:var(--acid)}.contactMeta{display:grid;grid-template-columns:1fr 1fr 1fr;gap:40px;margin-top:70px;color:#b6b2a9;font-size:14px;line-height:1.6}.contactMeta p{margin:0}.contactMeta small{display:block;text-transform:uppercase;color:#6e6b65;font-size:9px;letter-spacing:.18em;margin-bottom:11px}.contactMeta a:hover{color:var(--acid)}.copyright{display:flex;align-items:flex-end;justify-content:flex-end;gap:12px}.copyright .mark{width:24px;height:24px}
@media(max-width:800px){.shell{width:min(100% - 40px,1320px)}.nav{height:82px}.navLinks{gap:18px}.navLinks a:first-child{display:none}.brand{font-size:14px}.mark{width:29px;height:29px}.heroContent{min-height:calc(100svh - 138px);padding:55px 0 70px}h1{font-size:clamp(48px,15vw,74px);margin:30px 0 45px}.heroBottom{align-items:flex-end}.heroBottom>p{font-size:15px}.roundCta{width:112px;height:112px;padding:20px}.roundCta span{max-width:60px}.services{padding:100px 0;display:block}.sectionIntro{position:static;margin-bottom:70px}.serviceList article{grid-template-columns:35px 1fr 20px}.serviceList article p{display:none}.serviceList h3{font-size:20px}.contact{padding-top:100px}.contact h2{margin:35px 0 70px}.contactMeta{grid-template-columns:1fr 1fr}.copyright{grid-column:1/-1;justify-content:flex-start;margin-top:25px}}
@media(max-width:480px){.heroBottom{display:block}.roundCta{margin:35px 0 0 auto}.contactMeta{grid-template-columns:1fr;gap:32px}.copyright{grid-column:auto}.email{font-size:23px}.heroGrid{background-size:58px 58px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.ticker div{animation:none}.roundCta{transition:none}}

/* Official horizontal logo, extracted from the supplied print master. */
.brand { gap:0; }
.brand img { width:188px; height:auto; display:block; }
.copyright img { width:100px; height:auto; opacity:.65; }
@media(max-width:800px){.brand img{width:156px}}
