:root{--ink:#0b0b0c;--paper:#f3efe9;--paper2:#e7e0d7;--red:#e43a2e;--coral:#ff7358;--line:#cbc3b9;--max:1240px}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ink);color:#fff;font:16px/1.6 Arial,Helvetica,sans-serif}
a{color:inherit}
.skip{position:fixed;left:16px;top:-60px;background:#fff;color:#000;padding:12px 16px;z-index:20}
.skip:focus{top:12px}
.site-header{height:84px;padding:0 max(5vw,24px);display:flex;align-items:center;gap:34px;background:#0b0b0cf5;border-bottom:1px solid #ffffff18;position:sticky;top:0;z-index:10}
.wordmark{display:inline-flex;align-items:baseline;gap:7px;text-decoration:none;white-space:nowrap}
.wordmark strong{font:400 25px/1 "Times New Roman",Times,serif;letter-spacing:.045em}
.wordmark sup{font:500 7px Arial,sans-serif;vertical-align:top;margin-left:2px}
.wordmark span{font:400 20px/1 "Times New Roman",Times,serif;color:var(--red)}
nav{display:flex;gap:28px;margin-left:auto}
nav a{text-decoration:none;font-size:13px;color:#ded8d2}
nav a:hover{text-decoration:underline;text-underline-offset:6px}
.button{display:inline-flex;justify-content:center;align-items:center;min-height:48px;padding:12px 22px;border:1px solid var(--red);background:var(--red);color:#fff;text-decoration:none;font-weight:700;font-size:13px;letter-spacing:.02em;transition:.2s}
.button:hover{background:#bd2b23;border-color:#bd2b23}
.button:focus-visible,a:focus-visible{outline:3px solid var(--coral);outline-offset:4px}
.button-small{min-height:42px;padding:10px 16px}
.hero{min-height:690px;position:relative;display:flex;align-items:center;overflow:hidden}
.hero-image,.support-image,.cta-section{background-size:cover}
.hero-image{background-image:url('hero-road-v2.jpg');background-position:center}
.support-image{background-image:url('support-road-v2.jpg');background-position:60% center}
.cta-section{background-image:url('cta-road-v2.jpg');background-position:center 62%}
.hero-image{position:absolute;inset:0}
.hero-image:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#080809 0%,#080809de 34%,#0808092e 67%,#08080947 100%)}
.hero-shade{position:absolute;inset:auto 0 0;height:34%;background:linear-gradient(transparent,#0b0b0cb8)}
.hero-orbit{position:absolute;width:660px;height:270px;border-radius:50% 50% 0 0;border-top:2px solid #fff9;right:3vw;top:105px;transform:rotate(-5deg);filter:drop-shadow(0 0 8px #fff8)}
.hero-copy{position:relative;width:min(650px,86vw);margin-left:max(7vw,30px);padding:50px 0;z-index:2}
.eyebrow{text-transform:uppercase;letter-spacing:.24em;font-size:11px;font-weight:800;color:var(--coral);margin:0 0 18px}
.hero h1,.section h2,.cta-section h2{font-family:Georgia,Times,serif;font-weight:400;letter-spacing:-.045em;line-height:.96;margin:0}
.accent-period{color:var(--coral)}
.hero h1{font-size:clamp(58px,7vw,104px)}
.hero-copy>p:not(.eyebrow){color:#ddd7d0;font-size:19px;max-width:500px;margin:28px 0}
.actions{display:flex;align-items:center;gap:30px}
.text-link{text-decoration:none;font-weight:700;font-size:13px}
.text-link:hover{text-decoration:underline}
.hero-note{position:absolute;right:7vw;bottom:32px;z-index:2;text-transform:uppercase;letter-spacing:.2em;font-size:10px;color:#d7d1cb}
.section{padding:100px max(7vw,30px)}
.light{background:var(--paper);color:#191817}
.section-heading,.intro-copy{max-width:var(--max);margin-left:auto;margin-right:auto}
.section h2{font-size:clamp(48px,5.5vw,78px)}
.intro-copy{font-size:18px;color:#4e4a46;margin-top:34px;margin-bottom:55px}
.intro-copy p{max-width:700px}
.service-grid{max-width:var(--max);margin:auto;display:grid;grid-template-columns:repeat(4,1fr);gap:30px}
.service-grid article{border-top:1px solid var(--line);padding-top:22px}
.service-icon{color:var(--red);font-size:30px}
.kicker{text-transform:uppercase;letter-spacing:.18em;color:var(--red);font-size:10px;font-weight:800;margin:16px 0 4px}
.service-grid h3{font:400 24px/1.1 Georgia,serif;margin:0 0 14px}
.service-grid p:last-child{color:#67615b;font-size:14px}
.dark{background:var(--ink);color:#fff}
.approach{display:grid;grid-template-columns:1.1fr .9fr;gap:10vw;position:relative;overflow:hidden}
.approach:before{content:"";position:absolute;width:620px;height:620px;border:2px solid #f1664d55;border-radius:50%;left:24%;bottom:-510px;box-shadow:0 -10px 55px #f1603d22}
.eclipse{position:absolute;width:280px;height:280px;border-radius:50%;background:#090909;right:29%;top:80px;box-shadow:24px -20px 35px #f6513542,55px -6px 80px #ff9a4c25}
.approach-copy,.steps{position:relative;z-index:2}
.approach-copy>p:not(.eyebrow){max-width:560px;color:#bdb7b0;margin:28px 0}
.steps{list-style:none;margin:0;padding:0;align-self:center}
.steps li{display:grid;grid-template-columns:60px 1fr;gap:16px;border-top:1px solid #ffffff28;padding:20px 0}
.steps li:last-child{border-bottom:1px solid #ffffff28}
.steps span{width:34px;height:34px;border:1px solid var(--red);border-radius:50%;display:grid;place-items:center;color:var(--coral);font-size:10px}
.steps strong{text-transform:uppercase;letter-spacing:.15em;font-size:11px}
.steps p{margin:4px 0 0;color:#9e9892;font-size:13px}
.support{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center}
.support-image{min-height:430px;background-position:65% center;box-shadow:20px 20px 0 var(--paper2)}
.support-copy p:not(.eyebrow){color:#59534e;font-size:18px}
.audiences{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px}
.audiences span{border:1px solid var(--line);border-radius:100px;padding:8px 13px;font-size:12px}
.cta-section{min-height:440px;position:relative;padding:90px max(7vw,30px);display:grid;grid-template-columns:1.4fr .8fr;gap:7vw;align-items:end;background-position:center 64%;color:#fff}
.cta-shade{position:absolute;inset:0;background:linear-gradient(90deg,#090909e8 0%,#0909098f 55%,#09090930),linear-gradient(0deg,#080808b8,transparent)}
.cta-copy,.contact-actions{position:relative}
.cta-section h2{font-size:clamp(54px,6vw,86px)}
.cta-copy>p:last-child{max-width:540px;color:#ded8d2}
.contact-actions{display:flex;flex-direction:column;align-items:flex-start;gap:13px}
.contact-actions>a:not(.button){font-size:14px;text-decoration:none}
.contact-actions>a:not(.button):hover{text-decoration:underline}
footer{background:#080809;padding:32px max(7vw,30px);display:flex;align-items:center;gap:45px}
footer p{font-size:12px;color:#8e8984}
footer p:last-child{margin-left:auto}
@media(max-width:900px){nav{display:none}
.site-header .button-small{margin-left:auto}
.service-grid{grid-template-columns:repeat(2,1fr)}
.approach{grid-template-columns:1fr;gap:10vw}
.eclipse{right:-100px}
.support,.cta-section{grid-template-columns:1fr}
.support-image{min-height:330px}
.contact-actions{margin-top:20px}
footer{flex-wrap:wrap}
footer p:last-child{margin-left:0}
}
@media(max-width:560px){.site-header{height:72px}
.site-header .button-small{display:none}
.wordmark strong{font-size:21px}
.wordmark span{font-size:18px}
.hero{min-height:610px;align-items:flex-end}
.hero-copy{margin-left:24px;padding-bottom:90px}
.hero h1{font-size:55px}
.hero-copy>p:not(.eyebrow){font-size:17px}
.actions{align-items:flex-start;flex-direction:column;gap:16px}
.hero-orbit{top:115px}
.hero-note{display:none}
.section{padding:78px 24px}
.section h2{font-size:44px}
.service-grid{grid-template-columns:1fr}
.approach{gap:55px}
.support{gap:55px}
.cta-section{padding:76px 24px}
.cta-section h2{font-size:50px}
footer{align-items:flex-start;flex-direction:column;gap:8px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}
.button{transition:none}
}
