/* Content pages inherit the approved Stellar Star palette and typefaces. The header, menu, footer and phone bar here are shared with the homepage. */
.menu-toggle{display:block}
.desktop-nav .icon{display:none}
.header-inner{gap:20px}
#mobile-nav{padding:24px max(24px,calc((100vw - 1200px)/2));max-height:calc(100svh - 86px);overflow-y:auto;overscroll-behavior:contain}
.site-menu-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:40px;direction:ltr}
.site-menu-grid>div{min-width:0;direction:var(--reading-dir)}
#mobile-nav .menu-page-link{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:48px;border-bottom:1px solid #00000014;padding:12px 0;color:#111;line-height:1.5}
#mobile-nav .menu-page-link .icon{width:18px;height:18px;flex-shrink:0}

.page-footer-nav{display:grid;grid-template-columns:minmax(0,1fr);gap:28px;padding-block:30px 12px;direction:ltr}
.page-footer-nav>div{min-width:0;direction:var(--reading-dir)}
html:root .page-footer-nav h2{font-size:16px;font-weight:600;margin:0 0 12px;color:inherit;line-height:1.6}
.page-footer-nav .footer-page-link{display:inline-flex;align-items:center;min-height:44px;gap:8px;margin-inline-end:24px;font-size:14px;line-height:1.6;color:inherit}
.footer-page-link .icon{width:14px;height:14px}
.page-footer-nav a:hover{text-decoration:underline;text-underline-offset:5px}
.content-page{background:#fff;color:#111}
.page-container{max-width:1280px;margin-inline:auto;padding:0 40px 64px;direction:var(--reading-dir)}
.page-breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:12px;font-size:13px;line-height:1.7;padding-block:22px 12px;color:#444}
.page-breadcrumb a{display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;text-underline-offset:4px}
.page-breadcrumb .icon{display:none}
.page-heading{padding-block:22px 42px;border-bottom:1px solid #00000020;margin-bottom:40px}
.page-heading h1{font-family:var(--font-copy,var(--body));font-size:clamp(36px,4.7vw,68px);font-weight:600;line-height:1.12;letter-spacing:-.025em;max-width:22ch;text-wrap:balance;margin:0 0 22px;overflow-wrap:break-word}
.page-heading>p{font-size:18px;line-height:1.7;max-width:67ch;color:#444;margin:0}
.page-heading br{display:none}
.page-section{margin-top:52px}
html:root .page-section>h2,html:root .page-feature h2,html:root .guide-prose h2{font-size:clamp(25px,2.8vw,36px);font-weight:600;line-height:1.3;letter-spacing:-.02em;margin:0 0 18px;text-wrap:balance}
.page-section>p,.page-feature p,.support-chapter p,.guide-prose p,.page-list li{font-size:16px;line-height:1.8;max-width:70ch;color:#444;margin:0 0 18px}
.content-page .text-link{color:#111;min-height:44px;font-size:15px;line-height:1.6;gap:14px;white-space:normal}
.content-page .button{white-space:normal;line-height:1.5;text-align:center}
.page-feature{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:center;margin:40px 0}
.page-feature>div,.page-feature>figure{min-width:0}
.page-photo{margin:0;overflow:hidden}
.page-photo img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;display:block;border-radius:12px;background:#f2f2ed}
.page-photo figcaption{font-size:12px;line-height:1.6;color:#444;margin-top:10px}
.page-photo-pair{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:28px}
.support-chapter{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:56px;padding-block:32px;border-bottom:1px solid #00000020;scroll-margin-top:24px}
.support-chapter:first-child{padding-top:0}
html:root .support-chapter .chapter-head h2{font-size:clamp(25px,3vw,36px);font-weight:600;letter-spacing:-.02em;line-height:1.3;text-wrap:balance;margin:0}
.support-chapter h3{font-size:21px;line-height:1.5;font-weight:600;margin:0 0 14px}
.support-chapter .page-photo{margin-top:24px}
.page-checks{display:grid;grid-template-columns:minmax(150px,.7fr) minmax(0,1.3fr);gap:20px 40px;border-top:1px solid #00000020;padding-top:24px}
.page-checks h3{font-size:20px;line-height:1.5;margin:0;font-weight:600}
.page-checks p{font-size:16px;line-height:1.8;margin:0;color:#444}
.page-note,.page-feature .page-note{font-size:13px;line-height:1.8;color:#444}
.page-list{padding-inline-start:24px;margin-block:0 24px}
.page-list li{padding-inline-start:6px;margin-bottom:12px}
.page-list li::marker{color:#111}
.page-links>a{display:flex;justify-content:space-between;align-items:center;gap:32px;padding-block:28px;border-bottom:1px solid #00000020;color:#111;transition:background .18s}
.page-links>a:first-child{border-top:1px solid #00000020}
.page-links>a:hover{background:#ecff7133}
html:root .page-links :is(h2,h3){max-width:none;font-size:clamp(23px,2.5vw,32px);line-height:1.35;margin:0 0 12px;font-weight:600;letter-spacing:-.02em;text-wrap:balance}
.page-links p{font-size:16px;line-height:1.7;color:#444;margin:0;max-width:65ch}
.page-links .icon{width:30px;height:30px;flex-shrink:0}
.page-closing{margin-top:56px;padding:40px;background:#ecff71;border-radius:14px}
html:root .page-closing h2{font-size:clamp(28px,3.6vw,46px);line-height:1.2;letter-spacing:-.025em;margin:0 0 18px;font-weight:600;text-wrap:balance}
html:root .page-closing h2 em{font-style:normal;color:inherit}
.page-closing p{font-size:16px;line-height:1.7;color:#303817;margin:0 0 24px}
.page-closing .button{background:#000;color:#fff}
.guide-prose>section{margin-bottom:36px;scroll-margin-top:24px}
.guide-prose{max-width:72ch}
/* The privacy policy: a small date line under the title, and section headings smaller than a guide's. */
[data-page=privacy] .page-heading>p{font-size:14px}
html:root .guide-prose.policy h2{font-size:clamp(20px,2vw,24px);max-width:none}
.guide-prose.policy>p{margin-bottom:32px}
.guide-prose.policy>section{margin-bottom:32px}
.page-steps{padding:0;counter-reset:step;list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin:28px 0 40px}
.page-steps li{counter-increment:step;border-top:1px solid #00000025;padding-top:20px}
.page-steps li:before{content:counter(step,decimal-leading-zero);font-family:var(--display);font-size:28px;display:block;margin-bottom:14px;color:#444}
.page-steps h3{font-size:21px;line-height:1.5;margin:0 0 12px;font-weight:600}
.page-steps p{font-size:16px;line-height:1.8;color:#444;margin:0}
.page-faq{max-width:900px}
.page-faq details{border-bottom:1px solid #00000025}
.page-faq summary{display:flex;justify-content:space-between;gap:24px;cursor:pointer;list-style:none;padding:24px 0;font-size:20px;line-height:1.6;font-weight:600}
.page-faq summary::-webkit-details-marker{display:none}
.page-faq details>p{font-size:16px;line-height:1.8;margin:0 0 24px;color:#444;max-width:70ch}
.content-page .footer{width:auto;max-width:none;padding-inline:max(40px,calc((100vw - 1200px)/2));background:#131415;color:#f4f4ec}
/* Keep structural columns stable; only the content follows the reading direction. */
.page-feature,.support-chapter,.page-photo-pair,.page-checks,.page-steps{direction:ltr}
.page-feature>*,.support-chapter>*,.page-photo-pair>*,.page-checks>*,.page-steps>*{direction:var(--reading-dir)}
html[dir=rtl] .page-heading h1,html[lang=hi] .page-heading h1,html[lang=bn] .page-heading h1{letter-spacing:0;line-height:1.35}
html[dir=rtl] .content-page h2,html[dir=rtl] .content-page h3,html[lang=hi] .content-page h2,html[lang=bn] .content-page h2{letter-spacing:0;line-height:1.6}
html[dir=rtl] .content-page .icon{transform:scaleX(-1)}

@media(max-width:1200px){.page-container{padding-inline:32px}.content-page .footer{padding-inline:32px}}
@media(max-width:800px){.page-feature,.support-chapter{gap:28px}.page-steps{grid-template-columns:1fr}.page-heading h1{font-size:44px}.page-photo-pair{gap:16px}}
@media(max-width:700px){
 .header-inner{gap:10px}
 #mobile-nav{padding:16px 24px 24px;max-height:calc(100svh - 72px)}
 .site-menu-grid{gap:24px;grid-template-columns:1fr}.menu-regions{border-top:1px solid #00000020;padding-top:18px}
 #mobile-nav .menu-page-link{font-size:16px;padding-block:10px}
 .page-footer-nav{grid-template-columns:1fr;gap:22px;padding-top:24px}
 .page-footer-nav .footer-page-link{font-size:14px;margin-inline-end:18px}
 .page-container{padding:0 24px 40px}.content-page .footer{padding-inline:24px}
 .page-breadcrumb{font-size:12px;padding-block:12px 0;gap:8px}
 .page-heading{padding-block:16px 28px;margin-bottom:28px}.page-heading h1{font-size:clamp(32px,8.5vw,44px);margin-bottom:16px;max-width:24ch}.page-heading>p{font-size:16px;line-height:1.8}
 .page-feature{grid-template-columns:1fr;gap:24px;margin:28px 0}
 .page-section{margin-top:36px}html:root .page-section>h2,html:root .page-feature h2,html:root .guide-prose h2{font-size:26px}
 .support-chapter{grid-template-columns:1fr;gap:16px;padding-block:24px}html:root .support-chapter .chapter-head h2{font-size:27px}.support-chapter h3{font-size:19px}
 .page-checks{grid-template-columns:1fr;gap:8px}.page-checks p{margin-bottom:20px}.page-checks p:last-child{margin-bottom:0}
 .page-photo-pair{grid-template-columns:1fr;gap:24px}
 .page-links>a{gap:18px;padding-block:24px}html:root .page-links :is(h2,h3){font-size:24px}.page-links .icon{width:24px;height:24px}
 .page-closing{margin-top:36px;padding:26px 22px}html:root .page-closing h2{font-size:30px}.page-closing .button{max-width:100%}
 .page-steps{gap:24px}.page-steps p{font-size:15px}
 .page-faq summary{font-size:18px;padding-block:20px}
}
@media(max-width:375px){.page-container{padding-inline:18px}.content-page .footer{padding-inline:18px}.page-heading h1{font-size:32px}}
/* Russian has long words (конфиденциальности) that do not fit a phone column at 32px. */
@media(max-width:430px){html[lang=ru] .page-heading h1{font-size:min(32px,7.9vw)}}
/* The WhatsApp button in a closing block keeps its label on one line on small phones. */
@media(max-width:360px){html:root .page-closing .whatsapp-button{padding-inline:14px;gap:10px}}
@media(prefers-reduced-motion:reduce){.page-links>a{transition:none}}

.page-actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px 28px}
.page-closing .text-link{color:#000;font-weight:600}
.page-closing .contact-pending{display:inline-block;margin:20px 0 0;background:#fff;font-size:14px;color:#000}

/* 2026-10-19: header with five links and an optional button, shorter menu, three footer groups and the phone bar on every page. */
html:root .header-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px}
.header-actions .language-menu{flex:none;width:136px}
html:root .header-actions>:is(.magnet-wrapper,.button){flex:none;width:auto}
html:root .header-actions .button{white-space:nowrap}
.menu-toggle{flex:none}
/* Grid tracks start at their longest word and share the rest evenly, so short links stay on one line and only long ones wrap. */
@media(min-width:1201px){.desktop-nav{display:grid;grid-auto-flow:column;grid-auto-columns:auto;justify-content:center;align-items:center;column-gap:clamp(14px,1.5vw,24px)}}
@media(min-width:1201px) and (max-width:1365px){
  .header-inner.wrap{padding-inline:40px}
  .header-inner{gap:20px}
}
html:root .desktop-nav a{padding-block:8px;font-size:.8125rem;line-height:1.3;text-wrap:balance}
html:root:is([lang=ru],[lang=fil],[lang=bn],[lang=hi]) .desktop-nav a{font-size:.78rem}
.desktop-nav a[aria-current=page]{text-decoration:underline;text-underline-offset:7px}
/* Russian and Filipino have the longest link names: below 1440px they get smaller gaps and type so each link stays on one line, and where even that does not fit (ru below 1240px, fil below 1300px, measured with the widest header button) the menu button carries the links. */
@media(min-width:1201px) and (max-width:1439px){
  html:root:is([lang=ru],[lang=fil]) .header-inner{gap:16px}
  html:root:is([lang=ru],[lang=fil]) .desktop-nav{column-gap:12px}
  html:root:is([lang=ru],[lang=fil]) .desktop-nav a{font-size:.75rem}
}
@media(min-width:1201px) and (max-width:1239px){
  html:root[lang=ru] .header-inner{grid-template-columns:minmax(0,1fr) auto}
  html:root[lang=ru] .desktop-nav{display:none}
}
@media(min-width:1201px) and (max-width:1299px){
  html:root[lang=fil] .header-inner{grid-template-columns:minmax(0,1fr) auto}
  html:root[lang=fil] .desktop-nav{display:none}
}
.menu-main{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:32px;align-content:start}
.menu-regions{display:flex;flex-direction:column;align-items:stretch}
#mobile-nav .menu-group-link{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:48px;padding:12px 0;border-bottom:1px solid #00000014;color:#111;font-weight:600;line-height:1.5}
#mobile-nav .menu-group-link .icon{width:18px;height:18px}
.menu-countries{display:flex;flex-wrap:wrap;gap:8px;padding-top:14px}
#mobile-nav .menu-country-link{display:inline-flex;align-items:center;min-height:44px;padding:8px 16px;border:1px solid #00000024;border-radius:999px;color:#111;font-size:.9375rem;line-height:1.4}
#mobile-nav .menu-country-link .icon{display:none}
#mobile-nav a[aria-current=page]{font-weight:600}
html:root .page-footer-nav{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 40px;padding-block:36px 8px;direction:var(--reading-dir)}
.footer-group ul{margin:0;padding:0;list-style:none}
html:root .page-footer-nav .footer-page-link{display:inline-flex;margin:0;min-height:40px}
.footer-group:last-child ul{columns:2;column-gap:24px}
.footer-group li{break-inside:avoid}
html[dir=rtl] .footer-page-link .icon{transform:scaleX(-1)}
@media(max-width:700px){
  .header-actions{gap:6px}
  .header-actions .language-menu{width:128px}
  .menu-main{grid-template-columns:minmax(0,1fr)}
  html:root .page-footer-nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 20px;padding-top:28px}
  .footer-group:last-child{grid-column:1/-1}
  /* While the bottom bar shows it never covers the end of the page. */
  body.mobile-bar-visible{padding-bottom:calc(68px + env(safe-area-inset-bottom))}
  /* Keyboard focus scrolled to the bottom of the screen stays clear of the bar. */
  html.mobile-bar-visible{scroll-padding-bottom:calc(92px + env(safe-area-inset-bottom))}
}
/* 120px leaves the longest names (简体中文, Русский) a little room beside the globe and the 14px chevron. */
@media(max-width:375px){.header-actions .language-menu{width:120px}.header-actions{gap:4px}}
/* Footer links stay on one line: one column on small phones, two from 701px, and wider tracks for the long groups on desktop. */
@media(max-width:560px){html:root .page-footer-nav{grid-template-columns:minmax(0,1fr)}.footer-group:last-child ul{columns:1}}
@media(min-width:701px) and (max-width:1100px){html:root .page-footer-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-group:last-child{grid-column:1/-1}}
@media(min-width:1101px){html:root .page-footer-nav{grid-template-columns:minmax(0,1fr) minmax(0,.6fr) minmax(0,1.6fr)}}

/* Content-page blocks. */
.page-lead{max-width:62ch;margin:0;color:#111;font-size:clamp(18px,1.6vw,21px);line-height:1.7}
.route-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:40px}
.route-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 20px;align-items:center;padding:24px 26px;border-radius:16px;background:#d8e1ff;color:#111}
.route-card:first-child{background:#ecff71}
html:root .route-card h2{margin:0;font-size:clamp(22px,2.2vw,28px);font-weight:600;line-height:1.3}
.route-card p{grid-column:1;margin:0;color:#303030;font-size:16px;line-height:1.7}
.route-card .icon{grid-column:2;grid-row:1/span 2;width:26px;height:26px}
@media(hover:hover){.route-card:hover{filter:brightness(.97)}}
.chapter-head{display:flex;flex-direction:column;align-items:flex-start;gap:12px;min-width:0}
.chapter-tag{display:inline-block;padding:4px 12px;border-radius:999px;background:#ecff71;color:#111;font-size:13px;font-weight:600;line-height:1.5}
#brands .chapter-tag{background:#f4e6ff}
.support-chapter .text-link{margin-bottom:4px}
.guide-card{max-width:72ch;margin-top:44px;padding:30px 32px;border-radius:16px;background:#d8e1ff}
html:root .guide-card h2{margin:0 0 12px;font-size:clamp(24px,2.6vw,32px);font-weight:600;line-height:1.3;letter-spacing:-.02em}
.guide-card p{margin:0 0 22px;color:#303030;font-size:16px;line-height:1.75}
.guide-card .button{background:#000;color:#fff}
.qa-list{max-width:900px;border-top:1px solid #00000020}
.qa{padding-block:22px;border-bottom:1px solid #00000020}
html:root .qa h3{margin:0 0 8px;font-size:19px;font-weight:600;line-height:1.5}
.qa p{max-width:70ch;margin:0;color:#444;font-size:16px;line-height:1.8}
.page-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 56px}
.page-columns>.page-section{min-width:0}
.page-apply{display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin:-12px 0 12px}
.page-apply .contact-pending{max-width:60ch}
.content-page .official-mark{margin:6px 0 18px}
.content-page .page-feature .contact-promises{margin:0 0 22px}
html:root .page-subheading{margin:26px 0 4px;font-size:19px;font-weight:600;line-height:1.5}
.page-link-list{display:flex;flex-wrap:wrap;gap:0 28px;margin:0;padding:0;list-style:none}
.country-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.country-card{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:84px;padding:20px 24px;border:1px solid #00000025;border-radius:16px;color:#111}
html:root .country-card h3{margin:0;font-size:20px;font-weight:600;line-height:1.4}
.country-card .icon{width:22px;height:22px}
@media(hover:hover){.country-card:hover{border-color:#000;background:#ecff7133}}
.region-names{display:flex;flex-wrap:wrap;gap:10px;margin:0;padding:0;list-style:none}
.region-names li{padding:8px 14px;border-radius:999px;background:#f2f2ed;font-size:15px;line-height:1.5}
.page-aside{display:flex;flex-wrap:wrap;align-items:center;gap:4px 24px;padding:22px 26px;border-radius:14px;background:#f2f2ed}
.page-aside>p{margin:0;font-size:16px;line-height:1.7;color:#111}
.faq-group{scroll-margin-top:24px}
.faq-group>.text-link{margin-top:12px}
.page-steps[data-count="4"]{grid-template-columns:repeat(4,minmax(0,1fr))}
.join-promise .contact-promises{margin-bottom:18px}
.closing-more{margin:16px 0 0!important}
@media(max-width:1100px){.page-steps[data-count="4"]{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){.route-cards,.page-columns,.country-cards{grid-template-columns:minmax(0,1fr)}.page-steps[data-count="4"]{grid-template-columns:minmax(0,1fr)}}
@media(max-width:700px){
  .route-card{padding:20px}
  .route-cards{margin-bottom:28px;gap:12px}
  .guide-card{margin-top:32px;padding:24px 20px}
  .qa{padding-block:18px}
  html:root .qa h3{font-size:18px}
  .page-apply{margin:-8px 0 8px}
  .page-apply .button{width:100%}
  .page-aside{padding:20px}
  .country-card{min-height:68px}
}
html:root .page-footer-nav .footer-page-link{max-width:100%}
.footer-page-link>span{min-width:0;overflow-wrap:break-word;hyphens:auto}
@media(max-width:700px){.page-link-list{flex-direction:column;align-items:flex-start}}
/* The logo scales by its height and never gives up width, which would squash it (logo guide 2026-10-27: the
   one-line logo is never under 140px wide, so phone headers too narrow for its 146px show only the S; half an S of
   clear space around it). */
.brand>img{flex:none;max-width:none}
.brand>img.brand-s{display:none}
@media(max-width:700px){.brand>img{height:21px}}
@media(max-width:364px){html:root .header-inner{gap:8px}html:root .header-actions{gap:4px}.header .brand>img{display:none}.header .brand>img.brand-s{display:block;height:28px}}
