@font-face{font-family:Erstoria;src:url(/font/Erstoria.ttf)format("truetype");font-weight:400 700;font-style:normal;font-display:swap}:root{--black:#000;--bg:#0a0a0a;--surface:#111;--white:#fff;--grey-100:#f2f2f2;--grey-300:#b3b3b3;--grey-500:#7a7a7a;--grey-700:#3a3a3a;--accent:#c2b59b;--accent-soft:#c2b59b24;--line:#ffffff1a;--font:"Avenir Next", Avenir, "Nunito Sans", "Helvetica Neue", Helvetica, sans-serif;--font-display:"Erstoria", "Bodoni MT", Didot, "Times New Roman", serif;--ease:cubic-bezier(.22, 1, .36, 1);--ease-out:cubic-bezier(.16, 1, .3, 1);--header-h:4.5rem;--pad:clamp(1.25rem, 3.5vw, 2.5rem);--max:70rem;--gap:1.25rem;--space-section:clamp(4rem, 9vw, 6.5rem);--space-block:clamp(1.75rem, 3vw, 2.5rem);--reveal-delay:0s}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{min-height:100svh;color:var(--white);background:var(--bg);font-family:var(--font);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-weight:400;line-height:1.55}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}::selection{color:var(--black);background:var(--accent)}::selection{color:var(--black);background:var(--accent)}button,input,textarea{font:inherit;color:inherit}ul{margin:0;padding:0;list-style:none}h1,h2,h3,p{margin:0}#root,.site{min-height:100svh}.site{flex-direction:column;display:flex;overflow-x:clip}.page-transition{animation:page-in .65s var(--ease) both;flex-direction:column;flex:1;display:flex}.page-transition>main{flex:1}body.menu-open{overflow:hidden}.shell{width:min(100%, calc(var(--max) + var(--pad) * 2));padding-inline:max(var(--pad), env(safe-area-inset-left)) max(var(--pad), env(safe-area-inset-right));margin-inline:auto}.grid-12{gap:var(--gap);grid-template-columns:repeat(12,minmax(0,1fr));display:grid}.span-12{grid-column:1/-1}.span-8{grid-column:span 8}.span-7{grid-column:span 7}.span-6{grid-column:span 6}.span-5{grid-column:span 5}.span-4{grid-column:span 4}.header{z-index:50;height:calc(var(--header-h) + env(safe-area-inset-top));padding-top:env(safe-area-inset-top);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(#000000e0 0%,#0006 70%,#0000 100%);position:fixed;inset:0 0 auto}.header__inner{height:var(--header-h);justify-content:space-between;align-items:center;gap:1.5rem;display:flex}.logo{z-index:55;transition:opacity .3s var(--ease);align-items:center;line-height:0;display:inline-flex;position:relative}.logo img{width:auto;height:2.5rem}.logo:hover{opacity:.72}body.menu-open .logo{opacity:0;pointer-events:none}.header__actions{align-items:center;gap:1.5rem;display:flex}.nav--desktop{align-items:center;gap:1.75rem;display:flex}.nav__link{letter-spacing:.16em;text-transform:uppercase;color:var(--grey-300);transition:color .3s var(--ease);font-size:.72rem;font-weight:600;position:relative}.nav__link:after{content:"";background:var(--accent);transform-origin:0;width:100%;height:1px;transition:transform .35s var(--ease);position:absolute;bottom:-.4rem;left:0;transform:scaleX(0)}.nav__link:hover,.nav__link--active{color:var(--white)}.nav__link--active:after,.nav__link:hover:after{transform:scaleX(1)}.nav-toggle{z-index:70;cursor:pointer;background:0 0;border:0;width:2.75rem;height:2.75rem;padding:0;display:none;position:relative}.nav-toggle span{background:var(--white);width:1.35rem;height:1.5px;transition:transform .4s var(--ease), opacity .3s var(--ease), background .3s var(--ease);transform-origin:50%;margin:.28rem auto;display:block}.nav-toggle--open span{background:var(--accent)}.nav-toggle--open span:first-child{transform:translateY(.42rem)rotate(45deg)}.nav-toggle--open span:nth-child(2){opacity:0;transform:scaleX(0)}.nav-toggle--open span:nth-child(3){transform:translateY(-.42rem)rotate(-45deg)}.nav-backdrop{z-index:60;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .45s var(--ease), visibility .45s var(--ease);background:#0000008c;position:fixed;inset:0}.nav-backdrop--open{opacity:1;visibility:visible;pointer-events:auto}.nav-drawer{z-index:65;width:min(19.5rem,88vw);height:100dvh;padding:calc(env(safe-area-inset-top) + 1.5rem) max(1.35rem, env(safe-area-inset-right)) max(1.75rem, env(safe-area-inset-bottom)) 1.35rem;border-left:1px solid var(--line);transition:transform .5s var(--ease);pointer-events:none;background:#050505;flex-direction:column;display:flex;position:fixed;top:0;right:0;transform:translate(105%);box-shadow:-24px 0 60px #00000073}.nav-drawer--open{pointer-events:auto;transform:translate(0)}.nav-drawer__label{letter-spacing:.2em;text-transform:uppercase;color:var(--accent);margin:0 3.25rem 2.25rem 0;font-size:.68rem;font-weight:600}.nav-drawer__nav{flex-direction:column;flex:1;gap:.15rem;display:flex;overflow-y:auto}.nav-drawer__link{border-bottom:1px solid var(--line);font-family:var(--font-display);letter-spacing:-.02em;color:var(--grey-300);opacity:0;transition:color .3s var(--ease);padding:.8rem 0;font-size:clamp(1.45rem,5vw,1.75rem);font-weight:500;display:block;transform:translate(1.25rem)}.nav-drawer--open .nav-drawer__link{animation:drawer-link .55s var(--ease) calc(.12s + var(--i) * 70ms) both}.nav-drawer__link:hover,.nav-drawer__link--active{color:var(--white)}.nav-drawer__link--active{color:var(--accent)}.nav-drawer__foot{border-top:1px solid var(--line);opacity:0;gap:1rem;margin-top:1.5rem;padding-top:1.35rem;display:grid;transform:translateY(.75rem)}.nav-drawer--open .nav-drawer__foot{animation:rise .55s var(--ease) .42s both}.nav-drawer__login{letter-spacing:.1em;white-space:nowrap;width:100%;color:var(--black)!important}.nav-drawer__email{color:var(--grey-300);transition:color .3s var(--ease);justify-self:center;font-size:.85rem}.nav-drawer__email:hover{color:var(--accent)}.btn{letter-spacing:.16em;text-transform:uppercase;cursor:pointer;min-height:2.75rem;transition:background .3s var(--ease), color .3s var(--ease), border-color .3s var(--ease);border:1px solid #0000;justify-content:center;align-items:center;padding:.7rem 1.4rem;font-size:.7rem;font-weight:600;display:inline-flex}.btn--primary{background:var(--accent);color:var(--black);border-color:var(--accent)}.btn--primary:hover{background:var(--white);border-color:var(--white)}.btn--ghost{color:var(--white);background:0 0;border-color:#ffffff47}.btn--ghost:hover{border-color:var(--accent);color:var(--accent)}.btn--nav{min-height:2.35rem;color:var(--white);background:0 0;border-color:#ffffff47;padding:.55rem 1rem;font-size:.65rem}.btn--nav:hover,.btn--nav.active{border-color:var(--accent);color:var(--accent)}.text-link{letter-spacing:.16em;text-transform:uppercase;color:var(--accent);transition:color .3s var(--ease);border-bottom:1px solid;padding-bottom:.15rem;font-size:.7rem;font-weight:600}.text-link:hover{color:var(--white)}.eyebrow{letter-spacing:.2em;text-transform:uppercase;color:var(--accent);margin-bottom:.9rem;font-size:.68rem;font-weight:600}.breadcrumbs{margin-bottom:1.1rem}.breadcrumbs ol{flex-wrap:wrap;align-items:center;gap:.35rem;margin:0;padding:0;list-style:none;display:flex}.breadcrumbs li{letter-spacing:.08em;text-transform:uppercase;color:var(--grey-500);align-items:center;gap:.35rem;font-size:.72rem;display:inline-flex}.breadcrumbs a{color:var(--grey-300);transition:color .3s var(--ease)}.breadcrumbs a:hover{color:var(--accent)}.breadcrumbs__sep{color:var(--grey-700)}.breadcrumbs [aria-current=page]{color:var(--grey-500)}.section__title,.page-title,.hero__title{font-family:var(--font-display);letter-spacing:-.03em;font-weight:500;line-height:1.05}.section__title{margin-bottom:1rem;font-size:clamp(2.2rem,4.8vw,3.5rem)}.page-title{margin-bottom:.9rem;font-size:clamp(2.5rem,6vw,4.25rem)}.section__text,.page-lede,.hero__lede{color:var(--grey-300);font-size:1.02rem;line-height:1.65}.hero{align-items:end;min-height:100svh;display:grid;position:relative}.hero__media{z-index:0;position:absolute;inset:0;overflow:hidden}.hero__media img{object-fit:cover;width:100%;height:100%;animation:hero-zoom 18s var(--ease) infinite alternate}.hero__veil{background:linear-gradient(#00000047 50%,#00000080 75%,#000000f0 100%),linear-gradient(90deg,#0006,#0000 50%);position:absolute;inset:0}.hero__content{z-index:1;padding-top:calc(var(--header-h) + env(safe-area-inset-top) + 3rem);padding-bottom:clamp(3.5rem,9vw,6rem);position:relative}.hero__title{max-width:10ch;color:var(--white);margin-bottom:1.15rem;font-size:clamp(2.75rem,7.5vw,5rem);line-height:.98}.hero__lede{max-width:24rem;margin-bottom:1.85rem}.hero__actions{flex-wrap:wrap;gap:.75rem;display:flex}.section{padding:var(--space-section) 0}.section--ruled{border-bottom:1px solid var(--line)}.section__head{margin-bottom:var(--space-block)}.section__foot{margin-top:var(--space-block)}.section--cta{border-top:1px solid var(--line);background:radial-gradient(ellipse 70% 90% at 0% 100%, var(--accent-soft), transparent 55%), var(--black)}.section--cta .section__text{max-width:26rem;margin-bottom:1.5rem}.media-grid{gap:var(--gap);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.preview-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.media-grid--doors{row-gap:calc(var(--gap) + 1.25rem)}.media-grid img{object-fit:cover;background:var(--surface);width:100%}.preview-grid img,.gallery__item img{aspect-ratio:4/5;transition:transform .7s var(--ease)}.preview-grid li,.gallery__item,.finish__media{overflow:hidden}.preview-grid li:hover img,.gallery__item:hover img,.finish:hover .finish__media img{transform:scale(1.03)}.gallery__item figure{background:var(--surface);margin:0;position:relative}.gallery__item figcaption{letter-spacing:.14em;text-transform:uppercase;color:var(--white);opacity:0;transition:opacity .35s var(--ease), transform .35s var(--ease);background:linear-gradient(#0000,#000000d1);padding:1.15rem .9rem .9rem;font-size:.68rem;font-weight:600;position:absolute;inset:auto 0 0;transform:translateY(.35rem)}.gallery__item:hover figcaption{opacity:1;transform:translateY(0)}.finish__figure{margin:0}.finish__media{border:1px solid var(--line);background:var(--surface)}.finish__media img{aspect-ratio:3/4;transition:transform .7s var(--ease)}.finish__caption{gap:.25rem;margin-top:.85rem;display:grid}.finish__color{font-family:var(--font-display);letter-spacing:-.01em;font-size:1.1rem;font-weight:500}.finish__family{letter-spacing:.16em;text-transform:uppercase;color:var(--accent);font-size:.68rem;font-weight:600}.page-main{padding-top:calc(var(--header-h) + env(safe-area-inset-top))}.page-header{padding-top:clamp(3rem,8vw,4.75rem);padding-bottom:var(--space-block);border-bottom:1px solid var(--line)}.page-lede{max-width:28rem}.section--tight-top{padding-top:var(--space-block)}.contact{align-items:start}.contact__info{gap:1.75rem;padding-top:.25rem;display:grid}.contact__label{letter-spacing:.18em;text-transform:uppercase;color:var(--accent);margin-bottom:.35rem;font-size:.68rem;font-weight:600}.contact__info p,.contact__info a{color:var(--grey-100);font-size:1rem}.contact__info a:hover{color:var(--accent)}.contact__form-wrap{border:1px solid var(--line);background:var(--surface);min-height:28.5rem;transition:border-color .45s var(--ease), background .45s var(--ease);padding:clamp(1.35rem,3vw,2rem);position:relative}.contact__form-wrap--sending{border-color:#c2b59b59}.contact__form-wrap--success{background:radial-gradient(ellipse 70% 60% at 50% 40%, var(--accent-soft), transparent 70%), var(--surface);border-color:#c2b59b73;place-items:center;display:grid}.contact__success{text-align:center;width:min(100%,20rem);animation:success-in .7s var(--ease-out) both;justify-items:center;gap:.85rem;padding:1rem 0;display:grid}.contact__success-mark{width:4.25rem;height:4.25rem;margin-bottom:.35rem}.contact__success-mark svg{width:100%;height:100%}.contact__success-ring{stroke:var(--accent);stroke-width:1.5px;fill:none;opacity:.9;stroke-dasharray:190;stroke-dashoffset:190px;animation:draw-ring .7s var(--ease-out) .1s forwards}.contact__success-check{stroke:var(--accent);stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round;fill:none;stroke-dasharray:48;stroke-dashoffset:48px;animation:draw-check .45s var(--ease-out) .45s forwards}.contact__success-title{font-family:var(--font-display);letter-spacing:-.02em;color:var(--white);font-size:clamp(1.75rem,3vw,2.15rem);font-weight:500}.contact__success-text{color:var(--grey-300);font-size:1rem;line-height:1.55}.contact__success-btn{margin-top:.65rem}.form{transition:opacity .35s var(--ease), filter .35s var(--ease);gap:1.15rem;display:grid}.form--sending{opacity:.55;filter:saturate(.85);pointer-events:none}.btn--send{gap:.65rem;min-width:10.5rem}.btn--send:disabled{cursor:wait;opacity:1;background:var(--accent);color:var(--black);border-color:var(--accent)}.btn__spinner{border:1.5px solid #0003;border-top-color:var(--black);border-radius:50%;width:.9rem;height:.9rem;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@keyframes draw-ring{to{stroke-dashoffset:0}}@keyframes draw-check{to{stroke-dashoffset:0}}@keyframes success-in{0%{opacity:0;transform:translateY(.75rem)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.field{gap:.4rem;display:grid}.field span{letter-spacing:.16em;text-transform:uppercase;color:var(--grey-500);font-size:.68rem;font-weight:600}.field__error,.form__error{color:#e8a0a0;margin-top:.35rem;font-size:.85rem}.form__error{margin-bottom:.25rem}.field input,.field textarea{border:0;border-bottom:1px solid var(--grey-700);width:100%;transition:border-color .3s var(--ease);background:0 0;border-radius:0;outline:none;padding:.8rem 0}.field input:focus,.field textarea:focus{border-bottom-color:var(--accent)}.field textarea{resize:vertical;min-height:7rem}.form .btn{justify-self:start;margin-top:.35rem}.portal{min-height:calc(100svh - var(--header-h));flex-direction:column;display:flex}.portal__stage{background:radial-gradient(ellipse 55% 50% at 15% 20%, var(--accent-soft), transparent 60%), radial-gradient(ellipse 40% 45% at 90% 80%, #ffffff0a, transparent 55%), var(--bg);flex:1;align-items:center;padding:clamp(3rem,10vw,6rem) 0;display:grid}.portal__copy{max-width:36rem}.portal__lede{color:var(--grey-300);max-width:28rem;margin-bottom:.85rem;font-size:clamp(1.05rem,2vw,1.2rem);line-height:1.65}.portal__note{font-family:var(--font-display);letter-spacing:-.01em;color:var(--accent);margin-bottom:2rem;font-size:clamp(1.15rem,2.2vw,1.35rem);font-style:italic}.portal__actions{flex-wrap:wrap;gap:.75rem;display:flex}.footer{border-top:1px solid var(--line);background:var(--black);margin-top:auto}.footer__inner{padding-top:clamp(3rem,6vw,4.25rem);padding-bottom:1.75rem}.footer__top{gap:var(--gap) clamp(1.5rem, 3vw, 2.5rem);padding-bottom:var(--space-block);border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1.4fr) repeat(3,minmax(0,1fr));display:grid}.footer__logo{transition:opacity .3s var(--ease);align-items:center;margin-bottom:.9rem;line-height:0;display:inline-flex}.footer__logo img{width:auto;height:3.4rem}.footer__logo:hover{opacity:.72}.footer__tag{max-width:16rem;color:var(--grey-500);font-size:.92rem;line-height:1.55}.footer__heading{letter-spacing:.18em;text-transform:uppercase;color:var(--accent);margin-bottom:.85rem;font-size:.68rem;font-weight:600}.footer__links,.footer__meta{gap:.55rem;display:grid}.footer__links a,.footer__meta a,.footer__meta li{color:var(--grey-300);transition:color .3s var(--ease);font-size:.9rem}.footer__links a:hover,.footer__meta a:hover{color:var(--white)}.footer__bottom{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1.5rem;padding-top:1.25rem;display:flex}.footer__copy,.footer__credit{color:var(--grey-500);font-size:.78rem}.footer__credit{transition:color .3s var(--ease)}.footer__credit:hover{color:var(--accent)}@keyframes rise{0%{opacity:0;transform:translateY(1.15rem)}to{opacity:1;transform:translateY(0)}}@keyframes page-in{0%{opacity:0}to{opacity:1}}@keyframes drawer-link{0%{opacity:0;transform:translate(1.25rem)}to{opacity:1;transform:translate(0)}}@keyframes hero-zoom{0%{transform:scale(1)}to{transform:scale(1.05)}}[data-reveal]{opacity:0;filter:blur(3px);transition:opacity .85s var(--ease-out) var(--reveal-delay), transform .85s var(--ease-out) var(--reveal-delay), filter .85s var(--ease-out) var(--reveal-delay);will-change:opacity, transform, filter;transform:translateY(1.5rem)}[data-reveal=left]{transform:translate(-1.25rem)}[data-reveal=right]{transform:translate(1.25rem)}[data-reveal=zoom]{filter:none;transform:scale(1.04)}[data-reveal].is-revealed{opacity:1;filter:none;transform:none}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.contact__success,.contact__success-ring,.contact__success-check,.btn__spinner,.page-transition,.hero__media img,.nav-drawer,.nav-backdrop,.nav-drawer__link,.nav-drawer__foot{transition:none!important;animation:none!important}.contact__success-ring,.contact__success-check{stroke-dashoffset:0}.contact__success{opacity:1;transform:none}[data-reveal]{opacity:1;filter:none;transform:none;transition:none!important}.nav-drawer{transform:translate(105%)}.nav-drawer--open{transform:translate(0)}.preview-grid li:hover img,.gallery__item:hover img,.finish:hover .finish__media img{transform:none}}@media (width<=960px){.span-8,.span-7,.span-6,.span-5,.span-4{grid-column:1/-1}.media-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.footer__top{grid-template-columns:1fr 1fr;align-items:start;gap:2rem 2.5rem}.footer__brand,.footer__col--nav{grid-column:1/-1}}@media (width<=860px){.nav--desktop,.btn--nav{display:none}.nav-toggle{display:block}}@media (width<=600px){:root{--header-h:4rem;--pad:1.15rem;--gap:.85rem;--space-section:clamp(3.25rem, 12vw, 4.5rem)}.media-grid{grid-template-columns:1fr 1fr}.footer__inner{padding-top:2.75rem;padding-bottom:1.5rem}.footer__top{grid-template-columns:1fr 1fr;gap:1.75rem 1.5rem;padding-bottom:1.75rem}.footer__brand{border-bottom:1px solid var(--line);grid-column:1/-1;padding-bottom:1.5rem}.footer__logo{margin-bottom:.65rem}.footer__logo img{height:2.1rem}.footer__tag{max-width:none;margin:0;font-size:.88rem}.footer__col--nav{grid-column:1/-1}.footer__heading{margin:0 0 .7rem}.footer__links,.footer__meta{gap:.5rem}.footer__links a,.footer__meta a,.footer__meta li{font-size:.88rem}.footer__bottom{flex-direction:column;align-items:flex-start;gap:.4rem;padding-top:1.25rem}.hero__actions{flex-direction:column;align-items:stretch}.hero__actions .btn,.section--cta .btn,.portal__actions .btn,.form .btn{width:100%}.form .btn{justify-self:stretch}.contact__form-wrap{padding:1.15rem}.finish__color{font-size:1rem}}
