:root{
  --green:#075f2c;
  --green-dark:#003c22;
  --green-deep:#002c1e;
  --lime:#9acb25;
  --cream:#f4f8ed;
  --paper:#fbfcf9;
  --ink:#102d23;
  --muted:#58635e;
  --white:#fff;
  --serif:"Cormorant Garamond", Georgia, serif;
  --sans:"DM Sans", Arial, sans-serif;
  --script:"Nothing You Could Do", cursive;
}

html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);overflow-x:hidden}
img{max-width:100%;display:block}
a{text-decoration:none;color:inherit}
.container{width:min(1280px,calc(100% - 96px));margin:auto}
.section-pad{padding:88px 0}
h1,h2,h3,h4,p{margin-top:0}
h2{font-family:var(--serif);font-size:clamp(42px,4.4vw,68px);line-height:.95;font-weight:700;letter-spacing:-1.4px;color:var(--ink)}
.section-copy{font-size:16px;line-height:1.5;color:#4c5652;max-width:540px}
.btn-brand{background:var(--green);color:#fff;border:1px solid var(--green);font-weight:700;border-radius:999px;padding:12px 22px;transition:.3s ease;box-shadow:0 8px 22px rgba(0,60,34,.14); width:50%;;}
.btn-brand:hover{background:var(--green-dark);border-color:var(--green-dark);color:#fff;transform:translateY(-2px)}
.eyebrow{display:flex;align-items:center;gap:15px;color:var(--green);font-size:13px;font-weight:800;letter-spacing:1px;margin-bottom:16px}
.eyebrow span{display:block;width:30px;height:1px;background:currentColor}
.eyebrow.light{color:var(--lime)}


.hero{min-height:640px;height:calc(100vh - 0px);max-height:820px;position:relative;color:#fff;display:flex;align-items:center;overflow:hidden}
.hero-bg{position:absolute;inset:0;background-image:url("https://images.unsplash.com/photo-1464822759023-fed622ff2c3b?auto=format&fit=crop&w=2200&q=90");background-size:cover;background-position:center 58%;transform:scale(1.04);animation:heroZoom 14s ease-out forwards}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,28,50,.84) 0%,rgba(0,33,51,.55) 42%,rgba(0,20,20,.12) 73%),linear-gradient(0deg,rgba(0,26,18,.42),transparent 35%)}
.hero-cabin-glow{position:absolute;right:-8%;top:0;width:35%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,151,39,.05),rgba(255,119,21,.15));pointer-events:none}
.hero-content{position:relative;z-index:2;padding-top:55px}
.script-title{font-family:var(--script);font-size:38px;line-height:1.1}
.hero h1{font-family:var(--serif);font-size:clamp(58px,7vw,92px);line-height:.9;color:#fff;margin:0 0 5px;font-weight:700;letter-spacing:-2px}
.hero-subtitle{font-size:26px;font-weight:500;display:flex;align-items:center;gap:18px}
.title-line{display:inline-block;width:56px;height:3px;background:var(--lime)}
.hero-copy{font-size:17px;line-height:1.5;max-width:560px;margin:20px 0;color:rgba(255,255,255,.95)}
.hero-actions{display:flex;align-items:center;gap:20px;margin-top:18px}
.hero-actions .btn{padding:13px 24px}
.video-link{display:flex;align-items:center;gap:10px;font-weight:600}
.play-circle{width:47px;height:47px;border:1.5px solid #fff;border-radius:50%;display:grid;place-items:center;transition:.3s}
.video-link:hover .play-circle{background:#fff;color:var(--green);transform:scale(1.08)}
.hero-note{font-family:var(--script);font-size:26px;line-height:1.15;transform:rotate(-4deg);margin-left:30%;text-shadow:0 3px 20px rgba(0,0,0,.3)}
.hero-note span{display:block;width:62px;height:2px;background:#fff;margin:12px 0 0 28px;transform:rotate(2deg)}
.hero-scroll{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);z-index:2;display:flex;flex-direction:column;align-items:center;gap:3px;font-size:10px;letter-spacing:1.4px;text-transform:uppercase;opacity:.75}
.hero-scroll i{animation:bounce 1.8s infinite}

.quick-info{position:relative;z-index:5;margin-top:-2px}
.info-card{background:rgba(255,255,255,.97);border:1px solid #e2e8e1;border-radius:26px;box-shadow:0 16px 40px rgba(17,51,35,.09);display:grid;grid-template-columns:1.25fr .9fr 1.1fr 1fr;align-items:stretch;padding:18px 10px}
.info-item{display:flex;align-items:center;gap:13px;padding:0 20px}
.info-icon{width:48px;height:48px;border-radius:50%;background:#edf5eb;color:var(--green);display:grid;place-items:center;font-size:22px;flex:none}
.info-item small{display:block;font-size:11px;font-weight:800;letter-spacing:.5px;margin-bottom:4px}
.info-item p{font-size:12.5px;line-height:1.45;margin:0;color:#1f2924}
.info-item a:hover{color:var(--green)}
.info-divider{width:1px;background:#e3e7e3;margin:2px 0}

.about-section{background:#fbfcfa}
.about-photo{height:490px}
.photo-frame{border-radius:18px;overflow:hidden;position:relative}
.photo-frame:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(0,38,25,.24));z-index:1}
.photo-frame img{width:100%;height:100%;object-fit:cover}
.photo-caption{position:absolute;z-index:2;right:11%;top:27%;font-family:var(--script);font-size:38px;line-height:1.15;color:#fff;transform:rotate(-7deg);text-shadow:0 8px 12px rgba(0,0,0,.25); font-weight: 600;}
.photo-caption span{display:block;width:75px;height:2px;background:#fff;margin:12px auto 0}
.feature-row{display:grid;grid-template-columns:repeat(4,1fr);margin-top:30px}
.feature{display:flex;flex-direction:column;align-items:center;text-align:center;gap:7px;border-right:1px solid #dfe5df}
.feature:last-child{border:0}
.feature i{display: block;
    font-size: 28px;
    line-height: 1;
    color: #075f2c;
    margin-bottom: 2px;}
.feature span{font-size:16px;line-height:1.3}

.rooms-section{background:linear-gradient(100deg,#f2f7ec,#fbfcfa)}
.room-card{height:100%}
.room-image{height:165px;border-radius:11px;overflow:hidden;box-shadow:0 8px 25px rgba(24,48,33,.08)}
.room-image img{width:100%;height:100%;object-fit:cover;transition:.5s}
.room-card:hover img{transform:scale(1.06)}
.room-card h3{font-family:var(--sans);font-size:14px;font-weight:700;margin:7px 8px}

.gallery-section{background:linear-gradient(90deg, rgb(0 39 26 / 47%), rgb(0 30 22 / 65%)),url("https://images.unsplash.com/photo-1500534623283-312aade485b7?auto=format&fit=crop&w=2000&q=75") center/cover;color:#fff}
.gallery-section h2{color:#fff;font-size:clamp(38px,4vw,55px)}
.gallery-section p{font-size:16px;line-height:1.45;color:rgba(255,255,255,.8)}
.gallery-btn{border-radius:999px;padding:10px 19px}
.gallery-grid1{display:grid;grid-template-columns:1.1fr 1.1fr 1.1fr 1.1fr 1.1fr;gap:8px;height:310px}
.gallery-item{overflow:hidden;border-radius:5px;display:block;position:relative}
.gallery-item:after{content:"";position:absolute;inset:0;background:rgba(0,0,0,0);transition:.3s}
.gallery-item:hover:after{background:rgba(0,0,0,.18)}
.gallery-item img{width:100%;height:100%;object-fit:cover;transition:.5s}
.gallery-item:hover img{transform:scale(1.06)}
.gallery-item.tall{grid-row:span 1}

.nearby-section{background:#fbfcfa}
.nearby-card{height:100%;padding:30px;border:1px solid #e2e9df;border-radius:18px;background:#fff;transition:.3s}
.nearby-card:hover{transform:translateY(-6px);box-shadow:0 16px 35px rgba(10,52,29,.09)}
.nearby-card i{font-size:30px;color:var(--green)}
.nearby-card h3{font-family:var(--serif);font-size:30px;margin:15px 0 8px}
.nearby-card p{color:var(--muted);font-size:16px;line-height:1.55;margin:0}

.contact-section{padding-top:25px;background:#fbfcfa}
.booking-panel{border-radius:24px;padding:55px 65px;background:linear-gradient(105deg,#003b25,#075f2c);color:#fff;overflow:hidden;position:relative}
.booking-panel:after{content:"";position:absolute;width:380px;height:380px;border-radius:50%;right:-160px;bottom:-230px;border:1px solid rgba(255,255,255,.15)}
.booking-panel h2{color:#fff;font-size:clamp(42px,4.5vw,64px)}
.booking-panel p{max-width:590px;color:rgba(255,255,255,.76);line-height:1.6}
.contact-actions{display:flex;flex-direction:column;align-items:flex-start;gap:12px;position:relative;z-index:1}
.contact-link{display:flex;align-items:center;gap:13px;color:#fff}
.contact-link i{width:42px;height:42px;border:1px solid rgba(255,255,255,.25);border-radius:50%;display:grid;place-items:center}
.contact-link span{display:flex;flex-direction:column;font-size:14px}
.contact-link small{font-size:13px;letter-spacing:1px;opacity:.7;margin-bottom:2px}

.footer{background:#7bb1a2;color:#000;padding:48px 0 16px}
.footer-logo{width:90%;filter:brightness(1.05); height: auto;}
.footer h4{font-size:12px;text-transform:none;margin:4px 0 15px}
.footer-links{display:flex;flex-wrap:wrap;gap:9px 17px}
.footer-links a{font-size:12px;opacity:.86}
.footer-links a:hover,.footer-contact a:hover{color:var(--lime)}
.footer-contact{display:flex;flex-direction:column;gap:8px}
.footer-contact a,.footer-contact span{font-size:12px;opacity:.9;line-height:1.45}
.footer-contact i{width:18px;display:inline-block;color:#000}
.footer-tagline{font-family:var(--script);font-size:25px;line-height:1.05;text-align:right}
.footer-tagline span{color:var(--lime);font-size:24px}
.footer-bottom{border-top:1px solid rgba(255,255,255,.14);margin-top:30px;padding-top:13px;display:flex;justify-content:space-between;font-size:13px;opacity:.8}

.back-top{position:fixed;right:20px;bottom:20px;width:44px;height:44px;border:0;border-radius:50%;background:var(--green);color:#fff;display:grid;place-items:center;box-shadow:0 10px 25px rgba(0,0,0,.18);opacity:0;visibility:hidden;transform:translateY(10px);transition:.3s;z-index:900}
.back-top.show{opacity:1;visibility:visible;transform:none}
.back-top:hover{background:var(--green-dark)}

.reveal{opacity:0;transform:translateY(24px);transition:opacity .75s ease,transform .75s ease}
.reveal.is-visible{opacity:1;transform:none}
.delay-1{transition-delay:.12s}
.delay-2{transition-delay:.22s}

@keyframes heroZoom{from{transform:scale(1.04)}to{transform:scale(1.11)}}
@keyframes bounce{0%,100%{transform:translateY(0)}50%{transform:translateY(6px)}}

@media (max-width: 991.98px){
  .hero{min-height:690px;height:auto;padding:125px 0 100px}
  .hero-bg{background-position:center}
  .hero h1{font-size:clamp(55px,9vw,78px)}
  .info-card{grid-template-columns:1fr 1fr;gap:16px}
  .info-divider{display:none}
  .info-item{padding:8px 16px}
  .about-photo{height:420px}
  .gallery-grid{height:270px}
  .booking-panel{padding:45px 35px}
  .footer-tagline{text-align:left}
}

@media (max-width: 767.98px){
  .section-pad{padding:65px 0}
  h2{font-size:45px}
  .hero{min-height:670px;padding-top:125px}
  .hero-bg{background-position:58% center}
  .hero-overlay{background:linear-gradient(90deg,rgba(0,28,50,.88),rgba(0,35,45,.38)),linear-gradient(0deg,rgba(0,26,18,.5),transparent 45%)}
  .script-title{font-size:31px}
  .hero h1{font-size:58px;letter-spacing:-1px}
  .hero-subtitle{font-size:21px}
  .hero-copy{font-size:15px;max-width:440px}
  .hero-actions{flex-wrap:wrap;gap:14px}
  .hero-scroll{display:none}
  .quick-info{margin-top:-1px}
  .info-card{grid-template-columns:1fr;border-radius:20px;padding:10px}
  .info-item{padding:12px 10px}
  .info-item p{font-size:12px}
  .about-photo{height:340px;margin-top:5px}
  .feature-row{gap:0}
  .feature i{font-size:24px}
  .feature span{font-size:10px}
  .rooms-section .row > .col-lg-4{margin-bottom:18px}
  .room-image{height:210px}
  .gallery-grid{grid-template-columns:repeat(2,1fr);height:390px;margin-top:30px}
  .gallery-grid .gallery-item:last-child{display:none}
  .gallery-section .col-lg-2{width:100%}
  .booking-panel{padding:38px 24px}
  .footer{padding-top:38px}
  .footer-logo{width:240px}
  .footer-bottom{flex-direction:column;gap:6px}
}

@media (max-width: 420px){
  .logo-wrap img{width:205px}
  .hero h1{font-size:51px}
  .hero-subtitle{font-size:19px}
  .title-line{width:38px}
  .feature-row{grid-template-columns:repeat(2,1fr);gap:16px}
  .feature{border-right:0;border-bottom:1px solid #dfe5df;padding-bottom:12px}
  .feature:nth-child(3),.feature:nth-child(4){border-bottom:0}
}


/* =========================================================
   HOME / INDEX — HEADER BASE
   Only the homepage (.reference-layout) uses these shared
   header rules. Other pages no longer inherit this header.
   ========================================================= */
.reference-layout .site-nav{
  z-index:1000;
  transition:.3s ease;
  border-bottom:1px solid rgba(0,0,0,.04);
  backdrop-filter:blur(12px);
}
.reference-layout .site-nav.scrolled{
  height:70px;
  box-shadow:0 10px 30px rgba(0,0,0,.08);
}
.reference-layout .nav-inner{height:100%}
.reference-layout .nav-link{
  color:#17201c!important;
  font-weight:500;
  position:relative;
}
.reference-layout .nav-link:after{
  content:"";
  position:absolute;
  background:var(--green);
  transform:scaleX(0);
  transition:.25s;
}
.reference-layout .nav-link:hover:after,
.reference-layout .nav-link.active:after{transform:scaleX(1)}

/* =========================================================
   REFERENCE SCREENSHOT FIX — HEADER + HERO
   Optimized to match the supplied 777px-wide reference:
   compact header, controlled hero height, overlapping info card.
   ========================================================= */

.reference-layout .site-nav{
  height:100px;
  padding:0;
  background:#fff;
  box-shadow:0 2px 12px rgba(0,0,0,.06);
}

.reference-layout .nav-inner{
  max-width:1200px;
}

.reference-layout .logo-wrap{
  height:64px;
  padding:0;
  align-items:center;
}

.reference-layout .logo-wrap img{
  width:60%;
  height:auto;
  object-fit:contain;
  object-position:left center;
}

.reference-layout .nav-link{
  font-size:16px;
  padding:7px 11px!important;
  white-space:nowrap;
}

.reference-layout .nav-link:after{
  left:11px;
  right:11px;
  bottom:0;
  height:2px;
}

.reference-layout .nav-book{
    font-size: 16px;
    padding: 9px 38px 9px 17px;
    white-space: nowrap;
}

.reference-layout .hero{
  min-height:430px;
  height:calc(100vh - 0px);
  max-height:560px;
  margin-top:64px;
  display:flex;
  align-items:center;
}



.reference-layout .hero-overlay{
  background:
    linear-gradient(90deg,rgba(0,27,48,.84) 0%,rgba(0,34,52,.53) 45%,rgba(0,22,25,.10) 78%),
    linear-gradient(0deg,rgba(0,29,20,.38),transparent 45%);
}

.reference-layout .hero-content{
  padding-top:18px;
  padding-bottom:42px;
}

.reference-layout .script-title{
  font-size:31px;
  margin-bottom:2px!important;
}

.reference-layout .hero h1{
  font-size:clamp(54px,7vw,78px);
  line-height:.90;
  letter-spacing:-1.8px;
  margin-bottom:5px;
}

.reference-layout .hero-subtitle{
  font-size:21px;
  gap:14px;
}

.reference-layout .title-line{
  width:43px;
  height:3px;
}

.reference-layout .hero-copy{
  font-size:14px;
  line-height:1.48;
  max-width:430px;
  margin:15px 0 13px;
}

.reference-layout .hero-actions{
  gap:15px;
  margin-top:7px;
}

.reference-layout .hero-actions .btn{
  font-size:13px;
  padding:10px 18px;
}

.reference-layout .play-circle{
  width:38px;
  height:38px;
  font-size:14px;
}

.reference-layout .video-link{
  font-size:12px;
  gap:8px;
}

.reference-layout .hero-note{
  font-size:38px;
  margin-left:23%;
  margin-top:25px;
}

.reference-layout .hero-note span{
  width:52px;
  margin-top:8px;
}

.reference-layout .hero-scroll{
  display:none;
}

/* Information card sits exactly on the bottom edge of the hero. */
.reference-layout .quick-info{
  margin-top:-32px;
  position:relative;
  z-index:10;
}

.reference-layout .info-card{
  border-radius:22px;
  padding:14px 7px;
  min-height:92px;
  grid-template-columns:1.22fr .82fr 1.05fr .96fr;
  box-shadow:0 12px 32px rgba(17,51,35,.12);
}

.reference-layout .info-item{
  gap:10px;
  padding:0 12px;
}

.reference-layout .info-icon{
  width:42px;
  height:42px;
  font-size:18px;
}

.reference-layout .info-item small{
  font-size:18px;
  margin-bottom:3px;
}

.reference-layout .info-item p{
  font-size:14px;
  line-height:1.35;
}



/* At widths similar to the supplied screenshot, keep the full nav visible
   but compact instead of switching to the hamburger too early. */
@media (min-width:768px) and (max-width:1099.98px){
  .reference-layout .site-nav{height:55px}
  .reference-layout .logo-wrap{height:55px}
  .reference-layout .logo-wrap img{width:220px;height:51px}
  .reference-layout .nav-link{font-size:14px;padding:6px 7px!important}
  .reference-layout .nav-link:after{left:7px;right:7px}
  .reference-layout .nav-book{font-size:10px;padding:8px 13px}
  .reference-layout .hero{margin-top:55px;min-height:390px;max-height:485px}
  .reference-layout .hero-content{padding-top:8px;padding-bottom:35px}
  .reference-layout .script-title{font-size:27px}
  .reference-layout .hero h1{font-size:clamp(45px,7.5vw,64px)}
  .reference-layout .hero-subtitle{font-size:18px}
  .reference-layout .hero-copy{font-size:12px;max-width:370px;margin:11px 0}
  .reference-layout .hero-actions .btn{font-size:11px;padding:8px 14px}
  .reference-layout .play-circle{width:34px;height:34px}
  .reference-layout .video-link{font-size:10px}
  .reference-layout .hero-note{font-size:17px}
  .reference-layout .quick-info{margin-top:-28px}
  .reference-layout .info-card{min-height:82px;padding:10px 4px}
  .reference-layout .info-item{padding:0 7px;gap:7px}
  .reference-layout .info-icon{width:36px;height:36px;font-size:15px}
  .reference-layout .info-item small{font-size:8px}
  .reference-layout .info-item p{font-size:8px}
}

@media (max-width:767.98px){
  .reference-layout .site-nav{
    height:70px;
  }
  .reference-layout .logo-wrap{
    height:70px;
  }
  .reference-layout .logo-wrap img{
    width:220px;
    height:64px;
  }
  .reference-layout .hero{
    margin-top:70px;
    min-height:620px;
    height:auto;
    max-height:none;
    padding:0;
  }
  .reference-layout .hero-content{
    padding-top:100px;
    padding-bottom:100px;
  }
  .reference-layout .hero h1{
    font-size:53px;
  }
  .reference-layout .hero-subtitle{
    font-size:20px;
  }
  .reference-layout .hero-copy{
    font-size:14px;
    max-width:390px;
  }
  .reference-layout .quick-info{
    margin-top:-1px;
  }
  .reference-layout .info-card{
    grid-template-columns:1fr;
    padding:9px;
  }
  .reference-layout .info-item{
    padding:10px 8px;
  }
}


/* =========================================================
   HERO — 4 IMAGE BOOTSTRAP CAROUSEL
   ========================================================= */
.reference-layout .hero-carousel{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  z-index:0;
}

.reference-layout .hero-carousel .carousel-inner,
.reference-layout .hero-carousel .carousel-item{
  width:100%;
  height:100%;
}

.reference-layout .hero-slide-image{
  width:100%;
  height:100%;
  background-size:cover;
  background-position:center 58%;
  transform:scale(1.045);
}

.reference-layout .hero-carousel .carousel-item.active .hero-slide-image{
  animation:heroCarouselZoom 5.5s ease-out both;
}

.reference-layout .hero-carousel .carousel-indicators{
  z-index:5;
  bottom:18px;
  margin-bottom:0;
  gap:4px;
}

.reference-layout .hero-carousel .carousel-indicators [data-bs-target]{
  width:25px;
  height:3px;
  margin:0 2px;
  border:0;
  border-radius:5px;
  opacity:.55;
  background:#fff;
  transition:.3s ease;
}

.reference-layout .hero-carousel .carousel-indicators .active{
  width:42px;
  opacity:1;
  background:var(--lime);
}

.reference-layout .hero-carousel-control{
  z-index:6;
  width:48px;
  opacity:.55;
  transition:.25s;
}

.reference-layout .hero-carousel-control:hover{
  opacity:1;
}

.reference-layout .hero-carousel .carousel-control-prev{
  left:8px;
}

.reference-layout .hero-carousel .carousel-control-next{
  right:8px;
}

@keyframes heroCarouselZoom{
  from{transform:scale(1.045)}
  to{transform:scale(1.10)}
}

@media (max-width:767.98px){
  .reference-layout .hero-slide-image{
    background-position:center;
  }
  .reference-layout .hero-carousel-control{
    width:36px;
  }
  .reference-layout .hero-carousel .carousel-indicators{
    bottom:13px;
  }
  .reference-layout .hero-carousel .carousel-indicators [data-bs-target]{
    width:18px;
  }
  .reference-layout .hero-carousel .carousel-indicators .active{
    width:30px;
  }
}


.info-card {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    align-items: center;
    width: 100%;
    background: #ffffff;
    border: 1px solid #e1e7e2;
    border-radius: 22px;
    padding: 16px 10px;
    box-shadow: 0 12px 32px rgba(17, 51, 35, 0.12);
}

.info-item {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
    padding: 8px 18px;
    border-right: 1px solid #e1e7e2;
}

.info-item:last-child {
    border-right: none;
}

.info-icon {
    width: 44px;
    height: 44px;
    min-width: 44px;
    border-radius: 50%;
    background: #edf5eb;
    color: #075f2c;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 19px;
}

.info-content {
    min-width: 0;
}

.info-content small {
    display: block;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.6px;
    margin-bottom: 4px;
    color: #17201c;
}

.info-content p {
    margin: 0;
    font-size: 11px;
    line-height: 1.4;
    color: #303936;
}

.info-content a {
    color: #303936;
    text-decoration: none;
}

.info-content a:hover {
    color: #075f2c;
}

@media (max-width: 991px) and (min-width: 768px) {

    .info-card {
        grid-template-columns: repeat(4, 1fr);
        padding: 10px 5px;
    }

    .info-item {
        padding: 7px 8px;
        gap: 7px;
    }

    .info-icon {
        width: 36px;
        height: 36px;
        min-width: 36px;
        font-size: 15px;
    }

    .info-content small {
        font-size: 8px;
    }

    .info-content p {
        font-size: 8px;
    }
}

@media (max-width: 767px) {

    .info-card {
        grid-template-columns: 1fr;
    }

    .info-item {
        border-right: none;
        border-bottom: 1px solid #e1e7e2;
        padding: 12px 10px;
    }

    .info-item:last-child {
        border-bottom: none;
    }
}

/* =========================================================
   AMENITIES — Pranavee Homestay
   ========================================================= */
.amenities-section{
  position:relative;
  overflow:hidden;
  padding:20px 0 22px;
  background:linear-gradient(100deg,#edf7e8 0%,#f5faef 52%,#edf7e8 100%);
  border-top:1px solid rgba(7,95,44,.05);
  border-bottom:1px solid rgba(7,95,44,.06);
}

.amenities-section:before{
  content:"";
  position:absolute;
  width:280px;
  height:280px;
  right:-150px;
  top:-170px;
  border-radius:50%;
  background:rgba(154,203,37,.10);
  pointer-events:none;
}

.amenities-heading{
  position:relative;
  z-index:1;
}

.amenities-heading .eyebrow{
  margin-bottom:3px;
  font-size:11px;
  gap:10px;
}

.amenities-heading .eyebrow span{
  width:24px;
}

.amenities-heading h2{
  margin:0;
  font-size:clamp(32px,3.1vw,45px);
  line-height:.95;
  letter-spacing:-.8px;
}

.amenities-heading p{
  margin:22px 0;
  color:#56615b;
  font-size:16px;
  line-height:1.4;
}

.amenities-grid{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:repeat(6,1fr);
  align-items:stretch;
}

.amenity-item{
  position:relative;
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  padding:0 12px 3px;
  text-align:center;
  border-right:1px solid rgba(7,95,44,.12);
  transition:transform .35s ease;
}

.amenity-item:last-child{border-right:0}

.amenity-icon {
    width: 48px;
    height: 48px;
    border: 3px solid rgba(255, 255, 255, .92);
    border-radius: 50%;
    background: rgb(233 248 221);
    color: var(--green);
    display: grid;
    place-items: center;
    font-size: 30px;
    box-shadow: 0 4px 12px rgb(7 95 44 / 37%);
    transition: transform .35s ease, background .35s ease, box-shadow .35s ease;
}

.amenity-item h3{
  margin:7px 0 0;
  color:#15231d;
  font-family:var(--sans);
  font-size:16px;
  line-height:1.2;
  font-weight:600;
}

.amenity-item:hover{transform:translateY(-4px)}
.amenity-item:hover .amenity-icon{
  transform:scale(1.08) rotate(-4deg);
  background:rgba(255,255,255,.58);
  box-shadow:0 8px 18px rgba(7,95,44,.12);
}

.amenity-item.is-visible .amenity-icon{
  animation:amenityPop .65s cubic-bezier(.2,.8,.2,1) both, amenityFloat 3.8s ease-in-out .7s infinite;
  animation-delay:var(--amenity-delay),calc(var(--amenity-delay) + .7s);
}

.amenity-item.is-visible h3{
  animation:amenityText .55s ease both;
  animation-delay:calc(var(--amenity-delay) + .12s);
}
.amenity-icon svg{
  width:24px;
  height:24px;
  fill:none;
  stroke:currentColor;
  stroke-width:3;
  stroke-linecap:round;
  stroke-linejoin:round;
}
@keyframes amenityPop{
  0%{opacity:0;transform:scale(.65) translateY(12px)}
  70%{opacity:1;transform:scale(1.06) translateY(-2px)}
  100%{opacity:1;transform:scale(1) translateY(0)}
}

@keyframes amenityText{
  from{opacity:0;transform:translateY(7px)}
  to{opacity:1;transform:translateY(0)}
}

@keyframes amenityFloat{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-3px)}
}

@media (max-width:991.98px){
  .amenities-section{padding:22px 0 24px}
  .amenities-grid{grid-template-columns:repeat(3,1fr);row-gap:20px}
  .amenity-item:nth-child(3),.amenity-item:nth-child(6){border-right:0}
  .amenity-item:nth-child(4),.amenity-item:nth-child(5),.amenity-item:nth-child(6){padding-top:2px}
}

@media (max-width:767.98px){
  .amenities-section{padding:34px 0 32px}
  .amenities-heading .eyebrow{font-size:10px}
  .amenities-heading h2{font-size:38px;line-height:.98}
  .amenities-heading p{font-size:12px;margin-bottom:20px}
  .amenities-grid{grid-template-columns:repeat(2,1fr);row-gap:22px}
  .amenity-item{padding:0 10px 8px;border-right:1px solid rgba(7,95,44,.12)}
  .amenity-item:nth-child(2n){border-right:0}
  .amenity-item:nth-child(3),.amenity-item:nth-child(4),.amenity-item:nth-child(5),.amenity-item:nth-child(6){padding-top:0}
  .amenity-icon{width:50px;height:50px;font-size:20px}
  .amenity-item h3{font-size:14px}
}

@media (prefers-reduced-motion:reduce){
  .amenity-item,.amenity-icon{transition:none}
  .amenity-item.is-visible .amenity-icon,.amenity-item.is-visible h3{animation:none}
}


/* =========================================================
   PRANAVEE HOMESTAY — ABOUT PAGE
   Same visual language as homepage: green, cream, mountain imagery.
   ========================================================= */

.about-page{background:#fbfcfa;color:var(--ink)}


.about-hero{position:relative;min-height:560px;margin-top:64px;display:flex;align-items:center;overflow:hidden;color:#fff}
.about-hero-bg{position:absolute;inset:0;background:url('../assets/1_pranaveehomestay.png') center/cover no-repeat;transform:scale(1.04);animation:aboutHeroZoom 12s ease-out both}
.about-hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,28,38,.88) 0%,rgba(0,35,44,.62) 46%,rgba(0,28,24,.15) 100%),linear-gradient(0deg,rgba(0,28,20,.55),transparent 55%)}
.about-hero .container{padding-top:55px;padding-bottom:60px}
.about-breadcrumb{font:600 10px/1 var(--sans);letter-spacing:2px;margin-bottom:18px;opacity:.8}
.about-breadcrumb span{color:var(--lime);padding:0 7px}
.about-hero .script-title{font-size:34px;margin-bottom:0;color:#fff}
.about-hero h1{font-family:var(--serif);font-size:clamp(64px,7vw,100px);line-height:.86;letter-spacing:-2px;color:#fff;margin:0 0 22px}
.about-hero-copy{max-width:650px;font-size:16px;line-height:1.6;color:rgba(255,255,255,.84);margin:0}
.hero-side-note{font-family:var(--script);font-size:34px;line-height:1.08;transform:rotate(-6deg);text-align:center;margin-top:40px}
.hero-side-note span,.hero-side-note strong{display:block;font-weight:600}
.hero-side-note strong{font-size:40px}
.hero-side-note i{display:block;width:72px;height:2px;background:var(--lime);margin:15px auto 0}

.about-story{background:#fbfcfa}
.story-image-wrap{position:relative;height:520px;border-radius:24px;overflow:hidden;box-shadow:0 20px 50px rgba(17,51,35,.12)}
.story-image-wrap:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,38,25,.42),transparent 55%)}
.story-image-wrap img{width:100%;height:100%;object-fit:cover;transition:transform 1s ease}
.story-image-wrap:hover img{transform:scale(1.045)}
.story-stamp{position:absolute;z-index:2;left:28px;bottom:28px;width:132px;height:132px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.7);background:rgba(0,51,32,.55);backdrop-filter:blur(6px);color:#fff;text-align:center;transform:rotate(-8deg)}
.story-stamp span{font:600 8px var(--sans);letter-spacing:2px;opacity:.8}
.story-stamp strong{font:600 22px var(--serif);line-height:.9}
.story-stamp small{color:var(--lime);line-height:1}
.story-stamp strong:last-child{font-size:14px;line-height:1.05;max-width:85px}
.about-story h2,.values-section h2{font-size:clamp(45px,4.6vw,67px);line-height:.9;letter-spacing:-1.2px;margin-bottom:22px}
.story-signature{margin-top:28px;font-family:var(--script);font-size:25px;color:var(--green);display:flex;align-items:center;gap:15px}
.story-signature i{display:block;width:55px;height:2px;background:var(--lime);transform:rotate(-4deg)}

.experience-band{position:relative;overflow:hidden;padding:75px 0;background:linear-gradient(110deg,#003c25,#075f2c);color:#fff}
.experience-band:before{content:"";position:absolute;width:430px;height:430px;border:1px solid rgba(255,255,255,.09);border-radius:50%;left:-210px;top:-220px}
.experience-band h2{font-size:clamp(48px,5vw,72px);line-height:.88;color:#fff;margin-bottom:18px}
.experience-band p{max-width:470px;color:rgba(255,255,255,.72);line-height:1.6;font-size:16px}
.experience-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.13)}
.experience-card{min-height:170px;padding:28px;background:rgba(0,0,0,.08);display:flex;flex-direction:column;justify-content:center;transition:.35s ease}
.experience-card:hover{background:rgba(255,255,255,.08);transform:translateY(-3px)}
.experience-card i{font-size:58px;color:var(--lime);margin-bottom:14px;}
.experience-card strong{font:600 29px var(--serif);color:#b0f40d}
.experience-card span{font:17px var(--sans);color:rgba(255,255,255,.58);margin-top:4px}

.values-section{background:linear-gradient(100deg,#f2f7ec,#fbfcfa)}
.values-section h2{max-width:760px;margin-left:auto;margin-right:auto}
.value-card{position:relative;height:100%;padding:31px 25px 28px;border:1px solid #dfe8dc;border-radius:20px;background:rgba(255,255,255,.72);overflow:hidden;transition:.35s ease}
.value-card:hover{transform:translateY(-7px);background:#fff;box-shadow:0 18px 40px rgba(10,52,29,.09)}
.value-number{position:absolute;right:20px;top:15px;font:700 13px var(--sans);letter-spacing:1px;color:#b4c4b6}
.value-card i{width:50px;height:50px;border-radius:50%;background:#edf5eb;color:var(--green);display:grid;place-items:center;font-size:50px;margin-bottom:20px;transition:.35s ease}
.value-card:hover i{transform:rotate(-7deg) scale(1.08)}
.value-card h3{font:600 31px/.95 var(--serif);margin:0 0 10px}
.value-card p{font-size:16px;line-height:1.55;color:var(--muted);margin:0}

.about-gallery{background:#002c1e;color:#fff;overflow:hidden}
.about-gallery-grid{display:grid;grid-template-columns:1.05fr .8fr 1.25fr .8fr 1.05fr;min-height:430px}
.gallery-tile,.gallery-copy{min-height:430px}
.gallery-tile{overflow:hidden}
.gallery-tile img{width:100%;height:100%;object-fit:cover;transition:transform .8s ease}
.gallery-tile:hover img{transform:scale(1.06)}
.gallery-copy{padding:55px 45px;display:flex;flex-direction:column;justify-content:center;background:linear-gradient(145deg,#003d27,#00291e)}
.gallery-copy h2{font-size:clamp(40px,3.8vw,59px);line-height:.9;color:#fff;margin:0 0 18px}
.gallery-copy p{font-size:16px;color:rgba(255,255,255,.65);margin:0}



.about-location{
    background:#fbfcfa;
    padding-bottom:75px;
}

.location-panel{
    position:relative;
    overflow:hidden;
    border-radius:25px;
    padding:58px 65px;
    background:linear-gradient(110deg,#003b25,#075f2c);
    color:#fff;
}

.location-panel:after{
    content:"";
    position:absolute;
    width:400px;
    height:400px;
    border:1px solid rgba(255,255,255,.1);
    border-radius:50%;
    right:-170px;
    bottom:-245px;
}

/* Heading */
.location-panel h2{
    font-size:clamp(50px,5vw,72px);
    line-height:.88;
    color:#fff;
    margin-bottom:18px;
}

/* Description */
.location-panel p{
    max-width:600px;
    color:rgba(255,255,255,.72);
    font-size:16px;
    line-height:1.6;
    margin:0;
}

/* Location details */
.location-details{
    position:relative;
    z-index:1;
    display:flex;
    flex-direction:column;
    gap:17px;
}

/* Icon + Text row */
.location-details > div{
    display:flex;
    align-items:center;
    gap:19px;
    color:rgba(255,255,255,.9);
    font-size:19px;
    line-height:1.35;
    margin-top:10px;
}

/* Circular icon */
.location-details i{
    width:60px;
    height:60px;
    min-width:60px;
    border:1px solid rgba(255,255,255,.2);
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    color:var(--lime);
    font-size:30px;
    line-height:1;

    animation:locationIconBeat 1.8s ease-in-out infinite;
    transform-origin:center;
}
@keyframes locationIconBeat{

    0%,
    100%{
        transform:scale(1);
    }

    10%{
        transform:scale(1.08);
    }

    20%{
        transform:scale(1);
    }

    30%{
        transform:scale(1.06);
    }

    45%{
        transform:scale(1);
    }
}
/* Address / Phone links */
.location-details a:not(.btn){
    color:#fff;
}

/* =========================
   PLAN YOUR STAY BUTTON
   ========================= */

.location-details .btn{
    position:relative;

    align-self:flex-start;

    width:auto;
    min-width:260px;
    max-width:100%;

    height:58px;
    padding:0 22px;

    display:inline-flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;

    border-radius:999px;

    background:#f8f9fb;
    color:#101010;

    border:0;

    font-size:18px;
    font-weight:500;
    line-height:1;

    text-decoration:none;

    transition:
        transform .3s ease,
        box-shadow .3s ease,
        background .3s ease;
}

/* Button arrow */
.location-details .btn::after{
    content:"→";

    width:42px;
    height:42px;

    display:flex;
    align-items:center;
    justify-content:center;

    border-radius:50%;

    color:var(--lime);
    font-size:28px;
    font-weight:400;

    transition:transform .3s ease;
}

/* Hover */
.location-details .btn:hover{
    background:#fff;
    transform:translateY(-3px);
    box-shadow:0 12px 28px rgba(0,0,0,.16);
}

.location-details .btn:hover::after{
    transform:translateX(5px);
}

/* =========================
   MOBILE
   ========================= */

@media (max-width:767px){

    .about-location{
        padding-bottom:50px;
    }

    .location-panel{
        padding:40px 25px;
        border-radius:20px;
    }

    .location-panel h2{
        font-size:48px;
    }

    .location-panel p{
        font-size:13px;
    }

    .location-details{
        gap:14px;
    }

    .location-details > div{
        gap:14px;
        font-size:16px;
        line-height:1.4;
        margin-top:7px;
    }

    .location-details i{
        width:52px;
        height:52px;
        min-width:52px;
        font-size:25px;
    }

    .location-details .btn{
        width:100%;
        min-width:0;
        height:56px;
        padding:0 20px;
        font-size:17px;
        margin-top:5px;
    }

    .location-details .btn::after{
        width:38px;
        height:38px;
        font-size:25px;
    }
}

@keyframes aboutHeroZoom{from{transform:scale(1.04)}to{transform:scale(1.1)}}

@media(max-width:991.98px){
  .about-hero{min-height:590px;margin-top:64px}
  .story-image-wrap{height:440px}
  .about-gallery-grid{grid-template-columns:1fr 1fr;min-height:0}
  .gallery-tile,.gallery-copy{min-height:320px}
  .gallery-copy{grid-column:1/-1;order:3}
  .location-panel{padding:45px 35px}
}

@media(max-width:767.98px){
  .about-hero{min-height:570px}
  .about-hero .container{padding-top:75px;padding-bottom:55px}
  .about-hero .script-title{font-size:28px}
  .about-hero h1{font-size:57px;letter-spacing:-1px}
  .about-hero-copy{font-size:14px}
  .story-image-wrap{height:340px}
  .story-stamp{width:105px;height:105px;left:18px;bottom:18px}
  .story-stamp strong{font-size:18px}
  .story-stamp strong:last-child{font-size:11px}
  .experience-band{padding:60px 0}
  .experience-grid{grid-template-columns:1fr 1fr}
  .experience-card{min-height:145px;padding:21px 17px}
  .experience-card strong{font-size:24px}
  .experience-card span{font-size:10px}
  .about-gallery-grid{grid-template-columns:1fr 1fr}
  .gallery-tile,.gallery-copy{min-height:260px}
  .gallery-copy{padding:40px 25px}
  .location-panel{padding:38px 24px}
}

@media(max-width:420px){
  .about-hero h1{font-size:51px}
  .experience-grid{grid-template-columns:1fr}
  .experience-card{min-height:125px}
  .about-gallery-grid{grid-template-columns:1fr}
  .gallery-tile,.gallery-copy{min-height:300px}
}

@media(prefers-reduced-motion:reduce){
  .about-hero-bg{animation:none}
  .story-image-wrap img,.gallery-tile img,.value-card,.experience-card{transition:none}
}

/* =========================
   PLAN YOUR STAY — FINAL
   ========================= */

.location-details .btn{
    position:relative;
    overflow:hidden;

    align-self:flex-start;

    width:auto;
    min-width:260px;
    max-width:100%;

    height:58px;
    padding:0 20px 0 28px;

    display:inline-flex;
    align-items:center;
    justify-content:space-between;
    gap:22px;

    border-radius:999px;
    border:0;

    background:#9acb25;
    color:#ffffff;

    font-size:18px;
    font-weight:600;
    line-height:1;

    text-decoration:none;

    box-shadow:0 7px 20px rgba(154,203,37,.22);

    transition:
        transform .3s ease,
        box-shadow .3s ease;
}

/* LEFT → RIGHT GLOW */
.location-details .btn::before{
    content:"";
    position:absolute;

    top:0;
    left:-120%;

    width:70%;
    height:100%;

    background:linear-gradient(
        90deg,
        transparent 0%,
        rgba(255,255,255,.08) 25%,
        rgba(255,255,255,.55) 50%,
        rgba(255,255,255,.08) 75%,
        transparent 100%
    );

    transform:skewX(-20deg);

    animation:planStayGlow 3s ease-in-out infinite;

    pointer-events:none;
}

/* BUTTON TEXT */
.location-details .btn span{
    position:relative;
    z-index:2;
}

/* ARROW */
.location-details .btn::after{
    content:"→";

    position:relative;
    z-index:2;

    width:40px;
    height:40px;

    display:flex;
    align-items:center;
    justify-content:center;

    border-radius:50%;

    /* background:rgba(255,255,255,.18); */

    color:#ffffff;

    font-size:27px;
    font-weight:400;
    line-height:1;

    animation:planStayArrow 1.8s ease-in-out infinite;
}

/* BUTTON HOVER */
.location-details .btn:hover{
    transform:translateY(-3px);

    box-shadow:
        0 10px 28px rgba(154,203,37,.38),
        0 0 20px rgba(154,203,37,.18);
}

/* =========================
   ANIMATIONS
   ========================= */

@keyframes planStayGlow{

    0%{
        left:-120%;
        opacity:0;
    }

    15%{
        opacity:1;
    }

    50%{
        opacity:1;
    }

    85%{
        opacity:1;
    }

    100%{
        left:150%;
        opacity:0;
    }
}

@keyframes planStayArrow{

    0%,
    100%{
        transform:translateX(0);
    }

    50%{
        transform:translateX(5px);
    }
}

/* =========================
   MOBILE
   ========================= */

@media(max-width:767px){

    .location-details .btn{
        width:100%;
        min-width:0;

        height:56px;

        padding:0 18px 0 25px;

        font-size:17px;
    }

    .location-details .btn::after{
        width:38px;
        height:38px;

        font-size:25px;
    }
}

/* ACCESSIBILITY */
@media(prefers-reduced-motion:reduce){

    .location-details .btn::before,
    .location-details .btn::after{
        animation:none;
    }
}

/* =========================================================
   PRANAVEE HOMESTAY — ROOMS & BOOKING
   ========================================================= */
.room-page {
  background: #fff;
}
.room-hero {
  height: 570px;
  position: relative;
  overflow: hidden;
  color: #fff;
}
.room-hero-image {
  position: absolute;
  inset: 0;
  background: url("../assets/02_room_pranaveehomestay.png") center 58% / cover
    no-repeat;
  transform: scale(1.02);
}
.room-hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    90deg,
    rgba(0, 37, 25, 0.82),
    rgba(0, 37, 25, 0.38) 52%,
    rgba(0, 20, 12, 0.18)
  );
}
.room-hero-content {
  position: relative;
  z-index: 2;
  height: 100%;
  display: flex;
  align-items: center;
  padding-top: 62px;
}
.room-hero-content > div {
  max-width: 650px;
}
.room-hero .eyebrow {
  color: #b7dc49;
  margin-bottom: 10px;
}
.room-hero .eyebrow span {
  background: #b7dc49;
}
.room-hero .script-title {
  font-family: "Nothing You Could Do", cursive;
  font-size: 25px;
  margin: 0 0 2px;
}
.room-hero h1 {
  font-family: var(--serif);
  font-size: clamp(54px, 6vw, 86px);
  line-height: 0.88;
  letter-spacing: -2px;
  margin: 0 0 18px;
}
.room-hero p:not(.script-title) {
  font-size: 16px;
  line-height: 1.65;
  max-width: 560px;
  margin-bottom: 25px;
  color: rgba(255, 255, 255, 0.9);
}
.booking-strip {
  position: relative;
  margin-top: -48px;
  z-index: 5;
}
.booking-card {
  background: #fff;
  border: 1px solid rgba(0, 60, 34, 0.08);
  border-radius: 22px;
  padding: 22px 25px 17px;
  box-shadow: 0 18px 45px rgba(0, 48, 28, 0.13);
}
.booking-title {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 15px;
}
.booking-title small {
  display: block;
  color: var(--green);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 1.3px;
}
.booking-title h2 {
  font-family: var(--serif);
  font-size: 27px !important;
  margin: 0;
  color: var(--green-deep);
}
.booking-icon {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: #edf6e9;
  color: var(--green);
  font-size: 20px;
}
.booking-fields {
  display: grid;
  grid-template-columns: 1fr 1fr 0.8fr auto;
  gap: 12px;
  align-items: end;
}
.booking-fields label {
  font-size: 11px;
  font-weight: 700;
  color: #27342e;
}
.booking-fields input,
.booking-fields select {
  display: block;
  width: 100%;
  height: 47px;
  margin-top: 6px;
  border: 1px solid #dce5df;
  border-radius: 11px;
  padding: 0 13px;
  font: inherit;
  font-size: 13px;
  color: #26332d;
  background: #fff;
  outline: none;
  transition: 0.25s;
}
.booking-fields input:focus,
.booking-fields select:focus,
.form-control:focus,
.form-select:focus {
  border-color: #79aa80;
  box-shadow: 0 0 0 3px rgba(7, 95, 44, 0.08);
}
.booking-check {
  height: 47px;
  white-space: nowrap;
  width: 100%;
  margin-bottom: 14px;
}
.booking-note {
  margin: 14px 0 0;
  color: #748078;
  font-size: 14px;
}
.booking-note i {
  color: var(--green);
  margin-right: 4px;
}
.section-heading {
  max-width: 700px;
  margin-bottom: 34px;
}
.section-heading h2 {
  font-family: var(--serif);
  font-size: clamp(38px, 4vw, 56px);
  line-height: 0.95;
  color: var(--green-deep);
  margin: 0 0 9px;
}
.section-heading p {
  color: #69736e;
  margin: 0;
  font-size: 14px;
}
.rooms-list {
  background: #fff;
  padding-top: 74px;
  padding-bottom: 82px;
}
.room-card {
  height: 100%;
  overflow: hidden;
  border: 1px solid #e1e9e2;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 8px 28px rgba(0, 50, 30, 0.06);
  transition: transform 0.35s ease, box-shadow 0.35s ease;
}
.room-card:hover {
  transform: translateY(-7px);
  box-shadow: 0 18px 42px rgba(0, 50, 30, 0.13);
}
.room-image-wrap {
  height: 280px;
  position: relative;
  overflow: hidden;
}
.room-image-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.65s ease;
}
.room-card:hover .room-image-wrap img {
  transform: scale(1.06);
}
.room-tag {
  position: absolute;
  left: 16px;
  top: 16px;
  background: rgba(255, 255, 255, 0.92);
  color: var(--green);
  font-size: 10px;
  font-weight: 800;
  padding: 8px 11px;
  border-radius: 999px;
}
.room-select {
  position: absolute;
  right: 14px;
  bottom: 14px;
  border: 0;
  border-radius: 999px;
  background: var(--green);
  color: #fff;
  padding: 9px 14px;
  font-size: 11px;
  font-weight: 700;
  opacity: 0;
  transform: translateY(7px);
  transition: 0.3s;
}
.room-card:hover .room-select,
.room-select:focus {
  opacity: 1;
  transform: translateY(0);
}
.room-card.selected {
  border-color: #77a47f;
  box-shadow: 0 0 0 3px rgba(7, 95, 44, 0.09), 0 18px 42px rgba(0, 50, 30, 0.13);
}
.room-card.selected .room-select {
  opacity: 1;
  transform: none;
  background: var(--green-dark);
}
.room-card-body {
  padding: 19px 20px 21px;
}
.room-meta {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  color: #7a847e;
  font-size: 14px;
  margin-bottom: 8px;
}
.room-meta i {
  color: var(--green);
}
.room-card h3 {
  font-family: var(--serif);
  font-size: 30px;
  color: var(--green-deep);
  margin: 0 0 5px;
}
.room-card-body p {
  font-size: 16px;
  line-height: 1.6;
  color: #6b756f;
  min-height: 58px;
  margin: 0 0 14px;
}
.room-features {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.room-features span {
  font-size: 14px;
  color: #425049;
  background: #f1f6ef;
  border-radius: 999px;
  padding: 6px 9px;
}
.room-features i {
  color: var(--green);
  margin-right: 3px;
}
.booking-section {
  background: #f1f7ed;
  padding-top: 75px;
  padding-bottom: 80px;
}
.booking-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(290px, 0.75fr);
  gap: 28px;
  align-items: start;
}
.booking-form-card {
  background: #fff;
  border-radius: 22px;
  padding: 31px;
  border: 1px solid rgba(7, 95, 44, 0.08);
  box-shadow: 0 12px 35px rgba(0, 55, 30, 0.07);
}
.booking-form-card h2 {
  font-family: var(--serif);
  font-size: 48px;
  line-height: 0.95;
  color: var(--green-deep);
  margin: 0 0 7px;
}
.form-intro {
  font-size: 16px;
  line-height: 1.6;
  color: #707b74;
  margin: 0 0 22px;
}
.form-label {
  font-size: 16px;
  font-weight: 700;
  color: #2e3a34;
  margin-bottom: 6px;
}
.form-control,
.form-select {
  height: 46px;
  border: 1px solid #dce5df;
  border-radius: 10px;
  font-size: 16px;
}
.form-control::placeholder {
  color: #a1aaa5;
}
.booking-submit-row {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-top: 21px;
}
.booking-submit-row small {
  font-size: 14px;
  color: #7c8781;
}
.booking-submit-row small i {
  color: var(--green);
}
.booking-alert {
  display: none;
  margin-top: 15px;
  border-radius: 10px;
  background: #edf7e9;
  color: var(--green);
  padding: 11px 13px;
  font-size: 12px;
}
.booking-alert.show {
  display: block;
}
.booking-summary {
  position: sticky;
  top: 95px;
  background: var(--green-deep);
  color: #fff;
  border-radius: 22px;
  padding: 27px;
  box-shadow: 0 15px 40px rgba(0, 45, 30, 0.16);
  overflow: hidden;
}
.booking-summary:after {
  content: "";
  position: absolute;
  width: 190px;
  height: 190px;
  border: 1px solid rgba(255, 255, 255, 0.09);
  border-radius: 50%;
  right: -100px;
  bottom: -100px;
}
.summary-top {
  display: flex;
  justify-content: space-between;
  color: #b7d86a;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 1.3px;
}
.summary-top i {
  font-size: 22px;
}
.booking-summary h3 {
  font-family: var(--serif);
  font-size: 36px;
  margin: 22px 0 21px;
}
.summary-row {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  font-size: 14px;
  color: rgba(255, 255, 255, 0.68);
}
.summary-row strong {
  color: #fff;
  font-size: 14px;
}
.summary-divider {
  height: 1px;
  margin: 16px 0;
  background: rgba(255, 255, 255, 0.12);
}
.booking-summary p {
  font-size: 13px;
  color: rgba(255, 255, 255, 0.75);
  line-height: 1.55;
  margin: 10px 0;
}
.booking-summary p i {
  color: #b7d86a;
  margin-right: 6px;
}
.booking-perks {
  background: #fff;
  padding: 32px 0;
  border-top: 1px solid #e6eee6;
}
.perks-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
}
.perk {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 5px 24px;
  border-right: 1px solid #e1e8e2;
}
.perk:last-child {
  border-right: 0;
}
.perk > i {
  width: 43px;
  height: 43px;
  border-radius: 50%;
  background: #edf6e9;
  color: var(--green);
  display: grid;
  place-items: center;
  font-size: 18px;
  flex: none;
}
.perk strong,
.perk span {
  display: block;
}
.perk strong {
  font-size: 16px;
  color: #25322c;
}
.perk span {
  font-size: 14px;
  color: #7b857f;
  margin-top: 2px;
}
@media (max-width: 991.98px) {
  .room-hero {
    height: 540px;
  }
  .booking-fields {
    grid-template-columns: 1fr 1fr;
  }
  .booking-check {
    width: 100%;
  }
  .booking-layout {
    grid-template-columns: 1fr;
  }
  .booking-summary {
    position: relative;
    top: auto;
  }
  .perks-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 15px;
  }
  .perk:nth-child(2) {
    border-right: 0;
  }
  .perk {
    padding: 10px 18px;
  }
}
@media (max-width: 767.98px) {
  .room-hero {
    height: 500px;
  }
  .room-hero-content {
    padding-top: 72px;
  }
  .room-hero h1 {
    font-size: 52px;
  }
  .room-hero p:not(.script-title) {
    font-size: 13px;
  }
  .booking-strip {
    margin-top: -30px;
  }
  .booking-card {
    padding: 19px 17px;
  }
  .booking-fields {
    grid-template-columns: 1fr;
  }
  .booking-check {
    width: 100%;
  }
  .rooms-list {
    padding-top: 55px;
  }
  .room-image-wrap {
    height: 245px;
  }
  .room-select {
    opacity: 1;
    transform: none;
  }
  .booking-form-card {
    padding: 23px 18px;
  }
  .booking-form-card h2 {
    font-size: 41px;
  }
  .booking-submit-row {
    align-items: flex-start;
    flex-direction: column;
  }
  .booking-submit-row .btn {
    width: 100%;
  }
  .perks-grid {
    grid-template-columns: 1fr;
  }
  .perk {
    border-right: 0;
    border-bottom: 1px solid #e4ebe5;
    padding: 12px 5px;
  }
  .perk:last-child {
    border-bottom: 0;
  }
}

/* Near by */

.primary-btn {
  background: var(--green);
  color: #fff;
  border-radius: 999px;
  padding: 14px 22px;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  transition: 0.3s;
}
.primary-btn:hover {
  background: #063f25;
  transform: translateY(-2px);
  box-shadow: 0 12px 25px #075d3230;
}
.nearby-hero {
  height: 560px;
  position: relative;
  overflow: hidden;
  color: #fff;
}
.hero-bg {
  position: absolute;
  inset: 0;
  background: url("https://images.unsplash.com/photo-1519681393784-d120267933ba?auto=format&fit=crop&w=2200&q=88")
    center 52% / cover;
  transform: scale(1.03);
  animation: heroZoom 14s ease-in-out infinite alternate;
}
.hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, #002b22dc 0%, #073e2b9a 39%, #001b1630 75%),
    linear-gradient(0deg, #001f1740, #0000 55%);
}
.hero-content {
  height: 100%;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.hero-copy {
  margin-top: -5px;
}
.script {
  font: 500 31px var(--script);
  margin: 0 0 -7px;
}
.hero-copy h1 {
  font: 700 clamp(55px, 5.5vw, 78px) / 0.82 var(--serif);
  margin: 0 0 25px;
  letter-spacing: -2px;
}
.hero-text {
  font-size: 16px;
  line-height: 1.5;
  margin: 0 0 22px;
}
.location-note {
  align-self: flex-start;
  margin: 36px 7% 0 0;
  color: #10231c;
  transform: rotate(-4deg);
  text-align: center;
}
.location-note span,
.location-note strong {
  display: block;
  font: 500 35px var(--script);
}
.location-note strong {
  font-size: 43px;
}
.location-note i {
  color: var(--green);
  font-size: 25px;
}
.hero-scroll {
  position: absolute;
  bottom: 15px;
  left: 50%;
  transform: translateX(-50%);
  font-size: 11px;
  opacity: 0.8;
}
.hero-scroll span {
  display: inline-block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #fff;
  margin-right: 7px;
  animation: pulse 1.5s infinite;
}
.category-bar {
  background: #fff;
  border-bottom: 1px solid var(--line);
}
.category-grid {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  min-height: 95px;
}
.category {
  border: 0;
  background: transparent;
  color: #20332c;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 7px;
  cursor: pointer;
  position: relative;
  transition: 0.3s;
}
.category span {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background: #e9f4e9;
  display: grid;
  place-items: center;
  font-size: 22px;
  color: #12623d;
  transition: 0.3s;
}
.category b {
  font-size: 15px;
  font-weight: 500;
}
.category.active span {
  background: var(--green);
  color: #fff;
  transform: scale(1.04);
}
.category.active b {
  font-weight: 700;
}
.category.active:after {
  content: "";
  position: absolute;
  bottom: 0;
  width: 60px;
  height: 2px;
  background: var(--green);
}
.section {
  padding: 42px 0 55px;
}
.section-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 30px;
  margin-bottom: 24px;
}
.eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 1px;
  margin: 0 0 7px;
  color: #486358;
}
.eyebrow span {
  display: inline-block;
  width: 38px;
  height: 1px;
  background: #6b8378;
  vertical-align: middle;
  margin-left: 8px;
}
.section-head h2,
.map-copy h2,
.cta-strip h2 {
  font: 700 34px/0.95 var(--serif);
  margin: 0 0 9px;
  letter-spacing: -0.4px;
}
.section-head > div > p:last-child {
  margin: 0;
  color: #5c6c65;
  font-size: 16px;
}
.soft-btn {
  background: #e9f4e9;
  border-radius: 999px;
  padding: 13px 20px;
  color: #134f35;
  font-weight: 700;
  font-size: 13px;
  white-space: nowrap;
  transition: 0.3s;
}
.soft-btn:hover {
  background: #dcecdc;
  transform: translateY(-2px);
}
.place-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
}
.place-card {
  border: 1px solid #e2e9e1;
  border-radius: 7px;
  background: #fff;
  overflow: hidden;
  box-shadow: 0 3px 14px #1d49330a;
  transition: 0.4s;
}
.place-card:hover {
  transform: translateY(-7px);
  box-shadow: 0 18px 32px #1d49331b;
}
.place-image {
  height: 200px;
  position: relative;
  overflow: hidden;
}
.place-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.65s;
}
.place-card:hover img {
  transform: scale(1.08);
}
.place-image > span {
  position: absolute;
  right: 9px;
  top: 9px;
  background: #073b2b;
  color: #fff;
  border-radius: 999px;
  padding: 6px 10px;
  font-size: 11px;
  font-weight: 700;
}
.place-body {
  padding: 8px 12px 11px;
}
.place-body h3 {
  font: 700 24px var(--serif);
  margin: 0 0 2px;
}
.place-body p {
  font-size: 16px;
  line-height: 1.35;
  margin: 4px 0;
  color: #53635c;
}
.place-body .meta {
  color: #325e4a;
}
.meta i {
  margin-right: 5px;
  color: #1b6542;
}
.map-section {
  position: relative;
  color: #fff;
  padding: 34px 0;
  background: #063f33;
  overflow: hidden;
}
.map-bg {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, #01382de8, #063f33c8),
    url("https://images.unsplash.com/photo-1500534623283-312aade485b7?auto=format&fit=crop&w=2200&q=75")
      center/cover;
  opacity: 0.55;
}
.map-layout {
  position: relative;
  display: grid;
  grid-template-columns: 240px 1fr;
  gap: 28px;
  align-items: center;
}
.eyebrow.light {
  color: #d9e8de;
}
.map-copy h2 {
  font-size: 40px;
  color: #fff;
}
.map-copy > p:not(.eyebrow) {
  font-size: 13px;
  line-height: 1.5;
  color: #d9e7df;
  margin: 0 0 20px;
}
.map-visual {
  display: grid;
  grid-template-columns: 1fr 330px;
  gap: 9px;
}
.fake-map {
  height:480px;
  background: #dbeccf;
  position: relative;
  border-radius: 7px;
  overflow: hidden;
  background-image: radial-gradient(#b5cfac 1px, transparent 1px);
  background-size: 16px 16px;
  box-shadow: 0 10px 35px #001a1225;
}
.fake-map:before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    135deg,
    #c9dfc2,
    #edf4dc 38%,
    #c6ddbb 39%,
    #e8f0da 70%,
    #bcd6b7
  );
}
.road {
  position: absolute;
  background: #fff;
  border-radius: 99px;
  z-index: 1;
  box-shadow: 0 0 0 2px #d2dfca;
}
.r1 {
  width: 85%;
  height: 9px;
  left: 3%;
  top: 55%;
  transform: rotate(-16deg);
}
.r2 {
  width: 68%;
  height: 8px;
  left: 18%;
  top: 28%;
  transform: rotate(28deg);
}
.r3 {
  width: 55%;
  height: 7px;
  left: 27%;
  top: 72%;
  transform: rotate(20deg);
}
.river {
  position: absolute;
  width: 110%;
  height: 32px;
  background: #9bcbd0;
  left: -5%;
  top: 43%;
  transform: rotate(12deg);
  z-index: 1;
  opacity: 0.8;
}
.pin {
  position: absolute;
  z-index: 3;
  background: #fff;
  color: #18362a;
  padding: 6px 9px;
  border-radius: 20px;
  font-size: 10px;
  font-weight: 700;
  box-shadow: 0 4px 13px #234b3025;
  animation: float 3s ease-in-out infinite;
}
.p1 {
  left: 10%;
  top: 13%;
}
.p2 {
  right: 5%;
  top: 14%;
}
.p3 {
  left: 31%;
  top: 43%;
}
.p4 {
  right: 8%;
  top: 43%;
}
.p5 {
  left: 7%;
  bottom: 18%;
}
.p6 {
  left: 43%;
  bottom: 9%;
}
.pin.home {
  left: 55%;
  top: 61%;
  background: #e96636;
  color: #fff;
}
.pin.home i {
  margin-right: 3px;
}
.distance-list {
  background: #fff;
  color: #1a3027;
  border-radius: 7px;
  padding: 13px 14px;
}
.distance-list h3 {
  font: 700 22px var(--serif);
  margin: 0 0 7px;
}
.distance-list div {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  border-bottom: 1px solid #e5ece5;
  padding: 6px 0;
  font-size: 14px;
}
.distance-list div:last-child {
  border: 0;
}
.distance-list span i {
  color: #16623e;
  margin-right: 5px;
}
.distance-list b {
  font-size: 14px;
}
.cta-strip {
  background: #edf7e7;
  padding: 27px 0;
  position: relative;
  overflow: hidden;
}
.cta-inner {
  display: grid;
  grid-template-columns: 1fr 1.8fr auto;
  align-items: center;
  gap: 30px;
}
.cta-script {
  font: 500 29px/1 var(--script);
  text-align: center;
  transform: rotate(-4deg);
  color: #123a2d;
}
.cta-script span {
  margin-left: 25px;
}
.cta-strip h2 {
  font-size: 31px;
  margin: 0 0 5px;
}
.cta-strip p {
  font-size: 16px;
  line-height: 1.35;
  margin: 0;
}
.reveal {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.7s ease, transform 0.7s ease;
}
.reveal.show {
  opacity: 1;
  transform: none;
}
@keyframes heroZoom {
  from {
    transform: scale(1.03);
  }
  to {
    transform: scale(1.11);
  }
}
@keyframes pulse {
  0%,
  100% {
    opacity: 0.25;
    transform: scale(0.8);
  }
  50% {
    opacity: 1;
    transform: scale(1.4);
  }
}
@keyframes float {
  0%,
  100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-5px);
  }
}
@media (max-width: 1000px) {
  .container {
    width: min(100% - 40px, 900px);
  }
  .place-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .category-grid {
    grid-template-columns: repeat(4, 1fr);
  }
  .map-layout {
    grid-template-columns: 1fr;
  }
  .map-copy {
    max-width: 520px;
  }
  .cta-inner {
    grid-template-columns: 1fr 2fr auto;
  }
  .location-note {
    display: none;
  }
}
@media (max-width: 760px) {
  .nearby-hero {
    height: 470px;
  }
  .hero-copy h1 {
    font-size: 56px;
  }
  .hero-text {
    font-size: 14px;
  }
  .desktop {
    display: none;
  }
  .category-grid {
    grid-template-columns: repeat(4, 1fr);
    overflow-x: auto;
  }
  .category {
    min-width: 105px;
  }
  .category-grid {
    width: 100%;
    margin: 0;
    padding: 0 10px;
  }
  .section {
    padding: 34px 0;
  }
  .section-head {
    align-items: flex-start;
    flex-direction: column;
  }
  .section-head h2 {
    font-size: 32px;
  }
  .place-grid {
    grid-template-columns: 1fr;
  }
  .place-image {
    height: 205px;
  }
  .map-visual {
    grid-template-columns: 1fr;
  }
  .fake-map {
    height: 260px;
  }
  .cta-inner {
    grid-template-columns: 1fr;
    text-align: center;
    gap: 14px;
  }
  .cta-strip .primary-btn {
    justify-self: center;
  }
  .map-copy h2 {
    font-size: 37px;
  }
}
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
  .reveal {
    opacity: 1;
    transform: none;
    transition: none;
  }
  .hero-bg {
    animation: none;
  }
  .place-card,
  .primary-btn {
    transition: none;
  }
  .pin {
    animation: none;
  }
}



/* =========================================================
   PRANAVEE HOMESTAY — GLOBAL TYPOGRAPHY STANDARD
   Desktop final sizes: H1 74px / H2 54px / H3 54px
   Eyebrow 20px / Body paragraph 16px
   ========================================================= */

:root{
    --font-size-h1:74px;
    --font-size-h2:44px;
    --font-size-h3:18px;
    --font-size-eyebrow:20px;
    --font-size-body:16px;
}

/* H1 — ALL PAGES */
h1,
.hero h1,
.about-hero h1,
.reference-layout .hero h1{
    font-size:var(--font-size-h1) !important;
}

/* H2 — ALL PAGES */
h2,
.location-panel h2,
.booking-panel h2,
.experience-band h2,
.gallery-section h2,
.about-story h2,
.values-section h2,
.gallery-copy h2,
.amenities-heading h2{
    font-size:var(--font-size-h2) !important;
}


/* EYEBROW — ALL PAGES */
.eyebrow,
.amenities-heading .eyebrow{
    font-size:var(--font-size-eyebrow) !important;
}



/* =========================================================
   RESPONSIVE
   Desktop keeps the exact requested final sizes.
   Smaller screens scale proportionally to avoid overflow.
   ========================================================= */

@media (max-width:991.98px){
    h1,.hero h1,.about-hero h1,.reference-layout .hero h1{
        font-size:68px !important;
    }

    h2,.location-panel h2,.booking-panel h2,.experience-band h2,
    .gallery-section h2,.about-story h2,.values-section h2,
    .gallery-copy h2,.amenities-heading h2{
        font-size:50px !important;
    }

    h3,.room-card h3,.nearby-card h3,.value-card h3,.amenity-item h3{
        font-size:42px !important;
    }

    .eyebrow,.amenities-heading .eyebrow{
        font-size:18px !important;
    }

    p,.section-copy,.hero-copy,.about-hero-copy,.gallery-section p,
    .nearby-card p,.booking-panel p,.location-panel p,
    .experience-band p,.value-card p,.gallery-copy p{
        font-size:16px !important;
    }
}

@media (max-width:767.98px){
    h1,.hero h1,.about-hero h1,.reference-layout .hero h1{
        font-size:52px !important;
    }

    h2,.location-panel h2,.booking-panel h2,.experience-band h2,
    .gallery-section h2,.about-story h2,.values-section h2,
    .gallery-copy h2,.amenities-heading h2{
        font-size:42px !important;
    }

    h3,.room-card h3,.nearby-card h3,.value-card h3,.amenity-item h3{
        font-size:32px !important;
    }

    .eyebrow,.amenities-heading .eyebrow{
        font-size:16px !important;
    }

    p,.section-copy,.hero-copy,.about-hero-copy,.gallery-section p,
    .nearby-card p,.booking-panel p,.location-panel p,
    .experience-band p,.value-card p,.gallery-copy p{
        font-size:16px !important;
    }
}

@media (max-width:420px){
    h1,.hero h1,.about-hero h1,.reference-layout .hero h1{
        font-size:48px !important;
    }

    h2,.location-panel h2,.booking-panel h2,.experience-band h2,
    .gallery-section h2,.about-story h2,.values-section h2,
    .gallery-copy h2,.amenities-heading h2{
        font-size:38px !important;
    }

    h3,.room-card h3,.nearby-card h3,.value-card h3,.amenity-item h3{
        font-size:28px !important;
    }

    .eyebrow,.amenities-heading .eyebrow{
        font-size:15px !important;
    }
}


/* contact us */

.brand{display:flex;align-items:center;gap:10px}.brand-mark{width:55px;height:55px;background:#d6a05a;clip-path:polygon(50% 0,100% 28%,86% 100%,14% 100%,0 28%);display:grid;place-items:center;font-size:29px;color:var(--green);font-weight:bold}
.brand-copy strong{font:700 30px var(--serif);color:var(--green);display:block;line-height:.82}.brand-copy strong span{font:500 24px var(--script);color:#ed2831;margin-left:2px}.brand-copy small{font-size:9px;font-weight:700;display:block;text-align:center}.main-nav{display:flex;align-items:center;gap:30px;font-size:14px}.main-nav>a:not(.book-btn){padding:27px 0 23px;border-bottom:2px solid transparent}.main-nav>a.active{color:var(--green);font-weight:700;border-color:var(--green)}
.book-btn,.primary-btn{background:var(--green);color:#fff;border-radius:999px;padding:14px 22px;font-weight:700;display:inline-flex;align-items:center;gap:9px;transition:.3s}.book-btn:hover,.primary-btn:hover{background:#063f25;transform:translateY(-2px);box-shadow:0 12px 25px #075d3230}.nav-toggle{display:none;border:0;background:none;font-size:27px}
.contact-hero{height:390px;position:relative;overflow:hidden;color:#fff}.hero-image{position:absolute;inset:0;background:url("https://images.unsplash.com/photo-1464822759023-fed622ff2c3b?auto=format&fit=crop&w=2200&q=88") center/cover;animation:heroZoom 15s ease-in-out infinite alternate}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,#00372bd9,#064b3792 45%,#001c1730),linear-gradient(0deg,#00261c55,#0000 55%)}.hero-content{height:100%;position:relative;display:flex;align-items:center;justify-content:space-between}.script{font:500 31px var(--script);margin:0 0 -7px}.hero-content h1{font:700 clamp(52px,5.3vw,76px)/.83 var(--serif);letter-spacing:-2px;margin:0 0 23px}.hero-content p:not(.script){font-size:15px;line-height:1.55}.hero-badge{margin-right:8%;width:145px;height:145px;border:1px solid #ffffff75;border-radius:50%;background:#ffffff18;backdrop-filter:blur(5px);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;animation:float 4s ease-in-out infinite}.hero-badge i{font-size:30px;margin-bottom:7px}.hero-badge span{font:500 19px var(--script)}.hero-badge b{font-size:23px}.hero-bottom{position:absolute;bottom:15px;left:50%;transform:translateX(-50%);font-size:10px;opacity:.85}.hero-bottom span{display:inline-block;width:7px;height:7px;background:#fff;border-radius:50%;margin-right:7px}
.contact-main{padding:65px 0 75px}.intro{max-width:650px;text-align:center;margin:0 auto 42px}.eyebrow{font-size:10px;letter-spacing:1.2px;font-weight:700;color:#4d685d;margin:0 0 8px}.eyebrow span{display:inline-block;width:38px;height:1px;background:#70887d;vertical-align:middle;margin-left:8px}.intro h2{font:700 44px/.88 var(--serif);margin:0 0 15px}.intro>p:last-child{font-size:16px;color:var(--muted);line-height:1.55;margin:0}
.contact-grid{display:grid;grid-template-columns:1fr 1.25fr;gap:55px;align-items:start}.info-column{display:grid;gap:13px}.info-card{display:grid;grid-template-columns:57px 1fr;gap:15px;padding:19px;border:1px solid var(--line);border-radius:10px;background:#fff;transition:.4s}.info-card:hover{transform:translateY(-4px);box-shadow:0 15px 30px #184c3514}.icon{width:52px;height:52px;border-radius:50%;background:#e7f3e7;color:var(--green);display:grid;place-items:center;font-size:21px}.info-card small{font-size:14px;letter-spacing:1px;font-weight:700;color:#738179}.info-card h3{font:700 24px var(--serif);margin:2px 0 2px}.info-card p{font-size:16px;color:#68766f;line-height:1.4;margin:3px 0 7px}.mini-note{display:flex;gap:12px;align-items:center;background:#edf6e9;border-radius:9px;padding:15px 18px;color:#315543}.mini-note>i{font-size:21px;color:var(--green)}.mini-note b,.mini-note span{display:block;font-size:20px}.mini-note span{font-size:16px;margin-top:3px;color:#607168}
.form-wrap{background:#fff;border:1px solid var(--line);border-radius:12px;padding:29px 32px;box-shadow:0 18px 45px #17482d0b}.form-head h2{font:700 38px/.9 var(--serif);margin:0 0 8px}.form-head>p:last-child{font-size:16px;color:var(--muted);margin:0 0 22px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}label{display:block;font-size:16px;font-weight:700;color:#34483f;margin-bottom:14px}input,select,textarea{display:block;width:100%;margin-top:7px;border:1px solid #dce6dc;border-radius:6px;background:#fbfdf9;color:#1d3028;padding:12px 13px;font-size:16px;outline:0;transition:.25s}input:focus,select:focus,textarea:focus{border-color:#5c9473;box-shadow:0 0 0 3px #075d3210;background:#fff}textarea{resize:vertical;min-height:105px}.submit-btn{border:0;background:var(--green);color:#fff;border-radius:999px;padding:13px 23px;font-weight:700;font-size:16px;cursor:pointer; width: 100%;transition:.3s}.submit-btn:hover{background:#063f25;transform:translateY(-2px)}.form-status{font-size:10px;margin:10px 0 0;color:var(--green);min-height:15px}
.map-section{position:relative;min-height:390px;color:#fff;overflow:hidden}.map-photo{position:absolute;inset:0;background:url("https://images.unsplash.com/photo-1500534623283-312aade485b7?auto=format&fit=crop&w=2200&q=78") center/cover}.map-overlay{position:absolute;inset:0;background:linear-gradient(90deg,#00382eea,#003b30c8 50%,#003b3090)}.map-content{position:relative;min-height:390px;display:grid;grid-template-columns:330px 1fr;gap:55px;align-items:center}.eyebrow.light{color:#dceae2}.map-copy h2{font:700 49px/.88 var(--serif);margin:0 0 16px}.map-copy>p:not(.eyebrow){font-size:16px;line-height:1.55;color:#d7e5df;margin:0 0 22px}.map-card{height:260px;border-radius:12px;background:#dcebd3;position:relative;overflow:hidden;box-shadow:0 15px 40px #001c1435}.map-pattern{position:absolute;inset:0;background:linear-gradient(25deg,transparent 46%,#fff 47%,#fff 49%,transparent 50%),linear-gradient(145deg,transparent 44%,#fff 45%,#fff 47%,transparent 48%),radial-gradient(#b7d0ad 1px,transparent 1px);background-size:auto,auto,18px 18px;opacity:.75}.map-road{position:absolute;height:8px;background:#fff;border-radius:99px;box-shadow:0 0 0 2px #c8dac0}.road-a{width:80%;left:8%;top:55%;transform:rotate(-17deg)}.road-b{width:70%;left:20%;top:32%;transform:rotate(23deg)}.road-c{width:50%;left:27%;top:74%;transform:rotate(12deg)}.map-label{position:absolute;background:#fff;color:#274236;border-radius:20px;padding:7px 11px;font-size:10px;font-weight:700;box-shadow:0 5px 15px #173f2b20}.l1{left:8%;top:15%}.l2{right:12%;top:16%}.l3{left:48%;top:9%}.map-pin{position:absolute;left:53%;top:57%;display:flex;align-items:center;gap:7px;color:#fff;font-size:10px;font-weight:700;background:#e76637;padding:7px 11px;border-radius:22px}.map-pin i{font-size:18px}.map-pin b{font-size:10px}
.cta-strip{background:#edf7e7;padding:29px 0}.cta-inner{display:grid;grid-template-columns:1fr 2fr auto;align-items:center;gap:30px}.cta-script{font:500 30px/1 var(--script);text-align:center;transform:rotate(-4deg);color:#123a2d}.cta-script span{margin-left:25px}.cta-strip h2{font:700 31px/.95 var(--serif);margin:0 0 6px}


.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}.reveal.show{opacity:1;transform:none}@keyframes heroZoom{from{transform:scale(1.03)}to{transform:scale(1.1)}}@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@media(max-width:1000px){.container{width:min(100% - 40px,900px)}.main-nav{gap:16px}.contact-grid{grid-template-columns:1fr}.map-content{grid-template-columns:1fr;gap:25px;padding:45px 0}.map-copy{max-width:560px}.footer-grid{grid-template-columns:1fr 1fr}.hero-badge{display:none}}
@media(max-width:760px){.site-header{height:68px;padding:0 20px}.brand-mark{width:45px;height:45px}.brand-copy strong{font-size:23px}.brand-copy strong span{font-size:19px}.brand-copy small{font-size:7px}.nav-toggle{display:block}.main-nav{position:absolute;display:none;top:68px;left:0;right:0;background:#fff;padding:14px 20px 20px;flex-direction:column;align-items:stretch;gap:0;box-shadow:0 10px 25px #0001}.main-nav.open{display:flex}.main-nav>a:not(.book-btn){padding:12px 4px}.book-btn{justify-content:center;margin-top:8px}.contact-hero{height:480px}.hero-content h1{font-size:55px}.hero-content p:not(.script){font-size:13px}.desktop{display:none}.contact-main{padding:45px 0 55px}.intro h2{font-size:39px}.contact-grid{gap:28px}.field-row{grid-template-columns:1fr;gap:0}.form-wrap{padding:23px 18px}.form-head h2{font-size:34px}.map-section,.map-content{min-height:auto}.map-content{padding:55px 0}.map-card{height:230px}.cta-inner{grid-template-columns:1fr;text-align:center;gap:15px}.cta-strip .primary-btn{justify-self:center}.footer-grid{grid-template-columns:1fr}.footer-sign{text-align:left}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal,.hero-image,.hero-badge{animation:none;transition:none}.reveal{opacity:1;transform:none}}



/* =========================================================
   PRANAVEE — RESPONSIVE HEADER + FOOTER FINAL FIX
   Shared Index/Contact Bootstrap header + shared footer
   ========================================================= */

/* ---------- HEADER: DESKTOP ---------- */
.reference-layout .site-nav{
  height:100px;
  min-height:100px;
  padding:0;
  background:#fff;
  z-index:1050;
  box-shadow:0 2px 12px rgba(0,0,0,.06);
}

.reference-layout .nav-inner{
  width:min(1280px,calc(100% - 64px));
  max-width:1280px;
  height:100%;
  margin:0 auto;
  display:flex;
  align-items:center;
}

.reference-layout .logo-wrap{
  height:72px;
  padding:0;
  margin:0;
  display:flex;
  align-items:center;
  flex-shrink:0;
}

.reference-layout .logo-wrap img{
  width:250px;
  max-width:250px;
  height:auto;
  max-height:72px;
  object-fit:contain;
  object-position:left center;
}

.reference-layout .navbar-collapse{
  align-items:center;
}

.reference-layout .navbar-nav{
  align-items:center;
}

.reference-layout .nav-link{
  position:relative;
  color:#17201c !important;
  font-size:15px;
  font-weight:600;
  line-height:1.2;
  padding:10px 11px !important;
  white-space:nowrap;
}

.reference-layout .nav-link::after{
  content:"";
  position:absolute;
  left:11px;
  right:11px;
  bottom:2px;
  width:auto;
  height:2px;
  background:var(--green);
  transform:scaleX(0);
  transform-origin:center;
  transition:transform .25s ease;
}

.reference-layout .nav-link:hover::after,
.reference-layout .nav-link.active::after{
  transform:scaleX(1);
}

.reference-layout .nav-book{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:auto;
  min-width:130px;
  padding:11px 18px !important;
  border-radius:999px;
  white-space:nowrap;
}

.reference-layout .navbar-toggler{
  padding:6px 4px;
  margin-left:auto;
  color:var(--green);
  background:transparent;
}

/* ---------- HEADER: TABLET ---------- */
@media (max-width:1099.98px){
  .reference-layout .site-nav{
    height:82px;
    min-height:82px;
  }

  .reference-layout .nav-inner{
    width:min(100% - 40px,1100px);
  }

  .reference-layout .logo-wrap{
    height:64px;
  }

  .reference-layout .logo-wrap img{
    width:220px;
    max-width:220px;
    max-height:60px;
  }

  .reference-layout .nav-link{
    font-size:13px;
    padding:9px 7px !important;
  }

  .reference-layout .nav-link::after{
    left:7px;
    right:7px;
  }

  .reference-layout .nav-book{
    min-width:112px;
    padding:9px 13px !important;
    font-size:12px;
  }
}

/* ---------- HEADER: MOBILE ---------- */
@media (max-width:991.98px){
  .reference-layout .site-nav{
    height:72px;
    min-height:72px;
  }

  .reference-layout .nav-inner{
    width:100%;
    max-width:none;
    padding-left:18px;
    padding-right:18px;
  }

  .reference-layout .logo-wrap{
    height:64px;
  }

  .reference-layout .logo-wrap img{
    width:205px;
    max-width:205px;
    height:auto;
    max-height:58px;
  }

  .reference-layout .navbar-toggler{
    display:block;
    border:0 !important;
    outline:0 !important;
    box-shadow:none !important;
    font-size:1.6rem;
  }

  .reference-layout .navbar-collapse{
    position:absolute;
    top:72px;
    left:0;
    right:0;
    width:100%;
    background:rgba(255,255,255,.99);
    padding:8px 18px 18px;
    border-radius:0 0 18px 18px;
    box-shadow:0 18px 35px rgba(0,0,0,.10);
  }

  .reference-layout .navbar-nav{
    width:100%;
    align-items:stretch !important;
    gap:0 !important;
  }

  .reference-layout .nav-item{
    width:100%;
  }

  .reference-layout .nav-link{
    display:block;
    width:100%;
    padding:12px 7px !important;
    font-size:14px;
    border-bottom:1px solid rgba(7,95,44,.08);
  }

  .reference-layout .nav-link::after{
    display:none;
  }

  .reference-layout .nav-book{
    width:100%;
    margin-top:8px !important;
    padding:12px 18px !important;
  }

  /* Fixed header offset for page content */
  .reference-layout .hero{
    margin-top:72px;
  }
}

/* ---------- HEADER: SMALL MOBILE ---------- */
@media (max-width:575.98px){
  .reference-layout .nav-inner{
    padding-left:14px;
    padding-right:14px;
  }

  .reference-layout .logo-wrap img{
    width:190px;
    max-width:190px;
    max-height:55px;
  }

  .reference-layout .navbar-collapse{
    top:72px;
    padding-left:14px;
    padding-right:14px;
  }
}



/* ---------- FOOTER: TABLET ---------- */
@media (max-width:991.98px){
  .reference-layout .footer{
    padding:42px 0 15px;
  }

  .reference-layout .footer .container{
    width:min(100% - 40px,900px);
  }

  .reference-layout .footer-logo{
    width:240px;
  }

  .reference-layout .footer-tagline{
    text-align:left;
    margin-top:4px;
  }

  
  
}

/* ---------- FOOTER: MOBILE ---------- */
@media (max-width:767.98px){
  .reference-layout .footer{
    padding:38px 0 15px;
  }

  .reference-layout .footer .container{
    width:calc(100% - 32px);
  }

  .reference-layout .footer .row{
    row-gap:28px !important;
  }

  .reference-layout .footer-logo{
    width:230px;
    max-width:100%;
  }

  .reference-layout .footer h4{
    font-size:13px;
    margin-bottom:12px;
  }

  .reference-layout .footer-links{
    gap:8px 14px;
  }

  .reference-layout .footer-links a,
  .reference-layout .footer-contact a,
  .reference-layout .footer-contact span{
    font-size:12px;
  }

  .reference-layout .footer-tagline{
    font-size:25px;
    text-align:left;
  }

  .reference-layout .footer-bottom{
    margin-top:25px;
    padding-top:12px;
    font-size:10px;
  }
}





/* =========================================================
   PRANAVEE HOMESTAY — MASTER RESPONSIVE SYSTEM
   Applies to ALL pages using this stylesheet.
   Breakpoints: desktop / tablet / mobile / small mobile.
   ========================================================= */

/* ---------- GLOBAL RESPONSIVE FOUNDATION ---------- */
html,
body{
  width:100%;
  max-width:100%;
  overflow-x:hidden;
}

img,
svg,
video,
iframe{
  max-width:100%;
}

.container{
  width:min(1280px,calc(100% - 96px));
  margin-left:auto;
  margin-right:auto;
}

.row{
  --bs-gutter-x:1.5rem;
}

/* Keep the requested desktop typography, but prevent oversized
   headings on smaller screens. */
@media (min-width:992px){
  h1,
  .hero h1,
  .about-hero h1,
  .reference-layout .hero h1{
    font-size:74px;
  }

  h2,
  .location-panel h2,
  .booking-panel h2,
  .experience-band h2,
  .gallery-section h2,
  .about-story h2,
  .values-section h2,
  .gallery-copy h2,
  .amenities-heading h2{
    font-size:44px;
  }

 

  .eyebrow,
  .amenities-heading .eyebrow{
    font-size:20px;
  }



/* ---------- SHARED BOOTSTRAP HEADER ---------- */
.reference-layout .site-nav{
  height:100px;
  min-height:100px;
  padding:0;
  background:#fff;
  z-index:1050;
  box-shadow:0 2px 12px rgba(0,0,0,.06);
}

.reference-layout .nav-inner{
  width:min(1280px,calc(100% - 64px));
  max-width:1280px;
  height:100%;
  margin:0 auto;
  display:flex;
  align-items:center;
}

.reference-layout .logo-wrap{
  height:72px;
  padding:0;
  margin:0;
  display:flex;
  align-items:center;
  flex-shrink:0;
}

.reference-layout .logo-wrap img{
  width:250px;
  max-width:250px;
  height:auto;
  max-height:72px;
  object-fit:contain;
  object-position:left center;
}

.reference-layout .navbar-collapse{
  align-items:center;
}

.reference-layout .navbar-nav{
  align-items:center;
}

.reference-layout .nav-link{
  position:relative;
  color:#17201c !important;
  font-size:15px;
  font-weight:600;
  line-height:1.2;
  padding:10px 11px !important;
  white-space:nowrap;
}

.reference-layout .nav-link::after{
  content:"";
  position:absolute;
  left:11px;
  right:11px;
  bottom:2px;
  width:auto;
  height:2px;
  background:var(--green);
  transform:scaleX(0);
  transform-origin:center;
  transition:transform .25s ease;
}

.reference-layout .nav-link:hover::after,
.reference-layout .nav-link.active::after{
  transform:scaleX(1);
}

.reference-layout .nav-book{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:auto;
  min-width:130px;
  padding:11px 18px !important;
  border-radius:999px;
  white-space:nowrap;
}

.reference-layout .navbar-toggler{
  color:var(--green);
  background:transparent;
  padding:6px 4px;
  margin-left:auto;
}


}


/* =========================================================
   PRANAVEE HOMESTAY — GALLERY PAGE
   Visual language follows the supplied mockup.
   ========================================================= */
.gallery-page{background:#fbfcfa;color:#15251e}
.gallery-page .site-nav{background:rgba(255,255,255,.97);box-shadow:0 3px 24px rgba(0,0,0,.05)}

/* HERO */
.gallery-hero{position:relative;height:560px;min-height:560px;overflow:hidden;color:#fff;isolation:isolate}
.hero-slides,.hero-slide,.hero-slide img{position:absolute;inset:0;width:100%;height:100%}
.hero-slide{opacity:0;visibility:hidden;transform:scale(1.03);transition:opacity .75s ease,visibility .75s ease,transform 6s ease}
.hero-slide.active{opacity:1;visibility:visible;transform:scale(1.08)}
.hero-slide img{object-fit:cover;object-position:center}
.hero-overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(0,22,13,.82),rgba(0,30,18,.48) 45%,rgba(0,18,10,.12)),linear-gradient(0deg,rgba(0,20,12,.55),transparent 50%)}
.hero-inner{position:relative;z-index:3;height:100%;display:flex;align-items:center}
.hero-copy{max-width:610px;margin-top:35px}
.script-title{font-family:'Nothing You Could Do',cursive;font-size:32px;margin:30px 0 -4px;color:#fff}
.hero-copy h1{font-family:var(--serif,'Cormorant Garamond',serif);font-size:clamp(56px,6vw,86px);line-height:.86;letter-spacing:-2px;margin:0 0 22px;color:#fff;font-weight:700}
.hero-copy h1 span{color:#f4f5ef}
.hero-copy>p:not(.script-title){max-width:560px;color:rgba(255,255,255,.88);font-size:15px;line-height:1.55;margin:0 0 25px}
.hero-btn{border-radius:999px;background:#08723c;color:#fff;border:1px solid rgba(255,255,255,.4);padding:11px 21px;font-weight:700;box-shadow:0 8px 22px rgba(0,0,0,.12)}
.hero-btn:hover{background:#fff;color:#075f2c}
.hero-arrow{position:absolute;top:50%;z-index:5;width:50px;height:50px;border:1px solid rgba(255,255,255,.7);border-radius:50%;background:rgba(0,0,0,.12);backdrop-filter:blur(7px);color:#fff;display:grid;place-items:center;cursor:pointer;transform:translateY(-50%);transition:.3s}
.hero-arrow:hover{background:#fff;color:#075f2c;transform:translateY(-50%) scale(1.08)}
.hero-prev{left:24px}.hero-next{right:24px}
.hero-dots{position:absolute;left:50%;bottom:22px;z-index:5;display:flex;gap:8px;transform:translateX(-50%)}
.hero-dot{width:9px;height:9px;border:1px solid rgba(255,255,255,.9);border-radius:50%;padding:0;background:transparent;cursor:pointer;transition:.3s}
.hero-dot.active{background:#fff;box-shadow:0 0 0 3px rgba(154,203,37,.25);transform:scale(1.12)}

/* PHOTO SECTION */
.photo-section{background:#fbfcfa}
.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:28px}
.eyebrow{font-size:11px;font-weight:700;letter-spacing:1.4px;color:#07602e;display:flex;align-items:center;gap:10px;margin-bottom:5px}
.eyebrow span{display:inline-block;width:27px;height:1px;background:#07602e}
.section-head h2{font-family:var(--serif,'Cormorant Garamond',serif);font-size:clamp(42px,4vw,62px);line-height:.9;letter-spacing:-1px;margin:0 0 10px;color:#10271e}
.section-head p{max-width:570px;margin:0;color:#59635d;font-size:13px;line-height:1.5}
.gallery-tabs{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.gallery-tab{border:0;background:#edf5e9;color:#193126;border-radius:999px;padding:9px 21px;font-size:11px;font-weight:700;cursor:pointer;transition:.3s}
.gallery-tab:hover,.gallery-tab.active{background:#08723c;color:#fff;transform:translateY(-2px)}

.gallery-card{position:relative;display:block;overflow:hidden;padding:0;border:0;border-radius:7px;background:#ddd;cursor:pointer;min-width:0}
.gallery-card.card-wide{grid-column:span 2}.gallery-card.card-tall{grid-row:span 2}
.gallery-card img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.gallery-card:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(0,25,15,.72));opacity:.55;transition:.35s}
.gallery-card:hover img{transform:scale(1.07)}.gallery-card:hover:after{opacity:1}
.card-caption{position:absolute;left:16px;right:16px;bottom:13px;z-index:2;display:flex;align-items:center;justify-content:space-between;color:#fff;font-size:11px;font-weight:700;opacity:0;transform:translateY(8px);transition:.35s}
.gallery-card:hover .card-caption{opacity:1;transform:none}.card-caption i{width:29px;height:29px;border:1px solid rgba(255,255,255,.6);border-radius:50%;display:grid;place-items:center}
.gallery-card.is-hidden{display:none}

/* IMAGE LIGHTBOX */
.image-lightbox{position:fixed;inset:0;z-index:3000;background:rgba(0,15,10,.94);display:flex;align-items:center;justify-content:center;padding:45px;opacity:0;visibility:hidden;transition:.3s}
.image-lightbox.open{opacity:1;visibility:visible}
.image-lightbox figure{margin:0;max-width:min(1120px,88vw);max-height:88vh;text-align:center}
.image-lightbox img{display:block;max-width:100%;max-height:78vh;border-radius:10px;box-shadow:0 25px 80px rgba(0,0,0,.5)}
.image-lightbox figcaption{margin-top:11px;color:#fff;font-size:13px}
.lightbox-close,.lightbox-prev,.lightbox-next{position:absolute;width:45px;height:45px;border:1px solid rgba(255,255,255,.3);border-radius:50%;background:rgba(255,255,255,.08);color:#fff;display:grid;place-items:center;cursor:pointer;transition:.3s}
.lightbox-close{right:22px;top:20px}.lightbox-prev{left:22px;top:50%;transform:translateY(-50%)}.lightbox-next{right:22px;top:50%;transform:translateY(-50%)}
.lightbox-close:hover,.lightbox-prev:hover,.lightbox-next:hover{background:#fff;color:#075f2c}.lightbox-counter{position:absolute;left:50%;bottom:20px;transform:translateX(-50%);color:rgba(255,255,255,.75);font-size:11px}

/* VIDEO */
.video-section{background:linear-gradient(115deg,#00351f,#075f2c);color:#fff;position:relative;overflow:hidden}
.video-section:before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 10% 80%,rgba(123,171,53,.15),transparent 35%);pointer-events:none}
.video-section .container{position:relative;z-index:1}.eyebrow.light{color:#b8d66b}.eyebrow.light span{background:#b8d66b}
.video-heading h2{font-family:var(--serif,'Cormorant Garamond',serif);font-size:clamp(48px,4.8vw,70px);line-height:.88;color:#fff;margin:0 0 12px}.video-heading p{max-width:600px;color:rgba(255,255,255,.72);font-size:16px;line-height:1.5}
.video-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:28px}
.video-card{position:relative;height:330px;overflow:hidden;border:1px solid rgba(255,255,255,.45);border-radius:8px;background:#082d20}
.video-thumb,.video-thumb img{position:absolute;inset:0;width:100%;height:100%}.video-thumb img{object-fit:cover;transition:transform .7s}.video-card:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.04),rgba(0,20,13,.86))}.video-card:hover .video-thumb img{transform:scale(1.06)}
.video-play{position:absolute;left:50%;top:48%;z-index:3;width:65px;height:65px;border:2px solid #fff;border-radius:50%;background:#0a7840;color:#fff;display:grid;place-items:center;font-size:30px;padding-left:4px;cursor:pointer;transform:translate(-50%,-50%);transition:.3s;box-shadow:0 8px 25px rgba(0,0,0,.2)}
.video-play:hover{background:#fff;color:#08723c;transform:translate(-50%,-50%) scale(1.1)}
.video-meta{position:absolute;z-index:4;left:25px;right:25px;bottom:20px}.video-meta span{font-size:9px;letter-spacing:1.7px;color:#c6df83;font-weight:700}.video-meta h3{font-family:var(--serif,'Cormorant Garamond',serif);font-size:30px;line-height:1;margin:6px 0;color:#fff}.video-meta p{font-size:11px;color:rgba(255,255,255,.72);margin:0}
.youtube-lightbox{position:fixed;inset:0;z-index:3100;background:rgba(0,12,8,.95);display:flex;align-items:center;justify-content:center;padding:25px;opacity:0;visibility:hidden;transition:.3s}.youtube-lightbox.open{opacity:1;visibility:visible}.youtube-frame-wrap{width:min(1100px,94vw);aspect-ratio:16/9;background:#000;border-radius:12px;overflow:hidden;box-shadow:0 25px 90px rgba(0,0,0,.55)}.youtube-frame-wrap iframe{width:100%;height:100%;border:0}.youtube-close{position:absolute;right:22px;top:20px;width:45px;height:45px;border:1px solid rgba(255,255,255,.35);border-radius:50%;background:rgba(255,255,255,.08);color:#fff;display:grid;place-items:center;cursor:pointer}.youtube-close:hover{background:#fff;color:#075f2c}

/* CTA + FOOTER */
.gallery-cta{background:#f3f8ee;padding-top:35px!important;padding-bottom:35px!important}.cta-panel{min-height:150px;border-radius:20px;padding:30px 42px;background:linear-gradient(100deg,#eef8e8,#dcefd3);display:grid;grid-template-columns:1fr 1.7fr auto;align-items:center;gap:35px;overflow:hidden;position:relative}.cta-panel:after{content:'';position:absolute;right:-100px;bottom:-150px;width:360px;height:360px;border-radius:50%;border:1px solid rgba(7,95,44,.1)}.cta-script{font-family:'Nothing You Could Do',cursive;font-size:28px;line-height:1.15;color:#174d32}.cta-panel h2{font-family:var(--serif,'Cormorant Garamond',serif);font-size:39px;line-height:.9;margin:0;color:#11281e}.cta-panel p{font-size:16px;color:#5b655f;margin:8px 0 0}.cta-panel .btn{position:relative;z-index:2;border-radius:999px;background:#08723c;color:#fff;padding:11px 21px;font-weight:700;white-space:nowrap}.cta-panel .btn:hover{background:#00351f}


/* ANIMATION */
.gallery-card,.video-card,.cta-panel{animation:galleryRise .7s ease both}.gallery-card:nth-child(2){animation-delay:.05s}.gallery-card:nth-child(3){animation-delay:.1s}.gallery-card:nth-child(4){animation-delay:.15s}.gallery-card:nth-child(5){animation-delay:.2s}.gallery-card:nth-child(6){animation-delay:.25s}
@keyframes galleryRise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.hero-slide,.gallery-card img,.video-thumb img{transition:none}.gallery-card,.video-card,.cta-panel{animation:none}}

/* RESPONSIVE */
@media(max-width:991.98px){.gallery-hero{height:560px}.section-head{display:block}.gallery-tabs{justify-content:flex-start;margin-top:22px}.gallery-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:230px}.gallery-card.card-wide{grid-column:span 2}.video-grid{grid-template-columns:1fr}.cta-panel{grid-template-columns:1fr 1.6fr auto}.footer-grid{grid-template-columns:1fr 1fr}.footer-tagline{text-align:left}}
@media(max-width:767.98px){.gallery-hero{height:650px;min-height:650px}.hero-inner{align-items:center}.hero-copy{margin-top:55px;padding:0 20px}.hero-copy h1{font-size:55px;letter-spacing:-1px}.hero-copy>p:not(.script-title){font-size:14px}.hero-arrow{width:42px;height:42px}.hero-prev{left:10px}.hero-next{right:10px}.hero-dots{bottom:18px}.section-head h2{font-size:45px}.gallery-grid{grid-template-columns:1fr 1fr;grid-auto-rows:180px;gap:8px}.gallery-card.card-wide{grid-column:span 2}.gallery-card.card-tall{grid-row:span 2}.card-caption{opacity:1;transform:none;left:10px;right:10px;bottom:9px;font-size:9px}.card-caption i{width:25px;height:25px}.video-card{height:350px}.cta-panel{grid-template-columns:1fr;padding:28px 24px;gap:18px}.cta-script{font-size:24px}.cta-panel h2{font-size:36px}.footer-grid{grid-template-columns:1fr;gap:25px}.footer-tagline{text-align:left}.lightbox-next{right:8px}.lightbox-close{right:10px;top:10px}}
@media(max-width:420px){.gallery-hero{height:620px;min-height:620px}.hero-copy h1{font-size:49px}.gallery-grid{grid-auto-rows:155px}.video-card{height:320px}.video-meta h3{font-size:26px}}

/* =========================================================
   TABLET — 768px to 991px
   ========================================================= */
@media (min-width:768px) and (max-width:991.98px){

  .container{
    width:min(100% - 48px,920px);
  }

  /* Typography */
  h1,
  .hero h1,
  .about-hero h1,
  .reference-layout .hero h1{
    font-size:62px !important;
    line-height:.92;
  }

  h2,
  .location-panel h2,
  .booking-panel h2,
  .experience-band h2,
  .gallery-section h2,
  .about-story h2,
  .values-section h2,
  .gallery-copy h2,
  .amenities-heading h2{
    font-size:46px !important;
  }

  h3,
  .room-card h3,
  .nearby-card h3,
  .value-card h3,
  .amenity-item h3{
    font-size:22px !important;
  }

  .eyebrow,
  .amenities-heading .eyebrow{
    font-size:15px !important;
  }


  /* Header */
  .reference-layout .site-nav{
    height:82px;
    min-height:82px;
  }

  .reference-layout .nav-inner{
    width:min(100% - 40px,920px);
  }

  .reference-layout .logo-wrap{
    height:64px;
  }

  .reference-layout .logo-wrap img{
    width:215px;
    max-width:215px;
    max-height:60px;
  }

  .reference-layout .nav-link{
    font-size:12px;
    padding:8px 6px !important;
  }

  .reference-layout .nav-link::after{
    left:6px;
    right:6px;
  }

  .reference-layout .nav-book{
    min-width:105px;
    padding:9px 12px !important;
    font-size:11px;
  }

  /* Home hero */
  .reference-layout .hero{
    margin-top:82px;
    min-height:520px;
    height:auto;
    max-height:none;
  }

  .reference-layout .hero-content{
    padding-top:85px;
    padding-bottom:85px;
  }

  .reference-layout .hero h1{
    font-size:62px !important;
  }

  .reference-layout .hero-copy{
    max-width:520px;
  }

  .reference-layout .hero-note{
    font-size:25px;
    margin-left:10%;
  }

  /* Home info card */
  .reference-layout .info-card{
    grid-template-columns:repeat(2,1fr);
    gap:0;
  }

  .reference-layout .info-item{
    min-width:0;
    padding:12px 15px;
  }

  .reference-layout .info-item:nth-child(2){
    border-right:0;
  }

  .reference-layout .info-divider{
    display:none;
  }

  /* About */
  .about-hero{
    margin-top:82px;
    min-height:520px;
  }

  .about-hero .container{
    padding-top:75px;
    padding-bottom:60px;
  }

  .story-image-wrap{
    height:430px;
  }

  .experience-grid{
    gap:1px;
  }

  .experience-card{
    min-height:150px;
  }

  .about-gallery-grid{
    grid-template-columns:1fr 1fr;
  }

  .gallery-tile,
  .gallery-copy{
    min-height:320px;
  }

  .gallery-copy{
    grid-column:1/-1;
    order:3;
  }

  .location-panel{
    padding:45px 38px;
  }

  /* Rooms */
  .room-hero{
    height:520px;
  }

  .booking-fields{
    grid-template-columns:1fr 1fr;
  }

  .booking-check{
    width:100%;
  }

  .booking-layout{
    grid-template-columns:1fr;
  }

  .booking-summary{
    position:relative;
    top:auto;
  }

  .rooms-list{
    padding-top:65px;
  }

  .room-image-wrap{
    height:270px;
  }

  /* Nearby */
  .nearby-hero{
    height:500px;
  }

  .place-grid{
    grid-template-columns:repeat(2,1fr);
  }

  .category-grid{
    grid-template-columns:repeat(4,1fr);
  }

  .map-layout{
    grid-template-columns:1fr;
  }

  .map-copy{
    max-width:600px;
  }

  .cta-inner{
    grid-template-columns:1fr 1fr;
  }

  /* Contact */
  .contact-hero{
    margin-top:82px;
    height:430px;
  }

  .contact-grid{
    grid-template-columns:1fr;
    gap:35px;
  }

  .map-content{
    grid-template-columns:1fr;
    gap:30px;
    padding:50px 0;
  }

  .cta-inner{
    grid-template-columns:1fr 1.5fr auto;
  }

  
}
.section-pad-gallery{
    padding:58px 0;
    margin-top: 0px;
  }
/* =========================================================
   MOBILE — <=767px
   ========================================================= */
@media (max-width:767.98px){

  .container{
    width:calc(100% - 32px);
    max-width:none;
  }

  .section-pad{
    padding:58px 0;
  }
.section-pad-gallery{
    padding:58px 0;
    margin-top: 504px;
  }

  /* Typography */
  h1,
  .hero h1,
  .about-hero h1,
  .reference-layout .hero h1{
    font-size:52px !important;
    line-height:.94;
    letter-spacing:-1px;
  }

  h2,
  .location-panel h2,
  .booking-panel h2,
  .experience-band h2,
  .gallery-section h2,
  .about-story h2,
  .values-section h2,
  .gallery-copy h2,
  .amenities-heading h2{
    font-size:40px !important;
    line-height:.95;
    letter-spacing:-.7px;
  }

  h3,
  .room-card h3,
  .nearby-card h3,
  .value-card h3,
  .amenity-item h3{
    font-size:21px !important;
    line-height:1.1;
  }

  .eyebrow,
  .amenities-heading .eyebrow{
    font-size:12px !important;
    letter-spacing:1px;
  }

 

  /* ---------- HEADER ---------- */
  .reference-layout .site-nav{
    height:72px;
    min-height:72px;
  }

  .reference-layout .nav-inner{
    width:100%;
    max-width:none;
    padding-left:14px;
    padding-right:14px;
  }

  .reference-layout .logo-wrap{
    height:64px;
  }

  .reference-layout .logo-wrap img{
    width:190px;
    max-width:190px;
    max-height:56px;
  }

  .reference-layout .navbar-toggler{
    display:block;
    padding:5px 2px;
    margin-left:auto;
    border:0 !important;
    outline:0 !important;
    box-shadow:none !important;
  }

  .reference-layout .navbar-collapse{
    position:absolute;
    top:72px;
    left:0;
    right:0;
    width:100%;
    background:rgba(255,255,255,.99);
    padding:8px 14px 18px;
    border-radius:0 0 18px 18px;
    box-shadow:0 18px 35px rgba(0,0,0,.10);
  }

  .reference-layout .navbar-nav{
    width:100%;
    align-items:stretch !important;
    gap:0 !important;
  }

  .reference-layout .nav-item{
    width:100%;
  }

  .reference-layout .nav-link{
    display:block;
    width:100%;
    padding:12px 7px !important;
    font-size:14px;
    border-bottom:1px solid rgba(7,95,44,.08);
  }

  .reference-layout .nav-link::after{
    display:none;
  }

  .reference-layout .nav-book{
    width:100%;
    min-width:0;
    margin-top:8px !important;
    padding:12px 18px !important;
  }

  /* ---------- HOME ---------- */
  .reference-layout .hero{
    margin-top:72px;
    min-height:620px;
    height:auto;
    max-height:none;
  }

  .reference-layout .hero-content{
    padding-top:100px;
    padding-bottom:90px;
  }

  .reference-layout .hero h1{
    font-size:52px !important;
  }

  .reference-layout .hero-subtitle{
    font-size:19px;
    gap:10px;
  }

  .reference-layout .title-line{
    width:35px;
  }

  .reference-layout .hero-copy{
    max-width:100%;
  }

  .reference-layout .hero-actions{
    flex-direction:column;
    align-items:flex-start;
    gap:12px;
  }

  .reference-layout .hero-actions .btn{
    width:auto;
    max-width:100%;
  }

  .reference-layout .hero-note{
    display:none;
  }

  .reference-layout .hero-scroll{
    display:none;
  }

  .reference-layout .quick-info{
    margin-top:-1px;
  }

  .reference-layout .info-card{
    grid-template-columns:1fr;
    padding:8px;
    border-radius:20px;
  }

  .reference-layout .info-item{
    padding:12px 8px;
    border-right:0;
    border-bottom:1px solid #e1e7e2;
  }

  .reference-layout .info-item:last-child{
    border-bottom:0;
  }

  /* Home gallery */
  .gallery-grid{
    grid-template-columns:repeat(2,1fr);
    height:390px;
  }

  .gallery-grid .gallery-item:last-child{
    display:none;
  }

  /* Amenities */
  .amenities-section{
    padding:30px 0;
  }

  .amenities-grid{
    grid-template-columns:repeat(2,1fr);
    row-gap:22px;
  }

  .amenity-item{
    padding:0 8px 8px;
    border-right:1px solid rgba(7,95,44,.12);
  }

  .amenity-item:nth-child(2n){
    border-right:0;
  }

  .amenity-icon{
    width:48px;
    height:48px;
  }

  .amenity-item h3{
    font-size:15px !important;
  }

  /* ---------- ABOUT ---------- */
  .about-hero{
    margin-top:72px;
    min-height:560px;
    height:auto;
  }

  .about-hero .container{
    padding-top:90px;
    padding-bottom:60px;
  }

  .about-hero .script-title{
    font-size:27px;
  }

  .about-hero h1{
    font-size:52px !important;
    margin-bottom:18px;
  }

  .about-hero-copy{
    max-width:100%;
  }

  .story-image-wrap{
    height:330px;
    border-radius:18px;
  }

  .story-stamp{
    width:100px;
    height:100px;
    left:16px;
    bottom:16px;
  }

  .story-stamp strong{
    font-size:17px;
  }

  .story-stamp strong:last-child{
    font-size:10px;
  }

  .experience-band{
    padding:55px 0;
  }

  .experience-grid{
    grid-template-columns:1fr 1fr;
  }

  .experience-card{
    min-height:135px;
    padding:18px 14px;
  }

  .experience-card i{
    font-size:42px;
    margin-bottom:10px;
  }

  .experience-card strong{
    font-size:22px;
  }

  .experience-card span{
    font-size:11px;
  }

  .values-section .row{
    row-gap:16px;
  }

  .value-card{
    padding:25px 20px;
  }

  .value-card i{
    width:46px;
    height:46px;
    font-size:40px;
  }

  .about-gallery-grid{
    grid-template-columns:1fr 1fr;
  }

  .gallery-tile,
  .gallery-copy{
    min-height:250px;
  }

  .gallery-copy{
    grid-column:1/-1;
    order:3;
    padding:35px 22px;
  }

  .location-panel{
    padding:35px 22px;
    border-radius:20px;
  }

  .location-panel h2{
    font-size:40px !important;
  }

  .location-details > div{
    gap:13px;
    font-size:15px;
  }

  .location-details i{
    width:50px;
    height:50px;
    min-width:50px;
    font-size:24px;
  }

  .location-details .btn{
    width:100%;
    min-width:0;
    height:55px;
    font-size:16px;
  }
.about-btn-brand {
  background: var(--green);
  color: #fff;
  border: 1px solid var(--green);
  font-weight: 700;
  border-radius: 999px;
  padding: 12px 22px;
  transition: .3s ease;
  box-shadow: 0 8px 22px rgba(0,60,34,.14);
  width: 100%;
}
  /* ---------- ROOMS ---------- */
  .room-hero{
    height:500px;
    margin-top:72px;
  }

  .room-hero-content{
    padding-top:90px;
    padding-bottom:45px;
  }

  .room-hero h1{
    font-size:52px !important;
  }

  .room-hero p:not(.script-title){
    font-size:14px !important;
  }

  .booking-strip{
    margin-top:-28px;
  }

  .booking-card{
    padding:18px 15px;
    border-radius:18px;
  }

  .booking-fields{
    grid-template-columns:1fr;
    gap:12px;
  }

  .booking-check{
    width:100%;
  }

  .rooms-list{
    padding-top:55px;
  }

  .room-image-wrap{
    height:230px;
  }

  .room-select{
    opacity:1;
    transform:none;
  }

  .booking-layout{
    grid-template-columns:1fr;
  }

  .booking-form-card{
    padding:22px 17px;
  }

  .booking-form-card h2{
    font-size:39px !important;
  }

  .booking-submit-row{
    align-items:stretch;
    flex-direction:column;
    gap:12px;
  }

  .booking-submit-row .btn{
    width:100%;
  }

  .perks-grid{
    grid-template-columns:1fr;
  }

  .perk{
    border-right:0;
    border-bottom:1px solid #e4ebe5;
    padding:12px 5px;
  }

  .perk:last-child{
    border-bottom:0;
  }

  /* ---------- NEARBY ---------- */
  .nearby-hero{
    height:470px;
    margin-top:72px;
  }

  .hero-copy h1{
    font-size:52px !important;
  }

  .hero-text{
    font-size:14px !important;
  }

  .desktop{
    display:none;
  }

  .category-grid{
    grid-template-columns:repeat(4,minmax(100px,1fr));
    overflow-x:auto;
    width:100%;
    margin:0;
    padding:0 4px 5px;
    scrollbar-width:thin;
  }

  .category{
    min-width:100px;
  }

  .section{
    padding:45px 0;
  }

  .section-head{
    align-items:flex-start;
    flex-direction:column;
    gap:10px;
  }

  .section-head h2{
    font-size:40px !important;
  }

  .place-grid{
    grid-template-columns:1fr;
  }

  

  .map-layout{
    grid-template-columns:1fr;
    gap:25px;
  }

  .map-visual{
    grid-template-columns:1fr;
  }

  .fake-map{
    height:270px;
  }

  .cta-inner{
    grid-template-columns:1fr;
    text-align:center;
    gap:16px;
  }

  .cta-strip .primary-btn{
    justify-self:center;
  }

  .map-copy h2{
    font-size:40px !important;
  }

  /* ---------- CONTACT ---------- */
  .contact-hero{
    margin-top:72px;
    height:480px;
  }

  .contact-hero .container{
    width:calc(100% - 32px);
  }

  .hero-content{
    padding-top:55px;
    padding-bottom:55px;
  }

  .hero-content h1{
    font-size:50px !important;
  }

  .hero-content p:not(.script){
    font-size:14px !important;
  }

  .hero-badge{
    display:none;
  }

  .hero-bottom{
    font-size:9px;
    white-space:nowrap;
  }

  .contact-main{
    padding:48px 0 58px;
  }

  .intro{
    margin-bottom:32px;
  }

  .intro h2{
    font-size:40px !important;
  }

  .contact-grid{
    grid-template-columns:1fr;
    gap:28px;
  }

  .info-card{
    grid-template-columns:50px 1fr;
    gap:12px;
    padding:16px;
  }

  .form-wrap{
    padding:22px 17px;
  }

  .form-head h2{
    font-size:36px !important;
  }

  .field-row{
    grid-template-columns:1fr;
    gap:0;
  }

  .submit-btn{
    width:100%;
  }

  .map-section{
    min-height:auto;
  }

  .map-content{
    min-height:auto;
    grid-template-columns:1fr;
    gap:25px;
    padding:50px 0;
  }

  .map-copy h2{
    font-size:40px !important;
  }

  .map-card{
    height:230px;
  }

  .cta-inner{
    grid-template-columns:1fr;
    text-align:center;
    gap:15px;
  }

  /* ---------- FOOTER ---------- */
  .reference-layout .footer{
    padding:38px 0 15px;
  }

  .reference-layout .footer .container{
    width:calc(100% - 32px);
  }

  .reference-layout .footer .row{
    row-gap:28px !important;
  }

  .reference-layout .footer-logo{
    width:225px;
  }

  .reference-layout .footer h4{
    font-size:13px !important;
    margin-bottom:12px;
  }

  .reference-layout .footer-links{
    gap:8px 13px;
  }

  .reference-layout .footer-links a,
  .reference-layout .footer-contact a,
  .reference-layout .footer-contact span{
    font-size:12px !important;
  }

  .reference-layout .footer-tagline{
    text-align:left;
    font-size:25px;
  }

  /* Tablet */
@media (max-width: 991px) {
  .gallery-grid1 {
    grid-template-columns: repeat(2, 1fr);
    height: auto;
  }
}

/* Mobile - 1 column */
@media (max-width: 576px) {
  .gallery-grid1 {
    grid-template-columns: 1fr;
    height: auto;
  }
}

}

/* =========================================================
   SMALL MOBILE — <=420px
   ========================================================= */
@media (max-width:420px){

  .container{
    width:calc(100% - 28px);
  }

  h1,
  .hero h1,
  .about-hero h1,
  .reference-layout .hero h1{
    font-size:47px !important;
  }

  h2,
  .location-panel h2,
  .booking-panel h2,
  .experience-band h2,
  .gallery-section h2,
  .about-story h2,
  .values-section h2,
  .gallery-copy h2,
  .amenities-heading h2{
    font-size:36px !important;
  }


  .eyebrow,
  .amenities-heading .eyebrow{
    font-size:11px !important;
  }

  

  .reference-layout .logo-wrap img{
    width:175px;
    max-width:175px;
  }

  .reference-layout .hero{
    min-height:600px;
  }

  .reference-layout .hero h1{
    font-size:47px !important;
  }

  .reference-layout .hero-subtitle{
    font-size:18px;
  }

  .about-hero{
    min-height:540px;
  }

  .about-hero h1{
    font-size:47px !important;
  }

  .experience-grid{
    grid-template-columns:1fr;
  }

  .about-gallery-grid{
    grid-template-columns:1fr;
  }

  .gallery-tile,
  .gallery-copy{
    min-height:280px;
  }

  .room-hero{
    height:470px;
  }

  .room-hero h1{
    font-size:47px !important;
  }

  .room-image-wrap{
    height:210px;
  }

  .nearby-hero{
    height:450px;
  }

  .hero-copy h1{
    font-size:47px !important;
  }

  .category{
    min-width:92px;
  }

  

  .contact-hero{
    height:450px;
  }

  .hero-content h1{
    font-size:47px !important;
  }

  .info-card{
    grid-template-columns:44px 1fr;
    padding:14px;
  }

  .form-wrap{
    padding:20px 15px;
  }

  
  
}

/* Prevent long URLs/emails from creating horizontal scroll. */
a,
span,
p,
h1,
h2,
h3,
h4,
label{
  overflow-wrap:anywhere;
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,
  *::before,
  *::after{
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.01ms !important;
    scroll-behavior:auto !important;
  }
}


/* =========================================================
   CONTACT PAGE — DESKTOP CARD LAYOUT FIX
   Scope: Contact page only. Other pages remain unchanged.
   ========================================================= */

@media (min-width: 768px){

  .contact-main .contact-grid{
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
    gap: 42px;
    align-items: start;
  }

  .contact-main .info-column{
    width: 100%;
    min-width: 0;
    display: grid;
    gap: 14px;
  }

  .contact-main .info-card{
    width: 100%;
    min-width: 0;
    display: flex !important;
    flex-direction: row;
    align-items: center;
    gap: 18px;
    box-sizing: border-box;
    padding: 20px 22px;
  }

  .contact-main .info-card .icon{
    flex: 0 0 52px;
    width: 52px;
    height: 52px;
    min-width: 52px;
    display: grid;
    place-items: center;
  }

  .contact-main .info-card > div:last-child{
    flex: 1 1 auto;
    min-width: 0;
    width: auto;
  }

}

/* Wider desktop: give the contact information a little more breathing room. */
@media (min-width: 1100px){
  .contact-main .contact-grid{
    grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
    gap: 55px;
  }

  .contact-main .info-card{
    padding: 21px 24px;
  }
}

/* Small desktop / tablet landscape */
@media (min-width: 768px) and (max-width: 1099.98px){
  .contact-main .info-card{
    padding: 17px 18px;
    gap: 15px;
  }

  .contact-main .info-card .icon{
    flex-basis: 48px;
    width: 48px;
    height: 48px;
    min-width: 48px;
  }

  
  

  .contact-main .info-card p{
    font-size: 13px;
  }
}

/* =========================================================
   PRANAVEE — DESKTOP HERO / HEADER ALIGNMENT FIX
   Gallery + Nearby + Contact only.
   Matches the About page's desktop hero positioning.
   No mobile/tablet rules are changed here.
   ========================================================= */
@media (min-width: 992px){

  /* Shared desktop header */
  .site-nav{
    height:100px;
    min-height:100px;
    padding:0;
    background:#fff;
    z-index:1050;
  }

  .site-nav .nav-inner{
    height:100%;
    display:flex;
    align-items:center;
  }

  /* ---------- GALLERY ---------- */
  .reference-layout .hero{
    margin-top:100px;
    min-height:560px;
    height:560px;
    max-height:560px;
    align-items:center;
  }

  .reference-layout .hero-content{
    height:100%;
    display:flex;
    align-items:center;
    padding-top:55px;
    padding-bottom:60px;
    box-sizing:border-box;
  }

  .reference-layout .hero h1{
    line-height:.86;
  }

  /* ---------- NEARBY ---------- */
  .nearby-hero{
    margin-top:100px;
    height:560px;
    min-height:560px;
  }

  .nearby-hero .hero-content{
    height:100%;
    display:flex;
    align-items:center;
    padding-top:55px;
    padding-bottom:60px;
    box-sizing:border-box;
  }

  .nearby-hero .hero-copy{
    margin-top:0;
    transform:translateY(8px);
  }

  .nearby-hero .hero-copy h1{
    line-height:.86;
  }

  .nearby-hero .location-note{
    margin-top:36px;
  }

  /* ---------- CONTACT ---------- */
  .contact-hero{
    margin-top:100px;
    height:560px;
    min-height:560px;
  }

  .contact-hero .hero-content{
    height:100%;
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding-top:55px;
    padding-bottom:60px;
    box-sizing:border-box;
  }

  .contact-hero .hero-content > div:first-child{
    transform:translateY(8px);
  }

  .contact-hero .hero-badge{
    margin-right:8%;
    transform:translateY(5px);
  }

  /* Keep the hero background visually stable while the content is lowered. */
  .contact-hero .hero-image,
  .nearby-hero .hero-bg,
  .reference-layout .hero-carousel{
    height:100%;
  }
}
