.engineering-site{--paper:var(--brand-paper);--paper-2:color-mix(in oklch, var(--brand-paper), var(--brand-ink) 4%);--panel:color-mix(in oklch, var(--brand-paper), var(--brand-ink) 8%);--ink:var(--brand-ink);--ink-2:color-mix(in oklch, var(--brand-ink) 72%, transparent);--muted:color-mix(in oklch, var(--brand-ink) 60%, transparent);--line:color-mix(in oklch, var(--brand-paper), var(--brand-ink) 18%);--line-strong:color-mix(in oklch, var(--brand-paper), var(--brand-ink) 26%);--accent:var(--primary);--accent-hover:color-mix(in oklch, var(--primary), var(--brand-ink) 12%);--on-accent:var(--primary-foreground);--logo-ink:var(--brand-ink);--mono:ui-monospace, "SF Mono", "JetBrains Mono", Menlo, Consolas, monospace;--gutter:clamp(.75rem, 2.2vw, 2rem);--pad:clamp(1.25rem, 3.5vw, 3.5rem);--bar-h:3.5rem;--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-roll:cubic-bezier(.65, 0, .35, 1);--site-accent:var(--accent);background-color:var(--paper);min-height:100%;color:var(--ink);font-feature-settings:"ss01";-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .05 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");font-family:Arad,sans-serif}.engineering-site *{box-sizing:border-box}.engineering-site a{color:inherit;text-decoration:none}.engineering-site :is(a,button):focus-visible{outline:2px solid var(--accent);outline-offset:3px}.engineering-site ::selection{color:var(--on-accent);background:var(--accent)}.engineering-site em{color:var(--accent);font-style:normal}.roll-label{vertical-align:middle;line-height:1.6;display:inline-block;position:relative;overflow:hidden}.roll-label__inner{white-space:nowrap;transition:transform .5s var(--ease-roll);display:block}.roll-label__inner+.roll-label__inner{position:absolute;inset:100% 0 auto}:is(a,button):is(:hover,:focus-visible) .roll-label__inner{transform:translateY(-100%)}.site-button{isolation:isolate;min-height:3rem;font:inherit;white-space:nowrap;cursor:pointer;transition:color .35s var(--ease-roll), border-color .35s var(--ease-roll);border:1px solid #0000;border-radius:0;justify-content:center;align-items:center;gap:.6rem;padding:0 1.35rem;font-size:.92rem;font-weight:600;display:inline-flex;position:relative;overflow:hidden}.site-button:before{content:"";z-index:-1;transform-origin:bottom;transition:transform .45s var(--ease-roll);position:absolute;inset:0;transform:scaleY(0)}.site-button:hover:before,.site-button:focus-visible:before{transform:scaleY(1)}.site-button svg{transition:transform .35s var(--ease-out);flex:none}.site-button:hover svg:last-child{transform:translate(-3px)}.engineering-site .site-button--primary{background:var(--accent);color:var(--on-accent)}.site-button--primary:before{background:var(--ink)}.engineering-site .site-button--ghost{border-color:var(--ink);color:var(--ink)}.site-button--ghost:before{background:var(--ink)}.engineering-site .site-button--ghost:hover{color:var(--paper)}.section-kicker,.hero-eyebrow{color:var(--ink-2);align-items:center;gap:.6rem;margin:0;font-size:.82rem;font-weight:500;display:flex}.section-kicker>span,.hero-eyebrow>span[dir=ltr]{font:500 .72rem/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--accent)}.site-menu{z-index:80;pointer-events:none;position:fixed;inset:0}.site-bar{pointer-events:auto;top:0;inset-inline:var(--gutter);z-index:90;height:var(--bar-h);border:1px solid var(--line);background:color-mix(in srgb, var(--paper) 86%, transparent);-webkit-backdrop-filter:blur(12px)saturate(1.2);border-top:0;align-items:stretch;display:flex;position:fixed}.site-bar>*+*{border-inline-start:1px solid var(--line)}.site-bar__brand{align-items:center;padding-inline:1rem 1.25rem;display:flex}.site-bar__nav{align-items:stretch;margin-inline-start:auto;display:flex}.site-bar__nav a{color:var(--ink-2);align-items:center;padding-inline:1.15rem;font-size:.85rem;font-weight:500;transition:color .25s,background .25s;display:flex}.site-bar__nav a+a{border-inline-start:1px solid var(--line)}.site-bar__nav a:hover{color:var(--ink);background:var(--paper-2)}.engineering-site .site-bar__cta{isolation:isolate;background:var(--accent);color:var(--on-accent);transition:color .45s var(--ease-roll);border-inline-start:0;align-items:center;gap:.55rem;padding-inline:1.35rem;font-size:.86rem;font-weight:600;display:flex;position:relative;overflow:hidden}.site-bar__cta:hover{color:var(--primary)}.site-bar__cta:before{content:"";z-index:-1;background:var(--ink);transform-origin:bottom;transition:transform .45s var(--ease-roll);position:absolute;inset:0;transform:scaleY(0)}.site-bar__cta:hover:before{transform:scaleY(1)}.site-menu__toggle{width:var(--bar-h);border:0;border-inline-start:1px solid var(--line);color:var(--ink);cursor:pointer;background:0 0;place-items:center;display:none}.site-menu__icon{grid-area:1/1}.site-menu__backdrop{pointer-events:auto;z-index:85;background:color-mix(in oklch, var(--ink) 22%, transparent);cursor:pointer;border:0;margin:0;padding:0;position:fixed;inset:0}.site-menu__panel{pointer-events:auto;top:var(--bar-h);inset-inline:var(--gutter);z-index:88;background:var(--paper);border:1px solid var(--line);box-shadow:0 24px 60px -30px color-mix(in oklch, var(--ink) 35%, transparent);will-change:clip-path;border-top:0;padding:.5rem 0 1rem;position:fixed}.site-menu__brand{font:500 .7rem/1 var(--mono);letter-spacing:.08em;color:var(--muted);padding:.75rem 1.25rem}.site-menu__nav{display:grid}.site-menu__link{border-top:1px solid var(--line);align-items:baseline;gap:1rem;padding:1rem 1.25rem;font-size:clamp(1.4rem,5vw,1.8rem);font-weight:700;transition:color .2s,background .2s;display:flex}.site-menu__link span{min-width:2.4rem;font:500 .72rem/1 var(--mono);color:var(--accent)}.site-menu__link:hover{background:var(--paper-2)}.site-main,.site-footer{margin-inline:var(--gutter);border-inline:1px solid var(--line)}.site-section{padding:clamp(4.5rem, 11vh, 8rem) var(--pad);position:relative}.section-rule{top:0;background:var(--line);transform-origin:100%;height:1px;position:absolute;inset-inline:0}.site-section:before,.site-section:after{content:"+";font:300 1rem/1 var(--mono);color:var(--ink-2);pointer-events:none;position:absolute;top:0;translate:0 -52%}.site-section:before{inset-inline-start:-.33rem}.site-section:after{inset-inline-end:-.33rem}.section-head{gap:1.25rem;max-width:52rem;display:grid}.section-head h2,.contact-copy h2{text-wrap:balance;margin:0;font-size:clamp(2.1rem,4.4vw,3.9rem);font-weight:800;line-height:1.25}.section-head>p:last-child,.contact-copy>p{max-width:36rem;color:var(--ink-2);margin:0;font-size:1.05rem;line-height:2}.section-head>p.section-kicker:last-child{color:var(--ink-2)}.engineering-hero{isolation:isolate;position:relative}.hero-pin{min-height:100dvh;padding-top:var(--bar-h);background-color:var(--paper);flex-direction:column;display:flex;overflow:clip}.hero-body{flex:1;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);display:grid}.hero-copy{padding:clamp(2rem, 5vh, 3.5rem) var(--pad);align-items:center;display:grid}.hero-chapter{flex-direction:column;grid-area:1/1;gap:1.75rem;display:flex}.hero-chapter--story{visibility:hidden;opacity:0;gap:1.5rem}.hero-chapter--story h2{margin:0;font-size:clamp(2.6rem,5.2vw,5.4rem);font-weight:800;line-height:1.12}.hero-chapter__body{max-width:30rem;color:var(--ink-2);margin:0;font-size:clamp(1rem,1.3vw,1.15rem);line-height:2}.hero-chapter__cue{color:var(--accent);font-size:.78rem;font-weight:500;animation:1.6s steps(2,jump-none) infinite hero-blink}.hero-eyebrow__dot{background:var(--accent);width:7px;height:7px;animation:1.6s steps(2,jump-none) infinite hero-blink}@keyframes hero-blink{50%{opacity:.2}}.hero-specs{border-top:1px solid var(--line);max-width:30rem;margin:0;display:grid}.hero-specs>div{border-bottom:1px solid var(--line);grid-template-columns:5rem auto 1fr;gap:.75rem;padding:.5rem 0;font-size:.82rem;display:grid}.hero-specs dt{color:var(--muted)}.hero-specs dt:after{content:":";margin-inline-start:.75rem;display:inline-block}.hero-specs dd{grid-column:3;margin:0;font-weight:600}.hero-copy h1{margin:0;font-size:clamp(3rem,6.4vw,6.4rem);font-weight:800;line-height:1.12}.hero-line{padding-bottom:.08em;display:block;overflow:hidden}.hero-line>span{display:block}.hero-copy-plate{gap:1.75rem;display:grid}.hero-lead{max-width:32rem;color:var(--ink-2);margin:0;font-size:clamp(1.02rem,1.35vw,1.2rem);line-height:2}.hero-actions{flex-wrap:wrap;gap:.6rem;display:flex}.hero-drawing{min-width:0;padding:1rem var(--pad) 1.1rem;border-inline-start:1px solid var(--line);background:linear-gradient(var(--line) 1px, transparent 1px) 0 0 / 100% 64px, linear-gradient(90deg, var(--line) 1px, transparent 1px) 0 0 / 64px 100%;background-color:var(--paper-2);color:var(--ink);flex-direction:column;margin:0;display:flex;position:relative}.hero-drawing:before{content:"";background:radial-gradient(ellipse 70% 65% at 50% 52%, transparent 30%, var(--paper-2) 92%);pointer-events:none;position:absolute;inset:0}.hero-drawing>:not(.corner,.drawing-hint){position:relative}.corner{z-index:2;border-color:var(--ink);pointer-events:none;border-style:solid;border-width:0;width:14px;height:14px;position:absolute}.corner--tl{border-top-width:1px;border-left-width:1px;top:.75rem;left:.75rem}.corner--tr{border-top-width:1px;border-right-width:1px;top:.75rem;right:.75rem}.corner--bl{border-bottom-width:1px;border-left-width:1px;bottom:.75rem;left:.75rem}.corner--br{border-bottom-width:1px;border-right-width:1px;bottom:.75rem;right:.75rem}.drawing-topline{font:500 .68rem/1 var(--mono);letter-spacing:.06em;color:var(--ink-2);direction:ltr;justify-content:space-between;align-items:center;gap:1rem;padding:.35rem .6rem;display:flex}.drawing-coords{font-variant-numeric:tabular-nums;color:var(--accent)}.structural-frame{width:100%;max-height:58dvh;display:block;overflow:visible}.structural-viewport{flex:1;height:clamp(360px,60dvh,660px);position:relative;overflow:hidden}.structural-fallback{z-index:0;height:100%;color:var(--ink);place-items:center;transition:opacity .45s;display:grid;position:relative}.engineering-hero[data-scene-ready=true] .structural-fallback{opacity:0;visibility:hidden;pointer-events:none}.model-annotation{z-index:1;font:500 .62rem/1.7 var(--mono);letter-spacing:.08em;color:var(--muted);direction:ltr;position:absolute;bottom:.75rem;left:.6rem}.drawing-hint{top:2.75rem;color:var(--muted);pointer-events:none;margin:0;font-size:.72rem;position:absolute;inset-inline-end:calc(var(--pad) + .6rem)}.hero-structure{cursor:grab}.hero-structure[data-dragging]{cursor:grabbing}.hero-stages{border-top:1px solid var(--line);justify-content:space-between;align-items:stretch;gap:1rem;padding-top:.85rem;font-size:.8rem;display:flex}.hero-stages ol{border:1px solid var(--line-strong);margin:0;padding:0;list-style:none;display:flex}.hero-stages li{color:var(--muted);align-items:center;gap:.45rem;padding:.45rem .85rem;transition:color .35s,background .35s;display:inline-flex}.hero-stages li+li{border-inline-start:1px solid var(--line-strong)}.hero-stages li span{font:500 .64rem/1 var(--mono)}.engineering-hero[data-construction-stage=structure] [data-stage=structure],.engineering-hero[data-construction-stage=masonry] [data-stage=masonry],.engineering-hero[data-construction-stage=facade] [data-stage=facade]{background:var(--accent);color:var(--on-accent)}.engineering-hero[data-construction-stage=masonry] [data-stage=structure],.engineering-hero[data-construction-stage=facade] [data-stage=structure],.engineering-hero[data-construction-stage=facade] [data-stage=masonry],.engineering-hero[data-construction-stage=complete] [data-stage]{color:var(--ink)}.hero-replay{color:var(--ink);font:inherit;cursor:pointer;opacity:0;pointer-events:none;background:0 0;border:0;padding:0 .25rem;font-size:.8rem;font-weight:600;transition:opacity .4s}.engineering-hero[data-construction-stage=complete] .hero-replay{opacity:1;pointer-events:auto}.hero-strip{border-top:1px solid var(--line);align-items:stretch;display:flex}.hero-strip ol{flex:1;grid-template-columns:repeat(4,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.hero-strip li+li{border-inline-start:1px solid var(--line)}.hero-strip button{width:100%;height:100%;padding:1.05rem var(--pad);color:var(--muted);font:inherit;text-align:start;cursor:pointer;background:0 0;border:0;align-items:baseline;gap:.75rem;font-size:clamp(.95rem,1.4vw,1.2rem);font-weight:800;transition:color .3s,background .3s;display:flex;position:relative}.hero-strip button>span[dir=ltr]{font:500 .66rem/1 var(--mono);color:var(--accent)}.hero-strip button:hover{background:var(--paper-2);color:var(--ink)}.hero-strip button[data-active],.engineering-hero[data-story-chapter="0"] [data-story-nav="0"]{color:var(--ink)}.hero-strip__fill{background:var(--accent);transform-origin:100%;height:2px;position:absolute;inset:auto 0 -1px;transform:scaleX(0)}.hero-scroll{padding-inline:var(--pad);border-inline-start:1px solid var(--line);color:var(--ink-2);white-space:nowrap;align-items:center;font-size:.78rem;font-weight:500;display:flex}.model-callout{opacity:0;transform-origin:5px 5px;transition:opacity .35s ease, transform .5s var(--ease-out);pointer-events:none;position:relative;transform:translate(-5px,-5px)scale(.6)}.engineering-hero[data-story-chapter="1"] .model-callout[data-chapter="1"],.engineering-hero[data-story-chapter="2"] .model-callout[data-chapter="2"],.engineering-hero[data-story-chapter="3"] .model-callout[data-chapter="3"]{opacity:1;transition-delay:.25s;transform:translate(-5px,-5px)scale(1)}.model-callout__dot{background:var(--accent);width:10px;height:10px;box-shadow:0 0 0 3px color-mix(in oklch, var(--accent) 22%, transparent);animation:1.8s ease-out infinite callout-pulse;display:block}@keyframes callout-pulse{70%{box-shadow:0 0 0 10px color-mix(in oklch, var(--accent) 0%, transparent)}}.model-callout:after{content:"";background:var(--ink);transform-origin:0;width:34px;height:1px;position:absolute;top:5px;left:5px;transform:rotate(-40deg)}.model-callout__label{border:1px solid var(--ink);background:var(--paper);color:var(--ink);white-space:nowrap;box-shadow:4px 4px 0 color-mix(in oklch, var(--ink) 12%, transparent);direction:rtl;gap:.2rem;padding:.45rem .65rem;font-size:.74rem;font-weight:600;display:grid;position:absolute;bottom:24px;left:30px}.model-callout__label b{font:500 .6rem/1 var(--mono);letter-spacing:.06em;color:var(--accent);text-align:start}.site-services{min-height:100dvh;padding-top:calc(var(--bar-h) + clamp(3rem, 8vh, 6rem));flex-direction:column;justify-content:center;gap:clamp(2.5rem,7vh,4.5rem);display:flex}.loadpath{grid-template-columns:minmax(0,1.6fr) minmax(17rem,1fr);align-items:start;gap:clamp(1.5rem,4vw,3.5rem);margin-top:clamp(2.5rem,6vh,4rem);display:grid}.loadpath__sheet{border:1px solid var(--line);background-color:var(--paper-2);background-image:linear-gradient(var(--line) 1px, transparent 1px), linear-gradient(90deg, var(--line) 1px, transparent 1px);background-size:24px 24px;margin:0;position:relative}.loadpath__sheet .drawing-topline{border-bottom:1px solid var(--line);background:var(--paper)}.loadpath__frame{touch-action:manipulation;direction:ltr;width:100%;height:auto;display:block;overflow:visible}.loadpath__frame text{font:600 12px var(--mono);fill:var(--ink)}.loadpath__axes line{stroke:var(--line-strong);stroke-dasharray:10 4 2 4}.loadpath__axes circle{fill:var(--paper);stroke:var(--ink-2)}.loadpath__axes text{text-anchor:middle}.loadpath__ground,.loadpath__hatch{stroke:var(--ink-2);stroke-width:1px}.loadpath__member,.loadpath__footing{fill:var(--ink);transition:fill .5s}.loadpath__frame[data-loaded] .loadpath__member,.loadpath__frame[data-loaded] .loadpath__footing{fill:color-mix(in oklch, var(--ink) 28%, var(--paper-2))}.loadpath__level path{fill:var(--ink-2)}.loadpath__level text{fill:var(--muted);font-weight:500}.loadpath__target{fill:var(--accent);fill-opacity:0;cursor:crosshair;transition:fill-opacity .2s}.loadpath__target:hover,.loadpath__target:focus-visible{fill-opacity:.1;outline:none}.loadpath__ghost{fill:none;stroke:var(--accent);stroke-width:2px;stroke-dasharray:4 4;pointer-events:none}.loadpath__path{pointer-events:none}.loadpath__path [data-beam],.loadpath__path [data-column]{stroke:var(--accent);stroke-dasharray:1;stroke-linecap:round;transition:stroke-width .3s}.loadpath__footing-on{fill:var(--accent)}.loadpath__impact{fill:none;stroke:var(--accent);stroke-width:2px}.loadpath__load path,.loadpath__reaction path{fill:none;stroke:var(--ink);stroke-width:3px;stroke-linecap:square}.loadpath__load text,.loadpath__reaction text{text-anchor:middle}.loadpath__share text,.loadpath__load text{paint-order:stroke;stroke:var(--paper-2);stroke-width:4px}.loadpath__share text{fill:var(--accent)}.loadpath__hint{inset-inline-start:50%;background:var(--ink);color:var(--paper);pointer-events:none;white-space:nowrap;align-items:center;gap:.5rem;margin:0;padding:.45rem .85rem;font-size:.82rem;display:inline-flex;position:absolute;bottom:1rem;translate:50%}.loadpath__hint span{background:var(--accent);border-radius:50%;width:.5rem;height:.5rem;animation:1.4s ease-out infinite loadpath-pulse}@keyframes loadpath-pulse{0%{box-shadow:0 0 0 0 color-mix(in oklch, var(--accent) 70%, transparent)}to{box-shadow:0 0 0 .6rem #0000}}.loadpath__panel{gap:1.5rem;display:grid}.loadpath__label{color:var(--muted);justify-content:space-between;gap:1rem;font-size:.82rem;font-weight:600;display:flex}.loadpath__label output{color:var(--ink);font-weight:800}.loadpath__force{gap:.75rem;display:grid}.loadpath__force input{width:100%;accent-color:var(--accent);cursor:pointer}.loadpath__reactions{border:1px solid var(--line);background:var(--line);direction:ltr;grid-template-columns:1fr 1fr;gap:1px;min-height:8.5rem;display:grid}.loadpath__reaction-card{background:var(--paper);direction:rtl;align-content:start;gap:.5rem;padding:1rem;display:grid}.loadpath__reaction-card strong{font-size:clamp(1.8rem,3vw,2.4rem);font-weight:800;line-height:1}.loadpath__reaction-card small{color:var(--muted);font-size:.75rem;font-weight:500}.loadpath__bar{background:var(--line);height:4px}.loadpath__bar span{background:var(--accent);height:100%;transition:width .5s var(--ease-out);display:block}.loadpath__percent{color:var(--muted);font-size:.78rem}.loadpath__formula{border-inline-start:2px solid var(--accent);color:var(--ink-2);gap:.4rem;margin:0;padding-inline-start:.9rem;font-size:.85rem;line-height:1.9;display:grid}.loadpath__formula span{font:600 .85rem/1 var(--mono);color:var(--ink);justify-self:end}.loadpath__steps{border-top:1px solid var(--line);margin:0;padding:0;list-style:none;display:grid}.loadpath__steps li{border-bottom:1px solid var(--line);color:var(--muted);grid-template-columns:auto 1fr;gap:1rem;padding:.7rem 0;font-size:.9rem;transition:color .35s;display:grid}.loadpath__steps li span{font:500 .7rem/2 var(--mono)}.loadpath__steps li p{margin:0;line-height:1.9}.loadpath__steps li[data-active]{color:var(--ink)}.loadpath__steps li[data-active] span{color:var(--accent)}.loadpath__shuffle{justify-self:start}@media (width<=960px){.loadpath{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.loadpath__hint span{animation:none}}.contact-symbol{width:clamp(3.5rem,7vw,5rem);height:auto;overflow:visible}.contact-symbol__left{fill:var(--paper)}.contact-symbol__right{fill:var(--accent)}.contact-symbol__string{stroke:var(--paper);stroke-width:2px;stroke-dasharray:1;visibility:hidden}.contact-symbol__bob{fill:var(--accent);visibility:hidden}.projects-grid{margin:clamp(2.5rem, 6vh, 4rem) calc(var(--pad) * -1) 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));padding:0;list-style:none;display:grid}.projects-grid>li+li{border-inline-start:1px solid var(--line)}.projects-grid>li:nth-child(n+3){border-top:1px solid var(--line)}.projects-grid>li:nth-child(odd){border-inline-start:0}.projects-grid>li:last-child:nth-child(odd){grid-column:1/-1}.project-card{padding:1.25rem var(--pad) 1.75rem;gap:0;transition:background .35s;display:grid}.project-card:hover{background:var(--paper-2)}.project-card .drawing-topline{border:1px solid var(--line);border-bottom:0}.project-card__sheet{aspect-ratio:4/3;border:1px solid var(--line);background-color:var(--paper-2);background-image:linear-gradient(var(--line) 1px, transparent 1px), linear-gradient(90deg, var(--line) 1px, transparent 1px);background-position:50%;background-size:28px 28px;position:relative;overflow:hidden}.project-card__sheet>.plan-drawing,.project-card__sheet>.plan-upload{object-fit:contain;width:88%;height:88%;position:absolute;inset:6%}.project-card__ink{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.project-ink-defs{width:0;height:0;position:absolute;overflow:hidden}.project-card__body{grid-template-columns:1fr auto;align-items:center;gap:.35rem 1rem;padding-top:1.1rem;display:grid}.project-card__body h3{margin:0;font-size:clamp(1.2rem,2vw,1.5rem);font-weight:700}.project-card__meta{color:var(--ink-2);grid-column:1;margin:0;font-size:.9rem}.project-card .project-status{grid-column:1;font-size:.85rem}.project-card__arrow{transition:transform .4s var(--ease-out), color .3s ease;grid-area:1/2/span 3}.project-card:hover .project-card__arrow,.project-card:focus-visible .project-card__arrow{color:var(--accent);transform:translate(-6px)}.projects-all{margin-top:2rem}@media (width<=960px){.projects-grid{grid-template-columns:1fr}.projects-grid>li+li{border-inline-start:0;border-top:1px solid var(--line)}}.services-list,.audience-grid{margin:0 calc(var(--pad) * -1);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:0;list-style:none;display:grid}.services-list{grid-template-columns:repeat(3,minmax(0,1fr))}.service-card{padding:1.25rem var(--pad) 1.75rem;flex-direction:column;transition:background .35s;display:flex;position:relative}.service-card+.service-card{border-inline-start:1px solid var(--line)}.service-card:before{content:"";background:var(--accent);transform-origin:100%;height:3px;transition:transform .5s var(--ease-roll);position:absolute;inset:-1px 0 auto;transform:scaleX(0)}.service-card:hover{background:var(--paper-2)}.service-card:hover:before{transform:scaleX(1)}.service-card__head{font:500 .7rem/1 var(--mono);letter-spacing:.06em;color:var(--muted);justify-content:space-between;gap:1rem;display:flex}.service-card__head span:last-child{color:var(--accent)}.service-card__icon{border:1px solid var(--line-strong);width:3.5rem;height:3.5rem;color:var(--ink);place-items:center;margin:2.5rem 0 1.75rem;transition:background .35s,color .35s,border-color .35s;display:grid}.service-card:hover .service-card__icon{background:var(--ink);border-color:var(--ink);color:var(--paper)}.service-card h3{margin:0 0 .7rem;font-size:clamp(1.3rem,1.9vw,1.65rem);font-weight:800}.service-card>p{color:var(--ink-2);margin:0;font-size:.97rem;line-height:1.95}.service-card__tags{flex-wrap:wrap;gap:.4rem;margin:auto 0 0;padding:1.5rem 0 0;list-style:none;display:flex}.service-card__tags li{border:1px solid var(--line-strong);color:var(--ink-2);padding:.3rem .6rem;font-size:.76rem}.site-process{gap:clamp(2.5rem,7vh,4.5rem);display:grid}.process-stepper{--stepper-ink:var(--ink);--stepper-paper:var(--paper);--stepper-dim:color-mix(in oklch, var(--paper) 58%, transparent);--stepper-line:color-mix(in oklch, var(--paper) 16%, transparent);margin:0 calc(var(--pad) * -1);background:var(--stepper-ink);color:var(--stepper-paper)}.process-tabs{border-bottom:1px solid var(--stepper-line);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.process-tab{padding:1.1rem var(--pad) 1.3rem;color:var(--stepper-dim);font:inherit;text-align:start;cursor:pointer;background:0 0;border:0;gap:.7rem;transition:color .3s,background .3s;display:grid;position:relative}.process-tab+.process-tab{border-inline-start:1px solid var(--stepper-line)}.process-tab:hover,.process-tab[aria-selected=true]{color:var(--stepper-paper)}.process-tab[aria-selected=true]{background:color-mix(in oklch, var(--paper) 6%, transparent)}.process-tab:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.process-tab__meta{font:500 .68rem/1 var(--mono);letter-spacing:.06em;justify-content:space-between;gap:.5rem;display:flex}.process-tab[aria-selected=true] .process-tab__meta span:first-child,.process-tab[data-done] .process-tab__meta span:first-child{color:var(--accent)}.process-tab__title{font-size:clamp(1rem,1.5vw,1.2rem);font-weight:800}.process-tab__bar{background:var(--accent);transform-origin:100%;height:3px;transition:transform .5s var(--ease-roll);position:absolute;inset:auto 0 -1px;transform:scaleX(0)}.process-tab[data-done] .process-tab__bar,.process-tab[aria-selected=true] .process-tab__bar{transform:scaleX(1)}.process-stepper[data-autoplay] .process-tab[aria-selected=true] .process-tab__bar{transition:none;animation:6s linear both process-progress}@media (hover:hover){.process-stepper[data-autoplay]:hover .process-tab__bar{animation-play-state:paused}}@keyframes process-progress{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.process-stage{grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);display:grid}.process-detail{padding:clamp(1.75rem, 4vw, 3rem) var(--pad);flex-direction:column;display:flex}.process-detail__body{animation:process-in .6s var(--ease-out) both}@keyframes process-in{0%{opacity:0;transform:translateY(14px)}}.process-detail__number{color:var(--accent);margin-bottom:1rem;font-size:clamp(3.5rem,7vw,5.5rem);font-weight:800;line-height:1;display:block}.process-detail h3{margin:0 0 .9rem;font-size:clamp(1.5rem,2.4vw,2rem);font-weight:800}.process-detail__body>p{max-width:34rem;color:var(--stepper-dim);margin:0;font-size:1rem;line-height:2}.process-detail__body>.process-detail__label{color:var(--stepper-paper);margin:1.75rem 0 .75rem;font-size:.78rem;font-weight:600}.process-detail__outputs{flex-wrap:wrap;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.process-detail__outputs li{border:1px solid var(--stepper-line);align-items:center;gap:.4rem;padding:.4rem .7rem;font-size:.85rem;display:inline-flex}.process-detail__outputs svg{color:var(--accent)}.process-detail__nav{align-items:center;gap:1rem;margin-top:auto;padding-top:2rem;display:flex}.process-detail__count{font:500 .75rem/1 var(--mono);color:var(--stepper-dim)}.process-nav{border:1px solid var(--stepper-line);width:2.75rem;height:2.75rem;color:var(--stepper-paper);cursor:pointer;background:0 0;place-items:center;transition:background .3s,border-color .3s,color .3s;display:grid}.process-nav:hover:not(:disabled){background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.process-nav:disabled{opacity:.35;cursor:default}.process-sheet{border-inline-start:1px solid var(--stepper-line);background-image:linear-gradient(var(--stepper-line) 1px, transparent 1px), linear-gradient(90deg, var(--stepper-line) 1px, transparent 1px);background-position:50%;background-size:24px 24px;margin:0}.process-sheet .drawing-topline{border-bottom:1px solid var(--stepper-line);background:var(--stepper-ink);color:var(--stepper-dim)}.process-build{direction:ltr;width:100%;height:auto;display:block;overflow:visible}.process-build text{font:500 11px var(--mono);letter-spacing:.04em;fill:var(--stepper-dim);stroke:none}.process-build__ground,.process-build__hatch{stroke:var(--stepper-dim);stroke-width:1px}.process-build__axes line{stroke:var(--stepper-line);stroke-dasharray:10 4 2 4}.process-build__axes circle{fill:var(--stepper-ink);stroke:var(--stepper-dim)}.process-build [data-draw]{fill:var(--stepper-paper);stroke:var(--stepper-paper);stroke-width:1.5px;stroke-dasharray:1;stroke-linejoin:miter}.process-build .process-build__opening{fill:none;stroke:var(--stepper-dim);stroke-width:1px}.process-build .process-build__roof{fill:var(--accent);stroke:var(--accent)}.process-build__level line,.process-build__level path,.process-build__note path{fill:none;stroke:var(--stepper-dim);stroke-width:1px}.process-build__level path{fill:var(--stepper-dim);stroke:none}.process-build__leader{stroke-dasharray:3 3}.process-build__note text{fill:var(--accent)}.process-build__angle path{fill:none;stroke:var(--stepper-ink);stroke-width:1.25px}.process-build__angle text{fill:var(--stepper-ink);font-weight:700}@media (width<=960px){.process-tab{padding-inline:.75rem}.process-tab__meta span:last-child{display:none}.process-tab__title{font-size:.82rem;line-height:1.6}.process-stage{grid-template-columns:1fr}.process-sheet{border-inline-start:0;border-bottom:1px solid var(--stepper-line);order:-1}.process-detail__number{font-size:3rem}}@media (prefers-reduced-motion:reduce){.process-detail__body{animation:none}}.site-audience{gap:clamp(2.5rem,7vh,4.5rem);display:grid}.audience-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.audience-grid li{min-height:8.5rem;padding:1rem var(--pad) 1.25rem;border-inline-start:1px solid var(--line);border-bottom:1px solid var(--line);flex-direction:column;justify-content:space-between;gap:2rem;font-size:clamp(1.15rem,1.9vw,1.6rem);font-weight:800;transition:background .3s,color .3s;display:flex}.audience-grid li:nth-child(4n+1){border-inline-start:0}.audience-grid li:nth-last-child(-n+4){border-bottom:0}.audience-grid li span{font:500 .68rem/1 var(--mono);color:var(--muted);transition:color .3s}.audience-grid li:hover{background:var(--accent);color:var(--on-accent)}.audience-grid li:hover span{color:color-mix(in oklch, var(--brand-white) 75%, transparent)}.site-contact{color:var(--paper);overflow:clip}.contact-ink{z-index:0;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.contact-card{z-index:1;position:relative}.site-contact:before,.site-contact:after{color:var(--line-strong)}.contact-card{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);align-items:center;gap:clamp(2.5rem,6vw,6rem);display:grid}.contact-copy{gap:1.4rem;display:grid}.site-contact .section-kicker,.engineering-site .contact-copy>p{color:color-mix(in oklch, var(--paper) 70%, transparent)}.contact-actions{flex-wrap:wrap;gap:.6rem;margin-top:.75rem;display:flex}.site-contact .site-button--primary:before{background:var(--paper)}.site-contact .site-button--primary:hover{color:var(--ink)}.engineering-site .site-contact .site-button--ghost{border-color:color-mix(in oklch, var(--paper) 40%, transparent);color:var(--paper)}.site-contact .site-button--ghost:before{background:var(--paper)}.engineering-site .site-contact .site-button--ghost:hover{color:var(--ink);border-color:var(--paper)}.contact-details{border-top:1px solid color-mix(in oklch, var(--paper) 18%, transparent);margin:0;display:grid}.contact-details>div{border-bottom:1px solid color-mix(in oklch, var(--paper) 18%, transparent);padding:1.1rem 0}.contact-details dt{color:color-mix(in oklch, var(--paper) 58%, transparent);align-items:center;gap:.5rem;margin-bottom:.4rem;font-size:.78rem;display:flex}.contact-details dt svg{color:var(--accent)}.contact-details dd{margin:0;font-size:1.1rem;font-weight:600}.contact-details dd a{align-items:center;gap:.4rem;transition:color .2s;display:inline-flex}.contact-details dd a:hover{color:var(--accent)}.site-footer{border-top:1px solid var(--line);font-size:.88rem}.site-footer__grid{grid-template-columns:1.4fr repeat(3,minmax(0,1fr));display:grid}.site-footer__grid>*{padding:2rem var(--pad) 2.5rem;align-content:start;gap:.5rem;display:grid}.site-footer__grid>*+*{border-inline-start:1px solid var(--line)}.site-footer h2{color:var(--muted);margin:0 0 .6rem;font-size:.75rem;font-weight:500}.site-footer p{color:var(--ink-2);margin:0;line-height:1.9}.site-footer__intro p{max-width:18rem;color:var(--ink);font-size:1.05rem;font-weight:600}.site-footer__grid a{justify-self:start;font-weight:500;transition:color .2s}.site-footer__grid a:hover{color:var(--accent)}.plumb-scroll{display:none}@media (width>=961px){.plumb-scroll{--plumb-length:0px;top:calc(var(--bar-h) + 1.25rem);z-index:30;pointer-events:none;width:0;display:block;position:fixed;bottom:1.5rem;left:1.1rem}.plumb-scroll[data-empty]{display:none}.plumb-scroll__guide{border-left:1px dashed var(--line-strong);position:absolute;inset:0 auto 0 0}.plumb-scroll__pivot{background:var(--ink);width:8px;height:8px;position:absolute;top:-4px;left:-4px}.plumb-scroll__arm{transform-origin:0 0;width:0;position:absolute;inset:0 auto 0 0}.plumb-scroll__string{width:1px;height:var(--plumb-length);background:var(--ink);position:absolute;top:0;left:-.5px}.plumb-scroll__bob{top:var(--plumb-length);background:var(--accent);clip-path:polygon(50% 0,100% 34%,50% 100%,0 34%);width:14px;height:24px;position:absolute;left:-7px}.plumb-scroll__depth{top:calc(var(--plumb-length) + 4px);font:500 .62rem/1 var(--mono);color:var(--muted);white-space:nowrap;position:absolute;left:12px}.site-bar__progress{display:none}}.mobile-contact{display:none}@media (width<=960px){.mobile-contact{inset:auto .75rem calc(.75rem + env(safe-area-inset-bottom)) .75rem;z-index:40;border:1px solid var(--ink);background:var(--ink);box-shadow:0 10px 30px -12px color-mix(in oklch, var(--brand-ink) 45%, transparent);transition:transform .45s var(--ease-out);grid-template-columns:1fr 1fr;gap:1px;display:grid;position:fixed;transform:translateY(calc(100% + 1.5rem))}.mobile-contact[data-visible]{transform:none}.mobile-contact a{background:var(--paper);justify-content:center;align-items:center;gap:.5rem;min-height:3rem;font-size:.95rem;font-weight:600;display:flex}.mobile-contact a.mobile-contact__call{background:var(--accent);color:var(--on-accent)}}@media (width<=960px) and (prefers-reduced-motion:reduce){.mobile-contact{transition:none}}.footer-about{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1.6fr) minmax(12rem,1fr);display:grid}.footer-about__text{padding:clamp(2.5rem, 6vw, 5rem) var(--pad);align-content:start;gap:1rem;display:grid}.footer-about__label{font:500 .7rem/1.5 var(--mono);letter-spacing:.08em;color:var(--muted);justify-self:start}.site-footer .footer-about h2{color:var(--ink);text-wrap:balance;margin:0 0 .5rem;font-size:clamp(2rem,4.2vw,3.6rem);font-weight:800;line-height:1.25}.site-footer .footer-about__text p{max-width:38rem;font-size:1.02rem;line-height:2.05}.site-footer .footer-about__symbol{border-top:1px solid var(--line);color:var(--ink-2);align-items:center;gap:1rem;margin-top:.75rem;padding-top:1.25rem;font-size:.92rem;display:flex}.footer-about__figure{padding:2rem var(--pad) 1.5rem;border-inline-start:1px solid var(--line);background-image:linear-gradient(var(--line) 1px, transparent 1px), linear-gradient(90deg, var(--line) 1px, transparent 1px);background-position:50%;background-size:24px 24px;grid-template-rows:1fr auto;justify-items:center;gap:.75rem;margin:0;display:grid}.footer-about__plumb{cursor:grab;touch-action:pan-y;width:min(100%,13rem);height:auto;overflow:visible}.plumb-reference{stroke:var(--accent);stroke-width:1px;stroke-dasharray:4 5;vector-effect:non-scaling-stroke}.plumb-support line,.plumb-target line,.plumb-target circle{fill:none;stroke:var(--ink);stroke-width:1.5px;vector-effect:non-scaling-stroke}.plumb-string{stroke:var(--ink);stroke-width:1.5px;vector-effect:non-scaling-stroke}.plumb-bob{fill:var(--accent)}.plumb-pivot{fill:var(--ink)}.footer-about__figure figcaption{border:1px solid var(--line);background:var(--paper);color:var(--muted);align-items:baseline;gap:.75rem;padding:.35rem .75rem;font-size:.75rem;display:flex}.footer-about__angle{min-width:3.5em;color:var(--ink)}.footer-about__principles{border-top:1px solid var(--line);grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.footer-about__principles li{padding:1.75rem var(--pad) 2rem;align-content:start;gap:.4rem;display:grid}.footer-about__principles li+li{border-inline-start:1px solid var(--line)}.footer-about__principles span{font:500 .7rem/1.5 var(--mono);color:var(--accent);justify-self:start}.footer-about__principles h3{margin:0;font-size:1.15rem;font-weight:700}@media (width<=960px){.footer-about{grid-template-columns:1fr}.footer-about__figure{border-inline-start:0;border-top:1px solid var(--line)}.footer-about__plumb{width:min(60%,10rem)}.footer-about__principles{grid-template-columns:1fr}.footer-about__principles li+li{border-inline-start:0;border-top:1px solid var(--line)}}.site-footer__wordmark-mask{border-top:1px solid var(--line);overflow:hidden}.site-footer__wordmark{padding:clamp(.75rem, 2vw, 1.75rem) var(--pad);cursor:pointer;display:block}.engineering-site .site-footer__wordmark:focus-visible{outline-offset:-6px}.wordmark-svg{touch-action:pan-y;width:100%;height:auto;display:block;overflow:visible}.wordmark-construction{fill:none;stroke:var(--ink);stroke-width:1px;vector-effect:non-scaling-stroke}.wordmark-construction path{vector-effect:non-scaling-stroke}.wordmark-ink{fill:var(--ink)}.wordmark-halo{fill:var(--line)}.wordmark-carriage{visibility:hidden;pointer-events:none}.wordmark-carriage line{stroke:var(--accent);stroke-width:1px;vector-effect:non-scaling-stroke}.wordmark-carriage rect{fill:var(--accent)}.wordmark-cursor{opacity:0;pointer-events:none;transition:opacity .3s}.wordmark-cursor[data-visible]{opacity:1}.wordmark-cursor line{stroke:var(--accent);stroke-width:1px;vector-effect:non-scaling-stroke}.wordmark-cursor rect{fill:var(--accent)}.site-footer__bar{padding:1rem var(--pad);border-top:1px solid var(--line);font:500 .66rem/1.5 var(--mono);letter-spacing:.06em;color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:.5rem 2rem;display:flex}[data-home-content][data-intro-pending]{opacity:0;pointer-events:none}.landing-intro{z-index:100;background:var(--paper);color:var(--ink);will-change:opacity;flex-direction:column;justify-content:space-between;padding:1.5rem clamp(1.25rem,4vw,3.5rem);display:flex;position:fixed;inset:0}.intro-top,.intro-bottom{color:var(--ink-2);justify-content:space-between;align-items:center;gap:1.5rem;font-size:.8rem;display:flex}.intro-top>span:first-child{font:500 .7rem/1 var(--mono);letter-spacing:.06em}.intro-center{text-align:center;color:var(--ink);justify-items:center;display:grid}.intro-center .compact{width:min(320px,58vw);max-height:44dvh;margin:0 auto}.intro-center p{margin:1rem 0 1.25rem;font-size:clamp(1.2rem,3vw,1.7rem);font-weight:700}.intro-steps{color:var(--muted);gap:.3rem;margin:0;padding:0;font-size:.75rem;list-style:none;display:grid}.intro-steps span{font:500 .66rem/1 var(--mono);color:var(--accent);margin-inline-end:.6rem}.intro-track{background:var(--line);flex:1;max-width:42%;height:2px;overflow:hidden}.intro-track span{background:var(--accent);transform-origin:100%;width:100%;height:100%;display:block}.intro-bottom button{color:var(--ink);font:inherit;cursor:pointer;background:0 0;border:0;padding:.75rem 0}.intro-bottom button:hover{color:var(--accent)}@media (width>=1680px){.engineering-site{--gutter:calc((100vw - 1640px) / 2)}}@media (width<=1100px){.audience-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.audience-grid li:nth-child(odd){border-inline-start:0}.audience-grid li:nth-child(2n){border-inline-start:1px solid var(--line)}.audience-grid li:nth-last-child(-n+4){border-bottom:1px solid var(--line)}.audience-grid li:nth-last-child(-n+2){border-bottom:0}.site-footer__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.site-footer__grid>:nth-child(3){border-inline-start:0}.site-footer__grid>:nth-child(n+3){border-top:1px solid var(--line)}}@media (width<=960px){.site-bar__nav,.hero-chapter--story,.hero-strip,.model-callout{display:none}.site-bar__cta{margin-inline-start:auto}.site-menu__toggle{display:grid}.hero-body{grid-template-columns:1fr}.hero-copy{padding-top:clamp(2.5rem,6vh,3.5rem)}.hero-drawing{border-inline-start:0;border-top:1px solid var(--line)}.structural-viewport{height:clamp(340px,58svh,560px)}.services-list{grid-template-columns:1fr}.service-card+.service-card{border-inline-start:0;border-top:1px solid var(--line)}.service-card__icon{margin-top:1.5rem}.contact-card{grid-template-columns:1fr}}@media (width<=640px){.engineering-site{--gutter:0px;--pad:1.25rem}.site-main,.site-footer,.site-bar{border-inline:0}.site-bar__cta{padding-inline:1rem;font-size:.8rem}.site-bar__cta svg,.site-section:before,.site-section:after{display:none}.hero-specs>div{grid-template-columns:4rem auto 1fr}.hero-actions .site-button{flex:1;padding-inline:1rem}.drawing-coords,.drawing-hint,.model-annotation{display:none}.hero-stages{flex-wrap:wrap}.audience-grid{grid-template-columns:1fr}.audience-grid li,.audience-grid li:nth-child(2n){border-inline-start:0;flex-direction:row;justify-content:flex-start;align-items:baseline;gap:1rem;min-height:0}.audience-grid li:nth-last-child(-n+2){border-bottom:1px solid var(--line)}.audience-grid li:last-child{border-bottom:0}.contact-actions .site-button{flex:1}.site-footer__grid{grid-template-columns:1fr}.site-footer__grid>*+*{border-inline-start:0;border-top:1px solid var(--line)}.intro-top,.intro-bottom{flex-wrap:wrap;gap:.5rem 1rem}.intro-track{flex-basis:100%;order:3;max-width:none}}@media (prefers-reduced-motion:reduce){.landing-intro[data-intro-done]{display:none!important}.engineering-site *,.engineering-site :before,.engineering-site :after{transition:none!important;animation:none!important}}.ink-defs{width:0;height:0;position:absolute;overflow:hidden}.split-line-mask{margin-bottom:-.14em;padding-bottom:.14em}.site-bar__progress{background:var(--accent);transform-origin:100%;pointer-events:none;height:2px;position:absolute;inset:auto 0 -1px;transform:scaleX(0)}.engineering-site .site-bar>.site-bar__progress{border:0}.site-bar__nav a{position:relative}.site-bar__nav a[data-active]{color:var(--ink)}.site-bar__nav a:after{content:"";background:var(--accent);width:5px;height:5px;transition:transform .35s var(--ease-out);position:absolute;inset:auto 1.15rem .85rem auto;transform:scale(0)}.site-bar__nav a[data-active]:after{transform:scale(1)}.ink-reveal{--elev-paper:var(--paper);--elev-line:color-mix(in oklch, var(--ink) 70%, transparent);--elev-sky-top:#e6e2da;--elev-sky-bottom:#f4d6c2;--elev-sun:#fbb08a;--elev-block:#cdc6ba;--elev-window:#858c93;--elev-lit:#ffc983;--elev-stone:#e4dfd5;--elev-steel:#343434;--elev-ground:#2b2926;border-top:1px solid var(--line);height:clamp(220px,24vw,420px);position:relative;overflow:hidden}.ink-reveal__layer{width:100%;height:100%;position:absolute;inset:0}.ink-reveal__tag{top:.9rem;left:var(--pad);font:500 .66rem/1 var(--mono);letter-spacing:.06em;color:var(--ink-2);position:absolute}.engineering-site{--zone-living:color-mix(in srgb, var(--accent) 9%, transparent);--zone-private:color-mix(in srgb, var(--ink) 6%, transparent);--zone-service:color-mix(in srgb, var(--ink) 12%, transparent);--zone-circulation:color-mix(in srgb, var(--ink) 2.5%, transparent)}.site-bar__nav a[data-status=active]{color:var(--ink)}.site-bar__nav a[data-status=active]:after{transform:scale(1)}.section-head h1{text-wrap:balance;margin:0;font-size:clamp(2.4rem,5.6vw,5rem);font-weight:800;line-height:1.2}.page-wipe{z-index:120;padding:var(--pad);visibility:hidden;background:var(--accent);color:var(--on-accent);clip-path:inset(100% 0 0);pointer-events:none;place-content:center;justify-items:center;gap:1rem;display:grid;position:fixed;inset:0}.page-wipe__code{font:500 .78rem/1 var(--mono);letter-spacing:.12em}.page-wipe__title{text-align:center;text-wrap:balance;font-size:clamp(2rem,5vw,4.25rem);font-weight:800}.project-status{align-items:center;gap:.55rem;margin:0;font-weight:600;display:inline-flex}.project-status>span[aria-hidden]{background:var(--ink);flex:none;width:9px;height:9px}.project-status[data-state=in-progress]>span[aria-hidden]{background:var(--accent);animation:1.6s steps(2,jump-none) infinite hero-blink}.project-status[data-state=design]>span[aria-hidden]{border:1.5px solid var(--accent);background:0 0}.project-status small{border-inline-start:1px solid var(--line-strong);color:var(--ink-2);padding-inline-start:.75rem;font-size:.85rem;font-weight:500}.products-hero{padding-top:calc(var(--bar-h) + clamp(3.5rem, 12vh, 8rem));grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);align-items:end;gap:3rem;display:grid}.products-stats{border:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));margin:0;display:grid}.products-stats>div{gap:.4rem;padding:1.1rem 1.25rem 1.3rem;display:grid}.products-stats>div+div{border-inline-start:1px solid var(--line)}.products-stats dt{color:var(--muted);font-size:.78rem}.products-stats dd{margin:0;font-size:clamp(2rem,3.6vw,3rem);font-weight:800;line-height:1}.products-register{padding-top:clamp(2rem,6vh,3.5rem)}.register-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem 2rem;margin-bottom:1.75rem;display:flex}.register-title{flex-wrap:wrap;align-items:baseline;gap:.85rem;margin:0;font-size:1.15rem;font-weight:700;display:flex}.register-title>span,.register-title output{white-space:nowrap;font:500 .7rem/1 var(--mono);letter-spacing:.06em;color:var(--accent)}.register-title output{color:var(--muted);font-variant-numeric:tabular-nums}.register-filters{flex-wrap:wrap;gap:.75rem 1.5rem;display:flex}.register-filters>div{flex-wrap:wrap;gap:.35rem;display:flex}.filter-chip{isolation:isolate;border:1px solid var(--line-strong);min-height:2.25rem;color:var(--ink-2);font:inherit;cursor:pointer;transition:color .3s var(--ease-roll), border-color .3s var(--ease-roll);background:0 0;border-radius:0;padding:0 .9rem;font-size:.84rem;position:relative;overflow:hidden}.filter-chip:before{content:"";z-index:-1;background:var(--ink);transform-origin:bottom;transition:transform .4s var(--ease-roll);position:absolute;inset:0;transform:scaleY(0)}.filter-chip:hover{border-color:var(--ink);color:var(--ink)}.filter-chip[aria-pressed=true]{border-color:var(--ink);color:var(--paper)}.filter-chip[aria-pressed=true]:before{transform:scaleY(1)}.register{--register-cols:5.5rem minmax(0, 2.2fr) minmax(0, 1fr) minmax(0, 1fr) 4.5rem 9.5rem 2rem;border-top:1px solid var(--ink)}.register-head,.register-row{grid-template-columns:var(--register-cols);align-items:center;gap:1rem;padding-inline:1rem;display:grid}.register-head{border-bottom:1px solid var(--line);min-height:2.6rem;color:var(--muted);font-size:.74rem}.register-head>span[dir=ltr]{font:500 .68rem/1 var(--mono);letter-spacing:.06em}.register-rows{margin:0;padding:0;list-style:none}.register-rows>li{border-bottom:1px solid var(--line)}.register-row{min-height:6.25rem;color:var(--ink-2);font-size:.92rem;transition:background .35s,color .35s;position:relative}.register-row:before{content:"";background:var(--accent);transform-origin:top;width:3px;transition:transform .45s var(--ease-roll);position:absolute;inset-block:-1px;inset-inline-start:0;transform:scaleY(0)}.register-row:is(:hover,:focus-visible){background:var(--paper-2);color:var(--ink)}.register-row:is(:hover,:focus-visible):before{transform:scaleY(1)}.register-row__code{font:500 .74rem/1 var(--mono);letter-spacing:.06em;color:var(--accent)}.register-row__title{color:var(--ink);gap:.2rem;display:grid}.register-row__title .roll-label{font-size:clamp(1.25rem,2.2vw,1.85rem);font-weight:800}.register-row__title small{color:var(--muted);font-size:.78rem}.register-row__arrow{transition:transform .4s var(--ease-out);justify-self:end}.register-row:hover .register-row__arrow{transform:translate(-6px)}.register-row__thumb{display:none}.register-empty{color:var(--ink-2);margin:0;padding:2.5rem 1rem}.register-empty button{color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:0;font-weight:600}.register-preview{z-index:70;aspect-ratio:1120/900;visibility:hidden;opacity:0;border:1px solid var(--ink);background:linear-gradient(var(--line) 1px, transparent 1px) 0 0 / 100% 24px, linear-gradient(90deg, var(--line) 1px, transparent 1px) 0 0 / 24px 100%;background-color:var(--paper-2);width:clamp(240px,24vw,360px);box-shadow:0 24px 60px -30px color-mix(in oklch, var(--ink) 45%, transparent);pointer-events:none;position:fixed;top:0;left:0}.register-preview__sheet{opacity:0;flex-direction:column;padding:.35rem .6rem .6rem;display:flex;position:absolute;inset:0}.register-preview__sheet[data-active]{opacity:1}.register-preview__sheet .plan-drawing{flex:1;min-height:0}.engineering-site .plan-drawing{--plan-bg:var(--paper-2);width:100%;height:auto;display:block;overflow:visible}.engineering-site .plan-layer{transition:opacity .45s var(--ease-out)}.engineering-site .plan-layer[data-off]{opacity:.05}.engineering-site .plan-axis{fill:none;stroke:var(--accent);stroke-width:1px;opacity:.55}.engineering-site .plan-column{fill:var(--ink)}.engineering-site .plan-room{stroke:var(--ink);stroke-width:2.5px}.engineering-site .plan-room--living{fill:var(--zone-living)}.engineering-site .plan-room--private{fill:var(--zone-private)}.engineering-site .plan-room--service{fill:var(--zone-service)}.engineering-site .plan-room--circulation{fill:var(--zone-circulation)}.engineering-site .plan-shell{fill:none;stroke:var(--ink);stroke-width:7px}.engineering-site .plan-gap{fill:none;stroke:var(--plan-bg);stroke-width:12px}.engineering-site .plan-window{fill:none;stroke:var(--ink);stroke-width:1.2px}.engineering-site .plan-door{fill:none;stroke:var(--ink);stroke-width:2px}.engineering-site .plan-door-swing{fill:none;stroke:var(--ink-2);stroke-width:1px}.engineering-site .plan-furniture{fill:none;stroke:var(--muted);stroke-width:1.25px;stroke-linejoin:round}.engineering-site .plan-label text{text-anchor:middle;paint-order:stroke;stroke:var(--plan-bg);stroke-width:5px;stroke-linejoin:round}.engineering-site .plan-label__name{fill:var(--ink);font-family:Arad,sans-serif;font-size:17px;font-weight:700}.engineering-site .plan-label__area{font:500 12px var(--mono);fill:var(--accent)}.engineering-site .plan-dim{fill:none;stroke:var(--ink-2);stroke-width:1px}.engineering-site .plan-dim__text{font:500 13px var(--mono);fill:var(--ink-2);text-anchor:middle}.engineering-site .plan-bubble circle{fill:var(--paper);stroke:var(--ink);stroke-width:1px}.engineering-site .plan-bubble text{font:500 12px var(--mono);fill:var(--ink);text-anchor:middle}.engineering-site .plan-drawing--render .plan-room{stroke-width:3px}.engineering-site .plan-drawing--render .plan-room--living{fill:color-mix(in srgb, var(--accent) 22%, var(--paper))}.engineering-site .plan-drawing--render .plan-room--private{fill:var(--panel)}.engineering-site .plan-drawing--render .plan-room--service{fill:var(--line)}.engineering-site .plan-drawing--render .plan-room--circulation{fill:var(--paper)}.engineering-site .plan-drawing--render .plan-shell{stroke-width:11px}.engineering-site .plan-drawing--render .plan-axis{opacity:.25}.engineering-site .plan-drawing--render .plan-furniture{stroke:var(--ink-2)}.project-hero{padding-top:calc(var(--bar-h) + clamp(1.5rem, 5vh, 3rem))}.project-crumbs{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:clamp(2.5rem,8vh,5rem);font-size:.86rem;display:flex}.project-crumbs a{color:var(--ink-2);align-items:center;gap:.45rem;transition:color .25s;display:inline-flex}.project-crumbs a:hover{color:var(--accent)}.project-crumbs>span{font:500 .7rem/1 var(--mono);letter-spacing:.06em;color:var(--muted)}.project-hero__grid{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);align-items:end;gap:clamp(2rem,5vw,5rem);display:grid}.project-hero__copy{gap:1.4rem;display:grid}.project-hero__copy h1{text-wrap:balance;margin:0;font-size:clamp(2.6rem,6.4vw,5.75rem);font-weight:800;line-height:1.15}.project-hero__summary{max-width:34rem;color:var(--ink-2);margin:0;font-size:1.08rem;line-height:2}.title-block{border-top:1px solid var(--ink);border-inline-start:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));margin:0;display:grid}.title-block>div{border-bottom:1px solid var(--line);border-inline-end:1px solid var(--line);gap:.3rem;padding:.85rem 1rem .95rem;display:grid}.title-block dt{color:var(--muted);font-size:.74rem}.title-block dd{margin:0;font-weight:700}.title-block dd[dir=ltr]{font:600 .86rem/1.5 var(--mono);letter-spacing:.04em;color:var(--accent);text-align:right}.project-cover{padding:1rem var(--pad) 1.25rem;border:1px solid var(--line);background:linear-gradient(var(--line) 1px, transparent 1px) 0 0 / 100% 48px, linear-gradient(90deg, var(--line) 1px, transparent 1px) 0 0 / 48px 100%;background-color:var(--paper-2);margin:clamp(2.5rem,7vh,4.5rem) 0 0;position:relative}.project-cover__stage{aspect-ratio:1120/820;max-width:68rem;margin-inline:auto;position:relative}.project-cover__layer{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.project-cover__layer .plan-gap{stroke:var(--paper-2)}.project-brief{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);align-items:start;gap:clamp(2rem,6vw,6rem);display:grid}.project-brief__copy{gap:1.5rem;max-width:44rem;display:grid}.project-brief__copy h2{margin:0;font-size:clamp(2rem,4vw,3.4rem);font-weight:800;line-height:1.25}.project-brief__copy>p:not(.section-kicker){color:var(--ink-2);margin:0;font-size:1.05rem;line-height:2.1}.project-facts{top:calc(var(--bar-h) + 2rem);position:sticky}.project-facts dl{border-top:1px solid var(--ink);margin:0}.project-facts dl>div{border-bottom:1px solid var(--line);grid-template-columns:8rem 1fr;gap:1rem;padding:1rem 0;display:grid}.project-facts dt{color:var(--muted);font-size:.82rem}.project-facts dd{margin:0;font-weight:700}.project-plan,.project-roadmap{padding:0}.plan-pin{min-height:100dvh;padding:calc(var(--bar-h) + 2rem) var(--pad) 2rem;background-color:var(--paper);grid-template-columns:minmax(0,.8fr) minmax(0,1.5fr);align-items:center;gap:clamp(1.5rem,4vw,4rem);display:grid}.plan-side{gap:2.25rem;display:grid}.plan-side h2{font-size:clamp(2rem,3.6vw,3.2rem)}.plan-steps{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.plan-steps li{border-bottom:1px solid var(--line);position:relative}.plan-steps li:before{content:"";background:var(--accent);transform-origin:top;width:3px;transition:transform .4s var(--ease-roll);position:absolute;inset-block:-1px;inset-inline-start:0;transform:scaleY(0)}.plan-steps li[data-active]:before{transform:scaleY(1)}.plan-steps button{width:100%;min-height:3.25rem;color:var(--ink-2);font:inherit;text-align:start;cursor:pointer;background:0 0;border:0;grid-template-columns:3.75rem 1fr auto;align-items:center;gap:.75rem;padding:0 1rem;font-size:.95rem;transition:background .3s,color .3s;display:grid}.plan-steps button:hover{background:var(--paper-2)}.plan-steps li:is([data-active],[data-drawn]) button{color:var(--ink)}.plan-steps li[data-active] .plan-steps__label{font-weight:700}.plan-steps__code{font:500 .68rem/1 var(--mono);letter-spacing:.06em;color:var(--muted)}.plan-steps li:is([data-active],[data-drawn]) .plan-steps__code{color:var(--accent)}.plan-steps button[aria-pressed=false] .plan-steps__label{color:var(--muted);text-decoration:line-through}.plan-steps__switch{border:1px solid var(--ink);width:2rem;height:1rem;position:relative}.plan-steps__switch:after{content:"";background:var(--ink);width:calc(50% - 2px);transition:inset-inline-start .35s var(--ease-roll), background .35s ease;position:absolute;inset-block:2px;inset-inline-start:2px}.plan-steps button[aria-pressed=false] .plan-steps__switch:after{background:var(--line-strong);inset-inline-start:50%}.plan-sheet{border:1px solid var(--line);background:linear-gradient(var(--line) 1px, transparent 1px) 0 0 / 100% 40px, linear-gradient(90deg, var(--line) 1px, transparent 1px) 0 0 / 40px 100%;background-color:var(--paper-2);flex-direction:column;min-width:0;margin:0;padding:.85rem 1.25rem 1rem;display:flex;position:relative}.plan-sheet .plan-drawing{max-height:calc(100dvh - var(--bar-h) - 9rem);margin-inline:auto}.plan-legend{color:var(--ink-2);flex-wrap:wrap;gap:.4rem 1.25rem;padding:.75rem .6rem 0;font-size:.78rem;display:flex}.plan-legend span{align-items:center;gap:.45rem;display:inline-flex}.plan-legend span:before{content:"";border:1px solid var(--ink);width:.85rem;height:.85rem}.plan-legend [data-zone=living]:before{background:var(--zone-living)}.plan-legend [data-zone=private]:before{background:var(--zone-private)}.plan-legend [data-zone=service]:before{background:var(--zone-service)}.plan-legend [data-zone=circulation]:before{background:var(--zone-circulation)}.roadmap-pin{min-height:100dvh;padding:calc(var(--bar-h) + 2.5rem) var(--pad) 2.5rem;background-color:var(--paper);flex-direction:column;justify-content:center;gap:2.25rem;display:flex;overflow:clip}.roadmap-head{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:1.5rem 3rem;display:flex}.roadmap-head h2{font-size:clamp(2rem,3.6vw,3.2rem)}.roadmap-summary{border:1px solid var(--line);margin:0;display:flex}.roadmap-summary>div{gap:.3rem;padding:.85rem 1.25rem;display:grid}.roadmap-summary>div+div{border-inline-start:1px solid var(--line)}.roadmap-summary dt{color:var(--muted);font-size:.75rem}.roadmap-summary dd{margin:0;font-weight:800}.roadmap-rail{background:var(--line);height:2px;position:relative}.roadmap-rail__fill{background:var(--accent);transform-origin:100%;position:absolute;inset:0;transform:scaleX(0)}.project-roadmap:not([data-animated]) .roadmap-rail{display:none}.roadmap-viewport{position:relative}.roadmap-spine{display:none}.roadmap-track{will-change:transform;width:max-content;margin:0;padding:0;list-style:none;display:flex}.phase-card{--node:var(--paper);border-top:1px solid var(--ink);border-inline-start:1px solid var(--line);flex-direction:column;gap:.85rem;width:clamp(17rem,25vw,23rem);min-height:clamp(22rem,52dvh,28rem);padding:2.25rem 1.5rem 1.5rem;transition:background .4s;display:flex;position:relative}.phase-card:last-child{border-inline-end:1px solid var(--line)}.phase-card[data-state=current]{background:var(--paper-2)}.phase-card__node{top:-7px;border:1.5px solid var(--ink);background:var(--paper);place-items:center;width:13px;height:13px;display:grid;position:absolute;inset-inline-start:1.5rem}.phase-card[data-state=done] .phase-card__node{background:var(--ink)}.phase-card[data-state=current] .phase-card__node{border-color:var(--accent);background:var(--accent)}.phase-card[data-state=current] .phase-card__node span{border:1px solid var(--accent);animation:1.8s ease-out infinite callout-pulse;position:absolute;inset:-6px}.phase-card__head{font:500 .7rem/1 var(--mono);letter-spacing:.06em;color:var(--muted);justify-content:space-between;display:flex}.phase-card__head span:first-child{color:var(--accent)}.phase-card__status{color:var(--ink-2);align-items:center;gap:.45rem;margin:0;font-size:.78rem;font-weight:600;display:inline-flex}.phase-card__status span{background:var(--ink);width:7px;height:7px}.phase-card[data-state=current] .phase-card__status{color:var(--accent)}.phase-card[data-state=current] .phase-card__status span{background:var(--accent)}.phase-card[data-state=upcoming] .phase-card__status span{border:1px solid var(--ink-2);background:0 0}.phase-card h3{margin:0;font-size:clamp(1.25rem,1.8vw,1.55rem);font-weight:800}.phase-card__body{color:var(--ink-2);margin:0;font-size:.92rem;line-height:1.95}.phase-card__deliverables{border-top:1px dashed var(--line-strong);gap:.5rem;margin:auto 0 0;padding:1rem 0 0;font-size:.84rem;list-style:none;display:grid}.phase-card__deliverables li{align-items:center;gap:.6rem;display:flex}.phase-card__tick{border:1px solid var(--line-strong);width:1rem;height:1rem;transition:transform .45s var(--ease-out), background .3s ease;transition-delay:calc(var(--i,0) * 90ms + .15s);flex:none;place-items:center;display:grid}.phase-card[data-state=done] .phase-card__tick{border-color:var(--ink);background:var(--ink);color:var(--paper)}.phase-card[data-state=current] .phase-card__tick{border-color:var(--accent)}.phase-card__index{bottom:.75rem;font:300 clamp(2rem, 3vw, 2.75rem)/1 var(--mono);color:var(--line-strong);pointer-events:none;position:absolute;inset-inline-end:1rem}.project-roadmap[data-animated] .phase-card>:not(.phase-card__node){transition:opacity .6s var(--ease-out), transform .6s var(--ease-out)}.project-roadmap[data-animated] .phase-card:not([data-reached])>:is(h3,p,ul){opacity:.25;transform:translateY(10px)}.project-roadmap[data-animated] .phase-card:not([data-reached]) .phase-card__tick{transform:scale(0)}.project-roadmap[data-animated] .phase-card__node{transition:transform .45s var(--ease-out)}.project-roadmap[data-animated] .phase-card:not([data-reached]) .phase-card__node{transform:scale(.4)}.project-gallery{gap:clamp(2rem,6vh,3.5rem);display:grid}.plan-compare{margin:0}.plan-compare__stage{aspect-ratio:1120/820;border:1px solid var(--line);background:linear-gradient(var(--line) 1px, transparent 1px) 0 0 / 100% 48px, linear-gradient(90deg, var(--line) 1px, transparent 1px) 0 0 / 48px 100%;background-color:var(--paper-2);max-width:min(100%,92.8781dvh);margin-inline:auto;position:relative;overflow:hidden}.plan-compare__stage .plan-drawing{width:92%;height:92%;position:absolute;inset:4%}.plan-compare__top{background:var(--paper);clip-path:inset(0 calc(100% - var(--split)) 0 0);position:absolute;inset:0}.plan-compare__top .plan-drawing{--plan-bg:var(--paper)}.plan-compare__handle{inset-block:0;left:var(--split);background:var(--accent);pointer-events:none;width:1px;position:absolute}.plan-compare__handle span{border:1px solid var(--accent);background:var(--paper);width:2.75rem;height:2.75rem;position:absolute;top:50%;left:50%;translate:-50% -50%}.plan-compare__handle span:before,.plan-compare__handle span:after{content:"";border-block:5px solid #0000;width:0;height:0;position:absolute;top:50%;translate:0 -50%}.plan-compare__handle span:before{border-right:6px solid var(--accent);left:.6rem}.plan-compare__handle span:after{border-left:6px solid var(--accent);right:.6rem}.plan-compare__tag{font:500 .66rem/1 var(--mono);letter-spacing:.06em;color:var(--ink-2);pointer-events:none;position:absolute;top:.85rem}.plan-compare__tag--start{left:.85rem}.plan-compare__tag--end{right:.85rem}.plan-compare__range{opacity:0;cursor:ew-resize;touch-action:pan-y;width:100%;height:100%;margin:0;position:absolute;inset:0}.plan-compare__stage:has(.plan-compare__range:focus-visible){outline:2px solid var(--accent);outline-offset:3px}.plan-compare figcaption{color:var(--muted);padding-top:.75rem;font-size:.82rem}.gallery-head{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:1.5rem 3rem;display:flex}.gallery-count{font:300 clamp(2.5rem, 5vw, 4.5rem)/1 var(--mono);color:var(--ink);font-variant-numeric:tabular-nums;align-items:baseline;gap:.5rem;margin:0;display:flex}.gallery-count span{letter-spacing:.08em;color:var(--muted);font-size:.7rem;font-weight:500}.gallery-filters{flex-wrap:wrap;gap:.35rem;display:flex}.filter-chip__count{font:500 .62rem/1 var(--mono);opacity:.55;margin-inline-start:.5rem}.project-gallery{container-type:inline-size}.gallery-grid{--gallery-gap:clamp(.5rem, 1.1vw, 1rem);grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-flow:dense;grid-auto-rows:calc(((100cqi - 11 * var(--gallery-gap)) / 12 * 4 + 3 * var(--gallery-gap)) * 1.25);gap:var(--gallery-gap);margin:0;padding:0;list-style:none;display:grid}.gallery-tile{border:1px solid var(--line);background:var(--paper-2);position:relative;overflow:hidden}.gallery-tile[data-shape=wide]{grid-column:span 12}.gallery-tile[data-shape=landscape]{grid-column:span 8}.gallery-tile[data-shape=portrait]{grid-column:span 4}.gallery-tile__button{width:100%;color:var(--paper);font:inherit;text-align:start;cursor:zoom-in;background:0 0;border:0;padding:0;display:block;position:absolute;inset:0}.engineering-site .gallery-tile__button:focus-visible{outline-offset:-4px}.gallery-media{transition:transform 1.1s var(--ease-out);place-items:center;display:grid;position:absolute;inset:0;overflow:hidden}.gallery-media img{object-fit:cover;opacity:0;width:100%;height:100%;transition:opacity .7s}.gallery-media[data-loaded] img{opacity:1}.gallery-media:is([data-kind=photo],[data-kind=pending]){background:repeating-linear-gradient(-45deg, transparent 0 11px, var(--line) 11px 12px) var(--paper-2)}.gallery-media[data-kind=drawing]{background:linear-gradient(var(--line) 1px, transparent 1px) 0 0 / 100% 32px, linear-gradient(90deg, var(--line) 1px, transparent 1px) 0 0 / 32px 100%;background-color:var(--paper-2);padding:5%}.gallery-media[data-kind=drawing] .plan-drawing{width:100%;height:100%}.gallery-media__pending{border:1px solid var(--line-strong);background:var(--paper);font:500 .64rem/1 var(--mono);letter-spacing:.06em;color:var(--ink-2);align-items:center;gap:.5rem;padding:.45rem .7rem;display:inline-flex}.gallery-tile__shade{background:linear-gradient(to top, color-mix(in oklch, var(--ink) 78%, transparent), color-mix(in oklch, var(--ink) 0%, transparent) 55%);opacity:0;transition:opacity .5s;position:absolute;inset:0}.gallery-tile__top{font:500 .66rem/1 var(--mono);letter-spacing:.06em;color:var(--ink-2);justify-content:space-between;align-items:center;display:flex;position:absolute;inset:.85rem .85rem auto}.gallery-tile__top>span:first-child{background:var(--paper);padding:.3rem .45rem}.gallery-tile__open{background:var(--ink);width:2rem;height:2rem;color:var(--paper);opacity:0;transition:opacity .35s ease, transform .5s var(--ease-out);place-items:center;display:grid;transform:scale(.6)}.gallery-tile__caption{opacity:0;transition:opacity .45s ease, transform .6s var(--ease-out);gap:.25rem;padding:1rem 1.1rem 1.1rem;font-size:clamp(.92rem,1.3vw,1.08rem);font-weight:700;display:grid;position:absolute;inset:auto 0 0;transform:translateY(12px)}.gallery-tile__meta{color:color-mix(in oklch, var(--paper) 72%, transparent);font-size:.74rem;font-weight:500}.gallery-tile__meta span[dir=ltr]{font:500 .68rem/1 var(--mono)}.gallery-tile__button:is(:hover,:focus-visible) .gallery-media{transform:scale(1.045)}.gallery-tile__button:is(:hover,:focus-visible) .gallery-tile__shade,.gallery-tile__button:is(:hover,:focus-visible) .gallery-tile__caption,.gallery-tile__button:is(:hover,:focus-visible) .gallery-tile__open{opacity:1;transform:none}@media (hover:none),(pointer:coarse){.gallery-tile__shade,.gallery-tile__caption{opacity:1;transform:none}}.project-next{border-top:1px solid var(--line)}.project-next__link{isolation:isolate;padding:clamp(3.5rem, 12vh, 7rem) var(--pad);transition:color .5s var(--ease-roll);grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:1rem 2rem;display:grid;position:relative;overflow:hidden}.project-next__link:before{content:"";z-index:-1;background:var(--ink);transform-origin:bottom;transition:transform .7s var(--ease-roll);position:absolute;inset:0;transform:scaleY(0)}.project-next__link:is(:hover,:focus-visible){color:var(--paper)}.project-next__link:is(:hover,:focus-visible):before{transform:scaleY(1)}.project-next__kicker{color:inherit;opacity:.7;grid-column:1/-1;align-items:center;gap:.75rem;font-size:.86rem;display:flex}.project-next__kicker span{font:500 .7rem/1 var(--mono);letter-spacing:.06em;color:var(--accent)}.project-next__title{text-wrap:balance;font-size:clamp(2.4rem,7vw,6.25rem);font-weight:800;line-height:1.1}.project-next__meta{opacity:.7;grid-column:1;font-size:.95rem}.project-next__plan{top:50%;z-index:-1;opacity:.18;width:min(34vw,30rem);transition:opacity .6s ease, translate .8s var(--ease-out);position:absolute;inset-inline-end:calc(var(--pad) + 4rem);translate:0 -50%}.project-next__link:hover .project-next__plan{opacity:.4;translate:-1.5rem -50%}.project-next__arrow{transition:transform .5s var(--ease-out);grid-area:2/2/span 2;align-self:center}.project-next__link:hover .project-next__arrow{transform:translate(-12px)}.chapter-index{top:50%;z-index:60;position:fixed;inset-inline-end:calc(var(--gutter) + .75rem);translate:0 -50%}.chapter-index ol{gap:.15rem;margin:0;padding:0;list-style:none;display:grid}.chapter-index a{font:500 .66rem/1 var(--mono);letter-spacing:.06em;color:var(--muted);flex-direction:row-reverse;align-items:center;gap:.55rem;padding:.3rem .4rem;transition:color .25s;display:flex}.chapter-index a:after{content:"";width:.9rem;height:1px;transition:width .35s var(--ease-out), background .25s ease;background:currentColor}.chapter-index__label{background:var(--paper);letter-spacing:0;opacity:0;transition:opacity .3s ease, translate .35s var(--ease-out);padding:.25rem .45rem;font-family:Arad,sans-serif;font-size:.78rem;translate:-6px}.chapter-index a:hover,.chapter-index a[data-active]{color:var(--ink)}.chapter-index a[data-active]:after{background:var(--accent);width:1.75rem}.chapter-index a:is(:hover,:focus-visible) .chapter-index__label,.chapter-index a[data-active] .chapter-index__label{opacity:1;translate:0}@media (width<=1100px){.register{--register-cols:4.5rem minmax(0, 2fr) minmax(0, 1fr) 4rem 8.5rem 1.5rem}.register-head>:nth-child(4),.register-row>:nth-child(4){display:none}.phase-card{width:clamp(16rem,34vw,21rem)}}@media (width<=1280px){.chapter-index__label{display:none}}@media (width<=960px){.chapter-index{display:none}.products-hero,.project-hero__grid,.project-brief,.plan-pin{grid-template-columns:1fr}.project-facts{position:static}.plan-pin,.roadmap-pin{min-height:0;padding-block:clamp(4rem,10vh,6rem)}.plan-sheet .plan-drawing{max-height:none}.roadmap-rail{display:none}.roadmap-spine{background:var(--accent);transform-origin:top;width:2px;display:block;position:absolute;inset-block:0;inset-inline-start:6px}.project-roadmap:not([data-animated]) .roadmap-spine{background:var(--line-strong)}.roadmap-track{flex-direction:column;gap:1.25rem;width:auto;transform:none!important}.phase-card{border:1px solid var(--line);width:auto;min-height:0;margin-inline-start:2rem;padding:1.25rem 1.25rem 1.5rem}.phase-card:last-child{border-inline-end:1px solid var(--line)}.phase-card__node{top:1.5rem;inset-inline-start:-2rem}.project-next__plan{display:none}}@media (width<=640px){.products-stats dd{font-size:1.85rem}.register-head{display:none}.register-row{grid-template-columns:5.5rem minmax(0,1fr);grid-template-areas:"thumb code""thumb title""thumb status";align-items:start;gap:.35rem 1rem;padding-block:1rem}.register-row>:is(:nth-child(3),:nth-child(4),:nth-child(5)),.register-row__arrow{display:none}.register-row__code{grid-area:code}.register-row__title{grid-area:title}.register-row__title .roll-label__inner{white-space:normal}.register-row .project-status{grid-area:status;font-size:.8rem}.register-row__thumb{aspect-ratio:1;border:1px solid var(--line);background-color:var(--paper-2);grid-area:thumb;padding:.25rem;display:block}.title-block{grid-template-columns:1fr}.project-facts dl>div{grid-template-columns:7rem 1fr}.gallery-grid{grid-template-columns:1fr;grid-auto-rows:auto}.gallery-tile[data-shape]{grid-column:auto}.gallery-tile[data-shape=wide]{aspect-ratio:16/9}.gallery-tile[data-shape=landscape]{aspect-ratio:4/3}.gallery-tile[data-shape=portrait]{aspect-ratio:4/5}.project-next__link{grid-template-columns:1fr}.project-next__arrow{display:none}}@media (hover:none),(pointer:coarse){.register-preview{display:none}}.lightbox{--backdrop:1;--lb-line:color-mix(in oklch, var(--paper) 14%, transparent);--lb-muted:color-mix(in oklch, var(--paper) 58%, transparent);z-index:110;color:var(--paper);grid-template-rows:auto minmax(0,1fr) auto;display:grid;position:fixed;inset:0}.lightbox__backdrop{background:color-mix(in srgb, var(--ink) calc(var(--backdrop) * 97%), transparent);-webkit-backdrop-filter:blur(calc(var(--backdrop) * 10px));cursor:default;border:0;padding:0;position:absolute;inset:0}.lightbox>:not(.lightbox__backdrop){position:relative}.lightbox__bar{height:var(--bar-h);padding-inline:var(--pad) 0;border-bottom:1px solid var(--lb-line);align-items:center;gap:1rem;display:flex}.lightbox__counter{font:500 .75rem/1 var(--mono);letter-spacing:.08em;font-variant-numeric:tabular-nums}.lightbox__progress{background:var(--lb-line);flex:none;width:clamp(3rem,8vw,7rem);height:1px;position:relative}.lightbox__progress span{background:var(--accent);transform-origin:100%;transition:transform .6s var(--ease-out);position:absolute;inset:0}.lightbox__project{min-width:0;color:var(--lb-muted);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:.86rem;overflow:hidden}.lightbox__project span{font:500 .7rem/1 var(--mono);color:var(--accent)}.lightbox__close{border:0;border-inline-start:1px solid var(--lb-line);height:100%;color:inherit;cursor:pointer;background:0 0;align-items:center;gap:.6rem;padding-inline:1.25rem;transition:background .3s;display:flex}.lightbox__close:hover{background:var(--accent)}.lightbox__close kbd{font:500 .6rem/1 var(--mono);letter-spacing:.08em;color:var(--lb-muted)}.lightbox__stage{min-height:0;padding:clamp(.75rem, 2.5vh, 1.75rem) var(--gutter);pointer-events:none;grid-template-columns:4.5rem minmax(0,1fr) 4.5rem;align-items:center;display:grid}.lightbox__stage>*{pointer-events:auto}.lightbox__nav{border:1px solid var(--lb-line);width:3.25rem;height:3.25rem;color:inherit;cursor:pointer;background:0 0;justify-self:center;place-items:center;transition:background .3s,color .3s,border-color .3s;display:grid}.lightbox__nav:hover{border-color:var(--paper);background:var(--paper);color:var(--ink)}.lightbox__nav:disabled{visibility:hidden}.lightbox__viewport{touch-action:none;-webkit-user-select:none;user-select:none;place-items:center;height:100%;min-height:0;display:grid}.lightbox__viewport[data-zoomable]{cursor:zoom-in}.lightbox__viewport[data-zoomed]{cursor:zoom-out}.lightbox__frame{--ratio:1.5;--avail:calc(100dvh - var(--bar-h) - 13rem);width:min(100%, calc(var(--avail) * var(--ratio)));aspect-ratio:var(--ratio);will-change:transform;position:relative;overflow:hidden}.lightbox__frame[data-shape=wide]{--ratio:2}.lightbox__frame[data-shape=portrait]{--ratio:.8}.lightbox__zoom{transform-origin:var(--zx,50%) var(--zy,50%);transition:transform .6s var(--ease-out);position:absolute;inset:0}.lightbox__viewport[data-zoomed] .lightbox__zoom{transform:scale(2.2)}.lightbox .gallery-media img{object-fit:contain}.lightbox .gallery-media:is([data-kind=photo],[data-kind=pending]){background:repeating-linear-gradient(-45deg, transparent 0 11px, var(--lb-line) 11px 12px) color-mix(in srgb, var(--paper) 6%, var(--ink))}.lightbox .gallery-media__pending{border-color:var(--lb-line);background:var(--ink);color:var(--lb-muted)}.lightbox__frame[data-kind=photo] .gallery-media{background:0 0}.lightbox__foot{padding:1rem var(--pad) 1.25rem;border-top:1px solid var(--lb-line);grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:1rem 2rem;display:grid}.lightbox__caption{gap:.35rem;min-width:0;display:grid}.lightbox__caption p{margin:0}.lightbox__meta{color:var(--lb-muted);flex-wrap:wrap;gap:.25rem 1rem;font-size:.78rem;display:flex}.lightbox__meta span[dir=ltr]{font:500 .68rem/1 var(--mono);color:var(--accent)}.lightbox__title{font-size:clamp(1.05rem,1.8vw,1.4rem);font-weight:800}.lightbox__hint{color:var(--lb-muted);font-size:.72rem}.lightbox__strip{scrollbar-width:none;gap:.4rem;max-width:min(46vw,40rem);margin:0;padding:.2rem;list-style:none;display:flex;overflow-x:auto}.lightbox__strip::-webkit-scrollbar{display:none}.lightbox__strip li{flex:none}.lightbox__strip button{aspect-ratio:4/3;border:1px solid var(--lb-line);opacity:.45;cursor:pointer;background:0 0;width:4.25rem;padding:0;transition:opacity .3s,border-color .3s;display:block;position:relative;overflow:hidden}.lightbox__strip button:hover{opacity:.85}.lightbox__strip button[aria-current=true]{border-color:var(--accent);opacity:1}.lightbox__strip .gallery-media[data-kind=drawing]{background-size:100% 8px,8px 100%;padding:8%}@media (width<=760px){.lightbox__stage{grid-template-columns:minmax(0,1fr);padding-inline:.75rem}.lightbox__nav{display:none}.lightbox__frame{--avail:calc(100dvh - var(--bar-h) - 15rem)}.lightbox__foot{grid-template-columns:minmax(0,1fr)}.lightbox__strip{max-width:none}.lightbox__progress,.lightbox__close kbd{display:none}}.plan-upload{object-fit:contain;width:100%;height:100%;display:block}.plan-upload--sketch{filter:grayscale()contrast(1.15);opacity:.55}.plan-inline{place-items:center;min-height:0;display:grid}.plan-inline>svg{width:100%;height:auto;max-height:calc(100dvh - var(--bar-h) - 9rem);display:block;overflow:visible}.plan-inline [data-plan-layer]{transition:opacity .45s var(--ease-out)}.plan-inline [data-plan-layer][data-off]{opacity:.05}.plan-raster{place-items:center;display:grid;position:relative}.plan-raster img{max-width:100%;max-height:calc(100dvh - var(--bar-h) - 9rem);object-fit:contain;mix-blend-mode:multiply;display:block}.plan-raster__scan{inset-inline:0;background:var(--accent);height:2px;box-shadow:0 0 18px 2px color-mix(in srgb, var(--accent) 45%, transparent);opacity:0;pointer-events:none;position:absolute;top:100%}.project-cover__base{place-items:center;display:grid}.project-cover__base>.plan-upload{position:absolute;inset:0}.project-cover__paper{fill:var(--paper-2)}.register-preview__photo,.register-row__thumb img{object-fit:cover;width:100%;height:100%;display:block}.register-preview__photo{flex:1;min-height:0}.register-empty--none{gap:.75rem;max-width:36rem;padding-block:3rem;display:grid}.register-empty--none>span{font:500 .7rem/1 var(--mono);letter-spacing:.08em;color:var(--accent)}.register-empty--none p{color:var(--ink-2);margin:0;line-height:2}.register-empty--none a{color:var(--accent);font-weight:600}.draft-banner{z-index:95;background:var(--ink);max-width:calc(100vw - 2rem);color:var(--paper);box-shadow:0 12px 30px -12px color-mix(in oklch, var(--ink) 60%, transparent);align-items:center;gap:.75rem;margin:0;padding:.65rem 1rem;font-size:.82rem;display:flex;position:fixed;inset:auto 50% 1rem auto;translate:50%}.draft-banner span{font:500 .68rem/1 var(--mono);letter-spacing:.08em;color:var(--accent)}.site-cursor{z-index:10000;background:var(--accent);color:var(--on-accent);box-shadow:0 6px 18px -8px color-mix(in oklch, var(--ink) 55%, transparent);white-space:nowrap;pointer-events:none;opacity:0;transform-origin:0 0;transition:opacity .2s ease, scale .3s var(--ease-out);align-items:center;gap:.4rem;padding:.4rem .7rem .4rem .6rem;font-size:.78rem;font-weight:700;line-height:1;display:inline-flex;position:fixed;top:0;left:0;scale:.6}.site-cursor[data-visible]{opacity:1;scale:1}.site-cursor[data-visible][data-pressed]{scale:.92}@media (prefers-reduced-motion:reduce){.site-cursor{transition:opacity .15s;scale:1}}
