:root{--ink: #0e1014;--ink-2: #161a21;--ink-3: #1e232c;--line: #2a303b;--text: #e7e2d8;--text-dim: #a4a093;--gold: #c9a961;--accent: var(--gold);--accent-soft: #e0cf9a;--display: "Cormorant Garamond", "Iowan Old Style", Georgia, serif;--body: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--gutter: clamp(1.25rem, 4vw, 3.5rem);--measure: 34rem}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--ink);color:var(--text);font-family:var(--body);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(60rem 40rem at 70% -10%,rgba(201,169,97,.1),transparent 60%),radial-gradient(40rem 40rem at 10% 110%,rgba(79,127,212,.08),transparent 60%);z-index:0}.shell{position:relative;z-index:1;display:flex;flex-direction:column;min-height:100%}a{color:inherit}h1,h2,h3{font-family:var(--display);font-weight:600;line-height:1.12;margin:0 0 .4em;letter-spacing:.01em}h1{font-size:clamp(2.4rem,6vw,4.2rem)}h2{font-size:clamp(1.6rem,3.4vw,2.4rem)}h3{font-size:1.25rem}p{margin:0 0 1em}.muted{color:var(--text-dim)}.pad{padding:clamp(2rem,6vw,5rem) var(--gutter)}.eyebrow{font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--text-dim);margin-bottom:1.2em}.lede{font-size:1.15rem;max-width:var(--measure)}.intro{color:var(--text-dim);max-width:var(--measure)}.skip{position:absolute;left:-9999px;top:0;background:var(--ink-3);padding:.7em 1.2em;z-index:50}.skip:focus{left:0}.site-head{display:flex;align-items:center;gap:clamp(1rem,4vw,3rem);flex-wrap:wrap;padding:1.1rem var(--gutter);border-bottom:1px solid var(--line);background:#0e1014d1;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:sticky;top:0;z-index:20}.brand{display:inline-flex;align-items:center;gap:.65rem;text-decoration:none;margin-right:auto}.brand-mark{display:inline-flex;align-items:center;color:var(--gold)}.brand-mark svg,.brand-mark img{display:block}.brand-name{font-family:var(--display);font-size:1.5rem;letter-spacing:.14em;text-transform:uppercase}.site-nav{display:flex;gap:clamp(.9rem,2.5vw,2rem);flex-wrap:wrap}.site-nav a{text-decoration:none;font-size:.9rem;letter-spacing:.06em;color:var(--text-dim);padding-bottom:2px;border-bottom:1px solid transparent;transition:color .18s,border-color .18s}.site-nav a:hover{color:var(--text)}.site-nav a.is-active{color:var(--text);border-bottom-color:var(--accent, var(--gold))}.lang{display:flex;gap:.6rem;font-size:.8rem}.lang a{text-decoration:none;color:var(--text-dim);padding:.15em .5em;border:1px solid transparent;border-radius:2px}.lang a:hover{color:var(--text)}.lang a.is-current{color:var(--ink);background:var(--gold)}main{flex:1 0 auto}.hero{padding:clamp(3.5rem,12vh,8rem) var(--gutter) clamp(2rem,6vh,4rem);max-width:62rem}.hero h1{letter-spacing:.04em}.hero h1:after{content:"";display:block;width:4rem;height:1px;background:var(--gold);margin:.6em 0 .5em}.portals{display:grid;gap:1px;background:var(--line);border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(auto-fit,minmax(17rem,1fr))}.portal{background:var(--ink);padding:clamp(2rem,5vw,3.5rem) var(--gutter);text-decoration:none;display:flex;flex-direction:column;gap:.35rem;min-height:15rem;position:relative;transition:background .25s}.portal:before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .35s ease}.portal:hover{background:var(--ink-2)}.portal:hover:before{transform:scaleX(1)}.portal-kind{font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--accent-soft)}.portal h2{font-size:clamp(1.8rem,3vw,2.6rem);margin:0}.portal p{color:var(--text-dim);margin:.3em 0 0}.portal-count{margin-top:auto;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--text-dim)}.section-page{padding:clamp(2.5rem,7vw,5rem) var(--gutter)}.section-head{max-width:48rem;margin-bottom:clamp(2rem,5vw,3.5rem)}.section-head h1:after{content:"";display:block;width:3rem;height:2px;background:var(--accent);margin:.5em 0 .6em}.count{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--text-dim)}.grid{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(15rem,1fr))}.card{text-decoration:none;background:var(--ink-2);border:1px solid var(--line);display:flex;flex-direction:column;transition:border-color .2s,transform .2s}.card:hover{border-color:var(--accent);transform:translateY(-2px)}.card-visual{aspect-ratio:4 / 3;display:grid;place-items:center;background:radial-gradient(circle at 50% 35%,rgba(255,255,255,.06),transparent 65%),var(--ink-3);border-bottom:1px solid var(--line);overflow:hidden}.card-visual img{width:100%;height:100%;object-fit:cover}.emblem{width:62%;color:var(--accent-soft);opacity:.8}.card:hover .emblem{opacity:1}.card-text{padding:1rem 1.15rem 1.25rem}.card-text h3{font-size:1.3rem;margin-bottom:.25em}.card-text p{color:var(--text-dim);font-size:.88rem;margin:0}.tag{display:inline-block;margin-top:.8em;font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-dim);border:1px solid var(--line);padding:.25em .6em}.empty{max-width:var(--measure)}.empty .back{display:inline-block;margin-top:1rem}.notice{border-left:2px solid var(--accent);padding:.6em 0 .6em 1em;color:var(--text-dim);font-size:.9rem;max-width:var(--measure)}.work-page{display:grid;grid-template-columns:1fr}.viewer{position:relative;height:min(72vh,46rem);height:min(72dvh,46rem);background:#14161b;border-bottom:1px solid var(--line);touch-action:none}.viewer canvas{display:block;outline:none}.viewer-hint{transition:opacity .6s ease;position:absolute;left:50%;bottom:1rem;transform:translate(-50%);font-size:.72rem;letter-spacing:.08em;color:var(--text-dim);background:#0e101499;padding:.35em .9em;border-radius:999px;pointer-events:none;text-align:center;max-width:92vw}.viewer-tools{position:absolute;top:1rem;right:1rem;display:flex;gap:.5rem;flex-wrap:wrap;justify-content:flex-end}.viewer-tools button{font:inherit;font-size:.76rem;letter-spacing:.06em;color:var(--text);background:#161a21d9;border:1px solid var(--line);padding:.45em .9em;cursor:pointer;transition:border-color .18s,color .18s}.viewer-tools button:hover{border-color:var(--accent)}.viewer-tools button[aria-pressed=true]{border-color:var(--accent);color:var(--accent-soft)}.work-body{padding:clamp(2rem,6vw,4rem) var(--gutter);max-width:56rem}.work-body h1{margin-top:.3em}.back{font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim);text-decoration:none}.back:hover{color:var(--accent-soft)}.work-text{margin-top:2rem;padding-top:1.6rem;border-top:1px solid var(--line);max-width:38rem}.work-text p{white-space:pre-line;margin-bottom:1.1em}.work-text p:last-child{margin-bottom:0}.details-head{font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;font-family:var(--body);color:var(--text-dim);margin-top:2.5rem;padding-top:1rem;border-top:1px solid var(--line)}.facts{display:grid;gap:0 2rem;grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));margin:0}.fact{padding:.7rem 0;border-bottom:1px solid var(--line)}.fact dt{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--text-dim)}.fact dd{margin:.15em 0 0}.prose{max-width:44rem}.site-foot{margin-top:auto;padding:1.5rem var(--gutter);border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:1rem;font-size:.8rem;color:var(--text-dim)}.admin-link{text-decoration:none}.admin-link:hover{color:var(--text)}@media (min-width: 60rem){.work-page{grid-template-columns:1fr}.viewer{height:min(78vh,50rem)}}@media (prefers-reduced-motion: reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}}.viewer-loading{display:grid;place-items:center;color:var(--text-dim);font-size:.85rem;letter-spacing:.1em;text-transform:uppercase}.viewer-hint.is-gone{opacity:0}@media (max-width: 40rem){:root{--gutter: 1.1rem}.site-head{position:static;padding:.8rem var(--gutter) 0;gap:.5rem .9rem;row-gap:.5rem}.brand{order:1}.lang{order:2;margin-left:auto}.site-nav{order:3;flex:0 0 100%;gap:1.1rem;padding-bottom:.7rem;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.site-nav::-webkit-scrollbar{display:none}.site-nav a{white-space:nowrap;padding-bottom:4px}.brand-name{font-size:1.25rem;letter-spacing:.1em}.lang a{padding:.3em .6em}.viewer{height:62vh;height:62dvh;min-height:20rem}.viewer:not(.showroom) .viewer-tools{top:auto;bottom:.5rem;left:.5rem;right:.5rem;justify-content:center;gap:.3rem}.viewer-tools button{flex:0 0 auto;min-height:0;font-size:.63rem;letter-spacing:.04em;padding:.42em .7em;border-radius:999px;background:#161a21d1;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.viewer-hint{bottom:auto;top:.65rem;font-size:.68rem;padding:.3em .8em}.hero{padding-top:2.5rem}h1{font-size:clamp(2.1rem,10vw,3rem)}.portal{min-height:auto;padding:1.6rem var(--gutter)}.grid{grid-template-columns:1fr;gap:1rem}.card-visual{aspect-ratio:16 / 10}.emblem{width:42%}.facts{grid-template-columns:1fr;gap:0}.work-body{padding-top:1.5rem}.site-foot{flex-direction:column;gap:.5rem}}@media (max-height: 30rem) and (orientation: landscape){.viewer{height:88vh;height:88dvh;min-height:12rem}.site-head{position:static;padding-block:.5rem}.viewer-hint{display:none}}.splash{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;position:relative;z-index:1}.splash-lang{position:absolute;top:1rem;right:var(--gutter);display:flex;gap:.4rem;z-index:3}.splash-lang button{font:inherit;font-size:.78rem;color:var(--text-dim);background:transparent;border:1px solid transparent;border-radius:2px;padding:.3em .7em;cursor:pointer;min-height:2.2rem}.splash-lang button:hover{color:var(--text)}.splash-lang button.is-current{color:var(--ink);background:var(--gold)}.splash-head{text-align:center;padding:clamp(3rem,11vh,7rem) var(--gutter) clamp(1.5rem,5vh,3rem)}.splash-mark{color:var(--gold)}.splash-head h1{font-size:clamp(2.6rem,8vw,5rem);letter-spacing:.16em;text-transform:uppercase;margin:.35em 0 0}.splash-tagline{color:var(--text-dim);max-width:34rem;margin:1.1em auto 0;font-size:clamp(.92rem,2.2vw,1.05rem)}.splash-head h1:after{content:"";display:block;width:3.5rem;height:1px;background:var(--gold);margin:.45em auto 0}.splash-doors{flex:1;display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border-top:1px solid var(--line)}.door{background:var(--ink);text-decoration:none;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:.3rem;padding:clamp(2rem,5vw,3.5rem) 1.25rem;position:relative;transition:background .3s}.door:before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:var(--accent);transform:scaleX(0);transition:transform .4s ease}.door:hover,.door:focus-visible{background:var(--ink-2);outline:none}.door:hover:before,.door:focus-visible:before{transform:scaleX(1)}.door-mark{color:var(--accent-soft);opacity:.75;margin-bottom:.9rem;transition:opacity .3s,transform .4s ease}.door:hover .door-mark{opacity:1;transform:translateY(-3px)}.door-text{display:flex;flex-direction:column;align-items:center;gap:.25rem}.door-kind{font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--accent-soft)}.door-name{font-family:var(--display);font-size:clamp(1.7rem,3.2vw,2.6rem);line-height:1.1}.door-blurb{color:var(--text-dim);font-size:.87rem;max-width:17rem;margin-top:.25rem}.splash-foot{display:flex;justify-content:center;gap:1rem;padding:1.1rem var(--gutter);border-top:1px solid var(--line);font-size:.8rem;color:var(--text-dim)}.splash-foot a{text-decoration:none}.splash-foot a:hover{color:var(--gold)}@media (max-width: 46rem){.splash-doors{grid-template-columns:1fr}.door{padding:1.5rem 1.25rem;flex-direction:row;text-align:left;gap:1.1rem;justify-content:flex-start}.door-mark svg{width:54px;height:auto}.door-mark{margin:0;flex:0 0 auto}.door-text{flex:1;align-items:flex-start}.door-blurb{max-width:none}.splash-head{padding-top:3.5rem}.splash-foot{flex-direction:column;gap:.4rem}}.showroom{touch-action:auto}.showroom iframe{display:block;width:100%;height:100%;border:0}.construction{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:grid;place-items:center;padding:var(--gutter);background:var(--ink);text-align:center}.construction-inner{max-width:30rem}.construction-mark{color:var(--gold);margin:0 auto 1.4rem}.construction h1{font-size:clamp(2.2rem,7vw,3.4rem);letter-spacing:.16em;text-transform:uppercase;margin:0}.construction h1:after{content:"";display:block;width:3rem;height:1px;background:var(--gold);margin:.6em auto .7em}.construction-line{font-size:1.05rem;margin-bottom:.4em}.construction-note{color:var(--text-dim);font-size:.92rem;margin:0}.construction-panel{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:#060709b8;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:var(--gutter)}.construction-panel form{width:min(20rem,100%);background:var(--ink-2);border:1px solid var(--line);padding:1.4rem 1.5rem 1.5rem;text-align:left;display:flex;flex-direction:column}.construction-panel label{font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--text-dim);margin-bottom:.4em}.construction-panel label+input{margin-bottom:1rem}.construction-panel input{font:inherit;font-size:.95rem;color:var(--text);background:var(--ink);border:1px solid var(--line);padding:.6em .7em;outline:none}.construction-panel input:focus{border-color:var(--gold)}.construction-panel button{font:inherit;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);background:var(--gold);border:0;padding:.8em 1em;cursor:pointer;margin-top:.4rem;min-height:2.75rem}.construction-panel button:disabled{opacity:.6;cursor:default}.construction-error{color:#ff9a8b;font-size:.82rem;margin:0 0 .6em}.construction-signin{display:none;margin:2.5rem auto 0;font:inherit;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--text-dim);background:transparent;border:1px solid var(--line);border-radius:999px;padding:.7em 1.6em;min-height:2.75rem;cursor:pointer}.construction-signin:active{color:var(--text);border-color:var(--gold)}@media (hover: none),(pointer: coarse),(max-width: 40rem){.construction-signin{display:inline-block}}
