

:root{--bg:#E8E4E0;--fg:#1A1818;--fgr:26,24,24;--muted:#857878;--line:#D5CDCA;--surface:#DED8D4;--accent:#C4B0B0;--btn-bg:#1A1818;--btn-fg:#E8E4E0;--e-soft:cubic-bezier(.22,1,.36,1);--e-spring:cubic-bezier(.34,1.56,.64,1);--font:'Onest',ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif}
html[data-mode=dark]{--bg:#1A1818;--fg:#E8E4E0;--fgr:232,228,224;--muted:#a89c9c;--line:#332e2e;--surface:#221f1f;--btn-bg:#E8E4E0;--btn-fg:#1A1818}
*{box-sizing:border-box;margin:0;padding:0}
html{font-size:16px;-webkit-font-smoothing:antialiased;background:#1A1818;overflow-x:clip;scrollbar-width:none}html::-webkit-scrollbar{display:none}
body{font-family:var(--font);background:var(--bg);color:var(--fg);transition:background .5s,color .5s;overflow-x:clip}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}a{color:inherit}ul,ol{list-style:none}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.skip{position:absolute;left:-999px}.skip:focus{left:1rem;top:1rem;z-index:99;background:#fff;padding:.5rem}
.shell{max-width:88rem;margin:0 auto;padding:0 1.25rem;position:relative}@media(min-width:1024px){.shell{padding:0 5.5rem}}
/* loader */
.loader{position:fixed;inset:0;z-index:100;background:#1A1818;color:#E8E4E0;display:flex;align-items:center;justify-content:center;transition:transform .9s cubic-bezier(.76,0,.24,1)}
.loader.done{transform:translateY(-100%)}
.ld__stack{display:flex;flex-direction:column;gap:.6rem;align-items:center}
.ld__pill{padding:.7rem 1.6rem;border-radius:99px;background:var(--c);color:var(--t);font-weight:600;font-size:1.1rem;transform:translateX(calc(var(--dir)*120vw));animation:pill .8s var(--e-soft) forwards;animation-delay:calc(var(--k)*.12s)}
@keyframes pill{to{transform:none}}
.ld__hud{position:absolute;inset:0;padding:1.6rem 1.6rem;display:flex;flex-direction:column;justify-content:space-between;font-size:.8rem;opacity:.8}
.ld__top,.ld__bot{display:flex;justify-content:space-between;gap:1rem}.ld__bot{align-items:flex-end}
.ld__num small{display:block;font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;opacity:.7}.ld__num span{font-size:clamp(3rem,10vw,7rem);font-weight:700;letter-spacing:-.05em;font-variant-numeric:tabular-nums}
.ld__bar{flex:1;max-width:20rem;height:2px;background:rgba(232,228,224,.2)}.ld__bar i{display:block;height:100%;width:0;background:#E8E4E0}
/* header */
.hdr{position:fixed;inset-inline:0;top:0;z-index:50;transition:background .35s,box-shadow .35s}
.hdr.stuck{background:var(--bg);box-shadow:0 1px 0 rgba(var(--fgr),.08)}
.hdr__in{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-block:1.25rem;transition:padding .35s}.hdr.stuck .hdr__in{padding-block:.85rem}
.nav{display:none;gap:1.1rem;font-size:.95rem;color:rgba(var(--fgr),.75)}@media(min-width:1100px){.nav{display:flex}}
.nav button{padding:.3rem 0;transition:color .2s,transform .3s var(--e-soft)}.nav button:hover{color:var(--fg);transform:translateY(-2px)}
.hdr__right{display:flex;gap:.6rem;align-items:center;margin-left:auto}
.chip{display:inline-flex;align-items:center;gap:.6rem;padding:.55rem .9rem;border:1px solid var(--line);border-radius:.875rem;font-size:.82rem;background:rgba(var(--fgr),.02)}
.clock__lbl{color:var(--muted)}.clock__time{font-weight:600;font-variant-numeric:tabular-nums}.clock__sep{color:var(--muted)}.clock__ds{display:none}
@media(max-width:700px){.clock__lbl,.clock__sep,.clock__date{display:none}.clock__ds{display:inline}}
.menu-btn{display:inline-flex;min-height:44px;min-width:44px;justify-content:center}.menu-btn svg{width:1.1rem;height:1.1rem}@media(min-width:1100px){.menu-btn{display:none}}
/* cord */
.cord{position:fixed;right:1.4rem;top:0;width:44px;height:290px;z-index:60;pointer-events:none}
.cord canvas{position:absolute;inset:0;width:100%;height:100%}
.cord__hit{touch-action:none;position:absolute;left:0;right:0;bottom:0;height:90px;pointer-events:auto;cursor:grab}
/* hero */
.hero{position:relative;min-height:100vh;min-height:100svh;background:linear-gradient(160deg,#EEEAE6,#E8E4E0 55%,#D8CDCA);border-radius:0 0 2rem 2rem;overflow:hidden;z-index:2;transition:background .5s}
html[data-mode=dark] .hero{background:linear-gradient(160deg,#1c1919,#141212 55%,#2a2222)}
.hero__stage{position:absolute;right:max(3rem,7vw);bottom:5.2rem;z-index:1;width:clamp(190px,20vw,270px);aspect-ratio:1;transform:translateY(40px);opacity:0;animation:rise 1.1s var(--e-soft) .5s forwards}
@keyframes rise{to{transform:none;opacity:1}}
.fig{position:relative;width:100%;height:100%;border-radius:50%;box-shadow:0 30px 70px -20px rgba(0,0,0,.35),0 0 0 .5rem rgba(var(--fgr),.06)}
.fig img{width:100%;height:100%;object-fit:contain;display:block}
.hero__content{position:relative;z-index:2;padding-top:9.5rem}
.hero__left{display:flex;flex-direction:column;gap:1.75rem;max-width:44rem}
.eyebrow{display:inline-flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:500;color:rgba(var(--fgr),.7)}.eyebrow::before{content:"";width:.4rem;height:.4rem;border-radius:50%;background:rgba(var(--fgr),.5)}
.h1{font-size:2.625rem;font-weight:600;line-height:.98;letter-spacing:-.02em}
@media(min-width:640px){.h1{font-size:3.5rem}}@media(min-width:768px){.h1{font-size:4.25rem}}@media(min-width:1024px){.h1{font-size:4.75rem}}
.h1 .line{display:block;overflow:hidden;padding-bottom:.06em}.h1 .line>span{display:inline-block;transform:translateY(110%);animation:up .9s var(--e-soft) forwards;animation-delay:var(--d)}
@keyframes up{to{transform:none}}.h1 .soft{color:rgba(var(--fgr),.5)}
.cal-line{display:block;padding-top:.34em;margin-top:.1em;padding-bottom:.42em}
.cal{--cal-w:7em;position:relative;display:inline-block;font-size:.9em;perspective:14em;perspective-origin:30% 0;vertical-align:top;opacity:0;animation:fade 1s ease .9s forwards}@keyframes fade{to{opacity:1}}
.cal__body{position:relative;display:block;width:var(--cal-w);height:1.72em;transform:rotateX(10deg) rotateY(-9deg);transform-style:preserve-3d;transition:width .5s var(--e-soft)}
.cal__stand{position:absolute;left:.2em;right:-.14em;top:.28em;bottom:-.4em;border-radius:.16em;background:#0c0b0b;box-shadow:0 .5em 1.2em rgba(0,0,0,.35)}
.cal__stack{position:absolute;inset:0;display:block;transform-style:preserve-3d}
.cal__back,.cal__page,.cal__face,.cal__rear{position:absolute;inset:0;display:block;border-radius:.14em;background:#f7f5f2;box-shadow:0 .03em 0 #d9d4cd,0 .06em 0 #f1eee9,0 .09em 0 #d3cdc5,0 .12em 0 #ece8e2}
.cal__back{background:#e9e5df}
.cal__word{position:absolute;inset:0;display:flex;align-items:center;padding:.2em .4em 0;color:#0a0a0a;font-weight:700;letter-spacing:-.035em;line-height:1;white-space:nowrap}
.cal__no{position:absolute;right:.42em;bottom:.2em;font-size:.15em;font-weight:500;letter-spacing:.08em;color:rgba(10,10,10,.42);font-variant-numeric:tabular-nums}
.cal__holes{position:absolute;top:.09em;left:.32em;right:.32em;height:.07em;display:flex;justify-content:space-between;z-index:3}
.cal__holes i{display:block;width:.075em;height:.075em;border-radius:50%;background:#1b1b1b;box-shadow:inset 0 .01em .01em rgba(255,255,255,.3)}
.cal__rings{position:absolute;top:-.27em;left:.32em;right:.32em;height:.42em;display:flex;justify-content:space-between;transform:translateZ(.05em);pointer-events:none;z-index:5}.cal__rings i{display:block;width:.075em;height:.42em;position:relative}.cal__rings i::before{content:"";position:absolute;left:-.065em;right:-.065em;top:0;bottom:0;border-radius:.2em;border:.04em solid #a9a9a9;border-color:#f6f6f6 #6f6f6f #8a8a8a #ededed;filter:drop-shadow(.01em .025em .015em rgba(0,0,0,.35))}
.cal__leaf{position:absolute;inset:0;display:block;transform-origin:50% 0;transform-style:preserve-3d;transition:transform .75s cubic-bezier(.5,0,.25,1)}
.cal__leaf.flip{transform:rotateX(-178deg)}
.cal__face,.cal__rear{backface-visibility:hidden}.cal__rear{transform:rotateX(180deg);background:#ebe7e1}
.cal__shade{position:absolute;inset:0;border-radius:.14em;background:linear-gradient(180deg,rgba(0,0,0,.06),transparent 40%)}
.cal__measure{position:absolute;visibility:hidden;white-space:nowrap;font-weight:700;letter-spacing:-.035em;padding:0 .8em}
.ctas{display:flex;flex-wrap:wrap;gap:.75rem;opacity:0;animation:fade .8s ease 1.2s forwards}
.pill{display:inline-flex}.pill__in{display:inline-flex;align-items:center;gap:.75rem;padding:.375rem .375rem .375rem 1.5rem;border-radius:99px;font-size:.875rem;font-weight:500;white-space:nowrap;transition:transform .3s var(--e-soft)}
.pill:hover .pill__in{transform:scale(1.04)}
.pill--dark .pill__in{background:var(--btn-bg);color:var(--btn-fg)}.pill--outline .pill__in{border:1px solid var(--line);padding:.875rem 1.75rem;background:transparent}
.pill__badge{width:2.25rem;height:2.25rem;display:grid;place-items:center;border-radius:99px;background:var(--btn-fg);color:var(--btn-bg)}.pill__badge svg{width:1rem;height:1rem;transition:transform .3s var(--e-soft)}.pill:hover .pill__badge svg{transform:translateX(3px)}
.hero__bar{position:absolute;left:0;right:0;bottom:0;max-width:88rem;margin:0 auto;display:flex;justify-content:space-between;gap:1rem;height:3.5rem;align-items:center;padding-block:0;border-top:1px solid var(--line);font-size:.75rem;letter-spacing:.025em;text-transform:uppercase;color:rgba(var(--fgr),.75);z-index:2;left:50%;transform:translateX(-50%);width:calc(100% - 2.5rem)}
@media(min-width:1024px){.hero__bar{width:calc(100% - 11.5rem)}}
.hero__bar .mid{display:none}@media(min-width:760px){.hero__bar .mid{display:block}}
/* doors */
.doors{position:relative;margin-top:-2rem;padding:7.25rem 0 0;z-index:1;background:linear-gradient(#cfcac6,#d8d4d0);overflow:hidden}
html[data-mode=dark] .doors{background:linear-gradient(#1b1818,#191616)}
.paint{text-align:center;font-size:4.75rem;font-weight:700;letter-spacing:-.03em;line-height:1.17}
.doors__hint{text-align:center;margin-top:1rem;font-size:.85rem;color:var(--muted)}
.doors__row{display:flex;justify-content:center;gap:6.1rem;padding:3.6rem 0 0;max-width:none;margin:0 auto}
.unit{flex:0 0 13.85rem;max-width:none;container-type:inline-size;position:relative}
.doorway{display:block;position:relative;width:100%;aspect-ratio:1/2.25;cursor:pointer;transition:opacity .5s,filter .5s,transform .5s var(--e-soft)}
.doorway:hover{transform:translateY(-4px)}
.casing{position:absolute;inset:0;border-radius:50cqi 50cqi 0 0;background:linear-gradient(90deg,rgba(0,0,0,.07),rgba(255,255,255,.18) 3cqi,transparent 6cqi,transparent calc(100% - 6cqi),rgba(0,0,0,.05) calc(100% - 3cqi),rgba(0,0,0,.12)),linear-gradient(180deg,rgba(255,255,255,.35),transparent 30%),#f1efec;box-shadow:inset 0 0 0 1.1cqi rgba(255,255,255,.28),inset 0 0 0 1.5cqi rgba(0,0,0,.07),0 2cqi 6cqi rgba(0,0,0,.18)}
html[data-mode=dark] .casing{background-color:#8a8683}
.opening{position:absolute;left:6.5cqi;right:6.5cqi;top:6.5cqi;bottom:0;perspective:160cqi;border-radius:43.5cqi 43.5cqi 0 0;overflow:hidden;background:#0d0c0c}
.room{position:absolute;inset:0;background:radial-gradient(120% 90% at 50% 100%,#fff3d6,#e9c27a 45%,#7a5a2a);opacity:.9}
.door{--dc:var(--door);position:absolute;inset:0;transform-origin:0 50%;border-radius:42.5cqi 42.5cqi 0 0;background:linear-gradient(100deg,rgba(255,255,255,.1),rgba(255,255,255,0) 30%,rgba(0,0,0,.18)),var(--dc);box-shadow:inset 0 0 0 .3cqi rgba(0,0,0,.28);transition:transform .9s var(--e-soft)}
.doorway:hover .door,.doorway:focus-visible .door{transform:rotateY(-24deg)}
.unit.go .door{transform:rotateY(-78deg);transition-duration:.9s}
.door__flute{position:absolute;left:11cqi;right:11cqi;top:11cqi;bottom:6cqi;border-radius:34cqi 34cqi 0 0;background:repeating-linear-gradient(90deg,rgba(0,0,0,.2) 0 .5cqi,rgba(255,255,255,.04) .5cqi 3cqi);box-shadow:inset 0 0 0 .6cqi rgba(0,0,0,.2)}
.plate{position:absolute;left:50%;top:31%;translate:-50% -50%;width:58cqi;padding:2.6cqi 4cqi;border-radius:.9cqi;z-index:1;text-align:center;font-size:5.4cqi;font-weight:600;line-height:1.15;letter-spacing:.09em;text-transform:uppercase;color:#2b2112;text-shadow:0 .28cqi 0 rgba(255,238,196,.55);background:linear-gradient(160deg,#efdfb2,#c9a866 28%,#e3cc92 48%,#a98747 72%,#d2b67a);box-shadow:0 .5cqi 1cqi rgba(0,0,0,.4),inset 0 .3cqi 0 rgba(255,255,255,.5)}
.handle{position:absolute;right:9cqi;top:56%;width:30cqi;height:10cqi}
.handle__lever{position:absolute;right:0;top:0;width:100%;height:5cqi;border-radius:5cqi;background:linear-gradient(180deg,#f6e3ad,#b8923f 60%,#7c5f24);box-shadow:0 1cqi 1.6cqi rgba(0,0,0,.4)}
.handle__lever::after{content:"";position:absolute;right:-1cqi;top:-2.4cqi;width:9.4cqi;height:9.4cqi;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff2c4,#c19a47 55%,#7c5f24)}
.handle__lock{position:absolute;right:3cqi;top:11cqi;width:3.8cqi;height:7cqi;border-radius:2cqi;background:linear-gradient(#e9cf8b,#9c7a30)}
.sill{position:absolute;left:0;right:0;bottom:0;height:3cqi;background:#d6d2cd}
.door__shade{position:absolute;inset:0;border-radius:inherit;background:linear-gradient(180deg,rgba(255,255,255,.06),transparent 30%,rgba(0,0,0,.12))}
.doors__floor{height:7rem;margin-top:-1px;background:linear-gradient(#bdb8b3,#a9a49f);box-shadow:inset 0 .6rem 1rem rgba(0,0,0,.2)}
html[data-mode=dark] .doors__floor{background:linear-gradient(#262222,#1c1919)}
.dinfo{max-width:36rem;margin:2.5rem auto 0;text-align:center;min-height:6.5rem;transition:opacity .35s}
.dinfo h3{font-size:1.5rem;font-weight:700;letter-spacing:-.02em}.dinfo p{margin-top:.5rem;color:rgba(var(--fgr),.7);line-height:1.5}
.veil{position:fixed;inset:0;z-index:90;background:#1A1818;opacity:0;pointer-events:none;transition:opacity .6s ease}.veil.on{opacity:1;pointer-events:auto}
/* story */
.story{position:relative;height:calc(var(--n)*60vh + 100vh);background:linear-gradient(180deg,#fbfaf8,#f5f2ee);transition:background .5s}
html[data-mode=dark] .story{background:linear-gradient(#141212,#1a1616)}
.story__amb i{position:absolute;border-radius:50%;filter:blur(90px);opacity:.55;pointer-events:none}
.story__amb i:nth-child(1){left:-12%;top:12%;width:34rem;height:34rem;background:#f0a47c}.story__amb i:nth-child(2){right:-10%;bottom:8%;width:30rem;height:30rem;background:#e7b199}.story__amb i:nth-child(n+3){display:none}
.story__track{position:absolute;inset:0}.story__pin{position:sticky;top:0;height:100vh;overflow:hidden}
.story__stage{height:100%;display:grid;grid-template-columns:1fr;gap:2rem;align-items:center}
@media(min-width:1024px){.story__stage{grid-template-columns:1fr 1fr;gap:6rem}}
.story__h{margin-top:.6rem;font-size:2.4rem;font-weight:700;line-height:.98;letter-spacing:-.035em}@media(min-width:1024px){.story__h{font-size:3.4rem}}
.story__yr{display:flex;margin:1.5rem 0 0 -.04em;font-size:clamp(5.5rem,11.5vw,11.5rem);font-weight:700;line-height:1;letter-spacing:-.06em;font-variant-numeric:tabular-nums}
.dg{display:block;height:1em;overflow:hidden}.dg__c{display:flex;flex-direction:column;transition:transform .9s cubic-bezier(.65,0,.2,1)}.dg__c i{font-style:normal;height:1em;display:block}
.story__when{margin-top:1.4rem;font:600 .72rem ui-monospace,monospace;letter-spacing:.14em;text-transform:uppercase}
.story__meter{display:flex;align-items:center;gap:.6rem;margin-top:1.2rem;font-size:.9rem}.story__meter svg{width:1rem;height:1rem}.story__of{color:var(--muted)}.story__bar{display:block;width:10.5rem;height:2px;background:rgba(var(--fgr),.15)}.story__bar b{display:block;height:100%;width:0;background:var(--fg);transition:width .4s}
.story__line{position:relative;height:100%;overflow:hidden;display:none}@media(min-width:1024px){.story__line{display:block}}
.story__line::before{content:"";position:absolute;left:1.15rem;top:0;bottom:0;width:2px;background:rgba(var(--fgr),.18)}
.story__list{position:absolute;left:0;right:0;top:50%;will-change:transform}
.ch{position:relative;padding:0 0 0 2.8rem;margin-bottom:5.5rem;opacity:.42;transition:opacity .4s}.ch.on{opacity:1}
.ch::before{content:"";position:absolute;left:.65rem;top:.2rem;width:1.1rem;height:1.1rem;border-radius:50%;background:var(--fg);box-shadow:0 0 0 .5rem rgba(var(--fgr),.08)}
.ch.ch--now::before{background:#79a965;box-shadow:0 0 0 .5rem rgba(121,169,101,.2)}
.ch__date{font:600 .72rem ui-monospace,monospace;letter-spacing:.14em;text-transform:uppercase}.ch__t{margin-top:.6rem;font-size:1.9rem;font-weight:600;letter-spacing:-.02em}.ch__org{margin-top:.3rem;font-size:1.1rem;font-weight:500;color:rgba(var(--fgr),.7)}
.ch__b{margin-top:1rem;display:grid;gap:.6rem}.ch__b li{position:relative;padding-left:1rem;line-height:1.5;color:rgba(var(--fgr),.85);max-width:30rem}.ch__b li::before{content:"–";position:absolute;left:0;color:var(--muted)}
.story__mobile{display:block}@media(min-width:1024px){.story__mobile{display:none}}
/* footer */
.sfw{position:relative;z-index:2;background:var(--bg)}
.sf{background:#1A1818;color:#E8E4E0;border-radius:2rem 2rem 0 0;overflow:hidden;position:relative;margin-top:-2rem}
html[data-mode=dark] .sf{background:#0F0E0E}
.sf__in{max-width:88rem;margin:0 auto;padding:5.5rem 1.25rem 1.5rem}@media(min-width:1024px){.sf__in{padding:7rem 5.75rem 1.75rem}}
.sf__eye{display:inline-flex;align-items:center;gap:.6rem;font-size:.9rem;color:#C4B0B0}.sf__eye i{width:.55rem;height:.55rem;border-radius:50%;background:#79a965;box-shadow:0 0 0 .3rem rgba(121,169,101,.25)}
.sf__h{margin-top:1.4rem;font-size:clamp(2.6rem,7vw,6.2rem);font-weight:700;letter-spacing:-.045em;line-height:.95}.sf__h span{display:block;color:#C4B0B0}
.sf__p{margin-top:1.8rem;max-width:36rem;font-size:1.1rem;line-height:1.55;color:rgba(232,228,224,.75)}
.sf__cta{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:2.2rem}
.sf__btn{display:inline-flex;align-items:center;gap:.8rem;padding:.5rem .5rem .5rem 1.4rem;border-radius:99px;background:#E8E4E0;color:#1A1818;font-weight:500;min-height:3rem}.sf__btn b{width:2.2rem;height:2.2rem;border-radius:50%;background:#1A1818;color:#E8E4E0;display:grid;place-items:center}.sf__btn svg{width:1rem;height:1rem}
.sf__ghost{padding:.7rem 1.5rem;border:1px solid rgba(232,228,224,.25);border-radius:99px;font-weight:500}
.sf__cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));gap:2rem;margin-top:5rem;padding-top:2.5rem;border-top:1px solid rgba(232,228,224,.12)}
.sf__cols h3{font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:#C4B0B0;margin-bottom:1rem;font-weight:600}.sf__cols li{margin-bottom:.55rem}.sf__cols a,.sf__cols button{opacity:.88;transition:opacity .2s}.sf__cols a:hover,.sf__cols button:hover{opacity:1;text-decoration:underline}
.sf__bot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;margin-top:3.5rem;font-size:.82rem;color:rgba(232,228,224,.6)}
.totop{position:fixed;right:1.2rem;bottom:1.2rem;z-index:40;width:52px;height:52px;border-radius:50%;background:#1A1818;color:#E8E4E0;display:grid;place-items:center;opacity:0;pointer-events:none;transition:opacity .3s}.totop.on{opacity:1;pointer-events:auto}.totop svg.ar{width:1.1rem;height:1.1rem}.totop .ring,.totop .lbl{display:none}
/* menu + modal */
.navm{position:fixed;inset:0;z-index:80;background:#1A1818;color:#E8E4E0;padding:1.4rem 0;display:flex;flex-direction:column}.navm[hidden],.modal[hidden]{display:none}
.navm__top,.navm__bot{display:flex;justify-content:space-between;align-items:center}.navm__nav{flex:1;display:flex;align-items:center}
.navm__nav button{font-size:clamp(2rem,9vw,3.4rem);font-weight:600;letter-spacing:-.03em;padding:.3rem 0;text-align:left}.brand{font-weight:700}.close-btn{display:flex;gap:.4rem;align-items:center}.close-btn svg{width:1rem}
.modal{position:fixed;inset:0;z-index:85;background:rgba(10,9,9,.55);backdrop-filter:blur(6px);display:grid;place-items:center;padding:1rem}
.modal__panel{position:relative;width:100%;max-width:34rem;max-height:92vh;overflow:auto;background:#EFECE8;color:#1A1818;border-radius:1.6rem;padding:2rem}
.x-btn{position:absolute;right:1rem;top:1rem;width:2.4rem;height:2.4rem;border-radius:50%;border:1px solid #D5CDCA;display:grid;place-items:center}.x-btn svg{width:1rem}
.mhead p{font-size:.85rem;color:#857878}.mhead h2{font-size:1.9rem;letter-spacing:-.03em;line-height:1.05;margin-top:.3rem;padding-right:2rem}.qz__min{display:block;margin-top:.6rem;color:#857878}
.qz__top{display:flex;align-items:center;gap:.8rem;margin:1.4rem 0 1rem;font-size:.8rem;color:#857878}.qz__bar{flex:1;height:2px;background:#d5cdca}.qz__bar i{display:block;height:100%;background:#1A1818;width:20%;transition:width .3s}
.qz{border:0;display:grid;gap:.55rem}.qz[hidden]{display:none}.qz legend{font-size:1.15rem;font-weight:600;margin-bottom:.8rem}
.qc{display:block}.qc input{position:absolute;opacity:0}.qc span{display:block;padding:.85rem 1rem;border:1px solid #D5CDCA;border-radius:.9rem;cursor:pointer;transition:all .2s}.qc input:checked+span{background:#1A1818;color:#EFECE8;border-color:#1A1818}.qc span:hover{border-color:#1A1818}
.qz label:not(.qc){display:grid;gap:.3rem;font-size:.85rem;color:#554c4c}.qz input[type=text],.qz input[type=email],.qz input[type=tel],.qz textarea{font:inherit;padding:.75rem .9rem;border:1px solid #D5CDCA;border-radius:.8rem;background:#fff;color:#1A1818}
.qz__err{color:#a4302c;font-size:.85rem;min-height:1.2rem;margin-top:.6rem}.mform__bot{display:flex;align-items:center;gap:1rem;justify-content:space-between;margin-top:.6rem}.mform__bot small{color:#857878;font-size:.78rem}.qz__back{text-decoration:underline;font-size:.9rem}
.mform .pill--dark{--btn-bg:#1A1818;--btn-fg:#EFECE8}
.msuccess{text-align:center;padding:1.5rem 0}.msuccess h2{font-size:1.8rem;letter-spacing:-.03em}.msuccess p{margin:.8rem 0 1.2rem;color:#554c4c;line-height:1.5}
/* service pages */
.sp{min-height:100vh}.sp__back{display:flex;width:max-content;gap:.4rem;font-size:.9rem;color:var(--muted);margin-bottom:2rem}
.sp h1{font-size:clamp(2.6rem,7vw,6rem);font-weight:700;letter-spacing:-.045em;line-height:.95;max-width:56rem}
.sp__lead{margin-top:1.6rem;max-width:40rem;font-size:1.2rem;line-height:1.55;color:rgba(var(--fgr),.75)}
.sp__does{display:grid;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:1rem;margin-top:3rem}.sp__does li{padding:1.3rem;border:1px solid var(--line);border-radius:1.25rem;line-height:1.45}.sp__does b{display:block;margin-bottom:.4rem;font-size:1.05rem}
.sp__work{margin-top:4rem}.sp__work>h2{font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:1.2rem}
.proj{display:grid;gap:1.5rem;padding:1.2rem;border:1px solid var(--line);border-radius:2rem;background:rgba(var(--fgr),.02);margin-bottom:1.5rem}@media(min-width:900px){.proj{grid-template-columns:1.3fr 1fr;align-items:center;padding:1.6rem}}
.proj img{width:100%;height:auto;display:block;border-radius:1rem;box-shadow:0 20px 50px -20px rgba(0,0,0,.4)}
.proj h3{font-size:1.7rem;letter-spacing:-.03em}.proj p{margin-top:.7rem;line-height:1.55;color:rgba(var(--fgr),.75)}.proj a{display:inline-block;margin-top:1rem;font-weight:500;text-decoration:underline}
@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-delay:0s!important;transition-duration:.01ms!important}}
@media(max-width:1023px){.story{height:auto;padding:5rem 0}.story__pin{position:static;height:auto;overflow:visible}.story__stage{height:auto}.story__line{display:block;height:auto;overflow:visible;padding-left:0}.story__list{position:static}.ch{opacity:1}.story__yr{font-size:6rem}.hero__stage{width:150px;right:1.25rem;bottom:5.5rem}.hero__content{padding-top:7.5rem}.hero__left{max-width:100%}}
.sf a{text-decoration:none}.sf__cols a:hover{text-decoration:underline}.sp__back,.nav a{text-decoration:none}
.sp{padding-block:9rem 6rem}.nav a{display:block;padding:.3rem 0;color:inherit}
@media(max-width:1023px){.story__track{position:static}.story__amb{display:none}.story__line::before{display:none}.ch{padding-left:0}.ch::before{display:none}.story__stage{padding-block:0}.story__list{display:grid;gap:3rem;margin-top:2.5rem}.ch{margin-bottom:0}.story__yr,.story__when,.story__meter{display:none}}
.sp .eyebrow{margin-bottom:1.2rem}

/* ability card */
.fig__card{position:absolute;right:92%;bottom:12%;white-space:nowrap;z-index:3;display:inline-flex;align-items:center;min-height:44px;padding:0 1rem;border-radius:999px;border:1px solid rgba(255,255,255,.22);background:rgba(26,24,24,.72);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#F3EEEC;font:600 .8125rem/1 var(--font);cursor:pointer;box-shadow:0 10px 24px -12px rgba(0,0,0,.6);transition:transform .35s cubic-bezier(.16,1,.3,1),background .25s}
.fig:hover .fig__card,.fig__card:focus-visible{transform:translateY(-3px);background:rgba(26,24,24,.88)}

.holo{position:fixed;inset:0;z-index:118;display:grid;place-content:center;justify-items:center;gap:1.5rem;background:radial-gradient(60% 48% at 50% 46%,#2a2220 0%,#120f0f 58%,#050404 100%);opacity:0;visibility:hidden;transition:opacity .35s ease,visibility 0s linear .35s}
.holo.on{opacity:1;visibility:visible;transition:opacity .35s ease}
.holo[hidden]{display:none}
.hc{position:relative;width:min(84vw,calc(80svh * .716),30rem);aspect-ratio:1040/1452;padding:0;border:0;background:none;cursor:pointer;perspective:1100px;touch-action:none;--rx:0deg;--ry:0deg;--px:0;--py:0;--lift:0;font-size:calc(min(84vw,calc(80svh * .716),30rem) / 20)}
.holo.on .hc{animation:clIn .7s cubic-bezier(.16,1,.3,1) both}@keyframes clIn{from{opacity:0;transform:translateY(18px) scale(.96)}}
.hc__aura{position:absolute;inset:-18% -16%;z-index:0;pointer-events:none;opacity:calc(.62 + var(--lift)*.38);background:radial-gradient(54% 44% at 50% 44%,rgba(230,176,110,.4),rgba(154,98,74,.14) 44%,transparent 70%)}
.hc__in{position:absolute;inset:0;z-index:1;transform-style:preserve-3d;transform:rotateX(var(--rx)) rotateY(var(--ry));transition:transform .85s cubic-bezier(.16,1,.3,1)}
.hc.flip .hc__in{transform:rotateX(var(--rx)) rotateY(calc(180deg + var(--ry)))}.hc.live .hc__in{transition:transform .5s cubic-bezier(.16,1,.3,1)}
.hc__face{position:absolute;inset:0;border-radius:4.2%/3%;overflow:hidden;isolation:isolate;backface-visibility:hidden;-webkit-backface-visibility:hidden;box-shadow:0 34px 70px -26px rgba(0,0,0,.9),0 4px 14px -6px rgba(0,0,0,.55);background:linear-gradient(160deg,#2b2423,#14110f 60%,#0a0808);color:#EADFC9;text-align:left}
.hc__back{transform:rotateY(180deg)}
.hc__top{position:absolute;left:8.4%;top:5.5%;font:600 .62em/1 ui-monospace,Menlo,monospace;letter-spacing:.28em;text-transform:uppercase;color:#D6B26E}
.hc__win{position:absolute;left:8.41%;top:14.8%;width:83.18%;height:50%;display:grid;place-items:center;border-radius:.6em;overflow:hidden;background:radial-gradient(70% 60% at 50% 40%,#3a302c,#1b1615);box-shadow:inset 0 0 0 1px rgba(214,178,110,.35)}
.hc__win img{width:62%;height:auto;aspect-ratio:1;border-radius:50%;object-fit:contain;transform:translate3d(calc(var(--px)*3%),calc(var(--py)*3%),0);box-shadow:0 0 0 .35em rgba(214,178,110,.35)}
.hc__name{position:absolute;left:8.4%;right:8.4%;top:70%;font-size:1.9em;font-weight:700;letter-spacing:-.02em;color:#F3EEEC}
.hc__sub{position:absolute;left:8.4%;right:8.4%;top:79.5%;font:500 .6em/1.4 ui-monospace,Menlo,monospace;letter-spacing:.16em;text-transform:uppercase;color:rgba(232,228,224,.6)}
.hc__sc{position:absolute;left:8.4%;right:8.4%;top:16%;list-style:none;margin:0;padding:0;display:grid;gap:2.4em}
.hc__sc li{display:grid;grid-template-columns:1fr auto;gap:.5em .6em;align-items:end}.hc__sc span{font-size:.95em;font-weight:600;color:#F3EEEC}.hc__sc b{font-size:1.6em;font-weight:700;color:#D6B26E}.hc__sc small{font-size:.5em;color:rgba(232,228,224,.55);margin-left:.15em}
.hc__sc i{grid-column:1/-1;height:.3em;border-radius:1em;background:rgba(232,228,224,.14);position:relative;overflow:hidden}.hc__sc i::after{content:"";position:absolute;inset:0;transform-origin:0 50%;transform:scaleX(var(--v));background:linear-gradient(90deg,#a98747,#D6B26E 60%,#efdfb2);border-radius:inherit}
.hc__glare{position:absolute;inset:0;pointer-events:none;overflow:hidden;mix-blend-mode:soft-light}.hc__glare::before{content:'';position:absolute;inset:-50%;transform:translate3d(calc(var(--px)*23%),calc(var(--py)*21%),0);background:radial-gradient(21% 16% at 50% 44%,rgba(255,251,238,.55),rgba(255,248,230,.12) 44%,transparent 72%)}
.hc__rim{position:absolute;inset:0;pointer-events:none;border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(255,226,170,.3),inset 0 0 26px -6px rgba(0,0,0,.55)}
.hc__hint{font:500 .6875rem/1 ui-monospace,Menlo,monospace;letter-spacing:.14em;text-transform:uppercase;color:rgba(232,228,224,.6)}.hc__ht{display:none}@media(hover:none){.hc__hm{display:none}.hc__ht{display:inline}}
.holo__x{position:absolute;top:max(1rem,env(safe-area-inset-top));right:max(1rem,env(safe-area-inset-right));z-index:2;display:inline-flex;align-items:center;gap:.5rem;min-height:44px;padding:0 1rem;border-radius:999px;border:1px solid rgba(255,255,255,.2);background:rgba(20,18,18,.6);color:#F3EEEC;font:600 .8125rem/1 var(--font);cursor:pointer}.holo__x svg{width:1rem;height:1rem}

/* small screens: menu left, time right, one door at a time */
@media(max-width:1099px){.hdr__right{display:contents}.hdr__in nav{display:none}.menu-btn{order:0}.clock{order:1;margin-left:auto}}
@media(max-width:520px){.h1{font-size:9vw}}
.doors__dots{display:none}
@media(max-width:767px){
.doors__row{justify-content:flex-start;overflow-x:auto;scroll-snap-type:x mandatory;gap:1.5rem;padding:2.5rem calc(50% - 8.2rem) 0;max-width:none;margin-inline:-1.25rem;width:calc(100% + 2.5rem);scrollbar-width:none;-webkit-overflow-scrolling:touch}
.doors__row::-webkit-scrollbar{display:none}
.unit{flex:0 0 16.4rem;max-width:none;scroll-snap-align:center}
.doors__dots{display:flex;justify-content:center;gap:.25rem;margin-top:1.2rem}
.doors__dots i{display:block;height:.25rem;width:.375rem;border-radius:9999px;background:rgba(var(--fgr),.2);transition:all .3s}.doors__dots i.on{width:1rem;background:rgba(var(--fgr),.7)}
}
.navm .shell{width:100%}

@media(max-width:767px){.cord{top:66px;right:.5rem;height:200px;width:36px}}
@media(max-width:520px){.mform__bot{flex-wrap:wrap;row-gap:.8rem}.mform__bot small{order:3;flex:1 0 100%}#mSend{white-space:nowrap;margin-left:auto}#mSend .pill__in{white-space:nowrap}}
@media(max-width:520px){.mform__bot small{display:none}.modal__panel{max-height:calc(100dvh - 2rem);overflow:auto}}

@media(max-width:1920px){html{font-size:.833333vw}}@media(max-width:1440px){html{font-size:1.111111vw}}@media(max-width:1024px){html{font-size:1.5625vw}}@media(max-width:640px){html{font-size:4.444444vw}}

@media(min-width:1024px){.hero__content{min-height:calc(100svh - 3.5rem);display:flex;flex-direction:column;justify-content:center;padding-top:7rem;padding-bottom:4rem}}
.clock{font-size:.875rem}
.hdr__in{padding-block:1.5rem}.hdr.stuck .hdr__in{padding-block:.85rem}.clock{padding:.6rem .9rem;gap:.75rem}

:root{--wall-hi:#E4DFDB;--wall:#DAD4CF;--base:#EAE6E2;--floor:#C2AE98;--floor-2:#A8937E}
html[data-mode=dark]{--wall-hi:#262222;--wall:#1F1C1C;--base:#2F2A2A;--floor:#2B221C;--floor-2:#1A1410}
.doors,html[data-mode=dark] .doors{background:linear-gradient(180deg,rgba(0,0,0,.05) 0%,transparent 22%,transparent 78%,rgba(0,0,0,.07) 100%),linear-gradient(180deg,var(--wall-hi) 0%,var(--wall) 55%);padding-bottom:0}
.doors__row{position:relative}
.doors__row::after{content:"";position:absolute;left:-50vw;right:-50vw;bottom:0;height:1.5rem;z-index:-1;background:linear-gradient(180deg,rgba(255,255,255,.55) 0,rgba(255,255,255,.55) 1px,rgba(0,0,0,.06) 2px,transparent 4px,transparent 7px,rgba(0,0,0,.05) 8px,rgba(255,255,255,.25) 9px,transparent 11px,rgba(0,0,0,.08) 100%),var(--base);box-shadow:0 -1px 0 rgba(0,0,0,.07),0 -.5rem .9rem -.45rem rgba(0,0,0,.16)}
html[data-mode=dark] .doors__row::after{background:linear-gradient(180deg,rgba(255,255,255,.06) 0,rgba(255,255,255,.06) 1px,rgba(0,0,0,.3) 2px,transparent 4px,transparent 7px,rgba(0,0,0,.25) 8px,transparent 11px,rgba(0,0,0,.3) 100%),var(--base);box-shadow:0 -1px 0 rgba(0,0,0,.4),0 -.5rem .9rem -.45rem rgba(0,0,0,.5)}
.doors__floor,html[data-mode=dark] .doors__floor{display:block;position:relative;height:6.5rem;overflow:hidden;perspective:22rem;perspective-origin:50% 0;background:var(--floor-2);margin-top:0;box-shadow:none}
.doors__floor::after{content:"";position:absolute;left:-60%;right:-60%;top:0;height:600%;transform-origin:50% 0;transform:rotateX(72deg);background:repeating-linear-gradient(90deg,rgba(0,0,0,.22) 0 2px,transparent 2px 140px),repeating-linear-gradient(90deg,rgba(255,255,255,.07) 0 140px,rgba(0,0,0,.05) 140px 280px,rgba(255,255,255,.02) 280px 420px,rgba(0,0,0,.08) 420px 560px,transparent 560px 700px),var(--floor)}
.doors__floor::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(0,0,0,.22),transparent 28%),linear-gradient(180deg,transparent 40%,rgba(0,0,0,.12))}
@media(min-width:768px){.dinfo{position:absolute;left:0;right:0;bottom:.9rem;margin:0 auto;min-height:0;z-index:3;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.45)}.dinfo p{color:rgba(255,255,255,.85)}.dinfo h3{font-size:1.15rem}.dinfo p{font-size:.85rem;margin-top:.2rem}}
@media(max-width:1023px){.h1{font-size:2.625rem;line-height:.98}.paint{font-size:2.15rem;line-height:1.17}.unit{flex:0 0 11.4rem}.doors{padding-top:5.25rem}.doors__row{padding-top:3.6rem;gap:1.5rem}.clock{font-size:.8125rem;padding:.55rem .8rem;gap:.5rem}.hdr__in{padding-block:1.1rem}}
@media(max-width:767px){.h1{font-size:2.2rem}.doors .shell{display:flex;flex-direction:column}.paint{order:1;text-align:left}.dinfo{order:2;text-align:left;margin:1.4rem 0 0;padding-top:1.2rem;border-top:1px solid rgba(var(--fgr),.18);min-height:0;position:static;color:inherit;text-shadow:none}.dinfo h3{font-size:1.4rem}.dinfo p{font-family:ui-monospace,Menlo,monospace;font-size:.62rem;letter-spacing:.06em;text-transform:uppercase;margin-top:.5rem;color:rgba(var(--fgr),.75)}.doors__dots{order:3;margin:1rem 0 0;justify-content:flex-start}.doors__row{order:4}}
@media(max-width:767px){.cal{margin-top:.9rem}}
@media(max-width:767px){.cord{top:62px;height:150px}}
@media(min-width:768px){.doors__floor,html[data-mode=dark] .doors__floor{height:8rem}.dinfo{bottom:1.1rem}.dinfo h3{font-size:1.05rem}.dinfo p{font-size:.8rem}}
@media(min-width:768px){.doors .shell{position:static}}
@media(min-width:1024px){
.story{height:calc(var(--n)*28vh + 100vh)}
.story__stage{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:3.5rem}
.story__when{font:600 .8125rem ui-monospace,monospace;margin-top:1.1rem}.story__count{font-weight:600;font-size:.875rem}
.ch__t{font-size:2.15rem}
.sf__in{padding:7rem 5.5rem 1.75rem}.sf__eye{font-size:.8125rem;font-weight:500}.sf__h{font-size:6.5rem;font-weight:600;letter-spacing:-.035em}.sf__p{font-size:1.0625rem;max-width:32.5rem}.sf__btn{font-weight:600;min-height:3.5rem}
}
@media(max-width:639px){.cal{font-size:.9em}.cal__word{white-space:normal;line-height:1.02;padding:.15em .3em 0}.cal__body{height:2.45em}.cal{margin-top:1rem}}
.hero h1{position:relative;z-index:6}.cal{z-index:1}
.h1 .line{position:relative;z-index:7}.h1 .cal{position:relative;z-index:1}
.cal__leaf.flip .cal__page .cal__holes,.cal__leaf.flip .cal__back .cal__holes,.cal__leaf.flip .cal__rings{opacity:0!important}
.cal:has(.cal__leaf.flip) .cal__holes{opacity:0!important}
@media(min-width:1024px){.sf__h{margin-top:1.2rem}.sf__p{margin-top:1.2rem}.sf__cta{margin-top:1.3rem}.sf__cols{margin-top:3rem}.sf__bot{margin-top:3rem}}
.cal__page,.cal__face,.cal__rear,.cal__back{overflow:hidden}.cal__word{overflow:hidden}

.hero__stage{right:max(2rem,6vw);bottom:0;width:clamp(240px,29vw,420px);aspect-ratio:348/688;z-index:1}
.fig{border-radius:0;box-shadow:none}.fig img{filter:drop-shadow(0 18px 30px rgba(0,0,0,.28))}
@media(max-width:1023px){.hero__stage{width:210px;right:.5rem;bottom:0}}

.hero__stage{right:max(2rem,8vw);width:clamp(220px,24vw,360px);aspect-ratio:348/688;z-index:3;pointer-events:none}
.hero__bar span{position:relative;z-index:6}.hero__bar>:last-child{display:none}
@media(max-width:1023px){.hero__stage{width:190px;right:.5rem}}
.hero__bar .mid,.hero__bar>:last-child{display:none!important}
@media(max-width:1023px){.hero__stage{width:175px}}
@media(max-width:1023px){.hero__stage{bottom:-3.2rem}}

.hero__bar .mid{display:block!important}.hero__bar>:last-child{display:block!important}
@media(max-width:759px){.hero__bar .mid{display:none!important}}
.hero__stage{bottom:3.5rem!important;aspect-ratio:348/530;width:clamp(200px,25vw,380px)}
@media(max-width:1023px){.hero__stage{width:170px;bottom:3.5rem!important}}

dialog.navm,dialog.modal{border:0;margin:0;padding:0;max-width:none;max-height:none;width:100%;height:100%;inset:0;color:inherit;overflow:auto}
dialog.navm{background:#1A1818;color:#E8E4E0;padding:1.4rem 0;flex-direction:column}dialog.navm[open]{display:flex}
dialog.modal{background:rgba(10,9,9,.55);padding:1rem;place-items:center}dialog.modal[open]{display:grid}
dialog.navm::backdrop,dialog.modal::backdrop{background:transparent}
dialog.navm[hidden],dialog.modal[hidden]{display:none}
/* framed mode: the shell sizes this page to its content, so nothing may depend on viewport height or scroll position */
html.fr .loader,html.fr .totop{display:none!important}html.fr body{position:relative}html.fr .veil{position:absolute;inset:0;height:100%}
html.fr .hdr,html.fr .cord{position:absolute}
html.fr .hero{min-height:44rem}html.fr .hero__content{min-height:40.5rem}
html.fr .sp{min-height:44rem}
html.fr .story{height:auto;padding:5rem 0}html.fr .story__pin{position:static;height:auto;overflow:visible}html.fr .story__stage{height:auto}html.fr .story__line{display:block;height:auto;overflow:visible;padding-left:0}html.fr .story__list{position:static}html.fr .ch{opacity:1}
html.fr .story__track{position:static}html.fr .story__amb{display:none}html.fr .story__line::before{display:none}html.fr .ch{padding-left:0}html.fr .ch::before{display:none}html.fr .story__stage{padding-block:0}html.fr .story__list{display:grid;gap:3rem;margin-top:2.5rem}html.fr .ch{margin-bottom:0}html.fr .story__yr,html.fr .story__when,html.fr .story__meter{display:none}
dialog.holo{border:0;margin:0;padding:0;max-width:none;max-height:none;width:100%;height:100%;inset:0;color:inherit;overflow:hidden}dialog.holo::backdrop{background:transparent}dialog.holo[open]{display:grid}dialog.holo[hidden]{display:none}
@media(max-width:1023px){html.fr .hero{min-height:52rem}}
html.fr [id]{scroll-margin-top:66px}html.fr #home{scroll-margin-top:86px}
@media(min-width:1024px){html.fr .hero{min-height:36rem}html.fr .hero__content{min-height:32.5rem}}
@media(min-width:1024px){html.fr .hero__stage{width:17.6rem!important}}
html.fr #home{scroll-margin-top:62px}html.fr [id=main],html.fr #site{scroll-margin-top:0}
@media(min-width:1024px){html.fr .hero{min-height:32.5rem}html.fr .hero__content{min-height:29rem}html.fr .hero__stage{width:16.2rem!important}}
@media(min-width:1024px){html.fr .hero__content{padding-top:5.5rem!important;padding-bottom:3.4rem!important;min-height:0}html.fr .hero{min-height:0}}
@media(min-width:1024px){html.fr .hero__content{padding-bottom:3.8rem!important}}
@media(min-width:1024px){html.fr .hero__content{padding-top:4.7rem!important;padding-bottom:2.6rem!important}}
@media(min-width:1024px){html.fr .hero__content{padding-top:4.2rem!important;padding-bottom:3.6rem!important}}
/* motion additions */
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@keyframes sway{0%,100%{transform:rotateX(10deg) rotateY(-9deg)}50%{transform:rotateX(8deg) rotateY(-6deg)}}
@keyframes popin{from{opacity:0;transform:translateY(22px) scale(.97)}to{opacity:1;transform:none}}
@keyframes sheen{from{background-position:-120% 0}to{background-position:220% 0}}
.hero__stage .fig{animation:floaty 6s ease-in-out 1.8s infinite}
.cal__body{animation:sway 5s ease-in-out 1.5s infinite;transform-origin:50% 0}
.pill,.sf__btn,.sf__ghost{transition:transform .25s var(--e-soft),box-shadow .25s}
.pill:hover,.sf__btn:hover,.sf__ghost:hover{transform:translateY(-3px);box-shadow:0 14px 26px -14px rgba(0,0,0,.45)}
.pill:active,.sf__btn:active,.sf__ghost:active{transform:translateY(0) scale(.97)}
.nav button,.nav a{position:relative}
.nav button::after,.nav a::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .3s var(--e-soft)}
.nav button:hover::after,.nav a:hover::after{transform:scaleX(1)}
.doorway:hover{transform:translateY(-6px)}
.doorway:hover .door{transform:rotateY(-24deg)}
.unit{animation:popin .8s var(--e-soft) both}.unit:nth-child(2){animation-delay:.12s}.unit:nth-child(3){animation-delay:.24s}
.sp__does>*,.sp__does li{animation:popin .7s var(--e-soft) both}
.sp__does>*:nth-child(2),.sp__does li:nth-child(2){animation-delay:.12s}.sp__does>*:nth-child(3),.sp__does li:nth-child(3){animation-delay:.24s}
.sp__lead,.sp .eyebrow{animation:popin .7s var(--e-soft) both}
.proj{transition:transform .3s var(--e-soft),box-shadow .3s}.proj:hover{transform:translateY(-4px);box-shadow:0 18px 34px -18px rgba(0,0,0,.4)}
.ch{animation:popin .8s var(--e-soft) both}.ch:nth-child(2){animation-delay:.1s}.ch:nth-child(3){animation-delay:.2s}.ch:nth-child(4){animation-delay:.3s}
.sf__h{background:linear-gradient(100deg,currentColor 40%,rgba(255,255,255,.65) 50%,currentColor 60%) 0 0/250% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:sheen 5s ease-in-out 1s infinite}
@media(prefers-reduced-motion:reduce){.hero__stage .fig,.cal__body,.sf__h{animation:none!important}.sf__h{-webkit-text-fill-color:currentColor}}
@media(min-width:1024px){html.fr .story__stage{align-items:start}html.fr .story__h{padding-top:2rem}}
.sf__ghost{display:inline-flex;align-items:center;justify-content:center}
/* door: black interior, wide hover swing, zoom-through on click (matches reference video) */
.room{background:radial-gradient(90% 70% at 50% 100%,#0d0b0b,#000 70%);opacity:1}
.door{transition:transform .55s cubic-bezier(.22,1,.36,1)}
@media(hover:hover){.doorway:hover .door,.doorway:focus-visible .door{transform:rotateY(-62deg)}}
.unit.go{position:relative;z-index:6}
.unit.go .doorway{transform-origin:50% 58%;transform:translateX(var(--dx,0px)) scale(11);transition:transform 1s cubic-bezier(.6,0,.85,.35)!important}
.unit.go .door{transform:rotateY(-84deg);transition:transform .6s cubic-bezier(.22,1,.36,1)}
.doors:has(.unit.go) .unit:not(.go){opacity:0;transition:opacity .4s}
.veil{transition:opacity .55s ease}

.veil{background:#000}

.dinfo__b{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:.4rem .9rem;margin-top:.55rem;padding:0}.dinfo__b li{font-size:.8rem;display:flex;align-items:center;gap:.4rem;opacity:.85}.dinfo__b li::before{content:'';width:.32rem;height:.32rem;border-radius:50%;background:currentColor;opacity:.7}@media(max-width:767px){.dinfo__b{justify-content:flex-start}}

@media(min-width:1024px){
html.fr .story{position:relative;height:calc(var(--n)*300px + 540px);padding:0}
html.fr .story__track{position:absolute;inset:0}
html.fr .story__amb{display:block}
html.fr .story__pin{position:absolute;top:0;left:0;right:0;height:540px;overflow:hidden;will-change:transform}
html.fr .story__stage{height:100%;align-items:center;padding-block:0}
html.fr .story__h{padding-top:0}
html.fr .story__yr{display:flex}html.fr .story__when{display:block}html.fr .story__meter{display:flex}
html.fr .story__line{display:block;height:100%;overflow:hidden}
html.fr .story__line::before{display:block}
html.fr .story__list{position:absolute;display:block;gap:0;margin-top:0;left:0;right:0;top:50%}
html.fr .ch{opacity:.42;padding-left:2.8rem;margin-bottom:5.5rem}html.fr .ch.on{opacity:1}
html.fr .ch::before{display:block}
.dinfo__b{display:none}
.dbul{position:absolute;left:calc(100% + .45rem);top:36%;width:5.6rem;list-style:none;margin:0;padding:0;display:grid;gap:.55rem;opacity:0;transform:translateX(-.5rem);transition:opacity .35s,transform .35s;pointer-events:none;z-index:4;color:rgb(var(--fgr))}
.dbul li{font-size:.74rem;line-height:1.25;position:relative;padding-left:.8rem}.dbul li::before{content:'';position:absolute;left:0;top:.38em;width:.34rem;height:.34rem;border-radius:50%;background:currentColor;opacity:.7}
.unit:hover .dbul,.unit:focus-within .dbul{opacity:1;transform:none}
}
@media(max-width:1023px){.dbul{display:none}}

.hang{margin:3.2rem 0 0;overflow-x:auto;padding:0 0 2.5rem;scrollbar-width:thin;cursor:grab}
.hang__track{display:flex;gap:1.6rem;width:max-content;padding-top:4.2rem;position:relative}
.hang__track::before{content:"";position:absolute;left:-2rem;right:-2rem;top:1rem;height:2px;background:rgba(var(--fgr),.38)}
.hg{width:17.5rem;flex:0 0 auto;position:relative;margin:0;transform-origin:50% -3.2rem;animation:hgsway 5.5s ease-in-out infinite alternate;animation-delay:var(--d,0s)}
.hg:hover{animation-play-state:paused}
@keyframes hgsway{from{transform:rotate(calc(var(--r)*-1))}to{transform:rotate(var(--r))}}
.hg__str{position:absolute;left:50%;top:-3.2rem;width:2px;height:3.2rem;background:rgba(var(--fgr),.38);display:block}
.hg__str::before{content:"";position:absolute;left:-3px;top:-4px;width:8px;height:8px;border-radius:50%;background:rgb(var(--fgr))}
.hg__f{height:100%;min-height:15rem;padding:1.3rem;border:1px solid var(--line);border-radius:1.25rem;background:rgba(var(--fgr),.05);box-shadow:0 18px 30px -22px rgba(0,0,0,.6);transition:opacity .8s,transform .8s cubic-bezier(.2,.8,.2,1);transition-delay:calc(var(--i,0)*.12s)}
.hg__n{display:block;font:600 .72rem ui-monospace,monospace;letter-spacing:.14em;color:var(--muted)}
.hg__f h3{margin-top:.7rem;font-size:1.3rem;letter-spacing:-.02em;line-height:1.15}.hg__f p{margin-top:.6rem;line-height:1.5;color:rgba(var(--fgr),.75)}
.hg--work .hg__f{min-width:0}.hg--work img{width:100%;height:auto;display:block;border-radius:.8rem;margin-bottom:.9rem}
.hg__f a{display:inline-block;margin-top:.9rem;font-weight:500;text-decoration:underline}
.rvjs .hang.rv:not(.in) .hg__f{opacity:0;transform:translateY(34px)}
.rvjs .ctas.rv:not(.in),.rvjs .sp__bk.rv:not(.in){opacity:0;transform:translateY(24px)}.ctas.rv,.sp__bk.rv{transition:opacity .8s,transform .8s}
@media(prefers-reduced-motion:reduce){.hg{animation:none}}
.hang{scrollbar-color:rgba(var(--fgr),.35) transparent;padding-left:.7rem;margin-left:-.7rem}
.hang::-webkit-scrollbar{height:8px}.hang::-webkit-scrollbar-track{background:transparent}.hang::-webkit-scrollbar-thumb{background:rgba(var(--fgr),.3);border-radius:8px}
.hang__track{align-items:flex-start}.hg__f{height:auto;min-height:0}

@media(min-width:1024px){
.doors__row .unit{transition:filter .5s}
.doors__row:has(.doorway:hover) .unit:not(:hover){filter:brightness(.4) saturate(.7)}
.doors__row.hov }
@media(hover:none){}
.doors{overflow-x:clip!important}
html[data-mode=dark] .modal__panel{background:#1f1c1c;color:#E8E4E0;border:1px solid rgba(255,255,255,.1);color-scheme:dark}
html[data-mode=dark] .modal__panel .mform .pill--dark,html[data-mode=dark] .modal__panel .pill--dark{--btn-bg:#E8E4E0;--btn-fg:#1A1818}
html[data-mode=dark] .modal__panel input,html[data-mode=dark] .modal__panel textarea,html[data-mode=dark] .modal__panel select{background:#2a2626;color:#E8E4E0;border-color:rgba(255,255,255,.18)}
html[data-mode=dark] .modal__panel button:not(.pill):not(.modal__x){background:#2a2626;color:#E8E4E0;border-color:rgba(255,255,255,.18)}
html[data-mode=dark] .modal__panel small,html[data-mode=dark] .modal__panel .qz__n{color:#a79f9f}
html[data-mode=dark] .modal__panel .qz__err{color:#ff8b84}
html[data-mode=dark] .qz__bar{background:rgba(255,255,255,.18)}html[data-mode=dark] .qz__bar i{background:#E8E4E0}
html[data-mode=dark] .modal__panel .qz label{color:#d9d2d2}
html[data-mode=dark] .modal__panel input::placeholder,html[data-mode=dark] .modal__panel textarea::placeholder{color:#a79f9f}
html[data-mode=dark] .msuccess p{color:#d9d2d2}html[data-mode=dark] .msuccess a:not(.pill){color:#E8E4E0}
html[data-mode=dark] .msuccess .pill{--btn-bg:#E8E4E0!important;--btn-fg:#1A1818!important}
html:not([data-mode=dark]) .dinfo h3{color:#241a14;text-shadow:none}html:not([data-mode=dark]) .dinfo p{color:#3a2d24;text-shadow:none}

.doors__row.zoom{transform-origin:var(--ox,50%) 58%;transform:scale(11);transition:transform 1s cubic-bezier(.6,0,.85,.35);position:relative;z-index:6}@media(max-width:767px){.unit.go .doorway{transform:none!important}}.sp__bk{padding-block:0 3rem}.sp__pill{display:inline-flex;align-items:center;gap:.5rem;padding:.7rem 1.1rem;border-radius:99px;border:1px solid rgba(var(--fgr),.25);text-decoration:none;font-size:.9rem;color:var(--fg);background:rgba(var(--fgr),.06);transition:transform .3s,background .3s}.sp__pill:hover{transform:translateX(-3px);background:rgba(var(--fgr),.12)}
.spview{position:fixed;inset:0;z-index:45;overflow:auto;background:var(--bg);color:var(--fg)}.spview[hidden]{display:none}html.fr .spview{position:static;overflow:visible;min-height:44rem}html.fr body.inview #site>:not(.spview):not(.hdr):not(.cord):not(dialog){display:none}.spview .sp{padding-bottom:3rem}body.inview .hdr{background:var(--bg);box-shadow:0 1px 0 rgba(var(--fgr),.08)}body.inview .hdr__in{padding-block:.85rem}
html.fr .hdr.stuck::before{content:"";position:absolute;left:0;right:0;bottom:100%;height:140px;background:var(--bg);pointer-events:none}
/* reference-matched door geometry (measured on reference at 1366x768) */
.doors__floor,html[data-mode=dark] .doors__floor{display:none!important}
.opening{left:7.5cqi;right:7.5cqi;top:7.5cqi}
.room{background:#fbfaf8;opacity:1;border-radius:42.5cqi 42.5cqi 0 0;box-shadow:inset 2cqi 0 4cqi rgba(26,24,24,.1),inset 0 2cqi 4cqi rgba(26,24,24,.1)}
.door__flute{left:8cqi;right:8cqi;top:8cqi;bottom:9cqi;border-radius:34.5cqi 34.5cqi 1.2cqi 1.2cqi;background:repeating-linear-gradient(90deg,rgba(255,255,255,.075) 0,rgba(255,255,255,.02) 1cqi,rgba(0,0,0,.13) 2.1cqi,rgba(255,255,255,.075) 2.8cqi);box-shadow:inset 0 0 0 .3cqi rgba(0,0,0,.16),inset 1cqi 1.2cqi 2cqi rgba(0,0,0,.28),inset -.6cqi -.6cqi 1.1cqi rgba(255,255,255,.07)}
.door{box-shadow:inset 0 0 0 .3cqi rgba(0,0,0,.28),inset .6cqi 0 0 0 rgba(255,255,255,.05)}
.handle{right:auto;left:68.6cqi;top:59%;width:9.4cqi;height:9.4cqi;border-radius:50%;background:radial-gradient(circle at 36% 30%,#fff6dc 0,#e6cb8a 14%,#b8934c 40%,#80602a 70%,#4d3816 100%);box-shadow:0 0 0 .35cqi rgba(0,0,0,.22),.9cqi 1.5cqi 2cqi rgba(0,0,0,.45)}
.handle__lever{right:auto;left:-17.2cqi;top:2.75cqi;width:23cqi;height:3.9cqi;border-radius:2.4cqi 1.6cqi 1.6cqi 2.4cqi;background:linear-gradient(#fff5d6,#ecd395 16%,#c39d55 42%,#8e6a2d 72%,#5c4119);box-shadow:.3cqi 2.4cqi 2.2cqi rgba(0,0,0,.38)}
.handle__lever::after{display:none}
.handle__lock{right:auto;left:4.7cqi;top:15.9cqi;width:5.4cqi;height:10.5cqi;border-radius:2.7cqi;background:radial-gradient(at 38% 28%,#fff3d0,#d9b86f 22%,#a07b37 55%,#5e4419);box-shadow:0 0 0 .3cqi rgba(0,0,0,.2),.6cqi 1cqi 1.4cqi rgba(0,0,0,.42)}
.sill{left:3cqi;right:3cqi;height:1cqi;border-radius:1cqi;background:transparent}
.doorway:hover .door,.doorway:focus-visible .door{transform:none}
@media(hover:hover){.doorway:hover .door,.doorway:focus-visible .door{transform:none}}
.doors__row:has(.doorway:hover) .unit:not(:hover){filter:none}
@media(min-width:768px){.dinfo{display:none}}
.dbul{display:none!important}
/* mobile menu matched to reference (measured at 390x844) */
.navm .brand{display:inline-flex;align-items:center;gap:.5rem;font-size:1.25rem;font-weight:600}.navm .brand svg{width:1.4rem;height:1.4rem;color:#e8c3b4}
.navm .close-btn{border:1px solid rgba(255,255,255,.15);border-radius:15px;padding:.52rem 1.08rem;font-size:.8125rem;text-transform:uppercase;letter-spacing:.05em}
.navm__nav{align-items:flex-start;padding-top:2.05rem}
.navm__nav ul{list-style:none;margin:0;padding:0;width:100%}
.navm__nav button{font-size:clamp(2rem,10vw,3.4rem);display:flex;align-items:baseline;gap:.8rem;color:#fff;opacity:.78;padding:.45rem 0}
.navm__nav button small{font-size:1.08rem;font-weight:400;letter-spacing:-.045em;color:rgba(255,255,255,.3);min-width:1.3rem}
.navm__bot{flex-direction:column;align-items:flex-start;gap:1rem;border-top:1px solid rgba(255,255,255,.12);padding-top:1.4rem;font-size:.8125rem;text-transform:uppercase;letter-spacing:.05em;color:rgba(255,255,255,.55)}
.navm__bot [data-navtime]::before{content:" — "}
.navm__bot button{text-transform:uppercase;letter-spacing:.05em;font-size:.8125rem;padding:0;min-height:44px;display:flex;align-items:center}
/* wall spotlights: original procedural glow, one per door, 303.6px pitch like the reference (measured) */
.doors{background-image:radial-gradient(ellipse 50% 36% at 50% 27%,rgba(255,251,244,.72),rgba(255,251,244,.28) 55%,rgba(255,251,244,0) 100%),linear-gradient(180deg,rgba(0,0,0,.05) 0%,transparent 22%,transparent 78%,rgba(0,0,0,.07) 100%),linear-gradient(180deg,var(--wall-hi) 0%,var(--wall) 55%);background-size:303.6px 100%,auto,auto;background-repeat:repeat-x,no-repeat,no-repeat;background-position:calc(50% - 151.8px) 0,0 0,0 0}
html[data-mode=dark] .doors{background-image:radial-gradient(ellipse 50% 36% at 50% 27%,rgba(255,236,210,.08),rgba(255,236,210,0) 100%),linear-gradient(180deg,rgba(0,0,0,.05) 0%,transparent 22%,transparent 78%,rgba(0,0,0,.07) 100%),linear-gradient(180deg,var(--wall-hi) 0%,var(--wall) 55%)}
/* footer headline: second line muted, no sheen (reference has none) */
.sf__h{background:none;-webkit-background-clip:border-box;background-clip:border-box;-webkit-text-fill-color:currentColor;animation:none}
.sf__h span{color:rgba(232,228,224,.42);-webkit-text-fill-color:rgba(232,228,224,.42)}
@media(min-width:1024px){.sf__h{font-size:clamp(2.6rem,7.22vw,6.17rem);font-weight:600;letter-spacing:-.035em}}
/* animations that exist on the reference: arrow nudge, green dot pulse. Ambient float/sway/sheen removed (not on reference) */
.hero__bar i{font-style:normal;display:inline-block;animation:nudge 1.8s cubic-bezier(.2,.8,.2,1) infinite}
@keyframes nudge{0%,100%{transform:translateY(0)}50%{transform:translateY(3px)}}
.sf__eye i{width:8px;height:8px;background:#8fbf7a;box-shadow:0 0 0 0 rgba(143,191,122,.5);animation:sfPulse 2.2s ease-out infinite}
@keyframes sfPulse{0%{box-shadow:0 0 0 0 rgba(143,191,122,.5)}70%{box-shadow:0 0 0 .55rem rgba(143,191,122,0)}100%{box-shadow:0 0 0 0 rgba(143,191,122,0)}}
.hero__stage .fig,.cal__body{animation:none!important}
@media(prefers-reduced-motion:reduce){.hero__bar i,.sf__eye i{animation:none}}
/* mobile pinned doors (reference: scroll drives the row, one door per stage) */
@media(max-width:767px){
.doors{height:calc(100svh + 120svh);padding-top:0!important;overflow:clip!important}
.doors>.shell{position:sticky!important;top:0;height:100svh;padding-top:5.4rem;overflow:hidden;box-sizing:border-box}
.doors__row{overflow:visible!important;scroll-snap-type:none!important;will-change:translate}
.doors__dots{margin-top:1.1rem}
}
/* mobile story: compact sticky chapter clock (reference) */
@media(max-width:1023px){
.story__stage{display:block!important}
.story__clock{position:sticky;top:0;z-index:5;margin:0 -1.25rem;padding:4.9rem 1.25rem .9rem;background:#f6f3ef;border-radius:0 0 1.6rem 1.6rem;box-shadow:0 10px 24px -14px rgba(0,0,0,.25)}
html[data-mode=dark] .story__clock{background:#1a1616}
.story__clock .eyebrow{display:none}
.story__h{margin-top:0;font-size:2.1rem!important}
.story__yr{display:flex!important;font-size:3.6rem!important;margin-top:.5rem}
.story__when{display:block!important;margin-top:.5rem;font-size:.62rem}
.story__meter{display:flex!important;margin-top:.6rem}
.story__bar{width:7rem}
.story__list{margin-top:2rem!important}
.story{padding-top:0!important}
.ch.on{opacity:1}
}
@media(max-width:767px){.doors__row{gap:5rem!important}}
@media(max-width:1023px){.story__line{padding-bottom:62svh}.story__h{font-size:1.95rem!important}}
@media(max-width:767px){.doors__row{gap:9rem!important}}
@media(max-width:1023px){.story__line{padding-bottom:38svh!important}}
.hang__track{align-items:stretch!important}.hang__track .hg__f{height:100%!important;box-sizing:border-box}

@media(min-width:1024px){.hero__stage{width:clamp(180px,min(25vw,calc((100svh - 9.6rem - 4.2rem)*.6566)),380px)!important}}

/* ===== PREVIEW: door section realism (casing, plinth, bead, depth, plaster grain) ===== */
:root{--casing:#F2EFEC}
html[data-mode=dark]{--casing:#3A3434}
.casing{background:linear-gradient(90deg,rgba(0,0,0,.07),rgba(255,255,255,.18) 3cqi,transparent 6cqi,transparent calc(100% - 6cqi),rgba(0,0,0,.05) calc(100% - 3cqi),rgba(0,0,0,.12)),linear-gradient(180deg,rgba(255,255,255,.35),transparent 30%),var(--casing)!important;
 box-shadow:inset 0 0 0 1.1cqi rgba(255,255,255,.28),inset 0 0 0 1.5cqi rgba(0,0,0,.07),inset 0 0 0 3.6cqi rgba(255,255,255,.12),inset 0 0 0 4.1cqi rgba(0,0,0,.08),0 0 0 1px rgba(0,0,0,.06),1.5cqi 2.5cqi 4.5cqi rgba(26,24,24,.2),-.5cqi 1cqi 3cqi rgba(26,24,24,.08)!important}
html[data-mode=dark] .casing{background:linear-gradient(90deg,rgba(0,0,0,.25),rgba(255,255,255,.04) 3cqi,transparent 6cqi,transparent calc(100% - 6cqi),rgba(0,0,0,.3)),linear-gradient(180deg,rgba(255,255,255,.05),transparent 30%),var(--casing)!important;
 box-shadow:inset 0 0 0 1.1cqi rgba(255,255,255,.05),inset 0 0 0 1.5cqi rgba(0,0,0,.25),inset 0 0 0 3.6cqi rgba(255,255,255,.03),inset 0 0 0 4.1cqi rgba(0,0,0,.22),0 0 0 1px rgba(0,0,0,.4),1.5cqi 2.5cqi 5cqi rgba(0,0,0,.6)!important}
.casing::before{content:"";position:absolute;left:-1cqi;right:-1cqi;bottom:0;height:11cqi;z-index:1;background:var(--casing);-webkit-mask:linear-gradient(90deg,#000 0 8.5cqi,transparent 8.5cqi calc(100% - 8.5cqi),#000 calc(100% - 8.5cqi));mask:linear-gradient(90deg,#000 0 8.5cqi,transparent 8.5cqi calc(100% - 8.5cqi),#000 calc(100% - 8.5cqi));box-shadow:inset 0 .5cqi 0 rgba(255,255,255,.4),inset 0 1cqi 0 rgba(0,0,0,.08),inset 0 -.6cqi 1cqi rgba(0,0,0,.1)}
html[data-mode=dark] .casing::before{box-shadow:inset 0 .5cqi 0 rgba(255,255,255,.05),inset 0 1cqi 0 rgba(0,0,0,.3)}
.casing::after{content:"";position:absolute;left:4.6cqi;right:4.6cqi;top:4.6cqi;bottom:0;border-radius:45.4cqi 45.4cqi 0 0;border:.45cqi solid rgba(0,0,0,.07);border-bottom:0}
html[data-mode=dark] .casing::after{border-color:rgba(255,255,255,.05)}
.door{box-shadow:inset 0 0 0 .3cqi rgba(0,0,0,.28),inset .6cqi 0 0 rgba(255,255,255,.05)}
.door__flute{box-shadow:inset 0 0 0 .3cqi rgba(0,0,0,.16),inset 1cqi 1.2cqi 2cqi rgba(0,0,0,.28),inset -.6cqi -.6cqi 1cqi rgba(255,255,255,.07)}
.unit.on .casing{box-shadow:0 0 0 1px rgba(0,0,0,.06),2cqi 5cqi 9cqi rgba(26,24,24,.3),-1cqi 2cqi 5cqi rgba(0,0,0,.08),inset 0 1px 0 rgba(255,255,255,.55)!important}
html[data-mode=dark] .unit.on .casing{box-shadow:0 0 0 1px rgba(0,0,0,.06),2cqi 5cqi 9cqi rgba(0,0,0,.7),-1cqi 2cqi 5cqi rgba(0,0,0,.08),inset 0 1px 0 rgba(214,196,196,.22)!important}
/* procedural plaster grain (generated, not copied) */
.doors::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.5;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='260' height='260'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='2' seed='7'/%3E%3CfeColorMatrix values='0 0 0 0 .5 0 0 0 0 .45 0 0 0 0 .4 0 0 0 .16 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
html[data-mode=dark] .doors::before{opacity:.35;mix-blend-mode:screen}
/* PREVIEW: remove horizontal baseboard trim */
.doors__row::after,html[data-mode=dark] .doors__row::after{display:none!important}
/* PREVIEW: remove plinth blocks */
.casing::before,html[data-mode=dark] .casing::before{display:none!important}

.cal-line{padding-top:.3em;padding-bottom:.22em;margin-top:.12em}
.service-object{position:relative;display:block;width:min(555px,55vw);height:174px;font-size:1rem;perspective:900px;isolation:isolate}
.service-object__face{position:absolute;inset:0;display:flex;flex-direction:column;padding:15px 24px 14px 27px;z-index:3;overflow:hidden}
.service-object__top{display:flex;align-items:center;gap:8px;height:18px;font:600 9px/1 var(--font);letter-spacing:.17em}
.service-object__count{margin-left:auto;font-size:18px;font-variant-numeric:tabular-nums;letter-spacing:-.04em}
.service-object__title{display:block;position:relative;z-index:2;flex:1;font:650 39px/.98 var(--font);letter-spacing:-.035em;padding-top:9px;transition:opacity .25s,transform .4s cubic-bezier(.22,1,.36,1)}
.service-object.changing .service-object__title{opacity:0;transform:translateY(10px)}
.service-object__base{display:flex;align-items:center;gap:16px;min-height:20px}
.service-object__base svg{margin-left:auto;width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.5}
.service-object__nav{display:flex;gap:5px}
.service-object__nav i{width:5px;height:5px;border-radius:99px;background:currentColor;opacity:.2}.service-object__nav i.on{opacity:1;width:20px}
.service-object__led{height:5px;width:5px;background:currentColor;border-radius:99px}
.cards{transform:rotate(-2deg);margin-left:3px;color:#f5eee5}
.cards .service-object__face{border-radius:12px;background:linear-gradient(120deg,#773f49,#4e2633 65%,#3a202d);border:1px solid #a8787a;box-shadow:inset 0 1px 1px #d0a39a55,inset 0 -3px 6px #170a1899,0 14px 26px #0003}
.cards .service-object__face::before{content:"";position:absolute;right:-58px;top:-95px;width:230px;height:300px;border:1px solid #d2b5a33a;border-radius:50%;transform:rotate(35deg);box-shadow:0 0 0 21px #d2b5a30a,0 0 0 44px #d2b5a30a}
.cards .service-object__face::after{content:"";position:absolute;left:11px;top:14px;bottom:14px;width:3px;border-radius:2px;background:linear-gradient(#f7db9d,#957047 52%,#e7c798);box-shadow:1px 0 3px #0005}
.service-object__back{display:block;position:absolute;inset:0;border-radius:12px;transform-origin:85% 85%;z-index:1}
.cards .back-a{transform:rotate(4deg) translate(0,6px);background:linear-gradient(110deg,#ad9479,#8a715c);border:1px solid #d2b594;box-shadow:0 5px 10px #0004}
.cards .back-b{transform:rotate(7deg) translate(2px,10px);background:linear-gradient(130deg,#313e3d,#1d292a);border:1px solid #63716d;box-shadow:0 8px 15px #0004;z-index:0}
.cards .service-object__top{color:#e5c9b0}.cards .service-object__count{font-weight:400;color:#f5d7a3}.cards .service-object__ticks{height:13px;width:35px;background:repeating-linear-gradient(90deg,currentColor 0 1px,transparent 1px 4px);opacity:.45}
/* Alternate B: machined display with inset split-flap panels. */
.display{color:#f3e9d7;width:min(555px,55vw)}
.display .service-object__back{display:none}
.display .service-object__face{border-radius:13px;background:linear-gradient(150deg,#514943,#252321 45%,#171716);border:1px solid #77716b;padding:16px 23px 13px;box-shadow:inset 0 1px 0 #c4b8aa55,inset 0 -3px 1px #050505,0 11px 22px #0004}
.display .service-object__title{margin:7px 0 7px;padding:8px 15px;font-size:36px;line-height:1.02;flex:none;min-height:87px;border-radius:5px;background:linear-gradient(#161615 49%,#070707 49.4%,#070707 50.5%,#20201e 51%);box-shadow:inset 0 2px 6px #000b,0 1px 0 #85756655;text-shadow:0 1px 1px #000;letter-spacing:-.02em}
.display .service-object__title::before,.display .service-object__title::after{content:"";position:absolute;top:45%;width:4px;height:13px;background:linear-gradient(90deg,#a99c85,#3f3b31);box-shadow:0 1px 2px #000;border-radius:1px}.display .service-object__title::before{left:3px}.display .service-object__title::after{right:3px}
.display .service-object__top{font-size:8px;color:#b2a99a;letter-spacing:.2em}.display .service-object__count{font-size:12px;letter-spacing:.1em;color:#e5b77b}.display .service-object__count::after{content:" / 03";color:#867d70}
.display .service-object__led{background:#e5b77b;box-shadow:0 0 7px #e5b77b55}.display .service-object__base{min-height:8px}.display .service-object__base svg{width:12px;height:12px;color:#a99f90}.display .service-object__nav{margin:auto}.display .service-object__nav i{height:3px;border-radius:0;color:#d8b27c;width:16px}.display .service-object__nav i.on{width:16px}
.display .service-object__face::before,.display .service-object__face::after{content:"";width:3px;height:3px;border-radius:99px;background:#b7a992;position:absolute;bottom:11px;box-shadow:inset 0 1px 1px #fff5}.display .service-object__face::before{left:11px}.display .service-object__face::after{right:11px}
@media(min-width:1024px) and (max-height:680px){.service-object{height:151px;width:min(530px,53vw)}.service-object__face{padding-top:12px;padding-bottom:10px}.service-object__title{font-size:35px;padding-top:6px}.service-object__base{min-height:16px}.display .service-object__face{padding:10px 20px}.display .service-object__title{font-size:32px;min-height:77px;margin:4px 0;padding:5px 15px}.display .service-object__top{height:15px}}
@media(max-width:1023px){.service-object{width:min(545px,calc(100vw - 64px));height:174px}}
@media(max-width:639px){.cal-line{padding-top:.45em;padding-bottom:.3em}.service-object{width:calc(100vw - 54px);height:169px;margin-left:2px}.service-object__face{padding:13px 17px 12px 24px}.service-object__title{font-size:32px;padding-top:10px}.service-object__top{font-size:8px}.service-object__count{font-size:17px}.cards .service-object__face::before{right:-90px}.display .service-object__face{padding:12px 15px}.display .service-object__title{font-size:29px;min-height:82px;padding:10px 13px}.display .service-object__base{min-height:12px}}
@media(max-width:350px){.service-object__title{font-size:28px}.display .service-object__title{font-size:26px}}
@media(prefers-reduced-motion:reduce){.service-object__title{transition:none}}
@media(min-width:1024px) and (max-height:680px){.cal-line{padding-top:.12em;padding-bottom:.18em}.service-object{height:132px}.service-object__face{padding:9px 22px 8px 26px}.service-object__title{font-size:31px;padding-top:5px}.service-object__top{height:14px}.service-object__base{min-height:14px}.service-object__base svg{width:18px;height:18px}.display .service-object__face{padding:9px 20px}.display .service-object__title{font-size:28px;min-height:65px;margin:3px 0;padding:4px 13px}.display .service-object__base{min-height:7px}}
@media(max-width:639px){.service-object{height:149px}.service-object__face{padding-top:11px;padding-bottom:10px}.service-object__title{padding-top:7px}.service-object__base{min-height:16px}.display .service-object__face{padding:10px 15px}.display .service-object__title{font-size:28px;min-height:75px;padding:8px 13px;margin:4px 0}.display .service-object__base{min-height:8px}}
@media(max-width:350px){.display .service-object__title{font-size:25px}}
@media(min-width:1024px) and (max-height:680px){.cal-line:has(.cards){padding-top:.35em;padding-bottom:0}.cards.service-object{height:128px}}
