:root{--green:#2f5a46;--dark:#1f2b25;--gold:#b48b57;--cream:#f7f2e8;--soft:#fffaf1;--ink:#202421;--muted:#66706a;--white:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Arial,sans-serif;color:var(--ink);background:var(--soft);line-height:1.65}img{max-width:100%;display:block}a{color:inherit}.container{width:min(1160px,92vw);margin-inline:auto}.site-header{position:sticky;top:0;z-index:50;background:rgba(255,250,241,.94);backdrop-filter:blur(12px);border-bottom:1px solid rgba(31,43,37,.08)}.nav{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:12px 0}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-weight:800;letter-spacing:.02em}.brand img{width:66px;height:54px;object-fit:contain}.brand span{display:block;font-family:Georgia,serif;font-size:1.05rem;line-height:1.05}.brand small{display:block;font-family:Inter,sans-serif;font-size:.68rem;letter-spacing:.22em;font-weight:600;color:var(--muted);margin-top:4px}.nav-links{display:flex;align-items:center;gap:20px;font-size:.93rem;font-weight:700}.nav-links a{text-decoration:none}.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:12px 20px;text-decoration:none;font-weight:800;border:1px solid transparent;transition:.2s ease;line-height:1.1}.btn-primary{background:var(--green);color:white}.btn-primary:hover{background:#214333;transform:translateY(-1px)}.btn-light{background:white;color:var(--dark)}.btn-outline{border-color:rgba(255,255,255,.7);color:white}.btn-outline-dark{border-color:rgba(31,43,37,.2);color:var(--dark);background:transparent}.hero{position:relative;min-height:86vh;display:grid;place-items:center;color:white;overflow:hidden;background:#16221b}.hero video,.hero .fallback{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.62),rgba(0,0,0,.30),rgba(0,0,0,.46));z-index:1}.hero-content{position:relative;z-index:2;padding:120px 0 90px;max-width:820px;margin-right:auto}.eyebrow{text-transform:uppercase;letter-spacing:.2em;font-size:.78rem;font-weight:900;color:#f0d8a8;margin-bottom:18px}.hero h1,.page-hero h1{font-family:Georgia,serif;font-size:clamp(2.7rem,6vw,5.8rem);line-height:.95;margin:0 0 24px}.hero p{font-size:clamp(1.05rem,2vw,1.35rem);max-width:720px;margin:0 0 28px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.trust-strip{background:var(--dark);color:white}.trust-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:0}.trust-item{padding:18px 14px;text-align:center;border-left:1px solid rgba(255,255,255,.12);font-weight:800;font-size:.92rem}.trust-item:first-child{border-left:0}.section{padding:86px 0}.section-alt{background:var(--cream)}.section-dark{background:var(--dark);color:white}.section-head{max-width:790px;margin:0 auto 42px;text-align:center}.section-head h2,.split h2,.card h3,.cta h2{font-family:Georgia,serif;font-size:clamp(2rem,3.7vw,3.6rem);line-height:1.05;margin:0 0 16px}.section-head p{color:var(--muted);font-size:1.08rem}.section-dark .section-head p,.section-dark p{color:rgba(255,255,255,.78)}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.card{background:white;border-radius:24px;overflow:hidden;box-shadow:0 18px 50px rgba(25,33,28,.09);border:1px solid rgba(31,43,37,.06)}.card img{height:265px;width:100%;object-fit:cover}.card-body{padding:26px}.card p{color:var(--muted);margin:0}.split{display:grid;grid-template-columns:1.03fr .97fr;gap:46px;align-items:center}.split img{border-radius:28px;box-shadow:0 24px 70px rgba(25,33,28,.15);width:100%;height:540px;object-fit:cover}.split p{color:var(--muted);font-size:1.06rem}.feature-list{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:22px 0}.feature-list span{background:rgba(47,90,70,.08);border-radius:14px;padding:10px 13px;font-weight:800}.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.gallery-grid a{display:block;overflow:hidden;border-radius:18px;background:#ddd}.gallery-grid img{height:230px;width:100%;object-fit:cover;transition:.25s}.gallery-grid a:hover img{transform:scale(1.04)}.reviews-wrap{background:white;color:var(--ink);border-radius:28px;padding:34px;box-shadow:0 18px 50px rgba(25,33,28,.09)}.review-fallback{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:18px}.quote{background:var(--cream);border-radius:18px;padding:20px}.quote strong{color:var(--green)}.booking-panel{background:white;border-radius:28px;padding:26px;box-shadow:0 18px 50px rgba(25,33,28,.10);color:var(--ink)}.ota-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.cta{position:relative;overflow:hidden;color:white;background:var(--dark);padding:80px 0}.cta:before{content:"";position:absolute;inset:0;background:url('../images/the-barn-entrance-blossom.jpg') center/cover;opacity:.23}.cta .container{position:relative}.footer{background:#111813;color:white;padding:54px 0 28px}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:28px}.footer a{color:white;text-decoration:none}.footer small{color:rgba(255,255,255,.6)}.page-hero{padding:94px 0;background:linear-gradient(rgba(31,43,37,.72),rgba(31,43,37,.72)),url('../images/drone-river-witham-whitehouse-farm.jpg') center/cover;color:white}.prose{max-width:880px;margin:auto}.prose h2{font-family:Georgia,serif;font-size:2.2rem;margin-top:38px}.prose p,.prose li{font-size:1.08rem;color:#4f5a54}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.map-img{border-radius:24px;box-shadow:0 18px 50px rgba(25,33,28,.09)}.mobile-call{display:none;position:fixed;bottom:16px;left:50%;transform:translateX(-50%);z-index:80;box-shadow:0 12px 35px rgba(0,0,0,.22)}@media(max-width:900px){.nav-links{display:none}.hero{min-height:78vh}.trust-grid{grid-template-columns:repeat(2,1fr)}.cards,.split,.footer-grid,.contact-grid,.review-fallback{grid-template-columns:1fr}.split img{height:360px}.gallery-grid{grid-template-columns:repeat(2,1fr)}.mobile-call{display:inline-flex}.brand span{font-size:.95rem}.section{padding:60px 0}}@media(max-width:560px){.hero h1{font-size:2.5rem}.hero-content{padding:90px 0}.gallery-grid{grid-template-columns:1fr}.trust-grid{grid-template-columns:1fr}.feature-list{grid-template-columns:1fr}.btn{width:100%}}


/* Video hero patch: shows the uploaded drone MP4 instead of the still image */
.video-hero {
  position: relative;
  overflow: hidden;
  background: #16221b url('../images/hero-river-witham-private-dock.jpg') center/cover no-repeat;
}
.video-hero .hero-video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0;
}
.video-hero .fallback {
  display: none !important;
}
.video-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(0,0,0,.64), rgba(0,0,0,.32), rgba(0,0,0,.50));
  z-index: 1;
}
.video-hero .hero-content {
  position: relative;
  z-index: 2;
}

/* Platform logo patch */
.platform-proof {
  background: #fffaf1;
  padding-top: 56px;
  padding-bottom: 64px;
}
.section-head.compact {
  margin-bottom: 26px;
}
.platform-logos {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 22px;
  flex-wrap: wrap;
}
.platform-logos a {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 180px;
  min-height: 76px;
  padding: 18px 24px;
  border-radius: 22px;
  background: white;
  box-shadow: 0 14px 38px rgba(25,33,28,.08);
  border: 1px solid rgba(31,43,37,.08);
  transition: transform .2s ease, box-shadow .2s ease;
}
.platform-logos a:hover {
  transform: translateY(-2px);
  box-shadow: 0 20px 48px rgba(25,33,28,.12);
}
.platform-logos img {
  max-height: 42px;
  max-width: 170px;
  width: auto;
  object-fit: contain;
}
.platform-logos.small {
  justify-content: flex-start;
  margin-top: 18px;
  gap: 12px;
}
.platform-logos.small a {
  min-width: 130px;
  min-height: 58px;
  padding: 12px 16px;
  border-radius: 16px;
}
.platform-logos.small img {
  max-height: 30px;
  max-width: 125px;
}
@media(max-width: 700px) {
  .platform-logos {
    gap: 12px;
  }
  .platform-logos a,
  .platform-logos.small a {
    width: 100%;
    min-width: 0;
  }
  .platform-logos.small {
    justify-content: center;
  }
}


/* Cosmetic refinement patch */
.hero .eyebrow {
  color: #ffffff;
  font-size: clamp(1rem, 1.5vw, 1.28rem);
  font-weight: 900;
  letter-spacing: .08em;
  text-shadow: 0 2px 10px rgba(0,0,0,.75);
  text-transform: none;
  margin-bottom: 16px;
}
.hero h1 {
  font-size: clamp(2.35rem, 5.1vw, 4.75rem);
  max-width: 980px;
}
.direct-booking-card {
  background: var(--green) !important;
  color: #fff;
  text-decoration: none;
  flex-direction: column;
  gap: 2px;
}
.direct-booking-card span {
  display: block;
  font-weight: 950;
  font-size: 1.15rem;
  letter-spacing: .03em;
  text-transform: uppercase;
}
.direct-booking-card small {
  display: block;
  font-weight: 800;
  font-size: .78rem;
  color: rgba(255,255,255,.82);
  letter-spacing: .08em;
  text-transform: uppercase;
}
.platform-logos.small .direct-booking-card span,
.small-direct span {
  font-size: .95rem;
}
.platform-logos.small .direct-booking-card small,
.small-direct small {
  font-size: .66rem;
}
.barn-preview {
  padding-top: 20px;
  background: #fffaf1;
}
.barn-preview-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}
.barn-preview-grid a {
  position: relative;
  overflow: hidden;
  border-radius: 22px;
  min-height: 245px;
  display: block;
  color: #fff;
  text-decoration: none;
  box-shadow: 0 18px 50px rgba(25,33,28,.11);
  background: #1f2b25;
}
.barn-preview-grid img {
  width: 100%;
  height: 285px;
  object-fit: cover;
  transition: transform .25s ease;
}
.barn-preview-grid a::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0,0,0,0) 38%, rgba(0,0,0,.70));
}
.barn-preview-grid span {
  position: absolute;
  z-index: 2;
  left: 18px;
  right: 18px;
  bottom: 18px;
  font-weight: 900;
  font-size: 1.05rem;
  text-shadow: 0 2px 8px rgba(0,0,0,.55);
}
.barn-preview-grid a:hover img {
  transform: scale(1.045);
}
.center-actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  justify-content: center;
  margin-top: 28px;
}
@media(max-width: 900px) {
  .barn-preview-grid { grid-template-columns: repeat(2, 1fr); }
}
@media(max-width: 560px) {
  .hero h1 { font-size: 2.28rem; }
  .hero .eyebrow { font-size: .98rem; line-height: 1.35; }
  .barn-preview-grid { grid-template-columns: 1fr; }
  .barn-preview-grid img { height: 245px; }
}


/* Readability and proof-section repair patch */
.airbnb-proof .eyebrow,
.platform-proof .eyebrow,
.barn-preview .eyebrow {
  color: #2f5a46 !important;
  font-size: clamp(1rem, 1.4vw, 1.22rem) !important;
  font-weight: 950 !important;
  letter-spacing: .12em !important;
  text-shadow: none !important;
}
.proof-bullets {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 18px;
}
.proof-bullets span {
  display: inline-flex;
  align-items: center;
  background: #fff;
  border: 1px solid rgba(31,43,37,.10);
  border-radius: 999px;
  padding: 10px 14px;
  font-size: 1rem;
  line-height: 1.2;
  font-weight: 850;
  color: #202421;
}
.proof-images {
  display: grid;
  gap: 18px;
  align-items: center;
}
.proof-images img {
  width: 100%;
  max-width: 560px;
  background: #fff;
  border-radius: 18px;
  box-shadow: 0 14px 38px rgba(25,33,28,.08);
  border: 1px solid rgba(31,43,37,.08);
}
.platform-proof .section-head h2,
.airbnb-proof h2 {
  margin-top: 0;
}
@media(max-width:900px){
  .proof-wrap { grid-template-columns: 1fr !important; }
  .proof-images img { max-width: 100%; }
}

.proof-wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:36px;align-items:center;}


/* Full gallery patch */
.full-gallery-grid{grid-template-columns:repeat(3,1fr);gap:18px}.full-gallery-grid .gallery-card{position:relative;min-height:260px;border-radius:22px;box-shadow:0 14px 38px rgba(25,33,28,.08)}.full-gallery-grid .gallery-card img{height:285px}.full-gallery-grid .gallery-card:after{content:"";position:absolute;left:0;right:0;bottom:0;height:46%;background:linear-gradient(180deg,rgba(0,0,0,0),rgba(0,0,0,.72));pointer-events:none}.full-gallery-grid .gallery-card span{position:absolute;left:16px;right:16px;bottom:14px;z-index:2;color:#fff;font-weight:900;text-shadow:0 2px 8px rgba(0,0,0,.7);font-size:1rem;line-height:1.2}.barn-preview .center-actions .btn-primary[href="the-barn.html"]{display:none}@media(max-width:900px){.full-gallery-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.full-gallery-grid{grid-template-columns:1fr}.full-gallery-grid .gallery-card img{height:250px}}

/* Final cosmetic fix: direct button, image caption overlays, and oversized card headings */
.platform-logos .direct-booking-card,
.platform-logos a.direct-booking-card,
.platform-logos.small .direct-booking-card,
.platform-logos.small a.direct-booking-card {
  background: #2f5a46 !important;
  color: #ffffff !important;
  text-decoration: none !important;
  border-color: #2f5a46 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 4px !important;
}
.platform-logos .direct-booking-card span,
.platform-logos a.direct-booking-card span,
.platform-logos .direct-booking-card small,
.platform-logos a.direct-booking-card small {
  color: #ffffff !important;
  text-decoration: none !important;
  line-height: 1.05 !important;
}
.platform-logos .direct-booking-card span,
.platform-logos a.direct-booking-card span {
  font-size: 1rem !important;
  font-weight: 950 !important;
  letter-spacing: .03em !important;
  text-transform: uppercase !important;
}
.platform-logos .direct-booking-card small,
.platform-logos a.direct-booking-card small {
  font-size: .72rem !important;
  font-weight: 800 !important;
  opacity: .88 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
}

/* Stop general card titles becoming huge */
.cards .card h3,
.card .card-body h3 {
  font-family: Inter, system-ui, -apple-system, Segoe UI, Arial, sans-serif !important;
  font-size: clamp(1.35rem, 2vw, 1.85rem) !important;
  line-height: 1.12 !important;
  margin: 0 0 10px !important;
}

/* Gallery and Explore The Barn captions: centred, white, readable, not oversized */
.gallery-card,
.full-gallery-grid .gallery-card,
.barn-preview-grid a {
  position: relative !important;
  overflow: hidden !important;
}
.gallery-card span,
.full-gallery-grid .gallery-card span,
.barn-preview-grid span {
  position: absolute !important;
  left: 18px !important;
  right: 18px !important;
  bottom: 16px !important;
  z-index: 3 !important;
  display: block !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  color: #ffffff !important;
  text-align: center !important;
  font-family: Inter, system-ui, -apple-system, Segoe UI, Arial, sans-serif !important;
  font-size: clamp(.98rem, 1.45vw, 1.22rem) !important;
  line-height: 1.15 !important;
  font-weight: 900 !important;
  text-decoration: none !important;
  text-shadow: 0 3px 12px rgba(0,0,0,.85) !important;
}
.full-gallery-grid .gallery-card:after,
.gallery-card:after,
.barn-preview-grid a::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 48%;
  background: linear-gradient(180deg, rgba(0,0,0,0), rgba(0,0,0,.72));
  pointer-events: none;
  z-index: 2;
}
.gallery-card img,
.full-gallery-grid .gallery-card img,
.barn-preview-grid img {
  display: block !important;
  width: 100% !important;
  object-fit: cover !important;
}

@media(max-width: 560px) {
  .gallery-card span,
  .full-gallery-grid .gallery-card span,
  .barn-preview-grid span {
    font-size: 1rem !important;
    left: 14px !important;
    right: 14px !important;
    bottom: 14px !important;
  }
}


/* Superhost framed trust cards patch */
.superhost-confidence .section-head{max-width:920px;margin-left:auto;margin-right:auto;text-align:center;}
.trust-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin:34px auto;max-width:1040px;}
.trust-card{background:#fff;border:1px solid rgba(31,47,39,.10);border-radius:28px;padding:32px;text-align:center;box-shadow:0 18px 50px rgba(31,47,39,.08);}
.trust-card.proof-card img{width:100%;max-width:520px;margin:0 auto 22px;display:block;border-radius:18px;}
.trust-card h3{font-size:clamp(1.55rem,2.4vw,2.3rem);line-height:1.05;margin:0 0 14px;color:#1d2822;}
.trust-card p{font-size:1.05rem;line-height:1.55;color:#667068;margin:8px auto 0;max-width:480px;}
.superhost-card{display:flex;flex-direction:column;justify-content:center;min-height:320px;}
.superhost-stars{font-size:clamp(2.2rem,4vw,4rem);letter-spacing:.12em;color:#d4a93f;margin-bottom:18px;text-shadow:0 3px 12px rgba(180,139,87,.25);}
.superhost-card h3{text-transform:uppercase;letter-spacing:.1em;font-size:clamp(1.35rem,2vw,2rem);}
.ota-row.centred{justify-content:center;text-align:center;margin-top:10px;}
.superhost-confidence .platform-logos.small{justify-content:center;margin-top:24px;}
@media(max-width:800px){.trust-card-grid{grid-template-columns:1fr;gap:18px}.trust-card{padding:22px}.superhost-card{min-height:auto}.trust-card.proof-card img{max-width:100%;}}


/* SEO hero line and homepage copy patch */
.hero-seo-line {
  margin: 10px auto 18px;
  color: #ffffff;
  font-size: clamp(1.05rem, 1.8vw, 1.35rem);
  font-weight: 900;
  letter-spacing: .02em;
  line-height: 1.35;
  text-shadow: 0 3px 12px rgba(0,0,0,.70);
  max-width: 920px;
}
.hero-kicker {
  color: #ffffff !important;
  font-size: clamp(1rem, 1.35vw, 1.16rem) !important;
  text-shadow: 0 2px 9px rgba(0,0,0,.65) !important;
}
.seo-copy-section {
  background: #fffaf1;
}
.container.narrow {
  max-width: 980px;
}
.seo-copy-section p {
  font-size: 1.08rem;
  line-height: 1.75;
  color: #3c3c3c;
}
@media(max-width: 560px) {
  .hero-seo-line { font-size: 1rem; }
}
