body:has(.book-app){overflow-x:clip!important}.book-section{padding-top:calc(var(--ann-h,44px) + var(--nav-h,72px));color:var(--green);background:linear-gradient(150deg,#f0f2a8 0%,#dcdc6b 55%,#d2d465 100%);min-height:100vh}.book-inner{max-width:1240px;margin:0 auto;padding:4.5rem 3rem 5.5rem}.book-eyebrow{color:var(--orange);letter-spacing:.28em;text-transform:uppercase;margin-bottom:1rem;font-size:.78rem;font-weight:700}.book-inner h1{letter-spacing:-.045em;margin-bottom:1rem;font-size:clamp(3rem,6.5vw,5.4rem);font-weight:300;line-height:1}.book-lede{max-width:60ch;margin-bottom:2.2rem;font-size:1.05rem;line-height:1.7}.book-banner{background:var(--green-deep);color:var(--lime);border-radius:16px;margin-bottom:1rem;padding:.85rem 1.2rem;font-size:.92rem}.book-banner-warn{background:var(--orange);color:#fff}.book-layout{grid-template-columns:minmax(280px,360px) minmax(0,1fr);align-items:start;gap:1.4rem;display:grid}.book-card{background:var(--cream);border:1px solid #0d40371f;border-radius:28px;box-shadow:0 18px 44px #03191514}.book-side{top:calc(var(--nav-h,72px) + 1rem);position:sticky}.book-calendar{padding:1.4rem}.book-cal-head,.book-day-head{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.book-cal-head strong,.book-day-head strong{letter-spacing:-.01em;font-size:1.15rem;font-weight:600}.book-cal-head button,.book-day-head button{width:36px;height:36px;color:var(--green);cursor:pointer;background:0 0;border:1px solid #0d403733;border-radius:50%;font-size:1.2rem;line-height:1}.book-cal-head button:disabled,.book-day-head button:disabled{opacity:.3;cursor:default}.book-cal-grid{text-align:center;grid-template-columns:repeat(7,1fr);gap:.3rem;margin-top:1.1rem;display:grid}.book-cal-dow{letter-spacing:.12em;opacity:.55;padding-bottom:.3rem;font-size:.72rem;font-weight:700}.book-cal-day{aspect-ratio:1;color:var(--green);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:50%;font-size:.92rem}.book-cal-day:not(:disabled):hover{background:#0d403714}.book-cal-day:disabled{opacity:.28;cursor:default}.book-cal-day[aria-pressed=true]{background:var(--green-deep);color:var(--lime);font-weight:700}.book-cal-note{opacity:.7;margin-top:.9rem;font-size:.8rem}.book-extras{grid-template-columns:minmax(280px,360px) minmax(0,1fr);align-items:stretch;gap:1.4rem;margin-top:1.4rem;display:grid}.book-included{grid-column:-2/-1;align-self:center;padding:.4rem .4rem .4rem 1rem}.book-included:only-child{grid-column:1/-1}.book-member{background:var(--green-deep);border-color:var(--green-deep);color:var(--cream);flex-direction:column;gap:.55rem;padding:1.4rem;display:flex}.book-member-kicker{color:var(--lime);letter-spacing:.2em;text-transform:uppercase;font-size:.72rem;font-weight:700}.book-member h2{color:var(--cream);letter-spacing:-.02em;font-size:1.35rem;font-weight:400;line-height:1.15}.book-member p{opacity:.85;font-size:.86rem;line-height:1.55}.book-member .book-member-price{opacity:1;flex-wrap:wrap;align-items:baseline;gap:.35rem;display:flex}.book-member-price strong{color:var(--lime);font-size:1.6rem;font-weight:600}.book-member-price span{opacity:.7;margin-left:.4rem;font-size:.8rem}.book-member-link{background:var(--lime);color:var(--green-ink);letter-spacing:.12em;text-transform:uppercase;border-radius:999px;justify-content:center;margin-top:.3rem;padding:.85rem 1.2rem;font-size:.78rem;font-weight:700;text-decoration:none;display:inline-flex}.book-member .book-link{color:var(--cream);align-self:center}.book-choice{gap:.6rem;margin-top:.3rem;display:grid}.book-option{cursor:pointer;background:#fff;border:1.5px solid #0d40372e;border-radius:16px;grid-template-columns:auto 1fr auto;align-items:start;gap:.75rem;padding:.95rem 1rem;letter-spacing:0!important;text-transform:none!important;margin:0!important;font-size:.9rem!important;font-weight:400!important;display:grid!important}.book-option[data-selected]{border-color:var(--green-deep);box-shadow:0 0 0 1px var(--green-deep)}.book-option-member[data-selected]{background:#f7f8d9}.book-option input{accent-color:var(--green-deep);margin-top:.2rem}.book-option-body{gap:.2rem;line-height:1.45;display:grid}.book-option-body strong{font-size:.95rem;font-weight:700}.book-option-body em{white-space:nowrap;background:var(--orange);color:#fff;letter-spacing:.1em;text-transform:uppercase;vertical-align:1px;border-radius:999px;margin-left:.35rem;padding:.15rem .45rem;font-size:.62rem;font-style:normal;line-height:1.4;display:inline-block}.book-option-body small{opacity:.7;font-size:.75rem}.book-option-price{white-space:nowrap;font-weight:700}.book-option-price small{opacity:.7;font-size:.72rem;font-weight:400}.book-member-nudge{background:#e6e67b59;border-radius:14px;padding:.8rem 1rem;line-height:1.55;font-size:.85rem!important}.book-member-nudge a{color:var(--green-deep);white-space:nowrap;font-weight:700}.book-included h2{border-bottom:1px solid #0d403733;margin-bottom:.9rem;padding-bottom:.6rem;font-size:1.05rem;font-weight:500}.book-included ul{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1.2rem 1.6rem;list-style:none;display:grid}.book-included li{align-content:start;gap:.1rem;padding-left:1.3rem;font-size:.86rem;display:grid;position:relative}.book-included li:before{content:"✓";color:var(--orange);font-weight:700;position:absolute;left:0}.book-included span{opacity:.75}.book-day{flex-direction:column;min-width:0;padding:1.4rem;display:flex}.book-step{margin-top:1.1rem}.book-step-label,.book-period-label{letter-spacing:.16em;text-transform:uppercase;opacity:.7;margin-bottom:.5rem;font-size:.72rem;font-weight:700}.book-chips{flex-wrap:wrap;gap:.5rem;display:flex}.book-chip{min-height:44px;color:var(--green);font:inherit;cursor:pointer;background:0 0;border:1px solid #0d403740;border-radius:999px;padding:.55rem 1.1rem;font-size:.85rem;font-weight:600}.book-chip[aria-pressed=true]{border-color:var(--green-deep);background:var(--green-deep);color:var(--lime)}.book-legend{opacity:.75;font-size:.8rem}.book-legend-peak{background:var(--orange);vertical-align:0;border-radius:50%;width:8px;height:8px;margin-right:.3rem;display:inline-block}.book-period{margin-top:1.1rem}.book-times{grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:.5rem;display:grid}.book-time-chip{min-height:46px;color:var(--green);font:inherit;white-space:nowrap;cursor:pointer;background:#fff;border:1px solid #0d40372e;border-radius:12px;padding:.6rem .4rem;font-size:.88rem;font-weight:600;transition:background-color .12s;position:relative}.book-time-chip[data-peak]:after{content:"";background:var(--orange);border-radius:50%;width:6px;height:6px;position:absolute;top:6px;right:6px}.book-time-chip:hover{background:#e6e67b59}.book-time-chip[aria-pressed=true]{border-color:var(--green-deep);background:var(--green-deep);color:var(--lime)}.book-loading,.book-empty{margin-top:1.2rem;font-size:.92rem}.book-summary{z-index:2;background:var(--cream);border-top:1px solid #0d40371f;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.8rem 1.2rem;margin-top:1rem;padding:1rem 0;font-size:.92rem;display:flex;position:sticky;bottom:0}.book-warn{color:var(--orange);font-weight:600}.book-cta{background:var(--orange);color:#fff;font:inherit;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;border:none;border-radius:999px;justify-content:center;align-items:center;padding:.95rem 1.8rem;font-size:.8rem;font-weight:700;text-decoration:none;display:inline-flex}.book-cta:hover{background:#d64a1f}.book-cta:disabled{opacity:.45;cursor:not-allowed}.book-cta-link{margin-top:.5rem}.book-link{color:var(--green);font:inherit;text-underline-offset:.2em;cursor:pointer;background:0 0;border:none;align-self:flex-start;padding:0;font-size:.85rem;text-decoration:underline}.book-error{color:#a83612;background:#ea55261f;border-radius:12px;margin-top:1rem;padding:.8rem 1rem;font-size:.88rem}.book-error button{margin-top:.5rem}.book-drawer-backdrop{z-index:200;background:#061d188c;justify-content:flex-end;display:flex;position:fixed;inset:0}.book-drawer{background:var(--cream);width:min(460px,100%);height:100%;color:var(--green);padding:3rem 2rem 2rem;position:relative;overflow-y:auto;box-shadow:-20px 0 60px #03191533}.book-drawer-close{width:40px;height:40px;color:var(--green);cursor:pointer;background:#0d403714;border:none;border-radius:50%;font-size:1.5rem;line-height:1;position:absolute;top:1rem;right:1rem}.book-drawer-kicker{background:var(--lime);border-radius:14px;margin-bottom:1.4rem;padding:.7rem 1rem;font-size:.85rem;font-weight:600}.book-form{flex-direction:column;gap:.75rem;display:flex}.book-form h2{letter-spacing:-.03em;font-size:1.8rem;font-weight:400;line-height:1.1}.book-form p{font-size:.95rem;line-height:1.6}.book-form label{letter-spacing:.12em;text-transform:uppercase;margin-top:.4rem;font-size:.75rem;font-weight:700}.book-form input:not([type=checkbox]){color:var(--green-ink);font:inherit;background:#fff;border:1px solid #0d403740;border-radius:14px;padding:.9rem 1rem;font-size:1rem}.book-form input#book-code{letter-spacing:.4em;font-size:1.4rem}.book-form .book-cta{margin-top:.6rem}.book-lines{background:#fff;border-radius:16px;gap:.55rem;margin:.4rem 0;padding:1rem;font-size:.9rem;display:grid}.book-lines div{justify-content:space-between;gap:1rem;display:flex}.book-line-discount{color:var(--orange);font-weight:600}.book-line-total{border-top:1px solid #0d403724;margin-top:.3rem;padding-top:.6rem;font-size:1.05rem;font-weight:700}.book-promo{gap:.5rem;display:flex}.book-promo input{text-transform:uppercase;letter-spacing:.08em;flex:1;min-width:0}.book-promo button{color:var(--green);font:inherit;cursor:pointer;background:#fff;border:1px solid #0d403740;border-radius:14px;padding:0 1.1rem;font-weight:700}.book-promo button:disabled{opacity:.5;cursor:default}.book-promo-applied{justify-content:space-between;align-items:baseline;font-weight:600;display:flex}.book-small{opacity:.8;font-size:.82rem!important}.book-check{align-items:flex-start;gap:.6rem;letter-spacing:0!important;text-transform:none!important;font-size:.85rem!important;font-weight:400!important;display:flex!important}.book-check input{margin-top:.2rem}.book-check a{color:inherit}.book-badges{margin:.4rem 0}.book-complete{min-height:60vh}@media (max-width:900px){.book-inner{padding:3rem 1rem 4rem}.book-layout{grid-template-columns:1fr}.book-side{position:static}.book-extras{grid-template-columns:1fr}.book-included{padding:0 .4rem}.book-day{scroll-margin-top:calc(var(--ann-h,44px) + var(--nav-h,72px) + .5rem)}.book-times{grid-template-columns:repeat(3,minmax(0,1fr))}.book-drawer{width:100%;padding:3rem 1.25rem 2rem}}
