:root { --lime:#d4ff00; --ink:#10110f; --paper:#f4f4ee; --muted:#85877d; --line:#d8d8ce; }
.landing-card { display:flex; flex-direction:column; align-items:center; }
.landing-card .landing-brand { align-self:center; width:auto; max-width:none; margin:0 0 28px !important; color:var(--lime) !important; font-size:16px !important; text-align:center !important; }
.landing-card .landing-note { align-self:center; width:auto !important; max-width:none !important; margin:13px 0 0 !important; text-align:center !important; }
.landing-card .landing-note { display:block; width:100%; margin:13px auto 0 !important; text-align:center; }
/* Refined booking UI */
.coach-profile { display:flex; align-items:center; gap:12px; margin:0 0 27px; position:relative; z-index:1; }
.coach-avatar { width:52px; height:52px; flex:0 0 52px; border-radius:50%; display:grid; place-items:center; color:var(--ink); background:var(--lime); font-size:18px; font-weight:800; overflow:hidden; background-size:cover; background-position:center; }
.coach-avatar.has-image { color:transparent; }
.coach-label { color:var(--lime); font-size:9px; letter-spacing:.13em; font-weight:800; margin:0 0 4px; }.coach-name { font-size:28px; line-height:1; letter-spacing:-.06em; font-weight:800; margin:0; }.gym-name { color:#c1c3b8; font-size:14px; margin:5px 0 0; }
.hero .eyebrow { margin-bottom:24px; }
.coach-profile { margin-bottom:14px; }
.coach-avatar { width:86px; height:86px; flex-basis:86px; font-size:28px; }
.coach-name { font-size:42px; line-height:1.03; }
.gym-name { font-size:15px; }
.hero #coach-about { max-width:34rem; margin:0; color:#eef0e7; font-size:16px; line-height:1.5; }
.booking-intro { margin-top:34px; padding-top:22px; border-top:1px solid rgba(231,255,58,.28); }
.booking-kicker { color:var(--lime); font-size:10px; font-weight:800; letter-spacing:.14em; margin:0 0 7px; }
.hero.hero h1 { margin:0; font-size:clamp(25px,5vw,32px); line-height:1.04; letter-spacing:-.055em; }
.training-about { max-width:34rem; margin:10px 0 0; color:#c1c3b8; font-size:14px; line-height:1.5; }
.day-weekday { display:none; }
@media (max-width:560px) {
  .shell { padding-left:14px; padding-right:14px; }
  .days { gap:5px; }
  .day { padding-left:1px; padding-right:1px; }
  .day-context { display:none; }
  .day-weekday { display:inline; }
}
.hero h1 { font-size:clamp(29px,7vw,42px); line-height:.98; letter-spacing:-.06em; margin-top:4px; }.days .day,.slots .slot,.step { border-radius:999px; }.days .day { min-height:58px; }.slots .slot { min-height:54px; }.slots .slot.recommended { background:rgb(212 255 0 / 10%); }
input,textarea { border-radius:8px; }.comment-label { grid-template-columns:auto 1fr; align-items:baseline; column-gap:6px; }.comment-label textarea { grid-column:1 / -1; }.comment-label .optional { color:var(--muted); font-weight:500; }
.details button[type=submit] { min-height:66px; border-radius:999px; display:flex; align-items:center; justify-content:center; gap:11px; text-align:center; }.form-message { min-height:0; margin:0; }.form-message:empty { display:none; }.form-message:not(:empty) { min-height:18px; }
/* Booking-state overrides */
.slot { transition:background .16s,border-color .16s,color .16s; }
.slot.selected { background:var(--ink); border-color:var(--ink); color:white; }
.slot.past { color:#a5a69f; background:#f6f6f1; text-decoration:line-through; }
* { box-sizing:border-box; } body { margin:0; background:var(--paper); color:var(--ink); font-family:Manrope,Arial,sans-serif; }.landing-brand{margin:0 0 28px;color:var(--lime);letter-spacing:.13em;font-size:10px;font-weight:800}.landing-note{width:100%;margin:13px 0 0!important;color:#92948b!important;font-size:12px!important;text-align:center}
.success-screen{margin-top:0;background:var(--ink);color:#fff;border-radius:28px;padding:48px 28px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;position:relative}.success-screen:after{content:"";width:240px;height:240px;border:36px solid var(--lime);border-radius:50%;opacity:.9;position:absolute;right:-140px;top:-145px}.success-screen>*{position:relative;z-index:1}.success-screen.hidden{display:none}.success-icon{display:grid;place-items:center;width:62px;height:62px;margin:0 0 27px;border-radius:50%;background:var(--lime);color:var(--ink);font-size:34px;font-weight:800;line-height:1}.success-screen .eyebrow{margin:0 0 17px}.success-screen h1{margin:0;font-size:clamp(40px,10vw,62px);line-height:.96;letter-spacing:-.07em}.success-screen p:not(.eyebrow){max-width:420px;margin:24px auto 32px;color:#c1c3b8;font-size:15px;line-height:1.6}.success-cta{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:62px;padding:14px 28px;border:0;border-radius:999px;background:var(--lime);color:var(--ink);font:800 15px Manrope;cursor:pointer}.success-cta span{font-size:22px;line-height:1}
.shell { max-width:760px; margin:auto; padding:10px 20px 56px; }.hero { background:var(--ink); color:white; border-radius:28px; padding:38px 28px 34px; overflow:hidden; position:relative; }.hero:after { content:""; width:220px; height:220px; border:34px solid var(--lime); border-radius:50%; opacity:.9; position:absolute; right:-115px; top:-105px; }.eyebrow,.label { letter-spacing:.13em; font-size:10px; font-weight:800; }.eyebrow { color:var(--lime); margin:0 0 17px; }.hero h1 { font-size:clamp(40px,10vw,68px); letter-spacing:-.07em; line-height:.92; margin:0; position:relative; z-index:1; }.hero em { color:var(--lime); font-style:normal; }.intro { color:#c1c3b8; line-height:1.55; max-width:380px; margin:24px 0 0; font-size:14px; }.booking-card,.details { background:white; border-radius:25px; padding:27px 22px; margin-top:16px; box-shadow:0 12px 30px #3033260b; }.section-heading { display:flex; gap:14px; align-items:flex-start; }.step { display:grid; place-items:center; flex:0 0 30px; width:30px; height:30px; border-radius:50%; background:var(--lime); font-size:11px; font-weight:800; }.label { color:var(--muted); margin:2px 0 4px; }.section-heading h2 { font-size:21px; letter-spacing:-.055em; margin:0; }.days { display:grid; grid-template-columns:repeat(7,1fr); gap:7px; margin:23px 0 32px; }.day { appearance:none; border:1px solid var(--line); background:white; border-radius:13px; padding:9px 3px; color:var(--ink); font:inherit; cursor:pointer; }.day small,.day strong { display:block; }.day small { color:var(--muted); font-size:10px; text-transform:uppercase; }.day strong { font-size:16px; margin-top:3px; }.day.selected { background:var(--ink); color:white; border-color:var(--ink); }.day.selected small { color:var(--lime); }.slots-heading { margin-top:3px; }.legend { color:var(--muted); font-size:11px; margin:16px 0 10px; }.legend span { width:9px; height:9px; background:var(--lime); display:inline-block; border-radius:50%; }.slots { display:grid; grid-template-columns:repeat(3,1fr); gap:9px; }.slot { min-height:52px; border:1px solid var(--line); background:white; border-radius:12px; font:700 14px Manrope; cursor:pointer; }.slot.recommended { border:2px solid var(--lime); box-shadow:inset 0 0 0 1px #f3ffc3; }.slot:disabled { color:#a5a69f; background:#f6f6f1; text-decoration:line-through; cursor:not-allowed; }.hidden { display:none; }.chosen-slot { margin:20px 0; background:#f3ffd0; padding:13px 15px; border-radius:12px; font-size:13px; font-weight:700; } form { display:grid; gap:15px; } label { display:grid; gap:7px; font-size:12px; font-weight:800; } label span { color:var(--muted); font-weight:500; } input,textarea { width:100%; border:1px solid var(--line); border-radius:11px; padding:13px; font:14px Manrope; color:var(--ink); outline:none; } textarea { min-height:80px; resize:vertical; } input:focus,textarea:focus { border-color:var(--ink); } button[type=submit] { border:0; background:var(--lime); padding:16px 18px; border-radius:13px; text-align:left; cursor:pointer; font:800 14px Manrope; margin-top:4px; } button[type=submit] span { float:right; font-size:21px; line-height:12px; } button[type=submit]:disabled { opacity:.55; cursor:wait; }.form-message { margin:0; min-height:18px; color:#b3261e; font-size:12px; font-weight:700; }.form-message.success { color:#367400; } footer { text-align:center; color:#7e8077; padding:0 0 28px; font-size:11px; font-weight:800; letter-spacing:.08em; } footer span { color:var(--lime); padding:0 6px; } .landing-shell{min-height:100vh;max-width:760px;margin:auto;padding:10px 20px 28px;display:grid;place-items:center}.landing-card{width:100%;background:var(--ink);color:#fff;border-radius:28px;padding:48px 28px;text-align:center;position:relative;overflow:hidden}.landing-card:after{content:"";width:240px;height:240px;border:36px solid var(--lime);border-radius:50%;opacity:.9;position:absolute;right:-140px;top:-145px}.landing-card>*{position:relative;z-index:1}.landing-card .eyebrow{margin-bottom:28px}.landing-card h1{margin:0;font-size:clamp(34px,8vw,57px);line-height:.98;letter-spacing:-.065em}.landing-card p{max-width:430px;margin:24px auto 30px;color:#c1c3b8;font-size:16px;line-height:1.55}.landing-card .landing-brand{margin:0 0 28px;color:var(--lime);letter-spacing:.13em;font-size:10px;font-weight:800}.landing-card .landing-note{width:100%;margin:13px 0 0!important;color:#92948b!important;font-size:12px!important;text-align:center}.landing-cta{display:inline-flex;align-items:center;gap:12px;justify-content:center;min-height:62px;padding:14px 28px;border-radius:999px;background:var(--lime);color:var(--ink);font-size:15px;font-weight:800;text-decoration:none}.landing-cta span{font-size:22px;line-height:1}@media (min-width:650px) { .shell{padding-top:18px}.hero{padding:52px}.booking-card,.details{padding:34px}.days{gap:10px}.slots{grid-template-columns:repeat(4,1fr)}.landing-card{padding:70px 60px} }
