*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f5f0e7;color:#2d332e;font-family:'Heebo',sans-serif;line-height:1.7}img{display:block;width:100%}a{color:inherit}.hero,.final{position:relative;background-size:cover;background-position:center}.hero{min-height:100svh;background-image:url('assets/hero.jpg');display:flex;align-items:flex-end}.final{min-height:80vh;background-image:url('assets/final.jpg');display:grid;place-items:center;text-align:center}.hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(24,28,24,.15),rgba(24,28,24,.74))}.nav{position:absolute;z-index:3;top:0;left:0;right:0;padding:26px 6vw;display:flex;align-items:center;justify-content:space-between;color:white}.logo{font-family:'Playfair Display',serif;letter-spacing:.24em;font-size:1.55rem;text-decoration:none}.nav-links{display:flex;gap:28px}.nav-links a{text-decoration:none;font-size:.92rem}.hero-content,.final-content{position:relative;z-index:2;color:white}.hero-content{padding:14vh 6vw 9vh;max-width:1050px}.hero h1,.story h2,.split-copy h2,.section-heading h2,.hotel-copy h2,.pricing h2,.final h2{font-family:'Playfair Display','Heebo',serif;font-weight:500;line-height:1.15}.hero h1{font-size:clamp(2.6rem,5.6vw,5.95rem);margin:.32em 0}.hero-focus{font-size:1.075em}.hero-subtitle{font-size:clamp(1.06rem,2vw,1.42rem);max-width:720px}.eyebrow{font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;margin:0 0 10px}.light-text{color:rgba(255,255,255,.85)}.hero-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap}.btn{display:inline-block;margin-top:22px;padding:15px 28px;border-radius:999px;text-decoration:none;font-weight:500}.btn-light{background:#f7f1e6;color:#283028}.btn-dark{background:#2e372f;color:white}.text-link{margin-top:22px;color:white;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.45)}.floating-wa{position:fixed;z-index:50;left:18px;bottom:18px;background:#2e372f;color:white;text-decoration:none;padding:12px 18px;border-radius:999px;box-shadow:0 10px 30px rgba(0,0,0,.2);font-size:.92rem}.story,.experience,.schedule,.included,.hosts,.faq{padding:110px 6vw}.intro{max-width:980px;margin:auto;text-align:center}.story h2,.split-copy h2,.section-heading h2,.hotel-copy h2,.pricing h2{font-size:clamp(2.1rem,4.6vw,4.2rem);margin:.28em 0}.big-copy{font-size:1.22rem;max-width:760px;margin:24px auto}.split-section{display:grid;grid-template-columns:1.12fr .88fr;background:#ece3d4}.split-image{min-height:680px}.split-image img{height:100%;object-fit:cover}.split-copy{padding:9vw 7vw;display:flex;flex-direction:column;justify-content:center}.section-heading{max-width:930px;margin-bottom:48px}.feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.feature{background:#fffaf2;padding:32px;border-radius:22px;min-height:250px}.feature span{font-family:'Playfair Display',serif;opacity:.45}.feature h3{font-size:1.45rem;margin:16px 0 8px}.gallery-grid{padding:10px;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.gallery-grid figure{margin:0;position:relative;overflow:hidden}.gallery-grid .wide{grid-column:span 2}.gallery-grid img{height:520px;object-fit:cover;transition:transform .8s ease}.gallery-grid figure:hover img{transform:scale(1.025)}.gallery-grid figcaption{position:absolute;right:22px;bottom:16px;color:white;font-family:'Playfair Display',serif;font-size:1.5rem;text-shadow:0 3px 20px rgba(0,0,0,.5)}.hotel-section{display:grid;grid-template-columns:1fr 1fr;background:#e5dccd}.hotel-copy{padding:9vw 7vw;display:flex;flex-direction:column;justify-content:center}.hotel-stack{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:10px}.hotel-stack img{height:100%;min-height:620px;object-fit:cover}.timeline{max-width:980px}.day{display:grid;grid-template-columns:90px 1fr;gap:28px;padding:28px 0;border-bottom:1px solid rgba(45,51,46,.18)}.day-num{font-family:'Playfair Display',serif;font-size:2.2rem;opacity:.45}.day h3{font-size:1.45rem;margin:0 0 8px}.day p{margin:0}.full-image{position:relative;height:78vh;padding:0}.full-image img{height:100%;object-fit:cover}.full-image-text{position:absolute;right:6vw;bottom:42px;max-width:760px;color:white;font-family:'Playfair Display',serif;font-size:clamp(2rem,4vw,3.8rem);text-shadow:0 4px 25px rgba(0,0,0,.52)}.included-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.included-item{background:#e9e0d2;padding:20px 22px;border-radius:14px}.hosts{background:#f8f4ed}.hosts-grid{display:grid;grid-template-columns:repeat(2,minmax(250px,380px));gap:30px}.host{margin:0}.host img{aspect-ratio:4/5;object-fit:cover;border-radius:22px}.host figcaption{padding-top:12px}.host strong,.host span{display:block}.host strong{font-family:'Playfair Display',serif;font-size:1.7rem}.host span{opacity:.72}.pricing{padding:110px 6vw;background:#e4dac9;text-align:center}.pricing-inner{max-width:900px;margin:auto}.price-grid{display:flex;justify-content:center;gap:22px;flex-wrap:wrap;margin:36px 0}.price-card{background:white;padding:30px 44px;border-radius:20px;min-width:240px}.price-card span,.price-card strong{display:block}.price-card strong{font-size:2.15rem}.deposit{opacity:.72}.faq{max-width:980px;margin:auto}.faq details{border-bottom:1px solid rgba(45,51,46,.2);padding:20px 0}.faq summary{font-size:1.18rem;font-weight:500;cursor:pointer}.faq details p{max-width:760px}.final-content{padding:40px}.final-content p{font-size:1.15rem}.final h2{font-size:clamp(2.8rem,6vw,5.8rem);margin:.18em 0}footer{padding:48px 6vw;text-align:center;background:#283028;color:white}.footer-logo{display:inline-block}footer p{opacity:.7}.reveal{opacity:0;transform:translateY(24px);transition:.8s ease}.reveal.visible{opacity:1;transform:none}@media(max-width:1050px){.feature-grid{grid-template-columns:repeat(2,1fr)}.hotel-section{grid-template-columns:1fr}.hotel-stack img{min-height:480px}}@media(max-width:820px){.nav-links{display:none}.split-section{grid-template-columns:1fr}.split-image{min-height:520px}.split-copy{padding:80px 24px}.gallery-grid{grid-template-columns:1fr}.gallery-grid .wide{grid-column:auto}.gallery-grid img{height:390px}.hotel-stack{grid-template-columns:1fr}.included-grid{grid-template-columns:1fr}.hosts-grid{grid-template-columns:1fr 1fr}.day{grid-template-columns:60px 1fr}}@media(max-width:560px){.story,.experience,.schedule,.included,.hosts,.faq,.pricing{padding:78px 22px}.hero-content{padding:19vh 22px 11vh}.hero h1{font-size:2.48rem}.feature-grid{grid-template-columns:1fr}.hosts-grid{grid-template-columns:1fr}.floating-wa{left:12px;bottom:12px}.full-image{height:68vh}.gallery-grid img{height:310px}.nav{padding:22px}.day{grid-template-columns:48px 1fr;gap:16px}}
.story-emphasis{max-width:760px;margin:26px auto 0;font-size:1.15rem}
.story-closing{max-width:860px;margin:18px auto 0;font-size:1.2rem}
.benefits-section{padding:110px 6vw;background:#ece3d4}
.benefits-list{display:grid;grid-template-columns:1fr 1fr;gap:0 42px}
.benefits-list article{padding:24px 0;border-top:1px solid rgba(45,51,46,.18)}
.benefits-list h3{margin:0 0 7px;font-size:1.28rem}
.benefits-list p{margin:0;line-height:1.7}
.experience-photo{padding:0;height:78vh;overflow:hidden}
.experience-photo img{height:100%;object-fit:cover}
.swipe-gallery{padding:84px 0;background:#f5f0e7;overflow:hidden}
.gallery-track{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 7vw 16px;scrollbar-width:none;cursor:grab;user-select:none}
.gallery-track::-webkit-scrollbar{display:none}
.gallery-track.grabbing{cursor:grabbing}
.gallery-track figure{flex:0 0 min(76vw,920px);height:min(66vh,650px);margin:0;scroll-snap-align:center;border-radius:22px;overflow:hidden}
.gallery-track img{width:100%;height:100%;object-fit:cover;pointer-events:none}
.gallery-dots{display:flex;justify-content:center;gap:8px;margin-top:18px}
.gallery-dots span{width:7px;height:7px;border-radius:50%;background:rgba(45,51,46,.25);transition:.25s ease}
.gallery-dots span.active{width:22px;border-radius:999px;background:#2d332e}
@media(max-width:820px){
  .benefits-list{grid-template-columns:1fr}
  .experience-photo{height:68vh}
  .gallery-track{padding-left:18px;padding-right:18px}
  .gallery-track figure{flex-basis:86vw;height:58vh}
}

/* Gallery interaction fix */
.gallery-track{
  direction:ltr;
  touch-action:pan-y;
  -webkit-overflow-scrolling:touch;
  scroll-behavior:smooth;
}
.gallery-track figure{position:relative}
.swipe-gallery{position:relative}
.swipe-gallery::after{
  content:"‹";
  position:absolute;
  left:24px;
  top:50%;
  transform:translateY(-50%);
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:rgba(245,240,231,.88);
  color:#2d332e;
  font-size:2rem;
  box-shadow:0 8px 24px rgba(0,0,0,.14);
  pointer-events:none;
}
@media(max-width:560px){
  .swipe-gallery::after{
    left:10px;
    width:38px;
    height:38px;
    font-size:1.7rem;
  }
}

/* Team section */
.hosts{background:#f8f4ed}
.host-profile{
  max-width:900px;
  margin:0 auto 84px;
  text-align:center;
}
.host-profile:last-child{margin-bottom:0}
.host-profile img{
  width:220px;
  height:220px;
  border-radius:50%;
  object-fit:cover;
  object-position:center 28%;
  margin:0 auto 28px;
  box-shadow:0 14px 38px rgba(45,51,46,.12);
}
.host-copy{max-width:760px;margin:0 auto}
.host-copy h3{
  font-family:'Playfair Display','Heebo',serif;
  font-size:2rem;
  margin:0 0 6px;
}
.host-role{
  font-weight:500;
  margin:0 0 24px;
  color:#6b6256;
}
.host-copy p{margin:0 0 16px}
@media(max-width:560px){
  .host-profile{margin-bottom:66px}
  .host-profile img{width:180px;height:180px}
  .host-copy h3{font-size:1.7rem}
}

/* Final team image crop */
.host-profile img{
  width:220px;
  height:220px;
  border-radius:50%;
  object-fit:cover;
  object-position:center 34%;
}

/* Approved pricing section */
.pricing-approved{
  padding:110px 6vw;
  background:#eee5d7;
}
.pricing-approved .section-heading{
  text-align:center;
  margin-bottom:48px;
}
.pricing-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px;
  max-width:1180px;
  margin:0 auto;
}
.price-card{
  background:#f9f5ee;
  border:1px solid rgba(45,51,46,.12);
  border-radius:24px;
  padding:36px 28px;
  text-align:center;
  box-shadow:0 16px 42px rgba(45,51,46,.07);
}
.price-card.featured{
  transform:translateY(-8px);
  border-color:rgba(45,51,46,.26);
}
.price-card h3{
  margin:0 0 18px;
  font-size:1.45rem;
}
.price-card .price{
  margin:0;
  font-family:'Playfair Display','Heebo',serif;
  font-size:2.35rem;
  line-height:1;
}
.price-card .price-note{
  margin:8px 0 22px;
  font-weight:500;
  color:#6b6256;
}
.price-card > p:last-child{
  margin:0;
  line-height:1.7;
}
@media(max-width:860px){
  .pricing-grid{grid-template-columns:1fr}
  .price-card.featured{transform:none}
}
@media(max-width:560px){
  .host-profile img{
    width:180px;
    height:180px;
    object-position:center 32%;
  }
  .pricing-approved{padding:80px 22px}
}


/* ===== FINAL MOBILE FIXES ===== */
@media (max-width: 820px) {
  html, body {
    max-width: 100%;
    overflow-x: hidden;
  }

  .story,
  .benefits-section,
  .hosts,
  .pricing-approved {
    padding-left: 24px !important;
    padding-right: 24px !important;
    box-sizing: border-box;
  }

  .section-heading,
  .benefits-list,
  .host-copy {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
  }

  .benefits-section {
    text-align: right;
  }

  .benefits-list article {
    padding: 22px 0 !important;
  }

  /* Horizontal swipe carousel */
  .swipe-gallery {
    overflow: hidden !important;
    width: 100%;
  }

  .gallery-track {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    gap: 14px !important;
    padding: 0 18px 18px !important;
    scroll-snap-type: x mandatory !important;
    -webkit-overflow-scrolling: touch !important;
    touch-action: pan-x !important;
    direction: ltr !important;
  }

  .gallery-track figure {
    display: block !important;
    flex: 0 0 86vw !important;
    width: 86vw !important;
    max-width: 86vw !important;
    height: 62vh !important;
    margin: 0 !important;
    scroll-snap-align: center !important;
    border-radius: 20px !important;
    overflow: hidden !important;
  }

  .gallery-track figure img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
  }

  /* Circular host portraits */
  .host-profile {
    width: 100%;
    max-width: 760px;
    margin: 0 auto 72px !important;
    text-align: center;
  }

  .host-profile > img {
    display: block !important;
    width: 190px !important;
    height: 190px !important;
    min-width: 190px !important;
    min-height: 190px !important;
    max-width: 190px !important;
    max-height: 190px !important;
    aspect-ratio: 1 / 1 !important;
    border-radius: 50% !important;
    object-fit: cover !important;
    object-position: center 34% !important;
    margin: 0 auto 28px !important;
  }

  /* Separate pricing cards */
  .pricing-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 22px !important;
    width: 100%;
    max-width: 100%;
  }

  .price-card,
  .price-card.featured {
    width: 100%;
    box-sizing: border-box;
    margin: 0 !important;
    transform: none !important;
    border-radius: 24px !important;
    overflow: hidden;
  }
}

@media (max-width: 560px) {
  .hero {
    background-image: url("assets/hero.jpg") !important;
    background-position: center center !important;
  }

  .hero-content {
    padding-left: 22px !important;
    padding-right: 22px !important;
  }

  .hero h1 {
    font-size: 2.28rem !important;
    line-height: 1.12 !important;
  }

  .story,
  .benefits-section,
  .hosts,
  .pricing-approved {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  .host-profile > img {
    width: 176px !important;
    height: 176px !important;
    min-width: 176px !important;
    min-height: 176px !important;
    max-width: 176px !important;
    max-height: 176px !important;
  }

  .gallery-track figure {
    flex-basis: 84vw !important;
    width: 84vw !important;
    max-width: 84vw !important;
    height: 58vh !important;
  }
}

.host-placeholder{
width:190px;height:190px;border-radius:50%;
margin:0 auto 28px;
background:#e6ddcf;
border:2px dashed #c7baa6;
}
