:root{--paper:#f7f4ed;--ink:#20211f;--olive:#56654a;--deep:#1f251d}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,sans-serif;line-height:1.65}img{width:100%;height:100%;object-fit:cover;display:block}a{color:inherit}
.hero{min-height:100svh;position:relative;background:url('images/hero.jpg') center/cover no-repeat;color:#fff;display:flex;align-items:flex-end}.shade{position:absolute;inset:0;background:linear-gradient(rgba(0,0,0,.12),rgba(0,0,0,.65))}
nav{position:absolute;z-index:2;top:0;left:0;right:0;display:flex;justify-content:space-between;padding:24px clamp(22px,4vw,64px)}nav a{text-decoration:none;font-weight:600}
.hero-text{position:relative;z-index:1;padding:0 clamp(22px,6vw,92px) clamp(48px,8vw,110px);max-width:1100px}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:.75rem;font-weight:600;margin:0 0 14px}.green{color:var(--olive)}
h1,h2,blockquote{font-family:'Cormorant Garamond',serif;line-height:.98;margin:0;font-weight:600}h1{font-size:clamp(4rem,10vw,9rem)}.tagline{font-size:clamp(1.2rem,2.2vw,2rem);margin:20px 0 34px}.more{text-decoration:none;border-bottom:1px solid #ffffff88;padding-bottom:6px}
.section{padding:clamp(72px,10vw,150px) clamp(22px,6vw,92px)}.story{display:grid;grid-template-columns:1fr 1fr;gap:clamp(42px,8vw,120px);align-items:center}.portrait{min-height:680px}.copy{max-width:650px}.copy h2,.contact h2{font-size:clamp(3.2rem,6vw,6.8rem);margin-bottom:28px}.copy p{font-size:1.08rem}
.quote{text-align:center;padding-top:40px}blockquote{font-size:clamp(3rem,6vw,6.6rem);max-width:1050px;margin:20px auto 0}
.gallery{display:grid;grid-template-columns:1fr 1fr;gap:28px;padding-top:20px}.card{position:relative;min-height:620px;overflow:hidden}.wide{grid-column:1/-1;min-height:760px}.card div{position:absolute;bottom:0;left:0;right:0;color:#fff;padding:28px;background:linear-gradient(transparent,rgba(0,0,0,.74))}.card small{display:block;text-transform:uppercase;letter-spacing:.14em;margin-bottom:5px}.card strong{display:block;max-width:700px}
.contact{background:var(--deep);color:#fff;text-align:center}.contact>div{max-width:880px;margin:auto}.contact p{max-width:650px;margin:0 auto 28px}.contact a{font-family:'Cormorant Garamond',serif;font-size:clamp(2rem,5vw,5rem);text-decoration:none;border-bottom:1px solid #ffffff66;word-break:break-word}
footer{display:flex;justify-content:space-between;gap:20px;padding:26px clamp(22px,6vw,92px);background:#151914;color:#ffffffbb;font-size:.85rem}
.reveal{opacity:0;transform:translateY(22px);transition:.8s}.reveal.visible{opacity:1;transform:none}
@media(max-width:850px){.story{grid-template-columns:1fr}.portrait{min-height:560px}.gallery{grid-template-columns:1fr}.card,.wide{grid-column:auto;min-height:560px}footer{flex-direction:column}}
@media(max-width:520px){nav a:last-child{display:none}.portrait{min-height:480px}.card,.wide{min-height:470px}}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}
