:root { --ink:#11251f; --forest:#1c4b3e; --leaf:#7bbd87; --cream:#f4f2eb; --line:#d8ddd4; --muted:#5c6a64; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--cream); font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; line-height:1.55; }
h1,h2,h3,p { margin-top:0; } h1,h2,h3 { font-family:Georgia, "Times New Roman", serif; line-height:1.04; } h1 { font-size:clamp(3.1rem,7vw,6.5rem); } h2 { font-size:clamp(2.25rem,4vw,4rem); } h3 { font-size:1.4rem; } a { color:inherit; text-decoration:none; }
.skip-link { position:absolute; left:-999px; } .skip-link:focus { left:1rem; top:1rem; z-index:10; padding:.7rem; background:white; }
.site-header { height:78px; padding:0 clamp(1.2rem,5vw,5rem); display:flex; justify-content:space-between; align-items:center; background:#fffdf8; border-bottom:1px solid var(--line); }
.brand { font:700 1.35rem/1 Georgia,serif; letter-spacing:-.04em; } .brand span { color:var(--forest); } nav { display:flex; align-items:center; gap:clamp(.8rem,2vw,2rem); font-size:.9rem; } nav a:not(.nav-cta) { color:#3c4b45; } .nav-cta,.button { display:inline-block; border-radius:2px; padding:.85rem 1.15rem; font-weight:700; font-size:.88rem; letter-spacing:.02em; } .nav-cta { color:white; background:var(--forest); }
.hero { min-height:700px; position:relative; display:grid; align-items:end; overflow:hidden; color:white; } .hero img,.hero-overlay { position:absolute; inset:0; height:100%; width:100%; } .hero img { object-fit:cover; } .hero-overlay { background:linear-gradient(90deg,rgba(7,26,20,.79) 0%,rgba(7,26,20,.35) 58%,rgba(7,26,20,.08) 100%); } .hero-copy { position:relative; max-width:760px; padding:clamp(3rem,8vw,8rem); } .hero-copy p:not(.eyebrow) { max-width:620px; font-size:1.1rem; } .eyebrow { margin-bottom:.8rem; color:var(--leaf); font-size:.75rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; } .button-light { background:white; color:var(--forest); margin-top:.75rem; }
.section { padding:clamp(4.5rem,9vw,9rem) clamp(1.2rem,7vw,9rem); } .section-heading { max-width:760px; margin-bottom:3.5rem; } .section-heading p:not(.eyebrow) { color:var(--muted); font-size:1.08rem; } .compact { margin-bottom:2rem; }
.services { background:#fffdf8; } .service-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); } .service-grid article { min-height:260px; padding:2rem; border-right:1px solid var(--line); border-bottom:1px solid var(--line); } .service-grid article:nth-child(3n) { border-right:0; } .service-grid span { color:var(--forest); font-size:.78rem; font-weight:800; } .service-grid p { color:var(--muted); }
.work-section { background:var(--ink); color:white; } .work-section .section-heading p:not(.eyebrow) { color:#c0cec7; } .work-grid { display:grid; grid-template-columns:repeat(12,1fr); gap:1rem; } figure { margin:0; position:relative; min-height:260px; overflow:hidden; } figure:nth-child(1),figure:nth-child(4) { grid-column:span 7; } figure:nth-child(2),figure:nth-child(3),figure:nth-child(5) { grid-column:span 5; } figure img { width:100%; height:100%; position:absolute; object-fit:cover; transition:transform .35s; } figure:hover img { transform:scale(1.04); } figcaption { position:absolute; bottom:0; left:0; right:0; padding:1rem; background:linear-gradient(transparent,rgba(0,0,0,.72)); font-weight:700; }
.statement { display:grid; grid-template-columns:1.3fr .7fr; gap:5rem; padding:clamp(4.5rem,9vw,9rem); background:#dfe9dd; } .statement p:last-child { align-self:end; font-size:1.15rem; }
.insights { background:#fffdf8; } .coming-soon { border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:1.5rem 0; color:var(--muted); }
.contact-section { padding:clamp(4.5rem,9vw,9rem); display:grid; grid-template-columns:1fr 1fr; gap:3rem; background:var(--forest); color:white; } .contact-section .eyebrow { color:#b8e5b5; } .contact-section p { max-width:440px; color:#d7e4da; } .contact-note { padding:2rem; border:1px solid rgba(255,255,255,.28); align-self:start; } .pending-contact { font-size:.88rem; font-style:italic; }
footer { min-height:100px; padding:2rem clamp(1.2rem,5vw,5rem); display:flex; justify-content:space-between; align-items:center; background:var(--ink); color:#e4ece6; } footer p { margin:0; font-size:.8rem; }
@media (max-width:700px) { nav a:not(.nav-cta) { display:none; } .hero { min-height:630px; } .hero-copy { padding:2rem 1.2rem 3rem; } .service-grid { grid-template-columns:1fr; } .service-grid article,.service-grid article:nth-child(3n) { border-right:0; } .work-grid { grid-template-columns:1fr; } figure,figure:nth-child(n) { grid-column:span 1; min-height:240px; } .statement,.contact-section { grid-template-columns:1fr; gap:2rem; padding:4rem 1.2rem; } footer { align-items:flex-start; flex-direction:column; gap:1rem; } }
