@charset "UTF-8";
:root{--ink:#173c39;--muted:#586d68;--green:#16594c;--paper:#fbfaf6;--mint:#eef3ed;--line:#d8e0d6;--red:#aa4332;--serif:Georgia,'Times New Roman','Hiragino Mincho ProN','Yu Mincho',serif;--sans:-apple-system,BlinkMacSystemFont,'Segoe UI','Hiragino Kaku Gothic ProN','Apple SD Gothic Neo',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 var(--sans);-webkit-font-smoothing:antialiased}button,input{font:inherit}a{color:inherit;text-decoration:none}button,a,input,summary{-webkit-tap-highlight-color:transparent}a:hover{color:var(--green)}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #b45432;outline-offset:5px}button,summary{cursor:pointer}img{max-width:100%;height:auto;display:block}figure{margin:0}h1,h2,h3,p{margin-top:0}h1,h2{font-family:var(--serif);font-weight:500;letter-spacing:-.045em;line-height:1.1}h1{font-size:clamp(42px,4.9vw,76px);margin-bottom:26px}h2{font-size:clamp(32px,3.4vw,49px);margin-bottom:22px}h3{font-size:21px;line-height:1.35;letter-spacing:-.025em;font-weight:600;margin-bottom:12px}p{margin-bottom:20px}span[aria-hidden]{user-select:none}.container{width:min(1240px,calc(100% - 96px));margin-inline:auto}.lead{font-size:19px;line-height:1.8;color:var(--muted);max-width:650px}.eyebrow{font:600 11px/1.5 var(--sans);letter-spacing:.17em;text-transform:uppercase;display:flex;align-items:center;gap:10px;margin-bottom:23px;color:var(--green)}.dot{width:7px;height:7px;background:var(--green);border-radius:50%;display:inline-block}.small,.hero-footnote{font-size:12px;color:var(--muted)}.text-link{font-size:14px;font-weight:600;display:inline-flex;align-items:center;gap:10px;border-bottom:1px solid var(--green);padding-bottom:4px}.button{display:inline-flex;justify-content:center;align-items:center;gap:26px;min-height:51px;padding:12px 23px;background:var(--green);color:#fff;border:1px solid var(--green);border-radius:5px;font-size:14px;font-weight:600;line-height:1.5}.button:hover{background:#113e35;color:white}.button.secondary{color:var(--ink);background:transparent;border-color:#a7bab0}.button.secondary:hover{background:var(--mint)}.button span{font-size:20px;line-height:1}.store-links,.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.skip{position:fixed;left:20px;top:-100px;padding:12px 22px;background:white;z-index:100}.skip:focus{top:15px}.site-header{position:sticky;top:0;z-index:30;background:rgba(251,250,246,.97);border-bottom:1px solid var(--line)}.nav-wrap{width:min(1344px,calc(100% - 64px));margin:auto;display:flex;align-items:center;gap:28px;min-height:90px}.brand{display:flex;align-items:center;gap:10px;flex-shrink:0;font-size:20px;line-height:1.1;font-weight:650;letter-spacing:-.035em}.brand img{width:43px;height:43px;border-radius:11px}.brand-country{display:block;font-size:9px;letter-spacing:.28em;margin-top:6px;font-weight:500}.nav-wrap>nav{display:flex;align-items:center;gap:28px;margin-left:auto;font-size:13px}.nav-wrap>nav a{padding:18px 0}.nav-wrap>nav [aria-current]{box-shadow:0 2px 0 var(--green)}.nav-download{font-size:13px;padding:10px 16px;color:white;background:var(--green);border-radius:4px;white-space:nowrap}.nav-download:hover{color:#fff}.language{position:relative;font-size:12px;flex-shrink:0}.language summary{padding:12px 0;list-style:none;white-space:nowrap;display:flex;gap:7px;align-items:center}.language summary::after{content:'⌄';font-size:13px}.language summary::-webkit-details-marker{display:none}.language-list{position:absolute;right:0;top:44px;min-width:158px;background:#fff;border:1px solid var(--line);border-radius:8px;padding:6px;box-shadow:0 15px 35px #173c3912;display:grid}.language-list a{padding:10px 13px;border-radius:4px}.language-list a[aria-current],.language-list a:hover{background:var(--mint)}.menu-toggle{display:none}.home-hero{display:grid;grid-template-columns:1fr 1fr;gap:66px;align-items:center;margin-top:64px;margin-bottom:86px}.hero-copy{padding:18px 0}.hero-copy h1{font-size:clamp(44px,4.65vw,72px)}.hero-copy .lead{font-size:18px;max-width:480px;margin-bottom:32px}.hero-footnote{margin-top:22px;margin-bottom:0}.hero-photo{position:relative;align-self:stretch;min-height:520px}.hero-photo>img{height:100%;width:100%;object-fit:cover;object-position:50% 30%;border-radius:100px 6px 6px 6px;max-height:620px}.hero-photo figcaption{position:absolute;bottom:16px;left:16px;right:16px;padding:5px 9px;color:white;background:#102e2bc4;border-radius:3px;font-size:10px;width:fit-content;max-width:calc(100% - 32px)}.photo-stamp{position:absolute;top:27px;right:23px;padding:11px 9px;line-height:1.4;background:var(--red);border:1px solid #f1e4d9;color:#fff;font-size:16px;font-family:var(--serif)}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:32px}.section-heading>div{max-width:730px}.section-heading h2{margin-bottom:15px}.section-heading p:not(.eyebrow){color:var(--muted);max-width:650px;margin-bottom:0}.section-heading .text-link{flex-shrink:0;margin-bottom:5px}.destination-section{padding-bottom:88px}.region-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.region-card{display:block;background:#fff;border:1px solid var(--line);border-radius:7px;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}.region-card:hover{transform:translateY(-3px);box-shadow:0 9px 24px #173c390a}.region-card>img{width:100%;aspect-ratio:3/1;object-fit:cover;mix-blend-mode:multiply}.region-card>div{padding:18px 22px 21px;position:relative}.region-card h3{display:flex;justify-content:space-between;gap:8px;margin:0 35px 7px 0;font-size:23px;font-family:var(--serif);font-weight:500}.region-card h3 span{font-family:var(--sans);font-size:19px}.region-card p{font-size:12px;color:var(--muted);margin:0;line-height:1.5}.region-zh{position:absolute;right:18px;top:20px;color:#68746a;font:14px var(--serif);writing-mode:vertical-rl;letter-spacing:4px}.social-section{background:var(--mint);padding:78px 0}.social-split{display:grid;grid-template-columns:1.2fr .8fr;align-items:center;gap:100px}.social-split>div{max-width:600px}.screen{max-width:340px;margin-inline:auto}.screen>img{width:100%;border:1px solid #d6e0dc;border-radius:12px;box-shadow:0 16px 45px #143c3910}.screen figcaption{font-size:11px;line-height:1.5;color:var(--muted);text-align:center;margin-top:15px}.steps{list-style:none;padding:0;margin:32px 0}.steps li{display:flex;gap:20px;margin-bottom:25px}.step-number{font:italic 22px var(--serif);color:#879b8f;flex-shrink:0;padding-top:1px}.steps h3{font-size:16px;margin-bottom:7px}.steps p{font-size:14px;line-height:1.75;margin:0;color:var(--muted)}.conversation{grid-template-columns:.85fr 1.15fr;gap:100px;padding-top:88px}.conversation .screen{max-width:335px}.screen-note{font-size:12px;color:var(--muted);margin-top:35px;max-width:900px;text-align:center}.faq{display:grid;grid-template-columns:1fr 1.5fr;gap:70px;padding-block:90px}.faq details{border-top:1px solid var(--line);padding:20px 0}.faq details:last-child{border-bottom:1px solid var(--line)}.faq summary{display:flex;justify-content:space-between;gap:20px;list-style:none;font-size:15px;font-weight:600}.faq summary::-webkit-details-marker{display:none}.faq summary span{font-weight:400;flex-shrink:0}.faq details[open] summary span{transform:rotate(45deg)}.faq details p{font-size:14px;margin:15px 32px 0 0;color:var(--muted)}.download{background:#e8eee5;padding:50px 60px;border-radius:8px;display:flex;justify-content:space-between;gap:40px;align-items:center;margin-bottom:82px}.download>div{max-width:890px}.download h2{margin-bottom:17px}.download p:not(.eyebrow){color:var(--muted)}.download .store-links{margin:25px 0 17px}.download .small{margin:0}.lantern{width:90px;max-height:160px;object-fit:contain;flex-shrink:0}.site-footer{width:min(1240px,calc(100% - 96px));margin:auto;border-top:1px solid var(--line);padding:38px 0 24px}.footer-top{display:flex;justify-content:space-between;gap:25px;align-items:center;margin-bottom:24px}.footer-top p{font-family:var(--serif);font-size:22px;margin:0}.site-footer nav{display:flex;flex-wrap:wrap;gap:13px 26px;font-size:12px;margin-bottom:30px}.site-footer a:hover{text-decoration:underline}.footer-bottom{display:flex;gap:14px 24px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:22px;font-size:10px;color:var(--muted)}.breadcrumbs{margin-block:23px 12px;font-size:11px;color:var(--muted)}.breadcrumbs ol{display:flex;flex-wrap:wrap;gap:7px 10px;list-style:none;padding:0;margin:0}.breadcrumbs li+li::before{content:'/';margin-right:10px;color:#819188}.breadcrumbs a:hover{text-decoration:underline}.page-intro{padding-top:45px;padding-bottom:38px}.page-intro h1{max-width:1000px}.page-intro>.lead{max-width:840px}.directory{padding-bottom:70px}.search-wrap{max-width:680px;margin-bottom:30px}.search-wrap>label{font-size:12px;display:block;margin-bottom:8px;color:var(--muted)}.search-control{display:flex;align-items:center;border:1px solid #a6b9af;border-radius:6px;background:white;padding:8px 13px;gap:10px}.search-control>span{font-size:25px;line-height:1}.search-control input{background:transparent;border:0;padding:7px 4px;min-width:0;flex:1;width:100%;font-size:14px;color:var(--ink)}.search-control button{border:0;border-left:1px solid var(--line);background:transparent;padding:5px 0 5px 15px;color:var(--green);font-size:11px}.search-wrap .small{margin:12px 0 0}.coverage-note{font-size:12px;line-height:1.7;color:var(--muted);border-top:1px solid var(--line);padding-top:22px;margin:30px 0}.region-hero{padding-top:35px}.region-hero h1{display:flex;align-items:baseline;gap:28px;margin-bottom:16px}.region-hero h1>span{font:23px var(--serif);letter-spacing:.1em;color:#697e71}.region-hero>.container{position:relative;z-index:1}.region-hero figure{width:min(1440px,100%);margin:0 auto 35px}.region-hero figure>img{width:100%;aspect-ratio:3.9/1;object-fit:cover;mix-blend-mode:multiply}.region-hero figcaption{text-align:center;font-size:10px;color:var(--muted);margin-top:3px}.city-section{margin-bottom:45px}.photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.photo-card{border-bottom:1px solid var(--line);padding-bottom:22px}.photo-card>a>img{width:100%;aspect-ratio:1.5;object-fit:cover;border-radius:6px}.photo-card>a>div{padding-top:21px}.photo-card h3{display:flex;justify-content:space-between;gap:20px;font-family:var(--serif);font-size:26px;font-weight:500}.photo-card h3 span{font-family:var(--sans);font-size:18px}.photo-card p{font-size:14px;color:var(--muted);line-height:1.7;margin-bottom:16px}.photo-card .text-link{font-size:12px}.city-hero{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;padding-block:40px 65px}.city-hero>div>p:not(.eyebrow):not(.lead){font-size:15px;color:var(--muted)}.city-hero figure>img{width:100%;aspect-ratio:1.1;object-fit:cover;border-radius:60px 5px 5px 5px}.city-hero figcaption{font-size:10px;color:var(--muted);margin-top:12px}.city-hero figcaption a{text-decoration:underline}.shared-moment{background:var(--mint);border-left:3px solid #88a592;padding:30px 36px;margin-top:45px;max-width:920px}.shared-moment h2{font-size:30px}.shared-moment p:last-child{color:var(--muted);margin:0}.place-article{padding-top:38px;padding-bottom:65px}.article-heading{max-width:910px;margin-bottom:35px}.article-heading .lead{max-width:840px}.place-photos{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;align-items:start}.place-photos img{width:100%;height:auto;border-radius:6px;max-height:600px;object-fit:contain;object-position:top;background:var(--mint)}.place-photos figcaption{font-size:12px;line-height:1.7;padding-top:12px;color:var(--muted)}.place-photos figcaption span{font-size:10px}.place-photos figcaption a{text-decoration:underline}.reading{display:grid;grid-template-columns:1.6fr 1fr;gap:85px;align-items:start;margin-top:55px}.prose{font-size:19px;line-height:1.95}.story-aside{padding:28px;background:var(--mint);border-radius:6px}.story-aside h2{font-size:28px}.story-aside p:not(.eyebrow){font-size:14px;color:var(--muted)}.source-notes{border-top:1px solid var(--line);padding-top:24px;margin:35px 0;font-size:12px;color:var(--muted)}.source-notes h2{font-family:var(--sans);font-weight:600;font-size:14px;letter-spacing:0}.source-notes a{text-decoration:underline}.source-notes ul{padding-left:18px}.source-notes p{margin:10px 0}.feature-hero{display:grid;grid-template-columns:1.2fr .8fr;gap:100px;align-items:start;padding-top:45px}.feature-hero .screen{margin-top:15px;max-width:350px}.feature-hero h1{font-size:clamp(42px,4.5vw,66px)}.app-intro{text-align:center}.app-intro .app-icon{margin:0 auto 25px}.app-icon{width:92px;height:92px;border-radius:22px;box-shadow:0 5px 20px #174d4714}.app-intro .eyebrow{justify-content:center}.app-intro h1,.app-intro .lead{margin-inline:auto}.app-intro .store-links{justify-content:center;margin-top:25px}.app-gallery{padding-top:45px}.app-gallery>.section-heading{align-items:center}.platform-switch{display:flex;gap:5px;padding:5px;border:1px solid var(--line);border-radius:6px;max-width:100%}.platform-switch a{padding:9px 15px;border-radius:4px;line-height:1.5;font-size:12px;text-align:center}.platform-switch [aria-current]{background:var(--green);color:#fff}.platform-panel h2{font-family:var(--sans);font-size:20px;letter-spacing:0;text-align:center;margin-block:24px}.screens-grid{display:flex;justify-content:center;gap:40px;padding:40px;background:var(--mint);border-radius:8px}.screens-grid .screen{width:min(380px,45%);max-width:380px;margin:0}.credits-list{list-style:none;padding:0;margin-top:45px}.credits-list li{padding:20px 0;border-top:1px solid var(--line);scroll-margin-top:110px}.credits-list h2{font-family:var(--sans);font-size:17px;letter-spacing:0;line-height:1.5;margin-bottom:10px}.credits-list p{font-size:12px}.credits-list a{text-decoration:underline}.selector{min-height:100vh;display:grid;place-items:center;background:var(--mint);padding:55px 24px;text-align:center}.selector main{max-width:820px}.selector .app-icon{margin:0 auto 30px}.selector .eyebrow{justify-content:center}.selector h1{font-size:clamp(40px,6vw,74px)}.language-tiles{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:34px}.language-tile{padding:20px 25px;background:var(--paper);border:1px solid var(--line);border-radius:6px;text-align:left}.language-tile strong{display:block;font-size:18px}.language-tile span{display:block;color:var(--muted);font-size:12px;margin-top:6px}[hidden]{display:none!important}html[lang=ko] h1,html[lang=ko] h2,html[lang=ko] h3{font-family:var(--sans);word-break:keep-all;overflow-wrap:anywhere;line-height:1.3;letter-spacing:-.06em}html[lang=ja] h1,html[lang=ja] h2{line-height:1.3;letter-spacing:-.04em}html[lang=vi] h1,html[lang=vi] h2{line-height:1.2;letter-spacing:-.04em}
@media(max-width:1100px){.nav-wrap{gap:20px}.nav-wrap>nav{gap:20px}.nav-download{display:none}.language{margin-left:6px}.home-hero{gap:40px}.hero-photo{min-height:470px}.social-split,.feature-hero,.city-hero{gap:50px}.section-heading{gap:30px}.section-heading>.text-link{max-width:220px}.reading{gap:40px}.photo-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){html{scroll-padding-top:85px}.container,.site-footer{width:calc(100% - 40px)}.nav-wrap{width:calc(100% - 32px);min-height:73px;gap:16px;flex-wrap:wrap;justify-content:space-between}.brand{font-size:17px;gap:8px}.brand img{width:36px;height:36px}.brand-country{font-size:8px}.nav-wrap>nav{order:5;width:100%;margin:0;justify-content:space-between;border-top:1px solid var(--line);font-size:12px;gap:15px}.enhanced .nav-wrap>nav{display:none}.enhanced .nav-wrap>nav.is-open{display:flex}.enhanced .menu-toggle{display:flex;align-items:center;gap:7px;margin-left:auto;padding:10px 0;border:0;background:transparent;font-size:12px;color:var(--ink)}.language{margin:0;font-size:11px}.language summary{gap:4px}.home-hero{grid-template-columns:1fr;gap:30px;margin-top:30px;margin-bottom:50px}.hero-copy{padding:0}.hero-copy h1{font-size:clamp(43px,9.5vw,64px);max-width:610px;margin-bottom:22px}.hero-copy .lead{font-size:16px;max-width:570px;margin-bottom:25px}.hero-photo{min-height:0;height:360px}.hero-photo>img{border-radius:60px 5px 5px 5px;object-position:center 30%}.hero-footnote{font-size:11px;margin-top:17px}.hero-actions .button{font-size:13px;padding-inline:17px;gap:15px}.section-heading{display:block;margin-bottom:24px}.section-heading .text-link{margin-top:22px;max-width:none}.section-heading h2{font-size:34px}.section-heading p:not(.eyebrow){font-size:14px}.eyebrow{font-size:10px;margin-bottom:18px}.region-grid{grid-template-columns:repeat(2,1fr);gap:14px}.region-card>div{padding:15px 12px 17px}.region-card h3{font-size:21px;margin-right:23px}.region-card h3 span{display:none}.region-zh{right:9px;font-size:10px;top:16px;letter-spacing:2px}.region-card p{font-size:11px}.region-card>img{aspect-ratio:2.35;object-fit:cover}.destination-section{padding-bottom:50px}.social-section{padding:45px 0}.social-split,.feature-hero{grid-template-columns:1fr;gap:30px}.social-split .screen{max-width:285px}.social-split .lead{font-size:16px}.steps{margin:25px 0}.steps li{gap:15px;margin-bottom:24px}.steps p{font-size:14px}.conversation{padding-top:50px;display:flex;flex-direction:column-reverse;gap:32px}.conversation .screen{max-width:285px}.screen-note{font-size:11px}.faq{display:block;padding-block:50px}.faq h2{font-size:32px;margin-bottom:30px}.faq summary{font-size:14px}.download{padding:32px 25px;margin-bottom:50px;gap:10px}.download h2{font-size:32px}.download p:not(.eyebrow){font-size:14px}.download .small{font-size:10px!important}.download .lantern{display:none}.store-links{gap:10px}.store-links .button{font-size:12px;gap:13px;padding:12px 16px}.footer-top{display:block}.footer-top p{font-size:21px;margin-top:24px}.site-footer nav{gap:10px 20px;font-size:11px}.footer-bottom{gap:8px;font-size:10px}.breadcrumbs{font-size:10px;margin-top:17px}.page-intro{padding-top:25px;padding-bottom:24px}.page-intro h1{font-size:38px}.lead{font-size:16px;line-height:1.8}.search-control input{font-size:12px}.search-control button{font-size:10px}.directory{padding-bottom:30px}.region-hero{padding-top:25px}.region-hero h1{font-size:46px;gap:17px}.region-hero h1>span{font-size:19px}.region-hero figure>img{aspect-ratio:2.35}.region-hero figcaption{font-size:9px;padding-inline:20px}.city-section{margin-bottom:30px}.city-hero{grid-template-columns:1fr;gap:27px;padding-top:25px;padding-bottom:40px}.city-hero h1{font-size:44px}.city-hero figure>img{aspect-ratio:1.5;border-radius:35px 5px 5px 5px}.photo-grid{gap:22px}.photo-card h3{font-size:23px}.photo-card p{font-size:12px}.photo-card h3 span{display:none}.photo-card .text-link{font-size:11px}.shared-moment{padding:25px;margin-top:30px}.shared-moment h2{font-size:27px}.shared-moment p:last-child{font-size:14px}.article-heading h1{font-size:41px}.place-article{padding-top:25px;padding-bottom:40px}.place-photos{grid-template-columns:1fr;gap:28px}.place-photos figcaption{font-size:11px}.reading{grid-template-columns:1fr;gap:25px;margin-top:35px}.prose{font-size:17px}.story-aside{padding:25px}.source-notes{font-size:11px;overflow-wrap:anywhere}.feature-hero{padding-top:25px}.feature-hero h1{font-size:40px}.feature-hero .screen{max-width:290px}.app-intro .app-icon{width:76px;height:76px}.app-gallery{padding-top:20px}.platform-switch{width:fit-content;margin-top:25px}.screens-grid{gap:18px;padding:20px 10px}.screens-grid .screen{width:calc(50% - 9px)}.screens-grid figcaption{font-size:9px}.platform-panel h2{font-size:16px}.selector h1{font-size:42px}.language-tiles{gap:10px}.language-tile{padding:16px}.language-tile strong{font-size:16px}.language-tile span{font-size:11px}}
@media(max-width:400px){.nav-wrap{gap:9px}.brand{font-size:15px}.brand img{width:32px;height:32px}.menu-toggle{font-size:11px!important}.container,.site-footer{width:calc(100% - 32px)}.hero-photo{height:300px}.hero-copy h1{font-size:42px}.region-card h3{font-size:18px}.photo-grid{grid-template-columns:1fr}.region-card p{font-size:10px}.download{padding:28px 20px}.language-tile{padding:14px 11px}.screens-grid{padding:18px 8px;gap:10px}.screens-grid .screen{width:calc(50% - 5px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}

/* Youthful travel and friendship presentation. Existing routes and native media stay intact. */
:root {
  --ink: #182f2b;
  --muted: #52665f;
  --green: #087362;
  --paper: #fffefa;
  --mint: #eaf8ef;
  --line: #dce7df;
  --coral: #c63e30;
  --lime: #e0f7a0;
  --lilac: #ede8fa;
  --serif: var(--sans);
}
h1, h2 { font-weight: 750; letter-spacing: -.045em; line-height: 1.12; text-wrap: balance; }
h3 { font-weight: 700; }
a:focus-visible, button:focus-visible, input:focus-visible, summary:focus-visible { outline-color: var(--coral); }
.button, .nav-download {
  border-radius: 999px;
  background: var(--coral);
  border-color: var(--coral);
  font-weight: 700;
  transition: transform .18s ease, background-color .18s ease, box-shadow .18s ease;
}
.button { min-height: 54px; padding-inline: 25px; gap: 20px; }
.button:hover, .nav-download:hover { background: #aa3026; transform: translateY(-2px); box-shadow: 0 6px 18px #c63e3020; }
.button.secondary { color: var(--green); background: #fff; border-color: #a2bdb2; }
.button.secondary:hover { background: var(--mint); }
.text-link { color: var(--green); font-weight: 700; }
.site-header { background: #fffefaf5; backdrop-filter: blur(14px); }
.nav-wrap { min-height: 84px; width: min(1240px, calc(100% - 96px)); }
.brand { font-size: 22px; font-weight: 750; }
.nav-wrap>nav { font-weight: 600; gap: 6px; }
.nav-wrap>nav a { padding: 10px 15px; border-radius: 999px; transition: background-color .18s ease; }
.nav-wrap>nav a:hover, .nav-wrap>nav [aria-current] { background: var(--mint); box-shadow: none; }
.nav-download { padding: 12px 20px; }
.language-list { border-radius: 18px; }
.language-list a { border-radius: 12px; }
.home-hero { width: min(1384px, calc(100% - 40px)); grid-template-columns: 1.04fr 1fr; gap: 64px; margin-top: 24px; margin-bottom: 72px; padding: 46px 56px; border: 1px solid #e5ece2; border-radius: 38px; background: #f1f6ef; }
.hero-copy, .hero-photo, .social-split>div, .feature-hero>div, .region-card, .photo-card { min-width: 0; }
.hero-copy h1 { font-size: clamp(42px, 4.25vw, 64px); line-height: 1.08; margin-bottom: 25px; }
.hero-copy h1>span { display: block; text-wrap: balance; }
.hero-copy h1>br { display: none; }
.hero-copy h1>span+br+span { color: var(--green); }
.hero-copy .eyebrow { display: inline-flex; background: var(--lime); border-radius: 999px; padding: 9px 15px; letter-spacing: .1em; }
.hero-copy .lead { font-size: 17px; line-height: 1.75; max-width: 440px; margin-bottom: 28px; }
.hero-footnote { font-size: 12px; }
.hero-photo { min-height: 500px; isolation: isolate; }
.hero-photo::before { content: ''; position: absolute; inset: 8px -10px -12px 10px; background: #fff; border: 1px solid #dde6d9; border-radius: 32px; transform: rotate(2deg); z-index: -1; }
.hero-photo>img { border-radius: 32px; }
.hero-photo figcaption { bottom: 16px; left: 18px; right: 18px; border-radius: 8px; background: #122e29eb; padding: 6px 10px; }
.photo-stamp { top: 22px; right: 18px; padding: 13px 18px; background: var(--lime); border: 0; border-radius: 999px; color: var(--ink); font: 700 15px/1.4 var(--sans); transform: rotate(6deg); box-shadow: 0 5px 18px #182f2b16; }
.photo-note { position: absolute; bottom: 66px; left: 18px; max-width: calc(100% - 36px); display: flex; align-items: center; gap: 10px; min-height: 58px; background: #fff; border: 1px solid #ffffffa6; border-radius: 18px; padding: 10px 14px 10px 10px; font-size: 14px; line-height: 1.4; font-weight: 650; box-shadow: 0 5px 18px #182f2b18; }
.photo-note .smile { width: 36px; height: 36px; display: grid; place-items: center; flex-shrink: 0; border-radius: 50%; background: var(--lilac); color: #51407c; line-height: 1; }
.photo-note .smile svg { width: 20px; height: 20px; }
.photo-note-label { min-width: 0; overflow-wrap: anywhere; }
.photo-note-arrow { width: 16px; height: 16px; flex-shrink: 0; margin-left: 2px; }
.photo-note:hover { color: var(--ink); background: #fbfff9; }
.eyebrow { letter-spacing: .12em; font-weight: 750; }
.section-heading h2 { font-size: clamp(32px, 3.1vw, 44px); max-width: 690px; }
.region-grid { gap: 20px; }
.region-card { border-radius: 22px; box-shadow: 0 4px 18px #182f2b04; }
.region-card:hover { border-color: #a4c6b4; box-shadow: 0 12px 26px #182f2b0c; transform: translateY(-4px); }
.region-card>div { padding: 20px 22px 23px; }
.region-card h3 { font-size: 22px; font-weight: 700; }
.region-card h3 span, .photo-card h3 span { display: grid; place-items: center; border-radius: 50%; background: var(--mint); width: 30px; height: 30px; flex-shrink: 0; }
.region-card:nth-child(3n+2) h3 span { background: #fff0e8; }
.region-card:nth-child(3n) h3 span { background: var(--lilac); }
.region-card p { line-height: 1.65; }
.social-section { background: #edf5ed; border: 1px solid #e0eadd; border-radius: 38px; width: min(1384px, calc(100% - 40px)); margin-inline: auto; padding-block: 64px; }
.social-section>.container { width: min(1240px, calc(100% - 112px)); }
.social-split { gap: 72px; grid-template-columns: 1.1fr .9fr; }
.screen>img { border-radius: 22px; box-shadow: 0 18px 40px #184b3514; }
.steps li { gap: 17px; align-items: flex-start; }
.step-number { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 50%; background: #d4efbc; color: #274633; font: 750 13px/1 var(--sans); padding: 0; }
.steps li:nth-child(2) .step-number { background: #fde2d8; color: #813a2c; }
.steps li:nth-child(3) .step-number { background: #e7e0f6; color: #51407c; }
.steps h3 { padding-top: 2px; font-size: 17px; }
.conversation { padding-top: 80px; }
.faq details { border: 1px solid var(--line); background: #fff; padding: 20px 22px; border-radius: 18px; margin-bottom: 12px; }
.faq details:last-child { border-bottom: 1px solid var(--line); }
.faq summary span { color: var(--green); }
.download { --muted: #d3e5db; background: #163f35; color: #fff; border-radius: 32px; padding: 56px; position: relative; isolation: isolate; overflow: hidden; }
.download::after { content: ''; position: absolute; right: -70px; top: -70px; width: 340px; aspect-ratio: 1; border: 1px solid #416357; border-radius: 50%; box-shadow: 0 0 0 48px #41635730, 0 0 0 96px #41635720; z-index: -1; pointer-events: none; }
.download h2 { max-width: 780px; font-size: clamp(32px, 3.5vw, 46px); }
.download .button { background: #edf6de; color: #183e32; border-color: #edf6de; }
.download .button:hover { background: #fff; }
.download .eyebrow { color: #d1ecac; }
.download .button.secondary { background: transparent; color: #fff; border-color: #8ea99a; }
.download .button.secondary:hover { background: #2c5547; }
.download a:focus-visible { outline-color: #edf6de; }
.footer-top p { font-weight: 650; }
.search-control { border-radius: 999px; padding-inline: 20px; border-color: #9cb9ac; box-shadow: 0 4px 14px #182f2b04; }
.search-control input { min-height: 38px; }
.search-control button { min-height: 38px; }
.photo-card { background: #fff; border: 1px solid var(--line); border-radius: 22px; padding: 0; overflow: hidden; transition: transform .18s ease, box-shadow .18s ease; }
.photo-card:hover { transform: translateY(-3px); box-shadow: 0 12px 26px #182f2b0c; }
.photo-card>a { display: block; }
.photo-card>a:focus-visible { outline-offset: -4px; border-radius: inherit; }
.photo-card>a>img { border-radius: 0; }
.photo-card>a>div { padding: 22px; }
.photo-card h3 { font-weight: 700; font-size: 23px; }
.city-hero figure>img, .place-photos img { border-radius: 28px; }
.shared-moment { border: 1px solid var(--line); border-radius: 24px; }
.story-aside { border-radius: 24px; }
.platform-switch { border-radius: 999px; background: #fff; }
.platform-switch a { border-radius: 999px; font-weight: 650; }
.screens-grid { border-radius: 30px; background: var(--lilac); }
.language-tile { border-radius: 20px; }
html[lang=ko] h1, html[lang=ko] h2, html[lang=ko] h3 { letter-spacing: -.04em; }
/* Featured destinations and native app presentation share the same visual rhythm. */
.featured { grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 20px; }
.featured .region-card { grid-column: span 3; background: #fff; }
.featured .region-card:nth-child(-n+2) { grid-column: span 6; }
.featured .region-card>img { aspect-ratio: 2.05; object-position: center; }
.featured .region-card:nth-child(-n+2)>img { aspect-ratio: 2.9; }
.featured .region-card:nth-child(-n+2) h3 { font-size: 26px; }
.featured .region-card>div { padding: 20px; }
.featured .region-card h3 { margin-right: 0; padding-right: 35px; align-items: center; }
.featured .region-zh { top: 24px; right: 16px; }
.destination-section { padding-bottom: 80px; }
.screen-stage { width: 100%; max-width: 440px !important; justify-self: center; padding: 30px; border-radius: 32px; background: #dcebdd; position: relative; isolation: isolate; }
.screen-stage::before { content: ''; position: absolute; width: 85%; aspect-ratio: 1; top: 18%; left: 7.5%; border: 1px solid #ffffffab; border-radius: 50%; box-shadow: 0 0 0 24px #ffffff18, 0 0 0 48px #ffffff10; z-index: -1; pointer-events: none; }
.screen-stage .screen { width: 100%; max-width: 300px; }
.screen-stage .screen>img { box-shadow: 0 14px 32px #193c3020; }
.screen-stage .screen figcaption { font-size: 11px; color: #41584d; }
.stage-chat { background: #ece8f2; }
.stage-chat::before { border-color: #fff; }
.conversation { grid-template-columns: .9fr 1.1fr; align-items: center; }
.conversation .steps { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px 26px; }
.conversation .steps li { margin: 0; display: block; }
.conversation .step-number { margin-bottom: 12px; }
.conversation .steps h3 { font-size: 15px; line-height: 1.5; }
.conversation .steps p { font-size: 13px; line-height: 1.75; }
.faq { padding-block: 80px; }
.faq>h2 { max-width: 360px; }
.faq details[open] { background: #f3f7ef; border-color: #a8bda7; }
@media (max-width: 1100px) {
  .home-hero { gap: 34px; padding: 34px; }
  .social-section>.container { width: calc(100% - 68px); }
  .hero-photo { min-height: 440px; }
  .social-split, .feature-hero { gap: 45px; }
  .featured { gap: 16px; }
  .featured .region-card>div { padding: 16px; }
  .featured .region-card h3 { font-size: 19px; }
  .screen-stage { padding: 20px; }
}
@media (min-width: 761px) and (max-width: 1000px) {
  .featured { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .featured .region-card, .featured .region-card:nth-child(-n+2) { grid-column: auto; }
  .featured .region-card>img, .featured .region-card:nth-child(-n+2)>img { aspect-ratio: 2.7; }
  .featured .region-card h3, .featured .region-card:nth-child(-n+2) h3 { font-size: 22px; }
}
@media (max-width: 760px) {
  .nav-wrap { min-height: 72px; width: calc(100% - 32px); }
  .nav-wrap>nav { gap: 4px; }
  .nav-wrap>nav a { padding: 12px 8px; }
  .brand { font-size: 18px; }
  .home-hero { width: calc(100% - 24px); grid-template-columns: 1fr; gap: 26px; margin-top: 12px; margin-bottom: 46px; padding: 28px 18px 20px; border-radius: 28px; }
  .hero-copy h1 { font-size: clamp(34px, 8.8vw, 52px); margin-bottom: 18px; letter-spacing: -.045em; }
  .hero-copy .eyebrow { font-size: 9px; padding: 8px 12px; margin-bottom: 18px; }
  .hero-copy .lead { font-size: 15px; line-height: 1.7; margin-bottom: 22px; }
  .hero-footnote { font-size: 10px; margin-top: 14px; }
  .hero-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hero-actions .button { min-height: 50px; padding-inline: 10px; gap: 8px; font-size: 12px; text-align: center; }
  .hero-photo { min-height: 0; height: 340px; }
  .hero-photo>img { border-radius: 26px; }
  .hero-photo::before { border-radius: 27px; inset: 3px -3px -5px 4px; transform: rotate(1deg); }
  .photo-stamp { top: 16px; right: 15px; font-size: 13px; padding: 10px 15px; }
  .photo-note { left: 14px; bottom: 66px; max-width: calc(100% - 28px); min-height: 50px; border-radius: 16px; font-size: 13px; padding: 8px 12px 8px 8px; gap: 9px; }
  .photo-note .smile { width: 32px; height: 32px; }
  .hero-photo figcaption { left: 14px; bottom: 13px; font-size: 9px; }
  .section-heading h2 { font-size: 31px; }
  .region-grid { gap: 12px; }
  .region-card { border-radius: 18px; }
  .region-card>div { padding: 15px 12px 17px; }
  .region-card h3 { font-size: 18px; overflow-wrap: anywhere; }
  .region-card h3 span, .photo-card h3 span { display: none; }
  .social-section { width: calc(100% - 24px); border-radius: 28px; padding-block: 32px; }
  .social-section>.container { width: calc(100% - 32px); }
  .social-split, .feature-hero { grid-template-columns: 1fr; gap: 30px; }
  .featured { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .featured .region-card, .featured .region-card:nth-child(-n+2) { grid-column: auto; }
  .featured .region-card>img, .featured .region-card:nth-child(-n+2)>img { aspect-ratio: 1.8; }
  .featured .region-card>div { padding: 14px 12px 17px; }
  .featured .region-card h3, .featured .region-card:nth-child(-n+2) h3 { font-size: 18px; padding-right: 15px; }
  .featured .region-zh { top: 17px; right: 8px; }
  .screen-stage { max-width: 360px !important; padding: 24px 18px; border-radius: 24px; }
  .screen-stage .screen { max-width: 270px; }
  .conversation .steps { grid-template-columns: 1fr; gap: 22px; }
  .conversation .steps li { display: flex; gap: 13px; }
  .conversation .step-number { margin-bottom: 0; }
  .conversation .steps p { font-size: 14px; }
  .destination-section { padding-bottom: 48px; }
  .faq { padding-block: 48px; }

  .steps li { gap: 13px; }
  .steps h3 { font-size: 16px; }
  .step-number { width: 34px; height: 34px; font-size: 12px; }
  .conversation { padding-top: 48px; }
  .faq details { padding: 17px 18px; border-radius: 16px; }
  .download { border-radius: 26px; padding: 32px 24px; }
  .download h2 { font-size: 30px; }
  .photo-grid { gap: 14px; }
  .photo-card { border-radius: 18px; }
  .photo-card>a>div { padding: 16px 13px; }
  .photo-card h3 { font-size: 20px; overflow-wrap: anywhere; }
  .city-hero figure>img, .place-photos img { border-radius: 22px; }
  .search-control { padding-inline: 15px; }
  .screens-grid { border-radius: 24px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .button, .nav-download, .region-card, .photo-card { transition: none; }
  .button:hover, .nav-download:hover, .region-card:hover, .photo-card:hover { transform: none; }
}

/* Explicit App Store regions and room for long translated labels. */
.store-options { width: 100%; min-width: 0; }
.store-links { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.store-links .store-link { min-width: 0; min-height: 76px; border-radius: 20px; justify-content: space-between; gap: 14px; padding: 16px 20px; }
.store-link .store-label { min-width: 0; display: grid; gap: 6px; font-size: 15px; line-height: 1.4; text-align: left; }
.store-label .store-edition { font-size: 11px; line-height: 1.45; font-weight: 550; overflow-wrap: anywhere; }
.store-label strong { font-size: 17px; line-height: 1.3; font-weight: 720; }
.store-region-note { font-size: 12px; line-height: 1.7; max-width: 80ch; margin: 14px 0 20px; color: var(--muted); }
.app-intro .store-options { max-width: 880px; margin-inline: auto; }
.app-intro .store-region-note { margin-inline: auto; }
.download > div { min-width: 0; }
@media (max-width: 1050px) and (min-width: 761px) {
  .download .store-links { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .store-links { grid-template-columns: 1fr; }
  .store-links .store-link { min-height: 72px; padding: 14px 19px; }
  .store-region-note { font-size: 11px; }
}

/* Practical guides: readable answers and explicit forthcoming feature status. */
.guide-page { padding-block: 44px 70px; }
.guide-heading { max-width: 940px; margin-bottom: 42px; }
.guide-heading h1 { font-size: clamp(34px, 4.2vw, 62px); line-height: 1.12; overflow-wrap: anywhere; }
.guide-links { display: flex; flex-wrap: wrap; gap: 12px 24px; }
.guide-links a, .guide-sources a, .city-source-notes a { text-decoration: underline; text-underline-offset: 4px; }
.guide-links a { display: inline-flex; align-items: center; min-height: 44px; }
.guide-layout { display: grid; grid-template-columns: minmax(200px, .75fr) minmax(0, 2fr); gap: 52px; align-items: start; }
.guide-contents { padding: 24px; border-radius: 24px; background: #e6f3eb; }
.guide-contents>p { font-weight: 700; }
.guide-contents ol { padding-left: 20px; margin-bottom: 0; }
.guide-contents li { margin-bottom: 12px; }
.guide-contents a { display: block; padding-block: 6px; font-size: 14px; line-height: 1.6; }
.guide-body { max-width: 76ch; min-width: 0; }
.guide-notice { padding: 24px; border: 1px solid #d4dcd0; border-radius: 22px; background: #f2f5e7; }
.guide-notice p { margin: 8px 0 0; }
.guide-answer { padding-block: 28px; border-bottom: 1px solid var(--line); }
.guide-answer h2 { font-size: clamp(23px, 2.2vw, 31px); line-height: 1.3; letter-spacing: -.025em; }
.guide-answer p { margin-bottom: 0; }
.guide-answer .feature-status { display: inline-block; padding: 5px 12px; margin-bottom: 14px; border-radius: 20px; background: #e6f3eb; color: #174c41; font-size: 12px; font-weight: 750; }
.guide-answer .guide-links, .guide-answer>.text-link { margin-top: 16px; }
.guide-sources { padding-top: 36px; font-size: 14px; }
.guide-sources h2, .guide-related h2 { font-size: 28px; }
.guide-sources ul { padding-left: 22px; }
.guide-related { margin-top: 52px; border-top: 1px solid var(--line); padding-top: 30px; }
.city-questions { padding-block: 56px 12px; }
.city-questions>h2 { max-width: 900px; }
.city-question-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; }
.city-question-grid h3 { font-size: 22px; line-height: 1.4; }
.city-source-notes { padding-block: 22px; font-size: 14px; }
.city-source-notes summary { font-weight: 650; }
.city-source-notes ul { padding-left: 22px; }
.city-source-notes p { margin-top: 16px; }
@media (max-width: 900px) {
  .guide-layout { grid-template-columns: 1fr; gap: 28px; }
  .guide-contents { max-width: 76ch; }
  .city-question-grid { grid-template-columns: 1fr; gap: 0; }
}
@media (max-width: 760px) {
  .guide-page { padding-top: 26px; }
  .guide-heading { margin-bottom: 26px; }
  .guide-contents, .guide-notice { padding: 20px; border-radius: 18px; }
  .city-questions { padding-top: 36px; }
}
