:root { --scarlet:#bb0d27; --scarlet-deep:#8b0b20; --ink:#171719; --grey:#626368; --mist:#f0f0ee; --paper:#fbfbf9; --line:#d8d8d4; --lime:#ddf04b; }
* { box-sizing:border-box; } html { scroll-behavior:smooth; } body { margin:0; background:var(--paper); color:var(--ink); font-family:Manrope,Arial,sans-serif; } a { color:inherit; text-decoration:none; }
.site-header { height:88px; padding:0 clamp(24px,5vw,78px); display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); }
.brand { display:flex; align-items:center; gap:10px; font-weight:800; font-size:14px; line-height:1.02; letter-spacing:-.6px; }.brand-logo { width:42px; height:42px; flex:none; object-fit:contain; border-radius:8px; }.site-header nav { display:flex; gap:32px; font-size:13px; font-weight:700; }.site-header nav a { color:var(--grey); }.site-header nav a:hover { color:var(--scarlet); }.nav-email { font-size:12px; font-weight:800; }.nav-email span { color:var(--scarlet); font-size:17px; margin-left:5px; }
.hero { min-height:650px; padding:clamp(65px,9vw,135px) clamp(24px,9vw,148px) 85px; display:grid; grid-template-columns:1.05fr .95fr; align-items:center; overflow:hidden; }.eyebrow { color:var(--scarlet); font-family:"DM Mono",monospace; font-size:10px; font-weight:500; letter-spacing:1px; line-height:1.5; text-transform:uppercase; }.hero h1,.approach h2,.services h2,.experience h2,.closing h2 { font-size:clamp(48px,6.2vw,89px); letter-spacing:-.075em; line-height:.98; margin:20px 0 26px; font-weight:800; }.hero h1 em,.approach h2 em,.experience h2 em,.closing h2 em { color:var(--scarlet); font-family:"Playfair Display",serif; font-weight:600; }.hero-intro { color:#505155; max-width:495px; font-size:16px; line-height:1.75; }.button { display:inline-flex; align-items:center; gap:25px; margin-top:22px; padding:15px 20px; border-radius:2px; font-size:13px; font-weight:800; transition:transform .18s, background .18s; }.button:hover { transform:translateY(-2px); }.button-primary { color:#fff; background:var(--scarlet); }.button span { font-size:20px; font-weight:400; }
.hero-art { position:relative; height:390px; margin-left:5vw; background:var(--mist); overflow:hidden; }.oxygen-orb { position:absolute; width:230px; height:230px; left:22%; top:20%; background:var(--scarlet); border-radius:50%; color:white; font-family:"Playfair Display",serif; transform:rotate(-14deg); }.oxygen-letter { position:absolute; left:51px; top:32px; font-size:150px; font-weight:600; letter-spacing:-19px; line-height:1; }.oxygen-subscript { position:absolute; left:135px; top:147px; font-family:"DM Mono",monospace; font-size:40px; font-weight:500; letter-spacing:-3px; line-height:1; }.hero-art p { position:absolute; right:7%; bottom:6%; font-family:"DM Mono",monospace; font-size:11px; line-height:1.4; text-transform:uppercase; }.air-line { position:absolute; border:1px solid #bebfbc; width:530px; height:220px; border-radius:50%; transform:rotate(-20deg); }.line-one { left:-38%; top:2%; }.line-two { left:-25%; top:12%; }.line-three { left:-12%; top:22%; }
.signal-band { background:var(--ink); color:white; padding:27px clamp(24px,9vw,148px); display:flex; align-items:center; justify-content:space-between; }.signal-band p { max-width:650px; margin:0; font-family:"Playfair Display",serif; font-size:20px; line-height:1.35; }.signal-band span { color:var(--lime); font-size:25px; }
.section { padding:125px clamp(24px,9vw,148px); display:grid; grid-template-columns:220px 1fr; }.section-label { font-family:"DM Mono",monospace; color:var(--grey); font-size:10px; letter-spacing:.5px; text-transform:uppercase; }.section-label span { color:var(--scarlet); margin-right:15px; }.approach-content { max-width:740px; }.approach h2 { font-size:clamp(39px,5vw,67px); margin-top:-12px; }.approach-content > p { max-width:610px; color:#4c4d51; font-size:16px; line-height:1.8; }.services { background:#e7e7e4; padding-bottom:135px; }.services-heading { display:grid; grid-template-columns:1fr 245px; gap:30px; align-items:end; }.services h2 { font-size:clamp(37px,4.5vw,62px); margin:-10px 0 42px; }.services-heading p { color:#55565a; font-size:13px; line-height:1.7; margin-bottom:47px; }.service-grid { grid-column:2; display:grid; grid-template-columns:1fr 1fr; border-top:1px solid #a9aaa7; }.service-card { padding:26px 32px 31px 0; border-bottom:1px solid #a9aaa7; min-height:210px; }.service-card:nth-child(odd) { margin-right:32px; }.service-card span { color:var(--scarlet); font-family:"DM Mono",monospace; font-size:10px; }.service-card h3 { font-size:21px; letter-spacing:-1.2px; margin:32px 0 10px; }.service-card p { color:#595a5e; max-width:290px; font-size:13px; line-height:1.7; margin:0; }
.experience { display:grid; grid-template-columns:1.12fr .88fr; }.experience-panel { background:var(--scarlet); color:#fff; padding:115px clamp(24px,8vw,130px); }.experience-panel .eyebrow { color:#fff; opacity:.8; }.experience h2 { margin-top:18px; font-size:clamp(45px,5vw,72px); }.experience h2 em { color:#fff; }.stat-row { border-top:1px solid rgba(255,255,255,.45); margin-top:75px; padding-top:25px; display:grid; grid-template-columns:repeat(3,1fr); gap:15px; }.stat-row strong { display:block; font-family:"Playfair Display",serif; font-size:38px; }.stat-row span { display:block; max-width:115px; font-size:10px; line-height:1.45; margin-top:4px; }.experience-copy { padding:115px clamp(24px,8vw,130px) 60px 68px; display:flex; flex-direction:column; justify-content:center; }.experience-copy p { color:#45464a; font-size:15px; line-height:1.85; max-width:440px; }.experience-copy .fine-print { margin-top:25px; color:#85868a; font-family:"DM Mono",monospace; font-size:10px; line-height:1.65; }
.closing { padding:120px 24px 130px; background:var(--mist); text-align:center; }.closing h2 { font-size:clamp(49px,6vw,83px); }.button-light { background:var(--ink); color:#fff; }.closing .eyebrow { margin:0; }.closing .button { margin:4px 0 0; } footer { padding:30px clamp(24px,5vw,78px); display:flex; align-items:center; justify-content:space-between; border-top:1px solid var(--line); } footer p,footer > a:not(.brand) { color:#77787b; font-size:11px; }.footer-brand { font-size:13px; }.footer-brand .brand-logo { width:32px; height:32px; }
@media (max-width:780px) { .site-header { height:72px; }.site-header nav { display:none; }.nav-email { font-size:11px; }.hero { grid-template-columns:1fr; padding-top:70px; }.hero-art { margin:55px 0 0; height:315px; }.section { grid-template-columns:1fr; gap:45px; padding-top:85px; padding-bottom:85px; }.services-heading { grid-template-columns:1fr; }.services-heading p { margin:-20px 0 10px; }.service-grid { grid-column:1; }.experience { grid-template-columns:1fr; }.experience-panel,.experience-copy { padding:80px 24px; }.experience-copy { padding-bottom:70px; }.stat-row { margin-top:50px; }.signal-band { padding-top:22px; padding-bottom:22px; }.signal-band p { font-size:16px; } footer { align-items:flex-start; gap:18px; flex-direction:column; } }
@media (max-width:480px) { .hero h1 { font-size:49px; }.service-grid { grid-template-columns:1fr; }.service-card:nth-child(odd) { margin-right:0; }.service-card { min-height:auto; }.oxygen-orb { left:13%; transform:scale(.85) rotate(-14deg); }.stat-row { grid-template-columns:1fr; }.stat-row span { max-width:180px; } }
