@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@600;700&display=swap');

:root { --ink:#182216; --forest:#234d37; --moss:#6e8a55; --cream:#faf8f1; --paper:#fffdf8; --sand:#e8e0cf; --line:rgba(24,34,22,.15); --accent:#c5703e; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--cream); font:16px/1.65 'DM Sans',Arial,sans-serif; }
a { color:inherit; }
.skip { position:absolute; left:-999px; top:auto; } .skip:focus { left:1rem; top:1rem; z-index:100; padding:.7rem 1rem; background:#fff; }
.topbar { position:absolute; z-index:3; top:0; left:0; right:0; display:flex; justify-content:space-between; align-items:center; gap:1.5rem; padding:1.25rem max(5vw,1.5rem); color:#fff; }
.brand { display:flex; align-items:center; gap:.7rem; text-decoration:none; letter-spacing:.1em; font-size:.72rem; font-weight:700; }
.brand svg { width:29px; height:29px; fill:currentColor; } .brand strong { display:block; font-size:1rem; letter-spacing:.14em; } .brand span { display:block; font-size:.58rem; letter-spacing:.16em; opacity:.9; }
.nav { display:flex; align-items:center; gap:1.25rem; font-size:.82rem; font-weight:600; } .nav a { text-decoration:none; } .nav a:hover { text-decoration:underline; text-underline-offset:.3em; }
.hero { min-height:700px; min-height:92svh; display:grid; align-items:end; position:relative; color:#fff; overflow:hidden; }
.hero::after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,rgba(11,24,15,.78) 0%,rgba(11,24,15,.42) 48%,rgba(11,24,15,.1) 100%),linear-gradient(0deg,rgba(11,24,15,.45),transparent 48%); }
.hero img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; }
.hero-copy { position:relative; z-index:1; max-width:750px; padding:8rem max(8vw,1.5rem) 6rem; } .eyebrow { margin:0 0 .7rem; letter-spacing:.15em; font-size:.72rem; font-weight:700; }
.hero h1,h2,h3 { font-family:'Playfair Display',Georgia,serif; line-height:1.12; } .hero h1 { max-width:690px; margin:0; font-size:clamp(3rem,7.2vw,6.3rem); letter-spacing:-.045em; }
.hero-copy>p:last-child { max-width:560px; margin:1.4rem 0 0; font-size:1.15rem; }
.button { display:inline-flex; justify-content:center; align-items:center; gap:.5rem; min-height:48px; padding:.7rem 1.15rem; border:1px solid transparent; background:var(--forest); color:#fff; text-decoration:none; font-size:.82rem; font-weight:700; letter-spacing:.04em; transition:transform .15s,background .15s; } .button:hover { transform:translateY(-2px); background:#153d2a; }
.button--light { background:#fff; color:var(--forest); } .button--outline { border-color:currentColor; background:transparent; color:inherit; }
.hero-actions { display:flex; gap:.7rem; flex-wrap:wrap; margin-top:2rem; }
.section { width:min(1180px,88vw); margin:auto; padding:6.5rem 0; } .section--intro { display:grid; grid-template-columns:1.05fr .95fr; gap:8vw; align-items:end; }
.section h2 { margin:.1rem 0 1.1rem; font-size:clamp(2.25rem,4.5vw,4.2rem); letter-spacing:-.04em; } .lead { max-width:590px; margin:0; font-size:1.12rem; }
.facts { display:grid; grid-template-columns:repeat(2,1fr); gap:1px; border:1px solid var(--line); background:var(--line); } .fact { min-height:138px; padding:1.35rem; background:var(--paper); } .fact b { display:block; margin-bottom:.35rem; color:var(--forest); font-size:1.7rem; font-family:'Playfair Display',Georgia,serif; } .fact span { font-size:.86rem; }
.section--tint { width:auto; padding:0; background:#ebe5d8; } .section--tint>.section { padding:6.5rem 0; }
.cards { display:grid; grid-template-columns:repeat(3,1fr); gap:1.25rem; margin-top:2.5rem; } .card { min-height:278px; display:flex; flex-direction:column; justify-content:end; padding:1.7rem; background:var(--paper); border:1px solid var(--line); } .card:nth-child(2) { background:var(--forest); color:#fff; } .card-kicker { margin:0 0 auto; color:var(--moss); font-size:.72rem; font-weight:700; letter-spacing:.13em; } .card:nth-child(2) .card-kicker { color:#c8dcad; } .card h3 { margin:1.5rem 0 .6rem; font-size:1.75rem; } .card p:last-child { margin:0; font-size:.94rem; }
.feature { display:grid; grid-template-columns:1fr 1.1fr; min-height:475px; background:var(--forest); color:#fff; } .feature figure { margin:0; min-height:300px; overflow:hidden; } .feature img { width:100%; height:100%; object-fit:cover; } .feature-copy { display:flex; flex-direction:column; justify-content:center; align-items:flex-start; padding:4rem max(5vw,2rem); } .feature h2 { max-width:510px; }
.contact { display:grid; grid-template-columns:1fr .9fr; gap:7vw; align-items:start; } .contact-list { margin:2rem 0 0; padding:0; list-style:none; border-top:1px solid var(--line); } .contact-list li { padding:1.1rem 0; border-bottom:1px solid var(--line); } .contact-list b { display:block; font-size:.72rem; letter-spacing:.12em; color:var(--forest); } .contact-list a { font-size:1.08rem; font-weight:600; text-decoration:none; } .contact-list a:hover { text-decoration:underline; }
.notice { padding:2rem; background:var(--forest); color:#fff; } .notice h3 { margin:.2rem 0 .75rem; font-size:2rem; } .notice p { margin:0 0 1.5rem; } .notice .button { background:#fff; color:var(--forest); }
.footer { display:flex; justify-content:space-between; gap:1rem; padding:2rem max(6vw,1.5rem); background:#15291d; color:#e8eee3; font-size:.82rem; } .footer a { text-decoration:none; }
@media (max-width:760px) { .topbar { padding:1rem 1.25rem; } .nav { display:none; } .hero { min-height:640px; } .hero-copy { padding:7rem 1.5rem 4rem; } .section { width:min(100% - 3rem,1180px); padding:4.5rem 0; } .section--intro,.contact,.feature { grid-template-columns:1fr; gap:2.5rem; } .facts,.cards { grid-template-columns:1fr; } .feature-copy { padding:3.5rem 1.5rem; } .feature figure { min-height:330px; } .section--tint>.section { padding:4.5rem 0; } .footer { display:block; } .footer p { margin:.4rem 0; } }
