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

:root { --forest:#173d2b; --cream:#f5efe3; --peach:#e7a77e; --ink:#203329; --white:#fffaf2; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--cream); color:var(--ink); font:16px/1.65 "DM Sans", sans-serif; }
button,input,textarea,select { font:inherit; }
img { display:block; max-width:100%; }
a { color:inherit; }
.site-header { position:relative; z-index:3; width:100%; min-height:132px; display:flex; align-items:center; justify-content:space-between; padding:15px clamp(22px,5vw,72px); background:var(--cream); color:var(--forest); border-bottom:1px solid rgba(23,61,43,.16); }
.brand img { width:285px; max-height:102px; object-fit:contain; }
nav { display:flex; align-items:center; gap:30px; }
nav a { text-decoration:none; font-size:.92rem; font-weight:600; }
.nav-cta { border:1px solid var(--forest); border-radius:999px; padding:10px 18px; background:var(--forest); color:var(--white); }
.hero { position:relative; min-height:calc(92vh - 104px); display:flex; align-items:flex-end; overflow:hidden; color:white; }
.hero-image,.hero-shade { position:absolute; inset:0; width:100%; height:100%; }
.hero-image { object-fit:cover; object-position:center; }
.hero-shade { background:linear-gradient(90deg,rgba(14,38,26,.75),rgba(14,38,26,.15) 72%),linear-gradient(0deg,rgba(14,38,26,.55),transparent 55%); }
.hero-copy { position:relative; z-index:1; width:min(760px,90%); padding:0 clamp(22px,7vw,110px) clamp(65px,9vw,130px); }
.eyebrow { margin:0 0 12px; text-transform:uppercase; letter-spacing:.16em; font-size:.75rem; font-weight:600; }
h1,h2 { margin:.1em 0 .45em; font-family:"Playfair Display",Georgia,serif; font-weight:600; line-height:1.04; }
h1 { font-size:clamp(3.2rem,7.8vw,7rem); letter-spacing:-.045em; }
h2 { font-size:clamp(2.5rem,5.5vw,5rem); letter-spacing:-.035em; }
.hero-copy>p:not(.eyebrow) { max-width:560px; font-size:1.15rem; }
.button { display:inline-block; margin-top:18px; border-radius:999px; padding:14px 24px; background:var(--forest); color:white; text-decoration:none; font-weight:600; }
.button-light { background:var(--white); color:var(--forest); }
.section { padding:clamp(75px,10vw,145px) clamp(22px,7vw,110px); }
.intro { display:grid; grid-template-columns:1.05fr .8fr; gap:clamp(45px,8vw,130px); align-items:center; }
.intro figure,.gallery figure { margin:0; }
.intro figure img { width:100%; aspect-ratio:4/5; object-fit:cover; }
figcaption { margin-top:13px; font-size:1rem; line-height:1.65; font-weight:600; }
.lede { font-size:1rem; line-height:1.65; }
.bakes { background:var(--forest); color:var(--white); }
.section-heading { display:flex; justify-content:space-between; gap:45px; align-items:end; }
.section-heading>p { max-width:430px; }
.gallery { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin:50px 0 30px; }
.gallery img { width:100%; aspect-ratio:3/4; object-fit:cover; }
.text-link { display:inline-block; margin-top:20px; text-underline-offset:5px; font-weight:600; }
.order { display:grid; grid-template-columns:1fr 1fr; gap:clamp(45px,9vw,150px); background:var(--peach); }
.small { margin-top:18px; font-size:.85rem; }
footer { display:grid; grid-template-columns:1fr 1fr; align-items:end; gap:26px 30px; padding:45px clamp(22px,7vw,110px); background:var(--cream); font-size:.85rem; }
footer img { width:170px; grid-column:1 / -1; justify-self:center; }
footer p:last-child { text-align:right; }
@media (max-width:800px) { nav a:not(.nav-cta){display:none}.site-header{min-height:104px;padding-top:10px;padding-bottom:10px}.brand img{width:210px;max-height:84px}.hero{min-height:calc(86vh - 104px)}.hero-copy{padding-bottom:55px}.intro,.order{grid-template-columns:1fr}.intro figure{order:-1}.gallery{grid-template-columns:1fr 1fr}.section-heading{display:block}footer{grid-template-columns:1fr}footer p:last-child{text-align:left} }
@media (max-width:480px) { h1{font-size:3rem}.gallery{gap:9px}.gallery figcaption{font-size:.92rem}.nav-cta{padding:8px 13px} }
@media (prefers-reduced-motion:reduce) { html{scroll-behavior:auto} }
