.booking-dialog{width:min(900px,calc(100vw - 40px));height:min(880px,92svh);max-width:none;max-height:92svh;padding:0;margin:auto;border:1px solid rgba(255,255,255,.18);border-top:7px solid #FFCD00;background:#0F0F0F;color:#F4F3EF;overflow:hidden}
.booking-dialog[open]{display:flex;flex-direction:column}
.booking-dialog::backdrop{background:rgba(0,0,0,.76)}
.booking-dialog-head{display:flex;align-items:start;justify-content:space-between;gap:20px;padding:24px 28px 18px;border-bottom:1px solid rgba(255,255,255,.18);flex-shrink:0}
.booking-dialog h2{font-family:var(--body);font-size:1.45rem;line-height:1.3;text-transform:none;letter-spacing:-.02em;color:#F4F3EF;margin:0}
.booking-dialog-head p{font-family:var(--body);font-size:.95rem;line-height:1.5;color:#8C887F;margin:8px 0 0}
.booking-close{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:44px;height:44px;background:#151515;border:1px solid rgba(255,255,255,.18);color:#F4F3EF;font-size:30px;cursor:pointer}
.booking-frame{display:block;width:100%;flex:1;min-height:0;border:0;background:#0A0A0A}
.booking-fallback{padding:12px 24px;margin:0;font-family:var(--body);font-size:.84rem;line-height:1.5;color:#8C887F;border-top:1px solid rgba(255,255,255,.18);flex-shrink:0}
.booking-fallback a{color:#F4F3EF;text-decoration:underline;text-underline-offset:3px}
.booking-close:focus-visible{outline:3px solid var(--pink);outline-offset:2px}
html.booking-embed body{background:#0A0A0A;color:#F4F3EF;min-height:0}
html.booking-embed body::before,html.booking-embed nav,html.booking-embed footer,html.booking-embed body>header,html.booking-embed body>section:not(#apply){display:none!important}
html.booking-embed #apply{padding:22px 0!important;background:#0A0A0A!important}
html.booking-embed #apply .wrap{width:100%;max-width:100%;padding:0 24px!important;margin:0}
html.booking-embed #apply .split{display:block!important}
html.booking-embed #apply .split>.sec-head{display:none}
html.booking-embed .reveal{opacity:1!important;transform:none!important}






html.booking-embed body>.wrap{width:100%;max-width:none;padding:0!important;margin:0}
html.booking-embed .page-actions,html.booking-embed .grid>.panel{display:none!important}
html.booking-embed .grid{display:block!important}
html.booking-embed .calendar-shell{border:0;min-height:640px;width:100%;padding:0!important}
html.booking-embed .calendly-inline-widget{min-width:0;height:720px}
html.booking-embed .calendar-direct{padding:20px;background:#0A0A0A;color:#F4F3EF}
html.booking-embed .calendar-direct p,html.booking-embed .calendar-direct h2{color:#333}

html.booking-embed [data-shared-cta]{display:none!important}
@media(max-width:760px){.booking-dialog{width:calc(100vw - 16px);height:96svh;max-height:96svh}.booking-dialog-head{padding:16px;gap:12px}.booking-dialog h2{font-size:1.15rem}.booking-dialog-head p{font-size:.88rem}.booking-fallback{padding:10px 16px}html.booking-embed #apply .wrap{padding:0 16px!important}html.booking-embed .field-grid{grid-template-columns:1fr!important}}


.booking-dialog .booking-dialog-head h2{font-family:var(--display);font-size:1.8rem;line-height:.96;letter-spacing:.012em;text-transform:uppercase;color:#F4F3EF!important}
.booking-dialog .booking-dialog-head p,.booking-dialog .booking-fallback{color:#8C887F}
.booking-dialog .booking-close,.booking-dialog .booking-fallback a{color:#F4F3EF}
.booking-dialog .booking-close{background:#151515;border-color:rgba(255,255,255,.18)}
.booking-dialog .booking-frame{background:#0A0A0A}
.booking-dialog .booking-close:focus-visible{outline-color:#FFCD00}
html.booking-embed{color-scheme:dark}
/* Existing approved yellow CTA, shared with pages that inline their critical CSS. */
[data-shared-cta] {
  background:
    repeating-linear-gradient(45deg, rgba(0,0,0,.075) 0 2px, transparent 2px 24px),
    var(--cat) !important;
  color: #0A0A0A !important;
  padding: clamp(78px, 9vw, 126px) 0 !important;
  overflow: hidden !important;
  position: relative !important;
}

[data-shared-cta]::before {
  content: none !important;
}

[data-shared-cta] .wrap {
  max-width: var(--maxw);
}

[data-shared-cta] .section-title,
[data-shared-cta] .section-title.reveal {
  max-width: 760px !important;
}

[data-shared-cta] .sheet,
[data-shared-cta] .eyebrow {
  color: rgba(10,10,10,.46) !important;
  font-family: var(--mono) !important;
  font-size: .76rem !important;
  letter-spacing: .22em !important;
  text-transform: uppercase !important;
  margin-bottom: 26px !important;
}

[data-shared-cta] h2 {
  color: #0A0A0A !important;
  font-size: clamp(2.35rem, 4.7vw, 4.35rem) !important;
  line-height: .96 !important;
  letter-spacing: .01em !important;
  max-width: 18ch !important;
  margin: 0 !important;
  text-wrap: balance !important;
}

[data-shared-cta] p {
  color: rgba(10,10,10,.82) !important;
  font-size: clamp(1.02rem, 1.4vw, 1.35rem) !important;
  line-height: 1.42 !important;
  max-width: 780px !important;
  margin: 30px 0 34px !important;
}

[data-shared-cta] .btn-row {
  gap: 18px !important;
}

[data-shared-cta] .btn {
  min-height: 74px !important;
  padding: 20px 38px !important;
  border-radius: 0 !important;
  font-size: .84rem !important;
  letter-spacing: .16em !important;
}

[data-shared-cta] .btn-primary {
  background: #0A0A0A !important;
  color: #fff !important;
  border: 1px solid #0A0A0A !important;
}

[data-shared-cta] .btn-primary:hover {
  background: #fff !important;
  color: #0A0A0A !important;
  transform: translateY(-2px) !important;
}

[data-shared-cta] .btn-ghost {
  background: transparent !important;
  color: #0A0A0A !important;
  border: 1px solid rgba(10,10,10,.22) !important;
}

[data-shared-cta] .btn-ghost:hover {
  background: #0A0A0A !important;
  border-color: #0A0A0A !important;
  color: #fff !important;
  transform: translateY(-2px) !important;
}


[data-shared-cta] h2{font-family:var(--display)!important;text-transform:uppercase!important}
@media(max-width:760px){[data-shared-cta] .btn-row{flex-wrap:wrap}[data-shared-cta] .btn{width:100%;padding:18px 20px!important;letter-spacing:.08em!important}[data-shared-cta] h2{font-size:clamp(2.35rem,9vw,3.2rem)!important}}

/* Form declarations copied from the live discovery-call page, scoped to the popup. */
html.booking-embed .form-card{background:var(--panel) !important;border:1px solid var(--line-2) !important;border-top:7px solid var(--cat) !important;padding:34px !important}
html.booking-embed form{display:grid !important;gap:16px !important}
html.booking-embed .field-grid{display:grid !important;grid-template-columns:repeat(2,1fr) !important;gap:16px !important}
html.booking-embed form label{display:grid !important;gap:8px !important;font-family:var(--mono) !important;font-size:.68rem !important;letter-spacing:.12em !important;text-transform:uppercase !important;color:var(--muted) !important}
html.booking-embed form input:not([type=checkbox]),html.booking-embed form select,html.booking-embed form textarea{width:100% !important;border:1px solid var(--line-2) !important;background:#0A0A0A !important;color:var(--text) !important;font:inherit !important;padding:14px 15px !important;outline:none !important}
html.booking-embed form textarea{width:100% !important;border:1px solid var(--line-2) !important;background:#0A0A0A !important;color:var(--text) !important;font:inherit !important;padding:14px 15px !important;outline:none !important}
html.booking-embed form input:focus,html.booking-embed form select:focus,html.booking-embed form textarea:focus{border-color:var(--cat) !important}
html.booking-embed .client-confirmation{display:flex !important;grid-template-columns:auto 1fr !important;align-items:flex-start !important;gap:10px !important;text-transform:none !important;letter-spacing:0 !important;font-family:var(--body) !important;font-size:.86rem !important;line-height:1.5 !important;color:var(--muted) !important}
html.booking-embed .client-confirmation input{width:18px !important;height:18px !important;flex:0 0 18px !important;margin-top:2px !important;accent-color:var(--cat) !important}
html.booking-embed .form-note{font-size:.88rem !important;color:var(--muted) !important;margin-top:12px !important}
html.booking-embed .form-status{min-height:24px !important;font-size:.88rem !important;color:var(--cat) !important;margin-top:12px !important}
@media(max-width:760px){html.booking-embed .field-grid{grid-template-columns:1fr!important}html.booking-embed .form-card{padding:24px!important}}

/* Booking form readability, shared by the page and popup. */
form[name="discovery-call"] label:not(.client-confirmation),html.booking-embed form label:not(.client-confirmation){color:#ffcd00!important}
form[name="discovery-call"] input:not([type=checkbox]),form[name="discovery-call"] select,form[name="discovery-call"] textarea{border-color:#686868!important;color:#f4f3ef!important}
form[name="discovery-call"] input::placeholder,form[name="discovery-call"] textarea::placeholder{color:#bcbcbc!important;opacity:1}
form[name="discovery-call"] .client-confirmation,html.booking-embed form .client-confirmation{color:#dedede!important}
form[name="discovery-call"] input:focus,form[name="discovery-call"] select:focus,form[name="discovery-call"] textarea:focus{border-color:#ffcd00!important}

/* Clear, spacious booking header in the same studio typography. */
.booking-dialog .booking-dialog-head{padding:32px}
.booking-dialog .booking-dialog-head h2{font-family:var(--body);font-size:clamp(1.4rem,3vw,2rem);font-weight:800;letter-spacing:-.035em;line-height:1.15;text-transform:none}
.booking-dialog .booking-dialog-head p{color:#c9c7c1;max-width:48ch}
@media(max-width:760px){.booking-dialog .booking-dialog-head{padding:20px}}
