:root{--ink:#14221c;--moss:#3e5a45;--sage:#c8d6bd;--linen:#f4f0e8;--acid:#dce8be;--clay:#bd7253;--rule:rgba(20,34,28,.17);--white:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--linen);font-family:Manrope,system-ui,sans-serif}a{color:inherit}.sr-only,.hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.hero{min-height:max(720px,100svh);color:var(--white);position:relative;isolation:isolate;overflow:hidden}.hero-image,.hero-shade{position:absolute;inset:0}.hero-image{background:#435145 center/cover no-repeat;z-index:-2;transition:background-image .3s ease}.hero-shade{z-index:-1;background:linear-gradient(90deg,rgba(9,26,16,.74),rgba(9,26,16,.16) 70%),linear-gradient(0deg,rgba(9,26,16,.68),transparent 45%)}.site-header{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;padding:20px clamp(22px,4vw,68px)}.brand{display:block;width:125px;filter:drop-shadow(0 2px 5px rgba(0,0,0,.18))}.brand img,.footer-logo img{display:block;width:100%;height:auto}.site-header nav{display:flex;gap:clamp(18px,2vw,36px);font:500 11px 'DM Mono',monospace;letter-spacing:.1em;text-transform:uppercase}.site-header nav a{text-decoration:none;opacity:.92}.site-header nav a:hover{color:var(--acid)}.menu-toggle{display:none;background:none;border:0;color:#fff}.hero-copy{position:relative;z-index:1;max-width:900px;margin:clamp(150px,22vh,235px) auto 0;padding:0 24px;text-align:center}.eyebrow{margin:0;color:var(--moss);font:500 11px 'DM Mono',monospace;letter-spacing:.13em;text-transform:uppercase}.hero-eyebrow{color:var(--acid)}h1,h2{font-family:'Playfair Display',Georgia,serif;font-weight:600;letter-spacing:-.052em}h1{margin:14px 0 0;font-size:clamp(58px,8.2vw,122px);line-height:.93}h1 em,h2 em{color:var(--acid)}.hero-copy>p:last-child{max-width:535px;margin:28px auto 0;font-size:16px;line-height:1.7}.hero-location{position:absolute;z-index:1;bottom:32px;left:clamp(22px,4vw,68px);display:flex;align-items:center;gap:13px;margin:0;font:11px 'DM Mono',monospace;letter-spacing:.08em;text-transform:uppercase}.pin{width:11px;height:11px;border:2px solid var(--acid);border-radius:50%;position:relative}.pin:after{content:"";position:absolute;top:8px;left:3px;width:1px;height:16px;background:var(--acid);transform:rotate(42deg);transform-origin:top}main{padding:clamp(74px,10vw,140px) clamp(22px,4vw,68px) 0}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:30px}.section-heading h2,.about h2,.contact h2{max-width:670px;margin:13px 0 0;font-size:clamp(39px,5vw,68px);line-height:1.02}.text-link{align-self:flex-end;margin-bottom:7px;font-size:12px;font-weight:700;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:4px;white-space:nowrap}.gallery{display:grid;grid-template-columns:1.2fr .8fr .8fr;grid-template-rows:410px 260px;gap:16px}.photo-card{position:relative;overflow:hidden;background:#cbd7cc;min-height:160px}.photo-card:first-child{grid-row:span 2}.photo-card img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s ease}.photo-card:hover img{transform:scale(1.04)}.photo-overlay{position:absolute;inset:0;display:flex;align-items:flex-end;justify-content:space-between;padding:16px;background:linear-gradient(0deg,rgba(0,0,0,.5),transparent 40%);color:#fff;opacity:0;transition:opacity .25s ease}.photo-card:hover .photo-overlay,.photo-card:focus-within .photo-overlay{opacity:1}.photo-location,.photo-index{margin:0;font:10px 'DM Mono',monospace;letter-spacing:.09em;text-transform:uppercase}.photo-index{padding:6px 8px;background:var(--acid);color:var(--ink);align-self:flex-start}.about{margin-top:clamp(88px,12vw,170px);padding:clamp(50px,7vw,88px) 0;border-top:1px solid var(--rule)}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,10vw,150px);margin-top:14px}.about-copy{max-width:550px;padding-top:6px}.about-copy p{font-size:17px;line-height:1.75}.contact{display:grid;grid-template-columns:1fr minmax(310px,.8fr);gap:clamp(36px,9vw,130px);margin:0 calc(clamp(22px,4vw,68px)*-1);padding:clamp(72px,10vw,140px) clamp(22px,4vw,68px);background:var(--ink);color:#fff}.contact .eyebrow{color:var(--acid)}.contact form{display:grid;gap:16px;align-content:start}.contact label{display:grid;gap:8px;font:11px 'DM Mono',monospace;letter-spacing:.08em;text-transform:uppercase}.contact input,.contact textarea{width:100%;padding:12px 0;color:#fff;border:0;border-bottom:1px solid rgba(255,255,255,.42);outline:none;background:transparent;font:15px Manrope,sans-serif}.contact textarea{resize:vertical}.contact button{justify-self:start;margin-top:10px;padding:14px 20px;border:0;background:var(--acid);color:var(--ink);font:700 12px Manrope,sans-serif;cursor:pointer}footer{display:grid;grid-template-columns:150px 1fr;gap:18px 45px;align-items:center;padding:30px clamp(22px,4vw,68px);background:var(--linen);font:10px 'DM Mono',monospace;letter-spacing:.06em;text-transform:uppercase}.footer-logo{width:115px}.footer-links{display:flex;gap:18px;justify-content:flex-end}.footer-links a,footer p a{text-decoration:none}footer p{grid-column:1/-1;margin:0;color:var(--moss)}@media (max-width:780px){.site-header nav{display:none;position:absolute;top:100%;right:20px;left:20px;padding:18px;flex-direction:column;background:rgba(20,34,28,.94);box-shadow:0 12px 25px rgba(0,0,0,.2)}.site-header nav.open{display:flex}.menu-toggle{display:grid;gap:5px;padding:8px}.menu-toggle span:not(.sr-only){display:block;width:22px;height:1px;background:currentColor}.hero{min-height:680px}.hero-copy{margin-top:145px;text-align:left}.hero-copy>p:last-child{margin-left:0}.gallery{display:block}.photo-card,.photo-card:first-child{height:340px;margin-bottom:14px}.photo-overlay{opacity:1}.about-grid,.contact{grid-template-columns:1fr}.section-heading .text-link{display:none}.contact{margin:0 -22px;padding-left:22px;padding-right:22px}footer{grid-template-columns:1fr}.footer-links{justify-content:flex-start;flex-wrap:wrap}.footer-logo{width:125px}}
