/* Lift website booking: the Lift app's dark look (mobile/src/theme/tokens.ts + typography.ts). Inter for text, Georgia
   (Gelasio where there is no Georgia) for headings, gold eyebrows and buttons.
   Everything is scoped to .lift-booking / .lift-thanks / .lb-page so it can sit inside a WordPress page without fighting the theme.
   Contrast (WCAG AA): text 4.5:1 or more, control edges (#6E695A) 3:1 or more on every surface used here. */
.lb-page,.lift-booking,.lift-thanks{
 --lb-bg:#050505;--lb-input:#0B0B0A;--lb-surface:#111110;--lb-raised:#181714;--lb-ink:#F7F6F1;--lb-muted:#B9B6AE;--lb-line:#302D25;
 --lb-edge:#6E695A;--lb-gold:#CAA24D;--lb-gold-soft:#E1C46F;--lb-btn:#D5B45E;--lb-btn-ink:#17150F;--lb-outline-ink:#DBC59C;--lb-outline-line:#8F793E;
 --lb-picked-line:#E1C46F;--lb-few:#D8BC72;--lb-danger:#E8AAA0;--lb-danger-fill:#2A1916;--lb-danger-line:#755149;--lb-notice:#221E13;
 /* Every other colour the pages use, so site-skin.css can map them all to the website's tokens (dark here, paper there). */
 --lb-note-ink:#E1D8C0;--lb-closed-ink:#7D786B;--lb-open-fill:#1C1A15;--lb-dash:#4A4435;--lb-placeholder:#929088;--lb-btn-fill:#181815;
 --lb-chip-line:#544A32;--lb-chip-fill:#1A1812;--lb-ticket-line:#72603B;--lb-ticket-fill:linear-gradient(160deg,#211D14 0%,#151410 55%,#111110 100%);
 --lb-ticket-glow:0 18px 40px -24px rgba(202,162,77,.45);--lb-option-fill:#111110;--lb-option-ink:#F7F6F1;--lb-heading-gold:#D6BC82;--lb-rail-end:#3A3326;
 --lb-select-arrow:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%23E1C46F' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
 --lb-sans:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
 --lb-serif:Georgia,Gelasio,"Times New Roman",serif}
.lb-page{margin:0;min-height:100vh;background:var(--lb-bg) radial-gradient(120% 420px at 50% -120px,rgba(202,162,77,.16),rgba(202,162,77,0) 70%) no-repeat;color:var(--lb-ink);font:400 16px/1.55 var(--lb-sans);-webkit-text-size-adjust:100%}
.lb-page *,.lift-booking *,.lift-thanks *{box-sizing:border-box}
.lb-page main{max-width:640px;margin:0 auto;padding:24px 16px 48px}
.lb-page a{color:var(--lb-ink);text-underline-offset:3px}
.lb-page :focus-visible,.lift-booking :focus-visible,.lift-thanks :focus-visible{outline:2px solid var(--lb-gold-soft);outline-offset:3px}
.lb-back{display:inline-flex;align-items:center;min-height:44px;color:var(--lb-muted)!important;font-size:14px}
.lb-logo{width:56px;height:56px;border-radius:14px;display:block;margin:16px 0 0;border:1px solid var(--lb-line)}
.lb-eyebrow{margin:24px 0 0;font:800 12px/16px var(--lb-sans);letter-spacing:1.56px;text-transform:uppercase;color:var(--lb-gold)}
.lb-page h1,.lb-title{font:400 clamp(36px,9vw,52px)/1.06 var(--lb-serif);letter-spacing:-1px;color:var(--lb-ink);margin:10px 0 14px}
.lb-lede{margin:0 0 24px;font-size:18px;line-height:1.5;color:var(--lb-muted)}
.lb-title:focus{outline:none}
.lb-intro{color:var(--lb-muted);font-size:17px}
.lb-intro p{margin:0 0 10px}
.lb-points{margin:4px 0 10px;padding:0;list-style:none;color:var(--lb-ink);font-size:15px}
.lb-points li{padding:4px 0 4px 22px;position:relative}
.lb-points li::before{content:"";position:absolute;left:4px;top:13px;width:8px;height:8px;background:var(--lb-gold);transform:rotate(45deg)}
.lb-foot{margin-top:40px;padding-top:16px;border-top:1px solid var(--lb-line);font-size:13px;color:var(--lb-muted)}

/* ---------------------------------------------------------------- the booking widget */
.lift-booking{color:var(--lb-ink);background:var(--lb-bg);font:400 16px/1.55 var(--lb-sans);margin-top:28px;padding:20px;border-radius:16px}
.lb-page .lift-booking{padding:0;border-radius:0;background:transparent}
.lift-booking [hidden],.lift-thanks [hidden]{display:none!important}
/* :where() keeps this at the lowest weight so .lb-btn, .lb-day and the rest set their own type. */
.lift-booking :where(button,input,textarea){font:inherit;color:inherit}
.lb-step{border:0;margin:0 0 32px;padding:0;min-width:0}
.lb-step legend{font:400 24px/1.25 var(--lb-serif);color:var(--lb-ink);padding:0;margin-bottom:8px;display:flex;align-items:center;gap:12px}
.lb-num{display:inline-grid;place-items:center;flex:none;width:30px;height:30px;border-radius:50%;border:1px solid var(--lb-gold);color:var(--lb-gold-soft);font:700 14px/1 var(--lb-sans)}
.lb-hint,.lb-ref{color:var(--lb-muted);font-size:14px;margin:0 0 16px}
.lb-dayname{margin:20px 0 4px;font:400 20px/1.3 var(--lb-serif);color:var(--lb-ink)}

/* "Next available" shortcut */
/* .lift-booking prefix: wins over the shared .lb-btn rules further down. */
.lift-booking .lb-next{display:block;width:100%;margin:0 0 14px;padding:12px 16px;background:var(--lb-notice);border-color:var(--lb-outline-line);color:var(--lb-note-ink)!important;text-align:left;font-weight:600}
.lb-next-label{color:var(--lb-gold-soft);font-weight:800;margin-right:4px}
.lift-booking .lb-next:hover{border-color:var(--lb-gold-soft)}

/* Month calendar: Monday first; days with times are gold-marked buttons, the rest muted and disabled. */
.lb-cal{background:var(--lb-surface);border:1px solid var(--lb-line);border-radius:16px;padding:14px 12px 10px;margin:0 0 4px}
.lb-cal-head{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;margin:0 0 6px}
.lb-cal-month{grid-column:2;margin:0;text-align:center;font:400 20px/1.3 var(--lb-serif);color:var(--lb-ink)}
.lb-cal-nav{width:44px;height:44px;border-radius:50%;border:1px solid var(--lb-edge);background:var(--lb-raised);color:var(--lb-ink);cursor:pointer;display:grid;place-items:center;padding:0}
.lb-cal-nav svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.lb-cal-prev{grid-column:1;grid-row:1}
.lb-cal-next{grid-column:3;grid-row:1}
.lb-cal-nav:hover{border-color:var(--lb-gold-soft)}
.lb-cal-grid{width:100%;border-collapse:separate;border-spacing:2px;table-layout:fixed}
.lb-cal-grid th{padding:6px 0;font:700 11px/1 var(--lb-sans);letter-spacing:1px;text-transform:uppercase;color:var(--lb-muted);text-align:center}
.lb-cal-grid td{padding:0;text-align:center}
.lb-cal-day{position:relative;width:100%;max-width:52px;aspect-ratio:1/1;min-height:44px;margin:0 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;
 border:1px solid transparent;border-radius:12px;background:transparent;color:var(--lb-closed-ink);font:500 15px/1 var(--lb-sans);padding:0}
.lb-cal-day:disabled{cursor:default}
.lb-cal-day.is-open{background:var(--lb-open-fill);border-color:var(--lb-edge);color:var(--lb-ink);font-weight:700;cursor:pointer}
.lb-cal-day.is-open:hover{border-color:var(--lb-gold-soft)}
.lb-cal-dot{position:absolute;bottom:6px;width:5px;height:5px;border-radius:50%;background:var(--lb-gold)}
.lb-cal-day.is-today{box-shadow:inset 0 0 0 1px var(--lb-gold-soft)}
.lb-cal-day.is-today::before{content:"";position:absolute;top:5px;width:14px;height:2px;border-radius:2px;background:var(--lb-gold-soft)}
.lb-cal-day.is-selected{background:var(--lb-btn);border-color:var(--lb-btn);color:var(--lb-btn-ink);box-shadow:none}
.lb-cal-day.is-selected .lb-cal-dot,.lb-cal-day.is-selected::before{background:var(--lb-btn-ink)}
.lb-cal-key{display:flex;align-items:center;gap:8px;margin:8px 4px 2px;font-size:13px;color:var(--lb-muted)}
.lb-cal-key-dot{width:6px;height:6px;border-radius:50%;background:var(--lb-gold);flex:none}

/* Times, under Morning / Afternoon / Evening */
.lb-period{margin-top:14px}
.lb-period-name{margin:0 0 8px;font:800 12px/16px var(--lb-sans);letter-spacing:1.56px;text-transform:uppercase;color:var(--lb-muted)}
.lb-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px}
.lb-grid-tight{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px}
.lb-time{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;border:1px solid var(--lb-edge);background:var(--lb-surface);
 border-radius:12px;padding:12px 14px;min-height:56px;cursor:pointer}
.lb-grid-tight .lb-time{align-items:center;justify-content:center;min-height:48px;padding:10px 8px;border-radius:8px}
/* The real radio button sits under the card (still focusable, still read out); the card shows the focus and the choice. */
.lb-time input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.lb-time:focus-within{outline:2px solid var(--lb-gold-soft);outline-offset:3px}
.lb-time strong{font:700 16px/1.3 var(--lb-sans)}
.lb-grid-tight .lb-time strong{font-size:15px}
.lb-time span{font-size:13px;color:var(--lb-muted)}
.lb-time em{font-style:normal;font-size:12px;font-weight:700;color:var(--lb-few)}
.lb-time:hover{border-color:var(--lb-gold-soft)}
/* Chosen: thicker gold edge, raised fill and a tick (not colour alone). */
.lb-time.is-picked{border:2px solid var(--lb-picked-line);padding:11px 13px;background:var(--lb-raised)}
.lb-grid-tight .lb-time.is-picked{padding:9px 7px}
.lb-time.is-picked::after{content:"✓";position:absolute;top:6px;right:9px;font:700 13px/1 var(--lb-sans);color:var(--lb-gold-soft)}
.lb-grid-tight .lb-time.is-picked::after{top:4px;right:6px}

.lb-link{background:none;border:0;padding:12px 0;min-height:44px;text-decoration:underline;text-underline-offset:3px;cursor:pointer;color:var(--lb-ink);font-weight:500}
.lb-link:hover{color:var(--lb-gold-soft)}
.lb-empty{background:var(--lb-surface);border:1px dashed var(--lb-dash);border-radius:12px;padding:14px;color:var(--lb-muted)}
.lb-chosen{font-weight:600;margin:0 0 8px;padding:12px 14px;border-radius:12px;background:var(--lb-notice);color:var(--lb-note-ink)}
.lb-chosen:empty{display:none}

/* Fields */
.lb-field{display:grid;gap:8px;margin:18px 0}
.lb-field label{font:500 14px/20px var(--lb-sans);color:var(--lb-ink)}
.lb-field input,.lb-field textarea{width:100%;min-height:49px;padding:11px 13px;border:1px solid var(--lb-edge);border-radius:8px;background:var(--lb-input);color:var(--lb-ink);font-size:16px}
.lb-field textarea{resize:vertical}
.lb-field input::placeholder,.lb-field textarea::placeholder{color:var(--lb-placeholder);opacity:1}
.lb-field input:focus-visible,.lb-field textarea:focus-visible{outline:2px solid var(--lb-gold-soft);outline-offset:2px;border-color:var(--lb-gold-soft)}
/* The quick questions (SQL970): optional tap answers, big targets, wrap on a phone. */
.lb-qs{margin:26px 0 8px;padding:18px 16px 6px;border:1px solid var(--lb-line);border-radius:16px;background:var(--lb-surface)}
.lb-qs-title{margin:0 0 2px;font:400 20px/1.3 var(--lb-serif);color:var(--lb-ink)}
.lb-qs-title span{font:400 14px/1.4 var(--lb-sans);color:var(--lb-muted)}
.lb-qs .lb-hint{margin:0 0 6px}
.lb-q{border:0;margin:14px 0 0;padding:0;min-width:0}
.lb-q legend{padding:0;margin:0 0 8px;font:500 15px/1.4 var(--lb-sans);color:var(--lb-ink)}
.lb-qs .lb-field.lb-q{margin:14px 0 0;gap:8px}
.lb-qs .lb-field.lb-q label{font:500 15px/1.4 var(--lb-sans)}
.lb-qs select{width:100%;min-height:49px;padding:11px 40px 11px 13px;border:1px solid var(--lb-edge);border-radius:8px;color:var(--lb-ink);font:400 16px/1.3 var(--lb-sans);
 appearance:none;-webkit-appearance:none;cursor:pointer;
 background:var(--lb-input) no-repeat right 14px center/12px 8px var(--lb-select-arrow)}
.lb-qs select:focus-visible{outline:2px solid var(--lb-gold-soft);outline-offset:2px;border-color:var(--lb-gold-soft)}
.lb-qs select option{background:var(--lb-option-fill);color:var(--lb-option-ink)}
.lb-chips{display:flex;flex-wrap:wrap;gap:8px}
.lb-chip{position:relative;display:inline-flex;align-items:center;min-height:44px;padding:9px 14px;border:1px solid var(--lb-edge);border-radius:999px;background:var(--lb-input);
 color:var(--lb-ink);font:500 15px/1.3 var(--lb-sans);cursor:pointer}
.lb-chip input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.lb-chip:hover{border-color:var(--lb-gold-soft)}
.lb-chip:focus-within{outline:2px solid var(--lb-gold-soft);outline-offset:2px}
.lb-chip.is-picked{border:2px solid var(--lb-picked-line);padding:8px 13px;background:var(--lb-raised);color:var(--lb-gold-soft);font-weight:700}
.lb-chip.is-picked::before{content:"✓";margin-right:6px;font-weight:700}
.lb-qs .lb-note{margin:12px 0 4px}
.lb-check{display:flex;align-items:flex-start;gap:12px;margin:18px 0 4px;color:var(--lb-ink);font-size:15px}
.lb-check input{width:22px;height:22px;margin-top:2px;flex:none;accent-color:var(--lb-btn)}
.lb-check[hidden]{display:none}
.lb-privacy{margin:0 0 4px 34px;font-size:14px}
.lb-privacy a,.lift-booking .lb-panel a:not(.lb-btn){color:var(--lb-gold-soft)}
/* A field with a problem: a red outline as well as the message under it (never colour alone). */
.lift-booking [aria-invalid="true"]{border-color:var(--lb-danger);outline:2px solid var(--lb-danger);outline-offset:1px}
.lift-booking .lb-field [aria-invalid="true"]:focus-visible{border-color:var(--lb-danger)}
.lb-warn{background:var(--lb-danger-fill);border:1px solid var(--lb-danger-line);border-radius:12px;padding:12px 14px;color:var(--lb-ink)}
.lb-warn p{margin:0 0 8px}
.lb-err{display:block;color:var(--lb-danger);font-size:14px}
.lb-err:empty{display:none}
.lb-hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.lb-turnstile{margin:18px 0 0}
.lb-result{min-height:1.5em;white-space:pre-line;margin:16px 0 8px}
.lb-result:not(:empty){color:var(--lb-ink)}

/* Buttons (shared with the thank-you pages) */
.lb-btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:11px 18px;border-radius:8px;border:1px solid var(--lb-outline-line);
 background:var(--lb-btn-fill);color:var(--lb-outline-ink)!important;font:700 15px/1.3 var(--lb-sans);text-decoration:none;cursor:pointer;text-align:center}
.lb-btn:hover{border-color:var(--lb-gold-soft)}
.lb-primary{width:100%;background:var(--lb-btn);border-color:var(--lb-btn);color:var(--lb-btn-ink)!important}
.lb-primary:hover{background:var(--lb-gold-soft);border-color:var(--lb-gold-soft)}
.lb-primary:disabled{opacity:.55;cursor:not-allowed}
.lb-panel{background:var(--lb-surface);border-radius:16px;padding:24px 20px;border:1px solid var(--lb-line)}
.lb-panel:focus{outline:none}
.lb-panel h2{font:400 28px/1.2 var(--lb-serif);margin:0 0 12px;color:var(--lb-ink)}
.lb-panel p{margin:0 0 12px}
.lb-big{font:400 22px/1.35 var(--lb-serif)}
/* The free-week page without a code: the free first session instead, or a call (C30). */
.lb-panel-actions{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0 0}
.lb-panel-actions .lb-btn{flex:1 1 220px;width:auto}
/* Icons drawn like the website's (24px grid, 1.75 stroke, round ends, the text colour). */
.lb-icon{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.lb-parents{margin:12px 0 0;color:var(--lb-muted);font-size:15px}
.lb-status{color:var(--lb-muted)}

/* ---------------------------------------------------------------- thank-you pages */
.lift-thanks{color:var(--lb-ink);font:400 16px/1.55 var(--lb-sans)}
.lb-hero .lb-eyebrow{display:inline-flex;align-items:center;gap:8px}
.lb-hero .lb-eyebrow::before{content:"";width:18px;height:18px;border-radius:50%;background:var(--lb-gold) no-repeat center/12px 12px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 6.2l2.3 2.3 4.7-5' fill='none' stroke='%2317150F' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
/* The session as a ticket: gold edge, notches, big time. */
.lb-ticket{position:relative;margin:4px 0 20px;padding:20px 20px 16px;border-radius:18px;border:1px solid var(--lb-ticket-line);
 background:var(--lb-ticket-fill);box-shadow:var(--lb-ticket-glow)}
.lb-ticket::before,.lb-ticket::after{content:"";position:absolute;top:calc(100% - 52px);width:18px;height:18px;border-radius:50%;background:var(--lb-bg);border:1px solid var(--lb-ticket-line)}
.lb-ticket::before{left:-10px;clip-path:inset(0 0 0 50%)}
.lb-ticket::after{right:-10px;clip-path:inset(0 50% 0 0)}
.lb-ticket-top{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;margin:0 0 10px}
.lb-ticket-label{margin:0;font:800 12px/16px var(--lb-sans);letter-spacing:1.56px;text-transform:uppercase;color:var(--lb-gold)}
.lb-countdown{margin:0;padding:4px 10px;border-radius:999px;background:var(--lb-notice);border:1px solid var(--lb-chip-line);color:var(--lb-note-ink);font:600 13px/1.4 var(--lb-sans)}
.lb-ticket-day{margin:0;font:400 24px/1.25 var(--lb-serif);color:var(--lb-ink)}
.lb-ticket-rel{display:block;margin:0 0 2px;font:700 15px/1.3 var(--lb-sans);color:var(--lb-gold-soft)}
.lb-ticket-time{margin:2px 0 14px;font:800 clamp(40px,12vw,56px)/1.05 var(--lb-sans);letter-spacing:-1.5px;color:var(--lb-ink)}
.lb-ticket-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px 16px;margin:0 0 14px}
.lb-ticket-facts div{min-width:0}
.lb-ticket-facts dt{font:700 11px/1.4 var(--lb-sans);letter-spacing:1px;text-transform:uppercase;color:var(--lb-muted)}
.lb-ticket-facts dd{margin:2px 0 0;font:600 15px/1.35 var(--lb-sans);color:var(--lb-ink)}
.lb-ticket-foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 16px;margin:0;padding-top:12px;border-top:1px dashed var(--lb-dash);font-size:13px;color:var(--lb-muted)}
.lb-ticket-foot strong{color:var(--lb-ink);letter-spacing:.5px}
.lb-week{background:var(--lb-notice);color:var(--lb-note-ink);border-radius:12px;padding:12px 14px;margin:0 0 20px}
.lb-actions{display:grid;gap:10px;margin:0 0 20px}
.lb-actions .lb-btn{width:100%}
.lb-trust{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:0 0 8px}
.lb-trust li{padding:5px 12px;border-radius:999px;border:1px solid var(--lb-chip-line);background:var(--lb-chip-fill);color:var(--lb-note-ink);font-size:13px;font-weight:600}
.lb-section{border-top:1px solid var(--lb-line);padding-top:22px;margin-top:26px}
.lb-section h2{font:400 24px/1.25 var(--lb-serif);margin:0 0 12px;color:var(--lb-ink)}
.lb-section p{margin:0 0 12px}
/* What happens next: numbered steps on a gold line. */
.lb-timeline{list-style:none;counter-reset:lbstep;margin:0;padding:0}
.lb-step-item{position:relative;counter-increment:lbstep;padding:0 0 18px 48px}
.lb-step-item::before{content:counter(lbstep);position:absolute;left:0;top:0;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;
 background:var(--lb-raised);border:1px solid var(--lb-gold);color:var(--lb-gold-soft);font:700 14px/1 var(--lb-sans)}
.lb-step-item:not(:last-child)::after{content:"";position:absolute;left:15.5px;top:36px;bottom:4px;width:1px;background:linear-gradient(var(--lb-gold),var(--lb-rail-end))}
.lb-step-title{margin:4px 0 4px!important;font:700 17px/1.35 var(--lb-sans);color:var(--lb-ink)}
.lb-step-body p{margin:0 0 6px;color:var(--lb-muted)}
.lb-step-body strong{color:var(--lb-ink)}
.lb-prompts{margin:4px 0 0;padding:0 0 0 18px;color:var(--lb-muted)}
.lb-prompts li{margin:0 0 4px}
.lb-checklist{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.lb-checklist li{position:relative;padding:12px 14px 12px 46px;border-radius:12px;background:var(--lb-surface);border:1px solid var(--lb-line);font-weight:500}
.lb-checklist li::before{content:"";position:absolute;left:14px;top:50%;margin-top:-10px;width:20px;height:20px;border-radius:6px;border:1.5px solid var(--lb-gold)}
.lb-checklist li::after{content:"";position:absolute;left:21px;top:50%;margin-top:-6px;width:5px;height:9px;border:solid var(--lb-gold-soft);border-width:0 2px 2px 0;transform:rotate(45deg)}
.lb-parking,.lb-playground{color:var(--lb-muted)}
/* Before you come: links on to the website (an arrow that moves 3px on hover, like the site's). */
.lb-onward{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:2px}
.lift-thanks .lb-arrow-link{display:inline-flex;align-items:center;gap:6px;min-height:44px;color:var(--lb-gold-soft);font-weight:700;text-decoration:none}
.lb-arrow-link span{text-decoration:underline;text-decoration-color:transparent;text-underline-offset:.2em}
.lb-arrow-link:hover span{text-decoration-color:currentColor}
.lb-arrow-link .lb-icon{transition:transform 140ms}
.lb-arrow-link:hover .lb-icon{transform:translateX(3px)}
@media (prefers-reduced-motion:reduce){.lb-arrow-link .lb-icon{transition:none}}
.lb-contact-actions{display:flex;flex-wrap:wrap;gap:10px}
.lb-contact-actions .lb-btn{flex:1 1 120px}
.lift-thanks .lb-ref strong{color:var(--lb-ink);letter-spacing:.5px}
.lift-thanks a:not(.lb-btn){color:var(--lb-gold-soft)}
.lb-reviews{margin-top:24px}
.lb-home{margin-top:32px}
.lb-home .lb-btn{width:100%}
.lb-ghost{background:transparent}

@media (min-width:560px){.lb-actions{grid-template-columns:1fr 1fr}.lb-actions .lb-primary:first-child{grid-column:1/-1}}
@media (max-width:420px){.lb-cal{padding:12px 6px 8px}.lb-cal-grid{border-spacing:1px}.lb-ticket{padding:18px 16px 14px}.lb-grid{grid-template-columns:1fr 1fr}.lb-grid-tight{grid-template-columns:repeat(3,1fr)}.lb-panel{padding:20px 16px}}
@media (prefers-reduced-motion:reduce){.lb-page *,.lift-booking *{scroll-behavior:auto!important}}

/* ---------------------------------------------------------------- the health check (health-check.html; SQL333): the app's pre-exercise form */
.lift-health{color:var(--lb-ink)}
.lift-health [hidden]{display:none!important}
.lift-health :where(button,input,textarea,select){font:inherit;color:inherit}
.hc-section{border-top:1px solid var(--lb-gold);padding-top:18px;margin-top:30px}
.hc-num{margin:0;font:700 12px/16px var(--lb-sans);letter-spacing:1.4px;color:var(--lb-gold)}
.hc-section h2{font:400 24px/28px var(--lb-serif);color:var(--lb-heading-gold);margin:4px 0 8px}
.hc-lead,.hc-privacy{color:var(--lb-muted);font-size:15px}
.hc-privacy{margin-top:16px;font-size:14px}
.lift-health .lb-field select{width:100%;min-height:49px;padding:11px 13px;border:1px solid var(--lb-edge);border-radius:8px;background:var(--lb-input);color:var(--lb-ink);font-size:16px}
.lift-health .lb-field select:focus-visible{outline:2px solid var(--lb-gold-soft);outline-offset:2px;border-color:var(--lb-gold-soft)}
.lift-health [aria-invalid="true"]{border-color:var(--lb-danger)!important}
.hc-dob{border:0;margin:18px 0;padding:0;min-width:0}
.hc-dob legend{font:600 16px/22px var(--lb-sans);padding:0;margin-bottom:4px}
.hc-dob-row{display:grid;grid-template-columns:1fr 1.8fr 1.2fr;gap:10px}
.hc-dob-row .lb-field{margin:0}
.hc-guardian,.hc-notice{background:var(--lb-notice);color:var(--lb-note-ink);border-radius:12px;padding:12px 14px;margin:12px 0 0;border:1px solid var(--lb-chip-line)}
.hc-notice{margin:24px 0 12px}
.hc-question{margin:20px 0}
.hc-q{margin:0 0 10px;font-weight:500}
.hc-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:10px}
.hc-tile{position:relative;display:block}
.hc-tile input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}
.hc-tile span{display:flex;align-items:center;justify-content:center;min-height:48px;border-radius:10px;border:1px solid var(--lb-edge);background:var(--lb-raised);font-weight:600}
.hc-tile input:checked+span{background:var(--lb-btn);border-color:var(--lb-btn);color:var(--lb-btn-ink)}
.hc-tile input:focus-visible+span{outline:2px solid var(--lb-gold-soft);outline-offset:3px}
.hc-question .lb-field{margin-top:12px}
.hc-link{margin:4px 0 0 34px;font-size:14px}
.hc-waiver{background:var(--lb-surface);border:1px solid var(--lb-line);border-radius:12px;padding:14px 16px;margin:12px 0;font-size:15px}
.hc-waiver h3{font:400 20px/1.3 var(--lb-serif);color:var(--lb-heading-gold);margin:0 0 8px}
.hc-waiver p{margin:0 0 8px}
.hc-point{padding-left:16px;position:relative}
.hc-point::before{content:"";position:absolute;left:2px;top:.65em;width:5px;height:5px;border-radius:50%;background:var(--lb-gold)}
.lift-health .lb-primary{margin-top:8px}

/* the thank-you page's health check card */
.lb-health-card{margin:24px 0 0;padding:18px 16px;border-radius:16px;background:var(--lb-notice);border:1px solid var(--lb-outline-line)}
.lb-health-card h2{font:400 24px/1.25 var(--lb-serif);margin:0 0 6px;color:var(--lb-ink)}
.lb-health-card p{margin:0 0 14px;color:var(--lb-note-ink)}
