@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700;750;800&family=Zen+Kaku+Gothic+Antique:wght@400;500;700;900&display=swap');

:root{--red:#bc002c;--red-dark:#940022;--ink:#22211f;--muted:#666461;--line:#deddd9;--paper:#fff;--wash:#f6f5f3;--font:'DM Sans','Zen Kaku Gothic Antique','Yu Gothic',Meiryo,sans-serif;--container:1240px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);font-size:16px;line-height:1.8;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;max-width:100%;height:auto}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:700;line-height:1.45}button,a,summary{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #2277bb;outline-offset:6px}::selection{background:var(--red);color:white}[hidden]{display:none!important}.container{width:min(var(--container),calc(100% - 112px));margin-inline:auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:10px;left:10px;z-index:20;padding:10px 20px;background:var(--ink);color:#fff;transform:translateY(-180%)}.skip-link:focus{transform:none}.language-bar{border-bottom:1px solid #eee;font-size:.75rem}.language-inner{display:flex;justify-content:space-between;align-items:center;min-height:42px}.language-caption{letter-spacing:.12em;font-size:.65rem;font-weight:600}.language-tabs{display:flex;align-items:stretch;gap:5px;flex-wrap:wrap}.language-tabs button{border:0;border-bottom:2px solid transparent;background:none;padding:8px 12px;color:var(--muted);font-size:.8rem;min-height:42px;cursor:pointer;transition:color .2s,border-color .2s}.language-tabs button[aria-selected=true]{color:var(--red);border-color:var(--red);font-weight:700}.language-tabs button:hover{color:var(--red)}.site-header{background:white}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:32px;min-height:102px}.brand{width:118px;flex-shrink:0;display:block}.brand img{width:100%}.desktop-nav{display:flex;gap:30px;align-items:center;margin-left:auto}.desktop-nav a{font-size:.86rem;font-weight:500;transition:color .2s}.desktop-nav a:hover{color:var(--red)}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:38px;min-height:60px;padding:16px 28px;background:var(--red);color:#fff;border:1px solid var(--red);border-radius:2px;font-size:.97rem;font-weight:700;line-height:1.55;transition:background .2s,transform .2s}.button:hover{background:var(--red-dark);transform:translateY(-2px)}.button-small{min-height:45px;padding:10px 20px;gap:28px;font-size:.85rem}.eyebrow{font-family:'DM Sans',sans-serif;font-size:.73rem;letter-spacing:.12em;font-weight:650;line-height:1.5;color:var(--red)}.red-rule{display:inline-block;width:25px;height:2px;background:var(--red);vertical-align:middle;margin-right:9px}.hero{position:relative;min-height:690px;overflow:hidden;background:#f8f8f6}.hero-photo{position:absolute;inset:0 0 0 42%;background:#453a30}.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:67% 50%}.hero-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#f8f8f6 0%,rgba(248,248,246,.93) 3%,rgba(248,248,246,.58) 14%,transparent 38%)}.hero-inner{position:relative;z-index:1;padding-top:83px;padding-bottom:97px;pointer-events:none}.hero-copy{max-width:600px;pointer-events:auto}.hero h1{font-size:clamp(2.8rem,4.25vw,4rem);font-weight:900;letter-spacing:.005em;line-height:1.5;margin-top:26px;margin-bottom:25px}.hero h1 em{color:var(--red);font-style:normal}.hero-description{max-width:405px;font-size:1rem;line-height:2;margin-bottom:32px}.text-link{display:inline-flex;gap:18px;align-items:center;font-size:.9rem;font-weight:600}.text-link:hover{color:var(--red)}.hero-app-link{display:flex;width:max-content;margin:18px 0 0}.hero-locations{display:flex;align-items:center;flex-wrap:wrap;column-gap:15px;row-gap:5px;margin-top:43px;font-family:'DM Sans',sans-serif;font-size:.77rem;font-weight:650;letter-spacing:.09em}.hero-locations i{height:12px;width:1px;background:#777}.hero-locations .location-icon{font-size:1.4rem;color:var(--red);line-height:1}.hero-locations small{display:block;width:100%;margin-left:29px;font-family:var(--font);color:var(--muted);letter-spacing:0;font-size:.75rem;font-weight:400}.photo-note{position:absolute;z-index:2;right:46px;bottom:75px;color:#fff;display:flex;flex-direction:column;text-shadow:0 1px 14px #000;line-height:1.8;max-width:260px}.photo-note-label{font-family:'DM Sans',sans-serif;font-size:.66rem;letter-spacing:.17em;border-top:1px solid #ffffff70;padding-top:13px;margin-bottom:3px}.photo-note>span:nth-child(2){font-size:.94rem;font-weight:500}.photo-note small{font-size:.65rem;opacity:.85}.scroll-cue{position:absolute;z-index:2;bottom:28px;left:56px;display:flex;align-items:center;gap:22px;font-family:'DM Sans',sans-serif;font-size:.6rem;letter-spacing:.14em;font-weight:600}.scroll-cue span:last-child{font-size:1.2rem}.intro-strip{border-bottom:1px solid var(--line);background:#fff}.intro-strip>.container{display:flex;justify-content:space-between;align-items:center;gap:25px;padding-block:25px}.intro-strip p{font-size:1rem;font-weight:700}.intro-strip .container>div{display:flex;gap:26px;align-items:center;font-size:.85rem}.strip-divider{color:var(--red)}.section{padding-block:110px}h2{font-size:clamp(1.85rem,2.8vw,2.7rem);font-weight:700;letter-spacing:.005em;line-height:1.5}.section-intro .eyebrow,.section-heading .eyebrow,.app-copy>.eyebrow{margin-bottom:22px}.section-description{font-size:.95rem;line-height:2;color:var(--muted);margin-top:23px;max-width:350px}.about{display:grid;grid-template-columns: .9fr 1.1fr;gap:95px}.benefit{display:flex;gap:23px;align-items:flex-start;border-top:1px solid var(--line);padding-block:28px}.benefit:last-child{border-bottom:1px solid var(--line)}.benefit-number{font-family:'DM Sans',sans-serif;color:var(--red);font-size:.75rem;padding-top:4px}.benefit>div{flex:1}.benefit h3{font-size:1.18rem;margin-bottom:10px}.benefit p{font-size:.93rem;color:var(--muted);line-height:1.9}.benefit-symbol{font-family:'DM Sans',sans-serif;flex:0 0 45px;font-size:2rem;font-weight:400;color:var(--red);line-height:1.2;text-align:right;margin-top:4px}.symbol-language{font-size:1.55rem;display:flex;position:relative;padding-top:5px}.symbol-language span{font-size:.9rem;align-self:flex-end;margin-left:1px}.how-section{background:var(--wash)}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:36px;margin-bottom:42px}.section-heading>p{color:var(--muted);font-size:.9rem;max-width:315px;padding-bottom:5px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:42px;padding:0;margin:0;list-style:none}.steps li{border-top:1px solid #b7b3ad;padding-top:23px}.step-top{display:flex;align-items:center;justify-content:space-between;color:var(--red);font-family:'DM Sans',sans-serif;font-size:.74rem;letter-spacing:.12em;font-weight:650;margin-bottom:23px}.step-top span:last-child{font-size:1.5rem;line-height:1}.steps h3{font-size:1.2rem;margin-bottom:14px}.steps p{color:var(--muted);font-size:.95rem;line-height:1.95}.process-note{font-size:.77rem;color:var(--muted);margin-top:36px}.city-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.city{padding:36px 40px;background:var(--wash);position:relative;overflow:hidden;border-top:3px solid var(--red)}.city-top{display:flex;justify-content:space-between;align-items:center}.city-jp{font-size:1rem;font-weight:700}.city-index{font-family:'DM Sans',sans-serif;letter-spacing:.1em;font-size:.65rem;color:var(--muted)}.city h3{font-family:'DM Sans',sans-serif;font-size:clamp(3.5rem,6vw,5.6rem);font-weight:650;line-height:1.25;letter-spacing:-.07em;margin-top:12px;margin-bottom:15px}.city h3 span{color:var(--red)}.city p{max-width:400px;font-size:.95rem;line-height:1.9;color:var(--muted)}.city-link{display:flex;justify-content:space-between;gap:20px;font-size:.85rem;font-weight:600;border-top:1px solid var(--line);padding-top:17px;margin-top:35px}.city-link:hover{color:var(--red)}.city-link span:last-child{font-size:1.2rem}.city-osaka{background:#fff;border:1px solid var(--line);border-top:3px solid var(--red)}.web-app-section{padding-block:78px;background:var(--wash)}.web-app-inner{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:88px}.app-visual{align-self:stretch;min-height:480px;position:relative}.app-photo{width:100%;height:100%;object-fit:cover;object-position:44% 50%;position:absolute;inset:0}.app-stamp{position:absolute;bottom:26px;left:26px;right:26px;display:flex;align-items:center;gap:16px;background:#fff;padding:16px;box-shadow:0 8px 26px #0000000e}.app-stamp img{width:60px;height:60px;border-radius:12px}.app-stamp>span{font-family:'DM Sans',sans-serif;letter-spacing:.07em;font-size:1rem;font-weight:750}.app-stamp small{display:block;font-size:.53rem;letter-spacing:.13em;font-weight:500;margin-top:3px}.app-copy{padding-block:16px}.app-copy h2{font-size:2.4rem}.app-copy>p:not(.eyebrow){color:var(--muted);font-size:.95rem;line-height:1.95;margin:22px 0 28px}.store-area{border-top:1px solid #d7d4cf;margin-top:27px;padding-top:21px}.store-label{font-size:.85rem;font-weight:700;margin-bottom:7px}.store-pending{display:flex;align-items:center;gap:8px;font-size:.85rem;color:var(--muted)}.pending-mark{font-size:1.4rem;line-height:1;color:var(--red)}.store-note{font-size:.75rem;color:var(--muted);line-height:1.8;margin-top:7px;max-width:410px}.store-links{display:flex;flex-wrap:wrap;gap:10px;padding-top:6px}.store-link{background:var(--ink);color:white;border-radius:5px;padding:11px 17px;display:flex;align-items:center;gap:24px;font-size:.9rem;font-weight:650}.store-link:hover{background:var(--red)}.faq{display:grid;grid-template-columns:.75fr 1.25fr;gap:95px}.faq-list{border-top:1px solid var(--line)}.faq details{border-bottom:1px solid var(--line)}.faq summary{display:flex;justify-content:space-between;gap:22px;align-items:center;padding:23px 0;cursor:pointer;list-style:none;font-size:1rem;font-weight:700;line-height:1.7}.faq summary::-webkit-details-marker{display:none}.faq-plus{width:14px;height:14px;position:relative;flex-shrink:0}.faq-plus:before,.faq-plus:after{content:'';position:absolute;top:6px;left:0;width:14px;height:1px;background:var(--red)}.faq-plus:after{transform:rotate(90deg);transition:transform .2s}.faq details[open] .faq-plus:after{transform:rotate(0)}.faq details p{padding:0 25px 24px 0;font-size:.94rem;line-height:1.9;color:var(--muted)}.closing{background:var(--red);color:#fff;text-align:center;padding-block:81px 62px;position:relative}.closing .eyebrow{color:#fff;opacity:.85;font-size:.7rem}.closing h2{font-size:clamp(2.3rem,4vw,3.8rem);line-height:1.5;font-weight:700;margin:21px 0 29px}.button-white{color:var(--red);background:#fff;border-color:#fff}.button-white:hover{background:#fff0f3;color:var(--red)}.closing-area{font-family:'DM Sans',sans-serif;font-size:.67rem;letter-spacing:.2em;margin-top:26px;color:#fff;opacity:.8}.site-footer{display:grid;grid-template-columns:auto 1fr auto;align-items:center;column-gap:40px;row-gap:25px;padding-block:43px 30px}.footer-brand{width:94px}.footer-description{font-size:.83rem;color:var(--muted)}.footer-links{display:flex;gap:29px;font-size:.78rem}.footer-links a{display:flex;gap:12px}.footer-links a:hover{color:var(--red)}.copyright{grid-column:1/-1;border-top:1px solid var(--line);padding-top:22px;font-family:'DM Sans',sans-serif;font-size:.65rem;color:var(--muted);letter-spacing:.01em}.noscript-message{padding:15px;text-align:center;background:var(--wash);font-size:.85rem}
html[lang=en] .hero h1{font-family:'DM Sans',sans-serif;letter-spacing:-.06em;font-size:clamp(3.5rem,5.5vw,5.25rem);line-height:1.04;max-width:570px;margin-bottom:28px;font-weight:650}html[lang=en] .hero h1 em{font-family:Georgia,serif;font-weight:400;font-style:italic;letter-spacing:-.055em}html[lang=en] h2{letter-spacing:-.035em;line-height:1.2}html[lang=en] .hero-description{max-width:370px;line-height:1.8}html[lang=en] .hero-locations{margin-top:32px}html[lang=ko] body{word-break:keep-all}html[lang^=zh] body{font-family:'DM Sans','Microsoft JhengHei','Microsoft YaHei',sans-serif}html[lang^=zh] .hero h1{font-size:3.8rem}
.hero h1{font-size:clamp(2.7rem,3.8vw,3.65rem)}
.language-caption,.eyebrow,.photo-note-label,.photo-note small,.scroll-cue,.city-index,.app-stamp small,.copyright,.closing-area{font-size:.75rem}
@media(min-width:1600px){.hero-photo{left:46%}.scroll-cue{left:calc((100% - var(--container))/2)}.hero{min-height:740px}.hero-inner{padding-top:105px}.photo-note{right:calc((100% - var(--container))/2)}}
@media(max-width:1150px){.container{width:calc(100% - 72px)}.desktop-nav{gap:18px}.desktop-nav a{font-size:.78rem}.header-inner{gap:22px}.about,.faq{gap:50px}.web-app-inner{gap:48px}.hero-copy{max-width:510px}.hero-description{max-width:350px}.hero-photo{left:39%}.hero h1{font-size:3.05rem}.hero-locations small{max-width:330px}.section-heading{align-items:flex-start}.steps{gap:28px}.app-copy h2{font-size:2.05rem}.scroll-cue{left:36px}.photo-note{right:30px}.site-footer{column-gap:24px}.footer-links{gap:18px}}
@media(max-width:900px){.desktop-nav{display:none}.header-inner{min-height:92px}.language-caption{display:none}.language-inner{justify-content:flex-end}.hero{min-height:640px}.hero-photo{left:37%}.hero-photo:after{background:linear-gradient(90deg,#f8f8f6 0%,rgba(248,248,246,.91) 8%,rgba(248,248,246,.7) 22%,transparent 65%)}.hero-copy{max-width:470px}.hero h1{font-size:2.8rem}.hero-description{max-width:325px}.hero-inner{padding-top:67px;padding-bottom:83px}.photo-note{right:22px;bottom:35px;max-width:175px}.photo-note>span:nth-child(2){font-size:.76rem}.section{padding-block:80px}.about{grid-template-columns:1fr;gap:40px}.section-description{max-width:540px}.intro-strip>.container{align-items:flex-start;flex-direction:column;gap:10px;padding-block:20px}.intro-strip .container>div{gap:19px}.section-heading{flex-direction:column;gap:17px;margin-bottom:33px}.section-heading>p{max-width:none}.steps{gap:24px}.steps h3{font-size:1.07rem}.steps p{font-size:.9rem}.city{padding:30px}.web-app-inner{gap:35px}.app-visual{min-height:475px}.app-copy h2{font-size:1.85rem}.app-stamp{left:15px;right:15px;padding:12px;gap:10px}.app-stamp img{width:44px;height:44px}.app-stamp small{font-size:.5rem;letter-spacing:.02em}.faq{grid-template-columns:1fr;gap:30px}.faq .section-description{margin-top:12px}.site-footer{grid-template-columns:auto 1fr}.footer-links{grid-column:1/-1;justify-content:flex-end}.copyright{padding-top:18px}html[lang^=zh] .hero h1{font-size:3.1rem}}
@media(max-width:600px){.container{width:calc(100% - 40px)}.language-inner{width:100%;justify-content:center}.language-tabs{width:100%;justify-content:center;gap:0}.language-tabs button{padding:9px 11px;font-size:.76rem;min-height:44px}.header-inner{min-height:85px}.brand{width:96px}.button-small{padding:10px 16px;font-size:.8rem;gap:22px;min-height:44px}.hero{display:flex;flex-direction:column;background:#fff;min-height:0;padding-bottom:0}.hero-inner{padding-top:39px;padding-bottom:36px;order:0}.hero-copy{max-width:none}.hero .eyebrow{font-size:.62rem;letter-spacing:.11em}.hero h1{font-size:clamp(2.15rem,7.4vw,2.75rem);margin-top:19px;margin-bottom:19px;line-height:1.55;font-weight:900}.hero-description{max-width:none;font-size:.94rem;line-height:1.9;margin-bottom:25px}.hero .button{width:100%;min-height:57px;padding:15px 22px;font-size:.94rem}.hero-app-link{justify-content:center;width:100%;margin-top:15px;font-size:.83rem}.hero-locations{margin-top:25px;justify-content:center;font-size:.7rem;column-gap:12px}.hero-locations small{max-width:none;margin-left:0;text-align:center;font-size:.7rem}.hero-photo{position:relative;inset:auto;order:1;width:100%;height:300px}.hero-photo:after{background:linear-gradient(0deg,#0009,transparent 55%)}.hero-photo img{object-position:65% 53%}.photo-note{bottom:24px;right:20px;text-align:right;max-width:260px}.photo-note-label{padding-top:9px;font-size:.6rem}.photo-note>span:nth-child(2){font-size:.82rem}.photo-note small{font-size:.62rem}.scroll-cue{left:20px;bottom:26px;color:white;font-size:.5rem;letter-spacing:.08em;gap:10px}.intro-strip>.container{align-items:center;padding-block:24px;gap:12px}.intro-strip p{font-size:.95rem}.intro-strip .container>div{gap:11px;justify-content:center;flex-wrap:wrap;font-size:.75rem}.section{padding-block:64px}h2{font-size:1.85rem;line-height:1.5}.section-intro .eyebrow,.section-heading .eyebrow,.app-copy>.eyebrow{margin-bottom:17px}.eyebrow{font-size:.65rem;letter-spacing:.1em}.section-description{font-size:.91rem;margin-top:18px}.about{gap:29px}.benefit{gap:16px;padding-block:25px}.benefit h3{font-size:1.09rem;margin-bottom:8px}.benefit p{font-size:.9rem}.benefit-symbol{flex-basis:32px;font-size:1.75rem}.benefit-number{font-size:.7rem}.symbol-language{font-size:1.35rem}.section-heading{gap:13px;margin-bottom:29px}.section-heading>p{font-size:.85rem}.steps{grid-template-columns:1fr;gap:29px}.steps li{padding-top:17px}.step-top{margin-bottom:12px;font-size:.69rem}.steps h3{font-size:1.17rem;margin-bottom:10px}.steps p{font-size:.91rem}.process-note{font-size:.73rem;margin-top:26px}.city-grid{grid-template-columns:1fr;gap:20px}.city{padding:27px}.city h3{font-size:4.5rem;margin-bottom:13px}.city p{font-size:.9rem}.city-link{font-size:.82rem;margin-top:25px}.city-index{font-size:.62rem}.web-app-section{padding-block:46px 60px}.web-app-inner{grid-template-columns:1fr;gap:32px}.app-visual{min-height:320px}.app-photo{object-position:50% 50%}.app-stamp{bottom:18px;left:18px;right:18px;padding:13px;gap:14px}.app-stamp img{width:51px;height:51px}.app-stamp small{font-size:.53rem;letter-spacing:.08em}.app-copy{padding:0}.app-copy h2{font-size:1.95rem}.app-copy>p:not(.eyebrow){font-size:.92rem;margin-top:17px}.app-copy>.button{width:100%}.store-note{font-size:.75rem}.faq{gap:24px}.faq summary{padding-block:20px;font-size:.93rem}.faq details p{font-size:.89rem;padding-right:15px}.closing{padding-block:60px 43px}.closing h2{font-size:2.6rem;margin-top:22px;line-height:1.5}.closing .button{max-width:100%;padding:15px 21px;gap:23px;font-size:.91rem}.closing .eyebrow{font-size:.62rem}.closing-area{font-size:.61rem}.site-footer{column-gap:22px;row-gap:22px;padding-top:32px;padding-bottom:24px}.footer-brand{width:84px}.footer-description{font-size:.74rem}.footer-links{justify-content:flex-start;font-size:.76rem}.copyright{font-size:.63rem}.language-caption{display:none}html[lang=en] .hero h1{font-size:clamp(3.3rem,12vw,4.3rem);max-width:100%;line-height:1.05;margin-top:20px;margin-bottom:22px}html[lang=en] .hero-description{max-width:none}html[lang=en] .hero-locations{margin-top:27px}html[lang=en] h2{font-size:2.05rem}html[lang=en] .closing h2{font-size:3rem}html[lang^=zh] .hero h1{font-size:clamp(2.25rem,8vw,3rem)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
@media print{.language-bar,.site-header .button,.scroll-cue,.hero-app-link,.store-area{display:none}.container{width:100%}.hero{min-height:550px}.section{padding-block:35px}.hero-inner{padding-top:35px}.hero-photo{opacity:.35}.photo-note{color:#222}.closing{background:#fff;color:var(--ink);padding-block:30px}.closing .eyebrow,.closing-area{color:var(--red)}.button{color:var(--red);background:#fff}.faq details p{display:block}.site-footer{padding-top:20px}body{font-size:12pt}.city,.benefit,.steps li{break-inside:avoid}}

/* Travel concierge revision */
.header-inner{min-height:104px}
.language-picker{position:relative;flex:0 0 auto;color:var(--ink)}
.language-globe{position:absolute;left:16px;top:50%;transform:translateY(-50%);width:19px;height:19px;pointer-events:none}
.language-picker:after{content:'';position:absolute;right:17px;top:calc(50% - 4px);width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);pointer-events:none}
.language-picker select{appearance:none;font:inherit;font-size:.87rem;line-height:1.5;font-weight:500;background:#fff;border:1px solid var(--line);border-radius:2px;color:inherit;width:166px;min-height:48px;padding:12px 35px 12px 45px;cursor:pointer}
.language-picker select:focus-visible{outline:3px solid #2277bb;outline-offset:4px}
.button{justify-content:center;gap:0;min-width:238px;max-width:100%;text-align:center;padding-inline:30px}
.hero h1{font-size:clamp(2.65rem,3.45vw,3.3rem)}
.hero-description{max-width:425px}
.hero-photo img{object-position:75% 50%}
.hero-photo:before{content:'';position:absolute;z-index:1;inset:50% 0 0;background:linear-gradient(0deg,#0007,transparent)}
.hero-photo:after{z-index:1}
.hero-downloads{margin-top:26px}
.hero-downloads .store-label{font-size:.78rem;font-weight:500;color:var(--muted);margin-bottom:12px}
.store-badges{display:flex;align-items:center;flex-wrap:wrap;gap:14px;padding-block:2px}
.store-badge{display:inline-block;flex-shrink:0;line-height:0;max-width:100%;border-radius:6px}
.store-badge img{display:block;width:auto;height:46px;max-width:100%}
.store-badge[aria-disabled=true]{cursor:default}
.store-area .store-label{margin-bottom:13px}
.possibility-grid{display:grid;grid-template-columns:1fr 1fr;gap:45px}
.possibility{padding:29px 0 0;border-top:1px solid var(--line)}
.possibility h3{font-size:1.55rem;line-height:1.55;margin:17px 0 14px}
.possibility>p:not(.eyebrow){font-size:.96rem;color:var(--muted);line-height:2;max-width:530px}
.possibilities-link{color:var(--red);border-bottom:1px solid var(--red);padding-bottom:3px;margin-top:31px;line-height:1.75}
.closing .button{min-width:260px}
.app-stamp small{font-size:.6rem;letter-spacing:.075em}
.store-credits{grid-column:1/-1;font-size:.75rem;color:var(--muted);line-height:1.7}
html[lang=en] .hero h1{font-size:clamp(3.4rem,5.15vw,5rem);line-height:1.1}
@media(max-width:1150px){.language-picker select{width:151px}.hero h1{font-size:2.9rem}.hero-description{max-width:365px}}
@media(max-width:900px){.hero-description{max-width:335px}.hero h1{font-size:2.5rem}.possibility-grid{gap:32px}.possibility h3{font-size:1.35rem}.app-stamp small{font-size:.56rem;letter-spacing:0}.store-badge img{height:42px}.store-badges{gap:12px}}
@media(max-width:600px){
  .header-inner{min-height:88px;gap:20px}
  .language-picker select{width:145px;min-height:44px;font-size:.83rem;padding:10px 32px 10px 40px}
  .language-globe{left:13px;width:18px;height:18px}
  .hero h1{font-size:clamp(1.85rem,7.6vw,2.6rem);line-height:1.6}
  .hero-description{max-width:none}
  .hero-downloads{margin-top:22px;text-align:center}
  .hero-downloads .store-label{margin-bottom:11px}
  .store-badges{justify-content:center;gap:14px}
  .store-badge img{height:42px}
  .hero-photo{height:320px}
  .hero-photo img{object-position:67% 48%}
  .hero-photo:before{display:none}
  .photo-note>span:nth-child(2){font-size:.86rem}
  .photo-note-label{font-size:.75rem}
  .hero .eyebrow{font-size:.67rem;letter-spacing:.065em}
  .possibility-grid{grid-template-columns:1fr;gap:30px}
  .possibility{padding-top:22px}
  .possibility h3{font-size:1.4rem;margin-top:13px}
  .possibility>p:not(.eyebrow){font-size:.92rem}
  .possibilities-link{font-size:.88rem;margin-top:26px}
  .store-area{text-align:center}
  .closing .button{min-width:230px;gap:0;padding-inline:24px}
  .app-stamp small{font-size:.61rem;letter-spacing:.02em}
  html[lang=en] .hero h1{font-size:clamp(2.75rem,10.1vw,3.8rem)}
  html[lang^=zh] .hero h1{font-size:clamp(2.35rem,8.5vw,3.15rem)}
}
@media print{.language-picker{display:none}.hero-photo{display:none}.hero-downloads{display:block}}
@media(max-width:360px){.store-badge img{height:40px}.store-badges{gap:10px}}

/* Phone layout: keep live copy and controls over one continuous photograph. */
@media screen and (max-width:600px){
  html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
  .hero{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    min-height:0;
    background:#f8f8f6;
    isolation:isolate;
  }
  .hero-photo{
    position:absolute;
    z-index:0;
    inset:0;
    width:100%;
    height:100%;
    order:initial;
  }
  .hero-photo img{object-position:68% 50%}
  .hero-photo:after{
    background:linear-gradient(90deg,#f8f8f6 0%,rgba(248,248,246,.98) 26%,rgba(248,248,246,.94) 43%,rgba(248,248,246,.84) 58%,rgba(248,248,246,.55) 74%,rgba(248,248,246,.08) 93%,transparent 100%);
    -webkit-mask-image:linear-gradient(#000 65%,transparent 87%);
    mask-image:linear-gradient(#000 65%,transparent 87%);
  }
  .hero:after{
    content:'';
    position:absolute;
    z-index:0;
    inset:0;
    pointer-events:none;
    background:linear-gradient(90deg,#f8f8f6,rgba(248,248,246,.96) 26%,rgba(248,248,246,.55) 38%,transparent 55%);
  }
  .hero-photo:before{
    display:block;
    inset:65% 0 0;
    background:linear-gradient(0deg,rgba(0,0,0,.4),transparent);
  }
  .hero-inner{grid-column:1/-1;grid-row:1;padding-block:36px 30px;order:initial}
  .hero-copy{max-width:none;min-width:0}
  .hero .eyebrow{font-size:clamp(.5625rem,2.3vw,.75rem);letter-spacing:.06em}
  .hero .red-rule{width:18px;margin-right:7px}
  .hero h1{font-size:clamp(1.625rem,7vw,2.625rem);line-height:1.55;margin-block:20px}
  .hero-description{width:80%;max-width:26rem;font-size:.9375rem;line-height:1.9;margin-bottom:24px}
  .hero .button{width:max-content;min-width:0;max-width:90%;min-height:52px;padding:14px 20px;font-size:.875rem}
  .hero-downloads{margin-top:24px;text-align:left}
  .hero-downloads .store-label{margin-bottom:12px}
  .hero-downloads .store-badges{justify-content:flex-start;gap:12px}
  .hero-downloads .store-badge img{height:40px}
  .photo-note{
    position:relative;
    grid-column:2;
    grid-row:2;
    align-self:end;
    inset:auto;
    margin:0 20px 26px 10px;
    max-width:none;
    min-width:0;
    text-align:left;
  }
  .photo-note-label{font-size:.625rem;letter-spacing:.12em;padding-top:10px;line-height:1.7}
  .photo-note>span:nth-child(2){font-size:.6875rem;line-height:1.8}
  .scroll-cue{
    position:relative;
    grid-column:1;
    grid-row:2;
    align-self:end;
    justify-self:start;
    inset:auto;
    margin:0 10px 28px 20px;
    min-height:44px;
    color:var(--ink);
    font-size:.625rem;
    letter-spacing:.08em;
  }
  .scroll-cue span:last-child{font-size:inherit}
  /* Fit the complete Japanese phrases, including narrow 320px viewports. */
  html[lang=ja] #how-title{font-size:clamp(1.25rem,6.8vw,1.85rem);letter-spacing:0}
  html[lang=ja] .closing h2{font-size:clamp(1.5rem,8.2vw,2.6rem);letter-spacing:0;line-height:1.65}
  html[lang=en] .hero h1{font-size:clamp(2.25rem,9.8vw,3.5rem);max-width:100%;line-height:1.1}
  html[lang=en] .hero-description{max-width:26rem}
  html[lang^=zh] .hero h1{font-size:clamp(1.875rem,7.8vw,2.75rem)}
}
