/* Deep blue Phyllux roots, Continuum Prism accents. Content stays still. */
:root{--atlas-blue:#071c2b;--atlas-panel:#0c2538;--atlas-ink:#f4eddb;--atlas-muted:#b2c4d3;--atlas-gold:#efd092;--atlas-line:#385265}
.living-atlas{--branch-color:#d0b5f5;color:var(--atlas-ink);background:var(--atlas-blue);font:18px/1.6 system-ui,sans-serif;position:relative;isolation:isolate}
.living-atlas *{box-sizing:border-box}.living-atlas a{color:inherit}.living-atlas button,.living-atlas input,.living-atlas select{font:inherit;color:inherit}.living-atlas button,.living-atlas select{cursor:pointer}
.living-atlas :is(a,button,input,select):focus-visible{outline:3px solid #cbb7ff;outline-offset:5px}.living-atlas button,.atlas-toolbar input,.atlas-toolbar select{min-height:46px;border:1px solid #6c8395;border-radius:24px;padding:9px 18px;background:#0c2538;color:#f4eddb}
.atlas-section{margin:76px auto;max-width:1440px;padding:0 40px}.atlas-section-heading{display:flex;justify-content:space-between;gap:32px;align-items:end;margin-bottom:28px}.atlas-section-heading h2{font:400 clamp(36px,4vw,64px)/1.06 Georgia,serif;letter-spacing:-.035em;color:#f4eddb;margin:10px 0}.atlas-eyebrow{font:600 13px/1.5 system-ui,sans-serif;letter-spacing:.20em;color:var(--atlas-gold);text-transform:uppercase}.atlas-section-heading p:not(.atlas-eyebrow){max-width:49ch;color:var(--atlas-muted);font-size:18px}.atlas-section-heading>a{flex-shrink:0;display:inline-flex;padding:12px 22px;border:1px solid #99c9de;border-radius:28px;color:#d3edfa;text-decoration:none;min-height:48px}
.atlas-experience{display:grid;grid-template-columns:minmax(0,1fr) 330px;border:1px solid var(--atlas-line);border-radius:22px;overflow:hidden;background:radial-gradient(ellipse at 30% 30%,#17334c99,transparent 70%),#071c2b;box-shadow:0 30px 80px #020e1950;position:relative}
.atlas-experience::before{content:'';position:absolute;inset:0;background:url('/assets/home-flux-1600.webp') center/cover;opacity:.055;pointer-events:none;z-index:-1}
.atlas-map-wrap{min-width:0;position:relative}.atlas-map{display:block;width:100%;height:100%;min-height:440px}.atlas-node{cursor:pointer;outline:none}.atlas-node rect{transition:fill .15s,stroke .15s,opacity .15s}.atlas-node:hover rect,.atlas-node:focus-visible rect,.atlas-node.is-selected rect{fill:#24445c;stroke:#f8ead0;stroke-width:2.5}.atlas-node:focus-visible{outline:none}.atlas-node.is-dimmed{opacity:.24}.atlas-node.is-dimmed:hover,.atlas-node.is-dimmed:focus{opacity:1}.atlas-node text{font-family:system-ui,sans-serif;pointer-events:none}.atlas-node.is-related rect{stroke-opacity:1}
.atlas-info{display:flex;flex-direction:column;align-self:stretch;justify-content:center;min-width:0;padding:35px 28px;border-left:1px solid #385265;background:linear-gradient(145deg,#132f40,#102334 65%,#27223c);position:relative}
.atlas-info::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,#9bd7f4,#d0b5f5,#efd092)}.atlas-kicker{font-size:12px;line-height:1.7;letter-spacing:.14em;color:var(--branch-color);min-height:40px}.atlas-info h2{font:400 34px/1.12 Georgia,serif;letter-spacing:-.025em;margin:18px 0;color:#f4eddb;min-height:115px;max-width:none}.atlas-description{color:#c5d1dc;font-size:17px;line-height:1.7;min-height:175px;margin:0 0 22px}.atlas-open{display:flex;align-items:center;justify-content:space-between;border:1px solid var(--branch-color);background:linear-gradient(110deg,#bbdff1,#dfcef2);color:#122334!important;text-decoration:none;padding:13px 16px;border-radius:8px;line-height:1.4;font-size:16px;font-weight:650;min-height:56px}.atlas-related{display:flex;flex-direction:column;margin-top:26px;border-top:1px solid #587083}.atlas-related a{display:block;padding:9px 0;border-bottom:1px solid #385265;font-size:15px;text-decoration:none;min-height:43px}.atlas-related a:hover{text-decoration:underline}.atlas-status,.atlas-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.branch-choices{display:flex;gap:10px;flex-wrap:wrap;padding:0 24px 22px}.branch-choices button{font-size:15px;padding:8px 15px}.branch-choices button[aria-pressed=true]{background:#253f55;border-color:#b9ddef}.atlas-results{font-size:14px;color:#c5d1dc;margin:0}
.atlas-page{margin:0;background:#071c2b;color:#f4eddb}.atlas-page>main{min-height:100svh}.atlas-full{min-height:100svh;display:flex;flex-direction:column}.atlas-topbar{padding:22px 32px 16px;border-bottom:1px solid #385265;display:flex;align-items:center;justify-content:space-between;gap:25px}.atlas-brand{display:flex;align-items:center;gap:14px;text-decoration:none;color:#efd092!important;font:24px Georgia,serif;letter-spacing:.08em}.atlas-brand img{width:42px;height:42px;object-fit:contain}.atlas-topbar h1{font:400 clamp(26px,2.5vw,38px)/1.1 Georgia,serif;letter-spacing:-.025em;margin:0;color:#f4eddb}.atlas-topbar p{font-size:14px;color:#b2c4d3;margin:5px 0 0}.atlas-home{font-size:16px;text-decoration:none;border:1px solid #6c8395;border-radius:24px;padding:9px 18px;white-space:nowrap}
.atlas-toolbar{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;padding:16px 32px}.atlas-search-tools,.atlas-view-tools{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.atlas-toolbar input{width:min(310px,100%);font-size:16px}.atlas-toolbar select,.atlas-toolbar button{font-size:15px}.atlas-toolbar input::placeholder{color:#b2c4d3}.atlas-full .atlas-experience{flex:1;border-radius:0;border-inline:0;grid-template-columns:minmax(0,1fr) 360px;box-shadow:none;min-height:620px}.atlas-full .atlas-map-wrap{display:flex;flex-direction:column}.atlas-full .atlas-map{flex:1;min-height:0;aspect-ratio:1440/940}.atlas-full .atlas-info{padding:36px;justify-content:flex-start;position:sticky;top:0}.atlas-full .atlas-info h2{font-size:38px}.atlas-full .atlas-description{min-height:165px}.atlas-map-footer{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:15px 26px;border-top:1px solid #385265}.atlas-zoom{display:flex;gap:8px}.atlas-zoom button{font-size:14px;min-height:40px;padding:6px 13px}.atlas-directory{display:none;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px;padding:32px;overflow:auto;max-height:70svh}.atlas-directory h3{font:26px Georgia,serif;color:#efd092;margin:0 0 15px}.atlas-directory a{display:block;font-size:17px;padding:10px 0;text-decoration:none;border-bottom:1px solid #385265}.atlas-directory a:hover{text-decoration:underline}.atlas-directory [hidden]{display:none}.show-directory .atlas-directory{display:grid}.show-directory .atlas-map{display:none}.atlas-page .skip{position:absolute;z-index:9;background:#f3e4c4;color:#102334;padding:12px;transform:translateY(-150%)}.atlas-page .skip:focus{transform:none}.atlas-disclosure{font-size:13px;color:#b2c4d3;padding:12px 32px;border-top:1px solid #385265;margin:0}.atlas-full:fullscreen{overflow:auto;background:#071c2b}.atlas-full:fullscreen .atlas-experience{min-height:0}
/* Carry Prism material into existing homepage controls without moving readable content. */
body.home .site-header{border-bottom-color:#5e758f}body.home .visitor-intents .intent-link{border-color:#708699;background:linear-gradient(135deg,#14354b,#202d48)}body.home .visitor-intents .intent-link:hover{background:linear-gradient(135deg,#244f65,#3b365a);border-color:#d2c1ef}body.home .visitor-intents .intent-link strong{color:#f4eddb}body.home .visitor-intents .intent-link>span{color:#c5d1dc}body.home .family-nav .atlas-nav-link{color:#d4c3f4}body.home .family-tile:hover{border-color:#addcea}
@media(min-width:1600px){.atlas-full .atlas-map{max-height:calc(100svh - 245px)}.atlas-full .atlas-info h2{font-size:44px}}
@media(max-width:1100px){.atlas-experience{grid-template-columns:minmax(0,1fr) 285px}.atlas-full .atlas-experience{grid-template-columns:minmax(0,1fr) 300px}.atlas-info,.atlas-full .atlas-info{padding:24px}.atlas-section{padding-inline:24px}.atlas-full .atlas-map{min-height:540px}.atlas-topbar h1{font-size:30px}.atlas-topbar{padding-inline:24px}.atlas-toolbar{padding-inline:24px}.atlas-map-footer{align-items:flex-start;flex-direction:column}}
@media(max-width:760px){.atlas-section{margin-block:48px;padding-inline:18px}.atlas-section-heading{display:block}.atlas-section-heading>a{margin-top:18px}.atlas-experience,.atlas-full .atlas-experience{grid-template-columns:1fr}.atlas-map{min-height:310px}.atlas-info,.atlas-full .atlas-info{border-left:0;border-top:1px solid #385265;padding:26px;position:static}.atlas-info h2,.atlas-full .atlas-info h2{font-size:32px;min-height:0;margin-block:12px}.atlas-description,.atlas-full .atlas-description{min-height:0;font-size:18px}.atlas-kicker{min-height:0}.atlas-related{margin-top:18px}.atlas-related a{font-size:17px}.atlas-topbar{align-items:flex-start;flex-wrap:wrap;padding:18px}.atlas-topbar>div{order:3;width:100%}.atlas-topbar h1{font-size:36px}.atlas-home{margin-left:auto}.atlas-toolbar{padding:16px 18px;align-items:stretch}.atlas-search-tools{width:100%;display:grid;grid-template-columns:minmax(0,1fr)}.atlas-toolbar input{width:100%}.atlas-toolbar select{width:100%}.atlas-full .atlas-map{min-height:380px;flex:none;height:auto}.atlas-full .atlas-experience{min-height:0}.atlas-map-wrap{overflow:hidden}.atlas-map-footer{padding:15px 18px;gap:12px}.atlas-directory{grid-template-columns:1fr;padding:24px;max-height:none}.atlas-disclosure{padding-inline:18px}.branch-choices{padding-inline:18px}.branch-choices button{flex:1;min-width:120px}.atlas-topbar p{font-size:16px}.atlas-info .atlas-open{font-size:18px}.atlas-full:fullscreen .atlas-experience{overflow:auto}}
@media(prefers-reduced-motion:reduce){.living-atlas *{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
@media(forced-colors:active){.atlas-node rect{stroke:LinkText;fill:Canvas}.atlas-node text{fill:LinkText}.atlas-node:focus rect{stroke:Highlight;stroke-width:4}.atlas-node.is-dimmed{opacity:.6}}

/* The map owns the row height. Changing details must never resize the row.
   Keep the sidebar out of intrinsic grid sizing and scroll longer copy inside it. */
.living-atlas .atlas-experience{--atlas-sidebar-width:330px;grid-template-columns:minmax(0,1fr) var(--atlas-sidebar-width);overflow-anchor:none}
.atlas-full .atlas-experience{--atlas-sidebar-width:360px}
.living-atlas .atlas-map{height:auto;aspect-ratio:1440/940}
.living-atlas .atlas-info{position:absolute;inset:0 0 0 auto;width:var(--atlas-sidebar-width);height:auto;min-height:0;justify-content:flex-start;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-gutter:stable;overflow-anchor:none}
.living-atlas .atlas-info>*{flex-shrink:0}
@media(max-width:1100px){.living-atlas .atlas-experience{--atlas-sidebar-width:285px}.atlas-full .atlas-experience{--atlas-sidebar-width:300px}}
@media(max-width:760px){.living-atlas .atlas-experience{grid-template-columns:minmax(0,1fr)}.living-atlas .atlas-info{position:relative;inset:auto;width:100%;height:clamp(380px,65svh,600px)}}

/* Reserve the largest content in each field, at the current font/viewport size.
   Invisible inert copies stay in the same grid cell, so no guessed line counts,
   clipping, font changes, or hover-dependent element positions are needed. */
.living-atlas .atlas-detail-slot{display:grid;grid-template-columns:minmax(0,1fr);flex:0 0 auto;min-width:0}
.living-atlas .atlas-detail-slot>*{grid-area:1/1;align-self:start;min-width:0}
.living-atlas .atlas-reserve{visibility:hidden;pointer-events:none;user-select:none}
.living-atlas .kicker-slot{margin:12px 0}
.living-atlas .kicker-slot .atlas-kicker{margin:0;min-height:0}
.living-atlas .title-slot{margin:18px 0}
.living-atlas .title-slot h2{margin:0;min-height:0}
.living-atlas .description-slot{margin-bottom:22px}
.living-atlas .description-slot .atlas-description{margin:0;min-height:0}
.living-atlas .related-slot{margin-top:26px}
.living-atlas .related-slot .atlas-related{margin:0}
.living-atlas .atlas-info{contain:layout;scroll-behavior:auto}
html:has(body.atlas-page){scrollbar-gutter:stable}
@media(max-width:760px){.living-atlas .title-slot{margin-block:12px}.living-atlas .related-slot{margin-top:18px}}

/* The actual atlas artwork lives behind the vector navigation, not behind its
   opaque parent. Solid label surfaces keep contrast independent of the image. */
.living-atlas .atlas-experience::before{display:none}
.living-atlas .atlas-map-wrap{background-image:linear-gradient(110deg,#071c2b99,#071c2b77),image-set(url('/assets/atlas-background-1600.webp') 1x,url('/assets/atlas-background-3840.webp') 2x);background-size:cover;background-position:center}
.living-atlas .atlas-node rect{fill:#0b2235;fill-opacity:.96;stroke-opacity:.85}
.living-atlas .atlas-node:hover rect,.living-atlas .atlas-node:focus-visible rect,.living-atlas .atlas-node.is-selected rect{fill:#274753;stroke:#f6d98c}
.atlas-toolbar .atlas-art-link{min-height:46px;padding:9px 18px;border:1px solid #6c8395;border-radius:24px;text-decoration:none;font-size:15px;display:flex;align-items:center}
.atlas-brand img{width:54px;height:54px}
