@import url('https://fonts.googleapis.com/css2?family=DM+Mono&family=Manrope:wght@400;500;600;700;800&family=Newsreader:opsz,wght@6..72,500;6..72,600&display=swap');

:root { --ink:#122019; --forest:#153b31; --moss:#4d715f; --mist:#ecf1ec; --paper:#fafaf7; --sand:#d8c8ad; --coral:#da7666; --line:rgba(18,32,25,.14); --radius:1.25rem; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:Manrope,Arial,sans-serif; font-size:16px; line-height:1.65; }
a { color:inherit; text-decoration:none; }
.skip-link { position:absolute; left:-999px; }
.skip-link:focus { left:1rem; top:1rem; z-index:10; padding:.7rem 1rem; background:white; }
.site-header { position:sticky; top:0; z-index:5; display:flex; align-items:center; justify-content:space-between; gap:2rem; padding:1rem max(5vw,1.5rem); border-bottom:1px solid var(--line); background:rgba(250,250,247,.91); backdrop-filter:blur(16px); }
.brand { display:flex; align-items:center; gap:.7rem; font-size:.73rem; line-height:1.2; letter-spacing:.04em; text-transform:uppercase; }
.brand strong { font-size:.88rem; letter-spacing:0; }
.brand__mark { display:inline-grid; width:2.45rem; height:2.45rem; place-items:center; border-radius:50%; color:var(--paper); background:var(--forest); font-family:"DM Mono",monospace; font-size:.75rem; }
.main-nav { display:flex; align-items:center; gap:clamp(.8rem,2.3vw,2.5rem); font-size:.8rem; font-weight:700; }
.main-nav a:not(.nav-button) { border-bottom:1px solid transparent; }
.main-nav a:not(.nav-button):hover { border-color:currentColor; }
.nav-button,.button { display:inline-flex; align-items:center; justify-content:center; border-radius:999px; font-weight:700; }
.nav-button { padding:.58rem 1rem; color:var(--paper); background:var(--forest); }
.hero { min-height:calc(100svh - 74px); display:grid; align-content:center; grid-template-columns:minmax(0,1.3fr) minmax(250px,.7fr); gap:5vw; padding:6rem max(8vw,1.5rem); background:radial-gradient(circle at 85% 20%,#cde0d2 0,transparent 25%),linear-gradient(140deg,#eef3ef, #f9f8f2 58%,#e4dbca); }
.hero__content { max-width:770px; }
.eyebrow,.section__label { margin:0; color:var(--moss); font-family:"DM Mono",monospace; font-size:.7rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
h1,h2 { margin:.4rem 0 1.3rem; font-family:Newsreader,Georgia,serif; font-weight:500; line-height:.98; letter-spacing:-.045em; }
h1 { max-width:790px; font-size:clamp(3.6rem,8vw,7.6rem); }
h2 { font-size:clamp(2.7rem,5vw,4.8rem); }
h3 { margin:.45rem 0 .7rem; font-size:1.13rem; line-height:1.25; }
p { margin:.2rem 0 1rem; }
.lead { max-width:650px; font-size:clamp(1.1rem,1.6vw,1.35rem); }
.hero__actions { display:flex; flex-wrap:wrap; gap:.75rem; margin-top:2rem; }
.button { min-height:3.2rem; padding:.65rem 1.2rem; }
.button--primary { color:white; background:var(--forest); }.button--primary:hover { background:#205747; }.button--quiet { border:1px solid var(--ink); }.button--quiet:hover { background:var(--ink); color:white; }
.availability { align-self:end; padding:1.35rem; border:1px solid var(--line); border-radius:var(--radius); background:rgba(250,250,247,.65); box-shadow:0 1.2rem 3.5rem rgba(33,56,44,.07); }.availability p { margin:0; }.availability__dot { display:block; width:.65rem; height:.65rem; margin-bottom:.9rem; border-radius:50%; background:var(--coral); }
.section { display:grid; grid-template-columns:minmax(120px,.34fr) minmax(0,1.7fr); gap:2rem 5vw; padding:clamp(5rem,10vw,9rem) max(8vw,1.5rem); }.section__heading { max-width:820px; }.section__heading > p:not(.eyebrow) { max-width:600px; font-size:1.1rem; }
.cards { grid-column:2; display:grid; gap:1rem; }.cards--three { grid-template-columns:repeat(3,1fr); }.card { min-height:210px; padding:1.4rem; border:1px solid var(--line); border-radius:var(--radius); background:#fff; transition:transform .2s,box-shadow .2s; }.card:hover { transform:translateY(-4px); box-shadow:0 1rem 2.5rem rgba(18,32,25,.1); }.card span,.client-area > span,.timeline span { color:var(--coral); font-family:"DM Mono",monospace; font-size:.72rem; font-weight:bold; }.card p { font-size:.91rem; }
.client-area { grid-column:2; display:grid; grid-template-columns:3rem 1fr 1.3fr; gap:1rem; align-items:center; margin-top:1rem; padding:1.5rem; border-radius:var(--radius); color:var(--paper); background:var(--forest); }.client-area .eyebrow { color:#bcd5c6; }.client-area h3 { margin:0; }.client-area p:last-child { margin:0; font-size:.88rem; }
.section--dark { color:var(--paper); background:var(--forest); }.section--dark .section__label,.section--dark .eyebrow { color:#b9d5c2; }.section--dark .section__heading { grid-column:2; }.timeline { grid-column:2; display:grid; border-top:1px solid rgba(255,255,255,.24); }.timeline article { display:grid; grid-template-columns:4rem 1fr; gap:1rem; padding:1.35rem 0; border-bottom:1px solid rgba(255,255,255,.24); }.timeline span { color:var(--sand); }.timeline h3 { margin:0; font-size:1.28rem; }.timeline p { max-width:660px; margin:.25rem 0 0; color:#d5e2d8; }
.section--feature { align-items:center; background:var(--sand); }.feature__number { grid-column:1; color:var(--coral); font-family:Newsreader,Georgia,serif; font-size:clamp(6rem,13vw,12rem); line-height:.8; }.feature__number + div { grid-column:2; max-width:750px; }.text-link { display:inline-block; margin-top:.75rem; border-bottom:1px solid currentColor; font-weight:800; }.text-link span { padding-left:.35rem; }
.site-footer { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:1rem 2rem; padding:2rem max(5vw,1.5rem); color:#d8e6dd; background:#0d1712; font-size:.8rem; }.site-footer p { margin:0; }.site-footer .brand__mark { width:1.8rem; height:1.8rem; margin-right:.35rem; background:var(--coral); }.site-footer a { border-bottom:1px solid #d8e6dd; }
@media (max-width:760px) { .site-header { padding:.8rem 1rem; }.main-nav { gap:.75rem; font-size:.72rem; }.main-nav a:nth-child(-n+2) { display:none; }.hero,.section { grid-template-columns:1fr; }.hero { min-height:auto; padding:6rem 1.5rem 4rem; }.availability { max-width:400px; }.section { padding:4.5rem 1.5rem; }.section__label,.cards,.client-area,.section--dark .section__heading,.timeline,.feature__number,.feature__number + div { grid-column:1; }.cards--three { grid-template-columns:1fr; }.card { min-height:auto; }.client-area { grid-template-columns:2rem 1fr; }.client-area p:last-child { grid-column:2; }.feature__number { margin-bottom:1rem; }.site-footer { align-items:flex-start; flex-direction:column; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; }.card { transition:none; } }
