html{background:#f3f0ea}body{margin:0}#root{min-height:100vh}@font-face{font-family:Sofia Pro Light;src:url(/assets/Sofiapro-Light-CsUUH8l1.otf)format("opentype");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:Sackers Gothic Heavy;src:url(/assets/SackersGothicHeavy-LFnBW8SL.ttf)format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Walkester;src:url(/assets/Walkester-B-FT2dha.ttf)format("truetype");font-weight:400;font-style:normal;font-display:swap}:root{--brand-gold:#c9b89b;--brand-gold-dark:#b6a282;--brand-text:#b7a88f;--page-text:#756b5f;--panel:#ffffffc2;--panel-border:#b7a88f52;--shadow:0 18px 60px #5a4d3b17}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{min-width:320px;min-height:100vh;color:var(--page-text);font-family:Sofia Pro Light,sans-serif}button,input,select,textarea{font:inherit}button{border:0}.app-shell{background-image:linear-gradient(#ffffff14,#ffffff14),url(/images/backgrounds/marble.png);background-position:50%;background-repeat:no-repeat;background-size:cover;min-height:100dvh;position:relative;overflow:hidden}.brand-lockup{width:min(52vw,560px);color:var(--brand-gold-dark);flex-direction:column;align-items:center;display:flex;position:absolute;top:45%;left:50%;transform:translate(-50%,-50%)}.brand-symbol{filter:brightness(0)saturate()invert(73%)sepia(15%)saturate(565%)hue-rotate(356deg)brightness(91%)contrast(84%);width:clamp(105px,11vw,175px);height:auto;margin-bottom:18px;display:block}.brand-name{letter-spacing:.14em;flex-direction:column;align-items:center;font-family:Walkester,serif;font-size:clamp(36px,4.1vw,66px);font-weight:400;line-height:.9;display:flex}.brand-subtitle{letter-spacing:.42em;margin-top:28px;padding-left:.42em;font-family:Sackers Gothic Heavy,sans-serif;font-size:clamp(14px,1.55vw,24px)}.primary-action-wrap{position:absolute;bottom:clamp(36px,8vh,110px);right:clamp(28px,7vw,120px)}.primary-action,.flow-next-button{background:var(--brand-gold);color:#fff;letter-spacing:.14em;cursor:pointer;border-radius:14px;justify-content:center;align-items:center;gap:18px;min-height:50px;padding:9px 22px;font-family:Sackers Gothic Heavy,sans-serif;transition:transform .12s,background-color .12s,opacity .12s;display:inline-flex}.primary-action{font-size:clamp(17px,1.65vw,27px)}.primary-action:hover,.flow-next-button:hover:not(:disabled){background:var(--brand-gold-dark)}.primary-action:active,.flow-next-button:active:not(:disabled){transform:translateY(1px)}.primary-action-arrow{color:var(--brand-gold-dark);font-family:Sofia Pro Light,sans-serif;font-size:1.7em;line-height:1}.flow-shell{min-height:100dvh;padding:max(34px, env(safe-area-inset-top)) 24px max(34px, env(safe-area-inset-bottom));overflow:auto}.brand-lockup--compact{width:auto;margin:4px auto 28px;position:relative;top:auto;left:auto;transform:none}.brand-lockup--compact .brand-symbol{width:54px;margin-bottom:8px}.brand-lockup--compact .brand-name{font-size:22px;line-height:.9}.brand-lockup--compact .brand-subtitle{margin-top:10px;font-size:9px}.flow-card{border:1px solid var(--panel-border);background:var(--panel);width:min(100%,650px);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(9px);border-radius:30px;margin:0 auto;padding:clamp(26px,5vw,54px);position:relative}.flow-card--wide{width:min(100%,820px)}.back-button{color:var(--brand-gold-dark);letter-spacing:.14em;cursor:pointer;background:0 0;padding:0;font-family:Sackers Gothic Heavy,sans-serif;font-size:11px}.flow-heading{text-align:center;margin-top:32px}.flow-step{color:var(--brand-gold-dark);letter-spacing:.32em;margin-bottom:11px;font-family:Sackers Gothic Heavy,sans-serif;font-size:10px}.flow-heading h1{color:var(--page-text);margin:0;font-family:Walkester,serif;font-size:clamp(35px,6vw,53px);font-weight:400;line-height:1}.flow-heading p{max-width:440px;margin:18px auto 0;font-size:18px;line-height:1.45}.date-control-wrap{flex-direction:column;align-items:center;margin:42px 0;display:flex}.date-control{width:min(100%,330px);min-height:58px;color:var(--page-text);text-align:center;background:#ffffffc7;border:1px solid #b6a2827a;border-radius:14px;outline:none;padding:10px 18px;font-size:18px}.date-control:focus{border-color:var(--brand-gold-dark)}.selected-date-label{color:var(--brand-gold-dark);text-align:center;text-transform:capitalize;margin-top:18px;font-size:16px}.flow-next-button{width:100%;font-size:14px}.flow-next-button:disabled{opacity:.4;cursor:default}.date-summary{color:var(--brand-gold-dark);text-transform:capitalize}.status-message{text-align:center;margin:42px auto;font-size:18px}.status-message--error{color:#8b5f58}.slot-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:38px;display:grid}.slot-button{min-height:50px;color:var(--page-text);cursor:pointer;background:#ffffffc2;border:1px solid #b6a28273;border-radius:13px;padding:10px 8px;font-size:16px;transition:background-color .12s,color .12s,border-color .12s,transform .12s}.slot-button:hover{border-color:var(--brand-gold-dark);transform:translateY(-1px)}.slot-button--selected{border-color:var(--brand-gold-dark);background:var(--brand-gold);color:#fff}.selection-preview{background:#c9b89b2b;border-radius:14px;justify-content:space-between;align-items:center;margin-top:28px;padding:18px 20px;display:flex}.selection-preview span{font-size:15px}.selection-preview strong{color:var(--brand-gold-dark);font-size:20px;font-weight:400}@media (width<=700px){.app-shell{background-position:50%}.brand-lockup:not(.brand-lockup--compact){width:82vw;top:39%}.brand-lockup:not(.brand-lockup--compact) .brand-symbol{width:clamp(100px,28vw,145px);margin-bottom:15px}.brand-lockup:not(.brand-lockup--compact) .brand-name{font-size:clamp(34px,10vw,50px)}.brand-lockup:not(.brand-lockup--compact) .brand-subtitle{margin-top:22px;font-size:clamp(13px,3.8vw,18px)}.primary-action-wrap{left:50%;right:auto;bottom:max(48px, env(safe-area-inset-bottom));transform:translate(-50%)}.primary-action{min-width:190px}.flow-shell{padding-left:14px;padding-right:14px}.flow-card{border-radius:22px;padding:24px 18px 28px}.flow-heading{margin-top:26px}.flow-heading p{font-size:16px}.date-control-wrap{margin:34px 0}.slot-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.slot-button{min-height:48px;font-size:14px}}@media (width<=410px){.slot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.flow-next-button--spaced{margin-top:28px}.empty-services{text-align:center;background:#ffffff8c;border:1px solid #b6a28242;border-radius:18px;flex-direction:column;align-items:center;gap:8px;margin:40px 0 8px;padding:28px;display:flex}.empty-services span{font-size:18px}.empty-services small{color:var(--brand-gold-dark);font-size:14px}.service-list{flex-direction:column;gap:12px;margin-top:38px;display:flex}.service-card{width:100%;color:var(--page-text);text-align:left;cursor:pointer;background:#ffffffad;border:1px solid #b6a28259;border-radius:16px;justify-content:space-between;align-items:center;gap:24px;padding:20px;display:flex}.service-card--selected{border-color:var(--brand-gold-dark);background:#c9b89b40}.service-card-copy{flex-direction:column;gap:5px;display:flex}.service-card-copy strong{font-size:18px;font-weight:400}.service-card-copy span{opacity:.8;line-height:1.35}.service-card-copy small{color:var(--brand-gold-dark)}.service-card-price{color:var(--brand-gold-dark);flex:none;font-size:18px}.guest-form{flex-direction:column;gap:22px;margin-top:38px;display:flex}.form-field{flex-direction:column;gap:8px;display:flex}.form-field>span{color:var(--brand-gold-dark);font-size:14px}.form-field input{width:100%;min-height:54px;color:var(--page-text);background:#ffffffc2;border:1px solid #b6a28266;border-radius:13px;outline:none;padding:11px 15px;font-size:17px}.form-field input:focus{border-color:var(--brand-gold-dark)}.form-divider{color:var(--brand-gold-dark);align-items:center;gap:14px;display:flex}.form-divider:before,.form-divider:after{content:"";background:#b6a28247;flex:1;height:1px}.form-help{color:var(--brand-gold-dark);text-align:center;margin-top:-10px;font-size:13px}.reservation-preview{background:#ffffff94;border:1px solid #b6a28247;border-radius:18px;flex-direction:column;margin-top:38px;display:flex;overflow:hidden}.reservation-preview>div{border-bottom:1px solid #b6a28233;flex-direction:column;gap:5px;padding:17px 20px;display:flex}.reservation-preview>div:last-child{border-bottom:0}.reservation-preview span{color:var(--brand-gold-dark);text-transform:uppercase;letter-spacing:.1em;font-size:12px}.reservation-preview strong{font-size:17px;font-weight:400}@media (width<=700px){.service-card{padding:16px}.service-card-copy strong,.service-card-price{font-size:16px}}.phone-field-row{grid-template-columns:minmax(0,1.8fr) minmax(120px,1fr);gap:.75rem;width:100%;display:grid}.phone-prefix{width:100%;min-width:0;min-height:54px;color:var(--page-text);appearance:none;background-color:#ffffffc2;background-image:linear-gradient(45deg, transparent 50%, var(--brand-gold-dark) 50%), linear-gradient(135deg, var(--brand-gold-dark) 50%, transparent 50%);background-position:calc(100% - 18px) 23px,calc(100% - 13px) 23px;background-repeat:no-repeat;background-size:5px 5px,5px 5px;border:1px solid #b6a28266;border-radius:13px;outline:none;padding:11px 38px 11px 14px;font-family:inherit;font-size:17px}.phone-field-row input,.phone-prefix{box-sizing:border-box;height:54px}.phone-prefix:focus{border-color:var(--brand-gold-dark)}.phone-field-row input{width:100%;min-width:0}@media (width<=520px){.phone-field-row{grid-template-columns:minmax(0,1.6fr) minmax(105px,1fr);gap:.5rem}}
