
:root{
  --bg:#0d0c10;--card:#15131a;--panel:#1c1922;--line:#302b38;
  --text:#f7f6f2;--muted:#aaa4b0;--purple:#8b4dff;--lime:#c9ff3d;
  --radius:26px
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:'Space Grotesk',Arial,sans-serif;min-height:100vh}
button,input,textarea{font:inherit}.page-glow{position:fixed;inset:-20%;pointer-events:none;background:radial-gradient(circle at 18% 20%,rgba(139,77,255,.18),transparent 28%),radial-gradient(circle at 82% 72%,rgba(201,255,61,.08),transparent 24%)}
.topbar{position:relative;z-index:2;max-width:1440px;margin:auto;padding:26px clamp(22px,5vw,70px);display:flex;align-items:center;justify-content:space-between}
.logo{color:#fff;text-decoration:none;font-size:24px;font-weight:900;letter-spacing:-.05em}.logo span{color:var(--lime);margin-left:4px}.back{color:var(--muted);text-decoration:none;font-size:13px}
.booking-shell{position:relative;z-index:1;max-width:1440px;margin:auto;padding:70px clamp(22px,5vw,70px) 100px;display:grid;grid-template-columns:.75fr 1.25fr;gap:clamp(40px,7vw,120px);align-items:start}
.kicker{font-size:11px;font-weight:800;letter-spacing:.16em;color:var(--lime)}h1{font-size:clamp(62px,7vw,116px);line-height:.88;letter-spacing:-.07em;margin:22px 0 30px}h1 em{font-family:Georgia,serif;font-weight:400;color:#cdb5ff} .intro-copy{max-width:540px;color:var(--muted);font-size:18px;line-height:1.65}
.booking-card{background:linear-gradient(180deg,rgba(28,25,34,.97),rgba(19,17,24,.97));border:1px solid var(--line);border-radius:var(--radius);padding:clamp(22px,3vw,42px);box-shadow:0 30px 80px rgba(0,0,0,.28)}
.steps{display:flex;align-items:center;margin-bottom:42px}.steps span{width:34px;height:34px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;color:var(--muted);font-size:12px;font-weight:800;transition:.25s}.steps span.active,.steps span.done{background:var(--lime);color:#111;border-color:var(--lime)}.steps i{height:1px;background:var(--line);flex:1}
.step{display:none}.step.active{display:block;animation:fade .35s ease}.step-head small{color:var(--muted);font-size:10px;letter-spacing:.14em;font-weight:700}.step-head h2{font-size:clamp(34px,4vw,56px);line-height:1;letter-spacing:-.05em;margin:10px 0 30px}
.type-grid,.location-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.choice{text-align:left;min-height:170px;background:#17141d;color:#fff;border:1px solid var(--line);border-radius:18px;padding:20px;cursor:pointer;position:relative;transition:.22s}.choice:hover{transform:translateY(-2px);border-color:#645a70}.choice.selected{border-color:var(--lime);box-shadow:inset 0 0 0 1px var(--lime);background:#1b1d18}.choice-icon{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#26212e;color:var(--lime);margin-bottom:25px}.choice strong{font-size:20px;display:block}.choice p{font-size:13px;color:var(--muted);line-height:1.5;margin:8px 0 20px}.choice small{color:var(--lime);font-weight:700}
.calendar-tools{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:20px}.calendar-tools button{width:38px;height:38px;background:#24202a;color:#fff;border:1px solid var(--line);border-radius:50%;cursor:pointer}.calendar-tools strong{font-size:14px}
.date-strip{display:grid;grid-template-columns:repeat(7,1fr);gap:7px;margin:18px 0 22px}.date-btn{background:#17141d;color:#fff;border:1px solid var(--line);border-radius:13px;padding:14px 4px;cursor:pointer}.date-btn small,.date-btn strong{display:block}.date-btn small{font-size:9px;color:var(--muted);text-transform:uppercase}.date-btn strong{font-size:18px;margin-top:5px}.date-btn.selected{background:var(--lime);color:#111;border-color:var(--lime)}.date-btn.selected small{color:#111}.date-btn:disabled{opacity:.3;cursor:not-allowed}
.slots{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;min-height:120px}.slot{border:1px solid var(--line);background:#17141d;color:#fff;border-radius:10px;padding:11px;cursor:pointer}.slot:hover,.slot.selected{border-color:var(--purple);background:#241b35}.muted{color:var(--muted);font-size:13px;grid-column:1/-1}
.nav-actions{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);margin-top:34px;padding-top:22px}.ghost-btn,.next-btn{border-radius:999px;padding:13px 18px;font-weight:800;cursor:pointer}.ghost-btn{background:transparent;color:var(--muted);border:0}.next-btn{background:var(--lime);color:#111;border:0}.next-btn:disabled,.ghost-btn:disabled{opacity:.3;cursor:not-allowed}.next-btn span{margin-left:12px}
.summary{background:#111015;border:1px solid var(--line);border-radius:14px;padding:16px;margin-bottom:22px;color:#ddd}.summary strong{color:var(--lime)}
form label{display:block;font-size:11px;font-weight:800;letter-spacing:.04em;margin-bottom:16px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:13px}input,textarea{width:100%;margin-top:8px;background:#111015;color:#fff;border:1px solid var(--line);border-radius:11px;padding:13px;outline:none}input:focus,textarea:focus{border-color:var(--purple)}.check{display:flex;gap:10px;align-items:flex-start;font-weight:400!important;color:var(--muted);line-height:1.4}.check input{width:17px;margin-top:1px}.submit-btn{width:100%;border:0;border-radius:999px;padding:15px 20px;background:var(--purple);color:#fff;font-weight:800;cursor:pointer;display:flex;justify-content:space-between}.hp{position:absolute;left:-9999px}.form-status{font-size:12px;color:#ff9a9a}
.success{display:none;text-align:center;padding:60px 20px}.success.show{display:block}.success-mark{width:64px;height:64px;border-radius:50%;background:var(--lime);color:#111;display:grid;place-items:center;margin:0 auto 25px;font-size:28px;font-weight:900}.success h2{font-size:56px;margin:12px 0}.success p{color:var(--muted);line-height:1.6;max-width:500px;margin:0 auto 25px}.success a{color:var(--lime)}
@keyframes fade{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}
@media(max-width:920px){.booking-shell{grid-template-columns:1fr;padding-top:30px}.intro{max-width:700px}.type-grid,.location-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.topbar{padding-top:18px}.back{font-size:11px}.booking-shell{padding-bottom:60px}.booking-card{border-radius:20px;padding:18px}.type-grid,.location-grid,.field-row{grid-template-columns:1fr}.choice{min-height:145px}.date-strip{grid-template-columns:repeat(4,1fr)}.date-btn:nth-child(n+5){display:none}.slots{grid-template-columns:repeat(3,1fr)}h1{font-size:68px}.step-head h2{font-size:40px}}

/* Integrated in GN Media 5.21 */
.booking-shell{padding-top:90px!important}.booking-shell .intro .kicker{color:var(--lime)}.booking-shell h1{font-family:'Space Grotesk',Arial,sans-serif}.booking-shell h1 em{font-family:'Caveat',cursive;font-style:normal;color:var(--purple-soft);font-weight:600}.booking-card{font-family:'Space Grotesk',Arial,sans-serif}.booking-card .next-btn{background:#C6FF00}.booking-card .submit-btn{background:#8B5CFF}.booking-card .choice.selected{border-color:#C6FF00}.booking-card .success a{color:#C6FF00}@media(max-width:900px){.booking-shell{padding-top:60px!important}}
