/* ===== 3/5 SECTIONS (part 1): tabs · experiences · offer banner ===== */
.tabs{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-bottom:44px}
.tab-btn{padding:13px 30px;border-radius:var(--radius-pill);font-size:.78rem;
  letter-spacing:.16em;text-transform:uppercase;font-weight:600;
  color:var(--ink-soft);background:var(--glass-deep);
  border:1px solid var(--glass-border);backdrop-filter:blur(8px);
  transition:transform .4s var(--ease),background .4s,color .4s,box-shadow .4s}
.tab-btn:hover{transform:translateY(-2px)}
.tab-btn.active{color:#fff;background:var(--grad-lav);border-color:transparent;
  box-shadow:var(--shadow-soft)}
[data-tab-pane]{display:none}
[data-tab-pane].active{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;
  animation:paneIn .7s var(--ease)}
@keyframes paneIn{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}

/* Experience cards */
.exp-card{position:relative;border-radius:var(--radius-lg);overflow:hidden;
  aspect-ratio:3/3.4;display:flex;align-items:flex-end;isolation:isolate;
  box-shadow:var(--shadow-card)}
.exp-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  z-index:-2;transition:transform 1.1s var(--ease)}
.exp-card::before{content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(180deg,rgba(57,15,16,.05) 35%,rgba(57,15,16,.82))}
.exp-card:hover img{transform:scale(1.09)}
.exp-body{padding:26px;color:#fff}
.exp-body h3{font-family:var(--font-serif);font-size:1.7rem;font-weight:600;margin-bottom:8px}
.exp-body p{font-size:.9rem;color:rgba(255,255,255,.88);margin-bottom:16px}
.exp-link{display:inline-flex;align-items:center;gap:8px;font-size:.72rem;
  letter-spacing:.24em;text-transform:uppercase;font-weight:600;color:var(--gold-200)}
.exp-link::after{content:"→";transition:transform .35s var(--ease)}
.exp-link:hover::after{transform:translateX(6px)}

/* Offer banner (Book Direct) */
.offer-banner{position:relative;border-radius:var(--radius-lg);overflow:hidden;
  padding:clamp(36px,6vw,70px);color:#fff;isolation:isolate;
  background:var(--grad-lav);box-shadow:var(--shadow-soft)}
.offer-banner::before{content:"";position:absolute;inset:0;z-index:-1;opacity:.9;
  background:radial-gradient(60% 120% at 85% 10%,rgba(245,169,104,.5),transparent 60%),
             radial-gradient(50% 100% at 10% 90%,rgba(242,107,74,.45),transparent 60%)}
.offer-banner::after{content:"✦";position:absolute;top:18px;right:30px;font-size:1.4rem;
  color:rgba(255,255,255,.35);animation:spin 14s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.offer-banner h2{font-family:var(--font-serif);font-size:clamp(1.9rem,4vw,3rem);
  font-weight:600;line-height:1.12;margin-bottom:14px}
.offer-banner p{max-width:640px;color:rgba(255,255,255,.92);margin-bottom:26px}
.offer-tag{display:inline-block;padding:7px 18px;border-radius:var(--radius-pill);
  background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.3);
  font-size:.7rem;letter-spacing:.26em;text-transform:uppercase;margin-bottom:16px}
/* ===== SECTIONS (part 2): dining · weddings · stats · footer · forms ===== */
/* Dining cards */
.dining-card{border-radius:var(--radius-lg);overflow:hidden;background:var(--glass-deep);
  border:1px solid var(--glass-border);box-shadow:var(--shadow-card);
  transition:transform .5s var(--ease)}
.dining-media{aspect-ratio:16/10;overflow:hidden}
.dining-media img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}
.dining-card:hover{transform:translateY(-6px)}
.dining-card:hover .dining-media img{transform:scale(1.07)}
.dining-body{padding:22px}
.dining-body h3{font-family:var(--font-serif);font-size:1.4rem;font-weight:600}
.dining-body p{font-size:.88rem;color:var(--ink-soft);margin-top:6px}

/* Weddings split */
.split{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(28px,5vw,64px);align-items:center}
.split-media{position:relative;border-radius:var(--radius-lg);overflow:hidden;
  box-shadow:var(--shadow-soft);aspect-ratio:4/3.2}
.split-media img{width:100%;height:100%;object-fit:cover}
.split-copy .btn{margin-top:24px}
.venue-chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.venue-chips span{padding:8px 18px;border-radius:var(--radius-pill);font-size:.76rem;
  background:var(--glass-deep);border:1px solid var(--glass-border);color:var(--lav-700);
  font-weight:500;backdrop-filter:blur(6px)}

/* Stats */
.stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.stat{padding:30px 16px;text-align:center;border-radius:var(--radius);
  background:var(--glass-deep);border:1px solid var(--glass-border);
  backdrop-filter:blur(10px);box-shadow:var(--shadow-card)}
.stat b{display:block;font-family:var(--font-serif);font-size:2.6rem;line-height:1;
  background:var(--grad-gold);-webkit-background-clip:text;background-clip:text;color:transparent}
.stat span{font-size:.7rem;letter-spacing:.24em;text-transform:uppercase;color:var(--ink-soft)}

/* Footer — Sunset Horizon espresso */
.site-footer{position:relative;margin-top:96px;color:#FDF6F2;
  background:linear-gradient(180deg,#8B3A1A 0%,var(--lav-900) 70%)}
.site-footer::before{content:"";position:absolute;inset:0;opacity:.5;pointer-events:none;
  background:radial-gradient(50% 60% at 88% 8%,rgba(245,169,104,.25),transparent 60%),
             radial-gradient(46% 52% at 6% 20%,rgba(242,107,74,.3),transparent 60%)}
.footer-inner{position:relative;width:min(1200px,92%);margin-inline:auto;
  padding:70px 0 30px;display:grid;grid-template-columns:1.4fr 1fr 1fr 1.3fr;gap:40px}
.footer-brand .brand-text{color:#fff}
.footer-brand .brand-logo{height:53px;width:auto;max-width:200px;margin-bottom:6px;background:rgba(255,255,255,.04);padding:6px 10px;border-radius:10px}
.site-footer h4{font-size:.74rem;letter-spacing:.3em;text-transform:uppercase;
  color:var(--gold-300);margin-bottom:18px;font-weight:600}
.site-footer ul li{margin-bottom:10px}
.site-footer ul a{font-size:.88rem;color:rgba(253,246,242,.85);transition:color .3s,padding .3s}
.site-footer ul a:hover{color:var(--gold-200);padding-left:6px}
.footer-contact li{display:flex;gap:12px;align-items:flex-start;font-size:.88rem;
  color:rgba(253,246,242,.88);margin-bottom:10px}
.footer-phone-list{display:flex;flex-direction:column;gap:2px;line-height:1.55}
.footer-phone-list a{white-space:nowrap}
.phone-list a{white-space:nowrap}
.phone-sep{color:inherit}
.prop-meta-bar .phone-list,.prop-meta-bar .phone-sep{padding:0;border:0;background:none;border-radius:0}
.footer-news p{font-size:.86rem;color:rgba(253,246,242,.78);margin-bottom:16px}
.news-form{display:flex;gap:8px}
.footer-bottom{position:relative;border-top:1px solid rgba(255,255,255,.14);
  padding:20px 0;font-size:.76rem;color:rgba(253,246,242,.65)}
.footer-bottom .container{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap}
.social-row{display:flex;gap:12px;margin-top:22px}
.social-row a{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;
  font-size:.9rem;color:var(--gold-200);border:1px solid rgba(255,255,255,.22);
  background:rgba(255,255,255,.06);transition:transform .4s var(--ease),background .4s,color .4s}
.social-row a:hover{transform:translateY(-4px);background:var(--grad-gold);color:var(--ink)}

/* Glass form */
.glass-form{display:grid;gap:16px}
.glass-form label{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;
  color:var(--lav-700);font-weight:600}
.glass-form input,.glass-form textarea,.glass-form select{width:100%;padding:14px 18px;
  border-radius:var(--radius);border:1px solid var(--glass-border);
  background:var(--glass-deep);backdrop-filter:blur(8px);font:inherit;
  color:var(--ink);transition:border .3s,box-shadow .3s}
.glass-form input:focus,.glass-form textarea:focus,.glass-form select:focus{
  outline:none;border-color:var(--gold-400);box-shadow:0 0 0 4px rgba(212,163,115,.18)}
.form-note{font-size:.78rem;color:var(--muted)}

