/* Content layer for card 049: core, archive, conversation, world pages. */
.core,.archive-line,.talk,.world-body{position:relative;z-index:5}
.core{padding:9vw 7vw;background:var(--paper);color:var(--ink);scroll-margin-top:2rem}
.core-head{display:grid;grid-template-columns:1.2fr 1fr;gap:2rem 6vw;align-items:end}
.core-head .eyebrow{grid-column:1/-1;margin:0;color:var(--blue);font-weight:700}
.core-head h2{font-size:clamp(3rem,7.5vw,7.5rem);line-height:.82;letter-spacing:-.07em;margin:0;text-transform:uppercase}
.core-lead{font-size:clamp(1.1rem,1.7vw,1.6rem);line-height:1.4;margin:0}
.scales{margin:6rem 0 5rem}
.scales h3,.dirs-title{font-size:.72rem;letter-spacing:.22em;margin:0 0 1.5rem;color:var(--muted)}
.scales ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);border-top:2px solid var(--ink)}
.scales li{position:relative;padding:1.2rem 1rem 0 0;font-size:clamp(.9rem,1.4vw,1.35rem);font-weight:700;letter-spacing:.04em}
.scales li:before{content:"";position:absolute;top:-7px;left:0;width:12px;height:12px;border-radius:50%;background:var(--ink)}
.scales li.focus{color:var(--blue)}
.scales li.focus:before{background:var(--blue);box-shadow:0 0 0 6px rgba(5,71,255,.18)}
.dirs{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.dir{background:var(--paper);padding:1.6rem 1.3rem 2rem;min-height:17rem}
.dir .num{color:var(--blue)}
.dir h4{font-size:1.15rem;line-height:1.05;margin:0 0 1rem;text-transform:uppercase}
.dir p{margin:0;line-height:1.5;color:#333}
.dir.status-archive .num{color:#8a6a3b}
.dir.status-research .num,.dir.status-concept .num{color:var(--muted)}
.archive-line{display:grid;grid-template-columns:1fr 1fr;gap:6vw;padding:8vw 7vw;background:#11131a;color:#f2f3f5;border-top:1px solid rgba(255,255,255,.12);scroll-margin-top:2rem}
.archive-line h2,.talk h2,.world-body h2{font-size:clamp(2.4rem,5vw,5rem);letter-spacing:-.06em;margin:0 0 1.5rem;text-transform:uppercase}
.archive-line p{font-size:1.15rem;line-height:1.55;color:#c4c7cf;margin:0}
.archive-line ul{list-style:none;margin:0;padding:0;border-top:1px solid rgba(255,255,255,.2)}
.archive-line li{padding:1rem 0;border-bottom:1px solid rgba(255,255,255,.2);font-size:1.1rem}
.talk{padding:9vw 7vw;background:var(--blue);color:#fff;scroll-margin-top:2rem}
.talk p{font-size:clamp(1.2rem,2.2vw,2rem);line-height:1.35;max-width:52rem;margin:0 0 2.5rem}
.talk-button{display:inline-block;padding:1.1rem 1.6rem;background:#fff;color:var(--ink);text-decoration:none;font-weight:800;letter-spacing:.12em;font-size:.8rem}
.talk-button:hover,.talk-button:focus-visible{background:var(--ink);color:#fff}
.talk small{display:block;margin-top:1.5rem;max-width:42rem;line-height:1.5;opacity:.85}
.world-body{display:grid;grid-template-columns:1fr 1fr;gap:6vw;padding:8vw 7vw;background:var(--paper)}
.principles{margin:0;padding:0;list-style:none;counter-reset:p}
.principles li{counter-increment:p;padding:1.1rem 0 1.1rem 3rem;border-top:1px solid var(--line);position:relative;font-size:clamp(1.1rem,1.6vw,1.45rem);line-height:1.3}
.principles li:before{content:counter(p,decimal-leading-zero);position:absolute;left:0;top:1.3rem;font-size:.7rem;letter-spacing:.2em;color:var(--blue)}
.world-house p{font-size:clamp(1.1rem,1.6vw,1.45rem);line-height:1.45;margin:0 0 2rem}
.world-house a{color:var(--blue);font-weight:700;letter-spacing:.1em;text-decoration:none;font-size:.85rem}
.routes{position:relative;z-index:5;background:var(--paper)}
.elsewhere-title{font-size:.72rem;letter-spacing:.22em;color:var(--muted);margin:3rem 0 1rem}
.route-links a small{display:block;margin-top:.5rem;text-transform:none;color:var(--muted);letter-spacing:0}
.route-links a:hover small{color:#dfe6ff}
[dir=rtl] .principles li{padding:1.1rem 3rem 1.1rem 0}
[dir=rtl] .principles li:before{left:auto;right:0}
[dir=rtl] .scales li{padding:1.2rem 0 0 1rem}
[dir=rtl] .scales li:before{left:auto;right:0}
@media(max-width:1100px){.dirs{grid-template-columns:repeat(2,1fr)}.dir{min-height:0}}
@media(max-width:900px){.core-head,.archive-line,.world-body{grid-template-columns:1fr}}
@media(max-width:560px){.core,.archive-line,.talk,.world-body{padding:5rem 1rem}.dirs{grid-template-columns:1fr}.scales ol{grid-template-columns:1fr;border-top:0;border-left:2px solid var(--ink)}.scales li{padding:0 0 1.2rem 1.4rem}.scales li:before{top:.2rem;left:-7px}[dir=rtl] .scales ol{border-left:0;border-right:2px solid var(--ink)}[dir=rtl] .scales li{padding:0 1.4rem 1.2rem 0}[dir=rtl] .scales li:before{left:auto;right:-7px}}

/* ---- pages layer: infrastructure, info pages, form, sources ---- */
.infra-grid div,.infra-grid a{background:var(--ink);padding:2rem;min-height:12rem;color:inherit;text-decoration:none;display:block}
.infra-grid a:hover,.infra-grid a:focus-visible{background:#0c1a45}
.infra-grid strong{display:block;font-size:1.25rem;margin-bottom:.8rem}
footer a{color:#bbb;text-decoration:none}
footer a:hover{color:#fff}
.footer-links{display:flex;flex-wrap:wrap;gap:1.2rem}
.archive-line .more{display:inline-block;margin-top:1.5rem;color:#9bb3ff;text-decoration:none;font-weight:700;letter-spacing:.1em;font-size:.85rem}
.talk-button.dark{background:var(--ink);color:#fff;border:0;cursor:pointer;font-family:inherit}
.talk-button.dark:hover,.talk-button.dark:focus-visible{background:var(--blue)}
.world-planet{position:relative;z-index:5;display:grid;grid-template-columns:1.3fr 1fr;gap:6vw;padding:8vw 7vw;background:#07090d;color:#f2f3f5}
.world-planet h2{font-size:clamp(2rem,4.5vw,4.2rem);letter-spacing:-.06em;margin:0 0 1.5rem;text-transform:uppercase}
.world-planet p{font-size:clamp(1.15rem,1.8vw,1.6rem);line-height:1.4;margin:0;color:#dfe3ec}
.world-sources h3{font-size:.72rem;letter-spacing:.22em;color:#9bb3ff;margin:0 0 1rem}
.world-sources ul{list-style:none;margin:0 0 1.2rem;padding:0;border-top:1px solid rgba(255,255,255,.2)}
.world-sources li{border-bottom:1px solid rgba(255,255,255,.2)}
.world-sources a{display:block;padding:.9rem 0;color:#fff;text-decoration:none}
.world-sources a:hover{color:#9bb3ff}
.world-sources small{display:block;color:#9aa0ad;line-height:1.5}
.page-body{position:relative;z-index:5;padding:8vw 7vw;background:var(--paper);color:var(--ink)}
.page-list{margin:0 0 2.5rem;padding:0;list-style:none;border-top:1px solid var(--line);max-width:60rem}
.page-list li{padding:1.1rem 0;border-bottom:1px solid var(--line);font-size:clamp(1.1rem,1.6vw,1.45rem);line-height:1.3}
.page-status{max-width:46rem;line-height:1.55;color:#444;margin:0 0 2.5rem;font-size:1.05rem}
.info{position:relative;z-index:5;padding:17rem 7vw 8vw;background:var(--paper);color:var(--ink);min-height:100vh;max-width:78rem}
.info .eyebrow{color:var(--blue);font-weight:700}
.info h1{font-size:clamp(2.6rem,6.5vw,6rem);line-height:.9;letter-spacing:-.06em;margin:.8rem 0 2rem;text-transform:uppercase}
.info-lead{font-size:clamp(1.2rem,2vw,1.8rem);line-height:1.4;max-width:46rem;margin:0 0 3rem}
.info-block{border-top:1px solid var(--line);padding:1.6rem 0;display:grid;grid-template-columns:1fr 2fr;gap:3vw}
.info-block h2{font-size:1.05rem;margin:0;text-transform:uppercase;letter-spacing:.04em}
.info-block p{margin:0;line-height:1.6;font-size:1.05rem}
.info-updated{color:var(--muted);font-size:.8rem;letter-spacing:.14em;margin-top:2rem}
.info-back{margin-top:3rem}.info-back a{color:var(--blue);text-decoration:none;font-weight:700}
.intake{display:grid;gap:1.4rem;max-width:44rem;margin-top:1rem}
.intake label{display:grid;gap:.5rem}
.intake label>span{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.intake input[type=email],.intake input[type=text],.intake textarea{font:inherit;font-size:1.05rem;padding:.9rem 1rem;border:1px solid rgba(9,10,12,.4);background:#fff;color:var(--ink);border-radius:0;width:100%}
.intake input:focus-visible,.intake textarea:focus-visible,.talk-button:focus-visible,.menu-button:focus-visible,.languages a:focus-visible,.route-links a:focus-visible{outline:3px solid var(--blue);outline-offset:2px}
.intake .check{display:flex;gap:.8rem;align-items:flex-start}
.intake .check input{margin-top:.25rem;width:1.1rem;height:1.1rem;flex:none}
.intake .check span{font-size:.95rem;letter-spacing:0;text-transform:none;color:var(--ink);line-height:1.45}
.intake .check a{color:var(--blue)}
.intake .warn{margin:0;color:#555;font-size:.9rem}
.intake button{justify-self:start;padding:1.1rem 1.8rem;font-weight:800;letter-spacing:.12em}
.intake button[disabled]{opacity:.5;cursor:wait}
.intake .status{min-height:1.5rem;margin:0;font-weight:700}
.hp{position:absolute;top:0;left:0;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);opacity:0;pointer-events:none}
[dir=rtl] .info-block{direction:rtl}
@media(max-width:900px){.world-planet,.info-block{grid-template-columns:1fr}.info{padding-top:12rem}}
@media(max-width:560px){.world-planet,.page-body{padding:5rem 1rem}.info{padding:10rem 1rem 5rem}.info-block{gap:.6rem}}
/* ---- Observatory of Life in Common ---- */
.obs-teaser{position:relative;z-index:5;padding:8vw 7vw;background:#0a1020;color:#f2f3f5;border-top:1px solid rgba(255,255,255,.12)}
.obs-teaser .eyebrow{color:#9bb3ff}
.obs-teaser h2{font-size:clamp(2.4rem,5.5vw,5.5rem);line-height:.9;letter-spacing:-.06em;margin:.8rem 0 1.5rem;text-transform:uppercase}
.obs-teaser p:not(.eyebrow){font-size:clamp(1.1rem,1.8vw,1.6rem);line-height:1.4;max-width:56rem;color:#dfe3ec;margin:0 0 2rem}
.obs-links{display:flex;flex-wrap:wrap;gap:1rem;margin:2rem 0}
.talk-button.ghost{background:transparent;color:#fff;border:2px solid #fff}
.talk-button.ghost:hover,.talk-button.ghost:focus-visible{background:#fff;color:var(--ink)}
.info.wide{max-width:none}
.caveats{border:2px solid var(--ink);padding:1.4rem 1.6rem;margin:0 0 3rem;max-width:62rem;background:#fff}
.caveats h2{font-size:.78rem;letter-spacing:.2em;margin:0 0 .8rem;text-transform:uppercase}
.caveats ul{margin:0;padding-inline-start:1.2rem;line-height:1.5}
.caveats li{margin:.35rem 0}
.obs-h2{font-size:clamp(1.8rem,3.5vw,3.2rem);letter-spacing:-.05em;margin:3rem 0 1rem;text-transform:uppercase}
.obs-lead{max-width:56rem;font-size:1.1rem;line-height:1.55;margin:0 0 1.5rem}
.obs-legend{list-style:none;margin:0 0 1.5rem;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(19rem,1fr));gap:.4rem 1.5rem;font-size:.9rem;line-height:1.35}
.obs-legend .num{display:inline-block;min-width:1.6rem;margin:0;color:var(--blue);font-weight:700}
.obs-wrap{overflow-x:auto;border:1px solid var(--line);background:#fff;max-width:100%}
.obs-wrap:focus-visible{outline:3px solid var(--blue)}
.obs-table{border-collapse:collapse;width:100%;font-size:.88rem;min-width:46rem}
.obs-table th,.obs-table td{padding:.5rem .6rem;border-bottom:1px solid var(--line);text-align:end;white-space:nowrap}
.obs-table thead th{position:sticky;top:0;background:var(--ink);color:#fff;font-size:.72rem;letter-spacing:.08em}
.obs-table tbody th{text-align:start;font-weight:600}
.obs-table td:first-child,.obs-table th:first-child{text-align:center}
.obs-table th:nth-child(2){text-align:start}
.obs-table .ov{font-weight:800}
.obs-table .na{color:#999}
.obs-table .s-hi{background:rgba(5,71,255,.16)}
.obs-table .s-mid{background:rgba(5,71,255,.06)}
.obs-table .s-lo{background:rgba(160,60,20,.12)}
.obs-table.plain td,.obs-table.plain th{white-space:normal;text-align:start}
.obs-table.plain thead th{position:static}
.obs-table small{color:var(--muted)}
.obs-note{max-width:56rem;color:#444;line-height:1.55;margin:1.2rem 0}
.obs-steps{max-width:60rem;line-height:1.55;font-size:1.05rem;padding-inline-start:1.4rem}
.obs-steps li{margin:.5rem 0}
.radar-list{display:grid;gap:1px;background:var(--line);border:1px solid var(--line);margin:2rem 0}
.radar-item{background:var(--paper);padding:1.4rem 1.6rem;border-inline-start:6px solid var(--muted)}
.radar-item.st-use{border-inline-start-color:var(--blue)}
.radar-item.st-pilot{border-inline-start-color:#c88a2a}
.radar-item .num{margin:0 0 .6rem}
.radar-item p{margin:0 0 .8rem;font-size:1.1rem;line-height:1.5}
.radar-item a{color:var(--blue);font-weight:600;overflow-wrap:anywhere}
.obs-line{margin-top:1.5rem!important;font-size:1rem!important;color:#b8bbc4!important}
.obs-line a{color:#9bb3ff}
@media(max-width:560px){.obs-teaser{padding:5rem 1rem}.caveats{padding:1rem}}
/* ---- Courtyard: open board of notes ---- */
.court-teaser{position:relative;z-index:5;padding:8vw 7vw;background:linear-gradient(120deg,#12301f,#0d2233);color:#f2f3f5;border-top:1px solid rgba(255,255,255,.12)}
.court-teaser .eyebrow{color:#9fe3bd}
.court-teaser h2{font-size:clamp(2.6rem,7vw,7rem);line-height:.85;letter-spacing:-.07em;margin:.8rem 0 1.5rem;text-transform:uppercase}
.court-teaser p:not(.eyebrow){font-size:clamp(1.1rem,1.8vw,1.6rem);line-height:1.4;max-width:56rem;color:#dfe9e3;margin:0 0 2rem}
.court-form{max-width:46rem}
.court-form select,.court-filter select,.intake select{font:inherit;font-size:1.05rem;padding:.9rem 1rem;border:1px solid rgba(9,10,12,.4);background:#fff;color:var(--ink);border-radius:0;width:100%}
.court-filter{margin:3rem 0 1.2rem;max-width:30rem}
.court-filter label{display:grid;gap:.5rem}
.court-filter label>span{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.court-feed{display:grid;gap:1px;background:var(--line);border:1px solid var(--line);margin-bottom:2rem}
.court-empty{background:var(--paper);padding:2rem;margin:0;color:#444}
.note{background:var(--paper);padding:1.4rem 1.6rem;border-inline-start:6px solid var(--blue)}
.note-head{font-size:.9rem;color:#444}
.note-head strong{color:var(--ink);font-size:1rem}
.note-time{color:var(--muted)}
.note-topic{display:inline-block;margin-inline-start:.6rem;padding:.1rem .45rem;background:var(--ink);color:#fff;font-size:.68rem;letter-spacing:.12em}
.note-text{margin:.5rem 0 .8rem;font-size:1.15rem;line-height:1.5;overflow-wrap:anywhere;white-space:pre-wrap}
.note-bar{display:flex;flex-wrap:wrap;gap:1.2rem;align-items:center}
.note-no{margin-inline-start:auto;color:var(--muted);font-size:.78rem;letter-spacing:.1em}
.link-btn{background:none;border:0;padding:0;font:inherit;font-size:.85rem;font-weight:700;letter-spacing:.08em;color:var(--blue);cursor:pointer;text-transform:uppercase}
.link-btn:hover{text-decoration:underline}.link-btn[disabled]{color:var(--muted);cursor:default;text-decoration:none}
.link-btn:focus-visible{outline:3px solid var(--blue);outline-offset:2px}
.note-replies{margin-top:1rem;display:grid;gap:.8rem;padding-inline-start:1.2rem;border-inline-start:2px solid var(--line)}
.note-reply .note-text{font-size:1.02rem;margin:.2rem 0}
.reply-form{margin-top:1rem;max-width:36rem}
.reply-form input[type=text],.reply-form textarea{font:inherit;padding:.7rem .9rem;border:1px solid rgba(9,10,12,.4);background:#fff;width:100%}
.talk-button.ghost-dark{background:transparent;color:var(--ink);border:2px solid var(--ink);cursor:pointer;font-family:inherit}
.talk-button.ghost-dark:hover,.talk-button.ghost-dark:focus-visible{background:var(--ink);color:#fff}
.reply-form button{justify-self:start;margin-inline-end:.6rem;padding:.8rem 1.2rem;font-weight:800;letter-spacing:.1em;font-size:.75rem}
@media(max-width:560px){.court-teaser{padding:5rem 1rem}.note{padding:1rem}}
/* ---- page headers with images; Courtyard tabs, introductions, private messages ---- */
.page-hero{position:relative;z-index:5;min-height:48vh;display:flex;align-items:flex-end;overflow:hidden;background:#0b0d12;color:#fff}
.page-hero-img{position:absolute;inset:0}
.page-hero-img img{width:100%;height:100%;object-fit:cover;filter:brightness(.62) saturate(1.05)}
.page-hero-shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(5,7,11,.82),rgba(5,7,11,.18) 65%,rgba(5,7,11,.45))}
.page-hero-copy{position:relative;padding:24vh 7vw 3rem;max-width:84rem;width:100%}
.page-hero .eyebrow{color:#9bb3ff;font-weight:700;margin:0}
.page-hero h1{font-size:clamp(2.6rem,7.5vw,7.5rem);line-height:.86;letter-spacing:-.065em;margin:.7rem 0 0;text-transform:uppercase;color:#fff;text-shadow:0 3px 30px rgba(0,0,0,.6)}
.page-hero+.info{padding-top:3.5rem;min-height:0}
[dir=rtl] .page-hero-copy{text-align:right;margin-inline-start:auto}
@media(max-width:560px){.page-hero{min-height:44vh}.page-hero-copy{padding:26vh 1rem 2rem}.page-hero+.info{padding-top:2.5rem}}
.kind-pick{border:0;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:1.4rem}
.kind-pick label{display:flex;gap:.5rem;align-items:center;font-weight:700;cursor:pointer}
.kind-pick input{width:1.1rem;height:1.1rem}
.kind-pick span{font-size:1rem!important;letter-spacing:0!important;text-transform:none!important;color:var(--ink)!important}
.court-tabs{display:flex;gap:.6rem;margin:3rem 0 1rem}
.court-tabs .tab{font:inherit;font-weight:800;letter-spacing:.1em;font-size:.78rem;text-transform:uppercase;padding:.7rem 1.1rem;border:2px solid var(--ink);background:transparent;color:var(--ink);cursor:pointer}
.court-tabs .tab.on{background:var(--ink);color:#fff}
.court-tabs .tab:focus-visible{outline:3px solid var(--blue);outline-offset:2px}
.court-tabs+.court-filter{margin-top:0}
.note-topic.intro{background:var(--blue)}
.dm-title{margin:0;font-weight:700}
.dm-form{background:#fff;border:1px solid var(--line);padding:1rem}
/* ---- Who is this for, facts, FAQ ---- */
.for-whom{position:relative;z-index:5;padding:8vw 7vw;background:#0b0f14;color:#f2f3f5}
.for-head{max-width:60rem;margin-bottom:3rem}
.for-head .eyebrow{color:#9bb3ff;font-weight:700;margin:0}
.for-head h2{font-size:clamp(2.6rem,7vw,7rem);line-height:.86;letter-spacing:-.07em;margin:.8rem 0 1.2rem;text-transform:uppercase}
.for-head p:not(.eyebrow){font-size:clamp(1.1rem,1.8vw,1.6rem);line-height:1.4;color:#dfe3ec;margin:0}
.aud-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(255,255,255,.2);border:1px solid rgba(255,255,255,.2)}
.aud{display:block;background:#0b0f14;padding:1.6rem 1.4rem 2rem;color:inherit;text-decoration:none;min-height:15rem;transition:background .25s}
.aud:hover,.aud:focus-visible{background:#0c1a45}
.aud .num{color:#7fa0ff}
.aud h3{font-size:1.2rem;line-height:1.05;margin:0 0 .8rem;text-transform:uppercase}
.aud p{margin:0;color:#b8bbc4;line-height:1.45;font-size:.95rem}
.facts{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;margin:3rem 0;border-top:2px solid #fff;border-bottom:1px solid rgba(255,255,255,.25)}
.facts div{padding:1.4rem 1rem 1.4rem 0}
.facts strong{display:block;font-size:clamp(2.6rem,6vw,5.5rem);line-height:.9;letter-spacing:-.06em;color:#fff}
.facts span{display:block;margin-top:.4rem;color:#9aa0ad;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase}
.open-strip{max-width:60rem;margin:0 0 2rem}
.open-strip h3{font-size:.72rem;letter-spacing:.22em;color:#9bb3ff;margin:0 0 1rem}
.open-strip ul{list-style:none;margin:0;padding:0}
.open-strip li{font-size:clamp(1.3rem,2.6vw,2.4rem);line-height:1.12;letter-spacing:-.03em;padding:.7rem 0;border-top:1px solid rgba(255,255,255,.2)}
.aud-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-bottom:2.5rem}
.aud-card{background:var(--paper);padding:1.6rem;scroll-margin-top:2rem}
.aud-card h3{font-size:1.35rem;line-height:1.05;margin:0 0 .8rem;text-transform:uppercase}
.aud-card p{margin:.5rem 0;line-height:1.5}
.aud-links{display:flex;flex-wrap:wrap;gap:.4rem 1.2rem}
.aud-links a,.quick a{color:var(--blue);font-weight:700;text-decoration:none}
.aud-links a:hover,.quick a:hover{text-decoration:underline}
.quick{margin:0 0 1rem;padding-inline-start:1.4rem;font-size:1.15rem;line-height:1.5}
.quick li{margin:.5rem 0}
.qa-list{border-top:2px solid var(--ink);margin-bottom:2rem;max-width:62rem}
.qa{border-bottom:1px solid var(--line)}
.qa summary{cursor:pointer;list-style:none;padding:1.1rem 2.4rem 1.1rem 0;font-size:clamp(1.1rem,1.6vw,1.4rem);font-weight:700;position:relative}
.qa summary::-webkit-details-marker{display:none}
.qa summary:after{content:"+";position:absolute;inset-inline-end:.4rem;top:.9rem;font-size:1.6rem;color:var(--blue);transition:transform .2s}
.qa[open] summary:after{transform:rotate(45deg)}
.qa summary:focus-visible{outline:3px solid var(--blue);outline-offset:2px}
.qa p{margin:0 0 1rem;max-width:52rem;line-height:1.6;font-size:1.05rem}
.qa p a{color:var(--blue);font-weight:700;text-decoration:none}
.open-q{margin:0 0 1rem;padding:0;list-style:none;counter-reset:q;max-width:56rem}
.open-q li{counter-increment:q;position:relative;padding:1.1rem 0 1.1rem 3.2rem;border-top:1px solid var(--line);font-size:clamp(1.25rem,2.2vw,2rem);line-height:1.2;letter-spacing:-.02em}
.open-q li:before{content:counter(q,decimal-leading-zero);position:absolute;inset-inline-start:0;top:1.5rem;font-size:.75rem;letter-spacing:.2em;color:var(--blue)}
.glossary{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin:0 0 2.5rem}
.glossary div{background:var(--paper);padding:1.1rem 1.3rem}
.glossary dt{font-weight:800;text-transform:uppercase;letter-spacing:.04em;margin-bottom:.3rem}
.glossary dd{margin:0;line-height:1.5}
.cta-box{background:var(--ink);color:#fff;padding:2.2rem;margin:2.5rem 0}
.cta-box h2{font-size:clamp(1.8rem,3.5vw,3.2rem);letter-spacing:-.05em;margin:0 0 .6rem;text-transform:uppercase}
.cta-box p{margin:0 0 1.4rem;color:#d0d3db}
.cta-box .talk-button.dark{background:#fff;color:var(--ink)}
.cta-box .talk-button.dark:hover{background:var(--blue);color:#fff}
[dir=rtl] .open-q li{padding:1.1rem 3.2rem 1.1rem 0}
@media(max-width:1100px){.aud-grid{grid-template-columns:repeat(2,1fr)}.facts{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.aud-cards,.glossary{grid-template-columns:1fr}}
@media(max-width:560px){.for-whom{padding:5rem 1rem}.aud-grid{grid-template-columns:1fr}.facts{grid-template-columns:repeat(2,1fr)}.aud{min-height:0}.cta-box{padding:1.4rem}}
/* ---- Open letter, A day in the house, Pilot, more ways in ---- */
.more-ways{position:relative;z-index:5;padding:6vw 7vw;background:var(--paper);color:var(--ink)}
.more-ways h2{font-size:.78rem;letter-spacing:.22em;color:var(--muted);margin:0 0 1.2rem}
.ways{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--ink);border:1px solid var(--ink)}
.ways a{display:block;background:var(--paper);padding:1.8rem 1.6rem 2.2rem;color:inherit;text-decoration:none;min-height:11rem;transition:background .25s,color .25s}
.ways a:hover,.ways a:focus-visible{background:var(--blue);color:#fff}
.ways .num{color:var(--blue)}.ways a:hover .num{color:#cfe0ff}
.ways h3{font-size:clamp(1.3rem,2.2vw,2rem);line-height:1;letter-spacing:-.03em;margin:0 0 .7rem;text-transform:uppercase}
.ways p{margin:0;line-height:1.45}
.letter-paper{background:#fffdf6;border:1px solid var(--line);box-shadow:0 18px 50px rgba(0,0,0,.08);padding:clamp(1.4rem,4vw,3rem);max-width:46rem;margin:0 0 3rem;font-family:Georgia,"Times New Roman",serif}
.letter-paper p{font-size:clamp(1.15rem,1.7vw,1.45rem);line-height:1.55;margin:0 0 1rem}
.pledge-list{margin:1.2rem 0;padding-inline-start:1.6rem;font-size:clamp(1.15rem,1.7vw,1.4rem);line-height:1.5}
.pledge-list li{margin:.5rem 0}
.letter-paper .letter-close{font-style:italic;color:#555;margin-top:1.6rem}
.pledge-pick{border:1px solid rgba(9,10,12,.3);padding:1rem 1.2rem;display:grid;gap:.7rem;background:#fff}
.pledge-pick legend{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);padding:0 .4rem}
.pledge-pick label{display:flex!important;gap:.7rem;align-items:flex-start;cursor:pointer}
.pledge-pick input{width:1.15rem;height:1.15rem;margin-top:.2rem;flex:none}
.pledge-pick span{font-size:1.05rem!important;letter-spacing:0!important;text-transform:none!important;color:var(--ink)!important;line-height:1.35}
.letter-count{margin:2.5rem 0 1rem;font-size:1.2rem}
.letter-count strong{font-size:clamp(3rem,7vw,6rem);letter-spacing:-.06em;line-height:1;margin-inline-end:.4rem}
.pledge-bars{list-style:none;margin:0 0 2rem;padding:0;display:grid;gap:.7rem;max-width:46rem}
.pledge-bars li{display:grid;grid-template-columns:1fr 6rem 2.5rem;gap:.8rem;align-items:center;font-size:.95rem}
.pb-track{display:block;height:.7rem;background:var(--line)}
.pb-track i{display:block;height:100%;width:0;background:var(--blue);transition:width .6s}
.pledge-bars b{text-align:end}
.sig-tags{margin:.4rem 0 .6rem}
.sig-tags .note-topic{margin-inline-start:0;margin-inline-end:.4rem}
.day-line{list-style:none;margin:2rem 0;padding:0;border-inline-start:3px solid var(--ink);max-width:56rem}
.slot{display:grid;grid-template-columns:5.5rem 1fr;gap:1rem;padding:0 0 2.2rem 0;position:relative}
.slot:before{content:"";position:absolute;inset-inline-start:-.65rem;top:.35rem;width:1rem;height:1rem;border-radius:50%;background:var(--paper);border:3px solid var(--blue)}
.slot time{font-size:1.5rem;font-weight:800;letter-spacing:-.03em;color:var(--blue);padding-inline-start:1.4rem}
.slot-body h3,.slot-body h2{font-size:clamp(1.4rem,2.4vw,2.1rem);line-height:1.05;letter-spacing:-.03em;margin:0 0 .5rem;text-transform:uppercase}
.slot-body p{margin:0 0 .8rem;line-height:1.55;font-size:1.1rem}
.slot-body details{background:#fff;border:1px solid var(--line);padding:.8rem 1rem}
.slot-body summary{cursor:pointer;font-weight:800;letter-spacing:.1em;font-size:.78rem;text-transform:uppercase;color:var(--blue)}
.slot-body summary:focus-visible{outline:3px solid var(--blue);outline-offset:2px}
.slot-q{font-size:clamp(1.2rem,2vw,1.7rem)!important;line-height:1.25!important;margin:.8rem 0!important;letter-spacing:-.02em}
.slot-body details a{color:var(--blue);font-weight:700;text-decoration:none}
.pilot-steps{list-style:none;margin:0 0 2rem;padding:0;counter-reset:ps;display:grid;gap:1px;background:var(--line);border:1px solid var(--line)}
.pilot-steps li{counter-increment:ps;background:var(--paper);padding:1.4rem 1.6rem 1.4rem 4.6rem;position:relative}
.pilot-steps li:before{content:counter(ps);position:absolute;inset-inline-start:1.4rem;top:1rem;font-size:2.2rem;font-weight:800;color:var(--blue);letter-spacing:-.05em}
.pilot-steps h3{margin:0 0 .3rem;font-size:1.3rem;text-transform:uppercase}
.pilot-steps p{margin:0;line-height:1.5}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:3vw}
.tick,.cross{list-style:none;margin:0;padding:0}
.tick li,.cross li{padding:.9rem 0 .9rem 2rem;border-top:1px solid var(--line);position:relative;line-height:1.45}
.tick li:before{content:"✓";position:absolute;inset-inline-start:0;color:var(--blue);font-weight:800}
.cross li:before{content:"×";position:absolute;inset-inline-start:0;color:#a03c14;font-weight:800;font-size:1.2rem}
[dir=rtl] .slot time{padding-inline-start:0;padding-inline-end:1.4rem}
[dir=rtl] .pilot-steps li{padding:1.4rem 4.6rem 1.4rem 1.6rem}
[dir=rtl] .tick li,[dir=rtl] .cross li{padding:.9rem 2rem .9rem 0}
@media(max-width:900px){.ways,.two-col{grid-template-columns:1fr}}
@media(max-width:560px){.more-ways{padding:4rem 1rem}.slot{grid-template-columns:1fr;gap:.3rem}.pledge-bars li{grid-template-columns:1fr 4rem 2rem}.pilot-steps li{padding-inline-start:4rem}}
/* ---- share bar ---- */
.share-bar{position:relative;z-index:5;display:flex;flex-wrap:wrap;gap:.6rem 1.4rem;align-items:center;padding:1.3rem 7vw;background:var(--paper);color:var(--ink);border-top:1px solid var(--line);font-size:.78rem;letter-spacing:.12em}
.share-bar span{color:var(--muted);font-weight:700}
.share-bar a,.share-bar button{color:var(--ink);text-decoration:none;font-weight:700;letter-spacing:.1em;background:none;border:0;padding:0;font-family:inherit;font-size:inherit;cursor:pointer}
.share-bar a:hover,.share-bar button:hover{color:var(--blue);text-decoration:underline}
.share-bar a:focus-visible,.share-bar button:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
@media(max-width:560px){.share-bar{padding:1.1rem 1rem}}
/* ---- no empty grid cells: the last item stretches over the rest of its row ---- */
@media(max-width:1100px){.dirs>:last-child{grid-column:1/-1}.facts>:last-child{grid-column:span 2}}
@media(max-width:560px){.dirs>:last-child{grid-column:auto}.facts>:last-child{grid-column:1/-1}}
.infra-grid>:last-child:nth-child(3n+1){grid-column:1/-1}
.infra-grid>:last-child:nth-child(3n+2){grid-column:span 2}
.grid>:last-child:nth-child(3n+1){grid-column:1/-1}
.grid>:last-child:nth-child(3n+2){grid-column:span 2}
.glossary>:last-child:nth-child(odd){grid-column:1/-1}
/* ---- home: technology radar teaser ---- */
.radar-teaser{padding:6rem 7vw;background:var(--paper);color:var(--ink)}
.radar-teaser h2{font-size:clamp(2rem,5vw,4.2rem);line-height:.95;letter-spacing:-.05em;text-transform:uppercase;margin:0 0 1rem}
.radar-teaser .rt-lead{max-width:48rem;line-height:1.55;margin:0 0 2rem}
.radar-teaser .radar-list{grid-template-columns:repeat(3,1fr);margin:0 0 2rem}
@media(max-width:900px){.radar-teaser .radar-list{grid-template-columns:1fr}}
@media(max-width:560px){.radar-teaser{padding:4rem 1rem}}
/* ---- briefing page ---- */
.brief-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin:0 0 2.5rem}
.brief-sec{background:var(--paper);padding:1.6rem 1.6rem 1.8rem}
.brief-sec h2{font-size:1.4rem;text-transform:uppercase;letter-spacing:-.02em;margin:.2rem 0 .8rem}
.brief-links{display:flex;flex-wrap:wrap;gap:.8rem;margin:0 0 2.5rem}
@media(max-width:900px){.brief-grid{grid-template-columns:1fr}}
@media print{
  .fixed-logo,.menu-button,.languages,.share-bar,.section-hero,.talk-button,.cta-box,.info-back,header,nav,footer{display:none!important}
  body{background:#fff!important;color:#000!important}
  .brief,.info{padding:0!important;color:#000!important;background:#fff!important}
  .brief-grid{grid-template-columns:1fr 1fr;border-color:#999;background:#999}
  .brief-sec{break-inside:avoid;background:#fff}
  a{color:#000!important}
}
.radar-teaser .rt-stat{margin:0 0 1rem;font-size:.85rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.radar-teaser .rt-stat strong{font-size:2rem;letter-spacing:-.04em;color:var(--blue);margin-inline-end:.3rem}
.radar-teaser .obs-links{display:flex;flex-wrap:wrap;gap:.8rem}
/* ---- question of the week ---- */
.q-main{margin:1.5rem 0 2.5rem;padding:1.6rem 1.8rem;border-inline-start:6px solid var(--blue);font-size:clamp(1.5rem,3.4vw,2.6rem);line-height:1.15;letter-spacing:-.03em;font-weight:800}
.q-pos-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin:0 0 2.5rem}
.q-pos{background:var(--paper);padding:1.6rem}
.q-pos h3{margin:.2rem 0 .6rem;font-size:1.3rem;text-transform:uppercase}
.q-pos p{margin:0;line-height:1.5}
.cta-box .obs-links{display:flex;flex-wrap:wrap;gap:.8rem}
@media(max-width:900px){.q-pos-grid{grid-template-columns:1fr}}
.q-arch{border:1px solid var(--line);margin:0 0 1rem;padding:0 1.2rem;background:var(--paper)}
.q-arch>summary{cursor:pointer;padding:1rem 0;font-weight:700;line-height:1.35}
.q-arch>summary:focus-visible{outline:3px solid var(--blue);outline-offset:2px}
.q-arch-badge{display:block;font-size:.72rem;letter-spacing:.14em;color:var(--muted);margin-bottom:.3rem}
.q-arch[open]{padding-bottom:1.2rem}
.radar-teaser .rt-q{margin:0 0 1.5rem;padding:1rem 1.2rem;border-inline-start:6px solid var(--blue);background:rgba(5,71,255,.06);line-height:1.4}
.radar-teaser .rt-q span{display:block;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:.3rem}
.radar-teaser .rt-q a{font-weight:800;font-size:clamp(1.1rem,2.2vw,1.6rem);letter-spacing:-.02em;color:var(--ink);text-decoration:none}
.radar-teaser .rt-q a:hover,.radar-teaser .rt-q a:focus-visible{color:var(--blue);text-decoration:underline}
.unconf{margin:2rem 0 1rem;padding:1.2rem 1.4rem;border:1px dashed var(--ink)}
.unconf p{margin:0 0 .8rem}
@media(max-width:560px){.depth-copy h2{font-size:min(12vw,3.4rem);overflow-wrap:break-word}}@media(max-width:560px){.infrastructure h2,.district-head h2{font-size:min(9.5vw,3rem);overflow-wrap:break-word}}@media(max-width:560px){.routes h2{font-size:min(9vw,2.2rem)}h1,h2,h3{overflow-wrap:break-word}}
.terms-list{grid-template-columns:1fr}
.terms-list dd{margin:0}
.term-src{display:block;margin-top:.7rem;font-size:.82rem;color:var(--muted);line-height:1.5}
.term-src a{color:var(--blue)}
@media(min-width:900px){.terms-list{grid-template-columns:repeat(2,1fr)}}
.press-cite{margin:0 0 2.5rem;padding:1.1rem 1.3rem;border:1px solid var(--ink);background:#fff;font-family:Consolas,Menlo,monospace;font-size:.95rem;line-height:1.5;overflow-wrap:anywhere;user-select:all}
.radar-teaser .rt-inst{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1.4rem;margin:0 0 1.5rem}
.radar-teaser .rt-inst span{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.radar-teaser .rt-inst a{font-weight:800;color:var(--ink);text-decoration:none;letter-spacing:.04em}
.radar-teaser .rt-inst a:hover,.radar-teaser .rt-inst a:focus-visible{color:var(--blue);text-decoration:underline}
pre.press-cite{white-space:pre-wrap;margin-top:0}
