.plan-quote{display:grid;grid-template-columns:1.1fr 1fr;margin-top:30px;border:1px solid var(--line);border-radius:5px;overflow:hidden;background:#fff;scroll-margin-top:115px}
.quote-config{padding:32px 36px}.quote-heading .eyebrow{margin-bottom:9px;font-size:10px}.quote-heading h3{font-size:30px;line-height:1.15;letter-spacing:-.9px}.quote-heading>p{font-size:13px;line-height:1.6;color:var(--muted);margin-top:9px}.quote-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:25px}.quote-fields>div{min-width:0}.quote-fields label{display:block;font-size:12px;line-height:1.4;font-weight:700;margin-bottom:8px}.quote-fields select{display:block;width:100%;min-height:46px;border:1px solid #d5d2ce;border-radius:4px;background:#fff;color:var(--ink);padding:11px 12px;font-size:14px;line-height:1.5}.quote-fields select:focus{outline:none;border-color:#777;box-shadow:0 0 0 1px #7772}.quote-fields select:focus-visible{outline:1px solid #777;outline-offset:2px}
.quote-options{margin-top:18px}.quote-options label{display:flex;align-items:center;gap:10px;padding:13px 0;border-bottom:1px solid #eae7e4;cursor:pointer;font-size:13px;line-height:1.4}.quote-options input{width:17px;height:17px;flex-shrink:0;margin:0;accent-color:var(--red)}.quote-options label>span{flex:1}.quote-options strong{font-size:12px;white-space:nowrap}.quote-small{font-size:11px;line-height:1.6;color:var(--muted)}.quote-config>.quote-small{margin-top:13px;max-width:420px}
.quote-summary{background:#f6f2f2;padding:34px 36px;display:flex;flex-direction:column;border-left:1px solid #e9e2e3}.quote-summary-label{font-size:10px;letter-spacing:1px;text-transform:uppercase;color:var(--muted);font-weight:700}.quote-summary h4{font-size:23px;line-height:1.25;letter-spacing:-.5px;margin:13px 0 23px}.quote-summary dl{margin:0;display:grid;gap:12px}.quote-summary dl>div{display:flex;justify-content:space-between;align-items:baseline;gap:14px;font-size:13px;line-height:1.4}.quote-summary dd{margin:0;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}.quote-total{margin:21px 0 11px;padding-top:20px;border-top:1px solid #dcd2d5}.quote-total>span{display:block;font-size:12px;margin-bottom:10px}.quote-total p{display:flex;align-items:baseline;gap:9px;flex-wrap:wrap}.quote-total strong{font-size:clamp(31px,3.4vw,44px);line-height:1.1;letter-spacing:-1.3px;color:var(--red);font-variant-numeric:tabular-nums}.quote-total p>span{font-size:11px;color:var(--muted)}.quote-summary>.button{width:100%;margin-top:25px;font-size:12px;min-height:48px;padding:13px 16px;text-align:center}.quote-summary>.quote-payment-note{margin-top:12px;font-size:10px}
@media(max-width:1000px) and (min-width:761px){.quote-config,.quote-summary{padding:28px 24px}.quote-fields{gap:10px}.quote-fields select{font-size:13px;padding:10px 7px}.quote-summary dl>div{font-size:12px}}
@media(max-width:760px){.plan-quote{grid-template-columns:1fr;scroll-margin-top:150px;margin-top:24px}.quote-config,.quote-summary{padding:27px 23px}.quote-summary{border-left:0;border-top:1px solid #e9e2e3}.quote-fields{gap:12px}.quote-fields select{font-size:16px;padding:11px 8px}.quote-heading h3{font-size:28px}.quote-total strong{font-size:39px}.quote-summary h4{font-size:22px;margin-bottom:22px}}
@media(max-width:380px){.quote-fields{grid-template-columns:1fr}.quote-config,.quote-summary{padding-left:19px;padding-right:19px}.quote-summary dl>div{font-size:12px}.quote-options label{font-size:12px}.quote-total strong{font-size:35px}}

.quote-consult{display:block;text-align:center;margin-top:13px;padding:8px 0;font-size:12px;line-height:1.5;text-decoration:underline;text-decoration-color:#b9aaaf;text-underline-offset:4px}.quote-consult:hover{text-decoration-color:var(--red)}

/* Plans introduction: aspiration, rate context and package choice as one composition. */
.pricing-intro{display:grid;grid-template-columns:1.25fr 1fr;gap:45px;align-items:end}.pricing-title .eyebrow{margin-bottom:21px}.pricing-title h2{font-size:clamp(37px,4.2vw,59px);line-height:1.09;letter-spacing:-2px}.pricing-title h2 em{color:var(--red)}.pricing-context{padding:4px 0 4px 27px;border-left:2px solid #9e193333}.pricing-context>p{font-size:17px;line-height:1.65;color:#555}.pricing-currency{display:flex;align-items:center;flex-wrap:wrap;gap:9px 12px;margin-top:20px;font-size:10px;line-height:1.5;color:var(--muted)}.pricing-currency>span:first-child{color:var(--ink);font-weight:700;border:1px solid var(--line);padding:6px 10px;border-radius:4px}.pricing .package-control{display:grid;grid-template-columns:minmax(170px,.65fr) minmax(0,2fr);align-items:center;gap:28px;margin:37px 0 24px;padding-top:27px;border-top:1px solid var(--line)}.package-caption>span{font-size:15px;font-weight:700;line-height:1.4}.package-caption>p{font-size:11px;line-height:1.6;color:var(--muted);margin-top:9px}.pricing .package-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;padding:0;border:0;border-radius:0}.pricing .package-options>button{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;align-items:center;column-gap:7px;row-gap:5px;min-width:0;min-height:88px;padding:16px 15px;text-align:left;border:1px solid var(--line);border-radius:5px;background:#fff;color:var(--ink);transition:background .15s,border-color .15s,color .15s}.pricing .package-options .package-count{grid-column:1;grid-row:1;font-size:29px;font-weight:700;line-height:1;letter-spacing:-.8px;font-variant-numeric:tabular-nums}.pricing .package-options .package-word{grid-column:1;grid-row:2;font-size:11px;line-height:1.4;color:var(--muted)}.pricing .package-options small{grid-column:2;grid-row:1/3;align-self:center;margin:0;opacity:1;padding:5px 7px;border-radius:4px;background:#f7edf0;color:var(--red);font-size:11px;font-weight:700;line-height:1.3;white-space:nowrap}.pricing .package-options small.package-base{font-size:9px;font-weight:400;color:var(--muted);background:#f5f4f1;padding:5px 6px;white-space:normal;max-width:47px;text-align:center}.pricing .package-options>button:hover{border-color:#ae8790}.pricing .package-options>button[aria-pressed=true]{background:var(--red);border-color:var(--red);color:white}.pricing .package-options>button[aria-pressed=true] .package-word{color:#fff}.pricing .package-options>button[aria-pressed=true] small{background:#ffffff20;color:#fff}.pricing .package-options>button:focus-visible{outline:2px solid #777;outline-offset:3px}
@media(max-width:1100px) and (min-width:761px){.pricing-intro{grid-template-columns:1.2fr 1fr;gap:26px}.pricing-title h2{font-size:43px;letter-spacing:-1.5px}.pricing-context{padding-left:21px}.pricing-context>p{font-size:15px}.pricing .package-control{grid-template-columns:1fr;gap:18px}.package-caption{display:flex;align-items:baseline;justify-content:space-between;gap:20px}.package-caption>p{margin-top:0}.package-caption br{display:none}.pricing .package-options>button{min-height:83px}}
@media(max-width:760px){.pricing-intro{grid-template-columns:1fr;gap:24px}.pricing-title .eyebrow{margin-bottom:18px}.pricing-title h2{font-size:clamp(35px,7.4vw,48px);letter-spacing:-1.6px;line-height:1.12}.pricing-context{padding-left:19px}.pricing-context>p{font-size:15px}.pricing-currency{margin-top:15px;gap:8px 10px}.pricing .package-control{grid-template-columns:1fr;gap:18px;margin-top:29px;padding-top:22px}.package-caption>p{margin-top:6px}.package-caption br{display:none}.pricing .package-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.pricing .package-options>button{min-height:79px;padding:13px 16px}.pricing .package-options .package-count{font-size:28px}.pricing .package-options small.package-base{max-width:none;white-space:nowrap}.pricing .package-options small{font-size:11px;padding:5px 8px}}
@media(prefers-reduced-motion:reduce){.pricing .package-options>button{transition:none}}

/* Quantities stay beside class count; enrollment is independently selectable. */
.quote-fields>div:first-child{grid-column:1/-1}

.quantity-field label{display:block;font-size:12px;font-weight:700;line-height:1.4;margin-bottom:8px}
.quantity-field input{display:block;width:100%;min-width:0;min-height:46px;border:1px solid #d5d2ce;border-radius:4px;background:#fff;color:var(--ink);padding:11px 12px;font:inherit;font-size:16px;line-height:1.4;font-variant-numeric:tabular-nums}
.quantity-field input:focus-visible{outline:2px solid #777;outline-offset:2px}
.quantity-field input[aria-invalid=true]{border-color:var(--red)}
.enrollment-quantity{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:16px;align-items:end;margin-top:16px;padding:16px;background:#f8f6f4;border-radius:4px}
.enrollment-quantity>p{font-size:11px;line-height:1.5;color:var(--muted);margin:0 0 4px}
.quantity-error{font-size:12px;line-height:1.5;color:var(--red);margin-top:8px}.quantity-error:empty{display:none}

.quote-summary a[aria-disabled=true]{opacity:.5;cursor:not-allowed}
