/* /assets/css/site-v5.css */
:root{--ink:#17150f;--paper:#fbf8f0;--paper-deep:#efe5d1;--gold:#c8922e;--gold-light:#edca75;--red:#8f1c22;--green:#1f6b45;--muted:#675f52;--line:#dfd2b8;--serif:Georgia,"Times New Roman",serif;--sans:Inter,Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--serif)}img{max-width:100%;height:auto}a{color:inherit}.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}
.skip-link{position:fixed;top:10px;left:10px;z-index:2000;padding:11px 15px;color:#17150f;background:var(--gold-light);border-radius:4px;font:800 12px var(--sans);transform:translateY(-150%);transition:transform .15s}.skip-link:focus{transform:translateY(0)}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--gold-light);outline-offset:3px}.header-search{display:flex;gap:4px}.header-search button{padding:8px 10px;color:#17150f;background:var(--gold-light);border:0;border-radius:5px;font:800 10px var(--sans);cursor:pointer}
.site-header{position:sticky;top:0;z-index:1000;display:flex;align-items:center;gap:22px;min-height:72px;padding:10px clamp(18px,3vw,54px);color:#fff;background:rgba(15,14,11,.98);border-bottom:1px solid rgba(237,202,117,.28);box-shadow:0 8px 30px rgba(0,0,0,.18)}
.brand{display:inline-flex;align-items:center;gap:10px;color:#fff;text-decoration:none;line-height:1.05}.brand-mark{display:grid;place-items:center;width:38px;height:38px;color:var(--gold-light);border:1px solid rgba(237,202,117,.45);border-radius:50%}.brand strong{display:block;font:700 17px/1.05 var(--serif)}.brand small{display:block;margin-top:4px;color:#c9c0ae;font:500 9px/1.1 var(--sans);letter-spacing:.17em;text-transform:uppercase}
.site-nav{display:flex;align-items:center;justify-content:flex-end;gap:4px;min-width:0;margin-left:auto;font:600 12px/1.2 var(--sans)}.site-nav>a,.site-nav details>summary{display:block;padding:10px 8px;color:#eee8dc;text-decoration:none;white-space:nowrap;border-radius:4px;cursor:pointer;list-style:none}.site-nav summary::-webkit-details-marker{display:none}.site-nav summary:after{content:" ▾";color:var(--gold-light)}.site-nav>a:hover,.site-nav summary:hover{color:var(--gold-light);background:rgba(255,255,255,.06)}.site-nav details{position:relative}.site-nav details>div{position:absolute;top:calc(100% + 6px);left:0;display:grid;width:230px;padding:8px;background:#17150f;border:1px solid rgba(237,202,117,.24);border-radius:6px;box-shadow:0 16px 38px rgba(0,0,0,.35)}.site-nav details>div a{padding:9px 10px;color:#eee8dc;text-decoration:none;border-radius:4px}.site-nav details>div a:hover{color:var(--gold-light);background:rgba(255,255,255,.06)}.header-search input{width:150px;padding:9px 11px;color:#fff;background:#29261f;border:1px solid #4b4438;border-radius:5px}.menu-toggle{display:none}
.frame-stack{width:100%;margin:0;background:#0d0c09}.static-frame{display:block;width:100%;min-height:780px;border:0;background:#0d0c09}
.kh-home-hero{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);min-height:calc(100vh - 72px);color:#f8f2e7;background:#15130f}.kh-home-hero-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(68px,8vw,130px) clamp(24px,7vw,110px)}.kh-home-kicker{margin:0 0 22px;color:var(--gold-light);font:800 10px/1.3 var(--sans);letter-spacing:.18em;text-transform:uppercase}.kh-home-hero h1{max-width:760px;margin:0;color:#fff;font:700 clamp(4rem,8vw,8.5rem)/.84 var(--serif);letter-spacing:-.065em}.kh-home-hero h1 span{display:block;margin-top:.16em;color:var(--gold-light);font-size:.49em;font-style:italic;font-weight:400;letter-spacing:-.035em;line-height:1}.kh-home-intro{max-width:720px;margin:32px 0 26px;color:#d8d0c1;font-size:clamp(1.05rem,1.7vw,1.3rem);line-height:1.68}.kh-home-search{display:flex;max-width:720px;margin:0 0 22px;padding:5px;background:#fff;border-radius:6px;box-shadow:0 18px 46px rgba(0,0,0,.24)}.kh-home-search input{min-width:0;flex:1;padding:15px 16px;color:var(--ink);background:#fff;border:0;outline:0;font:16px var(--serif)}.kh-home-search button{padding:14px 20px;color:#fff;background:var(--red);border:0;border-radius:4px;font:800 11px var(--sans);letter-spacing:.06em;text-transform:uppercase;cursor:pointer}.kh-home-actions{display:flex;align-items:center;gap:18px;margin-top:2px}.kh-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:14px 18px;border-radius:4px;font:800 11px/1.2 var(--sans);letter-spacing:.06em;text-decoration:none;text-transform:uppercase}.kh-button.primary{color:#fff;background:var(--red)}.kh-button.light{color:#17150f;background:var(--gold-light)}.kh-button.text{padding-inline:4px;color:var(--gold-light)}.kh-button.text span{transition:transform .2s}.kh-button.text:hover span{transform:translateX(4px)}.kh-home-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));max-width:720px;margin:45px 0 0;padding-top:24px;border-top:1px solid rgba(237,202,117,.2)}.kh-home-stats div{padding-right:18px}.kh-home-stats dt{color:#fff;font:700 clamp(1.5rem,3vw,2.35rem)/1 var(--serif)}.kh-home-stats dd{margin:7px 0 0;color:#9f9789;font:700 9px/1.3 var(--sans);letter-spacing:.1em;text-transform:uppercase}.kh-home-lead-story{min-width:0;margin:0;background:#30271d}.kh-home-lead-image{position:relative;display:block;width:100%;height:100%;min-height:650px;overflow:hidden;color:#fff;text-decoration:none}.kh-home-lead-image img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease}.kh-home-lead-image:hover img{transform:scale(1.025)}.kh-home-lead-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(9,8,6,.1),rgba(9,8,6,.22) 42%,rgba(9,8,6,.92))}.kh-home-lead-label{position:absolute;top:32px;left:32px;padding:8px 11px;color:#17150f;background:var(--gold-light);font:800 9px var(--sans);letter-spacing:.12em;text-transform:uppercase}.kh-home-lead-copy{position:absolute;right:clamp(28px,5vw,70px);bottom:clamp(38px,7vw,90px);left:clamp(28px,5vw,70px);display:grid;gap:14px}.kh-home-lead-copy small{color:var(--gold-light);font:800 10px var(--sans);letter-spacing:.14em;text-transform:uppercase}.kh-home-lead-copy strong{max-width:680px;font:700 clamp(2.3rem,4.2vw,4.8rem)/.98 var(--serif);letter-spacing:-.04em}.kh-home-lead-copy em{font:700 11px var(--sans);font-style:normal;letter-spacing:.08em;text-transform:uppercase}.kh-home-lead-copy b{color:var(--gold-light)}
.kh-home-section{width:min(100% - 40px,1220px);margin:auto;padding:clamp(70px,9vw,125px) 0}.kh-home-section-heading{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(260px,.7fr);align-items:end;gap:50px;margin-bottom:45px}.kh-home-section-heading h2,.kh-home-eras h2,.kh-home-interactive h2,.kh-home-mission h2{margin:0;font:700 clamp(2.5rem,5vw,5rem)/.98 var(--serif);letter-spacing:-.045em}.kh-home-section-heading>p{max-width:480px;margin:0;color:var(--muted);font-size:1.08rem;line-height:1.65}.kh-home-section-heading.compact{align-items:end}.kh-home-section-heading.compact>a{justify-self:end;color:var(--red);font:800 11px var(--sans);letter-spacing:.08em;text-decoration:none;text-transform:uppercase}.kh-home-topic-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}.kh-home-topic-card{position:relative;display:flex;min-height:310px;flex-direction:column;padding:30px;color:var(--ink);background:#f8f3e8;border-right:1px solid var(--line);border-bottom:1px solid var(--line);text-decoration:none;transition:color .2s,background .2s,transform .2s}.kh-home-topic-card:hover{z-index:2;color:#fff;background:var(--red);transform:translateY(-3px)}.kh-home-topic-card>span{color:var(--red);font:800 10px var(--sans);letter-spacing:.14em}.kh-home-topic-card:hover>span{color:var(--gold-light)}.kh-home-topic-card h3{margin:38px 0 12px;font:700 2rem/1.05 var(--serif)}.kh-home-topic-card p{max-width:310px;margin:0;color:var(--muted);font-size:15px;line-height:1.65}.kh-home-topic-card:hover p{color:#eadfd2}.kh-home-topic-card small{display:flex;justify-content:space-between;margin-top:auto;padding-top:26px;font:800 10px var(--sans);letter-spacing:.08em;text-transform:uppercase}.kh-home-topic-card small b{color:var(--red)}.kh-home-topic-card:hover small b{color:var(--gold-light)}
.kh-home-eras{display:grid;grid-template-columns:minmax(0,.88fr) minmax(420px,1.12fr);gap:clamp(50px,8vw,120px);padding:clamp(70px,9vw,130px) max(20px,calc((100% - 1220px)/2));color:#f7f1e6;background:#74191e}.kh-home-eras .eyebrow{color:var(--gold-light)}.kh-home-eras-intro{align-self:center}.kh-home-eras-intro>p:not(.eyebrow){max-width:540px;color:#ead8d2;font-size:1.08rem;line-height:1.72}.kh-home-eras-intro>a{display:inline-block;margin-top:18px;color:var(--gold-light);font:800 11px var(--sans);letter-spacing:.08em;text-decoration:none;text-transform:uppercase}.kh-home-era-list{margin:0;padding:0;border-top:1px solid rgba(255,255,255,.22);list-style:none}.kh-home-era-list li{border-bottom:1px solid rgba(255,255,255,.22)}.kh-home-era-list a{display:grid;grid-template-columns:115px 1fr auto;align-items:center;gap:22px;padding:25px 4px;color:#fff;text-decoration:none}.kh-home-era-list span{color:var(--gold-light);font:800 9px var(--sans);letter-spacing:.12em;text-transform:uppercase}.kh-home-era-list strong{font:600 clamp(1.1rem,2vw,1.42rem)/1.25 var(--serif)}.kh-home-era-list em{opacity:.6;font:800 9px var(--sans);font-style:normal;text-transform:uppercase}.kh-home-era-list a:hover em{opacity:1;color:var(--gold-light)}
.kh-home-latest{width:min(100% - 40px,1220px)}.kh-home-story-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:38px 24px}.kh-home-story{min-width:0}.kh-home-story-image{display:block;aspect-ratio:16/10;overflow:hidden;background:linear-gradient(135deg,#2c241b,#8f1c22 60%,#c8922e)}.kh-home-story-image img{width:100%;height:100%;object-fit:cover;transition:transform .45s}.kh-home-story:hover img{transform:scale(1.035)}.kh-home-story>div{padding:20px 2px 0}.kh-home-story>div>p{margin:0;color:var(--green);font:800 9px var(--sans);letter-spacing:.08em;text-transform:uppercase}.kh-home-story h3{margin:10px 0 12px;font:700 1.55rem/1.12 var(--serif)}.kh-home-story h3 a{text-decoration:none}.kh-home-story h3 a:hover{color:var(--red)}.kh-home-story>div>span{display:-webkit-box;overflow:hidden;margin-bottom:18px;color:var(--muted);font-size:14px;line-height:1.6;-webkit-box-orient:vertical;-webkit-line-clamp:3}
.kh-home-interactive{display:grid;grid-template-columns:minmax(0,.9fr) minmax(390px,1.1fr);min-height:680px;color:#fff;background:#14130f}.kh-home-map-card{position:relative;display:flex;overflow:hidden;flex-direction:column;justify-content:center;padding:clamp(60px,8vw,120px);background:radial-gradient(circle at 75% 22%,rgba(200,146,46,.28),transparent 27%),linear-gradient(135deg,#13291f,#0b1712)}.kh-home-map-card .eyebrow{color:var(--gold-light)}.kh-home-map-card h2{position:relative;max-width:550px}.kh-home-map-card>p:not(.eyebrow){position:relative;max-width:500px;color:#c7d5cc;font-size:1.08rem;line-height:1.7}.kh-home-map-card .kh-button{position:relative;align-self:flex-start;margin-top:16px}.kh-home-map-rings{position:absolute;right:-120px;bottom:-160px;width:500px;height:500px;border:1px solid rgba(237,202,117,.22);border-radius:50%}.kh-home-map-rings:before,.kh-home-map-rings:after{position:absolute;content:"";border:1px solid rgba(237,202,117,.18);border-radius:50%}.kh-home-map-rings:before{inset:70px}.kh-home-map-rings:after{inset:145px}.kh-home-word-card{display:grid;align-content:center;padding:clamp(38px,5vw,75px);color:var(--ink);background:#eee3cf}.kh-home-word-card>div{display:flex;align-items:end;justify-content:space-between;gap:25px}.kh-home-word-card h2{font-size:clamp(2rem,3vw,3.2rem)}.kh-home-word-frame{display:block;width:100%;height:330px;margin-top:25px;background:transparent;border:1px solid #d2c19f}.kh-home-mission{padding:clamp(80px,11vw,150px) max(20px,calc((100% - 1000px)/2));text-align:center;background:#fffaf0}.kh-home-mission h2{max-width:900px;margin-inline:auto}.kh-home-mission>p:not(.eyebrow){max-width:760px;margin:26px auto;color:var(--muted);font-size:1.15rem;line-height:1.75}.kh-home-mission>div{display:flex;justify-content:center;gap:18px}.kh-home-mission .kh-button.text{color:var(--red)}
.native-shell{width:min(100% - 36px,1080px);margin:auto;padding:clamp(46px,7vw,90px) 0}.native-article{font:400 18px/1.78 var(--serif)}.native-article h1{max-width:900px;margin-top:0;font-size:clamp(2.5rem,6vw,5.4rem);line-height:1.02;letter-spacing:-.035em}.native-article h2{margin-top:2.2em;color:var(--red);font-size:clamp(1.7rem,3.5vw,2.7rem);line-height:1.16}.native-article h3{margin-top:1.8em;font-size:1.45rem}.native-article p,.native-article ul,.native-article ol,.native-article blockquote{max-width:780px}.native-article a{color:var(--red);text-underline-offset:3px}.native-article blockquote{margin:2.2rem 0;padding:1.1rem 1.5rem;border-left:4px solid var(--gold);background:#f3ecdc}.native-article figure{margin:2.2rem 0}.native-article figure img{width:100%;max-height:720px;object-fit:cover;border-radius:8px}.native-article .kh-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.native-article .kh-landing-card{display:flex;flex-direction:column;min-height:230px;padding:26px;text-decoration:none;background:#f4edde;border:1px solid var(--line);border-radius:8px}
.archive-shell{width:min(100% - 36px,1180px);margin:auto;padding:clamp(50px,8vw,100px) 0}.archive-header{max-width:850px;margin-bottom:50px}.eyebrow{margin:0 0 14px;color:var(--red);font:800 11px/1.2 var(--sans);letter-spacing:.19em;text-transform:uppercase}.archive-header h1,.form-page h1,.error-page h1{margin:0;font:700 clamp(3rem,7vw,6.4rem)/.98 var(--serif);letter-spacing:-.045em}.archive-header>p:last-child{max-width:720px;color:var(--muted);font-size:1.2rem;line-height:1.65}.post-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.post-card{overflow:hidden;background:#f6f0e4;border:1px solid var(--line);border-radius:9px;box-shadow:0 12px 34px rgba(49,38,20,.07)}.post-card-image{display:block;aspect-ratio:16/9;background:linear-gradient(135deg,#34271c,#8f1c22 55%,#c8922e);background-position:center;background-size:cover}.post-card-copy{padding:24px}.post-meta{color:var(--green);font:800 10px/1.3 var(--sans);letter-spacing:.09em;text-transform:uppercase}.post-card h2{margin:12px 0;font:700 1.45rem/1.18 var(--serif)}.post-card h2 a{text-decoration:none}.post-card h2 a:hover{color:var(--red)}.post-card p{display:-webkit-box;overflow:hidden;color:#5d5548;font-size:15px;line-height:1.6;-webkit-line-clamp:4;-webkit-box-orient:vertical}.read-link{color:var(--green);font:800 11px/1.2 var(--sans);letter-spacing:.09em;text-decoration:none;text-transform:uppercase}.pagination,.admin-pagination{display:flex;justify-content:center;gap:8px;margin-top:42px}.pagination a{display:grid;place-items:center;width:40px;height:40px;text-decoration:none;border:1px solid var(--line);border-radius:50%}.pagination a[aria-current=page]{color:#fff;background:var(--red);border-color:var(--red)}.empty-state,.empty-panel{padding:50px;text-align:center;background:#f4edde;border:1px solid var(--line);border-radius:8px}
.archive-header-image{display:block;width:100%;aspect-ratio:16/9;max-height:430px;margin:0 0 34px;object-fit:cover;border-radius:9px}.page-visual{position:relative;display:grid;min-height:min(56vw,650px);place-items:end start;overflow:hidden;color:#fff;background:#201a13}.page-visual:after{position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,10,7,.78),rgba(12,10,7,.08) 75%);content:""}.page-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.page-visual>div{position:relative;z-index:1;width:min(100% - 36px,1100px);padding:clamp(50px,8vw,105px) 0;margin:auto}.page-visual .eyebrow{color:var(--gold-light)}.page-visual h1{max-width:760px;margin:0;font:700 clamp(3rem,7vw,6.5rem)/.95 var(--serif);letter-spacing:-.05em}
.reading-progress{position:fixed;top:72px;left:0;z-index:1100;width:100%;height:3px}.reading-progress span{display:block;width:0;height:100%;background:var(--gold)}.article-hero{position:relative;min-height:min(440px,48vh);display:flex;align-items:flex-end;color:#fff;background:#251b16 var(--hero) center/cover no-repeat}.article-hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,9,7,.22),rgba(10,9,7,.92))}.article-hero-copy{position:relative;width:min(100% - 36px,1120px);margin:auto;padding:58px 0 44px}.breadcrumb{display:flex;gap:9px;margin-bottom:18px;color:#dbd3c4;font:700 11px/1.2 var(--sans);letter-spacing:.12em;text-transform:uppercase}.category-pill{display:inline-block;margin:0 8px 8px 0;padding:7px 11px;color:#19150e;background:var(--gold-light);border-radius:999px;font:800 10px/1 var(--sans);text-decoration:none;text-transform:uppercase}.article-hero h1{max-width:900px;margin:8px 0 14px;font:700 clamp(1.65rem,2.4vw,2.4rem)/1.04 var(--serif);letter-spacing:-.035em}.article-deck{max-width:800px;color:#eee7db;font:400 clamp(1.05rem,2vw,1.35rem)/1.55 var(--serif)}.article-byline{color:#cfc6b8;font:600 12px/1.4 var(--sans)}
.article-image-credit{width:min(100% - 36px,1120px);margin:12px auto -42px;color:var(--muted);font:12px/1.45 var(--sans)}
.article-layout{display:grid;grid-template-columns:250px minmax(0,780px);gap:70px;width:min(100% - 36px,1120px);margin:auto;padding:70px 0}.article-tools{position:sticky;top:110px;align-self:start;display:grid;gap:10px}.article-tools button{padding:10px 12px;color:var(--ink);background:transparent;border:1px solid var(--line);border-radius:5px;cursor:pointer}.article-toc{padding:17px;background:#f3ecdc;border:1px solid var(--line);border-radius:7px}.article-toc summary{cursor:pointer;font:800 11px/1.2 var(--sans);letter-spacing:.1em;text-transform:uppercase}.article-toc ol{display:grid;gap:9px;margin:16px 0 0;padding-left:18px}.article-toc li{font-size:13px;line-height:1.35}.article-toc .toc-child{margin-left:12px}.article-toc a{text-decoration:none}.article-body{min-width:0;font:400 18px/1.82 var(--serif)}.article-body h2{margin:2.1em 0 .7em;color:var(--red);font-size:clamp(1.75rem,4vw,2.55rem);line-height:1.15}.article-body h3{margin:1.8em 0 .6em;font-size:1.45rem}.article-body a{color:var(--red);text-underline-offset:3px}.article-body figure{margin:2rem 0}.article-body figure img,.article-body>img{width:100%;border-radius:8px}.article-body blockquote{margin:2rem 0;padding:1.2rem 1.5rem;background:#f3ecdc;border-left:4px solid var(--gold)}.interactive-shell{width:min(100vw - 36px,1180px);margin-left:min(0px,calc((780px - min(100vw - 36px,1180px))/2))}.interactive-frame{display:block;width:100%;min-height:760px;border:0;background:transparent}.related{width:min(100% - 36px,1120px);margin:0 auto 90px}.related h2{margin:0 0 25px;font-size:2.2rem}.related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.related-grid a{display:flex;flex-direction:column;min-height:180px;padding:24px;text-decoration:none;background:#f3ecdc;border:1px solid var(--line);border-radius:7px}.related-grid small{color:var(--green);font:800 10px var(--sans);text-transform:uppercase}.related-grid strong{margin:15px 0;font-size:1.3rem}.related-grid span{margin-top:auto;color:var(--red);font:800 11px var(--sans);text-transform:uppercase}
.form-page{display:grid;grid-template-columns:1fr 1fr;gap:70px;width:min(100% - 36px,1050px);margin:auto;padding:clamp(70px,10vw,130px) 0}.form-page>div>p:last-child{max-width:500px;color:var(--muted);font-size:1.2rem;line-height:1.65}.form-page form{display:grid;gap:17px;padding:30px;background:#f3ecdc;border:1px solid var(--line);border-radius:8px}.form-page label{display:grid;gap:7px;font:800 11px var(--sans);letter-spacing:.08em;text-transform:uppercase}.form-page input,.form-page textarea{width:100%;padding:12px 13px;font:16px/1.4 var(--serif);background:#fff;border:1px solid #cfc0a3;border-radius:5px}.form-page button,.button{display:inline-block;padding:13px 18px;color:#fff;background:var(--red);border:0;border-radius:5px;font:800 12px var(--sans);text-decoration:none;cursor:pointer}.notice{padding:12px;border-radius:5px}.notice.success{color:#155b38;background:#dcefe4}.notice.error{color:#7d181e;background:#f4dcdc}.error-page{width:min(100% - 36px,900px);margin:auto;padding:15vh 0}.error-page>p:not(.eyebrow){color:var(--muted);font-size:1.2rem}
.site-footer{display:grid;grid-template-columns:minmax(220px,1fr) minmax(520px,1.6fr);gap:44px clamp(36px,7vw,110px);padding:clamp(50px,7vw,82px) max(20px,calc((100% - 1180px)/2)) 28px;color:#c9c0ae;background:#0f0e0b;border-top:1px solid rgba(237,202,117,.22);font:500 13px/1.55 var(--sans)}.footer-brand>a{display:flex;align-items:center;gap:12px;color:#fff;text-decoration:none;font:700 1.35rem var(--serif)}.footer-brand p{max-width:340px;color:#a9a092;font:400 15px/1.65 var(--serif)}.footer-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.footer-nav>div{display:grid;align-content:start;gap:9px}.footer-nav strong{margin-bottom:4px;color:var(--gold-light);font:800 10px var(--sans);letter-spacing:.14em;text-transform:uppercase}.footer-nav a{text-decoration:none}.footer-nav a:hover{color:#fff}.footer-bottom{display:flex;grid-column:1/-1;justify-content:space-between;gap:20px;padding-top:24px;color:#81796c;border-top:1px solid rgba(237,202,117,.14);font-size:11px}
@media(max-width:1050px){.site-nav{position:absolute;top:100%;left:0;right:0;display:none;align-items:stretch;padding:15px 20px;background:#17150f}.site-nav.is-open{display:grid}.site-nav details>div{position:static;width:auto;margin:4px 0 8px}.menu-toggle{display:block;margin-left:auto;padding:9px 13px;color:#fff;background:transparent;border:1px solid #625a4d;border-radius:5px}.header-search input{width:100%}.post-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.article-layout{grid-template-columns:1fr}.article-tools{position:static}.site-footer{grid-template-columns:1fr}.footer-bottom{grid-column:auto}.form-page{grid-template-columns:1fr}.kh-home-hero{grid-template-columns:1fr;min-height:0}.kh-home-hero-copy{min-height:720px}.kh-home-lead-image{height:min(760px,88vh)}.kh-home-topic-grid,.kh-home-story-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.kh-home-eras,.kh-home-interactive{grid-template-columns:1fr}.kh-home-map-card{min-height:600px}.kh-home-word-card{min-height:680px}}
@media(max-width:680px){.post-grid,.related-grid,.footer-nav,.native-article .kh-card-grid,.kh-home-topic-grid,.kh-home-story-grid{grid-template-columns:1fr}.article-hero-copy{padding:70px 0 45px}.article-layout{padding:45px 0}.static-frame{min-height:680px}.footer-bottom{display:grid}.brand small{display:none}.kh-home-hero-copy{min-height:0;padding:70px 20px}.kh-home-hero h1{font-size:clamp(3.5rem,19vw,5.7rem)}.kh-home-search{display:grid;background:transparent;box-shadow:none}.kh-home-search input{border-radius:5px}.kh-home-search button{margin-top:7px;padding:16px}.kh-home-actions,.kh-home-mission>div{align-items:stretch;flex-direction:column}.kh-home-actions .kh-button,.kh-home-mission .kh-button{justify-content:flex-start}.kh-home-stats{gap:10px}.kh-home-stats div{padding-right:5px}.kh-home-lead-image{height:70vh;min-height:560px}.kh-home-section-heading{grid-template-columns:1fr;gap:18px}.kh-home-section-heading.compact>a{justify-self:start}.kh-home-topic-card{min-height:260px}.kh-home-eras{grid-template-columns:1fr;padding-inline:20px}.kh-home-era-list a{grid-template-columns:86px 1fr}.kh-home-era-list em{display:none}.kh-home-interactive{grid-template-columns:1fr}.kh-home-map-card,.kh-home-word-card{padding:65px 20px}.kh-home-map-card{min-height:540px}.kh-home-word-card>div{display:block}.kh-home-word-frame{height:520px}.kh-home-mission{text-align:left}}

/* Practical tools */
.tools-hub{width:min(100% - 36px,1180px);margin:auto;padding:clamp(55px,8vw,105px) 0}
.tools-hero{position:relative;overflow:hidden;padding:clamp(42px,7vw,86px);color:#fff;background:radial-gradient(circle at 82% 20%,rgba(200,146,46,.28),transparent 25%),linear-gradient(135deg,#14262b,#1f5c4e);border-radius:10px}
.tools-hero:after{position:absolute;right:-110px;bottom:-185px;width:410px;height:410px;border:1px solid rgba(237,202,117,.25);border-radius:50%;content:""}
.tools-hero .eyebrow{position:relative;color:var(--gold-light)}
.tools-hero h1{position:relative;max-width:850px;margin:0;font:700 clamp(3rem,7vw,6.5rem)/.93 var(--serif);letter-spacing:-.055em}
.tools-hero>p:last-of-type{position:relative;max-width:700px;margin:26px 0 0;color:#d7e2dc;font-size:clamp(1.05rem,2vw,1.25rem);line-height:1.65}
.tools-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:24px}
.tool-card{position:relative;display:flex;min-height:410px;overflow:hidden;flex-direction:column;padding:34px;color:var(--ink);background:#f3ecdc;border:1px solid var(--line);border-radius:9px;text-decoration:none;transition:transform .2s,box-shadow .2s}
.tool-card.featured{color:#fff;background:linear-gradient(145deg,#74191e,#a6301f);border-color:#74191e}
.tool-card:hover{transform:translateY(-4px);box-shadow:0 20px 48px rgba(43,31,15,.15)}
.tool-card-number{align-self:flex-end;color:var(--red);font:800 12px var(--sans);letter-spacing:.14em}
.tool-card.featured .tool-card-number{color:var(--gold-light)}
.tool-card div>p{margin:35px 0 12px;color:var(--green);font:800 10px var(--sans);letter-spacing:.15em;text-transform:uppercase}
.tool-card.featured div>p{color:var(--gold-light)}
.tool-card h2{max-width:520px;margin:0 0 18px;font:700 clamp(2.2rem,4vw,4rem)/.98 var(--serif);letter-spacing:-.045em}
.tool-card div>span{display:block;max-width:520px;color:var(--muted);font-size:16px;line-height:1.65}
.tool-card.featured div>span{color:#efdad6}
.tool-card>strong{display:flex;justify-content:space-between;margin-top:auto;padding-top:34px;color:var(--red);font:800 11px var(--sans);letter-spacing:.08em;text-transform:uppercase}
.tool-card.featured>strong{color:var(--gold-light)}
.tool-card>strong b{font-size:18px;transition:transform .2s}.tool-card:hover>strong b{transform:translateX(5px)}
.tools-note{display:flex;align-items:start;gap:26px;margin-top:24px;padding:24px 28px;background:#fffaf0;border-left:4px solid var(--gold)}
.tools-note strong{flex:0 0 260px;font:700 1.1rem var(--serif)}.tools-note p{max-width:720px;margin:0;color:var(--muted);font-size:14px;line-height:1.65}
.tool-page{background:#f3f1e9}
.tool-page-intro{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:22px max(18px,calc((100% - 1120px)/2));background:#fff;border-bottom:1px solid var(--line)}
.tool-page-intro nav{display:flex;gap:8px;color:var(--muted);font:800 10px var(--sans);letter-spacing:.1em;text-transform:uppercase}.tool-page-intro nav a{color:var(--red);text-decoration:none}
.tool-page-intro>p{max-width:720px;margin:0;color:var(--muted);font-size:14px;line-height:1.5;text-align:right}
.tool-frame{min-height:1100px;background:#f3f1e9}
.tool-noscript{margin:0;padding:24px;text-align:center;background:#f4dcdc}
@media(max-width:760px){.tools-grid{grid-template-columns:1fr}.tool-card{min-height:350px}.tools-note,.tool-page-intro{display:grid}.tools-note strong{flex-basis:auto}.tool-page-intro>p{text-align:left}}

/* /assets/css/youtube-subscribe.css */
.kh-youtube-dialog {
  width: min(480px, calc(100% - 32px));
  max-height: calc(100dvh - 32px);
  margin: auto;
  padding: 0;
  overflow-y: auto;
  color: #fff;
  background: #17150f;
  border: 1px solid #625a4d;
  border-top: 4px solid #edca75;
  border-radius: 14px;
  box-shadow: 0 24px 80px rgba(0, 0, 0, .4);
}
.kh-youtube-dialog:not([open]) { display: none; }
.kh-youtube-dialog::backdrop { background: rgba(15, 14, 11, .6); }
.kh-youtube-card { position: relative; padding: 36px 32px 26px; text-align: center; }
.kh-youtube-close {
  position: absolute;
  top: 10px;
  right: 10px;
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  padding: 0;
  color: #fff;
  background: transparent;
  border: 1px solid #625a4d;
  border-radius: 50%;
  font: 28px/1 Arial, sans-serif;
  cursor: pointer;
}
.kh-youtube-close:hover { background: #302b21; }
.kh-youtube-icon { display: inline-flex; margin: 6px 0 16px; color: #e52d33; }
.kh-youtube-kicker { margin: 0 0 15px; color: #edca75; font: 800 11px/1.4 Inter, Arial, sans-serif; letter-spacing: .13em; text-transform: uppercase; }
.kh-youtube-card h2 { margin: 0 0 18px; color: #fff; font: 700 clamp(30px, 6vw, 40px)/1.1 Georgia, serif; letter-spacing: -.025em; }
.kh-youtube-card #kh-youtube-description { margin: 0 0 26px; color: #ded6c7; font: 16px/1.65 Georgia, serif; }
.kh-youtube-subscribe {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 50px;
  padding: 14px 18px;
  color: #fff;
  background: #b51621;
  border-radius: 6px;
  font: 800 14px/1.4 Inter, Arial, sans-serif;
  text-decoration: none;
}
.kh-youtube-subscribe:hover { color: #fff; background: #97121b; }
.kh-youtube-later { display: block; width: 100%; min-height: 44px; margin-top: 12px; padding: 10px; color: #ded6c7; background: transparent; border: 0; font: 13px/1.4 Inter, Arial, sans-serif; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.kh-youtube-dialog :focus-visible { outline: 3px solid #edca75; outline-offset: 3px; }
@media (max-width: 480px) { .kh-youtube-card { padding: 34px 22px 20px; } }

/* /assets/vendor/leaflet/leaflet.css */
/* required styles */

.leaflet-pane,
.leaflet-tile,
.leaflet-marker-icon,
.leaflet-marker-shadow,
.leaflet-tile-container,
.leaflet-pane > svg,
.leaflet-pane > canvas,
.leaflet-zoom-box,
.leaflet-image-layer,
.leaflet-layer {
	position: absolute;
	left: 0;
	top: 0;
	}
.leaflet-container {
	overflow: hidden;
	}
.leaflet-tile,
.leaflet-marker-icon,
.leaflet-marker-shadow {
	-webkit-user-select: none;
	   -moz-user-select: none;
	        user-select: none;
	  -webkit-user-drag: none;
	}
/* Prevents IE11 from highlighting tiles in blue */
.leaflet-tile::selection {
	background: transparent;
}
/* Safari renders non-retina tile on retina better with this, but Chrome is worse */
.leaflet-safari .leaflet-tile {
	image-rendering: -webkit-optimize-contrast;
	}
/* hack that prevents hw layers "stretching" when loading new tiles */
.leaflet-safari .leaflet-tile-container {
	width: 1600px;
	height: 1600px;
	-webkit-transform-origin: 0 0;
	}
.leaflet-marker-icon,
.leaflet-marker-shadow {
	display: block;
	}
/* .leaflet-container svg: reset svg max-width decleration shipped in Joomla! (joomla.org) 3.x */
/* .leaflet-container img: map is broken in FF if you have max-width: 100% on tiles */
.leaflet-container .leaflet-overlay-pane svg {
	max-width: none !important;
	max-height: none !important;
	}
.leaflet-container .leaflet-marker-pane img,
.leaflet-container .leaflet-shadow-pane img,
.leaflet-container .leaflet-tile-pane img,
.leaflet-container img.leaflet-image-layer,
.leaflet-container .leaflet-tile {
	max-width: none !important;
	max-height: none !important;
	width: auto;
	padding: 0;
	}

.leaflet-container img.leaflet-tile {
	/* See: https://bugs.chromium.org/p/chromium/issues/detail?id=600120 */
	mix-blend-mode: plus-lighter;
}

.leaflet-container.leaflet-touch-zoom {
	-ms-touch-action: pan-x pan-y;
	touch-action: pan-x pan-y;
	}
.leaflet-container.leaflet-touch-drag {
	-ms-touch-action: pinch-zoom;
	/* Fallback for FF which doesn't support pinch-zoom */
	touch-action: none;
	touch-action: pinch-zoom;
}
.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom {
	-ms-touch-action: none;
	touch-action: none;
}
.leaflet-container {
	-webkit-tap-highlight-color: transparent;
}
.leaflet-container a {
	-webkit-tap-highlight-color: rgba(51, 181, 229, 0.4);
}
.leaflet-tile {
	filter: inherit;
	visibility: hidden;
	}
.leaflet-tile-loaded {
	visibility: inherit;
	}
.leaflet-zoom-box {
	width: 0;
	height: 0;
	-moz-box-sizing: border-box;
	     box-sizing: border-box;
	z-index: 800;
	}
/* workaround for https://bugzilla.mozilla.org/show_bug.cgi?id=888319 */
.leaflet-overlay-pane svg {
	-moz-user-select: none;
	}

.leaflet-pane         { z-index: 400; }

.leaflet-tile-pane    { z-index: 200; }
.leaflet-overlay-pane { z-index: 400; }
.leaflet-shadow-pane  { z-index: 500; }
.leaflet-marker-pane  { z-index: 600; }
.leaflet-tooltip-pane   { z-index: 650; }
.leaflet-popup-pane   { z-index: 700; }

.leaflet-map-pane canvas { z-index: 100; }
.leaflet-map-pane svg    { z-index: 200; }

.leaflet-vml-shape {
	width: 1px;
	height: 1px;
	}
.lvml {
	behavior: url(#default#VML);
	display: inline-block;
	position: absolute;
	}


/* control positioning */

.leaflet-control {
	position: relative;
	z-index: 800;
	pointer-events: visiblePainted; /* IE 9-10 doesn't have auto */
	pointer-events: auto;
	}
.leaflet-top,
.leaflet-bottom {
	position: absolute;
	z-index: 1000;
	pointer-events: none;
	}
.leaflet-top {
	top: 0;
	}
.leaflet-right {
	right: 0;
	}
.leaflet-bottom {
	bottom: 0;
	}
.leaflet-left {
	left: 0;
	}
.leaflet-control {
	float: left;
	clear: both;
	}
.leaflet-right .leaflet-control {
	float: right;
	}
.leaflet-top .leaflet-control {
	margin-top: 10px;
	}
.leaflet-bottom .leaflet-control {
	margin-bottom: 10px;
	}
.leaflet-left .leaflet-control {
	margin-left: 10px;
	}
.leaflet-right .leaflet-control {
	margin-right: 10px;
	}


/* zoom and fade animations */

.leaflet-fade-anim .leaflet-popup {
	opacity: 0;
	-webkit-transition: opacity 0.2s linear;
	   -moz-transition: opacity 0.2s linear;
	        transition: opacity 0.2s linear;
	}
.leaflet-fade-anim .leaflet-map-pane .leaflet-popup {
	opacity: 1;
	}
.leaflet-zoom-animated {
	-webkit-transform-origin: 0 0;
	    -ms-transform-origin: 0 0;
	        transform-origin: 0 0;
	}
svg.leaflet-zoom-animated {
	will-change: transform;
}

.leaflet-zoom-anim .leaflet-zoom-animated {
	-webkit-transition: -webkit-transform 0.25s cubic-bezier(0,0,0.25,1);
	   -moz-transition:    -moz-transform 0.25s cubic-bezier(0,0,0.25,1);
	        transition:         transform 0.25s cubic-bezier(0,0,0.25,1);
	}
.leaflet-zoom-anim .leaflet-tile,
.leaflet-pan-anim .leaflet-tile {
	-webkit-transition: none;
	   -moz-transition: none;
	        transition: none;
	}

.leaflet-zoom-anim .leaflet-zoom-hide {
	visibility: hidden;
	}


/* cursors */

.leaflet-interactive {
	cursor: pointer;
	}
.leaflet-grab {
	cursor: -webkit-grab;
	cursor:    -moz-grab;
	cursor:         grab;
	}
.leaflet-crosshair,
.leaflet-crosshair .leaflet-interactive {
	cursor: crosshair;
	}
.leaflet-popup-pane,
.leaflet-control {
	cursor: auto;
	}
.leaflet-dragging .leaflet-grab,
.leaflet-dragging .leaflet-grab .leaflet-interactive,
.leaflet-dragging .leaflet-marker-draggable {
	cursor: move;
	cursor: -webkit-grabbing;
	cursor:    -moz-grabbing;
	cursor:         grabbing;
	}

/* marker & overlays interactivity */
.leaflet-marker-icon,
.leaflet-marker-shadow,
.leaflet-image-layer,
.leaflet-pane > svg path,
.leaflet-tile-container {
	pointer-events: none;
	}

.leaflet-marker-icon.leaflet-interactive,
.leaflet-image-layer.leaflet-interactive,
.leaflet-pane > svg path.leaflet-interactive,
svg.leaflet-image-layer.leaflet-interactive path {
	pointer-events: visiblePainted; /* IE 9-10 doesn't have auto */
	pointer-events: auto;
	}

/* visual tweaks */

.leaflet-container {
	background: #ddd;
	outline-offset: 1px;
	}
.leaflet-container a {
	color: #0078A8;
	}
.leaflet-zoom-box {
	border: 2px dotted #38f;
	background: rgba(255,255,255,0.5);
	}


/* general typography */
.leaflet-container {
	font-family: "Helvetica Neue", Arial, Helvetica, sans-serif;
	font-size: 12px;
	font-size: 0.75rem;
	line-height: 1.5;
	}


/* general toolbar styles */

.leaflet-bar {
	box-shadow: 0 1px 5px rgba(0,0,0,0.65);
	border-radius: 4px;
	}
.leaflet-bar a {
	background-color: #fff;
	border-bottom: 1px solid #ccc;
	width: 26px;
	height: 26px;
	line-height: 26px;
	display: block;
	text-align: center;
	text-decoration: none;
	color: black;
	}
.leaflet-bar a,
.leaflet-control-layers-toggle {
	background-position: 50% 50%;
	background-repeat: no-repeat;
	display: block;
	}
.leaflet-bar a:hover,
.leaflet-bar a:focus {
	background-color: #f4f4f4;
	}
.leaflet-bar a:first-child {
	border-top-left-radius: 4px;
	border-top-right-radius: 4px;
	}
.leaflet-bar a:last-child {
	border-bottom-left-radius: 4px;
	border-bottom-right-radius: 4px;
	border-bottom: none;
	}
.leaflet-bar a.leaflet-disabled {
	cursor: default;
	background-color: #f4f4f4;
	color: #bbb;
	}

.leaflet-touch .leaflet-bar a {
	width: 30px;
	height: 30px;
	line-height: 30px;
	}
.leaflet-touch .leaflet-bar a:first-child {
	border-top-left-radius: 2px;
	border-top-right-radius: 2px;
	}
.leaflet-touch .leaflet-bar a:last-child {
	border-bottom-left-radius: 2px;
	border-bottom-right-radius: 2px;
	}

/* zoom control */

.leaflet-control-zoom-in,
.leaflet-control-zoom-out {
	font: bold 18px 'Lucida Console', Monaco, monospace;
	text-indent: 1px;
	}

.leaflet-touch .leaflet-control-zoom-in, .leaflet-touch .leaflet-control-zoom-out  {
	font-size: 22px;
	}


/* layers control */

.leaflet-control-layers {
	box-shadow: 0 1px 5px rgba(0,0,0,0.4);
	background: #fff;
	border-radius: 5px;
	}
.leaflet-control-layers-toggle {
	background-image: url("/assets/vendor/leaflet/images/layers.png");
	width: 36px;
	height: 36px;
	}
.leaflet-retina .leaflet-control-layers-toggle {
	background-image: url("/assets/vendor/leaflet/images/layers-2x.png");
	background-size: 26px 26px;
	}
.leaflet-touch .leaflet-control-layers-toggle {
	width: 44px;
	height: 44px;
	}
.leaflet-control-layers .leaflet-control-layers-list,
.leaflet-control-layers-expanded .leaflet-control-layers-toggle {
	display: none;
	}
.leaflet-control-layers-expanded .leaflet-control-layers-list {
	display: block;
	position: relative;
	}
.leaflet-control-layers-expanded {
	padding: 6px 10px 6px 6px;
	color: #333;
	background: #fff;
	}
.leaflet-control-layers-scrollbar {
	overflow-y: scroll;
	overflow-x: hidden;
	padding-right: 5px;
	}
.leaflet-control-layers-selector {
	margin-top: 2px;
	position: relative;
	top: 1px;
	}
.leaflet-control-layers label {
	display: block;
	font-size: 13px;
	font-size: 1.08333em;
	}
.leaflet-control-layers-separator {
	height: 0;
	border-top: 1px solid #ddd;
	margin: 5px -10px 5px -6px;
	}

/* Default icon URLs */
.leaflet-default-icon-path { /* used only in path-guessing heuristic, see L.Icon.Default */
	background-image: url("/assets/vendor/leaflet/images/marker-icon.png");
	}


/* attribution and scale controls */

.leaflet-container .leaflet-control-attribution {
	background: #fff;
	background: rgba(255, 255, 255, 0.8);
	margin: 0;
	}
.leaflet-control-attribution,
.leaflet-control-scale-line {
	padding: 0 5px;
	color: #333;
	line-height: 1.4;
	}
.leaflet-control-attribution a {
	text-decoration: none;
	}
.leaflet-control-attribution a:hover,
.leaflet-control-attribution a:focus {
	text-decoration: underline;
	}
.leaflet-attribution-flag {
	display: inline !important;
	vertical-align: baseline !important;
	width: 1em;
	height: 0.6669em;
	}
.leaflet-left .leaflet-control-scale {
	margin-left: 5px;
	}
.leaflet-bottom .leaflet-control-scale {
	margin-bottom: 5px;
	}
.leaflet-control-scale-line {
	border: 2px solid #777;
	border-top: none;
	line-height: 1.1;
	padding: 2px 5px 1px;
	white-space: nowrap;
	-moz-box-sizing: border-box;
	     box-sizing: border-box;
	background: rgba(255, 255, 255, 0.8);
	text-shadow: 1px 1px #fff;
	}
.leaflet-control-scale-line:not(:first-child) {
	border-top: 2px solid #777;
	border-bottom: none;
	margin-top: -2px;
	}
.leaflet-control-scale-line:not(:first-child):not(:last-child) {
	border-bottom: 2px solid #777;
	}

.leaflet-touch .leaflet-control-attribution,
.leaflet-touch .leaflet-control-layers,
.leaflet-touch .leaflet-bar {
	box-shadow: none;
	}
.leaflet-touch .leaflet-control-layers,
.leaflet-touch .leaflet-bar {
	border: 2px solid rgba(0,0,0,0.2);
	background-clip: padding-box;
	}


/* popup */

.leaflet-popup {
	position: absolute;
	text-align: center;
	margin-bottom: 20px;
	}
.leaflet-popup-content-wrapper {
	padding: 1px;
	text-align: left;
	border-radius: 12px;
	}
.leaflet-popup-content {
	margin: 13px 24px 13px 20px;
	line-height: 1.3;
	font-size: 13px;
	font-size: 1.08333em;
	min-height: 1px;
	}
.leaflet-popup-content p {
	margin: 17px 0;
	margin: 1.3em 0;
	}
.leaflet-popup-tip-container {
	width: 40px;
	height: 20px;
	position: absolute;
	left: 50%;
	margin-top: -1px;
	margin-left: -20px;
	overflow: hidden;
	pointer-events: none;
	}
.leaflet-popup-tip {
	width: 17px;
	height: 17px;
	padding: 1px;

	margin: -10px auto 0;
	pointer-events: auto;

	-webkit-transform: rotate(45deg);
	   -moz-transform: rotate(45deg);
	    -ms-transform: rotate(45deg);
	        transform: rotate(45deg);
	}
.leaflet-popup-content-wrapper,
.leaflet-popup-tip {
	background: white;
	color: #333;
	box-shadow: 0 3px 14px rgba(0,0,0,0.4);
	}
.leaflet-container a.leaflet-popup-close-button {
	position: absolute;
	top: 0;
	right: 0;
	border: none;
	text-align: center;
	width: 24px;
	height: 24px;
	font: 16px/24px Tahoma, Verdana, sans-serif;
	color: #757575;
	text-decoration: none;
	background: transparent;
	}
.leaflet-container a.leaflet-popup-close-button:hover,
.leaflet-container a.leaflet-popup-close-button:focus {
	color: #585858;
	}
.leaflet-popup-scrolled {
	overflow: auto;
	}

.leaflet-oldie .leaflet-popup-content-wrapper {
	-ms-zoom: 1;
	}
.leaflet-oldie .leaflet-popup-tip {
	width: 24px;
	margin: 0 auto;

	-ms-filter: "progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";
	filter: progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678);
	}

.leaflet-oldie .leaflet-control-zoom,
.leaflet-oldie .leaflet-control-layers,
.leaflet-oldie .leaflet-popup-content-wrapper,
.leaflet-oldie .leaflet-popup-tip {
	border: 1px solid #999;
	}


/* div icon */

.leaflet-div-icon {
	background: #fff;
	border: 1px solid #666;
	}


/* Tooltip */
/* Base styles for the element that has a tooltip */
.leaflet-tooltip {
	position: absolute;
	padding: 6px;
	background-color: #fff;
	border: 1px solid #fff;
	border-radius: 3px;
	color: #222;
	white-space: nowrap;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	pointer-events: none;
	box-shadow: 0 1px 3px rgba(0,0,0,0.4);
	}
.leaflet-tooltip.leaflet-interactive {
	cursor: pointer;
	pointer-events: auto;
	}
.leaflet-tooltip-top:before,
.leaflet-tooltip-bottom:before,
.leaflet-tooltip-left:before,
.leaflet-tooltip-right:before {
	position: absolute;
	pointer-events: none;
	border: 6px solid transparent;
	background: transparent;
	content: "";
	}

/* Directions */

.leaflet-tooltip-bottom {
	margin-top: 6px;
}
.leaflet-tooltip-top {
	margin-top: -6px;
}
.leaflet-tooltip-bottom:before,
.leaflet-tooltip-top:before {
	left: 50%;
	margin-left: -6px;
	}
.leaflet-tooltip-top:before {
	bottom: 0;
	margin-bottom: -12px;
	border-top-color: #fff;
	}
.leaflet-tooltip-bottom:before {
	top: 0;
	margin-top: -12px;
	margin-left: -6px;
	border-bottom-color: #fff;
	}
.leaflet-tooltip-left {
	margin-left: -6px;
}
.leaflet-tooltip-right {
	margin-left: 6px;
}
.leaflet-tooltip-left:before,
.leaflet-tooltip-right:before {
	top: 50%;
	margin-top: -6px;
	}
.leaflet-tooltip-left:before {
	right: 0;
	margin-right: -12px;
	border-left-color: #fff;
	}
.leaflet-tooltip-right:before {
	left: 0;
	margin-left: -12px;
	border-right-color: #fff;
	}

/* Printing */

@media print {
	/* Prevent printers from removing background-images of controls. */
	.leaflet-control {
		-webkit-print-color-adjust: exact;
		print-color-adjust: exact;
		}
	}

/* /assets/css/home.css */
/* Atlas edition — scoped to the homepage so article layouts stay unchanged. */
.home-page {
  --front-paper: #f5f2eb;
  --front-ink: #142f46;
  --front-muted: #5c6a72;
  --front-accent: #bc4435;
  --front-coral: #ed795f;
  --front-line: #d5d8d5;
  --front-blue: #dfe9eb;
  --front-serif: Georgia, "Times New Roman", serif;
  --front-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --gold-light: #ed795f;
  color: var(--front-ink);
  background: var(--front-paper);
  font-family: var(--front-sans);
  -webkit-font-smoothing: antialiased;
}
.home-page ::selection { color: white; background: #bc4435; }
.home-page :is(a, button, input, summary, [tabindex]):focus-visible { outline: 3px solid #bc4435; outline-offset: 4px; }
.home-page [hidden] { display: none !important; }
.home-page .site-header { min-height: 80px; gap: 22px; padding: 16px clamp(20px, 3vw, 48px); color: var(--front-paper); background: var(--front-ink); border: 0; box-shadow: none; }
.home-page .brand { gap: 10px; color: var(--front-paper); }
.home-page .brand-mark { color: #f9957d; border: 0; border-radius: 0; font-size: 36px; width: 39px; height: 39px; }
.home-page .brand strong { font: 750 18px/1.05 var(--front-sans); letter-spacing: -.04em; white-space: nowrap; }
.home-page .brand small { font: 500 8px/1.3 var(--front-sans); letter-spacing: .21em; color: #c4d4da; margin-top: 5px; }
.home-page .site-nav { gap: 2px; font: 500 11px/1.3 var(--front-sans); }
.home-page .site-nav > a, .home-page .site-nav details > summary { min-height: 40px; padding: 12px 8px; color: #e9efef; border-radius: 0; }
.home-page .site-nav > a:hover, .home-page .site-nav summary:hover { background: #274258; color: white; }
.home-page .site-nav > a[aria-current="page"] { color: #ffa58f; }
.home-page .site-nav summary::after { color: #ffa58f; }
.home-page .site-nav details > div { background: #142f46; border: 1px solid #486075; border-radius: 0; padding: 10px; box-shadow: 0 12px 30px #142f4620; }
.home-page .site-nav details > div a { color: #f5f2eb; border-radius: 0; min-height: 40px; }
.home-page .site-nav details > div a:hover { background: #274258; color: #ffa58f; }
.home-page .header-search { gap: 0; margin-left: 8px; }
.home-page .header-search input { width: 112px; padding: 10px; color: white; background: #223f56; border: 1px solid #587080; border-radius: 0; font: 11px var(--front-sans); }
.home-page .header-search input::placeholder { color: #d1dce0; }
.home-page .header-search button { color: #142f46; background: #f1b6a8; border-radius: 0; }
.home-page .menu-toggle { min-height: 44px; color: #f5f2eb; border-color: #7d919c; border-radius: 0; font: 600 12px var(--front-sans); }
.kh-front-shell { width: min(100% - 96px, 1360px); margin-inline: auto; }
.kh-front-masthead { display: flex; justify-content: space-between; gap: 20px; padding-block: 21px; border-bottom: 1px solid var(--front-line); font: 600 9px/1.4 var(--front-sans); letter-spacing: .15em; text-transform: uppercase; }
.kh-front-masthead > span:last-child { color: var(--front-muted); font-weight: 400; letter-spacing: .07em; }
.kh-front-eyebrow { margin: 0; color: var(--front-accent); font: 700 10px/1.5 var(--front-sans); letter-spacing: .15em; text-transform: uppercase; }
.kh-front-hero { display: grid; grid-template-columns: minmax(0, .82fr) minmax(0, 1.45fr); gap: clamp(35px, 5vw, 85px); padding-block: 44px; align-items: start; }
.kh-front-hero-copy { padding-block: 12px; }
.kh-front-hero h1 { margin: 20px 0 23px; font: 750 clamp(58px, 6.8vw, 96px)/.93 var(--front-sans); letter-spacing: -.065em; }
.kh-front-hero h1 em { display: inline-block; color: var(--front-accent); font: italic 400 1.08em/.99 var(--front-serif); letter-spacing: -.07em; }
.kh-front-hero-description { max-width: 330px; color: var(--front-muted); margin: 0 0 24px; font: 400 14px/1.8 var(--front-sans); }
.kh-front-button { display: inline-flex; align-items: center; justify-content: space-between; gap: 30px; min-height: 49px; padding: 14px 20px; color: #fff; background: var(--front-ink); font: 600 12px/1.5 var(--front-sans); text-decoration: none; transition: background .2s; }
.kh-front-button:hover { background: #31536b; }
.kh-front-button > span { font: 400 21px/1 var(--front-sans); }
.kh-front-hero-link { display: flex; align-items: center; gap: 14px; width: fit-content; min-height: 44px; color: var(--front-ink); font: 500 11px/1.5 var(--front-sans); text-decoration: none; }
.kh-front-hero-link:hover { text-decoration: underline; text-underline-offset: 4px; }
.kh-front-search { display: flex; align-items: center; margin-top: 26px; border-bottom: 1px solid #96a4aa; max-width: 370px; }
.kh-front-search:focus-within { border-color: var(--front-accent); }
.kh-front-search input { width: 100%; min-width: 0; flex: 1; padding: 15px 0; border: 0; background: transparent; color: var(--front-ink); font: 13px var(--front-sans); }
.kh-front-search input::placeholder { color: var(--front-muted); }
.kh-front-search input:focus-visible { outline-offset: 0; }
.kh-front-search button { display: grid; place-items: center; flex-shrink: 0; width: 44px; height: 44px; border: 0; background: transparent; color: var(--front-ink); cursor: pointer; }
.kh-front-search svg { width: 20px; height: 20px; }
.kh-front-archive-count { margin: 13px 0 0; color: var(--front-muted); font-size: 10px; line-height: 1.6; }
.kh-front-archive-count strong { font-weight: 600; color: var(--front-ink); }
.kh-front-quicklinks { display: flex; align-items: center; flex-wrap: wrap; gap: 15px 35px; padding-block: 18px; border-block: 1px solid var(--front-line); }
.kh-front-quicklinks > span { margin-right: auto; color: var(--front-muted); font-size: 10px; }
.kh-front-quicklinks a { font-size: 11px; font-weight: 600; min-height: 28px; display: inline-flex; align-items: center; text-decoration: none; }
.kh-front-quicklinks a:hover { color: var(--front-accent); }
.kh-atlas { min-width: 0; padding: 0; background: #fffefa; border: 1px solid #c7d1d3; box-shadow: 8px 8px 0 #e4e9e7; }
.kh-atlas-heading { display: flex; align-items: center; justify-content: space-between; gap: 15px; padding: 19px 22px 16px; }
.kh-atlas-heading .kh-front-eyebrow { font-size: 8px; color: #49616c; }
.kh-atlas-heading h2 { margin: 5px 0 0; font: 500 clamp(20px, 2vw, 27px)/1.15 var(--front-serif); letter-spacing: -.025em; }
.kh-atlas-expand { display: grid; place-items: center; width: 40px; height: 40px; border: 1px solid #c7d1d3; text-decoration: none; font-size: 22px; }
.kh-atlas-expand:hover { background: var(--front-blue); }
.kh-atlas-filters { display: flex; flex-wrap: wrap; gap: 5px; padding: 0 22px 15px; }
.kh-atlas-filters button { padding: 8px 12px; min-height: 35px; border: 1px solid #cbd5d5; border-radius: 2px; color: #344f5e; background: transparent; font: 500 10px/1.2 var(--front-sans); cursor: pointer; }
.kh-atlas-filters button[aria-pressed="true"] { color: #fff; background: var(--front-ink); border-color: var(--front-ink); }
.kh-atlas-filters button:hover { border-color: var(--front-accent); }
.kh-atlas-canvas { position: relative; height: 315px; width: 100%; z-index: 0; background: #dfe8e9; color: var(--front-ink); font-family: var(--front-sans); }
.kh-atlas-placeholder { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; padding: 30px; margin: 0; text-align: center; font: 400 22px/1.3 var(--front-serif); }
.kh-atlas-placeholder span { max-width: 290px; font: 12px/1.7 var(--front-sans); color: #506572; }
.kh-atlas .leaflet-tile-pane { filter: saturate(.55); }
.kh-atlas .leaflet-control-attribution { font-size: 9px; background: #fffefaee; }
.kh-atlas .leaflet-control-attribution a { color: #254f6c; }
.kh-atlas .leaflet-bar { border: 1px solid #a4b9c1; box-shadow: none; }
.kh-atlas .leaflet-bar a { color: var(--front-ink); background: #fffefa; width: 32px; height: 32px; line-height: 32px; }
.kh-atlas .kh-atlas-pin { background: transparent; }
.kh-atlas-pin > span { display: grid; place-items: center; width: 30px; height: 30px; color: white; background: #aa372c; border: 2px solid white; border-radius: 50%; box-shadow: 0 2px 5px #142f4640; font: 700 10px var(--front-sans); }
.kh-atlas-popup small { display: block; margin-bottom: 8px; color: #5c6a72; font-size: 10px; }
.kh-atlas-popup a { display: block; color: #142f46; font: 600 13px/1.5 var(--front-sans); text-decoration: none; }
.kh-atlas-caption { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 8px 15px; background: #e4edef; color: #465d68; font: 9px/1.5 var(--front-sans); }
.kh-atlas-caption button { padding: 4px; border: 0; color: var(--front-ink); background: transparent; font: 600 10px var(--front-sans); cursor: pointer; }
.kh-atlas-edition { display: flex; flex-wrap: wrap; gap: 5px 9px; padding: 14px 20px 0; color: var(--front-muted); font: 9px/1.5 var(--front-sans); }
.kh-atlas-edition-label { color: var(--front-ink); font-weight: 700; }
.kh-atlas-overdue { color: #9a392c; }
.kh-atlas-status { padding: 0 20px; margin: 7px 0 8px; color: #506572; font: 10px/1.5 var(--front-sans); }
.kh-atlas-stories { max-height: 115px; overflow-y: auto; overscroll-behavior: contain; list-style: none; margin: 0; padding: 0 20px 8px; scrollbar-width: thin; scrollbar-color: #94a8b0 transparent; }
.kh-atlas-stories li { display: grid; grid-template-columns: 24px minmax(0, 1fr) auto; gap: 9px; padding: 12px 0; border-top: 1px solid #e1e5e3; }
.kh-atlas-story-number { padding-top: 2px; color: #a34235; font: 600 10px/1.5 var(--front-sans); }
.kh-atlas-stories li p { margin: 0 0 4px; color: #5c6a72; font: 9px/1.4 var(--front-sans); }
.kh-atlas-stories li p > span { color: #26485a; font-weight: 600; }
.kh-atlas-stories li a { display: block; font: 600 11px/1.45 var(--front-sans); color: #142f46; text-decoration: none; }
.kh-atlas-stories li a:hover { text-decoration: underline; }
.kh-atlas-stories li small { display: block; margin-top: 4px; color: #5c6a72; font: 9px/1.5 var(--front-sans); }
.kh-atlas-stories li button { align-self: center; border: 1px solid #cbd5d5; color: #375264; background: transparent; min-height: 32px; padding: 6px 8px; font: 10px var(--front-sans); cursor: pointer; }
.kh-atlas-empty { font: 12px/1.6 var(--front-sans); padding: 0 20px 15px; }
.kh-front-section { padding-block: 66px; }
.kh-front-section-head { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin-bottom: 30px; }
.kh-front-section-head .kh-front-eyebrow { margin-bottom: 10px; }
.kh-front-section-head h2 { font: 650 clamp(28px, 3.4vw, 45px)/1.12 var(--front-sans); letter-spacing: -.045em; margin: 0; }
.kh-front-section-head h2 em { font: italic 400 1.1em/1 var(--front-serif); color: var(--front-accent); }
.kh-front-section-head > p { max-width: 330px; margin: 0; color: var(--front-muted); font: 12px/1.8 var(--front-sans); }
.kh-front-text-link { display: inline-flex; align-items: center; justify-content: space-between; gap: 18px; min-height: 36px; width: fit-content; color: var(--front-ink); font: 600 11px/1.5 var(--front-sans); text-decoration: none; }
.kh-front-text-link:hover { color: var(--front-accent); text-decoration: underline; text-underline-offset: 4px; }
.kh-front-text-link > span { font-size: 17px; }
.kh-front-reading-grid { display: grid; grid-template-columns: 1.1fr 1fr; gap: 45px; }
.kh-front-reading-grid.is-single { grid-template-columns: 1fr; }
.kh-front-lead { min-width: 0; }
.kh-front-lead-image { display: block; position: relative; aspect-ratio: 1.9; overflow: hidden; background: #cad7d9; }
.kh-front-lead-image > img { width: 100%; height: 100%; object-fit: cover; }
.kh-front-image-label { position: absolute; top: 16px; left: 16px; padding: 8px 11px; color: #fff; background: #142f46; font: 600 9px var(--front-sans); text-transform: uppercase; letter-spacing: .1em; }
.kh-front-image-arrow { position: absolute; right: 16px; bottom: 16px; display: grid; place-items: center; width: 40px; height: 40px; background: #f5f2eb; font: 24px var(--front-sans); }
.kh-front-lead > .kh-front-eyebrow { margin-top: 23px; }
.kh-front-lead h3 { margin: 10px 0 12px; font: 500 clamp(28px, 2.6vw, 37px)/1.12 var(--front-serif); letter-spacing: -.035em; }
.kh-front-lead h3 a, .kh-front-reading-story h3 a, .kh-front-journal-story h3 a { text-decoration: none; }
.kh-front-lead h3 a:hover, .kh-front-reading-story h3 a:hover, .kh-front-journal-story h3 a:hover { color: var(--front-accent); }
.kh-front-lead-excerpt { max-width: 540px; margin: 0 0 9px; color: var(--front-muted); font: 13px/1.8 var(--front-sans); }
.kh-front-reading-list { display: grid; align-content: start; border-top: 2px solid var(--front-ink); }
.kh-front-reading-story { display: grid; grid-template-columns: minmax(0, 1fr) 124px; gap: 25px; padding-block: 22px; border-bottom: 1px solid var(--front-line); }
.kh-front-reading-copy .kh-front-eyebrow { font-size: 8px; }
.kh-front-reading-story h3 { margin: 9px 0; font: 500 clamp(21px, 2vw, 27px)/1.16 var(--front-serif); letter-spacing: -.025em; }
.kh-front-reading-copy > p:not(.kh-front-eyebrow) { color: var(--front-muted); font: 11px/1.65 var(--front-sans); margin: 0 0 4px; }
.kh-front-reading-image { display: block; width: 124px; height: 124px; overflow: hidden; }
.kh-front-reading-image img { width: 100%; height: 100%; object-fit: cover; }
.kh-front-topics { background: #dfe9eb; border-block: 1px solid #c8d5d9; }
.kh-front-subject-index { display: grid; grid-template-columns: minmax(200px, .8fr) minmax(0, 2fr); gap: 65px; }
.kh-front-subject-index .kh-front-section-head { align-items: start; margin: 0; }
.kh-front-subject-index .kh-front-section-head p:not(.kh-front-eyebrow) { max-width: 250px; color: #496373; font: 12px/1.8 var(--front-sans); margin: 20px 0 0; }
.kh-front-topic-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 34px; }
.kh-front-topic { min-width: 0; display: grid; grid-template-columns: 22px minmax(0, 1fr) 18px; gap: 12px; padding-block: 22px; border-top: 1px solid #b8c9d0; text-decoration: none; }
.kh-front-topic-number { color: #537183; font: 10px/1.7 var(--front-sans); }
.kh-front-topic h3 { margin: 0; font: 600 20px/1.2 var(--front-sans); letter-spacing: -.025em; }
.kh-front-topic-arrow { font-size: 22px; line-height: 1; }
.kh-front-topic:hover h3 { color: var(--front-accent); }
.kh-front-topic p { color: #496373; font: 11px/1.7 var(--front-sans); margin: 9px 0 10px; }
.kh-front-topic small { color: #365469; font: 600 9px/1.5 var(--front-sans); }
.kh-front-culture { display: grid; grid-template-columns: .9fr 1.05fr 1fr; background: #efe5da; border: 1px solid #d9cbbd; }
.kh-front-culture-art { position: relative; min-height: 400px; height: 100%; overflow: hidden; }
.kh-front-culture-art > img { width: 100%; height: 100%; object-fit: cover; }
.kh-front-culture-art > span { position: absolute; left: 20px; bottom: 20px; padding: 8px 10px; color: #142f46; background: #f5f2eb; font: 9px var(--front-sans); }
.kh-front-experience-body { padding: 30px; }
.kh-front-experience-body h3 { margin: 14px 0; font: 600 clamp(28px, 3vw, 40px)/1.1 var(--front-sans); letter-spacing: -.04em; }
.kh-front-experience-body h3 em { font: italic 400 1.05em/1.1 var(--front-serif); }
.kh-front-experience-body > p:not(.kh-front-eyebrow) { margin: 0 0 19px; color: var(--front-muted); font: 12px/1.85 var(--front-sans); }
.kh-front-culture-paths { display: grid; padding: 22px 30px 22px 5px; }
.kh-front-culture-paths a { display: flex; flex-direction: column; justify-content: center; gap: 10px; padding: 20px 0; border-bottom: 1px solid #cdbdae; text-decoration: none; }
.kh-front-culture-paths a:last-child { border-bottom: 0; }
.kh-front-culture-paths small { font: 600 9px var(--front-sans); text-transform: uppercase; letter-spacing: .12em; color: var(--front-accent); }
.kh-front-culture-paths strong { font: 500 23px/1.1 var(--front-serif); letter-spacing: -.02em; }
.kh-front-culture-paths span { display: flex; justify-content: space-between; gap: 16px; font: 11px/1.6 var(--front-sans); color: #52636f; }
.kh-front-culture-paths b { font-size: 20px; font-weight: 400; }
.kh-front-culture-paths a:hover strong { color: var(--front-accent); }
.kh-front-word { margin-top: 15px; border-top: 1px solid #c5b9ac; }
.kh-front-word summary { display: flex; justify-content: space-between; align-items: center; min-height: 48px; cursor: pointer; list-style: none; font: 600 11px var(--front-sans); }
.kh-front-word summary::-webkit-details-marker { display: none; }
.kh-front-word summary > span { font-size: 22px; font-weight: 400; }
.kh-front-word[open] summary > span { transform: rotate(45deg); }
.kh-front-word iframe { width: 100%; height: 610px; border: 0; display: block; }
.kh-front-journal { border-top: 1px solid var(--front-line); }
.kh-front-journal-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 30px; }
.kh-front-journal-story { min-width: 0; }
.kh-front-journal-image { display: block; aspect-ratio: 1.65; overflow: hidden; background: #d1dddf; }
.kh-front-journal-image img { width: 100%; height: 100%; object-fit: cover; }
.kh-front-story-meta { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px; color: var(--front-accent); font: 600 9px/1.5 var(--front-sans); margin: 19px 0 10px; }
.kh-front-story-meta time { color: var(--front-muted); font-weight: 400; }
.kh-front-journal-story h3 { margin: 0 0 12px; font: 500 25px/1.15 var(--front-serif); letter-spacing: -.02em; overflow-wrap: anywhere; }
.kh-front-journal-story > p { color: var(--front-muted); font: 12px/1.75 var(--front-sans); margin: 0 0 12px; }
.kh-front-empty { padding: 35px; background: #e6eceb; }
.kh-front-empty h3 { margin: 0; font: 28px var(--front-serif); }
.kh-front-empty p { font: 13px/1.8 var(--front-sans); color: var(--front-muted); }
.kh-front-mission { background: #ead4c9; border-top: 1px solid #d5bdb2; }
.kh-front-mission-inner { display: grid; grid-template-columns: 1.2fr 1fr; gap: 65px; padding-block: 60px; align-items: center; }
.kh-front-mission h2 { font: 600 clamp(28px, 3.1vw, 42px)/1.13 var(--front-sans); letter-spacing: -.04em; margin: 12px 0 0; }
.kh-front-mission h2 em { font: italic 400 1.04em/1.1 var(--front-serif); }
.kh-front-mission-inner > div > p:not(.kh-front-eyebrow) { font: 13px/1.85 var(--front-sans); color: #50606b; }
.kh-front-mission-links { display: flex; flex-wrap: wrap; gap: 7px 25px; }
.home-page .site-footer { padding-inline: max(24px, calc((100% - 1360px) / 2)); color: #d3dfe3; background: #142f46; border: 0; }
.home-page .footer-brand > a { color: #f5f2eb; font: 650 23px var(--front-sans); letter-spacing: -.04em; }
.home-page .footer-brand p { color: #b5c7cf; font: 13px/1.8 var(--front-sans); }
.home-page .footer-nav strong { color: #ffa58f; }
.home-page .footer-nav a { color: #d2e0e4; }
.home-page .footer-bottom { color: #adc0cb; border-color: #385469; }
@media (min-width: 1600px) { .kh-front-hero { gap: 100px; } .kh-atlas-canvas { height: 350px; } }
@media (max-width: 1200px) {
  .kh-front-shell { width: calc(100% - 64px); }
  .kh-front-hero { gap: 36px; grid-template-columns: minmax(0, .82fr) minmax(0, 1.25fr); }
  .home-page .site-header { gap: 14px; padding-inline: 24px; }
  .home-page .site-nav > a, .home-page .site-nav details > summary { padding-inline: 6px; }
  .home-page .header-search input { width: 90px; }
  .kh-front-reading-grid { gap: 30px; }
}
@media (max-width: 1050px) {
  .home-page .site-nav { background: #142f46; max-height: calc(100dvh - 80px); overflow-y: auto; padding: 16px 24px; }
  .home-page .site-nav > a, .home-page .site-nav details > summary { min-height: 44px; padding: 13px 8px; }
  .home-page .header-search { margin: 12px 0 0; }
  .home-page .header-search input { flex: 1; width: 100%; min-height: 44px; }
  .kh-front-hero h1 { font-size: clamp(58px, 7.3vw, 80px); }
  .kh-atlas-heading { padding-inline: 16px; }
  .kh-atlas-filters { padding-inline: 16px; gap: 4px; }
  .kh-atlas-filters button { padding-inline: 9px; }
  .kh-atlas-stories { max-height: 137px; }
  .kh-front-reading-grid { grid-template-columns: 1fr 1fr; gap: 28px; }
  .kh-front-reading-story { grid-template-columns: 1fr 90px; gap: 15px; }
  .kh-front-reading-image { width: 90px; height: 100px; }
  .kh-front-subject-index { grid-template-columns: 1fr; gap: 30px; }
  .kh-front-subject-index .kh-front-section-head p:not(.kh-front-eyebrow) { max-width: 470px; }
  .kh-front-subject-index h2 br { display: none; }
  .kh-front-topic-grid { column-gap: 30px; }
  .kh-front-topic h3 { font-size: 18px; }
  .kh-front-culture { grid-template-columns: .8fr 1fr; }
  .kh-front-culture-paths { grid-column: 1/-1; grid-template-columns: repeat(3, 1fr); gap: 25px; padding: 0 25px 20px; }
  .kh-front-culture-paths a { border: 0; }
  .kh-front-culture-paths strong { font-size: 22px; }
}
@media (max-width: 800px) {
  .kh-front-shell { width: calc(100% - 40px); }
  .kh-front-masthead > span:last-child { display: none; }
  .kh-front-hero { grid-template-columns: 1fr; gap: 28px; padding-top: 32px; }
  .kh-front-hero-copy { display: grid; grid-template-columns: 1fr 1fr; column-gap: 32px; align-items: start; }
  .kh-front-hero-copy > .kh-front-eyebrow { grid-column: 1/-1; }
  .kh-front-hero h1 { grid-column: 1; grid-row: 2/7; font-size: clamp(60px, 10vw, 80px); margin-bottom: 0; }
  .kh-front-hero-description { grid-column: 2; margin-top: 22px; font-size: 12px; }
  .kh-front-hero-copy > :is(a, form, .kh-front-archive-count) { grid-column: 2; }
  .kh-front-hero-copy .kh-front-button { width: fit-content; font-size: 11px; padding-inline: 15px; gap: 18px; }
  .kh-front-search { margin-top: 14px; }
  .kh-atlas-canvas { height: 340px; }
  .kh-atlas-stories { max-height: 135px; }
  .kh-front-quicklinks { gap: 6px 22px; }
  .kh-front-quicklinks > span { width: 100%; }
  .kh-front-section { padding-block: 48px; }
  .kh-front-section-head { align-items: start; gap: 15px; }
  .kh-front-reading-grid { grid-template-columns: 1fr; gap: 28px; }
  .kh-front-reading-story { grid-template-columns: 1fr 130px; }
  .kh-front-reading-image { width: 130px; height: 130px; }
  .kh-front-topic-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .kh-front-journal-grid { grid-template-columns: 1fr; gap: 27px; }
  .kh-front-journal-story { display: grid; grid-template-columns: 180px 1fr; column-gap: 24px; padding-bottom: 25px; border-bottom: 1px solid var(--front-line); }
  .kh-front-journal-image { grid-row: 1/5; aspect-ratio: 1; }
  .kh-front-story-meta { margin-top: 0; }
  .kh-front-journal-story h3 { font-size: 23px; }
  .kh-front-mission-inner { grid-template-columns: 1fr; gap: 16px; padding-block: 45px; }
}
@media (max-width: 480px) {
  .home-page .site-header { min-height: 72px; padding: 13px 20px; }
  .home-page .brand strong { font-size: 17px; }
  .home-page .brand-mark { font-size: 30px; width: 32px; }
  .kh-front-masthead { padding-block: 16px; font-size: 8px; }
  .kh-front-hero-copy { display: block; }
  .kh-front-hero h1 { font-size: clamp(66px, 19vw, 86px); margin: 19px 0; }
  .kh-front-hero-description { margin: 0 0 21px; max-width: 300px; font-size: 13px; }
  .kh-front-hero-copy .kh-front-button { font-size: 12px; }
  .kh-front-search { margin-top: 16px; }
  .kh-front-hero { padding-top: 22px; }
  .kh-atlas-heading h2 { font-size: 23px; }
  .kh-atlas-canvas { height: 300px; }
  .kh-atlas-filters button { min-height: 36px; font-size: 10px; }
  .kh-atlas-caption { align-items: start; font-size: 8px; }
  .kh-atlas-stories { padding-inline: 14px; max-height: 160px; }
  .kh-atlas-edition, .kh-atlas-status { padding-inline: 14px; }
  .kh-atlas-stories li { grid-template-columns: 20px minmax(0, 1fr); gap: 7px; }
  .kh-atlas-stories li button { grid-column: 2; justify-self: start; min-height: 36px; }
  .kh-front-section-head { display: block; }
  .kh-front-section-head > :is(a, p) { margin-top: 16px; }
  .kh-front-section-head h2 { font-size: 31px; }
  .kh-front-topic-grid { grid-template-columns: 1fr; gap: 0; }
  .kh-front-topic h3 { font-size: 20px; }
  .kh-front-topic p { font-size: 12px; }
  .kh-front-culture { grid-template-columns: 1fr; }
  .kh-front-culture-art { height: 240px; min-height: 0; }
  .kh-front-culture-paths { grid-template-columns: 1fr; gap: 0; padding: 0 25px 10px; }
  .kh-front-culture-paths a { border-top: 1px solid #cdbdae; }
  .kh-front-reading-story { grid-template-columns: 1fr 85px; gap: 14px; }
  .kh-front-reading-image { width: 85px; height: 105px; }
  .kh-front-experience-body { padding: 25px; }
  .kh-front-journal-story { display: block; }
  .kh-front-journal-image { aspect-ratio: 1.7; margin-bottom: 18px; }
  .home-page .footer-nav { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } .home-page *, .home-page *::before, .home-page *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; } }

/* /assets/css/language-picker.css */
/* Shared header control, loaded after each edition's styles. */
.site-header .brand { order: 0; min-width: 0; flex-shrink: 0; }
.site-header .site-nav { order: 1; margin-left: 0; margin-inline-start: auto; }
.site-header .header-controls { order: 2; display: flex; align-items: center; gap: 10px; flex: 0 0 auto; }
.header-controls .menu-toggle { margin: 0; }
.language-picker { position: relative; flex: 0 0 auto; color: inherit; font-family: var(--front-sans, var(--sans, Arial, sans-serif)); }
.language-picker > summary { display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 40px; padding: 9px 12px; border: 1px solid currentColor; border-color: rgba(255,255,255,.28); border-radius: 7px; background: rgba(255,255,255,.04); font-size: 12px; font-weight: 600; line-height: 1.5; white-space: nowrap; list-style: none; cursor: pointer; }
.language-picker > summary::-webkit-details-marker { display: none; }
.language-picker > summary::marker { content: ''; }
.language-picker > summary:hover, .language-picker[open] > summary { background: rgba(255,255,255,.1); border-color: rgba(255,255,255,.6); }
.language-picker__globe { width: 17px; height: 17px; flex-shrink: 0; opacity: .85; }
.language-picker__chevron { width: 12px; height: 12px; flex-shrink: 0; transition: transform .15s ease; }
.language-picker[open] .language-picker__chevron { transform: rotate(180deg); }
.language-picker__code { display: none; }
.language-picker__options { position: absolute; inset-block-start: calc(100% + 10px); inset-inline-end: 0; z-index: 1100; width: 224px; max-width: calc(100vw - 32px); margin: 0; padding: 7px; list-style: none; color: #142f46; background: #fffdf8; border: 1px solid #dedbd2; border-radius: 10px; box-shadow: 0 14px 40px rgba(15,24,32,.22); }
.language-picker__options li { margin: 0; padding: 0; }
.language-picker__option { display: flex; align-items: center; justify-content: space-between; gap: 14px; min-height: 44px; padding: 10px 12px; border-radius: 6px; color: #213d51; font-size: 13px; font-weight: 500; line-height: 1.6; text-decoration: none; }
.language-picker__option:hover { color: #142f46; background: #eeefea; }
.language-picker__option.is-current { color: #142f46; background: #e9eeec; font-weight: 700; }
.language-picker__hint { color: #68757c; font-size: 10px; font-weight: 400; white-space: nowrap; }
.language-picker__option[lang="ckb"] { font-family: "Noto Sans Arabic", "Geeza Pro", Tahoma, Arial, sans-serif; }
.language-picker__option:focus-visible { outline: 2px solid #bc4435; outline-offset: -2px; }
@media (max-width: 1200px) {
  .site-header .header-controls { margin-inline-start: auto; }
  .site-header .site-nav { position: absolute; top: 100%; inset-inline: 0; display: none; align-items: stretch; margin-inline-start: 0; padding: 15px 20px; background: #17150f; }
  .home-page .site-header .site-nav { background: #142f46; }
  .site-header .site-nav.is-open { display: grid; }
  .site-header .site-nav details > div { position: static; width: auto; margin: 4px 0 8px; }
  .header-controls .menu-toggle { display: block; min-height: 40px; padding: 9px 13px; color: inherit; background: transparent; border: 1px solid rgba(255,255,255,.4); border-radius: 5px; font: 600 12px var(--front-sans, var(--sans, Arial, sans-serif)); }
}
@media (max-width: 650px) {
  .site-header, .home-page .site-header { gap: 12px; padding-inline: 16px; }
  .site-header .brand { flex: 1 1 auto; }
  .site-header .brand > span:last-child { min-width: 0; }
  .site-header .brand strong { font-size: 15px; white-space: normal; }
  .site-header .brand-mark { width: 30px; height: 30px; flex-shrink: 0; font-size: 28px; }
  .site-header .header-controls { gap: 8px; }
  .header-controls .menu-toggle { min-height: 40px; padding: 8px 9px; font-size: 11px; }
  .language-picker > summary { gap: 6px; padding: 9px 8px; }
  .language-picker__label { display: none; }
  .language-picker__code { display: inline; font-size: 11px; }
}
@media (max-width: 380px) { .site-header .brand small { display: none; } }
@media (prefers-reduced-motion: reduce) { .language-picker__chevron { transition: none; } }

/* /assets/css/article-reading.css */
.article-body>:first-child{margin-top:0}
.article-body h2,.article-body h3{scroll-margin-top:7rem}
.article-toc{max-height:calc(100dvh - 9rem);overflow-y:auto;scrollbar-width:thin}
.article-toc ol:empty{display:none}
.article-body dl{display:grid;grid-template-columns:minmax(8rem,1fr) minmax(0,2fr);gap:0;margin:1.25rem 0 2rem;border-block:1px solid var(--line,#d5cbb8);font-size:.95em}
.article-body dt,.article-body dd{margin:0;padding:.8rem 1rem;border-bottom:1px solid var(--line,#d5cbb8)}
.article-body dt{font-weight:700;background:#f3ecdc}
.article-body dd{overflow-wrap:anywhere}
.article-body dl>:nth-last-child(-n+2){border-bottom:0}
.article-body table{max-width:100%;display:block;overflow-x:auto;border-collapse:collapse;font-size:.9em;margin-block:1.5rem}
.article-body th,.article-body td{padding:.65rem .85rem;vertical-align:top;border:1px solid var(--line,#d5cbb8);text-align:start}
.article-body th{background:#f3ecdc}
.article-body img{max-width:100%;height:auto}
.article-body a{overflow-wrap:anywhere}
.article-body pre{max-width:100%;overflow-x:auto}
@media(max-width:720px){.article-toc{max-height:19rem}.article-body dl{grid-template-columns:minmax(0,1fr)}.article-body dt{border-bottom:0;padding-bottom:.2rem}.article-body dd{padding-top:.25rem}.article-body dl>:nth-last-child(2){border-top:1px solid var(--line,#d5cbb8)}.article-body dl>dt:first-child{border-top:0}}

/* /assets/css/donate.css */
/* Shared donation action for every public language edition. */
.kh-donate-button,
.site-header .site-nav > a.kh-donate-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-height: 42px;
  padding: 11px 15px;
  color: #241b0a;
  background: #f4ca70;
  border: 1px solid #f8d996;
  border-radius: 8px;
  box-shadow: 0 3px 12px rgba(244, 202, 112, .22);
  font: 800 13px/1.25 var(--front-sans, var(--sans, Arial, sans-serif));
  text-decoration: none;
  white-space: nowrap;
  transition: background-color .15s ease, box-shadow .15s ease;
}
.site-header .site-nav > a.kh-donate-button { margin-inline: 6px; }
.kh-donate-button svg { flex: 0 0 auto; }
.kh-donate-button:hover,
.site-header .site-nav > a.kh-donate-button:hover {
  color: #241b0a;
  background: #ffe0a0;
  box-shadow: 0 4px 18px rgba(244, 202, 112, .35);
}
.kh-donate-button:focus-visible {
  outline: 3px solid #fff;
  outline-offset: 4px;
}
.footer-nav a.kh-donate-footer {
  width: fit-content;
  margin-block: 4px;
  padding: 8px 12px;
  color: #f4ca70;
  border: 1px solid #b58b40;
  border-radius: 7px;
  font-weight: 800;
}
.footer-nav a.kh-donate-footer:hover { color: #241b0a; background: #f4ca70; }
.kh-donate-floating { display: none; }
/* Leave room for the donation action before the full navigation becomes crowded. */
@media (max-width: 1360px) {
  .site-header .header-controls { margin-inline-start: auto; }
  .site-header .site-nav { position: absolute; top: 100%; inset-inline: 0; display: none; align-items: stretch; margin-inline-start: 0; padding: 15px 20px; background: #17150f; }
  .home-page .site-header .site-nav { background: #142f46; }
  .site-header .site-nav.is-open { display: grid; }
  .site-header .site-nav details > div { position: static; width: auto; margin: 4px 0 8px; }
  .header-controls .menu-toggle { display: block; min-height: 40px; padding: 9px 13px; color: inherit; background: transparent; border: 1px solid rgba(255,255,255,.4); border-radius: 5px; font: 600 12px var(--front-sans, var(--sans, Arial, sans-serif)); }
  .kh-donate-floating {
    position: fixed;
    inset-inline-end: max(18px, env(safe-area-inset-right, 0px));
    inset-block-end: max(18px, env(safe-area-inset-bottom, 0px));
    z-index: 990;
    display: inline-flex;
    min-height: 48px;
    padding: 13px 20px;
    border-radius: 999px;
    box-shadow: 0 5px 24px rgba(28, 21, 8, .3);
  }
  .site-footer { padding-block-end: 96px; }
  body:has(input:focus, textarea:focus) .kh-donate-floating { visibility: hidden; }
}
@media (prefers-reduced-motion: reduce) {
  .kh-donate-button { transition: none; }
}

/* /assets/css/quality.css */
.article-byline a{color:inherit;text-decoration:underline;text-underline-offset:.18em}
.quality-footer-links{display:flex;gap:1rem;flex-wrap:wrap;justify-content:center;padding:1.25rem}
.quality-footer-links button{font:inherit;color:inherit;background:none;border:0;text-decoration:underline;cursor:pointer}
.quality-footer-links [hidden]{display:none!important}
ins.adsbygoogle:not([data-ad-format="autorelaxed"]){min-height:280px;display:block}
@media(min-width:800px){ins.adsbygoogle:not([data-ad-format="autorelaxed"]){min-height:250px}}
.quality-archive-cover{display:grid;place-items:center;min-height:220px;background:#142f46;color:#f6df91;font:600 1.4rem/1.3 Georgia,serif;padding:2rem;text-align:center}

.archive-cover{min-height:100%;height:100%;padding:clamp(1rem,3vw,2.5rem);display:flex;flex-direction:column;justify-content:center;gap:1rem;background:#142f46;color:#fff;overflow:hidden}.archive-cover span{color:#e8be55;text-transform:uppercase;letter-spacing:.12em;font-size:.7rem}.archive-cover strong{font-family:Georgia,serif;line-height:1.2;font-size:clamp(1.15rem,2vw,2rem)}

.quality-page{max-width:1000px;margin:3rem auto;padding:0 1.5rem}.quality-page h1{font-size:clamp(2rem,5vw,3.5rem);line-height:1.12}.quality-page li{margin:.55rem 0}.quality-page a{text-decoration-thickness:1px;text-underline-offset:.16em}
