/* Shared partner storefront. Brand tokens are applied by config.js. */
@font-face{font-family:Onest;src:url('./fonts/Onest-Regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Onest;src:url('./fonts/Onest-SemiBold.ttf') format('truetype');font-weight:600 900;font-style:normal;font-display:swap}
:root {
  color-scheme: light; --paper:#f8fcff; --ink:#062d59; --muted:#5f7590;
  --line:#d7e7f3; --accent:#168fe9; --accent-2:#55bdff;
  --lilac:#eef8ff; --blue:#ddf3ff; --yellow:#eaf7ff; --radius:20px;
  font-family:var(--brand-font,system-ui,sans-serif);
  background:var(--paper);color:var(--ink);font-synthesis:none;
}
*{box-sizing:border-box}[hidden]{display:none!important}
html{background:var(--paper);scroll-behavior:smooth;scroll-padding-top:100px;overflow-x:clip}
body{margin:0;min-width:320px;min-height:100vh;overflow-x:clip;background:radial-gradient(circle at 90% 0,color-mix(in srgb,var(--accent-2) 26%,transparent),transparent 28%),linear-gradient(180deg,var(--sky) 0,var(--paper) 420px,var(--paper) 100%)}
button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}
button{color:inherit;cursor:pointer}a{color:inherit}button:disabled{cursor:default}
.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}
.app-shell{width:min(100%,1248px);min-height:100vh;margin-inline:auto;padding:0 40px;position:relative}
.topbar{position:relative;height:88px;display:flex;align-items:center;gap:24px;margin-bottom:36px}
.wordmark{display:inline-flex;align-items:center;gap:10px;font-size:28px;font-weight:800;letter-spacing:-.045em;line-height:1;text-decoration:none;flex-shrink:0}
.wordmark img{width:38px;height:38px;border-radius:11px;box-shadow:0 8px 24px color-mix(in srgb,var(--ink) 16%,transparent)}
.wordmark span{color:var(--accent);font-weight:700}.wordmark-small{font-size:26px;margin-bottom:28px}.wordmark-small img{width:34px;height:34px}
.bottom-nav{display:flex;gap:30px;margin-inline-start:auto;align-items:center}
.bottom-nav button{padding:12px 0;border:0;background:none;color:var(--muted);font-size:14px;font-weight:550;position:relative}
.bottom-nav button.is-active{color:var(--ink)}.bottom-nav button.is-active:after{content:"";position:absolute;inset-inline:0;bottom:5px;height:2px;background:var(--accent)}
.bottom-nav svg{display:none}
.test-mode-badge{padding:6px 8px;border-radius:6px;color:var(--ink);background:var(--yellow);font-size:10px;font-weight:750;letter-spacing:.06em}
.preference-trigger{display:inline-flex;align-items:center;gap:5px;min-height:44px;padding:8px 11px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--ink);font-size:11px;white-space:nowrap}.preference-trigger b{font-size:11px}.preference-trigger i{color:var(--line);font-style:normal}.preference-trigger:hover{border-color:var(--ink)}[dir="rtl"] .preference-trigger{direction:ltr}
.profile-button,.back-button{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;background:transparent;border:1px solid var(--line);border-radius:50%;width:44px;height:44px;text-decoration:none}
.profile-button:hover{background:white}.profile-button svg,.back-button svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.back-button{gap:8px;width:auto;border:0;font-size:13px;border-radius:8px;margin-bottom:26px}
.back-button svg{order:-1;width:16px}.back-button:not(:has(span)){width:42px;border:1px solid var(--line)}
h1,h2,p{overflow-wrap:break-word}h1{margin:0;font-size:clamp(48px,5.6vw,70px);font-weight:650;letter-spacing:-.065em;line-height:1.02}
h2{margin:0;font-size:22px;font-weight:600;letter-spacing:-.035em}
.hero{margin-bottom:28px}.hero-copy{display:flex;justify-content:space-between;gap:50px;align-items:flex-end;margin-bottom:30px}
.eyebrow{margin:0 0 17px;font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);font-weight:650}
.hero h1 span{color:var(--accent)}.hero-aside{max-width:340px;padding:18px 20px;border:1px solid rgba(255,255,255,.8);border-radius:20px;background:rgba(255,255,255,.66);box-shadow:0 16px 40px color-mix(in srgb,var(--ink) 8%,transparent);backdrop-filter:blur(16px)}.hero-aside p{font-size:15px;line-height:1.65;margin:0 0 10px}.catalog-summary{font-size:12px;color:var(--muted)}
.search-field{display:flex;align-items:center;gap:14px;min-height:62px;padding:0 22px;border:1px solid #d7d6cf;border-radius:14px;background:white;box-shadow:0 3px 10px #1c171004}
.search-field:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 7%,transparent)}
.search-field svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7;flex-shrink:0}
.search-field input{width:100%;height:60px;background:transparent;border:0;outline:0;font-size:16px;color:var(--ink)}.search-field input::placeholder{color:var(--muted)}
.section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin:28px 0 18px}.sort-label{font-size:12px;color:var(--muted)}
.favorites-section{display:flex;align-items:center;gap:22px;margin:22px 0 30px}.favorites-section .section-heading{margin:0;display:block}.favorites-section h2{font-size:12px;letter-spacing:0;color:var(--muted);font-weight:500}.favorites-section .sort-label{display:none}
.favorite-grid{display:flex;gap:10px;overflow-x:auto;padding:3px;scrollbar-width:thin;flex:1;min-width:0}
.favorite-card{display:flex;align-items:center;position:relative;background:var(--lilac);border-radius:10px;flex-shrink:0}.favorite-card:nth-child(2n){background:var(--blue)}
.favorite-open{display:flex;align-items:center;gap:9px;padding:10px 8px 10px 14px;background:none;border:0;text-align:start;font-size:13px}.favorite-card .flag{font-size:18px}.favorite-card strong{font-weight:600;max-width:170px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.favorite-card .price,.favorite-card small{display:none}
.favorite-remove{width:34px;height:36px;flex-shrink:0;border:0;background:none;color:var(--accent);font-size:15px;border-radius:8px}.favorite-empty{font-size:12px;color:var(--muted)}
.region-filters{display:flex;gap:8px;overflow-x:auto;padding:2px 0 12px;scrollbar-width:thin}.region-filters button{display:flex;align-items:center;gap:7px;flex-shrink:0;background:none;border:1px solid var(--line);border-radius:8px;padding:10px 14px;font-size:12px}.region-filters button span{display:none}.region-filters button.is-active{background:var(--ink);color:white;border-color:var(--ink)}
.countries-section .section-heading{margin:20px 0 16px}.countries-section h2{font-size:16px}
.country-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.country-row{display:grid;grid-template-columns:minmax(0,1fr) 34px;align-items:center;border:1px solid var(--line);border-radius:12px;background:#fff;min-width:0;transition:border-color .15s}
.country-row:hover{border-color:#a3a39a}.country-open{display:grid;grid-template-columns:35px minmax(0,1fr);align-items:center;column-gap:12px;min-width:0;padding:17px 0 17px 17px;background:none;border:0;text-align:start;min-height:88px}
.country-row .flag{font-size:27px;grid-row:1/3;align-self:center}.country-row .name{font-size:14px;font-weight:580;line-height:1.4}.country-row .from{font-size:11px;color:var(--muted);grid-column:2;margin-top:3px}.country-row .from strong{font-weight:500;margin-inline-start:4px;color:var(--muted)}
.favorite-toggle{height:44px;border:0;background:none;color:#b7b6b0;font-size:19px;border-radius:8px}.favorite-toggle[aria-pressed=true]{color:var(--accent)}
.empty-inline{grid-column:1/-1;padding:16px 0;margin:0;color:var(--muted);font-size:13px}.state-card{padding:24px;border:1px solid var(--line);border-radius:14px;color:var(--muted);font-size:14px;line-height:1.6}.state-card button{margin-top:12px;border:0;padding:11px 18px;border-radius:9px;background:var(--ink);color:white}.country-meta{font-size:13px;color:var(--muted);line-height:1.7;margin:14px 0 0}.country-flag{font-size:64px;line-height:1}
.plan-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 0;border-block:1px solid var(--line);margin-bottom:24px}
.segment{display:flex;border:1px solid var(--line);border-radius:10px;padding:4px;background:#eeede8;min-width:260px}.segment button{flex:1;background:none;border:0;min-height:40px;font-size:13px;font-weight:550;border-radius:7px;padding:0 24px}.segment button.is-active{background:var(--ink);color:white;box-shadow:0 2px 4px #0001}
.plan-sort{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--muted)}.plan-sort select{max-width:100%;border:1px solid var(--line);border-radius:8px;background:transparent;color:var(--ink);padding:11px 32px 11px 12px;font-size:12px;min-height:44px}
.plan-heading{margin:24px 0 18px}.plan-heading h2{font-size:16px}.plan-list{padding-bottom:28px}.plan-group{margin:0 0 32px;scroll-margin-top:82px}.plan-group-heading{display:flex;align-items:center;gap:12px;margin:0 0 14px}.plan-group-heading:after{content:"";height:1px;background:var(--line);flex:1}.plan-group-heading h3{margin:0;font-size:16px;font-weight:600;letter-spacing:-.025em}.plan-group-heading>span{font-size:11px;color:var(--muted)}.plan-group-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.plan-days{position:sticky;top:0;z-index:5;display:flex;gap:8px;padding:12px 0 14px;margin:0 0 18px;overflow-x:auto;scrollbar-width:thin;background:var(--paper);border-bottom:1px solid var(--line)}.plan-days button{flex-shrink:0;border:1px solid var(--line);border-radius:8px;background:white;min-height:40px;padding:9px 16px;font-size:12px}.plan-days button:hover{border-color:var(--accent);color:var(--accent)}
.plan-card{position:relative;display:flex;flex-direction:column;align-items:stretch;gap:24px;min-height:196px;padding:23px;border:1px solid var(--line);border-radius:16px;background:white;text-align:start;transition:border-color .15s,background .15s;min-width:0}
.plan-card:hover{border-color:var(--accent)}.plan-card.is-selected{border-color:var(--accent);background:var(--yellow);box-shadow:inset 0 0 0 1px var(--accent)}
.plan-card strong{font-size:35px;font-weight:600;letter-spacing:-.055em;line-height:1.1}.plan-card .validity{display:block;font-size:13px;margin-top:9px;color:var(--muted)}.plan-card .detail{display:block;font-size:11px;margin-top:12px;line-height:1.5;color:var(--muted)}
.plan-card .price{margin-top:auto;padding-top:18px;border-top:1px solid var(--line);font-size:22px;font-weight:600;letter-spacing:-.035em}.plan-card .price::after{content:"↗";float:right;font-weight:400;color:var(--muted)}.plan-card.is-selected .price::after{content:"✓";color:var(--accent)}
.checkout-dock{position:sticky;bottom:16px;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:28px;background:var(--ink);color:white;padding:18px 24px;border-radius:16px;box-shadow:0 8px 30px #1716111c;margin:20px 0 36px}
.selected-plan-summary{display:grid;gap:5px;min-width:0}.selected-plan-summary strong{font-size:15px;font-weight:550}.selected-plan-summary span{font-size:12px;color:#c1c1ba}.checkout-action{width:285px;flex-shrink:0}.continue-button{width:100%;border:0;min-height:48px;border-radius:9px;background:var(--accent);color:white;font-size:14px;font-weight:550;cursor:pointer}.continue-button:disabled{opacity:.45;cursor:default}.pilot-note{font-size:10px;color:#c1c1ba;text-align:center;margin:8px 0 0}
.library-header { align-items: flex-start; display: flex; justify-content: space-between; margin-bottom: 38px; }
.library-header h1 { font-size: clamp(58px, 10vw, 96px); }
.esim-empty { align-items: center; background: linear-gradient(135deg,var(--paper),var(--sky)); border: 1px solid rgba(10,10,10,.08); border-radius: var(--radius); display: flex; flex-direction: column; min-height: 390px; padding: 52px; text-align: center; }
.esim-empty .esim-glyph { background: white; border: 1px solid var(--line); border-radius: 22px; display: grid; font-size: 46px; height: 92px; place-items: center; width: 76px; }
.esim-empty h2 { margin-top: 28px; }
.esim-empty p { color: #4d4c52; line-height: 1.55; max-width: 600px; }
.esim-empty button { background: var(--ink); border: 0; border-radius: 999px; color: white; cursor: pointer; margin-top: 12px; padding: 14px 22px; }
.esim-list { display: grid; gap: 14px; }
.esim-card { padding: 26px; border: 1px solid var(--line); border-radius: 26px; background: linear-gradient(135deg,var(--paper),var(--blue)); }
.esim-card header { display: flex; justify-content: space-between; gap: 18px; align-items: flex-start; }
.esim-card h2 { font-size: 28px; }
.esim-card .test-chip { padding: 6px 9px; border-radius: 999px; background: white; color: var(--accent); font-size: 11px; font-weight: 800; }
.esim-card dl { display: grid; gap: 8px; margin: 22px 0 0; }
.esim-card dl div { display: flex; justify-content: space-between; gap: 18px; }
.esim-card dt { color: var(--muted); }
.esim-card dd { margin: 0; text-align: right; overflow-wrap: anywhere; }
.esim-card code { font-size: 12px; }

.checkout-dialog { width: min(560px, calc(100% - 24px)); padding: 0; border: 0; border-radius: 30px; background: transparent; }
.checkout-dialog::backdrop { background: rgba(10,10,10,.45); backdrop-filter: blur(8px); }
.checkout-sheet { position: relative; padding: 30px; border: 1px solid rgba(255,255,255,.7); border-radius: 30px; background: var(--paper); box-shadow: 0 26px 90px rgba(0,0,0,.22); }
.checkout-sheet h2 { font-size: 42px; }
.checkout-close { position: absolute; top: 18px; right: 18px; width: 42px; height: 42px; border: 1px solid var(--line); border-radius: 50%; background: white; font-size: 26px; cursor: pointer; }
.checkout-summary { display: flex; justify-content: space-between; gap: 20px; margin: 26px 0 18px; padding: 20px; border: 1px solid var(--line); border-radius: 20px; background: white; }
.checkout-summary strong { font-size: 24px; }
.sandbox-notice { display: grid; gap: 4px; padding: 17px; border-radius: 18px; background: var(--blue); }
.sandbox-notice b { color: var(--ink); }
.sandbox-notice span { color: #40637f; font-size: 14px; line-height: 1.45; }
.checkout-state { min-height: 22px; color: var(--muted); }
.checkout-state.error { color: #a32f22; }
.checkout-state.success { color: #197147; }
.sandbox-secondary { width: 100%; margin-top: 10px; padding: 14px; border: 1px solid var(--line); border-radius: 18px; background: white; cursor: pointer; }
.guide-grid { display: grid; gap: 14px; grid-template-columns: repeat(2,minmax(0,1fr)); }
.guide-grid a { border: 1px solid var(--line); border-radius: 22px; display: flex; flex-direction: column; font-size: 19px; gap: 5px; padding: 23px; text-decoration: none; }
.guide-grid span { color: var(--muted); font-size: 14px; }

.profile-title { font-size: clamp(54px,9vw,88px); margin-bottom: 34px; }
.profile-card { display: flex; align-items: center; gap: 22px; margin-bottom: 46px; }
.profile-card .avatar { width: 98px; height: 98px; display: grid; place-items: center; border-radius: 50%; color: white; background: linear-gradient(135deg,var(--accent),var(--accent-2)); font-size: 56px; font-weight: 700; }
.profile-card h2 { font-size: 32px; }
.profile-card p { margin: 6px 0 0; color: var(--muted); }
#profile-account-actions { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; margin: -24px 0 46px; }
#profile-account-actions button { min-height: 52px; padding: 13px 18px; border: 1px solid var(--line); border-radius: 16px; background: rgba(255,255,255,.72); color: var(--ink); font: inherit; font-size: 15px; font-weight: 650; cursor: pointer; }
#profile-account-actions [data-action="login"] { grid-column: 1/-1; border-color: var(--accent); background: linear-gradient(110deg,var(--accent),var(--accent-2)); color: white; }
#profile-account-actions [data-action="delete"] { color: var(--ink); }
#profile-account-actions button:disabled { opacity: .55; cursor: default; }
#profile-account-actions p { grid-column: 1/-1; margin: 0; color: var(--muted); }
.settings-list { margin-top: 18px; border: 1px solid var(--line); border-radius: 24px; overflow: hidden; background: rgba(255,255,255,.55); }
.settings-list a,.settings-list button { width:100%; min-height: 70px; display: flex; align-items: center; justify-content: space-between; padding: 0 24px; border:0; border-bottom: 1px solid var(--line); background:transparent; text-align:start; text-decoration: none; font-size: 20px; }
.settings-list a:last-child,.settings-list button:last-child { border-bottom: 0; }
.settings-list span { font-size: 32px; }
.settings-list .settings-copy{display:grid;gap:4px}.settings-list .settings-copy b{font-size:20px}.settings-list .settings-copy small{font-size:12px;color:var(--muted);font-weight:450}

.preference-dialog{width:min(720px,calc(100% - 24px));max-height:min(82dvh,760px);padding:0;border:0;border-radius:26px;background:var(--paper);color:var(--ink);box-shadow:0 28px 100px color-mix(in srgb,var(--ink) 27%,transparent)}.preference-dialog::backdrop{background:color-mix(in srgb,var(--ink) 40%,transparent);backdrop-filter:blur(8px)}.preference-sheet{display:flex;flex-direction:column;max-height:min(82dvh,760px);padding:25px}.preference-sheet header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.preference-sheet header p{margin:0 0 6px;color:var(--accent);font-size:10px;font-weight:750;letter-spacing:.09em;text-transform:uppercase}.preference-sheet header h2{font-size:29px}.preference-sheet header button{width:40px;height:40px;border:1px solid var(--line);border-radius:50%;background:white;font-size:24px}.preference-tabs{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;margin:22px 0 14px;border-radius:12px;background:#eeede8}.preference-tabs button{min-height:42px;border:0;border-radius:9px;background:transparent;font-size:13px;font-weight:650}.preference-tabs button[aria-selected="true"]{background:white;box-shadow:0 2px 8px color-mix(in srgb,var(--ink) 6%,transparent)}.preference-search input{width:100%;min-height:46px;padding:0 15px;border:1px solid var(--line);border-radius:11px;background:white;font-size:16px}.preference-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;min-height:0;margin-top:14px;overflow:auto;overscroll-behavior:contain}.preference-option{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:9px;align-items:center;min-height:54px;padding:9px 12px;border:1px solid var(--line);border-radius:11px;background:white;text-align:start}.preference-option span{font-size:19px}.preference-option strong{overflow:hidden;text-overflow:ellipsis}.preference-option small{color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.preference-option[aria-checked="true"]{border-color:var(--accent);background:var(--yellow);box-shadow:inset 0 0 0 1px var(--accent)}.preference-note{margin:14px 0 0;padding-top:13px;border-top:1px solid var(--line);color:var(--muted);font-size:12px}

#esims-view,#profile-view{max-width:880px;margin-inline:auto}.library-header h1,.profile-title{font-size:52px}
@media (max-width: 900px){.app-shell{padding:0 28px}.hero-copy{gap:28px}.hero-aside{max-width:260px}.hero-aside p{font-size:13px}.country-list,.plan-group-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width: 620px){
  .app-shell{padding:0 20px}.topbar{height:78px;gap:6px;margin-bottom:34px}.topbar .wordmark{font-size:23px}.topbar .wordmark img{width:34px;height:34px}.bottom-nav{gap:4px}.bottom-nav button{display:grid;place-items:center;width:36px;height:36px;padding:0}.bottom-nav button span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.bottom-nav svg{display:block;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6}.profile-button{width:36px;height:36px}.test-mode-badge{position:absolute;inset-inline-end:0;top:70px;font-size:9px}.preference-trigger{flex:0 0 36px;width:36px;padding:0;justify-content:center}.preference-trigger>*{display:none}.preference-trigger>span:first-child{display:inline}.preference-sheet{padding:20px}.preference-grid{grid-template-columns:1fr}.preference-option{grid-template-columns:28px 60px minmax(0,1fr)}
  .hero-copy{display:block;margin-bottom:24px}.eyebrow{font-size:10px;margin-bottom:13px}.hero h1{font-size:clamp(39px,10.6vw,61px);letter-spacing:-.06em}.hero-aside{max-width:none;margin-top:20px}.hero-aside p{font-size:13px;line-height:1.65;margin-bottom:9px}.hero-aside p br{display:none}.catalog-summary{font-size:11px}.search-field{min-height:56px;padding:0 16px;border-radius:12px}.search-field input{height:54px;font-size:15px}
  .favorites-section{gap:12px;margin:18px 0 22px}.favorite-open{padding:9px 5px 9px 11px;font-size:12px}.favorite-remove{width:29px}.favorite-card strong{max-width:130px}.favorite-grid{gap:8px}.region-filters{gap:6px}.region-filters button{font-size:11px;padding:9px 12px;min-height:38px}
  .country-list{grid-template-columns:1fr;gap:8px}.country-open{min-height:76px;padding:13px 0 13px 16px;grid-template-columns:34px minmax(0,1fr)}.country-row{grid-template-columns:minmax(0,1fr) 40px}.country-row .name{font-size:14px}.country-row .from{font-size:11px}.country-row .flag{font-size:25px}.country-flag{font-size:44px}.country-meta{font-size:12px}.back-button{margin-bottom:22px}.plan-toolbar{display:block;padding:16px 0}.segment{width:100%;min-width:0}.segment button{min-height:42px}.plan-sort{margin-top:14px;justify-content:space-between}.plan-sort select{width:calc(100% - 70px)}
  .plan-group-grid{gap:10px}.plan-card{padding:17px 15px;min-height:178px;gap:18px;border-radius:13px}.plan-card strong{font-size:29px}.plan-card .validity{font-size:12px}.plan-card .detail{font-size:10px}.plan-card .price{font-size:20px;padding-top:14px}
  .checkout-dock{bottom:max(8px,env(safe-area-inset-bottom));display:block;padding:16px;border-radius:13px;margin-top:4px}.selected-plan-summary{display:flex;justify-content:space-between;gap:14px;margin-bottom:12px;align-items:baseline}.selected-plan-summary strong{font-size:12px}.selected-plan-summary span{font-size:11px;text-align:end}.checkout-action{width:auto}.pilot-note{font-size:9px}.continue-button{min-height:48px}
  .library-header h1,.profile-title{font-size:42px}.library-header .eyebrow{font-size:11px}.profile-card{gap:16px}.profile-card h2{font-size:24px}.profile-card .avatar{width:65px;height:65px;font-size:38px}#profile-account-actions{grid-template-columns:1fr}.guide-grid{grid-template-columns:1fr}
}
@media (max-width: 370px){
  .app-shell{padding-inline:16px}
  .topbar .wordmark{font-size:20px;gap:6px}
  .topbar .wordmark span{display:none}
  .plan-group-grid{grid-template-columns:1fr}
  .plan-card{min-height:160px}
  .favorites-section{align-items:flex-start;flex-direction:column;gap:8px}
  .favorite-grid{max-width:100%;flex:auto}
}
@media (prefers-reduced-motion: no-preference){.view{animation:enter .2s ease both}@keyframes enter{from{opacity:0}to{opacity:1}}}
:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 53%,transparent);outline-offset:3px}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.clear-search{display:block;padding:10px 15px;margin-top:12px;background:var(--ink);color:white;border:0;border-radius:8px;font-size:12px}

/* Phone navigation keeps both main journeys visible beside the persistent profile header. */
@media(max-width:680px){
 .app-shell{padding-bottom:calc(112px + env(safe-area-inset-bottom))}
 .topbar{padding-top:env(safe-area-inset-top);height:calc(78px + env(safe-area-inset-top))}
 .bottom-nav{position:fixed;z-index:20;inset-inline:20px;bottom:calc(12px + env(safe-area-inset-bottom));margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:7px;background:var(--surface,#fff);border-radius:24px;box-shadow:0 6px 30px #0002}
 .bottom-nav button{width:auto;min-width:0;min-height:60px;height:auto;padding:8px;display:flex;flex-direction:column;gap:5px;border-radius:18px;line-height:1.2}
 .bottom-nav button.is-active{background:var(--lilac)}
 .bottom-nav button.is-active:after{display:none}
 .bottom-nav button span{position:static;width:auto;height:auto;clip:auto;white-space:normal;overflow:visible;font-size:12px;text-align:center}
 .preference-trigger{flex:0 0 44px;width:44px}
 .checkout-dock{bottom:calc(100px + env(safe-area-inset-bottom))}
}
[dir=rtl] .back-button svg{transform:scaleX(-1)}

/* The shared chat fills the same brand shell on desktop, mobile and RTL. */
.brand-support-view { max-width: 820px; margin-inline: auto; padding-block: 20px; }
.brand-support-view .lt-support-page { height: min(680px, calc(100dvh - 190px)); min-height: 400px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--paper); overflow: hidden; }
.brand-support-view > button { margin-block-start: 14px; }
@media (max-width: 640px) { .brand-support-view .lt-support-page { height: calc(100dvh - 220px); min-height: 320px; } }

/* Shared functionality, distinct brand composition. */
body { background: var(--paper); }
.topbar { margin-bottom: 0; height: 96px; border-bottom: 1px solid var(--line); }
.topbar .bottom-nav { margin-inline: auto; }
.topbar .wordmark img.brand-wordmark { width: 146px; height: auto; border-radius: 0; box-shadow: none; }
.wordmark:has(.brand-wordmark:not([hidden])) > img[data-brand-logo],
.wordmark:has(.brand-wordmark:not([hidden])) > span { display: none; }

.text-link{ font-size: 13px; text-underline-offset: 5px; }
.trip-preparation { padding: 36px 0 64px; border-top: 1px solid var(--line); }
.compatibility-section { display: flex; align-items: flex-start; gap: 24px; padding: 32px; border-radius: 24px; background: var(--sky); scroll-margin-top: 32px; }
.compatibility-icon { display: grid; place-items: center; flex-shrink: 0; width: 64px; height: 64px; background: var(--surface); border-radius: 18px; color: var(--accent); }
.compatibility-icon svg { width: 32px; height: 32px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.compatibility-section h2 { margin: 0 0 14px; font-size: clamp(25px, 2.6vw, 36px); line-height: 1.15; letter-spacing: -.04em; }
.compatibility-section .eyebrow { margin-bottom: 10px; }
.compatibility-section p:not(.eyebrow) { max-width: 720px; font-size: 14px; line-height: 1.65; color: var(--muted); margin: 0 0 16px; }
.education-section { padding: 32px 0 0; scroll-margin-top: 32px; }
.step-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.step-grid article { display: flex; align-items: flex-start; gap: 16px; min-width: 0; }
.step-number { display: grid; place-items: center; flex-shrink: 0; width: 34px; height: 34px; border: 1px solid var(--line); border-radius: 50%; font-size: 12px; font-weight: 600; color: var(--accent); }
.step-grid h3 { margin: 4px 0 10px; font-size: 18px; letter-spacing: -.03em; }
.step-grid p { font-size: 13px; line-height: 1.65; color: var(--muted); margin: 0; }
.destination-section { padding-top: 52px; border-top: 1px solid var(--line); }
.catalog-intro { scroll-margin-top: 32px; }
.catalog-intro h2, .faq-section h2 { font-size: clamp(30px, 3vw, 44px); line-height: 1.13; letter-spacing: -.04em; margin: 12px 0 24px; }
.catalog-intro .search-field { max-width: 680px; margin: 24px 0; }
.country-list { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.country-row { background: var(--surface); border-radius: 16px; }
.country-open { grid-template-columns: 40px minmax(0, 1fr); min-height: 90px; }
.country-row .from { font-size: 12px; grid-column: 2; }
.country-row .name { font-size: 15px; }
.country-row .flag { font-size: 28px; }
.faq-section { display: grid; grid-template-columns: .75fr 1.25fr; column-gap: 72px; padding: 60px 0 0; margin-top: 64px; border-top: 1px solid var(--line); }
.faq-section > .eyebrow { grid-column: 1; margin-bottom: 12px; }
.faq-section > h2 { grid-column: 1; grid-row: 2 / span 5; margin-top: 0; }
.faq-section details { grid-column: 2; border-bottom: 1px solid var(--line); padding: 22px 0; }
.faq-section details:first-of-type { grid-row: 1 / span 2; padding-top: 0; }
.faq-section summary { display: flex; align-items: baseline; justify-content: space-between; gap: 20px; font-size: 17px; cursor: pointer; list-style: none; }
.faq-section summary::-webkit-details-marker { display: none; }
.faq-section summary::after { content: '+'; color: var(--accent); font-size: 22px; flex-shrink: 0; }
.faq-section details[open] summary::after { content: '−'; }
.faq-section details p { line-height: 1.7; color: var(--muted); font-size: 14px; margin: 16px 0 0; }
.country-data-only { color: var(--muted); font-size: 13px; line-height: 1.6; margin: 0 0 24px; }
.plan-days { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: thin; }
.plan-days button { border-radius: 12px; padding: 12px 18px; font-size: 12px; }
.plan-days button.is-active { background: var(--ink); color: var(--surface); border-color: var(--ink); }
.plan-group-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.plan-group-title { font-size: 16px; font-weight: 600; margin: 0 0 16px; }
.plan-card { padding: 24px; gap: 0; border: 1px solid var(--line); border-radius: 20px; min-height: 0; overflow: hidden; background: var(--surface); }
.plan-card.is-selected { border: 2px solid var(--accent); padding: 23px; background: var(--surface); box-shadow: none; }
.plan-card-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.plan-kind { color: var(--muted); font-size: 11px; }
.plan-card .validity { font-size: 12px; background: var(--sky); border-radius: 8px; padding: 7px 10px; margin: 0; line-height: 1.2; color: var(--ink); }
.plan-card .plan-allowance { font-size: 42px; letter-spacing: -.05em; line-height: 1.1; margin: 24px 0; overflow-wrap: anywhere; }
.speed-stages { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: var(--line); border: 1px solid var(--line); border-radius: 12px; overflow: hidden; margin-bottom: 20px; }
.speed-stage { background: var(--sky); padding: 14px; display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.speed-stage.after { background: var(--paper); }
.speed-stage span { font-size: 11px; line-height: 1.4; color: var(--muted); }
.speed-stage strong { font-size: 14px; line-height: 1.45; letter-spacing: -.015em; }
.speed-stages:has(> .speed-stage:only-child) { grid-template-columns: 1fr; }
.plan-card .speed-stages.is-summary { background: none; border: 0; border-radius: 0; }
.plan-card .speed-stages.is-summary .speed-stage { background: none; border-inline-start: 2px solid var(--line); padding: 0 12px; }
.offer-facts { display: grid; grid-template-columns: minmax(85px, .8fr) minmax(0, 1.3fr); gap: 14px 18px; font-size: 13px; line-height: 1.5; margin: 24px 0; }
.offer-facts dt { color: var(--muted); }
.offer-facts dd { margin: 0; overflow-wrap: anywhere; text-align: end; font-weight: 600; }
.plan-card-bottom { margin-top: auto; border-top: 1px solid var(--line); padding-top: 20px; }
.plan-card .price { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px; align-items: baseline; border: 0; padding: 0; margin: 0; }
.plan-card .price small { font-size: 10px; color: var(--muted); }
.plan-card .price strong { font-size: 28px; line-height: 1.2; letter-spacing: -.04em; }
.plan-card .price::after, .plan-card.is-selected .price::after { content: none; }
.plan-card-actions { display: grid; grid-template-columns: 1fr; gap: 8px; margin-top: 18px; }
.offer-buy { background: var(--accent); color: white; border: 0; border-radius: 10px; font-weight: 600; font-size: 13px; min-height: 48px; padding: 12px; }
.offer-details { background: none; border: 0; font-size: 12px; text-decoration: underline; text-underline-offset: 4px; min-height: 44px; padding: 8px; }
.offer-dialog { width: min(600px, calc(100% - 24px)); border: 1px solid var(--line); background: var(--surface); color: var(--ink); border-radius: 24px; padding: 32px; max-height: 90dvh; overflow-y: auto; }
.offer-dialog::backdrop { background: #0006; backdrop-filter: blur(4px); }
.offer-dialog h2 { font-size: 28px; letter-spacing: -.04em; padding-inline-end: 40px; }
.offer-overview { display: flex; flex-wrap: wrap; align-items: baseline; gap: 16px; margin-top: 28px; }
.offer-allowance { font-size: 40px; letter-spacing: -.04em; }
.offer-term { color: var(--muted); font-size: 14px; }
.offer-network-selector { display: grid; gap: 10px; font-size: 12px; margin: 24px 0; color: var(--muted); }
.offer-dialog select { width: 100%; min-height: 48px; padding: 12px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface); color: var(--ink); }
.offer-data-note { font-size: 12px; color: var(--muted); line-height: 1.6; }
.offer-total { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 12px; border-block: 1px solid var(--line); padding: 20px 0; margin-bottom: 24px; }
.offer-total span { font-size: 12px; color: var(--muted); }
.offer-total strong { font-size: 30px; }
.checkout-offer-summary { padding: 22px; background: var(--paper); border: 1px solid var(--line); border-radius: 18px; margin-bottom: 22px; }
.checkout-offer-title { font-size: 23px; font-weight: 600; letter-spacing: -.035em; }
.checkout-offer-summary .offer-facts { font-size: 12px; margin-bottom: 0; }
.checkout-dock[hidden] { display: none; }
/* Mundo has open editorial rhythm and a landscape, with sharp quiet cards. */

[data-presentation=horizon] .compatibility-section { border-radius: 8px; background: transparent; padding: 8px 0 32px; border-bottom: 1px solid var(--line); }
[data-presentation=horizon] .compatibility-icon { border: 1px solid var(--line); border-radius: 8px; }
[data-presentation=horizon] .step-number { border: 0; border-radius: 0; color: var(--accent); font-size: 18px; width: 28px; }
[data-presentation=horizon] .country-row { border-radius: 8px; }
[data-presentation=horizon] .plan-group-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
[data-presentation=horizon] .plan-card { border-radius: 8px; }
[data-presentation=horizon] .plan-card .plan-allowance { font-size: 48px; }
[data-presentation=horizon] .plan-card-actions { grid-template-columns: 1.1fr 1fr; align-items: center; }
[data-presentation=horizon] .offer-buy { border-radius: 6px; }
/* Karman is a contained pocket: inset travel cards, cool panels, round controls. */

[data-presentation=pocket] .trip-preparation { border-top: 0; padding-top: 28px; }
[data-presentation=pocket] .step-grid article { padding: 20px; background: var(--surface); border: 1px solid var(--line); border-radius: 20px; }
[data-presentation=pocket] .step-grid { gap: 12px; }
[data-presentation=pocket] .country-row:hover { border-color: var(--accent); background: var(--sky); }
[data-presentation=pocket] .plan-card .validity { border-radius: 999px; }
[data-presentation=pocket] .plan-card { box-shadow: 0 4px 18px color-mix(in srgb, var(--ink) 3%, transparent); }
[data-presentation=pocket] .plan-card.is-selected { background: var(--sky); }
.brand-payment-board { display: grid; gap: 18px; }
.brand-payment-total { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; padding-block: 16px; border-block: 1px solid var(--line); }
.brand-payment-total strong { font-size: 28px; letter-spacing: -.04em; }
.brand-payment-currency { max-width: 100%; min-height: 44px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface); color: var(--ink); padding: 10px; }
.brand-payment-alternatives { border-top: 1px solid var(--line); padding-top: 16px; }
.brand-payment-alternatives summary { cursor: pointer; font-size: 13px; color: var(--muted); padding-bottom: 14px; }
.brand-payment-option { display: flex; align-items: center; gap: 12px; min-height: 58px; padding: 12px 14px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); }
.brand-payment-option:has(input:checked) { border-color: var(--accent); background: var(--sky); }
.brand-payment-icon { display: inline-grid; place-items: center; width: 28px; height: 28px; font-size: 18px; color: var(--accent); }
@media (max-width: 1000px) {
  .country-list, .plan-group-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .step-grid { gap: 16px; }
  [data-presentation=pocket] .step-grid article { padding: 16px; flex-direction: column; }
  .faq-section { column-gap: 36px; }
}
@media (max-width: 680px) {
  .topbar { height: calc(80px + env(safe-area-inset-top)); }
  .topbar .wordmark img.brand-wordmark { width: 122px; }

.text-link{ font-size: 12px; }
  .trip-preparation { padding: 28px 0 40px; }
  .compatibility-section { gap: 16px; padding: 24px; }
  .compatibility-icon { width: 44px; height: 44px; border-radius: 12px; }
  .compatibility-icon svg { width: 24px; height: 24px; }
  .compatibility-section h2 { font-size: 25px; }
  .compatibility-section p:not(.eyebrow) { font-size: 13px; }
  .step-grid { grid-template-columns: 1fr; gap: 24px; }
  [data-presentation=pocket] .step-grid article { flex-direction: row; padding: 20px; }
  .education-section { padding-top: 28px; }
  .destination-section { padding-top: 36px; }
  .catalog-intro h2, .faq-section h2 { font-size: 32px; }
  .country-list { grid-template-columns: 1fr; }
  .country-open { min-height: 82px; }
  .faq-section { display: block; margin-top: 40px; padding-top: 36px; }
  .faq-section details:first-of-type { padding-top: 20px; }
  .faq-section summary { font-size: 16px; }
  .faq-section details p { font-size: 13px; }
  .country-data-only { font-size: 12px; }
  .plan-group-grid, [data-presentation=horizon] .plan-group-grid { grid-template-columns: 1fr; gap: 14px; }
  .plan-card { padding: 22px; }
  .plan-card.is-selected { padding: 21px; }
  .plan-card .plan-allowance, [data-presentation=horizon] .plan-card .plan-allowance { font-size: 42px; margin: 20px 0; }
  .plan-days button { padding: 11px 14px; }
  .offer-dialog { padding: 24px; }
  .offer-dialog h2 { font-size: 25px; }
  .offer-allowance { font-size: 36px; }
  .offer-facts { font-size: 12px; }
  .checkout-offer-summary { padding: 18px; }
  .checkout-dock { display: none; }
}

.all-destinations { margin-top: 20px; border-block-start: 1px solid var(--line); }
.all-destinations > .section-heading { margin: 0; padding: 24px 0; min-height: 64px; }
.all-destinations #countries-title { font-size: 17px; font-weight: 600; margin: 0; margin-inline-end: auto; }
.all-destinations #country-list { margin-bottom: 24px; }
.catalog-show-all { display: block; min-height: 48px; margin: 4px auto 24px; padding: 12px 26px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface); color: var(--ink); font: inherit; font-weight: 600; cursor: pointer; }
.catalog-show-all:hover { border-color: var(--accent); color: var(--accent); }
.catalog-show-all:focus-visible { outline: 3px solid var(--accent); outline-offset: 3px; }

.brand-payment-total > div { display: grid; gap: 6px; }
.brand-payment-total > div > span { font-size: 11px; color: var(--muted); }
.brand-payment-currency { border: 0; padding: 0; }
.brand-payment-currency select { min-height: 44px; max-width: 100%; border: 1px solid var(--line); border-radius: 10px; background: var(--surface); color: var(--ink); padding: 10px 28px 10px 12px; }
.brand-payment-alternatives summary { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.brand-payment-alternatives summary small { font-size: 11px; }

.popular-destinations { margin-block: 24px; }
.popular-destinations > h2 { font-size: 15px; margin-bottom: 16px; }

.plan-card-heading { justify-content: flex-end; }
.plan-heading { margin: 0; height: 0; }
.plan-heading .sort-label { display: none; }

@media (max-width: 680px) {
  html { scroll-padding-bottom: calc(120px + env(safe-area-inset-bottom)); }
  .offer-buy { scroll-margin-bottom: calc(120px + env(safe-area-inset-bottom)); }
}

/* Country comparison and journey footer; optional immutable country scenes share one shell. */
.app-shell { --shell-pad: 40px; }

.country-route-art, .country-pocket-art { display: none; }
.country-identity { display: grid; place-items: center; gap: 10px; z-index: 1; }
.country-flag { font-size: 48px; }
.country-code { font-size: 14px; font-weight: 700; letter-spacing: .16em; }
.country-data-only { display: flex; gap: 10px; align-items: center; padding-block: 8px 18px; margin: 0; }
.plan-toolbar { padding-block: 20px; margin-bottom: 8px; }
.plan-heading { margin: 0; }
.plan-count { font-variant-numeric: tabular-nums; }
.plan-days { margin-bottom: 24px; padding-block: 14px; }
.plan-group-grid, [data-presentation=horizon] .plan-group-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.plan-card, [data-presentation=horizon] .plan-card { border-radius: 16px; padding: 24px; }
.plan-card.is-selected { padding: 23px; }
.plan-card-heading { position: relative; min-height: 32px; margin-bottom: 24px; }
.offer-icon { display: inline-flex; flex: 0 0 auto; vertical-align: middle; color: currentColor; }
.offer-icon svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.offer-scenario { display: flex; align-items: center; gap: 12px; min-width: 0; font-size: 13px; line-height: 1.4; font-weight: 600; color: var(--ink); }
.offer-scenario .offer-icon svg { width: 27px; height: 27px; }
.offer-scenario-label { overflow-wrap: anywhere; }
.offer-metrics { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); align-items: stretch; margin-bottom: 24px; }
.offer-metric { min-width: 0; display: flex; flex-direction: column; justify-content: center; gap: 6px; }
.offer-metric-label { display: flex; gap: 7px; align-items: center; font-size: 10px; line-height: 1.3; color: var(--muted); }
.offer-metric-data { padding-inline-end: 12px; }
.offer-metric-validity { border-inline-start: 1px solid var(--line); padding-inline-start: 14px; }
.plan-card .offer-metrics .plan-allowance, [data-presentation=horizon] .plan-card .offer-metrics .plan-allowance { display: block; font-size: clamp(28px, 3.25vw, 44px); line-height: 1.12; margin: 0; letter-spacing: -.055em; overflow-wrap: anywhere; }
.plan-card .offer-metric-validity .validity { background: none; color: var(--ink); padding: 0; border-radius: 0; font-size: 21px; font-weight: 600; line-height: 1.2; overflow-wrap: anywhere; }
.offer-activation { display: flex; align-items: flex-start; gap: 9px; padding: 12px 0; font-size: 12px; line-height: 1.5; font-weight: 600; }
.offer-activation .offer-icon { margin-top: 1px; }
.offer-activation[data-start=purchase], .offer-activation[data-start=first_installation] { padding: 12px; border-radius: 10px; background: var(--sky); }
.offer-window { margin: 0 0 15px; font-size: 11px; color: var(--muted); line-height: 1.6; display: flex; gap: 8px; }
.offer-window .offer-icon svg { width: 16px; height: 16px; }
.offer-network-summary { display: grid; gap: 10px; padding-top: 16px; margin-block: 10px 22px; border-top: 1px solid var(--line); }
.offer-network, .offer-networks, .offer-topup { display: flex; align-items: center; gap: 9px; font-size: 12px; line-height: 1.5; overflow-wrap: anywhere; }
.offer-topup { align-self: start; width: fit-content; border-radius: 999px; padding: 5px 10px; background: var(--sky); color: var(--ink); font-size: 10px; }
.offer-topup .offer-icon svg { width: 16px; height: 16px; }
.plan-card-bottom { padding-top: 18px; }
.plan-card .price { flex-direction: column-reverse; align-items: start; gap: 4px; }
.plan-card .price strong { font-size: clamp(27px, 2.5vw, 34px); line-height: 1.2; overflow-wrap: anywhere; }
.plan-card .price small { font-size: 11px; }
.plan-card-actions, [data-presentation=horizon] .plan-card-actions { grid-template-columns: 1fr; gap: 2px; }
.offer-buy, [data-presentation=horizon] .offer-buy { min-height: 48px; border-radius: 10px; }
.offer-details { color: var(--ink); text-decoration-thickness: 1px; font-size: 12px; }
.offer-buy, .offer-details { scroll-margin-block: 105px; }
.offer-dialog { width: min(610px, calc(100% - 32px)); padding: 30px; border-radius: 24px; max-height: calc(100dvh - 40px); overscroll-behavior: contain; }
.offer-dialog > .eyebrow { margin-bottom: 12px; }
.offer-dialog h2 { font-size: 30px; line-height: 1.25; }
.offer-dialog-tabs { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; padding: 4px; margin-block: 24px 16px; border: 1px solid var(--line); border-radius: 12px; background: var(--sky); }
.offer-dialog-tab { min-height: 46px; padding: 10px; border: 0; border-radius: 8px; background: none; font-size: 13px; font-weight: 600; }
.offer-dialog-tab[aria-selected=true] { color: white; background: var(--accent); }
.offer-dialog-panel { min-width: 0; }
.offer-dialog .offer-activation { margin-bottom: 16px; }
.offer-dialog .offer-facts { font-size: 12px; }
.offer-tab-heading { font-size: 18px; margin-block: 18px 12px; }
.usage-panel { border: 1px solid var(--line); background: var(--sky); padding: 20px; border-radius: 16px; margin-block: 16px 22px; }
.usage-panel h3 { font-size: 24px; line-height: 1.25; letter-spacing: -.04em; margin: 0 0 10px; }
.usage-panel p { font-size: 12px; line-height: 1.6; margin: 0 0 16px; }
.usage-assumption { color: var(--muted); }
.usage-rows { display: grid; gap: 15px; }
.usage-row { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(60px, 1fr) auto; align-items: center; gap: 14px; font-size: 12px; line-height: 1.5; }
.usage-row-label { min-width: 0; display: flex; gap: 10px; align-items: center; }
.usage-row-label .offer-icon svg { width: 21px; height: 21px; }
.usage-track { height: 10px; border-radius: 999px; background: color-mix(in srgb, var(--ink) 8%, transparent); overflow: hidden; }
.usage-bar { display: block; height: 100%; width: var(--usage-share, 0%); max-width: 100%; border-radius: inherit; background: var(--accent); }
.usage-value { font-variant-numeric: tabular-nums; text-align: end; white-space: nowrap; font-weight: 600; }
.usage-summary { padding: 16px; margin-top: 20px; border-radius: 12px; background: var(--surface); border: 1px solid var(--line); }
.usage-summary strong { display: block; font-size: 21px; margin-bottom: 12px; line-height: 1.4; letter-spacing: -.035em; }
.usage-summary .usage-track { height: 12px; margin-block: 10px; }
.usage-summary p { margin: 10px 0 0; font-weight: 600; }
.usage-capacities { display: grid; gap: 12px; margin-block: 18px; }
.usage-capacity { display: flex; gap: 12px; justify-content: space-between; font-size: 12px; line-height: 1.5; }
.usage-capacity .usage-row-label { flex: 1; }
.usage-capacity strong { text-align: end; }
.usage-disclaimer { color: var(--muted); font-size: 11px; line-height: 1.7; }
#offer-dialog-buy { position: sticky; bottom: 0; z-index: 2; box-shadow: 0 -10px 0 8px var(--surface); margin-top: 12px; }
[data-presentation=horizon] { --horizon-ink: #193f30; --horizon-ochre: #d98a2b; }
[data-presentation=horizon] .country-route-art { display: block; }
[data-presentation=horizon] .country-identity { position: absolute; inset-block-start: 46px; inset-inline-end: 0; padding: 12px 16px; color: var(--horizon-ink); border: 1px solid var(--horizon-ochre); border-radius: 3px; transform: rotate(5deg); background: var(--paper); }
[data-presentation=horizon] .country-flag { font-size: 26px; }
.art-sun { fill: #d98a2b; opacity: .85; }
.art-horizon { fill: #dce3d7; stroke: #193f30; stroke-width: 1; }
.art-route { fill: none; stroke: #d98a2b; stroke-width: 2; stroke-dasharray: 7 6; }
.art-waypoint { fill: var(--paper); stroke: #d98a2b; stroke-width: 2; }
.art-contour { fill: none; stroke: #193f3030; stroke-width: 1; }
[data-presentation=horizon] .segment button.is-active, [data-presentation=horizon] .plan-days button.is-active { background: var(--horizon-ink); border-color: var(--horizon-ink); }
[data-presentation=horizon] .plan-card { border-color: #193f3050; background: #fffefb; color: var(--horizon-ink); }
[data-presentation=horizon] .plan-card-heading { background: #f4f0e6; margin: -24px -24px 24px; padding: 18px 24px; min-height: 74px; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 120'%3E%3Cg fill='none' stroke='%23193f30' stroke-opacity='.08'%3E%3Cpath d='M205-20c-70 70 80 75 5 160M230-20c-72 70 80 75 5 160M255-20c-72 70 80 75 5 160M280-20c-72 70 80 75 5 160'/%3E%3C/g%3E%3C/svg%3E"); background-size: cover; }
[data-presentation=horizon] .offer-scenario { color: var(--horizon-ink); font-size: 11px; letter-spacing: .035em; }
[data-presentation=horizon] .offer-activation[data-start=purchase], [data-presentation=horizon] .offer-activation[data-start=first_installation] { background: #fff0da; color: #a6371e; }
[data-presentation=horizon] .offer-topup { background: #e7eddc; color: var(--horizon-ink); }
[data-presentation=horizon] .usage-panel { background: #f5f3e9; color: var(--horizon-ink); }
[data-presentation=horizon] .usage-bar { background: var(--horizon-ink); }
[data-presentation=horizon] .usage-row:nth-child(2) .usage-bar { background: #7c8940; }
[data-presentation=horizon] .usage-row:nth-child(3) .usage-bar { background: #bd841e; }
[data-presentation=horizon] .usage-row:nth-child(4) .usage-bar { background: var(--accent); }
[data-presentation=pocket] .country-pocket-art { display: block; }
.art-pocket { fill: var(--sky); stroke: var(--accent-2); stroke-width: 3; }
.art-seam { fill: none; stroke: var(--accent-2); stroke-width: 1; stroke-dasharray: 6 5; }
.art-sim { fill: none; stroke: var(--accent); stroke-width: 2; }
[data-presentation=pocket] .country-identity { margin-top: -60px; color: var(--accent); }
[data-presentation=pocket] .country-flag { font-size: 38px; }
[data-presentation=pocket] .plan-card { border-radius: 20px; box-shadow: none; border-color: var(--line); }
[data-presentation=pocket] .offer-scenario { padding-inline-end: 25px; }
[data-presentation=pocket] .plan-card-heading::after { content: ''; position: absolute; inset-inline-end: -8px; top: -12px; width: 22px; height: 28px; border-radius: 6px; background: var(--accent-2); transform: rotate(20deg); opacity: .24; pointer-events: none; }
[data-presentation=pocket] .offer-metrics { padding: 14px; gap: 12px; border-radius: 12px; background: var(--sky); }
[data-presentation=pocket] .offer-metric-validity { border-color: var(--surface); }
[data-presentation=pocket] .offer-activation { color: var(--accent); }
[data-presentation=pocket] .offer-dialog-tabs { border-radius: 16px; }
[data-presentation=pocket] .offer-dialog-tab { border-radius: 12px; }
[dir=rtl] .country-identity { direction: ltr; }
@media(max-width:1000px) {
  .app-shell { --shell-pad: 28px; }
  .plan-group-grid, [data-presentation=horizon] .plan-group-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media(max-width:680px) {
  .app-shell { --shell-pad: 20px; }
  .topbar { margin-bottom: 18px; }
  .country-flag { font-size: 28px; }
  .country-code { font-size: 10px; letter-spacing: .12em; }
  [data-presentation=horizon] .country-identity { top: 23px; padding: 8px; gap: 6px; }
  [data-presentation=horizon] .country-flag { font-size: 20px; }
  [data-presentation=pocket] .country-identity { margin-top: -38px; }
  [data-presentation=pocket] .country-flag { font-size: 24px; }
  .country-data-only { font-size: 11px; padding-bottom: 16px; }
  .plan-toolbar { display: flex; flex-wrap: wrap; gap: 12px; padding-block: 14px; }
  .plan-toolbar .segment { flex: 1 1 100%; min-width: 0; }
  .plan-toolbar .plan-sort { margin: 0; margin-inline-start: auto; }
  .plan-sort select { width: auto; }
  .plan-days { padding-block: 12px; margin-bottom: 18px; }
  .plan-days button { min-height: 44px; }
  .plan-group-grid, [data-presentation=horizon] .plan-group-grid { grid-template-columns: 1fr; }
  .plan-card, [data-presentation=horizon] .plan-card { padding: 22px; }
  .plan-card.is-selected { padding: 21px; }
  .offer-scenario { font-size: 12px; }
  .offer-metrics { margin-bottom: 18px; }
  .plan-card .offer-metrics .plan-allowance, [data-presentation=horizon] .plan-card .offer-metrics .plan-allowance { font-size: 44px; }
  .plan-card .offer-metric-validity .validity { font-size: 22px; }
  .offer-activation { font-size: 12px; }
  .offer-network-summary { margin-block: 10px 18px; }
  [data-presentation=horizon] .plan-card-heading { margin: -22px -22px 22px; padding: 18px 22px; }
  [data-presentation=pocket] .plan-card-heading::after { top: -22px; inset-inline-end: -22px; }
  .offer-dialog { padding: 24px 20px; width: 100%; max-height: calc(100dvh - 16px); margin: auto 0 0; border-radius: 24px 24px 0 0; }
  .offer-dialog h2 { font-size: 27px; }
  .usage-panel { padding: 16px; }
  .usage-row { gap: 10px; font-size: 11px; grid-template-columns: minmax(0,1.3fr) minmax(50px,.9fr) auto; }
  .usage-row-label { gap: 8px; }
  .usage-row-label .offer-icon svg { width: 18px; height: 18px; }
  .usage-summary { padding: 14px; }
  .usage-summary strong { font-size: 19px; }
}
@media(max-width:370px) {
  .app-shell { --shell-pad: 16px; }
  .plan-card .offer-metrics .plan-allowance, [data-presentation=horizon] .plan-card .offer-metrics .plan-allowance { font-size: 37px; }
  .plan-card .offer-metric-validity .validity { font-size: 19px; }
  .usage-row { grid-template-columns: minmax(0,1fr) auto; }
  .usage-row .usage-track { grid-column: 1/-1; grid-row: auto; height: 8px; }
  .usage-row .usage-value { grid-column: 2; grid-row: auto; }
}

/* Shared metric baselines and the actual estimated-day total. */
.plan-card-heading { justify-content: flex-start; }
.plan-card .offer-networks strong { font-size: 12px; letter-spacing: 0; line-height: 1.5; overflow-wrap: anywhere; }
.offer-networks { flex-wrap: wrap; }
.offer-topup[data-available=false] { padding: 0; background: none; color: var(--muted); border-radius: 0; }
.usage-total { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 12px; align-items: center; margin-block: 16px; padding: 16px; background: var(--surface); border: 1px solid var(--line); border-radius: 12px; }
.usage-total > strong { font-size: 20px; letter-spacing: -.03em; line-height: 1.4; }
.usage-total-track { grid-column: 1/-1; height: 12px; background: color-mix(in srgb,var(--ink) 8%,transparent); border-radius: 999px; overflow: hidden; }
.usage-total-fill { display: block; height: 100%; width: var(--usage-share,0%); max-width: 100%; border-radius: inherit; background: var(--accent); }
.usage-total-percent { font-size: 13px; font-weight: 600; font-variant-numeric: tabular-nums; }
.usage-total[data-over-budget=true] { border-color: var(--accent); }
[data-presentation=horizon] .usage-total-fill { background: var(--horizon-ink); }

/* The icon helper returns the SVG itself, not an SVG wrapper. */
svg.offer-icon { display: block; width: 22px; height: 22px; flex: 0 0 22px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; overflow: visible; }
.offer-scenario svg.offer-icon { width: 27px; height: 27px; flex-basis: 27px; }
.offer-window svg.offer-icon, .offer-topup svg.offer-icon { width: 17px; height: 17px; flex-basis: 17px; }
.usage-row-label svg.offer-icon, .usage-capacity svg.offer-icon { width: 20px; height: 20px; flex-basis: 20px; }
.usage-summary > span { display: block; font-size: 12px; line-height: 1.6; margin-top: 8px; }

/* Keep operational copy below the headline metrics, and avoid a duplicate purchase dock. */
.offer-activation-copy { display: grid; gap: 3px; min-width: 0; }
.offer-activation-copy > span { display: none; }
.plan-card .offer-activation-copy > strong, .offer-dialog .offer-activation-copy > strong { display: block; font-size: 12px; font-weight: 600; letter-spacing: 0; line-height: 1.5; }
[data-presentation=horizon] .checkout-dock, [data-presentation=pocket] .checkout-dock { display: none; }
.offer-dialog .offer-overview { margin-top: 14px; gap: 12px; }
.offer-dialog .offer-total { border-top: 0; padding-block: 10px 12px; margin-bottom: 8px; }
.offer-dialog .offer-total strong { font-size: 26px; }
.offer-dialog .offer-activation { margin: 0 0 8px; padding-block: 10px; }
.offer-dialog .offer-window { margin-bottom: 10px; }
.offer-dialog-tabs { margin-block: 18px 14px; }
.offer-dialog .usage-panel h3 { font-size: 21px; }
.usage-total .usage-total-percent { font-size: 13px; }

.country-tools { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-bottom: 12px; }
.country-tools .country-data-only { padding: 0; flex: 1; }
.country-tools > a { min-height: 44px; display: inline-flex; align-items: center; line-height: 1.5; font-size: 12px; text-align: end; }
.country-access-notice { padding: 12px 16px; margin: 0 0 18px; border: 1px solid var(--line); border-radius: 12px; background: var(--sky); font-size: 12px; line-height: 1.6; }
[data-presentation=horizon] .country-access-notice { background: #fff5e6; border-color: #d98a2b55; color: #62421b; }
@media(max-width:680px) { .country-tools { gap: 12px; align-items: start; } .country-tools > a { font-size: 10px; max-width: 110px; min-height: 44px; } }

/* Brand artwork and the compact journey footer share one responsive composition. */
.travel-hero {
  display: grid; grid-template-columns: minmax(0,1.05fr) minmax(0,1fr);
  gap: clamp(28px,4vw,56px); align-items: center; padding: 56px 0;
}
.travel-hero .hero-copy { display: block; margin: 0; min-width: 0; }
.travel-hero h1 { font-size: clamp(42px,4.8vw,68px); line-height: 1.06; letter-spacing: -.055em; margin: 20px 0; }
.hero-intro { max-width: 480px; font-size: 16px; line-height: 1.65; color: var(--muted); }
.hero-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 20px; margin-top: 28px; }
.hero-actions .continue-button { width: auto; padding: 16px 24px; text-decoration: none; }
.hero-payments { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; margin-top: 20px; max-width: 100%; }
.hero-payments[hidden] { display: none; }
.hero-payment-label { font-size: 11px; color: var(--muted); }
.hero-payment-chips { display: flex; flex-wrap: wrap; gap: 7px; min-width: 0; }
.hero-payment-chip { display: inline-flex; align-items: center; gap: 6px; max-width: 100%; padding: 7px 9px; border: 1px solid var(--line); border-radius: 8px; background: var(--surface); color: var(--ink); font-size: 12px; line-height: 1.4; }
.hero-payment-chip .offer-icon { width: 16px; height: 16px; flex: 0 0 16px; }
.hero-payment-chip > span { overflow-wrap: anywhere; }
.hero-payment-chip > b { font-size: 10px; font-weight: 600; }
.home-links { display: flex; flex-wrap: wrap; gap: 20px; margin-top: 24px; color: var(--muted); }
.home-links a { font-size: 13px; text-underline-offset: 5px; }
.hero-media {
  position: relative; min-width: 0; display: flex; flex-direction: column; gap: 14px;
}
.hero-visual { position: relative; isolation: isolate; height: clamp(360px,34vw,430px); min-width: 0; }
.hero-visual::before {
  content: ''; position: absolute; z-index: -1; inset: 9% 3% 12%;
  border-radius: 48% 52% 44% 56%; background: var(--blue); transform: rotate(-7deg);
}
.hero-visual > img { display: block; width: 100%; height: 100%; min-height: 0; object-fit: contain; }
.hero-media-note {
  position: absolute; inset-inline-start: 50%; inset-block-end: 0; transform: translateX(-50%); width: max-content; max-width: 100%; padding: 9px 14px;
  border: 1px solid var(--line); border-radius: 999px; background: var(--surface);
  font-size: 12px; line-height: 1.5; text-align: center;
}
[dir=rtl] .hero-media-note { transform: translateX(50%); }
.hero-country-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; min-width: 0; }
.hero-country-list[hidden] { display: none; }
.hero-country { display: flex; align-items: center; gap: 10px; width: 100%; min-width: 0; min-height: 76px; padding: 14px; border: 1px solid var(--line); border-radius: 12px; background: var(--paper); color: var(--ink); text-align: start; cursor: pointer; transition: border-color .15s, transform .15s; }
.hero-country:hover { border-color: var(--accent); transform: translateY(-2px); }
.hero-country:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
.hero-country-flag { flex: 0 0 auto; font-size: 24px; line-height: 1; }
.hero-country-copy { display: flex; flex-direction: column; gap: 5px; flex: 1; min-width: 0; line-height: 1.3; }
.hero-country-copy > strong { font-size: 12px; font-weight: 600; overflow-wrap: anywhere; }
.hero-country-copy > span { font-size: 16px; font-weight: 600; color: var(--accent); overflow-wrap: anywhere; }
.hero-country-arrow { flex: 0 0 auto; color: var(--muted); font-size: 15px; }
[dir=rtl] .hero-country-arrow { transform: scaleX(-1); }
[data-presentation=horizon] .travel-hero { grid-template-columns: minmax(0,1.05fr) minmax(0,1fr); }
[data-presentation=horizon] .travel-hero h1 { color: var(--horizon-ink); font-weight: 600; }
[data-presentation=horizon] .hero-visual::before { background: #efe6d2; border-radius: 50% 50% 8px 8px; transform: rotate(-5deg); }
[data-presentation=horizon] .hero-media-note { color: var(--horizon-ink); border-color: #193f3026; background: #f7f3e9; }
[data-presentation=horizon] .hero-country { border-radius: 6px; background: #f7f3e9; border-color: #193f3026; }
[data-presentation=horizon] .hero-country-copy > span { color: var(--horizon-ink); }
[data-presentation=horizon] .hero-payment-chip { background: #f7f3e9; color: var(--horizon-ink); border-color: #193f3026; border-radius: 6px; }
[data-presentation=pocket] .travel-hero { margin-top: 32px; padding: 36px; gap: 28px; background: var(--sky); border-radius: 32px; }
[data-presentation=pocket] .hero-intro { color: var(--ink); }
[data-presentation=pocket] .hero-visual { height: 370px; }
[data-presentation=pocket] .hero-visual::before {
  inset: 13% 0 5%; border-radius: 28% 42% 28% 38%;
  background: linear-gradient(145deg,var(--accent-2),var(--accent)); transform: rotate(-8deg);
}
[data-presentation=pocket] .hero-visual::after {
  content: ''; position: absolute; z-index: -1; inset: 37% 4% 13%;
  border-bottom: 2px dashed #ffffffb3; border-radius: 0 0 50% 46%; transform: rotate(14deg);
  pointer-events: none;
}

.country-hero {
  display: grid; grid-template-columns: minmax(0,1fr) minmax(0,440px); gap: 32px;
  align-items: center; min-height: 380px; padding: 20px 0 28px; margin-bottom: 0;
}
.country-hero > div:first-child { min-width: 0; }
.country-hero .eyebrow { margin-bottom: 12px; }
.country-hero h1 { font-size: clamp(48px,6.8vw,86px); font-weight: 800; line-height: 1.05; letter-spacing: -.055em; margin: 0; overflow-wrap: anywhere; }
.country-tagline { font-size: clamp(16px,1.8vw,24px); font-weight: 600; line-height: 1.4; margin: 14px 0 0; }
.country-meta { font-size: 13px; color: var(--muted); line-height: 1.7; margin: 14px 0 0; }
.country-art { position: relative; width: 100%; height: 360px; display: grid; place-items: center; min-width: 0; }
.country-art > svg { position: absolute; width: 100%; height: 100%; overflow: visible; }
.country-art-scene { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; pointer-events: none; }
.country-art-scene[hidden] { display: none; }
.country-art.has-country-scene .art-horizon, .country-art.has-country-scene .art-sun, .country-art.has-country-scene .art-contour { opacity: .12; }
.country-art.has-country-scene .art-sim { display: none; }
[data-presentation=horizon] .country-hero h1, [data-presentation=horizon] .country-tagline { color: var(--horizon-ink); }
[data-presentation=pocket] .country-art.has-country-scene .country-identity {
  position: absolute; inset-inline-end: 6%; inset-block-end: 0; margin: 0; gap: 4px;
  padding: 6px 9px; border: 1px solid var(--line); border-radius: 9px; background: var(--paper);
}
[data-presentation=pocket] .country-art.has-country-scene .country-flag { font-size: 22px; }
[data-presentation=pocket] .country-art.has-country-scene .country-code { font-size: 10px; }

.site-footer {
  --footer-paper: var(--ink); --footer-ink: #f8fbff; --footer-muted: #c2d8ec;
  --footer-line: #ffffff26; --footer-button: var(--accent);
  position: relative; display: block; margin: 56px calc(-1 * var(--shell-pad)) 0;
  padding: 36px var(--shell-pad) 26px; border: 0; border-top: 3px solid var(--accent-2);
  background: var(--footer-paper); color: var(--footer-ink);
}
.footer-main { display: grid; grid-template-columns: minmax(0,1.4fr) repeat(3,minmax(0,1fr)); gap: 32px; }
.footer-brand { min-width: 0; padding-inline-end: 16px; }
.site-footer .wordmark { color: inherit; font-size: 28px; }
.site-footer .wordmark img { filter: brightness(0) invert(1); box-shadow: none; }
.site-footer .wordmark img.brand-wordmark { width: 148px; height: auto; border-radius: 0; }
.site-footer .wordmark span { color: inherit; }
.footer-brand > p { max-width: 310px; margin: 18px 0 20px; font-size: 20px; font-weight: 600; line-height: 1.4; letter-spacing: -.025em; }
.footer-help-strip { display: flex; align-items: center; gap: 12px; width: fit-content; max-width: 100%; padding: 0; }
.footer-help-icon { width: 22px; height: 22px; flex: 0 0 22px; fill: none; stroke: currentColor; stroke-width: 1.7; }
.footer-help-button {
  display: inline-flex; align-items: center; justify-content: space-between; gap: 18px;
  min-height: 46px; padding: 12px 16px; border: 1px solid var(--footer-line); border-radius: 10px;
  background: var(--footer-button); color: #fff; text-decoration: none; font-size: 12px; font-weight: 600; line-height: 1.5;
}
.footer-help-button:hover { filter: brightness(1.08); }
.site-footer nav.footer-links { display: flex; flex-direction: column; align-items: start; gap: 4px; min-width: 0; font-size: 13px; }
.footer-links h2 { font-size: 13px; font-weight: 600; line-height: 1.5; margin: 0 0 12px; }
.site-footer nav.footer-links a { display: inline-flex; align-items: center; min-height: 32px; max-width: 100%; color: var(--footer-muted); text-decoration: none; line-height: 1.6; }
.site-footer nav.footer-links a:hover { color: var(--footer-ink); text-decoration: underline; text-underline-offset: 4px; }
.footer-bottom { display: flex; align-items: center; justify-content: space-between; gap: 24px; border-top: 1px solid var(--footer-line); margin-top: 28px; padding-top: 20px; }
.footer-copyright { min-width: 0; margin: 0; font-size: 11px; line-height: 1.7; color: var(--footer-muted); }
.footer-preferences { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; max-width: 100%; flex-shrink: 0; padding: 10px 12px; border: 1px solid var(--footer-line); border-radius: 10px; background: transparent; color: inherit; font-size: 11px; line-height: 1.5; text-align: start; }
.footer-preferences svg { width: 18px; height: 18px; flex: 0 0 18px; fill: none; stroke: currentColor; stroke-width: 1.4; }
[data-presentation=horizon] .site-footer { --footer-paper: #f1eddf; --footer-ink: #193f30; --footer-muted: #496253; --footer-line: #193f3026; --footer-button: #193f30; border-top-color: var(--horizon-ochre); }
[data-presentation=horizon] .site-footer .wordmark img { filter: none; }
[data-presentation=horizon] .footer-help-button { border-radius: 6px; }
/* The pocket theme carries the logo's curved lip and stitching, without repeating the mark. */
[data-presentation=pocket] .topbar .wordmark img.brand-wordmark {
  width: 190px; height: 52px; object-fit: cover;
}
[data-presentation=pocket] .compatibility-section { background: var(--surface); border: 1px solid var(--line); }
[data-presentation=pocket] .compatibility-icon { background: var(--accent); color: #fff; border-radius: 20px 20px 24px 12px; }
[data-presentation=pocket] .step-number { background: var(--sky); border-color: transparent; }
[data-presentation=pocket] .step-grid article { border-bottom: 1px dashed var(--accent-2); border-end-end-radius: 28px; }
[data-presentation=pocket] .site-footer {
  isolation: isolate; overflow: hidden; padding-top: 64px;
  border-top: 0; border-radius: 32px 32px 0 0;
}
[data-presentation=pocket] .site-footer::before {
  content: ''; position: absolute; z-index: -1; top: -38px; inset-inline: -4%; height: 70px;
  background: var(--accent); border-bottom: 2px dashed var(--accent-2); border-radius: 0 0 50% 40%;
  pointer-events: none;
}
[data-presentation=pocket] .site-footer .wordmark:has(.brand-wordmark:not([hidden])) {
  padding: 6px 12px; border-radius: 16px; background: var(--surface);
}
[data-presentation=pocket] .site-footer .wordmark img.brand-wordmark {
  width: 194px; height: 54px; object-fit: cover; filter: none;
}
@media (max-width:640px) {
  [data-presentation=pocket] .topbar .wordmark img.brand-wordmark { width: 150px; height: 42px; }
  [data-presentation=pocket] .site-footer { padding-top: 58px; }
}

@media (max-width:1000px) {
  .travel-hero, [data-presentation=horizon] .travel-hero { gap: 28px; }
  .travel-hero h1, [data-presentation=horizon] .travel-hero h1 { font-size: 48px; }
  .hero-visual, [data-presentation=pocket] .hero-visual { height: 340px; }
  [data-presentation=pocket] .travel-hero { padding: 28px; }
  .country-hero { grid-template-columns: minmax(0,1fr) minmax(0,42%); gap: 24px; min-height: 330px; }
  .country-art { height: 310px; }
  .footer-main { gap: 24px; grid-template-columns: minmax(0,1.3fr) repeat(3,minmax(0,1fr)); }
  .footer-brand { padding-inline-end: 0; }
  .footer-brand > p { font-size: 18px; }
}
@media (max-width:680px) {
  .travel-hero, [data-presentation=horizon] .travel-hero { display: flex; flex-direction: column; align-items: stretch; padding: 28px 0 36px; gap: 24px; }
  .travel-hero h1, [data-presentation=horizon] .travel-hero h1 { font-size: clamp(36px,10.2vw,48px); margin: 18px 0; }
  .hero-intro { font-size: 14px; }
  .hero-actions { gap: 16px; margin-top: 22px; }
  .hero-actions .continue-button { padding: 15px 18px; font-size: 13px; }
  .home-links { gap: 16px; margin-top: 20px; }
  .home-links a { font-size: 12px; }
  .hero-visual, [data-presentation=pocket] .hero-visual { height: 310px; }
  .hero-payments { margin-top: 16px; gap: 8px; }
  .hero-payment-chip { padding: 6px 8px; font-size: 11px; }
  .hero-country-list { gap: 8px; }
  .hero-country { padding: 12px; gap: 8px; min-height: 72px; }
  .hero-country-flag { font-size: 22px; }
  .hero-country-copy > strong { font-size: 11px; }
  .hero-country-copy > span { font-size: 14px; }
  .hero-country-arrow { display: none; }
  .hero-media-note { padding: 8px 12px; font-size: 11px; }
  [data-presentation=pocket] .travel-hero { padding: 26px 20px; margin-top: 20px; border-radius: 24px; }
  [data-presentation=pocket] .travel-hero h1 { font-size: clamp(32px,9.4vw,42px); }
  .country-hero { grid-template-columns: minmax(0,1fr); gap: 8px; min-height: 0; padding: 10px 0 20px; }
  .country-hero h1 { font-size: clamp(42px,11vw,58px); }
  .country-hero .eyebrow { font-size: 9px; margin-bottom: 10px; }
  .country-tagline { font-size: 16px; margin-top: 12px; }
  .country-meta { font-size: 12px; margin-top: 10px; }
  .country-art { width: min(100%,340px); height: 250px; justify-self: center; }
  .country-flag { font-size: 32px; }
  .site-footer { margin-top: 36px; padding-top: 28px; padding-bottom: 24px; }
  .footer-main { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 28px 20px; }
  .footer-brand { grid-column: 1/-1; }
  .footer-brand > p { font-size: 21px; max-width: 340px; margin-bottom: 18px; }
  .site-footer nav.footer-links { gap: 0; font-size: 12px; }
  .footer-links h2 { margin-bottom: 8px; }
  .site-footer nav.footer-links a { min-height: 44px; }
  .footer-documents { grid-column: 1/-1; }
  .site-footer nav.footer-documents { flex-direction: row; flex-wrap: wrap; column-gap: 20px; }
  .footer-documents h2 { width: 100%; }
  .footer-bottom { flex-direction: column; align-items: start; gap: 16px; margin-top: 24px; padding-top: 18px; }
  .footer-preferences { min-height: 46px; flex-shrink: 1; }
}
@media (max-width:370px) {
  .hero-visual, [data-presentation=pocket] .hero-visual { height: 270px; }
  .hero-country { padding: 10px 8px; gap: 6px; }
  .hero-country-flag { font-size: 20px; }
  .country-art { height: 230px; }
  .country-hero h1 { font-size: 40px; }
  .footer-brand > p { font-size: 19px; }
}

/* Device check: the shared brand shell surrounds one canonical browser/settings flow. */
.device-check { padding-block: 42px 52px; }
.device-check-heading { max-width: 900px; margin-bottom: 36px; }
.device-check-heading > .device-check-button { border: 0; padding-inline: 0; background: transparent; color: var(--muted); min-height: 44px; }
.device-check-heading h1 { max-width: 820px; margin: 18px 0; font-size: clamp(34px,4.8vw,58px); line-height: 1.05; letter-spacing: -.045em; text-wrap: balance; }
.device-check-lead { max-width: 680px; font-size: 18px; line-height: 1.6; color: var(--muted); }
.device-check-layout { display: grid; grid-template-columns: minmax(0,1.5fr) minmax(280px,1fr); gap: 32px; align-items: start; }
.device-check-main { min-width: 0; }
.device-check-start-actions,.device-check-actions { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.device-check-button { min-height: 46px; max-width: 100%; padding: 12px 18px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface); color: var(--ink); font: inherit; font-size: 14px; font-weight: 600; line-height: 1.4; cursor: pointer; overflow-wrap: anywhere; }
.device-check-button:hover { border-color: var(--accent); }
.device-check-button-primary { background: var(--accent); color: white; border-color: var(--accent); }
.device-check-button:disabled { opacity: .6; cursor: progress; }
.device-check-button:focus-visible { outline: 3px solid var(--accent); outline-offset: 3px; }
.device-check-promise { margin: 12px 0 24px; color: var(--muted); font-size: 13px; line-height: 1.5; }
.device-check-flow { min-width: 0; padding: 28px; border: 1px solid var(--line); border-radius: 18px; background: var(--surface); scroll-margin-block: 24px; }
.device-check-flow:focus { outline: none; }
.device-check-flow-title { margin: 4px 0 14px; font-size: clamp(25px,2.8vw,34px); line-height: 1.15; letter-spacing: -.035em; overflow-wrap: anywhere; }
.device-check-eyebrow { color: var(--muted); margin: 0 0 12px; font-size: 11px; line-height: 1.5; font-weight: 600; text-transform: uppercase; letter-spacing: .1em; }
.device-check-description { margin-bottom: 22px; color: var(--muted); font-size: 15px; line-height: 1.65; }
.device-check-flow > .device-check-button { margin-block-start: 16px; }
.device-check-guide-path { padding: 18px; border-inline-start: 3px solid var(--accent); background: var(--paper); font-size: 15px; line-height: 1.65; overflow-wrap: anywhere; }
.device-check-question { font-size: 17px; font-weight: 600; margin-top: 24px; }
.device-check-result-model { font-size: 18px; font-weight: 600; overflow-wrap: anywhere; }
.device-check-note,.device-check-notice { font-size: 13px; line-height: 1.65; color: var(--muted); }
.device-check-notice { padding-block: 18px; }
.device-check-passport { min-width: 0; padding: 30px; background: var(--sky); border: 1px solid var(--line); border-radius: 22px; }
.device-check-art { display: grid; place-items: center; height: 230px; margin-bottom: 24px; border-radius: 90px 90px 20px 20px; background: color-mix(in srgb,var(--surface) 65%,transparent); overflow: hidden; }
.device-check-phone { position: relative; width: 112px; height: 188px; border: 7px solid var(--ink); border-radius: 24px; background: var(--paper); transform: rotate(-8deg); box-shadow: 10px 12px 0 color-mix(in srgb,var(--ink) 9%,transparent); }
.device-check-phone::before { content: ''; position: absolute; top: 8px; inset-inline-start: 32px; width: 32px; height: 7px; border-radius: 8px; background: var(--ink); }
.device-check-chip { position: absolute; inset-inline-start: 18px; bottom: 35px; display: grid; place-items: center; height: 56px; width: 62px; color: var(--paper); background: var(--accent); border: 5px solid color-mix(in srgb,var(--accent) 65%,var(--yellow)); border-radius: 12px; font-weight: 600; font-size: 16px; }
.device-check-signal { display: flex; align-items: flex-end; gap: 5px; position: absolute; top: 44px; inset-inline-start: 20px; height: 34px; }
.device-check-signal i { width: 10px; border-radius: 3px; background: var(--accent); height: 14px; }
.device-check-signal i:nth-child(2) { height: 21px; }.device-check-signal i:nth-child(3) { height: 28px; }.device-check-signal i:nth-child(4) { height: 34px; }
.device-check-source { font-size: 12px; color: var(--muted); margin-bottom: 8px; }
.device-check-device-name { font-size: clamp(22px,2.5vw,32px); line-height: 1.15; margin: 0 0 16px; overflow-wrap: anywhere; }
.device-check-status { display: inline-block; margin: 0 0 12px; padding: 8px 12px; border: 1px solid var(--line); border-radius: 30px; background: var(--surface); font-size: 12px; line-height: 1.4; font-weight: 600; }
.device-check-privacy { font-size: 12px; line-height: 1.6; color: var(--muted); }
.device-check-faq { margin-top: 44px; padding-top: 24px; border-top: 1px solid var(--line); }
.device-check-faq > h2 { font-size: 26px; margin-bottom: 24px; letter-spacing: -.025em; }
.device-check-faq details { border-bottom: 1px solid var(--line); padding: 18px 0; }
.device-check-faq summary { cursor: pointer; font-size: 16px; font-weight: 600; line-height: 1.45; }
.device-check-faq details p { max-width: 760px; color: var(--muted); line-height: 1.65; }
.device-check-sources { font-size: 12px; line-height: 1.7; color: var(--muted); }
.device-check-source-date { display: block; }
.device-check-announcement { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
[data-presentation=horizon] .device-check-passport { background: #f3efe1; border-radius: 8px; }
[data-presentation=horizon] .device-check-art { background: #e9e0bc; border-radius: 90px 90px 8px 8px; }
[data-presentation=horizon] .device-check-chip,[data-presentation=horizon] .device-check-signal i { background: var(--ink); }
[data-presentation=horizon] .device-check-flow { border-radius: 8px; }
[data-presentation=pocket] .device-check { background: transparent; }
[data-presentation=pocket] .device-check-passport { border-color: transparent; }
[data-state=ready] .device-check-status { background: var(--ink); color: var(--paper); }
@media(max-width:900px) { .device-check-layout { grid-template-columns: minmax(0,1.4fr) minmax(220px,1fr); gap: 20px; }.device-check-passport { padding: 22px; } }
@media(max-width:640px) { .device-check { padding-block: 22px 28px; }.device-check-heading { margin-bottom: 24px; }.device-check-heading h1 { font-size: clamp(31px,9vw,44px); }.device-check-lead { font-size: 15px; }.device-check-layout { grid-template-columns: minmax(0,1fr); gap: 20px; }.device-check-passport { order: 2; padding: 22px; }.device-check-art { height: 170px; margin-bottom: 20px; }.device-check-phone { transform: rotate(-8deg) scale(.78); }.device-check-flow { padding: 20px; }.device-check-start-actions { align-items: stretch; }.device-check-start-actions > button { flex: 1 1 100%; }.device-check-flow-title { font-size: 25px; }.device-check-actions > button { flex: 1 1 100%; }.device-check-faq { margin-top: 28px; }.device-check-notice { padding-block: 10px; } }

[data-presentation=horizon] .device-check-heading h1,[data-presentation=horizon] .device-check-flow-title,[data-presentation=horizon] .device-check-device-name { color: #173f2f; }
[data-presentation=horizon] .device-check-phone { border-color: #173f2f; }
[data-presentation=horizon] .device-check-phone::before,[data-presentation=horizon] .device-check-chip,[data-presentation=horizon] .device-check-signal i { background: #173f2f; }
[data-presentation=horizon] .device-check[data-state=ready] .device-check-status { background: #173f2f; color: #fff; }

/* Match the canonical one-action entry and reveal device details after checking. */
.device-check[data-state=idle] .device-check-heading,.device-check[data-state=detecting] .device-check-heading { max-width:650px; margin-inline:auto; text-align:center; }
.device-check[data-state=idle] .device-check-layout,.device-check[data-state=detecting] .device-check-layout { display:block; max-width:650px; margin-inline:auto; text-align:center; }
.device-check[data-state=idle] .device-check-lead,.device-check[data-state=detecting] .device-check-lead { max-width:480px; margin-inline:auto; }
.device-check[data-state=idle] .device-check-start-actions { justify-content:center; }
.device-check[data-state=idle] .device-check-start-actions .device-check-button { min-width:260px; min-height:58px; font-size:18px; }
.device-check[data-state=detecting] .device-check-flow { border:0; background:none; padding:0; }
.device-check-result-symbol { width:64px; height:64px; display:grid; place-items:center; border-radius:50%; background:var(--sky); color:var(--ink); font-size:38px; margin-bottom:22px; }
.device-check-orb { position:relative; display:grid; place-items:center; width:184px; height:184px; margin:28px auto; }
.device-check-orb-ring { position:absolute; inset:0; border:1px solid color-mix(in srgb,var(--accent) 30%,transparent); border-radius:50%; }
.device-check-orb-ring-inner { inset:19px; border-style:dashed; }
.device-check-orb-chip { display:grid; place-items:center; width:80px; height:96px; border:2px solid var(--accent); border-radius:18px 28px 18px 18px; color:var(--accent); background:var(--surface); font-size:23px; font-weight:600; transform:rotate(-7deg); }
.device-check[data-state=detecting] .device-check-orb-ring { border-top:2px solid var(--accent); animation:device-check-spin 1s linear infinite; }
.device-check[data-state=detecting] .device-check-orb-ring-inner { animation-direction:reverse; }
.device-check-guide-platform { display:block; margin-bottom:8px; }
.device-check-guide-path p { margin:0; }
.device-check-visually-hidden { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
@keyframes device-check-spin { to { transform:rotate(360deg); } }
@media(prefers-reduced-motion:reduce) { .device-check[data-state=detecting] .device-check-orb-ring { animation:none; } }
@media(max-width:640px) { .device-check-orb { width:156px; height:156px; margin:24px auto; }.device-check[data-state=idle] .device-check-start-actions .device-check-button { min-width:0; }.device-check[data-state=idle] .device-check-heading h1 { font-size:35px; } }

.device-check-facts { display:grid; gap:4px; margin:18px 0; font-size:12px; line-height:1.5; }
.device-check-facts dt { color:var(--muted); margin-top:8px; }.device-check-facts dd { margin:0; overflow-wrap:anywhere; }

/* Settings help is immediately readable; native details retain keyboard disclosure. */
.device-check-faq{display:grid;grid-template-columns:minmax(180px,.8fr) minmax(0,1.65fr);gap:48px;margin-top:52px;padding-top:32px;align-items:start}
.device-check-faq h2{font-size:26px;line-height:1.2;letter-spacing:-.7px;max-width:290px;margin:0 0 20px}
.device-check-faq-intro .device-check-button{font-size:13px;padding:11px 14px}
.device-check-faq-item{padding:0!important;border-bottom:1px solid var(--line)}
.device-check-faq-item summary{display:flex;align-items:center;justify-content:space-between;gap:20px;list-style:none;padding:21px 0;font-weight:600;cursor:pointer;line-height:1.45}
.device-check-faq-item summary::-webkit-details-marker{display:none}
.device-check-faq-item summary::after{content:'+';color:var(--accent);font-size:23px;font-weight:400;flex-shrink:0}
.device-check-faq-item[open] summary::after{content:'−'}
.device-check-faq-item p.device-check-faq-path{font-size:15px;color:var(--ink);line-height:1.8;margin:0 0 14px;max-width:660px;overflow-wrap:anywhere}
.device-check-faq-item p.device-check-faq-note{font-size:13px;line-height:1.6;margin:0 0 22px}
.device-check-faq-platform{display:block;font-size:12px;font-weight:600;margin:18px 0 7px;color:var(--muted)}
.device-check-faq .device-check-sources{margin-top:18px;line-height:1.8}
[data-presentation=pocket] .device-check-faq-intro{padding:24px;border-radius:22px;background:var(--sky)}
@media(max-width:700px){.device-check-faq{display:block;margin-top:34px;padding-top:24px}.device-check-faq-intro{margin-bottom:12px}.device-check-faq h2{max-width:none;font-size:24px}.device-check-faq-item summary{padding:19px 0;font-size:15px}.device-check-faq-item p.device-check-faq-path{font-size:14px}.device-check-faq-answers{min-width:0}}

/* Approved support page: one canonical conversation, two brand compositions. */
.brand-support-view{max-width:none;margin:0;padding:40px 0 30px}
.brand-support-layout{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(0,1.3fr);gap:clamp(28px,5vw,76px);align-items:start}
.brand-support-aside{min-width:0;padding-top:14px}
.brand-support-aside h1{font-size:clamp(36px,4.3vw,58px);line-height:1.08;letter-spacing:-.055em;max-width:440px}
.brand-support-intro{font-size:16px;line-height:1.65;color:var(--muted);max-width:350px;margin:22px 0 36px}
.brand-support-help h2{font-size:15px;letter-spacing:-.02em;margin-bottom:8px}
.brand-support-help a{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:16px 0;border-bottom:1px solid var(--line);color:inherit;text-decoration:none;font-size:14px;line-height:1.5;min-height:52px}
.brand-support-help a>span:last-child{color:var(--accent)}
.brand-support-contact{margin-top:28px;font-size:13px;line-height:1.6;color:var(--muted);overflow-wrap:anywhere}
.brand-support-contact summary{cursor:pointer;min-height:44px;align-content:center;color:inherit}
.brand-support-contact p{margin:8px 0 14px}
.brand-support-contact a{color:inherit;text-underline-offset:4px}
.brand-support-contact small{display:block;margin-top:12px;font-size:11px}
.brand-support-back{display:inline-flex;gap:8px;align-items:center;margin-top:18px;min-height:44px;font-size:13px;color:var(--muted);text-decoration:none}
.brand-support-panel{min-width:0}
.brand-support-view .lt-support-page{height:min(640px,calc(100svh - 200px));min-height:380px;border:1px solid var(--line);border-radius:24px;background:var(--surface);overflow:hidden;box-shadow:0 14px 44px color-mix(in srgb,var(--ink) 5%,transparent)}
.brand-support-view .lt-support-chat{--lt-support-ink:var(--ink);--lt-support-paper:var(--surface);--lt-support-sky:var(--paper);--lt-support-line:var(--line);--lt-support-muted:var(--muted);--lt-support-signal:var(--accent);--lt-support-signal-dark:var(--accent);font-family:inherit}
.brand-support-view .lt-support-head{padding:18px 20px;gap:12px}
.brand-support-view .lt-support-identity strong{font-family:inherit;font-size:14px;line-height:1.4;white-space:normal;overflow-wrap:anywhere}
.brand-support-view .lt-support-identity span{color:var(--muted);font-size:11px;line-height:1.45}
.brand-support-view .lt-support-avatar{background:var(--accent);font-family:inherit;box-shadow:none;width:42px;height:42px}
.brand-support-view .lt-support-avatar.has-photo{background-color:var(--sky);color:transparent}
.brand-support-view .lt-support-presence{display:none}
.brand-support-view .lt-support-messages{padding:22px 20px;scrollbar-color:var(--line) transparent}
.brand-support-view .lt-support-message{border:0;border-radius:16px 16px 16px 5px;padding:14px 16px;box-shadow:0 2px 8px color-mix(in srgb,var(--ink) 3%,transparent);max-width:92%}
.brand-support-view .lt-support-message p{font-size:14px;line-height:1.6}
.brand-support-view .lt-support-message-row.is-user .lt-support-message{border-radius:16px 16px 5px 16px;background:var(--accent);color:#fff}
[dir=rtl] .brand-support-view .lt-support-message{border-radius:16px 16px 5px 16px}
[dir=rtl] .brand-support-view .lt-support-message-row.is-user .lt-support-message{border-radius:16px 16px 16px 5px}
.brand-support-view .lt-support-message time{font-size:11px;line-height:1.5}
.brand-support-view .lt-support-guest{margin:0;padding:10px 18px 0;font-size:11px;line-height:1.5;text-align:start;background:var(--surface)}
.brand-support-view .lt-support-composer{padding:12px 14px 16px;gap:9px;align-items:flex-end}
.brand-support-view .lt-support-input{border-radius:14px;background:var(--paper);min-height:50px;font-size:16px;padding:13px 12px}
.brand-support-view .lt-support-input:focus{outline:2px solid var(--accent);outline-offset:1px;box-shadow:none}
.brand-support-view .lt-support-photo,.brand-support-view .lt-support-send{width:44px;height:48px;min-width:44px;min-height:44px;border-radius:13px;flex:none;font-size:22px;border:0}
.brand-support-view .lt-support-photo{background:var(--paper);color:var(--muted)}
.brand-support-view .lt-support-send{background:var(--accent);color:#fff}
.brand-support-view .lt-support-send:disabled{background:var(--line);color:var(--muted)}
.brand-support-view .lt-support-context{background:var(--sky);padding:10px 16px;min-height:56px;max-height:100px;overflow:auto;font-size:12px}
.brand-support-view .lt-support-context button{min-width:44px;min-height:44px;background:var(--surface);color:var(--ink);border-color:var(--line)}
.brand-support-view .lt-support-context .lt-support-attachment{max-height:52px;max-width:100px;object-fit:contain;margin:0}
.brand-support-view .lt-support-plan{background:var(--sky);border-color:var(--line);color:var(--ink);overflow-wrap:anywhere}
.brand-support-view .lt-support-plan-price,.brand-support-view .lt-support-plan-cta{color:var(--accent)}
.brand-support-view .lt-support-plan small{color:var(--muted)}
.brand-support-view .lt-support-plan:hover{background:var(--paper);border-color:var(--accent)}
.brand-support-view .lt-support-send-error{margin:0;padding:0 16px 10px;max-height:100px;overflow:auto;font-size:12px;line-height:1.5}
.brand-support-view .brand-support-send-retry{align-self:flex-start;margin:0 16px 12px;min-height:44px;color:var(--accent)}
.brand-support-view [hidden]{display:none!important}
.brand-support-topics{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:20px 0 0}
.brand-support-topic{display:flex;align-items:center;text-align:start;min-height:54px;padding:12px 14px;background:var(--surface);border:1px solid var(--line);border-radius:12px;color:var(--ink);font-size:13px;line-height:1.45}
.brand-support-topic:hover{border-color:var(--accent)}
.brand-support-order{display:flex;align-items:center;gap:12px;margin:14px 6px 0}
.brand-support-order button{display:flex;align-items:center;gap:8px;min-height:44px;padding:8px 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink);font-size:13px;flex-shrink:0}
.brand-support-order small{font-size:11px;line-height:1.5;color:var(--muted)}
.brand-support-purchases{display:grid;gap:8px;padding:14px;font-size:13px;line-height:1.6}
.brand-support-purchases button{text-align:start;min-height:44px;padding:10px 12px;border:1px solid var(--line);background:var(--surface);border-radius:10px;color:var(--ink)}
.brand-support-dismiss{display:none}
[data-presentation=horizon] .brand-support-aside h1{color:#194536}
[data-presentation=horizon] .brand-support-view .lt-support-message-row.is-user .lt-support-message{background:#194536}
[data-presentation=horizon] .brand-support-view .lt-support-avatar{background-color:#194536}
[data-presentation=pocket] .brand-support-layout{grid-template-columns:minmax(0,1.3fr) minmax(260px,.8fr);gap:36px}
[data-presentation=pocket] .brand-support-aside{order:2;background:#192c49;color:#fff;border-radius:28px;padding:32px}
[data-presentation=pocket] .brand-support-aside .eyebrow,[data-presentation=pocket] .brand-support-intro,[data-presentation=pocket] .brand-support-contact,[data-presentation=pocket] .brand-support-back{color:#c7d8ed}
[data-presentation=pocket] .brand-support-aside h1{font-size:clamp(32px,3.5vw,46px);color:#fff}
[data-presentation=pocket] .brand-support-help a{border-color:#ffffff26}
[data-presentation=pocket] .brand-support-help a>span:last-child{color:#8eb1ff}
[data-presentation=pocket] .brand-support-view .lt-support-page{border-radius:26px;border-color:#d7e2fa}
[data-presentation=pocket] .brand-support-view .lt-support-messages{background:#eef3ff}
[data-presentation=pocket] .brand-support-topic{border-radius:15px;border-color:#d7e2fa}
@media(max-width:900px){.brand-support-layout,[data-presentation=pocket] .brand-support-layout{gap:26px;grid-template-columns:minmax(220px,.8fr) minmax(0,1.3fr)}[data-presentation=pocket] .brand-support-layout{grid-template-columns:minmax(0,1.3fr) minmax(220px,.8fr)}.brand-support-aside h1{font-size:38px}.brand-support-aside{padding-top:4px}[data-presentation=pocket] .brand-support-aside{padding:24px}.brand-support-order{align-items:flex-start}}
@media(max-width:700px){
 .brand-support-view{padding:16px 0 28px}
 .brand-support-layout,[data-presentation=pocket] .brand-support-layout{display:flex;flex-direction:column;gap:30px}
 .brand-support-panel{order:0;width:100%}
 .brand-support-aside,[data-presentation=pocket] .brand-support-aside{order:1;width:100%;padding:24px 18px}
 .brand-support-aside h1,[data-presentation=pocket] .brand-support-aside h1{font-size:34px;max-width:520px}
 .brand-support-intro{margin:16px 0 24px;font-size:14px;max-width:none}
 .brand-support-view .lt-support-page{height:calc(100svh - 265px);min-height:330px;max-height:610px;border-radius:22px}
 .brand-support-view .lt-support-head{padding:14px;gap:10px;min-height:76px}
 .brand-support-view .lt-support-identity strong{font-size:13px}
 .brand-support-view .lt-support-messages{padding:16px 12px}
 .brand-support-view .lt-support-message{padding:12px 14px;max-width:96%}
 .brand-support-view .lt-support-message p{font-size:14px;line-height:1.55}
 .brand-support-view .lt-support-composer{padding:10px 10px 12px;gap:7px}
 .brand-support-view .lt-support-input{padding-inline:10px}
 .brand-support-view .lt-support-photo{width:44px;min-width:44px}
 .brand-support-view .lt-support-guest{padding-inline:14px}
 .brand-support-topic{font-size:12px;padding:11px;min-height:48px}
 .brand-support-order{margin:10px 2px 0;gap:10px}
 .brand-support-order small{font-size:11px}
 .brand-support-keyboard #bottom-nav{display:none}
 .brand-support-keyboard .brand-support-panel{position:fixed;z-index:50;inset-inline:0;top:var(--brand-vv-top,0px);height:var(--brand-vv-height,100dvh);display:flex;flex-direction:column;padding:0;background:var(--surface);overflow:hidden}
 .brand-support-keyboard .brand-support-view .lt-support-page{flex:1;height:auto;min-height:0;max-height:none;border:0;border-radius:0;box-shadow:none}
 .brand-support-keyboard .brand-support-order,.brand-support-keyboard .brand-support-purchases{display:none!important}
 .brand-support-keyboard .brand-support-view .lt-support-guest{display:none}
 .brand-support-keyboard .brand-support-view .lt-support-composer{padding-bottom:max(10px,env(safe-area-inset-bottom))}
 .brand-support-keyboard .brand-support-dismiss{display:block;margin-inline-start:auto;width:44px;height:44px;flex:none;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:12px;font-size:22px}
}
@media(max-width:360px){.brand-support-topics{grid-template-columns:1fr;gap:7px}.brand-support-order{flex-wrap:wrap}.brand-support-order small{flex-basis:100%}}

.brand-support-aside h1{white-space:pre-line}
.brand-support-view .lt-support-identity span{font-family:inherit;letter-spacing:0;font-weight:400}
.brand-support-view .lt-support-identity span:empty{display:none}

/* Multi-country catalogue shares the existing shelf, checkout and locale shell. */
.regional-catalog{margin-block:36px 48px}.regional-heading{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-block-end:20px}.regional-heading a{font-size:13px}
.regional-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.regional-card{min-width:0;border:1px solid var(--line);border-radius:20px;background:var(--lilac);overflow:hidden;display:flex;flex-direction:column}.regional-open{display:flex;flex:1;flex-direction:column;align-items:flex-start;gap:10px;width:100%;padding:20px 16px;border:0;text-align:start;background:transparent}.regional-open h3{font-size:20px;line-height:1.15;margin:0;min-height:2.3em;overflow-wrap:anywhere}.regional-open span{font-size:12px}.regional-open .regional-symbol{font-size:28px}.regional-open .regional-price{margin-block-start:auto;font-size:18px}.regional-open:disabled{opacity:.65}.regional-open:focus-visible{outline:3px solid var(--accent);outline-offset:-3px}.regional-plan{font-weight:600}.coverage-disclosure{font-size:12px;line-height:1.65;padding:12px 16px;border-block-start:1px solid var(--line)}.coverage-disclosure summary{cursor:pointer;font-weight:600}.coverage-disclosure p{margin-block:8px}.coverage-list{list-style:none;padding:0;margin-block:12px 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:5px 16px;overflow-wrap:anywhere}.regional-card .coverage-list{display:block}.regional-all{margin-block-start:20px}.regional-all>summary{cursor:pointer;padding:16px 0;font-weight:600}.regional-all input{width:100%;padding:14px 16px;border:1px solid var(--line);border-radius:12px;margin-block-end:18px;background:var(--paper)}#regional-list .country-row{display:block}#regional-list .country-open{width:100%}#regional-coverage{margin-block-end:24px;border:1px solid var(--line);border-radius:16px}.regional-owned-conditions .mye-row{overflow-wrap:anywhere}
@media(max-width:1000px){.regional-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.regional-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.regional-heading{display:block}.regional-heading a{display:inline-block;margin-block-start:12px}.regional-open{padding:18px 14px}.regional-open h3{font-size:19px}.regional-open .regional-price{font-size:17px}}
@media(max-width:379px){.regional-grid{grid-template-columns:1fr}.regional-open h3{min-height:0}}

/* Karman: the offer's full conditions live in the named top-corner dialog. */
[data-presentation=pocket] .country-art.has-country-scene .country-identity {
  min-width: 100px; padding: 13px 16px; gap: 8px; border-radius: 18px;
  box-shadow: 0 8px 26px #061b5c0b;
}
[data-presentation=pocket] .country-art.has-country-scene .country-flag { font-size: 64px; }
[data-presentation=pocket] .country-art.has-country-scene .country-code { font-size: 12px; }
[data-presentation=pocket] .country-row .flag { font-size: 36px; }
[data-presentation=pocket] .country-open { grid-template-columns: 46px minmax(0,1fr); }
[data-presentation=pocket] .hero-country-flag { font-size: 34px; }
[data-presentation=pocket] .pocket-plan-card .plan-card-heading { gap: 12px; margin-bottom: 22px; min-height: 44px; }
[data-presentation=pocket] .pocket-plan-card .plan-card-heading::after { content: none; }
[data-presentation=pocket] .pocket-offer-help {
  display: grid; place-items: center; flex: 0 0 44px; width: 44px; height: 44px;
  margin-inline-start: auto; padding: 0; border: 1px solid var(--line); border-radius: 50%;
  background: var(--sky); color: var(--ink); font: inherit; font-size: 21px; font-weight: 600;
  text-decoration: none; cursor: pointer;
}
[data-presentation=pocket] .pocket-offer-help:hover { border-color: var(--accent); color: var(--accent); }
[data-presentation=pocket] .pocket-offer-help:focus-visible { outline: 3px solid var(--accent); outline-offset: 3px; }
[data-presentation=pocket] .pocket-offer-purchase {
  display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.15fr); gap: 14px; align-items: center;
}
[data-presentation=pocket] .pocket-offer-purchase .price { min-width: 0; }
[data-presentation=pocket] .pocket-offer-purchase .price strong { font-size: clamp(23px,2.2vw,30px); }
[data-presentation=pocket] .pocket-offer-purchase .offer-buy { min-width: 0; padding: 12px 10px; font-size: 13px; line-height: 1.3; }
.pocket-app {
  display: grid; grid-template-columns: minmax(140px,.6fr) minmax(0,1.4fr); gap: 48px;
  align-items: center; margin-top: 64px; padding: 48px; border: 1px solid var(--line);
  border-radius: 28px; background: var(--sky);
}
.pocket-app-mark { display: grid; place-items: center; }
.pocket-app-mark img { width: min(100%,176px); height: auto; object-fit: contain; }
.pocket-app-copy .eyebrow { margin: 0 0 12px; }
.pocket-app-copy h2 { margin: 0; font-size: clamp(28px,3.3vw,42px); line-height: 1.13; letter-spacing: -.04em; }
.pocket-app-copy > p:not(.eyebrow) { max-width: 480px; color: var(--muted); font-size: 15px; line-height: 1.6; margin: 16px 0 24px; }
.pocket-app-stores { display: flex; flex-wrap: wrap; gap: 12px; }
.pocket-app-store {
  display: flex; align-items: center; gap: 12px; min-height: 60px; padding: 12px 20px;
  border: 1px solid var(--line); border-radius: 12px; background: var(--ink); color: white;
  text-align: start; text-decoration: none; font: inherit;
}
.pocket-app-store:disabled { opacity: 1; cursor: default; }
.pocket-app-store svg { width: 24px; height: 28px; fill: currentColor; flex: 0 0 auto; }
.pocket-app-store span { display: grid; gap: 3px; }
.pocket-app-store small { font-size: 10px; }
.pocket-app-store b { font-size: 16px; font-weight: 600; }
@media (max-width:680px) {
  [data-presentation=pocket] .country-art.has-country-scene .country-identity { min-width: 76px; padding: 10px 12px; border-radius: 14px; }
  [data-presentation=pocket] .country-art.has-country-scene .country-flag { font-size: 48px; }
  [data-presentation=pocket] .hero-country-flag { font-size: 30px; }
  [data-presentation=pocket] .pocket-offer-purchase { gap: 10px; }
  .pocket-app { grid-template-columns: 1fr; gap: 24px; margin-top: 40px; padding: 28px 22px; border-radius: 22px; }
  .pocket-app-mark { justify-items: start; }
  .pocket-app-mark img { width: 88px; }
  .pocket-app-stores { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
  .pocket-app-store { min-width: 0; padding: 10px; gap: 8px; }
  .pocket-app-store b { font-size: 13px; }
  .pocket-app-store svg { width: 20px; height: 24px; }
}
@media (max-width:350px) {
  [data-presentation=pocket] .pocket-plan-card { padding: 18px; }
  [data-presentation=pocket] .pocket-plan-card.is-selected { padding: 17px; }
  [data-presentation=pocket] .pocket-offer-purchase .offer-buy { font-size: 12px; padding-inline: 8px; }
  .pocket-app { padding: 24px 18px; }
  .pocket-app-store { gap: 6px; padding: 10px 8px; }
  .pocket-app-store b { font-size: 12px; }
}

/* Pocket country offers share the native eSIM ticket anatomy. */
[data-presentation=pocket] .plan-card.pocket-plan-card {
  padding:0; gap:0; border:1px solid var(--line); border-radius:10px;
  background:var(--surface); box-shadow:none; min-width:0;
}
[data-presentation=pocket] .pocket-plan-card.is-selected,
[data-presentation=pocket] .pocket-plan-card:focus-within { border-color:var(--accent); }
.pocket-ticket-face {
  position:relative; display:grid; gap:2px; align-content:start;
  padding:7px 13px 12px; background:linear-gradient(105deg,var(--surface),var(--sky));
  border-bottom:1px solid var(--line);
}
.pocket-ticket-head { display:flex; align-items:center; flex-wrap:wrap; gap:2px 6px; padding-inline-end:42px; min-width:0; }
.pocket-ticket-family { font-size:11px; font-weight:750; text-transform:uppercase; letter-spacing:.065em; color:var(--accent); }
.pocket-ticket-term,.pocket-ticket-allowance,.pocket-ticket-network {
  cursor:pointer; border:0; background:none; color:var(--ink); font:inherit; text-align:start;
}
.pocket-ticket-term,.pocket-ticket-allowance {
  display:flex; align-items:center; justify-self:start; gap:7px; min-height:44px; padding:0;
}
.pocket-ticket-term { font-size:13px; font-weight:750; }
.pocket-ticket-term>span:first-child { padding:5px 6px; border-radius:5px; background:var(--blue); }
.pocket-ticket-info { display:inline-grid; place-items:center; width:16px; height:16px; flex:none; border:1px solid currentColor; border-radius:50%; color:var(--accent); font:700 11px/1 system-ui; }
.pocket-ticket-allowance { max-width:calc(100% - 47px); }
.pocket-plan-card .pocket-ticket-allowance .plan-allowance { margin:0; font-size:clamp(28px,3vw,44px); font-weight:750; line-height:1.06; overflow-wrap:anywhere; }
.pocket-plan-card[data-allowance-kind=unlimited] .pocket-ticket-allowance .plan-allowance { font-size:clamp(23px,2.5vw,34px); }
.pocket-ticket-chip {
  position:absolute; inset-inline-end:18px; top:48px; display:grid; place-items:center;
  width:36px; height:27px; isolation:isolate; color:white; background:var(--accent);
  border-radius:4px; font:750 10px/1 system-ui; letter-spacing:.03em;
}
.pocket-ticket-chip::before,.pocket-ticket-chip::after {
  position:absolute; content:''; top:4px; width:5px; height:19px;
  background:repeating-linear-gradient(to bottom,var(--accent) 0 2px,transparent 2px 5px); z-index:-1;
}
.pocket-ticket-chip::before { inset-inline-start:-4px; }
.pocket-ticket-chip::after { inset-inline-end:-4px; }
.pocket-ticket-speed,.pocket-ticket-facts { display:grid; gap:4px; color:var(--muted); font-size:12px; line-height:1.35; }
.pocket-ticket-speed { margin-top:4px; }
.pocket-ticket-quota { color:var(--ink); font-weight:750; }
.pocket-ticket-network { display:flex; align-items:center; gap:8px; width:100%; min-height:44px; padding:7px 13px; border-bottom:1px solid var(--line); font-size:14px; font-weight:750; }
.pocket-ticket-network>span:first-child { flex:1; min-width:0; overflow-wrap:anywhere; }
.pocket-ticket-generation { color:var(--accent); background:var(--sky); padding:2px 5px; border-radius:4px; font-size:11px; }
.pocket-ticket-chevron { color:var(--accent); font-size:20px; line-height:1; }
[dir=rtl] :is(.pocket-ticket-chevron,.pocket-ticket-arrow) { transform:scaleX(-1); }
.pocket-ticket-facts { padding:9px 13px; }
.pocket-ticket-facts:empty { display:none; }
.pocket-ticket-facts[data-start=purchase]>span:first-child { color:#805519; font-weight:700; }
[data-presentation=pocket] .pocket-offer-purchase {
  margin-top:auto; padding:10px 13px; border-top:1px dashed var(--line); background:var(--paper);
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
}
[data-presentation=pocket] .pocket-offer-purchase .price { flex-direction:column; }
[data-presentation=pocket] .pocket-offer-purchase .offer-buy {
  display:flex; justify-content:center; align-items:center; gap:7px; min-height:44px; border-radius:8px; font-weight:750;
}
.pocket-unlimited-guide { margin:0; padding:15px; border-radius:10px; background:var(--sky); color:var(--ink); line-height:1.5; }
.pocket-network-dialog { margin:12px 0 0; font-weight:700; color:var(--ink); }
.pocket-ticket-upgrade { display:flex; align-items:center; justify-content:space-between; gap:8px; min-height:44px; padding:6px 13px; border-top:1px solid var(--line); color:var(--ink); font-size:13px; font-weight:700; cursor:pointer; }
.pocket-ticket-upgrade b { color:var(--accent); }
.pocket-ticket-upgrade input { appearance:none; width:42px; height:24px; flex:none; border:0; border-radius:16px; background:#acb8c5; position:relative; cursor:pointer; }
.pocket-ticket-upgrade input::before { content:''; position:absolute; inset:3px auto 3px 3px; width:18px; border-radius:50%; background:white; }
.pocket-ticket-upgrade input:checked { background:var(--accent); }
.pocket-ticket-upgrade input:checked::before { transform:translateX(18px); }
:dir(rtl) .pocket-ticket-upgrade input:checked::before { transform:translateX(-18px); }
:dir(rtl) .pocket-ticket-upgrade input::before { inset-inline-start:3px; inset-inline-end:auto; }
