:root{
  --bg:#f7faf9;--panel:#fff;--ink:#14251f;--muted:#63766e;--line:#dbe6e1;
  --brand:#0f6b55;--brand2:#0a4d3e;--soft:#eaf4ef;--soft2:#f1f7f4;
  --danger:#9e2f2f;--shadow:0 16px 40px rgba(18,50,40,.07);--radius:18px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;overflow-x:hidden;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg);line-height:1.55}img{display:block;max-width:100%}a{text-decoration:none;color:inherit}button,input,select,textarea{font:inherit}.wrap{width:min(1160px,92%);margin:auto}.skip{position:absolute;left:-9999px;top:auto}.skip:focus{left:16px;top:12px;z-index:999;background:#fff;padding:10px 14px;border-radius:10px;border:1px solid var(--line)}
header{position:sticky;top:0;z-index:30;background:rgba(247,250,249,.95);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.nav{min-height:74px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:inline-flex;align-items:center;gap:11px;min-width:0}.brand-mark{display:grid!important;place-items:center;width:42px;height:42px;flex:0 0 42px;border-radius:13px;background:linear-gradient(145deg,var(--brand),var(--brand2));color:#fff!important;font-size:.86rem!important;font-weight:900;letter-spacing:.04em;margin:0!important;box-shadow:0 8px 20px rgba(15,107,85,.17)}.brand-copy{display:block;min-width:0}.brand-copy strong{display:block;font-size:1.42rem;line-height:1.05;letter-spacing:-.025em}.brand-copy>span{display:block;font-size:.76rem;color:var(--muted);margin-top:5px;letter-spacing:.01em}.links{display:flex;align-items:center;gap:22px;font-size:.94rem}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 18px;border-radius:12px;border:1px solid var(--line);background:#fff;font-weight:750;cursor:pointer;transition:.18s ease}.btn:hover{transform:translateY(-1px)}.btn.primary{background:var(--brand);border-color:var(--brand);color:#fff}.btn.primary:hover{background:var(--brand2)}.btn:focus-visible,.service-tabs button:focus-visible,.days button:focus-visible,.slots button:focus-visible,.duration-options button:focus-visible,.faq button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid rgba(15,107,85,.25);outline-offset:2px}
.hero{padding:62px 0 36px}.hero-grid{display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);gap:42px;align-items:center}.eyebrow{display:inline-flex;border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 12px;font-size:.82rem;color:var(--muted);font-weight:700}.hero h1{font-size:clamp(2.7rem,5vw,4.9rem);line-height:.99;letter-spacing:-.055em;margin:18px 0 20px;max-width:12ch}.hero h1 span{color:var(--brand)}.lead{font-size:1.08rem;color:var(--muted);max-width:620px}.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}.trust{display:flex;flex-wrap:wrap;gap:9px;margin-top:20px}.trust span{font-size:.82rem;color:#395249;background:#fff;border:1px solid var(--line);border-radius:999px;padding:8px 11px}.hero-photo{position:relative;border:1px solid var(--line);border-radius:24px;padding:10px;background:#fff;box-shadow:var(--shadow);min-width:0}.hero-photo img{width:100%;aspect-ratio:4/3;object-fit:cover;object-position:28% center;border-radius:17px}.hero-note{position:absolute;right:18px;bottom:18px;max-width:42%;background:rgba(255,255,255,.94);backdrop-filter:blur(8px);border:1px solid rgba(219,230,225,.95);border-radius:15px;padding:16px}.hero-note strong{display:block;color:var(--brand2)}.hero-note span{display:block;color:var(--muted);font-size:.87rem;margin-top:4px}
section{padding:54px 0}.kicker{text-transform:uppercase;letter-spacing:.11em;font-size:.73rem;font-weight:850;color:var(--brand)}h2{font-size:clamp(1.9rem,3vw,2.7rem);line-height:1.1;letter-spacing:-.035em;margin:7px 0 12px}.sub{color:var(--muted);max-width:760px}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:22px}.card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:21px;min-width:0}.card h3{margin:0;font-size:1.1rem}.card p{margin:8px 0 0;color:var(--muted);font-size:.93rem}.price{margin-top:16px;padding-top:15px;border-top:1px solid var(--line)}.price strong{font-size:1.55rem;color:var(--brand2)}.price small{display:block;color:var(--muted);margin-top:3px}.availability{display:inline-flex;margin-top:11px;border-radius:999px;background:var(--soft);padding:6px 9px;font-size:.76rem;font-weight:750;color:var(--brand2)}.trustbar{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:18px}.trustitem{background:#fff;border:1px solid var(--line);border-radius:15px;padding:15px}.trustitem strong{display:block;font-size:.92rem}.trustitem span{font-size:.8rem;color:var(--muted)}
.two{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:24px}.benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:11px;margin-top:18px}.benefit{border:1px solid var(--line);background:#fff;border-radius:15px;padding:16px}.benefit strong{display:block}.benefit span{display:block;font-size:.85rem;color:var(--muted);margin-top:4px}.faq{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px}.faq button{width:100%;display:flex;justify-content:space-between;gap:15px;align-items:center;text-align:left;padding:13px 2px;border:0;border-bottom:1px solid var(--line);background:none;font:inherit;font-weight:700;cursor:pointer}.faq button:last-of-type{border-bottom:0}.answer{display:none;padding:0 2px 13px;color:var(--muted);font-size:.9rem}.answer.open{display:block}.seo-copy{margin-top:22px;background:var(--soft2);border:1px solid var(--line);border-radius:15px;padding:16px;color:#385047;font-size:.9rem}
.scheduler{background:linear-gradient(135deg,#083b30,#0e6551);color:#fff;border-radius:24px;padding:26px}.scheduler .kicker{color:#bad9ce}.scheduler .sub{color:#dcebe6}.progress-mini{display:flex;align-items:center;gap:8px;margin-top:14px;flex-wrap:wrap}.progress-mini span{font-size:.76rem;padding:6px 9px;border-radius:999px;border:1px solid rgba(255,255,255,.24);color:#dcebe6}.progress-mini span.active{background:#fff;color:var(--brand2)}.service-tabs{display:flex;flex-wrap:wrap;gap:9px;margin:20px 0}.service-tabs button{border:1px solid rgba(255,255,255,.3);background:rgba(255,255,255,.08);color:#fff;border-radius:999px;padding:10px 14px;font:inherit;font-weight:750;cursor:pointer}.service-tabs button.active{background:#fff;color:var(--brand2)}.sched-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:14px}.calendar,.times{background:#fff;color:var(--ink);border-radius:17px;padding:17px;min-width:0}.calhead{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.calhead button{width:40px;height:40px;border-radius:10px;border:1px solid var(--line);background:#fff;font-size:1.3rem;cursor:pointer}.dow,.days{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.dow span{text-align:center;font-size:.72rem;color:var(--muted);font-weight:800}.days button{min-height:40px;border:1px solid transparent;border-radius:9px;background:#fff;font:inherit;font-size:.88rem;font-weight:700;cursor:pointer}.days button:hover{background:var(--soft)}.days button.selected{background:var(--brand);color:#fff}.days button:disabled{opacity:.3;cursor:not-allowed}.times h3{margin:0;font-size:1rem}.rate-note{font-size:.78rem;color:var(--muted);margin-top:4px}.duration-block{margin-top:16px}.duration-block strong{display:block;font-size:.86rem;margin-bottom:8px}.duration-options{display:flex;flex-wrap:wrap;gap:8px}.duration-options button{border:1px solid var(--line);background:#fff;color:var(--brand2);border-radius:999px;padding:8px 12px;font:inherit;font-size:.82rem;font-weight:750;cursor:pointer}.duration-options button.selected{background:var(--brand);color:#fff;border-color:var(--brand)}.price-preview{margin-top:10px;padding:10px 12px;border-radius:11px;background:var(--soft);font-size:.82rem;color:var(--brand2);font-weight:700}.slots{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:13px}.slots button{min-height:42px;border:1px solid var(--line);border-radius:9px;background:#fff;font:inherit;font-weight:700;color:var(--brand2);cursor:pointer}.slots button.start{background:var(--brand);color:#fff;border-color:var(--brand)}.slots button.reserved{background:var(--soft);color:var(--brand2);border-color:#b9d9cd}.slots button.unavailable{opacity:.32;cursor:not-allowed;background:#f5f7f6}.block-preview{margin-top:10px;padding:10px 12px;border-radius:11px;background:#f5faf8;color:var(--brand2);font-size:.8rem;line-height:1.45}.empty{grid-column:1/-1;color:var(--muted);font-size:.88rem;padding:12px 0}.loading{grid-column:1/-1;color:var(--muted);font-size:.86rem;padding:12px 0}.summary{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:14px;padding:15px;border:1px solid rgba(255,255,255,.2);border-radius:15px;background:rgba(255,255,255,.07)}.summary small{display:block;color:#bdd8cf;text-transform:uppercase;letter-spacing:.08em;font-weight:800}.summary strong{display:block;margin-top:3px}.summary .btn{border-color:#fff}.summary .btn:disabled{opacity:.48;cursor:not-allowed}.zone{font-size:.8rem;color:#cfe2dc;margin-top:10px}.zone.error{color:#ffd5d5}.live-badge{display:inline-flex;align-items:center;gap:6px;margin-left:8px;font-size:.7rem;padding:4px 7px;border-radius:999px;background:rgba(255,255,255,.12);color:#dff3eb}.live-dot{width:7px;height:7px;border-radius:50%;background:#87e1bd}
.booking-step{display:none;margin-top:16px;background:#fff;color:var(--ink);border-radius:17px;padding:19px}.booking-step.active{display:block}.step-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:15px}.step-head h3{margin:0;font-size:1.18rem}.step-head p{margin:4px 0 0;color:var(--muted);font-size:.88rem}.details-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field{display:block;font-size:.8rem;font-weight:750;color:#385047}.field.full{grid-column:1/-1}.field input,.field select,.field textarea{width:100%;margin-top:6px;border:1px solid var(--line);border-radius:10px;padding:11px 12px;font:inherit;font-size:.92rem;color:var(--ink);background:#fff}.field textarea{min-height:90px;resize:vertical}.help{font-size:.72rem;color:var(--muted);margin-top:5px}.billing-heading{margin-top:18px}.billing-heading strong{display:block;color:var(--ink)}.billing-heading span{display:block;color:var(--muted);font-size:.8rem;margin-top:3px}.billing-choice{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}.billing-choice label{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--line);border-radius:12px;padding:12px;font-size:.85rem;cursor:pointer}.billing-choice input{margin-top:3px}.billing-choice label:has(input:checked){border-color:var(--brand);background:var(--soft);box-shadow:0 0 0 2px rgba(15,107,85,.08)}.billing-policy{margin-top:12px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--soft);color:#385047;font-size:.82rem;line-height:1.5}.billing-policy strong{color:var(--brand2)}.payment-panel{margin-top:14px;padding:14px 15px;border:1px solid var(--line);border-radius:13px;background:#fff}.payment-panel.private{border-color:#c8ddd5;background:#f4faf7}.payment-panel.organization{background:#f8fbfa}.payment-panel strong{display:block;color:var(--brand2);font-size:.92rem}.payment-panel span{display:block;color:var(--muted);font-size:.82rem;line-height:1.5;margin-top:4px}.payment-panel .pay-badge{display:inline-flex;width:auto;margin-top:9px;padding:5px 8px;border-radius:999px;background:var(--soft);font-weight:750;color:var(--brand2);font-size:.72rem}.step-actions{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:16px}.confirm-card{border:1px solid var(--line);border-radius:14px;padding:15px;background:#f9fbfa}.confirm-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:12px}.confirm-item{padding:10px;border-radius:10px;background:#fff;border:1px solid var(--line)}.confirm-item small{display:block;color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.06em}.confirm-item strong{display:block;margin-top:3px;font-size:.9rem;word-break:break-word}.success{padding:18px;border-radius:14px;background:var(--soft);color:var(--brand2);font-weight:750}.success small{display:block;font-weight:500;margin-top:8px;color:#395249}.booking-id{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.spinner{display:inline-block;width:14px;height:14px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .7s linear infinite;margin-right:7px}@keyframes spin{to{transform:rotate(360deg)}}
footer{padding:30px 0 46px;border-top:1px solid var(--line);color:var(--muted);font-size:.84rem}.foot{display:flex;justify-content:space-between;gap:22px;flex-wrap:wrap}.footlinks{display:flex;gap:14px;flex-wrap:wrap}.foot a{text-decoration:underline;text-underline-offset:3px}.contact-email{display:inline-block;margin-top:5px;color:var(--brand2);font-weight:750}
.policy{padding:46px 0 60px}.policy article{background:#fff;border:1px solid var(--line);border-radius:18px;padding:clamp(20px,4vw,38px);max-width:860px;margin:auto}.policy h1{font-size:clamp(2rem,4vw,3.4rem);letter-spacing:-.04em;margin-top:0}.policy h2{font-size:1.25rem;margin-top:28px}.policy p,.policy li{color:#42584f}
@media(max-width:900px){.hero-grid,.two,.sched-grid{grid-template-columns:1fr}.cards{grid-template-columns:1fr}.trustbar{grid-template-columns:1fr 1fr}.hero-note{position:static;max-width:none;margin-top:10px}.hero-photo img{aspect-ratio:16/9}.benefits{grid-template-columns:1fr}.links a:not(.btn){display:none}}
@media(max-width:560px){.details-grid,.billing-choice,.confirm-grid{grid-template-columns:1fr}.hero{padding-top:38px}.hero h1{max-width:none}.trustbar{grid-template-columns:1fr}.slots{grid-template-columns:1fr 1fr}.summary{align-items:flex-start;flex-direction:column}.brand-mark{width:38px;height:38px;flex-basis:38px}.brand-copy strong{font-size:1.16rem}.brand-copy>span{font-size:.68rem}.wrap{width:min(94%,1160px)}.scheduler{padding:18px}.calendar,.times{padding:14px}}

.slots button.reserved{opacity:1!important}
.payment-readiness{margin-top:10px;font-size:.78rem;color:var(--muted);line-height:1.45}.payment-readiness.ready{color:var(--brand2)}.payment-readiness.error{color:#8a3a2b}.payment-action-buttons{display:flex;gap:10px;flex-wrap:wrap}.payment-action-buttons [hidden]{display:none!important}.payment-panel .checkout-explainer{margin-top:10px;padding:10px 12px;border-radius:10px;background:#fff;border:1px solid var(--line);color:#385047}.payment-panel .checkout-explainer b{color:var(--brand2)}
.duration-options select{width:100%;min-height:44px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--brand2);font:inherit;font-weight:700;padding:8px 10px}.turnstile-wrap{margin-top:14px;border:1px solid var(--line);border-radius:12px;padding:12px;background:#f9fbfa;color:var(--ink)}.turnstile-wrap strong{display:block;font-size:.86rem;margin-bottom:8px}.turnstile-wrap .help{display:block;margin-top:7px}.turnstile-wrap[hidden]{display:none!important}

/* V8 AI booking assistant */
.ai-booking-shell{position:fixed;right:20px;bottom:20px;z-index:80}.ai-launcher{border:0;border-radius:999px;background:var(--brand);color:#fff;padding:13px 18px;font:inherit;font-weight:800;box-shadow:0 14px 32px rgba(8,59,48,.22);cursor:pointer}.ai-panel{position:absolute;right:0;bottom:58px;width:min(390px,calc(100vw - 28px));background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:18px;box-shadow:0 24px 60px rgba(8,45,36,.24);overflow:hidden}.ai-panel[hidden]{display:none}.ai-panel-head{display:flex;justify-content:space-between;gap:12px;padding:15px 16px;border-bottom:1px solid var(--line);background:var(--soft2)}.ai-panel-head strong{display:block;color:var(--brand2)}.ai-panel-head span{display:block;color:var(--muted);font-size:.76rem;line-height:1.35;margin-top:3px}.ai-panel-head button{border:0;background:transparent;font-size:1.5rem;line-height:1;color:var(--muted);cursor:pointer}.ai-messages{max-height:350px;overflow:auto;padding:14px;display:flex;flex-direction:column;gap:9px}.ai-msg{max-width:88%;padding:10px 12px;border-radius:13px;font-size:.86rem;line-height:1.45}.ai-msg.assistant{align-self:flex-start;background:var(--soft);color:#29483d}.ai-msg.user{align-self:flex-end;background:var(--brand);color:#fff}.ai-form{display:grid;grid-template-columns:1fr auto;gap:8px;border-top:1px solid var(--line);padding:12px}.ai-form input{min-width:0;border:1px solid var(--line);border-radius:11px;padding:10px 11px}.ai-form .btn{min-height:42px}.ai-status{display:block;padding:0 12px 12px;color:var(--muted);font-size:.7rem}.ai-action-card{margin:0 14px 14px;border:1px solid #bdd8cf;background:#f4faf7;border-radius:13px;padding:12px;display:flex;flex-direction:column;gap:6px}.ai-action-card strong{color:var(--brand2)}.ai-action-card span{font-size:.78rem;color:var(--muted)}.ai-action-card .btn{margin-top:5px}
@media(max-width:560px){.ai-booking-shell{right:12px;bottom:12px}.ai-panel{width:calc(100vw - 24px)}.ai-launcher{padding:11px 14px}}
