:root{--noir:#0e0e0e;--noir-soft:#161412;--champagne:#c9a35e;--champagne-bright:#e0be7e;--creme:#d7be82;--creme-pale:#ebdfc4;--sauge:#515a47;--tan:#bb9457;--ink-light:#f4eee2;--muted:#8a8175;--line:#c9a35e2e;--display:"Fraunces",serif;--sans:"Hanken Grotesk",sans-serif}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--noir);color:var(--ink-light);font-family:var(--sans);-webkit-font-smoothing:antialiased;font-weight:300;line-height:1.6;overflow-x:clip}body:after{content:"";pointer-events:none;z-index:9999;opacity:.04;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;inset:0}::selection{background:var(--champagne);color:var(--noir)}@media (pointer:fine){*{cursor:none!important}.cursor-dot{background:var(--champagne);pointer-events:none;z-index:99999;border-radius:50%;width:7px;height:7px;transition:width .25s,height .25s,background .25s;position:fixed;top:0;left:0;transform:translate(-50%,-50%)}.cursor-ring{border:1px solid var(--champagne);pointer-events:none;z-index:99999;opacity:.5;border-radius:50%;width:38px;height:38px;transition:width .3s,height .3s,opacity .3s,border-color .3s;position:fixed;top:0;left:0;transform:translate(-50%,-50%)}.cursor-ring.hover{opacity:1;background:#c9a35e14;width:64px;height:64px}.cursor-dot.hover{width:0;height:0}}nav.topnav{z-index:1100;mix-blend-mode:difference;justify-content:space-between;align-items:center;padding:1.6rem clamp(1.5rem,5vw,4rem);display:flex;position:fixed;top:0;left:0;right:0}.nav-logo{font-family:var(--display);color:#fff;letter-spacing:-.02em;font-size:1.5rem;font-style:italic;font-weight:500;text-decoration:none}.nav-logo span{font-family:var(--sans);font-size:1.2rem;font-style:normal;font-weight:400}.nav-links{align-items:center;gap:2.2rem;display:flex}.nav-links a{color:#fff;text-transform:uppercase;letter-spacing:.12em;font-size:.82rem;font-weight:400;text-decoration:none;transition:color .3s;position:relative}.nav-links a:not(.nav-cta):after{content:"";background:var(--champagne);transform-origin:0;height:1px;transition:transform .3s;position:absolute;bottom:-7px;left:0;right:0;transform:scaleX(0)}.nav-links a:not(.nav-cta):hover:after,.nav-links a.active:after{transform:scaleX(1)}.nav-account{color:var(--champagne);align-items:center;gap:.45rem;display:inline-flex}.nav-account svg{width:14px;height:14px}.nav-cta{border:1px solid #fff;border-radius:100px;padding:.6rem 1.3rem;transition:border-color .3s,color .3s}.nav-cta:hover{border-color:var(--champagne);color:var(--champagne)}.nav-burger{cursor:pointer;background:0 0;border:none;width:46px;height:46px;padding:0;display:none;position:relative}.nav-burger span{background:#fff;border-radius:2px;width:24px;height:2px;transition:transform .45s cubic-bezier(.6,.05,.3,1),top .35s;position:absolute;left:11px}.nav-burger span:first-child{top:18px}.nav-burger span:nth-child(2){top:27px}.nav-burger.open span:first-child{top:22px;transform:rotate(45deg)}.nav-burger.open span:nth-child(2){top:22px;transform:rotate(-45deg)}.mobile-menu{z-index:1050;background:var(--noir);opacity:0;visibility:hidden;flex-direction:column;justify-content:center;padding:7rem clamp(1.6rem,7vw,3rem) 3rem;transition:opacity .55s cubic-bezier(.2,.8,.2,1),transform .55s cubic-bezier(.2,.8,.2,1),visibility .55s;display:flex;position:fixed;inset:0;overflow:hidden;transform:scale(1.03)}.mobile-menu.open{opacity:1;visibility:visible;transform:scale(1)}.mobile-menu .mm-mark{opacity:.05;pointer-events:none;width:62%;position:absolute;bottom:-12%;right:-14%}.mm-inner{flex-direction:column;gap:.1rem;display:flex}.mm-inner a{font-family:var(--display);color:var(--ink-light);letter-spacing:-.02em;opacity:0;align-items:baseline;gap:1rem;font-size:clamp(2.3rem,11vw,3.6rem);font-style:italic;font-weight:300;line-height:1.32;text-decoration:none;transition:opacity .55s cubic-bezier(.2,.8,.2,1),transform .55s cubic-bezier(.2,.8,.2,1),color .3s;display:flex;transform:translateY(26px)}.mm-inner a .mm-num{font-family:var(--sans);color:var(--champagne);letter-spacing:.05em;font-size:.8rem;font-style:normal;font-weight:500}@media (hover:hover){.mm-inner a:hover{color:var(--champagne)}}.mm-cta{background:var(--champagne);color:var(--noir);font-family:var(--sans);opacity:0;border-radius:100px;align-self:flex-start;margin-top:2.4rem;padding:1rem 2.1rem;font-size:1rem;font-weight:600;text-decoration:none;transition:opacity .55s cubic-bezier(.2,.8,.2,1) .34s,transform .55s cubic-bezier(.2,.8,.2,1) .34s;transform:translateY(26px)}.mm-footer{color:var(--muted);letter-spacing:.18em;text-transform:uppercase;font-size:.74rem;position:absolute;bottom:2.4rem;left:clamp(1.6rem,7vw,3rem)}.mobile-menu.open .mm-inner a,.mobile-menu.open .mm-cta{opacity:1;transform:translateY(0)}.mobile-menu.open .mm-inner a:first-child{transition-delay:.12s}.mobile-menu.open .mm-inner a:nth-child(2){transition-delay:.18s}.mobile-menu.open .mm-inner a:nth-child(3){transition-delay:.24s}.mobile-menu.open .mm-inner a:nth-child(4){transition-delay:.3s}.mobile-menu.open .mm-inner a:nth-child(5){transition-delay:.36s}@media (width<=880px){.nav-links{display:none}.nav-burger{display:block}}section{padding:clamp(5rem,12vh,9rem) clamp(1.5rem,5vw,4rem);position:relative}.section-head{flex-wrap:wrap;align-items:baseline;gap:1.5rem;margin-bottom:4rem;display:flex}.section-num{font-family:var(--display);color:var(--champagne);font-size:1.1rem;font-style:italic}.section-title{font-family:var(--display);letter-spacing:-.02em;font-size:clamp(2rem,5vw,3.8rem);font-weight:300;line-height:1.02}.section-title em{color:var(--champagne);font-style:italic}.reveal-up{opacity:0;transition:all 1s cubic-bezier(.2,.8,.2,1);transform:translateY(50px)}.reveal-up.in{opacity:1;transform:translateY(0)}.gw{will-change:transform,opacity;display:inline-block}.btn-primary{background:var(--champagne);color:var(--noir);font-family:var(--sans);letter-spacing:.02em;cursor:pointer;border:none;border-radius:100px;align-items:center;gap:.6rem;padding:1.1rem 2.2rem;font-size:.9rem;font-weight:600;text-decoration:none;transition:all .4s cubic-bezier(.2,.8,.2,1);display:inline-flex}.btn-primary:hover{background:var(--champagne-bright);transform:translateY(-3px);box-shadow:0 20px 40px -15px #c9a35e80}.btn-ghost{border:1px solid var(--line);color:var(--ink-light);cursor:pointer;font-size:.9rem;font-weight:400;font-family:var(--sans);background:0 0;border-radius:100px;align-items:center;gap:.6rem;padding:1.1rem 2.2rem;text-decoration:none;transition:all .4s;display:inline-flex}.btn-ghost:hover{border-color:var(--champagne);color:var(--champagne)}.page-hero{border-bottom:1px solid var(--line);flex-direction:column;justify-content:center;min-height:62vh;padding:9rem clamp(1.5rem,5vw,4rem) 4rem;display:flex;position:relative;overflow:hidden}.page-hero-mark{opacity:.045;z-index:0;width:48vw;height:48vw;position:absolute;top:50%;right:-6vw;transform:translateY(-50%)}.page-hero .eyebrow{align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.page-hero .eyebrow span{text-transform:uppercase;letter-spacing:.25em;color:var(--champagne);font-size:.78rem}.page-hero .eyebrow .line{background:var(--champagne);width:50px;height:1px}.page-hero h1{font-family:var(--display);letter-spacing:-.03em;z-index:1;max-width:18ch;font-size:clamp(2.8rem,7.5vw,6rem);font-weight:300;line-height:1.04}.page-hero h1 em{color:var(--champagne);font-style:italic}.page-hero .lead{max-width:54ch;color:var(--creme-pale);z-index:1;margin-top:2rem;font-size:1.1rem;font-weight:300}footer{border-top:1px solid var(--line);padding:5rem clamp(1.5rem,5vw,4rem) 3rem}.footer-top{grid-template-columns:2fr 1fr 1fr 1fr;gap:3rem;margin-bottom:4rem;display:grid}.footer-brand img{height:48px;margin-bottom:1.5rem}.footer-brand p{color:var(--muted);max-width:30ch;font-size:.9rem}.footer-col h5{text-transform:uppercase;letter-spacing:.12em;color:var(--champagne);margin-bottom:1.2rem;font-size:.78rem}.footer-col a{color:var(--muted);margin-bottom:.7rem;font-size:.92rem;text-decoration:none;transition:color .3s;display:block}.footer-col a:hover{color:var(--ink-light)}.footer-bottom{border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding-top:2rem;font-size:.8rem;display:flex}@media (width<=780px){.footer-top{grid-template-columns:1fr 1fr;gap:2rem}}.resa-wrap{max-width:1100px;min-height:100vh;margin:0 auto;padding:8rem clamp(1.5rem,5vw,4rem) 5rem}.resa-head{text-align:center;margin-bottom:3.5rem}.resa-head .eyebrow{text-transform:uppercase;letter-spacing:.25em;color:var(--champagne);margin-bottom:1rem;font-size:.78rem}.resa-head h1{font-family:var(--display);letter-spacing:-.02em;font-size:clamp(2.2rem,5.5vw,4rem);font-weight:300;line-height:1.05}.resa-head h1 em{color:var(--champagne);font-style:italic}.progress{justify-content:space-between;align-items:center;max-width:780px;margin:3rem auto 4rem;display:flex;position:relative}.progress:before{content:"";background:var(--line);z-index:0;height:1px;position:absolute;top:18px;left:18px;right:18px}.progress .step{z-index:1;flex-direction:column;flex:1;align-items:center;gap:.6rem;display:flex;position:relative}.progress .dot{border:1px solid var(--line);background:var(--noir);width:36px;height:36px;font-family:var(--display);color:var(--muted);border-radius:50%;justify-content:center;align-items:center;font-size:.95rem;font-style:italic;transition:all .4s cubic-bezier(.2,.8,.2,1);display:flex}.progress .step.done .dot{background:var(--sauge);border-color:var(--sauge);color:var(--ink-light)}.progress .step.active .dot{background:var(--champagne);border-color:var(--champagne);color:var(--noir);transform:scale(1.15);box-shadow:0 0 0 6px #c9a35e26}.progress .label{text-transform:uppercase;letter-spacing:.1em;color:var(--muted);text-align:center;font-size:.7rem}.progress .step.active .label{color:var(--ink-light)}@media (width<=600px){.progress .label{display:none}.progress .dot{width:30px;height:30px;font-size:.8rem}}.step-content{min-height:480px;position:relative}.step-pane{opacity:0;pointer-events:none;transition:opacity .5s cubic-bezier(.2,.8,.2,1),transform .5s cubic-bezier(.2,.8,.2,1);position:absolute;inset:0;transform:translate(40px)}.step-pane.active{opacity:1;pointer-events:auto;position:relative;transform:translate(0)}.step-pane h2{font-family:var(--display);letter-spacing:-.01em;margin-bottom:.5rem;font-size:clamp(1.6rem,3.5vw,2.4rem);font-style:italic;font-weight:300}.step-pane .sub{color:var(--muted);max-width:60ch;margin-bottom:2.5rem;font-size:1rem}.formula-list{grid-template-columns:repeat(3,1fr);gap:1.2rem;display:grid}.formula{border:1px solid var(--line);background:var(--noir-soft);cursor:pointer;border-radius:18px;padding:1.8rem;transition:all .3s;position:relative}.formula:hover{border-color:var(--champagne);transform:translateY(-4px)}.formula.selected{border-color:var(--champagne);background:linear-gradient(160deg,#1f1a10,var(--noir));box-shadow:0 20px 50px -20px #c9a35e66}.formula.selected:after{content:"✓";background:var(--champagne);width:28px;height:28px;color:var(--noir);border-radius:50%;justify-content:center;align-items:center;font-weight:700;display:flex;position:absolute;top:1rem;right:1rem}.formula .ftier{font-family:var(--display);color:var(--champagne);font-size:.85rem;font-style:italic}.formula h3{font-family:var(--display);margin:.4rem 0 .8rem;font-size:1.6rem;font-weight:300}.formula .fprice{font-family:var(--display);color:var(--creme-pale);font-size:2rem;line-height:1}.formula .fprice small{color:var(--muted);font-size:.8rem;font-family:var(--sans)}.formula .fdesc{color:var(--muted);margin-top:1rem;font-size:.88rem;line-height:1.5}@media (width<=880px){.formula-list{grid-template-columns:1fr}}.cal-wrap{grid-template-columns:1.2fr 1fr;gap:2.5rem;display:grid}.cal{border:1px solid var(--line);background:var(--noir-soft);border-radius:18px;padding:1.5rem}.cal-head{justify-content:space-between;align-items:center;margin-bottom:1.2rem;display:flex}.cal-head .m{font-family:var(--display);font-size:1.2rem;font-style:italic}.cal-head button{border:1px solid var(--line);width:34px;height:34px;color:var(--ink-light);cursor:pointer;background:0 0;border-radius:50%;transition:all .3s}.cal-head button:hover{border-color:var(--champagne);color:var(--champagne)}.cal-grid{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.cal-grid .dn{text-align:center;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;padding:.5rem 0;font-size:.7rem}.cal-grid .day{aspect-ratio:1;cursor:pointer;color:var(--ink-light);border-radius:8px;justify-content:center;align-items:center;font-size:.92rem;transition:all .25s;display:flex}.cal-grid .day:hover:not(.disabled){background:#c9a35e26}.cal-grid .day.disabled{color:#ffffff26;cursor:not-allowed}.cal-grid .day.selected{background:var(--champagne);color:var(--noir);font-weight:600}.cal-grid .day.today{outline:1px solid var(--champagne)}.time-list{flex-direction:column;gap:.5rem;display:flex}.time-list .tlabel{text-transform:uppercase;letter-spacing:.12em;color:var(--champagne);margin-bottom:.7rem;font-size:.78rem}.tslot{border:1px solid var(--line);color:var(--ink-light);cursor:pointer;text-align:left;font-family:var(--sans);background:0 0;border-radius:100px;justify-content:space-between;align-items:center;padding:.8rem 1.2rem;font-size:.92rem;transition:all .25s;display:flex}.tslot:hover{border-color:var(--champagne)}.tslot.selected{background:var(--champagne);color:var(--noir);border-color:var(--champagne);font-weight:600}.tslot.taken{opacity:.3;cursor:not-allowed;text-decoration:line-through}.duration-picker{border-bottom:1px solid var(--line);margin-bottom:1.8rem;padding-bottom:1.5rem}.dp-label{text-transform:uppercase;letter-spacing:.12em;color:var(--champagne);margin-bottom:.8rem;font-size:.78rem}.dp-chips{flex-wrap:wrap;gap:.5rem;display:flex}.dp-chip{border:1px solid var(--line);color:var(--ink-light);font-family:var(--sans);cursor:pointer;background:0 0;border-radius:100px;padding:.7rem 1.2rem;font-size:.9rem;transition:all .25s}.dp-chip:hover{border-color:var(--champagne)}.dp-chip.selected{background:var(--champagne);color:var(--noir);border-color:var(--champagne);font-weight:600}@media (width<=780px){.cal-wrap{grid-template-columns:1fr}}.addon-grid{grid-template-columns:repeat(2,1fr);gap:1rem;display:grid}.addon{border:1px solid var(--line);cursor:pointer;background:var(--noir-soft);border-radius:14px;justify-content:space-between;align-items:center;gap:1rem;padding:1.2rem 1.4rem;transition:all .25s;display:flex}.addon:hover{border-color:var(--champagne)}.addon.selected{border-color:var(--champagne);background:linear-gradient(160deg,#1c1810,var(--noir))}.addon-l{flex:1;align-items:center;gap:1rem;display:flex}.addon .check{border:1.5px solid var(--line);color:#0000;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:.85rem;transition:all .25s;display:flex}.addon.selected .check{background:var(--champagne);border-color:var(--champagne);color:var(--noir)}.addon .aname{color:var(--creme-pale);font-size:.95rem}.addon .aprice{color:var(--champagne);white-space:nowrap;font-size:.88rem}@media (width<=780px){.addon-grid{grid-template-columns:1fr}}.form-grid{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.form-field{flex-direction:column;gap:.4rem;display:flex}.form-field.full{grid-column:1/-1}.form-field label{text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-size:.78rem}.form-field input,.form-field textarea{background:var(--noir-soft);border:1px solid var(--line);color:var(--ink-light);font-family:var(--sans);border-radius:12px;width:100%;padding:.95rem 1.1rem;font-size:.95rem;transition:border-color .3s}.form-field input:focus,.form-field textarea:focus{border-color:var(--champagne);outline:none}.form-field input[readonly]{opacity:.55;cursor:not-allowed;border-style:dashed}.form-field input[readonly]:focus{border-color:var(--line)}.form-field textarea{resize:vertical;min-height:100px;font-family:var(--sans)}@media (width<=600px){.form-grid{grid-template-columns:1fr}}.recap{grid-template-columns:1.2fr 1fr;gap:2.5rem;display:grid}.recap-list{border:1px solid var(--line);background:var(--noir-soft);border-radius:18px;padding:1.8rem}.recap-row{border-bottom:1px solid var(--line);justify-content:space-between;padding:.9rem 0;font-size:.95rem;display:flex}.recap-row:last-child{border-bottom:none}.recap-row .lbl{color:var(--muted)}.recap-row .val{color:var(--creme-pale);text-align:right}.recap-line{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:1.5rem;padding:.95rem 0;font-size:.95rem;display:flex}.recap-line:last-child{border-bottom:none}.recap-line span:first-child{color:var(--muted)}.recap-line span:last-child{color:var(--creme-pale);text-align:right;white-space:nowrap}.recap-total{border-top:2px solid var(--line);justify-content:space-between;align-items:center;margin-top:1.2rem;padding-top:1.2rem;display:flex}.recap-total .tlabel{font-family:var(--display);font-size:1.3rem;font-style:italic}.recap-total .tprice{font-family:var(--display);color:var(--champagne);font-size:2.2rem;font-weight:300}.recap-pay{border:1px solid var(--line);background:linear-gradient(160deg,#1c1810,var(--noir));border-radius:18px;flex-direction:column;justify-content:space-between;padding:1.8rem;display:flex}.recap-pay h3{font-family:var(--display);margin-bottom:.5rem;font-size:1.5rem;font-style:italic}.recap-pay p{color:var(--muted);margin-bottom:1.5rem;font-size:.92rem}.acompte{font-family:var(--display);color:var(--creme-pale);margin-bottom:1rem;font-size:1.6rem}.acompte small{color:var(--muted);font-size:.85rem;font-family:var(--sans);margin-top:.3rem;display:block}.pay-icons{flex-wrap:wrap;gap:.5rem;margin-top:1rem;display:flex}.pay-icons span{border:1px solid var(--line);color:var(--muted);border-radius:100px;padding:.3rem .8rem;font-size:.72rem}@media (width<=780px){.recap{grid-template-columns:1fr}}.step-nav{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-top:3rem;display:flex}.step-nav .back{color:var(--muted);font-family:var(--sans);cursor:pointer;background:0 0;border:none;border-radius:100px;padding:.8rem 1.2rem;font-size:.95rem;transition:color .3s}.step-nav .back:hover{color:var(--ink-light)}.step-nav .back:disabled{opacity:0;pointer-events:none}
