:root { --ink:#15251e; --muted:#53645b; --line:#d8ddd6; --paper:#fbfcfa; --moss:#29533e; --lime:#b6dd57; --clay:#dbe7bf; --deep:#143f30; --serif: Georgia, 'Times New Roman', serif; --sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:var(--sans); font-size:16px; line-height:1.55; }
a { color:inherit; }
.wrap { width:min(1120px, calc(100% - 48px)); margin-inline:auto; }
.site-header { width:min(1264px, calc(100% - 48px)); margin:0 auto; padding:24px 0; display:flex; justify-content:space-between; align-items:center; }
.brand { font-size:1.35rem; font-weight:780; letter-spacing:-.06em; text-decoration:none; }
.brand span { color:var(--moss); }
.header-link { font-size:.9rem; font-weight:680; text-underline-offset:4px; }
.hero { min-height:590px; padding:78px 0 92px; display:grid; grid-template-columns:1.45fr .55fr; gap:56px; align-items:end; }
.eyebrow { margin:0 0 18px; color:var(--moss); font-size:.75rem; font-weight:760; letter-spacing:.13em; text-transform:uppercase; }
h1,h2,h3,p { margin-top:0; }
h1,h2,h3 { font-family:var(--serif); letter-spacing:-.045em; line-height:.98; font-weight:500; }
h1 { max-width:780px; margin-bottom:24px; font-size:clamp(3.35rem, 7vw, 6.7rem); }
h2 { margin-bottom:22px; font-size:clamp(2.4rem, 4.4vw, 4.45rem); }
h3 { font-size:clamp(1.9rem, 3vw, 3rem); }
.lede { max-width:540px; margin-bottom:34px; color:var(--muted); font-size:1.15rem; }
.button { display:inline-flex; align-items:center; gap:18px; padding:14px 19px; border-radius:3px; background:var(--moss); color:#fff; font-size:.93rem; font-weight:720; text-decoration:none; transition:transform .18s ease, background .18s ease; }
.button:hover,.button:focus-visible { background:#173d2b; transform:translateY(-2px); }
.button span { font-size:1.25rem; line-height:.8; }
.hero-note { max-width:275px; margin-bottom:4px; padding:26px; border-top:1px solid var(--ink); background:var(--clay); }
.hero-note p { margin:20px 0 12px; font-family:var(--serif); font-size:1.55rem; line-height:1.05; }
.hero-note small { color:var(--muted); line-height:1.35; }
.note-mark { display:grid; width:33px; height:33px; place-items:center; border-radius:50%; background:var(--ink); color:var(--lime); font-size:.7rem; font-weight:800; letter-spacing:-.05em; }
.statement { padding:104px 0; background:var(--ink); color:white; }
.statement-grid { display:grid; grid-template-columns:.45fr 1.55fr; gap:32px; }
.statement .eyebrow { color:var(--lime); }
.statement h2 { max-width:830px; }
.statement p:not(.eyebrow) { max-width:625px; margin-bottom:0; color:#ccd7d0; font-size:1.05rem; }
.work { padding:110px 0; }
.section-heading { max-width:620px; margin-bottom:44px; }
.section-heading > p:last-child { max-width:540px; color:var(--muted); }
.sample { display:grid; grid-template-columns:1.15fr .85fr; min-height:530px; background:#eef2e9; }
.sample-image { min-height:350px; overflow:hidden; }
.sample-image img { width:100%; height:100%; object-fit:cover; display:block; }
.sample-copy { padding:54px; align-self:center; }
.sample-label { color:var(--moss); font-size:.75rem; font-weight:760; letter-spacing:.1em; text-transform:uppercase; }
.sample-copy > p:not(.sample-label) { color:var(--muted); }
ul { padding:0; margin:26px 0 0; list-style:none; font-size:.9rem; }
li { border-top:1px solid #cad3c9; padding:11px 0; }
li::before { content:'•'; padding-right:9px; color:var(--moss); }
.scope { padding:110px 0; background:#e4eccd; }
.scope-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:84px; }
.scope-intro { max-width:380px; color:var(--muted); font-size:1.05rem; }
.scope-list { margin:0; }
.scope-list div { padding:0 0 24px; margin-bottom:22px; border-bottom:1px solid #bfcda9; }
dt { margin-bottom:5px; font-family:var(--serif); font-size:1.55rem; letter-spacing:-.03em; }
dd { margin:0; color:var(--muted); }
.process { padding:110px 0; }
.narrow { max-width:520px; }
ol { display:grid; grid-template-columns:repeat(3,1fr); gap:42px; margin:42px 0 32px; padding:0; list-style:none; }
ol li { border-top:1px solid var(--ink); padding-top:16px; }
ol li::before { content:none; }
ol span { display:block; margin-bottom:40px; color:var(--moss); font-size:.78rem; font-weight:750; letter-spacing:.1em; }
ol strong { display:block; margin-bottom:8px; font-family:var(--serif); font-size:2rem; font-weight:500; letter-spacing:-.04em; }
ol p { margin:0; color:var(--muted); }
.fine-print { max-width:760px; color:var(--muted); font-size:.86rem; }
.closing { padding:104px 0; background:var(--deep); color:white; }
.closing-inner { max-width:890px; }
.closing .eyebrow { color:var(--lime); }
.closing h2 { max-width:760px; margin-bottom:32px; }
.button-light { background:var(--lime); color:var(--ink); }
.button-light:hover,.button-light:focus-visible { background:#d2ee8b; }
.site-footer { padding:28px 0 38px; display:grid; grid-template-columns:1fr 1fr auto; gap:20px; align-items:center; color:var(--muted); font-size:.82rem; }
.site-footer p { margin:0; }
.site-footer a:last-child { text-underline-offset:4px; }
@media (max-width:760px) { .wrap,.site-header { width:min(100% - 36px, 1120px); } .hero { min-height:auto; padding:58px 0 70px; grid-template-columns:1fr; gap:45px; } .hero-note { max-width:100%; } .statement,.work,.scope,.process,.closing { padding:72px 0; } .statement-grid,.scope-grid { grid-template-columns:1fr; gap:22px; } .sample { grid-template-columns:1fr; } .sample-image { min-height:270px; } .sample-copy { padding:34px 26px 38px; } ol { grid-template-columns:1fr; gap:8px; } ol span { margin-bottom:16px; } .site-footer { grid-template-columns:1fr; gap:8px; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .button { transition:none; } }
