:root{--accent:#d9889b;--accent-2:#682f4c;--bg:#fbf7f3;--ink:#272025;--muted:#6f646b;--card:#fff;--line:#e9dde2}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font:17px/1.6 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}img{display:block;max-width:100%}a{color:inherit}button,input,select,textarea{font:inherit}:focus-visible{outline:3px solid var(--accent);outline-offset:4px}.demo-note{position:relative;z-index:30;padding:10px 20px;text-align:center;color:#fff;background:#111827;font-size:14px;font-weight:800}.demo-note a{margin-left:10px;text-underline-offset:4px}.demo-wrap{width:min(1160px,calc(100% - 40px));margin:auto}.demo-nav{position:absolute;z-index:20;left:0;right:0;color:#fff}.demo-nav-inner{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:20px}.demo-brand{text-decoration:none;font-family:Georgia,serif;font-size:24px;font-weight:700}.demo-links{display:flex;gap:22px}.demo-links a{min-height:44px;display:flex;align-items:center;text-decoration:none;font-size:15px;font-weight:750}.demo-hero{position:relative;min-height:690px;display:grid;align-items:center;overflow:hidden;color:#fff;background:#2f2430}.demo-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.demo-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(25,16,24,.9) 0%,rgba(25,16,24,.66) 47%,rgba(25,16,24,.08) 78%)}.demo-hero-content{position:relative;z-index:2;max-width:650px;padding:130px 0 80px}.demo-kicker{margin:0 0 14px;color:#ffd7df;font-size:14px;font-weight:850;letter-spacing:.12em;text-transform:uppercase}.demo-hero h1,.demo-title{font-family:Georgia,"Times New Roman",serif;font-weight:500;letter-spacing:-.035em;line-height:1.05}.demo-hero h1{margin:0;font-size:clamp(48px,6vw,76px)}.demo-hero p{font-size:19px;color:#f1e8ed}.demo-button{min-height:50px;display:inline-flex;align-items:center;justify-content:center;padding:11px 21px;border:0;border-radius:999px;color:#fff;background:var(--accent-2);text-decoration:none;font-weight:850;cursor:pointer}.demo-button.light{color:var(--accent-2);background:#fff}.demo-section{padding:88px 0}.demo-section.white{background:#fff}.demo-head{max-width:720px;margin-bottom:36px}.demo-title{margin:0;font-size:clamp(36px,4.5vw,54px)}.demo-intro{color:var(--muted)}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.service-card{padding:25px;border:1px solid var(--line);border-radius:18px;background:var(--card)}.service-card h3{margin:0 0 7px;font-size:20px}.service-card p{margin:0 0 14px;color:var(--muted)}.service-card strong{color:var(--accent-2)}.booking-shell{display:grid;grid-template-columns:.82fr 1.18fr;gap:34px;padding:32px;border-radius:24px;background:#fff;box-shadow:0 24px 60px #41273a18}.booking-info{padding:24px;border-radius:18px;color:#fff;background:var(--accent-2)}.booking-info h3{font:500 30px/1.1 Georgia,serif;margin:0 0 12px}.booking-info p{color:#f1dae3}.booking-form{display:grid;gap:16px}.booking-form label{display:grid;gap:6px;font-weight:800}.booking-form select,.booking-form input{min-height:48px;padding:11px 12px;border:1px solid var(--line);border-radius:10px;background:#fff}.time-grid{display:flex;flex-wrap:wrap;gap:8px}.time-button{min-height:44px;padding:8px 13px;border:1px solid var(--line);border-radius:9px;background:#fff;cursor:pointer;font-weight:750}.time-button[aria-pressed="true"]{color:#fff;border-color:var(--accent-2);background:var(--accent-2)}.demo-status{min-height:24px;margin:0;color:#286143;font-weight:800}.demo-footer{padding:30px 0;color:#eee;background:#161219}.demo-footer-row{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}
body.restaurant{--accent:#d6a45b;--accent-2:#651f27;--bg:#f7f1e8;--ink:#241c17;--muted:#74665b;--line:#e1d3c2}.restaurant .demo-hero::after{background:linear-gradient(90deg,rgba(32,10,12,.92),rgba(32,10,12,.5) 55%,rgba(32,10,12,.08))}.menu-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.menu-card{padding:28px;border-top:4px solid var(--accent);background:#fff}.menu-item{display:flex;justify-content:space-between;gap:18px;padding:14px 0;border-bottom:1px solid var(--line)}.menu-item:last-child{border-bottom:0}.menu-item strong{color:var(--accent-2)}
body.auto{--accent:#27a7ff;--accent-2:#0a3351;--bg:#07111b;--ink:#edf6ff;--muted:#a9bbca;--card:#0d1d2b;--line:#20394e}.auto .demo-hero::after{background:linear-gradient(90deg,rgba(3,10,16,.97),rgba(3,10,16,.5) 58%,rgba(3,10,16,.06))}.auto .demo-section.white{background:#0b1824}.auto .service-card,.auto .booking-shell{background:var(--card)}.auto .demo-button{background:var(--accent);color:#061522}.auto .demo-footer{background:#02070b}.package-price{font-size:28px;color:#70c6ff!important}
body.apartment{--accent:#e5aa51;--accent-2:#193e57;--bg:#f3f5f4;--ink:#18313f;--muted:#65747b;--line:#d6dfdf}.apartment .demo-hero::after{background:linear-gradient(90deg,rgba(14,40,55,.94),rgba(14,40,55,.52) 58%,rgba(14,40,55,.06))}.amenities{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.amenity{padding:18px;text-align:center;border-radius:14px;background:#fff;font-weight:800}
@media(max-width:820px){.service-grid,.menu-grid{grid-template-columns:1fr 1fr}.booking-shell{grid-template-columns:1fr}.demo-links a:not(:last-child){display:none}.amenities{grid-template-columns:1fr 1fr}}
@media(max-width:600px){body{font-size:16px}.demo-wrap{width:calc(100% - 28px)}.demo-note{font-size:13px}.demo-nav-inner{min-height:68px}.demo-hero{min-height:620px}.demo-hero-content{padding:110px 0 58px}.demo-hero h1{font-size:clamp(42px,12vw,58px)}.demo-hero p{font-size:17px}.demo-section{padding:64px 0}.service-grid,.menu-grid{grid-template-columns:1fr}.booking-shell{padding:20px}.amenities{grid-template-columns:1fr 1fr}.demo-button{width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.booking-form textarea{min-height:112px;padding:11px 12px;border:1px solid var(--line);border-radius:10px;background:#fff;color:#17202a;resize:vertical}
.booking-form input,.booking-form select{color:#17202a}
.auto .demo-status{color:#7ee2a8}

/* Distinct booking experiences */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.salon-booker{overflow:hidden;border:1px solid var(--line);border-radius:28px;background:#fff;box-shadow:0 26px 70px rgba(104,47,76,.12)}
.salon-progress{display:grid;grid-template-columns:repeat(3,1fr);margin:0;padding:0;list-style:none;border-bottom:1px solid var(--line);background:#fffafc}
.salon-progress li{display:flex;align-items:center;justify-content:center;gap:10px;padding:17px;color:#8d7e85;font-weight:800}
.salon-progress li+li{border-left:1px solid var(--line)}
.salon-progress li span{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:#f2e7eb;font-size:13px}
.salon-progress li.active{color:var(--accent-2)}.salon-progress li.active span{color:#fff;background:var(--accent-2)}
.salon-booker-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:0}.salon-booker-grid>div{padding:34px}.salon-booker-grid>div+div{border-left:1px solid var(--line)}
.salon-booker-grid h3{margin:0 0 18px;font:500 30px/1.1 Georgia,serif}.salon-service-list{display:grid;gap:10px}.salon-service{width:100%;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px;border:1px solid var(--line);border-radius:15px;color:var(--ink);background:#fff;text-align:left;cursor:pointer}.salon-service span{font-weight:850}.salon-service small{color:var(--muted)}.salon-service.active,.salon-service[aria-pressed="true"]{border-color:var(--accent-2);background:#fff6f8;box-shadow:inset 4px 0 var(--accent-2)}
.salon-slot-card{background:#fffafc}.salon-date-label{margin:0 0 8px;font-weight:850}.salon-slot-card input{width:100%;min-height:50px;margin-bottom:22px;padding:11px 12px;border:1px solid var(--line);border-radius:10px;background:#fff}.salon-slot-card .demo-button{width:100%;margin-top:24px}

.restaurant-booking-section{color:#fff;background:#321216}.restaurant-reservation{padding:48px;border:1px solid rgba(255,255,255,.18);background:#511a21;box-shadow:14px 14px 0 #d6a45b}.restaurant-reservation-copy{max-width:730px;margin-bottom:34px}.restaurant-reservation-copy .demo-kicker{color:#f0c98e}.restaurant-reservation-copy .demo-title{color:#fff}.restaurant-reservation-copy p{color:#ead9d6}.restaurant-form{display:grid;gap:14px}.reservation-fields{display:grid;grid-template-columns:1fr 1.15fr 1fr auto;align-items:end;gap:0;background:#fff}.reservation-fields label{display:grid;gap:5px;min-width:0;padding:14px 18px;border-right:1px solid #e6d8cd;color:#3b2524;font-weight:800}.reservation-fields label span{color:#755d58;font-size:13px;text-transform:uppercase;letter-spacing:.06em}.reservation-fields input,.reservation-fields select{width:100%;min-height:38px;padding:0;border:0;color:#2b1e1b;background:#fff;font-weight:800}.restaurant-reserve-button{align-self:stretch;min-height:74px;padding:14px 25px;border:0;color:#2d1810;background:#d6a45b;font-weight:900;cursor:pointer}.restaurant-reservation .demo-status{color:#ffe1a8}.restaurant-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:30px;padding-top:24px;border-top:1px solid rgba(255,255,255,.2)}.restaurant-facts span{display:grid;color:#dec8c5}.restaurant-facts strong{color:#fff}

.auto-config-section{background:#06101a}.auto-configurator{display:grid;grid-template-columns:.72fr 1.28fr;overflow:hidden;border:1px solid #20394e;background:#0d1d2b;box-shadow:18px 18px 0 #0a3351}.auto-config-rail{padding:42px;border-right:1px solid #20394e;background:#091722}.auto-config-rail .demo-title{color:#fff}.auto-config-rail p{color:#a9bbca}.auto-steps{display:grid;gap:0;margin-top:34px}.auto-steps span{display:flex;align-items:center;gap:14px;padding:16px 0;border-top:1px solid #20394e;color:#7390a7;font-weight:850}.auto-steps b{color:#27a7ff;font-size:13px}.auto-steps span.active{color:#fff}.auto-config-form{display:grid;gap:22px;padding:42px}.auto-config-form label{display:grid;gap:7px;font-weight:800}.auto-config-form input,.auto-config-form select,.auto-config-form textarea{width:100%;min-height:50px;padding:12px;border:1px solid #2b4a62;border-radius:8px;color:#eef7ff;background:#08131e}.auto-config-form textarea{min-height:105px;resize:vertical}.auto-form-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:14px}.auto-package-picker{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:0;padding:0;border:0}.auto-package-picker legend{grid-column:1/-1;margin-bottom:8px;font-weight:850}.auto-package-picker label{cursor:pointer}.auto-package-picker input{position:absolute;width:1px;height:1px;opacity:0}.auto-package-picker span{min-height:145px;display:flex;flex-direction:column;padding:17px;border:1px solid #2b4a62;border-radius:10px;background:#0a1824}.auto-package-picker strong{font-size:18px}.auto-package-picker small{margin:7px 0 auto;color:#a9bbca}.auto-package-picker b{color:#70c6ff}.auto-package-picker input:checked+span{border-color:#27a7ff;box-shadow:inset 0 -4px #27a7ff}.auto-form-footer{display:flex;align-items:center;justify-content:space-between;gap:20px}.auto-form-footer span{color:#8fa5b6;font-size:14px}

.stay-planner{display:grid;grid-template-columns:1.15fr .85fr;gap:24px;align-items:start}.availability-card,.stay-summary{border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:0 20px 55px rgba(25,62,87,.1)}.availability-card{padding:28px}.calendar-heading{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;text-align:center}.calendar-heading button{width:44px;height:44px;border:1px solid var(--line);border-radius:50%;color:var(--accent-2);background:#fff;font-size:28px;cursor:pointer}.calendar-heading div{display:grid}.calendar-heading strong{font:500 26px Georgia,serif}.calendar-heading small{color:var(--muted)}.calendar-week,.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;text-align:center}.calendar-week{margin:26px 0 8px;color:var(--muted);font-size:13px;font-weight:850}.calendar-days button,.calendar-days span{aspect-ratio:1;display:grid;place-items:center;border:0;border-radius:50%;color:var(--ink);background:#f7f9f8;font-weight:800}.calendar-days button{cursor:pointer}.calendar-days .muted{color:#aab5b8;background:transparent}.calendar-days button.selected{color:#fff;background:var(--accent-2)}.calendar-days button.range{color:#5a3d0e;background:#f7dfb9}.calendar-legend{display:flex;gap:20px;margin-top:24px;color:var(--muted);font-size:14px}.calendar-legend span{display:flex;align-items:center;gap:7px}.calendar-legend i{width:12px;height:12px;border-radius:50%;background:#f7f9f8;border:1px solid var(--line)}.calendar-legend i.chosen{background:var(--accent-2)}.stay-summary{display:grid;gap:16px;padding:30px}.stay-badge{width:max-content;padding:6px 10px;border-radius:999px;color:#71501d;background:#f9e6c6;font-size:13px;font-weight:850}.stay-summary h3{margin:0;font:500 31px/1.1 Georgia,serif}.stay-summary>p{margin:-7px 0 2px;color:var(--muted)}.stay-summary label{display:grid;gap:6px;font-weight:800}.stay-summary input,.stay-summary select{width:100%;min-height:48px;padding:11px 12px;border:1px solid var(--line);border-radius:10px;background:#fff}.stay-date-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.stay-price{display:grid;gap:3px;padding:17px;border-radius:13px;background:#f3f6f5}.stay-price span,.stay-price small{color:var(--muted)}.stay-price strong{color:var(--accent-2);font-size:26px}.stay-summary .demo-button{width:100%}

@media(max-width:900px){.salon-booker-grid,.auto-configurator,.stay-planner{grid-template-columns:1fr}.salon-booker-grid>div+div{border-left:0;border-top:1px solid var(--line)}.auto-config-rail{border-right:0;border-bottom:1px solid #20394e}.reservation-fields{grid-template-columns:1fr 1fr}.reservation-fields label:nth-child(2){border-right:0}.restaurant-reserve-button{min-height:62px}.restaurant-facts{grid-template-columns:1fr}.auto-package-picker{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.salon-progress li{gap:6px;padding:13px 7px;font-size:13px}.salon-progress li span{width:24px;height:24px}.salon-booker-grid>div{padding:22px}.salon-service{display:grid;gap:2px}.reservation-fields{grid-template-columns:1fr}.reservation-fields label{border-right:0;border-bottom:1px solid #e6d8cd}.restaurant-reservation{padding:28px 20px;box-shadow:8px 8px 0 #d6a45b}.restaurant-facts{gap:13px}.auto-configurator{box-shadow:8px 8px 0 #0a3351}.auto-config-rail,.auto-config-form{padding:26px 20px}.auto-form-grid,.auto-package-picker,.stay-date-row{grid-template-columns:1fr}.auto-form-footer{align-items:stretch;flex-direction:column}.availability-card,.stay-summary{padding:20px}.calendar-heading strong{font-size:22px}.calendar-days button,.calendar-days span{font-size:13px}.calendar-legend{flex-wrap:wrap}.stay-planner{gap:14px}}
