
:root{--ink:#283e45;--deep:#233c44;--muted:#64787b;--gold:#ab7e67;--clay:#b57c65;--clay-dark:#9e6853;--paper:#faf8f5;--pale:#f4f1ec;--white:#fff;--line:#e5e4df;--sea:#eaf3f2;--shadow:0 18px 60px rgba(33,47,48,.055)}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);font:400 15px/1.65 Jost,Arial,sans-serif;color:var(--ink)}button,input,textarea,select{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #b79e86;outline-offset:3px}p,h1,h2,h3{margin-top:0}img{max-width:100%}small{font-size:12px}
/* Header */
.topbar{height:86px;background:#fff;border-bottom:1px solid #f0eeea;position:relative;z-index:20}.nav-shell{max-width:1370px;height:100%;margin:0 auto;padding:0 28px;display:grid;grid-template-columns:188px 1fr auto;gap:25px;align-items:center}.brand{display:inline-flex;align-items:center;justify-content:flex-start;width:180px}.brand img{width:172px;max-height:76px;object-fit:contain;display:block}.main-nav{display:flex;align-items:center;justify-content:center;gap:clamp(15px,2vw,31px)}.main-nav>a,.price-trigger{font:600 11px/1.4 Jost,Arial,sans-serif;letter-spacing:.035em;color:#263b42;white-space:nowrap;transition:color .2s}.main-nav>a:hover,.main-nav>a:focus-visible,.price-trigger:hover{color:var(--clay)}.price-box{position:relative}.price-trigger{border:0;background:none;display:flex;align-items:center;gap:10px;padding:12px 0}.chevron{width:7px;height:7px;display:block;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .2s}.price-box.open .chevron{transform:translateY(2px) rotate(225deg)}.price-menu{position:absolute;top:calc(100% + 8px);left:50%;transform:translateX(-50%) translateY(-5px);opacity:0;visibility:hidden;pointer-events:none;min-width:250px;background:#fff;padding:9px;border:1px solid #eee7df;border-radius:12px;box-shadow:0 20px 45px rgba(18,27,31,.1);transition:opacity .2s,transform .2s,visibility .2s}.price-box.open .price-menu{opacity:1;visibility:visible;pointer-events:auto;transform:translateX(-50%) translateY(0)}.price-menu a{display:block;font-size:13px;white-space:nowrap;padding:12px 13px;border-radius:7px}.price-menu a:hover{background:#f8f4f1;color:#9b6c56}.header-cta{background:var(--clay);color:#fff;padding:13px 21px;border-radius:100px;letter-spacing:.085em;font-weight:600;font-size:11px;white-space:nowrap;display:inline-flex;align-items:center;gap:9px;box-shadow:0 6px 15px rgba(181,124,101,.17);transition:background .2s,transform .2s}.header-cta:hover{background:var(--clay-dark);transform:translateY(-1px)}.menu-toggle{display:none;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;border:1px solid #e8dfd8;background:#fff;color:var(--ink);font-size:21px}
/* Hero */
.hero{background:linear-gradient(115deg,#f8f6f2 0%,#f7f3ee 66%,#f3eeea 100%);border-bottom:1px solid #eee8e1}.hero-inner{max-width:1250px;margin:auto;padding:65px 26px 72px;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:clamp(40px,6vw,95px)}.hero-copy{padding:8px 0 0}.eyebrow{font-size:11px;letter-spacing:.25em;text-transform:uppercase;color:var(--gold);font-weight:600}.hero h1{font:400 clamp(54px,5.8vw,88px)/.98 'Cormorant Garamond',Georgia,serif;letter-spacing:-.025em;color:var(--deep);margin:22px 0 21px}.hero h1 em{font-weight:400;color:var(--clay-dark)}.hero p{font-size:15px;line-height:1.9;color:#637477;max-width:505px;margin:0}.hero-benefits{display:flex;flex-wrap:wrap;gap:18px 22px;margin-top:26px}.benefit{display:inline-flex;align-items:center;gap:9px;color:#40575c;font-size:12px;font-weight:500}.benefit svg{width:18px;height:18px;stroke:var(--clay);stroke-width:1.8;fill:none}.hero-visual{position:relative;height:350px;max-width:525px;justify-self:end;width:100%}.hero-photo{height:100%;width:89%;margin-left:auto;object-fit:cover;object-position:50% 42%;display:block;filter:saturate(.78);border-radius:160px 160px 6px 6px}.hero-visual:before{content:"";position:absolute;top:25px;bottom:-17px;right:24px;left:10%;border:1px solid #c9b5a7;border-radius:180px 180px 6px 6px;pointer-events:none}.hero-caption{position:absolute;bottom:-12px;left:0;background:#fff;padding:15px 25px;box-shadow:0 14px 30px #27383212;border-left:3px solid var(--clay);font:italic 29px/1 'Cormorant Garamond',Georgia,serif;color:var(--deep)}
/* Booking */
.booking-section{max-width:1240px;margin:0 auto;padding:62px 22px 90px}.booking-card{background:#fff;border:1px solid #ede9e3;box-shadow:var(--shadow);padding:clamp(24px,4vw,55px);border-radius:15px}.booking-intro{text-align:center;max-width:780px;margin:0 auto 35px}.booking-intro .leaf{display:block;width:51px;height:43px;object-fit:contain;margin:0 auto 10px}.booking-intro h2{font:400 clamp(40px,4.1vw,58px)/1 'Cormorant Garamond',Georgia,serif;margin:10px 0;color:#253c43}.booking-intro p{max-width:610px;margin:0 auto;color:#728083;font-size:14px}.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border:1px solid #e6eae9;border-radius:12px;overflow:hidden;margin:0 auto 44px;max-width:1000px;list-style:none;padding:0}.step{display:flex;align-items:center;gap:13px;padding:15px 17px;background:#fafbfa;border-right:1px solid #e5eae9;color:#82939a}.step:last-child{border-right:0}.step-number{width:38px;height:38px;flex:0 0 38px;border:1px solid #dce4e4;border-radius:50%;display:grid;place-items:center;background:#fff;font-weight:600}.step strong,.step small{display:block}.step strong{font-size:12px;line-height:1.4}.step small{font-size:11px;font-weight:400;line-height:1.3}.step.current{background:#eaf2f1;color:#253e44}.step.current .step-number{background:var(--deep);color:#fff;border-color:var(--deep)}.step.done{background:#f4f9f6;color:#517868}.step.done .step-number{background:#e2f0eb;border-color:#c5dbd0}.booking-panel[hidden]{display:none!important}.panel-eyebrow{font-size:10px;letter-spacing:.21em;font-weight:700;color:var(--gold);text-transform:uppercase}.panel-head{margin-bottom:30px}.panel-head h3{font:400 clamp(34px,3.1vw,48px)/1.12 'Cormorant Garamond',serif;color:var(--deep);margin:12px 0}.panel-head p{max-width:690px;color:#6b7e83;font-size:13px;line-height:1.85;margin:0}.choose-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(340px,.95fr);gap:clamp(26px,4vw,55px);align-items:start}.cal-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.cal-head h4{font:600 16px/1.25 Jost,Arial,sans-serif;margin:0;text-transform:capitalize;letter-spacing:.015em}.month-nav{display:flex;gap:10px}.month-nav button{width:37px;height:37px;border:1px solid #dfe8e6;border-radius:50%;background:white;color:#28444b;font-size:22px;line-height:1;display:grid;place-items:center}.month-nav button:hover:not(:disabled){background:#edf4f2}.month-nav button:disabled{opacity:.3;cursor:not-allowed}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}.weekday{color:#7d9296;text-align:center;font-size:11px;font-weight:600;padding:12px 0 8px}.date{width:100%;height:49px;border:1px solid transparent;border-radius:8px;background:#f3f5f5;color:#b3bbbc;font:600 14px/1 Jost,Arial,sans-serif;display:grid;place-items:center;padding:0;white-space:nowrap;min-width:0}.date.open{background:#fff;border-color:#d1e0de;color:#2c4b51}.date.open:hover{border-color:#85a7a5;background:#eff7f4}.date.selected{background:var(--deep);border-color:var(--deep);color:#fff}.date.chosen:not(.selected){background:#e9f2ed;color:#45735f;border-color:#a9cec1}.date:disabled{cursor:not-allowed}.placeholder-day{height:49px}.legend{display:flex;gap:17px;flex-wrap:wrap;margin-top:19px;color:#7c8b8e;font-size:11px}.legend-item{display:flex;gap:7px;align-items:center}.swatch{height:12px;width:12px;border:1px solid #d6e0dd;border-radius:3px;background:#fff}.swatch.off{background:#f0f2f2;border-color:#f0f2f2}.swatch.chosen{background:#e9f2ed;border-color:#a9cec1}.time-card{border:1px solid #e2e9e8;background:#f7f9f8;border-radius:12px;padding:25px}.time-card h4{font:500 28px/1.1 'Cormorant Garamond',Georgia,serif;margin:0 0 7px;color:#2b424a}.subtle{color:#849399;font-size:12px;margin:0}.time-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:19px 0}.time-btn{border:1px solid #d5e0e0;background:white;padding:12px 4px;border-radius:7px;color:var(--deep);font-weight:600;font-size:13px}.time-btn.selected{background:var(--deep);color:white;border-color:var(--deep)}.time-btn:hover:not(.selected){background:#e9f2f1}.chosen-ctrl{display:flex;gap:10px;align-items:center;justify-content:space-between;border:1px solid #dae6e3;background:#fff;padding:12px;border-radius:9px;margin-top:16px}.chosen-ctrl b{font-size:12px}.chosen-ctrl span{font-size:12px;color:var(--muted)}.btn{border:0;border-radius:8px;padding:14px 22px;font-weight:600;font-size:12px;letter-spacing:.035em;display:inline-flex;justify-content:center;align-items:center;gap:9px;min-height:46px;transition:background .2s,transform .2s}.btn-primary{background:var(--deep);color:white}.btn-primary:hover:not(:disabled){background:#3b5d64;transform:translateY(-1px)}.btn-primary:disabled{background:#b8c5c7;cursor:not-allowed}.btn-warm{background:var(--clay);color:white}.btn-warm:hover{background:var(--clay-dark)}.btn-outline{background:#fff;border:1px solid #cdd8d7;color:var(--deep)}.btn-outline:hover{background:#f2f7f5}.btn-link{padding:10px 0;background:none;color:var(--muted);font-size:12px;border:0;text-decoration:underline}.save-time{width:100%;margin-top:14px}.preference-box{margin-top:22px}.pref-header{display:flex;align-items:end;justify-content:space-between;gap:8px;margin-bottom:13px}.pref-header h4{font:500 25px/1.1 'Cormorant Garamond',serif;margin:0}.count-pill{background:#f0ebe7;color:#9c755e;font-size:11px;border-radius:50px;font-weight:700;padding:5px 12px}.preference-list{display:grid;gap:8px}.preference{display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:12px;background:#fff;border:1px solid #e8eae7;border-radius:9px;padding:11px}.preference.has-value{border-color:#c7d8cf;background:#f9fcfa}.pref-number{height:36px;width:36px;border-radius:50%;display:grid;place-items:center;background:#f1f3f1;color:#7c8988;font-weight:600;font-size:12px}.preference.has-value .pref-number{background:#e1eee7;color:#487661}.pref-detail strong{display:block;font-size:12px;line-height:1.45}.pref-detail small{display:block;color:#829095;line-height:1.4;font-size:11px}.remove{background:none;border:0;color:#9e715e;text-decoration:underline;font-size:11px;padding:7px}.notice{margin-top:17px;background:#f8f5ef;border-left:3px solid #c6a68b;padding:12px 15px;font-size:12px;line-height:1.7;color:#697678}.footer-actions{border-top:1px solid #edf0ed;margin-top:33px;padding-top:25px;display:flex;align-items:center;justify-content:space-between;gap:25px}.footer-actions .hint{color:#7a888c;font-size:12px;max-width:490px;line-height:1.7}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:19px 23px}.field{display:flex;flex-direction:column;gap:7px}.field.full{grid-column:1/-1}.field label{font-weight:600;color:#344e53;font-size:12px}.field label .required{color:#b57164}.field input,.field select,.field textarea{width:100%;border:1px solid #dce5e4;background:#fcfdfc;color:var(--deep);border-radius:8px;min-height:47px;padding:10px 13px;outline:none;font-size:14px}.field textarea{resize:vertical;min-height:102px}.field input:focus,.field select:focus,.field textarea:focus{border-color:#87adaa;box-shadow:0 0 0 3px #e5f1ed}.service-group{grid-column:1/-1;border:0;padding:0;margin:6px 0 0;min-width:0}.service-group legend{font-weight:600;color:#344e53;font-size:12px;margin-bottom:12px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.service{cursor:pointer;position:relative}.service input{position:absolute;opacity:0;inset:0}.service-card{padding:18px 14px;display:flex;flex-direction:column;gap:7px;min-height:101px;justify-content:center;border:1px solid #dce6e3;background:#fcfdfc;border-radius:10px;transition:border .2s,background .2s}.service-card b{font-size:14px;color:var(--deep)}.service-card span{font-size:11px;color:#899497}.service input:checked+.service-card{background:#edf5f1;border-color:#87aea3;box-shadow:inset 0 0 0 1px #87aea3}.service input:focus-visible+.service-card{outline:3px solid #b79e86;outline-offset:3px}.summary-card{background:#f7f9f8;border:1px solid #e1e7e5;padding:23px;border-radius:12px}.summary-card h4{font:500 28px/1.1 'Cormorant Garamond',Georgia,serif;margin:0 0 15px}.summary-item{display:grid;grid-template-columns:26px 1fr;gap:10px;align-items:start;margin:9px 0}.summary-index{width:24px;height:24px;border-radius:50%;background:#e4f1e9;color:#517865;display:grid;place-items:center;font-size:11px;font-weight:700}.summary-item strong{display:block;font-size:12px}.summary-item span{display:block;font-size:11px;color:#809095}.details-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);gap:38px}.details-info{padding:4px 0 0}.consent{font-size:12px;color:#758387;margin-top:23px}.status-card{max-width:750px;margin:0 auto;text-align:center;padding:15px 0 5px}.status-mark{display:grid;place-items:center;background:#edf5f1;width:70px;height:70px;border-radius:50%;color:#477b67;margin:0 auto 20px;font-size:29px}.status-card h3{font:400 clamp(40px,4vw,59px)/1.02 'Cormorant Garamond',serif;margin:0 0 13px}.status-card>p{color:#6e8082;line-height:1.85;max-width:560px;margin:0 auto 24px}.status-flow{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;text-align:left;margin:24px 0}.status-flow div{background:#f8faf9;border:1px solid #e6edeb;border-radius:9px;padding:15px}.status-flow .is-here{background:#edf5f2;border-color:#c6dbd2}.status-flow b,.status-flow span{display:block}.status-flow b{font-size:12px}.status-flow span{font-size:11px;color:#7c8e91;margin-top:5px}.demo-warning{max-width:650px;margin:22px auto!important;border:1px solid #e8dacb;background:#faf6f0;color:#8b6f58!important;font-size:12px;line-height:1.7;padding:12px;border-radius:8px}.booking-footer{max-width:1240px;margin:0 auto 60px;padding:0 22px;text-align:center;color:#9b9c98;font-size:12px}.booking-footer a{text-decoration:underline}.error-text{color:#a9554f;font-size:12px;margin-top:7px}.demo-badge{display:inline-block;font-size:10px;letter-spacing:.15em;background:#f0eae3;color:#9a7058;font-weight:700;border-radius:50px;padding:5px 11px;margin-left:10px}
@media(max-width:1150px){.nav-shell{grid-template-columns:145px 1fr auto;gap:15px;padding:0 20px}.brand{width:145px}.brand img{width:142px}.main-nav{gap:13px}.header-cta{padding:12px 15px}.choose-layout{grid-template-columns:1fr 350px;gap:25px}.hero-inner{gap:40px}}
@media(max-width:960px){.topbar{height:auto;min-height:76px}.nav-shell{grid-template-columns:1fr auto auto;position:relative;min-height:76px}.brand{width:155px}.brand img{width:150px}.menu-toggle{display:flex;grid-column:3}.header-cta{grid-column:2;grid-row:1}.main-nav{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;border-bottom:1px solid #ede6dd;padding:15px 24px;align-items:stretch;flex-direction:column;gap:0;box-shadow:0 18px 35px #283c4120}.main-nav.mobile-open{display:flex}.main-nav>a,.price-trigger{padding:12px 0;font-size:13px}.price-box{width:100%}.price-trigger{width:100%;justify-content:space-between}.price-menu{position:static;transform:none!important;opacity:1;visibility:visible;pointer-events:auto;display:none;border:0;box-shadow:none;background:#f9f7f4;padding:5px;width:100%;margin-bottom:10px}.price-box.open .price-menu{display:block}.hero-inner{grid-template-columns:1fr .75fr;gap:25px}.hero h1{font-size:60px}.hero-visual{height:285px}.hero-caption{font-size:24px}.choose-layout{grid-template-columns:1fr 1fr}.time-card{padding:18px}.details-layout{gap:22px}}
@media(max-width:730px){.nav-shell{gap:10px;padding:0 15px}.brand{width:125px}.brand img{width:122px}.header-cta{font-size:10px;padding:11px 13px;letter-spacing:.02em}.hero-inner{padding:50px 19px 50px;grid-template-columns:1fr}.hero-visual{height:300px;width:100%;max-width:450px;justify-self:center}.hero h1{font-size:clamp(54px,13vw,75px)}.hero p{font-size:14px}.hero-benefits{margin-top:18px}.booking-section{padding:34px 13px 55px}.booking-card{padding:24px 15px;border-radius:11px}.booking-intro{margin-bottom:24px}.booking-intro h2{font-size:42px}.steps{margin-bottom:30px}.step{gap:7px;padding:11px 8px}.step-number{width:28px;height:28px;flex-basis:28px;font-size:12px}.step strong{font-size:10px}.step small{font-size:9px}.choose-layout,.details-layout,.form-grid{grid-template-columns:1fr}.service-grid{grid-template-columns:1fr}.service-card{min-height:72px}.panel-head{margin-bottom:22px}.footer-actions{flex-direction:column;align-items:stretch;gap:12px}.footer-actions .btn{width:100%}.status-flow{grid-template-columns:1fr}.field.full{grid-column:1}.booking-footer{font-size:11px}}
@media(max-width:390px){.header-cta{padding:10px 9px;font-size:9px}.brand{width:112px}.brand img{width:110px}.menu-toggle{width:36px;height:36px}.calendar-grid{gap:4px}.date{height:39px;font-size:12px}.weekday{font-size:10px}.placeholder-day{height:39px}.time-card{padding:15px}.time-grid{gap:6px}.preference{gap:7px;padding:8px}.booking-card{padding:18px 10px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}

/* WordPress-specific integration: preserve admin bar and form semantics. */
body.az-checkdate-theme .az-checkdate-app{margin:0;padding:0}
body.az-checkdate-theme .az-checkdate-app .booking-section{scroll-margin-top:18px}
body.az-checkdate-theme .az-checkdate-app .az-hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
body.az-checkdate-theme .booking-card .booking-intro{margin-bottom:32px}
body.az-checkdate-theme .booking-card .booking-intro p{max-width:610px}
body.az-checkdate-theme #wpadminbar{position:fixed!important}
body.az-checkdate-theme .booking-panel input,body.az-checkdate-theme .booking-panel select,body.az-checkdate-theme .booking-panel textarea{box-sizing:border-box}
body.az-checkdate-theme .booking-panel .service input[type=radio]{width:100%;height:100%;margin:0}
body.az-checkdate-theme .booking-panel .field input,body.az-checkdate-theme .booking-panel .field select,body.az-checkdate-theme .booking-panel .field textarea{max-width:100%}
