@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,400;0,500;0,600;1,400;1,500&display=swap');
:root{--cream:#f6f3e9;--green:#243b2d;--muted:#66705f;--gold:#c5a35a}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:35px}body{margin:0;background:var(--cream);color:var(--green);font-family:'DM Sans',sans-serif}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid var(--gold);outline-offset:6px}header{padding:28px 5%;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #243b2d22}.brand{font-family:Georgia,serif;font-size:21px;letter-spacing:1.2px;white-space:nowrap}.brand span{display:block;font-family:'DM Sans',sans-serif;font-size:9px;letter-spacing:3px;margin-top:8px}nav{display:flex;gap:32px;align-items:center;font-size:12px}.nav-contact{border-bottom:1px solid var(--green);padding:10px 0}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:690px}.hero-copy{padding:70px 9% 25px 10%;display:flex;flex-direction:column;align-items:flex-start}.eyebrow{font-size:10px;letter-spacing:2.6px;font-weight:600;margin:0 0 25px}h1,h2{font-family:'Playfair Display',Georgia,serif;font-weight:400;letter-spacing:-2.4px;line-height:1.08;margin:0}h1{font-size:clamp(44px,4.7vw,76px)}em{font-weight:400;color:#7b895c}.intro{max-width:350px;font-size:14px;line-height:1.9;margin:27px 0}.button{display:inline-flex;gap:32px;align-items:center;justify-content:space-between;background:var(--green);color:var(--cream);padding:18px 23px;font-size:12px;transition:background .2s}.button:hover{background:#425a39}.button span{font-size:20px}.hero-foot{margin-top:auto;padding-top:50px;display:flex;justify-content:space-between;width:100%;font-size:9px;color:var(--muted);gap:10px}.hero-image{position:relative;max-height:780px;overflow:hidden}.hero-image img{width:100%;height:100%;object-fit:cover;object-position:center 57%}.image-note{position:absolute;bottom:25px;left:28px;font-size:9px;letter-spacing:2px;color:white;text-shadow:0 1px 8px #000}.ribbon{display:flex;justify-content:space-around;align-items:center;gap:24px;padding:25px 4%;background:#e9e5d4;font-size:9px;letter-spacing:1.6px}.ribbon i{font-style:normal;font-size:22px;color:#9a8050}.section{padding:110px 8%}.essence{display:grid;grid-template-columns:1fr 1fr;gap:11%;align-items:center}.essence-photo img{width:100%;height:480px;object-fit:cover}.essence-photo span{display:block;font-size:10px;color:var(--muted);margin-top:15px}h2{font-size:clamp(38px,4vw,60px)}.essence-copy>p:not(.eyebrow),.honey-copy>p:not(.eyebrow){font-size:14px;line-height:1.9;color:#596453;max-width:430px;margin:25px 0}.text-link{display:inline-block;font-size:12px;border-bottom:1px solid #8b9478;padding-bottom:9px;margin-top:8px}.honey{background:#ebe8db;display:grid;grid-template-columns:1.05fr 1fr;gap:10%;align-items:center}.honey figure{margin:0;position:relative}.honey figure img{width:100%;height:570px;object-fit:cover;object-position:center 52%}.honey figcaption{font-family:Georgia,serif;font-style:italic;margin-top:15px;font-size:14px;color:var(--muted)}.gallery-heading{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:45px;gap:30px}.gallery-heading>p{font-size:12px;line-height:1.8;color:var(--muted)}.photo-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.photo-grid button{border:0;padding:0;background:transparent;cursor:pointer;text-align:left;color:var(--green);font:inherit;overflow:hidden}.photo-grid .wide{grid-column:1/-1}.photo-grid img{width:100%;height:340px;object-fit:cover;display:block;transition:filter .25s}.photo-grid .wide img{height:480px;object-position:center 54%}.photo-grid button:hover img{filter:brightness(.9)}.photo-grid span{display:block;font-size:11px;padding:15px 0}.contact{text-align:center;background:var(--green);color:var(--cream);padding:90px 6%}.contact em{color:#c3cc9c}.contact p:not(.eyebrow){font-size:13px;line-height:1.9;color:#d0d6c6;margin:26px 0}.light{background:#e9e5d4;color:var(--green)}.light:hover{background:white}footer{display:flex;justify-content:space-between;align-items:center;gap:30px;padding:45px 5%;font-size:10px}footer p{line-height:1.8;color:var(--muted)}footer .brand{font-size:17px}dialog{background:#18231d;color:white;border:0;max-width:95vw;max-height:95vh;padding:45px 12px 12px}dialog::backdrop{background:#08130de8}dialog img{display:block;max-width:88vw;max-height:80vh;object-fit:contain}.close{position:absolute;right:15px;top:12px;background:none;border:0;color:white;cursor:pointer;font:inherit;font-size:12px}@media(min-width:1600px){body{max-width:1800px;margin:auto}}@media(max-width:800px){header{padding:22px 6%}nav{gap:18px}nav>a:not(.nav-contact){display:none}.brand{font-size:17px}.brand span{font-size:8px}.hero{grid-template-columns:1fr}.hero-copy{padding:50px 7% 28px}.hero h1{font-size:54px}.hero-foot{padding-top:35px}.hero-image{height:550px}.hero-image img{object-position:center 60%}.ribbon{flex-wrap:wrap;padding:20px;gap:15px;font-size:8px}.ribbon span:last-child,.ribbon i:last-of-type{display:none}.section{padding:65px 7%}.essence,.honey{grid-template-columns:1fr;gap:40px}.essence-photo img{height:330px}.essence-copy h2{font-size:47px}.honey figure img{height:480px}.gallery-heading{display:block}.gallery-heading>p{margin-top:25px}.photo-grid{gap:15px}.photo-grid img{height:220px}.photo-grid .wide img{height:300px}.contact{padding:65px 7%}.contact br{display:none}.contact h2{font-size:45px}.contact h2 br{display:block}footer{flex-wrap:wrap;justify-content:flex-start;gap:25px;padding:35px 7%}footer>span{width:100%;color:var(--muted)}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.brand-logo img{display:block;width:90px;height:90px;object-fit:cover;border-radius:50%}header{padding-top:14px;padding-bottom:14px}footer .brand-logo img{width:100px;height:100px}@media(max-width:800px){.brand-logo img{width:75px;height:75px}}

/* Photography flows to the viewport edges; copy keeps comfortable reading space. */
body{max-width:none;margin:0}
.hero{position:relative;display:flex;min-height:760px;min-height:90svh;isolation:isolate;color:var(--cream)}
.hero-image{position:absolute;inset:0;max-height:none;z-index:-2}
.hero-image img{display:block;object-position:center 59%}
.hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(16,35,22,.88),rgba(16,35,22,.58) 42%,rgba(16,35,22,.06) 80%)}
.hero-copy{width:100%;padding:90px 7% 32px;min-width:0}
.hero h1{font-size:clamp(52px,5.8vw,94px)}
.hero h1 em{color:#d1dbad}
.hero .intro{max-width:390px;color:#f0f0df}
.hero .button{background:var(--cream);color:var(--green)}
.hero .button:hover{background:#e2e8cd}
.hero-foot{max-width:500px;color:#e1e6d4}
.image-note{left:auto;right:4%;bottom:32px}
.essence,.honey{padding:0;gap:0;grid-template-columns:1fr 1fr;align-items:stretch}
.essence-photo,.honey figure{position:relative;min-width:0}
.essence-photo img,.honey figure img{display:block;width:100%;height:100%;min-height:650px;object-fit:cover}
.essence-photo span,.honey figcaption{position:absolute;bottom:24px;left:7%;right:7%;color:white;text-shadow:0 1px 9px #000;margin:0}
.essence-copy,.honey-copy{padding:100px clamp(32px,6vw,120px);align-self:center}
.honey figure img{object-position:center 58%}
.gallery{padding:85px 0 0}
.gallery-heading{padding:0 7%;margin-bottom:45px}
.photo-grid{gap:0}
.photo-grid button{position:relative}
.photo-grid img{height:clamp(320px,36vw,650px)}
.photo-grid .wide img{height:clamp(400px,55vw,850px)}
.photo-grid span{position:absolute;bottom:0;left:0;right:0;padding:40px 5% 22px;color:white;background:linear-gradient(transparent,#0008);pointer-events:none}
dialog{padding:0;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;background:#101a14}
dialog[open]{display:flex;align-items:center;justify-content:center}
dialog img{width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain}
.close{z-index:1;right:22px;top:20px;padding:12px 18px;background:#17261dd9;border-radius:24px}
@media(max-width:800px){
 .hero{min-height:800px;min-height:90svh}
 .hero-copy{padding:65px 7% 28px}
 .hero h1{font-size:clamp(44px,10vw,70px)}
 .hero-image{height:auto}
 .hero-image img{object-position:57% center}
 .hero::after{background:linear-gradient(90deg,#102316d9,#10231670),linear-gradient(0deg,#10231666,transparent)}
 .image-note{display:none}
 .essence,.honey{grid-template-columns:1fr;gap:0}
 .essence-copy,.honey-copy{padding:60px 7%}
 .essence-photo img{height:60vw;min-height:300px;max-height:480px}
 .honey figure img{height:110vw;min-height:450px;max-height:700px}
 .gallery{padding:60px 0 0}
 .gallery-heading{padding:0 7%;margin-bottom:30px}
 .photo-grid{grid-template-columns:1fr}
 .photo-grid img{height:75vw;min-height:260px}
 .photo-grid .wide img{height:85vw;min-height:320px}
 .photo-grid .wide{grid-column:auto}
}

.button{border-radius:999px}.nav-contact{border:1px solid var(--green);border-radius:999px;padding:12px 20px}

@media(max-width:800px){nav>a.mobile-link{display:inline-block;font-size:11px}nav{gap:12px}.nav-contact{padding:11px 14px;font-size:10px}}

.footer-nav{display:flex;flex-direction:column;align-items:flex-start;gap:12px;font-size:12px}.footer-nav a{padding:4px 0}.footer-nav a:hover,.footer-nav a[aria-current="page"]{text-decoration:underline;text-underline-offset:5px}@media(max-width:800px){footer .footer-nav>a{display:inline-block}footer .footer-nav{gap:10px;min-width:110px}}
@media(max-width:480px){header{gap:12px;padding-left:5%;padding-right:5%}header nav{flex-wrap:wrap;justify-content:flex-end;gap:8px 12px}header .brand-logo img{width:64px;height:64px}header .nav-contact{min-height:44px;display:inline-flex;align-items:center}footer .footer-nav a{min-height:44px;display:flex;align-items:center}.button{min-height:48px;max-width:100%}.hero h1{font-size:clamp(38px,11vw,54px)}}

.email-link{overflow-wrap:anywhere;text-decoration:underline;text-underline-offset:4px}.contact .contact-email{margin-top:28px}.contact-email .email-link{display:inline-block;padding:10px 0;font-size:14px}.footer-email{max-width:270px;line-height:1.8}.footer-email>span{display:block;color:var(--muted);margin-bottom:5px}.footer-email .email-link{display:inline-block;padding:8px 0;font-size:11px}@media(max-width:600px){.footer-email{width:100%;max-width:100%}.contact-email .email-link{font-size:13px}}
