:root{--black:#070707;--coal:#101113;--ivory:#f4f1eb;--white:#fff;--red:#dc1733;--gold:#b99a6a;--gold-light:#e2c69c;--muted:#70777c;--line:rgba(17,18,19,.14);--max:1200px}
*{box-sizing:border-box}html{background:#050505}body{margin:0;color:var(--coal);font-family:Inter,"Segoe UI",Arial,sans-serif;font-size:16px;line-height:1.6;background:#050505 url('clinic-background.png') center calc(50% - 120px)/cover fixed no-repeat}a{color:inherit;text-decoration:none}button{font:inherit}.wrap{width:min(calc(100% - 48px),var(--max));margin:auto}
header{position:sticky;top:0;z-index:30;color:#fff;background:rgba(5,6,7,.86);border-bottom:1px solid rgba(255,255,255,.12);backdrop-filter:blur(14px)}.nav{height:96px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{display:flex;align-items:center;min-width:0}.header-logo{display:block;width:300px;height:auto;aspect-ratio:1507/287;object-fit:contain}.navcta{flex:0 0 auto}
.booking-hero{position:relative;overflow:hidden;color:#fff;background:#030303 url('clinic-background.png') center calc(50% - 120px)/cover no-repeat}.booking-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.88),rgba(0,0,0,.43) 62%,rgba(0,0,0,.64)),linear-gradient(0deg,rgba(0,0,0,.78),transparent 70%)}.booking-intro{position:relative;z-index:1;padding:76px 0 82px}.back{display:inline-flex;gap:10px;align-items:center;margin-bottom:37px;color:var(--gold-light);font-size:.78rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.back:before{content:"←"}.eyebrow{display:flex;align-items:center;gap:14px;color:#ffb5bd;font-size:.75rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase}.eyebrow:before{content:"";width:44px;height:1px;background:var(--red)}h1{max-width:820px;margin:20px 0 21px;font:400 clamp(3.3rem,6.4vw,6.7rem)/.92 "Iowan Old Style",Baskerville,Georgia,serif;letter-spacing:-.055em;text-shadow:0 3px 28px rgba(0,0,0,.65)}.booking-intro p{max-width:690px;margin:0;color:#e2e5e7;font-size:1.04rem}
.booking-section{padding:86px 0 104px;background:linear-gradient(90deg,rgba(255,255,255,.95) 0%,rgba(255,255,255,.91) 28%,rgba(255,255,255,.78) 46%,rgba(255,255,255,.46) 68%,rgba(255,255,255,.16) 100%);backdrop-filter:blur(5px)}.booking-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(330px,.65fr);gap:30px;align-items:stretch}.calendar-card,.summary-card{position:relative;background:rgba(255,255,255,.72);border:1px solid rgba(114,87,43,.22);box-shadow:0 26px 70px rgba(42,32,17,.12)}.calendar-card{padding:46px 48px 44px;background:linear-gradient(90deg,rgba(255,255,255,.97) 0%,rgba(255,255,255,.82) 40%,rgba(255,255,255,.66) 100%)}.calendar-card:before,.summary-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(var(--red),#7f0718)}.calendar-top{display:flex;justify-content:space-between;gap:24px;align-items:start}.step-label{display:block;margin-bottom:10px;color:var(--red);font-size:.7rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase}.calendar-card h2,.summary-card h2{margin:0;font:400 clamp(2rem,3.3vw,3rem)/1.03 "Iowan Old Style",Baskerville,Georgia,serif;letter-spacing:-.04em}.calendar-nav{display:flex;gap:8px}.calendar-nav button{width:44px;height:44px;border:1px solid rgba(117,84,27,.35);border-radius:50%;color:#6e5118;background:rgba(255,255,255,.64);cursor:pointer;transition:.2s ease}.calendar-nav button:hover:not(:disabled){color:#111;background:#fff;border-color:#c3942c;box-shadow:0 0 18px rgba(185,145,48,.25)}.calendar-nav button:disabled{opacity:.28;cursor:not-allowed}.month-title{margin:36px 0 19px;font:400 1.32rem/1.2 "Iowan Old Style",Baskerville,Georgia,serif;text-transform:capitalize}.weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.weekdays{margin-bottom:8px;color:#8b8f92;font-size:.72rem;font-weight:800;text-align:center;text-transform:uppercase}.weekdays span{padding:8px 0}.day{aspect-ratio:1;min-height:48px;border:1px solid transparent;border-radius:50%;color:#252729;background:transparent;cursor:pointer;transition:transform .18s ease,background .18s ease,border-color .18s ease,box-shadow .18s ease}.day:hover:not(:disabled){transform:translateY(-2px);background:#fff;border-color:rgba(185,154,106,.62);box-shadow:0 8px 18px rgba(85,60,20,.12)}.day.is-selected{color:#fff;background:linear-gradient(145deg,#34322d,#090909);border-color:#d8ae47;box-shadow:0 0 0 2px rgba(120,82,12,.38),0 0 22px rgba(212,169,55,.38)}.day:disabled{color:#bbb8b1;cursor:not-allowed}.day.is-empty{visibility:hidden}.calendar-legend{display:flex;gap:26px;flex-wrap:wrap;margin-top:27px;padding-top:21px;border-top:1px solid var(--line);color:#777d81;font-size:.78rem}.calendar-legend span{display:flex;align-items:center;gap:8px}.calendar-legend i{width:10px;height:10px;border-radius:50%;display:inline-block}.available-dot{border:1px solid #a98024;background:#fff}.selected-dot{background:#151515;box-shadow:0 0 0 2px #d3a83f}
.summary-card{--panel-cut:26px;--panel-cut-line:37px;padding:46px 40px;color:#fff;background:linear-gradient(110deg,rgba(3,4,5,.64),rgba(3,4,5,.46));overflow:hidden;clip-path:polygon(0 0,calc(100% - var(--panel-cut)) 0,100% var(--panel-cut),100% 100%,0 100%);border:1px solid rgba(137,147,159,.78);border-left:3px solid var(--red);box-shadow:inset 0 0 0 1px rgba(255,255,255,.025),inset 0 1px 0 rgba(255,255,255,.08),0 0 0 5px rgba(31,39,53,.24),0 0 0 6px rgba(112,126,148,.10),0 22px 64px rgba(0,0,0,.34);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
@property --silver-angle{syntax:"<angle>";initial-value:0deg;inherits:false}
.summary-card::before{content:"";position:absolute;z-index:3;inset:0 0 0 2px;width:auto;height:auto;padding:1px;pointer-events:none;background:conic-gradient(from var(--silver-angle),#555e69 0deg,#919ca8 34deg,#fbfdff 44deg,#727c87 54deg,#4d5661 112deg,#a8b2bd 170deg,#fff 180deg,#6b7580 190deg,#4c5560 252deg,#9da8b4 306deg,#f8fbff 316deg,#59636e 326deg,#555e69 360deg);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;filter:drop-shadow(0 0 2px rgba(241,247,253,.34));animation:silver-frame-flow 7s linear infinite}
.summary-card::after{content:"";position:absolute;z-index:4;top:calc(var(--panel-cut) - 1px);right:0;width:var(--panel-cut-line);height:1px;pointer-events:none;transform:rotate(45deg);transform-origin:right center;background:linear-gradient(90deg,#69737e 0%,#f9fcff 48%,#8a95a1 100%);box-shadow:0 0 4px rgba(238,246,255,.34)}
@keyframes silver-frame-flow{to{--silver-angle:360deg}}
.summary-card .step-label{color:#ff8997}.summary-card h2{position:relative;z-index:1}.selection{margin:32px 0 22px;padding:21px 0;border-top:1px solid rgba(255,255,255,.16);border-bottom:1px solid rgba(255,255,255,.16)}.selection span,.consultation-details span,.phone-field>span{display:block;color:#9fa5a9;font-size:.72rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase}.selection>strong{display:block;margin-top:8px;color:#f7e6b8;font:400 1.34rem/1.36 "Iowan Old Style",Baskerville,Georgia,serif}.duration-note{display:block;margin-top:12px;color:#c7cbce;font-size:.82rem;font-weight:600}.consultation-details{display:grid;gap:14px}.consultation-details strong{display:block;margin-top:3px;font-size:.91rem}.booking-fieldset{margin:25px 0 0;padding:0;border:0}.booking-fieldset legend{margin:0 0 11px;color:#c9cdd0;font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.choice-grid{display:grid;gap:9px}.time-options{grid-template-columns:1fr 1fr}.contact-options{grid-template-columns:1fr}.choice{position:relative;display:block;cursor:pointer}.choice input{position:absolute;opacity:0;pointer-events:none}.choice span{position:relative;display:flex;align-items:center;min-height:47px;padding:10px 16px 10px 45px;border:1px solid rgba(255,255,255,.2);border-radius:999px;color:#e8eaeb;background:rgba(255,255,255,.035);font-size:.86rem;font-weight:700;transition:.22s ease}.choice span:before{content:"";position:absolute;left:15px;width:18px;height:18px;border:1px solid rgba(224,193,113,.65);border-radius:50%;background:rgba(0,0,0,.28)}.choice span:after{content:"✓";position:absolute;left:19px;top:50%;color:#17140c;font-size:.72rem;font-weight:900;opacity:0;transform:translateY(-52%) scale(.55);transition:.2s ease}.choice input:checked+span{color:#fff8e8;border-color:#e0b842;background:linear-gradient(145deg,rgba(66,58,36,.7),rgba(13,13,12,.96));box-shadow:0 0 0 1px rgba(129,86,8,.65),0 0 20px rgba(224,178,41,.28)}.choice input:checked+span:before{border-color:#f5d878;background:linear-gradient(145deg,#fff0a2,#b77e0d)}.choice input:checked+span:after{opacity:1;transform:translateY(-52%) scale(1)}.choice input:focus-visible+span{outline:2px solid #e3bd58;outline-offset:3px}.phone-field{display:block;margin-top:25px}.phone-field input{width:100%;min-height:51px;margin-top:10px;padding:12px 17px;border:1px solid rgba(255,255,255,.22);border-radius:10px;color:#fff;background:rgba(255,255,255,.055);font:600 1rem/1.2 Inter,"Segoe UI",Arial,sans-serif;outline:none;transition:.22s ease}.phone-field input::placeholder{color:#70777b}.phone-field input:focus{border-color:#e0b842;box-shadow:0 0 0 2px rgba(209,163,39,.2),0 0 22px rgba(224,178,41,.18)}.booking-confirm{width:100%;margin-top:27px;cursor:pointer}.booking-confirm:disabled{opacity:.38;filter:grayscale(.65);cursor:not-allowed;box-shadow:none!important}.booking-confirm.is-confirmed{color:#fff9dd!important;filter:brightness(1.08)}
.choice input:disabled+span{opacity:.32;cursor:not-allowed;text-decoration:line-through}.premium-dialog{width:min(560px,calc(100% - 32px));padding:52px 48px 45px;border:1px solid rgba(226,190,91,.65);border-radius:2px;color:#fff;text-align:center;background:linear-gradient(145deg,rgba(30,29,26,.98),rgba(3,3,3,.99));box-shadow:0 0 0 1px rgba(117,80,10,.55),0 30px 100px rgba(0,0,0,.8),0 0 54px rgba(206,157,36,.2);overflow:hidden}.premium-dialog::backdrop{background:rgba(0,0,0,.78);backdrop-filter:blur(9px)}.premium-dialog[open]{animation:dialog-in .32s ease-out}.dialog-ornament{position:absolute;width:260px;height:260px;left:50%;top:-205px;transform:translateX(-50%);border:1px solid rgba(235,197,102,.4);border-radius:50%;box-shadow:0 0 35px rgba(215,167,49,.15)}.dialog-kicker{display:block;color:#e4c475;font-size:.7rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase}.premium-dialog h2{margin:15px 0 18px;font:400 clamp(2rem,5vw,3.05rem)/1 "Iowan Old Style",Baskerville,Georgia,serif;letter-spacing:-.035em}.dialog-booking-details{max-width:410px;margin:24px auto;padding:15px 0;border-top:1px solid rgba(226,190,91,.3);border-bottom:1px solid rgba(226,190,91,.3);text-align:left}.dialog-booking-details div{display:grid;grid-template-columns:118px 1fr;gap:18px;padding:5px 0}.dialog-booking-details span{color:#aaaeb1;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.dialog-booking-details strong{color:#f8e7b6;font:400 1rem/1.35 "Iowan Old Style",Baskerville,Georgia,serif}.premium-dialog p{max-width:410px;margin:0 auto;color:#e2e2df;font-size:1rem;line-height:1.7}.premium-dialog .dialog-error{margin-top:18px;color:#ff9eaa}.dialog-actions{display:flex;flex-direction:column;align-items:center;gap:14px;margin-top:30px}.dialog-agree{min-width:210px;margin-top:0;cursor:pointer}.dialog-agree:disabled{opacity:.55;cursor:wait}.dialog-back{padding:7px 12px;border:0;border-bottom:1px solid rgba(226,198,125,.42);color:#d6d0c3;background:transparent;font-size:.85rem;font-weight:650;letter-spacing:.025em;cursor:pointer;transition:.2s ease}.dialog-back:hover{color:#f5df9f;border-color:#e4bc50;text-shadow:0 0 18px rgba(226,187,78,.45)}@keyframes dialog-in{from{opacity:0;transform:translateY(18px) scale(.97)}to{opacity:1;transform:none}}
footer{background:#040506;color:#9ca4aa;padding:40px 0;border-top:1px solid rgba(255,255,255,.1)}.foot{display:grid;grid-template-columns:260px 1fr;gap:60px;align-items:center;font-size:.82rem}.footer-logo{display:block;width:240px;height:auto;aspect-ratio:1507/287;object-fit:contain}.disclaimer{text-align:right;max-width:720px;justify-self:end}
button:focus-visible,a:focus-visible{outline:2px solid #e3bd58;outline-offset:4px}
@media(max-width:900px){.booking-layout{grid-template-columns:1fr}.summary-card{min-height:0}.booking-intro{padding-block:68px}.calendar-card{padding:40px}.summary-card{padding:40px}.footer-logo{width:225px}}
@media(max-width:760px){.wrap{width:min(calc(100% - 32px),var(--max))}.nav{height:82px;gap:14px}.header-logo{width:min(220px,calc(100vw - 150px))}.booking-hero{background-size:145% auto;background-position:center 82px}.booking-intro{padding:55px 0 64px}.back{margin-bottom:30px}h1{font-size:clamp(2.75rem,12vw,4.5rem)}.booking-section{padding:55px 0 70px}.calendar-card{padding:32px 24px}.summary-card{--panel-cut:18px;--panel-cut-line:26px;padding:35px 27px}.calendar-top{align-items:center}.weekdays,.calendar-grid{gap:4px}.day{-webkit-appearance:none;appearance:none;display:grid;place-items:center;justify-self:center;width:clamp(42px,11vw,60px);height:clamp(42px,11vw,60px);min-height:0;aspect-ratio:auto;padding:0;border-radius:50%}.day.is-selected{color:#fff!important;background-color:#0b0b0b!important;background-image:linear-gradient(145deg,#292722 0%,#050505 72%)!important;border:1px solid #e0bb61;box-shadow:0 0 0 2px rgba(120,82,12,.38),0 8px 22px rgba(0,0,0,.25),0 0 24px rgba(212,169,55,.42);text-shadow:0 1px 4px rgba(0,0,0,.9)}.premium-dialog{padding:44px 28px 38px}.dialog-booking-details div{grid-template-columns:102px 1fr;gap:12px}.foot{grid-template-columns:1fr;gap:20px}.disclaimer{text-align:left;justify-self:start}.footer-logo{width:210px}}
@media(max-width:430px){.header-logo{width:min(188px,calc(100vw - 142px))}.navcta{font-size:.72rem!important;padding-inline:12px!important}.booking-intro p{font-size:.95rem}.calendar-card h2,.summary-card h2{font-size:2rem}.calendar-nav button{width:40px;height:40px}.calendar-card{padding-inline:18px}.day{min-height:0;font-size:.86rem}.calendar-legend{gap:15px}.time-options{grid-template-columns:1fr}.footer-logo{width:190px}}
@media(prefers-reduced-motion:reduce){.calendar-nav button,.day{transition:none}.summary-card::before{animation:none}}

/* Confirmation dialog mirrors the translucent, cut-corner hero plaque. */
.premium-dialog{--dialog-cut:48px;position:fixed;border:1px solid rgba(226,232,238,.28);border-left:3px solid var(--red);border-radius:0;background:linear-gradient(112deg,transparent 16%,rgba(245,249,255,.085) 42%,transparent 67%),linear-gradient(110deg,rgba(3,4,5,.64),rgba(3,4,5,.46));background-size:220% 100%,100% 100%;background-position:-70% 0,0 0;clip-path:polygon(0 0,calc(100% - var(--dialog-cut)) 0,100% var(--dialog-cut),100% 100%,0 100%);box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 30px 100px rgba(0,0,0,.64),0 0 46px rgba(166,178,192,.12);-webkit-backdrop-filter:blur(12px) saturate(.82);backdrop-filter:blur(12px) saturate(.82)}
.premium-dialog::before{content:"";position:absolute;z-index:3;inset:0 0 0 2px;padding:1px;pointer-events:none;background:conic-gradient(from var(--silver-angle),#4e5864 0deg,#9da9b5 32deg,#fff 43deg,#77828e 54deg,#4b5560 112deg,#b4bec8 169deg,#fff 180deg,#65707c 191deg,#4b5560 252deg,#aeb9c4 305deg,#fff 316deg,#5c6672 328deg,#4e5864 360deg);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;filter:drop-shadow(0 0 3px rgba(241,247,253,.42));animation:silver-frame-flow 6.5s linear infinite}
.premium-dialog::after{content:"";position:absolute;z-index:4;top:calc(var(--dialog-cut) - 1px);right:0;width:68px;height:1px;pointer-events:none;transform:rotate(45deg);transform-origin:right center;background:linear-gradient(90deg,rgba(105,115,126,.65),#f9fcff 52%,rgba(138,149,161,.72));box-shadow:0 0 4px rgba(238,246,255,.25)}
.premium-dialog[open]{animation:dialog-in .32s ease-out,dialog-sheen 8s ease-in-out .32s infinite alternate}
@keyframes dialog-sheen{from{background-position:-70% 0,0 0}to{background-position:145% 0,0 0}}
.premium-dialog::backdrop{background:rgba(0,0,0,.68);backdrop-filter:blur(9px)}
.dialog-ornament{display:none}
.dialog-kicker{color:#ff9aa7}
.dialog-booking-details{border-color:rgba(255,255,255,.22)}
@media(max-width:760px){.premium-dialog{--dialog-cut:32px}.dialog-agree{width:100%;max-width:410px;min-width:0}}
@media(prefers-reduced-motion:reduce){.premium-dialog::before{animation:none}.premium-dialog[open]{animation:dialog-in .01s ease-out}}

@property --day-gold-angle{syntax:"<angle>";initial-value:0deg;inherits:false}
.day.is-selected{border:2px solid transparent!important;color:#fff!important;background:linear-gradient(145deg,#2c2922 0%,#080808 68%) padding-box,conic-gradient(from var(--day-gold-angle),#8b6110 0deg,#e5b940 54deg,#fff2a6 76deg,#b77e10 104deg,#efd064 162deg,#7d560c 218deg,#fff0a0 278deg,#c58c18 318deg,#8b6110 360deg) border-box!important;box-shadow:0 0 0 1px rgba(120,82,12,.55),0 8px 22px rgba(0,0,0,.24),0 0 17px rgba(225,178,45,.48),0 0 32px rgba(211,159,24,.2);animation:day-gold-flow 3.8s linear infinite}
@keyframes day-gold-flow{to{--day-gold-angle:360deg}}
@media(prefers-reduced-motion:reduce){.day.is-selected{animation:none}}

/* Keep the booking surfaces black even when they sit over a bright background. */
.summary-card{
  background:linear-gradient(110deg,rgba(0,0,0,.92),rgba(0,0,0,.84));
}
.premium-dialog{
  background:linear-gradient(112deg,transparent 16%,rgba(245,249,255,.06) 42%,transparent 67%),linear-gradient(110deg,rgba(0,0,0,.92),rgba(0,0,0,.84));
}

/* Branded booking background with a protected logo area above the copy. */
body{
  background-color:#020202;
  background-image:url('brand-pages-background.png');
  background-position:center top;
  background-size:cover;
  background-attachment:fixed;
  background-repeat:no-repeat;
}
.booking-hero{
  min-height:800px;
  background-color:#020202;
  background-image:url('brand-pages-background.png');
  background-position:center center;
  background-size:cover;
  background-repeat:no-repeat;
}
.booking-hero::before{
  background:linear-gradient(180deg,rgba(0,0,0,.02) 0%,rgba(0,0,0,.06) 46%,rgba(0,0,0,.7) 68%,rgba(0,0,0,.95) 100%);
}
.booking-intro{
  padding:490px 0 70px;
}
.booking-intro h1{
  max-width:760px;
  font-size:clamp(3.1rem,5.5vw,5.7rem);
}
@media(max-width:900px){
  body{background-size:auto 100vh;background-position:center top}
  .booking-hero{
    min-height:700px;
    background-size:100% auto;
    background-position:center 22px;
  }
  .booking-hero::before{
    background:linear-gradient(180deg,rgba(0,0,0,0) 0%,rgba(0,0,0,.03) 36%,rgba(0,0,0,.76) 54%,rgba(0,0,0,.96) 100%);
  }
  .booking-intro{
    padding:calc(59vw + 34px) 0 58px;
  }
}
@media(max-width:430px){
  .booking-hero{min-height:710px;background-size:auto 420px;background-position:center top}
  .booking-intro{padding:300px 0 50px}
  .booking-intro h1{font-size:clamp(2.35rem,11vw,3.2rem);line-height:1.02}
  .booking-intro p{font-size:.95rem;line-height:1.55}
}

/* The branded wall stays fixed while the booking page scrolls. */
body{
  position:relative;
  isolation:isolate;
  background:none!important;
}
body::before{
  content:"";
  position:fixed;
  z-index:-2;
  inset:0;
  background:#020202 url('brand-pages-background.png') center center/cover no-repeat;
  pointer-events:none;
}
.booking-hero{
  background-color:transparent;
  background-image:none;
}
@media(max-width:900px){
  body::before{background-position:center 82px;background-size:100% auto}
}
@media(max-width:700px){
  body::before{
    background-image:url('brand-pages-mobile.png');
    background-position:center 12px;
    background-size:auto 535px;
  }
  .booking-hero{min-height:0}
  .booking-intro{padding:190px 0 26px}
  .booking-section{padding-top:28px}
  header .brand{display:none}
  header .nav{justify-content:flex-start}
}
@media(max-width:430px){
  .booking-hero{background-image:none;min-height:0}
}
@media(max-width:360px){
  body::before{background-size:auto 500px}
  .booking-intro{padding-top:175px}
}

/* Match the main hero plaque around the booking introduction. */
.booking-intro-panel{
  --panel-cut:26px;
  --panel-cut-line:37px;
  position:relative;
  overflow:hidden;
  padding:42px 48px 46px;
  color:#fff;
  background:linear-gradient(110deg,rgba(3,4,5,.64),rgba(3,4,5,.46));
  border:1px solid rgba(137,147,159,.78);
  border-left:3px solid var(--red);
  clip-path:polygon(0 0,calc(100% - var(--panel-cut)) 0,100% var(--panel-cut),100% 100%,0 100%);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.025),inset 0 1px 0 rgba(255,255,255,.08),0 0 0 5px rgba(31,39,53,.24),0 0 0 6px rgba(112,126,148,.10),0 22px 64px rgba(0,0,0,.34);
  -webkit-backdrop-filter:blur(6px);
  backdrop-filter:blur(6px);
}
.booking-intro-panel::before{
  content:"";
  position:absolute;
  z-index:3;
  inset:0 0 0 2px;
  padding:1px;
  pointer-events:none;
  background:conic-gradient(from var(--silver-angle),#555e69 0deg,#919ca8 34deg,#fbfdff 44deg,#727c87 54deg,#4d5661 112deg,#a8b2bd 170deg,#fff 180deg,#6b7580 190deg,#4c5560 252deg,#9da8b4 306deg,#f8fbff 316deg,#59636e 326deg,#555e69 360deg);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
  mask-composite:exclude;
  animation:silver-frame-flow 7s linear infinite;
}
.booking-intro-panel::after{
  content:"";
  position:absolute;
  z-index:4;
  top:calc(var(--panel-cut) - 1px);
  right:0;
  width:var(--panel-cut-line);
  height:1px;
  pointer-events:none;
  transform:rotate(45deg);
  transform-origin:right center;
  background:linear-gradient(90deg,#69737e,#f9fcff 48%,#8a95a1);
  box-shadow:0 0 4px rgba(238,246,255,.34);
}
@media(max-width:760px){
  .booking-intro-panel{--panel-cut:18px;--panel-cut-line:26px;padding:30px 26px 34px}
}
@media(max-width:430px){
  .booking-intro-panel{padding:26px 20px 30px}
}
@media(prefers-reduced-motion:reduce){
  .booking-intro-panel::before{animation:none}
}

/* Keep calendar labels readable over the branded background. */
.booking-success{margin:14px 0 0;color:#f7e6b8;font-size:.9rem;line-height:1.5}
.calendar-card{
  background:linear-gradient(90deg,rgba(255,255,255,.98),rgba(255,255,255,.93) 58%,rgba(255,255,255,.88));
}
.weekdays{color:#525a60}
.day:disabled{color:#687078}
.calendar-legend{color:#535b61}
.calendar-nav button:disabled{opacity:.55}

/* Dark dates are readable without an outline; weekends stay visibly closed. */
.weekdays span:nth-last-child(-n+2){color:#9c6b72}
.day.is-available:not(.is-selected){
  color:#111315;
  font-weight:700;
  background:transparent;
  border-color:transparent;
  box-shadow:none;
}
.day.is-available:not(.is-selected):hover{
  background:rgba(255,255,255,.6);
  border-color:rgba(25,27,29,.25);
  box-shadow:0 4px 14px rgba(0,0,0,.10);
}
.calendar-legend .available-dot{border-color:#24282b}
.day.is-weekend:disabled{color:#aeb2b5;background:rgba(225,228,230,.28)}

/* Mobile month swipe mirrors the calendar motion in the personal schedule. */
.calendar-swipe{overflow:hidden;touch-action:pan-y}
.calendar-page.slide-next{animation:booking-month-next .34s cubic-bezier(.22,1,.36,1) both}
.calendar-page.slide-prev{animation:booking-month-prev .34s cubic-bezier(.22,1,.36,1) both}
@keyframes booking-month-next{from{opacity:.35;transform:translateX(22px)}to{opacity:1;transform:translateX(0)}}
@keyframes booking-month-prev{from{opacity:.35;transform:translateX(-22px)}to{opacity:1;transform:translateX(0)}}
@media(prefers-reduced-motion:reduce){.calendar-page.slide-next,.calendar-page.slide-prev{animation:none}}

.booking-intro .consultation-price{
  margin-top:21px;
  color:#f1dbaa;
  font-size:.98rem;
  font-weight:700;
  letter-spacing:.025em;
}
.booking-intro .consultation-duration{
  margin-top:4px;
  color:#e0e3e5;
  font-size:.94rem;
}
.phone-field.is-inactive{opacity:.58}
.phone-field.is-inactive input{cursor:not-allowed}
.phone-field:not(.is-inactive)>span{color:#d9dcdd}
