.main-nav a.active{color:var(--terracotta);position:relative}
.nav-icon{display:none}
.main-nav a.active:after{content:"";position:absolute;left:0;right:0;bottom:-.5rem;height:2px;background:var(--terracotta);border-radius:9px}
.page-banner{min-height:360px;display:grid;place-items:end start;position:relative;overflow:hidden;color:#fff;background:var(--dark)}
.page-banner>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.64}
.page-banner:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(24,17,12,.9),rgba(24,17,12,.3)),linear-gradient(0deg,rgba(24,17,12,.75),transparent 70%)}
.page-banner-content{position:relative;z-index:1;max-width:760px;padding:clamp(3rem,7vw,6rem) clamp(1.2rem,7vw,7rem)}
.page-banner h1{font-size:clamp(3.2rem,7vw,6rem);margin:0}
.page-banner p:not(.eyebrow){max-width:640px;font-size:1.08rem;color:#eee;margin-bottom:0}
.home-explore{background:var(--cream)}
.explore-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;max-width:1200px;margin:auto}
.explore-card{min-height:260px;position:relative;overflow:hidden;border-radius:var(--radius);color:#fff;text-decoration:none;box-shadow:var(--shadow)}
.explore-card img{width:100%;height:100%;object-fit:cover;transition:transform .35s}
.explore-card:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(18,13,10,.9),rgba(18,13,10,.05) 72%)}
.explore-card div{position:absolute;z-index:1;left:1.3rem;right:1.3rem;bottom:1.2rem}
.explore-card h3{font:2rem "DM Serif Display",serif;margin:0}
.explore-card p{margin:.2rem 0 0;color:#eee;font-size:.9rem}
.explore-card:hover img{transform:scale(1.04)}
.feature-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;max-width:1100px;margin:auto}
.feature-item{padding:1.5rem;border:1px solid #eadccc;border-radius:var(--radius);background:#fff;text-align:center}
.feature-item span{display:inline-grid;place-items:center;width:48px;height:48px;border-radius:50%;background:#fff0dc;color:var(--red);font-size:1.35rem}
.feature-item h3{font:1.55rem "DM Serif Display",serif;margin:.75rem 0 .3rem}
.feature-item p{margin:0;color:var(--muted);font-size:.92rem}
.cta-panel{max-width:1200px;margin:auto;padding:clamp(2rem,5vw,4rem);border-radius:30px;background:var(--red);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:2rem}
.cta-panel h2{font-size:clamp(2.2rem,5vw,4rem);margin:0}
.cta-panel p{margin:.5rem 0 0;color:#f7ded9}
.content-narrow{max-width:1200px;margin:auto}
.page-actions{display:flex;justify-content:center;gap:.8rem;flex-wrap:wrap;margin-top:2rem}
.brand-logo{width:48px;height:48px;flex:0 0 48px;object-fit:contain}
.full-menu{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}
.full-menu .featured{transform:none}
.menu-actions{display:flex;justify-content:center;gap:.8rem;flex-wrap:wrap;margin-top:2.3rem}
.mobile-hint{display:none;text-align:center;color:var(--muted);font-size:.85rem;margin:.3rem 0 1rem}
.review-note{text-align:center;color:#c7bdb4;margin:1.4rem auto 0}
.review-actions{display:flex;justify-content:center;gap:.8rem;flex-wrap:wrap;margin-top:1.6rem}
.review-form-card{display:grid;grid-template-columns:.8fr 1.2fr;gap:2rem;align-items:start;max-width:1050px;margin:3rem auto 0;padding:2rem;background:#312a25;border:1px solid #443a33;border-radius:var(--radius)}
.review-form-card h3{font:2rem "DM Serif Display",serif;margin:0 0 .4rem}
.review-form-card p{color:#c7bdb4;margin:0}
.review-steps{margin:1.2rem 0 0;padding-left:1.2rem;color:#d8cec5;font-size:.88rem}.review-steps li{padding:.28rem 0}
.google-review-note{text-align:center;color:#aaa19a!important;font-size:.76rem}
.review-next-step{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.8rem;padding:1rem;background:#252f28;border:1px solid rgba(110,201,139,.25);border-radius:16px}
.review-next-step[hidden]{display:none}.review-next-step>span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#2f9c61;color:#fff;font-weight:900}.review-next-step strong{color:#fff}.review-next-step p{font-size:.78rem}.review-next-step .button{min-height:42px;padding:.55rem .9rem;background:#247f58;font-size:.78rem}
.review-form-card form,.booking-form{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.booking-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(2rem,6vw,6rem);align-items:start;max-width:1200px;margin:auto}
.booking-copy>p{color:var(--muted);font-size:1.05rem}
.booking-points{list-style:none;padding:0;margin:1.5rem 0 0}
.booking-points li{padding:.55rem 0;border-bottom:1px solid #eadccc}
.booking-form{padding:2rem;background:#fff;border-radius:var(--radius);box-shadow:var(--shadow)}
label{display:grid;gap:.35rem;font-weight:700;font-size:.88rem}
input,select,textarea{width:100%;border:1px solid #d8c7b5;border-radius:12px;background:#fffdf9;color:var(--ink);font:inherit;padding:.78rem .9rem}
input:focus,select:focus,textarea:focus{outline:3px solid rgba(198,90,58,.2);border-color:var(--terracotta)}
textarea{min-height:120px;resize:vertical}
.form-wide{grid-column:1/-1}
.visit-section{position:relative;overflow:hidden;background:linear-gradient(145deg,#fffaf2 0%,#f7ead8 100%)}
.visit-section:before{content:"";position:absolute;width:340px;height:340px;border-radius:50%;right:-150px;top:-130px;background:rgba(233,166,58,.13)}
.visit-heading{position:relative;max-width:1200px;margin:0 auto 2.2rem;display:flex;align-items:end;justify-content:space-between;gap:2rem}
.visit-heading h2{font-size:clamp(2.6rem,5vw,4.6rem);margin:0}
.visit-heading>p{max-width:480px;color:var(--muted);margin:0 0 .5rem}
.visit-layout{position:relative;display:grid;grid-template-columns:1.12fr .88fr;gap:1.25rem;max-width:1200px;margin:auto;align-items:stretch}
.map-wrap{position:relative;min-height:570px;border:8px solid #fff;border-radius:32px;overflow:hidden;box-shadow:0 24px 65px rgba(72,44,26,.16);background:#eee}
.map-wrap iframe{width:100%;height:100%;min-height:570px;border:0}
.map-badge{position:absolute;left:1rem;bottom:1rem;display:flex;align-items:center;gap:.7rem;max-width:calc(100% - 2rem);padding:.8rem 1rem;background:rgba(255,255,255,.94);border:1px solid rgba(143,45,36,.12);border-radius:16px;box-shadow:0 10px 30px rgba(38,25,18,.18);backdrop-filter:blur(12px)}
.map-badge span{display:grid;place-items:center;width:38px;height:38px;flex:0 0 38px;border-radius:50%;background:var(--red);color:#fff;font-size:1.15rem}
.map-badge strong,.map-badge small{display:block}.map-badge small{color:var(--muted)}
.visit-details{display:grid;grid-template-rows:auto 1fr;gap:1rem}
.visit-info{position:relative;overflow:hidden;background:#fff;padding:2rem;border:1px solid rgba(143,45,36,.1);border-radius:28px;box-shadow:0 12px 40px rgba(74,48,28,.1)}
.visit-info:after{content:"";position:absolute;width:130px;height:130px;border-radius:50%;right:-70px;top:-70px;background:#f8deac}
.visit-info h3{font:2.05rem "DM Serif Display",serif;line-height:1.08;margin:.1rem 0 .8rem}
.visit-info .address{margin:.65rem 0;color:#4b433c}
.plus-code{display:inline-flex;gap:.45rem;align-items:center;padding:.4rem .65rem;background:#fff6e8;border-radius:9px;color:var(--red);font-size:.82rem}
.social-icons{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap;margin-top:1.2rem}
.social-icons a{display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:44px;padding:0 .75rem;border:1px solid rgba(255,255,255,.22);border-radius:999px;text-decoration:none;color:inherit}
.visit-info .social-icons a{height:46px;gap:.45rem;border-color:#e6d7c8;background:#fffaf4;color:var(--red);font-weight:700;font-size:.84rem;transition:.2s transform,.2s background,.2s color}
.visit-info .social-icons a:hover{transform:translateY(-2px);background:var(--red);border-color:var(--red);color:#fff}
.visit-info .social-icons a.whatsapp-action{background:#247f58;border-color:#247f58;color:#fff}
.visit-info .social-icons a svg{width:18px;height:18px}
.hours{background:#27211d;color:#fff;padding:1.8rem 2rem;border-radius:28px;box-shadow:0 18px 45px rgba(38,28,22,.18)}
.hours-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.7rem}
.hours h3{font:2rem "DM Serif Display",serif;margin:0}
.open-badge{display:inline-flex;align-items:center;gap:.4rem;padding:.38rem .65rem;border-radius:999px;background:rgba(81,166,112,.17);color:#aee3bd;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.open-badge:before{content:"";width:7px;height:7px;border-radius:50%;background:#78cc94;box-shadow:0 0 0 4px rgba(120,204,148,.12)}
.hours dl{margin:0}.hours dl div{display:flex;justify-content:space-between;gap:1rem;padding:.68rem 0;border-bottom:1px solid rgba(255,255,255,.11)}
.hours dt{color:#eee}.hours dd{margin:0;text-align:right;color:#f3c86d;font-weight:700}
.hours .fine-print{margin:1rem 0 0;color:#aaa19a;font-size:.76rem}
.social-icons svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.social-icons svg .fill{fill:currentColor;stroke:none}
.phone-link{gap:.5rem}
.footer-social{justify-content:flex-end;margin-top:0}
.app-install,.whatsapp-fab,.install-sheet{display:none}

@media(max-width:900px){
  .explore-grid{grid-template-columns:1fr 1fr}
  .feature-strip{grid-template-columns:1fr}
  .cta-panel{align-items:flex-start;flex-direction:column}
  .main-nav a.active:after{display:none}
  .full-menu{grid-template-columns:1fr 1fr}
  .review-form-card,.booking-section,.visit-layout{grid-template-columns:1fr}
  .footer-social{justify-content:center}
  .visit-heading{display:block}.visit-heading>p{margin-top:.7rem}
}

@media(max-width:700px){
  .main-nav.open a.active{background:linear-gradient(135deg,var(--red),var(--terracotta));color:#fff}
  .page-banner{min-height:310px}
  .page-banner-content{padding:3.2rem 1rem 2.3rem}
  .page-banner h1{font-size:2.8rem}
  .page-banner p:not(.eyebrow){font-size:.94rem}
  .explore-grid{grid-template-columns:1fr;gap:.75rem}
  .explore-card{min-height:210px}
  .explore-card h3{font-size:1.75rem}
  .cta-panel{padding:1.5rem;border-radius:22px}
  .cta-panel .button{width:100%}
  .page-actions{display:grid}
  .page-actions .button{width:100%}
  .mobile-hint{display:block}
  .review-form-card{padding:1.3rem}
  .review-form-card form,.booking-form{grid-template-columns:1fr}
  .form-wide{grid-column:auto}
  .visit-heading{margin-bottom:1.4rem}
  .visit-heading h2{font-size:2.45rem}
  .visit-heading>p{font-size:.92rem}
  .map-wrap{border-width:5px;border-radius:22px;min-height:340px}
  .map-wrap iframe{min-height:340px}
  .map-badge{left:.7rem;bottom:.7rem;max-width:calc(100% - 1.4rem);padding:.65rem .75rem;border-radius:14px}
  .map-badge span{width:34px;height:34px;flex-basis:34px}
  .map-badge strong{font-size:.84rem}.map-badge small{font-size:.72rem}
  .visit-info,.hours{padding:1.35rem;border-radius:21px}
  .visit-info h3,.hours h3{font-size:1.7rem}
  .visit-info .social-icons{display:grid;grid-template-columns:1fr 1fr;margin-top:1rem}
  .visit-info .social-icons a:first-child{grid-column:1/-1}
  .hours dl div{font-size:.84rem}
  .whatsapp-fab{display:grid}
  .install-sheet:not([hidden]){display:block}
  .review-next-step{grid-template-columns:auto 1fr}.review-next-step .button{grid-column:1/-1;width:100%}
}
