.client-header,.client-footer{display:none}
.staff-filter{display:flex;align-items:center;gap:10px;margin:0 0 14px;font-weight:650}
.staff-filter select{max-width:65%;padding:7px 10px;border:1px solid var(--line);border-radius:8px;background:white;color:var(--ink)}
.checks{margin:0;border:1px solid var(--line);border-radius:8px;padding:10px 12px}
.checks label{display:flex;align-items:center;gap:8px;margin:4px 0;font-weight:500}
.checks input{width:auto;accent-color:var(--blue)}
.day-head{padding:3px 5px}
.public-page{--forest:#203e34;--cream:#f7f5ee;--sage:#dce7d8;--ink:#253a30;--muted:#586b60;--line:#dce2d7;display:block;background:var(--cream)}
.public-page .sidebar,.public-page .staff-header{display:none}
.public-page .client-header,.public-page .client-footer{display:flex;justify-content:space-between;align-items:center}
.client-header{height:76px;background:var(--cream);padding:0 clamp(18px,6vw,95px);border-color:var(--line)}
.client-header .brand{color:var(--ink);margin:0}
.client-header .brand span{color:#476c57}
.client-header nav,.client-actions{display:flex;gap:24px;align-items:center;flex-wrap:wrap}
.client-header nav>a:first-child{font-weight:650}
.client-cta{display:inline-flex;gap:14px;align-items:center;border-radius:99px;background:var(--forest);color:white;padding:10px 17px;font-weight:700}
.client-cta:hover{background:#365d4f}
.public-page #view{max-width:none;padding:0;min-height:calc(100vh - 148px)}
.client-hero{background:var(--forest);color:#fffdf3;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;padding:35px clamp(18px,8vw,120px);min-height:420px;overflow:hidden}
.client-hero-copy{max-width:650px;position:relative;z-index:1}
.client-kicker{text-transform:uppercase;letter-spacing:.17em;font-weight:750;font-size:11px;display:flex;align-items:center;gap:8px}
.client-kicker span{width:7px;height:7px;border-radius:50%;background:#799e7c}
.client-hero h1,.client-offer h2,.client-booking h1{font-family:Georgia,serif;font-weight:500;letter-spacing:-.055em}
.client-hero h1{font-size:clamp(45px,6.4vw,95px);margin:14px 0 20px;line-height:.99}
.client-hero h1 em{color:#d4dfbe;font-weight:400}
.client-hero-copy>p:nth-of-type(2){color:#e0e8de;max-width:390px;font-size:16px}
.client-actions{margin-top:24px;gap:18px}
.client-actions .client-cta{background:#f0e8ce;color:var(--forest)}
.client-actions .client-cta:hover{background:#fffae9}
.client-actions>a:last-child{font-weight:650;font-size:13px}
.client-art{max-width:490px;width:100%;margin:auto}
.client-art svg{display:block;width:100%;max-height:400px}
.client-offer{padding:35px clamp(18px,8vw,120px) 48px;scroll-margin-top:15px}
.client-offer h2{font-size:clamp(34px,4vw,55px);margin:2px 0 17px}
.offer-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.offer-card{padding:16px;background:#fffef9;border:1px solid var(--line);border-radius:12px;display:grid;grid-template-columns:1fr auto;align-items:start;gap:8px}
.offer-icon{background:var(--sage);color:var(--forest);border-radius:9px;display:grid;place-items:center;width:38px;height:38px}
.offer-icon svg{width:21px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.offer-time{color:var(--muted);font-size:12px;padding-top:7px}
.offer-card h3{grid-column:1/-1;font-size:16px;margin:3px 0 0;overflow-wrap:anywhere}
.offer-card button{grid-column:1/-1;background:transparent;border:0;padding:0;color:#305744;text-align:left;font-size:13px;justify-self:start}
.offer-card button:hover{text-decoration:underline}
.client-footer{padding:21px clamp(18px,6vw,95px);gap:15px;border-top:1px solid var(--line);color:var(--muted);font-size:13px}
.client-footer a{text-decoration:underline;text-underline-offset:3px}
.booking-page main{display:flex;flex-direction:column;min-height:100svh}
.booking-page .client-header{flex-shrink:0}
.booking-page .client-footer{display:none}
.booking-page #view{flex:1;width:100%;background:radial-gradient(ellipse at 79% 75%,#eaf3fe,transparent 62%),#fbfcfe;position:relative;isolation:isolate;overflow:hidden}
.booking-page #view:before{
  content:"";position:absolute;z-index:-1;inset:auto 0 0;height:clamp(155px,37%,290px);pointer-events:none;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1320 280' preserveAspectRatio='none'%3E%3Cdefs%3E%3ClinearGradient id='blue'%3E%3Cstop stop-color='%23bbd9fa' stop-opacity='.7'/%3E%3Cstop offset='.42' stop-color='%23c6dffa' stop-opacity='.52'/%3E%3Cstop offset='1' stop-color='%23dcebfb' stop-opacity='0'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath d='M0 18C127 92 209 200 350 183S543 89 705 110 1017 219 1320 113V280H0Z' fill='url(%23blue)'/%3E%3C/svg%3E") center bottom / 100% 100% no-repeat
}
.booking-page .client-header{border-bottom:1px solid #e4edf7}
.client-booking{display:grid;grid-template-columns:minmax(0,.74fr) minmax(0,1fr);gap:clamp(24px,3.7vw,62px);max-width:1260px;margin:auto;padding:54px clamp(20px,5.8vw,78px) 96px;align-items:start}
.client-booking-intro{padding-top:33px}
.client-booking-intro .client-kicker{color:var(--landing-blue);letter-spacing:.085em;font-size:13px}
.client-booking-intro .client-kicker span{width:20px;height:2px;background:currentColor}
.client-booking-intro h1{font:800 clamp(42px,5vw,68px)/1.05 system-ui,sans-serif;letter-spacing:-.055em;margin:24px 0 22px}
.client-booking-intro>p:not(.client-kicker){font-size:clamp(16px,1.5vw,20px);color:#526480}
.client-booking-intro small{display:block;margin-top:15px;color:#526480}
.booking-install{display:grid;gap:8px;margin:28px 0 0;justify-items:start}
.booking-install .primary{width:auto;min-height:44px;padding:0 18px;border:0;border-radius:11px;background:linear-gradient(115deg,#0084f5,#0055ed);font-size:15px}
.booking-install small{margin:0;color:#526480}
.booking-block{display:grid;gap:6px}
.booking-label{font-size:16px;font-weight:650;color:#132038}
.staff-picker{margin-top:2px}
.staff-picker-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(132px,1fr));gap:10px}
.staff-pick{display:flex;align-items:center;gap:10px;min-height:54px;padding:8px 12px;border:1px solid #d5deeb;border-radius:12px;background:#fff;text-align:left;font:inherit;font-weight:600;color:#132038;box-shadow:0 1px 3px #1637650c;cursor:pointer}
.staff-pick.on{border-color:#4f8ffc;background:#eef5ff;box-shadow:0 0 0 2px #4f8ffc33}
.staff-pick-avatar{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#e7f1fd;color:#0058ef;font-size:12px;font-weight:700;overflow:hidden;flex:none}
.staff-pick-avatar img{width:100%;height:100%;object-fit:cover}
.staff-pick-avatar.any{background:#fff4d6;color:#9a5b12}
.client-booking .day-picker{margin-top:6px;padding:12px;border:1px solid #d5deeb;border-radius:12px;background:#f8fbff;box-shadow:0 1px 3px #1637650c}
.client-booking .day-picker-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}
.client-booking .day-picker-head b{font-size:15px;text-transform:capitalize}
.client-booking .day-picker-head button{width:34px;height:34px;border:1px solid #d5deeb;border-radius:8px;background:#fff;font-size:18px;line-height:1}
.client-booking .day-picker-dows,.client-booking .day-picker-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.client-booking .day-picker-dows{margin-bottom:4px;color:#7a8aa3;font-size:11px;text-align:center;text-transform:uppercase}
.client-booking .day-cell{min-height:36px;border:0;border-radius:8px;background:transparent;font:inherit;font-weight:600}
.client-booking .day-cell.work{background:#e7f6ea;color:#1d6b34}
.client-booking .day-cell.off{background:#f3f5f8;color:#9aa6b8}
.client-booking .day-cell.selected{outline:2px solid var(--landing-blue);outline-offset:1px}
.client-booking .day-cell:disabled{opacity:.45}
.client-booking .day-picker-legend{display:flex;gap:14px;margin:10px 0 0;color:#7a8aa3;font-size:12px}
.client-booking .day-picker-legend .work:before,.client-booking .day-picker-legend .off:before{content:"";display:inline-block;width:10px;height:10px;margin-right:6px;border-radius:3px;vertical-align:-1px}
.client-booking .day-picker-legend .work:before{background:#e7f6ea}
.client-booking .day-picker-legend .off:before{background:#f3f5f8}
.booking-benefits{padding:0;margin:34px 0 0;list-style:none;display:grid;gap:14px}
.booking-benefits li{display:flex;align-items:center;gap:16px;font-size:17px;font-weight:550}
.booking-benefits span{display:grid;place-items:center;width:51px;height:51px;border-radius:14px;background:#e7f1fd}
.booking-benefits svg,.booking-field svg{width:25px;height:25px;fill:none;stroke:var(--landing-blue);stroke-width:1.8;stroke-linejoin:round;stroke-linecap:round}
.client-booking .booking{width:100%;background:#ffffffef;border:1px solid #f3f7fb;border-radius:22px;box-shadow:0 12px 38px #5797df24}
.client-booking .form{padding:clamp(17px,2.45vw,34px);gap:18px}
.client-booking .form-grid{gap:clamp(10px,1.85vw,26px)}
.client-booking .form label{font-size:16px;gap:4px}
.booking-field{display:block;position:relative;min-width:0}
.booking-field svg{position:absolute;left:14px;top:50%;width:22px;height:22px;transform:translateY(-50%);pointer-events:none}
.client-booking .booking-field :is(input,select){height:47px;padding-left:56px;border-color:#d5deeb;border-radius:10px;box-shadow:0 1px 3px #1637650c;font-weight:450;min-width:0}
.client-booking .checks{border:0;padding:0}
.client-booking .checks label{gap:14px;font-weight:500}
.client-booking .checks input{width:22px;height:22px;margin:0;accent-color:var(--landing-blue)}
.client-booking .form-error:empty{display:none}
.client-booking .form-actions{margin:0}
.client-booking .primary{width:100%;min-height:53px;border:0;border-radius:11px;background:linear-gradient(115deg,#0084f5,#0055ed);font-size:19px}
.client-booking .success button{margin-top:14px}
@media(max-width:900px){.offer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){
  .client-header{height:62px}
  .client-header nav{gap:9px;font-size:12px}
  .client-cta{padding:8px 11px;gap:5px}
  .client-hero{grid-template-columns:1fr;gap:10px;padding-top:33px;padding-bottom:0}
  .client-art{max-width:245px}
  .client-art svg{max-height:180px}
  .client-booking{grid-template-columns:1fr;padding:25px 18px 42px}
  .client-booking-intro{padding-top:0}
  .booking-benefits{margin-top:18px}
  .booking-benefits span{width:38px;height:38px}
  .client-booking .booking-field :is(input,select){padding-left:36px;font-size:14px}
  .booking-field svg{left:9px;width:18px;height:18px}
  .agenda .controls{flex-wrap:wrap;justify-content:flex-end}
}
.public-page{background:#fafbfd;color:#0c1424}
.public-page .client-header{height:70px;padding:0 var(--landing-gutter);background:linear-gradient(105deg,#f5faff,#fcfcfc 65%);border:0;position:sticky;top:0;z-index:6;color:#0c1424}
.public-page{--landing-gutter:clamp(20px,4.86vw,90px);--landing-blue:#0066ff}
.land-logo{display:flex;align-items:center;gap:8px;font-size:36px;font-weight:800;letter-spacing:-.05em}
.land-mark svg{display:block;width:46px;height:46px;fill:none;stroke:var(--landing-blue);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.client-header nav{display:flex;justify-content:flex-end;flex-wrap:nowrap;gap:16px;font-size:16px;font-weight:650}
.land-nav-links{position:absolute;left:48%;top:50%;transform:translate(-50%,-50%);display:flex;align-items:center;gap:clamp(20px,4.4vw,56px);white-space:nowrap}
.land-nav-links .booking-home,.booking-page .land-nav-links .landing-audience,.booking-page .land-nav-links .booking-cta{display:none}
.booking-page .land-nav-links .booking-home{display:block;color:#0058ef;position:relative}
.land-nav-links .booking-cta{color:#0058ef}
.booking-home:after{content:"";position:absolute;left:-5px;right:-5px;bottom:-12px;height:4px;border-radius:3px;background:currentColor}
.land-login,.land-try,.land-ghost{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:700;white-space:nowrap;border-radius:13px;padding:10px 20px}
.land-login{border:1px solid #8391a6;background:#ffffff70}
.land-try{background:linear-gradient(170deg,#009dff,#0059f5 70%);color:#fff}
.land-try:hover{background:#0054dc}
.land-ghost{background:#f9fcff;border:1px solid #d8e7fa}
.landing .client-footer{display:none}
.landing-wrap{position:relative;overflow:hidden;isolation:isolate;background:radial-gradient(ellipse at 14% 0%,#eef7ff 0,transparent 31%),#fbfbfb;min-height:clamp(580px,50.76vw,790px)}
.landing-hero{position:relative;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,3.2fr);align-items:start;min-height:clamp(440px,38.5vw,615px);padding:0 var(--landing-gutter) 12px}
.landing-copy{position:relative;z-index:2;padding-top:clamp(45px,4.65vw,76px)}
.landing-copy h1{font-size:clamp(31px,3.35vw,56px);line-height:1.16;letter-spacing:-.045em;font-weight:780;margin:0 0 20px}
.landing-copy h1 .swap{color:var(--landing-blue)}
.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}
.swap{display:inline-grid;vertical-align:baseline}
.swap>span{grid-area:1/1;opacity:0;transition:opacity .45s ease}
.swap>span.on{opacity:1}
@media(prefers-reduced-motion:reduce){.swap>span{transition:none}}
.landing-copy p{max-width:48ch;color:#52617b;font-size:clamp(15px,1.47vw,23px);line-height:1.38}
.landing-actions{display:flex;gap:15px;flex-wrap:wrap;align-items:center;margin-top:clamp(24px,3.3vw,52px)}
.landing-actions a{padding:14px clamp(15px,2.1vw,33px);min-height:54px;font-size:clamp(14px,1.35vw,20px);border-radius:17px}
.landing-actions .land-try{background:linear-gradient(#00a7f4,#0055ce)}
.play{display:inline-block;width:17px;height:19px;background:var(--landing-blue);clip-path:polygon(0 0,100% 50%,0 100%);position:relative}
.play:before{content:"";position:absolute;inset:4px 5px 4px 3px;background:#f9fcff;clip-path:inherit}
.stage{width:100%;height:auto;display:block}
.audience{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:clamp(10px,1.5vw,24px);width:73.4%;margin-left:var(--landing-gutter);padding-bottom:30px;scroll-margin-top:82px}
.audience article{min-height:clamp(92px,8.6vw,135px);border-radius:23px;background:linear-gradient(#fff,#f7fafc);box-shadow:0 10px 19px #4384ce22;display:grid;place-content:center;justify-items:center;gap:6px;text-align:center;padding:6px}
.audience svg{width:clamp(32px,3.25vw,50px);height:auto;fill:none;stroke:var(--landing-blue);stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.audience article:last-child svg{background:#e0effd;border-radius:50%;padding:6px}
.audience b{font-size:clamp(12px,1.28vw,19px);letter-spacing:-.035em}
.wave{position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none}
.find-section,.find-page{padding:28px var(--landing-gutter) 40px;scroll-margin-top:88px}
.find-section{position:relative;z-index:2;max-width:980px}
.find-page{max-width:860px;margin:0 auto 48px}
.find-copy h1,.find-copy h2{font-size:clamp(26px,3.4vw,38px);letter-spacing:-.04em;margin:0 0 8px}
.find-copy p{margin:0 0 18px;max-width:52ch}
.find-form{background:#fff;border:1px solid #d7e5f7;border-radius:20px;padding:16px;box-shadow:0 14px 34px #23416e14}
.find-fields{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1.1fr) auto;gap:12px;align-items:end}
.find-field{display:grid;gap:6px;margin:0}
.find-field span{font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#5d6b7c}
.find-field input,.find-field select{width:100%;min-height:48px;border:1px solid #c9d7ea;border-radius:14px;padding:10px 14px;font:inherit;background:#f8fbff}
.find-submit{min-height:48px;padding:0 22px;border-radius:14px;white-space:nowrap}
.find-results-wrap{margin-top:18px}
.find-results{display:grid;gap:10px}
.find-card{display:grid;gap:4px;padding:16px 18px;border-radius:16px;background:#fff;border:1px solid #dce8f7;text-decoration:none;color:inherit;box-shadow:0 8px 20px #23416e10}
.find-card:hover{border-color:#7eb6ff;box-shadow:0 12px 28px #1d5fbf18}
.find-card b{font-size:18px;letter-spacing:-.03em}
.find-card span,.find-card small,.find-empty{color:#5d6b7c}
.find-empty{padding:12px 2px}
@media(max-width:720px){
  .find-fields{grid-template-columns:1fr}
  .find-submit{width:100%}
}
.land-block{padding:54px var(--landing-gutter);scroll-margin-top:80px}
.land-kicker{color:var(--landing-blue);font-weight:800;letter-spacing:.08em;text-transform:uppercase;font-size:12px;margin-bottom:6px}
.land-block h2{font-size:clamp(28px,4vw,40px);letter-spacing:-.04em;margin-bottom:8px}
.land-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:22px}
.land-grid article,.price{background:#fff;border-radius:18px;box-shadow:0 10px 28px #23416e12}
.land-grid article{padding:18px}
.land-grid h3{margin-bottom:6px}
.land-grid p,.price p{color:#5d6b7c}
.price{margin:0 var(--landing-gutter) 64px;padding:28px}
.price .land-try{margin-top:16px}
@media(max-width:1050px){
  .client-header nav{gap:20px}
  .land-nav-links{position:static;transform:none;gap:20px}
  .landing-hero{min-height:390px}
}
@media(max-width:890px){
  .landing-hero{grid-template-columns:minmax(0,1fr);padding-top:34px;padding-bottom:15px}
  .landing-copy{padding-top:0}
  .stage{width:min(100%,680px);margin:24px auto 0}
  .audience{width:auto;margin:0 var(--landing-gutter)}
}
@media(max-width:760px){.land-nav-links{display:none}}
@media(max-width:620px){
  .public-page .client-header{height:auto;min-height:60px;gap:10px}
  .land-logo{font-size:25px;gap:2px}
  .land-mark svg{width:32px;height:32px}
  .client-header nav{gap:6px;font-size:11px}
  .land-login,.land-try{padding:8px 9px}
  .landing-copy h1{font-size:clamp(24px,6.45vw,37px)}
  .landing-copy p br{display:none}
  .landing-actions a{min-height:43px;padding:9px 11px;font-size:13px}
  .audience{grid-template-columns:repeat(2,minmax(0,1fr))}
  .land-grid{grid-template-columns:1fr}
}
