@import url('https://fonts.googleapis.com/css2?family=Hind+Vadodara:wght@400;500;600;700&display=swap');
/* ============================================================
   YATTRALAY — Global Stylesheet v26
   Font: Apple SF Pro system stack
   ============================================================ */
:root {
  --font: -apple-system, BlinkMacSystemFont, 'SF Pro Display', 'SF Pro Text', 'Helvetica Neue', Arial, sans-serif;
  --black: #000000; --gray-900: #1d1d1f; --gray-700: #3a3a3c; --gray-500: #6e6e73;
  --gray-300: #c7c7cc; --gray-200: #e5e5ea; --gray-100: #f5f5f7; --gray-50: #fbfbfd;
  --white: #ffffff; --gold: #b8964a; --gold-light: #d4af72;
  --success: #28a745; --error: #dc3545; --whatsapp: #25d366;
  --saffron: #e8621a; --saffron-light: #f0874a;
  --max-w: 1080px; --nav-h: 52px; --radius: 10px; --radius-sm: 6px;
  --ease: cubic-bezier(0.4,0,0.2,1); --t: all 0.25s cubic-bezier(0.4,0,0.2,1); --t-slow: all 0.5s cubic-bezier(0.4,0,0.2,1);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:var(--font);font-size:17px;line-height:1.47;color:var(--gray-900);background:var(--white);-webkit-font-smoothing:antialiased;overflow-x:hidden}
:lang(gu), [lang="gu"], [data-lang="gu"], .gu-text{font-family:'Hind Vadodara', var(--font);}
button:lang(gu), input:lang(gu), select:lang(gu), textarea:lang(gu){font-family:'Hind Vadodara', var(--font);}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
button{font-family:var(--font);cursor:pointer;border:none;background:none}
input,select,textarea{font-family:var(--font)}
ul,ol{list-style:none}
h1{font-size:clamp(2rem,5vw,3.2rem);font-weight:700;line-height:1.07;letter-spacing:-0.025em;color:var(--gray-900)}
h2{font-size:clamp(1.4rem,3vw,2.2rem);font-weight:700;line-height:1.1;letter-spacing:-0.02em;color:var(--gray-900)}
h3{font-size:clamp(1.1rem,2vw,1.4rem);font-weight:600;line-height:1.2;letter-spacing:-0.01em}
h4{font-size:1rem;font-weight:600;line-height:1.3}
p{font-size:0.94rem;line-height:1.6;color:var(--gray-500)}
.container{width:100%;max-width:var(--max-w);margin:0 auto;padding:0 40px}
@media(max-width:1024px){.container{padding:0 24px}}
@media(max-width:768px){.container{padding:0 22px}}
@media(max-width:480px){.container{padding:0 18px}}
.section{padding:48px 0}.section-sm{padding:36px 0}.section-xs{padding:24px 0}
@media(max-width:768px){.section{padding:36px 0}.section-sm{padding:24px 0}.section-xs{padding:16px 0}}
.divider{height:1px;background:var(--gray-200);margin:32px 0}
.eyebrow{display:block;font-size:0.68rem;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;color:var(--gold);margin-bottom:8px}
.section-title{text-align:center;margin-bottom:32px}
.section-title h2{margin-bottom:8px}
.section-title p{max-width:520px;margin:0 auto;font-size:0.9rem}

/* NAV */
.nav{position:fixed;top:0;left:0;right:0;z-index:1000;height:var(--nav-h);background:rgba(255,255,255,0.82);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid rgba(0,0,0,0.08);transition:var(--t)}
.nav-inner{max-width:var(--max-w);margin:0 auto;padding:0 40px;height:100%;display:flex;align-items:center;justify-content:center;gap:64px;position:relative}
.nav-logo img{height:22px;width:auto}
.nav-menu{display:flex;align-items:center;gap:32px}
.nav-menu a{font-size:0.78rem;font-weight:400;color:var(--gray-900);opacity:0.8;transition:var(--t)}
.nav-menu a:hover,.nav-menu a.active{opacity:1}
.nav-search-btn{position:absolute;right:40px;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--gray-900);cursor:pointer;transition:var(--t);opacity:0.8}
.nav-search-btn:hover{opacity:1;background:rgba(0,0,0,0.05)}
.nav-search-btn svg{width:16px;height:16px}
.nav-hamburger{display:none;position:absolute;right:16px;flex-direction:column;gap:5px;padding:8px;cursor:pointer}
.nav-hamburger span{display:block;width:20px;height:1.5px;background:var(--gray-900);transition:var(--t)}
.nav-hamburger.open span:nth-child(1){transform:rotate(45deg) translate(4.5px,4.5px)}
.nav-hamburger.open span:nth-child(2){opacity:0}
.nav-hamburger.open span:nth-child(3){transform:rotate(-45deg) translate(4.5px,-4.5px)}
@media(max-width:768px){
  .nav-inner{justify-content:center;gap:0}
  .nav-logo{margin:0 auto}
  .nav-menu{display:none;position:fixed;top:var(--nav-h);left:0;right:0;background:rgba(255,255,255,0.97);backdrop-filter:blur(20px);flex-direction:column;padding:24px 20px;gap:20px;border-bottom:1px solid var(--gray-200);z-index:999}
  .nav-menu.open{display:flex}
  .nav-menu a{font-size:1rem}
  .nav-hamburger{display:flex}
  .nav-search-btn{right:48px}
}

/* SEARCH */
.search-overlay{position:fixed;inset:0;z-index:2000;background:rgba(255,255,255,0.96);backdrop-filter:blur(20px);display:flex;flex-direction:column;align-items:center;padding-top:80px;opacity:0;pointer-events:none;transition:var(--t)}
.search-overlay.open{opacity:1;pointer-events:all}
.search-overlay-inner{width:100%;max-width:560px;padding:0 20px}
.search-close{position:absolute;top:16px;right:40px;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--gray-500);cursor:pointer;transition:var(--t)}
.search-close:hover{background:var(--gray-100);color:var(--gray-900)}
.search-input-wrap{display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--gray-300);padding-bottom:8px;margin-bottom:16px}
.search-input-wrap svg{width:18px;height:18px;color:var(--gray-300);flex-shrink:0}
.search-input{flex:1;border:none;outline:none;background:transparent;font-size:1.1rem;color:var(--gray-900);font-family:var(--font)}
.search-input::placeholder{color:var(--gray-300)}
.search-results{max-height:360px;overflow-y:auto}
.search-result-item{padding:12px 8px;border-bottom:1px solid var(--gray-100);cursor:pointer;transition:var(--t);display:flex;align-items:center;justify-content:space-between}
.search-result-item:hover{background:var(--gray-50)}
.search-result-item h4{font-size:0.88rem;font-weight:500;color:var(--gray-900);margin-bottom:2px}
.search-result-item p{font-size:0.75rem;color:var(--gray-500);margin:0}
.search-result-item svg{width:13px;height:13px;color:var(--gray-300);flex-shrink:0}
.search-hint{font-size:0.78rem;color:var(--gray-300);text-align:center;padding:32px 0}

/* LANG TOGGLE */
.lang-toggle{position:fixed;bottom:24px;right:24px;z-index:500;display:flex;background:rgba(255,255,255,0.9);backdrop-filter:blur(10px);border:1px solid var(--gray-200);border-radius:20px;overflow:hidden;box-shadow:0 2px 12px rgba(0,0,0,0.08)}
.lang-btn{padding:6px 14px;font-size:0.68rem;font-weight:600;font-family:var(--font);letter-spacing:0.05em;color:var(--gray-500);transition:var(--t);cursor:pointer;border:none;background:none}
.lang-btn.active{background:var(--gray-900);color:var(--white)}
@media(max-width:768px){.lang-toggle{bottom:16px;right:16px}}

/* BUTTONS — refined modern */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 24px;font-family:var(--font);font-size:0.88rem;font-weight:500;letter-spacing:-0.01em;border-radius:980px;transition:var(--t);cursor:pointer;border:1px solid transparent;white-space:nowrap}
.btn svg{width:15px;height:15px;flex-shrink:0}
.btn-primary{background:var(--gray-900);color:var(--white);border-color:var(--gray-900);box-shadow:0 1px 3px rgba(0,0,0,0.18)}
.btn-primary:hover{background:#000;box-shadow:0 4px 16px rgba(0,0,0,0.26)}
.btn-outline{background:transparent;color:var(--gray-900);border-color:var(--gray-300)}
.btn-outline:hover{border-color:var(--gray-900);background:var(--gray-50)}
.btn-whatsapp{background:#128c7e;color:var(--white);border-color:#128c7e}
.btn-whatsapp:hover{background:#0a7a6d;box-shadow:0 4px 14px rgba(18,140,126,0.3)}
.btn-gold{background:linear-gradient(135deg,var(--gold),var(--gold-light));color:var(--white);border-color:transparent;box-shadow:0 2px 8px rgba(184,150,74,0.28)}
.btn-gold:hover{filter:brightness(1.08);box-shadow:0 4px 16px rgba(184,150,74,0.38)}
.btn-sm{padding:8px 18px;font-size:0.8rem}
.btn-lg{padding:16px 32px;font-size:0.95rem}
.cta-btns{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap}

/* BANNER GRID — 4 on desktop, 2 on mobile */
.banner-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
@media(max-width:900px){.banner-grid{grid-template-columns:repeat(2,1fr);gap:10px}}
@media(max-width:420px){.banner-grid{grid-template-columns:repeat(2,1fr);gap:7px}}

.banner-card{border-radius:var(--radius);overflow:hidden;cursor:pointer;transition:var(--t-slow);display:flex;flex-direction:column;background:var(--gray-100);position:relative}
.banner-card:hover{transform:translateY(-4px);box-shadow:0 16px 40px rgba(0,0,0,0.15)}
.banner-card img{width:100%;aspect-ratio:3/4;object-fit:cover;transition:var(--t-slow)}
.banner-card:hover img{transform:scale(1.04)}

/* Banner status — modern frosted overlay */
.banner-status{position:absolute;bottom:0;left:0;right:0;display:block;padding:11px 16px;text-align:center;font-size:0.7rem;font-weight:600;letter-spacing:0.05em;text-transform:uppercase;transition:var(--t);cursor:pointer;border:none;font-family:var(--font);border-radius:0}
.banner-status.open{background:rgba(29,29,31,0.85);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:var(--white)}
.banner-status.open:hover{background:rgba(0,0,0,0.95)}
.banner-status.soon{background:rgba(255,255,255,0.14);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:rgba(255,255,255,0.7);cursor:default}
.banner-tile{display:flex;flex-direction:column;gap:10px}
.banner-cta{display:flex;align-items:center;justify-content:center;width:100%;padding:10px 14px;text-align:center;font-size:0.7rem;font-weight:600;letter-spacing:0.05em;text-transform:uppercase;transition:var(--t);border:1px solid var(--gray-200);border-radius:12px;font-family:var(--font)}
.banner-cta.open{background:var(--gray-900);border-color:var(--gray-900);color:var(--white)}
.banner-cta.open:hover{background:#000;border-color:#000}
.banner-cta.soon{background:var(--gray-100);border-color:var(--gray-200);color:var(--gray-500);cursor:default}
@media(max-width:420px){.banner-tile{gap:8px}.banner-cta{padding:9px 10px;font-size:0.66rem}}
@keyframes pulse-booking{0%,100%{opacity:1}50%{opacity:0.78}}

/* YEAR LINK BLOCK */
.year-link-block{display:flex;align-items:center;justify-content:space-between;padding:24px 32px;background:var(--gray-100);border-radius:var(--radius);cursor:pointer;transition:var(--t);text-decoration:none;color:inherit}
.year-link-block:hover{background:var(--gray-200)}
.year-link-block h3{font-size:1rem;font-weight:600;color:var(--gray-900);margin-bottom:2px}
.year-link-block p{font-size:0.82rem;color:var(--gray-500);margin:0}
.year-link-block svg{width:16px;height:16px;color:var(--gray-500);flex-shrink:0}

/* TOUR HERO */
.tour-hero{position:relative;width:100%;height:56vh;min-height:340px;max-height:500px;overflow:hidden}
.tour-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 30%}
.tour-hero-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(0,0,0,0.18) 0%,rgba(0,0,0,0.08) 45%,rgba(0,0,0,0.72) 100%)}
.tour-hero-content{position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:100%;max-width:var(--max-w);padding:28px 40px}
.hero-eyebrow{font-size:0.65rem;font-weight:500;letter-spacing:0.08em;text-transform:uppercase;color:rgba(255,255,255,0.65);margin-bottom:6px}
.tour-hero-content h1{color:var(--white);margin-bottom:6px}
.tour-hero-content .hero-dates{font-size:0.88rem;color:rgba(255,255,255,0.8)}
@media(max-width:1024px){.tour-hero-content{padding:24px}}
@media(max-width:768px){.tour-hero{height:44vh;min-height:260px}.tour-hero-content{padding:22px}.tour-hero-content h1{font-size:1.5rem}}
@media(max-width:480px){.tour-hero-content{padding:18px}}

/* HIGHLIGHTS GRID */
.highlights-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(135px,1fr));gap:8px;max-width:900px;margin:0 auto}
.highlight-card{background:var(--gray-50);border-radius:var(--radius-sm);padding:16px;text-align:center;transition:var(--t)}
.highlight-card:hover{background:var(--white);box-shadow:0 2px 12px rgba(0,0,0,0.06)}
.highlight-card svg{width:20px;height:20px;color:var(--gold);margin:0 auto 8px}
.highlight-card h4{font-size:0.75rem;font-weight:600;color:var(--gray-900);margin-bottom:2px}
.highlight-card p{font-size:0.65rem;color:var(--gray-500);margin:0}

/* PHASES */
.phases-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(175px,1fr));gap:8px;max-width:900px;margin:0 auto}
.phase-card{background:var(--gray-50);border:1px solid var(--gray-200);border-radius:var(--radius-sm);padding:16px;transition:var(--t)}
.phase-card:hover{background:var(--white);border-color:var(--gray-300)}
.phase-num{font-size:0.6rem;font-weight:600;letter-spacing:0.08em;color:var(--gold);text-transform:uppercase;margin-bottom:3px}
.phase-card h4{font-size:0.82rem;font-weight:600;color:var(--gray-900);margin-bottom:3px}
.phase-card p{font-size:0.7rem;color:var(--gray-500);margin:0;line-height:1.4}

/* ROUTE MAP */
.route-map{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;padding:20px 0}
.route-stop{display:flex;flex-direction:column;align-items:center;text-align:center;gap:5px}
.route-dot{width:8px;height:8px;border-radius:50%;background:var(--gray-900)}
.route-dot.gold{background:var(--gold);box-shadow:0 0 0 2px rgba(184,150,74,0.2);width:11px;height:11px}
.route-name{font-size:0.6rem;font-weight:500;color:var(--gray-700);max-width:56px}
.route-line{flex:1;min-width:10px;height:1px;background:var(--gray-200);margin-bottom:18px}
@media(max-width:768px){
  .route-map{flex-direction:column;align-items:flex-start;gap:0;padding:0}
  .route-stop{flex-direction:row;align-items:center;gap:12px;padding:8px 0;text-align:left}
  .route-dot,.route-dot.gold{flex-shrink:0}
  .route-name{max-width:none;font-size:0.82rem}
  .route-line{width:1px;height:20px;min-width:1px;margin:0 0 0 5px;align-self:stretch}
}

/* ACCORDION */
.acc-list{border:1px solid var(--gray-200);border-radius:var(--radius-sm);overflow:hidden}
.acc-item{border-bottom:1px solid var(--gray-200)}
.acc-item:last-child{border-bottom:none}
.acc-btn{width:100%;padding:14px 20px;display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:0.88rem;font-weight:600;color:var(--gray-900);background:var(--white);cursor:pointer;text-align:left;font-family:var(--font);transition:var(--t)}
.acc-btn:hover{background:var(--gray-50)}
.acc-btn .acc-day{font-size:0.68rem;font-weight:600;color:var(--gold);text-transform:uppercase;letter-spacing:0.06em;flex-shrink:0}
.acc-btn .acc-dest{flex:1;font-size:0.85rem;font-weight:600;color:var(--gray-900)}
.acc-btn svg{width:14px;height:14px;color:var(--gray-500);flex-shrink:0;transition:var(--t)}
.acc-btn.open svg{transform:rotate(180deg)}
.acc-body{display:none;padding:12px 20px 16px;background:var(--gray-50)}
.acc-body.show{display:block}
.acc-body ul{padding-left:16px}
.acc-body ul li{font-size:0.82rem;color:var(--gray-700);line-height:1.65;margin-bottom:4px;list-style:disc}
.acc-body p{font-size:0.82rem;color:var(--gray-700);line-height:1.65;margin-bottom:6px}
.show-more-btn{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:12px;font-size:0.8rem;font-weight:500;color:var(--gold);background:var(--gray-50);border:none;border-top:1px solid var(--gray-200);cursor:pointer;font-family:var(--font);transition:var(--t)}
.show-more-btn:hover{background:var(--white)}
.show-more-btn svg{width:13px;height:13px;transition:var(--t)}
.show-more-btn.open svg{transform:rotate(180deg)}
.acc-hidden{display:none}
.acc-hidden.show{display:block}

/* PRICING */
.pricing-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:8px;margin-bottom:12px;max-width:820px;margin-left:auto;margin-right:auto}
.pricing-card{border:1px solid var(--gray-200);border-radius:var(--radius-sm);padding:16px;text-align:center;transition:var(--t);cursor:pointer}
.pricing-card:hover{border-color:var(--gray-500)}
.pricing-card.sel{border-color:var(--gray-900);background:var(--gray-900)}
.pricing-card.sel .pricing-label,.pricing-card.sel .pricing-note{color:rgba(255,255,255,0.6)}
.pricing-card.sel .pricing-amount{color:var(--white)}
.pricing-label{font-size:0.65rem;font-weight:500;color:var(--gray-500);text-transform:uppercase;letter-spacing:0.04em;margin-bottom:8px}
.pricing-amount{font-size:1.2rem;font-weight:700;color:var(--gray-900);letter-spacing:-0.02em}
.pricing-amount sup{font-size:0.65rem}
.pricing-note{font-size:0.62rem;color:var(--gray-500);margin-top:3px}
.pricing-gst{font-size:0.72rem;color:var(--gray-500);padding:4px 0;text-align:center}

/* INCLUSIONS / EXCLUSIONS */
.inc-exc-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px}
@media(max-width:640px){.inc-exc-grid{grid-template-columns:1fr}}
.inc-list,.exc-list{display:flex;flex-direction:column;gap:8px}
.inc-item,.exc-item{display:flex;align-items:flex-start;gap:8px;font-size:0.82rem;color:var(--gray-700);line-height:1.5}
.inc-item svg{color:var(--success);flex-shrink:0;margin-top:2px;width:13px;height:13px}
.exc-item svg{color:var(--error);flex-shrink:0;margin-top:2px;width:13px;height:13px}

/* INFO BOX */
.info-box{background:#fff8e6;border:1px solid #f0d080;border-radius:var(--radius-sm);padding:16px;margin-bottom:12px}
.info-box h4{font-size:0.82rem;font-weight:600;color:var(--gray-900);margin-bottom:8px}
.info-box p,.info-box li{font-size:0.78rem;color:var(--gray-700);line-height:1.6}
.info-box ul{padding-left:16px}
.info-box ul li{margin-bottom:3px;list-style:disc}

/* CTA SECTION */
.cta-section{background:var(--gray-100);border-radius:var(--radius);padding:48px 40px;text-align:center}
.cta-section h2{margin-bottom:8px}
.cta-section p{max-width:440px;margin:0 auto 32px;font-size:0.9rem}
@media(max-width:768px){.cta-section{padding:32px 20px}}

/* STICKY CTA */
.sticky-cta{position:sticky;bottom:0;z-index:200;background:rgba(255,255,255,0.92);backdrop-filter:saturate(180%) blur(16px);border-top:1px solid var(--gray-200);padding:12px 40px;display:flex;align-items:center;justify-content:center;gap:12px;transition:opacity 0.3s ease,transform 0.3s ease}
.sticky-cta.hidden-cta{opacity:0;pointer-events:none;transform:translateY(100%)}
@media(max-width:640px){.sticky-cta{flex-direction:column;padding:12px 20px}.sticky-cta .btn{width:100%}}

/* FOUNDER LETTER */
.founder-letter{background:var(--gray-50);border-radius:var(--radius-sm);padding:32px;font-style:italic}
.founder-letter p{font-size:0.95rem;line-height:1.8;color:var(--gray-700);margin-bottom:16px}
.founder-letter .signature{font-weight:600;font-style:normal;font-size:0.88rem;color:var(--gray-900)}

/* FOOTER */
.footer{background:var(--gray-900);color:var(--white);padding:32px 0}
.footer-inner{max-width:var(--max-w);margin:0 auto;padding:0 40px;display:flex;flex-direction:column;align-items:center;gap:16px}
.footer-logo img{height:20px;filter:brightness(0) invert(1)}
.footer-social{display:flex;align-items:center;gap:20px}
.footer-social a{width:34px;height:34px;border-radius:50%;border:1px solid rgba(255,255,255,0.15);color:rgba(255,255,255,0.6);display:flex;align-items:center;justify-content:center;transition:var(--t)}
.footer-social a:hover{background:rgba(255,255,255,0.1);border-color:rgba(255,255,255,0.35);color:var(--white)}
.footer-social a svg{width:14px;height:14px}
.footer-copy{font-size:0.68rem;color:rgba(255,255,255,0.35);text-align:center}
@media(max-width:768px){.footer-inner{padding:0 20px}}

/* SOCIAL CTA */
.social-cta{text-align:center;padding:64px 40px;border-top:1px solid var(--gray-200)}
.social-cta h2{margin-bottom:8px}
.social-cta>p{color:var(--gray-500);margin-bottom:40px;font-size:0.9rem}
.social-cta-row{display:flex;justify-content:center;gap:48px;flex-wrap:wrap}
.social-cta-item{display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--gray-900);transition:var(--t);cursor:pointer;text-decoration:none}
.social-cta-item:hover{transform:translateY(-3px)}
.social-icon-wrap{width:52px;height:52px;border-radius:50%;background:var(--gray-100);display:flex;align-items:center;justify-content:center;transition:var(--t)}
.social-cta-item:hover .social-icon-wrap{background:var(--gray-900);color:var(--white)}
.social-icon-wrap svg{width:20px;height:20px}
.social-cta-item span{font-size:0.7rem;font-weight:500;letter-spacing:0.02em}

/* BOOKING PAGE */
.booking-back{font-size:0.78rem;color:var(--gray-500);display:flex;align-items:center;gap:4px;transition:var(--t)}
.booking-back:hover{color:var(--gray-900)}
.booking-back svg{width:14px;height:14px}
.booking-body{max-width:680px;margin:0 auto;padding:40px}
.booking-hero-text{text-align:center;margin-bottom:40px}
.booking-hero-text h1{font-size:clamp(1.6rem,4vw,2.4rem);margin-top:4px}
@media(max-width:768px){.booking-body{padding:24px 16px}}

.bk-section{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius);padding:24px;margin-bottom:12px}
.bk-section-label{font-size:0.6rem;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;color:var(--gold);margin-bottom:4px}
.bk-section h3{font-size:0.92rem;font-weight:600;color:var(--gray-900);margin-bottom:16px}
.form-divider{height:1px;background:var(--gray-200);margin:20px 0}

/* Tour selector — with visible dividers */
.tour-selector{display:flex;flex-direction:column;gap:0;border:1px solid var(--gray-200);border-radius:var(--radius-sm);overflow:hidden}
.tour-option{border-bottom:1px solid var(--gray-200);padding:14px 16px;cursor:pointer;transition:var(--t);display:flex;align-items:center;gap:12px;background:var(--white);position:relative}
.tour-option:last-child{border-bottom:none}
.tour-option:hover{background:var(--gray-50)}
.tour-option.sel{background:#fff8e6}
.tour-option.sel::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--gold)}
.tour-option-num{font-size:0.6rem;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:var(--gold);background:rgba(184,150,74,0.1);padding:3px 8px;border-radius:10px;flex-shrink:0}
.tour-option-info{flex:1}
.tour-option-name{font-size:0.88rem;font-weight:600;color:var(--gray-900);margin-bottom:2px}
.tour-option-dates{font-size:0.72rem;color:var(--gray-500)}
.tour-option-status{font-size:0.65rem;font-weight:600;padding:2px 8px;border-radius:10px;flex-shrink:0}
.tour-option-status.open{background:var(--gray-900);color:var(--white)}
.tour-option-status.soon{background:var(--gray-200);color:var(--gray-500)}

/* FIELDS */
.field-group{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px;min-width:0;width:100%}
.field-group.single{grid-template-columns:1fr}
.field-group.triple{grid-template-columns:1fr 1fr 1fr}
@media(max-width:560px){.field-group,.field-group.triple{grid-template-columns:1fr}}
/* Fix: every grid cell must be constrained so long filenames cannot push siblings out */
.field-group>.field{min-width:0;overflow:hidden;width:100%}
.field{display:flex;flex-direction:column;gap:5px}
.field label{font-size:0.72rem;font-weight:500;color:var(--gray-700)}
.field label .opt{font-weight:400;color:var(--gray-300);font-size:0.68rem}
.field input,.field select,.field textarea{width:100%;padding:10px 12px;border:1px solid var(--gray-200);border-radius:var(--radius-sm);font-size:0.88rem;font-family:var(--font);color:var(--gray-900);background:var(--white);transition:var(--t);outline:none;-webkit-appearance:none;appearance:none}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--gray-900);box-shadow:0 0 0 2px rgba(0,0,0,0.06)}
.field input.error,.field select.error{border-color:var(--error)}
.field .err-msg{font-size:0.66rem;color:var(--error)}
.field select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='7' viewBox='0 0 12 7'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%236e6e73' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:32px;cursor:pointer}
.field textarea{resize:vertical;min-height:80px}

/* UPLOAD */
.upload-box{border:1px dashed var(--gray-300);border-radius:var(--radius-sm);padding:20px 16px;text-align:center;cursor:pointer;background:var(--gray-50);transition:var(--t);position:relative}
.upload-box:hover{border-color:var(--gray-700);background:var(--white)}
.upload-box input[type="file"]{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}
.upload-box svg{width:20px;height:20px;color:var(--gray-300);margin:0 auto 8px}
.upload-box .up-title{font-size:0.8rem;color:var(--gray-700);font-weight:500}
.upload-box .up-subtitle{font-size:0.68rem;color:var(--gold);margin-top:2px}
.upload-box .up-hint{font-size:0.65rem;color:var(--gray-300);margin-top:2px}
/* upload-preview: min-width:0 prevents grid cell from expanding on long filenames */
.upload-preview{display:flex;align-items:center;gap:8px;padding:7px 10px;background:var(--gray-50);border:1px solid var(--gray-200);border-radius:var(--radius-sm);margin-top:8px;min-width:0;width:100%;box-sizing:border-box}
.upload-preview img{width:36px;height:36px;object-fit:cover;border-radius:3px;flex-shrink:0}
.upload-preview svg{width:24px;height:24px;color:var(--gray-500);flex-shrink:0}
.upload-preview .up-name{font-size:0.72rem;color:var(--gray-700);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.upload-preview .up-remove{font-size:0.68rem;color:var(--error);cursor:pointer;flex-shrink:0;padding:2px 6px;border-radius:4px;transition:var(--t)}
.upload-preview .up-remove:hover{background:#fff0f0}
/* Ensure field inside grid never overflows — critical for upload fields in group bookings */
.field-group .field{min-width:0;overflow:hidden}

/* PACKAGE CARDS — premium dark selected state */
.pkg-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:8px;margin-top:8px}
.pkg-card{border:1.5px solid var(--gray-200);border-radius:var(--radius-sm);padding:14px 12px;cursor:pointer;transition:var(--t);text-align:center;background:var(--white)}
.pkg-card:hover{border-color:var(--gray-500);background:var(--gray-50)}
.pkg-label{font-size:0.72rem;font-weight:600;color:var(--gray-700);margin-bottom:6px;line-height:1.3}
.pkg-price{font-size:0.95rem;font-weight:700;color:var(--gray-900);font-variant-numeric:tabular-nums}
.pkg-card.sel{border-color:var(--gray-900);background:var(--gray-900)}
.pkg-card.sel .pkg-label{color:rgba(255,255,255,0.62)}
.pkg-card.sel .pkg-price{color:var(--white)}

/* SEAT TOGGLE */
.seat-toggle{border:1px solid var(--gray-200);border-radius:var(--radius-sm);padding:12px 16px;cursor:pointer;transition:var(--t);display:flex;align-items:center;gap:12px;margin-top:8px}
.seat-toggle:hover{border-color:var(--gray-500)}
.seat-toggle.active{border-color:var(--gray-900);background:var(--gray-50)}
.seat-check{width:20px;height:20px;border-radius:50%;border:1.5px solid var(--gray-300);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:var(--t)}
.seat-toggle.active .seat-check{border-color:var(--gray-900);background:var(--gray-900)}
.seat-check svg{width:11px;height:11px;color:transparent;transition:var(--t)}
.seat-toggle.active .seat-check svg{color:var(--white)}
.seat-text{flex:1}
.seat-text p{font-size:0.82rem;font-weight:600;color:var(--gray-900);margin-bottom:1px}
.seat-text span{font-size:0.7rem;color:var(--gray-500)}
.seat-price{font-size:0.8rem;font-weight:600;color:var(--gold);flex-shrink:0}

/* TRAVELLER BLOCK */
.traveler-block{border:1px solid var(--gray-200);border-radius:var(--radius-sm);overflow:hidden}
.traveler-head{padding:12px 16px;background:var(--gray-50);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--gray-200)}
.traveler-head h4{font-size:0.85rem;font-weight:600}
.role-badge{font-size:0.58rem;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;padding:3px 8px;border-radius:10px;background:rgba(184,150,74,0.12);color:var(--gold)}
.traveler-body{padding:16px}

/* PRICE SUMMARY */
.price-summary{border:1px solid var(--gray-200);border-radius:var(--radius-sm);overflow:hidden;margin-bottom:12px}
.price-summary-head{padding:12px 16px;background:var(--gray-50);border-bottom:1px solid var(--gray-200)}
.price-summary-head h3{font-size:0.82rem;font-weight:600}
.price-rows{padding:12px 16px}
.ps-row{display:flex;justify-content:space-between;align-items:center;padding:5px 0;border-bottom:1px solid var(--gray-100);font-size:0.8rem}
.ps-row:last-child{border-bottom:none}
.ps-row.total{font-weight:700;font-size:0.88rem;padding-top:10px;margin-top:4px;border-top:1px solid var(--gray-200);border-bottom:none}
.ps-row .pl{color:var(--gray-700)}
.ps-row .pa{color:var(--gray-900);font-variant-numeric:tabular-nums}
.due-block{padding:12px 16px;background:#fff8e6;border-top:1px solid #f0d080}
.due-row{display:flex;justify-content:space-between;align-items:center;font-size:0.82rem;font-weight:700}
.due-row .due-amt{font-size:1rem;color:var(--gray-900)}
.due-date{font-size:0.68rem;color:var(--gray-500);margin-top:4px}
.due-note{font-size:0.65rem;color:var(--gray-500);margin-top:3px}

/* T&C */
.tnc-box{border:1px solid var(--gray-200);border-radius:var(--radius-sm);overflow:hidden}
.tnc-scroll{max-height:260px;overflow-y:auto;padding:20px;font-size:0.78rem;color:var(--gray-700);line-height:1.7}
.tnc-scroll h4{font-size:0.8rem;font-weight:600;color:var(--gray-900);margin:14px 0 4px}
.tnc-scroll h4:first-child{margin-top:0}
.tnc-scroll ul{padding-left:16px;list-style:disc;margin-bottom:6px}
.tnc-scroll ul li{margin-bottom:2px}
.tnc-foot{padding:14px 20px;border-top:1px solid var(--gray-200);background:var(--gray-50)}
.checkbox-row{display:flex;align-items:flex-start;gap:10px;cursor:pointer;font-size:0.78rem;color:var(--gray-700);line-height:1.5}
.checkbox-row input[type="checkbox"]{width:15px;height:15px;accent-color:var(--gray-900);flex-shrink:0;margin-top:2px}

#submitBtn{width:100%;font-size:0.92rem;padding:14px;border-radius:var(--radius-sm)}
#submitBtn:disabled{opacity:0.5;cursor:not-allowed}

/* TOAST */
.toast{position:fixed;top:80px;left:50%;transform:translateX(-50%) translateY(-20px);z-index:4000;background:var(--gray-900);color:var(--white);padding:12px 24px;border-radius:980px;font-size:0.85rem;font-weight:500;opacity:0;transition:all 0.3s ease;pointer-events:none;white-space:nowrap}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}

/* VOUCHER */
.voucher-overlay{position:fixed;inset:0;z-index:3000;background:rgba(0,0,0,0.5);backdrop-filter:blur(4px);display:none;align-items:center;justify-content:center;padding:16px}
.voucher-overlay.open{display:flex}
.voucher-modal{background:var(--white);border-radius:var(--radius);width:100%;max-width:640px;max-height:92vh;overflow-y:auto}
.voucher-modal-top{position:sticky;top:0;background:var(--white);border-bottom:1px solid var(--gray-200);padding:12px 20px;display:flex;align-items:center;justify-content:space-between;z-index:1}
.voucher-modal-top h4{font-size:0.85rem;font-weight:600}
.v-action-row{display:flex;gap:6px;flex-wrap:wrap}
.voucher-content{padding:32px}
/* Voucher top — logo 2x larger, aligned to voucher number bottom */
.v-top{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:24px;padding-bottom:24px;border-bottom:1.5px solid var(--gray-900)}
.v-top-left{display:flex;align-items:flex-end;gap:20px}
.v-top-left img{height:44px;display:block;width:auto}
.v-vid-group{display:flex;flex-direction:column;justify-content:flex-end}
.vid-block{text-align:right}
.vid-label{font-size:0.58rem;letter-spacing:0.08em;text-transform:uppercase;color:var(--gray-500)}
.vid-num{font-size:1rem;font-weight:700;color:var(--gray-900);letter-spacing:0.04em}
.v-tour-name{font-size:1rem;font-weight:600;margin-bottom:4px}
.v-sec{margin-bottom:20px}
.v-sec-title{font-size:0.56rem;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;color:var(--gold);border-bottom:1px solid var(--gray-200);padding-bottom:4px;margin-bottom:12px}
.v-row{display:flex;gap:12px;font-size:0.76rem;padding:5px 0;border-bottom:1px solid var(--gray-100)}
.v-row:last-child{border-bottom:none}
.v-label{color:var(--gray-500);min-width:140px;flex-shrink:0}
.v-val{color:var(--gray-900);font-weight:500;font-variant-numeric:tabular-nums}
.v-total-bar{background:var(--gray-900);color:var(--white);padding:12px 16px;border-radius:var(--radius-sm);display:flex;justify-content:space-between;align-items:center;margin-top:12px}
.v-total-bar .vtl{font-size:0.7rem;opacity:0.6}
.v-total-bar .vta{font-size:1.05rem;font-weight:700;font-variant-numeric:tabular-nums}
.v-due-bar{background:#fff8e6;border:1px solid #f0d080;border-radius:var(--radius-sm);padding:10px 16px;margin-top:5px}
.v-due-row{display:flex;justify-content:space-between;align-items:center;font-size:0.82rem;font-weight:700}
.v-due-date{font-size:0.68rem;color:var(--gray-500);margin-top:3px}
.v-banking{background:var(--gray-50);border-radius:var(--radius-sm);padding:16px}
.v-banking h4{font-size:0.78rem;font-weight:600;margin-bottom:12px}
.v-footer-note{font-size:0.64rem;color:var(--gray-500);text-align:center;padding-top:20px;border-top:1px solid var(--gray-200);margin-top:20px;line-height:1.6}

/* MODAL */
.modal-overlay{position:fixed;inset:0;z-index:2500;background:rgba(0,0,0,0.4);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:16px;opacity:0;pointer-events:none;transition:var(--t)}
.modal-overlay.open{opacity:1;pointer-events:all}
.modal-box{background:var(--white);border-radius:var(--radius);width:100%;max-width:440px;padding:32px;position:relative}
.modal-close{position:absolute;top:12px;right:12px;width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--gray-500);transition:var(--t)}
.modal-close:hover{background:var(--gray-100);color:var(--gray-900)}
.modal-close svg{width:14px;height:14px}
.modal-box h3{font-size:1.05rem;margin-bottom:4px}
.modal-box p{font-size:0.8rem;color:var(--gray-500);margin-bottom:24px}

/* CONTACT */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}
@media(max-width:768px){.contact-grid{grid-template-columns:1fr;gap:40px}}
.contact-detail{display:flex;gap:16px;padding:12px 0;border-bottom:1px solid var(--gray-200);align-items:flex-start}
.contact-detail:last-child{border-bottom:none}
.contact-detail svg{width:15px;height:15px;color:var(--gold);flex-shrink:0;margin-top:2px}
.cd-label{font-size:0.62rem;font-weight:600;letter-spacing:0.06em;text-transform:uppercase;color:var(--gray-500);margin-bottom:2px}
.cd-value{font-size:0.82rem;color:var(--gray-900);font-weight:400;line-height:1.55}
.city-chips{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}
.city-chip{padding:2px 10px;background:var(--gray-100);border-radius:14px;font-size:0.68rem;font-weight:500;color:var(--gray-700)}
.appt-note{background:var(--gray-50);border-radius:var(--radius-sm);padding:16px;margin-top:8px}
.appt-note p{font-size:0.76rem;color:var(--gray-700);margin:0;line-height:1.6}

/* TOURS PAGE */
.year-heading{font-size:0.62rem;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;color:var(--gray-500);margin-bottom:16px;display:flex;align-items:center;gap:12px}
.year-heading::after{content:'';flex:1;height:1px;background:var(--gray-200)}
.future-strip{border:1px dashed var(--gray-300);border-radius:var(--radius-sm);padding:40px;text-align:center;color:var(--gray-300)}
.future-strip h3{color:var(--gray-300);margin-bottom:8px}

/* DEST CHIPS */
.dest-chips{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;max-width:760px;margin:0 auto}
.dest-chip{padding:4px 14px;background:var(--gray-100);border-radius:20px;font-size:0.78rem;font-weight:500;color:var(--gray-700)}

/* ANIMATIONS */
.reveal{opacity:0;transform:translateY(14px);transition:opacity 0.5s var(--ease),transform 0.5s var(--ease)}
.reveal.visible{opacity:1;transform:translateY(0)}
.d1{transition-delay:0.08s}.d2{transition-delay:0.16s}.d3{transition-delay:0.24s}.d4{transition-delay:0.32s}

/* UTILS */
.text-center{text-align:center}
.hidden{display:none!important}
.show{display:block!important}
.gold{color:var(--gold)}
.muted{color:var(--gray-500)}
.mt-sm{margin-top:8px}.mt-md{margin-top:16px}.mt-lg{margin-top:24px}.mt-xl{margin-top:40px}
.mb-md{margin-bottom:16px}.mb-lg{margin-bottom:24px}.mb-xl{margin-bottom:40px}
.star{font-size:0.65rem;vertical-align:super;color:var(--gold)}

::-webkit-scrollbar{width:4px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:var(--gray-200);border-radius:2px}
:focus-visible{outline:2px solid var(--gray-900);outline-offset:2px;border-radius:2px}

/* PRINT FIX — desktop + mobile */
@media print{
  /* Single-page clean print — only voucher content, no duplicates */
  @page{margin:10mm;size:A4 portrait}
  html,body{margin:0!important;padding:0!important}
  body>*{display:none!important}
  #voucherPrintFrame{display:block!important;position:static!important;width:100%!important;border:none!important}
}

/* TOUR 2 / 3 PREMIUM PAGE STYLES */
.t2-glance{background:var(--gray-900);padding:20px 0}
.t2-glance-inner{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;max-width:900px;margin:0 auto;padding:0 20px}
.t2-glance-item{display:flex;flex-direction:column;align-items:center;padding:10px 28px;border-right:1px solid #3a3a3c}
.t2-glance-item:last-child{border-right:none}
.t2-glance-label{font-size:0.52rem;letter-spacing:0.12em;text-transform:uppercase;color:#6e6e73;margin-bottom:4px}
.t2-glance-value{font-size:0.98rem;font-weight:700;color:#fff}
.t2-glance-icon{font-size:1.1rem;margin-bottom:3px}
@media(max-width:600px){.t2-glance-item{padding:8px 14px;width:50%;border-bottom:1px solid #3a3a3c}.t2-glance-item:nth-child(even){border-right:none}.t2-glance-item:last-child{width:100%;border-right:none;border-bottom:none}}
.t2-letter{max-width:680px;margin:0 auto;background:var(--gray-50);border-left:4px solid var(--gold);border-radius:0 var(--radius) var(--radius) 0;padding:28px 32px}
.t2-letter p{font-size:0.92rem;line-height:1.9;color:var(--gray-700);font-style:italic}
.t2-letter-sig{margin-top:16px;text-align:right;font-size:0.78rem;font-weight:600;color:var(--gold);font-style:normal}
.t2-feature-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;max-width:820px;margin:0 auto}
@media(max-width:600px){.t2-feature-grid{grid-template-columns:1fr}}
.t2-feature-card{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius);padding:24px;transition:var(--t);position:relative;overflow:hidden}
.t2-feature-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform 0.3s}
.t2-feature-card:hover::before{transform:scaleX(1)}
.t2-feature-card:hover{border-color:var(--gold)}
.t2-feature-icon{font-size:1.8rem;margin-bottom:10px;display:block}
.t2-feature-title{font-size:0.86rem;font-weight:700;color:var(--gray-900);margin-bottom:6px}
.t2-feature-desc{font-size:0.75rem;color:var(--gray-500);line-height:1.7}
.t2-jyo-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;max-width:860px;margin:0 auto}
@media(max-width:768px){.t2-jyo-grid{grid-template-columns:repeat(2,1fr)}}
.t2-jyo-card{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius-sm);padding:16px 12px;text-align:center;transition:var(--t)}
.t2-jyo-card:hover{border-color:var(--gold);background:var(--gray-50)}
.t2-jyo-num{font-size:0.56rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:var(--gold);margin-bottom:6px}
.t2-jyo-icon{font-size:1.3rem;margin-bottom:5px;display:block}
.t2-jyo-name{font-size:0.8rem;font-weight:700;color:var(--gray-900);margin-bottom:2px}
.t2-jyo-state{font-size:0.6rem;color:var(--gray-500)}
.t2-route-wrap{max-width:100%;overflow-x:auto;padding:8px 20px 16px}
.t2-route{display:flex;align-items:flex-start;min-width:max-content;padding:24px 0 8px}
.t2-route-stop{display:flex;flex-direction:column;align-items:center;position:relative;padding-top:20px}
.t2-route-label{position:absolute;top:0;font-size:0.48rem;font-weight:700;text-transform:uppercase;letter-spacing:0.1em;color:var(--gold)}
.t2-route-dot{width:10px;height:10px;border-radius:50%;background:var(--gray-300);margin-bottom:6px;flex-shrink:0}
.t2-route-dot.gold{background:var(--gold);width:14px;height:14px;box-shadow:0 0 0 3px rgba(184,150,74,0.2)}
.t2-route-dot.saffron{background:var(--saffron);width:12px;height:12px}
.t2-route-name{font-size:0.56rem;color:var(--gray-500);text-align:center;max-width:68px;line-height:1.4}
.t2-route-name.bold{color:var(--gray-900);font-weight:700;font-size:0.6rem}
.t2-route-line{height:2px;width:28px;background:var(--gray-200);flex-shrink:0;align-self:flex-start;margin-top:31px}
.t2-route-line.gold-line{background:var(--gold)}
.t2-price-card-dark{background:var(--gray-900);border-radius:var(--radius);padding:40px 48px;text-align:center;max-width:400px;margin:0 auto;border:1px solid rgba(184,150,74,0.25)}
.t2-price-badge{display:inline-block;background:var(--saffron);color:white;font-size:0.6rem;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;padding:4px 12px;border-radius:100px;margin-bottom:16px;animation:pulse-booking 2s infinite}
.t2-price-label-dark{font-size:0.68rem;letter-spacing:0.08em;text-transform:uppercase;color:#6e6e73;margin-bottom:8px}
.t2-price-amount-dark{font-size:2.8rem;font-weight:800;color:#fff;letter-spacing:-0.03em;line-height:1}
.t2-price-amount-dark sup{font-size:1.3rem;font-weight:600;vertical-align:top;margin-top:6px}
.t2-price-per{font-size:0.7rem;color:#6e6e73;margin-top:6px}
.t2-price-seats{font-size:0.64rem;color:#ff6b6b;margin-top:8px;font-weight:600}
.t2-inc-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:860px;margin:0 auto}
@media(max-width:640px){.t2-inc-grid{grid-template-columns:1fr}}
.t2-inc-col h4{font-size:0.7rem;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;padding:10px 14px;border-radius:var(--radius-sm);margin-bottom:12px}
.t2-inc-col.yes h4{background:#f0fff4;color:#28a745}
.t2-inc-col.no h4{background:#fff5f5;color:#dc3545}
.t2-inc-item{display:flex;gap:10px;align-items:flex-start;padding:8px 0;border-bottom:1px solid var(--gray-100)}
.t2-inc-item:last-child{border-bottom:none}
.t2-inc-check{font-size:0.82rem;flex-shrink:0;margin-top:1px}
.t2-inc-text{font-size:0.74rem;color:var(--gray-700);line-height:1.6}
.t2-compare{max-width:760px;margin:0 auto;border-radius:var(--radius);overflow:hidden;border:1px solid var(--gray-200)}
.t2-compare-head{display:grid;grid-template-columns:1fr 1fr}
.t2-compare-head-cell{padding:14px 20px;font-size:0.68rem;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;text-align:center}
.t2-compare-head-cell.yt{background:var(--gray-900);color:var(--gold)}
.t2-compare-head-cell.std{background:var(--gray-100);color:var(--gray-500)}
.t2-compare-row{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--gray-200)}
.t2-compare-cell{padding:13px 18px;font-size:0.76rem;line-height:1.5}
.t2-compare-cell.yt{background:#fff9f0;color:var(--gray-900);font-weight:500;border-right:1px solid var(--gray-200)}
.t2-compare-cell.std{background:var(--white);color:var(--gray-500)}
.t2-imp-item{display:flex;gap:14px;align-items:flex-start;padding:18px 0;border-bottom:1px solid var(--gray-100)}
.t2-imp-item:last-child{border-bottom:none}
.t2-imp-emoji{font-size:1.4rem;flex-shrink:0;width:36px;text-align:center;padding-top:2px}
.t2-imp-body h4{font-size:0.82rem;font-weight:700;color:var(--gray-900);margin-bottom:6px}
.t2-imp-body p,.t2-imp-body ul{font-size:0.76rem;color:var(--gray-500);line-height:1.7}
.t2-imp-body ul{padding-left:16px;list-style:disc}
.t2-imp-body li{margin-bottom:3px}
.t2-cancel-item{padding:16px 0;border-bottom:1px solid var(--gray-100)}
.t2-cancel-item:last-child{border-bottom:none}
.t2-cancel-title{font-size:0.8rem;font-weight:700;color:var(--gray-900);margin-bottom:8px}
.t2-cancel-list{list-style:none;padding:0}
.t2-cancel-list li{font-size:0.76rem;color:var(--gray-500);padding:4px 0 4px 16px;position:relative;line-height:1.6}
.t2-cancel-list li::before{content:'—';position:absolute;left:0;color:var(--gray-300)}
.day-emoji{font-size:0.82rem;margin-right:4px}
.jyo-badge{display:inline-block;background:linear-gradient(135deg,#b8964a,#d4af72);color:white;font-size:0.48rem;font-weight:700;padding:2px 7px;border-radius:100px;margin-left:6px;vertical-align:middle;letter-spacing:0.06em;text-transform:uppercase}


/* LEGAL / SUPPORT FOOTER LINKS */
.footer-legal{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap}
.footer-legal a{font-size:0.72rem;color:rgba(255,255,255,0.72);transition:var(--t)}
.footer-legal a:hover{color:var(--white)}

/* LEGAL / SUPPORT PAGES */
.legal-page{max-width:860px;margin:0 auto}
.legal-page .section-title{margin-bottom:24px}
.legal-card{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius);padding:28px 28px 8px}
.legal-card h2{font-size:1.05rem;margin-bottom:14px}
.legal-card h3{font-size:0.88rem;font-weight:600;color:var(--gray-900);margin:0 0 8px}
.legal-card p,.legal-card li{font-size:0.82rem;color:var(--gray-700);line-height:1.7}
.legal-card ul{list-style:disc;padding-left:18px;margin:0 0 18px}
.legal-card section{margin-bottom:20px}
.legal-note{background:var(--gray-50);border:1px solid var(--gray-200);border-radius:var(--radius-sm);padding:16px;margin-top:18px}
.legal-note p{font-size:0.76rem;color:var(--gray-700);margin:0}
.legal-meta{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0 22px}
.legal-meta-item{background:var(--gray-50);border-radius:var(--radius-sm);padding:14px}
.legal-meta-item .meta-label{font-size:0.62rem;font-weight:600;letter-spacing:0.06em;text-transform:uppercase;color:var(--gray-500);margin-bottom:4px}
.legal-meta-item .meta-value{font-size:0.8rem;color:var(--gray-900);line-height:1.55}
@media(max-width:640px){.footer-legal{gap:10px}.legal-card{padding:22px 18px 4px}.legal-meta{grid-template-columns:1fr}}

/* v22 mobile/tablet polish */
@media(max-width:768px){
  .container{padding:0 22px}
  .section-title h2{line-height:1.14}
}
@media(max-width:480px){
  .container{padding:0 18px}
  .section-title h2{font-size:clamp(1.55rem,8vw,2rem)}
}
