:root{--ink:#0a0f1a;--paper:#f4f1eb;--accent:#c45d3e;--slate:#3a4259;--divider:#d4d0c8;--card:#fffdf9}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font:400 16px/1.65 'Instrument Sans',sans-serif}
.container{width:min(100% - 80px,1200px);margin-inline:auto}
.skip-link{position:absolute;left:12px;top:-100px;z-index:300;background:var(--ink);color:#fff;padding:10px 14px}
.skip-link:focus{top:12px}
a{color:#9a4229;text-underline-offset:3px}
a:focus-visible,button:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
nav.collapsible-nav{position:sticky;top:0;z-index:100;background:rgba(244,241,235,.98);border-bottom:1px solid var(--divider)}
nav.collapsible-nav .container{display:flex;align-items:center;justify-content:space-between;gap:32px;min-height:76px}
.nav-logo{font:400 1.5rem 'DM Serif Display',serif;color:var(--ink);text-decoration:none;white-space:nowrap;flex-shrink:0}
.nav-logo span,.footer-logo span{color:var(--accent)}
nav.collapsible-nav .nav-links{display:flex;align-items:center;gap:22px;margin-left:auto}
nav.collapsible-nav .nav-links a{font-size:.8rem;font-weight:600;letter-spacing:.2px;text-transform:uppercase;color:var(--slate);text-decoration:none;white-space:nowrap}
nav.collapsible-nav .nav-links a:hover{color:#9a4229}
nav.collapsible-nav .nav-links .nav-cta{background:#a94c30;color:#fff;padding:10px 14px;border-radius:6px}
.mobile-nav-toggle{display:none}
.eyebrow{font:600 .72rem/1.4 'JetBrains Mono',monospace;text-transform:uppercase;letter-spacing:2px;color:#a4482d}
.service-hero{padding:72px 0 66px;border-bottom:1px solid var(--divider)}
.service-hero .container{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(250px,.65fr);gap:50px;align-items:end}
.service-hero h1{font:400 clamp(2.5rem,5vw,4.6rem)/1.09 'DM Serif Display',serif;letter-spacing:-1.5px;max-width:880px;margin:16px 0 22px}
.service-hero p{font-size:1.18rem;color:var(--slate);max-width:720px;margin:0}
.hero-aside{background:var(--ink);color:#fff;padding:30px;border-radius:10px}
.hero-aside p{font-size:.95rem;color:#e6e1d9;margin:10px 0 20px}
.hero-aside strong{font-size:1.1rem}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:11px 18px;border-radius:6px;text-decoration:none;font-weight:700;line-height:1.3;text-align:center}
.button-primary{background:#a94c30;color:#fff}
.button-primary:hover{background:#8e3b25;color:#fff}
.button-outline{border:1px solid var(--accent);color:#9a4229;background:transparent}
.service-section{padding:64px 0;border-bottom:1px solid var(--divider)}
.service-section.alt{background:var(--card)}
.service-section h2,.service-cta h2{font:400 clamp(2rem,3.4vw,3rem)/1.16 'DM Serif Display',serif;letter-spacing:-.5px;margin:9px 0 19px}
.section-intro{max-width:760px;color:var(--slate);margin:0 0 28px;font-size:1.06rem}
.two-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.three-col{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.card{background:var(--card);border:1px solid var(--divider);border-radius:8px;padding:26px;min-width:0}
.alt .card{background:var(--paper)}
.card h3{font-size:1.2rem;line-height:1.3;margin:0 0 10px}
.card p{margin:0;color:var(--slate)}
.card ul,.service-list{margin:10px 0 0;padding-left:21px}
.card li,.service-list li{margin:7px 0}
.deliverables{columns:2;column-gap:52px;max-width:1000px}
.deliverables li{break-inside:avoid;margin:0 0 13px;padding-right:15px}
.step-list{list-style:none;padding:0;margin:26px 0 0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.step-list li{border-top:3px solid var(--accent);padding:17px 12px 0 0}
.step-list strong{display:block;margin-bottom:9px}
.step-list p{margin:0;color:var(--slate)}
.resource-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin-top:24px}
.resource-list a{display:block;background:var(--card);border:1px solid var(--divider);border-radius:8px;padding:18px 20px;text-decoration:none;font-weight:700}
.resource-list a span{display:block;color:var(--slate);font-weight:400;font-size:.92rem;margin-top:4px}
.resource-list a:hover{border-color:var(--accent)}
.service-cta{background:var(--ink);color:#fff;padding:64px 0}
.service-cta p{max-width:700px;color:#ddd7ce;margin:0 0 24px}
.service-cta a:not(.button){color:#f0b4a2}
footer{background:#080c16;color:#fff;padding:32px 0}
footer .container{display:flex;align-items:center;justify-content:space-between;gap:25px;flex-wrap:wrap}
.footer-logo{font:400 1.2rem 'DM Serif Display',serif;white-space:nowrap}
.footer-links{display:flex;flex-wrap:wrap;gap:10px 18px}
.footer-links a{color:#f2d1c5;font-size:.82rem}
@media(max-width:1180px){nav.collapsible-nav .container{width:min(100% - 48px,1200px);flex-wrap:wrap;column-gap:12px}nav.collapsible-nav.mobile-ready .mobile-nav-toggle{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:76px;margin-left:auto;padding:8px 12px;border:1px solid var(--divider);border-radius:6px;background:var(--paper);color:var(--ink);font:600 .9rem 'Instrument Sans',sans-serif;cursor:pointer}nav.collapsible-nav.mobile-ready .nav-links{display:none;flex-basis:100%;flex-direction:column;align-items:stretch;gap:0;margin-left:0;max-height:calc(100dvh - 88px);overflow-y:auto;padding-bottom:12px}nav.collapsible-nav.mobile-ready.is-open .nav-links{display:flex}nav.collapsible-nav.mobile-ready .nav-links a{display:flex;align-items:center;min-height:44px;font-size:.95rem;white-space:normal;border-bottom:1px solid var(--divider)}nav.collapsible-nav.mobile-ready .nav-links .nav-cta{align-self:flex-start;margin:8px 0}}
@media(max-width:850px){.service-hero .container{grid-template-columns:1fr;gap:28px}.hero-aside{max-width:560px}.three-col,.step-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.container{width:min(100% - 40px,1200px)}.service-hero{padding:48px 0}.service-section,.service-cta{padding:48px 0}.two-col,.three-col,.step-list,.resource-list{grid-template-columns:1fr}.deliverables{columns:1}.service-hero h1{font-size:clamp(2.25rem,10vw,3.2rem)}.hero-aside{padding:24px}}
