@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-400-normal-CDDApCn2.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-400-normal-CYLoc0-x.woff) format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-latin-500-normal-6ng42L7E.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-500-normal-BgVn5rGT.woff) format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-latin-600-normal-CuJfVYMP.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-600-normal-Cu4Hd6ag.woff) format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-sans-latin-700-normal-Bxkt5Cjx.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-700-normal-Bth3BMcD.woff) format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff) format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff) format("woff")}:root{--navy: #0d263c;--navy-2: #12324d;--blue: #286895;--gold: #d8ae48;--paper: #d6e9f7;--white: #fff;--sans: "IBM Plex Sans", system-ui, sans-serif;--mono: "IBM Plex Mono", ui-monospace, monospace}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:auto;scroll-padding-top:88px}body.site-body{margin:0;background:var(--navy);color:var(--white);font:400 16px/1.6 var(--sans);-webkit-font-smoothing:antialiased;overflow-x:hidden}a{color:inherit}:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip{position:absolute;left:12px;top:-60px;background:var(--gold);color:var(--navy);padding:10px 14px;z-index:100;font-weight:600;border-radius:6px}.skip:focus{top:10px}.stage{position:fixed;inset:0;z-index:0;--terrain: 0;--dusk: 0}.sky{position:absolute;inset:0;background:radial-gradient(120% 80% at 70% 110%,rgba(240,190,120,calc(var(--dusk) * .85)),transparent 60%),linear-gradient(180deg,rgba(126,169,204,calc(var(--terrain) * (1 - var(--dusk)))),rgba(206,224,236,calc(var(--terrain) * (1 - var(--dusk)))) 60%),linear-gradient(180deg,rgba(52,78,112,var(--dusk)),rgba(233,215,184,var(--dusk)) 62%),var(--navy)}.sky:after{content:"";position:absolute;inset:0;opacity:calc(1 - var(--terrain));background-image:linear-gradient(rgba(214,233,247,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(214,233,247,.07) 1px,transparent 1px);background-size:48px 48px}#silo-canvas{position:absolute;inset:0;width:100%;height:100%;display:block}.notes{position:absolute;inset:0;pointer-events:none;overflow:hidden}.note{position:absolute;left:0;top:0;display:flex;align-items:center;gap:10px;transition:opacity .25s ease;will-change:transform,opacity}.note .dot{width:10px;height:10px;margin:-5px 0 0 -5px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 5px #d8ae4847;flex:none}.note.flip{flex-direction:row-reverse}.note.flip .dot{margin:-5px -5px 0 0}.note .txt{font:500 12.5px/1 var(--mono);letter-spacing:.04em;text-transform:uppercase;color:var(--navy);background:#ffffffeb;padding:7px 9px;border-radius:4px;border-left:3px solid var(--gold);white-space:nowrap;box-shadow:0 6px 18px #0d263c2e}.readout{position:absolute;right:clamp(16px,3vw,40px);bottom:clamp(16px,3vw,36px);display:grid;grid-template-columns:auto auto;gap:4px 18px;font:500 11px/1.3 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:#d6e9f7bf;background:#0d263cdb;backdrop-filter:blur(8px);padding:12px 16px;border-radius:8px;border:1px solid rgba(214,233,247,.14)}.readout strong{color:var(--white);font-weight:500;font-size:13px;letter-spacing:.04em}.readout strong b{font-weight:500;color:var(--gold);font-size:22px}.rail{position:absolute;right:clamp(16px,3vw,40px);top:50%;transform:translateY(-50%);list-style:none;margin:0;padding:12px 14px;display:grid;gap:14px;background:#0d263cdb;backdrop-filter:blur(8px);border:1px solid rgba(214,233,247,.14);border-radius:8px}.rail li{display:flex;align-items:center;justify-content:flex-end;gap:10px;font:500 11px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:#a9bfd1}.rail li:after{content:"";width:10px;height:10px;border-radius:50%;border:1.5px solid #a9bfd1;flex:none;transition:all .3s ease}.rail li.done{color:var(--paper)}.rail li.done:after{background:#d6e9f799;border-color:transparent}.rail li.active{color:var(--white)}.rail li.active:after{background:var(--gold);border-color:var(--gold);box-shadow:0 0 0 5px #d8ae4840}.site-top{position:fixed;top:0;left:0;right:0;z-index:10;display:flex;align-items:center;gap:20px;padding:12px clamp(16px,3vw,40px);background:#0d263ce6;backdrop-filter:blur(10px);box-shadow:0 1px #d6e9f71f}.site-brand img{width:112px;height:auto;display:block}.site-tag{font:500 11px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--gold);border:1px solid rgba(216,174,72,.5);padding:6px 9px;border-radius:4px}.site-top nav{margin-left:auto;display:flex;align-items:center;gap:18px;font-size:14px;font-weight:500}.site-top nav a{text-decoration:none;padding:4px 0}.site-top nav a.site-btn{padding:11px 18px}.site-nav-links{display:contents}.site-menu-btn{display:none;align-items:center;gap:9px;background:none;border:1px solid rgba(214,233,247,.35);color:#fff;font:600 14px var(--sans);padding:9px 12px;border-radius:8px;cursor:pointer}.site-menu-btn .bars{width:16px;height:2px;background:currentColor;box-shadow:0 -5px 0 currentColor,0 5px 0 currentColor;display:block}.site-menu-btn[aria-expanded=true] .bars{background:transparent;box-shadow:0 0 0 currentColor}.site-menu-btn[aria-expanded=true] .bars:before{content:"✕";display:block;margin-top:-9px;font-size:14px}.site-btn{display:inline-flex;align-items:center;gap:8px;background:var(--gold);color:var(--navy)!important;text-decoration:none;font-weight:600;padding:11px 18px;border-radius:8px;font-size:14px}.site-btn:hover{background:#e6c26a}.only-sm{display:none}@media(max-width:760px){.hide-sm{display:none}.only-sm{display:inline}.site-btn,.site-top nav a.site-btn{padding:10px 14px}}.site-link{color:var(--white);font-weight:600;text-decoration:underline;text-underline-offset:4px}main{position:relative;z-index:2}.chapter{--margen-lateral: clamp(16px, 5vw, 80px);position:relative;padding:0 var(--margen-lateral);pointer-events:none}:where(#historia) .chapter+.chapter{padding-top:calc(var(--margen-lateral) * 2 / 3)}.chapter .card{position:sticky;top:max(84px,min(22vh,var(--card-room, 22vh)));max-width:520px;pointer-events:auto;background:linear-gradient(180deg,#0d263ceb,#0d263cdb);backdrop-filter:blur(10px);border:1px solid rgba(214,233,247,.14);border-left:3px solid var(--gold);border-radius:10px;padding:28px 30px;box-shadow:0 24px 60px #04101c59}.chapter .num{display:block;font:500 12px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--gold);margin-bottom:16px}.chapter h2{font:600 clamp(30px,min(3.6vw,6vh),52px)/1.04 var(--sans);letter-spacing:-.03em;margin:0 0 14px}.chapter p{margin:0;color:#ecf4fadb;font-size:17px;line-height:1.6}.chapter .w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.06em}.chapter .c{display:inline-block}.intro{min-height:100vh;padding-top:110px;padding-bottom:40px;display:flex;align-items:center}.intro .card{position:relative;top:auto;background:none;border:0;box-shadow:none;backdrop-filter:none;padding:0;max-width:860px}@media(min-width:761px){.intro .card{max-width:min(860px,calc(92vw - 190px))}}@media(min-width:761px){.chapter:not(.intro) .card{max-width:min(520px,calc(100vw - clamp(16px,5vw,80px) - clamp(16px,3vw,40px) - 252px))}}.intro h1{font:700 clamp(44px,min(7vw,12vh),112px)/.95 var(--sans);letter-spacing:-.045em;margin:0 0 22px}.intro p{font-size:clamp(17px,1.6vw,21px);max-width:540px;color:#ecf4fae0}.intro .card>*{animation:intro-in .35s cubic-bezier(.2,.7,.2,1) both}.intro .card>:nth-child(2){animation-delay:.05s}.intro .card>:nth-child(n+3){animation-delay:.1s}@keyframes intro-in{0%{opacity:0;transform:translateY(14px)}}.scroll-hint{display:inline-flex;align-items:center;gap:10px;margin-top:34px;font:500 12px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}.scroll-hint:after{content:"";width:1px;height:46px;background:linear-gradient(var(--gold),transparent);animation:hint 1.8s ease-in-out infinite}@keyframes hint{0%,to{transform:translateY(0);opacity:1}50%{transform:translateY(10px);opacity:.4}}.site-foot{position:relative;z-index:2;padding:40px clamp(16px,5vw,80px);background:var(--navy);color:#d6e9f7bf;font-size:13px;border-top:1px solid rgba(214,233,247,.12)}.site-foot p{margin:4px 0}.intro h1 em{font-style:normal;color:var(--gold)}.intro .cta,.chapter .cta{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-top:26px}.site-ghost{display:inline-flex;align-items:center;padding:11px 18px;border-radius:8px;border:1px solid rgba(214,233,247,.55);color:var(--white);text-decoration:none;font-weight:600;font-size:14px}.site-ghost:hover{background:#d6e9f71f}.caps{list-style:none;padding:0;margin:18px 0 0;display:flex;flex-wrap:wrap;gap:8px}.caps li{font:500 12px/1 var(--mono);letter-spacing:.04em;text-transform:uppercase;color:var(--paper);border:1px solid rgba(214,233,247,.3);border-radius:99px;padding:8px 11px}.caps.caps-links li{padding:0}.caps-links a{display:block;padding:8px 11px;border-radius:99px;text-decoration:none}.caps-links a:hover{background:#d6e9f71f;color:var(--white)}.chapter .site-link{display:inline-block;margin-top:18px;color:var(--gold)}.stage .readout,.stage .rail{transition:opacity .35s ease}.site-top{transition:background .3s ease}.story-past .site-top{background:#0d263cf7}.stage.past .readout,.stage.past .rail,.stage.past .notes{opacity:0;pointer-events:none}.plain{position:relative;z-index:2;background:#f3f5f7;color:var(--navy);padding:clamp(56px,8vw,110px) 0}.plain+.plain{border-top:1px solid #e3e8ec}.plain{isolation:isolate;overflow-x:clip}.grain-field{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}.plain>.plain-in{position:relative;z-index:1}.plain h2 .w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.08em}.plain h2 .c{display:inline-block}.plain.parts,.plain.projects{background:#fff}.plain.contact{background:var(--navy);color:var(--white)}.plain-in{max-width:1240px;margin:0 auto;padding:0 clamp(16px,5vw,64px)}.plain-in.two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,5vw,72px);align-items:start}.plain .num{display:block;font:500 12px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--blue);margin-bottom:14px}.plain.contact .num{color:var(--gold)}.plain h2{font:600 clamp(28px,3.4vw,46px)/1.08 var(--sans);letter-spacing:-.03em;margin:0 0 14px}.plain-head p{font-size:17px;line-height:1.6;color:#3b5061;max-width:620px;margin:0 0 22px}.plain.contact .plain-head p{color:#ecf4fad9}.plain .site-link{color:var(--blue)}.search-card{background:#f3f5f7;border:1px solid #d9e0e6;border-radius:12px;padding:28px}.search-card h3{font:600 24px/1.2 var(--sans);margin:0 0 16px}.search-row{display:flex;border:2px solid var(--navy);border-radius:8px;overflow:hidden;background:#fff}.search-row input{flex:1;min-width:0;border:0;padding:0 14px;font:400 16px var(--sans);height:52px;outline:none;color:var(--navy)}.search-row button{border:0;background:var(--navy);color:#fff;font:600 15px var(--sans);padding:0 20px;cursor:pointer}.search-row:focus-within{box-shadow:0 0 0 3px #d8ae4873}.search-row:has(input[aria-invalid=true]){border-color:#b3261e}.search-error{margin:8px 0 0;color:#b3261e;font:600 14px/1.4 var(--sans)}.search-error:empty{display:none}.search-other{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:16px;font-size:14px}.search-other a{color:var(--blue);font-weight:600;text-decoration:underline;text-underline-offset:3px;display:inline-block;padding:3px 0}.contact-data{margin:0;display:grid;gap:0;border-top:1px solid rgba(214,233,247,.2)}.contact-data div{display:flex;justify-content:space-between;gap:16px;padding:16px 0;border-bottom:1px solid rgba(214,233,247,.2)}.contact-data dt{font:500 12px/1.6 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:#d6e9f7b3}.contact-data dd{margin:0;font-size:18px;font-weight:500;text-align:right}.contact-data a{text-decoration:none}.contact-data a:hover{color:var(--gold)}.site-foot .foot-grid{display:grid;grid-template-columns:1.2fr 1fr 1.4fr;gap:28px;align-items:start}.site-foot img{width:120px;height:auto;margin-bottom:12px}.site-foot nav{display:grid;gap:8px}.site-foot nav a{text-decoration:none;color:#d6e9f7d9;display:inline-block;padding:2px 0}.site-foot nav a:hover{color:var(--gold)}.site-foot .foot-menu{list-style:none;margin:0;padding:0;display:grid;gap:8px}.site-foot .t-en,.lang-en .site-foot .t-es{display:none}.lang-en .site-foot .t-en{display:inline}.site-foot .disclaimer{font-size:12.5px;color:#d6e9f799}.site-foot .foot-copy{margin:28px 0 0;padding-top:16px;border-top:1px solid rgba(214,233,247,.12);font-size:12.5px}@media(max-width:860px){.plain-in.two,.photos,.site-foot .foot-grid{grid-template-columns:minmax(0,1fr)}.search-card{padding:20px}}.stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:20px 0 0}.stats div{display:flex;flex-direction:column-reverse;gap:2px;padding:12px 14px;border:1px solid rgba(214,233,247,.18);border-radius:8px;background:#0d263c59}.stats dd{margin:0;font:600 30px/1 var(--mono);color:var(--gold);letter-spacing:-.02em}.stats dt{font-size:12.5px;line-height:1.35;color:#ecf4fac7}@media(min-width:761px)and (max-height:760px){.chapter .card{padding:22px 26px}.stats{gap:8px;margin-top:14px}.stats div{padding:8px 12px}.stats dd{font-size:24px}}.svc-group{margin-top:34px}.svc-group h3{font:500 12px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:#4a6275;margin:0 0 14px;padding-bottom:10px;border-bottom:1px solid #d9e0e6}.svc-grid{--cols: 2;--gap: 10px;--media-h: 96px;list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:var(--gap)}@media(min-width:600px){.svc-grid{--cols: var(--n-md, 3);--gap: 14px;--media-h: 150px}}@media(min-width:1000px){.svc-grid{--cols: var(--n, 4);--media-h: 170px}}.svc{position:relative;flex:1 1 calc((100% - (var(--cols) - 1) * var(--gap)) / var(--cols));min-width:0;border-radius:10px;overflow:hidden;background:#fff;border:1px solid #e3e8ec;display:flex;flex-direction:column}.svc img,.svc-art{width:100%;height:var(--media-h);display:block}.svc img{object-fit:cover;transition:transform .6s cubic-bezier(.2,.7,.2,1)}.svc:hover img{transform:scale(1.05)}.svc span{padding:10px 12px;font-weight:600;font-size:14px;line-height:1.3;color:var(--navy)}@media(min-width:600px){.svc span{padding:12px 14px;font-size:15px}}.svc-art{display:grid;place-items:center;background:radial-gradient(120% 90% at 30% 20%,#1d4565,#0d263c);color:#d6e9f7d9}.svc-art svg{width:auto;height:70%;max-width:86%}.svc-art .accent{color:var(--gold);stroke:var(--gold)}.svc-art .accent[fill=currentColor]{fill:var(--gold)}.proj-grid{list-style:none;margin:30px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:220px;gap:14px}.proj{position:relative;border-radius:12px;overflow:hidden;background:#0d263c}.proj.feature{grid-column:span 2;grid-row:span 2}.proj a,.proj-empty{display:block;width:100%;height:100%;color:#fff;text-decoration:none;position:relative}.proj img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s cubic-bezier(.2,.7,.2,1)}.proj a:hover img,.proj a:focus-visible img{transform:scale(1.06)}.proj a:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(8,24,38,.85))}.proj-info{position:absolute;left:16px;right:16px;bottom:14px;z-index:1;display:grid;gap:2px}.proj-info strong{font-size:17px;font-weight:600;letter-spacing:-.01em}.proj.feature .proj-info strong{font-size:26px}.proj-info span{font:500 11.5px/1.3 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:#ecf4fad9}.proj-info em{font:500 11px/1 var(--mono);font-style:normal;color:var(--gold);margin-top:4px}.proj-empty{background:linear-gradient(135deg,#12324d,#0d263c)}.projects .source{font-size:13px;color:#4a6275;margin-top:18px}.projects .source a{color:var(--blue)}.gallery{width:min(1100px,94vw);max-height:90vh;border:0;padding:0;border-radius:14px;background:#0a1e30;color:#fff}.gallery::backdrop{background:#050f19d1;backdrop-filter:blur(4px)}.gallery-head{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;border-bottom:1px solid rgba(214,233,247,.14)}.gallery-head{gap:14px}.gallery-head strong{font-size:17px;flex:1;min-width:0}.gallery-count{font:500 13px/1 var(--mono);color:#d6e9f7cc;white-space:nowrap}.gallery-head button,.gallery-nav{border:0;background:#d6e9f71f;color:#fff;width:40px;height:40px;border-radius:8px;font-size:16px;cursor:pointer}.gallery-head button:focus-visible,.gallery-nav:focus-visible,.gallery-track:focus-visible{outline:3px solid var(--gold);outline-offset:2px}.gallery-body{position:relative}.gallery-nav{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;font-size:28px;line-height:1;background:#0a1e30d1;box-shadow:0 0 0 1px #d6e9f740}.gallery-nav.prev{left:10px}.gallery-nav.next{right:10px}.gallery-nav:disabled{opacity:.3;cursor:default}.gallery-track{position:relative;display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;padding:16px}.gallery-track img{height:min(70vh,640px);width:auto;max-width:88vw;object-fit:contain;border-radius:8px;scroll-snap-align:center;flex:none;background:#000}@media(max-width:960px){.proj-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:190px}}@media(max-width:560px){.proj-grid{grid-template-columns:1fr}.proj.feature{grid-column:auto;grid-row:span 2}.stats dd{font-size:24px}}.pmap{margin:0;background:radial-gradient(120% 90% at 30% 20%,#163b5a,#0d263c 70%);border-radius:14px;padding:10px;overflow:hidden}.pmap svg{width:100%;height:auto;display:block}.pmap figcaption{font:500 11px/1.4 var(--mono);letter-spacing:.03em;color:#d6e9f79e;padding:6px 8px 4px}.pm-neighbours{fill:#d6e9f70d;stroke:#d6e9f729;stroke-width:.8}.pm-mexico{fill:#28689580;stroke:#d6e9f7bf;stroke-width:1.2}.pm-states{fill:none;stroke:#d6e9f738;stroke-width:.7}.pt .pt-dot{fill:var(--gold);stroke:#0d263c;stroke-width:1.6}.pt .pt-glow{opacity:.9}.pt{transition:opacity .3s ease}.pmap.filtered .pt:not(.match){opacity:.12}.pmap.filtered .pt.match .pt-dot{r:5.5}.pm-hq .hq-ring{fill:none;stroke:#fff;stroke-width:2;opacity:.9}.pm-hq .hq-dot{fill:#fff}.pm-hq text{font:600 15px var(--sans);fill:#fff;paint-order:stroke;stroke:#0d263c;stroke-width:4px}.teaser{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(260px,1fr);gap:22px;margin-top:28px;align-items:start}.teaser-side{background:#f3f5f7;border:1px solid #e3e8ec;border-radius:14px;padding:22px;display:grid;gap:14px}.teaser-side h3,.sub-title{font:600 19px/1.2 var(--sans);margin:0;color:var(--navy)}.sub-title{margin:44px 0 0}.bars{list-style:none;margin:0;padding:0;display:grid;gap:9px}.bars li{display:grid;grid-template-columns:112px minmax(0,1fr) 30px;gap:10px;align-items:center;font-size:14px}.bar-label{font-weight:500;color:var(--navy);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bar{height:10px;background:#e3e8ec;border-radius:5px;overflow:hidden}.bar i{display:block;height:100%;background:linear-gradient(90deg,#286895,#d8ae48);border-radius:5px}.bars b{font:600 14px var(--mono);text-align:right;color:var(--navy)}.teaser-side .fine{font-size:13px;color:#4a6275;margin:0}.teaser-side .site-btn{justify-self:start}.proj-grid.compact{grid-auto-rows:180px}.projects-page main{padding-top:73px}.pp-hero{background:var(--navy);color:#fff;padding:clamp(48px,7vw,96px) 0 clamp(40px,5vw,64px);position:relative;overflow:hidden}.pp-hero:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(214,233,247,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(214,233,247,.06) 1px,transparent 1px);background-size:40px 40px;mask-image:linear-gradient(90deg,transparent,#000 60%)}.pp-hero .plain-in{position:relative}.pp-hero .num{display:block;font:500 12px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--gold);margin-bottom:16px}.pp-hero h1{font:700 clamp(32px,4.6vw,62px)/1.04 var(--sans);letter-spacing:-.035em;margin:0 0 16px;max-width:900px}.pp-hero p{font-size:18px;line-height:1.6;color:#ecf4fad9;max-width:720px;margin:0}.pp-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:34px 0 0;max-width:980px}.pp-stats div{display:flex;flex-direction:column-reverse;gap:4px;padding:16px;border:1px solid rgba(214,233,247,.18);border-radius:10px;background:#ffffff08}.pp-stats dd{margin:0;font:600 30px/1.1 var(--mono);color:var(--gold)}.pp-stats dt{font-size:13px;color:#ecf4fabf}.pp-map-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(240px,.8fr);gap:22px;align-items:start}.pp-filter{background:#fff;border:1px solid #e3e8ec;border-radius:14px;padding:20px;position:sticky;top:92px}.pp-filter h2{font:600 20px/1.2 var(--sans);margin:0 0 6px}.pp-filter .fine{font-size:13px;color:#4a6275;margin:0 0 14px}.pp-filter ul{list-style:none;margin:0;padding:0;display:grid;gap:5px}.pp-filter button{width:100%;display:flex;justify-content:space-between;align-items:center;gap:10px;border:1px solid #e3e8ec;background:#f8fafb;border-radius:8px;padding:9px 12px;font:500 14.5px var(--sans);color:var(--navy);cursor:pointer}.pp-filter button b{font:600 13px var(--mono);background:#fff;border:1px solid #e3e8ec;border-radius:99px;padding:2px 8px}.pp-filter button:hover,.pp-filter button.active{border-color:var(--blue);box-shadow:inset 3px 0 0 var(--gold);background:#fff}.map-reset{margin-top:12px;width:100%;background:var(--navy);color:#fff;border:0;border-radius:8px;padding:10px;font:600 14px var(--sans);cursor:pointer}.map-reset[hidden]{display:none}.dir-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;margin-top:28px}.dir-card{background:#fff;border:1px solid #e3e8ec;border-top:3px solid var(--gold);border-radius:0 0 12px 12px;padding:18px;transition:opacity .3s ease,box-shadow .3s ease}.dir-card header{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:10px}.dir-card h3{font:600 18px/1.2 var(--sans);margin:0;color:var(--navy)}.dir-card header span{font:500 11.5px var(--mono);text-transform:uppercase;letter-spacing:.05em;color:#4a6275;white-space:nowrap}.dir-card ul{list-style:none;margin:0;padding:0;display:grid;gap:4px;font-size:14px;color:#2c4253}.dir-card li:before{content:"·";color:var(--gold);font-weight:700;margin-right:6px}.dir-card .fine{font-size:12.5px;color:#4a6275;margin:8px 0 0}.dir-grid.filtered .dir-card:not(.match){opacity:.3}.dir-grid.filtered .dir-card.match{box-shadow:0 10px 28px #0d263c1f}.proj{transition:opacity .3s ease,filter .3s ease}.proj-grid.filtered .proj:not(.match){opacity:.25;filter:grayscale(1)}.plain.pp-map{background:#f3f5f7}.plain.pp-directory{background:#fff}@media(max-width:960px){.teaser,.pp-map-grid{grid-template-columns:1fr}.pp-filter{position:static}.pp-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}.no-webgl #silo-canvas,.no-webgl .notes{display:none}@media(max-width:760px){.site-tag{display:none}.site-top{flex-wrap:wrap}.site-top nav{gap:10px}.site-menu-btn:not([hidden]){display:inline-flex}.site-nav-links{display:flex;flex-basis:100%;flex-wrap:wrap;gap:4px 16px;order:3}nav.js .site-nav-links{display:none}nav.js.open .site-nav-links{display:grid;position:absolute;top:100%;left:0;right:0;gap:0;padding:6px 16px 14px;background:#0d263c;border-top:1px solid rgba(214,233,247,.12);box-shadow:0 20px 40px #04101c66}nav.js.open .site-nav-links a{padding:13px 4px;font-size:17px;border-bottom:1px solid rgba(214,233,247,.1)}.rail{display:none}.readout{inset:72px 12px auto;padding:8px 12px;grid-template-columns:repeat(3,auto);grid-auto-flow:column;grid-template-rows:auto auto;justify-content:space-between}.stage .readout{transition:opacity .3s ease,transform .3s ease}.story-reading .readout,.cover-moved .readout{opacity:0;transform:translateY(-8px);transition:none}html:not(.js) .readout{display:none}.readout strong b{font-size:16px}.chapter .card{position:sticky;top:max(84px,min(46vh,var(--card-room, 46vh)));margin-top:0;padding:18px}.chapter h2{font-size:24px;margin-bottom:10px}.chapter .num{margin-bottom:10px}.stats{gap:6px;margin-top:12px}.stats div{padding:8px 10px}.stats dd{font-size:20px}.stats dt{font-size:11px}.caps{margin-top:12px;gap:6px}.caps li{font-size:10.5px;padding:6px 8px}.caps-links a{padding:7px 9px}.intro{height:auto;min-height:100svh;padding-top:150px;padding-bottom:40px;align-items:flex-start}.intro .card{position:relative;top:auto;padding:0}.chapter p{font-size:15px}.note .txt{font-size:10.5px;padding:5px 7px}}@media(max-width:359px){.site-top{gap:12px}.site-brand img{width:88px}}@media(min-width:761px)and (max-height:460px){.rail{display:none}}@media(prefers-reduced-motion:reduce){.stage .readout,.story-reading .readout,.cover-moved .readout{transition:none;transform:none}.scroll-hint:after{animation:none}.intro .card>*{animation:none}.note{transition:none}}.pmap{scroll-margin-top:90px}.not-found{min-height:100vh;display:grid;place-items:center;background:var(--navy);color:var(--white)}.not-found-main{max-width:560px;padding:48px clamp(16px,5vw,32px);display:grid;gap:18px;justify-items:start}.not-found-main .num{font:500 12px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--gold)}.not-found-main h1{margin:0;font:700 clamp(32px,5vw,52px)/1.05 var(--sans);letter-spacing:-.03em}.not-found-main p{margin:0;font-size:17px;line-height:1.6;color:#ecf4fad9}.not-found-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px}
