/* Consistent spacing rhythm across desktop, tablet and mobile */
:root{--page-pad:clamp(24px,7vw,110px);--section-y:96px;--content-gap:48px;--card-gap:24px}
.site-header{padding-inline:var(--page-pad);gap:30px}
.site-header nav{gap:24px}
.hero{padding:150px var(--page-pad) 84px}
.hero-content{padding-right:36px}
.hero-content>p{margin:0}
.hero-actions{margin:32px 0 26px}
.trust-row{margin-top:0}
.trip-card{right:var(--page-pad);padding:30px}
.trip-card h2{margin:8px 0 18px}
.trip-card label{margin:14px 0}
.section{padding:var(--section-y) var(--page-pad)}
.section-head{align-items:flex-end;margin-bottom:var(--content-gap)}
.section-head h2{margin-top:14px}
.section-head>p{margin:0}
.package-categories{margin-top:-12px;padding-bottom:28px}
.package-grid{gap:var(--card-gap)}
.package-body{padding:28px}
.package-grid{grid-template-columns:repeat(3,1fr)}.package-grid .package-card:last-child{grid-column:auto}.package-art.family{background-image:linear-gradient(170deg,transparent 55%,rgba(0,48,70,.45)),url('assets/shaheed-beach.jpg')}.package-art.baratang{background-image:linear-gradient(170deg,transparent 55%,rgba(0,48,70,.45)),url('assets/baratang-mangrove-package.jpg')}.package-art.north{background-image:linear-gradient(170deg,transparent 55%,rgba(0,48,70,.45)),url('assets/wandoor-beach.jpg')}
.package-footer{margin-top:32px;padding:26px 30px}
.dest-inner{padding-block:var(--section-y)}
.destination-grid{margin-top:4px}
.destination-grid article{padding:36px}
.destination-grid{grid-template-columns:repeat(3,1fr)}.destination-grid article{min-height:330px}.destination-grid article p{line-height:1.7}.destination-grid article small{display:block;margin-top:18px;color:#65dce4;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.7px}
.activity-grid,.service-grid,.review-grid,.guide-grid{gap:var(--card-gap)}
.activity-grid article,.service-grid article,.review-grid blockquote,.guide-grid article{padding:30px}
.text-link{margin-top:32px}
.planning-strip{padding:76px var(--page-pad);gap:64px}
.planning-strip li{padding:22px}
.about-copy{padding:92px var(--page-pad)}
.about-copy>p{margin:0}
.stats{margin:30px 0 38px}
.reviews .section-head{margin-bottom:42px}
.review-grid blockquote>p{margin:20px 0 24px}
.guide-grid article h3{margin:20px 0 12px}
.guide-grid article p{margin:0 0 22px}
.faq-wrap{margin-top:76px;gap:76px}
.faq-wrap h2{margin-bottom:0}
.faq-list details{padding:22px 0}
.final-cta{padding:92px var(--page-pad)}
.final-cta p{margin:0 0 32px}
footer{padding:52px var(--page-pad);gap:36px}
.photo-credits{margin:18px 0 0;color:#71858f;font-size:12px;line-height:1.6}
.price-note{margin:28px 0 0;padding:16px 18px;border-radius:12px;background:#fff8ed;color:#76583d;font-size:12px;line-height:1.6}
.package-categories,.catalog-tabs{flex-wrap:wrap;overflow:visible}.package-categories a,.catalog-tabs button{white-space:normal;text-align:center;line-height:1.25;overflow-wrap:anywhere}.catalog-tabs{flex:1}.catalog-tools{align-items:flex-start}.catalog-more{display:block}
.complete-planner{background:#fff}.duration-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.duration-grid article{position:relative;padding:26px 22px;border:1px solid #dce9ed;border-radius:18px;background:#fbfdfd;display:flex;flex-direction:column}.duration-grid article.recommended{background:var(--navy);color:white;border-color:var(--navy);transform:translateY(-8px);box-shadow:0 18px 40px rgba(0,47,71,.16)}.duration-grid .recommended>span{position:absolute;top:-13px;left:20px;padding:6px 10px;border-radius:999px;background:var(--orange);color:white;font-size:11px;font-weight:800;text-transform:uppercase}.duration-grid small{color:var(--orange);font-weight:800;text-transform:uppercase;letter-spacing:1px}.duration-grid h3{font-size:28px;margin:10px 0}.duration-grid p{color:var(--muted);line-height:1.6;margin:0 0 24px}.duration-grid .recommended p{color:#c7dce3}.duration-grid a{margin-top:auto;color:var(--blue);font-weight:800}.duration-grid .recommended a{color:#68e5ec}.traveller-block{margin-top:88px;padding:44px;border-radius:24px;background:linear-gradient(120deg,#063852,#075a72);color:white;display:grid;grid-template-columns:.8fr 1.2fr;gap:54px;align-items:center}.traveller-block h2{font-size:40px;margin:14px 0 12px}.traveller-block p{margin:0;color:#c7dde5;line-height:1.6}.traveller-tags{display:flex;flex-wrap:wrap;gap:12px}.traveller-tags span{padding:12px 17px;border:1px solid rgba(255,255,255,.28);border-radius:999px;background:rgba(255,255,255,.08);font-weight:700;font-size:14px}.info-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:88px;background:#dce8eb;border:1px solid #dce8eb}.info-columns article{padding:34px;background:white}.info-number{color:var(--orange);font-weight:800}.info-columns h3{margin:22px 0 10px}.info-columns p{margin:0;color:var(--muted);line-height:1.7}.info-columns strong{color:var(--ink)}.island-directory{margin-top:88px;display:grid;grid-template-columns:.65fr 1.35fr;gap:60px}.directory-title h2{font-size:42px;margin:14px 0}.directory-groups{display:grid;grid-template-columns:1fr 1fr;gap:18px}.directory-groups div{padding:25px;border-radius:16px;background:#f1f9fa}.directory-groups h3{margin:0 0 10px}.directory-groups p{margin:0;color:var(--muted);line-height:1.6}

@media(max-width:1100px){
  :root{--section-y:82px;--content-gap:40px;--card-gap:20px}
  .site-header{gap:22px}.site-header nav{gap:18px}
  .hero-content{padding-right:0}
  .trip-card{right:var(--page-pad)}
  .planning-strip{gap:42px}
  .duration-grid{grid-template-columns:repeat(3,1fr)}.duration-grid article.recommended{transform:none}.traveller-block{gap:36px}.island-directory{gap:40px}
}

@media(max-width:1000px){
  .hero{padding-bottom:70px}
  .trip-card{left:var(--page-pad);right:auto;top:610px}
  .section-head{align-items:flex-start}
  .package-card:last-child{margin-top:2px}
  .package-grid{grid-template-columns:1fr 1fr}.destination-grid{grid-template-columns:1fr 1fr}.package-grid .package-card:last-child{grid-column:auto}
  .planning-strip{padding-block:68px}
  .about-copy{padding-block:78px}
  .faq-wrap{margin-top:64px;gap:24px}
  .traveller-block,.island-directory{grid-template-columns:1fr}.info-columns{grid-template-columns:1fr 1fr}.directory-title h2{margin-bottom:0}
}

@media(max-width:650px){
  :root{--page-pad:20px;--section-y:64px;--content-gap:32px;--card-gap:16px}
  .site-header{padding-inline:18px}
  .hero{padding:112px var(--page-pad) 48px;min-height:960px}
  .hero-content>p{line-height:1.55}
  .hero-actions{margin:26px 0 22px;gap:10px}
  .trip-card{left:var(--page-pad);top:575px;width:calc(100% - 40px);padding:22px}
  .section-head{margin-bottom:var(--content-gap)}
  .section-head h2{margin-top:10px}
  .section-head>p{margin-top:18px}
  .package-grid,.destination-grid{grid-template-columns:1fr}.destination-grid article{min-height:280px}
  .package-categories{margin-top:-4px;padding-bottom:22px}
  .package-body{padding:24px}
  .package-footer{margin-top:24px;padding:22px}
  .destination-grid article{padding:28px;min-height:195px}
  .activity-grid article,.service-grid article,.review-grid blockquote,.guide-grid article{padding:24px}
  .planning-strip{padding:58px var(--page-pad);gap:30px}
  .planning-strip h2{font-size:34px}
  .planning-strip li{padding:18px 0}
  .about-copy{padding:64px var(--page-pad)}
  .stats{margin:24px 0 32px}
  .review-grid blockquote>p{min-height:auto;margin:18px 0 22px}
  .faq-wrap{margin-top:52px}
  .faq-list details{padding:19px 0}
  .final-cta{padding:70px var(--page-pad)}
  footer{padding:44px var(--page-pad);gap:24px}
  .package-categories,.catalog-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.package-categories a,.catalog-tabs button{width:100%;min-height:44px;padding:10px 8px}.catalog-tabs button:first-child{grid-column:1/-1}.catalog-tools{gap:18px}
  .duration-grid,.info-columns,.directory-groups{grid-template-columns:1fr}.duration-grid{gap:12px}.duration-grid article{padding:24px}.traveller-block{margin-top:60px;padding:28px 22px;gap:28px}.traveller-block h2{font-size:34px}.traveller-tags{gap:9px}.traveller-tags span{padding:10px 13px;font-size:13px}.info-columns,.island-directory{margin-top:60px}.info-columns article{padding:26px}.directory-groups{gap:12px}
}

/* Mobile and tablet collision fixes */
html,body{max-width:100%;overflow-x:clip}
img,svg,video{max-width:100%;height:auto}
.site-header>*{min-width:0}
.site-header .brand{min-width:0;max-width:min(238px,58vw)}
.site-header .brand-logo{max-width:100%;height:auto}
.hero-content,.trip-card,.section-head>*,.package-card,.catalog-card,.contact-layout>*,footer>*{min-width:0}
h1,h2,h3,p,a,span,strong{overflow-wrap:anywhere}
.hero-actions,.catalog-actions,.package-footer{flex-wrap:wrap}
.catalog-tools{flex-wrap:wrap}
.catalog-search{min-width:min(100%,280px)}

@media(max-width:1000px){
  .site-header{justify-content:space-between}
  .site-header .menu-btn{margin-left:auto;flex:0 0 auto}
  .hero{display:block;height:auto;min-height:0;padding-bottom:70px}
  .hero-content{width:100%;max-width:720px}
  .trip-card{position:relative;inset:auto;width:min(100%,620px);margin-top:38px}
  .package-grid,.destination-grid,.activity-grid,.service-grid,.review-grid,.guide-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .planning-strip,.contact-layout,.traveller-block,.island-directory{grid-template-columns:1fr}
  footer{grid-template-columns:1fr 1fr}
}

@media(max-width:650px){
  .site-header{gap:10px}
  .site-header .brand{max-width:70vw}
  .site-header .brand-logo{width:min(178px,100%)}
  .site-header.open nav{max-height:calc(100vh - 72px);overflow-y:auto}
  .hero{padding-top:108px;min-height:0}
  .trip-card{width:100%;margin-top:30px;padding:20px}
  .form-grid{grid-template-columns:1fr}
  .package-grid,.destination-grid,.activity-grid,.service-grid,.review-grid,.guide-grid{grid-template-columns:1fr}
  .review-grid blockquote:last-child,.guide-grid article:last-child{grid-column:auto}
  .section-head{display:block}
  .section-head h2,.page-hero h1,.final-cta h2{letter-spacing:-1.5px}
  .hero-actions .btn,.package-footer .btn,.catalog-actions .btn{width:100%}
  .catalog-tools>*{width:100%}
  .catalog-search{min-width:0}
  .stats{grid-template-columns:1fr 1fr}
  footer{grid-template-columns:1fr;text-align:center}
  footer .brand{margin-inline:auto}
}
