/* Phrase-aware type and the animated civic hologram. */
.hero-copy{container-type:inline-size;min-width:0}
.world-headline{font-size:clamp(29px,10.5cqi,70px);line-height:1.12;letter-spacing:-.04em;text-align:start}
.headline-line{display:block;white-space:nowrap}
.world-headline em{letter-spacing:-.025em}
p,li{ text-wrap:pretty }
.lede,.article,.article p,.card p,.empty-gallery p{text-align:start}
.hero-copy .lede{max-width:56ch}
.kicker:before{flex-shrink:0}
.kicker{line-height:1.65}
.detail-hero h1{line-height:1.13;letter-spacing:-.035em}
.article p{margin-bottom:1.3em}
.article h2{margin-top:1.75em;margin-bottom:.7em}
.article h3{margin-top:1.35em;margin-bottom:.6em}
.article{line-height:1.8}
.card h3{font-size:22px;line-height:1.25}
.side-panel p{font-size:15px;line-height:1.65;color:var(--muted)}
.side-panel h3{line-height:1.3}
.card .tag,.world-nav small,.caption,.field-label{line-height:1.65}
.country-card p+ p{margin-top:7px}
.detail-hero:not(.spatial-detail){max-width:980px}
.spatial-detail>div:first-child{min-width:0;container-type:inline-size}
.detail-hero h1.book-title{white-space:nowrap;font-size:clamp(23px,8.2cqi,58px)}
.edition-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.edition{min-width:0}
.edition p{overflow-wrap:anywhere}
.article a.btn{color:#0a2131;text-decoration:none}
.article a.btn.ghost{color:var(--ink)}
.edition{display:flex;flex-direction:column;align-items:flex-start}
.edition .btn{margin-top:auto}
.civic-stage{min-height:520px}
.civic-visual{position:relative;width:100%;aspect-ratio:1.15;display:grid;place-items:center;perspective:950px;isolation:isolate}
.civic-core{position:relative;width:75%;aspect-ratio:1;z-index:2;filter:drop-shadow(0 0 20px #64ddea30);transform-style:preserve-3d}
.civic-core img{width:100%;height:100%;object-fit:contain;mask-image:radial-gradient(circle,#000 66%,#000c 70%,transparent 74%);border:0;transform:none;box-shadow:none}
.civic-halo{position:absolute;width:85%;height:82%;border:1px solid #a2f5ed66;border-radius:50%;box-shadow:inset 0 0 28px #6ddcec18,0 0 22px #6ddcec18;pointer-events:none}
.halo-back{transform:rotateY(-35deg) rotateZ(23deg);z-index:1;border-color:#e5bf7c45}
.halo-front{transform:rotateY(40deg) rotateZ(-26deg);z-index:3;opacity:.45;border-style:dashed}
.civic-signals{position:absolute;inset:0;width:100%;height:100%;z-index:4;overflow:visible;pointer-events:none}
.civic-signals path{fill:none;stroke-width:1.1}
.civic-bypass{stroke:var(--gold);stroke-dasharray:3 8;filter:drop-shadow(0 0 5px #e5bf7c55)}
.civic-connection{stroke:#a0ebe352;stroke-dasharray:2 9}
.civic-signals circle{fill:var(--gold);filter:drop-shadow(0 0 6px #e5bf7c)}
.civic-floor{position:absolute;bottom:2%;width:83%;height:7%;border:1px solid #6fdbe96e;border-radius:50%;box-shadow:0 0 25px #64e2e727,inset 0 0 23px #79e9e727;z-index:0}
.civic-chip-one{left:0;top:22%}
.civic-chip-two{right:0;top:57%}
.civic-chip-three{left:5%;bottom:10%}
.civic-artifact{min-height:355px;overflow:hidden}
.civic-artifact:before{opacity:.35}
.civic-artifact:after{display:none}
.civic-artifact .civic-visual{width:min(100%,450px)}
.civic-artifact .civic-core{width:73%}
.civic-artifact .artifact-label{bottom:15px;color:#abc6cf}
.civic-artifact .civic-floor{bottom:5%}
@media(prefers-reduced-motion:no-preference){
  .civic-core{animation:civic-hover 8s ease-in-out infinite}
  .halo-back{animation:civic-halo 20s linear infinite}
  .civic-bypass{animation:civic-path 14s linear infinite}
  .civic-connection{animation:civic-path 22s linear infinite reverse}
}
@keyframes civic-hover{0%,100%{transform:translateY(0) rotateY(-6deg)}50%{transform:translateY(-9px) rotateY(6deg)}}
@keyframes civic-halo{from{transform:rotateY(-35deg) rotateZ(23deg)}to{transform:rotateY(-35deg) rotateZ(383deg)}}
@keyframes civic-path{to{stroke-dashoffset:-176}}
@media(min-width:980px){
 .article p:not(.source-record){text-align:justify;text-align-last:start;text-justify:inter-word;hyphens:auto}
 .article .edition p,.article .card p,.article .fk,.article .fv{text-align:start;hyphens:none}
}
@media(max-width:780px){
 .world-headline{font-size:clamp(29px,10.5cqi,66px)}
 .detail-hero h1{font-size:clamp(34px,6.5vw,55px)}
 .civic-stage{min-height:460px}
 .civic-artifact{min-height:300px}
 .edition-grid{grid-template-columns:1fr}
}
@media(max-width:480px){
 .world-headline{font-size:clamp(28px,10.5cqi,43px)}
 .detail-hero h1{font-size:clamp(30px,8.7vw,38px)}
 .civic-stage{min-height:390px}
 .civic-artifact{min-height:280px}
 .civic-chip-one{top:12%}
 .civic-chip-two{top:58%}
 .civic-chip-three{bottom:9%;left:0}
 .civic-core{width:82%}
 .civic-artifact .civic-core{width:78%}
 .civic-artifact .artifact-label{font-size:8px}
 .card h3{font-size:21px}
}
