:root{
    /* Real Tempo palette */
    --brown: #3F2312;
    --brown-soft: #6B4632;
    --brown-mute: #9C7A60;
    --brick: #591014;
    --brick-soft: #7A2025;
    --cornfield: #EFF2B7;
    --chartreuse: #D1D275;
    --blue: #8FACCE;
    --moon: #D5C5DA;
    --offwhite: #FFFEF2;
    --white: #FFFFFF;
    --black: #040707;
    
    --line: rgba(63,35,18,0.14);
    --line-strong: rgba(63,35,18,0.28);
    --line-deep: rgba(63,35,18,0.55);

    --sans: 'DM Sans', -apple-system, BlinkMacSystemFont, 'Helvetica Neue', sans-serif;
  }
*{box-sizing:border-box;margin:0;padding:0}
html,body{background:var(--offwhite);color:var(--brown);font-family:var(--sans);font-weight:400;line-height:1.45;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}
img{max-width:100%;display:block}
/* PROTO NAV */
  .proto-nav{position:sticky;top:0;z-index:200;background:var(--brown);color:var(--offwhite);padding:8px 24px;display:flex;align-items:center;gap:20px;font-size:10px;letter-spacing:0.1em;text-transform:uppercase;font-weight:500}
.proto-nav strong{text-transform:none;letter-spacing:0.02em;font-size:12px;opacity:0.7;font-weight:400}
.proto-nav .pn-links{display:flex;gap:0}
.proto-nav button{padding:6px 12px;color:var(--offwhite);opacity:0.4;transition:opacity 0.2s;font-size:10px;letter-spacing:0.1em;font-weight:500}
.proto-nav button:hover{opacity:1}
.proto-nav button.active{opacity:1}
/* SITE HEADER */
  .site-header{
    position:sticky;top:0;z-index:100;
    background:rgba(255,254,242,0.92);
    backdrop-filter:blur(20px);
    -webkit-backdrop-filter:blur(20px);
    border-bottom:1px solid var(--line);
  }
.site-header-inner{max-width:1480px;margin:0 auto;padding:14px 32px;display:flex;align-items:center;justify-content:space-between;gap:40px}
.site-logo{display:block;height:44px}
.site-logo img{height:100%;width:auto}
.cart-count{background:var(--brick);color:var(--offwhite);font-size:10px;width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;font-weight:600;border-radius:50%}
.cart-count.empty{display:none}
.btn-primary{padding:11px 22px;background:var(--brown);color:var(--offwhite);font-size:12px;font-weight:600;transition:all 0.2s;display:inline-flex;align-items:center;gap:6px;border:1px solid var(--brown)}
.btn-primary:hover{background:var(--brick);border-color:var(--brick)}
.btn-ghost{padding:11px 22px;border:1px solid var(--brown);background:transparent;color:var(--brown);font-size:12px;font-weight:600;transition:all 0.2s}
.btn-ghost:hover{background:var(--brown);color:var(--offwhite)}
.screen{display:none;animation:fade 0.4s ease}
.screen.active{display:block}
@keyframes fade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:0.4}}
.meta-num{font-size:36px;font-weight:600;color:var(--brown);line-height:1;letter-spacing:-0.03em}
.meta-label{font-size:10px;color:var(--brown-soft);margin-top:6px;letter-spacing:0.04em;text-transform:uppercase;font-weight:600}
@keyframes scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
h2.section-title{font-weight:600;font-size:clamp(36px,4.5vw,60px);line-height:1.05;letter-spacing:-0.035em;color:var(--brown);max-width:760px}
h2.section-title .accent-brick{color:var(--brick)}
.section-aside{font-size:14px;color:var(--brown-soft);max-width:280px;text-align:right;line-height:1.5}
.pc-icon-area{aspect-ratio:1;display:flex;align-items:center;justify-content:center;padding:32px;position:relative;border-bottom:1px solid var(--brown)}
.pc-icon{height:60%;max-height:200px;width:auto;display:block}
.pc-icon-area .pc-num{position:absolute;top:14px;left:18px;font-size:10px;letter-spacing:0.1em;text-transform:uppercase;font-weight:600}
.pc-icon-area .pc-color-name{position:absolute;top:14px;right:18px;font-size:10px;letter-spacing:0.1em;text-transform:uppercase;font-weight:600}
.pc-body{padding:24px;background:var(--offwhite);flex:1;display:flex;flex-direction:column;gap:14px}
.pc-desc{font-size:13px;color:var(--brown-soft);line-height:1.55;flex:1}
.pc-meta{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:var(--brown);letter-spacing:0.06em;text-transform:uppercase;font-weight:600;padding-top:14px;border-top:1px solid var(--line)}
.pc-meta .arrow{font-size:14px;font-weight:400;text-transform:none}
.feature-content h3{font-size:clamp(36px,4.5vw,56px);font-weight:600;line-height:1;letter-spacing:-0.035em;margin-bottom:20px;color:var(--offwhite)}
.feature-content h3 em{font-style:normal;color:var(--cornfield)}
.feature-content p{font-size:17px;line-height:1.55;color:rgba(255,254,242,0.85);margin-bottom:28px;max-width:480px}
.feature-content .btn-primary{background:var(--cornfield);color:var(--brown);border-color:var(--cornfield)}
.feature-content .btn-primary:hover{background:var(--offwhite);border-color:var(--offwhite);color:var(--brown)}
.price-card{background:transparent;border:1px solid rgba(255,254,242,0.22);padding:40px 36px;display:flex;flex-direction:column}
.price-card.featured{background:var(--cornfield);color:var(--brown);border-color:var(--cornfield)}
.price-card .price-tag{display:inline-flex;align-items:center;gap:8px;font-size:10px;letter-spacing:0.12em;text-transform:uppercase;color:rgba(255,254,242,0.6);font-weight:600;margin-bottom:14px}
.price-card.featured .price-tag{color:var(--brick)}
.price-card .price-tag::before{content:"";width:14px;height:1px;background:currentColor}
.price-name{font-size:36px;font-weight:600;letter-spacing:-0.03em;margin-bottom:8px;color:var(--offwhite)}
.price-card.featured .price-name{color:var(--brown)}
.price-tagline{font-size:15px;color:rgba(255,254,242,0.65);margin-bottom:36px;line-height:1.4}
.price-card.featured .price-tagline{color:var(--brown-soft)}
.price-amount{display:flex;align-items:baseline;gap:8px;margin-bottom:32px;padding-bottom:28px;border-bottom:1px solid rgba(255,254,242,0.2)}
.price-card.featured .price-amount{border-color:rgba(63,35,18,0.2)}
.price-amount .num{font-size:88px;font-weight:600;line-height:0.85;letter-spacing:-0.05em;color:var(--offwhite)}
.price-card.featured .price-amount .num{color:var(--brown)}
.price-amount .per{font-size:13px;color:rgba(255,254,242,0.55);font-weight:500}
.price-card.featured .price-amount .per{color:var(--brown-soft)}
.price-features{list-style:none;display:flex;flex-direction:column;gap:12px;margin-bottom:32px;flex:1}
.price-features li{font-size:14px;display:flex;align-items:flex-start;gap:12px;line-height:1.45;color:rgba(255,254,242,0.85)}
.price-card.featured .price-features li{color:var(--brown)}
.price-features li::before{content:"+";color:var(--chartreuse);font-weight:700;flex-shrink:0;font-size:16px;line-height:1.2}
.price-card.featured .price-features li::before{color:var(--brick)}
.price-card .btn-primary{width:100%;justify-content:center;padding:14px;background:var(--offwhite);color:var(--brown);border-color:var(--offwhite)}
.price-card .btn-primary:hover{background:var(--brick);color:var(--offwhite);border-color:var(--brick)}
.price-card.featured .btn-primary{background:var(--brown);color:var(--offwhite);border-color:var(--brown)}
.price-card.featured .btn-primary:hover{background:var(--brick);border-color:var(--brick)}
/* FOOTER — uses the offwhite version of the alternate logo for a big graphic moment */
  footer{background:var(--brown);color:var(--offwhite);padding:80px 32px 32px;position:relative;overflow:hidden}
/* ====================================================================
     BUILD YOUR SEASON
     ==================================================================== */
  .season-wrap{max-width:1480px;margin:0 auto;padding:48px 32px 100px;display:grid;grid-template-columns:1fr 400px;gap:40px;align-items:start}
.season-head{margin-bottom:32px}
.season-eyebrow{font-size:11px;letter-spacing:0.14em;text-transform:uppercase;color:var(--brown-soft);font-weight:600;margin-bottom:14px}
h1.season-title{font-weight:600;font-size:60px;line-height:0.98;letter-spacing:-0.04em;color:var(--brown);margin-bottom:18px}
h1.season-title .accent-brick{color:var(--brick)}
.season-intro{font-size:16px;color:var(--brown);max-width:640px;line-height:1.55;font-weight:400}
.student-strip{display:flex;align-items:center;gap:8px;margin-bottom:24px;padding:14px 18px;background:var(--cornfield);border:1px solid var(--brown);flex-wrap:wrap}
.student-strip-label{font-size:10px;letter-spacing:0.14em;text-transform:uppercase;color:var(--brown);font-weight:600;margin-right:8px}
.student-tab{display:inline-flex;align-items:center;gap:8px;padding:7px 14px;background:var(--offwhite);border:1px solid var(--brown);font-size:13px;color:var(--brown);transition:all 0.15s;cursor:pointer;font-weight:500}
.student-tab:hover{background:var(--chartreuse)}
.student-tab.active{background:var(--brown);color:var(--offwhite);border-color:var(--brown)}
.student-tab .student-count{font-size:10px;background:var(--chartreuse);padding:1px 7px;font-weight:600;color:var(--brown)}
.student-tab.active .student-count{background:rgba(255,254,242,0.18);color:var(--offwhite)}
.student-tab-add{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border:1px dashed var(--brown);color:var(--brown);font-size:13px;cursor:pointer;transition:all 0.15s;font-weight:500;background:transparent}
.student-tab-add:hover{background:var(--offwhite)}
.filters{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:24px;padding:18px 0;border-bottom:1px solid var(--brown);align-items:center}
.filter-label{font-size:10px;letter-spacing:0.14em;text-transform:uppercase;color:var(--brown-soft);margin-right:10px;font-weight:600}
.filter-chip{padding:6px 12px;border:1px solid transparent;font-size:13px;color:var(--brown-soft);background:transparent;transition:all 0.15s;font-weight:500}
.filter-chip:hover{color:var(--brown)}
.filter-chip.active{background:var(--brown);color:var(--offwhite);border-color:var(--brown)}
.filter-divider{width:1px;height:18px;background:var(--line-strong);margin:0 10px}
.schedule{display:flex;flex-direction:column;gap:0}
.schedule-day{border-bottom:1px solid var(--line);padding:28px 0 24px}
.schedule-day:first-child{padding-top:24px}
.schedule-day:last-child{border-bottom:1px solid var(--brown)}
.day-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:18px}
.day-name{font-size:36px;font-weight:600;color:var(--brown);letter-spacing:-0.035em;line-height:1}
.day-name .accent-brick{color:var(--brick)}
.day-focus{font-size:13px;color:var(--brown-soft);font-weight:500}
.day-classes{display:flex;flex-direction:column}
.class-row{display:grid;grid-template-columns:36px 124px 1fr auto auto;gap:20px;padding:14px 0;border-top:1px solid var(--line);align-items:center;transition:all 0.15s;cursor:pointer}
.class-row:hover{padding-left:8px;padding-right:8px}
.class-icon{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:1px solid var(--brown);padding:3px}
.class-icon.dance{display:flex;background:var(--white);border:1px solid #8FA9D6;padding:2px}
.class-icon.drama{display:flex;background:var(--white);border:1px solid var(--moon);padding:2px}
.class-icon.art{display:flex;background:var(--white);border:1px solid var(--chartreuse);padding:2px}
.class-icon.music{display:flex;background:var(--white);border:1px solid var(--cornfield);padding:2px}
.class-icon.music{background:var(--cornfield)}
.class-icon.art{background:var(--blue)}
.class-icon.drama{background:var(--moon)}
.class-icon img{max-width:100%;max-height:100%;display:block}
.class-time{font-size:14px;color:var(--brown);font-weight:500;line-height:1.2;white-space:nowrap}
.class-time .duration{display:block;font-size:10px;color:var(--brown-soft);letter-spacing:0.06em;text-transform:uppercase;margin-top:3px;font-weight:500;white-space:nowrap}
.class-dates{white-space:nowrap}
.class-info .class-name{font-size:18px;color:var(--brown);margin-bottom:5px;letter-spacing:-0.02em;font-weight:600;line-height:1.2}
.class-info .class-meta{display:flex;gap:10px;font-size:11px;color:var(--brown-soft);align-items:center;flex-wrap:wrap;font-weight:500}
.class-info .class-meta .dot-sep{opacity:0.4}
.class-tag{font-size:9px;letter-spacing:0.1em;text-transform:uppercase;padding:3px 8px;font-weight:600}
.class-tag.dance{background:#8FA9D6;color:var(--offwhite)}
.class-tag.music{background:var(--cornfield);color:var(--brown)}
.class-tag.art{background:var(--chartreuse);color:var(--brown)}
.class-tag.drama{background:var(--moon);color:var(--brown)}
.class-spots{font-size:11px;color:var(--brown-soft);text-align:right;line-height:1.3;white-space:nowrap;font-weight:500}
.class-spots.almost-full{color:var(--brick)}
.class-spots .spot-num{font-size:16px;font-weight:600;color:var(--brown);letter-spacing:-0.02em}
.class-spots.almost-full .spot-num{color:var(--brick)}
.add-wrap{position:relative}
.btn-add{padding:9px 16px;border:1px solid var(--brown);font-size:12px;background:var(--offwhite);color:var(--brown);transition:all 0.15s;font-weight:600;display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.btn-add:hover{background:var(--brown);color:var(--offwhite)}
.btn-add.added{background:var(--chartreuse);color:var(--brown);border-color:var(--brown)}
.btn-add.added::before{content:"✓";font-weight:700;font-size:11px}
.btn-add.partial{background:var(--cornfield);border-color:var(--brown);color:var(--brown)}
.btn-add.partial .partial-count{background:var(--brown);color:var(--offwhite);padding:1px 6px;font-size:10px;margin-left:4px;font-weight:600}
.kid-picker{position:absolute;right:0;top:calc(100% + 6px);background:var(--offwhite);border:1px solid var(--brown);min-width:230px;z-index:20;box-shadow:0 12px 32px -12px rgba(63,35,18,0.25);display:none}
.kid-picker.open{display:block}
.kid-picker-head{padding:12px 16px;font-size:11px;color:var(--brown-soft);border-bottom:1px solid var(--line);letter-spacing:0.06em;text-transform:uppercase;font-weight:600}
.kid-picker-row{display:flex;align-items:center;gap:10px;padding:11px 16px;border-bottom:1px solid var(--line);cursor:pointer;transition:background 0.1s;font-size:13px}
.kid-picker-row:last-child{border-bottom:none}
.kid-picker-row:hover{background:var(--cornfield)}
.kid-picker-row .kp-name{flex:1;color:var(--brown);font-weight:600}
.kid-picker-row .kp-meta{font-size:11px;color:var(--brown-soft);font-weight:500}
.kid-picker-row.enrolled{background:var(--chartreuse)}
.kid-picker-row.enrolled::after{content:"✓";color:var(--brown);font-weight:700;margin-left:6px}
/* SEASON RAIL */
  .season-rail{position:sticky;top:120px;background:var(--offwhite);border:1px solid var(--brown);padding:0;max-height:calc(100vh - 150px);display:flex;flex-direction:column;overflow:hidden}
.season-rail-head{padding:20px 22px 16px;border-bottom:1px solid var(--brown);background:var(--cornfield)}
.season-rail-eyebrow{font-size:10px;letter-spacing:0.14em;text-transform:uppercase;color:var(--brown);font-weight:600;margin-bottom:8px}
.season-rail-head h3{font-size:26px;font-weight:600;color:var(--brown);letter-spacing:-0.03em;line-height:1}
.season-rail-head h3 .accent-brick{color:var(--brick)}
.season-rail-head .term{font-size:12px;color:var(--brown-soft);margin-top:8px;font-weight:500}
.season-empty{padding:32px 22px;text-align:center;color:var(--brown-soft);font-size:14px;line-height:1.55}
.season-empty-mark{height:80px;margin:0 auto 16px;display:flex;justify-content:center;align-items:center}
.season-empty-mark img{height:100%;width:auto;opacity:0.4}
.season-empty strong{color:var(--brown);font-size:14px;display:block;margin-bottom:4px;font-weight:600}
.season-body{flex:1;overflow-y:auto;padding:6px 0}
.season-kid-group{padding:14px 22px;border-bottom:1px solid var(--line)}
.season-kid-group:last-child{border-bottom:none}
.season-kid-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:8px}
.season-kid-name{font-size:15px;color:var(--brown);font-weight:600;letter-spacing:-0.015em}
.season-kid-name em{color:var(--brown-soft);font-size:12px;margin-left:6px;font-weight:500;font-style:normal}
.season-kid-total{font-size:14px;color:var(--brown);font-weight:600}
.season-item{display:flex;justify-content:space-between;padding:7px 0;font-size:12px;color:var(--brown-soft);align-items:flex-start;gap:10px}
.season-item-info{flex:1}
.season-item-name{font-size:13px;color:var(--brown);line-height:1.3;margin-bottom:2px;font-weight:500}
.season-item-meta{font-size:10px;letter-spacing:0.06em;color:var(--brown-soft);text-transform:uppercase;font-weight:500}
.season-item-remove{background:none;border:none;color:var(--brown-soft);font-size:10px;cursor:pointer;padding:0;margin-top:2px;font-weight:500;text-decoration:underline;text-underline-offset:2px}
.season-item-remove:hover{color:var(--brick)}
.season-item-price{font-size:13px;color:var(--brown);white-space:nowrap;font-weight:600}
.season-summary{border-top:1px solid var(--brown);margin-top:auto;padding:20px 22px 22px;background:var(--offwhite)}
.season-line{display:flex;justify-content:space-between;font-size:12px;color:var(--brown);margin-bottom:6px;font-weight:500}
.season-line.saving{color:var(--brick)}
.season-total{display:flex;justify-content:space-between;align-items:baseline;padding-top:12px;border-top:1px solid var(--brown);margin-top:10px;margin-bottom:14px}
.season-total .label{font-size:10px;color:var(--brown-soft);letter-spacing:0.12em;text-transform:uppercase;font-weight:600}
.season-total .amount{font-size:32px;font-weight:600;color:var(--brown);letter-spacing:-0.035em}
.season-fineprint{font-size:11px;color:var(--brown-soft);line-height:1.5;margin-bottom:16px}
.reserve-btn{width:100%;padding:14px;background:var(--brown);color:var(--offwhite);font-size:12px;font-weight:600;border:none;transition:all 0.2s;font-family:inherit}
.reserve-btn:hover{background:var(--brick)}
.upsell{background:var(--chartreuse);border:1px solid var(--brown);padding:14px;font-size:12px;color:var(--brown);margin-top:14px;line-height:1.5;display:flex;gap:10px;align-items:flex-start;font-weight:500}
.upsell .upsell-mark{font-size:20px;line-height:1;flex-shrink:0;font-weight:700}
.upsell strong{font-weight:700;display:block;font-size:11px;letter-spacing:0.08em;text-transform:uppercase;margin-bottom:4px;color:var(--brick)}
/* ====================================================================
     RESERVE — use alternate logo as the "almost there" moment
     ==================================================================== */
  .review{max-width:1080px;margin:0 auto;padding:48px 32px 100px}
.review-back{display:inline-flex;align-items:center;gap:8px;font-size:11px;color:var(--brown-soft);margin-bottom:24px;cursor:pointer;letter-spacing:0.06em;text-transform:uppercase;font-weight:600}
.review-back:hover{color:var(--brown)}
h1.review-title{font-weight:600;font-size:60px;line-height:0.98;letter-spacing:-0.04em;color:var(--brown);margin-bottom:14px}
h1.review-title .accent-brick{color:var(--brick)}
.review-sub{font-size:16px;color:var(--brown);margin-bottom:48px;max-width:560px;line-height:1.5;font-weight:400}
.progress{display:flex;gap:0;margin-bottom:48px;padding:0;max-width:540px;border-top:1px solid var(--brown);border-bottom:1px solid var(--line)}
.progress-step{flex:1;padding:14px 18px;text-align:left;color:var(--brown-soft);transition:all 0.2s;display:flex;align-items:baseline;gap:10px;font-size:11px;letter-spacing:0.06em;text-transform:uppercase;font-weight:600;border-right:1px solid var(--line)}
.progress-step:last-child{border-right:none}
.progress-step.active{color:var(--brown);background:var(--cornfield)}
.progress-step.done{color:var(--brick)}
.progress-step .step-num{font-size:18px;font-weight:700;letter-spacing:-0.03em}
.review-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:40px}
.form-section{padding:32px 0;border-top:1px solid var(--line)}
.form-section:first-of-type{border-top:1px solid var(--brown)}
.form-section h3{font-size:26px;font-weight:600;color:var(--brown);margin-bottom:6px;letter-spacing:-0.025em}
.form-section h3 .accent-brick{color:var(--brick)}
.form-section .section-help{font-size:14px;color:var(--brown-soft);margin-bottom:24px;line-height:1.5}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}
.form-row.single{grid-template-columns:1fr}
.form-field{display:flex;flex-direction:column;gap:8px}
.form-field label{font-size:10px;letter-spacing:0.12em;text-transform:uppercase;color:var(--brown);font-weight:600}
.form-field input,.form-field select,.form-field textarea{font-family:var(--sans);font-size:14px;color:var(--brown);background:transparent;border:none;border-bottom:1px solid var(--line-strong);padding:8px 0;transition:all 0.15s;outline:none;font-weight:500}
.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-bottom-color:var(--brown)}
.form-field input::placeholder{color:var(--brown-mute);font-weight:400}
.form-checkbox{display:flex;gap:14px;align-items:flex-start;padding:18px 20px;background:var(--cornfield);border:1px solid var(--brown);cursor:pointer;transition:all 0.15s;font-size:13px;color:var(--brown);line-height:1.5;margin-bottom:10px}
.form-checkbox input{margin-top:3px;accent-color:var(--brown);width:15px;height:15px;flex-shrink:0}
.form-checkbox strong{color:var(--brown);font-weight:700;display:block;margin-bottom:3px;font-size:12px;letter-spacing:0.04em;text-transform:uppercase}
.kid-form{padding:20px 0;border-top:1px solid var(--line)}
.kid-form:first-of-type{border-top:none;padding-top:0}
.kid-form-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:18px}
.kid-form-name{font-size:22px;color:var(--brown);font-weight:600;letter-spacing:-0.02em}
.kid-form-name em{color:var(--brown-soft);font-size:13px;margin-left:8px;font-weight:500;font-style:normal}
.kid-form-remove{font-size:11px;letter-spacing:0.06em;text-transform:uppercase;color:var(--brown-soft);background:none;border:none;cursor:pointer;font-weight:600}
.kid-form-remove:hover{color:var(--brick)}
.add-kid-btn{width:100%;padding:16px;border:1px dashed var(--brown);background:transparent;color:var(--brown);font-size:13px;cursor:pointer;transition:all 0.15s;margin-top:20px;font-weight:500;font-family:inherit}
.add-kid-btn:hover{background:var(--cornfield)}
.summary-panel{position:sticky;top:120px;background:var(--cornfield);border:1px solid var(--brown);padding:28px}
.summary-eyebrow{font-size:10px;letter-spacing:0.14em;text-transform:uppercase;color:var(--brown-soft);font-weight:600;margin-bottom:8px}
.summary-panel h4{font-size:26px;font-weight:600;margin-bottom:24px;letter-spacing:-0.025em;color:var(--brown)}
.summary-panel h4 .accent-brick{color:var(--brick)}
.summary-kid{padding:14px 0;border-top:1px solid var(--line)}
.summary-kid:first-of-type{border-top:1px solid var(--brown)}
.summary-kid-name{font-size:14px;color:var(--brown);margin-bottom:8px;font-weight:600}
.summary-kid-name span{color:var(--brown-soft);font-size:12px;margin-left:6px;font-weight:500}
.summary-item{display:flex;justify-content:space-between;padding:4px 0;font-size:12px;color:var(--brown-soft)}
.summary-item .si-name{font-size:13px;color:var(--brown);font-weight:500}
.summary-item .si-meta{font-size:10px;color:var(--brown-soft);letter-spacing:0.06em;text-transform:uppercase;margin-top:1px;font-weight:500}
.summary-item .si-price{color:var(--brown);font-weight:600}
.summary-totals{padding-top:18px;border-top:1px solid var(--brown);margin-top:18px}
.summary-totals .season-line{font-size:12px;margin-bottom:8px}
.summary-totals .season-total{padding-top:14px;margin-top:10px;border-top:1px solid var(--brown)}
.review-cta{width:100%;padding:16px;background:var(--brown);color:var(--offwhite);font-size:12px;font-weight:600;margin-top:20px;transition:all 0.2s;border:none;font-family:inherit}
.review-cta:hover{background:var(--brick)}
.secure-note{display:flex;align-items:center;justify-content:center;gap:6px;font-size:10px;color:var(--brown-soft);margin-top:12px;letter-spacing:0.06em;text-transform:uppercase;font-weight:500}
.secure-note::before{content:"○";color:var(--brick);font-weight:700}
@media (max-width: 1100px){
.season-wrap{grid-template-columns:1fr;gap:20px}
    .season-rail{position:relative;top:0;max-height:none}
    .review-grid{grid-template-columns:1fr;gap:24px}
    .summary-panel{position:relative;top:0}
  }
@media (max-width:700px){
.form-row{grid-template-columns:1fr}
    .site-header-inner{padding:14px 20px;gap:12px}
    h1.season-title,h1.review-title{font-size:42px}
    .day-name{font-size:28px}
    .class-row{grid-template-columns:1fr;gap:10px}
    .class-icon{display:none}
  }
.filters-intro{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--brown-soft);font-weight:600;margin-bottom:10px}
.filter-count{font-size:12px;color:var(--brown-soft);font-weight:600;margin:12px 0 18px}
@media (max-width:700px){
.season-wrap{padding:22px 14px 90px}
    .season-title,h1.season-title{font-size:36px;line-height:1.02}
    .season-intro{font-size:14px}
    .student-strip{padding:12px;gap:6px}
    .filters{gap:6px}
    .filter-chip{font-size:12px;padding:7px 11px}
    .filter-divider{display:none}
    .filter-label{display:block;width:100%;margin:8px 0 2px}
    .schedule-day{margin-bottom:10px}
    .day-name{font-size:26px}
    .class-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;padding:14px;border:1px solid var(--line);margin-bottom:10px;cursor:default}
    .class-row:hover{padding-left:14px;padding-right:14px}
    .class-row .class-icon{display:none}
    .class-row .class-info{order:1;flex:1 1 100%}
    .class-row .class-name{font-size:16px}
    .class-row .class-time{order:2;flex:1 1 auto;font-size:13px;font-weight:600;color:var(--brown);display:flex;gap:8px;align-items:baseline}
    .class-row .class-time .duration{font-weight:500;color:var(--brown-soft)}
    .class-row .class-spots{order:3;flex:0 0 auto;text-align:right}
    .class-row .add-wrap{order:4;flex:1 1 100%}
    .class-row .add-wrap .btn-add{width:100%;padding:13px;font-size:15px;justify-content:center}
    .kid-picker{left:0;right:0;width:auto}
    .review{padding:24px 14px 80px}
    h1.review-title{font-size:32px}
    .review-grid{grid-template-columns:1fr;gap:20px}
    .summary-panel{position:relative;top:0;padding:20px}
    .progress{flex-wrap:wrap;gap:8px}
    .form-row,.form-row.single{grid-template-columns:1fr;gap:14px}
    .site-header-inner{padding:12px 14px;gap:10px}
    .season-rail{position:relative;top:0;max-height:none}
    #screen-success .review{padding:48px 16px}
  }
.term-note{background:var(--cornfield);border:1px solid var(--brown);padding:14px 16px;font-size:13px;line-height:1.5;color:var(--brown);margin-bottom:24px}
.term-note strong{font-weight:600}
.student-hint{font-size:12px;color:var(--brown-soft);margin:-14px 0 22px;font-weight:500}
.add-student-form{background:var(--white);border:1px solid var(--brown);padding:16px;margin-bottom:24px}
.asf-row{display:grid;grid-template-columns:1fr 1fr 120px;gap:14px}
.asf-actions{display:flex;gap:10px;margin-top:14px}
.btn-waitlist{padding:9px 14px;background:var(--blue);color:var(--brown);border:1px solid var(--brown);font-size:12px;font-weight:600;cursor:pointer;transition:all .15s;white-space:nowrap}
.btn-waitlist:hover{background:var(--brown);color:var(--offwhite)}
.class-spots.full{color:var(--brick);font-weight:600}
.class-spots.full .spot-num{color:var(--brick)}
.wl-overlay{position:fixed;inset:0;background:rgba(28,21,18,0.55);display:flex;align-items:center;justify-content:center;z-index:500;padding:20px}
.wl-modal{background:var(--offwhite);border:1px solid var(--brown);max-width:560px;width:100%;padding:28px;position:relative;max-height:90vh;overflow:auto}
.wl-close{position:absolute;top:10px;right:14px;background:none;border:none;font-size:26px;line-height:1;cursor:pointer;color:var(--brown)}
.wl-eyebrow{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--brown-soft);font-weight:600;margin-bottom:8px}
.wl-title{font-size:24px;font-weight:600;color:var(--brown);letter-spacing:-0.02em;margin:0 0 6px}
.wl-sub{font-size:13px;color:var(--brown-soft);margin-bottom:18px;line-height:1.5}
.wl-actions{display:flex;gap:10px;margin-top:18px}
.wl-msg{font-size:13px;font-weight:600;margin-top:12px;min-height:18px}
@media (max-width:700px){
.asf-row{grid-template-columns:1fr}
    .wl-modal{padding:20px}
    .class-row .add-wrap .btn-waitlist{width:100%;padding:13px;justify-content:center}
  }
.class-icon, .class-icon.dance, .class-icon.music, .class-icon.art, .class-icon.drama{background:transparent !important;border:none !important;padding:0 !important}
.class-icon.dance, .class-icon.music, .class-icon.art, .class-icon.drama{display:flex !important}
.class-icon img{max-width:100%;max-height:100%;display:block}
.form-msg{color:var(--brick);font-size:12px;font-weight:600;margin-top:10px;min-height:0}
.form-msg.show{min-height:auto;font-size:13px;background:rgba(89,16,20,0.08);border:1px solid var(--brick);border-radius:8px;padding:12px 14px;display:flex;align-items:center;gap:8px}
.form-msg.show::before{content:"!";flex:0 0 18px;width:18px;height:18px;border-radius:50%;background:var(--brick);color:var(--offwhite);font-weight:700;display:inline-flex;align-items:center;justify-content:center;font-size:12px;line-height:1}
.field-error{border-color:var(--brick) !important;background:rgba(89,16,20,0.05) !important;box-shadow:0 0 0 3px rgba(89,16,20,0.12)}

/* Success-screen registration summary */
#success-summary{margin-top:28px;text-align:left}
.succ-card{border:1px solid var(--brown);background:var(--offwhite)}
.succ-h{font-size:11px;letter-spacing:0.12em;text-transform:uppercase;font-weight:700;color:var(--brown-soft);padding:14px 18px;border-bottom:1px solid var(--line)}
.succ-student{padding:16px 18px;border-bottom:1px solid var(--line)}
.succ-student:last-child{border-bottom:none}
.succ-name{font-weight:700;font-size:16px;color:var(--brown);display:flex;align-items:center;gap:10px}
.unl-badge{background:var(--brick);color:var(--offwhite);font-size:10px;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;padding:3px 9px;border-radius:999px}
.succ-classes{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.succ-classes li{font-size:12px;color:var(--brown);background:var(--cornfield);border:1px solid var(--line);border-radius:999px;padding:4px 11px}
.succ-mo{margin-top:10px;font-size:13px;font-weight:600;color:var(--brick)}
.succ-bill{margin-top:14px;border:1px solid var(--line);background:var(--white)}
.succ-bill .bill-row{display:flex;justify-content:space-between;gap:16px;padding:12px 16px;font-size:13px;border-bottom:1px solid var(--line)}
.succ-bill .bill-row:last-child{border-bottom:none}
.succ-bill .bill-row span:first-child{color:var(--brown-soft);font-weight:600;white-space:nowrap}
.succ-bill .bill-row span:last-child{color:var(--brown);text-align:right}

.unltag{display:inline-block;background:var(--chartreuse);color:var(--brown);border:1px solid var(--brown);font-size:9px;letter-spacing:.08em;text-transform:uppercase;font-weight:700;padding:2px 7px;margin-left:6px;vertical-align:middle;border-radius:2px}
