:root { --navy:#103f77; --blue:#1f70cf; --sky:#eaf5ff; --red:#ee655e; --ink:#17314f; --muted:#5d7189; --line:#dce7f2; --cream:#fffaf0; }
/* Airport transfer and Visit Japan Web guides */
.vjw-field-visual{margin:32px 0 26px}.vjw-field-visual img{display:block;width:100%;height:auto;border:1px solid #d4e3f0;border-radius:20px;background:#f5faff}.vjw-field-visual figcaption{margin:10px 8px 0;color:#526d88;font-size:13px;line-height:1.55}.vjw-field-visual figcaption strong{color:#173f6d}
.vjw-field-next{margin-top:24px;padding:18px 20px;border-radius:16px;background:#edf7ff}.vjw-field-next strong{display:block;color:#092d59;font-size:18px}.vjw-field-next p{margin:5px 0 0}.vjw-field-next a{color:#086bd2;font-weight:800;text-decoration:underline;text-underline-offset:3px}
.arrival-guide,.vjw-guide{max-width:900px;margin-top:50px;padding-top:35px;border-top:1px solid #d6e5f2}.arrival-guide>small,.vjw-guide>small,.arrival-checklist>small{display:block;color:#1670d2;font-size:12px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.arrival-guide h2,.vjw-guide h2{margin:7px 0 18px;color:#092d59;font-size:28px;line-height:1.25}.arrival-first-answer,.vjw-official-alert{display:grid;grid-template-columns:64px minmax(0,1fr);gap:17px;align-items:center;margin-bottom:34px;padding:22px;border:1px solid #bfdcf4;border-radius:20px;background:linear-gradient(135deg,#eef8ff,#fff)}.arrival-first-answer>span,.vjw-official-alert>span{display:grid;place-items:center;width:60px;height:60px;border-radius:17px;background:#1670d2;color:#fff;font-size:15px;font-weight:900}.arrival-first-answer strong,.vjw-official-alert strong{color:#092d59;font-size:20px}.arrival-first-answer p,.vjw-official-alert p{margin:5px 0 0}.arrival-airports{display:grid;gap:15px}.arrival-airports article{padding:22px;border:1px solid #d4e3f0;border-radius:19px;background:#fff}.arrival-airports header{display:flex;gap:14px;align-items:center}.arrival-airports header>b{display:grid;place-items:center;width:54px;height:54px;border-radius:15px;background:#0d4b86;color:#fff}.arrival-airports header small{display:block;color:#1670d2;font-weight:800}.arrival-airports h3{margin:2px 0;color:#092d59;font-size:22px}.arrival-airports ul{margin:17px 0 0;padding-left:21px}.arrival-airports li+li{margin-top:9px}.arrival-time-note{margin:16px 0 0;padding:13px 15px;border-radius:12px;background:#f1f7fc;color:#47647e;font-size:14px}.arrival-checklist{margin-top:38px}.arrival-checklist ol,.vjw-steps{display:grid;gap:11px;margin:0;padding:0;list-style:none}.arrival-checklist li,.vjw-steps li{display:grid;grid-template-columns:42px minmax(0,1fr);gap:14px;padding:17px;border:1px solid #d6e5f2;border-radius:15px;background:#fff}.arrival-checklist li>b,.vjw-steps li>b{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#1670d2;color:#fff}.arrival-checklist strong,.vjw-steps strong{display:block;color:#092d59}.arrival-warning,.vjw-trouble{margin:30px 0 0;padding:21px;border-left:5px solid #e1a125;border-radius:0 15px 15px 0;background:#fff8e9}.arrival-warning strong,.vjw-trouble strong{color:#865900;font-size:18px}.arrival-warning p,.vjw-trouble p{margin:6px 0 0}.arrival-source-note,.vjw-source-note{margin-top:18px;color:#526d88;font-size:13px}.vjw-official-alert{border-color:#b9dfc6;background:linear-gradient(135deg,#edf9f1,#fff)}.vjw-official-alert>span{background:#16985d;font-size:28px}.vjw-prepare-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin-bottom:36px}.vjw-prepare-grid>div{padding:19px;border:1px solid #d5e4f1;border-radius:16px;background:#fff}.vjw-prepare-grid b{display:block;color:#092d59;font-size:18px}.vjw-prepare-grid p{margin:5px 0 0}.vjw-do-not{margin-top:34px;padding:24px;border-radius:20px;background:#102f54;color:#fff}.vjw-do-not h2{margin-top:0;color:#fff}.vjw-do-not>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.vjw-do-not span{padding:15px;border-radius:13px;background:rgba(255,255,255,.09)}.vjw-do-not strong{display:block;color:#9fd2ff}
.vjw-field-link{margin:26px 0 0;padding:18px 20px;border:1px solid #bcdcf6;border-radius:16px;background:#f1f8ff}.vjw-field-link strong{display:block;color:#0b4f90;font-size:18px}.vjw-field-link p{margin:5px 0 0}.vjw-field-link a{color:#086bd2;font-weight:800;text-decoration:underline;text-underline-offset:3px}.vjw-field-guide{max-width:900px;margin-top:50px;padding-top:35px;border-top:1px solid #d6e5f2}.vjw-field-guide>small{display:block;color:#1670d2;font-size:12px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.vjw-field-guide h2{margin:7px 0 18px;color:#092d59;font-size:28px;line-height:1.25}.vjw-field-answer{display:grid;grid-template-columns:58px minmax(0,1fr);gap:17px;align-items:center;margin-bottom:30px;padding:22px;border:1px solid #bddcf4;border-radius:20px;background:linear-gradient(135deg,#eef8ff,#fff)}.vjw-field-answer>span{display:grid;place-items:center;width:56px;height:56px;border-radius:16px;background:#1670d2;color:#fff;font-size:12px;font-weight:900}.vjw-field-answer strong{color:#092d59;font-size:20px}.vjw-field-answer p{margin:5px 0 0}.vjw-field-steps{display:grid;gap:11px;margin:0;padding:0;list-style:none}.vjw-field-steps li{display:grid;grid-template-columns:42px minmax(0,1fr);gap:14px;padding:17px;border:1px solid #d6e5f2;border-radius:15px;background:#fff}.vjw-field-steps li>b{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#1670d2;color:#fff}.vjw-field-steps strong{display:block;color:#092d59}.vjw-field-steps p{margin:4px 0 0}.vjw-field-examples{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin-top:30px}.vjw-field-examples article{padding:20px;border:1px solid #d5e4f1;border-radius:16px;background:#fff}.vjw-field-examples article>b{display:inline-block;margin-bottom:7px;padding:4px 9px;border-radius:999px;background:#eaf4ff;color:#0b66c3;font-size:12px;text-transform:uppercase}.vjw-field-examples strong{display:block;color:#092d59;font-size:18px}.vjw-field-examples p{margin:6px 0 0}.vjw-field-warning{margin:28px 0 0;padding:21px;border-left:5px solid #e1a125;border-radius:0 15px 15px 0;background:#fff8e9}.vjw-field-warning strong{color:#865900;font-size:18px}.vjw-field-warning p{margin:6px 0 0}.vjw-field-parent{margin-top:24px}.vjw-field-parent a{display:inline-flex;padding:12px 17px;border-radius:12px;background:#1670d2;color:#fff;font-weight:800}.vjw-field-source{margin-top:18px;color:#526d88;font-size:13px}
@media(max-width:650px){.arrival-guide h2,.vjw-guide h2,.vjw-field-guide h2{font-size:24px}.arrival-first-answer,.vjw-official-alert,.vjw-field-answer{grid-template-columns:50px minmax(0,1fr);padding:18px}.arrival-first-answer>span,.vjw-official-alert>span,.vjw-field-answer>span{width:48px;height:48px;border-radius:13px;font-size:12px}.vjw-official-alert>span{font-size:23px}.arrival-airports article{padding:18px}.vjw-prepare-grid,.vjw-do-not>div,.vjw-field-examples{grid-template-columns:1fr}.vjw-do-not{padding:19px 16px}.vjw-field-link{padding:16px}.vjw-field-steps li{padding:15px}}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:#fff; font-family:Inter,"Segoe UI",Arial,sans-serif; line-height:1.6; }
a { color:inherit; text-decoration:none; }
.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; }
.site-header { position:sticky; top:0; z-index:50; background:rgba(255,255,255,.96); border-bottom:1px solid var(--line); backdrop-filter:blur(14px); }
.header-inner { max-width:1180px; height:82px; margin:auto; padding:0 24px; display:flex; align-items:center; gap:36px; }
.brand { display:flex; align-items:center; gap:12px; margin-right:auto; }
.brand-mark { position:relative; display:block; width:46px; height:38px; background:linear-gradient(150deg,#76b8ed 0 48%,#165fa5 49%); clip-path:polygon(50% 0,100% 100%,0 100%); }
.brand-mark:after { content:""; position:absolute; top:-7px; left:17px; width:12px; height:10px; border-radius:8px 8px 2px 2px; background:var(--red); }
.brand-mark i { position:absolute; top:11px; left:14px; width:19px; height:7px; background:#fff; clip-path:polygon(50% 0,100% 100%,0 100%); }
.brand strong { display:block; font-size:20px; line-height:1.1; color:#122c49; }
.brand small { color:var(--blue); font-size:12px; }
.desktop-nav { display:flex; gap:22px; font-weight:700; font-size:14px; }
.desktop-nav a { position:relative; white-space:nowrap; }
.desktop-nav a:hover,.desktop-nav a.is-current { color:var(--blue); }
.desktop-nav a.is-current:after { content:""; position:absolute; right:0; bottom:-10px; left:0; height:3px; border-radius:999px; background:var(--blue); }
.language-pill { padding:9px 15px; border:1px solid var(--line); border-radius:999px; font-size:13px; font-weight:700; }
.hero { position:relative; overflow:hidden; padding:72px 24px 68px; background:linear-gradient(90deg,rgba(249,253,255,.99) 0%,rgba(249,253,255,.97) 31%,rgba(249,253,255,.68) 43%,rgba(249,253,255,.08) 60%),url("hero-top.jpg") center center/cover no-repeat; }
.hero-inner { position:relative; z-index:3; max-width:1180px; margin:auto; }
.eyebrow { margin:0 0 10px; text-transform:uppercase; letter-spacing:.13em; color:var(--blue); font-weight:800; font-size:12px; }
.hero h1 { max-width:660px; margin:0; color:var(--navy); font-size:clamp(44px,4.2vw,56px); line-height:1.03; letter-spacing:-.05em; }
.hero h1 span,.hero h1 em { display:block; }
.hero h1 em { white-space:nowrap; }
.hero h1 em { color:var(--red); font-style:normal; }
.hero-copy { max-width:540px; margin:25px 0; color:#415b74; font-size:17px; }
.search-box { display:flex; align-items:center; max-width:580px; height:62px; background:#fff; border:1px solid #cfe0ef; border-radius:18px; box-shadow:0 14px 35px rgba(28,78,123,.12); }
.search-box input { flex:1; height:100%; border:0; outline:0; padding:0 20px; background:transparent; font:inherit; font-size:16px; color:var(--ink); }
.search-box button { display:grid; place-items:center; width:46px; height:46px; margin-right:8px; padding:0; color:#fff; background:var(--blue); border:0; border-radius:14px; font-size:24px; cursor:pointer; }
.search-box button svg { width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:2.2; stroke-linecap:round; }
.hero .search-results { position:absolute; top:100%; width:min(580px,100%); margin-top:8px; padding:8px; background:white; border:1px solid var(--line); border-radius:16px; box-shadow:0 18px 45px rgba(20,55,90,.16); }
.hero .search-results a { display:block; padding:10px; border-radius:10px; font-weight:800; }
.hero .search-results a:hover { background:var(--sky); }
.hero .search-results small { color:var(--muted); }
.hero .search-results .search-all-link { margin-top:5px; border-top:1px solid var(--line); color:var(--blue); }
.journey-choices{max-width:1180px;margin:28px auto 4px;padding:0 24px}.journey-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.journey-choice{display:grid;grid-template-columns:68px minmax(0,1fr) 24px;gap:17px;align-items:center;min-height:132px;padding:21px 22px;border:1px solid #cfe0ef;border-radius:20px;background:linear-gradient(135deg,#edf7ff,#fff);box-shadow:0 12px 30px rgba(32,82,126,.07);transition:transform .2s,border-color .2s,box-shadow .2s}.journey-choice-prepare{border-color:#ead8ac;background:linear-gradient(135deg,#fff8e8,#fff)}.journey-choice:hover{transform:translateY(-3px);border-color:#8fc1ea;box-shadow:0 16px 36px rgba(32,82,126,.12)}.journey-choice:focus-visible{outline:3px solid rgba(31,112,207,.25);outline-offset:3px}.journey-choice-icon{display:grid;place-items:center;width:68px;height:68px;border-radius:18px;color:#fff;background:var(--blue);font-size:12px;font-weight:900;letter-spacing:.05em}.journey-choice-prepare .journey-choice-icon{color:#714b00;background:#ffd77f;font-size:9px}.journey-choice-copy{display:block}.journey-choice-copy small{display:block;color:var(--blue);font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.journey-choice-prepare .journey-choice-copy small{color:#996400}.journey-choice-copy strong{display:block;margin:2px 0;color:var(--navy);font-size:22px;line-height:1.25}.journey-choice-copy>span{display:block;color:#526d88;font-size:13px;line-height:1.5}.journey-choice>b{color:var(--blue);font-size:24px;text-align:center}.journey-choice-prepare>b{color:#b07800}
.category-section { max-width:1180px; margin:28px auto 0; padding:0 24px; }
.category-section h2 { margin:0 0 14px; color:var(--navy); font-size:25px; }
.quick-grid { position:relative; z-index:4; width:100%; margin:0; display:grid; grid-template-columns:repeat(5,1fr); gap:12px; }
.quick-grid a { position:relative; min-height:245px; padding:13px 14px 38px; text-align:left; background:#f2f8ff; border:1px solid var(--line); border-radius:18px; box-shadow:0 10px 26px rgba(28,78,123,.08); transition:.2s; }
.quick-grid a:nth-child(2) { background:#f1f8f1; }
.quick-grid a:nth-child(3) { background:#fff9e9; }
.quick-grid a:nth-child(4) { background:#f5f2ff; }
.quick-grid a:nth-child(5) { background:#fff3f3; }
.quick-grid a:hover { transform:translateY(-5px); border-color:#9fc9ef; }
.quick-grid span { display:grid; place-items:center; width:100%; height:120px; margin:0 0 8px; color:var(--blue); border-radius:14px; background:transparent; font-size:18px; font-weight:900; overflow:hidden; }.quick-grid strong { display:block; color:var(--navy); font-size:15px; }.quick-grid small { display:block; margin-top:4px; color:var(--muted); font-size:12px; line-height:1.45; }.quick-grid b { position:absolute; right:14px; bottom:9px; color:var(--navy); font-size:24px; font-weight:500; }
.quick-grid span img { display:block; width:100%; height:100%; object-fit:cover; }.card-icon img,.article-icon img { display:block; width:92%; height:92%; object-fit:contain; }
.timely-guides{max-width:1132px;margin:42px auto 4px;padding:0 24px}.timely-guides-heading>span{color:#d35249;font-size:12px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.timely-guides-heading h2{margin:5px 0 2px;color:var(--navy);font-size:29px}.timely-guides-heading p{margin:0 0 20px;color:var(--muted)}.timely-guides-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.timely-guide-card{position:relative;display:grid;grid-template-columns:72px minmax(0,1fr) 24px;gap:17px;align-items:center;padding:22px;border:1px solid #cfe0ef;border-radius:19px;background:#f5faff;box-shadow:0 10px 28px rgba(32,82,126,.06)}.timely-guide-card.is-deadline{border-color:#efc37b;background:#fff9ec}.timely-guide-card.is-updated{border-color:#e58a52;background:#fff8f2;box-shadow:0 12px 30px rgba(179,86,35,.12)}.timely-guide-card:hover{transform:translateY(-3px);box-shadow:0 15px 34px rgba(32,82,126,.11)}.timely-guide-icon{display:grid;place-items:center;width:72px;height:72px;overflow:hidden;border-radius:17px;background:#fff}.timely-guide-icon img{display:block;width:100%;height:100%;object-fit:cover}.timely-guide-card small{display:block;color:#1670d2;font-size:11px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.timely-guide-card.is-deadline small{color:#a66300}.timely-guide-update-badge{display:inline-block;margin-bottom:5px;padding:4px 8px;border-radius:999px;color:#fff;background:#c94e31;font-size:10px;font-weight:900;letter-spacing:.07em;text-transform:uppercase}.timely-guide-card h3{margin:4px 0;color:var(--navy);font-size:20px}.timely-guide-card p{margin:0;color:#526d88;font-size:13px;line-height:1.5}.timely-guide-card>b{color:var(--blue);font-size:25px}.timely-guides-more{display:flex;justify-content:center;margin-top:20px}.timely-guides-more a{display:inline-flex;align-items:center;gap:8px;padding:11px 18px;border:1px solid #bdd4e8;border-radius:999px;background:#fff;color:var(--blue);font-size:13px;font-weight:850}.timely-guides-more a:hover{border-color:var(--blue);background:#f5faff}
.notice { max-width:1080px; margin:28px auto 10px; padding:15px 22px; display:flex; align-items:center; gap:18px; border:1px solid #f0e3c8; border-radius:14px; background:var(--cream); font-size:14px; }
.notice span { color:#f4a41b; }.notice p { margin:0; flex:1; color:var(--muted); }.notice a { color:var(--blue); font-weight:700; }
.content-section { max-width:1180px; margin:0 auto; padding:70px 24px; }.content-section.pale { max-width:none; background:#f7fbff; }.content-section.pale>* { max-width:1132px; margin-left:auto; margin-right:auto; }
.section-heading>div { display:grid; grid-template-columns:auto 1fr; column-gap:13px; align-items:center; margin-bottom:24px; }.section-heading h2 { margin:0; color:var(--navy); font-size:29px; }.section-heading p { grid-column:2; margin:0; color:var(--muted); }.section-icon { grid-row:1/3; display:grid; place-items:center; width:42px; height:42px; color:#fff; border-radius:50%; background:var(--blue); font-size:24px; font-weight:900; }.section-icon.red { background:var(--red); }
.article-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }.article-card { padding:24px; border:1px solid var(--line); border-radius:18px; background:#fff; transition:.2s; }.article-card:hover { transform:translateY(-4px); box-shadow:0 14px 34px rgba(32,82,126,.11); }.card-icon { display:grid; place-items:center; width:52px; height:52px; margin-bottom:16px; color:var(--blue); border-radius:15px; background:var(--sky); font-size:25px; font-weight:900; }.article-card small { color:var(--blue); font-weight:800; text-transform:uppercase; letter-spacing:.08em; }.article-card h3 { margin:5px 0 8px; line-height:1.25; }.article-card p { margin:0 0 18px; color:var(--muted); font-size:14px; }.article-card b { color:var(--blue); font-size:13px; }
.popular-help-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.popular-help-card { display:grid; grid-template-columns:52px minmax(0,1fr); gap:9px; align-items:center; min-height:92px; padding:11px; border-radius:14px; }
.popular-help-card .card-icon { width:52px; height:52px; margin:0; border-radius:11px; background:#f4f8fc; }
.popular-help-card h3 { margin:0; color:var(--navy); font-size:12px; line-height:1.35; }
.rule-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }.rule-grid a { display:grid; grid-template-columns:160px minmax(0,1fr) 24px; gap:22px; align-items:center; min-height:196px; padding:24px; border:1px solid var(--line); border-radius:20px; background:#fff; box-shadow:0 10px 28px rgba(32,82,126,.05); }.rule-grid a:hover { transform:translateY(-2px); border-color:#b9cee1; box-shadow:0 15px 34px rgba(32,82,126,.1); }.rule-grid a>span.rule-card-image { display:block; width:160px; height:140px; overflow:hidden; border-radius:17px; background:#eef7ff; }.rule-card-image img { display:block; width:100%; height:100%; object-fit:cover; }.rule-grid h3,.rule-grid p { margin:0; }.rule-grid h3 { color:var(--navy); font-size:21px; line-height:1.3; }.rule-grid p { margin-top:9px; color:var(--muted); font-size:14px; line-height:1.55; }.rule-grid b { color:var(--blue); font-size:31px; }
.emergency-guide { max-width:1132px; margin:55px auto; padding:34px; border:1px solid #d8e6f3; border-radius:24px; background:#f6fbff; box-shadow:0 18px 50px rgba(14,54,91,.08); }
.emergency-heading { display:flex; align-items:flex-start; gap:16px; margin-bottom:25px; }.emergency-heading-icon { flex:0 0 48px; display:grid; place-items:center; width:48px; height:48px; border-radius:50%; color:#fff; background:var(--red); font-size:26px; font-weight:900; }.emergency-heading .eyebrow { margin:2px 0 3px; }.emergency-heading h2 { margin:0; color:var(--navy); font-size:clamp(28px,4vw,38px); }.emergency-heading>div>p:last-child { margin:7px 0 0; color:#516b84; }
.emergency-cards { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }.emergency-card { display:flex; flex-direction:column; overflow:hidden; border:1px solid #d9e5f0; border-radius:20px; background:#fff; }.emergency-card header { position:relative; display:flex; align-items:center; gap:15px; min-height:142px; overflow:hidden; padding:21px 225px 21px 23px; color:#fff; background:#c83e38; }.emergency-card-police header { background:#173f70; }.emergency-card header>span,.emergency-card header>div { position:relative; z-index:2; }.emergency-card header>span { display:grid; place-items:center; min-width:74px; height:56px; padding:0 9px; border:2px solid rgba(255,255,255,.55); border-radius:13px; font-size:29px; font-weight:900; }.emergency-card header small { display:block; opacity:.88; font-weight:800; letter-spacing:.05em; text-transform:uppercase; }.emergency-card header h3 { margin:2px 0 0; color:#fff; font-size:25px; white-space:nowrap; }.emergency-service-image { position:absolute; z-index:1; right:0; bottom:0; display:block; width:225px; height:142px; object-fit:cover; object-position:center; }.emergency-card-body { flex:1; padding:22px 24px 18px; }.emergency-card h4 { margin:0 0 8px; color:var(--navy); font-size:15px; text-transform:uppercase; letter-spacing:.06em; }.emergency-card ul,.emergency-card ol { margin:0 0 18px; padding-left:21px; color:#36546f; }.emergency-card li { margin:0 0 7px; line-height:1.48; }.emergency-not-for { margin:0 0 20px; padding:12px 14px; border-radius:11px; color:#6a4a46; background:#fff2f1; font-size:13px; }.emergency-card-police .emergency-not-for { color:#41576d; background:#eef5fb; }.emergency-call-button { margin:0 24px 24px; padding:14px 18px; border-radius:12px; color:#fff; background:#c83e38; text-align:center; font-size:17px; font-weight:900; box-shadow:0 8px 18px rgba(200,62,56,.2); }.emergency-card-police .emergency-call-button { background:#173f70; box-shadow:0 8px 18px rgba(23,63,112,.2); }.emergency-call-button:hover { color:#fff; transform:translateY(-1px); }
.emergency-other-help { display:grid; grid-template-columns:1fr 1fr auto; gap:15px; align-items:center; margin-top:18px; padding:18px; border-radius:15px; background:#e8f3fc; }.emergency-other-help>div { display:grid; gap:3px; }.emergency-other-help strong { color:var(--navy); }.emergency-other-help span { color:#4d6881; font-size:13px; }.emergency-other-help a { font-weight:800; }.emergency-medical-link { padding:12px 15px; border-radius:10px; color:var(--navy); background:#fff; text-align:center; font-size:13px; }.emergency-source { margin:13px 3px 0; color:#71869a; font-size:11px; line-height:1.5; }
.trust-section { max-width:800px; margin:90px auto; padding:0 24px; text-align:center; }.trust-section h2 { margin:0; font-size:38px; color:var(--navy); }.trust-section>p:not(.eyebrow) { color:var(--muted); font-size:17px; }.trust-points { display:flex; flex-wrap:wrap; justify-content:center; gap:10px; margin-top:22px; }.trust-points span { padding:8px 13px; border-radius:999px; background:var(--sky); color:var(--navy); font-size:13px; font-weight:700; }
.article-page { max-width:1180px; margin:auto; padding:36px 24px 90px; }.breadcrumbs { display:flex; flex-wrap:wrap; gap:9px; color:var(--muted); font-size:13px; margin-bottom:26px; }.breadcrumbs a { color:var(--blue); }.article-page article { max-width:none; }.article-hero { margin-bottom:34px; }.article-hero-copy { position:relative; z-index:1; max-width:520px; }.article-hero.has-image { min-height:390px; padding:40px 44px; overflow:hidden; border:1px solid var(--line); border-radius:24px; background-image:linear-gradient(90deg,rgba(255,255,255,.99) 0%,rgba(255,255,255,.96) 35%,rgba(255,255,255,.72) 49%,rgba(255,255,255,.12) 70%,rgba(255,255,255,0) 100%),var(--article-hero-image); background-position:center; background-size:cover; background-repeat:no-repeat; box-shadow:0 16px 38px rgba(32,82,126,.10); }.article-icon { display:grid; place-items:center; width:62px; height:62px; margin-bottom:16px; border-radius:18px; background:var(--sky); color:var(--blue); font-size:30px; font-weight:900; }.article-hero small { color:var(--blue); text-transform:uppercase; letter-spacing:.1em; font-weight:800; }.article-hero h1 { margin:7px 0 12px; color:var(--navy); font-size:clamp(36px,5vw,54px); line-height:1.08; letter-spacing:-.04em; }.article-hero p { max-width:470px; color:var(--muted); font-size:17px; }.article-content,.help-links { max-width:760px; }.urgent-label { display:inline-block; padding:6px 11px; border-radius:8px; background:#fff0ef; color:#c63d37; font-size:12px; }.quick-answer { margin:28px 0 38px; padding:22px; border-left:5px solid var(--blue); background:#f4f9ff; border-radius:0 14px 14px 0; }.quick-answer p { margin:5px 0 0; }.steps { display:grid; gap:32px; }.steps section { display:grid; grid-template-columns:46px 1fr; gap:17px; }.steps section>span { display:grid; place-items:center; width:42px; height:42px; border-radius:50%; color:#fff; background:var(--blue); font-weight:900; }.steps h2 { margin:2px 0 7px; color:var(--navy); font-size:23px; }.steps p { margin:0; color:#455f78; }.phrase-card { margin:45px 0; padding:27px; border-radius:18px; background:linear-gradient(135deg,#fff7e7,#fffdf8); border:1px solid #f1dfbd; }.phrase-card small { color:#a66b00; text-transform:uppercase; letter-spacing:.1em; font-weight:800; }.phrase-card h2 { margin:8px 0 4px; }.phrase-card strong { display:block; font-size:26px; color:var(--navy); }.phrase-card p { margin:0; color:var(--muted); }.affiliate-placeholder { margin-top:45px; padding:25px; border:1px dashed #a7bcd1; border-radius:18px; color:var(--muted); }.affiliate-placeholder small { color:var(--blue); font-weight:800; text-transform:uppercase; letter-spacing:.08em; }.affiliate-placeholder h2 { color:var(--ink); font-size:20px; margin:7px 0; }.related { max-width:760px; margin-top:70px; padding-top:35px; border-top:1px solid var(--line); }.related>div { display:grid; grid-template-columns:repeat(3,1fr); gap:13px; }.related a { display:flex; flex-direction:column; padding:18px; border:1px solid var(--line); border-radius:14px; }.related a span { font-size:25px; }.related a small { margin-top:8px; color:var(--blue); }
.info-page { max-width:760px; min-height:66vh; margin:auto; padding:80px 24px 110px; }.info-page h1 { margin:0 0 24px; color:var(--navy); font-size:clamp(40px,6vw,62px); line-height:1.08; letter-spacing:-.04em; }.info-page h2 { margin-top:38px; color:var(--navy); }.info-page p { color:#49627b; font-size:17px; }.info-page .updated { margin-top:50px; font-size:13px; color:var(--muted); }.contact-note { margin-top:35px; padding:22px; border-radius:15px; background:#fff2f1; border:1px solid #f3cecb; }
.search-page-heading { margin:10px 0 30px; }.search-page-heading h1 { margin:0 0 10px; font-size:clamp(30px,5vw,46px); overflow-wrap:anywhere; }.search-page-heading p { margin:0 0 20px; }.search-page-heading .search-box { box-shadow:none; }.archive-page .archive-card:first-of-type { margin-top:0; }
.contact-note strong { color:#a6332d; font-size:18px; }.contact-note p { margin:7px 0 0; font-size:15px; }.jjg-contact-form { position:relative; display:grid; gap:20px; margin-top:34px; padding:30px; border:1px solid var(--line); border-radius:20px; background:#f8fbff; box-shadow:0 14px 36px rgba(32,82,126,.08); }.contact-field-row { display:grid; gap:8px; }.contact-field-row label { color:var(--navy); font-weight:800; }.contact-field-row label span { color:var(--muted); font-size:13px; font-weight:500; }.contact-field-row input,.contact-field-row select,.contact-field-row textarea { width:100%; padding:13px 14px; color:var(--ink); border:1px solid #bfd0e0; border-radius:10px; background:#fff; font:inherit; }.contact-field-row textarea { resize:vertical; min-height:170px; }.contact-field-row input:focus,.contact-field-row select:focus,.contact-field-row textarea:focus { outline:3px solid rgba(34,113,201,.16); border-color:var(--blue); }.contact-consent { display:grid; grid-template-columns:20px 1fr; gap:10px; align-items:start; color:#49627b; font-size:14px; }.contact-consent input { width:18px; height:18px; margin-top:2px; }.contact-submit { justify-self:start; padding:13px 23px; border:0; border-radius:10px; color:#fff; background:var(--blue); font:inherit; font-weight:900; cursor:pointer; }.contact-submit:hover,.contact-submit:focus-visible { background:#0d5fb5; }.contact-status { margin:30px 0 -10px; padding:15px 18px; border-radius:12px; font-weight:800; }.contact-status-success { color:#126345; background:#e9f8f0; border:1px solid #bce3cf; }.contact-status-error { color:#94352f; background:#fff0ef; border:1px solid #f0c7c4; }.contact-honeypot { position:absolute!important; left:-10000px!important; width:1px!important; height:1px!important; overflow:hidden!important; }
@media(max-width:560px){.jjg-contact-form{padding:22px 18px}.contact-submit{width:100%;justify-self:stretch}}
.article-content>p,.page-content>p { color:#455f78; font-size:17px; }.article-content a,.page-content a,.text-link { color:var(--blue); text-decoration:underline; }.archive-card { margin:20px 0; padding:24px; border:1px solid var(--line); border-radius:16px; }.archive-card h2 { margin:0 0 8px; }.archive-card p { margin:0 0 12px; }.button-link { display:inline-block; padding:12px 18px; border-radius:11px; color:#fff!important; background:var(--blue); font-weight:800; text-decoration:none!important; }
.site-footer { padding:50px 24px 20px; background:#0e3158; color:#fff; }.footer-inner { max-width:1132px; margin:auto; display:flex; justify-content:space-between; gap:30px; }.footer-inner strong { font-size:20px; }.footer-inner p { margin:4px 0; opacity:.7; }.footer-inner nav { display:flex; flex-wrap:wrap; gap:22px; font-size:13px; }.footer-bottom { max-width:1132px; margin:35px auto 0; padding-top:18px; border-top:1px solid rgba(255,255,255,.14); display:flex; align-items:flex-end; justify-content:space-between; gap:24px; }.copyright { margin:0; opacity:.55; font-size:12px; }.mixpalette-credit { display:block; width:126px; opacity:.38; transition:opacity .2s,transform .2s; }.mixpalette-credit:hover,.mixpalette-credit:focus-visible { opacity:.82; transform:translateY(-2px); }.mixpalette-credit img { display:block; width:100%; height:auto; border-radius:8px; }
@media(max-width:1100px){.popular-help-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:900px){.rule-grid a{grid-template-columns:120px minmax(0,1fr) 20px;gap:15px;padding:18px}.rule-grid a>span.rule-card-image{width:120px;height:105px}.rule-grid h3{font-size:17px}.rule-grid p{font-size:12px}}
@media(max-width:850px){ .header-inner{height:auto;min-height:72px;padding:0 14px;gap:10px 14px;flex-wrap:wrap}.brand{padding:12px 0}.desktop-nav{order:3;width:calc(100% + 28px);margin:0 -14px;padding:0 14px 10px;gap:8px;overflow-x:auto;scrollbar-width:none}.desktop-nav::-webkit-scrollbar{display:none}.desktop-nav a{flex:0 0 auto;padding:6px 11px;border:1px solid var(--line);border-radius:999px;background:#fff;font-size:12px}.desktop-nav a.is-current{color:#fff;border-color:var(--blue);background:var(--blue)}.desktop-nav a.is-current:after{display:none}.language-pill{font-size:0;padding:8px}.language-pill:first-letter{font-size:16px}.hero{padding-top:52px;background-position:66% center;background-image:linear-gradient(90deg,rgba(249,253,255,.99) 0%,rgba(249,253,255,.94) 50%,rgba(249,253,255,.36) 100%),url("hero-top.jpg")}.hero h1{font-size:clamp(42px,8vw,60px)}.hero h1 em{white-space:normal;max-width:650px}.quick-grid{grid-template-columns:repeat(2,1fr)}.quick-grid a{min-height:220px}.quick-grid a:last-child{grid-column:1/3}.article-grid{grid-template-columns:1fr 1fr}.emergency-guide{margin-inline:18px}.emergency-cards{grid-template-columns:1fr}.emergency-other-help{grid-template-columns:1fr 1fr}.emergency-medical-link{grid-column:1/3}.related>div{grid-template-columns:1fr}.notice{margin-inline:18px}.footer-inner{flex-direction:column}.footer-inner nav{flex-direction:column;gap:8px}}
@media(max-width:850px){.timely-guides-grid{grid-template-columns:1fr}}
@media(max-width:720px){.journey-choice-grid{grid-template-columns:1fr}}
@media(max-width:560px){ .brand strong{font-size:17px}.brand small{display:none}.hero h1{font-size:42px}.hero-copy{font-size:15px}.hero{padding:46px 14px 48px;background-position:72% center;background-image:linear-gradient(90deg,rgba(249,253,255,.99) 0%,rgba(249,253,255,.96) 64%,rgba(249,253,255,.68) 100%),url("hero-top.jpg")}.category-section{padding:0 14px}.category-section h2{font-size:22px}.quick-grid{gap:9px}.quick-grid a{min-height:190px;padding:10px 10px 31px}.quick-grid span{height:90px}.quick-grid strong{font-size:13px}.quick-grid small{display:none}.quick-grid b{right:10px;bottom:5px;font-size:20px}.popular-help-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.popular-help-card{grid-template-columns:45px minmax(0,1fr);min-height:80px;padding:9px}.popular-help-card .card-icon{width:45px;height:45px}.popular-help-card h3{font-size:11px}.article-grid:not(.popular-help-grid),.rule-grid{grid-template-columns:1fr}.rule-grid{gap:11px}.rule-grid a{grid-template-columns:95px minmax(0,1fr) 16px;min-height:132px;gap:12px;padding:13px}.rule-grid a>span.rule-card-image{width:95px;height:92px;border-radius:13px}.rule-grid h3{font-size:15px}.rule-grid p{margin-top:5px;font-size:11px;line-height:1.4}.rule-grid b{font-size:24px}.content-section{padding:52px 18px}.section-heading h2{font-size:25px}.notice{align-items:flex-start;flex-wrap:wrap}.notice p{flex-basis:70%}.emergency-guide{margin:35px 14px;padding:22px 14px}.emergency-heading{gap:11px}.emergency-heading-icon{flex-basis:40px;width:40px;height:40px}.emergency-card header{display:grid;grid-template-columns:67px minmax(0,1fr);min-height:190px;padding:18px 18px 122px}.emergency-card header>span{min-width:67px;height:51px;font-size:26px}.emergency-service-image{width:100%;height:116px;object-position:right center}.emergency-card-body{padding:19px 18px 15px}.emergency-call-button{margin:0 18px 18px}.emergency-other-help{grid-template-columns:1fr;padding:15px}.emergency-medical-link{grid-column:auto}.trust-section{margin:65px auto}.steps section{grid-template-columns:38px 1fr}.steps section>span{width:35px;height:35px}.footer-inner nav{display:grid;grid-template-columns:1fr 1fr}.footer-bottom{align-items:center}.mixpalette-credit{width:104px}.language-pill{display:none}}
@media(max-width:560px){.timely-guides{margin-top:32px;padding:0 14px}.timely-guides-heading h2{font-size:24px}.timely-guide-card{grid-template-columns:56px minmax(0,1fr) 18px;gap:11px;padding:15px}.timely-guide-icon{width:56px;height:56px}.timely-guide-icon img{width:48px;height:48px}.timely-guide-card h3{font-size:16px}.timely-guide-card p{display:none}}
@media(max-width:560px){.journey-choices{margin-top:20px;padding:0 14px}.journey-choice{grid-template-columns:54px minmax(0,1fr) 18px;min-height:112px;gap:12px;padding:16px}.journey-choice-icon{width:54px;height:54px;border-radius:15px;font-size:10px}.journey-choice-prepare .journey-choice-icon{font-size:8px}.journey-choice-copy strong{font-size:18px}.journey-choice-copy>span{font-size:12px}.journey-choice>b{font-size:20px}}
@media(max-width:850px){.article-hero.has-image{min-height:365px;padding:34px;background-position:62% center}.article-hero-copy{max-width:470px}}
@media(max-width:560px){.article-page{padding:24px 14px 70px}.breadcrumbs{margin-bottom:18px}.article-hero.has-image{min-height:440px;padding:25px 22px;background-position:69% center;background-image:linear-gradient(90deg,rgba(255,255,255,.99) 0%,rgba(255,255,255,.96) 50%,rgba(255,255,255,.74) 72%,rgba(255,255,255,.22) 100%),var(--article-hero-image)}.article-hero-copy{max-width:310px}.article-hero h1{font-size:34px}.article-hero p{font-size:15px}.article-icon{width:48px;height:48px;margin-bottom:12px;border-radius:14px}}

/* WordPress may insert an empty paragraph between the step number and body. */
.steps section { grid-template-columns:46px minmax(0,1fr); }
.steps section>p:empty { display:none; }
.steps section>span { grid-column:1; grid-row:1; }
.steps section>div { grid-column:2; grid-row:1; min-width:0; }
@media(max-width:560px){.steps section{grid-template-columns:38px minmax(0,1fr)}}

/* Keep short text-based category icons on one line. */
.card-icon,.article-icon { white-space:nowrap; overflow:hidden; font-size:16px; letter-spacing:-.02em; }
.article-icon { font-size:18px; }

/* Useful external resources shown after each practical answer. */
.help-links { margin-top:50px; padding-top:35px; border-top:1px solid var(--line); }
.help-links>small { color:var(--blue); font-weight:800; text-transform:uppercase; letter-spacing:.09em; }
.help-links h2 { margin:6px 0 2px; color:var(--navy); font-size:28px; }
.help-links-intro { margin:0 0 20px; color:var(--muted); }
.help-link-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.help-link-card { display:flex; min-width:0; min-height:235px; padding:23px; flex-direction:column; border:1px solid var(--line); border-radius:17px; background:#fff; transition:.2s; }
.help-link-card:hover { transform:translateY(-3px); border-color:#9fc9ef; box-shadow:0 12px 28px rgba(32,82,126,.1); }
.help-link-card.is-commercial { border-color:#efd9a9; background:#fffdf8; }
.help-link-type { align-self:flex-start; margin-bottom:14px; padding:5px 9px; border-radius:999px; color:var(--blue); background:var(--sky); font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.06em; }
.help-link-card.is-commercial .help-link-type { color:#966200; background:#fff0ca; }
.help-link-illustration { display:block; width:100%; height:190px; margin:0 0 15px; border-radius:12px; background:#f3f9ff; object-fit:contain; }
.help-link-card strong { color:var(--navy); font-size:19px; line-height:1.35; }
.help-link-description { margin:9px 0 18px; color:var(--muted); font-size:14px; }
.help-link-card b { margin-top:auto; color:var(--blue); font-size:13px; }
.commercial-note { margin:14px 0 0; color:var(--muted); font-size:12px; }
.wifi-choice-guide { display:grid; grid-template-columns:auto 1fr; gap:7px 15px; margin:18px 0 0; padding:17px 19px; border:1px solid #bfdcf5; border-radius:14px; color:var(--navy); background:#f3f9ff; font-size:13px; }
.wifi-choice-guide>strong { grid-row:1 / span 3; align-self:start; padding:5px 9px; border-radius:999px; color:#fff; background:var(--blue); font-size:11px; text-transform:uppercase; letter-spacing:.05em; }
.wifi-choice-guide span { min-width:0; }
.affiliate-badge { display:inline-flex; width:max-content; margin:-2px 0 2px; padding:4px 8px; border-radius:999px; color:#7a4b00; background:#fff3d1; font-size:10px; font-weight:800; letter-spacing:.04em; text-transform:uppercase; }
.affiliate-tracking-pixel { position:absolute; width:1px; height:1px; overflow:hidden; }
@media(max-width:560px){.help-link-grid{grid-template-columns:1fr}.help-link-card{min-height:0}}
@media(max-width:560px){.wifi-choice-guide{grid-template-columns:1fr}.wifi-choice-guide>strong{grid-row:auto;justify-self:start}}

/* Detailed lost-item action and contact guide. */
.lost-item-guide { max-width:760px; margin-top:50px; padding-top:35px; border-top:1px solid var(--line); }
.lost-item-guide>small { color:var(--blue); font-weight:800; text-transform:uppercase; letter-spacing:.09em; }
.lost-item-guide>h2 { margin:7px 0 16px; color:var(--navy); font-size:28px; }
.lost-important { margin-bottom:32px; padding:20px 22px; border:1px solid #f3cecb; border-radius:15px; background:#fff2f1; }
.lost-important strong { display:block; color:#a62f2a; font-size:18px; }
.lost-important p { margin:5px 0 0; color:#6c4543; }
.lost-important a { color:#b82e27; font-weight:900; text-decoration:underline; }
.article-content .steps .lost-intro-step-image { display:block; width:min(100%,480px); height:auto; margin-top:16px; border-radius:14px; background:#f4f8fc; object-fit:cover; }
.article-content .lost-intro-phrase { display:grid; grid-template-columns:minmax(0,1fr) minmax(250px,.9fr); gap:24px 30px; align-items:center; max-width:950px; }
.article-content .lost-intro-phrase>:not(.lost-intro-phrase-image) { grid-column:1; }
.article-content .lost-intro-phrase .lost-intro-phrase-image { grid-column:2; grid-row:1 / span 6; width:100%; height:auto; border-radius:14px; }
.lost-important { display:grid; grid-template-columns:minmax(0,.85fr) minmax(310px,1.15fr); gap:24px; align-items:center; }
.lost-intro-important-image { display:block; width:100%; height:auto; border-radius:12px; }
.lost-first-steps { display:grid; gap:12px; margin-bottom:42px; }
.lost-first-steps>div { display:grid; grid-template-columns:42px minmax(0,1fr); gap:15px; padding:18px; border:1px solid var(--line); border-radius:15px; background:#f8fbff; }
.lost-first-steps b { display:grid; place-items:center; width:38px; height:38px; color:#fff; background:var(--blue); border-radius:50%; }
.lost-first-steps span,.lost-first-steps strong { display:block; }
.lost-first-steps span { color:var(--muted); font-size:14px; }
.lost-first-steps strong { margin-bottom:3px; color:var(--navy); font-size:17px; }
.lost-step-image { grid-column:1/-1; display:block; width:100%; height:auto; margin-top:4px; border-radius:12px; object-fit:cover; }
.lost-contact-intro { margin:-9px 0 18px; color:var(--muted); }
.lost-contact-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:13px; }
.lost-contact-grid>div { min-width:0; padding:19px; border:1px solid var(--line); border-radius:15px; background:#fff; }
.lost-contact-grid small,.lost-contact-grid strong,.lost-contact-grid span { display:block; }
.lost-contact-image { display:block; width:100%; height:150px; margin-bottom:13px; border-radius:12px; background:#f3f9ff; object-fit:contain; }
.lost-contact-grid small { color:var(--blue); font-weight:800; text-transform:uppercase; letter-spacing:.06em; }
.lost-contact-grid strong { margin:4px 0; color:var(--navy); font-size:22px; }
.lost-contact-grid strong a { color:var(--navy); text-decoration:none; }
.lost-contact-grid span { color:var(--muted); font-size:13px; }
.lost-source-note { margin:14px 0 0; color:var(--muted); font-size:12px; }
@media(max-width:700px){.article-content .lost-intro-phrase,.lost-important{grid-template-columns:1fr}.article-content .lost-intro-phrase .lost-intro-phrase-image{grid-column:1;grid-row:auto}.lost-intro-important-image{margin-top:6px}}
@media(max-width:560px){.lost-contact-grid{grid-template-columns:1fr}.lost-item-guide>h2{font-size:25px}.lost-important{padding:18px}.lost-first-steps>div{grid-template-columns:35px minmax(0,1fr);padding:15px}.lost-first-steps b{width:32px;height:32px}}

.operator-finder { margin:0 0 42px; padding:26px; border:1px solid #bad8f2; border-radius:20px; background:linear-gradient(145deg,#f2f9ff,#fff); }
.operator-finder>small { color:var(--blue); font-weight:800; text-transform:uppercase; letter-spacing:.09em; }
.operator-finder>h2 { margin:5px 0 5px; color:var(--navy); font-size:27px; line-height:1.25; }
.operator-finder>p { margin:0 0 19px; color:var(--muted); }
.finder-checklist { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin-bottom:22px; }
.finder-checklist>span { display:grid; grid-template-columns:28px 1fr; gap:9px; align-items:start; padding:13px; border-radius:12px; color:#3f5871; background:#fff; font-size:13px; }
.finder-checklist b { display:grid; place-items:center; width:25px; height:25px; color:#fff; background:var(--blue); border-radius:50%; font-size:12px; }
.finder-checklist-image { grid-column:1/-1; display:block; width:100%; height:auto; margin-top:3px; border-radius:10px; object-fit:cover; }
.finder-options { display:grid; gap:9px; }
.finder-options details { overflow:hidden; border:1px solid var(--line); border-radius:13px; background:#fff; }
.finder-options summary { display:flex; align-items:center; gap:10px; padding:15px 17px; color:var(--navy); cursor:pointer; font-weight:800; list-style:none; }
.finder-options summary::-webkit-details-marker { display:none; }
.finder-options summary:after { content:'+'; margin-left:auto; color:var(--blue); font-size:22px; line-height:1; }
.finder-options details[open] summary:after { content:'–'; }
.finder-options summary span { display:grid; place-items:center; width:32px; height:32px; border-radius:9px; background:var(--sky); }
.finder-options details>div { padding:0 17px 18px; color:var(--muted); font-size:14px; }
.finder-options details p { margin:0 0 12px; }
.operator-region-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; margin:12px 0; }
.operator-region-grid a { display:block; min-width:0; padding:12px; border:1px solid var(--line); border-radius:11px; background:#f9fcff; }
.operator-region-grid img { display:block; width:100%; aspect-ratio:1.6/1; margin-bottom:10px; border-radius:8px; object-fit:cover; }
.operator-region-grid b,.operator-region-grid span { display:block; }
.operator-region-grid b { color:var(--navy); font-size:14px; letter-spacing:.03em; }
.operator-region-grid span { margin-top:3px; color:var(--muted); font-size:12px; }
.finder-tip { padding:11px 13px; border-radius:10px; color:#445e76; background:#f2f7fb; }
.finder-tip a { color:var(--blue); font-weight:800; text-decoration:underline; }
.finder-visual { display:block; width:100%; height:auto; max-height:430px; margin:3px 0 14px; border-radius:12px; object-fit:cover; }
.finder-two-links { display:flex; flex-wrap:wrap; gap:8px; margin:10px 0; }
.finder-two-links a { padding:8px 11px; border-radius:9px; color:#fff; background:var(--blue); font-size:12px; font-weight:800; }
@media(max-width:560px){.operator-finder{padding:19px 15px}.operator-finder>h2{font-size:23px}.finder-checklist,.operator-region-grid{grid-template-columns:1fr}.finder-options summary{padding:13px}.finder-options details>div{padding:0 13px 14px}}

/* Detailed card and payment troubleshooting guide. */
.payment-guide { max-width:760px; margin-top:50px; padding-top:35px; border-top:1px solid var(--line); }
.payment-guide>small,.payment-troubleshooter>small { color:var(--blue); font-weight:800; text-transform:uppercase; letter-spacing:.09em; }
.payment-guide>h2,.payment-troubleshooter>h2 { margin:7px 0 16px; color:var(--navy); font-size:28px; line-height:1.25; }
.payment-important { margin-bottom:32px; padding:20px 22px; border:1px solid #f3cecb; border-radius:15px; background:#fff2f1; }
.payment-important strong { display:block; color:#a62f2a; font-size:18px; }
.payment-important p { margin:5px 0 0; color:#6c4543; }
.payment-first-steps { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-bottom:42px; }
.payment-first-steps>div { display:grid; grid-template-columns:38px minmax(0,1fr); gap:12px; padding:17px; border:1px solid var(--line); border-radius:15px; background:#f8fbff; }
.payment-first-steps b { display:grid; place-items:center; width:35px; height:35px; color:#fff; background:var(--blue); border-radius:50%; }
.payment-first-steps span,.payment-first-steps strong { display:block; }
.payment-first-steps span { color:var(--muted); font-size:13px; }
.payment-first-steps strong { margin-bottom:4px; color:var(--navy); font-size:16px; }
.payment-troubleshooter { margin:0 0 42px; padding:25px; border:1px solid #bad8f2; border-radius:20px; background:linear-gradient(145deg,#f2f9ff,#fff); }
.payment-options { display:grid; gap:9px; }
.payment-options details { overflow:hidden; border:1px solid var(--line); border-radius:13px; background:#fff; }
.payment-options summary { display:flex; align-items:center; gap:10px; padding:15px 17px; color:var(--navy); cursor:pointer; font-weight:800; list-style:none; }
.payment-options summary::-webkit-details-marker { display:none; }
.payment-options summary:before { content:'?'; display:grid; place-items:center; flex:0 0 30px; width:30px; height:30px; border-radius:9px; color:var(--blue); background:var(--sky); font-size:14px; }
.payment-options summary:after { content:'+'; margin-left:auto; color:var(--blue); font-size:22px; line-height:1; }
.payment-options details[open] summary:after { content:'−'; }
.payment-options details>div { padding:0 17px 18px; color:var(--muted); font-size:14px; }
.payment-options details p { margin:0 0 12px; }
.payment-tip { padding:11px 13px; border-radius:10px; color:#445e76; background:#f2f7fb; }
.payment-two-links { display:flex; flex-wrap:wrap; gap:8px; margin:10px 0; }
.payment-two-links a { padding:8px 11px; border-radius:9px; color:#fff; background:var(--blue); font-size:12px; font-weight:800; }
.atm-choice-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:13px; margin-bottom:18px; }
.atm-choice-grid>div { min-width:0; padding:20px; border:1px solid var(--line); border-radius:16px; background:#fff; }
.atm-choice-grid>div>span { display:grid; place-items:center; width:42px; height:42px; margin-bottom:10px; border-radius:12px; color:#fff; background:var(--blue); font-weight:900; }
.atm-choice-grid strong { display:block; color:var(--navy); font-size:19px; }
.atm-choice-grid small { display:block; margin-top:2px; color:var(--blue); font-weight:700; }
.atm-choice-grid p { color:var(--muted); font-size:13px; }
.atm-choice-grid a { color:var(--blue); font-size:13px; font-weight:800; text-decoration:underline; }
.atm-choice-grid a+a { margin-left:8px; }
.atm-intro { margin:-5px 0 18px; color:var(--muted); }
.atm-howto { margin:0 0 40px; }
.atm-howto>small,.atm-problems>small { color:var(--blue); font-weight:800; text-transform:uppercase; letter-spacing:.09em; }
.atm-howto>h2,.atm-problems>h2 { margin:7px 0 16px; color:var(--navy); font-size:26px; line-height:1.25; }
.atm-howto-steps { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:11px; }
.atm-howto-steps>div { display:grid; grid-template-columns:36px minmax(0,1fr); gap:11px; min-width:0; padding:16px; border:1px solid var(--line); border-radius:14px; background:#f8fbff; }
.atm-howto-steps b { display:grid; place-items:center; width:34px; height:34px; border-radius:50%; color:#fff; background:var(--blue); }
.atm-howto-steps span,.atm-howto-steps strong { display:block; }
.atm-howto-steps span { color:var(--muted); font-size:13px; }
.atm-howto-steps strong { margin-bottom:4px; color:var(--navy); font-size:15px; }
.atm-fees { margin:0 0 20px; padding:23px; border:1px solid #f0d59f; border-radius:18px; background:linear-gradient(145deg,#fff8e8,#fff); }
.atm-fees-heading { display:grid; grid-template-columns:46px minmax(0,1fr); gap:12px; align-items:center; margin-bottom:16px; }
.atm-fees-heading>span { display:grid; place-items:center; width:44px; height:44px; border-radius:50%; color:#fff; background:#d58a00; font-size:22px; font-weight:900; }
.atm-fees-heading small { display:block; color:#8a5b00; font-weight:800; text-transform:uppercase; letter-spacing:.06em; }
.atm-fees-heading h2 { margin:2px 0 0; color:var(--navy); font-size:24px; line-height:1.25; }
.atm-fee-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.atm-fee-grid>div { min-width:0; padding:15px; border:1px solid #f0dcb5; border-radius:13px; background:#fff; }
.atm-fee-grid strong { display:block; color:#7a5000; font-size:15px; }
.atm-fee-grid p { margin:5px 0 0; color:var(--muted); font-size:13px; }
.atm-fee-tip { margin:13px 0 0; color:#6e5c38; font-size:13px; }
.currency-choice { margin:0 0 40px; padding:19px 21px; border:1px solid #f0d59f; border-radius:15px; background:#fffaf0; }
.currency-choice>strong { display:block; color:#8a5b00; font-size:17px; }
.currency-choice p { margin:6px 0 0; color:#6e5c38; font-size:14px; }
.atm-problems { margin:0 0 40px; }
.atm-problems>div { display:grid; gap:9px; }
.atm-problems details { overflow:hidden; border:1px solid var(--line); border-radius:13px; background:#fff; }
.atm-problems summary { display:flex; align-items:center; gap:10px; padding:14px 16px; color:var(--navy); cursor:pointer; font-weight:800; list-style:none; }
.atm-problems summary::-webkit-details-marker { display:none; }
.atm-problems summary:before { content:'!'; display:grid; place-items:center; flex:0 0 30px; width:30px; height:30px; border-radius:9px; color:#a62f2a; background:#fff0ee; }
.atm-problems summary:after { content:'+'; margin-left:auto; color:var(--blue); font-size:22px; }
.atm-problems details[open] summary:after { content:'−'; }
.atm-problems details p { margin:0; padding:0 16px 16px; color:var(--muted); font-size:13px; }
.payment-phrases { display:grid; gap:10px; }
.payment-phrases>div { padding:16px 18px; border:1px solid var(--line); border-radius:14px; background:#f8fbff; }
.payment-phrases strong,.payment-phrases span,.payment-phrases small { display:block; }
.payment-phrases strong { color:var(--navy); font-size:18px; }
.payment-phrases span { margin:2px 0; color:var(--blue); font-size:13px; font-weight:700; }
.payment-phrases small { color:var(--muted); }
.payment-source-note { margin:15px 0 0; color:var(--muted); font-size:12px; }
@media(max-width:560px){.payment-guide>h2,.payment-troubleshooter>h2,.atm-howto>h2,.atm-problems>h2{font-size:24px}.payment-important{padding:18px}.payment-first-steps,.atm-choice-grid,.atm-howto-steps,.atm-fee-grid{grid-template-columns:1fr}.payment-first-steps>div,.atm-howto-steps>div{padding:15px}.payment-troubleshooter{padding:19px 15px}.payment-options summary,.atm-problems summary{padding:13px}.payment-options details>div{padding:0 13px 14px}.atm-fees{padding:19px 15px}.atm-fees-heading{grid-template-columns:40px minmax(0,1fr)}.atm-fees-heading>span{width:38px;height:38px}.atm-fees-heading h2{font-size:21px}.currency-choice{padding:17px}.payment-phrases strong{font-size:16px}}

/* Detailed tipping and handover etiquette guide. */
.tipping-guide { max-width:760px; margin-top:50px; padding-top:35px; border-top:1px solid var(--line); }
.tipping-guide>small,.tipping-handover>small { color:var(--blue); font-weight:800; text-transform:uppercase; letter-spacing:.09em; }
.tipping-guide>h2,.tipping-handover>h2 { margin:7px 0 16px; color:var(--navy); font-size:28px; line-height:1.25; }
.tipping-answer { display:grid; grid-template-columns:48px minmax(0,1fr); gap:14px; margin-bottom:34px; padding:21px 23px; border:1px solid #b9dfcf; border-radius:17px; background:#f1fbf7; }
.tipping-answer>span { display:grid; place-items:center; width:44px; height:44px; border-radius:50%; color:#fff; background:#16845f; font-size:22px; font-weight:900; }
.tipping-answer strong { display:block; color:#116347; font-size:19px; }
.tipping-answer p { margin:5px 0 0; color:#42675a; }
.tipping-scenarios { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-bottom:42px; }
.tipping-scenarios>div { min-width:0; padding:18px; border:1px solid var(--line); border-radius:15px; background:#fff; }
.tipping-scenarios b,.tipping-scenarios strong { display:block; }
.tipping-scenarios b { margin-bottom:5px; color:var(--navy); font-size:17px; }
.tipping-scenarios strong { color:#16845f; font-size:12px; text-transform:uppercase; letter-spacing:.06em; }
.tipping-scenarios p { margin:7px 0 0; color:var(--muted); font-size:13px; }
.tipping-handover { margin-bottom:39px; padding:25px; border:1px solid #f0d59f; border-radius:20px; background:linear-gradient(145deg,#fffaf0,#fff); }
.tipping-handover-grid { display:grid; gap:11px; }
.tipping-handover-grid>div { display:grid; grid-template-columns:38px minmax(0,1fr); gap:12px; padding:15px; border:1px solid #ead8b5; border-radius:13px; background:#fff; }
.tipping-handover-grid span { display:grid; place-items:center; width:35px; height:35px; border-radius:50%; color:#fff; background:#d78a16; font-weight:900; }
.tipping-handover-grid p { margin:0; color:var(--muted); font-size:13px; }
.tipping-handover-grid strong { display:block; margin-bottom:3px; color:var(--navy); font-size:16px; }
.tipping-phrase { padding:22px; border:2px solid #a9cff2; border-radius:18px; text-align:center; background:#f5faff; }
.tipping-phrase small,.tipping-phrase strong,.tipping-phrase span { display:block; }
.tipping-phrase small { color:var(--blue); font-weight:800; text-transform:uppercase; letter-spacing:.08em; }
.tipping-phrase strong { margin:8px 0 2px; color:var(--navy); font-size:30px; }
.tipping-phrase span { color:var(--blue); font-weight:800; }
.tipping-phrase p { margin:7px 0 0; color:var(--muted); }
.tipping-note { margin:13px 0 0; padding:13px 15px; border-radius:11px; color:#445e76; background:#f2f7fb; font-size:13px; }
.tipping-source-note { margin:15px 0 0; color:var(--muted); font-size:12px; }
@media(max-width:560px){.tipping-guide>h2,.tipping-handover>h2{font-size:24px}.tipping-answer{grid-template-columns:40px minmax(0,1fr);padding:17px}.tipping-answer>span{width:38px;height:38px}.tipping-scenarios{grid-template-columns:1fr}.tipping-handover{padding:19px 15px}.tipping-handover-grid>div{padding:13px}.tipping-phrase{padding:19px 14px}.tipping-phrase strong{font-size:25px}}

/* Detailed train and bus tutorial. */
.transport-guide { max-width:760px; margin-top:50px; padding-top:35px; border-top:1px solid var(--line); }
.transport-guide>small,.bus-chooser>small,.train-luggage>small { color:var(--blue); font-weight:800; text-transform:uppercase; letter-spacing:.09em; }
.transport-guide>h2,.bus-chooser>h2,.train-luggage>h2 { margin:7px 0 16px; color:var(--navy); font-size:28px; line-height:1.25; }
.transport-answer { display:grid; grid-template-columns:52px minmax(0,1fr); gap:14px; margin-bottom:34px; padding:21px 23px; border:1px solid #bad8f2; border-radius:17px; background:#f2f9ff; }
.transport-answer>span { display:grid; place-items:center; width:48px; height:48px; border-radius:14px; color:#fff; background:var(--blue); font-size:14px; font-weight:900; }
.transport-answer strong { display:block; color:var(--navy); font-size:19px; }
.transport-answer p { margin:5px 0 0; color:#47647e; }
.transport-steps { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-bottom:42px; }
.transport-steps>div { display:grid; grid-template-columns:38px minmax(0,1fr); gap:12px; padding:17px; border:1px solid var(--line); border-radius:15px; background:#fff; }
.transport-steps b { display:grid; place-items:center; width:35px; height:35px; border-radius:50%; color:#fff; background:var(--blue); }
.transport-steps span,.transport-steps strong { display:block; }
.transport-steps span { color:var(--muted); font-size:13px; }
.transport-steps strong { margin-bottom:4px; color:var(--navy); font-size:16px; }
.bus-chooser { margin-bottom:42px; padding:25px; border:1px solid #f0d59f; border-radius:20px; background:linear-gradient(145deg,#fffaf0,#fff); }
.bus-types { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.bus-types>div { min-width:0; padding:18px; border:1px solid #ead8b5; border-radius:14px; background:#fff; }
.bus-types span,.bus-types strong { display:block; }
.bus-types span { color:#a16408; font-size:12px; font-weight:900; text-transform:uppercase; letter-spacing:.07em; }
.bus-types strong { margin:3px 0 10px; color:var(--navy); font-size:18px; }
.bus-types ol { margin:0; padding-left:20px; color:var(--muted); font-size:13px; }
.bus-types li+li { margin-top:5px; }
.bus-warning { margin:13px 0 0; padding:13px 15px; border-radius:11px; color:#6e5c38; background:#fff4dc; font-size:13px; }
.train-luggage { margin:0 0 42px; padding:26px; border:1px solid #bfd9ef; border-radius:20px; background:linear-gradient(145deg,#f5faff,#fff); }
.train-luggage-lead { max-width:650px; margin:-4px 0 18px; color:var(--muted); }
.luggage-place-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:11px; }
.luggage-place-grid article { min-width:0; padding:17px; border:1px solid #d5e5f2; border-radius:14px; background:#fff; }
.luggage-place-grid span,.luggage-place-grid strong { display:block; }
.luggage-place-grid span { color:var(--blue); font-size:11px; font-weight:900; text-transform:uppercase; letter-spacing:.08em; }
.luggage-place-grid strong { margin:3px 0 7px; color:var(--navy); font-size:17px; line-height:1.3; }
.luggage-place-grid p { margin:0; color:var(--muted); font-size:13px; }
.luggage-avoid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px 14px; margin-top:13px; padding:16px 18px; border-radius:14px; color:#745252; background:#fff2f2; font-size:13px; }
.luggage-avoid strong { grid-column:1/-1; color:#9b3030; font-size:16px; }
.luggage-avoid span { position:relative; padding-left:19px; }
.luggage-avoid span:before { content:'×'; position:absolute; left:0; color:#c43e3e; font-weight:900; }
.luggage-oversized { display:grid; grid-template-columns:145px minmax(0,1fr); gap:20px; align-items:center; margin-top:13px; padding:20px; border:1px solid #f1d390; border-radius:15px; background:#fff9e9; }
.luggage-measure { display:grid; place-items:center; min-height:105px; padding:14px; border:2px dashed #e6b64c; border-radius:13px; color:#805400; text-align:center; background:#fff; }
.luggage-measure b,.luggage-measure span { display:block; }
.luggage-measure b { font-size:22px; }
.luggage-measure span { font-size:11px; }
.luggage-oversized small { color:#996400; font-weight:900; text-transform:uppercase; letter-spacing:.06em; }
.luggage-oversized h3 { margin:4px 0 7px; color:var(--navy); font-size:20px; line-height:1.3; }
.luggage-oversized p { margin:0 0 8px; color:#675b44; font-size:13px; }
.luggage-oversized a { color:#8a5c00; font-size:13px; font-weight:800; }
.luggage-tips { margin-top:13px; padding:17px 19px; border-radius:14px; color:#3f6256; background:#eef9f5; }
.luggage-tips strong { color:#116347; font-size:16px; }
.luggage-tips ul { margin:8px 0 0; padding-left:20px; font-size:13px; }
.luggage-tips li+li { margin-top:5px; }
.transport-problems { display:grid; gap:9px; margin-bottom:35px; }
.transport-problems details { overflow:hidden; border:1px solid var(--line); border-radius:13px; background:#fff; }
.transport-problems summary { display:flex; align-items:center; gap:10px; padding:15px 17px; color:var(--navy); cursor:pointer; font-weight:800; list-style:none; }
.transport-problems summary::-webkit-details-marker { display:none; }
.transport-problems summary:before { content:'?'; display:grid; place-items:center; flex:0 0 30px; width:30px; height:30px; border-radius:9px; color:var(--blue); background:var(--sky); font-size:14px; }
.transport-problems summary:after { content:'+'; margin-left:auto; color:var(--blue); font-size:22px; line-height:1; }
.transport-problems details[open] summary:after { content:'−'; }
.transport-problems details>div { padding:0 17px 18px; color:var(--muted); font-size:14px; }
.transport-problems details p { margin:0; }
.transport-manners { display:grid; gap:8px; margin-bottom:39px; padding:19px 21px; border:1px solid #b9dfcf; border-radius:15px; background:#f1fbf7; }
.transport-manners strong { color:#116347; font-size:18px; }
.transport-manners span { position:relative; padding-left:21px; color:#42675a; font-size:13px; }
.transport-manners span:before { content:'✓'; position:absolute; left:0; color:#16845f; font-weight:900; }
.transport-phrases { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.transport-phrases>div { min-width:0; padding:16px 18px; border:1px solid var(--line); border-radius:14px; background:#f8fbff; }
.transport-phrases strong,.transport-phrases span,.transport-phrases small { display:block; }
.transport-phrases strong { color:var(--navy); font-size:17px; overflow-wrap:anywhere; }
.transport-phrases span { margin:3px 0; color:var(--blue); font-size:12px; font-weight:700; }
.transport-phrases small { color:var(--muted); }
.transport-source-note { margin:15px 0 0; color:var(--muted); font-size:12px; }
@media(max-width:560px){.transport-guide>h2,.bus-chooser>h2,.train-luggage>h2{font-size:24px}.transport-answer{grid-template-columns:44px minmax(0,1fr);padding:17px}.transport-answer>span{width:42px;height:42px}.transport-steps,.bus-types,.transport-phrases,.luggage-place-grid{grid-template-columns:1fr}.transport-steps>div{padding:15px}.bus-chooser,.train-luggage{padding:19px 15px}.luggage-avoid{grid-template-columns:1fr}.luggage-oversized{grid-template-columns:1fr;padding:16px}.luggage-measure{min-height:78px}.transport-problems summary{padding:13px}.transport-problems details>div{padding:0 13px 14px}}

/* Medical care and emergency guide. */
.medical-guide { max-width:760px; margin-top:50px; padding-top:35px; border-top:1px solid var(--line); }
.medical-guide>small,.medical-choice>small { color:var(--blue); font-weight:800; text-transform:uppercase; letter-spacing:.09em; }
.medical-guide>h2,.medical-choice>h2 { margin:7px 0 16px; color:var(--navy); font-size:28px; line-height:1.25; }
.medical-emergency-card { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.medical-emergency-card>div { padding:20px; border-radius:17px; color:#fff; background:#c83e38; }
.medical-emergency-card>div+div { background:#173f70; }
.medical-emergency-card small,.medical-emergency-card strong,.medical-emergency-card span { display:block; }
.medical-emergency-card small { opacity:.8; font-weight:800; text-transform:uppercase; letter-spacing:.07em; }
.medical-emergency-card strong { margin:3px 0; font-size:35px; }
.medical-emergency-card span { font-size:13px; }
.medical-emergency-note { margin:11px 0 34px; padding:15px 17px; border:1px solid #f3cecb; border-radius:13px; color:#6c4543; background:#fff2f1; font-size:13px; }
.medical-call-steps { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-bottom:42px; }
.medical-call-steps>div { display:grid; grid-template-columns:38px minmax(0,1fr); gap:12px; padding:17px; border:1px solid var(--line); border-radius:15px; background:#fff; }
.medical-call-steps b { display:grid; place-items:center; width:35px; height:35px; border-radius:50%; color:#fff; background:#c83e38; }
.medical-call-steps span,.medical-call-steps strong { display:block; }
.medical-call-steps span { color:var(--muted); font-size:13px; }
.medical-call-steps strong { margin-bottom:4px; color:var(--navy); font-size:16px; }
.medical-choice { margin-bottom:42px; padding:25px; border:1px solid #bad8f2; border-radius:20px; background:linear-gradient(145deg,#f2f9ff,#fff); }
.medical-options { display:grid; gap:9px; }
.medical-options details { overflow:hidden; border:1px solid var(--line); border-radius:13px; background:#fff; }
.medical-options summary { display:flex; align-items:center; gap:10px; padding:15px 17px; color:var(--navy); cursor:pointer; font-weight:800; list-style:none; }
.medical-options summary::-webkit-details-marker { display:none; }
.medical-options summary:before { content:'+'; display:grid; place-items:center; flex:0 0 30px; width:30px; height:30px; border-radius:50%; color:#fff; background:#c83e38; font-size:18px; }
.medical-options summary:after { content:'+'; margin-left:auto; color:var(--blue); font-size:22px; line-height:1; }
.medical-options details[open] summary:after { content:'−'; }
.medical-options details>div { padding:0 17px 18px; color:var(--muted); font-size:14px; }
.medical-options details p { margin:0; }
.medical-options a { color:var(--blue); font-weight:800; text-decoration:underline; }
.medical-tip { margin-top:10px!important; }
.medical-after-hours { margin:0 0 42px; padding-top:2px; }
.medical-after-hours>small { color:var(--blue); font-weight:800; text-transform:uppercase; letter-spacing:.09em; }
.medical-after-hours>h2 { margin:7px 0 10px; color:var(--navy); font-size:28px; line-height:1.25; }
.medical-after-hours-lead { margin:0 0 18px; color:var(--muted); }
.medical-after-hours-steps { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:11px; margin-bottom:18px; }
.medical-after-hours-steps>div { display:grid; grid-template-columns:36px minmax(0,1fr); gap:11px; min-width:0; padding:17px; border:1px solid var(--line); border-radius:15px; background:#fff; }
.medical-after-hours-steps b { display:grid; place-items:center; width:34px; height:34px; border-radius:50%; color:#fff; background:var(--blue); }
.medical-after-hours-steps span,.medical-after-hours-steps strong { display:block; }
.medical-after-hours-steps span { color:var(--muted); font-size:13px; }
.medical-after-hours-steps strong { margin-bottom:4px; color:var(--navy); font-size:16px; }
.medical-after-hours-steps a { color:var(--blue); font-weight:800; text-decoration:underline; }
.medical-call-box { margin-bottom:18px; padding:21px; border:1px solid #bad8f2; border-radius:18px; background:linear-gradient(145deg,#edf7ff,#fff); }
.medical-call-box-heading { display:grid; grid-template-columns:45px minmax(0,1fr); gap:12px; align-items:center; margin-bottom:14px; }
.medical-call-box-heading>span { display:grid; place-items:center; width:43px; height:43px; border-radius:13px; color:#fff; background:var(--blue); font-size:20px; }
.medical-call-box-heading small { display:block; color:var(--blue); font-weight:800; text-transform:uppercase; letter-spacing:.06em; }
.medical-call-box h3 { margin:2px 0 0; color:var(--navy); font-size:22px; }
.medical-phone-phrases { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
.medical-phone-phrases>div { min-width:0; padding:14px 15px; border:1px solid var(--line); border-radius:12px; background:#fff; }
.medical-phone-phrases strong,.medical-phone-phrases b,.medical-phone-phrases span { display:block; }
.medical-phone-phrases strong { color:var(--navy); font-size:14px; }
.medical-phone-phrases b { margin-top:5px; color:#173f70; font-size:16px; overflow-wrap:anywhere; }
.medical-phone-phrases span { color:var(--blue); font-size:12px; font-weight:700; }
.medical-call-box>p { margin:13px 0 0; color:var(--muted); font-size:13px; }
.medical-visit-flow { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:11px; margin-bottom:18px; }
.medical-visit-flow>div { min-width:0; padding:18px; border:1px solid var(--line); border-radius:15px; background:#fff; }
.medical-visit-flow small { color:var(--blue); font-weight:800; text-transform:uppercase; letter-spacing:.06em; }
.medical-visit-flow h3 { margin:4px 0 10px; color:var(--navy); font-size:18px; }
.medical-visit-flow ul { margin:0; padding-left:20px; color:var(--muted); font-size:13px; }
.medical-visit-flow li+li { margin-top:6px; }
.medical-pharmacy-note { margin:0; padding:15px 17px; border-left:4px solid #e7a21a; border-radius:3px 13px 13px 3px; color:#6e5c38; background:#fff8e9; font-size:13px; }
.medical-checklist { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:11px; margin-bottom:22px; }
.medical-checklist span { min-width:0; padding:16px 17px; border:1px solid var(--line); border-radius:14px; color:var(--muted); background:#f8fbff; font-size:13px; }
.medical-checklist b { display:block; margin-bottom:4px; color:var(--navy); font-size:15px; }
.medical-payment { margin:0 0 39px; padding:19px 21px; border:1px solid #f0d59f; border-radius:15px; background:#fffaf0; }
.medical-payment strong { display:block; color:#8a5b00; font-size:17px; }
.medical-payment p { margin:6px 0 0; color:#6e5c38; font-size:13px; }
.medical-phrases { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.medical-phrases>div { min-width:0; padding:16px 18px; border:1px solid var(--line); border-radius:14px; background:#f8fbff; }
.medical-phrases strong,.medical-phrases span,.medical-phrases small { display:block; }
.medical-phrases strong { color:var(--navy); font-size:17px; overflow-wrap:anywhere; }
.medical-phrases span { margin:3px 0; color:var(--blue); font-size:12px; font-weight:700; }
.medical-phrases small { color:var(--muted); }
.medical-disclaimer { margin:15px 0 0; padding:13px 15px; border-radius:11px; color:#445e76; background:#f2f7fb; font-size:12px; }
.medical-source-note { margin:10px 0 0; color:var(--muted); font-size:12px; }
@media(max-width:560px){.medical-guide>h2,.medical-choice>h2,.medical-after-hours>h2{font-size:24px}.medical-emergency-card,.medical-call-steps,.medical-after-hours-steps,.medical-phone-phrases,.medical-visit-flow,.medical-checklist,.medical-phrases{grid-template-columns:1fr}.medical-call-steps>div,.medical-after-hours-steps>div{padding:15px}.medical-choice{padding:19px 15px}.medical-call-box{padding:18px 15px}.medical-options summary{padding:13px}.medical-options details>div{padding:0 13px 14px}.medical-emergency-card strong{font-size:31px}}

/* Traveler garbage sorting and disposal guide. */
.garbage-guide { max-width:760px; margin-top:50px; padding-top:35px; border-top:1px solid var(--line); }
.garbage-guide>small { color:#16845f; font-weight:800; text-transform:uppercase; letter-spacing:.09em; }
.garbage-guide>h2 { margin:7px 0 16px; color:var(--navy); font-size:28px; line-height:1.25; }
.garbage-answer { display:grid; grid-template-columns:52px minmax(0,1fr); gap:14px; margin-bottom:34px; padding:21px 23px; border:1px solid #b9dfcf; border-radius:17px; background:#f1fbf7; }
.garbage-answer>span { display:grid; place-items:center; width:48px; height:48px; border-radius:14px; color:#fff; background:#16845f; font-size:22px; font-weight:900; }
.garbage-answer strong { display:block; color:#116347; font-size:19px; }
.garbage-answer p { margin:5px 0 0; color:#42675a; }
.garbage-first { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:11px; margin-bottom:19px; }
.garbage-first>div { min-width:0; padding:17px; border:1px solid var(--line); border-radius:15px; background:#fff; }
.garbage-first b { display:grid; place-items:center; width:34px; height:34px; margin-bottom:11px; border-radius:50%; color:#fff; background:#16845f; }
.garbage-first span,.garbage-first strong { display:block; }
.garbage-first span { color:var(--muted); font-size:13px; }
.garbage-first strong { margin-bottom:4px; color:var(--navy); font-size:16px; }
.garbage-local-note { margin:0 0 42px; padding:17px 19px; border-left:4px solid #e7a21a; border-radius:3px 13px 13px 3px; background:#fff8e9; }
.garbage-local-note strong { display:block; color:#7d560d; font-size:16px; }
.garbage-local-note p { margin:5px 0 0; color:#6e5c38; font-size:13px; }
.garbage-bins { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-bottom:42px; }
.garbage-bins>div { min-width:0; padding:18px; border:1px solid var(--line); border-radius:16px; background:#f8fbff; }
.garbage-bins span { display:grid; place-items:center; width:48px; height:42px; margin-bottom:12px; border-radius:11px; color:#116347; background:#dff3e9; font-size:14px; font-weight:900; }
.garbage-bins strong,.garbage-bins b { display:block; }
.garbage-bins strong { color:var(--navy); font-size:17px; }
.garbage-bins b { margin:3px 0 8px; color:#16845f; font-size:13px; }
.garbage-bins p { margin:0; color:var(--muted); font-size:13px; }
.garbage-places { display:grid; gap:9px; margin-bottom:42px; }
.garbage-places details { overflow:hidden; border:1px solid var(--line); border-radius:13px; background:#fff; }
.garbage-places summary { display:flex; align-items:center; gap:10px; padding:15px 17px; color:var(--navy); cursor:pointer; font-weight:800; list-style:none; }
.garbage-places summary::-webkit-details-marker { display:none; }
.garbage-places summary:before { content:'⌖'; display:grid; place-items:center; flex:0 0 30px; width:30px; height:30px; border-radius:9px; color:#16845f; background:#e2f5ec; font-size:16px; }
.garbage-places summary:after { content:'+'; margin-left:auto; color:#16845f; font-size:22px; line-height:1; }
.garbage-places details[open] summary:after { content:'−'; }
.garbage-places details>div { padding:0 17px 18px; color:var(--muted); font-size:14px; }
.garbage-places details p { margin:0; }
.garbage-danger { margin-bottom:42px; padding:24px; border:1px solid #efc5bd; border-radius:20px; background:linear-gradient(145deg,#fff3f0,#fff); }
.garbage-danger-heading { display:grid; grid-template-columns:46px minmax(0,1fr); gap:12px; align-items:center; margin-bottom:17px; }
.garbage-danger-heading>span { display:grid; place-items:center; width:44px; height:44px; border-radius:50%; color:#fff; background:#c84c3c; font-size:22px; font-weight:900; }
.garbage-danger-heading small { display:block; color:#b34234; font-weight:800; text-transform:uppercase; letter-spacing:.07em; }
.garbage-danger-heading h2 { margin:2px 0 0; color:var(--navy); font-size:24px; line-height:1.25; }
.garbage-danger-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:11px; }
.garbage-danger-grid>div { min-width:0; padding:16px; border:1px solid #f0d3cd; border-radius:13px; background:#fff; }
.garbage-danger-grid strong { display:block; color:#8d3328; font-size:15px; }
.garbage-danger-grid p { margin:5px 0 0; color:var(--muted); font-size:13px; }
.garbage-phrases { display:grid; gap:10px; }
.garbage-phrases>div { min-width:0; padding:16px 18px; border:1px solid var(--line); border-radius:14px; background:#f1fbf7; }
.garbage-phrases strong,.garbage-phrases span,.garbage-phrases small { display:block; }
.garbage-phrases strong { color:var(--navy); font-size:17px; overflow-wrap:anywhere; }
.garbage-phrases span { margin:3px 0; color:#16845f; font-size:12px; font-weight:700; }
.garbage-phrases small { color:var(--muted); }
.garbage-source-note { margin:15px 0 0; color:var(--muted); font-size:12px; }
@media(max-width:700px){.garbage-first{grid-template-columns:1fr}.garbage-first>div{display:grid;grid-template-columns:38px minmax(0,1fr);gap:11px}.garbage-first b{margin:0}.garbage-bins,.garbage-danger-grid{grid-template-columns:1fr}}
@media(max-width:560px){.garbage-guide>h2{font-size:24px}.garbage-answer{grid-template-columns:44px minmax(0,1fr);padding:17px}.garbage-answer>span{width:42px;height:42px}.garbage-places summary{padding:13px}.garbage-places details>div{padding:0 13px 14px}.garbage-danger{padding:19px 15px}.garbage-danger-heading{grid-template-columns:40px minmax(0,1fr)}.garbage-danger-heading>span{width:38px;height:38px}.garbage-danger-heading h2{font-size:21px}}

/* First-time onsen etiquette guide. */
.onsen-guide { max-width:760px; margin-top:50px; padding-top:35px; border-top:1px solid var(--line); }
.onsen-guide>small,.onsen-tattoo>small { color:#b5483d; font-weight:800; text-transform:uppercase; letter-spacing:.09em; }
.onsen-guide>h2,.onsen-tattoo>h2 { margin:7px 0 16px; color:var(--navy); font-size:28px; line-height:1.25; }
.onsen-answer { display:grid; grid-template-columns:58px minmax(0,1fr); gap:15px; margin-bottom:35px; padding:22px 24px; border:1px solid #efc4ba; border-radius:18px; background:linear-gradient(145deg,#fff4f0,#fff); }
.onsen-answer>span { display:grid; place-items:center; width:54px; height:54px; border-radius:50%; color:#fff; background:#d35b4d; font-size:28px; }
.onsen-answer strong { display:block; color:var(--navy); font-size:20px; }
.onsen-answer p { margin:5px 0 0; color:#6d5a56; }
.onsen-before-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:11px; margin-bottom:42px; }
.onsen-before-grid article { display:grid; grid-template-columns:35px minmax(0,1fr); gap:12px; padding:17px; border:1px solid #ecd8d2; border-radius:15px; background:#fff; }
.onsen-before-grid b,.onsen-bathing-steps>li>span { display:grid; place-items:center; width:34px; height:34px; border-radius:50%; color:#fff; background:#d35b4d; font-weight:900; }
.onsen-before-grid strong { display:block; color:var(--navy); font-size:16px; }
.onsen-before-grid p { margin:4px 0 0; color:var(--muted); font-size:13px; }
.onsen-bathing-steps { display:grid; gap:10px; margin:0 0 42px; padding:0; list-style:none; counter-reset:none; }
.onsen-bathing-steps>li { display:grid; grid-template-columns:42px minmax(0,1fr); gap:13px; padding:16px 18px; border:1px solid var(--line); border-radius:14px; background:#f9fbfd; }
.onsen-bathing-steps strong { color:var(--navy); font-size:17px; }
.onsen-bathing-steps p { margin:4px 0 0; color:var(--muted); font-size:13px; }
.onsen-never { margin-bottom:18px; padding:23px; border:1px solid #efc2be; border-radius:18px; background:#fff3f2; }
.onsen-never>div { display:grid; grid-template-columns:42px minmax(0,1fr); gap:12px; align-items:center; }
.onsen-never>div>span { display:grid; place-items:center; width:40px; height:40px; border-radius:12px; color:#fff; background:#c9483c; font-size:24px; font-weight:900; }
.onsen-never h2 { margin:0; color:#8d2d28; font-size:23px; }
.onsen-never ul { margin:15px 0 0; padding-left:21px; color:#76504d; font-size:14px; }
.onsen-never li+li { margin-top:6px; }
.onsen-tattoo { margin-bottom:18px; padding:25px; border:1px solid #d9c3ea; border-radius:18px; background:linear-gradient(145deg,#faf6ff,#fff); }
.onsen-tattoo p { margin:-5px 0 16px; color:var(--muted); }
.onsen-tattoo-options { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.onsen-tattoo-options>div { min-width:0; padding:15px; border:1px solid #e4d8ef; border-radius:13px; background:#fff; }
.onsen-tattoo-options b { display:grid; place-items:center; width:28px; height:28px; border-radius:8px; color:#fff; background:#8059a1; }
.onsen-tattoo-options strong,.onsen-tattoo-options span { display:block; }
.onsen-tattoo-options strong { margin:8px 0 4px; color:var(--navy); font-size:15px; }
.onsen-tattoo-options span { color:var(--muted); font-size:12px; }
.onsen-special-notes { display:grid; gap:9px; margin-bottom:38px; }
.onsen-special-notes details { overflow:hidden; border:1px solid var(--line); border-radius:13px; background:#fff; }
.onsen-special-notes summary { display:flex; gap:10px; align-items:center; padding:15px 17px; color:var(--navy); cursor:pointer; font-weight:800; list-style:none; }
.onsen-special-notes summary::-webkit-details-marker { display:none; }
.onsen-special-notes summary:before { content:'?'; display:grid; place-items:center; flex:0 0 30px; width:30px; height:30px; border-radius:9px; color:#b5483d; background:#fff0eb; }
.onsen-special-notes summary:after { content:'+'; margin-left:auto; color:#b5483d; font-size:21px; }
.onsen-special-notes details[open] summary:after { content:'−'; }
.onsen-special-notes details>div { padding:0 17px 17px; color:var(--muted); font-size:14px; }
.onsen-special-notes p { margin:0; }
.onsen-phrases { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.onsen-phrases>div { min-width:0; padding:16px 18px; border:1px solid #ead7d1; border-radius:14px; background:#fff9f7; }
.onsen-phrases strong,.onsen-phrases span,.onsen-phrases small { display:block; }
.onsen-phrases strong { color:var(--navy); font-size:17px; overflow-wrap:anywhere; }
.onsen-phrases span { margin:3px 0; color:#b5483d; font-size:12px; font-weight:700; }
.onsen-phrases small { color:var(--muted); }
.onsen-source-note { margin:15px 0 0; color:var(--muted); font-size:12px; }
@media(max-width:700px){.onsen-tattoo-options{grid-template-columns:1fr}}
@media(max-width:560px){.onsen-guide>h2,.onsen-tattoo>h2{font-size:24px}.onsen-answer{grid-template-columns:46px minmax(0,1fr);padding:18px 16px}.onsen-answer>span{width:44px;height:44px;font-size:22px}.onsen-before-grid,.onsen-phrases{grid-template-columns:1fr}.onsen-before-grid article,.onsen-bathing-steps>li{padding:15px}.onsen-never,.onsen-tattoo{padding:19px 15px}.onsen-never h2{font-size:20px}.onsen-special-notes summary{padding:13px}.onsen-special-notes details>div{padding:0 13px 14px}}

/* First-time Shinto shrine etiquette guide. */
.shrine-guide { max-width:760px; margin-top:50px; padding-top:35px; border-top:1px solid var(--line); }
.shrine-guide>small,.shrine-purification>small,.shrine-prayer>small { color:#b23a2f; font-weight:800; text-transform:uppercase; letter-spacing:.09em; }
.shrine-guide>h2,.shrine-purification>h2,.shrine-prayer>h2 { margin:7px 0 16px; color:var(--navy); font-size:28px; line-height:1.25; }
.shrine-answer { display:grid; grid-template-columns:62px minmax(0,1fr); gap:15px; margin-bottom:35px; padding:22px 24px; border:1px solid #efc5bb; border-radius:18px; background:linear-gradient(145deg,#fff2ee,#fff); }
.shrine-answer>span { display:grid; place-items:center; width:58px; height:58px; border-radius:17px; color:#fff; background:#bd3d31; font-size:29px; }
.shrine-answer strong { display:block; color:var(--navy); font-size:20px; }
.shrine-answer p { margin:5px 0 0; color:#6d5753; }
.shrine-route { display:grid; gap:10px; margin-bottom:42px; }
.shrine-route article { display:grid; grid-template-columns:38px minmax(0,1fr); gap:13px; padding:17px 19px; border:1px solid #ead8d2; border-radius:14px; background:#fff; }
.shrine-route b,.shrine-purification li>span { display:grid; place-items:center; width:35px; height:35px; border-radius:50%; color:#fff; background:#bd3d31; }
.shrine-route strong { color:var(--navy); font-size:17px; }
.shrine-route p { margin:4px 0 0; color:var(--muted); font-size:13px; }
.shrine-purification { margin-bottom:18px; padding:25px; border:1px solid #bdd9e5; border-radius:18px; background:linear-gradient(145deg,#f3fbff,#fff); }
.shrine-purification ol { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin:0; padding:0; list-style:none; }
.shrine-purification li { display:grid; grid-template-columns:36px minmax(0,1fr); gap:11px; padding:14px; border:1px solid #d6e8ef; border-radius:13px; background:#fff; }
.shrine-purification li>span { background:#3983a5; }
.shrine-purification strong { display:block; color:var(--navy); font-size:15px; }
.shrine-purification p { margin:0; color:var(--muted); font-size:12px; }
.shrine-water-note { margin:12px 0 0; padding:12px 14px; border-radius:10px; color:#476a7b; background:#eaf6fb; font-size:13px; }
.shrine-prayer { margin-bottom:18px; padding:25px; border:1px solid #efcf9b; border-radius:18px; background:linear-gradient(145deg,#fff9ed,#fff); }
.shrine-prayer-flow { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; }
.shrine-prayer-flow>div { display:grid; grid-template-columns:29px minmax(0,1fr); gap:8px; align-items:center; padding:12px; border:1px solid #efddb9; border-radius:12px; background:#fff; }
.shrine-prayer-flow b { display:grid; place-items:center; width:28px; height:28px; border-radius:8px; color:#fff; background:#b87a13; }
.shrine-prayer-flow span { color:var(--navy); font-size:13px; font-weight:800; }
.shrine-prayer>p { margin:13px 0 0; color:#755e3c; font-size:13px; }
.shrine-vs-temple { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:11px; margin-bottom:18px; }
.shrine-vs-temple>div { min-width:0; padding:18px; border:1px solid var(--line); border-radius:15px; background:#f8fbff; }
.shrine-vs-temple span,.shrine-vs-temple strong { display:block; }
.shrine-vs-temple span { color:var(--blue); font-size:11px; font-weight:900; text-transform:uppercase; letter-spacing:.08em; }
.shrine-vs-temple strong { margin:4px 0 6px; color:var(--navy); font-size:18px; }
.shrine-vs-temple p { margin:0; color:var(--muted); font-size:13px; }
.shrine-photo { margin-bottom:18px; padding:22px; border:1px solid #edc0bc; border-radius:18px; background:#fff3f2; }
.shrine-photo>div { display:grid; grid-template-columns:47px minmax(0,1fr); gap:12px; align-items:center; }
.shrine-photo>div>span { display:grid; place-items:center; width:45px; height:39px; border-radius:10px; color:#fff; background:#ba4338; font-size:10px; font-weight:900; }
.shrine-photo h2 { margin:0; color:#8d2e28; font-size:23px; }
.shrine-photo ul { margin:14px 0 0; padding-left:21px; color:#76504d; font-size:13px; }
.shrine-photo li+li { margin-top:6px; }
.shrine-after-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin-bottom:38px; }
.shrine-after-grid article { min-width:0; padding:17px; border:1px solid #ddd8c6; border-radius:14px; background:#fffdf7; }
.shrine-after-grid article.has-shrine-icon { display:grid; grid-template-columns:94px minmax(0,1fr); gap:14px; align-items:start; }
.shrine-after-grid article.has-shrine-icon img { display:block; width:94px; height:94px; object-fit:cover; border:1px solid #eadfca; border-radius:12px; background:#fff; }
.shrine-after-grid article.has-shrine-icon>div { min-width:0; }
.shrine-after-grid strong { color:var(--navy); font-size:17px; }
.shrine-after-grid p { margin:5px 0 0; color:var(--muted); font-size:13px; }
.shrine-phrases { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.shrine-phrases>div { min-width:0; padding:16px 18px; border:1px solid #ead8d2; border-radius:14px; background:#fff9f7; }
.shrine-phrases strong,.shrine-phrases span,.shrine-phrases small { display:block; }
.shrine-phrases strong { color:var(--navy); font-size:17px; overflow-wrap:anywhere; }
.shrine-phrases span { margin:3px 0; color:#b23a2f; font-size:12px; font-weight:700; }
.shrine-phrases small { color:var(--muted); }
.shrine-source-note { margin:15px 0 0; color:var(--muted); font-size:12px; }
@media(max-width:700px){.shrine-prayer-flow{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.shrine-guide>h2,.shrine-purification>h2,.shrine-prayer>h2{font-size:24px}.shrine-answer{grid-template-columns:50px minmax(0,1fr);padding:18px 16px}.shrine-answer>span{width:47px;height:47px;font-size:23px}.shrine-purification,.shrine-prayer,.shrine-photo{padding:19px 15px}.shrine-purification ol,.shrine-prayer-flow,.shrine-vs-temple,.shrine-after-grid,.shrine-phrases{grid-template-columns:1fr}.shrine-after-grid article.has-shrine-icon{grid-template-columns:82px minmax(0,1fr);gap:12px}.shrine-after-grid article.has-shrine-icon img{width:82px;height:82px}.shrine-photo h2{font-size:20px}}

/* Short-term SIM and eSIM guide. */
.sim-guide { max-width:760px; margin-top:50px; padding-top:35px; border-top:1px solid var(--line); }
.sim-guide>small { color:#126b9b; font-weight:800; text-transform:uppercase; letter-spacing:.09em; }
.sim-guide>h2 { margin:7px 0 16px; color:var(--navy); font-size:28px; line-height:1.25; }
.sim-answer { display:grid; grid-template-columns:62px minmax(0,1fr); gap:15px; margin-bottom:35px; padding:22px 24px; border:1px solid #b9dbea; border-radius:18px; background:linear-gradient(145deg,#eef9ff,#fff); }
.sim-answer>span { display:grid; place-items:center; width:58px; height:58px; border-radius:17px; color:#fff; background:#1577aa; font-size:15px; font-weight:900; }
.sim-answer strong { display:block; color:var(--navy); font-size:20px; }
.sim-answer p { margin:5px 0 0; color:#496773; }
.sim-answer a { color:#075fbd; font-weight:850; text-decoration:underline; text-underline-offset:3px; }
.sim-situation-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:11px; margin-bottom:36px; }
.sim-situation-grid article { min-width:0; padding:18px; border:1px solid #c9dff0; border-radius:16px; background:linear-gradient(145deg,#f4f9ff,#fff); }
.sim-situation-grid b,.sim-situation-grid strong { display:block; }
.sim-situation-grid b { margin-bottom:5px; color:#126b9b; font-size:12px; font-weight:900; text-transform:uppercase; letter-spacing:.06em; }
.sim-situation-grid strong { color:var(--navy); font-size:17px; }
.sim-situation-grid p { margin:7px 0 0; color:var(--muted); font-size:13px; }
.sim-choice-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:11px; margin-bottom:20px; }
.sim-choice-grid article { min-width:0; padding:18px; border:1px solid var(--line); border-radius:16px; background:#fff; }
.sim-choice-grid b { display:grid; place-items:center; width:50px; height:38px; margin-bottom:11px; border-radius:11px; color:#126b9b; background:#e4f3fa; font-size:12px; font-weight:900; }
.sim-choice-grid strong,.sim-choice-grid span { display:block; }
.sim-choice-grid strong { color:var(--navy); font-size:17px; }
.sim-choice-grid p { margin:6px 0 10px; color:var(--muted); font-size:13px; }
.sim-choice-grid span { color:#126b9b; font-size:12px; font-weight:800; }
.sim-short-term { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:11px; margin-bottom:42px; }
.sim-short-term>div { min-width:0; padding:19px; border:1px solid #cddfea; border-radius:16px; background:#f7fbfd; }
.sim-short-term small,.sim-short-term strong { display:block; }
.sim-short-term small { color:#126b9b; font-weight:900; text-transform:uppercase; letter-spacing:.08em; }
.sim-short-term strong { margin:4px 0 8px; color:var(--navy); font-size:18px; }
.sim-short-term ul { margin:0; padding-left:19px; color:var(--muted); font-size:13px; }
.sim-short-term li+li { margin-top:5px; }
.sim-checklist { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin-bottom:22px; }
.sim-checklist span { min-width:0; padding:16px 17px; border:1px solid var(--line); border-radius:14px; color:var(--muted); background:#f8fbff; font-size:13px; }
.sim-checklist b { display:block; margin-bottom:4px; color:var(--navy); font-size:15px; }
.sim-phone-warning { margin-bottom:42px; padding:23px; border:1px solid #efc3bb; border-radius:18px; background:#fff3f1; }
.sim-phone-warning>div { display:grid; grid-template-columns:42px minmax(0,1fr); gap:12px; align-items:center; }
.sim-phone-warning>div>span { display:grid; place-items:center; width:40px; height:40px; border-radius:12px; color:#fff; background:#c9483c; font-size:23px; font-weight:900; }
.sim-phone-warning h2 { margin:0; color:#8d2e28; font-size:22px; line-height:1.25; }
.sim-phone-warning p { margin:13px 0 0; color:#76504d; font-size:13px; }
.sim-setup-steps { display:grid; gap:10px; margin:0 0 22px; padding:0; list-style:none; }
.sim-setup-steps>li { display:grid; grid-template-columns:42px minmax(0,1fr); gap:13px; padding:16px 18px; border:1px solid var(--line); border-radius:14px; background:#f9fbfd; }
.sim-setup-steps>li>span { display:grid; place-items:center; width:35px; height:35px; border-radius:50%; color:#fff; background:#1577aa; font-weight:900; }
.sim-setup-steps strong { color:var(--navy); font-size:17px; }
.sim-setup-steps p { margin:4px 0 0; color:var(--muted); font-size:13px; }
.sim-troubleshooting { margin-bottom:38px; padding:23px; border:1px solid #efd69b; border-radius:18px; background:#fffaf0; }
.sim-troubleshooting h2 { margin:0 0 12px; color:#775710; font-size:22px; }
.sim-troubleshooting ul { margin:0; padding-left:21px; color:#6d6041; font-size:13px; }
.sim-troubleshooting li+li { margin-top:6px; }
.sim-phrases { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.sim-phrases>div { min-width:0; padding:16px 18px; border:1px solid #cfe0e8; border-radius:14px; background:#f5fbfe; }
.sim-phrases strong,.sim-phrases span,.sim-phrases small { display:block; }
.sim-phrases strong { color:var(--navy); font-size:17px; overflow-wrap:anywhere; }
.sim-phrases span { margin:3px 0; color:#126b9b; font-size:12px; font-weight:700; }
.sim-phrases small { color:var(--muted); }
.sim-source-note { margin:15px 0 0; color:var(--muted); font-size:12px; }
@media(max-width:600px){.sim-guide>h2{font-size:24px}.sim-answer{grid-template-columns:50px minmax(0,1fr);padding:18px 16px}.sim-answer>span{width:47px;height:47px;font-size:12px}.sim-situation-grid,.sim-choice-grid,.sim-short-term,.sim-checklist,.sim-phrases{grid-template-columns:1fr}.sim-phone-warning,.sim-troubleshooting{padding:19px 15px}.sim-phone-warning h2{font-size:20px}.sim-setup-steps>li{padding:15px}}

/* Smoking rules for travelers. */
.smoking-guide { max-width:760px; margin-top:50px; padding-top:35px; border-top:1px solid var(--line); }
.smoking-guide>small,.smoking-products>small { color:#596873; font-weight:800; text-transform:uppercase; letter-spacing:.09em; }
.smoking-guide>h2,.smoking-products>h2 { margin:7px 0 16px; color:var(--navy); font-size:28px; line-height:1.25; }
.smoking-answer { display:grid; grid-template-columns:62px minmax(0,1fr); gap:15px; margin-bottom:35px; padding:22px 24px; border:1px solid #ced7dc; border-radius:18px; background:linear-gradient(145deg,#f3f6f7,#fff); }
.smoking-answer>span { display:grid; place-items:center; width:58px; height:58px; border-radius:50%; border:4px solid #c8483e; color:#c8483e; background:#fff; font-size:13px; font-weight:950; }
.smoking-answer strong { display:block; color:var(--navy); font-size:20px; }
.smoking-answer p { margin:5px 0 0; color:#596873; }
.smoking-decision { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin-bottom:18px; }
.smoking-decision article { display:grid; grid-template-columns:37px minmax(0,1fr); gap:11px; min-width:0; padding:17px; border:1px solid var(--line); border-radius:15px; background:#fff; }
.smoking-decision b { display:grid; place-items:center; width:35px; height:35px; border-radius:50%; color:#fff; background:#596873; }
.smoking-decision strong { color:var(--navy); font-size:16px; }
.smoking-decision p { margin:4px 0 0; color:var(--muted); font-size:13px; }
.smoking-age-warning { display:grid; grid-template-columns:58px minmax(0,1fr); gap:14px; align-items:center; margin-bottom:42px; padding:18px 20px; border:1px solid #edc2bc; border-radius:15px; background:#fff3f1; }
.smoking-age-warning>span { display:grid; place-items:center; width:54px; height:54px; border-radius:50%; color:#fff; background:#c8483e; font-weight:900; }
.smoking-age-warning strong { display:block; color:#8d3029; font-size:17px; }
.smoking-age-warning p { margin:4px 0 0; color:#76504d; font-size:13px; }
.smoking-places { display:grid; gap:9px; margin-bottom:42px; }
.smoking-places details { overflow:hidden; border:1px solid var(--line); border-radius:13px; background:#fff; }
.smoking-places summary { display:flex; align-items:center; gap:10px; padding:15px 17px; color:var(--navy); cursor:pointer; font-weight:800; list-style:none; }
.smoking-places summary::-webkit-details-marker { display:none; }
.smoking-places summary:before { content:'NO'; display:grid; place-items:center; flex:0 0 30px; width:30px; height:30px; border:2px solid #c8483e; border-radius:50%; color:#c8483e; font-size:9px; }
.smoking-places summary:after { content:'+'; margin-left:auto; color:#596873; font-size:22px; }
.smoking-places details[open] summary:after { content:'−'; }
.smoking-places details>div { padding:0 17px 18px; color:var(--muted); font-size:14px; }
.smoking-places details p { margin:0; }
.smoking-products { margin-bottom:18px; padding:25px; border:1px solid #cdd8de; border-radius:18px; background:linear-gradient(145deg,#f6f8f9,#fff); }
.smoking-products>div { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.smoking-products article { min-width:0; padding:16px; border:1px solid #dce3e7; border-radius:13px; background:#fff; }
.smoking-products b,.smoking-products strong { display:block; }
.smoking-products b { width:max-content; padding:5px 8px; border-radius:7px; color:#fff; background:#596873; font-size:11px; }
.smoking-products strong { margin:8px 0 5px; color:var(--navy); font-size:15px; }
.smoking-products p { margin:0; color:var(--muted); font-size:12px; }
.smoking-etiquette { margin-bottom:38px; padding:22px; border:1px solid #b9decf; border-radius:18px; background:#f1fbf7; }
.smoking-etiquette>div { display:grid; grid-template-columns:42px minmax(0,1fr); gap:12px; align-items:center; }
.smoking-etiquette>div>span { display:grid; place-items:center; width:40px; height:40px; border-radius:12px; color:#fff; background:#16845f; font-size:20px; font-weight:900; }
.smoking-etiquette h2 { margin:0; color:#116347; font-size:23px; }
.smoking-etiquette ul { margin:14px 0 0; padding-left:21px; color:#42675a; font-size:13px; }
.smoking-etiquette li+li { margin-top:6px; }
.smoking-phrases { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.smoking-phrases>div { min-width:0; padding:16px 18px; border:1px solid #d6dee2; border-radius:14px; background:#f7f9fa; }
.smoking-phrases strong,.smoking-phrases span,.smoking-phrases small { display:block; }
.smoking-phrases strong { color:var(--navy); font-size:17px; overflow-wrap:anywhere; }
.smoking-phrases span { margin:3px 0; color:#596873; font-size:12px; font-weight:700; }
.smoking-phrases small { color:var(--muted); }
.smoking-source-note { margin:15px 0 0; color:var(--muted); font-size:12px; }
@media(max-width:700px){.smoking-products>div{grid-template-columns:1fr}}
@media(max-width:560px){.smoking-guide>h2,.smoking-products>h2{font-size:24px}.smoking-answer{grid-template-columns:50px minmax(0,1fr);padding:18px 16px}.smoking-answer>span{width:47px;height:47px;font-size:11px}.smoking-decision,.smoking-phrases{grid-template-columns:1fr}.smoking-age-warning{grid-template-columns:48px minmax(0,1fr);padding:16px}.smoking-age-warning>span{width:45px;height:45px}.smoking-places summary{padding:13px}.smoking-places details>div{padding:0 13px 14px}.smoking-products,.smoking-etiquette{padding:19px 15px}.smoking-etiquette h2{font-size:20px}}

/* Article freshness and related-guide navigation */
.article-hero .article-updated{margin:14px 0 0;color:#526d88;font-size:13px;font-weight:700}
.article-hero .article-updated time{color:var(--navy)}
.related>small{color:var(--blue);font-size:12px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}
.related h2{margin:7px 0 18px;color:var(--navy)}
.related a{min-height:150px;background:#fff;transition:transform .2s,border-color .2s,box-shadow .2s}
.related a:hover{transform:translateY(-2px);border-color:#9fc9ef;box-shadow:0 10px 24px rgba(32,82,126,.09)}
.related a span{color:var(--blue);font-size:22px;font-weight:900}
.related-guide-image{display:block;width:100%;height:145px;margin-bottom:12px;border-radius:10px;background:#f3f9ff;object-fit:contain}
.related a strong{margin-top:10px;color:var(--navy);line-height:1.35}
.related a small{margin-top:auto;padding-top:14px}

/* Five traveler-help category pages */
.help-category-page{max-width:1180px;margin:auto;padding:36px 24px 100px}.help-category-hero{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:35px;align-items:center;padding:34px;border:1px solid var(--line);border-radius:24px;background:linear-gradient(135deg,#f3f9ff,#fff);box-shadow:0 14px 34px rgba(32,82,126,.08)}.help-category-hero h1{margin:5px 0 12px;color:var(--navy);font-size:clamp(38px,5vw,58px);line-height:1.05;letter-spacing:-.04em}.help-category-hero>div>p:last-child{max-width:620px;color:#49627b;font-size:17px}.help-category-hero img{display:block;width:100%;max-height:250px;object-fit:cover;border-radius:18px}.help-category-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0 55px}.help-category-tabs a{padding:9px 13px;border:1px solid var(--line);border-radius:999px;color:#48647f;background:#fff;font-size:13px;font-weight:800}.help-category-tabs a.is-current{border-color:var(--blue);color:#fff;background:var(--blue)}.help-category-guides,.help-category-official{margin-top:48px}.help-category-guides>small,.help-category-official>small{color:var(--blue);font-size:12px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.help-category-guides h2,.help-category-official h2{margin:6px 0 18px;color:var(--navy);font-size:30px}.help-category-guides>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.help-category-page--passport-entry .help-category-guides>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.help-category-guides a,.help-category-official a{display:flex;flex-direction:column;min-height:180px;padding:0;border:1px solid var(--line);border-radius:17px;background:#fff;overflow:hidden;transition:.2s}.help-category-guides a:hover,.help-category-official a:hover{transform:translateY(-3px);border-color:#9fc9ef;box-shadow:0 11px 26px rgba(32,82,126,.09)}.help-category-card-image{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;background:#eef6fc;border-bottom:1px solid #e0ebf4}.help-category-page--transport-help .help-category-guides .help-category-card-image{aspect-ratio:2.14/1}.help-category-page--transport-help .help-category-official .help-category-card-image,.help-category-page--money-payments .help-category-official .help-category-card-image{aspect-ratio:1.91/1}.help-category-page--money-payments .help-category-guides .help-category-card-image{aspect-ratio:1.445/1}.help-category-card-body{display:flex;flex:1;flex-direction:column;padding:20px}.help-category-guides strong,.help-category-official strong{color:var(--navy);font-size:18px}.help-category-card-body>span{margin-top:8px;color:var(--muted);font-size:13px}.help-category-card-body>b{margin-top:auto;padding-top:15px;color:var(--blue);font-size:13px}.help-category-official>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.help-category-page--transport-help .help-category-official>div,.help-category-page--money-payments .help-category-official>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.help-category-official{padding-top:38px;border-top:1px solid var(--line)}

.help-category-page--language-help .help-category-guides>div,.help-category-page--language-help .help-category-official>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.help-category-page--language-help .help-category-guides .help-category-card-image{aspect-ratio:1.93/1}.help-category-page--language-help .help-category-official .help-category-card-image{aspect-ratio:1.9/1}.help-category-page--health-emergency .help-category-guides .help-category-card-image{aspect-ratio:1.72/1}.help-category-page--health-emergency .help-category-official .help-category-card-image{aspect-ratio:1.63/1}
.help-category-page--connectivity .help-category-guides>div,.help-category-page--connectivity .help-category-official>div,.help-category-page--manners .help-category-official>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.help-category-page--connectivity .help-category-hero img,.help-category-page--manners .help-category-hero img{object-fit:contain}

/* Dedicated wide visuals supplied for these practical guides. Keep the subject visible on the right while preserving the text-safe area on the left. */
.article-hero--power-bank-charging-japan.has-image,.article-hero--taxi-ride-hailing-apps-japan.has-image,.article-hero--international-driving-permit-japan.has-image,.article-hero--shinkansen-oversized-baggage-japan.has-image,.article-hero--cash-atm-japan.has-image,.article-hero--airport-to-city-japan.has-image,.article-hero--kyoto-autumn-bus-crowds.has-image,.article-hero--autumn-hiking-bears-snow-japan.has-image,.article-hero--japan-autumn-leaves-not-at-peak.has-image,.article-hero--kyushu-recovery-support-discount-foreign-tourists.has-image{background-position:right center}
.help-category-card-image--power-bank-charging-japan,.help-category-card-image--taxi-ride-hailing-apps-japan,.help-category-card-image--international-driving-permit-japan,.help-category-card-image--shinkansen-oversized-baggage-japan,.help-category-card-image--cash-atm-japan,.help-category-card-image--airport-to-city-japan,.help-category-card-image--kyoto-autumn-bus-crowds,.help-category-card-image--autumn-hiking-bears-snow-japan,.help-category-card-image--japan-autumn-leaves-not-at-peak,.help-category-card-image--kyushu-recovery-support-discount-foreign-tourists{object-position:right center}
.timely-guide-card--power-bank-charging-japan .timely-guide-icon img,.timely-guide-card--taxi-ride-hailing-apps-japan .timely-guide-icon img,.timely-guide-card--international-driving-permit-japan .timely-guide-icon img,.timely-guide-card--cash-atm-japan .timely-guide-icon img,.timely-guide-card--airport-to-city-japan .timely-guide-icon img,.timely-guide-card--kyoto-autumn-bus-crowds .timely-guide-icon img,.timely-guide-card--autumn-hiking-bears-snow-japan .timely-guide-icon img,.timely-guide-card--japan-autumn-leaves-not-at-peak .timely-guide-icon img,.timely-guide-card--kyushu-recovery-support-discount-foreign-tourists .timely-guide-icon img{width:100%;height:100%;object-fit:cover;object-position:right center}

/* IC card and Japan Rail Pass guides */
.transport-product-guide{max-width:760px;margin-top:30px}.transport-product-guide>small{display:block;margin-top:38px;color:var(--blue);font-size:12px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.transport-product-guide>h2{margin:7px 0 18px;color:var(--navy);font-size:28px}.transport-product-answer{display:grid;grid-template-columns:68px minmax(0,1fr);gap:17px;align-items:center;padding:23px;border:1px solid #bcd9f2;border-radius:20px;background:linear-gradient(135deg,#edf8ff,#fff)}.transport-product-answer>span{display:grid;place-items:center;width:64px;height:64px;border-radius:17px;color:#fff;background:var(--blue);font-size:18px;font-weight:900}.transport-product-answer strong{display:block;color:var(--navy);font-size:21px}.transport-product-answer p{margin:5px 0 0;color:#49627b}.transport-choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.transport-choice-grid article{padding:18px;border:1px solid var(--line);border-radius:16px;background:#fff}.transport-choice-grid b{display:block;color:var(--blue);font-size:11px;text-transform:uppercase;letter-spacing:.06em}.transport-choice-grid strong{display:block;margin:7px 0;color:var(--navy)}.transport-choice-grid p{margin:0;color:var(--muted);font-size:13px}.transport-numbered-steps{display:grid;gap:11px;margin:0;padding:0;list-style:none}.transport-numbered-steps li{display:grid;grid-template-columns:42px minmax(0,1fr);gap:14px;padding:16px;border:1px solid var(--line);border-radius:15px;background:#fff}.transport-numbered-steps li>b{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;color:#fff;background:var(--blue)}.transport-numbered-steps strong{display:block;color:var(--navy)}.transport-numbered-steps p{margin:4px 0 0;color:var(--muted)}.transport-warning{margin:25px 0;padding:20px;border-left:5px solid #f06a62;border-radius:0 15px 15px 0;background:#fff3f1}.transport-warning>strong{color:#a8332d;font-size:18px}.transport-warning p{margin:6px 0 0}.transport-warning ul{margin:10px 0 0;padding-left:20px}.transport-warning li+li{margin-top:7px}.transport-fact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.transport-fact-grid>div{padding:17px;border-radius:14px;background:#f3f8fc}.transport-fact-grid strong{display:block;color:var(--navy)}.transport-fact-grid p{margin:5px 0 0;color:var(--muted);font-size:13px}.rail-price-table{overflow-x:auto;border:1px solid var(--line);border-radius:15px}.rail-price-table table{width:100%;min-width:650px;border-collapse:collapse;background:#fff}.rail-price-table th,.rail-price-table td{padding:13px 15px;border-bottom:1px solid var(--line);text-align:right}.rail-price-table thead th{color:#fff;background:var(--navy);font-size:12px}.rail-price-table th:first-child,.rail-price-table td:first-child{text-align:left}.rail-price-table tbody tr:last-child th,.rail-price-table tbody tr:last-child td{border-bottom:0}.transport-table-note,.transport-source-note{color:var(--muted);font-size:12px}.transport-extra-list{display:grid;gap:9px;padding:0;list-style:none}.transport-extra-list li{padding:15px 17px;border:1px solid var(--line);border-radius:13px;background:#fff}.transport-extra-list strong{color:var(--navy)}
@media(max-width:850px){.help-category-hero{grid-template-columns:1fr}.help-category-hero img{max-height:220px}.help-category-guides>div,.help-category-official>div{grid-template-columns:repeat(2,minmax(0,1fr))}.transport-choice-grid{grid-template-columns:1fr}}
@media(max-width:560px){.help-category-page{padding:28px 14px 75px}.help-category-hero{padding:20px}.help-category-hero h1{font-size:38px}.help-category-tabs{margin-bottom:42px}.help-category-guides>div,.help-category-official>div,.transport-fact-grid{grid-template-columns:1fr}.help-category-guides a,.help-category-official a{min-height:155px}.transport-product-answer{grid-template-columns:52px minmax(0,1fr);padding:18px 15px}.transport-product-answer>span{width:50px;height:50px}.transport-product-guide>h2{font-size:24px}}
@media(max-width:560px){.help-category-page--connectivity .help-category-guides>div,.help-category-page--connectivity .help-category-official>div,.help-category-page--manners .help-category-official>div{grid-template-columns:1fr}}

/* No-internet guide: cropped illustrations from the supplied visual references. */
.article-content .internet-step-image{display:block;width:min(100%,520px);height:250px;margin:14px 0 18px;border:1px solid #d5e4f1;border-radius:16px;background:#fff;object-fit:contain}
.article-content .internet-phrase{display:flow-root}
.article-content .internet-phrase-image{float:right;width:43%;max-width:430px;height:auto;margin:0 0 18px 25px;border:1px solid #d5e4f1;border-radius:18px;background:#fff}
.help-links .internet-resource-image{display:block;width:100%;height:190px;margin:0 0 15px;border-radius:12px;background:#f8fbff;object-fit:contain}
.help-links .wifi-choice-guide.has-illustration{display:grid;grid-template-columns:150px minmax(0,1fr);gap:7px 18px;align-items:center}
.help-links .wifi-choice-guide.has-illustration .wifi-choice-illustration{display:block;grid-column:1;grid-row:1 / span 5;width:100%;max-height:190px;border-radius:12px;background:#fff;object-fit:contain}
.help-links .wifi-choice-guide.has-illustration>strong{grid-column:2;grid-row:auto;justify-self:start}
.help-links .wifi-choice-guide.has-illustration>span{grid-column:2;grid-row:auto}
.related .related-guide-image{display:block;width:100%;height:170px;margin-bottom:12px;border-radius:10px;background:#f8fbff;object-fit:contain}
@media(max-width:620px){
  .article-content .internet-step-image{height:220px}
  .article-content .internet-phrase-image{float:none;width:100%;max-width:none;margin:0 0 18px}
  .help-links .internet-resource-image{height:170px}
  .help-links .wifi-choice-guide.has-illustration{grid-template-columns:86px minmax(0,1fr);gap:7px 12px}
  .help-links .wifi-choice-guide.has-illustration .wifi-choice-illustration{max-height:145px}
  .related .related-guide-image{height:155px}
}

/* Earthquake, typhoon and transport-disruption guide */
.disaster-guide,.pharmacy-guide{max-width:900px;margin-top:34px}
.disaster-guide>small,.pharmacy-guide>small{display:block;margin-top:42px;color:var(--blue);font-size:12px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.disaster-guide>h2,.pharmacy-guide>h2{margin:7px 0 18px;color:var(--navy);font-size:28px;line-height:1.2}
.disaster-first-action,.pharmacy-first-answer{display:grid;grid-template-columns:64px minmax(0,1fr);gap:17px;align-items:center;padding:22px;border:1px solid #bcd9f2;border-radius:20px;background:linear-gradient(135deg,#edf8ff,#fff)}
.disaster-first-action>span,.pharmacy-first-answer>span{display:grid;place-items:center;width:60px;height:60px;border-radius:17px;color:#fff;background:var(--blue);font-size:24px;font-weight:900}
.disaster-first-action strong,.pharmacy-first-answer strong{display:block;color:var(--navy);font-size:20px}
.disaster-first-action p,.pharmacy-first-answer p{margin:5px 0 0;color:#49627b}
.disaster-holiday-update{margin-top:18px;padding:22px;border:1px solid #efc879;border-radius:18px;background:#fff9ec}
.disaster-holiday-update small{color:#80551a;font-size:12px;font-weight:900;letter-spacing:.04em;text-transform:uppercase}
.disaster-holiday-update h2{margin:7px 0 10px;color:var(--navy);font-size:23px;line-height:1.25}
.disaster-holiday-update p,.disaster-holiday-update li{color:#4b5660;font-size:14px;line-height:1.65}
.disaster-holiday-update ol{display:grid;gap:8px;padding-left:22px}
.disaster-holiday-update .disaster-dated-note{margin-bottom:0;color:#765828;font-size:12px}
.disaster-alert-levels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.disaster-alert-levels>div{display:grid;grid-template-columns:75px minmax(0,1fr);gap:10px;align-items:start;padding:15px;border:1px solid var(--line);border-radius:13px;background:#fff}
.disaster-alert-levels b{color:var(--navy)}
.disaster-alert-levels span,.disaster-level-note{color:var(--muted);font-size:13px;line-height:1.6}
.disaster-level-note{margin:14px 0 0}
.disaster-faq{display:grid;gap:9px}
.disaster-faq details{padding:14px 17px;border:1px solid var(--line);border-radius:13px;background:#fff}
.disaster-faq summary{color:var(--navy);font-weight:800;cursor:pointer}
.disaster-faq p{margin:9px 0 0;color:var(--muted);font-size:13px;line-height:1.6}
.disaster-prepare-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.disaster-prepare-grid article{min-width:0;padding:16px;border:1px solid var(--line);border-radius:15px;background:#fff}
.disaster-prepare-grid b{display:grid;place-items:center;width:30px;height:30px;margin-bottom:12px;border-radius:50%;color:#fff;background:var(--blue)}
.disaster-prepare-grid strong{display:block;color:var(--navy);line-height:1.25}
.disaster-prepare-grid p{margin:6px 0 0;color:var(--muted);font-size:12px;line-height:1.55}
.disaster-split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:35px}
.disaster-split>article{padding:23px;border:1px solid var(--line);border-radius:18px;background:#fff}
.disaster-split .is-earthquake{border-top:5px solid #ed7066}
.disaster-split .is-typhoon{border-top:5px solid #3389d5}
.disaster-split small{color:var(--blue);font-weight:900;letter-spacing:.05em;text-transform:uppercase}
.disaster-split h2{margin:7px 0 17px;color:var(--navy);font-size:23px}
.disaster-split ol{display:grid;gap:12px;margin:0;padding:0;list-style:none}
.disaster-split li{display:grid;grid-template-columns:32px minmax(0,1fr);gap:10px;color:#49627b;font-size:13px}
.disaster-split li>b{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;color:#fff;background:var(--navy)}
.disaster-split li strong{display:block;margin-bottom:3px;color:var(--navy);font-size:14px}
.disaster-tsunami-warning,.pharmacy-safety-warning{margin:22px 0;padding:20px;border-left:5px solid #df3e36;border-radius:0 15px 15px 0;background:#fff2f1}
.disaster-tsunami-warning strong,.pharmacy-safety-warning>strong{color:#a92e28;font-size:18px}
.disaster-tsunami-warning p{margin:6px 0 0;color:#713d39}
.disruption-steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
.disruption-steps>div{display:grid;grid-template-columns:40px minmax(0,1fr);gap:12px;padding:16px;border:1px solid var(--line);border-radius:15px;background:#fff}
.disruption-steps>div>b{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;color:#fff;background:var(--blue)}
.disruption-steps strong{display:block;color:var(--navy)}
.disruption-steps span{color:var(--muted);font-size:13px}
.disaster-numbers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;margin-top:25px}
.disaster-numbers>div{display:flex;flex-direction:column;padding:18px;border:1px solid var(--line);border-radius:16px;background:#f7fbff}
.disaster-numbers strong{color:var(--navy);font-size:23px}
.disaster-numbers span{margin:5px 0 14px;color:var(--muted);font-size:12px}
.disaster-numbers a{margin-top:auto;padding:10px;border-radius:10px;color:#fff;background:var(--blue);text-align:center;font-size:13px;font-weight:900}
.disaster-source-note,.pharmacy-source-note{margin:16px 0 0;color:var(--muted);font-size:12px}

/* Pharmacy and drugstore guide */
.pharmacy-first-answer>span{font-size:14px;background:#16845f}
.pharmacy-choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}
.pharmacy-choice-grid article{padding:18px;border:1px solid var(--line);border-radius:16px;background:#fff}
.pharmacy-choice-grid strong{display:block;color:var(--navy);font-size:17px}
.pharmacy-choice-grid p{margin:6px 0 0;color:var(--muted);font-size:13px}
.pharmacy-symptom-guide,.pharmacy-classes{margin-top:34px;padding:22px;border-radius:18px;background:#f4f9fd}
.pharmacy-symptom-guide>small,.pharmacy-classes>small{color:var(--blue);font-size:12px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.pharmacy-symptom-guide h2,.pharmacy-classes h2{margin:7px 0 17px;color:var(--navy);font-size:24px}
.pharmacy-symptom-guide>div,.pharmacy-classes>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.pharmacy-symptom-guide span,.pharmacy-classes article{padding:15px;border:1px solid #d7e7f4;border-radius:13px;background:#fff;color:var(--muted);font-size:13px}
.pharmacy-symptom-guide b,.pharmacy-classes b{display:block;margin-bottom:4px;color:var(--navy)}
.pharmacy-classes p{margin:5px 0 0;color:var(--muted)}
.pharmacy-checklist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:0;padding:0;list-style:none}
.pharmacy-checklist li{padding:14px 16px;border:1px solid var(--line);border-radius:13px;background:#fff;color:var(--muted);font-size:13px}
.pharmacy-checklist b{color:var(--navy)}
.pharmacy-safety-warning ul{margin:10px 0 0;padding-left:20px;color:#713d39}
.pharmacy-safety-warning li+li{margin-top:7px}
.pharmacy-phrases{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.pharmacy-phrases>div{padding:17px;border:1px solid var(--line);border-radius:14px;background:#fff}
.pharmacy-phrases strong,.pharmacy-phrases span{display:block}
.pharmacy-phrases strong{color:var(--navy);font-size:17px}
.pharmacy-phrases span{margin:4px 0;color:#526d88;font-size:12px;font-weight:700}
.pharmacy-phrases p{margin:0;color:var(--muted);font-size:13px}
.emergency-disaster-link{border:1px solid #bcd9f2;background:#f5fbff}

@media(max-width:850px){
  .disaster-prepare-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .disaster-prepare-grid article:last-child{grid-column:1/3}
  .disaster-numbers{grid-template-columns:1fr}
  .emergency-other-help{grid-template-columns:1fr 1fr}
  .emergency-other-help .emergency-medical-link{grid-column:auto}
}
@media(max-width:620px){
  .disaster-guide>h2,.pharmacy-guide>h2{font-size:24px}
  .disaster-first-action,.pharmacy-first-answer{grid-template-columns:50px minmax(0,1fr);padding:18px 15px}
  .disaster-first-action>span,.pharmacy-first-answer>span{width:48px;height:48px}
  .disaster-first-action strong,.pharmacy-first-answer strong{font-size:17px}
  .disaster-prepare-grid,.disaster-alert-levels,.disaster-split,.disruption-steps,.pharmacy-choice-grid,.pharmacy-symptom-guide>div,.pharmacy-classes>div,.pharmacy-checklist,.pharmacy-phrases{grid-template-columns:1fr}
  .disaster-holiday-update{padding:17px 15px}
  .disaster-holiday-update h2{font-size:20px}
  .disaster-prepare-grid article:last-child{grid-column:auto}
  .disaster-split>article,.pharmacy-symptom-guide,.pharmacy-classes{padding:18px 15px}
  .emergency-other-help{grid-template-columns:1fr}
}

/* Shinkansen oversized-baggage guide */
.shinkansen-baggage-guide{max-width:900px;margin-top:34px}
.shinkansen-baggage-guide>small,.baggage-japanese-phrase>small,.baggage-delivery-cta small,.baggage-scope small{display:block;color:var(--blue);font-size:12px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.shinkansen-baggage-guide>small{margin-top:42px}
.shinkansen-baggage-guide>h2{margin:7px 0 18px;color:var(--navy);font-size:28px;line-height:1.2}
.baggage-measure-answer{display:grid;grid-template-columns:72px minmax(0,1fr);gap:18px;align-items:center;padding:23px;border:1px solid #bcd9f2;border-radius:20px;background:linear-gradient(135deg,#edf8ff,#fff)}
.baggage-measure-answer>span{display:grid;place-items:center;width:68px;height:68px;border-radius:18px;color:#fff;background:var(--blue);font-size:12px;font-weight:900}
.baggage-measure-answer strong{display:block;color:var(--navy);font-size:20px}
.baggage-measure-answer p{margin:5px 0 0;color:#49627b}
.baggage-size-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}
.baggage-size-grid article{padding:19px;border:1px solid var(--line);border-top:5px solid #2781d2;border-radius:16px;background:#fff}
.baggage-size-grid .is-oversized{border-top-color:#e9a122;background:#fffaf0}
.baggage-size-grid .is-too-large{border-top-color:#df4d46;background:#fff5f4}
.baggage-size-grid b{display:block;color:var(--blue);font-size:13px;text-transform:uppercase}
.baggage-size-grid .is-oversized b{color:#a86600}
.baggage-size-grid .is-too-large b{color:#ad322d}
.baggage-size-grid strong{display:block;margin:7px 0;color:var(--navy);font-size:17px;line-height:1.3}
.baggage-size-grid p{margin:0;color:var(--muted);font-size:13px}
.baggage-scope{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr);gap:20px;align-items:center;margin-top:30px;padding:22px;border-radius:18px;background:#f3f8fc}
.baggage-scope h2{margin:7px 0 9px;color:var(--navy);font-size:24px}
.baggage-scope p{margin:0;color:var(--muted)}
.baggage-scope img{display:block;width:100%;max-height:210px;border-radius:14px;background:#fff;object-fit:cover}
.baggage-2025-note{margin:22px 0;padding:20px;border-left:5px solid #2c83d0;border-radius:0 15px 15px 0;background:#eef7ff}
.baggage-2025-note strong{color:var(--navy);font-size:18px}
.baggage-2025-note p{margin:6px 0 0;color:#49627b}
.baggage-reservation-steps{display:grid;gap:10px;margin:0;padding:0;list-style:none}
.baggage-reservation-steps li{display:grid;grid-template-columns:42px minmax(0,1fr);gap:14px;padding:17px;border:1px solid var(--line);border-radius:15px;background:#fff;color:var(--muted)}
.baggage-reservation-steps li>b{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;color:#fff;background:var(--blue)}
.baggage-reservation-steps strong{display:block;margin-bottom:3px;color:var(--navy)}
.baggage-fee-warning{display:grid;grid-template-columns:90px minmax(0,1fr);gap:18px;align-items:center;margin:25px 0;padding:21px;border:1px solid #f1c4c0;border-radius:18px;background:#fff3f1}
.baggage-fee-warning>span{display:grid;place-items:center;min-height:64px;border-radius:14px;color:#fff;background:#d94841;font-size:20px;font-weight:900}
.baggage-fee-warning strong{display:block;color:#a92e28;font-size:18px}
.baggage-fee-warning p{margin:5px 0 0;color:#713d39}
.baggage-special-cases{margin-top:34px}
.baggage-special-cases h2{color:var(--navy);font-size:25px}
.baggage-special-cases>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}
.baggage-special-cases article{padding:17px;border:1px solid var(--line);border-radius:15px;background:#fff}
.baggage-special-cases strong{display:block;color:var(--navy);line-height:1.3}
.baggage-special-cases p{margin:7px 0 0;color:var(--muted);font-size:13px}
.baggage-delivery-cta{display:grid;grid-template-columns:minmax(240px,.8fr) minmax(0,1.2fr);gap:23px;align-items:center;margin-top:32px;padding:21px;border:1px solid #cce3d9;border-radius:19px;background:#f3fbf7}
.baggage-delivery-cta img{display:block;width:100%;max-height:220px;border-radius:14px;background:#fff;object-fit:cover}
.baggage-delivery-cta h2{margin:7px 0;color:var(--navy);font-size:24px}
.baggage-delivery-cta p{margin:0 0 14px;color:var(--muted)}
.baggage-delivery-cta a{display:inline-block;padding:11px 14px;border-radius:10px;color:#fff;background:#16845f;font-size:13px;font-weight:900}
.baggage-japanese-phrase{margin-top:26px;padding:21px;border:1px solid #efd7a8;border-radius:17px;background:#fff9ed}
.baggage-japanese-phrase strong,.baggage-japanese-phrase span{display:block}
.baggage-japanese-phrase strong{margin-top:8px;color:var(--navy);font-size:20px}
.baggage-japanese-phrase span{margin:4px 0;color:#6e5a36;font-size:12px;font-weight:700}
.baggage-japanese-phrase p{margin:0;color:#6e5a36}
.baggage-source-note{margin:16px 0 0;color:var(--muted);font-size:12px}
@media(max-width:760px){.baggage-size-grid,.baggage-special-cases>div{grid-template-columns:1fr}.baggage-scope,.baggage-delivery-cta{grid-template-columns:1fr}.baggage-scope img,.baggage-delivery-cta img{max-height:260px}}
@media(max-width:560px){.shinkansen-baggage-guide>h2{font-size:24px}.baggage-measure-answer{grid-template-columns:54px minmax(0,1fr);padding:18px 15px}.baggage-measure-answer>span{width:52px;height:52px;font-size:10px}.baggage-measure-answer strong{font-size:17px}.baggage-scope,.baggage-delivery-cta{padding:16px}.baggage-fee-warning{grid-template-columns:1fr;padding:17px}.baggage-fee-warning>span{min-height:50px}.baggage-japanese-phrase strong{font-size:17px}}

/* Immediate-help articles: a consistent answer visitors can scan in ten seconds */
.ten-second-answer{max-width:760px;margin:0 0 38px;padding:24px;border:2px solid #1670d2;border-radius:20px;background:linear-gradient(135deg,#eef7ff 0%,#fff 76%);box-shadow:0 12px 30px rgba(22,112,210,.09)}
.ten-second-label{display:inline-flex;padding:6px 10px;border-radius:999px;background:#1670d2;color:#fff;font-size:11px;font-weight:900;letter-spacing:.09em;text-transform:uppercase}
.ten-second-answer h2{margin:10px 0 7px;color:#092d59;font-size:26px;line-height:1.2}
.ten-second-summary{margin:0;color:#244d73;font-size:17px;font-weight:700;line-height:1.55}
.ten-second-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:19px 0 0;padding:0;list-style:none}
.ten-second-actions li{display:grid;grid-template-columns:30px minmax(0,1fr);gap:9px;align-items:center;min-height:64px;padding:11px;border:1px solid #cfe1f1;border-radius:13px;background:#fff;color:#123f70;font-size:13px;font-weight:800;line-height:1.35}
.ten-second-actions b{display:grid;place-items:center;width:29px;height:29px;border-radius:50%;background:#e4f1ff;color:#1268c7}
.ten-second-links{display:flex;flex-wrap:wrap;gap:9px;margin-top:17px}
.ten-second-links a{display:inline-flex;align-items:center;min-height:40px;padding:9px 13px;border:1px solid #bcd8ef;border-radius:11px;background:#fff;color:#075eb8;font-size:13px;font-weight:800}
.ten-second-links a:hover{border-color:#1670d2;background:#f6fbff}
.ten-second-links .ten-second-call{border-color:#efaaa5;background:#fff2f1;color:#b52f29}
.detailed-help-steps{margin-top:38px}
.detailed-help-steps>small{display:block;color:#1670d2;font-size:11px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.detailed-help-steps>h2{margin:6px 0 24px;color:#092d59;font-size:26px}
@media(max-width:650px){.ten-second-answer{padding:19px 16px;border-radius:17px}.ten-second-answer h2,.detailed-help-steps>h2{font-size:22px}.ten-second-summary{font-size:15px}.ten-second-actions{grid-template-columns:1fr;gap:8px}.ten-second-actions li{min-height:54px}.ten-second-links{display:grid}.ten-second-links a{justify-content:center;text-align:center}}

/* Interactive pre-trip checklist */
.pretrip-checklist{max-width:960px;margin:0 0 52px;padding:30px;border:1px solid #cddfec;border-radius:24px;background:#f7fbff;box-shadow:0 16px 38px rgba(32,82,126,.08)}
.pretrip-checklist-intro{display:grid;grid-template-columns:minmax(0,1fr) 108px;gap:22px;align-items:center}
.pretrip-checklist-intro>div>span{color:#1670d2;font-size:11px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.pretrip-checklist-intro h2{margin:7px 0;color:#092d59;font-size:32px;line-height:1.2}
.pretrip-checklist-intro p{max-width:680px;margin:0;color:#49647e}
.pretrip-progress{display:grid;place-items:center;align-content:center;width:104px;height:104px;border:8px solid #d9ebfa;border-radius:50%;background:#fff;color:#0b5fb6}
.pretrip-progress strong{font-size:24px;line-height:1}.pretrip-progress small{margin-top:5px;color:#58728a;font-size:10px;font-weight:800;text-transform:uppercase}
.pretrip-toolbar{display:flex;flex-wrap:wrap;gap:10px;margin:23px 0}
.pretrip-toolbar button{padding:11px 15px;border:1px solid #b9d4e9;border-radius:11px;background:#fff;color:#0b5fb6;font:inherit;font-size:13px;font-weight:900;cursor:pointer}
.pretrip-toolbar button:first-child{border-color:#1670d2;background:#1670d2;color:#fff}
.pretrip-sections{display:grid;gap:17px}
.pretrip-sections>section{overflow:hidden;border:1px solid #d3e2ee;border-radius:18px;background:#fff}
.pretrip-sections>section>header{display:flex;gap:12px;align-items:center;padding:17px 20px;background:#edf6ff}
.pretrip-sections>section>header span{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#1670d2;color:#fff;font-weight:900}
.pretrip-sections>section>header h2{margin:0;color:#092d59;font-size:21px}
.pretrip-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
.pretrip-items article{position:relative;padding:18px 20px;border-top:1px solid #e1ebf3}
.pretrip-items article:nth-child(odd){border-right:1px solid #e1ebf3}
.pretrip-items label{display:grid;grid-template-columns:25px minmax(0,1fr);gap:10px;align-items:start;color:#123f70;cursor:pointer}
.pretrip-items input{position:absolute;opacity:0;pointer-events:none}
.pretrip-items label>span{display:grid;place-items:center;width:23px;height:23px;border:2px solid #9dbdd7;border-radius:7px;background:#fff}
.pretrip-items label>span:after{content:'✓';opacity:0;color:#fff;font-weight:900;transform:scale(.6)}
.pretrip-items input:focus-visible+span{outline:3px solid #9ccfff;outline-offset:2px}
.pretrip-items input:checked+span{border-color:#16845f;background:#16845f}
.pretrip-items input:checked+span:after{opacity:1;transform:scale(1)}
.pretrip-items input:checked~strong{text-decoration:line-through;text-decoration-color:#7fa895;color:#557168}
.pretrip-items p{margin:8px 0 0 35px;color:#526d88;font-size:13px;line-height:1.55}
.pretrip-items a{display:inline-block;margin:9px 0 0 35px;color:#0965c4;font-size:12px;font-weight:900}
.pretrip-finish-note{margin-top:20px;padding:18px 20px;border-left:5px solid #e1a125;border-radius:0 14px 14px 0;background:#fff8e9}
.pretrip-finish-note strong{color:#815600}.pretrip-finish-note p{margin:5px 0 0;color:#6a5737}
@media(max-width:720px){.pretrip-checklist{padding:21px 15px;border-radius:19px}.pretrip-checklist-intro{grid-template-columns:minmax(0,1fr) 78px;gap:12px}.pretrip-checklist-intro h2{font-size:25px}.pretrip-progress{width:74px;height:74px;border-width:6px}.pretrip-progress strong{font-size:18px}.pretrip-items{grid-template-columns:1fr}.pretrip-items article:nth-child(odd){border-right:0}.pretrip-sections>section>header{padding:14px}.pretrip-items article{padding:16px 14px}.pretrip-items p,.pretrip-items a{margin-left:35px}}
@media print{.site-header,.breadcrumbs,.article-hero,.pretrip-toolbar,.help-links,.related,.site-footer{display:none!important}.article-page{max-width:none;padding:0}.pretrip-checklist{max-width:none;margin:0;padding:0;border:0;box-shadow:none;background:#fff}.pretrip-checklist-intro h2{font-size:24px}.pretrip-sections{gap:8px}.pretrip-sections>section{break-inside:avoid}.pretrip-sections>section>header{padding:9px 12px}.pretrip-items article{padding:9px 12px}.pretrip-items p{font-size:10px}.pretrip-items a{display:none}.pretrip-finish-note{font-size:11px}}

/* Japanese phrase cards: a practical screen visitors can show directly to staff */
.phrase-tool-promo{display:grid;grid-template-columns:78px minmax(0,1fr) auto;gap:20px;align-items:center;margin:38px auto;max-width:1230px;padding:22px 26px;border:1px solid #cbdff0;border-radius:22px;background:linear-gradient(135deg,#eef7ff,#fff);box-shadow:0 12px 30px rgba(22,112,210,.07)}
.phrase-tool-promo-icon{display:grid;place-items:center;width:74px;height:74px;border-radius:19px;background:#fff}.phrase-tool-promo-icon img{width:54px;height:54px;object-fit:contain}.phrase-tool-promo small,.show-phrase-intro span{color:#1670d2;font-size:11px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.phrase-tool-promo h2{margin:4px 0;color:#092d59;font-size:25px}.phrase-tool-promo p{margin:0;color:#526d88}.phrase-tool-promo>a{display:inline-flex;align-items:center;gap:9px;padding:13px 16px;border-radius:12px;background:#1670d2;color:#fff;font-size:13px;font-weight:900;text-align:center}.phrase-tool-promo>a:hover{background:#0c5eb8}
.show-phrase-tool{max-width:1040px;margin:0 0 52px;padding:30px;border:1px solid #cddfec;border-radius:24px;background:#f7fbff;box-shadow:0 16px 38px rgba(32,82,126,.08)}
.show-phrase-intro{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:22px;align-items:center}.show-phrase-intro h2{margin:7px 0;color:#092d59;font-size:32px;line-height:1.2}.show-phrase-intro p{max-width:720px;margin:0;color:#49647e}.show-phrase-intro button,.phrase-filters button,.show-phrase-grid button,.phrase-dialog button{border:0;font:inherit;cursor:pointer}.show-phrase-intro>button{padding:11px 15px;border-radius:11px;background:#1670d2;color:#fff;font-size:13px;font-weight:900}
.phrase-filters{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0}.phrase-filters button{padding:9px 13px;border:1px solid #bcd5e9;border-radius:999px;background:#fff;color:#295777;font-size:12px;font-weight:800}.phrase-filters button.is-active{border-color:#1670d2;background:#1670d2;color:#fff}.phrase-filters button:focus-visible,.show-phrase-grid button:focus-visible,.phrase-dialog button:focus-visible{outline:3px solid #86c4ff;outline-offset:2px}
.show-phrase-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.show-phrase-grid article{display:flex;flex-direction:column;min-height:260px;padding:22px;border:1px solid #d3e2ee;border-radius:18px;background:#fff}.show-phrase-grid article[hidden]{display:none}.show-phrase-grid small{color:#1670d2;font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.show-phrase-grid h3{margin:8px 0 15px;color:#335b7c;font-size:15px;line-height:1.45}.show-phrase-grid strong{display:block;color:#092d59;font-family:"Yu Gothic","Hiragino Kaku Gothic ProN",sans-serif;font-size:25px;line-height:1.45}.show-phrase-grid p{margin:8px 0 20px;color:#61768a;font-size:12px}.show-phrase-grid article>div{display:flex;gap:8px;margin-top:auto}.show-phrase-grid button{padding:10px 12px;border-radius:10px;font-size:12px;font-weight:900}.phrase-show-button{background:#1670d2;color:#fff}.phrase-copy-button{border:1px solid #bcd5e9!important;background:#f7fbff;color:#0b61b9}.phrase-privacy-note{margin:21px 0 0;padding:15px;border-left:4px solid #e1a125;background:#fff8e9;color:#665538;font-size:13px}
.phrase-dialog{width:min(900px,calc(100% - 30px));padding:42px 34px;border:0;border-radius:26px;background:#fff;color:#092d59;box-shadow:0 25px 80px rgba(2,28,54,.35);text-align:center}.phrase-dialog::backdrop{background:rgba(5,28,52,.76)}.phrase-dialog-close{position:absolute;top:13px;right:15px;width:42px;height:42px;border-radius:50%;background:#eef5fb;color:#164e7e;font-size:27px}.phrase-dialog>small{display:inline-block;padding:6px 10px;border-radius:999px;background:#e7f3ff;color:#1670d2;font-weight:900;text-transform:uppercase}.phrase-dialog>p:first-of-type{margin:19px auto 14px;color:#4b6781;font-size:18px}.phrase-dialog>strong{display:block;margin:18px auto;color:#092d59;font-family:"Yu Gothic","Hiragino Kaku Gothic ProN",sans-serif;font-size:clamp(38px,6vw,72px);line-height:1.4}.phrase-dialog>span{display:block;color:#657b8f;font-size:15px}.phrase-dialog>div{display:flex;justify-content:center;gap:10px;margin-top:28px}.phrase-dialog>div button{padding:12px 17px;border-radius:11px;background:#1670d2;color:#fff;font-size:13px;font-weight:900}.phrase-dialog>div button+button{background:#eef5fb;color:#0d5da9}.phrase-copy-status{min-height:22px;margin:14px 0 0!important;color:#16845f!important;font-size:13px!important;font-weight:800}
@media(max-width:760px){.phrase-tool-promo{grid-template-columns:58px minmax(0,1fr);margin:28px 18px;padding:18px}.phrase-tool-promo-icon{width:56px;height:56px}.phrase-tool-promo-icon img{width:42px;height:42px}.phrase-tool-promo h2{font-size:20px}.phrase-tool-promo>a{grid-column:1/-1;justify-content:center}.show-phrase-tool{padding:21px 15px;border-radius:19px}.show-phrase-intro{grid-template-columns:1fr}.show-phrase-intro h2{font-size:25px}.show-phrase-intro>button{justify-self:start}.show-phrase-grid{grid-template-columns:1fr}.show-phrase-grid article{min-height:230px;padding:18px}.show-phrase-grid strong{font-size:22px}.phrase-dialog{padding:50px 18px 28px}.phrase-dialog>div{display:grid}.phrase-dialog>strong{font-size:clamp(34px,11vw,52px)}}
@media print{.phrase-tool-promo,.phrase-filters,.show-phrase-intro>button,.phrase-privacy-note,.phrase-dialog:not([open]),.show-phrase-grid article>div{display:none!important}.show-phrase-tool{max-width:none;margin:0;padding:0;border:0;box-shadow:none;background:#fff}.show-phrase-grid{grid-template-columns:repeat(2,1fr);gap:8px}.show-phrase-grid article{display:block!important;min-height:0;padding:12px;break-inside:avoid}.show-phrase-grid strong{font-size:18px}.show-phrase-grid h3,.show-phrase-grid p{margin:4px 0;font-size:10px}.phrase-dialog[open].is-printing{position:static;display:block;width:100%;max-width:none;padding:40px 0;border:0;box-shadow:none}.phrase-dialog[open].is-printing~*{display:none!important}.phrase-dialog.is-printing .phrase-dialog-close,.phrase-dialog.is-printing>div,.phrase-dialog.is-printing .phrase-copy-status{display:none!important}}

/* Editorial trust, author attribution and About pages */
.article-byline{max-width:760px;display:grid;grid-template-columns:52px minmax(0,1fr);gap:14px;align-items:center;margin:-12px 0 32px;padding:15px 17px;border:1px solid #d5e4f1;border-radius:16px;background:#f8fbfe}
.article-byline>span{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:#e4f2ff;color:#1268c7;font-size:12px;font-weight:900;letter-spacing:.04em}
.article-byline small,.article-byline strong{display:block}.article-byline small{color:#607990;font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.article-byline strong{margin-top:2px;color:#092d59;font-size:15px}.article-byline p{margin:3px 0 0;color:#526d88;font-size:12px;line-height:1.45}.article-byline a{color:#0b63bd;font-weight:900}
.about-intro{margin-bottom:26px;padding:27px;border:1px solid #cfe2f2;border-radius:21px;background:linear-gradient(135deg,#eef7ff 0%,#fff 78%)}
.about-intro>span{color:#1670d2;font-size:11px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.about-intro h2{margin:7px 0 10px!important;color:#092d59;font-size:30px!important;line-height:1.2}.about-intro p{margin:0!important;color:#3f607d!important}
.about-purpose-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;margin:0 0 40px}.about-purpose-grid section{padding:18px;border:1px solid var(--line);border-radius:15px;background:#fff}.about-purpose-grid strong{display:block;color:var(--navy);font-size:16px}.about-purpose-grid p{margin:7px 0 0!important;color:var(--muted)!important;font-size:13px!important;line-height:1.55}
.about-editor-profile{display:grid;grid-template-columns:70px minmax(0,1fr);gap:17px;align-items:center;margin:18px 0 12px;padding:20px;border:1px solid #cfe2f2;border-radius:18px;background:linear-gradient(135deg,#edf7ff,#fff)}.about-editor-mark{display:grid;place-items:center;width:64px;height:64px;border-radius:18px;background:#1670d2;color:#fff;font-size:28px;font-weight:900}.about-editor-profile small{color:#1670d2;font-size:10px;font-weight:900;letter-spacing:.09em;text-transform:uppercase}.about-editor-profile h3{margin:3px 0 7px!important;color:#092d59;font-size:23px!important}.about-editor-profile h3 span{font-size:13px;font-weight:800;color:#5d7690}.about-editor-profile p{margin:0!important;color:#46647e!important;font-size:14px!important}.about-editor-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 25px}.about-editor-facts span{padding:13px 15px;border:1px solid var(--line);border-radius:13px;background:#fff;color:var(--muted);font-size:12px}.about-editor-facts strong{display:block;color:var(--navy);font-size:15px}
.about-review-steps{display:grid;gap:10px;margin:20px 0 34px;padding:0;list-style:none;counter-reset:review}.about-review-steps li{counter-increment:review;display:grid;grid-template-columns:38px minmax(0,1fr);gap:12px;padding:15px;border:1px solid var(--line);border-radius:14px;background:#fff}.about-review-steps li:before{content:counter(review);display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--blue);color:#fff;font-weight:900}.about-review-steps strong,.about-review-steps span{display:block}.about-review-steps strong{color:var(--navy)}.about-review-steps span{margin-top:3px;color:var(--muted);font-size:14px;line-height:1.55}
.about-policy-callout{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;margin:35px 0;padding:22px;border-radius:18px;background:#102f54;color:#fff}.about-policy-callout small{font-size:10px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.about-policy-callout strong{display:block;margin:5px 0;font-size:20px}.about-policy-callout p{margin:0!important;color:#d9e9f7!important;font-size:14px!important}.about-policy-callout a{padding:11px 14px;border-radius:10px;background:#fff;color:#0b5fb6!important;text-decoration:none!important;font-size:12px;font-weight:900;text-align:center}
.about-limit-note{margin:28px 0;padding:18px 20px;border-left:5px solid #e1a125;border-radius:0 14px 14px 0;background:#fff8e9}.about-limit-note strong{color:#815600}.about-limit-note p{margin:5px 0 0!important;color:#6a5737!important;font-size:14px!important}.about-reviewed{color:#6a7e91!important;font-size:12px!important;font-weight:800}
.editorial-source-levels{display:grid;gap:10px;margin:18px 0 34px}.editorial-source-levels section{display:grid;grid-template-columns:44px minmax(0,1fr);gap:13px;padding:16px;border:1px solid var(--line);border-radius:14px;background:#fff}.editorial-source-levels section>span{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:#e7f3ff;color:#1670d2;font-size:12px;font-weight:900}.editorial-source-levels strong{display:block;color:var(--navy)}.editorial-source-levels p{margin:4px 0 0!important;color:var(--muted)!important;font-size:14px!important;line-height:1.55}
@media(max-width:700px){.article-byline{margin:-6px 0 26px;padding:13px}.about-purpose-grid,.about-editor-facts{grid-template-columns:1fr}.about-editor-profile{grid-template-columns:54px minmax(0,1fr);padding:17px}.about-editor-mark{width:50px;height:50px;border-radius:14px;font-size:23px}.about-editor-profile h3{font-size:20px!important}.about-editor-profile h3 span{display:block;margin-top:2px}.about-intro{padding:21px 18px}.about-intro h2{font-size:25px!important}.about-policy-callout{grid-template-columns:1fr}.about-policy-callout a{justify-self:start}.editorial-source-levels section{grid-template-columns:38px minmax(0,1fr)}.editorial-source-levels section>span{width:36px;height:36px}}

/* Consent Mode v2 choice panel. */
.jjg-consent{position:fixed;z-index:99999;left:18px;right:18px;bottom:18px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;max-width:1080px;margin:auto;padding:14px 18px;border:1px solid #bcd5e9;border-radius:15px;background:#fff;box-shadow:0 12px 35px rgba(4,31,59,.2);color:#244d73}
.jjg-consent[hidden]{display:none}.jjg-consent strong{display:block;color:#092d59;font-size:16px}.jjg-consent p{max-width:720px;margin:3px 0 0;color:#49647e;font-size:12px;line-height:1.4}.jjg-consent a{color:#0b63bd;font-size:12px;font-weight:900}.jjg-consent-actions{display:flex;gap:8px}.jjg-consent button{min-height:44px;padding:8px 12px;border:1px solid #b8d1e6;border-radius:10px;background:#fff;color:#185481;font:inherit;font-size:12px;font-weight:900;cursor:pointer}.jjg-consent button:last-child{border-color:#1670d2;background:#1670d2;color:#fff}.jjg-consent button:focus-visible{outline:3px solid #8ec8ff;outline-offset:2px}
@media(max-width:760px){.jjg-consent{grid-template-columns:1fr;gap:8px;left:8px;right:8px;bottom:8px;padding:11px 12px}.jjg-consent-actions{display:grid;grid-template-columns:1fr 1fr}.jjg-consent button{padding:8px 5px}}

/* Homepage focus for Japan's official Disaster Prevention Week and evergreen safety guidance. */
.disaster-focus{display:grid;grid-template-columns:minmax(0,1fr) minmax(330px,44%);max-width:1230px;margin:38px auto;padding:0;overflow:hidden;border:1px solid #bed7ec;border-radius:25px;background:linear-gradient(135deg,#edf7ff,#fff);box-shadow:0 16px 38px rgba(32,82,126,.10)}
.disaster-focus-copy{padding:34px 36px}.disaster-focus-copy>small{display:inline-block;padding:6px 10px;border-radius:999px;background:#fff0df;color:#a85b00;font-size:11px;font-weight:900;letter-spacing:.07em;text-transform:uppercase}.disaster-focus h2{margin:12px 0 10px;color:#092d59;font-size:clamp(27px,3vw,38px);line-height:1.15}.disaster-focus p{max-width:650px;margin:0;color:#46647e;line-height:1.65}
.disaster-focus-copy>div{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.disaster-focus-copy>div a{display:inline-flex;align-items:center;gap:7px;padding:12px 15px;border-radius:11px;font-size:13px;font-weight:900}.disaster-focus-primary{background:#1670d2;color:#fff}.disaster-focus-primary:hover{background:#0c5eb8}.disaster-focus-secondary{border:1px solid #b8d2e7;background:#fff;color:#0b5fb6}.disaster-focus-official{display:inline-block;margin-top:15px;color:#516f88;font-size:11px;font-weight:800;text-decoration:underline}
.disaster-focus-image{display:block;min-height:320px;overflow:hidden;background:#dcebf6}.disaster-focus-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .25s ease}.disaster-focus-image:hover img{transform:scale(1.02)}
@media(max-width:760px){.disaster-focus{grid-template-columns:1fr;margin:28px 18px}.disaster-focus-copy{padding:24px 20px}.disaster-focus h2{font-size:27px}.disaster-focus-copy>div{display:grid}.disaster-focus-copy>div a{justify-content:center;text-align:center}.disaster-focus-image{min-height:210px;grid-row:1}.disaster-focus-image img{min-height:210px}}
