:root{--paper:#f4f3ed;--surface:#fff;--ink:#151713;--muted:#666b61;--line:#d9dbd2;--lime:#d8ff4f;--lime-dark:#b7dc31;--sans:"DM Sans",sans-serif;--display:"Manrope",sans-serif;--radius:18px;--shadow:0 24px 70px rgba(21,23,19,.1)}
*,*::before,*::after{box-sizing:border-box;margin:0}html{scroll-behavior:smooth;overflow-x:hidden}body{font-family:var(--sans);font-size:16px;line-height:1.55;color:var(--ink);background:var(--paper);overflow-x:hidden}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}h1,h2,h3{font-family:var(--display);line-height:1.02;letter-spacing:-.045em;text-wrap:balance}p{text-wrap:pretty}ul{list-style:none;padding:0}.skip-link{position:fixed;top:-100px;left:1rem;z-index:999;background:var(--lime);padding:.7rem 1rem;border-radius:8px;font-weight:700}.skip-link:focus{top:1rem}:focus-visible{outline:3px solid var(--lime-dark);outline-offset:3px}.scroll-progress{position:fixed;z-index:500;inset:0 0 auto;height:3px}.scroll-progress span{display:block;height:100%;background:var(--lime-dark);transform:scaleX(0);transform-origin:left}.site-nav{max-width:1180px;margin:auto;padding:1.2rem 5vw;display:flex;justify-content:space-between;align-items:center}.brand{display:inline-flex;align-items:center;gap:.7rem;font-weight:700}.brand-mark{display:grid;place-items:center;width:2rem;height:2rem;border-radius:8px;background:var(--ink);color:var(--lime);font-family:var(--display);font-weight:800}.nav-link{font-size:.82rem;font-weight:700;border-bottom:1px solid var(--ink)}.nav-link span{color:#6e782d}.hero{max-width:1180px;margin:auto;padding:4.8rem 5vw 5.5rem;display:grid;gap:3.5rem;align-items:center}.hero-copy{text-align:center}.eyebrow{margin-bottom:1rem;color:#6b732f;font-size:.72rem;font-weight:700;letter-spacing:.11em;text-transform:uppercase}.hero h1{max-width:13ch;margin:auto;font-size:clamp(2.8rem,9vw,6.6rem)}.hero-lede{max-width:690px;margin:1.5rem auto 1.8rem;color:var(--muted);font-size:clamp(1rem,2vw,1.2rem)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.7rem;border:0;border-radius:12px;padding:1rem 1.3rem;font-weight:700;line-height:1.2;transition:transform .2s,background .2s}.btn:hover{transform:translateY(-2px)}.btn-primary{background:var(--lime);color:var(--ink);box-shadow:0 12px 30px rgba(183,220,49,.22)}.btn-primary:hover{background:#c9f03f}.microcopy{margin-top:.9rem;color:#83887d;font-size:.76rem}.diagnostic-sheet{position:relative;max-width:740px;margin:auto;padding:1.3rem;background:var(--ink);color:#f7f7f1;border-radius:var(--radius);box-shadow:var(--shadow);transform:rotate(-.7deg)}.sheet-head{display:flex;justify-content:space-between;padding-bottom:1rem;border-bottom:1px solid rgba(255,255,255,.14);font-size:.68rem;letter-spacing:.12em;color:#bfc4b7}.sheet-question{margin:1.6rem 0 1rem;font-family:var(--display);font-size:1.4rem;font-weight:700}.diagnostic-sheet li{display:grid;grid-template-columns:42px 1fr;gap:.8rem;padding:1rem 0;border-top:1px solid rgba(255,255,255,.12)}.diagnostic-sheet li>span{color:var(--lime);font-size:.72rem}.diagnostic-sheet li p{color:#aeb4a7;font-size:.86rem}.diagnostic-sheet li strong{display:block;margin-bottom:.2rem;color:#fff;font-family:var(--display);font-size:1rem}.sheet-result{display:grid;gap:.25rem;margin-top:.7rem;padding:1rem;border-radius:10px;background:var(--lime);color:var(--ink)}.sheet-result span{font-size:.68rem;text-transform:uppercase;letter-spacing:.1em}.sheet-result strong{font-family:var(--display);font-size:1.08rem}.trust-strip{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#fafaf6}.trust-strip div{display:grid;gap:.1rem;padding:1.3rem;border-right:1px solid var(--line);text-align:center}.trust-strip div:nth-child(2n){border-right:0}.trust-strip div:nth-child(-n+2){border-bottom:1px solid var(--line)}.trust-strip strong{font-family:var(--display);font-size:1.25rem}.trust-strip span{color:var(--muted);font-size:.72rem}.why-section,.form-section{max-width:1180px;margin:auto;padding:6rem 5vw;display:grid;gap:2.5rem}.why-copy h2,.form-intro h2,.final-cta h2{font-size:clamp(2.1rem,5vw,4.7rem)}.why-list{padding-top:.5rem}.why-list>p{margin-bottom:.5rem;color:var(--muted)}.why-list li{position:relative;padding:1rem 0 1rem 1.8rem;border-bottom:1px solid var(--line)}.why-list li::before{position:absolute;left:0;content:"✓";color:#708128;font-weight:800}.why-list>a{display:inline-flex;gap:.5rem;margin-top:1.5rem;border-bottom:1px solid;font-weight:700}.form-section{background:var(--ink);color:#f8f8f2;max-width:none}.form-section>*{width:100%;max-width:540px;margin-inline:auto}.form-intro>p:not(.eyebrow){margin-top:1.2rem;color:#b7bcaf}.privacy-note{margin-top:2rem;padding:1rem 0;border-top:1px solid rgba(255,255,255,.14);color:#c8cdc0;font-size:.82rem}.privacy-note span{display:inline-grid;place-items:center;width:1.5rem;height:1.5rem;margin-right:.5rem;border-radius:50%;background:var(--lime);color:var(--ink);font-weight:800}.form-shell{background:var(--surface);color:var(--ink);border-radius:var(--radius);padding:1.25rem;box-shadow:0 30px 90px rgba(0,0,0,.26)}.form-progress{height:5px;background:#e8eadf;border-radius:99px;overflow:hidden}.form-progress span{display:block;width:25%;height:100%;background:var(--lime-dark);transition:width .35s}.form-step-label{display:flex;justify-content:space-between;margin:1rem 0 2rem;color:var(--muted);font-size:.68rem;letter-spacing:.09em;text-transform:uppercase}.form-step{display:none;border:0}.form-step.is-active{display:grid;gap:1rem}.form-step legend{width:100%;margin-bottom:1.2rem;font-family:var(--display);font-size:clamp(1.5rem,3vw,2rem);font-weight:700;letter-spacing:-.035em;line-height:1.15}.field-grid{display:grid;gap:1rem}label{display:grid;gap:.45rem;font-size:.77rem;font-weight:600}input,select,textarea{width:100%;border:1px solid #d7d9d0;background:#f8f8f4;border-radius:10px;padding:.9rem 1rem;outline:0;transition:border-color .2s,box-shadow .2s}input:focus,select:focus,textarea:focus{border-color:#83963a;box-shadow:0 0 0 4px rgba(183,220,49,.16)}input.is-invalid,select.is-invalid,textarea.is-invalid{border-color:#b24236;box-shadow:0 0 0 3px rgba(178,66,54,.1)}textarea{resize:vertical;min-height:120px}.consent{grid-template-columns:auto 1fr;align-items:start;font-weight:400;line-height:1.45}.consent input{width:1.1rem;height:1.1rem;margin-top:.2rem;accent-color:#82943d}.consent a{text-decoration:underline;font-weight:600}.form-controls{display:flex;justify-content:space-between;gap:.7rem;margin-top:2rem}.form-controls .btn{padding:.85rem 1rem}.btn-back{background:transparent;border:1px solid var(--line)}.form-error{min-height:1.35rem;margin-top:1rem;color:#a5352b;font-size:.8rem}.is-hidden{display:none!important}.booking-panel{text-align:center;padding:1rem}.booking-panel h3{font-size:clamp(1.7rem,4vw,2.6rem)}.booking-panel>p{margin:.8rem auto 1.5rem;color:var(--muted)}.success-mark{display:grid;place-items:center;width:3.5rem;height:3.5rem;margin:0 auto 1rem;border-radius:50%;background:var(--lime);font-size:1.8rem;font-weight:800}.booking-embed iframe{width:100%;min-height:620px;border:0;border-radius:12px}.booking-panel .btn{margin:.5rem auto}.btn-whatsapp{background:#20c56b;color:#082714}.final-cta{padding:7rem 5vw;background:var(--paper);text-align:center}.final-cta h2{max-width:850px;margin:0 auto 2rem}.site-footer{display:grid;gap:1.2rem;padding:3rem 5vw;background:#0d0f0c;color:#c7ccbf}.site-footer>p{max-width:430px;color:#949b8e}.site-footer>div{display:flex;flex-wrap:wrap;gap:1rem;font-size:.8rem}.site-footer>div a{text-decoration:underline}.site-footer small{color:#747b70}.reveal,[data-reveal]{opacity:1;transform:none}.js [data-reveal]{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease}.js [data-reveal].is-revealed{opacity:1;transform:none}.legal-page{padding-top:4rem}.legal-page .site-nav{position:absolute;top:0;left:0;right:0;background:var(--ink);color:#fff;max-width:none}.legal-page .brand-mark{background:var(--lime);color:var(--ink)}.legal-content{max-width:820px;margin:auto;padding:5rem 5vw}.legal-content h1{font-size:clamp(2.7rem,7vw,5rem)}.legal-lede{margin:1.2rem 0 3rem;color:var(--muted);font-size:1.1rem}.legal-content section{padding:1.5rem 0;border-top:1px solid var(--line)}.legal-content h2{margin-bottom:.6rem;font-size:1.2rem}.legal-content section p{color:#555c4d}.legal-content a{text-decoration:underline;font-weight:600}.legal-note{margin-top:2rem;padding:1.2rem;border-radius:12px;background:#e7e9df;font-size:.86rem}
@media(min-width:720px){.site-nav{padding-inline:4vw}.hero{padding-inline:4vw}.hero-copy{text-align:left}.hero h1,.hero-lede{margin-left:0}.hero{grid-template-columns:1fr .85fr;padding-top:6.5rem;padding-bottom:7rem}.diagnostic-sheet{padding:1.6rem}.trust-strip{grid-template-columns:repeat(4,1fr)}.trust-strip div,.trust-strip div:nth-child(2n){border-right:1px solid var(--line);border-bottom:0}.trust-strip div:last-child{border-right:0}.why-section{grid-template-columns:1.15fr .85fr;gap:5rem;padding-top:8rem;padding-bottom:8rem}.form-section{grid-template-columns:.85fr 1.15fr;gap:5rem;padding:8rem 7vw}.form-section>*{max-width:580px}.field-grid.two{grid-template-columns:1fr 1fr}.form-shell{padding:2rem}.site-footer{grid-template-columns:1fr auto;align-items:end}.site-footer>div{justify-content:flex-end}.site-footer small{grid-column:1/-1}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.js [data-reveal]{transition:none}.btn{transition:none}}
.nav-note{color:var(--muted);font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.back-link{font-size:.82rem;font-weight:700;border-bottom:1px solid}.agenda-page{min-height:100vh;background:var(--paper)}.agenda-main{max-width:1000px;margin:auto;padding:4rem 5vw 6rem}.agenda-copy{max-width:720px;margin:0 auto 2.5rem;text-align:center}.agenda-copy h1{font-size:clamp(2.5rem,7vw,5.5rem)}.agenda-copy>p:last-child{max-width:590px;margin:1.2rem auto 0;color:var(--muted)}.calendar-shell{position:relative;min-height:690px;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:var(--shadow)}.calendar-shell iframe{display:block;width:100%;min-height:690px;border:0}.calendar-loading{position:absolute;inset:0;display:grid;place-items:center;padding:2rem;color:var(--muted);text-align:center}.calendar-loading[hidden]{display:none}.agenda-help{margin-top:1.2rem;color:var(--muted);font-size:.82rem;text-align:center}.agenda-help a{text-decoration:underline;font-weight:700}

/* Agenda: el selector es el protagonista; los detalles repetidos de Cal quedan ocultos. */
.agenda-main{max-width:900px;padding-top:2.75rem}
.agenda-copy{margin-bottom:1.75rem}
.agenda-copy h1{font-size:clamp(2.6rem,6vw,4.75rem);line-height:.94}
.calendar-shell{min-height:650px;border-color:#d9ddd2;border-radius:26px;box-shadow:0 22px 60px rgba(29,34,25,.09)}
[data-calendar]{min-height:650px}
.calendar-shell iframe{height:650px!important;min-height:650px}
@media(max-width:719px){.agenda-main{padding:2rem 1rem 4rem}.agenda-copy{margin-bottom:1.35rem}.calendar-shell,[data-calendar]{min-height:1120px}.calendar-shell iframe{height:1120px!important;min-height:1120px}.calendar-shell{border-radius:18px}.agenda-help{padding-inline:1rem;line-height:1.5}}

/* Selector propio: calendario claro, días vencidos tachados y sin rótulos de meses dentro de las celdas. */
.agenda-main{max-width:1120px}
.calendar-shell{min-height:0;overflow:hidden;border-radius:28px;background:#fff}
.calendar-picker{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(260px,.75fr);min-height:600px}
.calendar-picker[hidden],.calendar-booking[hidden]{display:none}
.calendar-month{padding:2.25rem 2.5rem 2.5rem}
.calendar-toolbar{display:flex;justify-content:space-between;align-items:end;gap:1rem;padding-bottom:1.5rem;border-bottom:1px solid var(--line)}
.calendar-kicker{display:block;margin-bottom:.35rem;color:#6b732f;font-size:.66rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.calendar-toolbar h2{font-size:clamp(1.55rem,3vw,2.25rem);letter-spacing:-.04em}
.month-controls{display:flex;gap:.45rem}
.month-controls button{display:grid;place-items:center;width:2.65rem;height:2.65rem;border:1px solid var(--line);border-radius:50%;background:#fff;font-size:1.1rem;transition:background .2s,transform .2s}
.month-controls button:hover:not(:disabled){background:var(--lime);transform:translateY(-1px)}
.month-controls button:disabled{opacity:.28;cursor:not-allowed}
.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.5rem}
.calendar-weekdays{padding:1.5rem 0 .75rem;color:#777d72;font-size:.68rem;font-weight:800;letter-spacing:.08em;text-align:center;text-transform:uppercase}
.calendar-grid{position:relative;min-height:360px}
.calendar-grid.is-loading{opacity:.45;pointer-events:none}
.calendar-day{position:relative;display:grid;place-items:center;aspect-ratio:1;border:1px solid transparent;border-radius:14px;background:transparent;font-family:var(--display);font-size:1rem;font-weight:700;transition:background .18s,color .18s,transform .18s,border-color .18s}
.calendar-day.has-slots{border-color:#e2e5dc;background:#f4f6ef}
.calendar-day.has-slots::after{position:absolute;bottom:.38rem;width:4px;height:4px;border-radius:50%;background:#71802e;content:""}
.calendar-day.has-slots:hover{border-color:var(--ink);background:#fff;transform:translateY(-2px)}
.calendar-day.is-selected{border-color:var(--ink);background:var(--ink);color:var(--lime)}
.calendar-day.is-selected::after{background:var(--lime)}
.calendar-day:disabled{cursor:not-allowed;color:#aeb2aa}
.calendar-day.is-past{color:#b2b5ae;text-decoration:line-through;text-decoration-thickness:1.5px}
.calendar-day.is-blank{border:0;background:transparent}
.calendar-slots{display:flex;min-width:0;flex-direction:column;padding:2.25rem 1.5rem;border-left:1px solid var(--line);background:#f7f8f3}
.slots-heading{padding:0 .25rem 1.2rem}.slots-heading h3{font-size:1.35rem;line-height:1.15;letter-spacing:-.035em}
.slots-list{display:grid;grid-template-columns:1fr 1fr;gap:.65rem;align-content:start;overflow-y:auto;padding:.25rem;scrollbar-width:thin;scrollbar-color:#c8ccc1 transparent}
.slot-button{min-height:3.25rem;border:1px solid #d9ddd2;border-radius:12px;background:#fff;font-family:var(--display);font-weight:700;transition:border-color .18s,background .18s,transform .18s}
.slot-button:hover{border-color:var(--ink);background:var(--lime);transform:translateY(-1px)}
.slots-empty{grid-column:1/-1;padding:1rem 0;color:var(--muted);font-size:.86rem}
.calendar-error{grid-column:1/-1;align-self:center;padding:2rem;color:var(--muted);text-align:center}.calendar-error button{border:0;border-bottom:1px solid;background:transparent;font-weight:700}
.calendar-booking{padding:1rem}.calendar-booking [data-calendar]{min-height:560px}.calendar-booking iframe{height:620px!important;min-height:620px}
.change-slot{margin:0 0 .75rem .25rem;border:0;border-bottom:1px solid;background:transparent;padding:.25rem 0;font-size:.8rem;font-weight:800}
.qualification-intro{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1.5rem;align-items:end;margin:.2rem .25rem 1.25rem;padding:1.35rem 1.45rem;border-radius:18px;background:var(--ink);color:#fff}.qualification-kicker{display:block;margin-bottom:.35rem;color:var(--lime);font-size:.66rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase}.qualification-intro h2{font-size:clamp(1.5rem,3vw,2.15rem);line-height:1.05}.qualification-intro p{max-width:560px;margin-top:.55rem;color:#bfc5b9;font-size:.84rem}.booking-summary{display:grid;min-width:190px;gap:.15rem;padding-left:1.25rem;border-left:1px solid rgba(255,255,255,.16);text-align:right}.booking-summary span{color:#bfc5b9;font-size:.72rem}.booking-summary strong{color:var(--lime);font-family:var(--display);font-size:1.15rem}
.calendar-loading{min-height:200px}
@media(max-width:840px){.calendar-picker{grid-template-columns:1fr}.calendar-slots{min-height:230px;border-top:1px solid var(--line);border-left:0}.slots-list{grid-template-columns:repeat(3,1fr);overflow:visible}.calendar-booking iframe{height:760px!important;min-height:760px}}
@media(max-width:560px){.agenda-main{padding:1.25rem .75rem 3.5rem}.agenda-copy h1{font-size:2.6rem}.calendar-month{padding:1.35rem .85rem 1.5rem}.calendar-toolbar{padding-inline:.35rem}.calendar-weekdays,.calendar-grid{gap:.25rem}.calendar-day{border-radius:10px;font-size:.9rem}.calendar-day.has-slots::after{bottom:.25rem}.calendar-slots{padding:1.35rem .85rem 1.5rem}.slots-list{grid-template-columns:1fr 1fr}.calendar-booking{padding:.65rem}.calendar-booking [data-calendar]{min-height:900px}.calendar-booking iframe{height:980px!important;min-height:980px}.calendar-shell{border-radius:20px}}

/* Navegación persistente del flujo de reserva. */
.agenda-nav{position:sticky;top:0;z-index:400;width:100%;max-width:none;padding:0 4vw;border-bottom:1px solid rgba(217,219,210,.9);background:rgba(244,243,237,.92);box-shadow:0 8px 30px rgba(21,23,19,.04);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.agenda-nav>.brand,.agenda-nav>.back-link{min-width:128px;min-height:68px}
.agenda-nav>.brand{justify-self:start}.agenda-nav>.back-link{display:inline-flex;justify-content:flex-end;align-items:center;gap:.35rem;justify-self:end;border:0;font-size:.78rem}
.booking-steps{display:flex;align-items:center;justify-content:center;gap:.7rem;min-height:68px}
.booking-step{display:inline-flex;align-items:center;gap:.5rem;color:#92978e;font-size:.72rem;font-weight:700;white-space:nowrap;transition:color .2s}
.booking-step b{display:grid;place-items:center;width:1.7rem;height:1.7rem;border:1px solid #cfd3ca;border-radius:50%;background:#fff;font-family:var(--display);font-size:.7rem;transition:background .2s,border-color .2s,color .2s}
.booking-step.is-active{color:var(--ink)}.booking-step.is-active b{border-color:var(--ink);background:var(--ink);color:var(--lime)}
.booking-step.is-complete{color:#65702c}.booking-step.is-complete b{border-color:#9db431;background:var(--lime);color:var(--ink)}
.booking-step.is-complete b::before{content:"✓"}.booking-step.is-complete b{font-size:0}
.booking-step.is-complete b::before{font-size:.78rem}
.booking-steps>i{width:34px;height:1px;background:#d1d4cc}
@media(max-width:700px){.agenda-nav{padding-inline:.8rem}.agenda-nav>.brand,.agenda-nav>.back-link{min-width:auto;min-height:58px}.agenda-nav .brand>span:last-child{display:none}.agenda-nav>.back-link{font-size:0}.agenda-nav>.back-link span{font-size:1.1rem}.booking-steps{min-height:58px;gap:.4rem}.booking-step{gap:.35rem}.booking-step span{font-size:.64rem}.booking-steps>i{width:18px}.agenda-main{padding-top:1.75rem}}
@media(max-width:420px){.booking-step span{display:none}.booking-steps>i{width:30px}.booking-step b{width:1.85rem;height:1.85rem}.agenda-nav>.back-link{padding:.5rem}}

/* Responsive final: portada y flujo de agenda sin cortes ni desbordes. */
@media(max-width:1024px){
  .agenda-main{max-width:860px;padding-inline:clamp(1rem,3vw,2rem)}
  .calendar-picker{grid-template-columns:minmax(0,1fr) minmax(235px,.68fr)}
  .calendar-month{padding:1.75rem}
  .calendar-slots{padding:1.75rem 1rem}
  .calendar-grid{min-height:320px}
}

@media(max-width:840px){
  .agenda-copy{max-width:640px;margin-bottom:1.75rem}
  .agenda-copy h1{font-size:clamp(2.7rem,8vw,4.4rem)}
  .calendar-picker{display:block;min-height:0}
  .calendar-month{padding:1.6rem 1.4rem 1.8rem}
  .calendar-grid{min-height:0}
  .calendar-slots{min-height:0;padding:1.5rem 1.4rem 1.75rem}
  .slots-list{grid-template-columns:repeat(3,minmax(0,1fr))}
  .calendar-booking [data-calendar]{min-height:1120px}
  .calendar-booking iframe{height:1180px!important;min-height:1180px}
  .qualification-intro{grid-template-columns:1fr;gap:1rem;align-items:start}.booking-summary{display:flex;min-width:0;gap:.4rem;padding:0;border:0;text-align:left}.booking-summary span::after{content:" ·"}
}

@media(max-width:600px){
  .site-nav{padding-inline:1rem}
  .nav-note{font-size:.63rem;letter-spacing:.06em}
  .agenda-nav{display:grid;grid-template-columns:40px minmax(0,1fr) 40px;padding-inline:.75rem}
  .agenda-nav>.brand,.agenda-nav>.back-link{width:40px;min-height:58px}
  .agenda-nav>.back-link{justify-content:center}
  .booking-steps{min-width:0}
  .booking-step span{overflow:hidden;text-overflow:ellipsis}
  .agenda-main{padding:1.35rem .7rem 3rem}
  .agenda-copy{margin-bottom:1.2rem;padding-inline:.35rem}
  .agenda-copy .eyebrow{margin-bottom:.55rem}
  .agenda-copy h1{font-size:clamp(2.25rem,11vw,3.15rem);line-height:.98}
  .calendar-shell{border-radius:18px}
  .calendar-month{padding:1.2rem .65rem 1.35rem}
  .calendar-toolbar{align-items:center;padding:0 .25rem 1rem}
  .calendar-kicker{font-size:.59rem}
  .calendar-toolbar h2{font-size:1.45rem}
  .month-controls{gap:.35rem}
  .month-controls button{width:2.65rem;height:2.65rem}
  .calendar-weekdays{gap:.18rem;padding:1rem 0 .55rem;font-size:.59rem;letter-spacing:.04em}
  .calendar-grid{gap:.18rem}
  .calendar-day{min-width:0;border-radius:9px;font-size:.86rem}
  .calendar-day.has-slots::after{bottom:.2rem}
  .calendar-slots{padding:1.25rem .75rem 1.4rem}
  .slots-heading{padding-inline:.15rem}
  .slots-heading h3{font-size:1.2rem}
  .slots-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;padding:.1rem}
  .slot-button{min-height:3rem;border-radius:10px}
  .calendar-booking{padding:.55rem .35rem 1rem}
  .change-slot{min-height:44px;margin-left:.35rem;padding-inline:.15rem}
  .qualification-intro{margin:0 .15rem 1rem;padding:1.15rem 1rem;border-radius:14px}.qualification-intro h2{font-size:1.55rem}.qualification-intro p{font-size:.8rem;line-height:1.45}.booking-summary{flex-wrap:wrap}.booking-summary span,.booking-summary strong{font-size:.74rem}
  .calendar-booking [data-calendar]{min-height:1440px}
  .calendar-booking iframe{height:1500px!important;min-height:1500px}
  .agenda-help{margin-top:1rem;padding-inline:.6rem;font-size:.78rem}
}

@media(max-width:374px){
  .agenda-nav{grid-template-columns:36px minmax(0,1fr) 36px;padding-inline:.55rem}
  .agenda-nav>.brand,.agenda-nav>.back-link{width:36px}
  .booking-step span{display:none}
  .booking-steps>i{width:24px}
  .agenda-copy h1{font-size:2.15rem}
  .calendar-month{padding-inline:.5rem}
  .calendar-weekdays,.calendar-grid{gap:.1rem}
  .calendar-day{font-size:.8rem}
}

@media(prefers-reduced-motion:reduce){
  .calendar-day,.slot-button,.booking-step,.booking-step b{transition:none}
}
