/* Layout: one quiet vertical walk down the mountain — full-bleed grove, then place, harvest, house, oil. Single light look (linen), chosen deliberately. */
:root{
  --linen:#efeadf;      /* pressed-linen ground */
  --paper:#f7f4ec;      /* lighter panel */
  --olive:#3d5a3f;      /* logo green */
  --olive-deep:#26382a; /* text */
  --gold:#8a7a2c;       /* gold mark */
  --stone:#6f6a5c;      /* muted text */
  --rule:#cfc7b4;
  --f-display:"Marcellus","Cormorant Garamond",Georgia,serif;
  --f-caps:"Marcellus SC","Marcellus",Georgia,serif;
  --f-body:"Jost","Helvetica Neue",Arial,sans-serif;
  color-scheme:light;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
body{background:var(--linen);color:var(--olive-deep);font-family:var(--f-body);font-weight:300;font-size:17px;line-height:1.65;margin:0}
a{color:var(--olive)}
a:focus-visible,button:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
img{max-width:100%;display:block}
.wrap{max-width:1180px;margin:0 auto;padding-inline:clamp(16px,4vw,40px)}
.caps{font-family:var(--f-caps);letter-spacing:.14em;font-size:.78rem;text-transform:uppercase;color:var(--stone)}
h1,h2,h3{font-family:var(--f-display);font-weight:400;text-wrap:balance;margin:0;color:var(--olive-deep)}
h2{font-size:clamp(1.9rem,4vw,2.9rem);line-height:1.15}
h3{font-size:1.35rem;line-height:1.25}
p{margin:0;max-width:62ch}

/* header */
header{position:sticky;top:env(safe-area-inset-top,0px);z-index:10;background:color-mix(in srgb,var(--linen) 92%,transparent);backdrop-filter:blur(6px);border-bottom:1px solid var(--rule)}
.bar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:10px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--olive-deep)}
.brand img{width:40px;height:40px;mix-blend-mode:multiply}
.brand span{font-family:var(--f-caps);letter-spacing:.28em;font-size:1rem}
nav{display:flex;gap:clamp(12px,2.4vw,28px);flex-wrap:wrap;justify-content:flex-end}
nav a{font-family:var(--f-caps);letter-spacing:.12em;font-size:.78rem;text-transform:uppercase;text-decoration:none;color:var(--olive-deep)}
nav a:hover{color:var(--gold)}
@media (max-width:640px){nav a.opt{display:none}}

/* hero */
.hero{position:relative;color:#f7f4ec}
.hero img{width:100%;height:clamp(420px,74vh,760px);object-fit:cover;object-position:center 45%}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,28,20,.15) 0%,rgba(20,28,20,.1) 30%,rgba(20,28,20,.78))}
.hero .copy{position:absolute;left:0;right:0;bottom:clamp(28px,6vw,64px);z-index:1}
.hero .caps{color:#f3edd9}
.hero .copy{text-shadow:0 1px 18px rgba(10,16,10,.55)}
.hero h1{color:#f7f4ec;font-size:clamp(2.4rem,6.4vw,5rem);line-height:1.04;margin-top:14px;max-width:14ch}
.hero p{margin-top:16px;color:#eee8d8;font-size:1.05rem}

section{padding-block:clamp(64px,10vw,120px)}
.intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:clamp(24px,6vw,80px);align-items:start}
.intro p+p{margin-top:1em}
@media (max-width:820px){.intro{grid-template-columns:1fr}}

/* mountain */
.mountain{background:var(--paper);border-block:1px solid var(--rule)}
.mountain header,.sechead{position:static;background:none;backdrop-filter:none;border:0;display:grid;gap:14px;margin-bottom:40px}
.profile{overflow-x:auto;margin-bottom:48px}
.profile svg{width:100%;min-width:640px;height:auto;display:block}
.places{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,4vw,48px)}
.place{display:grid;gap:10px;align-content:start;border-top:1px solid var(--rule);padding-top:20px}
.place .caps{color:var(--gold)}
@media (max-width:820px){.places{grid-template-columns:1fr}}

/* harvest */
.harvest-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,6vw,80px);align-items:start}
@media (max-width:820px){.harvest-grid{grid-template-columns:1fr}}
ol.steps{list-style:none;margin:0;padding:0;display:grid;gap:0;counter-reset:s}
ol.steps li{display:grid;grid-template-columns:7.5rem minmax(0,1fr);gap:16px;padding-block:18px;border-top:1px solid var(--rule)}
ol.steps li:last-child{border-bottom:1px solid var(--rule)}
ol.steps .when{font-family:var(--f-caps);letter-spacing:.1em;font-size:.8rem;color:var(--gold);text-transform:uppercase;padding-top:3px}
ol.steps h3{font-size:1.15rem;margin-bottom:4px}
ol.steps p{font-size:.95rem;color:var(--stone)}
.lab{background:var(--paper);border:1px solid var(--rule);padding:clamp(20px,3vw,32px);display:grid;gap:16px;margin-top:28px}
.lab table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums;font-size:.95rem}
.lab td{padding:8px 0;border-top:1px solid var(--rule)}
.lab td:last-child{text-align:right;font-family:var(--f-display);font-size:1.05rem}
.lab small{color:var(--stone);font-size:.82rem;line-height:1.5}

/* house */
.house{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(28px,5vw,64px);align-items:center}
.house figure{margin:0;display:grid;gap:10px}
.house figcaption{font-size:.82rem;color:var(--stone)}
.house .sketch{mix-blend-mode:multiply}
.house .text{display:grid;gap:18px}
.facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:8px}
.facts div{border-top:1px solid var(--olive);padding-top:10px}
.facts b{display:block;font-family:var(--f-display);font-weight:400;font-size:1.6rem;color:var(--olive)}
.facts span{font-size:.82rem;color:var(--stone)}
@media (max-width:820px){.house{grid-template-columns:1fr}}

/* oil */
.oil{background:var(--olive);color:#efeadf}
.oil h2,.oil h3{color:#f7f4ec}
.oil .caps{color:#cfc79a}
.oil p{color:#e2dccb}
.bottles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(20px,4vw,40px);margin-top:44px}
.bottle{border:1px solid rgba(239,234,223,.28);padding:clamp(22px,3vw,36px);display:grid;gap:12px;align-content:start}
.bottle .vol{font-family:var(--f-display);font-size:2.6rem;line-height:1;color:#f7f4ec}
.bottle ul{margin:0;padding-left:1.1em;color:#e2dccb;font-size:.95rem}
.bottle .price{font-family:var(--f-caps);letter-spacing:.12em;font-size:.8rem;color:#cfc79a;text-transform:uppercase;border-top:1px solid rgba(239,234,223,.28);padding-top:12px;margin-top:6px}
@media (max-width:700px){.bottles{grid-template-columns:1fr}}

/* honours */
.honours{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,5vw,64px);align-items:center}
.honours img{border:1px solid var(--rule);background:#fff}
.honours ul{list-style:none;margin:18px 0 0;padding:0;display:grid}
.honours li{display:grid;grid-template-columns:5rem minmax(0,1fr);gap:14px;padding-block:12px;border-top:1px solid var(--rule)}
.honours li b{font-family:var(--f-display);font-weight:400;color:var(--gold)}
@media (max-width:640px){.honours{grid-template-columns:1fr}.honours img{max-width:100%}}

/* follow */
.follow{background:var(--paper);border-top:1px solid var(--rule);text-align:left}
.follow .wrap{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:end}
.follow a.btn{display:inline-block;font-family:var(--f-caps);letter-spacing:.14em;text-transform:uppercase;font-size:.8rem;text-decoration:none;color:#f7f4ec;background:var(--olive);padding:14px 22px}
.follow a.btn:hover{background:var(--olive-deep)}
@media (max-width:700px){.follow .wrap{grid-template-columns:1fr}}

footer{padding-block:48px;border-top:1px solid var(--rule)}
footer .wrap{display:flex;flex-wrap:wrap;gap:24px;justify-content:space-between;align-items:center}
footer img{width:56px;mix-blend-mode:multiply}
footer p{font-size:.85rem;color:var(--stone)}

.place .ph{width:100%;aspect-ratio:4/3;object-fit:cover;margin-bottom:6px}
.band{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:12px;margin-top:56px}
.band figure,.housepics figure,.table,.gal figure{margin:0;display:grid;gap:8px;align-content:start}
.band img{width:100%;height:clamp(220px,28vw,360px);object-fit:cover}
figcaption{font-size:.82rem;color:var(--stone);line-height:1.45}
@media (max-width:820px){.band{grid-template-columns:1fr 1fr}.band .wide{grid-column:1/-1}}
.housepics{display:grid;gap:20px}
.housepics .sk{max-width:60%}
.table{margin-top:36px}
.table img{width:100%;max-height:520px;object-fit:cover}
.oil figcaption{color:#cfc79a}
.follow a.btn.ghost{background:transparent;color:var(--olive);border:1px solid var(--olive)}
.follow a.btn.ghost:hover{background:var(--olive);color:#f7f4ec}
nav a[aria-current="page"]{color:var(--gold)}

/* farm page */
.fhero{position:relative}
.fhero img{width:100%;height:clamp(360px,62vh,640px);object-fit:cover}
.fhero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,28,20,.1),rgba(20,28,20,.05) 40%,rgba(20,28,20,.7))}
.fhero .copy{position:absolute;left:0;right:0;bottom:clamp(28px,6vw,64px);z-index:1}
.fhero .caps{color:#e9e2cf}
.fhero h1{color:#f7f4ec;font-size:clamp(2.2rem,6vw,4.4rem);line-height:1.05;margin-top:12px}
.chapter{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2.4fr);gap:clamp(24px,5vw,64px);padding-block:clamp(56px,8vw,96px);border-top:1px solid var(--rule)}
.chapter:first-of-type{border-top:0}
.chapter .lead{display:grid;gap:14px;align-content:start;position:sticky;top:calc(env(safe-area-inset-top,0px) + 84px)}
@media (max-width:860px){.chapter{grid-template-columns:1fr}.chapter .lead{position:static}}
.gal{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}
.gal figure{grid-column:span 2}
.gal figure.w4{grid-column:span 4}
.gal figure.w6{grid-column:span 6}
.gal figure.w3{grid-column:span 3}
.gal img{width:100%;height:100%;min-height:0;aspect-ratio:3/4;object-fit:cover}
.gal figure.w4 img,.gal figure.w6 img,.gal figure.w3 img{aspect-ratio:3/2}
@media (max-width:640px){.gal{grid-template-columns:1fr 1fr}.gal figure,.gal figure.w3{grid-column:span 1}.gal figure.w4,.gal figure.w6{grid-column:1/-1}.gal figure.w3 img{aspect-ratio:3/4}}
.back{display:inline-block;margin-top:8px;font-family:var(--f-caps);letter-spacing:.12em;text-transform:uppercase;font-size:.78rem;color:var(--olive);text-decoration:none;border-bottom:1px solid var(--olive);padding-bottom:2px;justify-self:start}

.saint{background:var(--olive-deep);color:#e8e2d0}
.saint h2{color:#f7f4ec}
.saint .caps{color:#cfc79a}
.saint p{color:#ddd6c3}
.saint a{color:#e8d98f}
.saint-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:clamp(28px,5vw,72px);align-items:start}
.saint-text{display:grid;gap:18px}
.timeline{list-style:none;margin:10px 0 0;padding:0;display:grid}
.timeline li{display:grid;grid-template-columns:4.2rem minmax(0,1fr);gap:14px;padding-block:10px;border-top:1px solid rgba(232,226,208,.2);font-size:.95rem}
.timeline b{font-family:var(--f-display);font-weight:400;color:#e8d98f;font-size:1.1rem;font-variant-numeric:tabular-nums}
.saint-pics{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.saint-pics figure{margin:0;display:grid;gap:8px}
.saint-pics .big{grid-column:1/-1}
.saint-pics img{width:100%;aspect-ratio:4/5;object-fit:cover}
.saint-pics .big img{aspect-ratio:16/10}
.saint figcaption{color:#b9b29c}
@media (max-width:860px){.saint-grid{grid-template-columns:1fr}}
.place a{color:var(--olive)}
.social{display:flex;flex-wrap:wrap;gap:18px}
.social a{display:inline-flex;align-items:center;gap:8px;color:var(--olive-deep);text-decoration:none;font-size:.85rem}
.social a:hover{color:var(--gold)}
.social svg{width:20px;height:20px;fill:currentColor}
