.localized-site { margin:0; overflow-x:clip; }
.localized-header { position:relative; z-index:50; display:flex; align-items:center; justify-content:space-between; min-height:72px; gap:16px; padding:12px max(20px,calc((100% - 1160px)/2)); border-bottom:1px solid rgba(30,50,40,.1); background:#fffaf1; }
.orbit-site .localized-header { background:#fafcff; }
.localized-brand { font-size:25px; font-weight:900; text-decoration:none; color:#bc4b00; }
.orbit-site .localized-brand { color:#0876b6; }
.header-actions { display:flex; align-items:center; gap:24px; }
.header-actions > a { text-decoration:none; font-weight:800; font-size:15px; }
.language-menu { position:relative; }
.language-menu summary { cursor:pointer; padding:9px 12px; border:1px solid rgba(30,50,40,.15); border-radius:12px; font-size:14px; font-weight:800; }
.language-menu nav { position:absolute; right:0; top:calc(100% + 8px); display:grid; grid-template-columns:repeat(2,minmax(135px,1fr)); width:min(360px,calc(100vw - 32px)); max-height:70vh; overflow:auto; gap:3px; padding:10px; border:1px solid #ddd; border-radius:16px; background:#fff; box-shadow:0 12px 32px #18211b22; }
.language-menu a { display:block; padding:10px; font-size:14px; color:#253b30; text-decoration:none; border-radius:9px; }
.language-menu a:hover,.language-menu a[aria-current] { background:#edf6f0; }
.language-suggestion { text-align:center; padding:9px 20px; background:#e9f6ed; }
.language-suggestion[hidden] { display:none; }
.language-suggestion a { color:#135b32; font-weight:800; text-underline-offset:3px; }
.localized-site .localized-hero { height:auto; min-height:calc(100svh - 72px); padding-block:40px; }
.localized-eyebrow { margin:0 0 14px; color:#18733f; font-size:13px; font-weight:900; letter-spacing:.08em; line-height:1.4; }
.orbit-site .localized-eyebrow { color:#086da9; }
.localized-hero h1 { font-size:clamp(40px,5.8vw,76px); line-height:1.02; overflow-wrap:anywhere; }
.localized-hero h1 span,.localized-hero h1 em { display:block; }
.localized-hero h1 em { font-style:normal; }
.orbit-site .localized-hero h1 { margin:0 0 18px; color:#0785ce; font-size:clamp(46px,6vw,72px); font-weight:900; letter-spacing:-.05em; }
.localized-intro { margin:22px auto; max-width:560px; color:#46574b; font-size:clamp(17px,1.7vw,21px); line-height:1.5; }
.orbit-site .localized-intro { color:#465665; }
.localized-download { display:inline-block; max-width:100%; padding:13px 20px; border-radius:16px; background:#111713; color:white !important; text-decoration:none; font-size:17px; font-weight:800; line-height:1.4; }
.orbit-site .localized-download { border-radius:999px; }
.device-note { font-size:13px; color:#536057; margin:12px 0; }
.localized-how { display:inline-block; margin:8px 0; color:#146c3a; font-weight:800; font-size:15px; text-underline-offset:4px; }
.orbit-site .localized-how { color:#086da9; }
.localized-content { background:rgba(255,250,241,.98); border-top:1px solid #18211b1a; }
.orbit-site .localized-content { background:#fff; }
.localized-section { width:min(1060px,calc(100% - 48px)); margin:0 auto; padding:56px 0; scroll-margin-top:24px; }
.localized-section + .localized-section { border-top:1px solid #18211b1a; }
.localized-section h2 { max-width:880px; margin:0 0 25px; font-size:clamp(27px,3.5vw,40px); line-height:1.2; font-weight:900; letter-spacing:-.025em; }
.localized-section h3 { margin:0 0 13px; font-size:22px; line-height:1.3; }
.localized-section p { color:#46574b; font-size:17px; line-height:1.65; }
.orbit-site .localized-section p { color:#465665; }
.localized-section a { color:#146c3a; text-underline-offset:4px; font-weight:800; }
.orbit-site .localized-section a { color:#086da9; }
.localized-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; padding:0; margin:28px 0 0; list-style:none; counter-reset:step; }
.localized-steps li { counter-increment:step; background:white; border:1px solid #18211b1a; border-radius:22px; padding:26px; }
.orbit-site .localized-steps li { background:#f7fcff; }
.localized-steps li::before { content:counter(step); display:grid; place-items:center; width:40px; height:40px; margin-bottom:20px; border-radius:13px; color:#98400a; background:#fff0df; font-size:22px; font-weight:900; }
.orbit-site .localized-steps li::before { color:#086da9; background:#e1f3ff; }
.localized-steps p { margin-bottom:0; }
.localized-features { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:48px; }
.localized-faq details { padding:22px 0; border-bottom:1px solid #18211b1a; }
.localized-faq summary { font-size:20px; font-weight:800; line-height:1.4; cursor:pointer; }
.localized-faq details p { margin:16px 0 0; }
.contact-email { display:inline-block; font-size:clamp(17px,2vw,23px); overflow-wrap:anywhere; }
.localized-section .english-note { font-size:14px; margin-top:24px; }
.localized-cta { text-align:center; }
.localized-cta h2 { margin-inline:auto; }
.localized-footer { display:flex; justify-content:center; gap:20px; flex-wrap:wrap; padding:32px 20px; border-top:1px solid #18211b1a; }
.localized-footer a { color:#46574b; font-size:14px; font-weight:700; }
.localized-footer p { flex-basis:100%; margin:0; text-align:center; font-size:13px; color:#536057; }
.support-main { min-height:65vh; }
.support-heading { padding-bottom:20px; }
.support-heading h1 { margin:0; font-size:clamp(32px,5vw,52px); line-height:1.15; letter-spacing:-.03em; }
.localized-site a:focus-visible,.localized-site summary:focus-visible { outline:3px solid #18733f; outline-offset:4px; }
html:lang(ja) .localized-site,html:lang(ko) .localized-site,html:lang(zh-Hans) .localized-site { font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
@media(max-width:980px) and (min-width:761px) {
 .dino-site .hero { grid-template-columns:minmax(250px,.9fr) minmax(300px,1.1fr); gap:30px; }
}
@media(max-width:760px) {
 .localized-header { min-height:64px; padding:10px 16px; gap:10px; }
 .localized-brand { font-size:22px; }
 .header-actions { gap:12px; }
 .header-actions > a { font-size:13px; }
 .language-menu summary { padding:8px; font-size:12px; }
 .localized-site .localized-hero { min-height:calc(100svh - 64px); gap:28px; padding-block:30px; }
 .dino-site .hero { width:calc(100% - 32px); }
 .dino-site .character-side { flex:none; height:auto; width:100%; padding:24px 0; }
 .dino-site .character-card { width:min(66vw,280px); }
 .dino-site .orbit-one { width:min(72vw,304px); }
 .dino-site .orbit-two { width:min(78vw,330px); }
 .dino-site .question-chip { left:calc(50% - min(33vw,140px)); top:12%; }
 .dino-site .unlock-chip { right:calc(50% - min(33vw,140px)); bottom:12%; }
 .localized-hero h1 { font-size:clamp(34px,9vw,54px); line-height:1.08; }
 .localized-intro { font-size:17px; margin:18px auto; }
 .localized-eyebrow { font-size:11px; }
 .localized-section { width:calc(100% - 36px); padding:38px 0; }
 .localized-steps,.localized-features { grid-template-columns:1fr; gap:22px; }
 .localized-faq summary { font-size:18px; }
}
@media(orientation:landscape) and (max-height:540px) {
 .dino-site .localized-hero { display:grid; grid-template-columns:1fr 1.1fr; }
 .dino-site .character-card { width:min(30vw,250px); }
 .dino-site .character-side { height:auto; }
 .localized-site .localized-hero { min-height:calc(100svh - 64px); }
}

/* Continuous photo strip; hovering a photo or its pin lifts it and pauses it. */
.journey-board { position:relative; isolation:isolate; width:100vw; margin:0 calc(50% - 50vw); }
.journey-viewport { position:relative; overflow:hidden; padding:44px 0 48px; }
.journey-route { position:absolute; z-index:-1; top:120px; left:0; width:100%; height:320px; overflow:visible; pointer-events:none; }
.journey-route path { fill:none; stroke:#18232c; stroke-width:3.5; stroke-linecap:round; stroke-dasharray:10 14; vector-effect:non-scaling-stroke; }
.journey-track { display:flex; width:max-content; margin-left:24px; animation:journey-drift 84s linear infinite; }
.journey-list { display:flex; flex:none; align-items:stretch; gap:42px; margin:0; padding:0 42px 0 0; list-style:none; }
.journey-stop { --paper-tilt:-3deg; display:flex; width:310px; flex:none; min-width:0; padding:12px 0; }
.journey-stop:nth-child(3n+2) { --paper-tilt:3deg; }
.journey-stop:nth-child(3n) { --paper-tilt:-1.5deg; }
.journey-card { position:relative; width:100%; padding:9px; border:1px solid #e4e9ed; border-radius:5px; background:#fff; box-shadow:0 3px 5px #263b4a08,0 16px 26px -12px #203c5140; transform:rotate(var(--paper-tilt)); transition:transform .28s ease,box-shadow .28s ease; }
.journey-pin { position:absolute; z-index:2; top:-24px; left:calc(50% - 20px); width:40px; height:auto; transform:rotate(-12deg); filter:drop-shadow(2px 4px 3px #1c252c26); }
.journey-stop:nth-child(3n+2) .journey-pin { transform:rotate(12deg); }
.journey-photo { position:relative; height:245px; overflow:hidden; border-radius:2px; background:#e8f4fa; }
.journey-photo > img { display:block; width:100%; height:100%; object-fit:cover; }
.journey-note { min-height:215px; padding:23px 17px 18px; overflow-wrap:anywhere; hyphens:auto; }
.localized-section .journey-note h3 { margin:0; color:#1c2932; font-size:22px; font-weight:900; line-height:1.25; letter-spacing:-.025em; hyphens:none; }
.localized-section .journey-note p { margin:13px 0 0; color:#465665; font-size:15px; line-height:1.6; }
.journey-viewport:focus-visible { outline:2px solid #0876b6; outline-offset:-3px; }
.journey-viewport:focus-visible .journey-track { animation-play-state:paused; }
@keyframes journey-drift { to { transform:translateX(-50%); } }
@media(hover:hover) and (pointer:fine) {
 .journey-track:has(.journey-card:hover) { animation-play-state:paused; }
 .journey-card:hover { z-index:3; transform:translateY(-16px) rotate(0deg) scale(1.025); box-shadow:0 24px 34px -16px #203c5166; }
}
.orbit-faq { display:grid; grid-template-columns:minmax(220px,.75fr) minmax(0,1.25fr); gap:80px; align-items:start; }
.orbit-faq-intro h2 { max-width:340px; }
.orbit-faq-intro p { max-width:330px; margin:0 0 22px; }
.orbit-faq-intro > a { font-size:15px; }
.orbit-faq-list details { padding:24px 0; border-bottom:1px solid #dfe6eb; }
.orbit-faq-list details:first-child { padding-top:4px; }
.orbit-faq-list summary { display:flex; align-items:center; justify-content:space-between; gap:22px; cursor:pointer; list-style:none; color:#253642; font-size:18px; font-weight:800; line-height:1.45; }
.orbit-faq-list summary::-webkit-details-marker { display:none; }
.orbit-faq-list summary svg { flex:none; width:28px; height:28px; border:1px solid #48a7df; border-radius:50%; padding:5px; fill:none; stroke:#0876b6; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; transition:transform .2s ease; }
.orbit-faq-list details[open] summary svg { transform:rotate(180deg); }
.orbit-faq-list details p { margin:17px 0 0; padding-right:32px; font-size:16px; line-height:1.75; }
@media(max-width:760px) {
 .journey-track { margin-left:26px; animation-duration:96s; }
 .journey-list { gap:30px; padding-right:30px; }
 .journey-stop { width:280px; }
 .journey-photo { height:220px; }
 .journey-note { min-height:230px; padding:21px 15px 17px; }
 .localized-section .journey-note h3 { font-size:21px; }
 .journey-route { top:120px; height:280px; width:1440px; left:calc(50% - 720px); }
 .orbit-faq { grid-template-columns:1fr; gap:28px; }
 .orbit-faq-intro h2 { margin-bottom:15px; }
 .orbit-faq-intro p { margin-bottom:14px; }
 .orbit-faq-list summary { font-size:17px; }
 .orbit-faq-list details p { padding-right:0; }
}
@media(prefers-reduced-motion:reduce) {
 .journey-track { animation:none; }
 .journey-card { transition:none; }
 .journey-copy { display:none; }
 .journey-viewport { overflow-x:auto; }
}
