.booking-section{padding:108px 0 104px}.booking-shell{grid-template-columns:minmax(0,.78fr) minmax(0,1.5fr);align-items:start;gap:28px;display:grid}.booking-ticket{color:#e8f0ea;isolation:isolate;background:#16221a;border:1px solid #2c3d31;border-radius:10px;padding:34px 34px 30px;position:sticky;top:120px;overflow:hidden}.booking-ticket:before{content:"";z-index:-1;background:radial-gradient(90% 60% at 100% 0,#33503b 0%,#0000 65%),radial-gradient(70% 50% at 0 100%,#22352a 0%,#0000 70%);position:absolute;inset:0}.ticket-top{letter-spacing:1.6px;color:#9db3a3;justify-content:space-between;gap:16px;font-size:11px;font-weight:600;display:flex}.ticket-date{flex-direction:column;margin:38px 0 32px;display:flex}.ticket-weekday{letter-spacing:.4px;color:#b8cabd;font-size:14px}.ticket-day{font-family:var(--font-display);letter-spacing:-.06em;color:#f3f7f4;margin:6px 0 8px;font-size:clamp(96px,9vw,140px);font-weight:500;line-height:.95}.ticket-month{color:#b8cabd;font-size:15px}.ticket-rows{border-top:1px solid #34483a;margin:0}.ticket-rows>div{border-bottom:1px solid #34483a;grid-template-columns:78px 1fr;gap:16px;padding:16px 0;display:grid}.ticket-rows dt{letter-spacing:1.4px;text-transform:uppercase;color:#8ea596;padding-top:3px;font-size:11px}.ticket-rows dd{color:#eef4ef;margin:0;font-size:15px;line-height:1.5}.ticket-rows small{color:#93aa9a;margin-top:2px;font-size:12px;line-height:1.5;display:block}.ticket-perks{gap:11px;margin:24px 0 0;padding:0;list-style:none;display:grid}.ticket-perks li{color:#c3d3c8;align-items:center;gap:10px;font-size:13px;display:flex}.ticket-perks svg{color:#8fb59b;flex-shrink:0}.booking-panel,.booking-success{background:#fafbfa;border:1px solid #d3dcd6;border-radius:10px;padding:38px 40px;box-shadow:0 40px 70px -50px #1b2d2166}.booking-step+.booking-step{border-top:1px solid #e0e6e2;margin-top:36px;padding-top:34px}.step-title{font-family:var(--font-display);letter-spacing:-.5px;color:#17231b;align-items:baseline;gap:14px;margin-bottom:20px;font-size:21px;font-weight:500;display:flex}.step-title span{letter-spacing:1.5px;color:#7d8a81;font-family:monospace;font-size:12px;font-weight:400}.step-hint{color:#6a786e;font-size:14px;line-height:1.7}.cal{max-width:400px}.cal-head{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.cal-month{font-family:var(--font-display);letter-spacing:-.3px;color:#1a201c;font-size:17px;font-weight:500}.cal-nav{gap:8px;display:flex}.cal-nav button{color:#25352a;background:0 0;border:1px solid #cbd6ce;border-radius:50%;place-items:center;width:36px;height:36px;transition:background .2s,border-color .2s;display:grid}.cal-nav button:hover:not(:disabled){background:#e4ebe6;border-color:#a9b9ae}.cal-nav button:disabled{opacity:.35;cursor:not-allowed}.cal-week,.cal-grid{grid-template-columns:repeat(7,1fr);gap:6px;display:grid}.cal-week span{text-align:center;letter-spacing:1px;color:#7d8a81;padding-bottom:6px;font-size:12px}.cal-day{aspect-ratio:1;color:#1a201c;background:0 0;border:1px solid #0000;border-radius:8px;font-size:15px;transition:background .2s,border-color .2s,color .2s,transform .2s;position:relative}.cal-day:hover:not(:disabled){background:#e4ebe6;border-color:#b5c4b9}.cal-day:disabled{color:#a6b1a9;cursor:not-allowed}.cal-day[aria-pressed=true]{color:#f1f6f2;background:#17231b;border-color:#17231b;transform:scale(1.04)}.cal-day[data-today]:after{content:"";background:#5f8069;border-radius:50%;width:4px;height:4px;position:absolute;bottom:6px;left:50%;transform:translate(-50%)}.cal-day[aria-pressed=true][data-today]:after{background:#a9c6b1}.cal-day:focus-visible,.cal-nav button:focus-visible{outline-offset:2px;outline:2px solid #17231b}.cal-note{color:#6a786e;margin-top:14px;font-size:12px;line-height:1.6}.cal-skeleton{background:linear-gradient(90deg,#eef2ef,#f6f8f6,#eef2ef) 0 0/200% 100%;border-radius:8px;max-width:400px;height:380px;animation:1.6s ease-in-out infinite cal-shimmer}@keyframes cal-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.slot-grid{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.topic-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.slot-grid label,.topic-grid label{color:#1f2b23;cursor:pointer;border:1px solid #cbd6ce;border-radius:8px;justify-content:center;align-items:center;height:46px;font-size:14px;transition:background .2s,border-color .2s,color .2s;display:flex}.slot-grid label:hover,.topic-grid label:hover{background:#e9efea;border-color:#a9b9ae}.slot-grid label[data-checked],.topic-grid label[data-checked]{color:#f1f6f2;background:#17231b;border-color:#17231b}.slot-grid input:focus-visible+label,.topic-grid input:focus-visible+label{outline-offset:2px;outline:2px solid #17231b}.topic-grid label{text-align:left;justify-content:flex-start;gap:12px;height:54px;padding:0 16px;line-height:1.3}.topic-grid label svg{color:#5f7a67;flex-shrink:0}.topic-grid label[data-checked] svg{color:#a9c6b1}.booking-fields{grid-template-columns:1fr 1fr;gap:22px 20px;display:grid}.booking-fields label{color:#4d5c52;font-size:13px;line-height:1.7;display:block}.booking-fields label>span{color:#5f8069}.booking-fields .span-2{grid-column:1/-1}.booking-panel input:not([type=radio]):not([type=checkbox]),.booking-panel textarea{width:100%;height:auto;box-shadow:none;color:#17231b;border:none;border-bottom:1px solid #b5c2b9;border-radius:0;margin-top:4px;padding:11px 0;font-size:16px;background:0 0!important}.booking-panel input::placeholder,.booking-panel textarea::placeholder{color:#8a978e;font-size:14px}.booking-panel input:focus-visible,.booking-panel textarea:focus-visible{border-bottom-color:#17231b;outline:none;box-shadow:0 1px #17231b}.booking-panel textarea{resize:vertical;min-height:88px;max-height:260px}.booking-panel .consent,.booking-panel .consent label{color:#4d5c52}.booking-panel .consent{margin-top:26px}.booking-panel .inline-link{color:#25352a}.booking-panel [data-slot=checkbox]{background:#fff;border-color:#7d8f83}.booking-panel [data-slot=checkbox][data-state=checked]{color:#fff;background:#17231b;border-color:#17231b}.booking-panel .form-error{margin-top:16px;color:#a12f1f!important}.booking-panel .form-footnote{color:#6a786e;margin-top:12px}.booking-submit{color:#f1f6f2;background:#17231b;border-radius:6px;justify-content:space-between;gap:14px;width:100%;height:54px;margin-top:22px;font-size:14px;font-weight:600;transition:background .25s,transform .25s;display:flex;padding:0 22px!important}.booking-submit:hover:not(:disabled){background:#2a4032;transform:translateY(-2px)}.booking-submit:disabled{cursor:progress;background:linear-gradient(100deg,#17231b 35%,#33503b 50%,#17231b 65%) 0 0/220% 100%;animation:1.7s ease-in-out infinite booking-submit-shimmer}@keyframes booking-submit-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.booking-success{flex-direction:column;justify-content:center;align-items:flex-start;min-height:520px;display:flex}.success-check{color:#17231b;border:1px solid #8fa899;border-radius:50%;place-items:center;width:58px;height:58px;margin-bottom:26px;display:grid}.booking-success h3{font-family:var(--font-display);letter-spacing:-1.2px;color:#17231b;font-size:38px;font-weight:500;line-height:1.15}.booking-success p{color:#55645a;max-width:460px;margin-top:16px;font-size:16px;line-height:1.75}.booking-success .success-when{color:#17231b;background:#fff;border:1px solid #d3dcd6;border-radius:8px;padding:14px 16px;font-weight:500}.success-actions{flex-wrap:wrap;gap:14px;margin-top:30px;display:flex}.booking-link,.booking-ghost{border-radius:6px;align-items:center;gap:12px;height:48px;padding:0 20px;font-size:14px;font-weight:500;display:inline-flex}.booking-link{color:#f1f6f2;background:#17231b}.booking-ghost{color:#17231b;background:0 0;border:1px solid #b5c4b9}@media (max-width:1100px){.booking-shell{grid-template-columns:1fr}.booking-ticket{padding:26px 26px 24px;position:static}.ticket-date{flex-flow:wrap;align-items:baseline;gap:6px 14px;margin:22px 0 20px}.ticket-day{margin:0;font-size:72px}}@media (max-width:900px){.booking-section{padding:78px 0 72px}}@media (max-width:640px){.booking-section{padding:65px 0 60px}.booking-panel,.booking-success{padding:26px 20px}.slot-grid{grid-template-columns:repeat(3,1fr)}.topic-grid,.booking-fields{grid-template-columns:1fr}.booking-fields .span-2{grid-column:auto}.ticket-top{flex-direction:column;gap:6px}.booking-success h3{font-size:31px}}.booking-success{isolation:isolate;animation:.5s cubic-bezier(.19,1,.22,1) both booking-success-in;position:relative;overflow:hidden}@keyframes booking-success-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.success-glow{opacity:.6;z-index:-1;pointer-events:none;background:radial-gradient(closest-side,#cfe3d5,#0000);border-radius:50%;width:320px;height:320px;position:absolute;top:-120px;right:-100px}.success-check{animation:.5s cubic-bezier(.34,1.56,.64,1) .15s both booking-check-pop}@keyframes booking-check-pop{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:scale(1)}}.success-steps{gap:12px;max-width:420px;margin:22px 0 0;padding:0;list-style:none;display:grid}.success-steps li{color:#4d5c52;align-items:flex-start;gap:12px;font-size:14px;line-height:1.6;display:flex}.success-steps li span{color:#f1f6f2;background:#17231b;border-radius:50%;flex-shrink:0;place-items:center;width:22px;height:22px;margin-top:1px;font-family:monospace;font-size:11px;display:grid}
