.esim-page { --esim-navy:#071b35; --esim-ink:#13233f; --esim-blue:#1673e6; --esim-cyan:#39d9ea; --esim-aqua:#dffbff; --esim-coral:#ff6d7b; --esim-soft:#f4f8fd; color:var(--esim-ink); background:#fff; }
.esim-page .site-breadcrumb { background:#061a34; border-color:rgba(255,255,255,.1); }
.esim-page .site-breadcrumb,.esim-page .site-breadcrumb a { color:#c5d8ef; }
.esim-hero { position:relative; overflow:hidden; padding:86px 0 72px; color:#fff; background:radial-gradient(circle at 78% 23%,rgba(33,174,237,.24),transparent 32%),linear-gradient(135deg,#06162f 0%,#092b52 58%,#075b72 100%); }
.esim-hero::after { content:""; position:absolute; inset:auto -10% -230px 34%; height:410px; border-radius:50%; background:rgba(45,223,231,.08); filter:blur(10px); pointer-events:none; }
.esim-hero__layout { position:relative; z-index:1; display:grid; grid-template-columns:minmax(0,.92fr) minmax(420px,1.08fr); gap:56px; align-items:center; }
.esim-eyebrow { margin:0 0 13px; color:#75eff4; font-size:12px; line-height:1.2; font-weight:950; letter-spacing:.15em; }
.esim-eyebrow--dark { color:#1475c9; }
.esim-hero h1 { max-width:660px; margin:0; font-size:clamp(42px,5.3vw,70px); line-height:1.08; letter-spacing:-.055em; word-break:keep-all; }
.esim-hero h1 em { color:#6bf0f4; font-style:normal; }
.esim-hero__lead { max-width:620px; margin:25px 0 0; color:#d9e9f7; font-size:18px; line-height:1.75; word-break:keep-all; }
.esim-hero__network { display:grid; gap:4px; max-width:590px; margin:26px 0 0; padding:15px 18px; border:1px solid rgba(102,238,245,.3); border-radius:16px; background:rgba(4,20,44,.48); }
.esim-hero__network strong { color:#fff; font-size:14px; }
.esim-hero__network span { color:#89f5f6; font-size:15px; font-weight:900; }
.esim-hero__network small { color:#a9c1d8; font-size:11px; line-height:1.55; }
.esim-hero__actions { display:flex; flex-wrap:wrap; gap:11px; margin-top:28px; }
.esim-button { display:inline-flex; justify-content:center; align-items:center; min-height:52px; padding:0 19px; border:1px solid transparent; border-radius:14px; font-size:14px; font-weight:900; transition:.18s ease; }
.esim-button:hover { transform:translateY(-2px); }
.esim-button--primary { color:#06213c; background:#6bf0f4; box-shadow:0 12px 28px rgba(49,223,231,.18); }
.esim-button--ghost { color:#fff; border-color:rgba(255,255,255,.27); background:rgba(255,255,255,.08); }
.esim-hero__visual { min-width:0; margin:0; }
.esim-hero__visual img { display:block; width:100%; height:460px; object-fit:cover; object-position:center; border:1px solid rgba(255,255,255,.16); border-radius:28px; box-shadow:0 28px 65px rgba(0,0,0,.3); }
.esim-hero__visual figcaption { margin-top:10px; color:#a9c1d8; font-size:11px; line-height:1.55; text-align:center; }
.esim-summary { position:relative; z-index:2; margin-top:-24px; }
.esim-summary__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.esim-summary article { display:grid; grid-template-columns:42px minmax(0,1fr); gap:3px 12px; align-items:center; padding:19px 21px; border:1px solid #d9e6f4; border-radius:17px; background:#fff; box-shadow:0 14px 35px rgba(15,45,81,.1); }
.esim-summary article span { grid-row:1/3; display:grid; place-items:center; width:42px; height:42px; border-radius:13px; color:#fff; background:linear-gradient(135deg,#1673e6,#15a7c8); font-size:12px; font-weight:950; }
.esim-summary article strong { font-size:15px; }
.esim-summary article p { margin:0; color:#65758d; font-size:12px; line-height:1.5; }
.esim-section { padding:88px 0; }
.esim-section--checker,.esim-section--install { background:var(--esim-soft); }
.esim-section--preparation,.esim-section--caution { color:#fff; background:var(--esim-navy); }
.esim-heading { max-width:800px; margin-bottom:34px; }
.esim-heading h2 { margin:0; color:inherit; font-size:clamp(30px,4vw,46px); line-height:1.2; letter-spacing:-.045em; word-break:keep-all; }
.esim-heading > p:last-child { margin:14px 0 0; color:#64758d; font-size:15px; line-height:1.7; word-break:keep-all; }
.esim-section--preparation .esim-heading > p:last-child,.esim-section--install .esim-heading > p:last-child,.esim-section--caution .esim-heading > p:last-child { color:#b8c8da; }
.esim-checker { padding:42px; border:1px solid #d9e6f4; border-radius:28px; background:#fff; box-shadow:0 22px 54px rgba(18,50,87,.09); }
.esim-checker__questions { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:15px; }
.esim-checker fieldset { min-width:0; display:grid; align-content:start; gap:9px; padding:18px; border:1px solid #dce7f3; border-radius:18px; }
.esim-checker legend { display:flex; gap:8px; align-items:center; padding:0 4px; color:#13233f; font-size:14px; font-weight:950; }
.esim-checker legend span { display:grid; place-items:center; width:25px; height:25px; border-radius:8px; color:#fff; background:#1673e6; font-size:11px; }
.esim-checker label { position:relative; display:grid; gap:3px; padding:12px 12px 12px 39px; border:1px solid #e0e8f2; border-radius:13px; background:#f9fbfe; cursor:pointer; }
.esim-checker label:has(input:checked) { border-color:#1673e6; background:#edf5ff; box-shadow:inset 0 0 0 1px #1673e6; }
.esim-checker input { position:absolute; left:13px; top:15px; width:16px; height:16px; accent-color:#1673e6; }
.esim-checker label strong { color:#1e3352; font-size:13px; line-height:1.4; }
.esim-checker label small { color:#718096; font-size:10px; line-height:1.45; }
.esim-checker__result { display:flex; gap:15px; align-items:flex-start; margin-top:18px; padding:18px 20px; border:1px solid #dbe6f3; border-radius:17px; background:#f7fafe; }
.esim-checker__result[data-state="ready"] { border-color:#8fddc1; background:#effcf7; }
.esim-checker__result[data-state="stop"] { border-color:#f0bdc5; background:#fff5f6; }
.esim-checker__result-icon { flex:0 0 auto; display:grid; place-items:center; width:40px; height:40px; border-radius:12px; color:#fff; background:#56718e; font-size:17px; font-weight:950; }
.esim-checker__result[data-state="ready"] .esim-checker__result-icon { background:#0b9c6e; }
.esim-checker__result[data-state="stop"] .esim-checker__result-icon { background:#d94b5b; }
.esim-checker__result strong { color:#17304e; font-size:16px; }
.esim-checker__result p { margin:5px 0 0; color:#61738b; font-size:13px; line-height:1.6; }
.esim-checker__actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:12px; }
.esim-checker__actions a { display:inline-flex; min-height:38px; align-items:center; padding:0 13px; border-radius:10px; color:#fff; background:#1673e6; font-size:11px; font-weight:900; }
.esim-checker__actions a + a { color:#1e4c7b; background:#e2edf8; }
.esim-checker__actions .esim-checker__network-open--lg { color:#fff; background:linear-gradient(135deg,#b62c76,#8f2c80); }
.esim-checker__actions .esim-checker__network-open--kt { color:#fff; background:linear-gradient(135deg,#1673e6,#0754bf); }
.esim-checker__actions .esim-checker__model-link { color:#5c2d91; background:#eee4fb; box-shadow:inset 0 0 0 1px #d7c0f2; }
.esim-checker__actions .esim-checker__plans-link { color:#1e4c7b; background:#e2edf8; }
.esim-device-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.esim-device-card { min-width:0; padding:25px; border:1px solid #dbe6f2; border-radius:21px; background:#fff; box-shadow:0 12px 35px rgba(18,50,87,.07); }
.esim-device-card__badge { display:inline-flex; padding:6px 9px; border-radius:999px; color:#1163c1; background:#eaf4ff; font-size:10px; font-weight:950; }
.esim-device-card--apple .esim-device-card__badge { color:#343b47; background:#edf0f4; }
.esim-device-card--galaxy .esim-device-card__badge { color:#7040b5; background:#f2ebff; }
.esim-device-card h3 { margin:16px 0 13px; font-size:22px; letter-spacing:-.04em; }
.esim-device-card > p,.esim-device-card li { color:#60728a; font-size:13px; line-height:1.65; }
.esim-device-card ol { display:grid; gap:8px; padding-left:20px; margin:0 0 16px; }
.esim-device-card a { display:inline-flex; margin-top:8px; color:#1268ce; font-size:12px; font-weight:900; }
.esim-code { display:flex; gap:6px; margin:0 0 16px; }
.esim-code span { display:grid; place-items:center; width:38px; height:38px; border:1px solid #c9daf0; border-radius:10px; color:#17304e; background:#f5f9fe; font-size:16px; font-weight:950; }
.esim-device-card .esim-device-card__note { margin:18px 0 0; padding:12px; border-radius:12px; color:#6e4c22; background:#fff7e9; font-size:11px; }
.esim-section--model-code { background:linear-gradient(180deg,#f4f9ff 0%,#eefbfc 100%); }
.esim-model-tool { max-width:860px; overflow:hidden; padding:34px; border:1px solid #cfe2f1; border-radius:28px; background:#fff; box-shadow:0 22px 55px rgba(18,50,87,.1); }
.esim-model-tool [hidden] { display:none !important; }
.esim-model-tool__scope { display:flex; gap:9px 14px; align-items:center; margin:0 0 15px; padding:13px 15px; border:1px solid #b9e1dc; border-radius:14px; color:#527187; background:#f0fcf9; font-size:11px; line-height:1.55; }
.esim-model-tool__scope strong { flex:0 0 auto; display:inline-flex; padding:5px 9px; border-radius:999px; color:#087b70; background:#d8f5ef; font-size:10px; }
.esim-model-tool__tabs { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; padding:6px; border:1px solid #d9e7f3; border-radius:16px; background:#f1f6fb; }
.esim-model-tool__tabs button { min-height:50px; padding:0 16px; border:0; border-radius:12px; color:#60738a; background:transparent; font:inherit; font-size:14px; font-weight:900; cursor:pointer; transition:.18s ease; }
.esim-model-tool__tabs button[aria-selected="true"] { color:#fff; background:linear-gradient(135deg,#1673e6,#159fbd); box-shadow:0 8px 20px rgba(22,115,230,.2); }
.esim-model-tool__tabs button:focus-visible { outline:3px solid rgba(22,115,230,.24); outline-offset:2px; }
.esim-model-panel { display:grid; gap:17px; padding:28px 2px 4px; }
.esim-model-field { display:grid; gap:8px; }
.esim-model-field > span { color:#213653; font-size:13px; font-weight:900; }
.esim-model-field select,.esim-model-field input { width:100%; min-height:52px; padding:0 15px; border:1px solid #d4e0eb; border-radius:13px; color:#172b47; background:#fff; font:inherit; font-size:14px; outline:none; transition:.18s ease; }
.esim-model-field select { padding-right:42px; cursor:pointer; }
.esim-model-field input::placeholder { color:#99a8b9; }
.esim-model-field select:focus,.esim-model-field input:focus { border-color:#1673e6; box-shadow:0 0 0 4px rgba(22,115,230,.11); }
.esim-model-field small { color:#7b8ba0; font-size:11px; line-height:1.55; }
.esim-model-tool__calculate { min-height:54px; margin-top:2px; border:0; border-radius:14px; color:#fff; background:var(--esim-navy); box-shadow:0 11px 24px rgba(7,27,53,.16); font:inherit; font-size:14px; font-weight:950; cursor:pointer; transition:.18s ease; }
.esim-model-tool__calculate:hover { transform:translateY(-1px); background:#0c3965; }
.esim-model-tool__calculate:focus-visible { outline:3px solid rgba(22,115,230,.28); outline-offset:3px; }
.esim-model-result { display:grid; gap:10px; padding:17px; border:1px solid #91d6cd; border-radius:16px; background:#f0fcf9; }
.esim-model-result p { margin:0; color:#45647a; font-size:12px; line-height:1.55; }
.esim-model-result > div { display:flex; gap:10px; align-items:center; justify-content:space-between; }
.esim-model-result code { min-width:0; overflow-wrap:anywhere; color:#087b70; font-family:ui-monospace,SFMono-Regular,Consolas,monospace; font-size:17px; font-weight:950; }
.esim-model-result button { flex:0 0 auto; min-height:38px; padding:0 14px; border:1px solid #87cbc2; border-radius:11px; color:#087b70; background:#fff; font:inherit; font-size:11px; font-weight:900; cursor:pointer; }
.esim-model-result button.is-copied { color:#fff; border-color:#0b9c6e; background:#0b9c6e; }
.esim-model-result.is-error { border-color:#f0bac2; background:#fff5f6; }
.esim-model-result.is-error p { color:#b33e4c; font-weight:800; }
.esim-model-tool__notice { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:5px 18px; align-items:center; margin-top:24px; padding:18px 20px; border:1px solid #f0dba9; border-radius:16px; background:#fff9e9; }
.esim-model-tool__notice strong { color:#5c4616; font-size:13px; }
.esim-model-tool__notice p { grid-column:1; margin:0; color:#7d6b45; font-size:11px; line-height:1.6; }
.esim-model-tool__notice a { grid-column:2; grid-row:1/3; display:inline-flex; align-items:center; min-height:40px; padding:0 13px; border-radius:11px; color:#201b00; background:#fee500; font-size:11px; font-weight:950; white-space:nowrap; }
.esim-preparation__list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; padding:0; margin:0; list-style:none; }
.esim-preparation__list li { display:flex; gap:13px; align-items:flex-start; padding:19px; border:1px solid rgba(255,255,255,.13); border-radius:17px; background:rgba(255,255,255,.055); }
.esim-preparation__list li > span { color:#6bf0f4; font-size:11px; font-weight:950; }
.esim-preparation__list div { display:grid; gap:5px; }
.esim-preparation__list strong { font-size:14px; }
.esim-preparation__list small { color:#a9bbce; font-size:11px; line-height:1.55; }
.esim-steps { display:grid; gap:12px; padding:0; margin:0; list-style:none; counter-reset:none; }
.esim-steps > li { display:grid; grid-template-columns:56px minmax(0,1fr) auto; gap:18px; align-items:center; padding:20px 22px; border:1px solid #dce6f1; border-radius:18px; background:#fff; }
.esim-steps > li > span { display:grid; place-items:center; width:50px; height:50px; border-radius:15px; color:#fff; background:linear-gradient(135deg,#1673e6,#16a3c4); font-size:13px; font-weight:950; }
.esim-steps h3 { margin:0; font-size:18px; letter-spacing:-.03em; }
.esim-steps p { margin:6px 0 0; color:#62748b; font-size:13px; line-height:1.6; }
.esim-steps a { color:#1269cf; font-size:11px; font-weight:900; white-space:nowrap; }
.esim-section--install { color:#fff; background:linear-gradient(145deg,#071b35,#093a5c); }
.esim-tabs { overflow:hidden; border:1px solid rgba(255,255,255,.15); border-radius:24px; background:rgba(3,17,38,.42); }
.esim-tabs__list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); padding:7px; border-bottom:1px solid rgba(255,255,255,.12); }
.esim-tabs__list button { min-height:50px; border:0; border-radius:14px; color:#abc1d7; background:transparent; font:inherit; font-size:14px; font-weight:900; cursor:pointer; }
.esim-tabs__list button[aria-selected="true"] { color:#06213c; background:#6bf0f4; }
.esim-tab-panel { padding:28px; }
.esim-tab-panel[hidden] { display:none; }
.esim-tab-panel ol { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; padding:0; margin:0; list-style:none; }
.esim-tab-panel li { display:flex; gap:12px; padding:17px; border:1px solid rgba(255,255,255,.12); border-radius:16px; background:rgba(255,255,255,.055); }
.esim-tab-panel li > span { flex:0 0 auto; display:grid; place-items:center; width:30px; height:30px; border-radius:9px; color:#06213c; background:#6bf0f4; font-size:11px; font-weight:950; }
.esim-tab-panel li strong { font-size:13px; }
.esim-tab-panel li p { margin:5px 0 0; color:#aec0d2; font-size:11px; line-height:1.55; }
.esim-tab-panel > a { display:inline-flex; margin-top:18px; color:#6bf0f4; font-size:12px; font-weight:900; }
.esim-qr-warning { display:flex; gap:20px; justify-content:space-between; align-items:center; margin-top:15px; padding:17px 20px; border:1px solid rgba(255,205,111,.32); border-radius:16px; background:rgba(255,186,52,.09); }
.esim-qr-warning strong { color:#ffdd8d; font-size:13px; }
.esim-qr-warning p { max-width:720px; margin:0; color:#c7d2df; font-size:11px; line-height:1.55; }
.esim-dual-grid,.esim-caution-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:13px; }
.esim-dual-grid article,.esim-caution-grid article { min-width:0; padding:22px; border:1px solid #dce6f1; border-radius:18px; background:#fff; }
.esim-dual-grid span { display:inline-flex; padding:5px 8px; border-radius:8px; color:#146ccf; background:#eaf4ff; font-size:10px; font-weight:950; }
.esim-dual-grid h3,.esim-caution-grid h3 { margin:14px 0 8px; font-size:16px; line-height:1.4; letter-spacing:-.03em; }
.esim-dual-grid p,.esim-caution-grid p { margin:0; color:#62748b; font-size:12px; line-height:1.65; }
.esim-caution-grid article { border-color:rgba(255,255,255,.13); background:rgba(255,255,255,.055); }
.esim-caution-grid span { color:#6bf0f4; font-size:11px; font-weight:950; }
.esim-caution-grid p { color:#aebfd1; }
.esim-faq__list { display:grid; gap:10px; }
.esim-faq details { border:1px solid #dce6f1; border-radius:15px; background:#fff; }
.esim-faq summary { position:relative; padding:18px 52px 18px 20px; color:#1c3150; font-size:14px; font-weight:900; cursor:pointer; list-style:none; }
.esim-faq summary::-webkit-details-marker { display:none; }
.esim-faq summary::after { content:"+"; position:absolute; right:20px; top:50%; transform:translateY(-50%); color:#1673e6; font-size:22px; }
.esim-faq details[open] summary::after { content:"−"; }
.esim-faq details p { margin:0; padding:0 20px 18px; color:#60728a; font-size:13px; line-height:1.7; }
.esim-cta { padding:54px 0; color:#fff; background:linear-gradient(120deg,#0d5fd0,#0b93ad); }
.esim-cta__layout { display:flex; justify-content:space-between; gap:34px; align-items:center; }
.esim-cta h2 { margin:0; font-size:32px; line-height:1.3; letter-spacing:-.04em; }
.esim-cta p:last-child { margin:11px 0 0; color:#d4ebf7; font-size:13px; }
.esim-cta__actions { flex:0 0 auto; display:flex; gap:9px; }
.esim-cta__actions a { display:inline-flex; align-items:center; min-height:48px; padding:0 16px; border-radius:13px; color:#0c4d80; background:#fff; font-size:12px; font-weight:950; }
.esim-cta__actions .esim-cta__consult { color:#1a1600; background:#fee500; }
.esim-cta__consult span { display:grid; place-items:center; width:20px; height:20px; margin-left:8px; border-radius:50%; color:#fee500; background:#191919; font-size:10px; }
@media (max-width:980px) {
  .esim-hero__layout { grid-template-columns:1fr 1fr; gap:30px; }
  .esim-hero h1 { font-size:48px; }
  .esim-checker__questions,.esim-device-grid { grid-template-columns:1fr; }
  .esim-preparation__list,.esim-tab-panel ol { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .esim-dual-grid,.esim-caution-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .esim-cta__layout { align-items:flex-start; }
  .esim-cta__actions { flex-direction:column; }
}
@media (max-width:760px) {
  .esim-hero { padding:54px 0 52px; }
  .esim-hero__layout { grid-template-columns:1fr; }
  .esim-hero__copy { order:1; }
  .esim-hero__visual { order:0; }
  .esim-hero__visual img { height:310px; border-radius:21px; }
  .esim-hero__visual figcaption { display:none; }
  .esim-hero h1 { font-size:clamp(36px,11vw,50px); }
  .esim-hero__lead { font-size:15px; }
  .esim-summary { margin-top:-15px; }
  .esim-summary__grid { grid-template-columns:1fr; }
  .esim-section { padding:66px 0; }
  .esim-checker { padding:24px 17px; border-radius:21px; }
  .esim-checker__result { padding:16px; }
  .esim-model-tool { padding:24px 18px; border-radius:22px; }
  .esim-model-tool__scope { align-items:flex-start; flex-direction:column; }
  .esim-model-tool__notice { grid-template-columns:1fr; }
  .esim-model-tool__notice a { grid-column:1; grid-row:auto; justify-content:center; margin-top:6px; }
  .esim-preparation__list,.esim-tab-panel ol { grid-template-columns:1fr; }
  .esim-steps > li { grid-template-columns:46px minmax(0,1fr); gap:13px; padding:16px; }
  .esim-steps > li > span { width:43px; height:43px; }
  .esim-steps > li > a { grid-column:2; }
  .esim-tab-panel { padding:17px; }
  .esim-qr-warning { display:grid; gap:7px; }
  .esim-cta__layout { display:grid; }
  .esim-cta__actions { flex-direction:row; flex-wrap:wrap; }
}
@media (max-width:520px) {
  .esim-hero__actions,.esim-cta__actions { display:grid; grid-template-columns:1fr; }
  .esim-button,.esim-cta__actions a { width:100%; }
  .esim-hero__network { padding:13px 14px; }
  .esim-summary article { padding:16px; }
  .esim-heading { margin-bottom:25px; }
  .esim-heading h2 { font-size:31px; }
  .esim-checker fieldset { padding:14px; }
  .esim-checker__actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .esim-checker__actions a { justify-content:center; padding:0 9px; text-align:center; }
  .esim-checker__actions .esim-checker__plans-link { grid-column:1/-1; }
  .esim-checker__actions .esim-checker__model-link--postpaid + .esim-checker__plans-link--postpaid { grid-column:auto; }
  .esim-device-card { padding:20px; }
  .esim-model-tool__tabs button { min-height:46px; padding:0 8px; font-size:12px; }
  .esim-model-panel { padding-top:22px; }
  .esim-model-result > div { align-items:stretch; flex-direction:column; }
  .esim-model-result button { width:100%; }
  .esim-dual-grid,.esim-caution-grid { grid-template-columns:1fr; }
  .esim-tabs__list button { font-size:12px; }
  .esim-cta h2 { font-size:27px; }
}
@media print {
  .esim-hero__actions,.esim-checker,.esim-model-tool,.esim-cta,.esim-tabs__list { display:none !important; }
  .esim-section { padding:28px 0; }
  .esim-tab-panel[hidden] { display:block; }
}
