@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500&family=IBM+Plex+Sans:wght@300;400;500;600&family=Space+Grotesk:wght@400;500;600;700&display=swap');
:root{--g:#123c35;--m:#527267;--min:#a7bab0;--mist:#e6ece8;--paper:#f5f1e8;--white:#fcfbf7;--red:#e65d3f;--pale:#f7d4c8;--ink:#202725;--muted:#6c7772;--line:rgba(18,60,53,.16);--deep:#0a2924;--sans:"IBM Plex Sans",sans-serif;--display:"Space Grotesk",sans-serif;--mono:"IBM Plex Mono",monospace}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans)}body.lock{overflow:hidden}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:3px solid var(--red);outline-offset:3px}.skip{position:fixed;top:-5rem;left:1rem;z-index:99;background:var(--red);padding:1rem}.skip:focus{top:1rem}.mast{height:70px;padding:0 3.5vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);position:relative;z-index:40}.brand{display:flex;gap:.7rem;align-items:center}.brand>b{width:34px;height:34px;display:grid;place-items:center;background:var(--g);color:white;font-family:var(--display)}.brand strong,.brand small{display:block}.brand strong{font:600 .8rem var(--display)}.brand small{font-size:.63rem;color:var(--muted)}.mast nav{display:flex;gap:2rem;align-items:center;font-size:.8rem}.link{border:0;background:none}.list-count{font-style:normal;background:var(--red);color:white;border-radius:50%;padding:.15rem .4rem}.menu,.mobile-menu{display:none}.solid{display:inline-block;border:0;background:var(--g);color:white;padding:1rem 1.25rem;font:500 .69rem var(--mono);text-transform:uppercase;letter-spacing:.05em}.solid:hover{background:var(--red)}.under{border:0;border-bottom:1px solid;background:none;padding:.3rem 0;font:500 .68rem var(--mono);text-transform:uppercase}.outline{border:1px solid var(--g);background:none;padding:1rem 1.6rem;font:.69rem var(--mono)}.kicker{font:500 .65rem var(--mono);letter-spacing:.12em}.hero{height:calc(100vh - 70px);min-height:700px;position:relative;overflow:hidden}.hero-img{position:absolute;inset:4vh 4vw 9vh 24vw;overflow:hidden;animation:reveal 1s both}.hero-img img{width:100%;height:100%;object-fit:cover}.hero-img:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(18,60,53,.18),transparent 40%)}.hero-img span{position:absolute;z-index:2;right:1rem;top:1rem;background:var(--pale);padding:.7rem;font:.65rem var(--mono)}.vertical{position:absolute;left:3vw;top:7vh;writing-mode:vertical-rl;font:.6rem var(--mono);letter-spacing:.15em}.hero-title{position:absolute;z-index:3;left:7vw;top:20vh}.hero-title small{font:.65rem var(--mono)}h1{font:600 clamp(4rem,8vw,8.5rem)/.82 var(--display);letter-spacing:-.075em;margin:1.2rem 0}.hero h1 em{font-style:normal;color:var(--paper)}.hero-copy{position:absolute;z-index:4;left:7vw;bottom:5vh;display:flex;gap:2rem;align-items:end}.hero-copy p{max-width:25rem;line-height:1.55;background:rgba(245,241,232,.9);padding:1rem;margin:0}.hero>.under{position:absolute;right:7vw;bottom:5vh}.rail{position:fixed;z-index:30;left:0;top:35%;background:var(--white);border:1px solid var(--line);border-left:0}.rail a{display:flex;width:44px;height:43px;align-items:center;overflow:hidden;border-bottom:1px solid var(--line);transition:.2s}.rail b{min-width:43px;text-align:center;font:.63rem var(--mono)}.rail span{white-space:nowrap;font:.68rem var(--mono)}.rail a:hover,.rail a:focus{width:120px;background:var(--g);color:white}.intro{padding:9rem 8vw;min-height:72vh;display:grid;grid-template-columns:1fr 2fr 1.2fr;gap:5vw;border-bottom:1px solid var(--line)}.huge{font:600 clamp(8rem,18vw,18rem)/.7 var(--display);letter-spacing:-.1em;color:var(--min)}h2{font:600 clamp(2.7rem,5vw,5rem)/.95 var(--display);letter-spacing:-.055em;margin:1rem 0 2rem}.intro>div:nth-child(2){border-left:1px solid var(--g);padding-left:3vw}.intro>div>p:last-child{max-width:37rem;line-height:1.7}.intro dl{margin-top:4rem}.intro dl div{padding:1rem 0;border-top:1px solid var(--g)}dt{font:.65rem var(--mono);color:var(--muted)}.intro dt{font:600 1.2rem var(--display);color:var(--ink)}dd{margin:.35rem 0;line-height:1.5}.map{padding:8rem 8vw;background:var(--g);color:white}.map>header,.compare>header{display:grid;grid-template-columns:1fr 2fr 1fr;gap:4vw;align-items:end;margin-bottom:3rem}.map header h2,.compare header h2{margin:0}.map header>p:last-child{color:var(--min)}.map-grid{display:grid;grid-template-columns:3fr 1fr}.map-img{height:70vh;min-height:520px;position:relative}.map-img img{width:100%;height:100%;object-fit:cover}.spot{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);width:42px;height:42px;border-radius:50%;border:1px solid white;background:rgba(18,60,53,.85);color:white}.spot:after{content:"";position:absolute;inset:-7px;border:1px solid white;border-radius:50%}.spot.active{background:var(--red)}#spot-panel{align-self:end;background:var(--paper);color:var(--ink);padding:2.5rem;margin:0 0 2rem -2rem;z-index:2;min-height:280px}#spot-panel h3{font:600 2rem var(--display);margin:1rem 0}#spot-panel p{color:var(--muted);line-height:1.6}#spot-panel small{font:.6rem var(--mono)}.atlas{padding:9rem 10vw;background:var(--white)}.atlas>header{display:flex;justify-content:space-between;align-items:end;border-bottom:1px solid var(--g);padding-bottom:2rem}.atlas>header h2{margin-bottom:0}.atlas>header label{font:.65rem var(--mono);width:40%}.atlas input{width:100%;border:0;border-bottom:1px solid var(--g);background:none;padding:1rem 0}.atlas>#search-status{font:.65rem var(--mono);min-height:2rem}.plate{display:grid;grid-template-columns:1.1fr 1fr;gap:6vw;align-items:center;min-height:480px;padding:4rem 0;border-bottom:1px solid var(--line)}.plate:nth-child(even) .visual{order:2}.plate:nth-child(3n){grid-template-columns:1fr}.plate:nth-child(3n) .visual{height:430px}.plate:nth-child(3n) .info{margin-top:-12rem;background:var(--paper);padding:2rem;width:50%;z-index:2}.plate.extra{display:none}.atlas.expanded .plate.extra{display:grid}.plate[hidden]{display:none!important}.visual{height:360px;position:relative;overflow:hidden;background:var(--mist)}.visual img{width:100%;height:100%;object-fit:cover}.visual:after{content:attr(data-no);position:absolute;left:1rem;bottom:-.1em;color:rgba(252,251,247,.92);font:600 8rem/.8 var(--display);letter-spacing:-.1em}.meta{display:flex;justify-content:space-between;font:.62rem var(--mono);color:var(--m)}.info h3{font:600 clamp(2rem,3vw,3.2rem)/1 var(--display);letter-spacing:-.04em;margin:1.3rem 0}.info>p{color:var(--muted);line-height:1.6}.info ul{list-style:none;padding:1rem 0;border-block:1px solid var(--line)}.info li{display:inline;margin-right:1rem;font-size:.75rem}.info li:before{content:"— ";color:var(--red)}.price{display:flex;justify-content:space-between;align-items:center;margin:1.4rem 0}.price>strong{font:600 1.5rem var(--display)}.qty{display:flex;border:1px solid var(--line);width:max-content}.qty button{border:0;background:none;width:35px;height:35px}.qty output{width:28px;text-align:center;font:.7rem var(--mono);padding-top:.55rem}.actions{display:flex;gap:1.2rem;align-items:center}.atlas>.outline{display:block;margin:3rem auto 0}.lab{padding:9rem 7vw;background:var(--mist)}.lab header{max-width:55rem}.lab-field{position:relative;margin-top:4rem}.lab-field>img{width:82%;margin:auto}.measure{position:absolute;left:5%;height:100%;border-left:1px solid var(--red);writing-mode:vertical-rl;padding:.5rem;font:.6rem var(--mono);color:var(--red)}.lab-field ol{list-style:none;margin:0;padding:0}.lab-field li{position:absolute;width:210px;background:var(--white);border-left:3px solid var(--red);padding:1rem;font-size:.78rem}.lab-field li b{display:block;font:.65rem var(--mono);margin-bottom:.5rem}.lab-field li:nth-child(1){left:1%;top:15%}.lab-field li:nth-child(2){right:1%;top:12%}.lab-field li:nth-child(3){left:5%;bottom:8%}.lab-field li:nth-child(4){right:3%;bottom:12%}.lab-actions{margin:2rem 9%;padding-top:1.5rem;border-top:1px solid var(--g);display:flex;align-items:center;gap:1.5rem}.lab-actions>span{margin-right:auto}.lab-actions small,.lab-actions b{display:block}.lab-actions small{font:.62rem var(--mono);color:var(--muted)}.compare{padding:8rem 7vw;overflow:hidden}.compare header>div{display:flex;gap:1rem;align-items:center}.circle{width:44px;height:44px;border-radius:50%;border:1px solid;background:transparent}.compare header span{font:.65rem var(--mono)}#scenes{display:flex;gap:2rem;transition:.4s}#scenes article{min-width:72vw;display:grid;grid-template-columns:1fr 1fr;gap:1rem}#scenes h3{grid-column:1/-1;font:500 1.2rem var(--display)}.concept{height:330px;position:relative;overflow:hidden;background:var(--pale);border:1px solid var(--line);padding:4rem 1.5rem 1.5rem}.concept span{position:absolute;top:1rem;left:1rem;font:.63rem var(--mono)}.concept i{position:absolute;width:23%;height:27%;background:var(--m);left:15%;top:36%;transform:rotate(8deg)}.concept i:nth-of-type(2){left:43%;top:26%;transform:rotate(-13deg)}.concept i:nth-of-type(3){left:68%;top:52%}.concept i:nth-of-type(4){left:36%;top:65%;transform:rotate(-4deg)}.ordered{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;background:var(--mist)}.ordered i{position:static;width:auto;height:auto;transform:none;border:1px solid var(--g);background:rgba(82,114,103,.25)}.disclaimer{font:.65rem var(--mono);color:var(--muted)}.matrix{padding:9rem 8vw;background:var(--deep);color:white}.matrix header{display:flex;justify-content:space-between;align-items:end}.matrix header h2{max-width:55rem}.axes{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--min)}.axes fieldset{border:0;border-right:1px solid rgba(255,255,255,.2);padding:2.5rem 3vw}.axes legend{font:.65rem var(--mono);padding-top:2rem;color:var(--red)}.axes label{display:block;padding:.7rem 0;font:500 1.2rem var(--display)}.axes input{accent-color:var(--red)}.output{display:grid;grid-template-columns:1fr 2fr;border-top:1px solid var(--min);padding-top:2rem}.output .under{color:white}.result{display:flex;justify-content:space-between;padding:1rem;border-bottom:1px solid rgba(255,255,255,.2);font-size:.85rem}.result a{color:white}.ledger{display:grid;grid-template-columns:1fr 1.5fr;background:var(--min);min-height:90vh}.ledger>div{padding:8rem 6vw;position:relative;overflow:hidden}.ledger h2{font-size:clamp(5rem,10vw,10rem);line-height:.75;margin:7rem 0 2rem}.ledger>div>p:not(.kicker){max-width:25rem;line-height:1.6}.ledger>div>strong{position:absolute;bottom:-.2em;right:-.05em;color:rgba(18,60,53,.12);font:600 15rem var(--display)}.logo-shape{position:absolute;right:10%;top:15%;width:100px;height:100px;border:1px solid var(--g);transform:rotate(45deg)}.ledger dl{margin:0;padding:7rem 6vw;background:var(--paper)}.ledger dl div{display:grid;grid-template-columns:1fr 2fr;gap:2rem;border-top:1px solid var(--g);padding:1rem 0}.ledger dd{font-size:.9rem}.inquiry{padding:9rem 9vw;background:var(--white)}.inquiry>header{display:grid;grid-template-columns:2fr 1fr}.inquiry header>.kicker{grid-column:1/-1}.inquiry header aside{align-self:end;border-left:1px solid var(--g);padding-left:2rem}.inquiry aside span{display:flex;justify-content:space-between;padding:1rem 0;border-top:1px solid var(--line);font:.62rem var(--mono)}.inquiry form{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem 4rem;border-top:1px solid var(--g);padding-top:3rem}.inquiry form label{display:flex;flex-direction:column;gap:.5rem;font:.62rem var(--mono);text-transform:uppercase}.inquiry input,.inquiry select,.inquiry textarea{border:0;border-bottom:1px solid var(--g);background:none;padding:.8rem 0}.wide{grid-column:1/-1}#error{color:#a52b18}#preview{margin-top:4rem;padding:2rem;border:1px solid var(--g)}#preview pre{white-space:pre-wrap;max-height:300px;overflow:auto;background:var(--mist);padding:1rem}.legal{padding:7rem 10vw}.legal>a{display:grid;grid-template-columns:70px 1fr 50px;align-items:center;border-top:1px solid var(--g);padding:1.5rem 0;transition:.2s}.legal>a:hover{padding-left:1rem;color:var(--red)}.legal>a>b{font:.65rem var(--mono)}.legal strong{display:block;font:500 1.5rem var(--display)}.legal small{color:var(--muted)}.footer{background:var(--deep);color:white;padding:8rem 7vw 2rem;display:grid;grid-template-columns:2fr 1fr 1fr;gap:7vw}.footer h2{font-size:clamp(3.5rem,7vw,7rem);line-height:.8;margin:0}.footer>div p{color:var(--min)}.footer nav,.footer address{display:flex;flex-direction:column;gap:1rem;font-style:normal;font-size:.8rem}.copy{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.2);padding-top:1.5rem;margin-top:5rem;display:flex;justify-content:space-between;font:.6rem var(--mono);color:var(--min)}#sheet{position:fixed;inset:0;z-index:80}.backdrop{position:absolute;inset:0;background:rgba(10,41,36,.7)}#sheet>section{position:absolute;bottom:0;width:100%;background:var(--paper);padding:2rem 4vw;animation:sheet .35s}#sheet section>header{display:flex;justify-content:space-between;border-bottom:1px solid var(--g)}#sheet h2{margin:.2rem 0 1rem}#list-items{display:flex;gap:1rem;overflow:auto;padding:2rem 0;min-height:140px}.list-item{min-width:240px;background:var(--white);border-left:3px solid var(--red);padding:1rem}.list-item b,.list-item small{display:block}.list-item small{font:.62rem var(--mono)}.remove{border:0;background:none;color:var(--red);font-size:.7rem}#sheet section>footer{display:flex;justify-content:space-between;align-items:end;border-top:1px solid var(--g);padding-top:1rem}#sheet section>footer>p{max-width:30rem;color:var(--muted);font-size:.75rem}#sheet section>footer>div{display:flex;gap:1.5rem;align-items:center}#sheet section>footer span{font:.62rem var(--mono)}#sheet-total{display:block;font:600 1.5rem var(--display)}dialog{border:0;padding:0;width:90%;max-width:780px;background:var(--paper)}dialog::backdrop{background:rgba(10,41,36,.75)}.modal-close{position:absolute;right:1rem;top:1rem;background:var(--paper)}#modal-body img{width:100%;height:320px;object-fit:cover}#modal-body>div{padding:2rem}#modal-body h2{font-size:2.5rem}.policy{max-width:900px;margin:auto;padding:8rem 5vw}.policy h1{font-size:clamp(4rem,9vw,8rem)}.policy h2{font:600 1.8rem var(--display);margin-top:3rem;border-top:1px solid var(--g);padding-top:1rem}.policy p{max-width:680px;line-height:1.75}.policy-footer{padding:3rem 5vw;background:var(--deep);color:var(--min);font:.7rem var(--mono)}
@keyframes reveal{from{clip-path:inset(0 100% 0 0)}}@keyframes sheet{from{transform:translateY(100%)}}
@media(max-width:800px){.mast{height:62px;padding:0 1rem}.mast nav{display:none}.menu{display:block;border:0;background:none;font:.7rem var(--mono)}.mobile-menu:not([hidden]){display:block;position:fixed;z-index:50;inset:62px 0 0;background:var(--g);color:white;padding:3rem 1.2rem}.mobile-menu nav{display:flex;flex-direction:column;margin:3rem 0}.mobile-menu nav a{font:600 2.2rem var(--display);border-top:1px solid rgba(255,255,255,.3);padding:1rem 0}.mobile-menu nav b{font:.65rem var(--mono);color:var(--red)}.hero{height:auto;min-height:790px}.hero-img{inset:12vh 0 26vh 16vw}.vertical,.rail{display:none}.hero-title{left:1.2rem;top:8vh}.hero-title small{display:block;max-width:65%}h1{font-size:clamp(3.7rem,18vw,6rem)}.hero-copy{left:1.2rem;bottom:5rem;width:calc(100% - 2.4rem);display:block}.hero-copy p{max-width:none}.hero-copy .solid{margin-top:.8rem}.hero>.under{right:1.2rem;bottom:1.2rem}.intro,.map,.atlas,.lab,.compare,.matrix,.inquiry,.legal{padding:6rem 1.2rem}.intro{display:block}.intro>div:nth-child(2){margin-top:3rem}.map>header,.compare>header{display:block}.map-grid{display:block}.map-img{height:55vh;min-height:420px}#spot-panel{margin:-1rem 0 0 1rem}.atlas>header{display:block}.atlas>header label{display:block;width:100%;margin-top:3rem}.plate,.plate:nth-child(3n){display:flex;flex-direction:column;gap:1.5rem}.plate:nth-child(even) .visual{order:0}.visual,.plate:nth-child(3n) .visual{height:280px;width:100%}.plate:nth-child(3n) .info{margin:0;padding:0;width:auto;background:none}.info li{display:block;margin:.4rem 0}.actions{flex-wrap:wrap}.lab-field>img{width:100%;height:420px;object-fit:cover}.measure{left:-.5rem}.lab-field ol{display:grid;grid-template-columns:1fr 1fr}.lab-field li{position:static;width:auto}.lab-actions{margin:2rem 0;flex-wrap:wrap}.lab-actions>span{width:100%}#scenes article{min-width:90vw;display:block}.concept{height:240px;margin-bottom:1rem}.matrix header{display:block}.axes{grid-template-columns:1fr}.axes fieldset{border-right:0;border-bottom:1px solid rgba(255,255,255,.2);padding:2rem 0}.axes label{display:inline-block;margin-right:1rem}.output{grid-template-columns:1fr}.ledger{grid-template-columns:1fr}.ledger>div{padding:6rem 1.2rem;min-height:600px}.ledger h2{font-size:6rem}.ledger dl{padding:4rem 1.2rem}.ledger dl div{grid-template-columns:1fr;gap:.4rem}.inquiry>header{display:block}.inquiry header aside{border:0;padding:0}.inquiry form{grid-template-columns:1fr}.wide{grid-column:auto}.legal>a{grid-template-columns:40px 1fr 30px}.legal small{display:none}.footer{padding:6rem 1.2rem 2rem;grid-template-columns:1fr}.copy{display:block;margin-top:2rem}.copy span{display:block;margin-top:1rem}#sheet>section{height:100%;padding:1.2rem}#list-items{display:block;max-height:55vh}.list-item{width:100%;margin-bottom:.7rem}#sheet section>footer{display:block}#sheet section>footer>div{display:flex;flex-wrap:wrap}.prepare{width:100%;text-align:center}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.rail a.active{width:120px;background:var(--g);color:white}

/* Product plates stay visually self-contained so each image has one unambiguous description. */
.plate:nth-child(3n){grid-template-columns:1.1fr 1fr}
.plate:nth-child(3n) .visual{height:360px}
.plate:nth-child(3n) .info{margin-top:0;background:transparent;padding:0;width:auto}
.plate{position:relative;border-top:1px solid var(--g);border-bottom:0}
.plate:before{content:"PRODUCT PLATE";position:absolute;top:1rem;left:0;font:.58rem var(--mono);color:var(--m)}
.plate .visual{border:1px solid var(--line)}

/* Real photographic before/after sequences replace the former abstract placeholders. */
#scenes article{display:block}
#scenes figure{position:relative;height:min(58vw,620px);margin:0;overflow:hidden;background:var(--mist);border:1px solid var(--line)}
#scenes figure img{width:100%;height:100%;object-fit:cover}
#scenes figure:after{content:"";position:absolute;top:0;bottom:0;left:50%;border-left:2px solid var(--paper)}
.before-tag,.after-tag{position:absolute;z-index:2;top:1rem;background:var(--deep);color:white;padding:.65rem .8rem;font:.62rem var(--mono);letter-spacing:.08em}
.before-tag{left:1rem}.after-tag{left:calc(50% + 1rem);background:var(--red)}
#scenes h3{margin:1rem 0 0}
.spot-product{display:grid;grid-template-columns:88px 1fr;gap:1rem;align-items:center;border-bottom:1px solid var(--line);padding-bottom:1rem}
.spot-product img{width:88px;height:72px;object-fit:cover;border:1px solid var(--line)}
.spot-product span,.spot-product small{display:block}
.spot-product small{margin-top:.45rem;font:.6rem var(--mono);color:var(--muted)}
#spot-panel>strong{display:block;margin:1rem 0;font:600 1rem var(--display)}
#spot-panel .map-locate{margin-top:.25rem}
.plate.map-target{animation:atlas-target 2.2s ease}
@keyframes atlas-target{0%,100%{background:transparent}12%,70%{background:var(--pale);box-shadow:inset 5px 0 0 var(--red)}}

@media(max-width:800px){
  .plate:nth-child(3n){display:flex}
  .plate:nth-child(3n) .visual{height:280px}
  #scenes figure{height:54vw;min-height:230px}
  .spot-product{grid-template-columns:74px 1fr}.spot-product img{width:74px;height:64px}
}

/* Space Index monogram: modular bays form a hidden B; the red locator is the index point. */
.brand>b{position:relative;width:42px;height:42px;display:block;flex:0 0 42px;background:transparent;color:transparent;font-size:0;border:0}
.brand>b:before{content:"";position:absolute;inset:4px 5px 4px 7px;border-left:4px solid var(--g);background:linear-gradient(var(--g),var(--g)) 0 0/68% 4px no-repeat,linear-gradient(var(--g),var(--g)) 0 50%/86% 4px no-repeat,linear-gradient(var(--g),var(--g)) 0 100%/78% 4px no-repeat,linear-gradient(90deg,var(--m),var(--m)) 12px 5px/2px 11px no-repeat,linear-gradient(90deg,var(--m),var(--m)) 12px 23px/2px 9px no-repeat;clip-path:polygon(0 0,70% 0,88% 8%,100% 25%,97% 39%,80% 50%,100% 60%,100% 83%,88% 96%,70% 100%,0 100%)}
.brand>b:after{content:"";position:absolute;right:1px;top:1px;width:8px;height:8px;border-radius:50%;background:var(--red);box-shadow:0 0 0 3px var(--paper);transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.brand:hover>b:after,.brand:focus-visible>b:after{transform:translate(-3px,3px) scale(1.15)}
