/* Lower-page implementation for the approved travel editorial home. */
:root { --zb-ground:#f4f5f3; --zb-paper:#fff; --zb-ink:#202522; --zb-muted:#66706a; --zb-green:#218467; --zb-inset:inset 0 0 0 1px rgba(30,37,33,.10); --zb-shadow:0 14px 38px rgba(20,28,23,.055); }
#numbers,#how-it-works,.benefit-section,#compatibility,#faq,.trust-strip,.home-footer { display:block !important; }
.value-section,.how-section,.ed-compat,.trust-strip,.home-footer { background:var(--zb-paper); }
.benefit-section,.ed-faq { background:var(--zb-ground); }
.value-section { padding:clamp(74px,9vw,126px) 0 clamp(72px,8vw,112px); }
.value-section .stage-heading { display:flex !important; align-items:flex-end; justify-content:space-between; margin:0 0 30px; }
.value-section .stage-heading h2,.benefit-section> .home-container > h2 { margin:0; color:var(--zb-ink); font-size:clamp(32px,4vw,54px); line-height:.98; letter-spacing:-.065em; font-weight:700; }
.value-section .stage-heading p { display:block; max-width:300px; margin:8px 0 0; color:var(--zb-muted); font-size:15px; line-height:1.55; }
.value-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.value-panel,.value-panel+.value-panel { position:relative; display:flex; min-height:340px; padding:32px; overflow:hidden; border:0; border-radius:20px; background:var(--zb-paper); background-clip:padding-box; box-shadow:var(--zb-inset),var(--zb-shadow); isolation:isolate; }
.value-panel::after { content:''; position:absolute; right:-36px; bottom:-58px; width:230px; height:230px; border-radius:50%; background:radial-gradient(circle,rgba(33,132,103,.10),rgba(33,132,103,0) 68%); pointer-events:none; }
.value-copy { position:relative; z-index:2; display:flex; flex:0 0 48%; flex-direction:column; align-items:flex-start; max-width:275px; }
.value-index { color:#748078; font-size:10px; font-weight:700; letter-spacing:.12em; }
.value-copy h3 { margin:18px 0 13px; color:var(--zb-ink); font-size:clamp(27px,2.55vw,39px); line-height:1.04; letter-spacing:-.055em; font-weight:700; }
.value-copy p { margin:0; color:var(--zb-muted); font-size:14px; line-height:1.58; }
.value-copy a,.benefit-grid a { display:inline-flex; align-items:center; gap:6px; margin-top:auto; color:var(--zb-green); font-size:13px; font-weight:700; text-decoration:none; transition:transform .24s cubic-bezier(.2,.8,.2,1),color .24s ease; }
.value-copy a:hover,.benefit-grid a:hover { color:#0b5b45; transform:translateX(3px); }
.signal-ui { position:relative; z-index:2; align-self:center; width:min(47%,254px); margin-left:auto; padding:9px; border:0; border-radius:16px; background:rgba(244,247,245,.92); background-clip:padding-box; box-shadow:var(--zb-inset),0 14px 34px rgba(18,31,24,.08); }
.signal-ui div { display:grid; grid-template-columns:26px 1fr; gap:2px 8px; align-items:center; min-height:52px; padding:9px 7px; border-bottom:1px solid rgba(30,37,33,.075); }
.signal-ui div:last-child { border-bottom:0; }
.signal-ui i { grid-row:span 2; color:var(--zb-green); font-size:18px; }
.signal-ui span { color:#7a847f; font-size:10px; }
.signal-ui b { color:#27302b; font-size:12px; font-weight:700; }
.number-scene { position:relative; z-index:2; align-self:stretch; width:min(47%,286px); min-height:282px; margin-left:auto; overflow:hidden; border-radius:16px; background:linear-gradient(140deg,#e5ede9,#d4ddd8); box-shadow:var(--zb-inset); }
.number-scene::before { content:''; position:absolute; inset:0; background:linear-gradient(150deg,rgba(17,39,32,.02),rgba(17,39,32,.17)); }
.number-phone { position:absolute; right:30px; bottom:-18px; width:163px; height:276px; padding:31px 11px 13px; border:4px solid #151a17; border-radius:31px; background:linear-gradient(155deg,#9fc1b8 0%,#4e7770 49%,#183b37 100%); box-shadow:0 17px 34px rgba(14,34,27,.22); color:#fff; text-align:center; transform:rotate(5deg) translateZ(0); }
.number-phone-notch { top:6px; width:57px; height:13px; border-radius:12px; background:#111714; }
.number-phone-clock { margin-top:7px; font-size:31px; font-weight:700; letter-spacing:-.055em; }
.number-phone-date { margin:4px 0 18px; font-size:9px; color:rgba(255,255,255,.86); }
.number-phone-call,.number-phone-message { width:180px; min-height:47px; margin-left:-27px; padding:8px; border:0; border-radius:12px; background:rgba(255,255,255,.86); background-clip:padding-box; box-shadow:inset 0 0 0 1px rgba(255,255,255,.45),0 8px 17px rgba(9,22,17,.17); color:#26322d; -webkit-backdrop-filter:blur(16px); backdrop-filter:blur(16px); }
.number-phone-message { width:169px; margin-top:9px; margin-left:-12px; }
.phone-icon,.phone-action { border:0; background:#e1f0e9; color:#177759; }
.phone-action { background:#218467; color:#fff; }
.how-section { padding:clamp(88px,11vw,145px) 0; }
.how-heading { max-width:620px; margin:0 auto 46px; text-align:center; }
.how-heading h2 { margin:0; color:var(--zb-ink); font-size:clamp(38px,4.6vw,66px); font-weight:700; line-height:.97; letter-spacing:-.07em; }
.how-heading p { margin:13px 0 0; color:#58665e; font-size:18px; line-height:1.45; }
.how-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.how-grid article { position:relative; min-height:350px; padding:26px; overflow:visible; border:0; border-radius:20px; background:#fff; background-clip:padding-box; box-shadow:var(--zb-inset),var(--zb-shadow); }
.how-grid article:not(:last-child)::after { content:'→'; position:absolute; z-index:3; top:50%; right:-35px; display:grid; width:49px; height:49px; place-items:center; border-radius:50%; background:var(--zb-paper); box-shadow:var(--zb-inset),0 8px 20px rgba(23,33,27,.09); color:var(--zb-green); font-size:24px; transform:translateY(-50%); }
.how-grid article>span { display:grid; width:47px; height:47px; place-items:center; border:0; border-radius:50%; background:#e6f4ee; color:#1d7c60; font-size:14px; font-weight:700; }
.step-art { position:relative; display:grid; width:100%; height:145px; margin:12px 0 17px; place-items:center; overflow:hidden; border-radius:15px; background:linear-gradient(135deg,#f2f7f4,#e7f1ec); color:#218467; }
.step-art::before { content:''; position:absolute; width:115px; height:115px; border:1px solid rgba(33,132,103,.17); border-radius:50%; }
.step-art>i { position:relative; z-index:1; font-size:54px; }
.step-route { position:absolute; width:70px; height:40px; border-top:2px dashed rgba(33,132,103,.35); border-radius:50%; transform:rotate(-17deg) translate(33px,22px); }
.step-device { background:linear-gradient(135deg,#edf2f1,#e8efec); }
.step-device>i:first-child { font-size:76px; color:#2a3630; }
.step-device>i:last-child { position:absolute; z-index:2; top:49px; color:#218467; font-size:27px; }
.step-signal { align-items:end; padding-bottom:26px; background:linear-gradient(135deg,#eef7f2,#edf4f0); }
.step-signal::before { display:none; }
.step-signal>i { font-size:88px; color:#218467; }
.how-grid h3 { margin:0 0 8px; color:var(--zb-ink); font-size:22px; letter-spacing:-.035em; }
.how-grid p { margin:0; color:var(--zb-muted); font-size:14px; line-height:1.58; }
.benefit-section { padding:clamp(86px,10vw,132px) 0; }
.benefit-section>.home-container>h2 { font-size:clamp(36px,4.2vw,58px); }
.benefit-subtitle { max-width:390px; margin:10px 0 36px; color:var(--zb-muted); font-size:16px; }
.benefit-grid { display:grid; grid-template-columns:1.25fr .875fr .875fr; grid-template-rows:repeat(2,minmax(170px,1fr)); gap:15px; }
.benefit-grid article { position:relative; display:flex; flex-direction:column; min-height:0; padding:24px; overflow:hidden; border:0; border-radius:20px; background:#fff; background-clip:padding-box; box-shadow:var(--zb-inset),var(--zb-shadow); }
.benefit-grid article>i { display:grid; width:42px; height:42px; margin:0 0 18px; place-items:center; border:0; border-radius:12px; background:#edf1ef; color:#66736b; font-size:20px; }
.benefit-grid h3 { max-width:210px; margin:0 0 7px; color:var(--zb-ink); font-size:19px; letter-spacing:-.03em; line-height:1.12; }
.benefit-grid p { max-width:245px; margin:0; color:var(--zb-muted); font-size:12px; line-height:1.52; }
.benefit-grid article>a { margin-top:auto; font-size:12px; }
.benefit-grid .benefit-large { grid-row:span 2; display:flex; flex-direction:row; align-items:stretch; min-height:355px; padding:32px; background:linear-gradient(135deg,#fff,#f7faf8); }
.benefit-large>div:first-child { position:relative; z-index:2; display:flex; max-width:48%; flex-direction:column; }
.benefit-large h3 { margin-bottom:15px; color:var(--zb-ink); font-size:clamp(31px,3.2vw,47px); line-height:.98; letter-spacing:-.065em; }
.benefit-interface { position:absolute; right:27px; bottom:25px; width:43%; max-width:235px; padding:18px; border:0; border-radius:17px; background:rgba(238,246,241,.93); background-clip:padding-box; box-shadow:inset 0 0 0 1px rgba(33,132,103,.15),0 17px 30px rgba(22,51,39,.08); }
.benefit-interface::after { content:''; position:absolute; top:-42px; right:-50px; width:145px; height:145px; border:1px solid rgba(33,132,103,.2); border-radius:50%; }
.benefit-destination { position:relative; z-index:2; }
.benefit-grid article:nth-child(2)::after { content:'JP · US · EU'; position:absolute; right:18px; bottom:20px; color:#218467; font-size:10px; font-weight:700; letter-spacing:.06em; }
.benefit-grid article:nth-child(3)::after { content:'5G'; position:absolute; right:18px; bottom:14px; color:#218467; font-size:37px; font-weight:700; letter-spacing:-.07em; }
.benefit-grid article:nth-child(4)::after { content:'eSIM'; position:absolute; right:16px; bottom:16px; display:grid; width:54px; height:40px; place-items:center; border-radius:9px; background:#e6f2ec; color:#218467; font-size:11px; font-weight:700; }
.benefit-grid article:nth-child(5)::after { content:'24/7'; position:absolute; right:17px; bottom:14px; display:grid; width:49px; height:49px; place-items:center; border-radius:50%; background:#1f2a25; color:#fff; font-size:12px; font-weight:700; }
.ed-compat { padding:clamp(80px,9vw,118px) 0; }
.ed-compat-grid { display:grid; grid-template-columns:.92fr 1.08fr; gap:72px; align-items:center; }
.ed-compat .ed-kicker,.ed-compat .ed-steps { display:none; }
.ed-compat h2 { margin:0 0 10px; color:var(--zb-ink); font-size:clamp(30px,3.5vw,46px); line-height:1; letter-spacing:-.06em; }
.ed-compat-grid>div:first-child>p:last-of-type { max-width:450px; margin:0; color:var(--zb-muted); font-size:15px; line-height:1.55; }
.ed-checker { padding:13px; border:0; border-radius:16px; background:#f8f9f8; background-clip:padding-box; box-shadow:var(--zb-inset); }
.ed-checker>.ed-check-icon,.ed-checker>.ed-label,.ed-checker>h3,.ed-checker>p { display:none; }
.ed-device-form { display:grid; grid-template-columns:1fr auto; gap:10px; }
.ed-device-form input { min-width:0; height:54px; padding:0 18px; border:0; border-radius:11px; background:#fff; box-shadow:var(--zb-inset); color:var(--zb-ink); font-size:14px; outline:0; }
.ed-device-form input:focus { box-shadow:inset 0 0 0 2px rgba(33,132,103,.5); }
.ed-device-form button { min-width:142px; height:54px; border:0; border-radius:11px; background:#218467; color:#fff; font-size:14px; font-weight:700; transition:background .2s ease,transform .2s cubic-bezier(.2,.8,.2,1); }
.ed-device-form button:hover { background:#12684f; transform:translateY(-1px); }
.ed-guide-link { display:inline-flex; align-items:center; gap:6px; margin:10px 6px 0; padding:0; border:0; background:transparent; color:#218467; font-size:12px; font-weight:700; }
.ed-device-result { margin:10px 6px 0; color:#556158; font-size:12px; }
.ed-faq { padding:clamp(90px,11vw,145px) 0; }
.ed-faq-grid { display:grid; grid-template-columns:.72fr 1.28fr; gap:88px; align-items:start; }
.ed-faq .ed-kicker { display:none; }
.ed-faq h2 { margin:0; color:var(--zb-ink); font-size:clamp(35px,4vw,57px); line-height:.96; letter-spacing:-.065em; }
.ed-faq h2 br { display:none; }
.ed-faq-grid>div:first-child>p { margin:18px 0 11px; color:var(--zb-muted); font-size:16px; }
.ed-faq-grid>div:first-child>a { color:#218467; font-size:14px; font-weight:700; text-decoration:none; }
.ed-faq-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.ed-faq-list details { overflow:hidden; border:0; border-radius:16px; background:#fff; background-clip:padding-box; box-shadow:var(--zb-inset),0 9px 22px rgba(22,31,26,.04); }
.ed-faq-list summary { display:flex; min-height:90px; align-items:center; gap:14px; padding:24px; color:#2b332e; font-size:14px; font-weight:600; line-height:1.4; list-style:none; cursor:pointer; }
.ed-faq-list summary::-webkit-details-marker { display:none; }
.ed-faq-list summary i { display:grid; width:27px; height:27px; flex:0 0 27px; margin-left:auto; place-items:center; border-radius:50%; background:#edf1ef; color:#667169; font-size:16px; transition:transform .24s cubic-bezier(.2,.8,.2,1),background .2s ease,color .2s ease; }
.ed-faq-list details[open] summary i { background:#218467; color:#fff; transform:rotate(45deg); }
.ed-faq-list details p { margin:0; padding:0 24px 24px; color:#68726d; font-size:13px; line-height:1.6; }
.trust-strip { padding:38px 0 42px; border-top:1px solid rgba(30,37,33,.06); }
.trust-strip .home-container { display:flex; flex-direction:column; align-items:center; gap:13px; }
.trust-marks { display:flex; align-items:center; justify-content:center; gap:30px; color:#252a27; }
.trust-marks>span { display:inline-flex; min-width:45px; min-height:24px; align-items:center; justify-content:center; color:#2b302d; font-size:15px; font-weight:700; letter-spacing:-.04em; }
.trust-marks .trust-visa { letter-spacing:-.1em; font-style:italic; }
.trust-mastercard { gap:0; }
.trust-mastercard i { display:block; width:16px; height:16px; border-radius:50%; background:#2b302d; opacity:.85; }
.trust-mastercard i+i { margin-left:-5px; opacity:.54; }
.trust-strip p { margin:0; color:#929a94; font-size:12px; }
.home-footer { padding:58px 0 24px; border-top:1px solid rgba(30,37,33,.08); }
.home-footer-grid { display:grid; grid-template-columns:1.65fr repeat(4,1fr); gap:34px; }
.home-footer-brand p { max-width:270px; margin:15px 0 19px; color:#758078; font-size:12px; line-height:1.55; }
.home-footer .home-store-list { display:flex; gap:8px; }
.home-store-badge { display:inline-flex; align-items:center; gap:6px; min-width:116px; height:39px; padding:5px 8px; border-radius:7px; background:#161a18; color:#fff; }
.home-store-badge>i { font-size:20px; }
.home-store-badge span { display:grid; line-height:1.05; }
.home-store-badge small { color:#fff; font-size:8px; }
.home-store-badge strong { color:#fff; font-size:13px; font-weight:600; }
.home-footer-links { display:flex; flex-direction:column; align-items:flex-start; gap:8px; }
.home-footer-links h2 { margin:0 0 5px; color:#303733; font-size:12px; font-weight:700; }
.home-footer-links a { color:#78827c; font-size:12px; text-decoration:none; transition:color .18s ease; }
.home-footer-links a:hover { color:#218467; }
.home-footer-links a i { display:none; }
.home-footer-bottom { display:flex; align-items:center; justify-content:space-between; margin-top:45px; padding-top:18px; border-top:1px solid rgba(30,37,33,.08); }
.home-footer-bottom p,.home-footer-bottom a { margin:0; color:#929a94; font-size:11px; text-decoration:none; }
.home-footer-bottom a:hover { color:#218467; }
@media (max-width:900px) { .value-grid,.ed-compat-grid,.ed-faq-grid { grid-template-columns:1fr; gap:34px; }.benefit-grid { grid-template-columns:1.15fr .85fr; grid-template-rows:repeat(2,minmax(180px,1fr)); }.benefit-grid .benefit-large { grid-row:span 2; }.how-grid article:not(:last-child)::after { right:-31px; }.home-footer-grid { grid-template-columns:1.8fr repeat(2,1fr); row-gap:32px; } }
@media (max-width:700px) { .value-section,.how-section,.benefit-section,.ed-compat,.ed-faq { padding-top:72px; padding-bottom:72px; }.value-section .stage-heading { display:block !important; }.value-grid,.how-grid,.benefit-grid,.ed-faq-list { grid-template-columns:1fr; }.value-panel,.value-panel+.value-panel { min-height:330px; padding:25px; }.value-copy { flex-basis:53%; }.signal-ui,.number-scene { width:44%; }.number-scene { min-height:278px; }.number-phone { right:18px; }.how-heading { margin-bottom:32px; }.how-heading p { font-size:16px; }.how-grid { gap:18px; }.how-grid article { min-height:0; }.how-grid article:not(:last-child)::after { top:auto; right:auto; bottom:-34px; left:50%; transform:translateX(-50%) rotate(90deg); }.benefit-grid { display:flex; flex-direction:column; }.benefit-grid .benefit-large { min-height:335px; }.benefit-grid article:not(.benefit-large) { min-height:178px; }.ed-compat-grid,.ed-faq-grid { gap:28px; }.ed-device-form { grid-template-columns:1fr; }.ed-device-form button { width:100%; }.home-footer-grid { grid-template-columns:repeat(2,1fr); gap:27px 20px; }.home-footer-brand { grid-column:span 2; }.home-footer-bottom { margin-top:28px; }.trust-marks { gap:17px; }.trust-marks>span { font-size:13px; } }
@media (max-width:440px) { .value-panel,.value-panel+.value-panel { min-height:350px; }.value-copy { flex-basis:55%; }.value-copy h3 { font-size:28px; }.signal-ui,.number-scene { width:42%; }.number-phone { right:5px; transform:scale(.88) rotate(5deg) translateZ(0); transform-origin:bottom right; }.benefit-grid .benefit-large { flex-direction:column; }.benefit-large>div:first-child { max-width:67%; }.benefit-interface { width:48%; right:15px; bottom:15px; }.home-store-badge { min-width:0; padding:5px 7px; }.home-store-badge strong { font-size:11px; }.home-footer-grid { grid-template-columns:1fr 1fr; }.home-footer-links a { font-size:11px; } }
@media (prefers-reduced-motion:reduce) { .value-copy a,.benefit-grid a,.ed-device-form button,.ed-faq-list summary i { transition:none; } }
/* Zero-addition alignment: only elements visible in the approved reference. */
.value-section { padding:28px 0 72px; }
.value-section .stage-heading { display:none !important; }
.value-panel--data::after { display:none; }
.value-panel--data::before { content:''; position:absolute; right:-78px; bottom:-122px; z-index:0; width:360px; height:360px; border-radius:50%; opacity:.8; background:radial-gradient(circle at center,rgba(33,132,103,.09) 0 1px,transparent 1.5px) 0 0/11px 11px,radial-gradient(circle,rgba(201,231,217,.74),rgba(245,249,247,0) 66%); mask-image:radial-gradient(circle at 50% 50%,#000 0 52%,transparent 71%); -webkit-mask-image:radial-gradient(circle at 50% 50%,#000 0 52%,transparent 71%); pointer-events:none; }
.value-panel--data .value-copy { max-width:300px; }
.value-panel--number { padding-right:0; }
.value-panel--number .value-copy { padding-right:18px; }
.value-panel--number .number-scene { width:52%; min-height:340px; margin-top:0; margin-bottom:0; border-radius:20px 0 0 20px; box-shadow:inset 1px 0 0 rgba(30,37,33,.07); }
.value-panel--number .number-phone { right:22px; bottom:-20px; width:177px; height:300px; transform:rotate(4deg) translateZ(0); }
.value-panel--number .number-phone-call { width:194px; margin-left:-30px; }
.value-panel--number .number-phone-message { width:180px; margin-left:-12px; }
.step-art { background:#f1f7f3; }
.step-art::before,.step-art>i,.step-route { display:none !important; }
.step-location { overflow:hidden; }
.step-location-halo { position:absolute; width:114px; height:114px; border-radius:50%; background:radial-gradient(circle,rgba(33,132,103,.20),rgba(33,132,103,.07) 43%,transparent 67%); }
.step-location-halo::before,.step-location-halo::after { content:''; position:absolute; border:1px solid rgba(33,132,103,.19); border-radius:50%; inset:12px; }
.step-location-halo::after { inset:27px; }
.step-pin-mark { position:relative; z-index:1; width:35px; height:35px; border-radius:50% 50% 50% 0; background:#218467; box-shadow:0 10px 20px rgba(33,132,103,.23); transform:rotate(-45deg); }
.step-pin-mark::after { content:''; position:absolute; top:10px; left:10px; width:15px; height:15px; border-radius:50%; background:#fff; }
.step-device { background:#eff5f2; }
.step-phone-art { position:relative; display:grid; width:70px; height:112px; place-items:center; border:5px solid #29332e; border-radius:16px; background:#fff; box-shadow:0 12px 20px rgba(26,43,34,.11); }
.step-phone-art::before { content:''; position:absolute; top:5px; width:28px; height:4px; border-radius:3px; background:#29332e; }
.step-qr-art { width:35px; height:35px; background:linear-gradient(90deg,#25322d 22%,transparent 22% 36%,#25322d 36% 50%,transparent 50% 64%,#25322d 64% 78%,transparent 78%),linear-gradient(#25322d 22%,transparent 22% 36%,#25322d 36% 50%,transparent 50% 64%,#25322d 64% 78%,transparent 78%); }
.step-signal { align-items:end; padding-bottom:29px; background:#f1f7f3; }
.step-bars-art { display:flex; height:83px; align-items:end; gap:10px; }
.step-bars-art i { display:block; width:17px; border-radius:8px 8px 4px 4px; background:linear-gradient(#56a88e,#218467); box-shadow:0 5px 10px rgba(33,132,103,.12); }
.step-bars-art i:nth-child(1) { height:27px; opacity:.42; }.step-bars-art i:nth-child(2) { height:43px; opacity:.60; }.step-bars-art i:nth-child(3) { height:61px; opacity:.78; }.step-bars-art i:nth-child(4) { height:81px; }
@media (max-width:700px) { .value-section { padding-top:22px; }.value-panel--number .number-scene { width:48%; }.value-panel--number .number-phone { right:8px; transform:scale(.87) rotate(4deg) translateZ(0); transform-origin:bottom right; } }
/* Approved two-card reference: no section heading, no utility panels, no extra labels. */
.value-section { padding:16px 0 36px; background:#f4f5f3; }
.value-grid { gap:0; overflow:hidden; border-radius:0; background:#fff; box-shadow:inset 0 0 0 1px rgba(27,39,32,.07); }
.value-panel,.value-panel+.value-panel { min-height:166px; height:166px; padding:18px 0 18px 26px; overflow:hidden; border:0; border-radius:0; background:#fff; box-shadow:none; }
.value-panel+.value-panel { padding-left:30px; box-shadow:inset 1px 0 0 rgba(27,39,32,.10); }
.value-panel::after { display:none; }
.value-copy,.value-panel--data .value-copy { z-index:2; flex:0 0 55%; max-width:55%; }
.value-index { display:inline-flex; align-items:center; min-height:13px; color:#314039; font-size:10px; font-weight:600; letter-spacing:0; line-height:1; text-transform:none; }
.value-index::before { content:''; width:16px; height:13px; margin-right:7px; background:linear-gradient(to top,#218467 0 42%,transparent 42% 100%) 0 0/3px 100% no-repeat,linear-gradient(to top,#218467 0 62%,transparent 62% 100%) 5px 0/3px 100% no-repeat,linear-gradient(to top,#218467 0 82%,transparent 82% 100%) 10px 0/3px 100% no-repeat; }
.value-panel--number .value-index::before { width:14px; height:14px; background:none; border:2px solid #218467; border-top-color:transparent; border-right-color:transparent; border-radius:50% 50% 50% 0; transform:rotate(-45deg); }
.value-copy h3 { margin:9px 0 8px; color:#111714; font-size:clamp(19px,1.75vw,29px); font-weight:700; line-height:1.01; letter-spacing:-.058em; }
.value-copy p { max-width:335px; color:#79827d; font-size:10px; line-height:1.47; }
.value-copy a { margin-top:11px; color:#168062; font-size:10px; font-weight:700; line-height:1; }
.value-copy a .ti { font-size:12px; }
.value-panel--data::before { content:''; position:absolute; right:0; top:0; z-index:0; width:54%; height:100%; border-radius:0; opacity:1; background:url('/assets/images/home/terminal-globe.webp') center right/auto 100% no-repeat; mask:none; -webkit-mask:none; }
.value-panel--number { padding-right:0; }
.value-panel--number .value-copy { padding-right:8px; }
.value-panel--number .number-scene { position:absolute; top:0; right:0; z-index:1; width:39%; min-height:166px; height:166px; margin:0; overflow:visible; border-radius:0; background:linear-gradient(90deg,rgba(255,255,255,.95),rgba(255,255,255,.06) 32%),url('/assets/images/home/terminal-phone.webp') 57% center/cover no-repeat; box-shadow:none; }
.value-panel--number .number-scene::before { background:linear-gradient(90deg,rgba(255,255,255,.14),rgba(255,255,255,0)); }
.value-panel--number .number-phone { right:20px; bottom:-43px; width:124px; height:218px; padding:24px 8px 10px; border-width:3px; border-radius:24px; background:linear-gradient(155deg,#496c70,#223f44 65%,#172c30); box-shadow:0 12px 24px rgba(17,30,26,.23); transform:rotate(5deg) translateZ(0); }
.value-panel--number .number-phone-notch { top:5px; width:43px; height:9px; }
.value-panel--number .number-phone-clock { margin-top:5px; font-size:26px; }
.value-panel--number .number-phone-date { margin:3px 0 13px; font-size:7px; }
.value-panel--number .number-phone-call,.value-panel--number .number-phone-message { min-height:36px; width:139px; margin-left:-17px; padding:6px; border-radius:8px; gap:4px; }
.value-panel--number .number-phone-message { width:129px; margin-top:6px; margin-left:-3px; }
.value-panel--number .number-phone-call strong,.value-panel--number .number-phone-message strong { font-size:7px; }.value-panel--number .number-phone-call small,.value-panel--number .number-phone-message small { font-size:6px; }.value-panel--number .phone-icon,.value-panel--number .phone-action { width:20px; height:20px; font-size:10px; }
@media (max-width:700px) { .value-section { padding:20px 0 45px; }.value-grid { display:grid; grid-template-columns:1fr; }.value-panel,.value-panel+.value-panel { min-height:175px; height:175px; padding-left:20px; }.value-panel+.value-panel { box-shadow:inset 0 1px 0 rgba(27,39,32,.10); }.value-copy,.value-panel--data .value-copy { flex-basis:59%; max-width:59%; }.value-panel--data::before { width:58%; }.value-panel--number .number-scene { width:42%; height:175px; min-height:175px; }.value-panel--number .number-phone { right:10px; bottom:-44px; transform:scale(.93) rotate(5deg) translateZ(0); transform-origin:bottom right; } }
/* Reference-only reconstruction: how-it-works and travel bento. */
.how-section { padding:46px 0 42px; background:#fff; }
.how-heading { max-width:none; margin:0 auto 15px; text-align:center; }
.how-heading h2 { font-size:34px; line-height:1; letter-spacing:-.06em; }
.how-heading p { margin:4px 0 0; color:#334d83; font-size:14px; line-height:1.25; }
.how-grid { max-width:1000px; margin:0 auto; gap:32px; }
.how-grid article { min-height:250px; height:250px; padding:17px; overflow:visible; border:0; border-radius:5px; box-shadow:inset 0 0 0 1px #e0e6e2; }
.how-grid article>span { width:30px; height:30px; background:#def3e8; color:#178064; font-size:11px; }
.how-grid article:not(:last-child)::after { width:auto; height:auto; top:50%; right:-25px; border-radius:0; background:transparent; box-shadow:none; color:#18a176; font-size:26px; font-weight:400; transform:translateY(-50%); }
.step-art { height:100px; margin:2px 0 9px; border-radius:0; background:transparent; }
.step-location-halo { width:108px; height:108px; background:url('/assets/images/home/terminal-globe.webp') center/contain no-repeat; }
.step-location-halo::before,.step-location-halo::after { display:none; }
.step-pin-mark { width:27px; height:27px; box-shadow:0 7px 14px rgba(33,132,103,.18); }
.step-pin-mark::after { top:8px; left:8px; width:11px; height:11px; }
.step-phone-art { width:54px; height:88px; border:3px solid #202522; border-radius:12px; box-shadow:0 5px 12px rgba(25,35,29,.12); }
.step-phone-art::before { top:4px; width:22px; height:3px; }.step-qr-art { width:27px; height:27px; }
.step-device::after { content:'↓'; position:absolute; right:calc(50% - 57px); bottom:21px; display:grid; width:33px; height:33px; place-items:center; border-radius:50%; background:#218467; color:#fff; font-size:23px; box-shadow:0 6px 13px rgba(33,132,103,.2); }
.step-signal { height:100px; padding-bottom:15px; background:transparent; }.step-bars-art { height:66px; gap:7px; }.step-bars-art i { width:12px; border-radius:6px 6px 2px 2px; }.step-bars-art i:nth-child(1) { height:21px; opacity:.22; }.step-bars-art i:nth-child(2) { height:34px; opacity:.42; }.step-bars-art i:nth-child(3) { height:49px; opacity:.7; }.step-bars-art i:nth-child(4) { height:66px; }
.how-grid h3 { margin:0 0 4px; font-size:15px; line-height:1.12; letter-spacing:-.035em; }.how-grid p { max-width:180px; font-size:11px; line-height:1.36; }
.benefit-section { padding:12px 0 20px; background:#f4f5f3; }
.benefit-section>.home-container>h2 { font-size:28px; line-height:1; letter-spacing:-.065em; }.benefit-subtitle { margin:3px 0 10px; color:#334d83; font-size:12px; }
.benefit-grid { grid-template-columns:1.4fr .72fr .72fr; grid-template-rows:repeat(2,132px); gap:7px; }
.benefit-grid article { padding:14px; border:0; border-radius:4px; box-shadow:inset 0 0 0 1px #e3e8e5; }
.benefit-grid .benefit-large { position:relative; grid-row:span 2; min-height:271px; padding:22px; background:#fff; }
.benefit-large>div:first-child { max-width:48%; }.benefit-large h3 { margin:0 0 8px; font-size:30px; line-height:.94; letter-spacing:-.07em; }.benefit-large p { max-width:180px; font-size:11px; line-height:1.35; }.benefit-large a { margin-top:20px; }
.benefit-large::after { content:''; position:absolute; right:0; bottom:0; width:67%; height:88%; background:url('/assets/images/home/terminal-globe.webp') right bottom/contain no-repeat; opacity:.92; pointer-events:none; }
.benefit-large::before { content:''; position:absolute; right:18px; bottom:17px; z-index:2; width:32px; height:32px; border-radius:50%; background:#fff; box-shadow:inset 0 0 0 1px #cfe5da; }
.benefit-large>div:first-child { z-index:3; }.benefit-grid article>i { width:auto; height:auto; margin:0 0 6px; border:0; border-radius:0; background:transparent; color:#168363; font-size:24px; }.benefit-grid h3 { max-width:160px; margin:0 0 3px; font-size:13px; line-height:1.05; }.benefit-grid p { max-width:150px; font-size:9px; line-height:1.25; }.benefit-grid article>a { margin-top:7px; font-size:9px; }.benefit-grid article>a>i { display:none; }
.benefit-grid article::after { display:none !important; }
.benefit-card-destinations::before,.benefit-card-network::before { content:'›'; position:absolute; top:15px; right:14px; color:#31517b; font-size:24px; line-height:1; }.benefit-card-plans { padding-left:86px !important; }.benefit-card-plans::before { content:'PASSPORT'; position:absolute; top:14px; left:15px; display:grid; width:61px; height:93px; place-items:center; border-radius:4px; background:linear-gradient(150deg,#087d5a,#1caa76); box-shadow:0 8px 15px rgba(15,93,67,.18); color:#fff; font-size:8px; font-weight:700; letter-spacing:.06em; writing-mode:vertical-rl; }.benefit-card-support::before { content:''; position:absolute; right:14px; bottom:10px; width:57px; height:57px; border-radius:50% 50% 42% 42%; background:radial-gradient(circle at 51% 34%,#f3c3a5 0 17%,transparent 18%),radial-gradient(circle at 50% 27%,#25332f 0 28%,transparent 29%),linear-gradient(135deg,transparent 0 28%,#1e8a68 29% 49%,transparent 50%); opacity:.88; }
@media (max-width:900px) { .how-grid { gap:25px; }.benefit-grid { grid-template-columns:1.4fr .72fr .72fr; } }
@media (max-width:700px) { .how-section { padding:42px 0; }.how-heading h2 { font-size:31px; }.how-grid { grid-template-columns:1fr; max-width:390px; gap:18px; }.how-grid article { min-height:225px; height:auto; }.how-grid article:not(:last-child)::after { right:auto; top:auto; bottom:-24px; left:50%; transform:translateX(-50%) rotate(90deg); }.benefit-section { padding:25px 0; }.benefit-grid { grid-template-columns:1fr 1fr; grid-template-rows:auto; }.benefit-grid .benefit-large { grid-column:span 2; grid-row:auto; min-height:260px; }.benefit-grid article { min-height:125px; }.benefit-card-plans { padding-left:78px !important; } }
/* Preserve the full card copy and action links inside the section's visible bounds. */
#numbers .value-panel,#numbers .value-panel+.value-panel { min-height:270px !important; height:270px !important; }
#numbers .value-copy,#numbers .value-panel--data .value-copy { height:234px; }
#numbers .value-copy a { bottom:4px; }
#numbers .value-panel--number .number-scene { min-height:270px; height:270px; }
#numbers .value-panel--number .number-phone { bottom:-34px; }
@media (max-width:700px) { #numbers .value-panel,#numbers .value-panel+.value-panel { min-height:260px !important; height:260px !important; } #numbers .value-copy,#numbers .value-panel--data .value-copy { height:224px; } #numbers .value-panel--number .number-scene { min-height:260px; height:260px; } }
/* Keep CTA links in normal flex flow so no parent clipping can hide them. */
#numbers .value-copy,#numbers .value-panel--data .value-copy { display:flex !important; height:234px; flex-direction:column; align-items:flex-start; }
#numbers .value-copy a { position:static !important; z-index:5; display:inline-flex !important; margin-top:auto !important; margin-bottom:0; visibility:visible !important; opacity:1 !important; color:#168062 !important; }
@media (max-width:700px) { #numbers .value-copy,#numbers .value-panel--data .value-copy { height:224px; } }
/* Reference type scale: strengthen bold hierarchy without changing layout or copy. */
.how-heading h2 { font-size:42px; }
.how-grid h3 { font-size:18px; }
.benefit-section>.home-container>h2 { font-size:38px; }
.benefit-large h3 { font-size:40px; }
.benefit-grid h3 { font-size:16px; }
@media (max-width:700px) { .how-heading h2 { font-size:34px; }.how-grid h3 { font-size:17px; }.benefit-section>.home-container>h2 { font-size:32px; }.benefit-large h3 { font-size:34px; }.benefit-grid h3 { font-size:15px; } }
/* Center each process arrow in the gap, with equal clearance from both cards. */
.how-grid { gap:54px; }
.how-grid article:not(:last-child)::after { right:-35px; }
@media (max-width:900px) { .how-grid { gap:48px; }.how-grid article:not(:last-child)::after { right:-32px; } }
@media (max-width:700px) { .how-grid { gap:18px; }.how-grid article:not(:last-child)::after { right:auto; } }
/* Fixed arrow box: exact center of each 54px desktop gap. */
.how-grid article:not(:last-child)::after { right:-39px; width:24px; justify-content:center; }
@media (max-width:900px) { .how-grid article:not(:last-child)::after { right:-36px; width:24px; } }
@media (max-width:700px) { .how-grid article:not(:last-child)::after { width:auto; } }
/* Bento reference alignment: visible editorial globe and compact four-card anchors. */
.benefit-section { padding:18px 0 28px !important; background:#f4f5f3 !important; }
.benefit-section > .home-container > h2 { margin:0 !important; color:#202522 !important; font-size:clamp(30px,2.65vw,42px) !important; font-weight:720 !important; line-height:.98 !important; letter-spacing:-.065em !important; }
.benefit-subtitle { margin:4px 0 13px !important; color:#334d83 !important; font-size:13px !important; line-height:1.2 !important; }
.benefit-grid { grid-template-columns:1.4fr .72fr .72fr !important; grid-template-rows:repeat(2,132px) !important; gap:7px !important; }
.benefit-grid article { min-height:0 !important; padding:14px !important; overflow:hidden !important; border:0 !important; border-radius:4px !important; background:#fff !important; box-shadow:inset 0 0 0 1px #e3e8e5 !important; }
.benefit-grid .benefit-large { grid-row:span 2 !important; min-height:271px !important; padding:22px !important; background:#fff !important; isolation:isolate; }
.benefit-large > div:first-child { position:relative !important; z-index:2 !important; max-width:48% !important; }
.benefit-large h3 { margin:0 0 8px !important; color:#111715 !important; font-size:clamp(31px,2.75vw,43px) !important; font-weight:720 !important; line-height:.94 !important; letter-spacing:-.07em !important; }
.benefit-large p { max-width:185px !important; margin:0 !important; color:#74818f !important; font-size:11px !important; line-height:1.34 !important; }
.benefit-large a { margin-top:auto !important; color:#168363 !important; }
.benefit-large::after { display:none !important; }
.benefit-large::before { right:18px !important; bottom:17px !important; z-index:3 !important; width:32px !important; height:32px !important; background:#fff !important; box-shadow:inset 0 0 0 1px #cfe5da !important; }
.benefit-globe { position:absolute; z-index:1; right:0; bottom:0; width:67%; height:88%; display:block; background:url('/assets/images/home/terminal-globe.webp') right bottom/contain no-repeat; opacity:1; pointer-events:none; }
.benefit-grid article > i { width:auto !important; height:auto !important; margin:0 0 6px !important; border:0 !important; border-radius:0 !important; background:transparent !important; color:#168363 !important; font-size:24px !important; }
.benefit-grid h3 { max-width:155px !important; margin:0 0 3px !important; color:#202522 !important; font-size:14px !important; font-weight:700 !important; line-height:1.05 !important; letter-spacing:-.035em !important; }
.benefit-grid p { max-width:152px !important; margin:0 !important; color:#71808d !important; font-size:9px !important; line-height:1.25 !important; }
.benefit-grid article > a { margin-top:7px !important; color:#168363 !important; font-size:9px !important; line-height:1 !important; }
.benefit-grid article > a > i { display:none !important; }
.benefit-grid article::after { display:none !important; }
.benefit-card-destinations::before,.benefit-card-network::before { content:'›' !important; position:absolute; top:14px; right:14px; color:#31517b; font-size:24px; font-weight:400; line-height:1; }
.benefit-card-plans { padding-left:86px !important; }
.benefit-card-plans::before { content:'PASSPORT' !important; position:absolute; top:14px; left:15px; display:grid; width:61px; height:93px; place-items:center; border-radius:4px; background:linear-gradient(150deg,#087d5a,#1caa76); box-shadow:0 8px 15px rgba(15,93,67,.18); color:#fff; font-size:8px; font-weight:700; letter-spacing:.06em; writing-mode:vertical-rl; }
.benefit-card-support::before { content:'' !important; position:absolute; top:17px; right:91px; width:47px; height:19px; border-radius:9px; background:linear-gradient(90deg,#bce7d8 0 7px,transparent 7px 12px,#bce7d8 12px 19px,transparent 19px 24px,#bce7d8 24px 31px,transparent 31px); box-shadow:15px 13px 0 -1px #fff,15px 13px 0 0 #dcebe5; }
.benefit-card-support::after { content:'' !important; position:absolute; right:15px; bottom:9px; width:67px; height:70px; border-radius:48% 48% 38% 38%; background:radial-gradient(circle at 50% 22%,#f3c3a5 0 15%,transparent 16%),radial-gradient(circle at 50% 17%,#273530 0 25%,transparent 26%),linear-gradient(135deg,transparent 0 24%,#1e8a68 25% 48%,transparent 49%); opacity:.9; }
@media (max-width:900px) { .benefit-grid { grid-template-columns:1.4fr .72fr .72fr !important; } }
@media (max-width:700px) { .benefit-section { padding:25px 0 !important; }.benefit-grid { grid-template-columns:1fr 1fr !important; grid-template-rows:auto !important; }.benefit-grid .benefit-large { grid-column:span 2 !important; grid-row:auto !important; min-height:260px !important; }.benefit-grid article { min-height:125px !important; }.benefit-large h3 { font-size:34px !important; }.benefit-card-plans { padding-left:78px !important; } }
/* Corrected Bento layer ownership: art is a card sibling, never a child of the copy column. */
.benefit-grid .benefit-large { position:relative !important; display:block !important; }
.benefit-large > div:first-child { position:relative !important; z-index:3 !important; display:flex !important; height:100% !important; max-width:47% !important; }
.benefit-globe { position:absolute !important; z-index:1 !important; top:8px !important; right:0 !important; bottom:auto !important; left:auto !important; width:71% !important; height:86% !important; background-image:url('/assets/images/home/terminal-globe.webp') !important; background-position:right center !important; background-size:contain !important; background-repeat:no-repeat !important; opacity:1 !important; transform:translateZ(0); }
.benefit-large::before { z-index:4 !important; }
.benefit-card-plans { display:block !important; padding:15px 14px 12px 92px !important; }
.benefit-card-plans > i,.benefit-card-support > i { display:none !important; }
.benefit-card-plans h3,.benefit-card-plans p,.benefit-card-plans > a { position:relative !important; z-index:2 !important; margin-left:0 !important; }
.benefit-card-plans h3 { margin-top:0 !important; }
.benefit-card-plans::before { z-index:1 !important; top:14px !important; left:16px !important; }
.benefit-card-support { display:block !important; padding:15px 88px 12px 14px !important; }
.benefit-card-support h3,.benefit-card-support p,.benefit-card-support > a { position:relative !important; z-index:2 !important; margin-left:0 !important; }
.benefit-card-support::before { z-index:1 !important; }
.benefit-card-support::after { z-index:1 !important; }
@media (max-width:700px) { .benefit-large > div:first-child { max-width:58% !important; }.benefit-globe { width:70% !important; }.benefit-card-plans { padding-left:84px !important; }.benefit-card-support { padding-right:82px !important; } }
/* Bento typography and card anchors: fixed icon, copy, and illustration tracks. */
.benefit-large h3 { font-size:clamp(38px,3.15vw,50px) !important; font-weight:760 !important; }
.benefit-grid h3 { font-size:18px !important; font-weight:740 !important; line-height:1.04 !important; }
.benefit-grid p { font-size:10px !important; line-height:1.28 !important; }
.benefit-grid article > a { font-size:10px !important; }
.benefit-card-destinations,.benefit-card-network { display:block !important; padding:14px !important; }
.benefit-card-destinations > i,.benefit-card-network > i { position:absolute !important; top:14px !important; left:14px !important; display:grid !important; width:24px !important; height:24px !important; margin:0 !important; place-items:center !important; color:#168363 !important; font-size:22px !important; line-height:1 !important; }
.benefit-card-destinations h3,.benefit-card-network h3 { margin-top:34px !important; }
.benefit-card-plans { display:grid !important; grid-template-columns:62px minmax(0,1fr) !important; grid-template-rows:auto auto 1fr !important; column-gap:12px !important; padding:14px !important; }
.benefit-card-plans > i { display:none !important; }
.benefit-card-plans::before { top:14px !important; left:14px !important; width:62px !important; height:95px !important; }
.benefit-card-plans h3 { grid-column:2 !important; grid-row:1 !important; margin:0 !important; align-self:start; }
.benefit-card-plans p { grid-column:2 !important; grid-row:2 !important; margin:4px 0 0 !important; align-self:start; }
.benefit-card-plans > a { grid-column:2 !important; grid-row:3 !important; align-self:end; margin:0 !important; }
.benefit-card-support { display:grid !important; grid-template-columns:minmax(0,1fr) 78px !important; grid-template-rows:auto auto 1fr !important; column-gap:7px !important; padding:14px !important; }
.benefit-card-support > i { display:none !important; }
.benefit-card-support h3 { grid-column:1 !important; grid-row:1 !important; margin:0 !important; align-self:start; }
.benefit-card-support p { grid-column:1 !important; grid-row:2 !important; margin:4px 0 0 !important; align-self:start; }
.benefit-card-support > a { grid-column:1 !important; grid-row:3 !important; align-self:end; margin:0 !important; }
.benefit-card-support::before { top:16px !important; right:62px !important; width:44px !important; height:18px !important; }
.benefit-card-support::after { right:10px !important; bottom:7px !important; width:67px !important; height:72px !important; }
@media (max-width:700px) { .benefit-large h3 { font-size:36px !important; }.benefit-grid h3 { font-size:17px !important; }.benefit-card-plans { grid-template-columns:58px minmax(0,1fr) !important; }.benefit-card-plans::before { width:57px !important; } }
/* Bento final reference scale and complete lower-card visuals. */
.benefit-grid h3 { max-width:230px !important; font-size:15px !important; font-weight:720 !important; line-height:1.08 !important; letter-spacing:-.045em !important; }
.benefit-grid p { max-width:210px !important; font-size:10px !important; line-height:1.28 !important; }
.benefit-grid article > a { display:inline-flex !important; align-items:center !important; gap:4px !important; font-size:10px !important; font-weight:700 !important; }
.benefit-grid article > a > i { display:inline-block !important; width:auto !important; height:auto !important; margin:0 !important; color:inherit !important; font-size:13px !important; }
.benefit-card-destinations > i,.benefit-card-network > i { width:29px !important; height:29px !important; font-size:25px !important; }
.benefit-card-destinations h3,.benefit-card-network h3 { margin-top:37px !important; }
.benefit-card-plans { grid-template-columns:78px minmax(0,1fr) !important; column-gap:11px !important; }
.benefit-card-plans::before { content:'PASSPORT' !important; top:12px !important; left:16px !important; width:67px !important; height:102px !important; place-items:start center !important; padding-top:12px; box-sizing:border-box; border-radius:4px !important; background:radial-gradient(circle at 50% 59%,transparent 0 14px,rgba(255,255,255,.94) 15px 16px,transparent 17px),radial-gradient(circle at 50% 59%,rgba(255,255,255,.94) 0 2px,transparent 3px),linear-gradient(150deg,#087d5a,#1caa76) !important; box-shadow:0 8px 15px rgba(15,93,67,.22) !important; writing-mode:horizontal-tb !important; transform:rotate(-8deg) translateZ(0); transform-origin:center; font-size:8px !important; }
.benefit-card-plans h3 { max-width:120px !important; font-size:15px !important; }
.benefit-card-plans p { max-width:135px !important; }
.benefit-card-support { grid-template-columns:minmax(0,1fr) 104px !important; padding-right:10px !important; }
.benefit-card-support h3 { max-width:130px !important; font-size:15px !important; }
.benefit-card-support p { max-width:135px !important; }
.benefit-card-support::before { top:18px !important; right:66px !important; width:48px !important; height:20px !important; opacity:1 !important; }
.benefit-card-support::after { right:0 !important; bottom:0 !important; width:104px !important; height:112px !important; border-radius:0 !important; background:url('/assets/images/home/support-agent.svg') right bottom/contain no-repeat !important; opacity:1 !important; }
@media (max-width:700px) { .benefit-grid h3 { font-size:15px !important; }.benefit-card-plans { grid-template-columns:70px minmax(0,1fr) !important; }.benefit-card-support { grid-template-columns:minmax(0,1fr) 92px !important; }.benefit-card-support::after { width:92px !important; } }
/* Restore the support illustration after the generic pseudo-element reset. */
.benefit-grid .benefit-card-support::before,.benefit-grid .benefit-card-support::after { display:block !important; }
.benefit-grid .benefit-card-support::after { content:'' !important; position:absolute !important; right:0 !important; bottom:0 !important; width:104px !important; height:112px !important; background:url('/assets/images/home/support-agent.svg') right bottom/contain no-repeat !important; opacity:1 !important; pointer-events:none; }
/* Compact compatibility bar aligned to the approved reference. */
.ed-compat { padding:34px 0 36px !important; background:#fff !important; }
.ed-compat-grid { grid-template-columns:minmax(0,.92fr) minmax(520px,1.25fr) !important; gap:64px !important; align-items:center !important; }
.ed-compat h2 { margin:0 0 5px !important; color:#202522 !important; font-size:clamp(26px,2.15vw,34px) !important; font-weight:720 !important; line-height:1 !important; letter-spacing:-.06em !important; }
.ed-compat-grid > div:first-child > p:last-of-type { max-width:none !important; margin:0 !important; color:#6f7c91 !important; font-size:14px !important; line-height:1.35 !important; }
.ed-checker { padding:0 !important; border:0 !important; border-radius:0 !important; background:transparent !important; box-shadow:none !important; }
.ed-device-form { position:relative !important; display:grid !important; grid-template-columns:minmax(0,1fr) 164px !important; gap:16px !important; }
.ed-device-form .compat-input-icon { position:absolute; z-index:2; top:50%; left:17px; display:grid; width:20px; height:20px; place-items:center; color:#4c6387; font-size:19px; transform:translateY(-50%); pointer-events:none; }
.ed-device-form input { height:48px !important; padding:0 15px 0 47px !important; border:0 !important; border-radius:7px !important; background:#fff !important; box-shadow:inset 0 0 0 1px #dce3eb !important; color:#202522 !important; font-size:13px !important; }
.ed-device-form input::placeholder { color:#95a2b6 !important; opacity:1; }
.ed-device-form button { min-width:0 !important; height:48px !important; border-radius:5px !important; background:#168363 !important; font-size:13px !important; font-weight:700 !important; box-shadow:0 5px 13px rgba(22,131,99,.16) !important; }
.ed-guide-link { margin:7px 0 0 !important; color:#168363 !important; font-size:11px !important; font-weight:700 !important; }
@media (max-width:900px) { .ed-compat-grid { grid-template-columns:1fr !important; gap:20px !important; }.ed-compat { padding:42px 0 !important; } }
@media (max-width:560px) { .ed-device-form { grid-template-columns:1fr !important; gap:10px !important; }.ed-device-form button { width:100% !important; }.ed-device-form .compat-input-icon { top:24px !important; transform:none !important; } }
/* Remove the form shell; retain only the input's fine outline. */
.ed-device-form { padding:0 !important; border:0 !important; border-radius:0 !important; background:transparent !important; box-shadow:none !important; }
.ed-device-form:focus-within { outline:0 !important; }
.ed-device-form .compat-input-icon { left:16px !important; width:25px !important; height:25px !important; color:#385889 !important; font-size:24px !important; }
.ed-device-form input { padding-left:54px !important; }
/* Compact FAQ grid aligned to the approved reference. */
.ed-faq { padding:28px 0 30px !important; background:#f4f5f3 !important; }
.ed-faq-grid { grid-template-columns:270px minmax(0,1fr) !important; gap:38px !important; align-items:center !important; }
.ed-faq-grid .ed-kicker { display:none !important; }
.ed-faq-grid h2 { margin:0 0 8px !important; color:#202522 !important; font-size:clamp(27px,2.35vw,35px) !important; font-weight:720 !important; line-height:.96 !important; letter-spacing:-.065em !important; }
.ed-faq-grid > div:first-child > p:not(.ed-kicker) { margin:0 0 5px !important; color:#6f7c91 !important; font-size:13px !important; line-height:1.25 !important; }
.ed-faq-grid > div:first-child > a { color:#168363 !important; font-size:12px !important; font-weight:700 !important; }
.ed-faq-list { display:grid !important; grid-auto-flow:column !important; grid-template-columns:repeat(2,minmax(0,1fr)) !important; grid-template-rows:repeat(3,auto) !important; gap:7px 16px !important; align-items:stretch !important; }
.ed-faq-list details,.ed-faq-list details:first-child { min-width:0 !important; border:0 !important; border-radius:6px !important; background:#fff !important; box-shadow:inset 0 0 0 1px #e4e9ee !important; }
.ed-faq-list summary { min-height:0 !important; padding:10px 14px 10px 17px !important; color:#34405b !important; font-size:12px !important; font-weight:600 !important; line-height:1.15 !important; }
.ed-faq-list summary i { display:grid !important; width:22px !important; height:22px !important; place-items:center !important; flex:none !important; border:0 !important; border-radius:50% !important; background:#fff !important; box-shadow:inset 0 0 0 1px #dce5ee !important; color:#36537f !important; font-size:15px !important; }
.ed-faq-list details p { margin:0 !important; padding:0 17px 12px !important; color:#6e7b8e !important; font-size:11px !important; line-height:1.4 !important; }
@media (max-width:900px) { .ed-faq-grid { grid-template-columns:1fr !important; gap:20px !important; }.ed-faq { padding:42px 0 !important; } }
@media (max-width:620px) { .ed-faq-list { grid-auto-flow:row !important; grid-template-columns:1fr !important; grid-template-rows:auto !important; }.ed-faq-list summary { padding:13px 16px !important; } }
/* Locked structural separation: the two-value area is a standalone white section, never part of the destination stage. */
#numbers.value-section { margin:0 !important; padding:30px 0 42px !important; background:#fff !important; }
#numbers .home-container { width:min(1160px,calc(100% - 48px)) !important; margin:0 auto !important; padding:0 !important; }
#numbers .value-grid { background:#fff !important; }
@media (max-width:700px) { #numbers.value-section { padding:24px 0 34px !important; } #numbers .home-container { width:min(100% - 32px,560px) !important; } }

/* Keep each platform badge as an independent download target. */
.home-footer .home-store-list { align-items:center; gap:12px; }
.home-footer .home-store-badge { flex:none; }

.home-footer a.home-store-badge { color:#fff; background:#0d1110; text-decoration:none; }
.home-footer a.home-store-badge:hover { color:#fff; background:#080b0a; }
.home-footer a.home-store-badge:focus-visible { outline:2px solid #218467; outline-offset:3px; }

/* Near-black platform badges retain contrast while clearly reading as independent links. */
.home-footer a.home-store-badge { background:#060807 !important; cursor:pointer; }
.home-footer a.home-store-badge:hover { background:#111614 !important; cursor:pointer; }
.home-footer a.home-store-badge > i { color:#d7ded9; }

/* The brand area and navigation columns remain visually distinct on wide screens. */
.home-footer-brand { padding-right:34px; border-right:1px solid rgba(30,37,33,.12); }
.home-footer-account { display:inline-flex; align-items:center; gap:7px; }
.home-footer-account i { font-size:15px; }
@media (max-width:900px) { .home-footer-brand { padding-right:0; border-right:0; } }

/* Focus and hover affordances for the device search and FAQ controls. */
.ed-device-form input { transition:box-shadow .28s cubic-bezier(.16,1,.3,1), background .28s cubic-bezier(.16,1,.3,1), color .28s cubic-bezier(.16,1,.3,1); }
.ed-device-form .compat-input-icon { transition:color .28s cubic-bezier(.16,1,.3,1), transform .28s cubic-bezier(.16,1,.3,1); }
.ed-device-form:hover input { background:#fbfefd !important; box-shadow:inset 0 0 0 1px #8fbeae !important; }
.ed-device-form:hover .compat-input-icon { color:#218467 !important; transform:translateY(-50%) scale(1.06); }
.ed-device-form:focus-within input { background:#fff !important; box-shadow:inset 0 0 0 2px #218467,0 0 0 4px rgba(33,132,103,.13) !important; }
.ed-device-form:focus-within .compat-input-icon { color:#168363 !important; transform:translateY(-50%) scale(1.08); }
.ed-faq-list details { transition:background .25s cubic-bezier(.16,1,.3,1),box-shadow .25s cubic-bezier(.16,1,.3,1),transform .25s cubic-bezier(.16,1,.3,1); }
.ed-faq-list details:hover { background:#f1f8f4 !important; box-shadow:inset 0 0 0 1px #b9d9cb !important; transform:translateY(-1px); }
.ed-faq-list details[open] { background:#eaf6f0 !important; box-shadow:inset 0 0 0 1px #9dceba !important; }
.ed-faq-list details:hover summary,.ed-faq-list details[open] summary { color:#176c53 !important; }
.ed-faq-list details:hover summary i,.ed-faq-list details[open] summary i { background:#fff !important; box-shadow:inset 0 0 0 1px #8ec4ae !important; color:#168363 !important; }
@media (prefers-reduced-motion:reduce) { .ed-device-form input,.ed-device-form .compat-input-icon,.ed-faq-list details { transition:none; } }

/* Expanded answers stay readable but only use the green surface while actively hovered. */
.ed-faq-list details[open]:not(:hover) { background:#fff !important; box-shadow:inset 0 0 0 1px #e4e9ee !important; transform:none; }
.ed-faq-list details[open]:not(:hover) summary { color:#34405b !important; }
.ed-faq-list details[open]:not(:hover) summary i { background:#fff !important; box-shadow:inset 0 0 0 1px #dce5ee !important; color:#36537f !important; }
.ed-faq-list details:active { background:#f1f8f4 !important; }

/* One active answer at a time: the expanded item owns the selected surface. */
.ed-faq-list details[open],.ed-faq-list details[open]:not(:hover) { background:#eaf6f0 !important; box-shadow:inset 0 0 0 1px #9dceba !important; transform:none; }
.ed-faq-list details[open] summary,.ed-faq-list details[open]:not(:hover) summary { color:#176c53 !important; }
.ed-faq-list details[open] summary i,.ed-faq-list details[open]:not(:hover) summary i { background:#218467 !important; box-shadow:none !important; color:#fff !important; transform:rotate(45deg); }

/* A closed FAQ must not stretch when its grid neighbour is expanded. */
.ed-faq-list { align-items:start !important; }
.ed-faq-list details { align-self:start !important; width:100%; }

/* A manual close restores the neutral surface until the pointer leaves. */
.ed-faq-list details.faq-just-closed:not([open]) { background:#fff !important; box-shadow:inset 0 0 0 1px #e4e9ee !important; transform:none; }
.ed-faq-list details.faq-just-closed:not([open]) summary { color:#34405b !important; }
.ed-faq-list details.faq-just-closed:not([open]) summary i { background:#fff !important; box-shadow:inset 0 0 0 1px #dce5ee !important; color:#36537f !important; transform:none; }
.ed-faq-list summary:focus-visible { outline:2px solid #218467; outline-offset:-3px; border-radius:6px; }

/* Preserve the reference badge and give the travel introduction enough room. */
.benefit-large::before { display:none !important; }
.benefit-large p { max-width:210px !important; font-size:11px !important; line-height:1.4 !important; }
.benefit-signal-badge { position:absolute; z-index:4; right:18px; bottom:17px; display:grid; width:32px; height:32px; place-items:center; border-radius:50%; background:#fff; box-shadow:inset 0 0 0 1px #cfe5da; color:#168363; pointer-events:none; }
.benefit-signal-badge svg { display:block; width:18px; height:18px; }

/* Keep the illustration inside the card and clear of its inset edge. */
.benefit-grid .benefit-large { overflow:hidden !important; }
.benefit-large .benefit-globe { right:2px !important; max-width:calc(100% - 4px); max-height:calc(100% - 16px); }

/* Fade artwork into the white copy area without a visible vertical seam. */
#numbers .value-panel--data::before { -webkit-mask-image:linear-gradient(to right,transparent 0%,rgba(0,0,0,.18) 17%,#000 48%) !important; mask-image:linear-gradient(to right,transparent 0%,rgba(0,0,0,.18) 17%,#000 48%) !important; }
#numbers .value-panel--number .number-scene { -webkit-mask-image:linear-gradient(to right,transparent 0%,rgba(0,0,0,.25) 16%,#000 44%); mask-image:linear-gradient(to right,transparent 0%,rgba(0,0,0,.25) 16%,#000 44%); }

/* A separate city panorama replaces the repeated globe in the data card. */
#numbers .value-panel--data::before { background:#fff url('/assets/images/home/value-world-cities.webp') right center/auto 100% no-repeat; }

/* Use a handset mark for the number eSIM label. */
.value-panel--number .value-index::before { display:none; }
.value-panel--number .value-index { display:inline-flex; align-items:center; gap:7px; }
.value-number-icon { display:block; width:14px; height:14px; flex:none; color:#218467; }

/* Align the number label with the data label without shifting the card content. */
.value-panel--number .value-index { position:relative; top:-2px; }

/* Full-card backgrounds fade naturally into the white card surface. */

#numbers .value-panel--data::before { top:0; right:0; bottom:auto; width:100%; height:100%; background-image:linear-gradient(to top,#fff 0%,rgba(255,255,255,.72) 4%,rgba(255,255,255,0) 18%),linear-gradient(to right,#fff 0%,rgba(255,255,255,.98) 35%,rgba(255,255,255,.72) 51%,rgba(255,255,255,0) 76%),url('/assets/images/home/value-world-cities.webp'); background-size:100% 100%,100% 100%,cover; background-position:center,center,right center; background-repeat:no-repeat; -webkit-mask-image:none !important; mask-image:none !important; }
#numbers .value-panel--number .number-scene { top:0; right:0; width:100%; min-height:0; height:100%; background-image:linear-gradient(to right,#fff 0%,rgba(255,255,255,.98) 36%,rgba(255,255,255,.72) 52%,rgba(255,255,255,0) 76%),url('/assets/images/home/terminal-phone.webp'); background-size:100% 100%,cover; background-position:center,right center; background-repeat:no-repeat; -webkit-mask-image:linear-gradient(to top,transparent 0,#000 18px); mask-image:linear-gradient(to top,transparent 0,#000 18px); }
#numbers .value-panel--number .number-scene::before { display:none; }



/* A diagonal white veil keeps the copy clear while scenery flows across the lower edge. */
#numbers .value-panel--data::before { background-image:linear-gradient(to top,rgba(255,255,255,.58),rgba(255,255,255,0) 24%),linear-gradient(155deg,#fff 0%,#fff 27%,rgba(255,255,255,.96) 39%,rgba(255,255,255,.28) 70%,rgba(255,255,255,0) 85%),url('/assets/images/home/value-airport-business.webp'); background-size:100% 100%,100% 100%,cover; background-position:center,center,right center; background-repeat:no-repeat; }
#numbers .value-panel--number .number-scene { background-image:linear-gradient(to top,rgba(255,255,255,.45),rgba(255,255,255,0) 24%),linear-gradient(155deg,#fff 0%,#fff 27%,rgba(255,255,255,.96) 39%,rgba(255,255,255,.28) 70%,rgba(255,255,255,0) 85%),url('/assets/images/home/terminal-phone.webp'); background-size:100% 100%,100% 100%,cover; background-position:center,center,right center; background-repeat:no-repeat; }

/* Allow the right-card scenery and its fade to span the entire card. */
#numbers .value-panel--number .number-scene { left:0; right:0; width:100%; max-width:none; }

.home-footer-ssl { display:inline-flex; align-items:center; gap:6px; padding:4px 10px; border:1px solid #d6e7da; border-radius:999px; background:#eef6ef; color:#2f9b48; font-size:11px; font-weight:600; line-height:1; }
.home-footer-ssl i { font-size:12px; }
