/* Biomorphic chrome imagery and the adaptive teal palette shared with XSP. */
:root { --font-serif:'Cormorant Garamond',Georgia,serif; }
html { scroll-behavior:smooth; scroll-padding-top:2rem; }
main#workspace { max-width:1440px; padding:0 3rem; }
.workspace-nav { max-width:1440px; margin:auto; padding:1.6rem 4rem; border-bottom:1px solid var(--line); }
.workspace-brand { font-weight:600; }
.workspace-brand span { color:var(--accent); }
a:focus-visible,button:focus-visible,summary:focus-visible { outline:3px solid var(--accent); outline-offset:5px; }
.freedom-hero { padding:1.4rem 0 0; }
.hero-topline,.hero-kicker,.principle-strip,.book-number,.book-link { font:600 .7rem/1.5 var(--font-sans); text-transform:uppercase; letter-spacing:.1em; }
.hero-topline { display:flex; justify-content:space-between; gap:1rem; padding-bottom:2.4rem; }
.hero-grid { display:grid; grid-template-columns:1.4fr 1fr; gap:3.5rem; align-items:center; }
.hero-kicker { color:var(--accent); margin:0 0 1.4rem; }
#freedom-title { font:500 clamp(3.7rem,7.4vw,7rem)/.95 var(--font-serif); letter-spacing:-.045em; margin:0; }
#freedom-title em { color:var(--accent); font-style:normal; }
.hero-description { max-width:33rem; margin:1.8rem 0; font:1rem/1.75 var(--font-sans); }
.hero-actions { display:flex; flex-wrap:wrap; gap:.8rem; }
.hero-actions a { display:flex; justify-content:space-between; gap:2rem; background:var(--text); color:var(--bg); padding:1rem 1.2rem; text-decoration:none; font:600 .8rem var(--font-sans); border:1px solid var(--text); }
.hero-actions a + a { background:transparent; color:var(--text); }
.hero-actions a:hover { background:var(--accent); color:var(--bg); border-color:var(--accent); }
.principle-strip { display:grid; grid-template-columns:repeat(3,1fr); margin-top:3.4rem; border-block:1px solid var(--line); }
.principle-strip span { padding:1.2rem 0; }
.principle-strip span + span { border-left:1px solid var(--line); padding-left:1.3rem; }
.manifesto-panel { padding:5rem 0; grid-template-columns:1fr 1.4fr; }
.manifesto-title { font:800 clamp(2.7rem,4.7vw,4.5rem)/1 Arial,sans-serif; letter-spacing:-.055em; margin:0; }
.essay-body { font:1.13rem/1.85 Georgia,serif; }
.essay-body p:first-child { font-size:1.4rem; line-height:1.5; }
.essay-content-wrapper { padding-left:0; border-left:0; }
.editorial-line { display:none; }
.essay-meta-specs { grid-template-columns:1fr; }
.reading-section { padding:3rem 0; border-top:1px solid var(--line); }
.reading-heading { display:grid; grid-template-columns:1.2fr 1fr; gap:2rem; align-items:end; margin-bottom:2.25rem; }
.reading-heading h2,.graph-section-title { font:500 clamp(2rem,4vw,3.4rem)/1.1 var(--font-serif); letter-spacing:-.045em; margin:0; }
.reading-intro { font:.95rem/1.8 var(--font-sans); color:var(--muted); max-width:29rem; margin:0; justify-self:end; }
.library-chamber { padding:1.4rem 1.6rem 1.8rem; border:1px solid var(--line-soft); border-radius:38px 38px 20px 20px; background:radial-gradient(ellipse at 50% 28%,var(--accent-soft),transparent 65%),linear-gradient(180deg,var(--bg-soft),var(--bg)); box-shadow:inset 0 1px 0 var(--line-soft); }
.library-catalog { display:flex; justify-content:space-between; gap:1rem; padding:0 .5rem 1rem; border-bottom:1px solid var(--line-soft); color:var(--muted); font:500 .6rem/1.6 var(--font-sans); letter-spacing:.1em; text-transform:uppercase; }
.reading-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.8rem; }
.reading-card { display:flex; flex-direction:column; min-width:0; text-decoration:none; color:var(--text); border-radius:12px; }
.library-volume { position:relative; margin:1.4rem -.5rem 1.8rem; perspective:1000px; }
.library-volume::after { content:''; position:absolute; left:-.45rem; right:-.45rem; bottom:0; height:8px; border-radius:50%; background:linear-gradient(180deg,var(--line),var(--bg-soft) 25%,var(--accent) 44%,var(--bg) 70%); box-shadow:0 5px 16px var(--accent-soft); }
.volume-object { position:relative; aspect-ratio:1; transform:rotateY(-7deg) rotateZ(-2deg); transform-origin:50% 90%; transition:transform .45s ease,filter .45s ease; filter:drop-shadow(0 14px 10px var(--shadow)); }
.reading-card:nth-child(2) .volume-object { transform:rotateY(0deg) translateY(-5px); }
.reading-card:nth-child(3) .volume-object { transform:rotateY(7deg) rotateZ(2deg); }
.volume-object > img { display:block; width:100%; height:auto; }
.volume-inscription { position:absolute; inset:12% 26% 16% 29%; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; color:#edf4f2; }
.volume-catalog,.volume-imprint { color:#a6c7c1; font:500 clamp(.4rem,.65vw,.58rem)/1.5 var(--font-sans); letter-spacing:.13em; text-transform:uppercase; }
.volume-emblem { display:block; color:#a5dcd1; font:400 clamp(1.5rem,3vw,2.8rem)/1 Georgia,serif; margin:.65rem 0; text-shadow:0 0 20px #70cbb366; }
.reading-card h3 { font:500 clamp(1.2rem,2.25vw,2rem)/1.04 var(--font-serif); letter-spacing:-.025em; margin:0; text-wrap:balance; }
.reading-card .book-author { font:400 clamp(.5rem,.8vw,.7rem)/1.5 var(--font-sans); color:#c3cfcc; margin:.8rem 0; }
.volume-imprint { margin-top:auto; font-size:clamp(.32rem,.48vw,.45rem); }
.volume-catalog { margin-bottom:auto; }
.book-meta { display:flex; align-items:center; gap:.8rem; margin:0 .5rem .8rem; }
.book-number { color:var(--muted); font:400 .65rem/1.5 var(--font-sans); }
.book-stage { color:var(--accent); font:600 .65rem/1.5 var(--font-sans); text-transform:uppercase; letter-spacing:.1em; }
.reading-card .book-description { font:.85rem/1.8 var(--font-sans); margin:0 .5rem 1.5rem; }
.book-link { display:flex; align-items:center; justify-content:space-between; gap:.5rem; margin:auto .5rem 0; border-top:1px solid var(--line-soft); padding-top:1rem; font:600 .65rem/1.5 var(--font-sans); text-transform:uppercase; letter-spacing:.08em; }
.book-source { display:block; margin-top:.4rem; color:var(--muted); font:400 .6rem/1.6 var(--font-sans); text-transform:none; letter-spacing:0; }
.book-arrow { display:grid; place-items:center; flex-shrink:0; width:2rem; height:2rem; border:1px solid var(--line); border-radius:50%; color:var(--accent); font-size:1rem; transition:background .2s,color .2s; }
.reading-card:hover .volume-object,.reading-card:focus-visible .volume-object { transform:translateY(-13px) rotateY(0deg); filter:drop-shadow(0 16px 15px var(--accent-soft)); }
.reading-card:hover .book-arrow,.reading-card:focus-visible .book-arrow { background:var(--accent); color:var(--bg); }
.bookshop-link { display:grid; grid-template-columns:auto 1fr auto; gap:1.5rem; align-items:center; margin-top:1.5rem; padding:1.4rem 0; color:var(--text); text-decoration:none; border-block:1px solid var(--line-soft); }
.bookshop-kicker { font:500 .6rem/1.6 var(--font-sans); text-transform:uppercase; letter-spacing:.1em; color:var(--accent); }
.bookshop-copy { display:grid; gap:.2rem; }
.bookshop-copy strong { font:500 1.35rem/1.2 var(--font-serif); }
.bookshop-copy > span { font:.75rem/1.6 var(--font-sans); color:var(--muted); }
.bookshop-action { font:500 .7rem/1.6 var(--font-sans); }
.bookshop-action > span { display:inline-block; margin-left:.8rem; color:var(--accent); }
.bookshop-link:hover .bookshop-action,.bookshop-link:focus-visible .bookshop-action { text-decoration:underline; text-underline-offset:4px; }
@media(max-width:1000px) and (min-width:761px) { .library-chamber { padding:1.2rem .7rem; } .reading-grid { gap:.7rem; } .reading-card h3 { font-size:1.5rem; } }
@media(max-width:760px) { .reading-grid { grid-template-columns:1fr; gap:2rem; } .reading-card { width:100%; max-width:390px; margin-inline:auto; } .library-volume { margin-top:.8rem; } .reading-card h3 { font-size:clamp(1.5rem,6vw,2rem); } .reading-card .book-author { font-size:.7rem; } .volume-catalog { font-size:.55rem; } .volume-imprint { font-size:.4rem; } .volume-emblem { font-size:2.5rem; } .library-catalog { flex-wrap:wrap; gap:.3rem; } .bookshop-link { grid-template-columns:1fr auto; gap:.7rem 1rem; } .bookshop-kicker { grid-column:1 / -1; } .reading-heading { grid-template-columns:1fr; gap:1rem; } .reading-intro { justify-self:start; max-width:34rem; } }
@media(max-width:420px) { .bookshop-link { grid-template-columns:1fr; } }
.schools-compass-playground,.room,.schools-filter-row { border-radius:20px; box-shadow:inset 0 1px 0 color-mix(in srgb,var(--text) 10%,transparent),0 20px 60px -45px var(--accent); }
.workspace-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.company-title { font:700 2rem/1.2 Arial,sans-serif; }
.directory-disclosure { font:.85rem/1.6 var(--font-sans); color:var(--muted); margin:0 0 2.5rem; }
.workspace-footer { margin-top:4rem; border-top:1px solid var(--line); }
@media(min-width:1500px) { .workspace-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:900px) { main#workspace { padding:0 1rem; } .workspace-nav { padding:1.3rem 2rem; } .hero-grid { gap:2rem; }   .manifesto-panel { gap:2rem; } }
@media(max-width:640px) { .workspace-nav { align-items:flex-start; flex-direction:column; gap:1rem; } .workspace-nav nav { flex-wrap:wrap; gap:1rem; } .hero-topline { font-size:.58rem; padding-bottom:2rem; } .hero-grid,.reading-heading { grid-template-columns:1fr; } #freedom-title { font-size:clamp(3rem,13vw,5rem); }    .principle-strip { grid-template-columns:1fr; margin-top:2.5rem; } .principle-strip span { padding:.8rem 0; } .principle-strip span + span { border-left:0; border-top:1px solid var(--line); padding-left:0; } .manifesto-panel { display:block; padding:3rem 0; } .essay-content-wrapper { margin-top:2rem; } .reading-grid,.workspace-grid { grid-template-columns:1fr; } .reading-heading { gap:.5rem; } }
/* Anarchy-specific sculpture, with biomorphic chrome and teal lighting. */
.alien-art { position:relative; min-width:0; min-height:540px; display:flex; flex-direction:column; align-items:center; justify-content:center; isolation:isolate; }
.alien-art::before { content:''; position:absolute; inset:5% -3% 20%; background:radial-gradient(ellipse,var(--accent-soft),transparent 68%); z-index:-1; }
.anarchy-sculpture { display:block; width:100%; max-width:540px; height:auto; filter:drop-shadow(0 25px 18px var(--shadow)); animation:organism-drift 9s ease-in-out infinite; }
.hero-actions a { border-radius:100px; }
.hero-actions a + a { border-color:var(--line); }
.manifesto-title { font-family:var(--font-serif); font-weight:500; }
.reading-heading h2,.graph-section-title { font-family:var(--font-serif); font-weight:500; }
.sculpture-caption { margin:1.4rem 0 0; text-align:center; color:var(--muted); font:500 .7rem/1.7 var(--font-sans); letter-spacing:.08em; text-transform:uppercase; }
@keyframes organism-drift { 0%,100% { transform:translateY(0) rotate(-3deg); } 50% { transform:translateY(-13px) rotate(2deg); } }
@media(max-width:900px) { .alien-art { min-height:420px; } .anarchy-sculpture { width:100%; }  }
@media(max-width:640px) { .alien-art { min-height:0; padding:1rem 0; } .anarchy-sculpture { width:100%; max-width:430px; }   }
/* Size cover lettering to the volume itself, including narrow desktop columns. */
.volume-object { container-type:inline-size; }
.reading-card .volume-inscription h3 { font-size:clamp(.9rem,7cqw,2rem); }
.reading-card .volume-inscription .book-author { font-size:clamp(.45rem,2.5cqw,.7rem); margin:2.5cqw 0; }
.volume-inscription .volume-emblem { font-size:8cqw; margin:2cqw 0; }
.volume-inscription .volume-catalog { font-size:2cqw; }
.volume-inscription .volume-imprint { font-size:1.5cqw; }
/* Keep each mobile volume compact and visually separate from the next. */
@media (max-width:760px) {
  .reading-section { padding-block:2rem; }
  .reading-heading { margin-bottom:1.5rem; }
  .library-chamber { padding:1rem .85rem 1.25rem; border-radius:22px; }
  .library-catalog { gap:.25rem; padding:0 .15rem .9rem; font-size:.6rem; }
  .reading-grid { gap:0; }
  .reading-card { max-width:420px; padding:1.1rem 0 1.3rem; }
  .reading-card + .reading-card { border-top:1px solid var(--line); border-radius:0; padding-top:1.4rem; }
  .library-volume { width:min(100%,290px); margin:0 auto 1.1rem; }
  .library-volume::after { left:7%; right:7%; height:5px; }
  .reading-card .volume-object,
  .reading-card:hover .volume-object,
  .reading-card:focus-visible .volume-object { transform:none; }
  .volume-inscription { inset:13% 24% 17% 28%; }
  .reading-card .volume-inscription h3 { font-size:clamp(1.05rem,7.4cqw,1.4rem); line-height:1.08; }
  .reading-card .volume-inscription .book-author { font-size:clamp(.6rem,3.7cqw,.72rem); margin:3cqw 0 0; }
  .volume-inscription .volume-emblem { font-size:8cqw; margin:2cqw 0 3cqw; }
  .volume-inscription .volume-catalog { font-size:.55rem; margin-bottom:3cqw; }
  .volume-inscription .volume-imprint { display:none; }
  .book-meta { margin:0 .2rem .6rem; }
  .book-stage,.book-number { font-size:.7rem; }
  .reading-card .book-description { margin:0 .2rem 1rem; font-size:.9rem; line-height:1.65; }
  .book-link { margin:0 .2rem; padding-top:.8rem; gap:.75rem; font-size:.7rem; min-height:44px; }
  .book-link > span:first-child { min-width:0; }
  .book-source { font-size:.7rem; line-height:1.5; text-wrap:pretty; }
  .book-arrow { width:44px; height:44px; }
}
/* Leave the gathering visible and place the quote over the quiet courtyard wall. */
.black-flag-section { position:relative; isolation:isolate; display:grid; grid-template-columns:1.55fr 1fr; align-items:center; min-height:0; aspect-ratio:1.5; margin-block:2rem 3rem; overflow:hidden; background:#0a1113; border:1px solid var(--line-soft); }
.black-flag-art { position:absolute; inset:0; z-index:-2; }
.black-flag-art img { display:block; width:100%; height:100%; object-fit:cover; object-position:left center; }
.black-flag-section::after { content:''; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,transparent 55%,#09101233 68%,#09101266),linear-gradient(0deg,#09101266,transparent 30%); pointer-events:none; }
.black-flag-quote { grid-column:2; margin:0; min-width:0; padding:clamp(1.5rem,4vw,4rem); padding-left:1rem; }
.black-flag-quote blockquote { margin:0; padding:0; border:0; background:none; }
.black-flag-quote blockquote p { margin:0; color:#f4f6f3; font:500 clamp(2.2rem,3.8vw,3.8rem)/1.08 var(--font-serif); letter-spacing:-.035em; text-wrap:balance; text-shadow:0 2px 24px #0006; }
.black-flag-quote blockquote p span { color:#9fddd3; font-style:italic; }
.black-flag-quote figcaption { display:flex; flex-wrap:wrap; gap:.5rem .7rem; margin-top:1.75rem; color:#c3d2cf; font:400 .75rem/1.7 var(--font-sans); }
.black-flag-quote cite { font-style:normal; }
.black-flag-quote a { color:inherit; text-decoration:underline; text-underline-offset:4px; text-decoration-color:#c3d2cf66; }
.black-flag-quote a:hover { color:#9fddd3; }
.black-flag-quote a:focus-visible { outline-color:#9fddd3; }
@media(max-width:760px) {
  .black-flag-section { display:block; min-height:0; aspect-ratio:auto; margin-block:1rem 2rem; }
  .black-flag-art { position:relative; inset:auto; aspect-ratio:1.15; z-index:0; }
  .black-flag-art::after { content:''; position:absolute; inset:65% 0 0; background:linear-gradient(transparent,#0a1113); }
  .black-flag-art img { object-fit:cover; object-position:left center; }
  .black-flag-section::after { display:none; }
  .black-flag-quote { position:relative; margin-top:-1rem; padding:0 1.25rem 2rem; }
  .black-flag-quote blockquote p { font-size:clamp(2.1rem,8.5vw,3.2rem); }
  .black-flag-quote figcaption { margin-top:1.1rem; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { transition:none!important; animation:none!important; } }

/* Schools atlas: grouped constellations and a persistent reading surface. */
.schools-atlas { scroll-margin-top: 2rem; }
.schools-atlas-heading { display: grid; gap: 1.5rem; margin-bottom: 2.5rem; }
.schools-atlas-kicker { margin: 0 0 1rem; font: 500 .7rem/1.5 var(--font-sans); letter-spacing: .1em; text-transform: uppercase; color: var(--accent); }
.schools-atlas-heading h2 { margin: 0; font: 400 clamp(2.75rem,6vw,5.25rem)/.98 var(--font-serif); letter-spacing: -.035em; }
.schools-atlas-heading h2 em { font-weight: 400; color: var(--accent); }
.schools-atlas-heading > p { margin: 0; max-width: 44ch; font-size: .95rem; line-height: 1.75; color: var(--muted); }
.current-atlas { border-top: 1px solid var(--line); }
.atlas-toolbar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .75rem; padding: 1rem 0; }
.atlas-toolbar p { display: flex; align-items: center; gap: .65rem; margin: 0; font-size: .8rem; color: var(--muted); }
.atlas-live-dot { width: 6px; height: 6px; border-radius: 50%; background: var(--accent); flex-shrink: 0; }
.atlas-compare { padding: .7rem 1rem; border: 1px solid var(--line); background: var(--bg-soft); color: var(--text); border-radius: 4px; font: 500 .75rem/1.4 var(--font-sans); cursor: pointer; }
.atlas-compare[aria-pressed="true"] { border-color: var(--accent); color: var(--accent); }
.atlas-map { position: relative; isolation: isolate; display: flex; overflow-x: auto; gap: 1.5rem; padding: 1.25rem; border: 1px solid var(--line); border-radius: 14px; background: radial-gradient(ellipse at 50% 50%,var(--accent-soft),transparent 75%),var(--bg-soft); scroll-snap-type: x proximity; }
.atlas-orbits { display: none; position: absolute; inset: 0; width: 100%; height: 100%; fill: none; stroke: var(--accent); stroke-width: .6; opacity: .15; z-index: -1; pointer-events: none; }
.atlas-territory { flex: 0 0 85%; min-width: 0; scroll-snap-align: start; }
.atlas-territory-heading { margin-bottom: 1.25rem; }
.atlas-territory-heading > span { font-size: .6rem; text-transform: uppercase; letter-spacing: .14em; color: var(--muted); }
.atlas-territory-heading h3 { margin: .4rem 0 0; font: 400 1.65rem/1.15 var(--font-serif); }
.atlas-points { display: grid; gap: .35rem; }
.atlas-point { display: flex; align-items: center; gap: .6rem; min-width: 0; min-height: 44px; padding: .6rem .45rem; border: 1px solid transparent; border-radius: 6px; color: var(--text); text-decoration: none; font-size: .75rem; line-height: 1.35; }
.atlas-point:hover { background: var(--accent-soft); }
.atlas-point[aria-current="true"] { border-color: var(--accent); background: var(--bg); }
.atlas-point-orb { flex: 0 0 12px; width: 12px; height: 12px; border-radius: 50%; background: radial-gradient(circle at 32% 25%,#fff 0%,#b9d5d2 20%,#4c777c 44%,#162b34 62%,#9abeb7 84%,#d7ebe5 100%); box-shadow: 0 0 0 1px #78969370,0 2px 5px #0003; }
.atlas-point[aria-current="true"] .atlas-point-orb { box-shadow: 0 0 0 3px var(--accent-soft),0 0 12px var(--accent); }
.atlas-map-caption { margin: .8rem 0 1.5rem; font-size: .75rem; color: var(--muted); line-height: 1.6; }
.atlas-readings { display: grid; gap: 1rem; }
.atlas-reading { min-width: 0; padding: clamp(1.5rem,3vw,2.5rem); border: 1px solid var(--line); border-top: 2px solid var(--accent); background: var(--bg-soft); border-radius: 0 0 10px 10px; scroll-margin-top: 2rem; }
.atlas-reading[hidden],.atlas-compare[hidden] { display: none; }
.atlas-reading h3 { margin: 0 0 1.5rem; font: 400 clamp(1.8rem,3vw,2.7rem)/1.12 var(--font-serif); letter-spacing: -.025em; }
.atlas-reading-body { display: grid; gap: 1.5rem; }
.atlas-reading h4 { margin: 0 0 .5rem; font-size: .65rem; color: var(--muted); text-transform: uppercase; letter-spacing: .1em; }
.atlas-reading p:not(.schools-atlas-kicker) { margin: 0; max-width: 65ch; font-size: .95rem; line-height: 1.75; }
.atlas-reading-prompt { border-top-color: var(--line); display: flex; flex-direction: column; justify-content: center; color: var(--muted); }
.atlas-reading-prompt > span { font-size: 2rem; margin-bottom: 1rem; color: var(--accent); }
.atlas-announcement { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.current-atlas a:focus-visible,.current-atlas button:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
@media (min-width: 900px) {
  .schools-atlas-heading { grid-template-columns: minmax(0,1.2fr) minmax(0,1fr); align-items: end; gap: 3rem; }
  .atlas-map { display: grid; grid-template-columns: minmax(0,2fr) minmax(0,1fr) minmax(0,1fr); padding: 2rem; gap: 2rem; overflow: visible; }
  .atlas-orbits { display: block; }
  .atlas-territory--left .atlas-points { grid-template-columns: repeat(2,minmax(0,1fr)); gap: .8rem 1rem; }
  .atlas-territory--bridge .atlas-points,.atlas-territory--right .atlas-points { gap: .8rem; }
  .atlas-territory--bridge { padding-top: 2.5rem; }
  .atlas-territory--right { padding-top: 1rem; }
  .atlas-reading-body { grid-template-columns: minmax(0,1.3fr) minmax(0,1fr); gap: 3rem; }
  .atlas-readings.is-comparing { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .is-comparing .atlas-reading-body { grid-template-columns: 1fr; gap: 1.5rem; }
}
@media (max-width: 899px) {
  .atlas-territory { flex: 0 0 auto; }
  .atlas-points { display: flex; gap: .5rem; }
  .atlas-point { width: 155px; flex: 0 0 155px; align-items: flex-start; min-height: 70px; border-color: var(--line); scroll-snap-align: center; }
  .atlas-point-orb { margin-top: .15rem; }
}

/* Atlas polish: explicit comparison keys and quick mobile navigation. */
.atlas-point { transition: border-color .18s ease, background-color .18s ease; }
.atlas-point-name { flex: 1; }
.atlas-slot:not(:empty) { display: grid; place-items: center; flex: 0 0 19px; height: 19px; font-size: .6rem; border: 1px solid var(--accent); border-radius: 50%; color: var(--accent); }
.atlas-point[data-slot="B"] { border-style: dashed; }
.atlas-reading-slot { display: inline-block; margin-bottom: 1.25rem; padding: .35rem .6rem; border: 1px solid var(--accent); color: var(--accent); font-size: .65rem; letter-spacing: .08em; text-transform: uppercase; }
.atlas-reading-slot[hidden] { display: none; }
.atlas-reading[data-slot="B"] .atlas-reading-slot { border-style: dashed; }
.atlas-reading .schools-atlas-kicker { margin-bottom: .75rem; }
.atlas-reading { background: linear-gradient(120deg,var(--accent-soft),transparent 40%),var(--bg-soft); }
.atlas-orbits { opacity: .1; }
.atlas-jumps { display: none; }
@media (max-width: 899px) {
  .atlas-jumps:not([hidden]) { display: flex; flex-wrap: wrap; gap: .5rem; margin: 0 0 .8rem; }
  .atlas-jumps button { min-height: 44px; padding: .5rem .75rem; font: 500 .75rem/1.4 var(--font-sans); color: var(--text); background: transparent; border: 1px solid var(--line); border-radius: 999px; cursor: pointer; }
  .atlas-jumps button:hover { border-color: var(--accent); }
}
@media (prefers-reduced-motion: reduce) { .atlas-point { transition: none; } }

/* Deep-space instrument surface, contained to the atlas map. */
.atlas-map {
  --text: #edf6f3;
  --muted: #b1c8c5;
  --accent: #a5e6dc;
  --accent-soft: rgba(118, 215, 207, .14);
  --bg: #071517;
  --line: rgba(167, 220, 215, .25);
  color: var(--text);
  border-color: #71918f;
  background:
    radial-gradient(ellipse at 15% 105%, rgba(42, 133, 130, .48), transparent 48%),
    radial-gradient(ellipse at 82% -15%, rgba(80, 106, 158, .38), transparent 48%),
    radial-gradient(ellipse at 55% 48%, transparent 20%, rgba(0, 4, 9, .65) 100%),
    repeating-linear-gradient(0deg, transparent 0 39px, rgba(142, 199, 196, .045) 39px 40px),
    repeating-linear-gradient(90deg, transparent 0 39px, rgba(142, 199, 196, .045) 39px 40px),
    #0c2026;
  box-shadow: inset 0 1px 0 #d5f8ed55, inset 0 0 65px #0005, 0 16px 40px -20px #0009;
}
.atlas-map .atlas-orbits { opacity: .38; stroke: #95e2d6; stroke-width: .8; }
.atlas-map .atlas-orbits ellipse:nth-child(2) { stroke: #b4c8ee; stroke-dasharray: 3 7; }
.atlas-map .atlas-orbits path { opacity: .45; }
.atlas-map .atlas-territory-heading h3 { color: #f2f8f5; text-shadow: 0 2px 14px #0009; }
.atlas-map .atlas-point { text-shadow: 0 1px 4px #000; }
.atlas-map .atlas-point:hover { background: #123137; border-color: #507e7c; }
.atlas-map .atlas-point[aria-current="true"] { background: #071517; border-color: #b4eee2; box-shadow: inset 3px 0 0 #b4eee2, 0 0 18px #7bddd51a; }
.atlas-map .atlas-point-orb { box-shadow: 0 0 0 1px #b5e4de66, 0 0 9px #8cd8d244; }
@media (max-width: 899px) {
  .atlas-map .atlas-point { background: #091a20c9; }
}

/* Readable labels first; the orbital texture remains behind the controls. */
.atlas-map .atlas-point {
  font-size: .9375rem;
  line-height: 1.45;
  min-height: 52px;
  padding: .75rem;
  gap: .75rem;
  background: rgba(5, 18, 24, .88);
  border-color: rgba(167, 220, 215, .12);
  text-shadow: none;
}
.atlas-map .atlas-point[aria-current="true"] { font-weight: 500; background: #061416; }
.atlas-map .atlas-orbits { opacity: .24; }
.atlas-territory-heading > span { font-size: .7rem; }
.atlas-territory-heading h3 { margin-top: .5rem; }
.atlas-territory--bridge,.atlas-territory--right { padding-top: 0; }
.atlas-map-caption { font-size: .8125rem; }
.atlas-reading p:not(.schools-atlas-kicker) { font-size: 1rem; }
.atlas-reading h4 { font-size: .75rem; }
.atlas-toolbar p { font-size: .875rem; line-height: 1.5; }
.atlas-compare { min-height: 44px; font-size: .8125rem; }
@media (max-width: 899px) {
  .atlas-map { padding: 1rem; scroll-padding-inline: 1rem; }
  .atlas-map .atlas-point { width: min(230px, 65vw); flex-basis: min(230px, 65vw); min-height: 92px; background: #081a20; }
  .atlas-points { gap: .75rem; }
  .atlas-jumps button { font-size: .8125rem; }
  .atlas-readings.is-comparing { grid-template-columns: minmax(0, 1fr); }
  .atlas-reading { padding: 1.25rem; }
}
@media (min-width: 900px) {
  .atlas-territory-heading { min-height: 5rem; }
  .atlas-map { gap: 1.5rem; padding: 1.5rem; }
  .atlas-territory--left .atlas-points { gap: .8rem; }
}

/* Branching guide: tactile traditions lead into a list and reading surface. */
.tradition-choices { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .5rem; margin: .5rem 0 1.5rem; }
.tradition-choice { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .65rem; padding: 1rem .4rem; min-width: 0; border: 1px solid #365153; border-radius: 12px; background: radial-gradient(ellipse at 50% 25%,#244448, #0a171e 75%); color: #e7f3ef; cursor: pointer; }
.tradition-choice[aria-pressed="true"] { border-color: #afe8dc; box-shadow: inset 0 -3px #afe8dc,0 6px 25px #0002; }
.tradition-choice:hover { background: radial-gradient(ellipse at 50% 25%,#365c61, #0a171e 75%); }
.tradition-choice-title { font: 400 clamp(1rem,2.5vw,2rem)/1.15 var(--font-serif); }
.tradition-choice-desc { display: none; max-width: 28ch; color: #b8cecb; font-size: .85rem; line-height: 1.6; }
.tradition-sculpture { position: relative; display: block; width: 64px; height: 60px; filter: drop-shadow(0 8px 6px #0008); }
.tradition-sculpture i { position: absolute; display: block; border-radius: 50%; background: conic-gradient(from 20deg,#e8f6f0,#42636b 12%,#b5d0d0 22%,#152c37 36%,#f4fcf6 48%,#789b9d 61%,#16353e 75%,#c9e1d7 88%,#e8f6f0); box-shadow: inset 1px 1px 2px #fff9,inset -2px -2px 4px #0009; }
.sculpture-left i { width: 34px; height: 34px; top: 8px; left: 2px; }
.sculpture-left i:nth-child(2) { left: 28px; top: 8px; }
.sculpture-left i:nth-child(3) { left: 15px; top: 29px; }
.sculpture-bridge i { width: 43px; height: 43px; top: 10px; left: 0; mask: radial-gradient(transparent 42%,#000 44%); transform: rotate(-25deg) scaleX(.85); }
.sculpture-bridge i:nth-child(2) { left: 22px; transform: rotate(25deg) scaleX(.85); }
.sculpture-bridge i:nth-child(3) { display: none; }
.sculpture-right i { inset: 4px; border-radius: 32% 68% 35% 65%; transform: rotate(35deg); }
.sculpture-right i:nth-child(2) { inset: 17px; background: #0e252b; border-radius: 50%; }
.sculpture-right i:nth-child(3) { inset: 24px; border-radius: 50%; }
.guide-body { display: grid; gap: 1rem; align-items: start; }
.branching-guide .atlas-map { display: block; padding: 1rem; border-radius: 10px; background: #0c1c22; box-shadow: inset 0 1px #a5dad51a; overflow: auto; max-height: 280px; scrollbar-width: thin; scrollbar-color: #668b8d #0c1c22; }
.branching-guide .atlas-territory[hidden] { display: none; }
.branching-guide .atlas-territory-heading { min-height: 0; margin-bottom: 1rem; }
.branching-guide .atlas-territory-heading h3 { font-size: 1.5rem; }
.branching-guide .atlas-points { display: grid; grid-template-columns: 1fr; gap: .35rem; }
.branching-guide .atlas-point { width: auto; min-height: 48px; padding: .65rem; background: transparent; border-color: transparent; font-size: .9375rem; }
.branching-guide .atlas-point[aria-current="true"] { background: #061416; border-color: #b4eee2; }
.branching-guide .atlas-reading-body { grid-template-columns: 1fr; gap: 1.5rem; }
.branching-guide .atlas-readings.is-comparing { grid-template-columns: 1fr; }
.branching-guide .atlas-reading { border-radius: 10px; }
@media (min-width: 768px) {
  .tradition-choices { gap: 1rem; }
  .tradition-choice { padding: 1.75rem 1rem; gap: .8rem; }
  .tradition-sculpture { width: 64px; height: 60px; transform: scale(1.5); margin: 1rem 0 1.5rem; }
  .tradition-choice-desc { display: block; }
  .guide-body { grid-template-columns: minmax(220px,.75fr) minmax(0,1.6fr); gap: 1.5rem; }
  .branching-guide .atlas-map { max-height: 520px; }
}
@media (min-width: 1200px) {
  .branching-guide .atlas-readings.is-comparing { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .branching-guide .is-comparing .atlas-reading { padding: 1.5rem; }
  .branching-guide .is-comparing .atlas-reading h3 { font-size: 2rem; }
}

/* Consistent panel insets; scroll the school rows inside a padded frame. */
.branching-guide { --guide-inset: 1.25rem; }
.branching-guide .guide-body { gap: 1.25rem; }
.branching-guide .atlas-map {
  padding: var(--guide-inset);
  max-height: none;
  overflow: hidden;
}
.branching-guide .atlas-territory-heading { margin-bottom: 1rem; }
.branching-guide .atlas-territory-heading h3 { margin-bottom: 0; }
.branching-guide .atlas-points {
  max-height: 216px;
  overflow-y: auto;
  overflow-x: hidden;
  padding: .25rem .35rem .25rem .25rem;
  margin: -.25rem;
  scroll-padding-block: .25rem;
  scrollbar-width: thin;
  scrollbar-color: #668b8d #0c1c22;
}
.branching-guide .atlas-reading,
.branching-guide .is-comparing .atlas-reading { padding: var(--guide-inset); }
@media (min-width: 768px) {
  .branching-guide { --guide-inset: 1.5rem; }
  .branching-guide .guide-body { gap: 1.5rem; }
  .branching-guide .atlas-points { max-height: 390px; }
}
