/* Kirana Homestay Amed — responsive styles */
:root{--forest:#173f35;--forest-deep:#102f28;--sage:#dfe8dc;--cream:#f8f6ef;--sand:#e9e1d1;--ink:#1f2924;--muted:#68736b;--white:#fff;--serif:"Playfair Display",Georgia,serif;--sans:"DM Sans",Arial,sans-serif;--radius:5px;--shadow:0 18px 45px rgba(20,42,32,.10)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.7;background:var(--cream)}img{display:block;width:100%;height:100%;object-fit:cover}a{color:inherit;text-decoration:none}button{font:inherit}.site-header{height:82px;padding:0 6.5%;display:flex;align-items:center;justify-content:space-between;background:rgba(248,246,239,.97);position:sticky;top:0;z-index:20;border-bottom:1px solid rgba(23,63,53,.09);backdrop-filter:blur(12px)}.brand{font-family:var(--serif);font-size:1.48rem;font-weight:700;letter-spacing:.13em;color:var(--forest);line-height:1.1;white-space:nowrap}.brand span{display:block;font-family:var(--sans);font-size:.55rem;letter-spacing:.29em;font-weight:600;margin-top:7px}.main-nav{display:flex;align-items:center;gap:clamp(14px,2vw,30px)}.main-nav>a{font-size:.8rem;font-weight:600;transition:color .2s}.main-nav>a:hover,.footer-links a:hover{color:#a46e3f}.main-nav .nav-cta{padding:11px 17px;color:white;background:var(--forest);border-radius:2px}.menu-toggle{display:none;background:none;border:0;padding:8px}.menu-toggle span{display:block;width:25px;height:2px;background:var(--forest);margin:5px}
.hero{height:min(780px,calc(100svh - 82px));min-height:570px;position:relative;display:flex;align-items:center;color:white;background:#274c3b url("assets/images/hero.webp") center 52%/cover no-repeat}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,35,28,.73),rgba(12,35,28,.27) 62%,rgba(12,35,28,.06))}.hero-content{position:relative;z-index:1;width:min(780px,85%);margin-left:11%}.eyebrow{text-transform:uppercase;letter-spacing:.19em;font-size:.7rem;font-weight:700;color:#9b754d;margin:0 0 16px}.eyebrow.light{color:#e4cba9}.hero h1{font-family:var(--serif);font-size:clamp(3.2rem,7vw,6.5rem);font-weight:500;line-height:1.04;letter-spacing:.015em;margin:0 0 22px}.hero-subtitle{font-family:var(--serif);font-size:clamp(1.1rem,2vw,1.55rem);font-style:italic;margin:0 0 34px}.button{display:inline-flex;align-items:center;gap:25px;justify-content:space-between;padding:14px 20px;font-size:.78rem;font-weight:700;letter-spacing:.035em;border:1px solid transparent;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px)}.button-light{background:var(--cream);color:var(--forest)}.button-dark{background:var(--forest);color:white}.button span,.more-link span{font-size:1.05rem}.scroll-note{position:absolute;bottom:28px;left:6.5%;font-size:.63rem;letter-spacing:.2em;font-weight:700}.scroll-note span{margin-left:14px;font-size:1rem}
.section-pad{padding:105px 8%}.intro{display:grid;grid-template-columns:.5fr 1.05fr 1fr;align-items:center;gap:5%;background:var(--cream)}.intro-mark{font-family:var(--serif);font-size:clamp(10rem,20vw,19rem);line-height:1;color:var(--sand);font-style:italic;justify-self:center}.intro-copy h2,.section-heading h2,.restaurant-copy h2,.closing-cta h2{font-family:var(--serif);font-size:clamp(2.3rem,4vw,4rem);font-weight:500;line-height:1.15;margin:0 0 22px}.intro-copy h2 em,.section-heading h2 em,.restaurant-copy h2 em,.closing-cta h2 em{color:#a7784d;font-weight:500}.intro-copy>p:not(.eyebrow){max-width:450px;color:var(--muted);font-size:.96rem}.text-link{display:inline-flex;gap:20px;margin-top:15px;font-weight:700;font-size:.82rem;color:var(--forest);border-bottom:1px solid #b8b7a7;padding-bottom:8px}.image-frame{height:410px;overflow:hidden}.image-frame img{transition:transform .7s}.image-frame:hover img{transform:scale(1.04)}
.section-tint{background:#eeeee5}.section-heading{text-align:center;max-width:680px;margin:0 auto 48px}.section-heading h2{margin-bottom:14px}.section-heading>p:last-child{color:var(--muted);margin:0}.stay-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;max-width:1200px;margin:auto}.stay-card,.service-card,.activity-card{background:#fff;box-shadow:0 8px 25px rgba(20,42,32,.045);min-width:0}.stay-card>img{height:275px}.card-body,.service-content,.activity-content{padding:22px 23px 24px}.card-title-row{display:flex;align-items:center;justify-content:space-between;gap:14px}.card-title-row h3,.destination-card h3{font-family:var(--serif);font-size:1.35rem;font-weight:600;line-height:1.3;margin:0}.expand-btn{width:34px;height:34px;flex:0 0 34px;border:1px solid #d7ddd5;border-radius:50%;background:transparent;color:var(--forest);font-size:1.2rem;cursor:pointer;transition:background .2s,color .2s}.expand-btn:hover,.expand-btn[aria-expanded=true]{background:var(--forest);color:#fff}.details{display:none;color:var(--muted);font-size:.9rem}.details.is-open{display:block;animation:reveal .25s ease}.details p{margin:14px 0 0}.details strong{color:var(--ink)}.more-link{display:inline-flex;align-items:center;justify-content:space-between;gap:12px;width:100%;margin-top:20px;padding-top:14px;border-top:1px solid #e7e9e2;color:var(--forest);font-size:.76rem;font-weight:700;text-align:left;background:none;border-left:0;border-right:0;border-bottom:0;cursor:pointer}.more-link:hover{color:#a46e3f}
.restaurant{display:grid;grid-template-columns:1.05fr 1fr;gap:8%;align-items:center;background:var(--cream)}.restaurant-photo{height:600px;position:relative}.restaurant-photo:after{content:"";position:absolute;inset:18px -18px -18px 18px;border:1px solid #d3c6b0;pointer-events:none;z-index:0}.restaurant-photo img{position:relative;z-index:1}.restaurant-copy{padding:20px 0}.restaurant-copy h2{font-size:clamp(2rem,3.5vw,3.5rem)}.inline-expand{display:flex;width:100%;align-items:center;justify-content:space-between;border:0;border-top:1px solid #d6d9d0;border-bottom:1px solid #d6d9d0;background:transparent;padding:15px 0;color:var(--forest);font-size:.82rem;font-weight:700;cursor:pointer;text-align:left}.inline-expand b{font-size:1.3rem;font-weight:400}.restaurant-details{margin-bottom:23px}.small-note{font-size:.72rem;color:var(--muted);margin-top:15px}
.service-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;max-width:1300px;margin:auto}.service-card>img{height:190px}.service-content{padding:18px}.service-content .card-title-row h3,.activity-content .card-title-row h3{font-size:1.12rem}.service-content .details,.activity-content .details{font-size:.83rem}.service-content .more-link,.activity-content .more-link{font-size:.72rem}
.tours{background:var(--cream)}.destination-feature{display:grid;grid-template-columns:1.15fr 1fr;min-height:400px;background:var(--forest);color:white;margin:0 auto 28px;max-width:1300px}.destination-feature>img{height:100%;min-height:400px}.destination-copy{padding:clamp(28px,5vw,65px);align-self:center}.destination-copy h3{font-family:var(--serif);font-weight:500;font-size:clamp(2rem,3.5vw,3.3rem);line-height:1.12;margin:0 0 20px}.light-expand{color:white;border-color:rgba(255,255,255,.28)}.destination-copy .details{color:#e0e7e1;margin-bottom:22px}.destination-copy .button{margin-top:22px}.destination-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;max-width:1300px;margin:0 auto 75px}.destination-card{background:white;box-shadow:0 7px 22px rgba(20,42,32,.04)}.destination-card img{height:180px}.destination-card>div{padding:17px}.destination-card h3{font-size:1.13rem}.destination-card p{font-size:.8rem;color:var(--muted);margin:9px 0 0;line-height:1.65}.activity-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;max-width:1300px;margin:auto}.activity-card>img{height:200px}
.closing-cta{text-align:center;padding:95px 20px;background:linear-gradient(rgba(16,47,40,.83),rgba(16,47,40,.83)),url("assets/images/halaman.webp") center/cover;color:white}.closing-cta h2{font-size:clamp(2.4rem,4.5vw,4.3rem);margin-bottom:30px}.closing-cta h2 em{color:#e4cba9}.site-footer{text-align:center;background:var(--forest-deep);color:#e5e9e4;padding:45px 20px 25px}.footer-brand{display:inline-block;color:white}.site-footer>p{font-size:.82rem;color:#c4d0c7}.footer-links{display:flex;justify-content:center;gap:25px;flex-wrap:wrap;margin:24px 0}.footer-links a{font-size:.77rem}.site-footer .copyright{font-size:.7rem;border-top:1px solid rgba(255,255,255,.13);padding-top:20px;margin:30px auto 0;max-width:900px}.whatsapp-float{position:fixed;z-index:18;right:24px;bottom:22px;width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:#218b59;color:#fff;font-size:1.8rem;box-shadow:0 8px 25px #102f2833;transition:transform .2s}.whatsapp-float:hover{transform:translateY(-3px)}
.modal{display:none;position:fixed;inset:0;z-index:50;align-items:center;justify-content:center;padding:20px}.modal.is-open{display:flex}.modal-backdrop{position:absolute;inset:0;background:rgba(9,25,20,.78);backdrop-filter:blur(5px)}.modal-panel{position:relative;z-index:1;background:var(--cream);width:min(1000px,100%);max-height:90vh;overflow:auto;padding:35px}.modal-close{position:absolute;right:18px;top:10px;border:0;background:transparent;font-size:2rem;color:var(--forest);cursor:pointer}.modal-panel h2{font:500 2.3rem var(--serif);margin:0 0 25px}.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.gallery-item{margin:0;background:white}.gallery-item img{height:190px}.gallery-item figcaption{padding:8px 10px;font-size:.75rem;color:var(--muted)}.modal-hint{font-size:.75rem;color:var(--muted);margin-top:20px}
@keyframes reveal{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1100px){.site-header{padding:0 4%}.main-nav{gap:14px}.main-nav>a{font-size:.73rem}.section-pad{padding:85px 5%}.intro{grid-template-columns:.45fr 1fr 1fr;gap:3%}.intro-mark{font-size:13rem}.service-grid,.activity-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.destination-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.destination-card img{height:150px}}
@media(max-width:780px){.site-header{height:72px;padding:0 22px}.brand{font-size:1.25rem}.brand span{font-size:.48rem}.menu-toggle{display:block;z-index:3}.main-nav{display:none;position:absolute;top:71px;left:0;right:0;background:var(--cream);padding:16px 22px 25px;box-shadow:0 15px 25px #102f2817;align-items:stretch;flex-direction:column;gap:0}.main-nav.is-open{display:flex}.main-nav>a{font-size:.9rem;padding:12px 0;border-bottom:1px solid #e6e6dc}.main-nav .nav-cta{padding:12px 15px;margin-top:12px;text-align:center;border:0}.hero{height:690px;min-height:520px;background-position:58% center}.hero-content{margin-left:7%;width:88%}.hero h1{font-size:clamp(3rem,11vw,5rem)}.section-pad{padding:72px 6%}.intro{grid-template-columns:1fr 1fr;gap:28px}.intro-mark{display:none}.intro-copy{grid-column:1/-1;max-width:600px}.intro-image{grid-column:1/-1;height:340px}.stay-grid{grid-template-columns:1fr;max-width:520px}.stay-card>img{height:300px}.restaurant{grid-template-columns:1fr;gap:42px}.restaurant-photo{height:390px;margin-right:12px}.restaurant-copy{padding:0}.service-grid,.activity-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-card>img,.activity-card>img{height:180px}.destination-feature{grid-template-columns:1fr}.destination-feature>img{min-height:0;height:300px}.destination-copy{padding:32px}.destination-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:55px}.destination-card img{height:190px}.closing-cta{padding:75px 20px}}
@media(max-width:480px){body{font-size:15px}.hero{height:620px;min-height:0}.hero-content{margin-left:6%}.hero h1{font-size:2.8rem}.hero-subtitle{max-width:290px}.section-pad{padding:60px 20px}.section-heading{margin-bottom:32px}.section-heading h2,.intro-copy h2{font-size:2.45rem}.intro-image{height:275px}.stay-card>img{height:245px}.card-body{padding:19px}.restaurant-photo{height:300px}.restaurant-copy h2{font-size:2.15rem}.service-grid,.activity-grid{grid-template-columns:1fr;gap:17px}.service-card>img,.activity-card>img{height:225px}.service-content,.activity-content{padding:18px}.destination-feature>img{height:240px}.destination-copy{padding:25px 20px}.destination-grid{gap:12px}.destination-card img{height:135px}.destination-card>div{padding:12px}.destination-card h3{font-size:1rem}.destination-card p{font-size:.73rem}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-item img{height:135px}.modal-panel{padding:28px 16px}.modal-panel h2{font-size:1.9rem}.closing-cta h2{font-size:2.6rem}.footer-links{gap:12px 20px}.whatsapp-float{right:16px;bottom:16px;width:50px;height:50px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
.gallery-description {
  margin: 8px 0 0;
  color: #666;
  font-size: 14px;
  line-height: 1.7;
}

/* Contact Section */
.contact-grid {
  display: grid;
  grid-template-columns: 0.8fr 1.2fr;
  gap: 36px;
  align-items: stretch;
}

.contact-info {
  display: flex;
  flex-direction: column;
  gap: 28px;
}

.contact-item {
  display: flex;
  gap: 16px;
  align-items: flex-start;
}

.contact-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 46px;
  height: 46px;
  border-radius: 50%;
  background: #f1e8dc;
  color: #7b6045;
  font-size: 25px;
}

.contact-item h3,
.contact-note h3 {
  margin: 0 0 8px;
}

.contact-item p,
.contact-note p {
  margin: 0 0 10px;
  line-height: 1.8;
  color: #686868;
}

.contact-note {
  padding: 22px;
  border-radius: 12px;
  background: #f8f4ee;
}

.contact-map {
  min-height: 350px;
  overflow: hidden;
  border-radius: 14px;
}

.contact-map iframe {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 400px;
  border: 0;
}

@media (max-width: 768px) {
  .contact-grid {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .contact-map {
    min-height: 300px;
  }

  .contact-map iframe {
    min-height: 320px;
  }
}
