:root{--reader-scale:1}
.primary-nav a{font-size:13px;letter-spacing:.01em}
.home-hero{padding-top:4.8rem;padding-bottom:5rem}
.home-hero-copy h1{max-width:13ch;font-size:clamp(3rem,6.2vw,5.4rem);letter-spacing:-.055em}
.home-hero-copy>p{font-size:1.12rem;line-height:1.78;max-width:60ch}
.home-hero .observatory-visual{max-width:440px}
.metrics-band{margin-bottom:1rem}
.theme-card,.editorial-tile,.story-tile{padding:0 0 1.3rem;overflow:hidden}
.theme-card .eyebrow,.editorial-tile>.eyebrow,.story-tile>.eyebrow,.theme-card h2,.editorial-tile h2,.story-tile h2,.theme-card p,.editorial-tile p,.story-tile p,.theme-card .button,.editorial-tile .button,.story-tile .button{margin-left:1.25rem;margin-right:1.25rem}
.editorial-card-image{display:block;width:100%;height:180px;object-fit:cover;margin:0 0 1.1rem;border-radius:0!important}
.theme-card .editorial-card-image{height:155px}
.story-tile .editorial-card-image{height:210px}
.photo-hero{isolation:isolate;background-image:linear-gradient(90deg,rgba(4,25,39,.9),rgba(4,35,49,.68) 58%,rgba(4,35,49,.18)),var(--hero-photo)!important;background-size:cover!important;background-position:center 42%!important}
.photo-hero .wrap{max-width:1180px}
.photo-hero h1{max-width:17ch;font-size:clamp(2.8rem,5vw,4.6rem)}
.photo-hero p{max-width:62ch;font-size:1.1rem;line-height:1.75}
.page-theme .page-main-theme>.wrap>.grid .card,.page-topic .page-main-topic>.wrap>.grid .card{padding:0 0 1.25rem}
.story-cover{margin:1.35rem 0 1.25rem}
.story-cover img{display:block;width:100%;height:clamp(230px,36vw,440px);object-fit:cover;border-radius:22px;box-shadow:0 18px 48px rgba(9,47,61,.14)}
.story-cover figcaption{margin:.55rem .2rem 0;color:#6a7d82;font-size:.75rem;letter-spacing:.015em}
.story-tools{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin:1rem 0 1.4rem}
.story-tools button,.collection-share{border:1px solid #c8ddd7;border-radius:999px;padding:.58rem .9rem;background:#fff;color:#164b4b;font-size:.8rem;font-weight:800;cursor:pointer}
.story-tools button:first-child,.collection-share{background:#e4f3ed;border-color:#c4e1d6}
.story-tools button:hover,.collection-share:hover{background:#d1eae0}
.reader-label{font-size:.76rem;color:#6b7d82;margin-left:.35rem}
.story-narrative.reader-text{max-width:760px;padding:clamp(1.3rem,3.2vw,2.8rem);font-size:calc(1.02rem * var(--reader-scale));line-height:1.9;background:#fff;border:1px solid #e0eae6;border-radius:20px;box-shadow:0 12px 32px rgba(9,47,61,.045)}
.story-narrative.reader-text p{font-size:calc(1.04rem * var(--reader-scale));line-height:1.92;color:#29444d;margin:0 0 1.35rem}
.story-narrative.reader-text p.story-lead{font-size:calc(1.24rem * var(--reader-scale));line-height:1.72;color:#163d48;font-weight:550}
.page-story .page-intro,.page-study .page-intro{max-width:1000px}
.page-story .page-intro>h1,.page-study .page-intro>h1{max-width:20ch;font-size:clamp(2.4rem,5vw,4.1rem)}
.story-status{max-width:850px}
.share-announcement{position:fixed;z-index:100;left:50%;bottom:24px;transform:translate(-50%,15px);padding:.7rem 1.15rem;border-radius:999px;background:#082f3d;color:#fff;font-size:.85rem;font-weight:750;opacity:0;pointer-events:none;transition:.2s}
.share-announcement.show{opacity:1;transform:translate(-50%,0)}
.footer-gallery{max-width:1240px;margin:0 auto 2.5rem;padding:0 0 2rem;border-bottom:1px solid rgba(218,239,235,.18)}
.footer-gallery-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:1.5rem;margin-bottom:1.1rem}
.footer-gallery-heading h2{color:#fff;font-size:1.65rem;margin:.25rem 0}
.footer-gallery-heading p{color:#b7cece;margin:0;font-size:.86rem}
.footer-gallery-heading .eyebrow{color:#8ee0cf}
.footer-gallery-heading button{flex:0 0 auto;border:1px solid rgba(211,239,231,.4);border-radius:999px;background:transparent;color:#fff;padding:.7rem 1rem;font-size:.8rem;font-weight:800;cursor:pointer}
.footer-gallery-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.8rem}
.footer-story-card{display:flex;flex-direction:column;overflow:hidden;border:1px solid rgba(218,239,235,.18);border-radius:13px;background:rgba(255,255,255,.06);color:#fff;text-decoration:none;min-width:0}
.footer-story-card:hover{color:#fff;background:rgba(255,255,255,.12);transform:translateY(-2px)}
.footer-story-card img{width:100%;height:105px;object-fit:cover}
.footer-story-copy{display:flex;flex-direction:column;gap:.3rem;padding:.7rem;min-height:112px}
.footer-story-copy small{color:#8ee0cf;font-size:.62rem;font-weight:850;letter-spacing:.12em}
.footer-story-copy strong{font-size:.79rem;line-height:1.35;color:#fff}
.footer-story-copy>span{margin-top:auto;color:#b8d6d2;font-size:.7rem;font-weight:750}
.gallery-loading{color:#c6d9dc;font-size:.85rem}
@media(max-width:980px){.footer-gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:640px){.home-hero-copy h1{font-size:clamp(2.8rem,12vw,4rem)}.footer-gallery-heading{display:block}.footer-gallery-heading button{margin-top:1rem}.footer-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}.footer-story-card img{height:90px}.footer-story-copy{min-height:105px;padding:.6rem}.story-cover img{height:245px;border-radius:15px}.story-tools{gap:.35rem}.reader-label{width:100%;margin:.15rem 0 0}}
.home-people-photo{margin:0;position:relative;border-radius:24px;overflow:hidden;box-shadow:0 22px 55px rgba(0,0,0,.2);border:1px solid rgba(255,255,255,.24)}
.home-people-photo img{display:block;width:100%;height:390px;object-fit:cover}
.home-people-photo figcaption{position:absolute;left:0;right:0;bottom:0;padding:2.3rem 1.2rem 1rem;background:linear-gradient(transparent,rgba(3,28,38,.85));color:#fff;font-size:.83rem;font-weight:800;letter-spacing:.04em}
.page-main-themes-index .grid .card{padding:0 0 1.3rem;overflow:hidden}
.page-main-themes-index .grid .card>.editorial-card-image{height:185px}
.page-main-themes-index .grid .card>.eyebrow,.page-main-themes-index .grid .card>h2,.page-main-themes-index .grid .card>p,.page-main-themes-index .grid .card>.button{margin-left:1.25rem;margin-right:1.25rem}
@media(max-width:640px){.home-people-photo img{height:270px}}
