@layer tokens, base, atoms, layout, sections;
@layer tokens{:root{--color-1:#eceeef;--color-2:#14171b;--color-3:#4a5059;--color-4:#fbfcfc;--color-5:#d3d6d9;--color-6:#93d9e4;--color-7:#155386;--color-8:#f6d88c;--color-9:#e2580e;--color-10:#cdbef2;--color-11:#8b3887;--font-1:"Funnel Display","Arial Black",Arial,sans-serif;--font-2:"Host Grotesk",Arial,sans-serif;--radius-1:999px;
--shadow-1:0 0 0 0 var(--color-6),0 0 0 0 var(--color-7),0 0 0 0 var(--color-6);--shadow-2:0 0 0 3px var(--color-6),0 0 0 6px var(--color-7),0 0 0 9px var(--color-6);--shadow-3:0 1.4rem 2.6rem -1.2rem color-mix(in oklab,var(--color-2) 45%,transparent),0 .2rem .5rem color-mix(in oklab,var(--color-2) 12%,transparent);--shadow-4:inset 0 0 0 3px var(--color-6),inset 0 0 0 6px var(--color-7)}}
@layer base{*,*::before,*::after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
html.lenis,html.lenis body{height:auto}.lenis-smooth{scroll-behavior:auto}.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}.lenis-stopped{overflow:clip}
body{margin:0;background:var(--color-1);color:var(--color-2);font-family:var(--font-2);font-size:1.0625rem;line-height:1.55;overflow-x:clip}
h1,h2,h3,h4,p,ul,ol,figure,dl,dd{margin:0}ul,ol{padding:0;list-style:none}img,svg{display:block;max-width:100%}a{color:inherit}button,input,select{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--color-2);outline-offset:3px}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}}
@layer atoms{
.m-text{font-family:var(--font-2);font-size:1.0625rem;font-weight:400;line-height:1.55}
.m-text-2{font-family:var(--font-1);font-size:clamp(3rem,7.4vw,7.25rem);font-weight:500;line-height:.94;letter-spacing:-.035em}
.m-text-3{font-family:var(--font-1);font-size:clamp(2.3rem,4.8vw,4.4rem);font-weight:500;line-height:1;letter-spacing:-.03em}
.m-text-4{font-family:var(--font-2);font-size:.875rem;font-weight:600;line-height:1.35;letter-spacing:.01em}
.m-text-5{font-family:var(--font-2);font-size:clamp(1.15rem,1.6vw,1.375rem);line-height:1.45;letter-spacing:-.005em}
.m-text-6{font-family:var(--font-1);font-size:clamp(1.5rem,2.3vw,2.15rem);font-weight:500;line-height:1.05;letter-spacing:-.02em}
.m-btn,.m-btn-2{display:inline-flex;align-items:center;justify-content:center;gap:.5em;min-height:3rem;padding:.7rem 1.5rem;border-radius:var(--radius-1);font-family:var(--font-2);font-size:1rem;font-weight:600;line-height:1.1;text-decoration:none;box-shadow:var(--shadow-1);cursor:pointer;transition:box-shadow .45s steps(3,end),background-color .3s}
.m-btn{border:0;background:var(--color-2);color:var(--color-4)}.m-btn-2{border:1.5px solid currentColor;background:transparent;color:inherit}
@media(hover:hover){.m-btn:hover{box-shadow:var(--shadow-2);background:var(--color-7)}.m-btn-2:hover{box-shadow:var(--shadow-2)}}
.m-link{color:inherit;text-decoration:none;background:linear-gradient(currentColor,currentColor) left bottom/100% 1px no-repeat;padding-bottom:.12em;transition:background-size .36s steps(3,end)}
@media(hover:hover){.m-link:hover{background-size:100% .3em}}
.m-iconbtn{display:inline-grid;place-items:center;width:3rem;height:3rem;padding:0;border:1.5px solid currentColor;border-radius:50%;background:transparent;color:inherit;cursor:pointer;transition:box-shadow .4s steps(2,end)}
.m-iconbtn__icon{width:1.1rem;height:.7rem;border-block:2px solid currentColor}@media(hover:hover){.m-iconbtn:hover{box-shadow:var(--shadow-4)}}
.m-badge,.m-badge-2,.m-badge-3{display:inline-flex;align-items:center;gap:.55em;padding:.3em .8em .3em .35em;border-radius:var(--radius-1);background:var(--color-4);font-size:.8125rem;font-weight:600;line-height:1.2;white-space:nowrap}
.m-badge__swatch{width:1.3em;height:1.3em;border-radius:50%;background:radial-gradient(circle at 38% 36%,var(--color-7) 0 30%,color-mix(in oklab,var(--color-7) 50%,var(--color-6)) 30% 58%,var(--color-6) 58%)}
.m-badge-2 .m-badge__swatch{background:radial-gradient(circle at 38% 36%,var(--color-9) 0 30%,color-mix(in oklab,var(--color-9) 50%,var(--color-8)) 30% 58%,var(--color-8) 58%)}
.m-badge-3 .m-badge__swatch{background:radial-gradient(circle at 38% 36%,var(--color-11) 0 30%,color-mix(in oklab,var(--color-11) 50%,var(--color-10)) 30% 58%,var(--color-10) 58%)}
.m-well,.m-well-2,.m-well-3{--well-rim:var(--color-6);--well-core:var(--color-7);display:block}.m-well-2{--well-rim:var(--color-8);--well-core:var(--color-9)}.m-well-3{--well-rim:var(--color-10);--well-core:var(--color-11)}
.m-well__band{fill:color-mix(in oklab,var(--well-core) calc(var(--well-d)*100%),var(--well-rim))}
.m-cutout{mix-blend-mode:multiply}
.m-print{position:relative;transform-origin:50% 0}.m-print__sheet{position:relative;overflow:hidden;background:var(--color-4);box-shadow:var(--shadow-3)}
.m-print__clip{position:absolute;z-index:2;top:-.3rem;width:.95rem;height:.75rem;border-radius:.12rem;background:var(--color-2)}.m-print__clip:nth-of-type(1){left:6%}.m-print__clip:nth-of-type(2){right:6%}
.m-print__clip::before{content:"";position:absolute;left:calc(50% - .5px);bottom:100%;width:1px;height:160vh;background:color-mix(in oklab,var(--color-2) 55%,transparent)}
.m-print__clip::after{content:"";position:absolute;left:20%;right:20%;bottom:100%;height:.45rem;border:1.5px solid var(--color-2);border-bottom:0;border-radius:.3rem .3rem 0 0}
.m-field{display:block;width:100%;min-height:3rem;padding:.7rem 1rem;border:1.5px solid var(--color-2);border-radius:.6rem;background:var(--color-4);color:var(--color-2);font-size:1rem;line-height:1.3}
.m-field:focus-visible{outline:2px solid var(--color-7);outline-offset:2px}
.ph{display:inline-block;border:1.5px dashed #9aa0a8;border-radius:6px;padding:0 .5em;background:var(--color-4);color:#8a4a1a;font-size:.92em;font-weight:500}}
@layer layout{.shell{width:min(100% - 2.5rem,84rem);margin-inline:auto}@media(min-width:760px){.shell{width:min(100% - 6vw,84rem)}}}
@layer sections{
#navigation{position:fixed;z-index:30;inset:0 0 auto;padding-top:env(safe-area-inset-top,0px);background:var(--color-1);border-bottom:1px solid color-mix(in oklab,var(--color-2) 12%,transparent);transition:translate .45s cubic-bezier(.3,.7,.2,1)}
#navigation[data-hidden]{translate:0 -105%}
.nav__bar{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;height:4.25rem}
.nav__brand{display:inline-flex;align-items:center;gap:.6rem;text-decoration:none;font-family:var(--font-1);font-weight:600;font-size:1.45rem;letter-spacing:-.03em}
.nav__mark{width:1.9rem;height:1.9rem}.nav__links{display:none;gap:1.4rem}.nav__links a{font-size:.95rem;font-weight:500}
.nav__cta{display:none;min-height:2.6rem;padding:.5rem 1.15rem;font-size:.95rem}.nav__menu{width:2.75rem;height:2.75rem}
.nav__overlay{position:fixed;inset:0;z-index:40;display:none;flex-direction:column;gap:2rem;padding:1.25rem 1.25rem 2rem;background:var(--color-1);overflow-y:auto}.nav__overlay[data-open]{display:flex}
.nav__overlay-top{display:flex;justify-content:space-between;align-items:center}.nav__overlay-links{display:grid;gap:.4rem}
.nav__overlay-links a{font-family:var(--font-1);font-size:2.4rem;font-weight:500;letter-spacing:-.03em;line-height:1.15;text-decoration:none}
.nav__close .m-iconbtn__icon{height:0;border-block-width:1px;border-top:2px solid currentColor;border-bottom:0;rotate:45deg;position:relative}
.nav__close .m-iconbtn__icon::after{content:"";position:absolute;inset:-2px 0 auto;border-top:2px solid currentColor;rotate:-90deg}
@media(min-width:1060px){.nav__links{display:flex}.nav__cta{display:inline-flex}.nav__menu{display:none}}
#opening{position:relative}
.opening__stage{position:sticky;top:0;height:100vh;overflow:clip;background:var(--color-1)}
.opening__well{position:absolute;right:-6vw;top:-10vh;width:64vw;height:120vh;overflow:visible}
.opening__well .m-well__band{transform-box:view-box;transform-origin:77% 36.4%}
.opening__figure{position:absolute;left:39vw;bottom:0;height:64vh;aspect-ratio:4/5}.opening__figure-move{width:100%;height:100%;display:grid;place-items:end center}.opening__figure-move svg{height:92%;width:auto}
.opening__first{position:relative;margin-top:-100vh;min-height:100vh;display:grid;align-content:center;padding-block:7.5rem 4rem}
.opening__copy{max-width:37rem}.opening__title{max-width:9.5em}.opening__lede{margin-top:1.6rem;max-width:27rem;color:var(--color-3)}
.opening__actions{margin-top:2.2rem;display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.6rem}
.talk{display:inline-flex;align-items:center;gap:.7rem;min-height:3rem;padding:.5rem 1.2rem .5rem 1rem;border:1.5px solid var(--color-2);border-radius:var(--radius-1);background:var(--color-4);font-weight:600;font-size:.95rem;cursor:pointer}
.bars{display:flex;gap:3px;align-items:center;height:20px}.bars b{width:3px;height:6px;border-radius:3px;background:var(--color-9)}
.talk[data-on] .bars b{animation:wv .7s ease-in-out infinite alternate}.bars b:nth-child(2){animation-delay:.1s!important}.bars b:nth-child(3){animation-delay:.2s!important}.bars b:nth-child(4){animation-delay:.3s!important}.bars b:nth-child(5){animation-delay:.15s!important}
@keyframes wv{to{height:20px}}
.opening__cap{margin-top:1.1rem;min-height:4.5em;max-width:27rem;color:var(--color-3);font-size:.98rem}
.opening__second{position:relative;min-height:100vh;display:grid;align-content:center;padding-block:8rem 5rem;background:var(--color-7);color:var(--color-4)}
.opening__statement{max-width:15em;font-size:clamp(2.5rem,5.6vw,5.4rem)}.opening__note{margin-top:2rem;max-width:33rem}
.opening__depths{margin-top:3rem;display:flex;flex-wrap:wrap;gap:.8rem 2.4rem}.opening__depths a{font-family:var(--font-1);font-size:clamp(1.3rem,2vw,1.7rem);font-weight:500;letter-spacing:-.02em}
.opening__second :focus-visible{outline-color:var(--color-4)}
@media(max-width:759px){.opening__well{right:-14vw;top:1vh;width:128vw;height:60vh}.opening__figure{left:0;top:21vh;bottom:auto;height:31vh}.opening__first{align-content:end;padding-block:52vh 2.2rem}.opening__title{font-size:clamp(2.6rem,12.4vw,3.6rem)}.opening__lede{margin-top:1rem;font-size:1.05rem}.opening__actions{margin-top:1.3rem}}
@media(prefers-reduced-motion:no-preference){.opening__well .m-well__band{animation:o-unfold .9s cubic-bezier(.16,.8,.24,1) calc((1 - var(--well-d))*.25s) backwards,o-breathe 6s ease-in-out calc(1.2s + var(--well-d)*1.8s) infinite}
#opening[data-offscreen] .opening__well .m-well__band{animation-play-state:paused}.opening__figure{animation:o-settle 1s cubic-bezier(.2,.75,.2,1) backwards}.opening__title{animation:o-lift .9s cubic-bezier(.2,.75,.2,1) backwards}
.opening__lede,.opening__actions{animation:o-arrive .8s cubic-bezier(.2,.75,.2,1) .2s backwards}
@keyframes o-unfold{from{scale:.82}}@keyframes o-breathe{50%{scale:1.055}}@keyframes o-settle{from{scale:1.06}}@keyframes o-lift{from{translate:0 .3em}}@keyframes o-arrive{from{translate:0 1rem;opacity:0}}}
#depths{position:relative;background:linear-gradient(var(--color-5),color-mix(in oklab,var(--color-5) 70%,var(--color-1)));padding-block:7rem 6rem}
.depths__head,.rooms__head,.members__head,.made__head,.plans__head,.visit__head{display:grid;gap:1.3rem;max-width:40rem}.depths__head p,.rooms__head p,.members__head p,.made__head p,.plans__head p,.visit__head p{color:var(--color-3)}
.depths__wall{position:relative;overflow:hidden;margin-top:2.5rem;padding-top:14vh;padding-bottom:2rem}
.depths__list{display:grid;grid-template-columns:repeat(3,1fr);gap:4vw;align-items:start}.depths__item:nth-child(2){padding-top:10vh}.depths__item:nth-child(3){padding-top:20vh}
.depths__sheet{aspect-ratio:3/4}.poster__well{position:absolute;inset:0;width:100%;height:100%}
.depths__figure{position:absolute;inset:auto 0 0 0;height:50%;display:grid;place-items:center;font-family:var(--font-1);font-weight:600;font-size:clamp(4rem,8vw,7rem);letter-spacing:-.05em}
.gl{display:flex}.gl i{display:block;mix-blend-mode:multiply}.gl-c i{width:4.4rem;height:4.4rem;border-radius:50%;margin-left:-1.4rem;background:var(--color-2)}.gl-c i:nth-child(2){background:var(--color-9)}.gl-c i:nth-child(3){background:var(--color-6)}
.gl-r{flex-direction:column;gap:.5rem}.gl-r i{height:1.1rem;background:var(--color-2)}.gl-r i:nth-child(1){width:8rem}.gl-r i:nth-child(2){width:5.5rem;background:var(--color-9)}.gl-r i:nth-child(3){width:3rem;background:var(--color-11)}
.depths__caption{margin-top:1.6rem;display:grid;gap:.55rem;justify-items:start}.depths__caption p{color:var(--color-3);max-width:24rem}
@media(max-width:759px){#depths{padding-block:5rem 4rem}.depths__wall{padding-top:9vh}.depths__list{grid-template-columns:1fr;gap:4.5rem}.depths__item:nth-child(n){padding-top:0;width:84%}.depths__item:nth-child(2){justify-self:end}.depths__poster .m-print__clip::before{height:5.5rem}}
#rooms,#made{padding-block:7rem}.rooms__head{max-width:42rem;margin-bottom:3.5rem}.rooms__list{display:grid}
.rooms__row{display:grid;grid-template-columns:12rem minmax(0,1fr);gap:2.4rem;align-items:start;padding-block:2.4rem 2.8rem;border-top:1px solid color-mix(in oklab,var(--color-2) 18%,transparent)}
.rooms__row:nth-child(2){margin-left:12%}.rooms__row:nth-child(3){margin-left:22%}.rooms__row:nth-child(4){margin-left:32%}
.rooms__print{margin-top:.6rem}.rooms__print .m-print__sheet{aspect-ratio:4/5}.rooms__art{position:absolute;inset:0}.rooms__print .m-print__clip::before{height:.8rem}
.rooms__body{display:grid;gap:.8rem;justify-items:start;max-width:34rem}.rooms__name{font-size:clamp(2rem,3.6vw,3.2rem)}.rooms__body p{color:var(--color-3)}
@media(max-width:759px){#rooms,#made{padding-block:5rem}.rooms__row{grid-template-columns:7.5rem minmax(0,1fr);gap:1.2rem}.rooms__row:nth-child(2){margin-left:4%}.rooms__row:nth-child(3){margin-left:8%}.rooms__row:nth-child(4){margin-left:12%}}
#members{padding-block:7rem;background:var(--color-4)}.members__head{margin-bottom:4rem}
.members__list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:3vw;align-items:start}.members__item:nth-child(2){padding-top:5rem}.members__item:nth-child(3),.members__item:nth-child(4){padding-top:10rem}
.members__portrait{position:relative;aspect-ratio:4/5}.member__well{position:absolute;left:7%;top:0;width:86%;height:auto;aspect-ratio:1}.members__photo{position:absolute;inset:auto 0 0 0;display:grid;place-items:center}
.members__body{margin-top:1.4rem;display:grid;gap:.5rem;justify-items:start}.members__trade{color:var(--color-3)}.members__quote{margin-top:.4rem}
@media(max-width:899px){.members__list{grid-template-columns:repeat(2,minmax(0,1fr));gap:3rem 1.25rem}.members__item:nth-child(n){padding-top:0}.members__item:nth-child(even){padding-top:3.5rem}}@media(max-width:759px){#members{padding-block:5rem}}
.made__head{margin-bottom:3rem}.made__table{width:100%;border-collapse:collapse}
.made__table th{text-align:left;font-weight:600;font-size:.875rem;color:var(--color-3);padding:0 1rem .9rem 0}.made__table td{padding:1.3rem 1rem 1.3rem 0;border-top:1px solid color-mix(in oklab,var(--color-2) 18%,transparent)}
.made__work{font-size:clamp(1.35rem,2vw,1.85rem)}.made__kind,.made__maker{color:var(--color-3)}
@media(max-width:759px){.made__table thead{display:none}.made__table,.made__table tbody,.made__table tr,.made__table td{display:block}.made__table tr{padding-block:1.2rem;border-top:1px solid color-mix(in oklab,var(--color-2) 18%,transparent)}.made__table td{border:0;padding:.1rem 0}}
#plans{padding-block:7rem;background:var(--color-4)}.plans__head{max-width:42rem;margin-bottom:3.5rem}
.plans__list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3vw}.plans__item{display:grid;grid-template-rows:auto 1fr;gap:1.8rem}.plan__well{width:100%;height:auto;aspect-ratio:1}
.plans__body{display:grid;gap:1rem;align-content:start;justify-items:start}.plans__price{font-family:var(--font-1);font-size:clamp(1.6rem,2.4vw,2.2rem);font-weight:500;letter-spacing:-.03em;line-height:1.2}
.plans__features{display:grid;gap:.45rem;padding-left:1.1rem;list-style:disc;color:var(--color-3)}.plans__body .m-btn,.plans__body .m-btn-2{margin-top:.6rem}
@media(max-width:899px){.plans__list{grid-template-columns:1fr;gap:3.5rem}.plans__item{grid-template-columns:9rem minmax(0,1fr);grid-template-rows:auto;gap:1.4rem;align-items:start}}@media(max-width:759px){#plans{padding-block:5rem}}
#visit{padding-block:7rem}.visit__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:5vw;align-items:start}
.visit__facts{margin-top:2.4rem;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.6rem 2rem}.visit__facts dt{color:var(--color-3);margin-bottom:.3rem}
.visit__map{position:relative;aspect-ratio:4/3;overflow:hidden;border-radius:1rem;background:var(--color-4)}.visit__map-lines{position:absolute;inset:0;width:100%;height:100%}
.visit__iso path{fill:none;stroke-width:1.4;stroke:color-mix(in oklab,var(--color-7) calc(var(--well-d)*100%),var(--color-6))}
.visit__pin{position:absolute;left:37.5%;top:38.3%;translate:-50% -100%;display:grid;justify-items:center;gap:.3rem}.visit__pin::after{content:"";width:.8rem;height:.8rem;border-radius:50%;background:var(--color-2);outline:.35rem solid var(--color-4)}
.visit__pin span{background:var(--color-2);color:var(--color-4);padding:.3rem .7rem;border-radius:var(--radius-1)}
.visit__form{margin-top:2.4rem;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.1rem 1.2rem}.visit__form label{display:grid;gap:.4rem}
.visit__levels{grid-column:1/-1;border:0;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:.6rem 1.4rem}.visit__levels legend{padding:0;margin-bottom:.5rem}.visit__levels label{display:inline-flex;align-items:center;gap:.5rem}.visit__levels input{width:1.15rem;height:1.15rem;accent-color:var(--color-2)}
.visit__submit{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.4rem}.visit__status{color:var(--color-3)}
@media(max-width:899px){.visit__grid{grid-template-columns:1fr}}@media(max-width:759px){#visit{padding-block:5rem}.visit__facts,.visit__form{grid-template-columns:1fr}}
#footer{padding-block:4rem 2rem;padding-bottom:calc(2rem + env(safe-area-inset-bottom,0px));background:var(--color-2);color:var(--color-4);overflow:hidden}
.footer__top{display:flex;flex-wrap:wrap;justify-content:space-between;gap:2rem}.footer__links{display:flex;flex-wrap:wrap;gap:.8rem 1.8rem}
.footer__word{margin-top:3rem;font-family:var(--font-1);font-weight:600;letter-spacing:-.05em;line-height:.8;font-size:min(30vw,calc((100vw - 6vw)/(var(--len)*.54)))}
.footer__fine{margin-top:2rem;display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;color:color-mix(in oklab,var(--color-4) 75%,var(--color-2))}#footer :focus-visible{outline-color:var(--color-4)}}
body.admin-bar #navigation{top:32px}@media(max-width:782px){body.admin-bar #navigation{top:46px}}
