:root{
  --serif:Georgia,"Times New Roman",serif;
  --display:Georgia,"Times New Roman",serif;
  --wine-2:var(--wine2);
  --maroon:var(--wine);
  --amata-radius-small:12px;
  --amata-radius-card:18px;
  --amata-radius-section:24px;
  --amata-radius-pill:999px;
}
[hidden]{display:none!important}
.skip-link{position:fixed;left:12px;top:10px;z-index:9999;transform:translateY(-160%);background:#fff;color:var(--wine);padding:10px 14px;border-radius:10px;font-weight:800;box-shadow:0 8px 24px rgba(0,0,0,.15)}
.skip-link:focus{transform:translateY(0)}
:focus-visible{outline:3px solid rgba(198,161,95,.85);outline-offset:3px}
button{cursor:pointer}
.mobile{border:0;background:transparent;font:inherit;line-height:1;padding:9px;border-radius:10px}
.nav{position:relative}
body.nav-lock,body.modal-open{overflow:hidden}
.eyebrow{font-size:11px}
.btn{font-size:13px}
.navlinks a{font-size:13px}
.pill{font-size:11px}
.footer-brand-copy,.footer-address,.footer-col a,.footer-contact-list a,.footer-bottom{font-size:max(12px,.75rem)}
.catalog-kicker,.catalog-badge,.catalog-meta b,.catalog-hotels span,.catalog-foot small,.catalog-foot em,.catalog-detail{font-size:max(11px,.7rem)}
.g91-eyebrow,.g91-section-head>div>span,.g91-reel-copy span,.g93-photo-wall figcaption{font-size:max(11px,.7rem)}
.about-page-v96 .eyebrow,.contact-page-v103 .eyebrow{font-size:11px}
.package-empty-state{margin:18px 0 0;padding:22px 24px;border-radius:16px;background:#fff;border:1px solid var(--line);text-align:center}
.package-empty-state strong{display:block;font-family:var(--serif);font-size:20px;color:var(--wine);margin-bottom:5px}
.package-empty-state span{font-size:14px;color:var(--muted)}
.package-not-found{min-height:58vh;display:flex;align-items:center}
.package-not-found-card{max-width:720px;margin:auto;text-align:center;padding:42px 28px;border-radius:22px;background:#fff}
.package-not-found-card>span{font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.1em;color:var(--wine)}
.package-not-found-card h1{font-size:clamp(2.4rem,4vw,4rem);margin:8px 0 12px}.package-not-found-card p{color:var(--muted);margin-bottom:20px}
.g93-photo-wall figure[role="button"],.g91-hero-reel[role="button"]{cursor:pointer}
.media-modal{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;padding:24px}
.media-modal-backdrop{position:absolute;inset:0;background:rgba(20,10,12,.88);backdrop-filter:blur(8px)}
.media-modal-panel{position:relative;z-index:1;width:min(1100px,94vw);max-height:92vh}
.media-modal-panel.video{width:min(500px,90vw)}
.media-modal-content{position:relative;border-radius:16px;overflow:hidden;background:#130d0f;color:#fff}
.media-modal-panel.image .media-modal-content img{max-height:84vh;object-fit:contain;background:#130d0f}
.media-modal-panel.image .media-modal-content p{position:absolute;left:12px;bottom:12px;margin:0;padding:6px 10px;border-radius:999px;background:rgba(0,0,0,.5);font-size:12px}
.media-modal-panel.video .media-modal-content{aspect-ratio:9/16}
.media-modal-panel.video iframe{width:100%;height:100%;border:0}
.media-modal-close,.media-modal-prev,.media-modal-next{position:absolute;z-index:3;border:0;background:rgba(255,255,255,.94);color:#38101a;display:grid;place-items:center;box-shadow:0 8px 20px rgba(0,0,0,.18)}
.media-modal-close{right:-12px;top:-12px;width:42px;height:42px;border-radius:50%;font-size:26px}
.media-modal-prev,.media-modal-next{top:50%;transform:translateY(-50%);width:44px;height:54px;border-radius:12px;font-size:34px}.media-modal-prev{left:10px}.media-modal-next{right:10px}
@media(max-width:760px){
  .mobile{display:block}
  .media-modal{padding:14px}.media-modal-panel.image{width:96vw}.media-modal-panel.video{width:min(390px,88vw)}
  .media-modal-close{right:-4px;top:-10px}.media-modal-prev{left:4px}.media-modal-next{right:4px}
}

/* V150 — Editorial consultation layout for the Contact page. */
.contact-page-v103 .contact103-hero{
  padding:68px 0 0;
  background:#fffaf6;
}
.contact-page-v103 .contact103-hero-grid{
  grid-template-columns:minmax(0,.92fr) minmax(410px,1.08fr);
  gap:48px;
  align-items:stretch;
}
.contact-page-v103 .contact103-hero-copy{
  padding:52px 0 46px;
  align-self:center;
}
.contact-page-v103 .contact103-hero-copy h1{
  max-width:590px;
  font-size:clamp(3.1rem,4.2vw,4.55rem);
  line-height:.98;
}
.contact-page-v103 .contact103-hero-copy > p{max-width:510px;}
.contact-page-v103 .contact103-hero-photo{
  height:428px;
  border-radius:0;
}
.contact-page-v103 .contact103-hero-photo figcaption{border-radius:8px;}
.contact-page-v103 .contact103-hero-actions{gap:18px;}
.contact-page-v103 .contact103-hero-actions .btn{min-height:48px;padding:0 18px;font-size:13px;}

.contact150-channel-strip{
  padding:0 0 62px;
  background:#fffaf6;
}
.contact150-channel-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  border-top:1px solid #e8dcd4;
  border-bottom:1px solid #e8dcd4;
}
.contact150-channel-grid > a,.contact150-channel-grid > div{
  min-height:136px;
  padding:25px 20px;
  display:flex;
  align-items:flex-start;
  gap:12px;
  border-right:1px solid #e8dcd4;
  color:var(--ink);
  text-decoration:none;
}
.contact150-channel-grid > *:last-child{border-right:0;}
.contact150-channel-grid > a:hover{background:#fff;}
.contact150-channel-icon{
  width:28px;
  height:28px;
  flex:0 0 auto;
  display:grid;
  place-items:center;
  border:1px solid #d9c3c5;
  border-radius:50%;
  color:var(--wine);
  font-size:8px;
  font-weight:900;
}
.contact150-channel-grid > * > span:last-child{display:grid;gap:4px;min-width:0;}
.contact150-channel-grid b{
  color:var(--wine);
  font-size:10px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.contact150-channel-grid strong{font-family:Georgia,"Times New Roman",serif;font-size:15px;font-weight:400;overflow-wrap:anywhere;}
.contact150-channel-grid small{color:var(--muted);font-size:11px;line-height:1.45;}

.contact-page-v103 .contact105-consult{padding:74px 0;background:#f5ece5;}
.contact-page-v103 .contact105-consult-wrap{grid-template-columns:.7fr 1.3fr;gap:58px;align-items:center;}
.contact-page-v103 .contact105-consult-intro{padding:0;}
.contact-page-v103 .contact105-consult-intro h2{font-size:clamp(2.5rem,3.25vw,3.5rem);}
.contact150-steps{margin:28px 0 0;padding:0;display:grid;gap:16px;list-style:none;}
.contact150-steps li{display:grid;grid-template-columns:34px 1fr;gap:12px;align-items:start;}
.contact150-steps b{width:30px;height:30px;display:grid;place-items:center;border-radius:5px;background:var(--wine);color:#fff;font-size:10px;}
.contact150-steps span{display:grid;gap:3px;padding-top:1px;}
.contact150-steps strong{font-size:13px;}
.contact150-steps small{color:var(--muted);font-size:12px;line-height:1.45;}
.contact-page-v103 .contact105-form{padding:30px;border-radius:10px;box-shadow:0 12px 30px rgba(68,32,30,.045);}
.contact-page-v103 .contact105-fields{gap:20px 18px;}
.contact-page-v103 .contact105-fields input,.contact-page-v103 .contact105-fields select,.contact-page-v103 .contact105-fields textarea{padding:12px 2px;border-bottom-color:#d8c9c1;}
.contact-page-v103 .contact105-form-action{margin-top:24px;}

.contact-page-v103 .contact105-office{padding:74px 0;background:#fffaf6;}
.contact-page-v103 .contact105-office-head{margin-bottom:28px;}
.contact-page-v103 .contact105-office-panel{grid-template-columns:1fr 1fr;gap:0;}
.contact-page-v103 .contact105-office-photo{height:440px;border-radius:0;}
.contact-page-v103 .contact105-office-photo span{border-radius:8px;}
.contact-page-v103 .contact105-location-card{grid-template-columns:1fr;min-height:440px;border-radius:0;background:#f4ebe4;}
.contact-page-v103 .contact105-location-copy{min-height:228px;padding:32px 34px;}
.contact-page-v103 .contact105-location-copy > div{margin-bottom:16px;}
.contact-page-v103 .contact105-map{min-height:212px;}
.contact-page-v103 .contact105-location-copy .btn{min-height:42px;}

.contact-page-v103 .contact105-faq{padding:70px 0;background:#fff;}
.contact-page-v103 .contact105-faq-wrap{grid-template-columns:1fr;gap:28px;}
.contact-page-v103 .contact105-faq-copy{text-align:center;max-width:650px;margin:0 auto;}
.contact-page-v103 .contact105-faq-copy > p{margin-inline:auto;}
.contact-page-v103 .contact105-faq-list{max-width:900px;width:100%;margin:0 auto;}
.contact-page-v103 .contact105-faq-list details{padding:16px 0;}

@media(max-width:980px){
  .contact-page-v103 .contact103-hero-grid,.contact-page-v103 .contact105-consult-wrap{grid-template-columns:1fr;gap:24px;}
  .contact-page-v103 .contact103-hero-copy{padding:0;}
  .contact-page-v103 .contact103-hero-photo{height:350px;}
  .contact150-channel-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .contact150-channel-grid > *:nth-child(2){border-right:0;}
  .contact150-channel-grid > *:nth-child(-n+2){border-bottom:1px solid #e8dcd4;}
}
@media(max-width:680px){
  .contact-page-v103 .contact103-hero{padding:38px 0 0;}
  .contact-page-v103 .contact103-hero-copy h1{font-size:2.7rem;}
  .contact-page-v103 .contact103-hero-photo{height:265px;}
  .contact150-channel-strip{padding-bottom:44px;}
  .contact150-channel-grid{grid-template-columns:1fr;}
  .contact150-channel-grid > *{min-height:0;padding:18px 0;border-right:0;border-bottom:1px solid #e8dcd4;}
  .contact150-channel-grid > *:last-child{border-bottom:0;}
  .contact-page-v103 .contact105-consult,.contact-page-v103 .contact105-office,.contact-page-v103 .contact105-faq{padding:48px 0;}
  .contact-page-v103 .contact105-form{padding:23px 19px;}
  .contact-page-v103 .contact105-office-panel{grid-template-columns:1fr;}
  .contact-page-v103 .contact105-office-photo{height:290px;}
  .contact-page-v103 .contact105-location-copy{padding:27px 23px;}
  .contact-page-v103 .contact105-map{min-height:230px;}
}


/* =========================================================
   V107 — Global hero H1 scale lock
   ========================================================= */
@media (min-width: 681px){
  .home-page .hero-wave-copy h1,
  .catalog-hero h1,
  .equipment-page .equip-hero-copy h1,
  .gallery-page.gallery-v91 .g91-hero-copy h1,
  .about-v96 .about96-hero-copy h1,
  .contact-page-v103 .contact103-hero-copy h1{
    font-size:58px !important;
    line-height:1.02;
  }

  .package-detail-page .cd-summary-v70 h1,
  .package-detail-page .cd-summary h1{
    font-size:40px !important;
    line-height:1.08;
  }
}

@media (max-width: 680px){
  .home-page .hero-wave-copy h1,
  .catalog-hero h1,
  .equipment-page .equip-hero-copy h1,
  .gallery-page.gallery-v91 .g91-hero-copy h1,
  .about-v96 .about96-hero-copy h1,
  .contact-page-v103 .contact103-hero-copy h1{
    font-size:40px !important;
    line-height:1.04;
  }

  .package-detail-page .cd-summary-v70 h1,
  .package-detail-page .cd-summary h1{
    font-size:34px !important;
    line-height:1.08;
  }
}


/* =========================================================
   V108 — Interaction completion
   ========================================================= */
.trip-filter-chips button{
  min-height:36px;
  padding:0 14px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(112,20,36,.22);
  border-radius:999px;
  color:#5f514b;
  font:inherit;
  font-size:12px;
  font-weight:700;
  background:#fff;
  cursor:pointer;
}
.trip-filter-chips button.active{
  background:var(--wine);
  border-color:var(--wine);
  color:#fff;
}
.trip-filter-chips button:hover{
  border-color:var(--wine);
  color:var(--wine);
}
.trip-filter-chips button.active:hover{color:#fff;}
.home-package-filter-empty{
  margin:18px 0 0;
  font-size:14px;
  color:var(--muted);
}
.category-row [data-scroll-target]{cursor:pointer;}


/* =========================================================
   V109 — Real gallery videos
   ========================================================= */
.gallery-v91 .g109-reels-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
  max-width:760px;
}
.gallery-v91 .g109-testimonial-head{
  margin-top:46px;
  margin-bottom:18px;
}
.gallery-v91 .g109-testimonial-head span{
  display:block;
  color:var(--wine);
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
  margin-bottom:6px;
}
.gallery-v91 .g109-testimonial-head h3{
  margin:0;
  font-size:28px;
  line-height:1.1;
}
.gallery-v91 .g109-testimonial-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}
.gallery-v91 .g109-video-landscape{
  min-width:0;
}
.gallery-v91 .g109-video-thumb{
  position:relative;
  aspect-ratio:16/9;
  overflow:hidden;
  border-radius:14px;
  background:#e8dfd8;
}
.gallery-v91 .g109-video-thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform .3s ease;
}
.gallery-v91 .g109-video-landscape:hover img{transform:scale(1.025);}
.gallery-v91 .g109-video-thumb::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 50%,rgba(25,4,8,.26));
  pointer-events:none;
}
.gallery-v91 .g109-video-thumb button{
  position:absolute;
  z-index:2;
  left:14px;
  bottom:14px;
  width:40px;
  height:40px;
  border:0;
  border-radius:50%;
  background:#fff;
  color:var(--wine);
  cursor:pointer;
}
.gallery-v91 .g109-video-landscape>div:last-child{
  padding-top:10px;
}
.gallery-v91 .g109-video-landscape>div:last-child span{
  font-size:11px;
  color:var(--wine);
  font-weight:850;
}
.gallery-v91 .g109-video-landscape>div:last-child h3{
  margin:4px 0 0;
  font-size:18px;
}
.media-modal-panel.video .media-modal-content video{
  width:100%;
  height:100%;
  display:block;
  object-fit:contain;
  background:#000;
}
.media-modal-panel.video.landscape{
  width:min(960px,94vw);
}
.media-modal-panel.video.landscape .media-modal-content{
  aspect-ratio:16/9;
}

@media(max-width:760px){
  .gallery-v91 .g109-reels-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    max-width:none;
  }
  .gallery-v91 .g109-reels-grid .g91-reel-card:nth-child(3){
    width:calc(50% - 5px);
  }
  .gallery-v91 .g109-testimonial-grid{
    grid-template-columns:1fr;
    gap:18px;
  }
  .gallery-v91 .g109-testimonial-head{
    margin-top:36px;
  }
  .media-modal-panel.video.landscape{
    width:94vw;
  }
}


/* =========================================================
   V110 — Portrait modal fit + first-frame video covers
   ========================================================= */
.media-modal-panel.video{
  width:min(420px,90vw,calc((92vh - 24px)*9/16));
}
.media-modal-panel.video .media-modal-content{
  max-height:88vh;
}
.media-modal-panel.video .media-modal-content video{
  max-height:88vh;
}
.gallery-v91 .g91-hero-reel img,
.gallery-v91 .g91-reel-media img{
  object-position:center top;
}
@media(max-width:760px){
  .media-modal-panel.video{
    width:min(360px,88vw,calc((92vh - 20px)*9/16));
  }
  .media-modal-panel.video .media-modal-content,
  .media-modal-panel.video .media-modal-content video{
    max-height:86vh;
  }
}


/* =========================================================
   V111 — Additional gallery videos + 00:00 covers
   ========================================================= */
.gallery-v91 .g109-reels-grid{
  max-width:920px;
}
@media(max-width:760px){
  .gallery-v91 .g109-reels-grid .g91-reel-card:nth-child(3){
    width:auto;
  }
}


/* =========================================================
   V112 — Gallery real photos + 5-up portrait videos
   ========================================================= */
.gallery-v91 .g109-reels-grid{
  grid-template-columns:repeat(5,minmax(0,1fr));
  max-width:none;
}
.gallery-v91 .g93-photo-wall{
  grid-auto-rows:96px;
}
@media(max-width:1180px){
  .gallery-v91 .g109-reels-grid{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }
}
@media(max-width:900px){
  .gallery-v91 .g109-reels-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}
@media(max-width:760px){
  .gallery-v91 .g109-reels-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    max-width:none;
  }
  .gallery-v91 .g109-reels-grid .g91-reel-card:nth-child(3),
  .gallery-v91 .g109-reels-grid .g91-reel-card:nth-child(4),
  .gallery-v91 .g109-reels-grid .g91-reel-card:nth-child(5){
    width:auto;
  }
  .gallery-v91 .g93-photo-wall{
    grid-template-columns:repeat(2,minmax(0,1fr));
    grid-auto-rows:78px;
    gap:8px;
  }
}

/* =========================================================
   V116 — Mobile/tablet navbar scale
   Make logo + hamburger easier to read/tap across all pages
   ========================================================= */
@media(max-width:980px){
  header .nav,
  .site-header .nav,
  .home-page .site-header .nav,
  .equipment-page .site-header .nav,
  .equipment-navbar-home .site-header .nav,
  .gallery-page header .nav{
    height:96px !important;
    min-height:96px !important;
    grid-template-columns:1fr auto !important;
    gap:16px !important;
  }
  header .brand img,
  .site-header .brand img,
  .home-page .site-header .brand img,
  .equipment-page .site-header .brand img,
  .equipment-navbar-home .site-header .brand img,
  .gallery-page header .brand img{
    width:180px !important;
    height:72px !important;
    object-fit:contain !important;
    object-position:left center !important;
  }
  header .nav>.btn,
  .site-header .nav>.btn{
    display:none !important;
  }
  header .mobile,
  .site-header .mobile,
  .home-page .site-header .mobile,
  .equipment-page .site-header .mobile,
  .equipment-navbar-home .site-header .mobile,
  .gallery-page header .mobile{
    display:grid !important;
    place-items:center !important;
    width:50px !important;
    min-width:50px !important;
    height:50px !important;
    min-height:50px !important;
    padding:0 !important;
    font-size:28px !important;
    line-height:1 !important;
    border-radius:12px !important;
  }
}
@media(max-width:680px){
  header .nav,
  .site-header .nav,
  .home-page .site-header .nav,
  .equipment-page .site-header .nav,
  .equipment-navbar-home .site-header .nav,
  .gallery-page header .nav{
    height:90px !important;
    min-height:90px !important;
  }
  header .brand img,
  .site-header .brand img,
  .home-page .site-header .brand img,
  .equipment-page .site-header .brand img,
  .equipment-navbar-home .site-header .brand img,
  .gallery-page header .brand img{
    width:170px !important;
    height:66px !important;
  }
  header .mobile,
  .site-header .mobile{
    width:48px !important;
    min-width:48px !important;
    height:48px !important;
    min-height:48px !important;
    font-size:27px !important;
  }
}

/* =========================================================
   V117 — Mobile navbar seam + hamburger scale
   Remove the light strip caused by hero/header height mismatch
   and make the mobile menu trigger slightly more prominent.
   ========================================================= */
@media(max-width:980px){
  .home-page .amata-hero-wave{
    margin-top:-96px !important;
    padding-top:96px !important;
  }
  header .mobile,
  .site-header .mobile,
  .home-page .site-header .mobile,
  .equipment-page .site-header .mobile,
  .equipment-navbar-home .site-header .mobile,
  .gallery-page header .mobile{
    width:56px !important;
    min-width:56px !important;
    height:56px !important;
    min-height:56px !important;
    font-size:34px !important;
  }
}
@media(max-width:680px){
  .home-page .amata-hero-wave{
    margin-top:-90px !important;
    padding-top:90px !important;
  }
  header .mobile,
  .site-header .mobile,
  .home-page .site-header .mobile,
  .equipment-page .site-header .mobile,
  .equipment-navbar-home .site-header .mobile,
  .gallery-page header .mobile{
    width:54px !important;
    min-width:54px !important;
    height:54px !important;
    min-height:54px !important;
    font-size:33px !important;
  }
}

/* =========================================================
   V118 — Mobile page-wide responsive cleanup
   Audit pass for Paket Umrah + all public mobile pages
   ========================================================= */
@media(max-width:680px){
  html,body{max-width:100%;overflow-x:hidden;}
  .container{width:min(100% - 32px,1180px)!important;margin-left:auto!important;margin-right:auto!important;}

  /* Package catalogue: fix Pilihan Amata and keep cards readable */
  .package-catalog-page .catalog-hero{padding-top:36px!important;padding-bottom:38px!important;}
  .package-catalog-page .catalog-hero-inner{grid-template-columns:1fr!important;gap:22px!important;}
  .package-catalog-page .catalog-hero h1{font-size:clamp(34px,10vw,46px)!important;line-height:1.03!important;}
  .package-catalog-page .catalog-section-head{display:block!important;margin-bottom:18px!important;}
  .package-catalog-page .catalog-section-head>p{margin-top:8px!important;max-width:none!important;}
  .package-catalog-page .featured-package-wide-v68{
    display:block!important;
    width:100%!important;
    border-radius:18px!important;
    margin-bottom:36px!important;
  }
  .package-catalog-page .featured-package-wide-v68 .featured-package-img{
    display:block!important;
    width:100%!important;
    padding:0!important;
    background:#f8f2ed!important;
  }
  .package-catalog-page .featured-package-wide-v68 .featured-package-img img{
    display:block!important;
    width:100%!important;
    height:auto!important;
    max-height:none!important;
    aspect-ratio:auto!important;
    object-fit:contain!important;
  }
  .package-catalog-page .featured-package-wide-v68 .featured-package-copy{
    width:100%!important;
    padding:20px 18px 22px!important;
    gap:12px!important;
  }
  .package-catalog-page .featured-package-wide-v68 h3{font-size:27px!important;line-height:1.08!important;}
  .package-catalog-page .featured-info-line{grid-template-columns:1fr 1fr!important;width:100%!important;}
  .package-catalog-page .featured-info-line span{padding:12px 10px 12px 0!important;min-width:0!important;}
  .package-catalog-page .featured-info-line span+span{padding-left:10px!important;}
  .package-catalog-page .featured-info-line b{font-size:12px!important;overflow-wrap:anywhere!important;}
  .package-catalog-page .featured-bottom{width:100%!important;}
  .package-catalog-page .featured-detail-link{white-space:normal!important;}

  .package-catalog-page .catalog-filter-panel{padding:14px!important;border-radius:16px!important;}
  .package-catalog-page .catalog-filter-controls{grid-template-columns:1fr!important;gap:10px!important;}
  .package-catalog-page .catalog-grid{grid-template-columns:1fr!important;gap:18px!important;}
  .package-catalog-page .catalog-card{min-width:0!important;}
  .package-catalog-page .catalog-media img{width:100%!important;height:auto!important;object-fit:contain!important;}
  .package-catalog-page .catalog-body{padding:18px!important;}
  .package-catalog-page .catalog-body h3{font-size:23px!important;min-height:0!important;}
  .package-catalog-page .catalog-meta{grid-template-columns:1fr 1fr!important;gap:10px!important;}
  .package-catalog-page .catalog-hotels{grid-template-columns:1fr!important;}
  .package-catalog-page .catalog-foot{flex-direction:column!important;align-items:flex-start!important;gap:12px!important;}
  .package-catalog-page .intent-grid{grid-template-columns:1fr!important;}

  /* Detail package */
  .package-detail-page .cd-product-card-v70{display:block!important;border-radius:18px!important;}
  .package-detail-page .cd-product-card-v70 .cd-product-media,
  .package-detail-page .cd-product-card-v70 .detail-poster{width:100%!important;}
  .package-detail-page .cd-product-card-v70 img{width:100%!important;height:auto!important;object-fit:contain!important;}
  .package-detail-page .detail-main-grid,
  .package-detail-page .detail-grid,
  .package-detail-page .detail-hotel-grid,
  .package-detail-page .included-grid{grid-template-columns:1fr!important;}
  .package-detail-page .detail-block-head h2{font-size:29px!important;}
  .package-detail-page .equipment-grid{grid-template-columns:1fr!important;}

  /* Equipment */
  .equipment-page img{max-width:100%;height:auto;}
  .equipment-page [class*="grid"]{min-width:0;}

  /* Gallery */
  .gallery-v91 .g109-reels-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;}
  .gallery-v91 .g93-photo-wall{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;}

  /* About */
  .about-v96 [class*="grid"]{min-width:0;}
  .about-v96 .about97-why-grid{grid-template-columns:1fr!important;}

  /* Contact */
  .contact-page-v103 .contact105-office-panel,
  .contact-page-v103 .contact105-location-card,
  .contact-page-v103 .contact105-fields,
  .contact-page-v103 .contact105-consult-wrap,
  .contact-page-v103 .contact105-faq-wrap{grid-template-columns:1fr!important;}
  .contact-page-v103 .contact105-location-copy{padding:20px 18px!important;}

  /* General footer/mobile safety */
  footer .container, .site-footer .container{min-width:0!important;}
  footer [class*="grid"], .site-footer [class*="grid"]{min-width:0!important;}
  img,video,iframe{max-width:100%;}
}


/* =========================================================
   V119 — Mobile featured poster uncrop fix
   Pilihan Amata poster should show fully on mobile
   ========================================================= */
@media(max-width:680px){
  .package-catalog-page .featured-package-wide-v68 .featured-package-img{
    height:auto !important;
    min-height:0 !important;
    overflow:visible !important;
  }
  .package-catalog-page .featured-package-wide-v68 .featured-package-img img{
    width:100% !important;
    height:auto !important;
    max-height:none !important;
    object-fit:contain !important;
    display:block !important;
  }
}


/* =========================================================
   V120 — Home mobile Timnas poster full-width fix
   ========================================================= */
@media(max-width:760px){
  .home-page .trip-feature-wrap .event-feature,
  body .trip-feature-wrap .event-feature{
    display:block !important;
    padding:0 !important;
    overflow:hidden !important;
  }
  .home-page .trip-feature-wrap .event-poster,
  body .trip-feature-wrap .event-poster{
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
  }
  .home-page .trip-feature-wrap .event-poster img,
  body .trip-feature-wrap .event-poster img{
    display:block !important;
    width:100% !important;
    height:auto !important;
    max-height:none !important;
    object-fit:contain !important;
    border-radius:0 !important;
  }
  .home-page .trip-feature-wrap .event-copy,
  body .trip-feature-wrap .event-copy{
    padding:20px 18px 22px !important;
  }
}

/* =========================================================
   V121 — Home mobile Umrah Private cleanup
   Full-width poster + consistent CTA treatment
   ========================================================= */
@media(max-width:760px){
  .home-page .trip-private .private-service,
  body .trip-private .private-service{
    gap:24px !important;
  }

  .home-page .trip-private .private-service-actions,
  body .trip-private .private-service-actions{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
    width:100% !important;
    align-items:stretch !important;
  }

  .home-page .trip-private .private-service-actions .btn,
  body .trip-private .private-service-actions .btn,
  .home-page .trip-private .private-service-actions .text-link,
  body .trip-private .private-service-actions .text-link{
    width:100% !important;
    min-height:50px !important;
    padding:0 18px !important;
    border-radius:12px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    text-align:center !important;
    font-size:14px !important;
    font-weight:800 !important;
    line-height:1.2 !important;
  }

  .home-page .trip-private .private-service-actions .text-link,
  body .trip-private .private-service-actions .text-link{
    border:1px solid rgba(112,20,36,.28) !important;
    background:#fff !important;
    color:var(--wine) !important;
  }

  .home-page .trip-private .private-service-visual,
  body .trip-private .private-service-visual{
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    justify-self:stretch !important;
    overflow:hidden !important;
    border-radius:16px !important;
  }

  .home-page .trip-private .private-service-visual img,
  body .trip-private .private-service-visual img{
    display:block !important;
    width:100% !important;
    height:auto !important;
    max-height:none !important;
    object-fit:contain !important;
    border-radius:16px !important;
    box-shadow:none !important;
  }
}


/* =========================================================
   V122 — Home mobile Timnas CTA button cleanup
   Make special package buttons balanced and easier to tap
   ========================================================= */
@media(max-width:760px){
  .home-page .trip-feature-wrap .event-bottom,
  body .trip-feature-wrap .event-bottom{
    flex-direction:column !important;
    align-items:stretch !important;
    gap:14px !important;
  }

  .home-page .trip-feature-wrap .event-actions,
  body .trip-feature-wrap .event-actions{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:12px !important;
    width:100% !important;
    align-items:stretch !important;
  }

  .home-page .trip-feature-wrap .event-actions .btn,
  body .trip-feature-wrap .event-actions .btn{
    width:100% !important;
    min-height:52px !important;
    padding:0 18px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    text-align:center !important;
    font-size:14px !important;
    font-weight:800 !important;
    line-height:1.2 !important;
    border-radius:12px !important;
    white-space:nowrap !important;
  }
}


/* =========================================================
   V123 — Paket Umrah mobile Umrah Private layout fix
   Override late tablet grid that kept poster/copy side-by-side
   ========================================================= */
@media(max-width:760px){
  .package-catalog-page .catalog-private{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) !important;
    gap:22px !important;
    padding:22px 18px 24px !important;
    align-items:stretch !important;
    overflow:hidden !important;
  }

  .package-catalog-page .catalog-private .private-poster{
    order:-1 !important;
    width:100% !important;
    max-width:none !important;
    min-height:0 !important;
    height:auto !important;
    margin:0 !important;
    padding:0 !important;
    overflow:hidden !important;
    border-radius:16px !important;
    background:#fff !important;
  }

  .package-catalog-page .catalog-private .private-poster img{
    display:block !important;
    width:100% !important;
    max-width:none !important;
    height:auto !important;
    max-height:none !important;
    object-fit:contain !important;
    margin:0 !important;
    border-radius:16px !important;
  }

  .package-catalog-page .catalog-private .private-copy{
    width:100% !important;
    min-width:0 !important;
    padding:0 !important;
  }

  .package-catalog-page .catalog-private .private-copy h2{
    max-width:none !important;
    font-size:clamp(31px,9vw,40px) !important;
    line-height:1.04 !important;
  }

  .package-catalog-page .catalog-private .private-copy>p{
    max-width:none !important;
    font-size:14px !important;
    line-height:1.65 !important;
  }

  .package-catalog-page .catalog-private .private-checks{
    gap:8px !important;
    margin-bottom:18px !important;
  }

  .package-catalog-page .catalog-private .private-checks span{
    font-size:11px !important;
    padding:8px 11px !important;
  }

  .package-catalog-page .catalog-private .btn{
    width:100% !important;
    min-height:50px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    text-align:center !important;
    border-radius:12px !important;
    font-size:14px !important;
  }
}


/* =========================================================
   V124 — Mobile package CTA readability fix
   Enlarge all “Lihat Detail” actions across package listing surfaces
   ========================================================= */
@media(max-width:760px){
  .package-catalog-page .catalog-foot,
  body .package-catalog-page .catalog-foot{
    width:100% !important;
    align-items:stretch !important;
    gap:14px !important;
  }

  .package-catalog-page .catalog-detail,
  body .package-catalog-page .catalog-detail{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:100% !important;
    min-height:48px !important;
    padding:0 18px !important;
    border:1px solid rgba(112,20,36,.22) !important;
    background:#fff7f8 !important;
    color:var(--wine) !important;
    border-radius:12px !important;
    font-size:14px !important;
    font-weight:800 !important;
    line-height:1.2 !important;
    text-align:center !important;
    white-space:nowrap !important;
  }

  .package-catalog-page .catalog-detail span,
  body .package-catalog-page .catalog-detail span{
    font-size:18px !important;
    margin-left:6px !important;
    vertical-align:0 !important;
  }

  .package-catalog-page .featured-detail-link,
  body .package-catalog-page .featured-detail-link{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:100% !important;
    min-height:48px !important;
    padding:0 18px !important;
    border:1px solid rgba(112,20,36,.22) !important;
    background:#fff7f8 !important;
    color:var(--wine) !important;
    border-radius:12px !important;
    font-size:14px !important;
    font-weight:800 !important;
    text-align:center !important;
  }

  .home-page .product-actions .btn,
  body .home-page .product-actions .btn{
    min-height:50px !important;
    font-size:14px !important;
    font-weight:800 !important;
    padding:0 18px !important;
  }
}


/* =========================================================
   V125 — Contact page button cleanup
   Make all contact CTAs consistent, readable, and mobile friendly
   ========================================================= */
.contact-page-v103 .contact103-hero-actions .btn,
.contact-page-v103 .contact103-form .btn,
.contact-page-v103 .contact103-office-info .btn,
.contact-page-v103 .contact105-form .btn,
.contact-page-v103 .contact105-location-card .btn{
  min-height:50px !important;
  padding:0 22px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  border-radius:12px !important;
  font-size:14px !important;
  font-weight:850 !important;
  line-height:1.15 !important;
  text-align:center !important;
  white-space:nowrap !important;
}

.contact-page-v103 .contact103-text-link{
  min-height:50px !important;
  padding:0 20px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  border:1px solid rgba(112,20,36,.22) !important;
  border-radius:12px !important;
  background:#fff !important;
  color:var(--wine) !important;
  font-size:14px !important;
  font-weight:850 !important;
  line-height:1.15 !important;
  text-align:center !important;
  text-decoration:none !important;
}

.contact-page-v103 .contact103-method b{
  display:inline-flex !important;
  align-items:center !important;
  min-height:38px !important;
  padding:0 14px !important;
  border-radius:10px !important;
  background:#fff7f8 !important;
  color:var(--wine) !important;
  font-size:13px !important;
  font-weight:850 !important;
}

.contact-page-v103 .contact103-method.primary-method b{
  background:rgba(255,255,255,.14) !important;
  color:#f2d79c !important;
}

.contact-page-v103 .contact103-method:not(.primary-method) > a{
  width:max-content;
  min-height:38px;
  padding:0 14px;
  display:inline-flex;
  align-items:center;
  border-radius:8px;
  background:var(--wine);
  color:#fff;
  font-size:13px;
  font-weight:850;
  text-decoration:none;
}
.contact-page-v103 .contact103-method:not(.primary-method) > a:hover{
  background:var(--wine2);
}

@media(max-width:760px){
  .contact-page-v103 .contact103-hero-actions{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
    width:100% !important;
    align-items:stretch !important;
  }

  .contact-page-v103 .contact103-hero-actions .btn,
  .contact-page-v103 .contact103-hero-actions .contact103-text-link,
  .contact-page-v103 .contact103-form .btn,
  .contact-page-v103 .contact103-office-info .btn,
  .contact-page-v103 .contact105-form .btn,
  .contact-page-v103 .contact105-location-card .btn{
    width:100% !important;
    min-height:52px !important;
    padding:0 18px !important;
    font-size:14px !important;
    border-radius:12px !important;
  }

  .contact-page-v103 .contact103-method{
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
  }

  .contact-page-v103 .contact103-method b{
    width:100% !important;
    min-height:46px !important;
    justify-content:center !important;
    margin-top:auto !important;
    padding:0 16px !important;
    border-radius:12px !important;
    font-size:14px !important;
    text-align:center !important;
  }
}

/* =========================================================
   V126 — Jamaah Registration Form
   ========================================================= */
.registration-page{background:#fbf8f5;color:var(--ink)}
.registration-page .reg-hero{padding:64px 0 52px;background:linear-gradient(135deg,#4b0916 0%,#771428 100%);color:#fff}
.registration-page .reg-hero-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:56px;align-items:end}
.registration-page .reg-eyebrow,.registration-page .reg-side-kicker{display:block;font-size:11px;font-weight:900;letter-spacing:.18em;text-transform:uppercase;color:#e9c776;margin-bottom:12px}
.registration-page .reg-hero h1{font-size:clamp(42px,5vw,70px);line-height:1.02;max-width:780px;color:#fff;margin:0 0 18px}
.registration-page .reg-hero p{font-size:17px;line-height:1.75;color:rgba(255,255,255,.78);max-width:750px;margin:0}
.registration-page .reg-hero-note{border:1px solid rgba(255,255,255,.18);border-radius:18px;padding:24px;background:rgba(255,255,255,.06)}
.registration-page .reg-hero-note strong{display:block;font-size:17px;margin-bottom:7px}.registration-page .reg-hero-note p{font-size:14px;line-height:1.6}
.registration-page .reg-section{padding:54px 0 88px}.registration-page .reg-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:34px;align-items:start}
.registration-page .reg-form{display:grid;gap:18px}.registration-page .reg-card{background:#fff;border:1px solid #eadfd8;border-radius:20px;padding:30px;box-shadow:0 12px 32px rgba(54,30,25,.035)}
.registration-page .reg-card-head{display:flex;gap:16px;align-items:flex-start;padding-bottom:22px;margin-bottom:22px;border-bottom:1px solid #eee3dc}.registration-page .reg-card-head>span{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:#7b1528;color:#fff;font-size:12px;font-weight:900;flex:0 0 auto}.registration-page .reg-card-head h2{font-size:30px;line-height:1.1;margin:0 0 5px}.registration-page .reg-card-head p{font-size:14px;color:#81756e;margin:0}
.registration-page .reg-fields{display:grid;gap:18px}.registration-page .reg-fields.two-col{grid-template-columns:1fr 1fr}.registration-page .reg-field.full{grid-column:1/-1}.registration-page .reg-field{display:flex;flex-direction:column;gap:7px}.registration-page .reg-field>span{font-size:12px;font-weight:800;color:#5d514b}.registration-page .reg-field>span b,.registration-page .reg-consent b{color:#9e1630}.registration-page .reg-field input,.registration-page .reg-field select,.registration-page .reg-field textarea{width:100%;border:1px solid #ddd1ca;background:#fff;border-radius:11px;padding:0 13px;color:#342a26;font:inherit;font-size:14px;outline:none;transition:.2s}.registration-page .reg-field input,.registration-page .reg-field select{height:48px}.registration-page .reg-field textarea{padding-top:12px;resize:vertical}.registration-page .reg-field input:focus,.registration-page .reg-field select:focus,.registration-page .reg-field textarea:focus{border-color:#8c2034;box-shadow:0 0 0 3px rgba(112,20,36,.08)}.registration-page .reg-field.has-error input,.registration-page .reg-field.has-error select,.registration-page .reg-field.has-error textarea{border-color:#b62a41}.registration-page .field-error{font-size:11px;color:#a51d34;min-height:0}.registration-page .passport-detail.is-muted{opacity:.48}
.registration-page .reg-package-summary{display:grid;grid-template-columns:1fr auto;gap:20px;margin-top:20px;padding:18px;border-radius:14px;background:#f8f1ed;border:1px solid #eadbd3}.registration-page .reg-package-summary span,.registration-page .reg-package-summary small{display:block;font-size:11px;color:#8b7c74}.registration-page .reg-package-summary strong{display:block;font-size:16px;color:#4a312d;margin:3px 0}
.registration-page .reg-consent{display:flex;align-items:flex-start;gap:11px;padding:12px 0;font-size:13px;line-height:1.55;color:#5f534d}.registration-page .reg-consent input{width:18px;height:18px;margin-top:2px;accent-color:#7b1528;flex:0 0 auto}.registration-page .reg-actions{display:flex;gap:10px;margin-top:20px}.registration-page .reg-btn{min-height:50px;padding:0 22px;border-radius:999px;border:1px solid transparent;font-size:13px;font-weight:900;cursor:pointer}.registration-page .reg-btn.primary{background:#7b1528;color:#fff}.registration-page .reg-btn.secondary{background:#fff;color:#7b1528;border-color:#d8c8c1}.registration-page .reg-form-status{margin-top:14px;font-size:13px;color:#6c5d56;line-height:1.55}.registration-page .reg-security-note{font-size:11px;color:#93867f;line-height:1.55;margin:14px 0 0}
.registration-page .reg-side-card{background:#f5ebe7;border:1px solid #ead8d0;border-radius:20px;padding:25px}.registration-page .reg-side-card.sticky{position:sticky;top:110px}.registration-page .reg-side-kicker{color:#7b1528}.registration-page .reg-side-card h3{font-size:27px;line-height:1.1;margin:0 0 20px}.registration-page .reg-side-card ol{list-style:none;margin:0;padding:0;display:grid;gap:0;counter-reset:regflow}.registration-page .reg-side-card li{display:grid;grid-template-columns:28px 1fr;column-gap:10px;padding:15px 0;border-top:1px solid #e1d0c8;counter-increment:regflow}.registration-page .reg-side-card li:before{content:counter(regflow,decimal-leading-zero);font-size:10px;font-weight:900;color:#8c2034;padding-top:2px}.registration-page .reg-side-card li b,.registration-page .reg-side-card li span{grid-column:2}.registration-page .reg-side-card li b{font-size:13px}.registration-page .reg-side-card li span{font-size:11px;color:#7d6f68;margin-top:3px;line-height:1.5}.registration-page .reg-side-wa{display:flex;align-items:center;justify-content:center;min-height:46px;margin-top:18px;background:#7b1528;color:#fff;border-radius:999px;font-size:12px;font-weight:900}
@media(max-width:900px){.registration-page .reg-hero-grid,.registration-page .reg-layout{grid-template-columns:1fr}.registration-page .reg-side-card.sticky{position:static}.registration-page .reg-side{order:-1}}
@media(max-width:680px){.registration-page .reg-hero{padding:38px 0 34px}.registration-page .reg-hero-grid{gap:22px}.registration-page .reg-hero h1{font-size:38px}.registration-page .reg-hero p{font-size:14px;line-height:1.65}.registration-page .reg-section{padding:26px 0 70px}.registration-page .reg-layout{gap:16px}.registration-page .reg-side{order:0}.registration-page .reg-card{padding:20px 17px;border-radius:16px}.registration-page .reg-card-head{gap:12px;padding-bottom:18px;margin-bottom:18px}.registration-page .reg-card-head>span{width:36px;height:36px}.registration-page .reg-card-head h2{font-size:25px}.registration-page .reg-card-head p{font-size:12.5px}.registration-page .reg-fields.two-col{grid-template-columns:1fr}.registration-page .reg-field.full{grid-column:auto}.registration-page .reg-package-summary{grid-template-columns:1fr}.registration-page .reg-actions{display:grid;grid-template-columns:1fr}.registration-page .reg-btn{width:100%;border-radius:12px;font-size:14px}.registration-page .reg-side-card{padding:20px;border-radius:16px}}


/* =========================================================
   V127 — Jamaah registration document upload UI
   ========================================================= */
.registration-page .reg-upload-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.registration-page .reg-upload{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-width:0;padding:18px;border:1px dashed #d8c5bd;border-radius:14px;background:#fbf7f4;transition:.2s}
.registration-page .reg-upload:hover{border-color:#9b4555;background:#fff9f8}
.registration-page .reg-upload.full{grid-column:1/-1}
.registration-page .reg-upload.has-file{border-style:solid;border-color:#b7858f;background:#fff}
.registration-page .reg-upload.has-error{border-color:#b62a41;background:#fff7f8}
.registration-page .reg-upload input[type=file]{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.registration-page .reg-upload-title{font-size:14px;font-weight:900;color:#4d3e38}
.registration-page .reg-upload-title b{color:#9e1630}
.registration-page .reg-upload-help{font-size:11.5px;line-height:1.5;color:#86766f;min-height:34px}
.registration-page .reg-upload-button{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 15px;margin-top:4px;border-radius:10px;background:#7b1528;color:#fff;font-size:12px;font-weight:900;cursor:pointer}
.registration-page .reg-upload-name{display:block;max-width:100%;font-size:11px;line-height:1.45;color:#6f6059;overflow-wrap:anywhere}
.registration-page .reg-upload .field-error{font-size:11px;color:#a51d34}
.registration-page .reg-upload-note{margin:14px 0 0;font-size:11px;line-height:1.55;color:#93867f}
.registration-page .passport-upload.is-muted{opacity:.58}
@media(max-width:680px){
  .registration-page .reg-upload-grid{grid-template-columns:1fr}
  .registration-page .reg-upload.full{grid-column:auto}
  .registration-page .reg-upload{padding:16px}
  .registration-page .reg-upload-help{min-height:0}
  .registration-page .reg-upload-button{width:100%;min-height:46px;font-size:13px}
}


/* =========================================================
   V129 — Mobile navbar refinement + persistent registration CTA
   Scope: navbar only. Desktop remains unchanged.
   ========================================================= */
.nav-register-mobile{display:none}

@media(max-width:980px){
  header,
  .site-header,
  .home-page .site-header,
  .equipment-page .site-header,
  .equipment-navbar-home .site-header,
  .gallery-page header{
    position:sticky !important;
    top:0 !important;
    z-index:1000 !important;
  }

  header .nav,
  .site-header .nav,
  .home-page .site-header .nav,
  .equipment-page .site-header .nav,
  .equipment-navbar-home .site-header .nav,
  .gallery-page header .nav{
    height:82px !important;
    min-height:82px !important;
    grid-template-columns:minmax(0,1fr) auto auto !important;
    gap:9px !important;
  }

  header .brand,
  .site-header .brand{
    min-width:0 !important;
  }

  header .brand img,
  .site-header .brand img,
  .home-page .site-header .brand img,
  .equipment-page .site-header .brand img,
  .equipment-navbar-home .site-header .brand img,
  .gallery-page header .brand img{
    width:188px !important;
    height:70px !important;
    max-width:100% !important;
  }

  header .nav>.btn,
  .site-header .nav>.btn{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-height:40px !important;
    height:40px !important;
    padding:0 14px !important;
    border-radius:999px !important;
    font-size:12px !important;
    line-height:1 !important;
    white-space:nowrap !important;
  }

  .nav-register-desktop{display:none !important}
  .nav-register-mobile{display:inline !important}

  header .mobile,
  .site-header .mobile,
  .home-page .site-header .mobile,
  .equipment-page .site-header .mobile,
  .equipment-navbar-home .site-header .mobile,
  .gallery-page header .mobile{
    display:grid !important;
    place-items:center !important;
    width:42px !important;
    min-width:42px !important;
    height:42px !important;
    min-height:42px !important;
    padding:0 !important;
    border-radius:10px !important;
    font-size:23px !important;
    line-height:1 !important;
  }

  header .mobile>span,
  .site-header .mobile>span{
    display:block !important;
    transform:translateY(-1px) !important;
  }

  .home-page .amata-hero-wave{
    margin-top:-82px !important;
    padding-top:82px !important;
  }
}

@media(max-width:680px){
  header .nav,
  .site-header .nav,
  .home-page .site-header .nav,
  .equipment-page .site-header .nav,
  .equipment-navbar-home .site-header .nav,
  .gallery-page header .nav{
    height:78px !important;
    min-height:78px !important;
    gap:7px !important;
  }

  header .brand img,
  .site-header .brand img,
  .home-page .site-header .brand img,
  .equipment-page .site-header .brand img,
  .equipment-navbar-home .site-header .brand img,
  .gallery-page header .brand img{
    width:172px !important;
    height:66px !important;
  }

  header .nav>.btn,
  .site-header .nav>.btn{
    min-height:38px !important;
    height:38px !important;
    padding:0 12px !important;
    font-size:11.5px !important;
  }

  header .mobile,
  .site-header .mobile,
  .home-page .site-header .mobile,
  .equipment-page .site-header .mobile,
  .equipment-navbar-home .site-header .mobile,
  .gallery-page header .mobile{
    width:40px !important;
    min-width:40px !important;
    height:40px !important;
    min-height:40px !important;
    font-size:21px !important;
  }

  .home-page .amata-hero-wave{
    margin-top:-78px !important;
    padding-top:78px !important;
  }
}

@media(max-width:360px){
  header .brand img,
  .site-header .brand img,
  .home-page .site-header .brand img,
  .equipment-page .site-header .brand img,
  .equipment-navbar-home .site-header .brand img,
  .gallery-page header .brand img{
    width:150px !important;
  }

  header .nav>.btn,
  .site-header .nav>.btn{
    padding:0 10px !important;
    font-size:11px !important;
  }
}

/* =========================================================
   V135 — Unified navigation contrast and responsive behavior
   ========================================================= */

/* Gallery now opens on a light hero, so it uses the standard light header. */
.gallery-page .site-header,
.gallery-page .site-header.scrolled{
  background:rgba(255,253,249,.97) !important;
  border-bottom:1px solid var(--line) !important;
  box-shadow:0 8px 26px rgba(56,19,24,.06) !important;
  backdrop-filter:blur(12px) !important;
  -webkit-backdrop-filter:blur(12px) !important;
}
.gallery-page .site-header .brand img,
.gallery-page .site-header.scrolled .brand img{filter:none !important}
.gallery-page .site-header .navlinks a,
.gallery-page .site-header.scrolled .navlinks a{color:var(--ink) !important}
.gallery-page .site-header .navlinks a:after,
.gallery-page .site-header.scrolled .navlinks a:after{background:var(--wine) !important}
.gallery-page .site-header .btn.primary,
.gallery-page .site-header.scrolled .btn.primary{
  background:var(--wine) !important;
  color:#fff !important;
  border-color:transparent !important;
}
.gallery-page .site-header .mobile{color:var(--wine) !important}

@media(max-width:680px){
  /* Keep the primary action tappable while preserving room for the menu. */
  header .brand img,
  .site-header .brand img,
  .home-page .site-header .brand img,
  .equipment-page .site-header .brand img,
  .equipment-navbar-home .site-header .brand img,
  .gallery-page header .brand img{
    width:148px !important;
    height:48px !important;
    transform:none !important;
  }
  header .nav>.btn,
  .site-header .nav>.btn{
    min-height:40px !important;
    height:40px !important;
    padding:0 12px !important;
    border-radius:10px !important;
    font-size:11px !important;
  }
  header .mobile,
  .site-header .mobile{
    width:40px !important;
    min-width:40px !important;
    height:40px !important;
    min-height:40px !important;
  }
}

@media(max-width:360px){
  header .brand img,
  .site-header .brand img,
  .home-page .site-header .brand img{
    width:130px !important;
    height:44px !important;
    transform:none !important;
  }
  header .nav>.btn,
  .site-header .nav>.btn{
    min-height:40px !important;
    height:40px !important;
    padding:0 10px !important;
    font-size:10.5px !important;
  }
}

/* V137 — Equipment mobile header spacing and CTA balance. */
@media(max-width:680px){
  body.equipment-navbar-home{
    padding-top:0 !important;
    --equipment-nav-height:66px;
  }
  body.equipment-navbar-home .equip-hero-bold{
    margin-top:0 !important;
    padding-top:42px !important;
  }
  body.equipment-navbar-home .site-header .brand img{
    width:160px !important;
    height:54px !important;
    max-width:none !important;
    transform:scale(1.12) !important;
    transform-origin:left center !important;
  }
  body.equipment-navbar-home .site-header .nav>.btn{
    min-width:96px !important;
    min-height:42px !important;
    height:42px !important;
    padding:0 16px !important;
    border-radius:12px !important;
    font-size:12px !important;
  }
}

@media(max-width:360px){
  body.equipment-navbar-home .site-header .brand img{
    width:140px !important;
    height:48px !important;
    transform:scale(1.08) !important;
  }
  body.equipment-navbar-home .site-header .nav>.btn{
    min-width:82px !important;
    padding:0 12px !important;
    font-size:11px !important;
  }
}

/* =========================================================
   V130 — Mobile navbar guaranteed persistent on scroll
   Fixed positioning is used on mobile for consistent behavior
   across iOS Safari and Android browsers.
   ========================================================= */
@media(max-width:980px){
  html{
    scroll-padding-top:82px;
  }

  body{
    padding-top:82px !important;
  }

  header,
  .site-header,
  .home-page .site-header,
  .equipment-page .site-header,
  .equipment-navbar-home .site-header,
  .gallery-page header{
    position:fixed !important;
    top:0 !important;
    left:0 !important;
    right:0 !important;
    width:100% !important;
    z-index:9999 !important;
  }

  /* Home hero intentionally continues underneath the maroon navbar. */
  .home-page .amata-hero-wave{
    margin-top:-82px !important;
    padding-top:82px !important;
  }
}

@media(max-width:680px){
  html{
    scroll-padding-top:78px;
  }

  body{
    padding-top:78px !important;
  }

  .home-page .amata-hero-wave{
    margin-top:-78px !important;
    padding-top:78px !important;
  }
}


/* =========================================================
   V131 — Slim mobile navbar + modern two-line menu icon
   Scope: mobile navbar only. Desktop and public sections unchanged.
   ========================================================= */
@media(max-width:980px){
  html{scroll-padding-top:70px !important}
  body{padding-top:70px !important}

  header .nav,
  .site-header .nav,
  .home-page .site-header .nav,
  .equipment-page .site-header .nav,
  .equipment-navbar-home .site-header .nav,
  .gallery-page header .nav{
    height:70px !important;
    min-height:70px !important;
    gap:8px !important;
  }

  header .brand img,
  .site-header .brand img,
  .home-page .site-header .brand img,
  .equipment-page .site-header .brand img,
  .equipment-navbar-home .site-header .brand img,
  .gallery-page header .brand img{
    width:166px !important;
    height:56px !important;
  }

  header .nav>.btn,
  .site-header .nav>.btn{
    min-height:36px !important;
    height:36px !important;
    padding:0 13px !important;
    border-radius:12px !important;
    font-size:11.5px !important;
    font-weight:850 !important;
  }

  header .mobile,
  .site-header .mobile,
  .home-page .site-header .mobile,
  .equipment-page .site-header .mobile,
  .equipment-navbar-home .site-header .mobile,
  .gallery-page header .mobile{
    width:38px !important;
    min-width:38px !important;
    height:38px !important;
    min-height:38px !important;
    padding:0 !important;
    border-radius:11px !important;
    font-size:0 !important;
  }

  header .mobile>.menu-icon,
  .site-header .mobile>.menu-icon{
    position:relative !important;
    display:block !important;
    width:21px !important;
    height:14px !important;
    transform:none !important;
  }

  header .mobile>.menu-icon::before,
  header .mobile>.menu-icon::after,
  .site-header .mobile>.menu-icon::before,
  .site-header .mobile>.menu-icon::after{
    content:"";
    position:absolute;
    right:0;
    height:2px;
    border-radius:999px;
    background:currentColor;
    transition:transform .2s ease,width .2s ease,top .2s ease;
  }

  header .mobile>.menu-icon::before,
  .site-header .mobile>.menu-icon::before{
    top:2px;
    width:21px;
  }

  header .mobile>.menu-icon::after,
  .site-header .mobile>.menu-icon::after{
    top:10px;
    width:14px;
  }

  header .mobile[aria-expanded="true"]>.menu-icon::before,
  .site-header .mobile[aria-expanded="true"]>.menu-icon::before{
    top:6px;
    width:20px;
    transform:rotate(45deg);
  }

  header .mobile[aria-expanded="true"]>.menu-icon::after,
  .site-header .mobile[aria-expanded="true"]>.menu-icon::after{
    top:6px;
    width:20px;
    transform:rotate(-45deg);
  }

  .home-page .amata-hero-wave{
    margin-top:-70px !important;
    padding-top:70px !important;
  }
}

@media(max-width:680px){
  html{scroll-padding-top:66px !important}
  body{padding-top:66px !important}

  header .nav,
  .site-header .nav,
  .home-page .site-header .nav,
  .equipment-page .site-header .nav,
  .equipment-navbar-home .site-header .nav,
  .gallery-page header .nav{
    height:66px !important;
    min-height:66px !important;
    gap:6px !important;
  }

  header .brand img,
  .site-header .brand img,
  .home-page .site-header .brand img,
  .equipment-page .site-header .brand img,
  .equipment-navbar-home .site-header .brand img,
  .gallery-page header .brand img{
    width:158px !important;
    height:52px !important;
  }

  header .nav>.btn,
  .site-header .nav>.btn{
    min-height:34px !important;
    height:34px !important;
    padding:0 11px !important;
    border-radius:11px !important;
    font-size:11px !important;
  }

  header .mobile,
  .site-header .mobile,
  .home-page .site-header .mobile,
  .equipment-page .site-header .mobile,
  .equipment-navbar-home .site-header .mobile,
  .gallery-page header .mobile{
    width:36px !important;
    min-width:36px !important;
    height:36px !important;
    min-height:36px !important;
  }

  .home-page .amata-hero-wave{
    margin-top:-66px !important;
    padding-top:66px !important;
  }
}

@media(max-width:360px){
  header .brand img,
  .site-header .brand img,
  .home-page .site-header .brand img,
  .equipment-page .site-header .brand img,
  .equipment-navbar-home .site-header .brand img,
  .gallery-page header .brand img{
    width:145px !important;
    height:50px !important;
  }

  header .nav>.btn,
  .site-header .nav>.btn{
    padding:0 9px !important;
    font-size:10.5px !important;
  }
}

/* =========================================================
   V133 — Safe mobile navbar polish on top of stable V131
   Only visual sizing/icon tweaks; keep V131 fixed behavior intact.
   ========================================================= */
@media(max-width:680px){
  /* Keep the V131 66px navbar and fixed behavior unchanged. */
  header .brand,
  .site-header .brand{
    overflow:visible !important;
  }

  /* The source logo is square with generous internal whitespace, so scale
     the artwork visually without increasing the navbar height. */
  header .brand img,
  .site-header .brand img,
  .home-page .site-header .brand img,
  .equipment-page .site-header .brand img,
  .equipment-navbar-home .site-header .brand img,
  .gallery-page header .brand img{
    width:158px !important;
    height:52px !important;
    transform:scale(1.22) !important;
    transform-origin:left center !important;
  }

  /* Slimmer registration CTA; do not alter navbar/background/layout. */
  header .nav>.btn,
  .site-header .nav>.btn{
    min-height:30px !important;
    height:30px !important;
    padding:0 12px !important;
    border-radius:9px !important;
    font-size:10.8px !important;
    line-height:1 !important;
  }

  /* Familiar clean 3-line hamburger. */
  header .mobile>.menu-icon,
  .site-header .mobile>.menu-icon{
    position:relative !important;
    display:block !important;
    width:20px !important;
    height:2px !important;
    background:currentColor !important;
    border-radius:999px !important;
    transform:none !important;
  }
  header .mobile>.menu-icon::before,
  header .mobile>.menu-icon::after,
  .site-header .mobile>.menu-icon::before,
  .site-header .mobile>.menu-icon::after{
    content:"" !important;
    position:absolute !important;
    left:0 !important;
    right:auto !important;
    width:20px !important;
    height:2px !important;
    background:currentColor !important;
    border-radius:999px !important;
    transition:transform .2s ease,top .2s ease,opacity .18s ease !important;
  }
  header .mobile>.menu-icon::before,
  .site-header .mobile>.menu-icon::before{top:-6px !important;}
  header .mobile>.menu-icon::after,
  .site-header .mobile>.menu-icon::after{top:6px !important;}

  header .mobile[aria-expanded="true"]>.menu-icon,
  .site-header .mobile[aria-expanded="true"]>.menu-icon{
    background:transparent !important;
  }
  header .mobile[aria-expanded="true"]>.menu-icon::before,
  .site-header .mobile[aria-expanded="true"]>.menu-icon::before{
    top:0 !important;
    transform:rotate(45deg) !important;
  }
  header .mobile[aria-expanded="true"]>.menu-icon::after,
  .site-header .mobile[aria-expanded="true"]>.menu-icon::after{
    top:0 !important;
    transform:rotate(-45deg) !important;
  }
}

@media(max-width:360px){
  header .brand img,
  .site-header .brand img,
  .home-page .site-header .brand img{
    transform:scale(1.16) !important;
  }

  header .nav>.btn,
  .site-header .nav>.btn{
    min-height:29px !important;
    height:29px !important;
    padding:0 10px !important;
    font-size:10.3px !important;
  }
}

/* =========================================================
   V134 — Final micro tweak per request
   Only: logo slightly bigger, daftar button shorter
   ========================================================= */
@media(max-width:680px){
  header .brand img,
  .site-header .brand img,
  .home-page .site-header .brand img,
  .equipment-page .site-header .brand img,
  .equipment-navbar-home .site-header .brand img,
  .gallery-page header .brand img{
    transform:scale(1.28) !important;
  }

  header .nav>.btn,
  .site-header .nav>.btn{
    min-height:28px !important;
    height:28px !important;
    padding:0 12px !important;
    border-radius:9px !important;
    font-size:10.7px !important;
    line-height:1 !important;
  }
}

@media(max-width:360px){
  header .brand img,
  .site-header .brand img,
  .home-page .site-header .brand img{
    transform:scale(1.21) !important;
  }

  header .nav>.btn,
  .site-header .nav>.btn{
    min-height:27px !important;
    height:27px !important;
    padding:0 10px !important;
    font-size:10.1px !important;
  }
}

/* V136 — Final precedence lock for the unified responsive navbar. */
@media(max-width:980px){
  header .nav>.btn,
  .site-header .nav>.btn{
    min-height:40px !important;
    height:40px !important;
    padding:0 14px !important;
    border-radius:10px !important;
    font-size:12px !important;
  }
}

@media(max-width:680px){
  header .brand img,
  .site-header .brand img,
  .home-page .site-header .brand img,
  .equipment-page .site-header .brand img,
  .equipment-navbar-home .site-header .brand img,
  .gallery-page header .brand img{
    width:148px !important;
    height:48px !important;
    transform:none !important;
  }
  header .nav>.btn,
  .site-header .nav>.btn{
    min-height:40px !important;
    height:40px !important;
    padding:0 12px !important;
    border-radius:10px !important;
    font-size:11px !important;
  }
  header .mobile,
  .site-header .mobile{
    width:40px !important;
    min-width:40px !important;
    height:40px !important;
    min-height:40px !important;
  }
}

@media(max-width:360px){
  header .brand img,
  .site-header .brand img,
  .home-page .site-header .brand img{
    width:130px !important;
    height:44px !important;
    transform:none !important;
  }
  header .nav>.btn,
  .site-header .nav>.btn{
    min-height:40px !important;
    height:40px !important;
    padding:0 10px !important;
    font-size:10.5px !important;
  }
}

/* V138 — Final precedence lock for the equipment mobile header. */
@media(max-width:680px){
  body.equipment-navbar-home{
    padding-top:0 !important;
    --equipment-nav-height:66px;
  }
  body.equipment-navbar-home .equip-hero-bold{
    margin-top:0 !important;
    padding-top:42px !important;
  }
  body.equipment-navbar-home .site-header .brand img{
    width:160px !important;
    height:54px !important;
    max-width:none !important;
    transform:scale(1.12) !important;
    transform-origin:left center !important;
  }
  body.equipment-navbar-home .site-header .nav>.btn{
    min-width:96px !important;
    min-height:42px !important;
    height:42px !important;
    padding:0 16px !important;
    border-radius:12px !important;
    font-size:12px !important;
  }
}

@media(max-width:360px){
  body.equipment-navbar-home .site-header .brand img{
    width:140px !important;
    height:48px !important;
    transform:scale(1.08) !important;
  }
  body.equipment-navbar-home .site-header .nav>.btn{
    min-width:82px !important;
    padding:0 12px !important;
    font-size:11px !important;
  }
}

/* V139 — Shared mobile navbar proportions across every public page. */
@media(max-width:680px){
  header .nav,
  .site-header .nav{
    grid-template-columns:minmax(0,1fr) auto auto !important;
    gap:8px !important;
  }
  header .brand,
  .site-header .brand{overflow:visible !important}
  header .brand img,
  .site-header .brand img,
  .home-page .site-header .brand img,
  .equipment-page .site-header .brand img,
  .equipment-navbar-home .site-header .brand img,
  .gallery-page header .brand img{
    width:164px !important;
    height:54px !important;
    max-width:none !important;
    transform:scale(1.14) !important;
    transform-origin:left center !important;
  }
  header .nav>.btn,
  .site-header .nav>.btn{
    min-width:98px !important;
    min-height:42px !important;
    height:42px !important;
    padding:0 16px !important;
    border-radius:12px !important;
    font-size:12px !important;
  }
  header .mobile,
  .site-header .mobile{
    width:40px !important;
    min-width:40px !important;
    height:40px !important;
    min-height:40px !important;
  }
}

@media(max-width:360px){
  header .nav,
  .site-header .nav{gap:6px !important}
  header .brand img,
  .site-header .brand img,
  .home-page .site-header .brand img,
  .equipment-page .site-header .brand img,
  .equipment-navbar-home .site-header .brand img,
  .gallery-page header .brand img{
    width:136px !important;
    height:48px !important;
    transform:scale(1.10) !important;
  }
  header .nav>.btn,
  .site-header .nav>.btn{
    min-width:84px !important;
    min-height:40px !important;
    height:40px !important;
    padding:0 12px !important;
    font-size:11px !important;
  }
  header .mobile,
  .site-header .mobile{
    width:38px !important;
    min-width:38px !important;
    height:38px !important;
    min-height:38px !important;
  }
}

/* V140 — Keep equipment hero behind the fixed nav, but clear its content. */
@media(max-width:680px){
  body.equipment-navbar-home{
    padding-top:0 !important;
    --equipment-nav-height:66px;
  }
  body.equipment-navbar-home .equip-hero-bold{
    margin-top:0 !important;
    padding-top:calc(var(--equipment-nav-height) + 42px) !important;
  }
}

/* V141 — Match every mobile registration CTA to Contact navigation. */
@media(max-width:680px){
  body .site-header .nav>a.btn.primary{
    min-width:98px !important;
    min-height:42px !important;
    width:auto !important;
    height:42px !important;
    padding:0 16px !important;
    border-radius:12px !important;
    font-size:12px !important;
    line-height:1 !important;
  }
  body .site-header .brand img,
  body[class] .site-header .brand img{
    width:172px !important;
    height:56px !important;
    max-width:none !important;
    transform:scale(1.14) !important;
    transform-origin:left center !important;
  }
}

@media(max-width:360px){
  body .site-header .nav>a.btn.primary{
    min-width:84px !important;
    min-height:40px !important;
    height:40px !important;
    padding:0 12px !important;
    border-radius:12px !important;
    font-size:11px !important;
  }
  body .site-header .brand img,
  body[class] .site-header .brand img{
    width:144px !important;
    height:50px !important;
    transform:scale(1.10) !important;
  }
}

/* V142 — Lock equal CTA-to-hamburger spacing on every mobile page. */
@media(max-width:680px){
  body .site-header .nav,
  body[class] .site-header .nav{
    gap:8px !important;
  }
  body .site-header button.mobile,
  body[class] .site-header button.mobile{
    width:40px !important;
    min-width:40px !important;
    height:40px !important;
    min-height:40px !important;
    padding:0 !important;
  }
}

@media(max-width:360px){
  body .site-header .nav,
  body[class] .site-header .nav{
    gap:6px !important;
  }
  body .site-header button.mobile,
  body[class] .site-header button.mobile{
    width:38px !important;
    min-width:38px !important;
    height:38px !important;
    min-height:38px !important;
  }
}

/* V143 — Give the brand stronger visual priority on mobile. */
@media(max-width:680px){
  body .site-header .brand img,
  body[class] .site-header .brand img{
    width:180px !important;
    height:62px !important;
    max-width:none !important;
    object-fit:contain !important;
    object-position:left center !important;
    transform:scale(1.20) !important;
    transform-origin:left center !important;
  }
}

@media(max-width:360px){
  body .site-header .brand img,
  body[class] .site-header .brand img{
    width:150px !important;
    height:54px !important;
    transform:scale(1.14) !important;
  }
}

/* V144 — One registration CTA size across every desktop header. */
@media(min-width:981px){
  body .site-header .nav>a.btn.primary,
  body[class] .site-header .nav>a.btn.primary{
    min-width:132px !important;
    min-height:45px !important;
    width:auto !important;
    height:45px !important;
    padding:0 18px !important;
    border-radius:10px !important;
    font-size:12px !important;
    line-height:1 !important;
    white-space:nowrap !important;
  }
}

/* V145 — The registration page does not repeat its current-page CTA. */
.registration-page .site-header .nav>a.btn.primary{
  display:none !important;
}

@media(max-width:980px){
  .registration-page .site-header .nav{
    grid-template-columns:minmax(0,1fr) auto !important;
  }
}

/* V146 — Unified content CTA radius; navbar and pills stay untouched. */
main .btn,
.home-page main .hero-cta,
.home-page main .product-actions .btn,
.home-page main .product-actions .wa-btn,
.home-page main .home-packages-more-btn,
.home-page main .event-actions .btn,
.home-page main .private-service-actions .btn,
.home-page main .mature-actions .btn,
.home-page main .explore-gallery-btn,
.package-catalog-page .catalog-detail,
.package-detail-page .cd-actions .btn,
.package-detail-page .cd-booking-card .btn,
.package-detail-page .cd-final .btn,
.package-detail-page .detail-final-cta .btn,
.package-detail-page .detail-mobile-bar a,
.registration-page main .reg-btn{
  border-radius:12px !important;
}

/* V147 — Home hero and closing CTA need stronger legacy overrides. */
.home-page main .hero-wave-actions .hero-cta,
.home-page main .hero-wave-actions .hero-wave-secondary,
.home-page main .mature-final .mature-actions .btn{
  border-radius:12px !important;
}

/* V148 — Package-card detail links read as clear actions. */
.package-catalog-page .catalog-detail,
body .package-catalog-page .catalog-detail{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;
  min-height:40px !important;
  padding:0 16px !important;
  border:1px solid var(--wine) !important;
  border-radius:12px !important;
  background:var(--wine) !important;
  color:#fff !important;
  font-size:12px !important;
  font-weight:800 !important;
  line-height:1 !important;
  text-decoration:none !important;
  white-space:nowrap !important;
}
.package-catalog-page .catalog-detail span,
body .package-catalog-page .catalog-detail span{
  color:inherit !important;
  font-size:16px !important;
  line-height:1 !important;
}
.package-catalog-page .catalog-detail:hover,
.package-catalog-page .catalog-detail:focus-visible,
body .package-catalog-page .catalog-detail:hover,
body .package-catalog-page .catalog-detail:focus-visible{
  border-color:var(--wine2) !important;
  background:var(--wine2) !important;
}

/* V149 — Contact CTAs use compact rounded corners, never pill shapes. */
.contact-page-v103 .contact103-hero-actions .btn,
.contact-page-v103 .contact103-hero-actions .contact103-text-link,
.contact-page-v103 .contact103-method b,
.contact-page-v103 .contact105-form-action .btn,
.contact-page-v103 .contact105-location-copy .btn{
  border-radius:8px !important;
}

@media(max-width:760px){
  .package-catalog-page .catalog-detail,
  body .package-catalog-page .catalog-detail{
    min-height:48px !important;
  }

  .package-catalog-page .featured-detail-link,
  body .package-catalog-page .featured-detail-link{
    border-color:var(--wine) !important;
    background:var(--wine) !important;
    color:#fff !important;
  }

  .package-catalog-page .featured-package-wide:hover .featured-detail-link,
  .package-catalog-page .featured-package-wide:focus-visible .featured-detail-link{
    border-color:var(--wine2) !important;
    background:var(--wine2) !important;
  }
}

/* V151 — Final cascade lock for the Contact page mockup. */
.contact-page-v103 .contact103-hero{padding:68px 0 0 !important;background:#fffaf6 !important;}
.contact-page-v103 .contact103-hero-grid{grid-template-columns:minmax(0,.92fr) minmax(410px,1.08fr) !important;gap:48px !important;align-items:stretch !important;}
.contact-page-v103 .contact103-hero-copy{padding:52px 0 46px !important;align-self:center !important;}
.contact-page-v103 .contact103-hero-copy h1{max-width:590px !important;font-size:clamp(3.1rem,4.2vw,4.55rem) !important;line-height:.98 !important;}
.contact-page-v103 .contact103-hero-photo{height:428px !important;border-radius:0 !important;}
.contact-page-v103 .contact103-hero-photo figcaption{border-radius:8px !important;}
.contact150-channel-strip{padding:0 0 62px;background:#fffaf6;}
.contact150-channel-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid #e8dcd4;border-bottom:1px solid #e8dcd4;}
.contact150-channel-grid > a,.contact150-channel-grid > div{min-height:136px;padding:25px 20px;display:flex;align-items:flex-start;gap:12px;border-right:1px solid #e8dcd4;color:var(--ink);text-decoration:none;}
.contact150-channel-grid > *:last-child{border-right:0;}.contact150-channel-grid > a:hover{background:#fff;}
.contact150-channel-icon{width:28px;height:28px;flex:0 0 auto;display:grid;place-items:center;border:1px solid #d9c3c5;border-radius:50%;color:var(--wine);font-size:8px;font-weight:900;}
.contact150-channel-grid > * > span:last-child{display:grid;gap:4px;min-width:0;}.contact150-channel-grid b{color:var(--wine);font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;}.contact150-channel-grid strong{font-family:Georgia,"Times New Roman",serif;font-size:15px;font-weight:400;overflow-wrap:anywhere;}.contact150-channel-grid small{color:var(--muted);font-size:11px;line-height:1.45;}
.contact-page-v103 .contact105-consult{padding:74px 0 !important;background:#f5ece5 !important;}.contact-page-v103 .contact105-consult-wrap{grid-template-columns:.7fr 1.3fr !important;gap:58px !important;align-items:center !important;}.contact-page-v103 .contact105-form{padding:30px !important;border-radius:10px !important;box-shadow:0 12px 30px rgba(68,32,30,.045) !important;}.contact-page-v103 .contact105-fields{gap:20px 18px !important;}.contact-page-v103 .contact105-form-action{margin-top:24px !important;}
.contact-page-v103 .contact105-office{padding:74px 0 !important;background:#fffaf6 !important;}.contact-page-v103 .contact105-office-panel{grid-template-columns:1fr 1fr !important;gap:0 !important;}.contact-page-v103 .contact105-office-photo{height:440px !important;border-radius:0 !important;}.contact-page-v103 .contact105-location-card{grid-template-columns:1fr !important;min-height:440px !important;border-radius:0 !important;background:#f4ebe4 !important;}.contact-page-v103 .contact105-location-copy{min-height:228px !important;padding:32px 34px !important;}.contact-page-v103 .contact105-map{min-height:212px !important;}
.contact-page-v103 .contact105-faq{padding:70px 0 !important;background:#fff !important;}.contact-page-v103 .contact105-faq-wrap{grid-template-columns:1fr !important;gap:28px !important;}.contact-page-v103 .contact105-faq-copy{text-align:center;max-width:650px;margin:0 auto;}.contact-page-v103 .contact105-faq-copy > p{margin-inline:auto;}.contact-page-v103 .contact105-faq-list{max-width:900px;width:100%;margin:0 auto;}
@media(max-width:980px){.contact-page-v103 .contact103-hero-grid,.contact-page-v103 .contact105-consult-wrap{grid-template-columns:1fr !important;gap:24px !important;}.contact-page-v103 .contact103-hero-copy{padding:0 !important;}.contact-page-v103 .contact103-hero-photo{height:350px !important;}.contact150-channel-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.contact150-channel-grid > *:nth-child(2){border-right:0;}.contact150-channel-grid > *:nth-child(-n+2){border-bottom:1px solid #e8dcd4;}}
@media(max-width:680px){.contact-page-v103 .contact103-hero{padding:38px 0 0 !important;}.contact-page-v103 .contact103-hero-copy h1{font-size:2.7rem !important;}.contact-page-v103 .contact103-hero-photo{height:265px !important;}.contact150-channel-strip{padding-bottom:44px;}.contact150-channel-grid{grid-template-columns:1fr;}.contact150-channel-grid > *{min-height:0;padding:18px 0;border-right:0;border-bottom:1px solid #e8dcd4;}.contact150-channel-grid > *:last-child{border-bottom:0;}.contact-page-v103 .contact105-consult,.contact-page-v103 .contact105-office,.contact-page-v103 .contact105-faq{padding:48px 0 !important;}.contact-page-v103 .contact105-form{padding:23px 19px !important;}.contact-page-v103 .contact105-office-panel{grid-template-columns:1fr !important;}.contact-page-v103 .contact105-office-photo{height:290px !important;}.contact-page-v103 .contact105-location-copy{padding:27px 23px !important;}.contact-page-v103 .contact105-map{min-height:230px !important;}}

/* V152 — Contact media alignment and consistent corner treatment. */
.contact-page-v103 .contact103-hero-photo{border-radius:12px !important;}
.contact-page-v103 .contact105-office-panel{height:440px !important;gap:0 !important;align-items:stretch !important;}
.contact-page-v103 .contact105-office-photo{height:100% !important;border-radius:12px 0 0 12px !important;}
.contact-page-v103 .contact105-location-card{height:100% !important;min-height:0 !important;grid-template-rows:minmax(0,1fr) 212px !important;border-radius:0 12px 12px 0 !important;overflow:hidden !important;}
.contact-page-v103 .contact105-map{min-height:0 !important;border-radius:0 !important;overflow:hidden;}
@media(max-width:680px){.contact-page-v103 .contact105-office-panel{height:auto !important;gap:12px !important;}.contact-page-v103 .contact105-office-photo{height:290px !important;border-radius:12px !important;}.contact-page-v103 .contact105-location-card{height:auto !important;grid-template-rows:auto 230px !important;border-radius:12px !important;}.contact-page-v103 .contact105-map{min-height:230px !important;}}


/* Registration validation feedback */
.registration-page .reg-field.has-error input,
.registration-page .reg-field.has-error select,
.registration-page .reg-field.has-error textarea,
.registration-page .reg-upload.has-error{
  border-color:#b62a41;
}
.registration-page .reg-field.has-error input,
.registration-page .reg-field.has-error select,
.registration-page .reg-field.has-error textarea{
  background:#fffafa;
  box-shadow:0 0 0 3px rgba(182,42,65,.06);
}
.registration-page .reg-upload.has-error{
  background:#fffafa;
}
.registration-page .reg-consent.has-error{
  border-radius:10px;
  background:#fff5f6;
  padding:10px 12px;
}
.registration-page .field-error{
  display:block;
  margin-top:1px;
  color:#a51d34;
  font-size:11px;
  line-height:1.45;
  font-weight:700;
}
.registration-page .reg-consent .field-error{
  width:100%;
  margin-top:4px;
}
.registration-page .reg-form-status.is-error{
  color:#a51d34;
  font-weight:800;
}

/* =========================================================
   Public mobile navbar - final unified light treatment
   ========================================================= */
@media(max-width:980px){
  html,
  body{overflow-x:clip;}

  /* Every public page uses the same light header before and after scrolling. */
  body .site-header,
  body[class] .site-header,
  body .site-header.scrolled,
  body[class] .site-header.scrolled{
    background:var(--cream) !important;
    border-bottom:1px solid var(--line) !important;
    box-shadow:0 8px 22px rgba(56,19,24,.05) !important;
    backdrop-filter:blur(12px) !important;
    -webkit-backdrop-filter:blur(12px) !important;
    /* The scrolled class must not animate a visually identical mobile header. */
    transition:none !important;
  }

  body .site-header .brand img,
  body[class] .site-header .brand img,
  body .site-header.scrolled .brand img,
  body[class] .site-header.scrolled .brand img{
    filter:none !important;
  }

  /* Typography is deliberately shared by closed and open navigation states. */
  body .site-header .navlinks,
  body[class] .site-header .navlinks{
    font-family:Inter,Arial,sans-serif !important;
    font-size:13px !important;
    font-weight:700 !important;
    letter-spacing:.01em !important;
    line-height:1.6 !important;
    /* Mobile menu layout must remain static while opening and closing. */
    transition:none !important;
  }

  body .site-header .navlinks a,
  body[class] .site-header .navlinks a,
  body .site-header.scrolled .navlinks a,
  body[class] .site-header.scrolled .navlinks a{
    color:var(--ink) !important;
    font-family:inherit !important;
    font-size:inherit !important;
    font-weight:inherit !important;
    letter-spacing:inherit !important;
    line-height:inherit !important;
  }

  body .site-header .navlinks a::after,
  body[class] .site-header .navlinks a::after{
    background:var(--wine) !important;
  }

  body .site-header .mobile,
  body[class] .site-header .mobile,
  body .site-header.scrolled .mobile,
  body[class] .site-header.scrolled .mobile{
    color:var(--wine) !important;
  }

  body .site-header .nav>a.btn.primary,
  body[class] .site-header .nav>a.btn.primary,
  body .site-header.scrolled .nav>a.btn.primary,
  body[class] .site-header.scrolled .nav>a.btn.primary{
    background:var(--wine) !important;
    border-color:transparent !important;
    color:#fff !important;
    box-shadow:none !important;
  }

  body.nav-lock .site-header,
  body[class].nav-lock .site-header,
  body.nav-lock .site-header.scrolled,
  body[class].nav-lock .site-header.scrolled{
    border-bottom-color:transparent !important;
  }

  /* The menu is a viewport-wide continuation of the header, never a card. */
  body .site-header .navlinks.is-open,
  body[class] .site-header .navlinks.is-open{
    display:flex !important;
    position:absolute !important;
    top:100% !important;
    left:50% !important;
    right:auto !important;
    z-index:10000 !important;
    width:100vw !important;
    max-width:none !important;
    height:auto !important;
    max-height:none !important;
    margin:0 !important;
    padding:0 max(20px, env(safe-area-inset-right)) 12px max(20px, env(safe-area-inset-left)) !important;
    transform:translateX(-50%) !important;
    flex-direction:column !important;
    gap:0 !important;
    background:var(--cream) !important;
    border:0 !important;
    border-radius:0 !important;
    box-shadow:none !important;
  }

  body .site-header .navlinks.is-open a,
  body[class] .site-header .navlinks.is-open a,
  body .site-header.scrolled .navlinks.is-open a,
  body[class] .site-header.scrolled .navlinks.is-open a{
    display:block !important;
    width:100% !important;
    margin:0 !important;
    padding:12px 0 !important;
    color:var(--ink) !important;
    font-family:inherit !important;
    font-size:inherit !important;
    font-weight:inherit !important;
    letter-spacing:inherit !important;
    line-height:inherit !important;
    background:transparent !important;
    border:0 !important;
    border-radius:0 !important;
    text-decoration:none !important;
  }

  body .site-header .navlinks.is-open a.active,
  body[class] .site-header .navlinks.is-open a.active,
  body .site-header .navlinks.is-open a:hover,
  body[class] .site-header .navlinks.is-open a:hover,
  body .site-header .navlinks.is-open a:focus-visible,
  body[class] .site-header .navlinks.is-open a:focus-visible{
    color:var(--wine) !important;
    box-shadow:none !important;
  }

  body .site-header .navlinks.is-open a::after,
  body[class] .site-header .navlinks.is-open a::after{
    content:none !important;
    display:none !important;
  }
}

@media(max-width:680px){
  body .site-header .navlinks.is-open,
  body[class] .site-header .navlinks.is-open{
    padding-top:0 !important;
    padding-bottom:10px !important;
  }

  body .site-header .navlinks.is-open a,
  body[class] .site-header .navlinks.is-open a{
    padding-top:11px !important;
    padding-bottom:11px !important;
  }
}
