@layer reset,tokens,base,primitives;@layer reset{*,*:before,*:after{box-sizing:border-box}html,body{margin:0;min-height:100%}body,h1,h2,h3,p,figure{margin:0}img,svg,iframe,video{display:block;max-width:100%}button,input,select,textarea{font:inherit}}@layer tokens{:root{--font-serif: "Cormorant Garamond", Georgia, serif;--font-sans: "Jost", system-ui, sans-serif;--color-bg: #0f0e0c;--color-bg-warm: #141210;--color-surface: #1a1815;--color-surface-hi: #221f1b;--color-surface-strong: #f7f1e8;--color-text: #ede8e0;--color-muted: #9e9187;--color-faint: #5c5348;--color-accent: #b8975a;--color-accent-dim: rgba(184, 151, 90, .15);--color-accent-glow: rgba(184, 151, 90, .08);--color-border: rgba(255, 245, 235, .07);--color-border-hi: rgba(255, 245, 235, .14);--radius-panel: 2px;--radius-field: 2px;--shadow-panel: 0 18px 52px rgba(0, 0, 0, .58);--space-xs: clamp(.5rem, 1vw, .75rem);--space-sm: clamp(.75rem, 1.5vw, 1rem);--space-md: clamp(1rem, 2vw, 1.5rem);--space-lg: clamp(1.5rem, 3vw, 2.5rem);--space-xl: clamp(2.5rem, 5vw, 5rem);--space-2xl: clamp(3rem, 6vw, 7rem);--text-xs: clamp(.625rem, .6rem + .15vw, .6875rem);--text-sm: clamp(.75rem, .7rem + .25vw, .875rem);--text-base: clamp(.875rem, .8rem + .3vw, .9375rem);--text-lg: clamp(1rem, .9rem + .5vw, 1.125rem);--text-xl: clamp(1.125rem, 1rem + .6vw, 1.375rem);--text-2xl: clamp(1.5rem, 1.25rem + 1.2vw, 2rem);--text-hero: clamp(2.25rem, 1.5rem + 3.5vw, 4.25rem);--surface-panel-radius: 1.25rem;--surface-field-radius: .9rem;--surface-field-group-radius: 1rem}}@layer base{body{font-family:var(--font-sans);background:var(--color-bg);color:var(--color-text);min-height:100vh;position:relative;font-size:var(--text-base);line-height:1.55;text-wrap:pretty}body:before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.4;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)' opacity='0.03'/%3E%3C/svg%3E")}a{color:inherit;text-decoration:none}input,select,textarea{width:100%;min-width:0;border:1px solid rgba(54,40,27,.18);border-radius:var(--surface-field-radius);background:#fffdfa;color:#201811;padding:.9rem 1rem;transition:border-color .14s ease,box-shadow .14s ease,background-color .14s ease}input::placeholder,textarea::placeholder{color:#7d6f62}input:hover,select:hover,textarea:hover{border-color:#36281b4d;background:#fff}input:focus,select:focus,textarea:focus{outline:none;border-color:color-mix(in srgb,var(--color-accent) 45%,rgba(54,40,27,.18));box-shadow:0 0 0 3px #b8975a24}}@layer primitives{.marketing-page{position:relative;z-index:1}.stack{display:grid;gap:var(--space-sm)}.muted{color:var(--color-muted)}.eyebrow{margin:0;color:var(--color-accent);font-size:var(--text-xs);letter-spacing:.18em;text-transform:uppercase}.marketing-nav{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:var(--space-sm);padding:0 var(--space-lg);height:clamp(60px,8vw,76px);border-bottom:1px solid var(--color-border);position:sticky;top:0;z-index:50;background:#0f0e0cf7;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.marketing-nav__side{display:flex;gap:var(--space-lg);align-items:center}.marketing-nav__side--right{justify-content:flex-end}.marketing-nav__link,.marketing-nav__reserve{color:var(--color-faint);font-size:var(--text-xs);font-weight:400;letter-spacing:.1em;text-transform:uppercase;transition:color .2s ease,border-color .2s ease;white-space:nowrap}.marketing-nav__link:hover{color:var(--color-text)}.marketing-nav__brand{font-family:var(--font-serif);font-size:clamp(1.25rem,1rem + 1vw,1.625rem);font-weight:300;letter-spacing:.2em;text-transform:uppercase;text-align:center}.marketing-nav__brand span,.marketing-nav__reserve{color:var(--color-accent)}.marketing-nav__reserve{border-bottom:1px solid rgba(184,151,90,.35);padding-bottom:1px}.marketing-nav__reserve:hover{border-color:var(--color-accent)}.marketing-hero{display:grid;grid-template-columns:minmax(0,.95fr) minmax(360px,.88fr);max-width:1100px;margin:0 auto;padding:var(--space-2xl) var(--space-lg) var(--space-xl);gap:clamp(2.5rem,6vw,7rem);align-items:start}.marketing-hero__copy{padding-top:clamp(0rem,2vw,1.5rem)}.marketing-ornament{display:flex;align-items:center;gap:var(--space-md);margin-bottom:var(--space-lg)}.marketing-ornament__line{flex:1;max-width:40px;height:1px;background:var(--color-accent);opacity:.5}.marketing-ornament__text{font-size:var(--text-xs);letter-spacing:.18em;text-transform:uppercase;color:var(--color-accent);white-space:nowrap}.marketing-hero__title{margin:0 0 var(--space-lg);font-family:var(--font-serif);font-size:var(--text-hero);line-height:1.08;font-weight:300;letter-spacing:.01em;max-width:8ch}.marketing-hero__title em{font-style:italic}.marketing-hero__title strong{display:block;font-weight:300;color:var(--color-accent)}.marketing-hero__rule{display:block;width:40px;height:1px;background:var(--color-border-hi);margin-bottom:var(--space-md)}.marketing-hero__summary{color:var(--color-muted);font-size:var(--text-base);font-weight:300;line-height:1.8;margin:0 0 var(--space-xl);max-width:30ch}.marketing-hero__actions{display:flex;flex-direction:column;gap:var(--space-md)}.marketing-cta{width:fit-content}.marketing-cta--primary{display:inline-flex;align-items:center;gap:var(--space-md);border:1px solid rgba(184,151,90,.5);color:var(--color-accent);padding:clamp(.75rem,2vw,1rem) clamp(1.25rem,3vw,2rem);font-size:var(--text-sm);letter-spacing:.12em;text-transform:uppercase;transition:background .2s ease,border-color .2s ease}.marketing-cta--primary:after{content:"→";font-size:var(--text-base)}.marketing-cta--primary:hover{background:var(--color-accent-dim);border-color:var(--color-accent)}.marketing-cta--secondary{color:var(--color-faint);font-size:var(--text-sm);letter-spacing:.08em;text-transform:uppercase}.marketing-cta--secondary:hover{color:var(--color-text)}.reservation-panel,.gallery-cell,.video-card{background:var(--color-surface);border:1px solid var(--color-border);overflow:hidden}.reservation-panel{box-shadow:var(--shadow-panel)}.panel-top-rule{height:1px;background:linear-gradient(90deg,transparent,var(--color-accent),transparent)}.panel-header{padding:var(--space-lg) var(--space-lg) var(--space-md);border-bottom:1px solid var(--color-border)}.panel-eyebrow{margin:0 0 .375rem;font-size:var(--text-xs);letter-spacing:.18em;text-transform:uppercase;color:var(--color-faint)}.panel-title{margin:0;font-family:var(--font-serif);font-size:var(--text-xl);font-weight:400;letter-spacing:.04em}.panel-section{padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--color-border)}.panel-section:last-of-type{border-bottom:0}.panel-section-label{margin:0 0 var(--space-sm);font-size:var(--text-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--color-faint)}.specialist-list{display:flex;flex-direction:column;gap:.375rem}.specialist-row{display:flex;align-items:center;gap:var(--space-sm);padding:clamp(.625rem,1.5vw,.875rem) var(--space-sm);border:1px solid transparent;transition:border-color .15s ease,background .15s ease}.specialist-row:hover{border-color:var(--color-border-hi);background:var(--color-surface-hi)}.specialist-row.selected{border-color:#b8975a4d;background:var(--color-accent-glow)}.spec-monogram{width:clamp(32px,4vw,38px);height:clamp(32px,4vw,38px);border-radius:999px;display:flex;align-items:center;justify-content:center;font-family:var(--font-serif);font-size:var(--text-sm);font-weight:500;color:var(--color-bg);flex-shrink:0}.spec-name,.spec-role,.spec-next,.confirm-detail,.confirm-detail strong,.sig-label,.sig-num,.service-row-num,.service-row-name,.service-row-desc,.service-row-duration,.service-row-price,.gallery-cell-label,.video-title,.video-caption,.footer-copy,.footer-logo{margin:0}.spec-name{font-size:var(--text-base);color:var(--color-text)}.spec-role{font-size:var(--text-xs);color:var(--color-muted)}.spec-next{margin-left:auto;font-size:var(--text-xs);letter-spacing:.08em;color:var(--color-accent);white-space:nowrap}.specialist-row.selected .spec-next:before{content:"● ";font-size:.5rem}.date-row{display:flex;gap:var(--space-xs);overflow-x:auto;scrollbar-width:none;padding-bottom:2px}.date-row::-webkit-scrollbar{display:none}.date-pill{flex-shrink:0;min-width:clamp(44px,9vw,56px);text-align:center;padding:clamp(.5rem,1.5vw,.75rem) clamp(.375rem,1vw,.5rem);border:1px solid var(--color-border);background:transparent;color:inherit;cursor:pointer;transition:border-color .15s ease,background .15s ease}.date-pill:hover{border-color:var(--color-border-hi)}.date-pill.active{border-color:#b8975a66;background:var(--color-accent-dim)}.date-pill .wd{display:block;font-size:var(--text-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--color-faint)}.date-pill .dd{display:block;margin-top:.25rem;font-family:var(--font-serif);font-size:var(--text-xl)}.date-pill.active .wd,.date-pill.active .dd{color:var(--color-accent)}.time-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(.25rem,.75vw,.375rem)}.time-slot{padding:clamp(.5rem,1.5vw,.625rem) .5rem;border:1px solid var(--color-border);background:transparent;text-align:center;font-size:var(--text-sm);font-weight:300;cursor:pointer;transition:border-color .15s ease,color .15s ease,background .15s ease;color:var(--color-muted);letter-spacing:.04em}.time-slot:hover:not(:disabled){border-color:var(--color-border-hi);color:var(--color-text)}.time-slot.selected{border-color:#b8975a66;background:var(--color-accent-dim);color:var(--color-accent)}.time-slot.taken{color:var(--color-faint);opacity:.35;cursor:default;font-size:var(--text-xs);text-decoration:line-through}.panel-confirm{padding:var(--space-md) var(--space-lg);background:var(--color-surface-hi);display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);flex-wrap:wrap}.confirm-detail{font-size:var(--text-sm);color:var(--color-muted);line-height:1.5}.confirm-detail strong{display:block;color:var(--color-text);font-size:var(--text-base)}.btn-confirm{display:inline-flex;align-items:center;justify-content:center;background:var(--color-accent);color:var(--color-bg);border:none;padding:clamp(.75rem,2vw,.875rem) clamp(1.25rem,3vw,1.75rem);font-size:var(--text-xs);font-weight:500;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:opacity .15s ease;white-space:nowrap}.btn-confirm:hover{opacity:.88}.signature-strip{border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);padding:var(--space-xl) var(--space-lg)}.signature-inner{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-xl);align-items:center}.sig-item{position:relative;text-align:center}.sig-divider{position:absolute;right:calc(var(--space-xl) * -.5);top:50%;width:1px;height:60px;transform:translateY(-50%);background:var(--color-border)}.sig-num{font-family:var(--font-serif);font-size:clamp(2rem,1.5rem + 2vw,3rem);font-weight:300;color:var(--color-accent);line-height:1;margin-bottom:.5rem}.sig-label{font-size:var(--text-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--color-faint)}.section,.gallery-section,.video-section{max-width:1100px;margin:0 auto;padding:var(--space-xl) var(--space-lg)}.gallery-section,.video-section{padding-top:0}.section-header,.gallery-header{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-lg);margin-bottom:var(--space-xl);flex-wrap:wrap}.section-heading{margin:0;font-family:var(--font-serif);font-size:var(--text-2xl);font-weight:300;line-height:1.15;max-width:14ch}.section-heading em{font-style:italic;color:var(--color-accent)}.section-sub{max-width:31ch;font-size:var(--text-sm);color:var(--color-faint);line-height:1.7;text-align:right}.section-sup{display:flex;align-items:center;gap:.75rem;margin:0 0 var(--space-sm);font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--color-accent)}.section-sup:after{content:"";flex:1;max-width:40px;height:1px;background:var(--color-accent);opacity:.4}.services-table{width:100%}.service-row{position:relative;display:grid;grid-template-columns:3rem 1fr auto auto;align-items:center;gap:var(--space-lg);padding:var(--space-lg) 0;border-bottom:1px solid var(--color-border);transition:color .15s ease}.service-row:first-child{border-top:1px solid var(--color-border)}.service-row:before{content:"";position:absolute;left:calc(var(--space-lg) * -1);right:calc(var(--space-lg) * -1);top:0;bottom:0;background:var(--color-accent-glow);opacity:0;transition:opacity .2s ease}.service-row:hover:before,.service-row.active:before{opacity:1}.service-row>*{position:relative;z-index:1}.service-row.active .service-row-name{color:var(--color-accent)}.service-row-num{font-family:var(--font-serif);font-size:var(--text-sm);color:var(--color-faint)}.service-row-name{margin-bottom:.375rem;font-family:var(--font-serif);font-size:var(--text-xl);font-weight:400}.service-row-desc{font-size:var(--text-sm);color:var(--color-muted);line-height:1.6;margin-bottom:var(--space-xs)}.service-row-duration{font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--color-faint);text-align:right;white-space:nowrap}.service-row-price{font-family:var(--font-serif);font-size:var(--text-2xl);text-align:right;white-space:nowrap}.service-badge{display:inline-block;font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--color-accent);border:1px solid rgba(184,151,90,.3);padding:.15rem .5rem}.booking-form-card{container-type:inline-size;background:linear-gradient(180deg,#fffffff7,#fffaf2fa);border:1px solid color-mix(in srgb,var(--color-accent) 22%,rgba(54,40,27,.1));border-radius:var(--surface-panel-radius);box-shadow:0 24px 48px #00000038;padding:clamp(1.25rem,1rem + 1vw,2rem)}.booking-form-card__header{gap:var(--space-xs);padding-bottom:var(--space-sm);border-bottom:1px solid rgba(54,40,27,.08)}.booking-form-card__title{margin:0;font-family:var(--font-serif);font-size:clamp(1.4rem,1.1rem + .9vw,1.95rem);line-height:1.08;font-weight:400;letter-spacing:.03em;color:#241d17}.booking-form-card__copy{max-width:58ch}.surface-light{color:#241d17}.surface-light .muted{color:#6a5c50}.surface-light .field__label{color:#2c231b}.booking-form-grid{display:grid;gap:var(--space-md);padding-top:var(--space-xs)}.field{display:grid;gap:.55rem;min-width:0}.field--full{grid-column:1 / -1}.field__label{font-size:.82rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase}.field-with-consent{gap:var(--space-sm);padding:var(--space-md);border:1px solid rgba(54,40,27,.14);border-radius:var(--surface-field-group-radius);background:linear-gradient(180deg,#fff8effa,#fff4e7f0);box-shadow:inset 0 1px #ffffff73,0 10px 24px #523b1b0d}.field-pair{display:grid;gap:var(--space-md)}.consent-toggle{display:flex;gap:.8rem;align-items:flex-start;color:#5f5044}.consent-toggle input{width:1.1rem;min-width:1.1rem;height:1.1rem;margin-top:.15rem;accent-color:var(--color-accent)}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(2,clamp(140px,18vw,220px));gap:var(--space-xs)}.cell-wide{grid-column:span 2}.gallery-cell{position:relative;display:flex;align-items:center;justify-content:center;min-height:100%}.gallery-cell:after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(184,151,90,.04) 0%,transparent 60%)}.gallery-cell-label{position:relative;z-index:1;padding:var(--space-sm);text-align:center;font-size:var(--text-xs);color:var(--color-muted);letter-spacing:.1em;text-transform:uppercase}.video-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr));gap:var(--space-sm)}.video-thumb{aspect-ratio:16 / 9;background:var(--color-surface-hi);display:flex;align-items:center;justify-content:center}.play-btn{width:clamp(44px,6vw,56px);height:clamp(44px,6vw,56px);border-radius:50%;border:1.5px solid rgba(184,151,90,.5);display:flex;align-items:center;justify-content:center;color:var(--color-accent);font-size:var(--text-xl);padding-left:3px}.video-meta{padding:var(--space-sm) var(--space-md)}.video-title{font-family:var(--font-serif);font-size:var(--text-lg);font-weight:400;margin-bottom:.25rem}.video-caption{font-size:var(--text-xs);color:var(--color-muted);line-height:1.6}.marketing-video-frame{aspect-ratio:16 / 9;overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-field);background:#000}.marketing-video-frame--elevated{border-radius:0;border-inline:0;border-top:0}.marketing-video-frame iframe{width:100%;height:100%;border:0}.marketing-footer{border-top:1px solid var(--color-border);padding:var(--space-lg);display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);flex-wrap:wrap}.footer-logo{font-family:var(--font-serif);font-size:var(--text-base);font-weight:300;letter-spacing:.2em;text-transform:uppercase;color:var(--color-muted)}.footer-links{display:flex;gap:var(--space-lg);flex-wrap:wrap}.footer-links a{font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--color-faint);transition:color .15s ease}.footer-links a:hover{color:var(--color-accent)}.footer-copy{font-size:var(--text-xs);color:var(--color-faint)}.booking-notice{padding:var(--space-md);border:1px solid color-mix(in srgb,var(--color-accent) 35%,var(--color-border-hi));border-radius:var(--radius-field);background:linear-gradient(180deg,color-mix(in srgb,var(--color-accent-dim) 55%,white),#fff8eefa);color:#3b2d18}.booking-notice p{margin:0}@container (width > 36rem){.booking-form-grid,.field-pair{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:1280px){.marketing-hero,.section,.gallery-section,.video-section,.signature-inner{max-width:1180px}.gallery-grid{grid-template-columns:1.35fr 1fr 1fr;grid-template-rows:repeat(2,clamp(160px,16vw,250px))}}@media(max-width:1023px){.marketing-hero{grid-template-columns:1fr;gap:var(--space-xl)}.marketing-hero__title,.section-heading{max-width:none}.marketing-hero__summary{max-width:48ch}.service-row{gap:var(--space-md)}}@media(max-width:767px){.marketing-nav__side .marketing-nav__link{display:none}.signature-inner{grid-template-columns:1fr;gap:var(--space-lg)}.sig-divider{display:none}.section-header,.gallery-header,.marketing-footer{align-items:flex-start}.section-sub{text-align:left;max-width:none}.gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:repeat(3,clamp(120px,28vw,180px))}}@media(max-width:599px){.service-row{grid-template-columns:2.5rem 1fr;grid-template-rows:auto auto;gap:var(--space-xs) var(--space-sm)}.service-row-num{align-self:start;padding-top:.2rem}.service-row-info{grid-row:span 2}.service-row-duration{display:none}.service-row-price{grid-column:2;grid-row:2;text-align:left;font-size:var(--text-xl);color:var(--color-accent)}.service-row-desc:after{content:attr(data-duration);display:inline;color:var(--color-faint);font-size:var(--text-xs)}.marketing-footer{flex-direction:column;align-items:flex-start}}}@layer primitives{.reservation-service-summary{font-family:var(--font-serif);font-size:var(--text-lg);color:var(--color-text)}.reservation-panel__hint{margin:0;color:var(--color-muted);font-size:var(--text-sm);line-height:1.6}.service-row,.specialist-row{width:100%;background:transparent;color:inherit;font:inherit;text-align:left}.service-row{border:0;border-bottom:1px solid var(--color-border)}.service-row:first-child{border-top:1px solid var(--color-border)}.details-shell{padding-top:var(--space-2xl)}.details-layout{display:grid;max-width:760px}.booking-summary-card{padding:var(--space-md);border:1px solid rgba(184,151,90,.2);border-radius:var(--surface-field-group-radius);background:linear-gradient(180deg,#fffbf5fa,#fff4e7f5);color:#2d241c}.booking-summary-card__title{margin:0;font-family:var(--font-serif);font-size:var(--text-xl);font-weight:400}.booking-summary-card__meta{margin:0;color:#6a5c50;font-size:var(--text-sm)}.booking-form-actions{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);flex-wrap:wrap}.button-link{border:0;background:transparent;cursor:pointer;padding:0}.booking-form-error{margin:0;color:#8f443b;font-size:var(--text-sm)}.booking-notice--success{border-color:#b8975a59;background:linear-gradient(180deg,#b8975a29,#f7f1e8f5);color:#241d17}.btn-confirm:disabled{opacity:.45;cursor:not-allowed}}
