/* Viewport editorial plane: never participates in canonical scene layout. */
:root {
  --crystal-width:94vw; --crystal-opacity:.22; --crystal-blur:3px;
  --crystal-edge:.85; --crystal-cyan:#78dfff; --crystal-violet:#8c79ed;
  --crystal-open:680ms; --crystal-close:380ms; --crystal-word-ms:34;
  --crystal-rail:6px; --crystal-dim:.025; --crystal-radius:18px;
  --crystal-image-depth:0 8px 28px #24468c12;
}
.crystal-editorial[hidden]{display:none!important}
.crystal-editorial{position:fixed;inset:0;z-index:300;font-family:Inter,ui-sans-serif,system-ui,sans-serif;color:#142d56;background:rgb(20 42 80 / var(--crystal-dim));isolation:isolate}
/* The in-panel navigation replaces the header while the reader is open. */
body[data-editorial-open] .neo-header{display:none}
body[data-devtools="on"][data-editorial-open] .dev-time-controls{z-index:302!important}
.neo-header [data-editorial]{cursor:pointer}
[data-editorial][aria-current=page]{text-decoration:underline;text-decoration-color:#718fff;text-underline-offset:7px}
.crystal-plane{position:absolute;top:-2vh;bottom:-2vh;left:50%;width:var(--crystal-width);transform:translateX(-50%);background:linear-gradient(108deg,rgb(244 251 255 / var(--crystal-opacity)),#d9eaff12 55%,#e1dcff26);backdrop-filter:blur(var(--crystal-blur));-webkit-backdrop-filter:blur(var(--crystal-blur));border-inline:1px solid rgb(238 251 255 / var(--crystal-edge));box-shadow:inset 1px 0 2px #fff, inset -1px 0 2px #b6adff, -3px 0 16px #72ceff24,3px 0 18px #a490ef24;pointer-events:none}
.crystal-plane::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 4%,#ffffff24 12%,transparent 23%,transparent 80%,#e5f6ff22 88%,transparent);pointer-events:none}
.crystal-frame{position:relative;margin:auto;width:var(--crystal-width);height:100dvh;display:flex;flex-direction:column;padding-top:0;box-sizing:border-box}
.crystal-toolbar{flex:none;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px clamp(20px,4vw,70px);border-bottom:1px solid #f4fbff88;background:linear-gradient(90deg,#f0f6ff55,#e7f1ff18)}
.crystal-tabs{display:flex;flex-wrap:wrap;gap:6px 22px}
.crystal-editorial button{font:inherit;color:inherit;cursor:pointer}
.crystal-tabs button{padding:8px 0;border:0;background:none;font-size:13px}
.crystal-close{flex:none;width:36px;height:36px;border:1px solid #f7fcffcc;border-radius:50%;background:#eef6ff50;font-size:24px!important;line-height:1}
.crystal-editorial :focus-visible,.neo-header [data-editorial]:focus-visible{outline:2px solid #295cdb;outline-offset:4px}
.crystal-scroll{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#74b7ed #e6f0ff30;scrollbar-gutter:stable;padding:42px clamp(24px,5vw,90px) 90px;touch-action:pan-y}
.crystal-scroll::-webkit-scrollbar{width:var(--crystal-rail)}
.crystal-scroll::-webkit-scrollbar-track{background:#e6f0ff30}
.crystal-scroll::-webkit-scrollbar-thumb{border-radius:8px;background:linear-gradient(#b7efff,#71a7f1,#a292e8);border:1px solid #e5f6ffbb}
.crystal-scroll::-webkit-scrollbar-thumb:hover{background:#86bfff}
.crystal-article{max-width:1360px;margin:auto}
.crystal-eyebrow{font-size:11px;letter-spacing:.19em;text-transform:uppercase;color:#315c95}
.crystal-article h1{font-size:clamp(32px,4vw,64px);letter-spacing:-.04em;line-height:1.07;font-weight:550;max-width:900px;margin:18px 0 24px;color:#16376b}
.crystal-intro{max-width:720px;font-size:clamp(17px,1.45vw,21px);line-height:1.65}
.crystal-copy{background:radial-gradient(ellipse at 35% 40%,#f2f7ff9c,transparent 75%);text-shadow:0 1px 1px #f7fbff9c}
.crystal-reveal,.crystal-action{display:inline-flex;align-items:center;gap:16px;padding:10px 18px;border:1px solid #f8fcffdd;border-radius:10px;background:linear-gradient(120deg,#e5f5ff50,#aab8fa26);box-shadow:inset 0 1px #fff8,0 0 9px #437ae922;text-decoration:none;font-size:13px!important}
.crystal-reveal:disabled{cursor:default;opacity:.65}
.crystal-section{padding:38px 0 18px;border-top:1px solid #f3f9ff80;margin-top:30px}
.crystal-section h2{font-size:clamp(24px,2.3vw,34px);font-weight:550;letter-spacing:-.025em;margin:0 0 16px}
.crystal-section p{max-width:720px;line-height:1.8;font-size:16px}
.crystal-media{position:relative;isolation:isolate;margin:32px 0 14px;border:1px solid #effaffc9;border-radius:var(--crystal-radius);background:linear-gradient(125deg,#ffffff32,#c5e4ff16 55%,#d2c8ff28);box-shadow:inset 0 1px 2px #fff9,var(--crystal-image-depth);overflow:hidden;min-height:200px;display:flex;align-items:center;justify-content:center;gap:30px;padding:24px;box-sizing:border-box}
.crystal-media::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,transparent 12%,#ffffff2c 21%,transparent 34%,transparent 72%,#c2eaff22 84%,transparent)}
.crystal-media img{width:140px;height:140px;object-fit:contain;filter:drop-shadow(0 4px 10px #3263b51a)}
.crystal-media--landscape{min-height:270px;background:linear-gradient(115deg,#dceeff25,#849fe91a),url('../assets/distant_skyline_base.png') center 42% / cover}
.crystal-media--landscape img{width:170px;height:170px}
.crystal-media--square{max-width:380px;aspect-ratio:1;flex-direction:column}
.crystal-media--square img{width:200px;height:200px}
.crystal-media--wide img{width:180px;height:180px}
.crystal-media figcaption{font-size:13px;line-height:1.7;max-width:290px;color:#244879}
.crystal-architecture{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:18px;padding:35px 0}
.crystal-architecture span{padding:18px;border:1px solid #f5fcffbf;border-radius:12px;background:#edf7ff44}
.crystal-empty{padding:28px;border:1px solid #effaffb3;border-radius:var(--crystal-radius);background:#e8f4ff35}
.crystal-contact{display:grid;gap:18px;max-width:650px;margin-top:22px}
.crystal-contact label{display:grid;gap:8px;font-size:14px}
.crystal-contact select,.crystal-contact textarea{box-sizing:border-box;width:100%;border:1px solid #eaf8ff;border-radius:10px;background:#edf6ff77;color:#17325a;font:inherit;padding:14px}
.crystal-contact textarea{min-height:130px;resize:vertical}
.crystal-note{font-size:12px!important;color:#345582}
.crystal-word-pending{visibility:hidden}
.crystal-viz-pending{opacity:0;transform:translateY(10px)}
.crystal-media{transition:opacity 420ms ease,transform 420ms ease}
.crystal-opening .crystal-plane{animation:crystal-materialize var(--crystal-open) both}
.crystal-opening .crystal-frame{opacity:0}
.crystal-closing{animation:crystal-dismiss var(--crystal-close) both}
@keyframes crystal-materialize{0%{opacity:0;transform:translateX(-50%) scaleX(.008)}25%{opacity:.85;transform:translateX(-50%) scaleX(.025)}100%{opacity:1;transform:translateX(-50%) scaleX(1)}}
@keyframes crystal-dismiss{to{opacity:0}}
@media(max-width:1050px){:root{--crystal-width:96vw}.crystal-scroll{padding-inline:30px}}
@media(max-width:650px){:root{--crystal-width:98vw;--crystal-blur:4px}.crystal-toolbar{padding:10px 14px;gap:8px}.crystal-tabs{gap:3px 12px}.crystal-tabs button{font-size:12px}.crystal-scroll{padding:26px 20px 60px}.crystal-media{flex-direction:column;gap:12px}.crystal-article h1{font-size:36px}.crystal-section p{font-size:16px}}
@media(prefers-reduced-motion:reduce){.crystal-editorial *{animation:none!important;transition:none!important}.crystal-opening .crystal-frame{opacity:1}.crystal-viz-pending{opacity:1;transform:none}}
@supports not (backdrop-filter:blur(1px)){.crystal-plane{background:#e5f0ff70}.crystal-copy{background:radial-gradient(ellipse,#edf5ffbe,transparent)}}
.crystal-media--editorial{display:flex;flex-direction:column;padding:12px;gap:12px;min-height:0}
.crystal-media--editorial a{display:block;width:100%;border-radius:12px;overflow:hidden}
.crystal-media--editorial img{display:block;width:100%;height:auto;object-fit:contain;filter:none}
.crystal-media--editorial figcaption{max-width:none;align-self:flex-start;padding:0 10px 8px}
.crystal-directory{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:30px 0;scroll-margin-top:20px}
.crystal-directory button{text-align:left;justify-content:space-between;min-height:58px}
.crystal-related{display:flex;flex-wrap:wrap;gap:12px;margin:36px 0}
.crystal-summary{font-size:24px;line-height:1.5;margin:38px 0}
@media(max-width:650px){.crystal-directory{grid-template-columns:1fr}.crystal-media--editorial{padding:6px}.crystal-summary{font-size:20px}}

/* One continuous glass header: primary row + two in-flow technology rows. */
.crystal-toolbar{display:block;padding:0}
.crystal-primary{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:56px;padding:8px clamp(20px,4vw,70px);box-sizing:border-box}
.crystal-tech-navigation{display:grid;grid-template-rows:0fr;transition:grid-template-rows 260ms ease,visibility 0s 260ms;visibility:hidden}
.crystal-is-technology .crystal-tech-navigation{grid-template-rows:1fr;visibility:visible;transition-delay:0s}
.crystal-tech-inner{min-height:0;overflow:hidden}
.crystal-categories,.crystal-subpages{display:flex;align-items:center;gap:28px;margin:0 clamp(20px,4vw,70px);overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#a5bbeb transparent;border-top:1px solid #f6fbff60}
.crystal-categories button,.crystal-subpages button{flex:none;min-height:43px;border:0;padding:9px 0;background:none;white-space:nowrap;font-size:13px}
.crystal-categories button{text-transform:uppercase;letter-spacing:.09em;font-size:12px}
.crystal-categories [aria-pressed="true"]{color:#485dcc;text-shadow:0 0 10px #b7bfff80}
.crystal-subpages [aria-current="page"]{color:#3449b7;text-decoration:underline;text-decoration-color:#8994ef;text-underline-offset:7px}
.crystal-is-technology .crystal-scroll{padding-top:22px}
.crystal-is-technology .crystal-article>.crystal-action:first-child{margin-bottom:10px}
@media(max-width:1050px){.crystal-primary{padding-inline:30px}.crystal-categories,.crystal-subpages{margin-inline:30px}}
@media(max-width:650px){.crystal-primary{padding:8px 14px;gap:12px}.crystal-tabs{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin;min-width:0;gap:18px}.crystal-tabs button{flex:none;white-space:nowrap;font-size:13px}.crystal-categories,.crystal-subpages{margin-inline:14px;gap:23px;scroll-padding-inline:8px}.crystal-subpages button{font-size:13px}.crystal-is-technology .crystal-scroll{padding-top:18px}}
@media(prefers-reduced-motion:reduce){.crystal-tech-navigation{transition:none}}
