/*
Theme Name: Stanbridge Farms
Theme URI: https://stanbridgefarms.co.uk/
Author: Stanbridge Farms
Description: Bespoke editorial theme for Stanbridge Farms, including Farm, Outpost, Partners, Blog and Contact layouts.
Version: 2.6
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: stanbridge-farms
*/
@import url('https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,400;9..144,600&family=Montserrat:wght@500;600&family=Source+Serif+4:opsz,wght@8..60,400;8..60,600&display=swap');
:root{--paper:#EDE4D1;--ink:#11110f;--muted:#5e584f;--line:rgba(17,17,15,.78);--softline:rgba(17,17,15,.28);--max:1380px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:'Source Serif 4',serif;background:var(--paper);background-image:radial-gradient(circle at 20% 30%,rgba(0,0,0,.018) 0 1px,transparent 1.3px),radial-gradient(circle at 70% 70%,rgba(255,255,255,.15) 0 1px,transparent 1.5px);background-size:10px 10px,12px 12px;background-position:0 0,4px 3px}
a{color:inherit;text-decoration:none}.site-shell{min-height:100vh}.site-header{padding:24px 4vw 0}.header-inner{max-width:var(--max);margin:auto;display:flex;align-items:center;justify-content:space-between;gap:40px}.header-logo img{width:74px;display:block}.nav{display:flex;gap:40px;align-items:center;font-family:Montserrat,sans-serif;font-weight:600;font-size:13px;letter-spacing:.18em;text-transform:uppercase}.nav a{position:relative;padding:8px 0;transition:transform .18s ease,opacity .18s ease}.nav a::after{content:'';position:absolute;left:0;right:100%;bottom:0;height:1px;background:var(--ink);transition:right .22s ease}.nav a:hover{transform:translateY(-1px);opacity:.72}.nav a:hover::after{right:0}.farm-menu{position:relative;padding-bottom:14px;margin-bottom:-14px}.farm-menu-panel{position:absolute;top:100%;right:0;min-width:210px;padding:12px 16px;background:rgba(237,228,209,.985);border:1px solid var(--softline);box-shadow:0 10px 24px rgba(0,0,0,.08);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(6px);transition:opacity .2s ease,transform .2s ease,visibility .2s ease;z-index:50}.farm-menu-panel::before{content:'';position:absolute;left:0;right:0;top:-14px;height:14px}.farm-menu:hover .farm-menu-panel,.farm-menu:focus-within .farm-menu-panel,.farm-menu.is-open .farm-menu-panel{opacity:1;visibility:visible;pointer-events:auto;transform:none}.farm-menu-panel a{display:block;font-size:11px;letter-spacing:.12em;padding:9px 4px}.header-rule{max-width:var(--max);height:1px;background:var(--ink);margin:24px auto 0}.reveal-mark{animation:fadeMark .95s cubic-bezier(.22,.61,.36,1) both}.reveal-content{animation:fadeContent 2.8s .85s linear both}@keyframes fadeMark{from{opacity:0;transform:translateY(3px)}to{opacity:1;transform:none}}to{opacity:1;transform:translateY(0)}}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
.section-head{text-align:center;max-width:var(--max);margin:64px auto 36px;padding:0 4vw}.section-emblem{height:120px;display:flex;align-items:end;justify-content:center}.section-emblem img{max-height:110px;max-width:250px;object-fit:contain}.section-rule{height:1px;background:var(--ink);width:100%;margin:18px auto 18px}.section-title{font-family:Montserrat,sans-serif;font-size:34px;letter-spacing:.22em;text-transform:uppercase;margin:0}.section-deck{font-family:Fraunces,serif;font-size:28px;line-height:1.3;max-width:830px;margin:20px auto 0}.content-wrap{max-width:var(--max);margin:0 auto;padding:0 4vw 90px}.copy{font-size:21px;line-height:1.65}.copy h2{font:600 38px/1.1 Fraunces,serif;margin:42px 0 16px}.copy h3{font:600 28px/1.2 Fraunces,serif}.framed{border:1px solid var(--line);padding:12px;background:rgba(255,255,255,.12)}.framed img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover;object-position:center}.caption{font-family:Montserrat,sans-serif;font-size:10px;letter-spacing:.16em;text-transform:uppercase;text-align:center;margin-top:10px}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:30px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.standard-layout{display:grid;grid-template-columns:340px minmax(0,1fr);gap:60px;align-items:start}.standard-layout .intro{font-size:21px;line-height:1.6}.standard-layout .intro h2{font:600 36px/1.1 Fraunces,serif}.standard-wide{grid-column:1/-1}.post-meta,.label{font-family:Montserrat,sans-serif;font-size:11px;letter-spacing:.16em;text-transform:uppercase}.post-title{font:600 58px/1.02 Fraunces,serif;margin:0 0 12px}.post-body{max-width:760px;margin:0 auto;font-size:21px;line-height:1.66}.post-body .framed{margin:34px 0}.share-row{max-width:760px;margin:48px auto 0;border-top:1px solid var(--softline);border-bottom:1px solid var(--softline);padding:18px 0;display:flex;gap:22px;align-items:center;justify-content:center}.share-row span{font-family:Montserrat,sans-serif;font-size:11px;letter-spacing:.12em;text-transform:uppercase}.back-link{display:block;text-align:center;margin-top:22px;font-family:Fraunces,serif;font-size:20px}.homepage-hero{max-width:var(--max);margin:64px auto 0;padding:0 4vw;text-align:center}.homepage-logo img{width:min(430px,62vw)}.homepage-rule{height:1px;background:var(--ink);width:100%;margin:26px auto 20px}.homepage-tag{font:400 28px/1.3 Fraunces,serif;margin:0 auto 18px}.homepage-photo{height:60vh;min-height:520px;background:url('assets/hero-clean.jpg') center/cover no-repeat;margin-top:18px;mask-image:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.35) 12%,black 32%);-webkit-mask-image:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.35) 12%,black 32%)}
.outpost-logo img{max-width:420px;width:80%}.action-row{display:flex;align-items:center;justify-content:center;gap:18px;flex-wrap:wrap;margin:20px 0 10px}.action-sep{width:1px;height:42px;background:var(--softline)}.availability{display:flex;align-items:center;gap:10px;font:400 20px Fraunces,serif}.dot{width:14px;height:14px;border-radius:50%;background:#67a31f}.brand-button,.icon-button{display:inline-flex;align-items:center;gap:9px;border-radius:8px;box-shadow:0 7px 14px rgba(0,0,0,.22);transition:transform .18s ease,box-shadow .18s ease}.brand-button:hover,.icon-button:hover{transform:translateY(-1px);box-shadow:0 9px 18px rgba(0,0,0,.26)}.brand-button img{height:52px;width:auto;border-radius:8px;display:block}.icon-button{padding:12px 16px;background:#efe7d7;border:1px solid rgba(17,17,15,.22);font:600 12px Montserrat,sans-serif;letter-spacing:.1em;text-transform:uppercase}.icon-button svg{width:22px;height:22px}.icon-button.contact-email svg{width:30px;height:30px;transform:translateY(-4px);filter:drop-shadow(0 4px 5px rgba(0,0,0,.2))}.blog-feature{display:grid;grid-template-columns:1.6fr .9fr;gap:36px;align-items:center;border-bottom:1px solid var(--softline);padding-bottom:32px}.blog-card h3,.blog-feature h2{font:600 34px/1.08 Fraunces,serif;margin:8px 0 10px}.blog-card p,.blog-feature p{font-size:18px;line-height:1.5}.read-more{font:600 11px Montserrat,sans-serif;letter-spacing:.16em;text-transform:uppercase}.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:54px}.contact-list{border-right:1px solid var(--softline);padding-right:40px}.contact-item{margin:0 0 28px}.contact-item strong{font:600 23px Fraunces,serif}.contact-form{display:grid;gap:14px}.contact-form input,.contact-form textarea{width:100%;padding:14px 15px;border:1px solid var(--softline);background:rgba(255,255,255,.16);font:16px 'Source Serif 4',serif}.contact-form textarea{min-height:160px}.button{padding:14px 18px;background:#242a23;color:#fff;border:0;font:600 11px Montserrat,sans-serif;letter-spacing:.16em;text-transform:uppercase}.partners-grid article h3{font:600 28px Fraunces,serif;margin:14px 0 7px}.partners-grid article p{font-size:18px;line-height:1.5}
@media(max-width:900px){.nav{gap:17px;font-size:10px}.standard-layout,.blog-feature,.contact-grid{grid-template-columns:1fr}.contact-list{border-right:0;padding-right:0}.grid-3{grid-template-columns:1fr 1fr}.homepage-logo img{width:min(520px,82vw)}}
@media(max-width:640px){.site-header{padding:18px 18px 0}.header-inner{align-items:flex-start}.header-logo img{width:56px}.nav{flex-wrap:wrap;justify-content:flex-end;gap:10px 16px;max-width:78%}.farm-menu-panel{right:auto;left:0}.grid-2,.grid-3{grid-template-columns:1fr}.section-head{margin-top:44px}.section-title{font-size:26px;letter-spacing:.16em}.section-deck{font-size:23px}.copy,.post-body{font-size:19px}.action-row{gap:12px}.action-sep{display:none}.brand-button img{height:46px}}

/* Prototype cleanup pass */
.section-emblem.farm-emblem img{max-height:96px;width:auto}.section-emblem.blog-emblem img{max-height:92px;width:auto}.section-emblem.partners-emblem img{max-height:88px;width:auto}.contact-grid + .framed img{object-position:center 58%}.partners-grid .framed img,.blog-card .framed img,.blog-feature .framed img,.grid-3 .framed img{aspect-ratio:3/2;object-fit:cover}.post-body .framed img{aspect-ratio:3/2;object-fit:cover}.standard-layout .framed img{aspect-ratio:3/2;object-fit:cover}

/* v3 polish pass */
.section-emblem.farm-emblem{height:150px}
.section-emblem.farm-emblem img{max-height:138px;max-width:310px}
.section-emblem.blog-emblem{height:150px}
.section-emblem.blog-emblem img{max-height:138px;max-width:260px}
.section-emblem.partners-emblem{height:150px}
.section-emblem.partners-emblem img{max-height:130px;max-width:260px}

/* Clean, predictable image ratios across card/grid layouts. */
.partners-grid .framed img,
.blog-card .framed img,
.blog-feature .framed img,
.grid-3 .framed img{aspect-ratio:3/2;object-fit:cover;object-position:center}
.standard-layout > figure.framed img{aspect-ratio:16/9;object-fit:cover;object-position:center}
.standard-layout .grid-2 .framed img{aspect-ratio:3/2;object-fit:cover}
.standard-layout > figure.standard-wide.framed img{aspect-ratio:16/7;object-fit:cover}

/* Contact footer image: scenic crop only, no baked-in text. */
.contact-hero img{aspect-ratio:16/5;object-fit:cover;object-position:center 58%}

/* Outpost social/contact strip: only the icons are raised/shadowed. */
.icon-button.instagram-link,
.icon-button.contact-email{
  background:transparent;
  border:0;
  box-shadow:none;
  padding:8px 4px;
}
.icon-button.instagram-link:hover,
.icon-button.contact-email:hover{
  box-shadow:none;
}
.instagram-mark{
  width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;
  filter:drop-shadow(0 4px 5px rgba(0,0,0,.18));
  transform:translateY(-2px);
}
.instagram-mark svg{width:36px;height:36px}
.contact-email .email-icon{
  width:42px;height:42px;display:inline-flex;align-items:center;justify-content:center;
  background:#efe7d7;border:1px solid rgba(17,17,15,.22);border-radius:8px;
  box-shadow:0 7px 14px rgba(0,0,0,.2);
  transform:translateY(-4px);
}
.contact-email .email-icon svg{width:30px;height:30px;transform:none;filter:none}
.contact-email > span:last-child{transform:none}

/* v4 icon fidelity + Outpost contact cleanup */

/* Use the approved original line-art assets, not reconstructed SVG approximations. */
.section-emblem.farm-emblem,
.section-emblem.blog-emblem,
.section-emblem.partners-emblem{
  height:158px;
  align-items:center;
}
.section-emblem.farm-emblem img{
  max-height:136px;
  max-width:300px;
  width:auto;
  image-rendering:auto;
}
.section-emblem.blog-emblem img{
  max-height:142px;
  max-width:220px;
  width:auto;
  image-rendering:auto;
}
.section-emblem.partners-emblem img{
  max-height:132px;
  max-width:230px;
  width:auto;
  image-rendering:auto;
}

/* Outpost Contact: only the envelope is raised; the text stays flat. */
.outpost-contact-link{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:6px 2px;
  font:600 12px Montserrat,sans-serif;
  letter-spacing:.10em;
  text-transform:uppercase;
  background:transparent;
  border:0;
  box-shadow:none;
}
.outpost-contact-link:hover{opacity:.72}
.outpost-mail-icon{
  width:42px;
  height:34px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  transform:translateY(-4px);
  filter:drop-shadow(0 5px 5px rgba(0,0,0,.22));
}
.outpost-mail-icon svg{
  width:42px;
  height:32px;
  overflow:visible;
}
.outpost-contact-link > span:last-child{
  transform:none;
  filter:none;
  box-shadow:none;
}

/* Avoid stale prototype rules interfering with the new contact control. */
.contact-email,
.contact-email .email-icon{all:unset}

/* Keep screenshot-derived photos from reintroducing baked captions. */
.standard-layout > figure.framed img,
.standard-layout .grid-2 .framed img,
.standard-layout > figure.standard-wide.framed img{
  object-fit:cover;
  object-position:center;
}

/* v5 approved icon pass */
.section-emblem.farm-emblem img{
  max-height:170px;
  max-width:340px;
}
.section-emblem.partners-emblem img{
  max-height:165px;
  max-width:330px;
}
.section-emblem.blog-emblem img{
  max-height:170px;
  max-width:300px;
}

/* Outpost: same position, larger/more noticeable */
.outpost-logo{
  transform:scale(1.12);
  transform-origin:center top;
  margin-bottom:12px;
}

/* v7 homepage viewport fit:
   keep the whole landing composition visible without requiring desktop scroll. */
.home-main{
  min-height:calc(100vh - 104px);
  display:flex;
  flex-direction:column;
  overflow:hidden;
}
.homepage-hero{
  margin-top:clamp(28px,4vh,48px);
  flex:0 0 auto;
}
.homepage-logo img{
  width:min(355px,44vw);
}
.homepage-rule{
  margin-top:20px;
  margin-bottom:15px;
}
.homepage-tag{
  font-size:clamp(21px,1.8vw,27px);
  margin-bottom:10px;
}
.homepage-photo{
  width:100%;
  height:auto;
  min-height:0;
  aspect-ratio:1672 / 428;
  margin-top:8px;
  background-size:cover;
  background-position:center;
  flex:0 0 auto;
}

/* On shorter desktop windows, compress the logo block slightly rather than forcing scroll. */
@media (min-width:901px) and (max-height:820px){
  .homepage-hero{margin-top:22px}
  .homepage-logo img{width:min(305px,38vw)}
  .homepage-rule{margin-top:15px;margin-bottom:11px}
  .homepage-tag{font-size:22px;margin-bottom:6px}
  .homepage-photo{margin-top:4px}
}

@media(max-width:900px){
  .home-main{overflow:visible;min-height:auto}
  .homepage-photo{aspect-ratio:auto;height:42vh;min-height:320px}
}


/* v8 — archival photo cards */
figure.framed{
  position:relative;
  overflow:visible;
  border:1px solid rgba(17,17,15,.88);
  background:#F5EBD8;
  padding:13px 13px 12px;
  box-shadow:8px 8px 0 rgba(17,17,15,.13);
  transform:rotate(-.22deg);
  transform-origin:center;
}

.grid-2 > figure.framed:nth-child(even),
.grid-3 > figure.framed:nth-child(even),
.blog-grid figure.framed:nth-child(even){
  transform:rotate(.18deg);
}

figure.framed img{
  display:block;
  width:100%;
  border:1px solid rgba(17,17,15,.82);
}

figure.framed figcaption.caption{
  position:relative;
  margin:12px 0 0;
  padding:11px 88px 2px 0;
  border-top:1px solid rgba(17,17,15,.78);
  text-align:left;
  min-height:31px;
  font-family:Montserrat,sans-serif;
  font-size:10px;
  line-height:1.45;
  font-weight:600;
  letter-spacing:.13em;
  text-transform:uppercase;
}

figure.framed figcaption.caption::after{
  content:"SF / ARCHIVE";
  position:absolute;
  right:0;
  top:11px;
  white-space:nowrap;
  font-size:8px;
  font-weight:600;
  letter-spacing:.14em;
  opacity:.72;
}

figure.framed::after{
  content:"STANBRIDGE FARMS";
  display:inline-block;
  margin-top:10px;
  border:1px solid rgba(17,17,15,.72);
  padding:4px 7px 3px;
  font-family:Montserrat,sans-serif;
  font-size:7px;
  line-height:1;
  font-weight:600;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.grid-2,
.grid-3,
.partners-grid,
.blog-grid{
  row-gap:36px;
}

.post-body figure.framed{
  max-width:720px;
  margin-left:auto;
  margin-right:auto;
}

.homepage-photo{
  box-shadow:none;
  transform:none;
}

@media(max-width:640px){
  figure.framed{
    padding:10px;
    box-shadow:5px 5px 0 rgba(17,17,15,.13);
    transform:none !important;
  }
  figure.framed figcaption.caption{
    padding-right:0;
    padding-bottom:22px;
  }
  figure.framed figcaption.caption::after{
    left:0;
    right:auto;
    top:auto;
    bottom:2px;
  }
}

@keyframes fadeContent{
  0%{opacity:0;transform:translateY(4px)}
  25%{opacity:.10;transform:translateY(3px)}
  50%{opacity:.32;transform:translateY(2px)}
  75%{opacity:.64;transform:translateY(1px)}
  100%{opacity:1;transform:translateY(0)}
}


/* v18 — v11 restored; homepage photo fills the remaining viewport */
@media (min-width:901px){
  .home-main{
    min-height:calc(100vh - 104px);
    display:flex;
    flex-direction:column;
    overflow:hidden;
  }

  .homepage-hero{
    flex:0 0 auto;
  }

  .homepage-photo{
    flex:1 1 auto;
    width:100%;
    min-height:0;
    height:auto;
    aspect-ratio:auto;
    background-size:cover;
    background-position:center center;
  }
}

/* v19 — remove final sub-pixel cream strip beneath homepage hero */
@media (min-width:901px){
  .homepage-photo{
    margin-bottom:-4px;
  }
}

/* v20 — exact viewport fit.
   Let flexbox calculate the real header height instead of guessing it. */
@media (min-width:901px){
  html, body{
    height:100%;
  }

  .site-shell{
    height:100dvh;
    min-height:0;
    display:flex;
    flex-direction:column;
    overflow:hidden;
  }

  .site-header{
    flex:0 0 auto;
  }

  .home-main{
    flex:1 1 auto;
    min-height:0;
    height:auto;
    display:flex;
    flex-direction:column;
    overflow:hidden;
  }

  .homepage-hero{
    flex:0 0 auto;
  }

  .homepage-photo{
    flex:1 1 auto;
    min-height:0;
    height:auto;
    margin-bottom:0;
  }
}


/* v21 — viewport lock belongs ONLY to the landing page.
   All other pages must scroll normally. */
@media (min-width:901px){
  body:not(.home-page){
    height:auto;
    min-height:100%;
    overflow-y:auto;
  }

  body:not(.home-page) .site-shell{
    height:auto;
    min-height:100vh;
    display:block;
    overflow:visible;
  }
}


/* v22 — clearer archival card texture + neutral caption placeholder */

/* Make the stock imperfections visible without turning it into parchment. */
figure.framed{
  background:
    radial-gradient(circle at 18% 22%, rgba(17,17,15,.055) 0 0.8px, transparent 1.1px),
    radial-gradient(circle at 72% 34%, rgba(17,17,15,.035) 0 0.7px, transparent 1px),
    radial-gradient(circle at 43% 78%, rgba(255,255,255,.28) 0 1px, transparent 1.4px),
    repeating-linear-gradient(
      12deg,
      rgba(17,17,15,.018) 0 1px,
      transparent 1px 7px
    ),
    #F5EBD8;
  background-size:
    13px 13px,
    17px 17px,
    19px 19px,
    auto,
    auto;
}

/* The little card label is now a generic placeholder rather than branding. */
figure.framed::after{
  content:"CAPTION HERE";
}

/* Keep the small archive reference, but make it quieter. */
figure.framed figcaption.caption::after{
  opacity:.48;
}


/* v23 — make the paper grain much more visible */
body{
  background:
    radial-gradient(circle at 14% 18%, rgba(17,17,15,.05) 0 1px, transparent 1.5px),
    radial-gradient(circle at 76% 22%, rgba(17,17,15,.04) 0 .9px, transparent 1.35px),
    radial-gradient(circle at 38% 72%, rgba(255,255,255,.32) 0 1.1px, transparent 1.6px),
    repeating-linear-gradient(
      8deg,
      rgba(17,17,15,.018) 0 1px,
      transparent 1px 8px
    ),
    repeating-linear-gradient(
      92deg,
      rgba(17,17,15,.012) 0 1px,
      transparent 1px 11px
    ),
    #EDE4D1;
  background-size:
    18px 18px,
    24px 24px,
    22px 22px,
    auto,
    auto,
    auto;
}

figure.framed{
  background:
    radial-gradient(circle at 20% 24%, rgba(17,17,15,.08) 0 1px, transparent 1.5px),
    radial-gradient(circle at 72% 34%, rgba(17,17,15,.06) 0 .9px, transparent 1.4px),
    radial-gradient(circle at 40% 78%, rgba(255,255,255,.36) 0 1.1px, transparent 1.7px),
    repeating-linear-gradient(
      11deg,
      rgba(17,17,15,.03) 0 1px,
      transparent 1px 7px
    ),
    repeating-linear-gradient(
      88deg,
      rgba(17,17,15,.018) 0 1px,
      transparent 1px 10px
    ),
    #F5EBD8;
  background-size:
    14px 14px,
    18px 18px,
    20px 20px,
    auto,
    auto,
    auto;
}


/* v24 — use an actual raster paper texture so the grain is unmistakably visible */
body{
  background-color:#EDE4D1;
  background-image:url("assets/paper-grain.png");
  background-repeat:repeat;
  background-size:360px 360px;
}

figure.framed{
  background-color:#F5EBD8;
  background-image:url("assets/paper-grain.png");
  background-repeat:repeat;
  background-size:280px 280px;
}

/* Slightly stronger texture on the card stock itself. */
figure.framed{
  background-blend-mode:multiply;
}


/* v25 — brighter handmade paper texture, closer to the reference */
body{
  background-color:#F5F0E7;
  background-image:url("assets/paper-grain-bright.png");
  background-repeat:repeat;
  background-size:700px 700px;
}

figure.framed{
  background-color:#F8F0E0;
  background-image:url("assets/paper-card-bright.png");
  background-repeat:repeat;
  background-size:520px 520px;
  background-blend-mode:normal;
}


/* =========================================================
   v26 — LUXURY REFINEMENT PASS
   Direction: country-estate editorial, preserving the
   existing Stanbridge identity, icons, paper, header and fade.
   ========================================================= */

/* New editorial font stack */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,500;0,600;1,500&family=Libre+Baskerville:wght@400;700&family=Montserrat:wght@500;600&display=swap');

:root{
  --display-serif:"Cormorant Garamond", Georgia, serif;
  --body-serif:"Libre Baskerville", Georgia, serif;
  --utility-sans:"Montserrat", Arial, sans-serif;
}

/* Utility voice remains Montserrat */
.site-header,
.site-header a,
.caption,
.meta,
.eyebrow,
.label,
.partner-link,
.read-more,
.share-row,
button,
.button,
input,
textarea{
  font-family:var(--utility-sans);
}

/* Display hierarchy shifts to a more luxurious serif */
.page-title,
.section-title,
.content-title,
.post-title,
.hero-title,
.homepage-wordmark,
h1,h2,h3{
  font-family:var(--display-serif);
  font-weight:600;
  letter-spacing:.015em;
}

/* Body copy becomes more book-like and refined */
body,
p,
li,
.post-body,
.content-copy{
  font-family:var(--body-serif);
}

/* Keep nav crisp and modern */
.site-header a{
  font-weight:600;
  letter-spacing:.16em;
  text-transform:uppercase;
}

/* Top-level titles: elegant rather than heavily tracked sans */
.page-title{
  text-transform:none;
  letter-spacing:.02em;
  font-size:clamp(42px,5vw,68px);
  line-height:.95;
  margin-top:8px;
}

/* Section headings: larger, isolated, quieter */
.section-title,
.content-section h2,
.post-body h2{
  font-family:var(--display-serif);
  font-size:clamp(38px,4.1vw,58px);
  font-weight:600;
  letter-spacing:.01em;
  line-height:1;
  text-transform:none;
  margin-bottom:30px;
}

/* Small chapter labels remain tracked Montserrat */
.eyebrow,
.section-label,
.content-section .kicker{
  font-family:var(--utility-sans);
  font-size:11px;
  font-weight:600;
  letter-spacing:.19em;
  text-transform:uppercase;
}

/* Body measure and rhythm */
.page-intro,
.content-copy,
.post-body{
  font-family:var(--body-serif);
  line-height:1.8;
}

.page-intro{
  max-width:760px;
  font-size:clamp(18px,1.55vw,22px);
  line-height:1.75;
}

.content-copy,
.post-body{
  font-size:16px;
}

/* More deliberate whitespace */
.page-hero{
  padding-bottom:84px;
}

.content-section{
  padding-top:96px;
  padding-bottom:96px;
}

.content-section + .content-section{
  border-top:1px solid rgba(17,17,15,.18);
}

/* Thin luxury accent rule */
.section-rule,
.title-rule{
  height:1px;
  background:rgba(17,17,15,.72);
}

/* Editorial split layouts get more breathing room */
.split,
.content-split,
.two-col{
  gap:clamp(48px,7vw,110px);
  align-items:center;
}

/* Give images more cinematic scale */
.content-section img,
.feature-image img{
  object-fit:cover;
}

/* Standard editorial image: clean, frameless */
figure.editorial-photo{
  margin:0;
}

figure.editorial-photo img{
  width:100%;
  display:block;
  border:0;
  box-shadow:none;
}

/* Archive cards are now a special treatment rather than the default */
figure.framed{
  box-shadow:7px 7px 0 rgba(17,17,15,.10);
  border-color:rgba(17,17,15,.66);
  transform:rotate(-.15deg);
}

figure.framed:nth-of-type(even){
  transform:rotate(.12deg);
}

/* Captions become quieter and more elegant */
figure.framed figcaption.caption,
figcaption.caption{
  font-family:var(--utility-sans);
  font-size:9px;
  font-weight:600;
  letter-spacing:.16em;
  line-height:1.55;
  text-transform:uppercase;
}

/* Homepage logo: return to a refined serif wordmark */
.homepage-wordmark{
  font-family:var(--display-serif);
  font-size:clamp(36px,4vw,52px);
  font-weight:600;
  letter-spacing:.01em;
  text-transform:none;
}

/* Farm page specific: make each chapter feel more editorial */
.farm-page .content-section:nth-of-type(odd) .content-split,
.farm-page .content-section:nth-of-type(odd) .split{
  grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);
}

.farm-page .content-section:nth-of-type(even) .content-split,
.farm-page .content-section:nth-of-type(even) .split{
  grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);
}

/* Partners: more gallery-like, less card-grid */
.partners-grid{
  gap:56px 34px;
}

.partner-card{
  background:transparent;
  border:0;
  box-shadow:none;
  padding:0;
}

.partner-card img{
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
  margin-bottom:20px;
}

.partner-card h3{
  font-size:30px;
  margin:0 0 10px;
}

.partner-card p{
  line-height:1.7;
}

/* Blog index: editorial magazine feel */
.blog-featured{
  gap:56px;
  align-items:center;
}

.blog-card{
  background:transparent;
  border:0;
}

.blog-card h3{
  font-size:30px;
  line-height:1.08;
}

.blog-card .caption,
.blog-card .meta{
  font-family:var(--utility-sans);
}

/* Outpost can stay image-led and cleaner than archival */
.outpost-page figure.framed{
  transform:none;
  box-shadow:none;
  border:0;
  background:none;
  padding:0;
}

.outpost-page figure.framed::after,
.outpost-page figure.framed figcaption.caption::after{
  display:none;
}

.outpost-page figure.framed img{
  border:0;
}

.outpost-page figure.framed figcaption.caption{
  border-top:0;
  margin-top:10px;
  padding:0;
}

/* Contact: simpler, more spacious */
.contact-grid{
  gap:clamp(56px,8vw,120px);
}

.contact-form input,
.contact-form textarea{
  background:rgba(255,255,255,.18);
  border:1px solid rgba(17,17,15,.32);
}

.contact-form button{
  background:transparent;
  border:1px solid rgba(17,17,15,.72);
  letter-spacing:.16em;
  text-transform:uppercase;
}

/* Make the whole thing breathe more on desktop */
@media(min-width:1000px){
  .page-shell,
  .content-wrap,
  .article-wrap{
    max-width:1240px;
  }
}

/* Mobile: retain readability and avoid oversized display serif */
@media(max-width:700px){
  .page-title{
    font-size:44px;
  }

  .section-title,
  .content-section h2,
  .post-body h2{
    font-size:38px;
  }

  .content-section{
    padding-top:64px;
    padding-bottom:64px;
  }
}


/* =========================================================
   v27 — EARTH-TONE LUXURY PASS
   ========================================================= */

:root{
  --earth:#443D34;
  --earth-deep:#383229;
  --earth-soft:#5A5145;
  --ivory:#F6F1E8;
  --ivory-muted:#D7CCBC;
  --sand:#C5B49A;
  --display:"Cormorant Garamond", Georgia, serif;
  --body:"Libre Baskerville", Georgia, serif;
  --sans:"Montserrat", Arial, sans-serif;
}

/* Remove the paper stock as the primary visual idea */
html, body{
  background:var(--earth);
  color:var(--ivory);
}

body{
  background-image:none !important;
  font-family:var(--body);
}

.site-shell,
main{
  background:transparent;
}

/* Header stays exactly where it is, but becomes quieter and more premium */
.site-header{
  background:var(--earth);
}

.header-rule,
.section-rule{
  background:rgba(246,241,232,.38) !important;
}

.header-logo img{
  opacity:.96;
}

.nav a{
  color:var(--ivory);
  font-family:var(--sans);
  font-weight:500;
  letter-spacing:.18em;
}

.nav a:hover{
  color:#fff;
}

/* Existing page icons now read as light marks on the dark field */
.section-emblem img,
.reveal-mark img{
  filter:none;
}

.contact-page .section-emblem svg g{
  stroke:var(--ivory) !important;
}

/* HOTEL-LIKE TYPOGRAPHIC CONFIDENCE */
.luxury-page-title,
.section-title{
  color:var(--ivory);
  font-family:var(--display);
  font-weight:500;
}

.luxury-page-title{
  font-size:clamp(48px,5.3vw,76px);
  letter-spacing:.14em;
  line-height:.95;
  text-transform:uppercase;
}

.section-deck{
  color:var(--ivory-muted);
  font-family:var(--body);
  font-size:17px;
  line-height:1.8;
}

h2, h3, .post-title{
  color:var(--ivory);
  font-family:var(--display);
}

p{
  color:var(--ivory-muted);
}

/* Keep labels distinctly modern */
.post-meta,
.read-more,
.caption,
.luxury-kicker,
.contact-item strong,
.button,
.share-row,
.back-link{
  font-family:var(--sans);
}

/* more generous content width and air */
.content-wrap{
  max-width:1320px;
  padding-left:clamp(28px,6vw,92px);
  padding-right:clamp(28px,6vw,92px);
}

.luxury-section-head{
  padding-bottom:100px;
}

.farm-editorial{
  padding-top:10px;
  padding-bottom:130px;
}

/* Farm editorial spreads */
.luxury-spread{
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);
  gap:clamp(60px,8vw,130px);
  align-items:center;
  margin:0 0 150px;
}

.luxury-spread.reverse{
  grid-template-columns:minmax(320px,.72fr) minmax(0,1.28fr);
}

.luxury-image{
  margin:0;
  overflow:hidden;
}

.luxury-image img,
.cinematic-image img{
  width:100%;
  display:block;
  object-fit:cover;
}

.image-large img{
  aspect-ratio:1.38/1;
}

.image-tall img{
  aspect-ratio:1.05/1;
}

.luxury-copy{
  max-width:470px;
}

.luxury-kicker{
  color:var(--sand);
  font-size:10px;
  font-weight:600;
  letter-spacing:.28em;
  text-transform:uppercase;
  margin-bottom:18px;
}

.luxury-copy h2,
.chapter-heading h2{
  margin:0;
  color:var(--ivory);
  font-family:var(--display);
  font-size:clamp(45px,5vw,72px);
  font-weight:500;
  line-height:.98;
  letter-spacing:.10em;
  text-transform:uppercase;
}

.luxury-copy p,
.chapter-copy p,
.narrow-copy p,
.security-copy p{
  font-family:var(--body);
  color:var(--ivory-muted);
  font-size:15px;
  line-height:1.9;
}

.fine-rule{
  width:96px;
  height:1px;
  background:rgba(246,241,232,.62);
  margin:27px 0 28px;
}

.luxury-chapter{
  padding:120px 0;
  border-top:1px solid rgba(246,241,232,.18);
}

.chapter-heading{
  margin-bottom:64px;
}

.chapter-heading.centered{
  text-align:center;
}

.chapter-heading.centered .luxury-kicker{
  text-align:center;
}

.chapter-grid{
  display:grid;
  grid-template-columns:minmax(260px,.62fr) minmax(0,1.38fr);
  gap:clamp(65px,9vw,140px);
  align-items:center;
}

.chapter-copy{
  max-width:440px;
}

/* One archival object survives as a deliberate contrast */
.archive-feature{
  margin:0;
  padding:14px;
  background:#D8CDBA;
  color:#2F2A24;
  border:0;
  box-shadow:10px 12px 0 rgba(0,0,0,.14);
  transform:rotate(-.35deg);
}

.archive-feature img{
  width:100%;
  display:block;
  aspect-ratio:1.45/1;
  object-fit:cover;
}

.archive-feature figcaption{
  font-family:var(--sans);
  font-size:9px;
  letter-spacing:.18em;
  text-transform:uppercase;
  margin-top:12px;
  padding-top:10px;
  border-top:1px solid rgba(47,42,36,.48);
}

.cinematic-image{
  margin:0 auto;
  max-width:1160px;
}

.cinematic-image img{
  aspect-ratio:2.15/1;
}

.narrow-copy{
  max-width:680px;
  margin:42px auto 0;
  text-align:center;
}

.security-chapter{
  display:grid;
  grid-template-columns:.8fr 1.2fr;
  gap:80px;
  align-items:start;
}

.security-copy{
  max-width:620px;
  padding-top:38px;
}

/* Generic content pages: less cardy, more hotel/editorial */
.partners-grid figure.framed,
.blog-page figure.framed,
.contact-page figure.framed{
  background:none;
  background-image:none;
  border:0;
  box-shadow:none;
  padding:0;
  transform:none;
}

.partners-grid figure.framed::after,
.blog-page figure.framed::after,
.contact-page figure.framed::after,
.partners-grid figcaption::after,
.blog-page figcaption::after,
.contact-page figcaption::after{
  display:none !important;
}

.partners-grid img,
.blog-page figure img,
.contact-hero img{
  border:0 !important;
}

.partners-grid article h3,
.blog-card h3,
.blog-feature h2{
  font-family:var(--display);
  font-weight:500;
  text-transform:uppercase;
  letter-spacing:.075em;
}

.partners-grid article h3{
  font-size:31px;
}

.blog-feature h2{
  font-size:clamp(40px,4vw,58px);
}

.blog-card h3{
  font-size:28px;
}

.post-meta,
.read-more{
  color:var(--sand);
  letter-spacing:.16em;
  text-transform:uppercase;
  font-size:10px;
}

/* Outpost stays its own sub-brand but belongs to the earth-tone site */
.outpost-logo{
  filter:none;
}

.outpost-page .action-row,
.outpost-page .action-row a,
.outpost-page .availability{
  color:var(--ivory);
}

.action-sep{
  background:rgba(246,241,232,.35);
}

.outpost-contact-link,
.icon-button{
  color:var(--ivory);
}

/* Contact */
.contact-item{
  color:var(--ivory-muted);
}

.contact-item strong{
  color:var(--ivory);
  letter-spacing:.15em;
  text-transform:uppercase;
  font-size:10px;
}

.contact-form input,
.contact-form textarea{
  background:rgba(255,255,255,.04);
  color:var(--ivory);
  border-color:rgba(246,241,232,.28);
}

.contact-form input::placeholder,
.contact-form textarea::placeholder{
  color:rgba(246,241,232,.54);
}

.contact-form .button{
  color:var(--ivory);
  border-color:rgba(246,241,232,.66);
}

/* Blog article */
.post-title{
  font-size:clamp(52px,6vw,82px);
  font-weight:500;
}

.post-body{
  color:var(--ivory-muted);
}

.post-body h2{
  text-transform:uppercase;
  letter-spacing:.09em;
  font-weight:500;
}

.share-row a,
.back-link{
  color:var(--ivory);
}

/* Homepage: same composition/fade, new premium colour field */
.home-page,
.home-page .site-shell,
.home-page .home-main{
  background:var(--earth);
}

.homepage-logo img{
  filter:none;
}

.homepage-rule{
  background:rgba(246,241,232,.52);
}

.homepage-tag{
  color:var(--ivory);
}

/* Cards from the old paper-stock system are neutralised by default */
figure.framed{
  color:var(--ivory);
}

figure.framed:not(.archive-feature){
  background:none;
  background-image:none;
  border:0;
  box-shadow:none;
  padding:0;
  transform:none;
}

figure.framed:not(.archive-feature)::after{
  display:none;
}

figure.framed:not(.archive-feature) figcaption.caption{
  border-top:0;
  color:var(--ivory-muted);
  padding:10px 0 0;
  margin-top:0;
}

figure.framed:not(.archive-feature) figcaption.caption::after{
  display:none;
}

/* Responsive */
@media(max-width:900px){
  .luxury-spread,
  .luxury-spread.reverse,
  .chapter-grid,
  .security-chapter{
    grid-template-columns:1fr;
    gap:42px;
  }

  .luxury-spread{
    margin-bottom:90px;
  }

  .luxury-chapter{
    padding:80px 0;
  }

  .chapter-heading{
    margin-bottom:40px;
  }

  .luxury-page-title{
    font-size:48px;
    letter-spacing:.10em;
  }

  .luxury-copy h2,
  .chapter-heading h2{
    font-size:46px;
    letter-spacing:.07em;
  }

  .security-copy{
    padding-top:0;
  }
}


/* =========================================================
   v28 — icon repair + rebuilt landing-page wordmark
   ========================================================= */

/* Stronger, cleaner icon rendering on the earth-tone background */
.section-emblem img{
  opacity:1;
  filter:none;
}

.section-emblem.farm-emblem img{
  max-height:150px;
  max-width:350px;
}

.section-emblem.partners-emblem img{
  max-height:142px;
  max-width:320px;
}

.section-emblem.blog-emblem img{
  max-height:145px;
  max-width:300px;
}

/* Contact envelope: explicitly recolour the inline SVG */
.contact-page .section-emblem svg g{
  stroke:#F6F1E8 !important;
}

/* Header tractor: slightly stronger presence */
.header-logo img{
  width:92px;
  height:auto;
  opacity:1;
}

/* Rebuild the homepage logo as two independent elements:
   cropped tractor mark + live luxury serif wordmark */
.homepage-logo-luxury{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:24px;
  width:100%;
}

.homepage-logo-luxury .homepage-tractor-mark{
  width:min(330px,32vw);
  max-width:none;
  height:auto;
  display:block;
}

.homepage-wordmark-new{
  font-family:"Cormorant Garamond", Georgia, serif;
  font-size:clamp(46px,4.4vw,66px);
  line-height:.95;
  font-weight:600;
  letter-spacing:.055em;
  color:#F6F1E8;
  text-align:center;
  white-space:nowrap;
}

/* Make sure older generic homepage-logo image rules don't shrink the mark */
.homepage-logo-luxury > img{
  width:min(330px,32vw);
}

@media(max-width:900px){
  .homepage-logo-luxury{
    gap:18px;
  }

  .homepage-logo-luxury .homepage-tractor-mark,
  .homepage-logo-luxury > img{
    width:min(270px,62vw);
  }

  .homepage-wordmark-new{
    font-size:clamp(38px,8vw,50px);
    letter-spacing:.04em;
  }
}


/* v30 — more breathing room in the landing-page wordmark */
.homepage-wordmark-new{
  font-size:clamp(34px,3.5vw,52px);
  letter-spacing:.14em;
  font-weight:600;
  margin-left:.14em; /* optically re-centre tracked caps */
}


/* v31 — stacked homepage wordmark, matched to THE FARM typography */
.homepage-logo-luxury{
  gap:30px;
}

.homepage-wordmark-stacked{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:6px;
  color:#F6F1E8;
  font-family:"Cormorant Garamond", Georgia, serif;
  font-weight:500;
  line-height:.9;
  text-transform:uppercase;
  margin-left:0;
}

.homepage-wordmark-stacked .wordmark-line{
  display:block;
  white-space:nowrap;
}

.homepage-wordmark-stacked .wordmark-stanbridge{
  font-size:clamp(34px,3.6vw,50px);
  letter-spacing:.17em;
  margin-left:.17em;
}

.homepage-wordmark-stacked .wordmark-farms{
  font-size:clamp(44px,4.7vw,64px);
  letter-spacing:.22em;
  margin-left:.22em;
}

/* Quieter strapline so the logo has the authority */
.homepage-tag{
  font-size:clamp(18px,1.55vw,23px);
  font-weight:400;
  line-height:1.45;
}

@media(max-width:900px){
  .homepage-logo-luxury{
    gap:22px;
  }

  .homepage-wordmark-stacked{
    gap:5px;
  }

  .homepage-wordmark-stacked .wordmark-stanbridge{
    font-size:clamp(28px,6.7vw,38px);
    letter-spacing:.12em;
    margin-left:.12em;
  }

  .homepage-wordmark-stacked .wordmark-farms{
    font-size:clamp(36px,8.5vw,48px);
    letter-spacing:.17em;
    margin-left:.17em;
  }
}

/* v32 — softer strapline beneath the homepage identity */
.homepage-tag{
  font-family:"Cormorant Garamond", Georgia, serif;
  font-style:italic;
  font-weight:500;
  letter-spacing:.01em;
}


/* v33 — homepage identity matched to the approved visual direction */
.homepage-logo-luxury{
  gap:34px; /* tractor to STANBRIDGE */
}

.homepage-wordmark-stacked{
  gap:18px; /* more breathing room between STANBRIDGE and farms */
  font-family:"Cormorant Garamond", Georgia, serif;
  color:#F6F1E8;
}

.homepage-wordmark-stacked .wordmark-stanbridge{
  font-size:clamp(42px,4.7vw,66px);
  font-style:normal;
  font-weight:500;
  letter-spacing:.12em;
  line-height:.92;
  margin-left:.12em;
}

.homepage-wordmark-stacked .wordmark-farms{
  font-size:clamp(48px,5.25vw,74px);
  font-style:italic;
  font-weight:500;
  letter-spacing:.16em;
  line-height:.88;
  margin-left:.16em;
  text-transform:lowercase;
}

/* Keep the tractor at the approved smaller proportion from the visual mock-up */
.homepage-logo-luxury .homepage-tractor-mark,
.homepage-logo-luxury > img{
  width:min(290px,29vw);
}

/* Thin divider and softer italic strapline */
.homepage-rule{
  margin-top:28px;
  margin-bottom:18px;
  background:rgba(246,241,232,.58);
}

.homepage-tag{
  font-family:"Cormorant Garamond", Georgia, serif;
  font-style:italic;
  font-weight:500;
  font-size:clamp(20px,1.8vw,27px);
  letter-spacing:.01em;
  line-height:1.35;
  color:#F6F1E8;
}

@media(max-width:900px){
  .homepage-logo-luxury{
    gap:24px;
  }

  .homepage-wordmark-stacked{
    gap:13px;
  }

  .homepage-wordmark-stacked .wordmark-stanbridge{
    font-size:clamp(34px,8vw,46px);
    letter-spacing:.09em;
    margin-left:.09em;
  }

  .homepage-wordmark-stacked .wordmark-farms{
    font-size:clamp(40px,9.3vw,54px);
    letter-spacing:.12em;
    margin-left:.12em;
  }

  .homepage-logo-luxury .homepage-tractor-mark,
  .homepage-logo-luxury > img{
    width:min(245px,56vw);
  }
}


/* v35 — tune the lockup to the approved mock-up:
   Cormorant throughout, smaller farms, tighter vertical relationship. */
.homepage-wordmark-stacked{
  gap:8px;
  font-family:"Cormorant Garamond", Georgia, serif;
}

.homepage-wordmark-stacked .wordmark-stanbridge{
  font-family:"Cormorant Garamond", Georgia, serif;
  font-style:normal;
  font-weight:500;
  font-size:clamp(42px,4.7vw,66px);
  letter-spacing:.12em;
  line-height:.92;
  margin-left:.12em;
}

.homepage-wordmark-stacked .wordmark-farms{
  font-family:"Cormorant Garamond", Georgia, serif;
  font-style:italic;
  font-weight:500;
  font-size:clamp(36px,3.9vw,52px);
  letter-spacing:.12em;
  line-height:.9;
  margin-left:.12em;
  text-transform:lowercase;
}

@media(max-width:900px){
  .homepage-wordmark-stacked{
    gap:6px;
  }

  .homepage-wordmark-stacked .wordmark-farms{
    font-size:clamp(32px,7.2vw,42px);
    letter-spacing:.10em;
    margin-left:.10em;
  }
}


/* v38 — restore v35 composition; use the new detailed tractor as a transparent asset */

/* Header tractor: detailed but restrained */
.header-logo img{
  width:88px !important;
  height:auto;
  display:block;
}

/* Homepage tractor: no square/background, just the detailed tractor */
.homepage-logo-luxury .homepage-tractor-mark,
.homepage-logo-luxury > img{
  width:min(300px,30vw) !important;
  max-width:none !important;
  height:auto;
  object-fit:contain;
  display:block;
}

/* Preserve the v35 live typography and spacing beneath it */
.homepage-logo-luxury{
  gap:34px;
}

@media(max-width:900px){
  .header-logo img{
    width:72px !important;
  }

  .homepage-logo-luxury .homepage-tractor-mark,
  .homepage-logo-luxury > img{
    width:min(250px,58vw) !important;
  }
}


/* v39 — tighten the homepage lockup spacing to match the preferred screengrab */
.homepage-logo-luxury{
  gap: 18px !important;
}

.homepage-wordmark-stacked{
  gap: 0px !important;
}

.homepage-wordmark-stacked .wordmark-stanbridge{
  line-height: .88;
  margin-bottom: -2px;
}

.homepage-wordmark-stacked .wordmark-farms{
  font-size: clamp(32px, 3.25vw, 44px) !important;
  line-height: .82;
  letter-spacing: .10em;
  margin-top: 5px;
}

.homepage-rule{
  margin: 16px auto 10px !important;
}

.homepage-tag{
  margin: 0 auto 12px !important;
  font-style: italic;
}

@media(max-width:900px){
  .homepage-logo-luxury{
    gap: 14px !important;
  }

  .homepage-wordmark-stacked{
    gap: 0 !important;
  }

  .homepage-wordmark-stacked .wordmark-farms{
    font-size: clamp(28px, 6vw, 36px) !important;
    margin-top: 3px;
  }

  .homepage-rule{
    margin: 12px auto 8px !important;
  }

  .homepage-tag{
    margin: 0 auto 10px !important;
  }
}


/* v42 — bring back the refined photo-card treatment on content pages */
.caption-card{
  margin:0;
  padding:14px;
  background:#d8cdbb url("assets/paper-card-bright.png") center/cover no-repeat;
  color:#2f2a24 !important;
  border:1px solid rgba(47,42,36,.22);
  box-shadow:0 16px 34px rgba(0,0,0,.18);
  transform:none !important;
  overflow:visible;
}

.caption-card::after{display:none !important;}

.caption-card img{
  width:100%;
  display:block;
  border:0 !important;
}

.caption-card figcaption.caption,
.archive-feature.caption-card figcaption.caption{
  display:block;
  margin-top:12px;
  padding-top:11px;
  border-top:1px solid rgba(47,42,36,.42);
  font-family:var(--sans);
  font-size:10px;
  font-weight:600;
  letter-spacing:.18em;
  text-transform:uppercase;
  line-height:1.45;
  color:#5b4d3f !important;
  text-align:center;
}

.caption-card figcaption.caption::after{display:none !important;}

.farm-page .caption-card.luxury-image,
.farm-page .caption-card.cinematic-image{
  max-width:100%;
}

.farm-page .caption-card.luxury-image img,
.farm-page .caption-card.cinematic-image img{
  object-fit:cover;
}

.blog-page .caption-card,
.partners-page .caption-card,
.outpost-page .caption-card,
.contact-page .caption-card,
.post-page .caption-card{
  background:#d8cdbb url("assets/paper-card-bright.png") center/cover no-repeat !important;
  padding:14px !important;
  border:1px solid rgba(47,42,36,.22) !important;
  box-shadow:0 16px 34px rgba(0,0,0,.18) !important;
}

.blog-feature .caption-card{
  align-self:start;
}

.partners-grid article h3{
  margin-top:16px;
}

.blog-card .post-meta,
.blog-feature .post-meta{
  margin-top:14px !important;
}

.contact-hero{
  max-width:920px;
}

@media(max-width:900px){
  .caption-card{padding:11px;}
  .caption-card figcaption.caption{font-size:9px; letter-spacing:.16em;}
}


/* v44 — force all photo-card captions to centre */
figure.caption-card figcaption.caption,
figure.framed.caption-card figcaption.caption,
.archive-feature.caption-card figcaption.caption{
  text-align:center !important;
  padding-left:0 !important;
  padding-right:0 !important;
}


/* v45 — fix the orphan Outpost copy block so it matches the rest of the site */
.outpost-page article.copy{
  max-width:760px !important;
  margin:54px auto 0 !important;
}

.outpost-page article.copy h2{
  font-family:var(--display) !important;
  font-size:clamp(42px,4.4vw,60px) !important;
  font-weight:500 !important;
  line-height:1 !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
  color:var(--ivory) !important;
  margin:0 0 24px !important;
}

.outpost-page article.copy p{
  font-family:var(--body) !important;
  font-size:15px !important;
  font-weight:400 !important;
  line-height:1.9 !important;
  color:var(--ivory-muted) !important;
  margin:0 !important;
}


/* v46 — make Farm section separators consistent */
.farm-page .farm-editorial > section:not(:first-child){
  border-top:1px solid rgba(246,241,232,.18);
  padding-top:120px;
}

/* Preserve the existing chapter spacing without doubling it */
.farm-page .farm-editorial > .luxury-chapter{
  border-top:1px solid rgba(246,241,232,.18);
}

@media(max-width:900px){
  .farm-page .farm-editorial > section:not(:first-child){
    padding-top:80px;
  }
}


/* Brother-logo experimental branch v1 */
.header-logo img{
  width:96px !important;
  height:auto;
  display:block;
  object-fit:contain;
}

.homepage-brother-logo{
  display:flex;
  justify-content:center;
  align-items:center;
  width:100%;
  margin:0 auto;
}

.homepage-brother-logo img{
  display:block;
  width:min(610px,58vw) !important;
  max-width:none !important;
  height:auto;
  object-fit:contain;
}

.homepage-brother-logo + .homepage-rule{
  margin-top:18px !important;
}

@media(max-width:900px){
  .header-logo img{
    width:78px !important;
  }

  .homepage-brother-logo img{
    width:min(78vw,560px) !important;
  }
}

@media(max-width:640px){
  .homepage-brother-logo img{
    width:90vw !important;
  }
}


/* Brother-logo branch v3: match the build-47 homepage balance more closely */
.homepage-brother-logo{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  width:100%;
  margin:0 auto;
}

.homepage-brother-tractor,
.homepage-brother-wordmark{
  display:flex;
  justify-content:center;
  width:100%;
}

.homepage-brother-tractor img{
  display:block;
  width:min(279px, 24.3vw) !important;
  max-width:none !important;
  height:auto;
  object-fit:contain;
  opacity:0.8;
}

.homepage-brother-wordmark{
  margin-top:18px;
}

.homepage-brother-wordmark img{
  display:block;
  width:min(520px, 46vw) !important;
  max-width:none !important;
  height:auto;
  object-fit:contain;
  opacity:0.8;
}

.homepage-brother-logo + .homepage-rule{
  margin-top:18px !important;
}

@media(max-width:900px){
  .homepage-brother-tractor img{
    width:min(225px, 36vw) !important;
  }
  .homepage-brother-wordmark{
    margin-top:16px;
  }
  .homepage-brother-wordmark img{
    width:min(72vw, 460px) !important;
  }
}

@media(max-width:640px){
  .homepage-brother-tractor img{
    width:38vw !important;
    min-width:160px;
  }
  .homepage-brother-wordmark{
    margin-top:14px;
  }
  .homepage-brother-wordmark img{
    width:88vw !important;
  }
}


/* v49 — match header tractor opacity to homepage logo */
.header-logo img{
  opacity:0.8 !important;
}


/* v51 — main homepage tractor slightly smaller; all other v49 styling preserved */
.homepage-brother-tractor img{
  width:min(251px,21.9vw) !important;
}

@media(max-width:900px){
  .homepage-brother-tractor img{
    width:min(203px,32.4vw) !important;
  }
}

@media(max-width:640px){
  .homepage-brother-tractor img{
    width:34vw !important;
    min-width:145px;
  }
}

/* v52 — reduce homepage tractor + wordmark by ~20%; strapline opacity 80% */
.homepage-brother-tractor img{
  width:min(201px,17.5vw) !important;
}

.homepage-brother-wordmark img{
  width:min(416px,36.8vw) !important;
}

.homepage-tag{
  opacity:0.8 !important;
}

@media(max-width:900px){
  .homepage-brother-tractor img{
    width:min(162px,25.9vw) !important;
  }
  .homepage-brother-wordmark img{
    width:min(57.6vw,368px) !important;
  }
}

@media(max-width:640px){
  .homepage-brother-tractor img{
    width:27.2vw !important;
    min-width:116px;
  }
  .homepage-brother-wordmark img{
    width:70.4vw !important;
  }
}

/* v53 — reduce homepage tractor by a further 10% */
.homepage-brother-tractor img{
  width:min(181px,15.8vw) !important;
}

@media(max-width:900px){
  .homepage-brother-tractor img{
    width:min(146px,23.3vw) !important;
  }
}

@media(max-width:640px){
  .homepage-brother-tractor img{
    width:24.5vw !important;
    min-width:104px;
  }
}


/* v55 — homepage wordmark as live text with restrained premium tracking */
.homepage-wordmark-text{
  font-family:"Cormorant Garamond", Georgia, serif;
  font-size:clamp(44px,4.2vw,64px);
  font-weight:500;
  line-height:1;
  letter-spacing:.075em;
  white-space:nowrap;
  color:var(--ivory);
  opacity:.8;
  justify-content:center;
  align-items:center;
  width:auto;
}

@media(max-width:900px){
  .homepage-wordmark-text{
    font-size:clamp(40px,7vw,58px);
    letter-spacing:.07em;
  }
}

@media(max-width:640px){
  .homepage-wordmark-text{
    font-size:clamp(34px,10.5vw,50px);
    letter-spacing:.055em;
  }
}


/* v56 — subtle ground/separator under homepage tractor mark */
.homepage-brother-tractor{
  display:flex;
  flex-direction:column;
  align-items:center;
}

.homepage-brother-tractor::after{
  content:"";
  display:block;
  width:min(118px, 10.5vw);
  height:1px;
  margin-top:8px;
  background:rgba(244, 236, 222, 0.58);
  border-radius:999px;
}

@media(max-width:900px){
  .homepage-brother-tractor::after{
    width:min(96px, 15.5vw);
    margin-top:7px;
  }
}

@media(max-width:640px){
  .homepage-brother-tractor::after{
    width:min(84px, 20vw);
    margin-top:6px;
  }
}


/* v57 — replace separator line with a soft ground shadow under homepage tractor */
.homepage-brother-tractor::after{
  content:"";
  display:block;
  width:min(112px, 10vw);
  height:10px;
  margin-top:2px;
  background:rgba(244,236,222,.22);
  border-radius:50%;
  filter:blur(6px);
  transform:scaleY(.55);
}

@media(max-width:900px){
  .homepage-brother-tractor::after{
    width:min(92px, 14vw);
    height:9px;
    margin-top:2px;
    filter:blur(5px);
  }
}

@media(max-width:640px){
  .homepage-brother-tractor::after{
    width:min(78px, 18vw);
    height:8px;
    filter:blur(4px);
  }
}


/* v58 — make the homepage tractor ground shadow clearly visible but still soft */
.homepage-brother-tractor::after{
  width:min(138px, 12vw);
  height:12px;
  margin-top:1px;
  background:rgba(244,236,222,.34);
  border-radius:50%;
  filter:blur(4px);
  transform:scaleY(.5);
}

@media(max-width:900px){
  .homepage-brother-tractor::after{
    width:min(112px, 17vw);
    height:10px;
    background:rgba(244,236,222,.34);
    filter:blur(4px);
  }
}

@media(max-width:640px){
  .homepage-brother-tractor::after{
    width:min(92px, 22vw);
    height:9px;
    background:rgba(244,236,222,.36);
    filter:blur(3px);
  }
}


/* v59 — visible ground mark under homepage tractor: no blur, no opacity fade */
.homepage-brother-tractor::after{
  content:"";
  display:block;
  width:min(128px,11vw);
  height:3px;
  margin-top:5px;
  background:var(--ivory);
  border-radius:999px;
  filter:none;
  transform:none;
  opacity:1;
}

@media(max-width:900px){
  .homepage-brother-tractor::after{
    width:min(104px,16vw);
    height:3px;
    margin-top:4px;
  }
}

@media(max-width:640px){
  .homepage-brother-tractor::after{
    width:min(88px,21vw);
    height:3px;
    margin-top:4px;
  }
}


/* v62 — build-47-style visible ground strokes under homepage tractor */
.homepage-brother-tractor::after{
  content:"";
  display:block;
  width:min(158px,13.8vw);
  height:16px;
  margin-top:0;
  background:url("assets/stanbridge-tractor-ground.svg") center/100% 100% no-repeat;
  filter:none;
  transform:none;
  opacity:1;
  border-radius:0;
}

@media(max-width:900px){
  .homepage-brother-tractor::after{
    width:min(128px,19vw);
    height:13px;
  }
}

@media(max-width:640px){
  .homepage-brother-tractor::after{
    width:min(102px,25vw);
    height:11px;
  }
}

/* v63 — remove tractor ground treatment; tighten tractor-to-wordmark gap by ~40% */
.homepage-brother-tractor::after{
  display:none !important;
  content:none !important;
}

.homepage-brother-wordmark{
  margin-top:11px !important;
}

@media(max-width:900px){
  .homepage-brother-wordmark{
    margin-top:10px !important;
  }
}

@media(max-width:640px){
  .homepage-brother-wordmark{
    margin-top:8px !important;
  }
}


/* v64 — Farm page editorial reorganisation only */
.farm-editorial{
  max-width:var(--max);
  margin:0 auto;
  padding:0 4vw 96px;
}

.farm-chapter{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);
  gap:64px;
  align-items:center;
  padding:42px 0;
}

.farm-chapter--image-right{
  grid-template-columns:minmax(320px,.95fr) minmax(0,1.05fr);
}

.farm-chapter__media{
  margin:0 !important;
}

.farm-chapter__media img{
  aspect-ratio:3 / 2;
  object-fit:cover;
}

.farm-chapter__copy{
  max-width:620px;
  margin:0;
}

.farm-kicker{
  font-family:Montserrat,sans-serif;
  font-size:11px;
  font-weight:600;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--ivory);
  opacity:.68;
  margin-bottom:14px;
}

.farm-chapter__copy h2{
  margin:0 0 20px;
}

.farm-chapter__copy p:last-child{
  margin-bottom:0;
}

.farm-chapter-rule{
  height:1px;
  width:100%;
  background:rgba(246,241,232,.24);
}

.farm-chapter--text-only{
  display:block;
  padding:54px 0 10px;
}

.farm-chapter--text-only .farm-chapter__copy{
  max-width:760px;
  margin:0 auto;
  text-align:center;
}

@media(max-width:900px){
  .farm-chapter,
  .farm-chapter--image-right{
    grid-template-columns:1fr;
    gap:28px;
    padding:34px 0;
  }

  .farm-chapter--image-right .farm-chapter__copy{
    order:2;
  }

  .farm-chapter--image-right .farm-chapter__media{
    order:1;
  }

  .farm-chapter__copy{
    max-width:none;
  }

  .farm-chapter--text-only{
    padding-top:40px;
  }
}


/* v65 — restore the signed-off Farm heading typography from the prior design */
.farm-page .farm-chapter__copy h2{
  margin:0 0 20px;
  color:var(--ivory);
  font-family:var(--display);
  font-size:clamp(45px,5vw,72px);
  font-weight:500;
  line-height:.98;
  letter-spacing:.10em;
  text-transform:uppercase;
}

@media(max-width:900px){
  .farm-page .farm-chapter__copy h2{
    font-size:clamp(38px,8vw,54px);
  }
}


/* v66 — restore the signed-off archival photo-card treatment on Farm page */
.farm-page .farm-chapter__media.caption-card{
  margin:0 !important;
  padding:14px !important;
  background:#d8cdbb url("assets/paper-card-bright.png") center/cover no-repeat !important;
  color:#2f2a24 !important;
  border:1px solid rgba(47,42,36,.22) !important;
  box-shadow:0 16px 34px rgba(0,0,0,.18) !important;
  transform:none !important;
  overflow:visible !important;
}

.farm-page .farm-chapter__media.caption-card::after{
  display:none !important;
}

.farm-page .farm-chapter__media.caption-card img{
  display:block;
  width:100%;
  aspect-ratio:3 / 2;
  object-fit:cover;
  border:0 !important;
}

.farm-page .farm-chapter__media.caption-card figcaption.caption{
  margin-top:10px !important;
  padding:0 !important;
  text-align:center !important;
  font-family:Montserrat,sans-serif !important;
  font-size:10px !important;
  font-weight:600 !important;
  letter-spacing:.16em !important;
  line-height:1.45 !important;
  text-transform:uppercase !important;
  color:#2f2a24 !important;
}


/* v69 — Farm copy update + embedded cropping map */
.farm-page .farm-map-wrap{
  margin:28px 0 30px;
  padding:12px;
  background:#d8cdbb url("assets/paper-card-bright.png") center/cover no-repeat;
  border:1px solid rgba(47,42,36,.22);
  box-shadow:0 16px 34px rgba(0,0,0,.18);
}
.farm-page .farm-map-wrap iframe{
  display:block;
  width:100%;
  height:420px;
  border:0;
}
.farm-page .farm-chapter__copy ul{
  margin:16px 0 24px 1.2em;
  padding:0;
}
.farm-page .farm-chapter__copy li{
  margin:.35em 0;
}
@media(max-width:900px){
  .farm-page .farm-map-wrap iframe{height:340px;}
}


/* v70 — simplify Farm page headings and use the live map in place of stock photography */
.farm-page .farm-kicker{
  display:none !important;
}

.farm-page #the-farm .farm-map-wrap{
  margin:0 !important;
  align-self:center;
}

.farm-page #the-farm .farm-map-wrap iframe{
  height:360px;
}

@media(max-width:900px){
  .farm-page #the-farm .farm-map-wrap iframe{
    height:320px;
  }
}


/* v71 — prevent accidental scroll-wheel zoom and give the embedded map a warmer site treatment */
.farm-page .farm-map-interactive{
  position:relative;
  overflow:hidden;
  background:#d8cdbb url("assets/paper-card-bright.png") center/cover no-repeat;
}

.farm-page .farm-map-frame{
  display:block;
  width:100%;
  height:360px;
  border:0;
  pointer-events:none;
  filter:sepia(.18) saturate(.82) contrast(.96) brightness(.94);
  transition:filter .25s ease;
}

.farm-page .farm-map-interactive.is-active .farm-map-frame{
  pointer-events:auto;
  filter:sepia(.10) saturate(.92) contrast(.98) brightness(.97);
}

.farm-map-lock{
  position:absolute;
  inset:12px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:5px;
  cursor:pointer;
  text-align:center;
  background:rgba(45,52,43,.20);
  border:1px solid rgba(246,241,232,.34);
  backdrop-filter:blur(1.5px);
  -webkit-backdrop-filter:blur(1.5px);
  color:var(--ivory);
  transition:background .2s ease, opacity .2s ease;
}

.farm-map-lock:hover{
  background:rgba(45,52,43,.27);
}

.farm-map-lock__title{
  font-family:"Cormorant Garamond", Georgia, serif;
  font-size:24px;
  font-weight:500;
  letter-spacing:.015em;
}

.farm-map-lock__hint{
  font-family:Montserrat,sans-serif;
  font-size:10px;
  font-weight:600;
  letter-spacing:.16em;
  text-transform:uppercase;
  opacity:.84;
}

.farm-map-interactive.is-active .farm-map-lock{
  opacity:0;
  pointer-events:none;
}

.farm-map-relock{
  position:absolute;
  right:20px;
  top:20px;
  z-index:3;
  display:none;
  padding:8px 10px;
  border:1px solid rgba(246,241,232,.46);
  background:rgba(45,52,43,.78);
  color:var(--ivory);
  font-family:Montserrat,sans-serif;
  font-size:9px;
  font-weight:600;
  letter-spacing:.14em;
  text-transform:uppercase;
  cursor:pointer;
}

.farm-map-interactive.is-active .farm-map-relock{
  display:block;
}

@media(max-width:900px){
  .farm-page .farm-map-frame{
    height:320px;
  }
  .farm-map-lock__title{
    font-size:21px;
  }
}


/* v72 — individual partner tiles */
.partners-directory{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:34px 32px;
  align-items:start;
}

.partner-profile{
  background:#d8cdbb url("assets/paper-card-bright.png") center/cover no-repeat;
  border:1px solid rgba(47,42,36,.22);
  box-shadow:0 16px 34px rgba(0,0,0,.18);
  padding:18px;
  color:#2f2a24;
}

.partner-logo-card{
  margin:0;
  background:rgba(255,255,255,.72);
  border:1px solid rgba(47,42,36,.14);
  min-height:184px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:20px;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.22);
}

.partner-logo-card img{
  width:100%;
  max-width:300px;
  max-height:132px;
  object-fit:contain;
  display:block;
}

.partner-profile__body{
  padding-top:18px;
}

.partner-profile h3{
  font:600 30px/1.06 Fraunces,serif;
  margin:0 0 12px;
  color:#2f2a24;
}

.partner-profile p{
  margin:0;
  font-size:18px;
  line-height:1.68;
}

@media (max-width: 900px){
  .partners-directory{grid-template-columns:1fr;}
  .partner-logo-card{min-height:170px;}
}


/* v73 — return Partners to uniform card boxes with Montserrat caption copy */
.partners-directory{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:30px 28px !important;
  align-items:stretch;
}

.partner-tile{
  display:flex;
  min-width:0;
}

.partner-tile-card{
  width:100%;
  min-height:500px;
  display:flex;
  flex-direction:column;
  margin:0 !important;
  padding:14px !important;
  background:#d8cdbb url("assets/paper-card-bright.png") center/cover no-repeat !important;
  border:1px solid rgba(47,42,36,.22) !important;
  box-shadow:0 16px 34px rgba(0,0,0,.18) !important;
  color:#2f2a24 !important;
}

.partner-logo-stage{
  height:190px;
  flex:0 0 190px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(255,255,255,.78);
  border:1px solid rgba(47,42,36,.12);
  padding:20px;
}

.partner-logo-stage img{
  width:100%;
  height:100%;
  max-width:280px;
  max-height:135px;
  object-fit:contain;
  display:block;
}

.partner-caption{
  flex:1 1 auto;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  margin-top:12px;
  padding-top:12px;
  border-top:1px solid rgba(47,42,36,.42);
  text-align:center;
  font-family:Montserrat,sans-serif;
  color:#5b4d3f;
}

.partner-caption h3{
  margin:0 0 10px !important;
  font-family:Montserrat,sans-serif !important;
  font-size:11px !important;
  font-weight:600 !important;
  line-height:1.35 !important;
  letter-spacing:.16em !important;
  text-transform:uppercase;
  color:#5b4d3f !important;
}

.partner-caption p{
  margin:0 !important;
  font-family:Montserrat,sans-serif !important;
  font-size:10px !important;
  font-weight:500 !important;
  line-height:1.65 !important;
  letter-spacing:.055em !important;
  color:#5b4d3f !important;
  text-transform:none;
}

@media(max-width:1050px){
  .partners-directory{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

@media(max-width:700px){
  .partners-directory{
    grid-template-columns:1fr !important;
  }
  .partner-tile-card{
    min-height:0;
  }
  .partner-logo-stage{
    height:170px;
    flex-basis:170px;
  }
}


/* v74 — Partners page: uniform boxes with hover-reveal copy */
.partners-directory{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:30px 28px !important;
  align-items:stretch !important;
}

.partner-tile{
  display:flex !important;
  min-width:0;
}

.partner-tile-card{
  position:relative !important;
  overflow:hidden !important;
  width:100% !important;
  min-height:260px !important;
  margin:0 !important;
  padding:14px !important;
  display:block !important;
  background:#d8cdbb url("assets/paper-card-bright.png") center/cover no-repeat !important;
  border:1px solid rgba(47,42,36,.22) !important;
  box-shadow:0 16px 34px rgba(0,0,0,.18) !important;
}

.partner-logo-stage{
  height:230px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:rgba(255,255,255,.78) !important;
  border:1px solid rgba(47,42,36,.12) !important;
  padding:24px !important;
  transition:transform .28s ease, filter .28s ease;
}

.partner-logo-stage img{
  width:100% !important;
  height:100% !important;
  max-width:280px !important;
  max-height:145px !important;
  object-fit:contain !important;
  display:block !important;
}

.partner-caption{
  position:absolute !important;
  inset:14px !important;
  margin:0 !important;
  padding:22px 20px !important;
  border-top:none !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  text-align:center !important;
  background:rgba(76, 63, 52, 0.95) !important;
  color:#f3ecde !important;
  opacity:0 !important;
  visibility:hidden !important;
  transform:translateY(8px) !important;
  transition:opacity .28s ease, transform .28s ease, visibility .28s ease;
}

.partner-tile-card:hover .partner-caption,
.partner-tile-card:focus-within .partner-caption{
  opacity:1 !important;
  visibility:visible !important;
  transform:translateY(0) !important;
}

.partner-tile-card:hover .partner-logo-stage,
.partner-tile-card:focus-within .partner-logo-stage{
  transform:scale(0.985) !important;
  filter:blur(1px) saturate(.85) !important;
}

.partner-caption h3{
  margin:0 0 12px !important;
  font-family:Montserrat,sans-serif !important;
  font-size:11px !important;
  font-weight:600 !important;
  line-height:1.35 !important;
  letter-spacing:.18em !important;
  text-transform:uppercase !important;
  color:#f3ecde !important;
}

.partner-caption p{
  margin:0 !important;
  font-family:Montserrat,sans-serif !important;
  font-size:10px !important;
  font-weight:500 !important;
  line-height:1.7 !important;
  letter-spacing:.045em !important;
  color:rgba(243,236,222,.95) !important;
  text-transform:none !important;
}

@media (max-width:1050px){
  .partners-directory{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

@media (max-width:700px){
  .partners-directory{
    grid-template-columns:1fr !important;
  }
  .partner-tile-card{
    min-height:240px !important;
  }
  .partner-logo-stage{
    height:210px !important;
  }
}


/* v75 — center final partners row cleanly */
.partners-directory{
  display:flex !important;
  flex-wrap:wrap !important;
  justify-content:center !important;
  gap:30px 28px !important;
}

.partner-tile{
  flex:0 1 calc((100% - 56px) / 3) !important;
  max-width:calc((100% - 56px) / 3) !important;
  min-width:0 !important;
}

@media (max-width:1050px){
  .partner-tile{
    flex:0 1 calc((100% - 28px) / 2) !important;
    max-width:calc((100% - 28px) / 2) !important;
  }
}

@media (max-width:700px){
  .partner-tile{
    flex:1 1 100% !important;
    max-width:100% !important;
  }
}


/* v79 — Current section: aerial + glamping image pairing */
.farm-page #current{
  align-items:center;
}

.farm-current-media-stack{
  display:grid;
  grid-template-columns:1fr;
  gap:22px;
  min-width:0;
}

.farm-current-media-stack .farm-chapter__media{
  margin:0 !important;
  width:100%;
}

.farm-current-media-stack .farm-chapter__media img{
  aspect-ratio:16 / 9 !important;
  object-fit:cover !important;
  width:100% !important;
  display:block !important;
}

.farm-page #current .farm-chapter__copy{
  align-self:center;
}

@media (min-width:1100px){
  .farm-current-media-stack{
    gap:18px;
  }

  .farm-current-media-stack .farm-chapter__media img{
    aspect-ratio:16 / 8.6 !important;
  }
}

@media (max-width:900px){
  .farm-current-media-stack{
    order:0;
  }
}


/* v82 — Outpost introductory, facilities and events copy */
.outpost-copy-section{
  max-width:860px;
  margin:0 auto 54px;
  text-align:left;
}

.outpost-copy-section h2{
  margin:0 0 18px;
  font-family:"Cormorant Garamond", Georgia, serif;
  font-size:clamp(42px,5vw,64px);
  font-weight:500;
  line-height:1;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--ivory);
}

.outpost-copy-section p{
  margin:0 0 16px;
  font-family:"Libre Baskerville", Georgia, serif;
  font-size:19px;
  line-height:1.72;
  color:var(--ivory);
}

.outpost-intro-copy{
  margin-top:10px;
}

.outpost-events-copy{
  padding-top:8px;
  margin-bottom:66px;
}

@media(max-width:900px){
  .outpost-copy-section{
    margin-bottom:44px;
  }

  .outpost-copy-section p{
    font-size:17px;
    line-height:1.68;
  }
}


/* v83 — Outpost content order: intro, photos, facilities, events */
.outpost-page .outpost-intro-copy{
  margin-top:12px;
  margin-bottom:40px;
}

.outpost-page .outpost-intro-copy + .grid-3{
  margin-bottom:64px;
}

.outpost-page .outpost-events-copy{
  margin-bottom:30px;
}


/* v84 — center Outpost section headings and copy */
.outpost-copy-section{
  text-align:center !important;
}

.outpost-copy-section h2{
  text-align:center !important;
}

.outpost-copy-section p{
  text-align:center !important;
  margin-left:auto !important;
  margin-right:auto !important;
  max-width:760px;
}


/* v86 — tighten Farm page header-to-content spacing */
.farm-page .section-head{
  margin-bottom:18px !important;
}

.farm-page .section-deck{
  margin-bottom:0 !important;
}

.farm-page .content-wrap{
  padding-top:8px !important;
}

.farm-page .farm-editorial{
  margin-top:0 !important;
}


/* v87 — actually close the gap between Farm masthead and opening section */
.farm-page .luxury-section-head{
  padding-bottom:20px !important;
}

.farm-page .section-head{
  margin-bottom:0 !important;
}

.farm-page .farm-editorial{
  padding-top:0 !important;
}

.farm-page .farm-editorial > .farm-chapter:first-child{
  padding-top:12px !important;
}


/* v91 — Farm navigation + alternating yellow chapter bands */
:root{
  --farm-yellow:#9A9878;
  --farm-yellow-ink:#2F2A23;
  --farm-yellow-muted:#4A4034;
}

/* Header farm dropdown */
.farm-menu{
  position:relative;
  padding-bottom:14px;
  margin-bottom:-14px;
}

.farm-menu-toggle{
  appearance:none;
  -webkit-appearance:none;
  border:0;
  background:transparent;
  color:var(--ivory);
  font-family:var(--sans);
  font-size:13px;
  font-weight:500;
  letter-spacing:.18em;
  text-transform:uppercase;
  padding:8px 0;
  cursor:pointer;
  position:relative;
}

.farm-menu-toggle::after{
  content:"";
  position:absolute;
  left:0;
  right:100%;
  bottom:0;
  height:1px;
  background:var(--ivory);
  transition:right .22s ease;
}

.farm-menu:hover .farm-menu-toggle::after,
.farm-menu:focus-within .farm-menu-toggle::after,
.farm-menu.is-open .farm-menu-toggle::after{
  right:0;
}

.farm-menu-panel{
  background:var(--earth-deep);
  border:1px solid rgba(246,241,232,.22);
  box-shadow:0 14px 30px rgba(0,0,0,.22);
}

.farm-menu-panel a{
  color:var(--ivory);
}

.farm-menu-panel a:hover{
  opacity:.7;
}

/* Make chapter backgrounds run edge-to-edge while retaining the existing grid */
.farm-page .farm-chapter{
  position:relative;
  isolation:isolate;
}

.farm-page #the-farm,
.farm-page #history{
  background:var(--farm-yellow);
  box-shadow:0 0 0 100vmax var(--farm-yellow);
  clip-path:inset(0 -100vmax);
}

/* On yellow, use dark earth-tone text for legibility rather than white */
.farm-page #the-farm .farm-chapter__copy h2,
.farm-page #history .farm-chapter__copy h2{
  color:var(--farm-yellow-ink);
}

.farm-page #the-farm .farm-chapter__copy p,
.farm-page #history .farm-chapter__copy p,
.farm-page #the-farm .farm-chapter__copy li,
.farm-page #history .farm-chapter__copy li{
  color:var(--farm-yellow-muted);
}

/* Keep separation clear between alternating chapter bands */
.farm-page .farm-chapter-rule{
  margin:0;
  background:rgba(246,241,232,.16);
}

.farm-page #the-farm + .farm-chapter-rule,
.farm-page #history + .farm-chapter-rule{
  background:rgba(47,42,35,.28);
}

/* Give the yellow sections enough breathing room to read as distinct chapters */
.farm-page #the-farm,
.farm-page #history{
  padding-top:64px;
  padding-bottom:64px;
}

/* History caption card remains a warm neutral rather than becoming yellow */
.farm-page #history .caption-card{
  background:var(--ivory);
  border-color:rgba(47,42,35,.28);
}

.farm-page #history .caption-card .caption{
  color:var(--farm-yellow-ink);
}

/* Map control contrast on the yellow chapter */
.farm-page #the-farm .farm-map-lock,
.farm-page #the-farm .farm-map-relock{
  color:var(--ivory);
}

@media(max-width:900px){
  .farm-menu-toggle{
    font-size:10px;
  }

  .farm-page #the-farm,
  .farm-page #history{
    padding-top:44px;
    padding-bottom:44px;
  }
}

@media(max-width:640px){
  .farm-menu-panel{
    right:0;
    left:auto;
    min-width:190px;
  }
}


/* v93 — Partners tiles: bright yellow frame instead of cream */
.partner-tile,
.partner-card,
.partner-logo-card{
  border-color:#9A9878 !important;
}

.partners-grid .partner-tile,
.partners-grid .partner-card,
.partners-grid .partner-logo-card{
  box-shadow:inset 0 0 0 1px #9A9878 !important;
}


/* v94 — Partners: make the actual card frame yellow */
.partners-page .partner-tile-card{
  background:#9A9878 !important;
  border-color:#7F7D62 !important;
}

/* Keep the logo stage light so logos remain clean and readable */
.partners-page .partner-logo-stage{
  background:rgba(255,255,255,.88) !important;
}

/* v94 — Outpost Facilities + Events as full-width yellow bands */
.outpost-page .outpost-copy-section:not(.outpost-intro-copy){
  position:relative;
  isolation:isolate;
  max-width:860px;
  padding-top:56px;
  padding-bottom:56px;
  margin-top:0;
  margin-bottom:0;
  background:#9A9878;
  box-shadow:0 0 0 100vmax #9A9878;
  clip-path:inset(0 -100vmax);
}

/* Readability on yellow: dark earth text rather than ivory */
.outpost-page .outpost-copy-section:not(.outpost-intro-copy) h2{
  color:#2F2A23 !important;
}

.outpost-page .outpost-copy-section:not(.outpost-intro-copy) p{
  color:#4A4034 !important;
}

/* Give a little earth-tone breathing room between Facilities and Events */
.outpost-page .outpost-copy-section:not(.outpost-intro-copy) + .outpost-copy-section{
  margin-top:18px;
}

@media(max-width:900px){
  .outpost-page .outpost-copy-section:not(.outpost-intro-copy){
    padding-top:42px;
    padding-bottom:42px;
  }
}


/* v95 — Farm nav: main label links to Farm page; caret opens section menu */
.farm-menu{
  display:flex;
  align-items:center;
  gap:5px;
}

.farm-menu-link{
  color:var(--ivory);
  text-decoration:none;
  font-family:var(--sans);
  font-size:13px;
  font-weight:500;
  letter-spacing:.18em;
  text-transform:uppercase;
  padding:8px 0;
  position:relative;
}

.farm-menu-link::after{
  content:"";
  position:absolute;
  left:0;
  right:100%;
  bottom:0;
  height:1px;
  background:var(--ivory);
  transition:right .22s ease;
}

.farm-menu:hover .farm-menu-link::after,
.farm-menu:focus-within .farm-menu-link::after,
.farm-menu.is-open .farm-menu-link::after{
  right:0;
}

.farm-menu-caret{
  appearance:none;
  -webkit-appearance:none;
  border:0;
  background:transparent;
  color:var(--ivory);
  padding:6px 2px 6px 3px;
  cursor:pointer;
  font-size:11px;
  line-height:1;
  transform:translateY(-1px);
}

.farm-menu-caret:hover,
.farm-menu-caret:focus-visible{
  opacity:.7;
}

@media(max-width:900px){
  .farm-menu-link{
    font-size:10px;
  }
}


/* v96 — Farm nav: no separate arrow; hover/focus reveals submenu, label remains clickable */
.farm-menu{
  gap:0 !important;
}

.farm-menu-caret{
  display:none !important;
}

/* v96 — Farm page text-wrapping and space-use pass */
@media(min-width:901px){
  .farm-page .farm-chapter,
  .farm-page .farm-chapter--image-right{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:clamp(38px,4vw,56px);
  }

  .farm-page .farm-chapter__copy{
    max-width:56ch;
  }

  .farm-page #introduction .farm-chapter__copy,
  .farm-page #current .farm-chapter__copy,
  .farm-page #history .farm-chapter__copy{
    max-width:50ch;
  }

  .farm-page #the-farm .farm-chapter__copy,
  .farm-page #security .farm-chapter__copy{
    max-width:58ch;
  }
}

.farm-page .farm-chapter__copy h2{
  text-wrap:balance;
}

.farm-page .farm-chapter__copy p,
.farm-page .farm-chapter__copy li{
  text-wrap:pretty;
}

.farm-page .farm-chapter__copy p{
  max-width:100%;
}

@media(max-width:900px){
  .farm-page .farm-chapter__copy{
    max-width:34em;
  }
}


/* v97 — unified luxury accent: dusty olive */
:root{
  --farm-yellow:#9A9878;
  --farm-yellow-ink:#2F2A23;
  --farm-yellow-muted:#4A4034;
}

/* Ensure all former yellow treatments now use the dusty olive */
.farm-page #the-farm,
.farm-page #history,
.outpost-page .outpost-copy-section:not(.outpost-intro-copy){
  background:#9A9878 !important;
  box-shadow:0 0 0 100vmax #9A9878 !important;
}

.partners-page .partner-tile-card{
  background:#9A9878 !important;
  border-color:#7F7D62 !important;
}


/* v99 — Outpost clickable nav with hover submenu */
.outpost-menu{
  position:relative;
  padding-bottom:14px;
  margin-bottom:-14px;
}

.outpost-menu-link{
  color:var(--ivory);
  text-decoration:none;
  font-family:var(--sans);
  font-size:13px;
  font-weight:500;
  letter-spacing:.18em;
  text-transform:uppercase;
  padding:8px 0;
  position:relative;
  display:inline-block;
}

.outpost-menu-link::after{
  content:"";
  position:absolute;
  left:0;
  right:100%;
  bottom:0;
  height:1px;
  background:var(--ivory);
  transition:right .22s ease;
}

.outpost-menu:hover .outpost-menu-link::after,
.outpost-menu:focus-within .outpost-menu-link::after{
  right:0;
}

.outpost-menu-panel{
  position:absolute;
  top:100%;
  left:50%;
  transform:translate(-50%,8px);
  min-width:180px;
  padding:10px 0;
  background:var(--earth-deep);
  border:1px solid rgba(246,241,232,.22);
  box-shadow:0 14px 30px rgba(0,0,0,.22);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .18s ease, transform .18s ease, visibility .18s ease;
  z-index:50;
}

.outpost-menu-panel a{
  display:block;
  padding:10px 16px;
  color:var(--ivory);
  text-decoration:none;
  font-family:var(--sans);
  font-size:11px;
  font-weight:500;
  letter-spacing:.16em;
  text-transform:uppercase;
  white-space:nowrap;
}

.outpost-menu-panel a:hover,
.outpost-menu-panel a:focus-visible{
  opacity:.72;
}

.outpost-menu:hover .outpost-menu-panel,
.outpost-menu:focus-within .outpost-menu-panel{
  opacity:1;
  visibility:visible;
  transform:translate(-50%,0);
  pointer-events:auto;
}

@media(max-width:900px){
  .outpost-menu-link{
    font-size:10px;
  }
}


/* v101 — responsive mobile presentation; desktop unchanged above 760px */
@media (max-width:760px){
  html{scroll-padding-top:92px}
  body{overflow-x:hidden}
  .site-header{position:sticky;top:0;z-index:100;background:var(--earth-deep)}
  .header-inner{min-height:76px;padding:12px 16px;display:grid;grid-template-columns:78px 1fr;align-items:center;gap:12px}
  .header-logo img{width:78px;max-height:44px;object-fit:contain}
  .nav{display:flex;justify-content:flex-end;align-items:center;gap:8px 10px;flex-wrap:wrap}
  .nav>a,.farm-menu-link,.outpost-menu-link{font-size:8px!important;letter-spacing:.10em!important;line-height:1.2;padding:6px 0!important;white-space:nowrap}
  .farm-menu,.outpost-menu{position:relative;padding-bottom:0!important;margin-bottom:0!important}
  .farm-menu-panel,.outpost-menu-panel{left:50%!important;right:auto!important;top:calc(100% + 8px)!important;transform:translate(-50%,6px)!important;min-width:170px;padding:8px 0;background:var(--earth-deep);border:1px solid rgba(246,241,232,.2);box-shadow:0 16px 28px rgba(0,0,0,.24)}
  .farm-menu-panel a,.outpost-menu-panel a{font-size:10px!important;letter-spacing:.12em!important;padding:11px 14px!important}
  .luxury-section-head,.section-head{padding-left:20px!important;padding-right:20px!important}
  .section-emblem img{max-width:108px;height:auto}
  h1,.page-title{font-size:clamp(36px,11vw,52px)!important;line-height:.96!important;letter-spacing:.035em!important}
  .section-deck,.intro-copy,.page-intro{max-width:31em;margin-left:auto;margin-right:auto}
  .hero{min-height:calc(100svh - 76px)}
  .hero-content{padding:26px 20px 34px!important}
  .hero-logo{max-width:min(78vw,330px)!important}
  .hero-strapline{max-width:27em;font-size:15px!important;line-height:1.55!important;margin-left:auto;margin-right:auto}
  .farm-page .luxury-section-head{padding-top:32px!important;padding-bottom:22px!important}
  .farm-page .farm-editorial{padding-left:20px!important;padding-right:20px!important}
  .farm-page .farm-chapter,.farm-page .farm-chapter--image-right{display:flex!important;flex-direction:column!important;gap:26px!important;padding-top:40px!important;padding-bottom:40px!important}
  .farm-page .farm-chapter__copy{max-width:34em!important;margin:0 auto!important;width:100%}
  .farm-page .farm-chapter__copy h2{font-size:clamp(34px,10vw,46px)!important;margin-bottom:18px!important;text-align:left}
  .farm-page .farm-chapter__copy p,.farm-page .farm-chapter__copy li{font-size:16px!important;line-height:1.72!important}
  .farm-page .farm-chapter__media,.farm-page .farm-chapter__media-stack{width:100%;max-width:520px;margin:0 auto;order:2}
  .farm-page .caption-card{width:100%}
  .farm-page .caption{font-size:9px!important;letter-spacing:.12em!important}
  .farm-page #the-farm,.farm-page #history{padding-top:40px!important;padding-bottom:40px!important}
  .farm-page .farm-map-frame{min-height:420px}
  .outpost-page .luxury-section-head{padding:32px 20px 22px!important}
  .outpost-page .outpost-copy-section{padding-left:20px!important;padding-right:20px!important}
  .outpost-page .outpost-copy-section h2{font-size:clamp(34px,10vw,46px)!important;line-height:1!important}
  .outpost-page .outpost-copy-section p{max-width:31em!important;font-size:16px!important;line-height:1.72!important}
  .outpost-page .outpost-gallery,.outpost-page .outpost-grid{grid-template-columns:1fr!important;gap:22px!important;padding-left:20px!important;padding-right:20px!important}
  .outpost-page .outpost-copy-section:not(.outpost-intro-copy){padding-top:42px!important;padding-bottom:42px!important}
  .partners-page .partners-grid{grid-template-columns:1fr!important;gap:20px!important;padding-left:20px!important;padding-right:20px!important}
  .partners-page .partner-tile-card{max-width:520px;width:100%;margin:0 auto}
  .partners-page .partner-description{opacity:1!important;visibility:visible!important;transform:none!important}
  .blog-page .blog-grid,.posts-grid{grid-template-columns:1fr!important;gap:24px!important;padding-left:20px!important;padding-right:20px!important}
  .contact-page .contact-grid,.contact-grid{grid-template-columns:1fr!important;gap:28px!important;padding-left:20px!important;padding-right:20px!important}
  .contact-form input,.contact-form textarea,.contact-form button{width:100%;font-size:16px}
  button,.button,.btn,input[type="submit"],.booking-button,.instagram-button{min-height:44px}
}
@media (hover:none), (pointer:coarse){
  .farm-menu-panel,.outpost-menu-panel{display:none}
  .farm-menu.mobile-open .farm-menu-panel,.outpost-menu.mobile-open .outpost-menu-panel{display:block;opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,0)!important}
}


/* ===== WordPress integration layer ===== */
.admin-bar .site-header{top:32px}
@media(max-width:782px){.admin-bar .site-header{top:46px}}

.post-body img,
.entry-content img{max-width:100%;height:auto}

.post-body figure.wp-block-image,
.post-body .wp-caption,
.post-body figure.wp-block-gallery,
.entry-content figure.wp-block-image,
.entry-content .wp-caption{
  margin:32px auto;
}

.post-body figure.wp-block-image,
.post-body .wp-caption{
  background:var(--paper, #f3eddf);
  padding:14px 14px 10px;
  box-shadow:0 10px 28px rgba(0,0,0,.14);
}

.post-body figcaption,
.post-body .wp-caption-text{
  font-family:'Montserrat',sans-serif;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:10px;
  text-align:center;
  color:#3d392f;
  padding-top:10px;
}

.post-body .wp-block-gallery{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
}
.post-body .wp-block-gallery figure{margin:0}

.sf-no-featured{
  min-height:260px;
  background:rgba(246,241,232,.06);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:28px;
  text-align:center;
  font-family:'Cormorant Garamond',serif;
  font-size:30px;
  color:var(--ivory);
}

.sf-notice{
  max-width:760px;
  margin:18px auto 0;
  padding:14px 18px;
  border:1px solid rgba(246,241,232,.3);
  font-family:'Montserrat',sans-serif;
  font-size:11px;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.sf-pagination{
  display:flex;
  justify-content:center;
  gap:10px;
  margin:42px 0 10px;
  font-family:'Montserrat',sans-serif;
}
.sf-pagination a,.sf-pagination span{color:var(--ivory);padding:8px 10px;text-decoration:none}
.sf-pagination .current{border-bottom:1px solid var(--ivory)}

.screen-reader-text{
  position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0,0,0,0);white-space:nowrap;border:0
}

@media(max-width:760px){
  .post-body .wp-block-gallery{grid-template-columns:1fr}
}


/* =========================================================
   v4 — Uniform Blog / Archive System
   The first current story may be editorial; every archive card
   uses one fixed image ratio, fixed text rhythm and equal height.
   ========================================================= */

.sf-blog-listing{
  max-width:1180px;
}

.sf-blog-lead{
  display:grid;
  grid-template-columns:minmax(0,1.55fr) minmax(280px,.85fr);
  gap:42px;
  align-items:center;
  margin-bottom:54px;
  padding-bottom:46px;
  border-bottom:1px solid var(--softline);
}

.sf-blog-lead__image{
  display:block;
  overflow:hidden;
  background:rgba(246,241,232,.055);
  aspect-ratio:16/10;
}

.sf-blog-lead__img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center;
}

.sf-blog-lead__copy h2{
  font-family:var(--display);
  font-size:clamp(40px,4vw,58px);
  font-weight:500;
  line-height:1.02;
  letter-spacing:.075em;
  text-transform:uppercase;
  margin:10px 0 14px;
}

.sf-blog-lead__copy p{
  font-size:18px;
  line-height:1.6;
}

.sf-blog-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:46px 28px;
  align-items:stretch;
}

.sf-blog-card{
  min-width:0;
  display:flex;
  flex-direction:column;
}

.sf-blog-card__image{
  display:block;
  width:100%;
  aspect-ratio:3/2;
  overflow:hidden;
  background:rgba(246,241,232,.055);
  margin-bottom:16px;
}

.sf-blog-card__img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center;
}

.sf-blog-card__placeholder{
  width:100%;
  height:100%;
  min-height:0;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
  text-align:center;
  font-family:'Cormorant Garamond',serif;
  font-size:25px;
  color:var(--ivory);
  background:rgba(246,241,232,.055);
}

.sf-blog-card__body{
  display:flex;
  flex:1 1 auto;
  flex-direction:column;
}

.sf-blog-card__title{
  font-family:var(--display);
  font-size:clamp(24px,2.2vw,31px);
  font-weight:500;
  line-height:1.08;
  letter-spacing:.065em;
  text-transform:uppercase;
  margin:9px 0 11px;
  min-height:2.16em;
}

.sf-blog-card__title a{
  color:inherit;
  text-decoration:none;
}

.sf-blog-card__excerpt{
  font-size:16px;
  line-height:1.6;
  margin:0 0 16px;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:4;
  overflow:hidden;
}

.sf-blog-card__read{
  margin-top:auto;
}

.sf-blog-card .post-meta{
  margin:0!important;
}

/* Uniform archive headings: remove WordPress's "Category:" style prefixes */
.sf-archive-head .section-title{
  max-width:980px;
  margin-left:auto;
  margin-right:auto;
}

/* Keep video embeds tidy on individual posts without changing VideoPress privacy. */
.post-body .wp-block-embed,
.post-body .wp-block-video,
.post-body figure.wp-block-embed,
.post-body .videopress-video{
  width:100%;
  max-width:760px;
  margin:32px auto;
}

.post-body .wp-block-embed__wrapper{
  position:relative;
  width:100%;
  overflow:hidden;
}

.post-body iframe,
.post-body video{
  max-width:100%;
}

/* Stop legacy media from escaping the reading column. */
.post-body img,
.post-body figure,
.post-body .wp-caption{
  max-width:100%;
}

@media(max-width:900px){
  .sf-blog-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .sf-blog-lead{
    grid-template-columns:1fr;
    gap:24px;
  }
  .sf-blog-lead__copy{
    max-width:680px;
  }
}

@media(max-width:640px){
  .sf-blog-grid{
    grid-template-columns:1fr;
    gap:34px;
  }
  .sf-blog-card{
    max-width:520px;
    width:100%;
    margin:0 auto;
  }
  .sf-blog-card__title{
    min-height:0;
  }
}


/* =========================================================
   v6 — Blog thumbnail card mounts + Contact cleanup
   ========================================================= */

/* Bring back the warm archival/card-stock treatment from the prototype,
   while retaining the fixed, uniform image crops introduced in v5. */
.sf-blog-card__image,
.sf-blog-lead__image{
  box-sizing:border-box;
  display:block;
  background:#F2E9D7;
  padding:10px;
  border:1px solid rgba(48,42,35,.16);
  box-shadow:0 12px 26px rgba(0,0,0,.16);
  position:relative;
  overflow:hidden;
}

.sf-blog-card__image::after,
.sf-blog-lead__image::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background-image:url("assets/paper-grain.png");
  background-size:320px auto;
  opacity:.16;
  mix-blend-mode:multiply;
}

.sf-blog-card__image{
  aspect-ratio:auto;
}

.sf-blog-card__image .sf-blog-card__img,
.sf-blog-card__image .sf-blog-card__placeholder{
  aspect-ratio:3/2;
}

.sf-blog-lead__image{
  aspect-ratio:auto;
}

.sf-blog-lead__image .sf-blog-lead__img,
.sf-blog-lead__image .sf-blog-card__placeholder{
  aspect-ratio:16/10;
}

.sf-blog-card__img,
.sf-blog-lead__img,
.sf-blog-card__placeholder{
  position:relative;
  z-index:1;
  width:100%;
  height:auto;
  object-fit:cover;
  display:block;
  border:1px solid rgba(48,42,35,.10);
}

/* Contact page: replace old email/location list with a single welcoming paragraph. */
.contact-intro-copy{
  max-width:31em;
  align-self:start;
  padding-right:34px;
}

.contact-intro-copy p{
  margin:0;
  font-size:18px;
  line-height:1.75;
}

@media(max-width:760px){
  .contact-intro-copy{
    max-width:34em;
    padding-right:0;
  }

  .contact-intro-copy p{
    font-size:16px;
    line-height:1.72;
  }
}


/* v7 — Contact page must never inherit the homepage viewport lock */
body.contact-page,
body.contact-page .site-shell{
  height:auto !important;
  min-height:100vh !important;
  overflow:visible !important;
}

body.contact-page{
  overflow-y:auto !important;
}


/* =========================================================
   v8 — Contact message feedback treatment
   ========================================================= */
.sf-notice{
  box-sizing:border-box;
  max-width:620px;
  margin:0 auto 30px;
  padding:14px 18px;
  border:1px solid rgba(246,241,232,.22);
  background:rgba(246,241,232,.055);
  color:var(--ivory);
  font-family:var(--sans);
  font-size:11px;
  line-height:1.45;
  letter-spacing:.13em;
  text-transform:uppercase;
  text-align:center;
}

@media(max-width:760px){
  .sf-notice{
    margin-left:20px;
    margin-right:20px;
    padding:13px 15px;
    font-size:10px;
  }
}


/* =========================================================
   v10 — Mobile header simplified to tractor + MENU
   ========================================================= */

.mobile-menu-toggle{
  display:none;
}

@media(max-width:760px){
  .header-inner{
    min-height:72px;
    padding:12px 18px;
    display:flex !important;
    align-items:center;
    justify-content:space-between;
    gap:16px;
  }

  .header-logo{
    flex:0 0 auto;
  }

  .header-logo img{
    width:84px !important;
    max-height:46px;
  }

  .mobile-menu-toggle{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border:0;
    background:transparent;
    color:var(--ivory);
    font-family:var(--sans);
    font-size:11px;
    font-weight:500;
    letter-spacing:.18em;
    text-transform:uppercase;
    min-height:44px;
    padding:0;
    cursor:pointer;
  }

  .nav{
    position:absolute;
    left:0;
    right:0;
    top:100%;
    z-index:120;
    display:none !important;
    flex-direction:column;
    align-items:stretch;
    gap:0 !important;
    padding:10px 20px 18px;
    background:var(--earth-deep);
    border-top:1px solid rgba(246,241,232,.14);
    border-bottom:1px solid rgba(246,241,232,.18);
    box-shadow:0 18px 30px rgba(0,0,0,.18);
  }

  .site-header.mobile-menu-open .nav{
    display:flex !important;
  }

  .nav > a,
  .farm-menu-link,
  .outpost-menu-link{
    display:block;
    width:100%;
    padding:14px 0 !important;
    font-size:12px !important;
    letter-spacing:.16em !important;
    line-height:1.2;
    text-align:left;
    border-bottom:1px solid rgba(246,241,232,.10);
  }

  .nav > a:last-child{
    border-bottom:0;
  }

  .farm-menu,
  .outpost-menu{
    width:100%;
    display:block !important;
    padding:0 !important;
    margin:0 !important;
  }

  /* On mobile the submenus are simply visible as secondary navigation.
     This avoids hover-only behaviour and keeps the hierarchy clear. */
  .farm-menu-panel,
  .outpost-menu-panel{
    position:static !important;
    display:block !important;
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
    transform:none !important;
    min-width:0 !important;
    width:100% !important;
    padding:2px 0 8px 16px !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
  }

  .farm-menu-panel a,
  .outpost-menu-panel a{
    display:block;
    padding:8px 0 !important;
    color:rgba(246,241,232,.78) !important;
    font-size:9px !important;
    letter-spacing:.14em !important;
    border:0 !important;
  }

  .farm-menu-panel a:hover,
  .outpost-menu-panel a:hover,
  .farm-menu-panel a:focus-visible,
  .outpost-menu-panel a:focus-visible{
    opacity:1;
    color:var(--ivory) !important;
  }

  .site-header{
    position:sticky;
    top:0;
    z-index:200;
    background:var(--earth-deep);
  }

  .header-rule{
    position:relative;
    z-index:201;
  }
}


/* =========================================================
   v11 — hard mobile nav visibility fix
   ========================================================= */
@media(max-width:760px){
  .site-header .header-inner{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
  }

  .site-header .mobile-menu-toggle{
    display:inline-flex !important;
    visibility:visible !important;
    opacity:1 !important;
    position:relative !important;
    z-index:999 !important;
    flex:0 0 auto !important;
    color:var(--ivory) !important;
    background:transparent !important;
  }

  .site-header .nav{
    display:none !important;
  }

  .site-header.mobile-menu-open .nav{
    display:flex !important;
  }
}


/* v12 — mobile nav open-state fallback */
@media(max-width:760px){
  .mobile-menu-toggle[aria-expanded="true"] + .nav{
    display:flex !important;
  }
}


/* =========================================================
   v13 — simplified mobile navigation
   Mobile menu now links only to the top-level pages.
   Desktop submenus remain unchanged.
   ========================================================= */
@media(max-width:760px){
  .farm-menu-panel,
  .outpost-menu-panel{
    display:none !important;
  }

  .farm-menu,
  .outpost-menu{
    width:100%;
  }

  .farm-menu-link,
  .outpost-menu-link{
    border-bottom:1px solid rgba(246,241,232,.10) !important;
  }

  .nav > a,
  .farm-menu-link,
  .outpost-menu-link{
    padding:15px 0 !important;
  }
}


/* =========================================================
   v14 — larger, clearer mobile navigation
   ========================================================= */
@media(max-width:760px){
  .mobile-menu-toggle{
    min-width:74px !important;
    min-height:48px !important;
    padding:0 4px !important;
    font-size:13px !important;
    letter-spacing:.16em !important;
  }

  .nav{
    padding:12px 22px 20px !important;
  }

  .nav > a,
  .farm-menu-link,
  .outpost-menu-link{
    min-height:54px !important;
    display:flex !important;
    align-items:center !important;
    font-size:15px !important;
    letter-spacing:.14em !important;
    line-height:1.2 !important;
    padding:0 !important;
  }

  /* Kept ready in case submenus are re-enabled later on mobile. */
  .farm-menu-panel a,
  .outpost-menu-panel a{
    min-height:46px !important;
    display:flex !important;
    align-items:center !important;
    font-size:12px !important;
    letter-spacing:.13em !important;
  }
}


/* =========================================================
   v15 — Blog image + headline links
   ========================================================= */
.sf-blog-lead__copy h2 a,
.sf-blog-card__title a{
  color:inherit;
  text-decoration:none;
}

.sf-blog-lead__copy h2 a:hover,
.sf-blog-lead__copy h2 a:focus-visible,
.sf-blog-card__title a:hover,
.sf-blog-card__title a:focus-visible{
  opacity:.72;
}

.sf-blog-lead__image,
.sf-blog-card__image{
  cursor:pointer;
}

.sf-blog-lead__image img,
.sf-blog-card__image img{
  transition:transform .28s ease, opacity .28s ease;
}

.sf-blog-lead__image:hover img,
.sf-blog-lead__image:focus-visible img,
.sf-blog-card__image:hover img,
.sf-blog-card__image:focus-visible img{
  transform:scale(1.012);
  opacity:.94;
}


/* =========================================================
   v16 — force simplified mobile nav on every page
   ========================================================= */
@media(max-width:760px){
  .site-header .farm-menu-panel,
  .site-header .outpost-menu-panel,
  .site-header .farm-menu:hover .farm-menu-panel,
  .site-header .outpost-menu:hover .outpost-menu-panel,
  .site-header .farm-menu:focus-within .farm-menu-panel,
  .site-header .outpost-menu:focus-within .outpost-menu-panel,
  .site-header .farm-menu.mobile-open .farm-menu-panel,
  .site-header .outpost-menu.mobile-open .outpost-menu-panel{
    display:none !important;
    opacity:0 !important;
    visibility:hidden !important;
    pointer-events:none !important;
  }
}
