/* ===========================================================
   YAHWEH ARENA — shared stylesheet
=========================================================== */
:root{
  --ivory:#F7F2E9;
  --parchment:#EEE2C6;
  --card:#FFFDF8;
  --ink:#201B15;
  --ink-soft:#5B5344;
  --sage:#6B6F47;
  --sage-deep:#4E5236;
  --leather:#9C6B3E;
  --wheat:#D8B46A;
  --line: rgba(32,27,21,0.14);
  --max: 1160px;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0; background:var(--ivory); color:var(--ink);
  font-family:'Karla', sans-serif; font-size:17px; line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
img,svg{display:block; max-width:100%;}
.photo{width:100%; height:100%; object-fit:cover; filter:saturate(0.95) contrast(1.02);}
a{color:inherit;}
h1,h2,h3{font-family:'Fraunces', serif; font-weight:600; line-height:1.06; margin:0; letter-spacing:-0.01em;}
.eyebrow{font-family:'Karla', sans-serif; font-weight:700; font-size:12.5px; letter-spacing:0.18em; text-transform:uppercase; color:var(--leather);}
.wrap{max-width:var(--max); margin:0 auto; padding:0 28px;}
:focus-visible{outline:2px solid var(--wheat); outline-offset:3px;}
@media (prefers-reduced-motion: reduce){
  *{animation-duration:0.001ms !important; transition-duration:0.001ms !important; scroll-behavior:auto !important;}
}

/* ---------- HEADER ---------- */
.site-header{
  position:fixed; top:0; left:0; right:0; z-index:500;
  display:flex; align-items:center; justify-content:space-between;
  padding:20px 28px;
  transition:background .35s ease, padding .35s ease, box-shadow .35s ease;
}
.site-header.is-scrolled{
  background:rgba(247,242,233,0.95);
  backdrop-filter:blur(8px);
  box-shadow:0 1px 0 var(--line);
  padding:14px 28px;
}
.logo-link{display:flex; align-items:center;}
.logo-mark{height:78px; width:auto; transition:height .35s ease, filter .35s ease; filter:brightness(0) invert(1);}
.site-header.is-scrolled .logo-mark{height:46px; filter:none;}
.page-header .logo-mark{filter:none; height:52px;}
.page-header.is-scrolled .logo-mark{height:44px;}

#desktopNav{display:flex; align-items:center; gap:28px;}
#desktopNav a{
  text-decoration:none; font-weight:700; font-size:13.5px; letter-spacing:0.03em;
  color:#fff; opacity:0.92; transition:opacity .2s, color .2s;
  padding-bottom:3px; border-bottom:1px solid transparent;
}
#desktopNav a:hover{opacity:1; border-bottom-color:currentColor;}
.site-header.is-scrolled #desktopNav a{color:var(--ink);}
.page-header #desktopNav a{color:var(--ink); opacity:0.75;}
.page-header #desktopNav a:hover{opacity:1;}
#desktopNav a.nav-cta{
  background:#fff; color:var(--ink) !important; opacity:1;
  padding:11px 20px; border-bottom:none;
  clip-path: polygon(9px 0, 100% 0, 100% calc(100% - 9px), calc(100% - 9px) 100%, 0 100%, 0 9px);
}
#desktopNav a.nav-cta:hover{background:var(--wheat);}
.site-header.is-scrolled #desktopNav a.nav-cta{background:var(--ink); color:var(--ivory) !important;}
.site-header.is-scrolled #desktopNav a.nav-cta:hover{background:var(--sage-deep);}
.page-header #desktopNav a.nav-cta{background:var(--ink); color:var(--ivory) !important;}
.page-header #desktopNav a.nav-cta:hover{background:var(--sage-deep);}

.nav-toggle{
  display:none; background:none; border:0; cursor:pointer;
  font-size:26px; line-height:1; color:#fff; padding:4px;
}
.site-header.is-scrolled .nav-toggle{color:var(--ink);}
.page-header .nav-toggle{color:var(--ink);}

.mobile-nav{
  position:fixed !important; inset:0 !important; z-index:700;
  display:flex !important; flex-direction:column; align-items:center; justify-content:center; gap:24px;
  background:rgba(20,17,12,0.72);
  -webkit-backdrop-filter:blur(20px) saturate(120%);
  backdrop-filter:blur(20px) saturate(120%);
  opacity:0; visibility:hidden; pointer-events:none;
  transition:opacity .3s ease, visibility .3s ease;
}
.mobile-nav.open{opacity:1; visibility:visible; pointer-events:auto;}
.mobile-nav a{
  color:#fff; font-family:'Karla', sans-serif; font-weight:700; font-size:19px;
  text-decoration:none; text-shadow:0 2px 12px rgba(0,0,0,0.4);
}
.mobile-nav-logo{height:56px; width:auto; margin-bottom:10px; filter:brightness(0) invert(1);}
.mobile-nav a.nav-cta{
  background:var(--wheat); color:var(--ink); padding:14px 30px; text-shadow:none;
  clip-path: polygon(12px 0, 100% 0, 100% calc(100% - 12px), calc(100% - 12px) 100%, 0 100%, 0 12px);
}
.nav-close-btn{
  position:absolute; top:20px; right:24px;
  background:rgba(0,0,0,0.25); border:1.5px solid rgba(255,255,255,0.5); border-radius:999px;
  width:44px; height:44px; color:#fff; font-size:20px; cursor:pointer;
}
@media (min-width:861px){ .mobile-nav{display:none !important;} }
@media (max-width:860px){
  .nav-toggle{display:block;}
  #desktopNav{display:none;}
}

/* ---------- BUTTONS (barn-door plank shape) ---------- */
.btn{
  display:inline-flex; align-items:center; gap:10px;
  text-decoration:none; font-weight:800; font-size:13.5px; letter-spacing:0.07em; text-transform:uppercase;
  padding:18px 34px; border:none; cursor:pointer;
  transition:background-color .2s, transform .2s, box-shadow .2s;
  box-shadow:0 8px 22px rgba(0,0,0,0.18), inset 0 -3px 0 rgba(0,0,0,0.18);
  clip-path: polygon(16px 0, 100% 0, 100% calc(100% - 16px), calc(100% - 16px) 100%, 0 100%, 0 16px);
}
.btn::after{content:"→"; font-size:15px; transition:transform .2s;}
.btn:hover::after{transform:translateX(3px);}
.btn-light{background-color:#fff; color:var(--ink);}
.btn-light:hover{background-color:var(--wheat); transform:translateY(-2px);}
.btn-dark{
  background-color:var(--ink); color:var(--ivory);
  background-image:repeating-linear-gradient(115deg, rgba(255,255,255,0.05) 0px, rgba(255,255,255,0.05) 2px, transparent 2px, transparent 9px);
}
.btn-dark:hover{background-color:var(--leather); transform:translateY(-2px);}
.btn-accent{
  background-color:var(--leather); color:#fff;
  background-image:
    repeating-linear-gradient(115deg, rgba(255,255,255,0.08) 0px, rgba(255,255,255,0.08) 2px, transparent 2px, transparent 9px),
    repeating-linear-gradient(115deg, rgba(0,0,0,0.1) 0px, rgba(0,0,0,0.1) 1px, transparent 1px, transparent 9px);
}
.btn-accent:hover{background-color:#7E5730; transform:translateY(-2px);}
.btn-outline{background:transparent; border:1.5px solid rgba(32,27,21,0.35); color:var(--ink); box-shadow:none;}
.btn-outline:hover{background:rgba(32,27,21,0.06); transform:translateY(-2px);}
.btn-outline::after{display:none;}
.btn-outline.on-dark{border-color:rgba(255,255,255,0.5); color:#fff;}
.btn-outline.on-dark:hover{background:rgba(255,255,255,0.1);}
.btn-sm{padding:13px 22px; font-size:12px;}

/* ---------- HERO / PAGE-HERO ---------- */
.hero{
  position:relative; min-height:100svh; width:100%;
  display:flex; align-items:flex-end;
  overflow:hidden; color:#fff;
}
.hero.page-hero{min-height:62vh;}
.hero-slideshow{position:absolute; inset:0; width:100%; height:100%;}
.hero-img{position:absolute; inset:0; width:100%; height:100%;}
.hero-slide{opacity:0; transition:opacity 1.8s ease;}
.hero-slide.active{opacity:1; z-index:1;}
.hero-overlay{
  position:absolute; inset:0; z-index:2;
  background:
    radial-gradient(ellipse at center, rgba(20,17,12,0) 0%, rgba(20,17,12,0.35) 100%),
    linear-gradient(180deg, rgba(20,17,12,0.42) 0%, rgba(20,17,12,0.38) 35%, rgba(20,17,12,0.88) 100%);
}
.hero-content{position:relative; z-index:3; padding:0 28px 88px; max-width:720px;}
.hero.page-hero .hero-content{padding-bottom:56px;}
.hero-content .eyebrow{color:var(--wheat);}
.hero-content h1{font-size:clamp(36px, 6vw, 64px); margin-top:16px; color:#fff;}
.hero-content p{color:rgba(255,255,255,0.9); font-size:17.5px; margin-top:18px; max-width:56ch;}
.hero-actions{display:flex; align-items:center; gap:18px; flex-wrap:wrap; margin-top:30px;}
.hero-actions .btn{margin-top:0;}

/* ---------- FENCE DIVIDER ---------- */
.fence{width:100%; height:28px; display:block;}
.fence .rail{stroke:var(--wheat); stroke-width:2;}
.fence .rail2{stroke:var(--leather); stroke-width:1.5; opacity:0.55;}

/* ---------- VERSE ---------- */
.verse-wrap{position:relative; background:var(--parchment); overflow:hidden; padding:96px 28px;}
.torn-top, .torn-bottom{position:absolute; left:0; right:0; height:26px; background:var(--ivory); z-index:2;}
.torn-top{top:0; clip-path:polygon(0 0,100% 0,100% 55%,96% 100%,92% 60%,88% 95%,84% 50%,80% 100%,76% 65%,72% 90%,68% 45%,64% 100%,60% 55%,56% 90%,52% 40%,48% 100%,44% 60%,40% 95%,36% 50%,32% 100%,28% 65%,24% 90%,20% 45%,16% 100%,12% 55%,8% 90%,4% 40%,0% 100%);}
.torn-bottom{bottom:0; clip-path:polygon(0 100%,100% 100%,100% 45%,96% 0%,92% 40%,88% 5%,84% 50%,80% 0%,76% 35%,72% 10%,68% 55%,64% 0%,60% 45%,56% 10%,52% 60%,48% 0%,44% 40%,40% 5%,36% 50%,32% 0%,28% 35%,24% 10%,20% 55%,16% 0%,12% 45%,8% 10%,4% 60%,0% 0%);}
.verse-logo-bg{
  position:absolute; top:-10px; right:-50px; left:auto; transform:rotate(-4deg);
  width:420px; max-width:62%; opacity:0.05; mix-blend-mode:multiply;
  filter:grayscale(1) contrast(1.15); pointer-events:none; z-index:0;
}
.verse{position:relative; z-index:1; text-align:center; max-width:720px; margin:0 auto;}
.verse p{font-family:'Fraunces', serif; font-style:italic; font-weight:500; font-size:clamp(20px,2.4vw,26px);}
.verse cite{display:block; margin-top:14px; font-style:normal; font-weight:700; font-size:12.5px; letter-spacing:0.1em; text-transform:uppercase; color:var(--leather);}

section.content{padding:88px 28px;}
.section-head{max-width:640px; margin:0 auto 56px; text-align:center;}
.section-head h2{font-size:clamp(28px,3.8vw,40px); margin-top:12px;}
.section-head p{color:var(--ink-soft); margin-top:16px;}

/* ---------- MISSION QUOTE ---------- */
.mission-quote{max-width:760px; margin:0 auto 8px; text-align:center;}
.mission-quote p{font-family:'Fraunces', serif; font-style:italic; font-weight:500; font-size:clamp(21px,2.8vw,28px); color:var(--ink);}

/* ---------- ABOUT / OWNER BIO (editorial split, weathered photo) ---------- */
.about{max-width:var(--max); margin:0 auto; display:grid; grid-template-columns:0.95fr 1.05fr; gap:60px; align-items:center;}
.about-photo{aspect-ratio:4/5; transform:rotate(-1.5deg); filter:drop-shadow(0 18px 30px rgba(32,27,21,0.22));}
.about-photo img{
  mask-image:radial-gradient(ellipse 78% 78% at center, black 50%, transparent 100%);
  -webkit-mask-image:radial-gradient(ellipse 78% 78% at center, black 50%, transparent 100%);
}
.about-story h2{font-size:clamp(28px,3.6vw,38px);}
.about-story p{color:var(--ink-soft); margin-top:18px;}
.values-list{list-style:none; margin:28px 0 0; padding:0; border-top:1px solid var(--line);}
.values-list li{
  padding:15px 0; border-bottom:1px solid var(--line);
  display:flex; justify-content:space-between; align-items:baseline; gap:16px;
  font-family:'Fraunces', serif; font-weight:500; font-size:18px;
}
.values-list li span{font-family:'Karla', sans-serif; font-weight:400; font-size:14px; color:var(--ink-soft); text-align:right; max-width:52%;}

/* ---------- EXPERIENCES / TEASER (horizontal scroll) ---------- */
.exp-grid{
  max-width:var(--max); margin:0 auto; display:flex; gap:16px;
  overflow-x:auto; scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch;
  padding:4px 4px 16px; scrollbar-width:thin; scrollbar-color:var(--wheat) transparent;
}
.exp-grid::-webkit-scrollbar{height:6px;}
.exp-grid::-webkit-scrollbar-thumb{background:var(--wheat); border-radius:99px;}
.exp-card{
  background:var(--card); border:1px solid var(--line); display:flex; flex-direction:column;
  flex:0 0 82%; max-width:360px; scroll-snap-align:start; text-decoration:none; color:var(--ink);
  box-shadow:0 10px 28px rgba(32,27,21,0.08);
}
.exp-photo{aspect-ratio:5/4; overflow:hidden;}
.exp-photo img{transition:transform .5s ease;}
.exp-card:hover .exp-photo img{transform:scale(1.05);}
.exp-body{padding:28px 26px 32px; display:flex; flex-direction:column; flex-grow:1;}
.exp-top{display:flex; justify-content:space-between; align-items:center;}
.exp-price{font-family:'Fraunces', serif; font-weight:600; font-size:14px; color:var(--sage-deep);}
.exp-card h3{font-size:22px; margin-top:14px;}
.exp-card p.exp-desc{color:var(--ink-soft); font-size:15px; margin-top:10px; flex-grow:1;}
.exp-meta{list-style:none; margin:18px 0 0; padding:14px 0 0; border-top:1px solid var(--line); font-size:13.5px; color:var(--ink-soft);}
.exp-meta li{padding:3px 0;}
.exp-meta li::before{content:"— "; color:var(--wheat); font-weight:700;}
.exp-link{
  margin-top:18px; font-weight:700; font-size:13px; letter-spacing:0.05em; text-transform:uppercase;
  color:var(--leather);
}
.scroll-hint{
  text-align:center; font-size:12.5px; font-weight:700; letter-spacing:0.05em; text-transform:uppercase;
  color:var(--ink-soft); margin-top:6px; opacity:0.65;
}

/* ---------- PROPERTY LIST ---------- */
.prop-grid{max-width:var(--max); margin:0 auto; display:grid; grid-template-columns:repeat(2,1fr); column-gap:56px;}
.prop-list{list-style:none; margin:0; padding:0;}
.prop-list li{padding:13px 0; border-bottom:1px solid var(--line); display:flex; gap:14px; align-items:flex-start; font-size:15px;}
.prop-list li::before{content:""; flex:0 0 auto; width:8px; height:8px; margin-top:6px; background:var(--wheat); transform:rotate(45deg);}

/* ---------- GALLERY (horizontal-scroll Polaroids) ---------- */
.gallery-scroll{
  max-width:var(--max); margin:0 auto; display:flex; gap:26px;
  overflow-x:auto; scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch;
  padding:10px 10px 30px; scrollbar-width:thin; scrollbar-color:var(--wheat) transparent;
}
.gallery-scroll::-webkit-scrollbar{height:6px;}
.gallery-scroll::-webkit-scrollbar-thumb{background:var(--wheat); border-radius:99px;}
.polaroid{
  flex:0 0 auto; width:320px; scroll-snap-align:start; cursor:pointer;
  background:#FBFAF6; padding:8px 8px 0; border:0;
  box-shadow:0 14px 30px rgba(32,27,21,0.18), 0 2px 6px rgba(32,27,21,0.1);
  transform:rotate(var(--tilt, -1.5deg)); transition:transform .3s ease, box-shadow .3s ease;
}
.polaroid:hover{transform:rotate(0deg) scale(1.03); box-shadow:0 20px 40px rgba(32,27,21,0.24);}
.polaroid .frame{display:block; aspect-ratio:1/1; overflow:hidden; background:#e9e4d8;}
.polaroid .frame img{width:100%; height:100%; object-fit:cover; filter:sepia(0.14) saturate(0.9) contrast(1.03);}
.polaroid .cap{
  display:block; text-align:center; padding:12px 4px 14px;
  font-family:'Fraunces', serif; font-style:italic; font-weight:500; font-size:14.5px; color:var(--ink-soft);
}

/* lightbox */
.lightbox{
  position:fixed; inset:0; z-index:900; display:none; align-items:center; justify-content:center;
  background:rgba(10,8,6,0.92); -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px);
}
.lightbox.open{display:flex;}
.lightbox img{max-width:88vw; max-height:80vh; object-fit:contain; box-shadow:0 20px 60px rgba(0,0,0,0.5);}
.lightbox-close, .lightbox-prev, .lightbox-next{
  position:absolute; background:rgba(255,255,255,0.08); border:1.5px solid rgba(255,255,255,0.35);
  color:#fff; border-radius:50%; cursor:pointer; display:flex; align-items:center; justify-content:center;
  font-size:20px; transition:background .2s;
}
.lightbox-close:hover, .lightbox-prev:hover, .lightbox-next:hover{background:rgba(255,255,255,0.2);}
.lightbox-close{top:22px; right:22px; width:44px; height:44px;}
.lightbox-prev, .lightbox-next{top:50%; transform:translateY(-50%); width:52px; height:52px; font-size:26px;}
.lightbox-prev{left:16px;}
.lightbox-next{right:16px;}

/* ---------- FAQ ---------- */
.faq-dark{
  position:relative; overflow:hidden;
  background:#1C170F; color:var(--ivory);
}
.section-bg-photo{
  position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
  opacity:0.4; filter:grayscale(0.25) contrast(1.05); z-index:0;
}
.section-bg-overlay{
  position:absolute; inset:0; z-index:0;
  background:radial-gradient(ellipse at center, rgba(20,17,12,0.5) 0%, rgba(20,17,12,0.93) 100%);
}
.faq-dark .section-head, .faq-dark .faq-list{position:relative; z-index:1;}
.faq-dark .eyebrow{color:var(--wheat);}
.faq-dark h2{color:#fff;}
.faq-list{max-width:760px; margin:0 auto; display:flex; flex-direction:column; gap:10px;}
.faq-item{background:var(--card); border:1px solid var(--line); box-shadow:0 10px 28px rgba(32,27,21,0.06);}
.faq-dark .faq-item{background:rgba(255,255,255,0.06); border-color:rgba(247,242,233,0.16); box-shadow:none; backdrop-filter:blur(4px);}
.faq-dark .faq-q{color:#fff;}
.faq-dark .faq-q .plus{border-color:rgba(247,242,233,0.3);}
.faq-dark .faq-a p{color:rgba(247,242,233,0.75);}
.faq-q{
  width:100%; display:flex; align-items:center; justify-content:space-between; gap:16px;
  padding:20px 24px; background:none; border:none; cursor:pointer; text-align:left;
  font-family:'Fraunces', serif; font-weight:600; font-size:16.5px; color:var(--ink);
}
.faq-q .plus{
  flex:0 0 auto; width:26px; height:26px; border-radius:50%; border:1px solid var(--line);
  display:flex; align-items:center; justify-content:center; position:relative; transition:transform .3s ease, background .2s ease, border-color .2s ease;
}
.faq-q .plus::before, .faq-q .plus::after{content:""; position:absolute; background:var(--leather); transition:opacity .2s ease;}
.faq-q .plus::before{width:11px; height:1.6px;}
.faq-q .plus::after{width:1.6px; height:11px;}
.faq-item.open .faq-q .plus{transform:rotate(135deg); background:var(--wheat); border-color:var(--wheat);}
.faq-item.open .faq-q .plus::before, .faq-item.open .faq-q .plus::after{background:var(--ink);}
.faq-a{max-height:0; overflow:hidden; transition:max-height .35s ease;}
.faq-a p{padding:0 24px 22px; color:var(--ink-soft); font-size:15px; line-height:1.65; max-width:64ch;}

/* ---------- DARK SECTION MODIFIER ---------- */
.section-dark{
  background:radial-gradient(ellipse at top, #2A2318 0%, #1C170F 70%);
  color:var(--ivory);
}
.section-dark .eyebrow{color:var(--wheat);}
.section-dark h2{color:#fff;}
.section-dark .section-head p{color:rgba(247,242,233,0.68);}
.section-dark .prop-list li{color:rgba(247,242,233,0.88); border-bottom-color:rgba(247,242,233,0.14);}
.section-dark .prop-list li::before{background:var(--wheat);}
.section-dark .mission-quote p{color:#fff;}

/* ---------- PROPERTY FEATURE HIGHLIGHT ---------- */
.feature-hero{
  position:relative; z-index:2; max-width:var(--max); margin:0 auto 20px;
  background:rgba(255,255,255,0.05); border:1px solid rgba(247,242,233,0.16);
  padding:40px; display:flex; align-items:center; gap:30px;
}
.feature-hero .icon-wrap{
  flex:0 0 auto; width:76px; height:76px; border-radius:50%;
  background:rgba(216,180,106,0.14); display:flex; align-items:center; justify-content:center;
}
.feature-hero .icon-wrap svg{width:38px; height:38px;}
.feature-hero .tag{
  display:inline-block; font-size:11.5px; font-weight:700; letter-spacing:0.12em; text-transform:uppercase;
  color:var(--ink); background:var(--wheat); padding:5px 12px; border-radius:999px; margin-bottom:10px;
}
.feature-hero h3{font-size:24px; color:#fff;}
.feature-hero p{color:rgba(247,242,233,0.78); margin-top:10px; font-size:15.5px; max-width:60ch;}

.feature-grid{
  position:relative; z-index:2; max-width:var(--max); margin:0 auto;
  display:grid; grid-template-columns:repeat(3,1fr); gap:1px;
  background:rgba(247,242,233,0.12);
}
.feature-tile{background:rgba(20,28,34,0.55); padding:26px 24px; display:flex; gap:16px; align-items:flex-start;}
.feature-tile svg{flex:0 0 auto; width:22px; height:22px; margin-top:2px; color:var(--wheat);}
.feature-tile h4{font-family:'Fraunces', serif; font-weight:600; font-size:15.5px; color:#fff; margin:0 0 4px;}
.feature-tile p{font-size:13.5px; color:rgba(247,242,233,0.7); margin:0; line-height:1.5;}

/* subtle depth on cards */
.exp-grid, .visit-card, .contact-card, .map-frame{box-shadow:0 14px 40px rgba(32,27,21,0.10);}

/* film-grain texture, applied site-wide */
.grain{
  position:fixed; inset:0; z-index:9000; pointer-events:none;
  opacity:0.05; mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* ---------- FUTURE (interactive bubbles) ---------- */
.tag-row{max-width:var(--max); margin:0 auto; display:flex; flex-wrap:wrap; gap:12px; justify-content:center;}
.tag-btn{
  font-family:'Karla', sans-serif; border:1px solid rgba(247,242,233,0.28); background:transparent;
  padding:12px 22px; border-radius:999px; font-size:14px; font-weight:600; color:rgba(247,242,233,0.82);
  cursor:pointer; transition:background .2s, color .2s, border-color .2s;
}
.tag-btn:hover{border-color:var(--wheat); color:#fff;}
.tag-btn.active{background:var(--wheat); color:var(--ink); border-color:var(--wheat);}
.tag-desc{
  max-width:620px; margin:0 auto; text-align:center; font-size:15.5px; line-height:1.7;
  color:rgba(247,242,233,0.85); max-height:0; opacity:0; overflow:hidden; transition:max-height .35s ease, opacity .3s ease, margin .35s ease;
}
.tag-desc.open{max-height:200px; opacity:1; margin-top:26px;}

/* ---------- AREA HIGHLIGHTS (nearby attractions) ---------- */
.area-grid{max-width:var(--max); margin:0 auto; display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); border:1px solid var(--line);}
.area-tile{background:var(--card); padding:26px 24px; display:flex; gap:14px; align-items:flex-start;}
.area-tile svg{flex:0 0 auto; width:22px; height:22px; margin-top:2px; color:var(--leather);}
.area-tile h4{font-family:'Fraunces', serif; font-weight:600; font-size:15.5px; margin:0 0 4px;}
.area-tile p{font-size:13.5px; color:var(--ink-soft); margin:0; line-height:1.5;}

/* ---------- BOOK-YOUR-STAY EXTERNAL LINKS ---------- */
.book-links{max-width:640px; margin:0 auto; display:grid; grid-template-columns:repeat(2,1fr); gap:14px;}
.book-link-card{
  display:flex; flex-direction:column; gap:6px; padding:22px 20px;
  background:var(--card); border:1px solid var(--line); text-decoration:none; color:var(--ink);
  box-shadow:0 10px 28px rgba(32,27,21,0.06); transition:transform .2s, box-shadow .2s;
}
.book-link-card:hover{transform:translateY(-2px); box-shadow:0 14px 34px rgba(32,27,21,0.12);}
.book-link-card .platform{font-family:'Fraunces', serif; font-weight:600; font-size:17px;}
.book-link-card .cta{font-size:12.5px; font-weight:700; letter-spacing:0.05em; text-transform:uppercase; color:var(--leather);}

/* ---------- OWNER BIO ---------- */
.owner-bio{max-width:760px; margin:0 auto; text-align:left;}
.owner-bio h2{font-size:clamp(26px,3.4vw,34px);}
.owner-bio p{color:var(--ink-soft); margin-top:16px; font-size:16.5px;}

/* ---------- MAP ---------- */
.map-frame{max-width:720px; margin:0 auto 32px; border:1px solid var(--line); overflow:hidden; background:var(--card);}
.map-frame iframe{width:100%; height:340px; display:block; border:0;}

/* ---------- VISIT ---------- */
.visit-card{max-width:520px; margin:0 auto; background:var(--card); border:1px solid var(--line); padding:40px;}
.visit-card h3{font-size:23px;}
.visit-row{display:flex; justify-content:space-between; gap:20px; padding:15px 0; border-top:1px solid var(--line); font-size:15px;}
.visit-row:first-of-type{margin-top:20px;}
.visit-row dt{color:var(--ink-soft); font-weight:700; letter-spacing:0.03em; font-size:12px; text-transform:uppercase;}
.visit-row dd{margin:0; text-align:right; font-weight:600;}
.visit-btns{display:flex; gap:12px; margin-top:24px; flex-wrap:wrap; justify-content:center;}
.visit-note{font-size:13px; color:var(--ink-soft); margin-top:18px; font-style:italic; text-align:center;}

/* ---------- CONTACT FORM ---------- */
.contact-card{max-width:520px; margin:0 auto; background:var(--card); border:1px solid var(--line); padding:40px;}
.contact-card h3{font-size:23px; margin-bottom:6px;}
.contact-card .eyebrow{display:block; margin-bottom:8px;}
.contact-form{margin-top:22px; display:flex; flex-direction:column; gap:14px;}
.contact-form input, .contact-form textarea{
  width:100%; padding:14px 16px; border:1px solid var(--line); background:var(--ivory);
  font-family:'Karla', sans-serif; font-size:15px; color:var(--ink); border-radius:2px;
}
.contact-form input:focus, .contact-form textarea:focus{outline:2px solid var(--wheat); outline-offset:1px;}
.contact-form textarea{min-height:120px; resize:vertical;}
.contact-form button{width:100%; justify-content:center; margin-top:4px;}
.form-status{font-size:14px; margin-top:10px; text-align:center; min-height:20px;}
.form-status.success{color:var(--sage-deep); font-weight:700;}
.form-status.error{color:#a13d2e; font-weight:700;}

/* ---------- FOOTER ---------- */
footer{
  padding:56px 24px 44px; text-align:center; font-size:13.5px;
  background:radial-gradient(ellipse at top, #2A2318 0%, #1C170F 70%);
  color:rgba(247,242,233,0.68);
}
footer .logo-mark{height:38px; margin:0 auto 14px; filter:brightness(0) invert(1);}
footer .address-line{margin-bottom:22px;}
footer .address-line a{text-decoration:none; font-weight:700; color:#fff;}
footer .address-line a:hover{color:var(--wheat);}
footer .call-btn{margin-bottom:26px;}
footer .social-row{display:flex; justify-content:center; gap:10px; margin-bottom:26px; font-size:13px;}
footer .social-row a{text-decoration:none; font-weight:700; color:rgba(247,242,233,0.82); letter-spacing:0.03em;}
footer .social-row a:hover{color:#fff;}
footer .social-row span{color:rgba(247,242,233,0.35);}
footer nav{display:flex; flex-wrap:wrap; gap:18px; justify-content:center;}
footer nav a{text-decoration:none; font-weight:700; font-size:12px; letter-spacing:0.05em; text-transform:uppercase; color:rgba(247,242,233,0.82);}
footer nav a:hover{color:#fff;}

section[id], #verse{scroll-margin-top:90px;}

/* ---------- RESPONSIVE ---------- */
@media (min-width:641px){ .exp-card{flex:0 0 340px;} }
@media (max-width:900px){
  .about{grid-template-columns:1fr; gap:32px;}
  .prop-grid{grid-template-columns:1fr; row-gap:0;}
  .polaroid{width:260px;}
  .area-grid{grid-template-columns:1fr;}
  .book-links{grid-template-columns:1fr;}
  section.content{padding:64px 20px;}
  .section-head{margin-bottom:44px;}
  .hero-content{padding-bottom:64px;}
  .hero-actions{flex-direction:column; align-items:flex-start;}
  .visit-card, .contact-card{padding:28px;}
  .verse-wrap{padding:76px 20px;}
  .feature-hero{flex-direction:column; text-align:center; padding:30px;}
  .feature-grid{grid-template-columns:1fr;}
}
