/* Resource library: the existing night-ocean atlas meets a readable field notebook. */
.resource-page{--resource-paper:#F7F5ED;--resource-ink:#15233C;--resource-muted:#526078;--resource-line:#D9DDD9}
.resource-page [hidden]{display:none!important}
.resource-top{padding-top:12px}
.resource-top .breadcrumbs{margin-bottom:0;line-height:1.7;font-size:.8125rem}
.resource-top .breadcrumbs a{color:var(--mist);text-underline-offset:4px}
.resource-page .eyebrow{font-size:.75rem;line-height:1.5;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.resource-hero{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:60px;align-items:center;padding-top:48px;padding-bottom:72px}
.resource-hero-copy{display:grid;gap:24px}
.resource-hero-copy>.eyebrow{color:var(--gold)}
.resource-hero h1{font-size:clamp(2.6rem,1.6rem + 3vw,4.5rem);line-height:1.04;letter-spacing:-.045em}
.resource-hero h1 span{color:var(--gold)}
.resource-lead{font-size:1.125rem;color:#BDCCE8;max-width:58ch;line-height:1.7;text-wrap:pretty}
.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:18px 28px;padding-top:8px}
.resource-button{display:inline-flex;align-items:center;justify-content:center;gap:24px;background:var(--gold);color:var(--abyss);min-height:48px;padding:12px 22px;border-radius:8px;text-decoration:none;font-weight:700;font-size:.9375rem}
.resource-button:hover{background:#FFDB73}
.text-link{display:inline-flex;align-items:center;min-height:44px;gap:12px;font-size:.9375rem;text-underline-offset:5px}
.resource-hero-art{min-width:0}
.resource-globe{position:relative;display:grid;justify-items:center;gap:8px}
.resource-globe img{width:100%;max-width:470px}
.globe-caption{font-family:var(--label);font-size:1.25rem;font-style:italic;color:#B7C8E9}
.hero-field-card{padding:28px;background:var(--resource-paper);color:var(--resource-ink);border-radius:14px;box-shadow:0 24px 70px #020c2670;display:grid;gap:22px;max-width:440px;margin-inline:auto}
.hero-field-card>.eyebrow{color:var(--resource-muted)}
.hero-field-card>strong{font-family:var(--display);font-size:1.625rem;line-height:1.2;letter-spacing:-.025em}
.hero-field-card>p{font-size:.875rem;color:var(--resource-muted)}
.hero-flag{background:#EBEBE2;padding:20px;border-radius:8px}
.hero-flag img{max-height:185px;width:100%;object-fit:contain;filter:drop-shadow(0 5px 6px #15233c18)}
.hero-field-card dl{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:0;padding-top:18px;border-top:1px solid var(--resource-line)}
.hero-field-card dt{font-size:.75rem;text-transform:uppercase;letter-spacing:.09em;color:var(--resource-muted)}
.hero-field-card dd{margin:6px 0 0;font-size:1rem;font-weight:700}
.hero-flag-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 18px;padding-block:14px}
.hero-flag-grid img{aspect-ratio:4/3;object-fit:contain;filter:drop-shadow(0 4px 6px #15233c20)}
.field-globe{width:220px;justify-self:center}
.field-label{display:block;border-top:1px solid var(--resource-line);padding-top:16px;font-size:.8125rem;color:#3F5B51}
.question-card{background:#E7F0E8;gap:24px}
.question-card>img{width:64px;height:64px;border-radius:14px}
.question-card blockquote{font-family:var(--display);font-weight:700;letter-spacing:-.04em;font-size:clamp(2rem,2.5vw,3rem);line-height:1.1;margin:0}
.count-art>strong{font-size:clamp(4rem,6vw,6.5rem);letter-spacing:-.07em}
.count-art>strong span{font-size:.55em;color:#687369}
.capital-art-row{display:flex;align-items:center;gap:24px;padding-block:8px}
.capital-art-row+div{border-top:1px solid var(--resource-line);padding-top:24px}
.capital-art-row img{width:78px;height:58px;object-fit:contain}
.capital-art-row span{font-size:.8125rem;color:var(--resource-muted)}
.capital-art-row strong{display:block;font-family:var(--display);font-size:1.5rem;line-height:1.3;letter-spacing:-.03em;color:var(--resource-ink)}
.resource-body{position:relative;background:var(--resource-paper);color:var(--resource-ink);padding-block:64px 70px;color-scheme:light}
.resource-layout{display:grid;gap:44px}
.resource-layout.is-article{grid-template-columns:225px minmax(0,1fr);gap:64px;align-items:start}
.resource-article{min-width:0}
.resource-section{padding-block:0 48px;display:grid;gap:24px}
.resource-section+section{border-top:1px solid var(--resource-line);padding-top:48px}
.resource-section h2{font-size:clamp(1.75rem,1.3rem + 1.2vw,2.625rem);line-height:1.1;letter-spacing:-.04em;text-wrap:pretty}
.resource-section h3{font-size:1.25rem;line-height:1.2;letter-spacing:-.025em;text-wrap:pretty}
.resource-section p{color:var(--resource-muted);line-height:1.75;max-width:75ch;text-wrap:pretty}
.resource-section a{color:#194A8C;text-underline-offset:4px}
.resource-section a:hover{color:#0A2C5E}
.resource-section .section-lead{font-size:1.125rem;max-width:68ch}
.article-contents{position:sticky;top:calc(var(--header-height) + 28px);font-size:.875rem;border-block:1px solid var(--resource-line);padding:20px 0}
.article-contents>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;font-family:var(--display);font-weight:700;cursor:pointer}
.article-contents nav{display:grid;gap:4px;margin-top:14px}
.article-contents a{color:var(--resource-muted);display:block;min-height:44px;padding:10px 0;text-decoration:none;line-height:1.4}
.article-contents a:hover{color:#194A8C;text-decoration:underline}
.resource-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.resource-card{display:flex;flex-direction:column;gap:14px;padding:30px;border:1px solid var(--resource-line);border-radius:12px;background:#FFFDF7;text-decoration:none;transition:box-shadow .2s,transform .2s}
.resource-card:hover{box-shadow:0 8px 20px #15233c0e;transform:translateY(-2px)}
.resource-card .eyebrow{color:#647564}
.resource-card h3{font-size:1.75rem;color:var(--resource-ink)}
.resource-card p{font-size:1rem;line-height:1.65}
.resource-card .card-link{margin-top:auto;padding-top:8px;font-size:.875rem;font-weight:700;color:#194A8C}
.card-link{display:inline-flex;align-items:center;justify-content:space-between;gap:16px;font-size:.875rem;font-weight:700}
.country-guide-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.country-guide-card{border:1px solid var(--resource-line);border-radius:12px;overflow:hidden;text-decoration:none;background:#FFFDF7;display:flex;flex-direction:column}
.country-guide-art{background:#E8EBDF;display:grid;gap:18px;padding:30px;justify-items:center;min-height:210px}
.country-guide-card:nth-child(2) .country-guide-art{background:#DEEADC}
.country-guide-card:nth-child(3) .country-guide-art{background:#F2E5DC}
.country-guide-art img{height:110px;max-width:190px;object-fit:contain;filter:drop-shadow(0 8px 12px #15233c25)}
.country-guide-art>span{font-family:var(--label);font-size:1.125rem;font-style:italic;color:var(--resource-muted)}
.country-guide-card>div+div{padding:24px;display:flex;flex-direction:column;gap:14px;flex:1}
.country-guide-card h3{font-size:1.875rem}
.country-guide-card .card-link{margin-top:auto;padding-top:10px;min-height:44px;color:#194A8C}
.editorial-split{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:32px;align-items:start}
.editorial-split>div:first-child{display:grid;gap:22px}
.margin-note{padding:26px;background:#EAEDE2;border-left:3px solid #6C8870;display:grid;gap:16px}
.margin-note .eyebrow{color:#52664F}
.margin-note h3{font-size:1.5rem}
.margin-note p{font-size:.9375rem}
.margin-note a{font-size:.875rem;min-height:44px;display:inline-flex;align-items:center}
.source-note{font-size:.8125rem;line-height:1.7!important;color:#59667C!important}
.numbered-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.numbered-grid article{display:grid;gap:16px;align-content:start}
.numbered-grid article>span{font-family:var(--label);font-style:italic;font-size:2.375rem;color:#718371;line-height:1}
.numbered-grid p{font-size:.9375rem}
.flag-pairs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}
.flag-pair{display:grid;gap:18px;align-content:start}
.flag-pair>div{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:22px;background:#E9ECE2;border-radius:10px;padding:26px}
.flag-pair img{aspect-ratio:4/3;width:100%;object-fit:contain;filter:drop-shadow(0 4px 6px #15233c20)}
.flag-pair p{font-size:.9375rem}
.flag-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
.flag-gallery figure{margin:0;display:grid;gap:14px;padding:16px;border:1px solid var(--resource-line);background:#FFFDF7;border-radius:8px;align-content:start}
.flag-gallery img{aspect-ratio:4/3;width:100%;object-fit:contain}
.flag-gallery b,.flag-gallery span{display:block}
.flag-gallery b{font-size:.875rem;line-height:1.3}
.flag-gallery span{font-size:.6875rem;color:var(--resource-muted);margin-top:6px;line-height:1.4}
.capital-mixups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.capital-mixups article{padding:24px;border-radius:8px;background:#E9ECE2;display:grid;gap:10px;align-content:start}
.capital-mixups article>span{font-size:.8125rem;color:var(--resource-muted)}
.capital-mixups h3{font-size:1.75rem}
.capital-mixups p{font-size:.9375rem}
.table-scroll{overflow:auto;max-width:100%;border-block:1px solid var(--resource-line)}
.table-hint{display:none;font-size:.8125rem}
@media(max-width:600px){.table-hint{display:block}}
.table-scroll table{border-collapse:collapse;width:100%;font-size:.9375rem;line-height:1.5}
.table-scroll caption{text-align:left;font-weight:600;font-size:.8125rem;color:var(--resource-muted);padding-block:16px}
.table-scroll th,.table-scroll td{padding:16px 12px;border-bottom:1px solid var(--resource-line);text-align:left}
.table-scroll th:first-child{padding-left:0}
.table-scroll thead th{font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--resource-muted)}
.table-scroll tbody td:last-child{color:var(--resource-muted);font-size:.8125rem}
.table-country{display:flex;align-items:center;gap:14px;min-width:140px}
.table-country img{width:34px;height:26px;object-fit:contain;flex:none}
.recall-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.recall-card{border:1px solid var(--resource-line);border-radius:8px;background:#FFFDF7}
.recall-card summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px;min-height:72px;cursor:pointer;font-weight:600;font-size:.9375rem}
.recall-card p{padding:0 20px 20px;font-size:1.5rem;font-weight:700;color:#194A8C;font-family:var(--display)}
.study-plan{list-style:none;margin:0;padding:0;display:grid}
.study-plan li{display:grid;grid-template-columns:92px minmax(0,1fr);gap:28px;padding:28px 0;border-top:1px solid var(--resource-line)}
.study-plan li>div{display:grid;gap:14px}
.day-label{font-family:var(--label);font-style:italic;color:#637961;font-size:1.375rem;line-height:1.3}
.practical-list{margin:0;padding-left:1.75em;display:grid;gap:28px}
.practical-list li{padding-left:8px}
.practical-list h3{margin-bottom:12px}
.practical-list li::marker{font-family:var(--display);font-weight:700;color:#59785D}
.count-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.count-grid article{display:grid;gap:14px;padding:24px;background:#E9ECE2;border-radius:10px;align-content:start}
.count-grid strong{font-family:var(--display);font-size:3rem;line-height:1;letter-spacing:-.04em}
.count-grid h3{font-size:1.125rem}
.count-grid p{font-size:.875rem}
.access-matrix{margin:0;border-block:1px solid var(--resource-line)}
.access-matrix>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:30px;padding:24px 0}
.access-matrix>div+div{border-top:1px solid var(--resource-line)}
.access-matrix dt{font-weight:600;line-height:1.5}
.access-matrix dd{margin:0;color:var(--resource-muted);font-size:.9375rem}
.access-status{display:block;width:fit-content;border-radius:4px;background:#DCEADA;color:#285134;padding:3px 8px;font-size:.6875rem;text-transform:uppercase;letter-spacing:.06em;margin-bottom:10px}
.access-status.online{background:#E1E7EF;color:#304D77}
.prompt-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.prompt-grid article{display:grid;gap:18px;border-top:3px solid #A9BBA8;background:#E9ECE2;padding:26px;align-content:start}
.prompt-grid .eyebrow{color:#586D55}
.prompt-grid p{font-size:.9375rem}
.country-essentials{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 32px;margin:0}
.country-essentials>div{padding:20px 0;border-bottom:1px solid var(--resource-line)}
.country-essentials dt{color:var(--resource-muted);font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;margin-bottom:8px}
.country-essentials dd{margin:0;font-size:1.375rem;line-height:1.35;font-weight:700;font-family:var(--display)}
.flag-story{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:32px;align-items:center}
.flag-story figure{margin:0;padding:24px;background:#E9ECE2;border-radius:8px}
.flag-story img{aspect-ratio:4/3;object-fit:contain}
.flag-story figcaption{margin-top:18px;color:var(--resource-muted);font-size:.8125rem}
.flag-story>div{display:grid;gap:18px}
.resource-faq details{border-bottom:1px solid var(--resource-line)}
.resource-faq summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 0;cursor:pointer;font-weight:600;font-size:1rem;min-height:64px}
/* Same drawn plus/minus as the homepage FAQ, in place of the browser triangle. */
.article-contents>summary,.recall-card summary,.resource-faq summary{list-style:none}
.article-contents>summary::-webkit-details-marker,.recall-card summary::-webkit-details-marker,.resource-faq summary::-webkit-details-marker{display:none}
.article-contents>summary::after,.recall-card summary::after,.resource-faq summary::after{content:"";flex:none;width:26px;height:26px;border:1.5px solid #8A97AC;border-radius:50%;color:#194A8C;background:linear-gradient(currentColor,currentColor) center/10px 1.5px no-repeat,linear-gradient(currentColor,currentColor) center/1.5px 10px no-repeat;transition:background-size .2s}
.article-contents[open]>summary::after,.recall-card[open] summary::after,.resource-faq details[open] summary::after{background-size:10px 1.5px,1.5px 0}
.resource-faq details p{padding-bottom:24px}
.source-list{margin:0;padding-left:1.2em;font-size:.9375rem;color:var(--resource-muted);display:grid;gap:16px}
.resource-updated{font-size:.75rem;color:var(--resource-muted);line-height:1.8}
.directory-controls{display:flex;gap:20px;align-items:end;padding:24px;background:#E9ECE2;border-radius:8px}
.directory-controls>div:first-child{flex:1.4;min-width:0}
.directory-controls>div:nth-child(2){flex:1;min-width:0}
.directory-controls label{display:block;font-size:.8125rem;font-weight:600;margin-bottom:8px}
.directory-controls input,.directory-controls select{width:100%;min-height:48px;border:1px solid #A8B5AE;border-radius:6px;font:inherit;font-size:.9375rem;background:#FFFDF7;color:var(--resource-ink);padding:10px 12px}
.directory-controls button{min-height:48px;border:1px solid #A8B5AE;border-radius:6px;font:inherit;font-size:.9375rem;cursor:pointer;padding:10px 16px;background:#FFFDF7;color:var(--resource-ink)}
.directory-count{font-size:.875rem}
.directory-empty{padding:24px;background:#FFF0D1;border-radius:6px}
.directory-groups{display:grid;gap:36px}
.directory-group h3{display:flex;align-items:center;gap:20px;flex-wrap:wrap;font-size:1.625rem;padding-bottom:18px;border-bottom:1px solid var(--resource-line);margin-bottom:18px}
.directory-group h3>span{font:400 .8125rem var(--body);color:var(--resource-muted)}
.directory-group ul{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px 24px}
.directory-group li{display:flex;gap:12px;align-items:center;min-height:60px;min-width:0}
.directory-group li>img{width:36px;height:27px;object-fit:contain;flex:none}
.directory-group li>div{min-width:0}
.directory-name,.directory-group li a{font-size:.875rem;font-weight:600;line-height:1.4;display:block}
.directory-group li a{min-height:44px;display:flex;align-items:center}
.directory-group li small{font-size:.6875rem;line-height:1.5;color:var(--resource-muted);display:block;margin-top:3px}
.related-section{padding-block:64px}
.related-section>.eyebrow{color:var(--gold);margin-bottom:18px}
.related-section h2{font-size:clamp(2rem,1.4rem + 2vw,3rem);margin-bottom:28px}
.related-section .resource-cards{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}
.related-section .resource-card{background:#10265A;border-color:#344A73}
.related-section .resource-card:hover,.learning-preview .resource-card:hover{border-color:#5671A6;box-shadow:0 18px 40px -18px rgba(0,6,24,.8)}
.related-section .resource-card .eyebrow{color:#B9C9E7}
.related-section .resource-card h3{color:var(--foam);font-size:1.5rem}
.related-section .resource-card p{color:#B9C9E7;font-size:.9375rem}
.related-section .resource-card .card-link{color:var(--gold)}
.resource-download{position:relative;padding-block:48px 64px;display:grid;grid-template-columns:72px minmax(0,1fr) auto;gap:32px;align-items:center}
.resource-download::before{content:"";position:absolute;top:0;left:max(var(--gutter),env(safe-area-inset-left,0px));right:max(var(--gutter),env(safe-area-inset-right,0px));height:1px;background:var(--hair)}
.resource-download>img{width:72px;height:72px;border-radius:18px}
.resource-download .eyebrow{color:var(--gold);margin-bottom:12px}
.resource-download h2{font-size:1.875rem;line-height:1.15;margin-bottom:16px}
.resource-download p:not(.eyebrow){font-size:.9375rem;color:var(--mist);max-width:70ch}
.resource-store-links{flex-direction:column}
.resource-download>img{box-shadow:0 14px 40px rgba(20,80,200,.45)}
.resource-footer .wrap{align-items:start}
.resource-footer .brand{font-size:.9375rem}
.resource-footer nav{display:flex;flex-wrap:wrap;gap:8px 24px;width:100%}
.resource-footer nav a{display:inline-flex;align-items:center;min-height:44px;text-underline-offset:4px}
.resource-footer .brand img{width:32px;height:32px}
.resource-footer .wrap>span{font-size:.75rem}
@media(min-width:1100px){.resource-page .nav-menu{display:none}.resource-page .nav-links{gap:24px}}
@media(max-width:1099px){.resource-page .nav-menu{display:block;margin-left:0}.resource-page .lang-menu{margin-inline-start:auto}.resource-page .lang-now{display:none}.resource-page .lang-short{display:inline}.resource-page .nav-links{display:none}.resource-hero{gap:32px}.resource-layout.is-article{grid-template-columns:185px minmax(0,1fr);gap:36px}.directory-group ul{grid-template-columns:repeat(3,minmax(0,1fr))}.flag-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}.country-guide-cards{gap:16px}.country-guide-card>div+div{padding:20px}.country-guide-art{padding:24px}}
@media(max-width:800px){.resource-hero{grid-template-columns:1fr;padding-top:36px;gap:36px}.resource-hero-copy{gap:22px}.resource-lead{max-width:65ch}.resource-hero-art{max-width:500px;justify-self:center;width:100%}.resource-hero-art .resource-globe img{max-width:340px}.resource-layout.is-article{grid-template-columns:1fr;gap:36px}.article-contents{position:static;padding-block:18px}.article-contents nav{grid-template-columns:1fr 1fr;gap:0 24px}.resource-body{padding-block:36px 48px}.resource-download{grid-template-columns:64px minmax(0,1fr)}.resource-store-links{grid-column:2;flex-direction:row}.country-guide-art{min-height:180px}.country-guide-art img{height:90px}.related-section .resource-cards{grid-template-columns:1fr}.related-section .resource-card{padding:24px}.related-section .resource-card h3{font-size:1.625rem}}
@media(max-width:600px){.resource-hero{padding-bottom:44px}.resource-hero h1{font-size:clamp(2.35rem,9vw,3.5rem)}.resource-lead{font-size:1rem}.hero-actions{gap:12px 22px}.resource-button{padding:12px 16px;gap:12px;font-size:.875rem}.text-link{font-size:.875rem}.hero-field-card{padding:24px}.resource-globe{gap:0}.resource-cards,.country-guide-cards{grid-template-columns:1fr}.resource-card{padding:24px}.resource-card h3{font-size:1.625rem}.country-guide-card{display:grid;grid-template-columns:110px minmax(0,1fr)}.country-guide-art{min-height:0;padding:18px 14px;align-content:center;gap:16px}.country-guide-art img{height:70px;width:100%}.country-guide-art>span{font-size:.8125rem;line-height:1.4;text-align:center}.country-guide-card>div+div{padding:20px 16px}.country-guide-card h3{font-size:1.5rem}.country-guide-card p{font-size:.875rem}.country-guide-card .card-link{font-size:.75rem;gap:10px}.editorial-split,.flag-story{grid-template-columns:1fr;gap:24px}.numbered-grid{grid-template-columns:1fr;gap:28px}.numbered-grid article{grid-template-columns:36px 1fr;gap:12px 20px}.numbered-grid article>span{grid-row:1/3}.numbered-grid p{grid-column:2}.flag-pairs{grid-template-columns:1fr}.flag-pair>div{max-width:400px;width:100%}.flag-gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.flag-gallery figure{padding:10px;gap:10px}.flag-gallery b{font-size:.8125rem}.flag-gallery span{font-size:.6875rem}.capital-mixups{gap:14px}.capital-mixups article{padding:20px}.capital-mixups h3{font-size:1.5rem}.table-scroll th,.table-scroll td{padding:14px 8px}.table-scroll table{min-width:430px}.table-scroll tbody td:last-child{min-width:120px}.table-country{min-width:0;gap:10px}.table-scroll table{font-size:.8125rem}.recall-grid{grid-template-columns:1fr}.recall-card summary{min-height:64px}.study-plan li{grid-template-columns:1fr;gap:14px;padding:24px 0}.count-grid{grid-template-columns:1fr;gap:16px}.count-grid article{grid-template-columns:80px 1fr;gap:12px 20px}.count-grid strong{grid-row:1/3;align-self:center}.count-grid p{grid-column:2}.access-matrix>div{grid-template-columns:1fr;gap:14px}.prompt-grid{grid-template-columns:1fr}.country-essentials{gap:0 20px}.country-essentials dd{font-size:1.125rem}.flag-story figure{max-width:320px;width:100%}.directory-controls{flex-wrap:wrap;padding:20px;gap:16px}.directory-controls>div:first-child{flex-basis:100%}.directory-controls>div:nth-child(2){flex:1}.directory-group ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}.directory-group li{gap:10px;min-height:52px}.directory-group li>img{width:28px;height:21px}.directory-name,.directory-group li a{font-size:.8125rem}.directory-group li small{font-size:.6875rem}.related-section{padding-block:44px}.resource-download{grid-template-columns:1fr;gap:24px;padding-block:36px 44px}.resource-download>img{width:60px;height:60px}.resource-store-links{grid-column:1}.resource-download .store{flex:1 1 9.5rem}.resource-download h2{font-size:1.75rem}.resource-footer .brand span{white-space:normal}.article-contents nav{grid-template-columns:1fr}.resource-section{gap:20px;padding-bottom:36px}.resource-section+section{padding-top:36px}}
@media(max-width:360px){.flag-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){.resource-card{transition:none}.resource-card:hover{transform:none}}
/* Connect the established landing page to the new resource library. */
.learning-preview{--resource-line:#344A73;--resource-ink:var(--foam);--resource-muted:#B9C9E7;background:linear-gradient(180deg,var(--deep),#041440) no-repeat #041440;padding-block:clamp(64px,8vw,104px)}
.learning-heading{display:grid;grid-template-columns:1.2fr 1fr;align-items:end;gap:48px;margin-bottom:32px}
.learning-heading .eyebrow{color:var(--gold);font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.14em;margin-bottom:18px}
.learning-heading h2{font-size:clamp(2rem,1.4rem + 2vw,3rem);line-height:1.08}
.learning-heading>p{color:#B9C9E7;max-width:52ch}
.learning-preview .resource-card{background:#10265A}
.learning-preview .resource-card .eyebrow{color:#B9C9E7;font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;font-weight:700}
.learning-preview .resource-card p{color:#B9C9E7}
.learning-preview .resource-card .card-link{color:var(--gold)}
.learning-links{display:flex;gap:20px 40px;flex-wrap:wrap;margin-top:28px}
.learning-links>a{display:inline-flex;align-items:center;gap:16px;min-height:44px;font-size:.9375rem;text-underline-offset:5px;color:var(--gold)}
@media(max-width:800px){.learning-heading{grid-template-columns:1fr;gap:24px}.learning-preview{padding-block:56px}}

.resource-body :focus-visible{outline-color:#194A8C}

/* Not-found page: a country guide to Null Island, 0° N, 0° E. The hero pins that spot on the Europe–Africa artwork
   and opens a cartographer's inset on it. Geometry arrives from tools/content-pages.py as custom properties in percent
   of the chart's width: percentage margins and padding resolve against that width, and the overlay SVG is square, so
   the pin, the zoom lines and the inset stay aligned at every size. Map geometry stays physical in right-to-left
   languages. Motion is a short entrance plus two quiet loops, all off under reduced motion; the globe itself, the
   page's largest image, never animates. Sizes in container units carry a plain fallback first, for browsers
   without container queries. */
.null-chart{position:relative;display:grid;direction:ltr;container-type:inline-size;width:100%;max-width:470px;margin-inline:auto}
.null-chart>*{grid-area:1/1}
.null-globe{align-self:start;width:var(--globe-size);margin-left:var(--globe-left)}
.null-overlay{position:absolute;top:0;left:0;z-index:1;width:100%;height:auto;aspect-ratio:1;overflow:visible;pointer-events:none}
.null-cone line{stroke:rgba(238,243,255,.6);stroke-width:.24}
.null-box{fill:rgba(246,199,68,.12);stroke:var(--gold);stroke-width:.34}
.null-pin{fill:var(--gold);stroke:var(--abyss);stroke-width:2;vector-effect:non-scaling-stroke}
.null-pulse{fill:none;stroke:var(--gold);stroke-width:1.5;vector-effect:non-scaling-stroke;opacity:0}
.null-inset{position:relative;z-index:2;align-self:start;width:var(--inset-width);margin:var(--inset-top) 0 0;padding:var(--inset-pad);background:var(--resource-paper);color:var(--resource-ink);border-radius:10px;box-shadow:0 24px 60px #020c2680,0 2px 10px #020c2640}
.null-map{position:relative;aspect-ratio:1;border-radius:4px;overflow:hidden;background:radial-gradient(circle at 50% 50%,#E8EFF1,#D3DEE3 72%)}
.null-map svg{position:absolute;inset:0;width:100%;height:100%}
.null-grid{fill:none;stroke:#9DB0B9;stroke-width:1;stroke-dasharray:3 4;vector-effect:non-scaling-stroke}
.null-axes{fill:none;stroke:#194A8C;stroke-width:1.5;vector-effect:non-scaling-stroke}
.null-ripples circle{fill:none;stroke:#194A8C;stroke-width:1;vector-effect:non-scaling-stroke;transform-box:fill-box;transform-origin:center}
.null-ripples circle:nth-child(1){opacity:.4}
.null-ripples circle:nth-child(2){opacity:.24}
.null-ripples circle:nth-child(3){opacity:.12}
.null-point{fill:var(--resource-ink);stroke:#E8EFF1;stroke-width:2;vector-effect:non-scaling-stroke}
.null-ticks{fill:none;stroke:#526078;stroke-width:1.25;vector-effect:non-scaling-stroke}
.null-label,.null-mark{position:absolute;font-size:12px;font-size:clamp(11px,2.9cqi,13px);line-height:1.15;color:var(--resource-muted);unicode-bidi:plaintext}
.null-label{font-family:var(--label);font-style:italic}
.null-mark{font-family:var(--body);font-variant-numeric:tabular-nums;white-space:nowrap}
.null-meridian{left:calc(50% + 5px);top:15%;max-width:calc(50% - 10px)}
.null-equator{right:6%;top:calc(50% + 4px);max-width:40%;text-align:right}
.null-mark-lat{left:6%;bottom:calc(50% + 4px)}
.null-mark-lon{right:calc(50% + 5px);bottom:6%}
.null-scale{right:7%;bottom:7%}
.null-inset figcaption{display:grid;gap:2px;padding:10px 4px 2px}
.null-inset figcaption>*{unicode-bidi:plaintext}
.null-inset figcaption strong{font-family:var(--display);font-weight:700;font-size:1rem;font-size:clamp(.9375rem,3.9cqi,1.125rem);line-height:1.2;letter-spacing:-.02em}
.null-inset figcaption span{font-family:var(--label);font-style:italic;font-size:.875rem;font-size:clamp(.8125rem,3.3cqi,.9375rem);line-height:1.3;color:var(--resource-muted)}
.null-glance{padding-bottom:0;gap:32px}
.null-glance-head{display:grid;gap:12px}
.null-glance-head .eyebrow{color:var(--resource-muted)}
.null-glance .editorial-split{gap:40px}
.null-essentials>div{padding:22px 0}
.null-essentials dd{font:400 .9375rem/1.6 var(--body);color:var(--resource-muted)}
.null-essentials dd b{display:block;margin-bottom:6px;font:700 1.375rem/1.3 var(--display);letter-spacing:-.02em;color:var(--resource-ink)}
.null-exits h2{margin-bottom:14px}
.related-lead{max-width:60ch;margin-bottom:30px;color:#B9C9E7}
:root:is(:lang(ar),:lang(hi),:lang(bn),:lang(my),:lang(th),:lang(ja),:lang(ko),:lang(zh)) :is(.null-label,.null-inset figcaption span){font-style:normal}
:root:is(:lang(ja),:lang(ko),:lang(zh)) .null-label{word-break:keep-all}
@media(max-width:800px){.null-chart{max-width:440px}}
@media(max-width:520px){.null-essentials{grid-template-columns:1fr}.null-essentials>div{padding:18px 0}.null-essentials dd b{font-size:1.1875rem}}
@media(prefers-reduced-motion:no-preference){
  .null-pin{animation:null-pin-drop .55s cubic-bezier(.2,.7,.15,1) .25s both}
  .null-pulse{transform-box:fill-box;transform-origin:center;animation:null-pulse 2.8s ease-out 1.5s infinite}
  .null-box,.null-cone line{stroke-dasharray:1;animation:null-draw .55s ease-out both}
  .null-box{animation-delay:.6s}
  .null-cone line{animation-delay:.85s}
  .null-inset{transform-origin:90% 0;animation:null-inset-in .7s cubic-bezier(.2,.7,.15,1) 1s both}
  .null-ripples circle{animation:null-ripple 5.4s ease-out infinite}
  .null-ripples circle:nth-child(2){animation-delay:-1.8s}
  .null-ripples circle:nth-child(3){animation-delay:-3.6s}
}
@keyframes null-pin-drop{from{opacity:0;transform:translateY(-4px)}}
@keyframes null-pulse{0%{opacity:.85;transform:scale(1)}70%,100%{opacity:0;transform:scale(3.6)}}
@keyframes null-draw{from{stroke-dashoffset:1}}
@keyframes null-inset-in{from{opacity:0;transform:translate(5%,-4%) scale(.88)}}
@keyframes null-ripple{0%{opacity:.5;transform:scale(.35)}100%{opacity:0;transform:scale(1.6)}}
