:root{--ink:#16243a;--body:#3c485a;--muted:#6b7787;--blue:#1677ee;--deep:#0a315e;--soft:#edf5ff;--pale:#f7faff;--line:rgba(22,119,238,.12);--sh:0 12px 34px rgba(30,72,120,.08);--header-height:76px;--content:1320px;--radius:15px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:#fff;color:var(--body);font-family:-apple-system,BlinkMacSystemFont,'Segoe UI','PingFang SC','Microsoft YaHei',sans-serif;font-size:16px;line-height:1.75;min-width:0;overflow-x:clip}body.layer-open{overflow:hidden}h1,h2,h3,h4,p,figure,blockquote{margin-top:0}h1,h2,h3,h4{color:var(--ink);line-height:1.35;letter-spacing:-.02em}h1{font-size:42px}h2{font-size:31px}h3{font-size:20px}p{margin-bottom:15px}a{color:inherit;text-decoration:none}a,button,input{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #74baff;outline-offset:3px}button,input{font:inherit}button{cursor:pointer}img{max-width:100%;height:auto;vertical-align:middle}strong,b{font-weight:700}.wrap{width:min(var(--content),calc(100% - 48px));margin-inline:auto}.article-width{max-width:840px}.eyebrow,.micro-label{font-size:12px;letter-spacing:.15em;color:var(--blue);font-weight:750}.section{padding-block:54px}.section.soft{background:var(--pale)}.section.blue-soft{background:var(--soft)}.section.dark{background:var(--deep);color:#dceeff}.section.dark h2,.section.dark h3,.section.dark strong,.section.dark .section-header p{color:#fff}.section-header{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:26px}.section-header h2{margin:3px 0 7px}.section-header p{color:var(--muted);margin:0;max-width:740px}.section-header .text-link{white-space:nowrap}.text-link{color:#075fc6;font-weight:750;display:inline-flex;align-items:center;gap:8px;min-height:44px}.text-link:hover{text-decoration:underline}.text-link:after{content:'↗';font-size:18px}.section.dark .text-link{color:#9fd0ff}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:46px;padding:9px 20px;border-radius:10px;font-size:15px;font-weight:750;white-space:nowrap;border:1px solid transparent;transition:background .18s,transform .18s,box-shadow .18s}.btn-primary{background:linear-gradient(135deg,#3998ff,#1677ee 55%,#075fc6);color:#fff;box-shadow:0 10px 26px rgba(22,119,238,.16)}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 14px 32px rgba(22,119,238,.26)}.btn-outline{color:#085eb5;border-color:#85b7eb;background:#fff}.btn-outline:hover{background:#edf5ff}.btn-group{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.copy{font-size:16px;line-height:1.85}.copy p+p{margin-top:12px}
/* Header background is independent of all content containers. */
.site-header{position:sticky;top:0;z-index:60;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 3px 17px rgba(10,49,94,.045);width:100%;height:var(--header-height)}.site-header-inner{width:min(1320px,calc(100% - 32px));height:100%;margin:auto;display:flex;align-items:center;gap:14px}.brand-link{display:flex;align-items:center;gap:9px;min-width:0;order:0;flex-shrink:0}.brand-image{position:relative;display:flex;align-items:center;justify-content:center;flex:0 0 auto;width:42px;height:42px;border-radius:12px;overflow:hidden;background:linear-gradient(135deg,#237ff0,#07498d);color:#fff;box-shadow:0 8px 22px rgba(22,119,238,.13)}.brand-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#fff;z-index:1}.brand-fallback{color:#fff;font-weight:900;font-size:14px;letter-spacing:-.12em;position:relative;left:-2px}.brand-wordmark{color:#12365c;font-size:20px;font-weight:850;line-height:1.12;white-space:nowrap}.brand-wordmark small{display:block;color:#4a8ecb;font-size:9px;letter-spacing:.16em;margin-top:4px}.header-navigation{order:1;flex:1;display:flex;justify-content:center;gap:3px;min-width:0}.header-navigation a{min-height:44px;display:flex;align-items:center;justify-content:center;padding:0 13px;border-radius:9px;font-size:15px;font-weight:650;white-space:nowrap;color:#33465b}.header-navigation a.selected,.header-navigation a:hover{color:#0865c6;background:#ebf5ff}.header-navigation a.selected:before{content:'•';margin-right:6px}.head-utilities{order:2;display:flex;align-items:center;gap:4px;flex-shrink:0}.small-nav{min-height:44px;padding:0 12px;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;border-radius:8px}.small-nav:hover{background:var(--soft);color:var(--blue)}.app-link{background:#e9f4ff;color:#0966cc}.head-action{border:0;background:none;display:flex;align-items:center;justify-content:center;flex:0 0 44px;width:44px;min-height:44px;height:44px;border-radius:10px;color:#0a315e}.head-action:hover,.head-action[aria-expanded=true]{background:var(--soft)}.menu-icon{order:3;flex-direction:column;gap:5px}.menu-icon span{display:block;width:20px;height:2px;background:#103760;border-radius:3px}.magnifier{width:18px;height:18px;border:2px solid currentColor;border-radius:100%;position:relative}.magnifier:after{content:'';position:absolute;width:8px;height:2px;right:-6px;bottom:-3px;background:currentColor;transform:rotate(47deg);border-radius:2px}.site-main{min-height:55vh}
/* No broken images, even when JS is off: optional assets are guarded by is_file(). */
.media-slot{position:relative;overflow:hidden;border-radius:var(--radius);background:linear-gradient(125deg,#cfe6ff 0%,#ecf6ff 47%,#fff 100%);isolation:isolate;min-height:170px}.media-slot img{display:block;position:relative;width:100%;height:100%;object-fit:contain;object-position:center;z-index:2}.media-fallback{position:absolute;inset:0;overflow:hidden;pointer-events:none}.media-fallback i{position:absolute;display:block;border-radius:50%;border:1px solid rgba(27,113,220,.18)}.media-fallback i:nth-child(1){width:72%;aspect-ratio:1;right:-17%;top:-54%;background:linear-gradient(135deg,rgba(56,149,255,.12),rgba(255,255,255,.05))}.media-fallback i:nth-child(2){width:50%;aspect-ratio:1;left:-19%;bottom:-74%;border:24px solid rgba(22,119,238,.065)}.media-fallback i:nth-child(3){width:33%;aspect-ratio:1;right:21%;bottom:-35%;border:25px solid rgba(87,175,255,.095)}.media-label{position:absolute;left:19px;bottom:14px;color:#184876;background:rgba(255,255,255,.82);backdrop-filter:blur(3px);font-size:13px;font-weight:750;letter-spacing:.08em;padding:5px 12px;border-radius:5px;z-index:3}
/* Home identity */
.home-hero{padding-top:20px;background:#fff}.hero-banner{position:relative;width:100%;aspect-ratio:16/7;max-height:520px;min-height:195px;border-radius:18px;background:linear-gradient(120deg,#0b478b 0%,#1677ee 48%,#83c6ff 100%);overflow:hidden;isolation:isolate}.hero-banner::before{content:'';position:absolute;inset:-50% auto auto -14%;width:83%;aspect-ratio:1;border-radius:50%;border:90px solid rgba(255,255,255,.14);pointer-events:none}.hero-banner::after{content:'';position:absolute;right:-5%;bottom:-85%;width:71%;aspect-ratio:1;border-radius:50%;border:90px solid rgba(255,255,255,.12);pointer-events:none}.hero-banner img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center;z-index:2}.hero-fallback-type{position:absolute;z-index:1;left:5%;bottom:11%;color:#fff;font-size:clamp(32px,7vw,94px);font-weight:850;letter-spacing:.03em;line-height:1.02;text-shadow:0 8px 35px rgba(0,45,100,.24);pointer-events:none}.hero-fallback-type span{display:block;font-size:clamp(11px,1.5vw,21px);font-weight:600;letter-spacing:.35em;margin-bottom:8px;color:#dceeff}.hero-story{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:28px 3px 31px}.hero-story h1{font-size:clamp(30px,3.7vw,52px);margin:4px 0 12px;color:#122d4d}.hero-story p{max-width:790px;margin:0;color:#4a6076;line-height:1.85}.hero-story .btn-group{flex-shrink:0}.shortcut-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.shortcut{background:#f4f9ff;border:1px solid var(--line);border-radius:13px;padding:18px 19px;display:block;min-height:118px;transition:transform .2s,box-shadow .2s}.shortcut:hover{transform:translateY(-3px);box-shadow:var(--sh)}.shortcut .shortcut-num{display:block;color:var(--blue);font-size:13px;font-weight:800;letter-spacing:.05em}.shortcut strong{font-size:17px;color:#162f50;display:block;margin-top:5px}.shortcut p{font-size:13px;line-height:1.65;margin:4px 0 0;color:#5e7388}
/* Editorial compositions */
.editors-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.85fr) minmax(0,.85fr);grid-auto-flow:row;gap:15px}.editor-feature{grid-row:span 2;min-height:445px;display:flex;flex-direction:column;justify-content:flex-end;background:linear-gradient(151deg,#0b366b,#0b66ba 64%,#278cf4);padding:30px;border-radius:15px;color:#fff;position:relative;overflow:hidden}.editor-feature::before{content:'';position:absolute;right:-70px;top:-90px;width:280px;height:280px;border-radius:50%;border:40px solid rgba(255,255,255,.08);pointer-events:none}.editor-feature h3{font-size:28px;color:#fff;max-width:420px;margin:14px 0 12px}.editor-feature p{color:#dceeff;max-width:460px}.editor-feature .text-link{color:#fff}.editor-card{min-height:207px;background:#fff;border-radius:14px;border:1px solid var(--line);padding:22px 24px;position:relative;box-shadow:0 8px 20px rgba(40,92,146,.035)}.editor-card h3{margin:4px 0 8px;font-size:19px}.editor-card p{font-size:14px;line-height:1.75;max-width:400px;margin:0}.editor-card .text-link{margin-top:4px;font-size:14px}.editor-card:nth-child(3){background:#edf6ff}.editor-card:nth-child(5){background:#f4f9ff}.mini-roundup{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:16px}.mini-roundup a{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:16px 20px;border-left:3px solid #3194ff;background:#f7fbff;border-radius:7px;font-weight:650;font-size:14px}.mini-roundup a:hover{background:#e4f2ff}.split-feature{display:grid;grid-template-columns:1.08fr .92fr;align-items:center;gap:38px}.split-feature .media-slot{height:340px}.split-feature h2{font-size:clamp(26px,3vw,34px)}.split-feature .copy{max-width:560px}.micro-stats{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0}.micro-stats span{padding:7px 13px;border:1px solid #c9e4ff;background:#f2f9ff;color:#1267c6;font-size:13px;font-weight:650;border-radius:6px}.weekend-plan{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;border-radius:14px;overflow:hidden;background:#cde1f7;border:1px solid #cde1f7}.plan-point{background:#fff;padding:23px}.plan-point .time{font-size:13px;font-weight:800;color:#0e73d8;letter-spacing:.08em}.plan-point h3{margin:10px 0 8px}.plan-point p{font-size:14px;color:#5d6e81;margin:0}.route-line{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}.route-stop{background:#f2f8ff;padding:20px 17px;border-radius:12px;position:relative;border:1px solid #e0ecfa}.route-stop:before{content:'';position:absolute;top:0;left:0;height:4px;width:50%;background:var(--blue);border-radius:0 0 6px}.route-stop b{font-size:12px;color:#176dcc}.route-stop h3{margin:10px 0 8px}.route-stop p{font-size:14px;line-height:1.65;margin:0}.interest-wall{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.interest-tag{display:block;border-radius:12px;background:linear-gradient(135deg,#fff,#eff7ff);border:1px solid var(--line);padding:23px 17px;min-height:115px}.interest-tag:nth-child(3n+2){background:#edf5ff}.interest-tag b{color:#0d65c2;font-size:13px}.interest-tag strong{display:block;font-size:18px;color:#234263;margin:7px 0 3px}.interest-tag span{font-size:13px;color:#64748a}.advice-grid,.guide-grid,.culture-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.advice-card,.guide-card,.culture-card{background:#fff;padding:23px;border-radius:12px;border:1px solid var(--line);min-width:0}.advice-card h3,.guide-card h3,.culture-card h3{margin:6px 0 12px}.advice-card p,.guide-card p,.culture-card p{font-size:14px;line-height:1.8}.advice-card .text-link,.guide-card .text-link,.culture-card .text-link{font-size:14px}.culture-card{border-top:4px solid #5fb2ff}.culture-card:nth-child(2){border-top-color:#0c4f9a}.culture-card:nth-child(3){border-top-color:#96cdec}.story-board{display:grid;grid-template-columns:1.15fr .85fr;gap:16px}.story-main{background:#f0f7ff;border-radius:15px;padding:30px 32px}.story-main h3{font-size:25px;margin:10px 0}.story-main p{line-height:1.88}.story-notes{display:grid;grid-template-columns:1fr 1fr;gap:12px}.story-notes a{display:flex;flex-direction:column;justify-content:center;gap:11px;border-radius:11px;background:#fff;border:1px solid var(--line);padding:18px}.story-notes a:hover{background:#f4faff}.story-notes strong{font-size:17px;color:#20416b}.story-notes span{font-size:13px;color:#69798a}.topic-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.topic-question{background:#fff;border:1px solid var(--line);border-radius:12px;padding:21px}.topic-question b{font-size:12px;color:#348ee9}.topic-question h3{font-size:19px;margin:9px 0}.topic-question p{font-size:14px;margin:0}.album-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-auto-flow:row;gap:13px}.album-tile{grid-column:span 2;position:relative}.album-tile .media-slot{height:172px}.album-tile.album-wide{grid-column:span 6}.album-wide .media-slot{height:278px}.album-tile.album-medium{grid-column:span 3}.album-medium .media-slot{height:225px}.album-tile p{font-size:14px;margin:9px 0 0}.notice-list{display:grid;gap:2px;background:#deebfa;border-radius:13px;overflow:hidden;border:1px solid #deebfa}.notice-list a{display:flex;gap:18px;justify-content:space-between;align-items:center;background:#fff;padding:18px 20px;min-height:74px}.notice-list a:hover{background:#f4f9ff}.notice-list strong{color:#20374d;font-size:16px}.notice-list span{color:#687d93;font-size:13px}.app-split{display:grid;grid-template-columns:1.15fr .85fr;align-items:center;gap:35px}.app-shot{max-width:390px;width:100%;margin:auto}.app-preview-image{height:min(520px,80vw);border-radius:25px;background:linear-gradient(140deg,#c4e4ff,#eef8ff);border:1px solid var(--line)}.app-preview-image img{object-fit:contain}.app-features{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:22px 0}.app-features div{background:#f6faff;border:1px solid #dceeff;border-radius:10px;padding:12px 15px;color:#35536f;font-weight:650;font-size:14px}.two-guides{display:grid;grid-template-columns:1fr 1fr;gap:18px}.safe-block,.privacy-block{padding:29px;border-radius:14px}.safe-block{background:#0a315e;color:#dceeff}.safe-block h2{color:#fff}.safe-block p{color:#dceeff}.privacy-block{background:#fff;border:1px solid #c9e5ff}.privacy-block h2{color:#203951}.brand-statement{background:linear-gradient(120deg,#edf5ff,#fff);padding:36px;border-radius:15px;border:1px solid #d9eaff}.brand-statement h2{font-size:30px}.home-faq{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.home-faq details,.faq-list details{border:1px solid #dceafb;background:#fff;border-radius:10px;padding:17px 20px}.home-faq details[open],.faq-list details[open]{border-color:#7fbaff;background:#f8fbff}.home-faq summary,.faq-list summary{font-weight:760;color:#20384f;font-size:16px;cursor:pointer;list-style:none;display:flex;gap:10px;align-items:center;justify-content:space-between}.home-faq summary::-webkit-details-marker,.faq-list summary::-webkit-details-marker{display:none}.home-faq summary:after,.faq-list summary:after{content:'+';color:#0c79ef;font-size:21px;flex:0 0 auto}.home-faq details[open] summary:after,.faq-list details[open] summary:after{content:'−'}.home-faq details p,.faq-list details p{margin:12px 0 0;color:#51687d;font-size:15px;line-height:1.8}
/* Inner editorial pages, varied by story type */
.page-hero{background:linear-gradient(135deg,#f2f8ff 0%,#fff 69%);border-bottom:1px solid var(--line);padding:53px 0 43px}.page-hero .eyebrow{display:block;margin-bottom:12px}.page-hero h1{font-size:clamp(28px,3.5vw,44px);margin-bottom:14px}.page-hero p{max-width:940px;font-size:16px;color:#526b82;line-height:1.9;margin-bottom:0}.page-hero .hero-mini-nav{margin-top:20px;display:flex;gap:9px;flex-wrap:wrap}.page-hero .hero-mini-nav a{font-size:13px;padding:6px 13px;border:1px solid #cbe5ff;background:#fff;color:#146ac5;border-radius:7px}.article-shell{padding-block:43px 65px}.read-layout{display:grid;grid-template-columns:minmax(0,1fr) 244px;gap:40px;align-items:start}.chapter-list{min-width:0}.chapter{padding:25px 0 28px;border-bottom:1px solid #dfeaf8;max-width:880px;position:relative}.chapter:first-child{padding-top:0}.chapter h2{font-size:23px;margin:3px 0 17px}.chapter p{font-size:16px;color:#45556b;line-height:1.87;margin-bottom:13px}.chapter p:last-child{margin-bottom:0}.chapter-marker{color:#1677ee;font-size:12px;letter-spacing:.14em;font-weight:800}.article-aside{position:sticky;top:100px;background:#f3f8ff;border:1px solid #d8eaff;padding:22px;border-radius:12px}.article-aside h3{font-size:17px;margin-bottom:13px}.article-aside a{display:flex;align-items:center;justify-content:space-between;padding:11px 0;border-top:1px solid #d9e7f6;font-size:14px;color:#1c5c99;min-height:45px}.article-aside a:hover{color:var(--blue)}.page-ending{margin-top:34px;background:#0a315e;border-radius:13px;padding:25px 30px;color:#dceeff}.page-ending strong{color:#fff;font-size:18px}.page-ending p{margin:9px 0 13px}.page-ending a{color:#fff;font-weight:760;text-decoration:underline;text-underline-offset:4px}.layout-magazine .chapter:nth-child(2n){padding-left:22px;border-left:4px solid #cce7ff;background:linear-gradient(90deg,#f8fbff,transparent)}.layout-timeline .chapter{padding-left:33px;border-bottom:0;border-left:2px solid #9bd0ff;margin-left:12px}.layout-timeline .chapter:before{content:'';position:absolute;width:15px;height:15px;background:#1677ee;border:4px solid #e5f4ff;border-radius:50%;left:-9px;top:31px}.layout-questions .chapter{background:#fff;border:1px solid #d8e7f5;border-radius:13px;margin-bottom:13px;padding:22px}.layout-questions .chapter:first-child{padding:22px}.layout-policy .chapter{padding-left:18px;border-left:3px solid #2d92f5;margin-bottom:8px}.layout-gallery .chapter{padding-top:19px}.layout-gallery .chapter h2{border-bottom:2px solid #e0efff;padding-bottom:13px}.layout-wall .chapter{background:linear-gradient(130deg,#f4f9ff,#fff);padding:22px 24px;border:1px solid var(--line);margin-bottom:14px;border-radius:12px}.layout-wall .chapter:first-child{padding:22px 24px}.layout-notice .chapter{padding:22px 24px;border-left:4px solid #67b1fa;background:#f7fbff;margin-bottom:14px}.layout-notice .chapter:first-child{padding:22px 24px}.layout-story .chapter:nth-child(odd) h2{font-size:25px}.layout-story .chapter p:first-of-type:first-letter{font-size:1.3em;color:#0c67b8;font-weight:700}.related-strip{display:flex;gap:9px;flex-wrap:wrap;margin-top:25px}.related-strip a{display:inline-flex;align-items:center;min-height:44px;padding:8px 15px;border:1px solid #a7ceef;border-radius:9px;color:#1364b5;font-weight:700;font-size:14px}.related-strip a:hover{background:#edf5ff}.article-visual{margin:0 0 23px}.article-visual .media-slot{height:285px}.article-visual figcaption{font-size:13px;color:#6b7787;margin-top:8px}.topic-index{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:25px}.topic-index a{display:flex;align-items:center;gap:10px;min-height:48px;padding:11px 16px;border-radius:9px;background:#f0f7ff;color:#174e80;font-weight:700;font-size:14px}.topic-index a:hover{background:#dfeeff}.topic-index a span{color:#0a7eeb;font-size:12px}.faq-list{display:grid;gap:12px;margin-top:24px}.faq-list details{padding:21px 24px}.faq-list details summary{font-size:17px}.faq-list details p{font-size:16px}.faq-kicker{margin:24px 0 0;color:#52697f}.search-result-list{display:grid;gap:12px}.search-result-list a{padding:18px 22px;background:#fff;border:1px solid var(--line);border-radius:10px;display:block}.search-result-list a:hover{background:#f5faff;border-color:#b5dbff}.search-result-list strong{display:block;color:#17466c;font-size:18px}.search-result-list span{color:#64758a;font-size:14px}.search-inline{padding:20px;background:#eaf5ff;border-radius:11px;margin:0 0 27px}.search-inline form{display:flex;gap:10px}.search-inline input{flex:1;min-width:0;padding:12px 15px;border:1px solid #bad6f4;border-radius:9px;background:#fff;color:#152b42}.search-inline button{background:#1677ee;color:#fff;border:0;border-radius:8px;padding:11px 18px;white-space:nowrap;min-height:44px}.search-inline button:hover{background:#0b5fbd}.search-tip{color:#587088;font-size:14px;margin:8px 0 0}.gallery-page{display:grid;grid-template-columns:repeat(6,1fr);gap:15px}.gallery-item{grid-column:span 2}.gallery-item:first-child{grid-column:span 6}.gallery-item:nth-child(2),.gallery-item:nth-child(3){grid-column:span 3}.gallery-item .media-slot{height:185px}.gallery-item:first-child .media-slot{height:340px}.gallery-item:nth-child(2) .media-slot,.gallery-item:nth-child(3) .media-slot{height:265px}.gallery-item h3{font-size:17px;margin:12px 0 4px}.gallery-item p{font-size:14px;color:#607286}
/* Footer & popovers */
.site-footer{background:#071d37;color:#dceeff;padding:55px 0 26px;border-top:3px solid #2e85d8}.footer-inner{display:grid;grid-template-columns:minmax(250px,1.2fr) 2fr;gap:52px}.footer-mark{display:flex;align-items:center;gap:13px}.footer-mark strong{color:#fff;font-size:20px}.footer-mark small{display:block;color:#a4caec;font-size:11px;letter-spacing:.2em;line-height:1.7}.footer-brand p{font-size:14px;line-height:1.9;color:#d3e8ff;max-width:340px;margin-top:19px}.footer-columns{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.footer-columns h3{font-size:15px;color:#fff;margin:4px 0 12px}.footer-columns a{display:block;color:#dceeff;font-size:13px;line-height:1.6;padding:5px 0}.footer-columns a:hover{color:#fff;text-decoration:underline}.footer-legal{display:flex;align-items:start;justify-content:space-between;gap:20px;border-top:1px solid rgba(255,255,255,.12);margin-top:35px;padding-top:22px}.footer-legal p{font-size:12px;color:#b8d1e8;margin-bottom:0}.mobile-bottom{display:none}.global-scrim{position:fixed;inset:0;background:rgba(3,25,52,.49);z-index:80;visibility:hidden;opacity:0;pointer-events:none;transition:opacity .17s,visibility .17s}.global-scrim.is-open{visibility:visible;opacity:1;pointer-events:auto}.mega-menu,.search-panel{position:fixed;left:0;right:0;top:var(--header-height);z-index:90;background:#fff;box-shadow:0 20px 38px rgba(0,40,80,.16);border-top:1px solid #d6eaff;visibility:hidden;opacity:0;pointer-events:none;transform:translateY(-14px);transition:opacity .2s,transform .2s,visibility .2s}.mega-menu.is-open,.search-panel.is-open{visibility:visible;opacity:1;transform:translateY(0);pointer-events:auto}.mega-menu{max-height:calc(100dvh - var(--header-height));overflow-y:auto;overscroll-behavior:contain}.mega-inner{max-width:1320px;margin:auto;padding:29px 24px 38px}.mega-top{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px}.mega-brand{display:flex;align-items:center;gap:13px}.mega-brand strong{display:block;font-size:23px;color:#0a315e}.mega-brand small{display:block;font-size:13px;color:#7e91a5}.close-control{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:8px;background:#edf5ff;border:1px solid #d1e9ff;color:#164e85;padding:5px 15px;border-radius:9px;font-size:23px;font-weight:500}.close-control span{font-size:13px;font-weight:700}.close-control:hover{background:#dceeff}.mega-groups{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:19px}.mega-group{min-width:0}.mega-group h3{font-size:14px;color:#0d69ce;border-bottom:2px solid #cbe5ff;padding:0 0 10px;margin:0 0 9px}.mega-group a{display:grid;grid-template-columns:minmax(0,1fr) 10px;padding:11px 5px 13px;border-bottom:1px solid #e5edf7;min-height:79px;gap:3px 4px}.mega-group a strong{font-size:14px;color:#1a3452;grid-column:1}.mega-group a span{font-size:12px;color:#6c7d8d;line-height:1.5;grid-column:1}.mega-group a b{grid-column:2;grid-row:1;color:#8ab7e5}.mega-group a:hover{background:#f4faff}.search-panel{max-height:calc(100dvh - var(--header-height));overflow-y:auto}.search-inner{max-width:960px;margin:auto;padding:35px 24px 39px}.search-heading{display:flex;justify-content:space-between;gap:20px}.search-heading h2{font-size:27px;margin:6px 0}.search-heading p{font-size:15px;color:#61758b}.search-form{margin-top:14px}.search-form label{display:block;font-weight:700;color:#243a55;font-size:14px;margin-bottom:9px}.search-fields{display:flex;gap:10px}.search-fields input{flex:1;width:100%;min-width:0;background:#f7fbff;border:1px solid #afd6ff;padding:14px 17px;border-radius:10px;font-size:16px;color:#16243a}.search-fields button{padding:12px 25px;border:0;border-radius:10px;color:#fff;background:#1677ee;white-space:nowrap;font-weight:750;min-height:48px}.search-suggestions{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px;align-items:center}.search-suggestions span{font-size:13px;color:#6b7787}.search-suggestions a{font-size:13px;color:#2065a6;background:#edf5ff;padding:8px 12px;border-radius:7px;min-height:36px}.search-suggestions a:hover{background:#dcecff}
@media(max-width:1170px){.header-navigation a{padding-inline:9px}.site-header-inner{gap:8px}.header-navigation{gap:0}.small-nav{padding-inline:9px}.brand-wordmark{font-size:18px}}@media(max-width:1030px){.header-navigation,.topics-link,.app-link{display:none}.site-header{--header-height:68px}.site-header-inner{justify-content:space-between}.brand-link{order:1;margin:auto}.menu-icon{order:0}.head-utilities{order:2}.shortcut-grid{grid-template-columns:repeat(2,1fr)}.editors-grid{grid-template-columns:1.2fr 1fr;grid-auto-flow:row}.editor-feature{grid-row:span 2}.interest-wall{grid-template-columns:repeat(4,1fr)}.footer-inner{grid-template-columns:1fr;gap:18px}.mega-groups{grid-template-columns:repeat(3,minmax(0,1fr))}.route-line{grid-template-columns:repeat(3,1fr)}}
@media(max-width:767px){:root{--header-height:64px}.site-header{height:var(--header-height)}.wrap{width:calc(100% - 32px)}.site-header-inner{width:calc(100% - 24px);gap:5px}.brand-link{justify-content:center;flex:1;margin:0;min-width:0}.brand-image{width:37px;height:37px;border-radius:10px}.brand-wordmark{font-size:17px}.brand-wordmark small{font-size:8px}.head-action{width:44px;flex-basis:44px}.site-main{min-height:60vh}.section{padding-block:35px}.section-header{align-items:start;gap:10px}.section-header h2{font-size:25px}.section-header .text-link{font-size:13px;align-self:end}.home-hero{padding-top:12px}.hero-banner{aspect-ratio:16/10;min-height:0;max-height:400px;border-radius:13px}.hero-banner::before{border-width:55px}.hero-banner::after{border-width:45px}.hero-story{display:block;padding:22px 2px 24px}.hero-story h1{font-size:34px}.hero-story p{font-size:15px}.hero-story .btn-group{margin-top:17px}.shortcut-grid{gap:9px}.shortcut{min-height:115px;padding:15px}.shortcut strong{font-size:16px}.shortcut p{font-size:12px}.editors-grid{grid-template-columns:1fr 1fr;gap:10px}.editor-feature{grid-row:auto;grid-column:span 2;min-height:270px;padding:25px}.editor-feature h3{font-size:25px}.editor-card{min-height:190px;padding:15px}.editor-card h3{font-size:17px}.editor-card p{font-size:13px}.mini-roundup{grid-template-columns:1fr;gap:6px}.split-feature{grid-template-columns:1fr;gap:22px}.split-feature .media-slot{height:260px}.weekend-plan{grid-template-columns:repeat(2,1fr)}.plan-point{padding:18px}.route-line{grid-template-columns:repeat(2,1fr)}.route-stop{padding:15px}.interest-wall{grid-template-columns:repeat(2,1fr)}.interest-tag{padding:17px;min-height:100px}.advice-grid,.guide-grid,.culture-grid{grid-template-columns:1fr}.story-board{grid-template-columns:1fr}.topic-grid{grid-template-columns:repeat(2,1fr);gap:9px}.topic-question{padding:14px}.topic-question h3{font-size:16px}.album-wide .media-slot{height:210px}.album-medium .media-slot{height:178px}.album-tile .media-slot{height:130px}.notice-list a{align-items:start;gap:8px;flex-direction:column}.app-split{grid-template-columns:1fr}.app-shot{max-width:320px}.two-guides{grid-template-columns:1fr}.safe-block,.privacy-block{padding:22px}.home-faq{grid-template-columns:1fr}.brand-statement{padding:24px}.brand-statement h2{font-size:26px}.page-hero{padding:35px 0 30px}.page-hero h1{font-size:30px}.page-hero p{font-size:15px}.article-shell{padding-block:27px 46px}.read-layout{grid-template-columns:1fr}.article-aside{position:static;order:2}.chapter{padding:23px 0}.chapter h2{font-size:21px}.chapter p{font-size:15px}.gallery-page{gap:10px}.gallery-item:first-child .media-slot{height:240px}.gallery-item:nth-child(2) .media-slot,.gallery-item:nth-child(3) .media-slot{height:175px}.gallery-item .media-slot{height:140px}.gallery-item h3{font-size:15px}.footer-inner{gap:26px}.site-footer{padding:40px 0 92px}.footer-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 22px}.footer-legal{display:block}.footer-legal p+p{margin-top:5px}.mobile-bottom{position:fixed;left:0;right:0;bottom:0;height:calc(58px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:stretch;background:#fff;border-top:1px solid #cfdef0;z-index:65;box-shadow:0 -8px 26px rgba(15,56,94,.075)}.mobile-bottom a{display:flex;align-items:center;justify-content:center;flex-direction:column;min-width:0;font-size:12px;line-height:1.3;color:#62758a;gap:2px;min-height:54px}.mobile-bottom a span{font-size:20px;color:#758ca5;line-height:1}.mobile-bottom a.selected{background:#1677ee;color:#fff}.mobile-bottom a.selected span{color:#fff}.mega-menu,.search-panel{top:var(--header-height);height:calc(100dvh - var(--header-height));max-height:none;bottom:0;overflow:auto;overscroll-behavior:contain}.mega-inner{padding:20px 16px 90px}.mega-brand strong{font-size:20px}.mega-groups{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.mega-group a{min-height:76px}.search-inner{padding:27px 16px 90px}.search-heading h2{font-size:23px}.search-fields{display:block}.search-fields input{width:100%}.search-fields button{width:100%;margin-top:10px}.search-suggestions{gap:8px}.search-suggestions a{min-height:44px;display:inline-flex;align-items:center}.search-inline form{flex-direction:column}.search-inline button{width:100%}}
@media(max-width:389px){.site-header-inner{width:calc(100% - 18px)}.brand-image{width:33px;height:33px}.brand-wordmark{font-size:16px}.brand-wordmark small{font-size:7px;letter-spacing:.09em}.hero-story h1{font-size:30px}.hero-fallback-type{font-size:30px}.btn-group .btn{padding-inline:13px;font-size:13px}.editor-card{padding:14px}.editor-card h3{font-size:16px}.topic-grid{grid-template-columns:1fr}.album-tile p{font-size:12px}.mega-groups{grid-template-columns:1fr}.mega-group a{min-height:60px}.mega-group h3{margin-bottom:2px}.route-line{grid-template-columns:1fr 1fr}.route-stop{padding:12px}.route-stop h3{font-size:17px}.route-stop p{font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* App signature and accessibility refinements */
.on-dark{color:#dceeff!important}.app-signature{display:flex;align-items:center;gap:12px;margin-top:15px}.app-mini-icon{width:62px;height:62px;min-height:62px;flex:0 0 62px;border-radius:14px}.app-mini-icon img{object-fit:contain}.app-brand-name{color:#1b4e84}.app-brand-en{color:#6896c3;font-size:12px}.nojs-directory{display:flex;flex-wrap:wrap;gap:7px;padding-block:14px}.nojs-directory a{border:1px solid #afd9ff;color:#0d6acb;padding:5px 12px;border-radius:7px;font-size:13px}
/* Keep the fixed popovers aligned with the responsive header at every breakpoint. */
@media(max-width:1030px){:root{--header-height:68px}.site-header{--header-height:68px;height:var(--header-height)}}
@media(max-width:767px){:root{--header-height:64px}.site-header{--header-height:64px;height:var(--header-height)}}

/* Preserve wide, user-supplied brand art at its natural aspect ratio. */
.brand-image.has-brand-logo{flex:0 0 102px;width:102px;height:40px;border-radius:5px;background:transparent;box-shadow:none}.brand-image.has-brand-logo img{object-fit:contain}.brand-image.has-brand-logo .brand-fallback{display:none}
.conclusion-note{padding:25px 27px;border-left:4px solid #62acfa;background:#f0f7ff;border-radius:0 11px 11px 0;margin-top:29px}.conclusion-note h3{font-size:18px;margin:0 0 9px}.conclusion-note p{font-size:15px;margin-bottom:9px}.article-outro{margin-top:30px;padding:22px 0;border-top:2px solid #dcecff}.article-outro p{font-size:16px;color:#496179}
@media(max-width:767px){.brand-image.has-brand-logo{flex-basis:90px;width:90px;height:37px}.conclusion-note{padding:19px}}
/* A vertical mobile-product frame keeps the supplied artwork uncropped. */
.app-shot{max-width:290px}.app-preview-image{width:100%;height:auto;max-height:520px;min-height:0;aspect-ratio:9/16}.app-preview-image img{object-fit:contain;object-position:center}
