:root{
  --book-ink:#0c1624;
  --book-ink-2:#101d2d;
  --book-paper:#f5f2eb;
  --book-panel:#fbfaf7;
  --book-muted:#69727d;
  --book-line:rgba(12,22,36,.12);
  --book-teal:#2d8f88;
  --book-teal-2:#58b5aa;
  --book-gold:#d4a04f;
  --book-white:#fff;
}
*{box-sizing:border-box}
html{background:var(--book-paper)}
body.page-booking{
  margin:0;
  min-height:100vh;
  background:
    radial-gradient(circle at 14% 18%,rgba(45,143,136,.09),transparent 30%),
    radial-gradient(circle at 85% 78%,rgba(212,160,79,.09),transparent 28%),
    var(--book-paper);
  color:var(--book-ink);
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
.page-booking a{color:inherit}
.booking-page-wrap{min-height:100vh;padding:clamp(22px,3.5vw,54px);display:grid;place-items:center}
.booking-frame{width:min(1380px,100%);min-height:min(820px,calc(100vh - 70px));background:var(--book-panel);border:1px solid rgba(12,22,36,.08);border-radius:30px;overflow:hidden;box-shadow:0 28px 80px rgba(11,21,36,.14);display:grid;grid-template-columns:minmax(350px,.42fr) minmax(0,.58fr);position:relative}
.booking-profile{position:relative;padding:42px 42px 34px;background:linear-gradient(180deg,#fff 0%,#fbfaf7 100%);display:flex;flex-direction:column;min-width:0;overflow:hidden}
.booking-profile::after{content:"";position:absolute;width:245px;height:245px;border-radius:50%;right:-116px;top:-122px;background:radial-gradient(circle at 40% 40%,rgba(45,143,136,.18),rgba(45,143,136,.05) 60%,transparent 62%);pointer-events:none}
.booking-brand{display:flex;align-items:center;gap:14px;position:relative;z-index:1}
.booking-brand img{width:205px;height:auto;display:block}
.booking-brand-badge{margin-left:auto;display:inline-flex;align-items:center;gap:8px;border:1px solid var(--book-line);border-radius:999px;padding:8px 11px;font-size:11px;line-height:1;text-transform:uppercase;letter-spacing:.12em;font-weight:800;color:#58616b;background:#fff}
.booking-brand-badge::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--book-teal);box-shadow:0 0 0 4px rgba(45,143,136,.1)}
.booking-kicker{margin:28px 0 6px;font-size:11px;line-height:1.4;text-transform:uppercase;letter-spacing:.18em;font-weight:800;color:#727a82}
.booking-profile h1{margin:0;font-family:Manrope,Inter,sans-serif;font-size:clamp(25px,2.1vw,34px);line-height:1.08;letter-spacing:-.04em}
.host-card{margin-top:34px;display:grid;grid-template-columns:112px minmax(0,1fr);gap:22px;align-items:center}
.host-photo-wrap{position:relative;width:112px;height:112px}
.host-photo{width:112px;height:112px;object-fit:cover;object-position:center 22%;border-radius:50%;border:5px solid #fff;box-shadow:0 0 0 1px rgba(12,22,36,.22),0 12px 26px rgba(12,22,36,.14);display:block}
.host-photo-mark{position:absolute;right:4px;bottom:6px;width:24px;height:24px;border-radius:50%;background:var(--book-teal);border:4px solid #fff;box-shadow:0 2px 8px rgba(12,22,36,.16)}
.host-name{margin:0 0 5px;font-family:Manrope,Inter,sans-serif;font-size:26px;line-height:1.08;letter-spacing:-.035em}
.host-role{margin:0;color:#59626d;font-size:14px;line-height:1.55}
.booking-intro{margin:27px 0 0;color:#59626d;font-size:15px;line-height:1.65;max-width:36ch}
.booking-profile-rule{border:0;border-top:1px solid var(--book-line);margin:28px 0 22px}
.meeting-facts{display:grid;gap:14px}
.meeting-fact{display:grid;grid-template-columns:42px minmax(0,1fr);gap:14px;align-items:center}
.meeting-fact-icon{width:42px;height:42px;border-radius:12px;background:rgba(45,143,136,.1);display:grid;place-items:center;color:var(--book-teal)}
.meeting-fact-icon svg{width:19px;height:19px;stroke:currentColor;fill:none;stroke-width:1.8}
.meeting-fact strong{display:block;font-size:14px;line-height:1.25;margin-bottom:3px}
.meeting-fact span{display:block;font-size:13px;line-height:1.4;color:#727a82}
.booking-fit-note{margin-top:24px;padding-top:22px;border-top:1px solid var(--book-line)}
.booking-fit-note p{margin:0;font-size:13px;line-height:1.55;color:#69727d}
.booking-fit-note strong{color:var(--book-ink)}
.booking-profile-bottom{margin-top:auto;padding-top:30px;display:flex;gap:14px;align-items:center;justify-content:space-between;font-size:12px;color:#747c84}
.booking-profile-bottom a{text-decoration:none;font-weight:700;color:#4d5965}
.booking-profile-bottom a:hover{text-decoration:underline}

.booking-action{position:relative;background:linear-gradient(145deg,#0b1524 0%,#111a25 62%,#142532 100%);color:#fff;min-width:0;overflow:hidden;display:flex;flex-direction:column}
.booking-action::before,.booking-action::after{content:"";position:absolute;border-radius:50%;pointer-events:none}
.booking-action::before{width:370px;height:370px;right:-188px;top:-208px;background:radial-gradient(circle at 45% 55%,rgba(212,160,79,.9),rgba(212,160,79,.53) 42%,rgba(212,160,79,.04) 66%,transparent 68%)}
.booking-action::after{width:280px;height:280px;left:-174px;bottom:-170px;background:radial-gradient(circle at 60% 40%,rgba(45,143,136,.28),rgba(45,143,136,.08) 58%,transparent 68%)}
.booking-action-inner{position:relative;z-index:1;padding:36px clamp(34px,5vw,72px) 44px;display:flex;flex-direction:column;min-height:100%}
.booking-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-items:start;margin:3px 0 42px}
.booking-step{position:relative;display:grid;justify-items:center;text-align:center;gap:8px;color:rgba(255,255,255,.44);font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.booking-step:not(:last-child)::after{content:"";position:absolute;top:15px;left:calc(50% + 23px);right:calc(-50% + 23px);height:1px;background:rgba(255,255,255,.19)}
.booking-step-dot{width:31px;height:31px;border:1px solid rgba(255,255,255,.28);border-radius:50%;display:grid;place-items:center;font-size:12px;line-height:1;background:#111a25;color:#fff;position:relative;z-index:2;transition:.2s ease}
.booking-step[data-state="active"]{color:#fff}
.booking-step[data-state="active"] .booking-step-dot{background:var(--book-teal);border-color:var(--book-teal);box-shadow:0 0 0 7px rgba(45,143,136,.12)}
.booking-step[data-state="done"]{color:rgba(255,255,255,.74)}
.booking-step[data-state="done"] .booking-step-dot{background:rgba(45,143,136,.16);border-color:rgba(88,181,170,.6);color:#dff6f2}
.booking-step[data-state="done"]:not(:last-child)::after{background:rgba(88,181,170,.48)}
.booking-start{margin:auto 0;max-width:700px;padding:30px 0 70px}
.booking-shield{width:66px;height:66px;border-radius:19px;background:linear-gradient(145deg,var(--book-teal),#23746e);display:grid;place-items:center;margin-bottom:30px;box-shadow:0 14px 28px rgba(0,0,0,.18)}
.booking-shield svg{width:30px;height:30px;fill:none;stroke:white;stroke-width:1.8}
.booking-start h2{margin:0;font-family:Manrope,Inter,sans-serif;font-size:clamp(40px,4.7vw,68px);line-height:.98;letter-spacing:-.055em;max-width:760px;text-wrap:balance}
.booking-start .lead{margin:27px 0 0;max-width:620px;color:rgba(255,255,255,.69);font-size:17px;line-height:1.65}
.booking-start-actions{margin-top:34px;display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.booking-primary{appearance:none;border:0;border-radius:999px;min-height:58px;padding:0 32px;background:#fff;color:var(--book-ink);font:800 15px/1 Inter,sans-serif;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:10px;box-shadow:0 10px 24px rgba(0,0,0,.12);transition:transform .18s ease,box-shadow .18s ease}
.booking-primary:hover{transform:translateY(-1px);box-shadow:0 13px 28px rgba(0,0,0,.17)}
.booking-primary:focus-visible,.booking-secondary:focus-visible{outline:3px solid rgba(88,181,170,.7);outline-offset:3px}
.booking-secondary{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 18px;border-radius:999px;border:1px solid rgba(255,255,255,.17);color:rgba(255,255,255,.77);text-decoration:none;font-size:13px;font-weight:700}
.booking-secondary:hover{border-color:rgba(255,255,255,.32);color:#fff}
.booking-trust{margin-top:35px;display:grid;gap:7px;color:rgba(255,255,255,.48);font-size:12px;line-height:1.45}
.booking-trust strong{display:flex;align-items:center;gap:8px;color:rgba(255,255,255,.68);font-weight:700}
.booking-trust svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:1.8}
.booking-cal-wrap{display:none;min-height:0;flex:1;animation:bookFade .25s ease both}
.booking-action[data-view="calendar"] .booking-start{display:none}
.booking-action[data-view="calendar"] .booking-cal-wrap{display:flex;flex-direction:column}
.booking-cal-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:-7px 0 18px}
.booking-cal-head h2{margin:0;font-family:Manrope,Inter,sans-serif;font-size:28px;letter-spacing:-.035em}
.booking-cal-head button{appearance:none;border:0;background:transparent;color:rgba(255,255,255,.64);font:700 12px/1 Inter,sans-serif;cursor:pointer;padding:8px 0}
.booking-cal-head button:hover{color:#fff}
.booking-status{display:none;margin:0 0 16px;padding:13px 15px;border:1px solid rgba(88,181,170,.35);border-radius:12px;background:rgba(45,143,136,.12);font-size:13px;line-height:1.5;color:#dff6f2}
.booking-action[data-scheduled="true"] .booking-status{display:block}
.calendly-frame-shell{position:relative;flex:1;min-height:650px;border-radius:20px;overflow:hidden;background:#fff;box-shadow:0 18px 45px rgba(0,0,0,.2)}
.calendly-frame-shell::before{content:"Loading available times…";position:absolute;inset:0;display:grid;place-items:center;color:#6c7580;font-size:13px;background:#fff;z-index:0}
.calendly-frame-shell[data-loaded="true"]::before{display:none}
#bookingCalendlyFrame{position:relative;z-index:1;width:100%;height:100%;min-height:650px;border:0;background:#fff;display:block}
.booking-fallback{margin:14px 4px 0;color:rgba(255,255,255,.5);font-size:11px;line-height:1.5;text-align:center}
.booking-fallback a{color:rgba(255,255,255,.76);font-weight:700}
.booking-powered{width:min(1380px,100%);margin:14px auto 0;text-align:center;color:#777e82;font-size:11px;letter-spacing:.01em}
.booking-powered a{font-weight:700;text-decoration:none;color:#626b71}
@keyframes bookFade{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}

@media(max-width:1040px){
  .booking-frame{grid-template-columns:355px minmax(0,1fr)}
  .booking-profile{padding:34px 30px 28px}
  .booking-brand img{width:178px}
  .host-card{grid-template-columns:92px minmax(0,1fr);gap:17px}
  .host-photo-wrap,.host-photo{width:92px;height:92px}
  .host-name{font-size:23px}
  .booking-action-inner{padding-left:38px;padding-right:38px}
  .booking-start h2{font-size:clamp(38px,5.5vw,57px)}
}
@media(max-width:820px){
  .booking-page-wrap{padding:18px}
  .booking-frame{grid-template-columns:1fr;min-height:auto;border-radius:24px}
  .booking-profile{padding:30px 30px 26px}
  .booking-profile::after{width:210px;height:210px;right:-118px;top:-120px}
  .booking-kicker{margin-top:22px}
  .host-card{margin-top:24px;grid-template-columns:86px minmax(0,1fr)}
  .host-photo-wrap,.host-photo{width:86px;height:86px}
  .booking-intro{max-width:56ch;margin-top:21px}
  .booking-fit-note{margin-top:19px;padding-top:18px}
  .booking-profile-bottom{display:none}
  .booking-action{min-height:590px}
  .booking-action-inner{padding:28px 28px 34px}
  .booking-steps{margin-bottom:28px}
  .booking-start{padding:24px 0 44px}
  .booking-start .lead{font-size:16px}
  .calendly-frame-shell,#bookingCalendlyFrame{min-height:680px}
}
@media(max-width:560px){
  .booking-page-wrap{padding:0;display:block}
  .booking-frame{border:0;border-radius:0;box-shadow:none;width:100%}
  .booking-profile{padding:25px 21px 22px}
  .booking-brand img{width:160px}
  .booking-brand-badge{font-size:9px;padding:7px 9px}
  .booking-kicker{margin-top:20px}
  .booking-profile h1{font-size:25px}
  .host-card{grid-template-columns:74px minmax(0,1fr);gap:14px;margin-top:22px}
  .host-photo-wrap,.host-photo{width:74px;height:74px}
  .host-photo{border-width:4px}
  .host-photo-mark{width:20px;height:20px;border-width:3px;right:1px;bottom:4px}
  .host-name{font-size:21px}
  .host-role{font-size:13px}
  .booking-intro{font-size:14px;margin-top:18px}
  .booking-profile-rule{margin:20px 0 17px}
  .meeting-facts{grid-template-columns:1fr 1fr;gap:10px}
  .meeting-fact{grid-template-columns:36px minmax(0,1fr);gap:10px}
  .meeting-fact-icon{width:36px;height:36px;border-radius:10px}
  .meeting-fact-icon svg{width:16px;height:16px}
  .meeting-fact strong{font-size:12px}
  .meeting-fact span{font-size:11px}
  .booking-fit-note{display:none}
  .booking-action{min-height:560px}
  .booking-action-inner{padding:23px 21px 28px}
  .booking-steps{gap:4px;margin-bottom:28px}
  .booking-step{font-size:8px;letter-spacing:.08em;gap:7px}
  .booking-step-dot{width:28px;height:28px;font-size:10px}
  .booking-step:not(:last-child)::after{top:13px;left:calc(50% + 19px);right:calc(-50% + 19px)}
  .booking-start{padding:12px 0 34px}
  .booking-shield{width:55px;height:55px;border-radius:16px;margin-bottom:24px}
  .booking-shield svg{width:25px;height:25px}
  .booking-start h2{font-size:clamp(37px,12vw,52px)}
  .booking-start .lead{font-size:15px;line-height:1.6;margin-top:22px}
  .booking-start-actions{margin-top:28px;display:grid}
  .booking-primary,.booking-secondary{width:100%}
  .booking-trust{margin-top:26px}
  .booking-cal-head h2{font-size:23px}
  .calendly-frame-shell,#bookingCalendlyFrame{min-height:690px}
  .booking-powered{padding:0 16px 18px;margin-top:10px}
}
@media(prefers-reduced-motion:reduce){
  .booking-primary{transition:none}
  .booking-cal-wrap{animation:none}
}
