/* Homepage: photography and Thai editorial hierarchy, without decorative motion. */
body{--bg:#f7f6f2;--surface2:#eeede7;background:var(--bg)}
body .section-title{font-size:clamp(1.8rem,3.4vw,2.7rem);line-height:1.35;font-weight:700;letter-spacing:-.02em;margin-bottom:.8rem}
body .section-desc{max-width:68ch;line-height:1.8}
body main>section{padding-block:clamp(48px,6vw,80px)}
body .reveal{opacity:1;transform:none;transition:none}
body #mjHero{min-height:0;padding:0}
body #mjHero .mjh-hero{min-height:760px;min-height:min(860px,92svh);max-width:1200px;margin-inline:auto;padding:130px 0 80px;width:92%;justify-content:center}
body #mjHero h1{font-size:clamp(48px,6vw,78px);line-height:1.18;max-width:14ch;margin:0;text-shadow:none}
body #mjHero h1 .mjh-accent{background:none;-webkit-text-fill-color:currentColor;color:#f2c58c}
body #mjHero :is(.mjh-word,.mjh-photo,.mjh-lede,.mjh-cta,.mjh-stats,.mjh-feature){animation:none;opacity:1;transform:none;will-change:auto}
body #mjHero .mjh-photo-img{animation:none;transform:none;inset:0;will-change:auto}
body #mjHero :is(.mjh-wash,.mjh-vignette,.mjh-fadebottom,.mjh-scroll){display:none}
body #mjHero .mjh-scrim{background:linear-gradient(90deg,rgba(8,20,38,.85),rgba(8,20,38,.45) 50%,rgba(8,20,38,.08))}
body #mjHero .mjh-lede{max-width:47ch;font-size:1.08rem;font-weight:400;text-shadow:none;line-height:1.85}
body #mjHero .mjh-cta{margin-top:28px;gap:12px}
body #mjHero :is(.mjh-btn-primary,.mjh-btn-ghost){min-height:48px;border-radius:6px;box-shadow:none;backdrop-filter:none;transform:none;font-weight:600}
body #mjHero .mjh-btn-primary{background:#b9382a;color:white;padding:14px 22px}
body #mjHero .mjh-btn-primary:hover{background:#962b20;box-shadow:none;transform:none}
body #mjHero .mjh-btn-primary::before{display:none}
body #mjHero .mjh-btn-ghost{background:transparent;border-color:rgba(255,255,255,.6)}
body #mjHero .mjh-btn-ghost:hover{background:rgba(255,255,255,.12);transform:none}
body #mjHero .mjh-stats{gap:24px;margin-top:30px}
body #mjHero .mjh-stats>div{display:flex;align-items:baseline;gap:7px}
body #mjHero .mjh-stats .stat-num{font-size:1rem;font-weight:600;color:#fff}
body #mjHero .mjh-stats .stat-label{font-size:.78rem;letter-spacing:0;color:#e4e7eb}
body #mjHero .mjh-feature{right:4%;bottom:48px;width:250px;padding:0;background:#172033;border:0;border-radius:8px;box-shadow:none;backdrop-filter:none}
body #mjHero .mjh-feature .mjh-thumb{border-radius:8px 8px 0 0}
body #mjHero .mjh-feature .mjh-meta{padding:14px 16px 18px}
body #mjHero .mjh-feature .mjh-livetag{display:none}
body .mj-discovery{padding:36px 0 40px;background:#eeede7;border-bottom:1px solid var(--border)}
body .mj-discovery h2{font-size:1.35rem;font-weight:600;margin-bottom:22px}
body .mj-discovery-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
body .mj-discovery-grid a{padding:0 0 12px;background:none;border:0;border-bottom:1px solid #b8b9b1;border-radius:0;gap:6px}
body .mj-discovery-grid strong{font-size:1rem;font-weight:600}
body .mj-discovery-grid span{color:#59616a;opacity:1}
body .mj-discovery-grid a:hover{border-color:var(--primary);color:var(--primary)}
body .mj-discovery .mj-growth-actions{margin:18px 0 0}
body .mj-discovery .mj-growth-actions a{border:0;padding:4px 0;margin-right:20px;text-decoration:underline;text-underline-offset:5px;min-height:44px}
body :is(.dg-aurora,.wx-aurora,.yl-aurora,.dest-shine){display:none}
body #destinations{background:#172333}
body #destinations :is(.section-desc,.dmap-lead,.dmap-stat .l){color:#c6d0dc!important}
body #destinations .dmap-box{border-radius:12px;background:#101c2b}
body #destinations .dmap-cta{background:#f2c58c;color:#172033;border-radius:6px;box-shadow:none}
body :is(.video-card,.tip-card,.transport-card){background:none;border:0!important;border-radius:0;box-shadow:none;padding:0 0 24px;border-bottom:1px solid var(--border)!important}
body :is(.video-card,.tip-card,.transport-card):hover{box-shadow:none;transform:none}
body :is(.tip-photo,.home-guide-img){width:100%;height:200px;margin:0 0 18px;border:0;border-radius:8px;object-fit:cover}
body .tips-grid{gap:32px}
body #popular-guides .tips-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
body #popular-guides .tip-text{line-height:1.8;color:#596579}
body :is(.btn-primary,.btn-outline,.sf-btn,.load-more){border-radius:6px;box-shadow:none;transform:none}
body .season-bar{background:#eeede7;border:0;border-radius:8px;box-shadow:none}
body .season-bar .s-cta{background:none;color:#962b20;border-radius:0;box-shadow:none}
body #contact{background:#eeede7}
body #contact .section-desc{margin-inline:auto}
body #mjNavbar{background:#122033!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;box-shadow:none!important}
body #mjNavbar .mjn-cta{box-shadow:none!important;background:#b9382a!important;border-radius:6px!important}
body a:focus-visible,body button:focus-visible{outline:3px solid #b9382a!important;outline-offset:4px}
body #mjHero a:focus-visible,body #mjNavbar :focus-visible{outline-color:#f2c58c!important}
body a{text-underline-offset:4px}
body input{caret-color:#b9382a}
@media(max-width:900px){
  body #mjHero .mjh-hero{min-height:720px;padding-block:130px 64px}
  body .mj-discovery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  body #popular-guides .tips-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:560px){
  body #mjHero .mjh-hero{min-height:650px;min-height:85svh;padding:110px 0 48px;justify-content:center}
  body #mjHero h1{font-size:clamp(42px,11vw,58px);line-height:1.22;max-width:none}
  body #mjHero .mjh-scrim{background:linear-gradient(90deg,rgba(8,20,38,.88),rgba(8,20,38,.35))}
  body #mjHero .mjh-lede{font-size:1rem;margin-top:20px}
  body #mjHero .mjh-cta{align-items:stretch;flex-direction:column}
  body #mjHero .mjh-cta a{justify-content:center;width:100%;font-size:1rem}
  body #mjHero .mjh-stats{gap:8px 16px;margin-top:24px}
  body #mjHero .mjh-stats .stat-label{font-size:.72rem}
  body .mj-discovery-grid{gap:20px 16px}
  body .mj-discovery-grid span{font-size:.82rem}
  body #popular-guides .tips-grid{grid-template-columns:1fr}
  body .section-title{font-size:1.9rem}
}

/* Override the more specific legacy word entrances and the injected page fade. */
body.mfx-boot,body.mfx-boot.mfx-booted{opacity:1;transition:none}
body #mjHero h1 .mjh-word{animation:none;opacity:1;transform:none}
body #mjHero .mjh-feature .mjh-livetag i{animation:none}
body #mjpLauncher,body #mjpLauncher .mjp-avatar{animation:none!important;filter:none}
body #mjpTeaser{display:none!important}
body :is(#mjInstallButton,#fxwBtn,#mjAlertBtn){box-shadow:none!important}

body #yamanote{background:#172333;--primary:#9fceae;--text-muted:#c6d0dc}
body #yamanote .section-desc{color:#c6d0dc!important}
body #yamanote #yl-line-sub{color:#c0dcc8!important}
body #yamanote .radar-glow{display:none}
body #yamanote #yl-radar{background:#101c2b;border-radius:12px;box-shadow:none}
body #yamanote #yl-bar{background:#243347!important;box-shadow:none!important;border-radius:8px!important;backdrop-filter:none}
body #yamanote .yl-tab{border-radius:6px!important;backdrop-filter:none;box-shadow:none}
body #yamanote #yl-svg ellipse,body #yamanote #yl-dots circle{filter:none}
body.mfx .mfx-r,body .mfx-pop{opacity:1!important;transform:none!important;animation:none!important;transition:none!important}

/* Seasonal motion is confined to the photograph so reading stays calm. */
#mjHero .mjh-seasonal{position:absolute;inset:0;z-index:14;overflow:hidden;pointer-events:none}
#mjHero .mjh-seasonal-flake{position:absolute;top:-24px;width:var(--size);height:var(--size);border-radius:90% 0 90% 0;opacity:0;animation:mjhSeasonalFall var(--duration) var(--delay) linear infinite}
#mjHero .mjh-seasonal[data-season="sakura"] .mjh-seasonal-flake{border-radius:80% 15% 65% 45%;height:calc(var(--size) * .75)}
#mjHero .mjh-seasonal[data-season="snow"] .mjh-seasonal-flake{border-radius:50%}
#mjHero .mjh-seasonal.is-paused .mjh-seasonal-flake{animation-play-state:paused}
@keyframes mjhSeasonalFall{
  0%{opacity:0;transform:translate3d(0,-24px,0) rotate(0deg)}
  8%{opacity:.75}
  85%{opacity:.65}
  100%{opacity:0;transform:translate3d(var(--drift),max(100svh,900px),0) rotate(460deg)}
}
@media(prefers-reduced-motion:reduce){#mjHero .mjh-seasonal{display:none}}
