.calculator-page{padding:clamp(40px, 6vw, 80px) 0 var(--section-y)}.calculator-heading{max-width:760px;margin-bottom:var(--space-10)}.calculator-heading .eyebrow{margin-bottom:var(--space-5)}.calculator-heading h1{margin-bottom:var(--space-4)}.calculator-heading .lead{margin-bottom:var(--space-6)}.calculator-prices{align-items:center;gap:var(--space-3);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.calculator-prices li:not(.calculator-prices-note){border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--white);align-items:baseline;gap:8px;padding:10px 14px;display:inline-flex}.calculator-prices strong{font-family:var(--font-heading);font-weight:800}.calculator-prices small{color:var(--secondary);font-size:var(--text-caption)}.calculator-prices-note{color:var(--secondary);font-size:var(--text-caption);flex-basis:100%}.calc{gap:var(--space-5);display:grid}.calc-card{border-radius:var(--radius-xl);padding:clamp(20px,3vw,36px)}.calc-section-head{max-width:640px;margin-bottom:var(--space-6);gap:8px;display:grid}.calc-section-head h2{font-size:clamp(1.5rem,1.2rem + 1.2vw,2rem)}.calc-section-head p{color:var(--secondary);font-size:var(--text-small)}.calc-subject-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.calc-subject{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--white);min-height:60px;color:var(--ink);font-size:var(--text-small);text-align:left;transition:border-color var(--dur-fast) var(--ease-standard), box-shadow var(--dur-fast) var(--ease-standard), transform var(--dur-fast) var(--ease-standard), background-color var(--dur-fast) var(--ease-standard);align-items:center;gap:12px;padding:10px 12px 10px 10px;font-weight:600;display:flex}.calc-subject:hover{border-color:var(--indigo);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.calc-subject:active{transform:scale(.985)}.calc-subject.is-added{border-color:var(--indigo-20);background:var(--indigo-soft)}.calc-subject>svg{color:var(--indigo);flex:none;margin-left:auto}.calc-subject-name{overflow-wrap:normal;-webkit-hyphens:manual;hyphens:manual;min-width:0}.calc-subject:disabled{cursor:not-allowed;opacity:.55}.calc-limit-note{border-radius:var(--radius-sm);background:var(--indigo-soft);color:var(--link);font-size:var(--text-caption);margin:12px 0 0;padding:10px 14px;font-weight:600}.calc-subject-count{border-radius:var(--radius-pill);background:var(--indigo);color:var(--brand-white);font-size:var(--text-caption);margin-left:auto;padding:2px 8px;font-weight:700}.calc-subject-icon{background:var(--indigo-soft);width:40px;height:40px;color:var(--indigo);border-radius:10px;flex:none;justify-content:center;align-items:center;display:inline-flex}.calc-subject-icon svg{width:20px;height:20px}.calc-subject-icon--lg{border-radius:var(--radius-sm);width:48px;height:48px}.calc-subject-mark{font-family:var(--font-heading);font-size:1.125rem;font-weight:800}.calc-empty{justify-items:center;gap:var(--space-4);border:1px dashed var(--border-strong);border-radius:var(--radius-lg);padding:var(--space-12) var(--space-6);text-align:center;display:grid}.calc-empty p{max-width:360px;color:var(--secondary)}.calc-rows{gap:var(--space-3);display:grid}.calc-row{gap:var(--space-5);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-2);padding:var(--space-6);grid-template-columns:minmax(140px,.95fr) minmax(206px,1.2fr) minmax(136px,.9fr) 152px minmax(148px,.95fr) 44px;align-items:end;display:grid}.calc-cell{gap:6px;min-width:0;display:grid}.calc-cell-label{color:var(--secondary);font-size:var(--text-caption);font-weight:600;line-height:1.2}.calc-cell--subject{align-items:center;gap:10px;padding-bottom:12px;display:flex}.calc-row-name{font-family:var(--font-heading);overflow-wrap:anywhere;font-size:1.0625rem;font-weight:700;line-height:1.25}.calc-cell--result{border-left:1px solid var(--border);padding-left:var(--space-5);align-content:end;padding-bottom:12px}.calc-cell--result .calc-cell-label{align-items:center;gap:8px;display:flex}.calc-cell--result .calc-cell-label b{border-radius:var(--radius-pill);background:var(--lime);color:var(--ink);padding:2px 8px;font-size:.75rem;font-weight:800}.calc-cell--result strong{font-family:var(--font-heading);letter-spacing:-.02em;font-size:1.5rem;font-weight:800;line-height:1.1}.calc-cell--result strong.calc-row-pending,.calc-row-pending{color:var(--secondary);font-family:var(--font-body);font-size:var(--text-small);letter-spacing:0;font-weight:600}.calc-row-note{color:var(--secondary);font-size:var(--text-caption);grid-column:1/-1;margin:0;line-height:1.4}.calc-row-note--error{color:var(--danger);font-weight:600}.calc-delete{border:1px solid var(--border);background:var(--white);width:44px;height:44px;color:var(--secondary);transition:color var(--dur-fast) var(--ease-standard), border-color var(--dur-fast) var(--ease-standard), background-color var(--dur-fast) var(--ease-standard);border-radius:10px;flex:none;justify-content:center;align-items:center;margin-bottom:4px;display:inline-flex}.calc-delete:hover{border-color:var(--danger-border);color:var(--danger)}.calc-delete svg{width:18px;height:18px}.calc-input{width:100%;display:block;position:relative}.calc-input input{border:1px solid var(--border-strong);background:var(--white);width:100%;min-width:0;height:52px;color:var(--ink);font-size:var(--text-body);transition:border-color var(--dur-fast) var(--ease-standard), box-shadow var(--dur-fast) var(--ease-standard);appearance:none;border-radius:14px;outline:none;padding:0 38px 0 14px;font-weight:450}.calc-input input::placeholder{color:var(--placeholder)}.calc-input input:hover{border-color:var(--secondary)}.calc-input input:focus,.calc-input input:focus-visible{border-color:var(--indigo);box-shadow:var(--ring);outline:none}.calc-input input[aria-invalid=true]{border-color:var(--danger-border)}.calc-input input[aria-invalid=true]:focus{box-shadow:0 0 0 4px #b3394c29}.calc-input b{color:var(--secondary);font-weight:600;position:absolute;top:50%;right:14px;transform:translateY(-50%)}.calc-stepper{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--white);grid-template-columns:44px minmax(0,1fr) 44px;gap:4px;padding:3px;display:grid}.calc-stepper button{background:var(--ink-05);min-width:44px;height:44px;color:var(--ink);transition:background-color var(--dur-fast) var(--ease-standard);border:0;border-radius:9px;justify-content:center;align-items:center;display:inline-flex}.calc-stepper button:hover:not(:disabled){background:var(--indigo-soft);color:var(--indigo)}.calc-stepper button:disabled{opacity:.4;cursor:not-allowed}.calc-stepper button svg{width:18px;height:18px}.calc-stepper input{text-align:center;min-height:44px;font-family:var(--font-heading);-moz-appearance:textfield;background:0 0;border:0;font-size:1.125rem;font-weight:800}.calc-stepper input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.calc-stepper input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.calc-summary{gap:var(--space-5);margin-top:var(--space-6);grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:start;display:grid}.calc-summary-list{align-content:start;gap:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-6);display:grid}.calc-summary-list h3{font-size:1.25rem}.calc-summary-list ul{margin:0;padding:0;list-style:none;display:grid}.calc-summary-list li{justify-content:space-between;align-items:center;gap:var(--space-4);border-top:1px solid var(--border);padding:12px 0;display:flex}.calc-summary-list li>div{min-width:0;display:grid}.calc-summary-list li small{color:var(--secondary);font-size:var(--text-caption)}.calc-summary-list li>span{font-family:var(--font-heading);white-space:nowrap;font-weight:800}.calc-total{gap:var(--space-4);border-radius:var(--radius-lg);background:var(--brand-ink);color:var(--brand-white);padding:var(--space-6);display:grid}.calc-total-label{color:#fff9;font-size:var(--text-eyebrow);letter-spacing:.08em;text-transform:uppercase;font-weight:700}.calc-total-value{font-family:var(--font-heading);letter-spacing:var(--tracking-display);font-size:clamp(2.25rem,1.8rem + 2vw,3.25rem);font-weight:800;line-height:1}.calc-total-stats{gap:8px;margin:0;display:grid}.calc-total-stats div{justify-content:space-between;gap:var(--space-3);font-size:var(--text-small);border-top:1px solid #ffffff1f;padding-top:8px;display:flex}.calc-total-stats dt{color:#ffffffa6}.calc-total-stats dd{font-weight:700}.calc-total-stats div:first-child dd{color:var(--lime)}.calc-nudge{border-radius:var(--radius-sm);font-size:var(--text-caption);background:#ffffff14;gap:2px;padding:12px 14px;display:grid}.calc-nudge strong{font-size:var(--text-small)}.calc-nudge span{color:#ffffffb3}.calc-nudge--max{background:var(--lime);color:var(--brand-ink)}.calc-nudge--max span{color:#151a2db3}.calc-total-note{color:#ffffffa6;font-size:var(--text-caption)}.calc-quote{margin-top:var(--space-6);scroll-margin-top:calc(var(--header-h) + 16px)}.quote-form{border-radius:var(--radius-xl);padding:clamp(20px,3vw,36px)}.quote-form-heading{max-width:640px;margin-bottom:var(--space-6);gap:8px;display:grid}.quote-form-heading h2{font-size:clamp(1.5rem,1.2rem + 1.2vw,2rem)}.quote-form-heading p{color:var(--secondary);font-size:var(--text-small)}.quote-details{gap:var(--space-6);margin-bottom:var(--space-4);grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);display:grid}.quote-details ul{margin:0;padding:0;list-style:none;display:grid}.quote-details li{justify-content:space-between;align-items:center;gap:var(--space-4);border-bottom:1px solid var(--border);padding:12px 0;display:flex}.quote-details li div{display:grid}.quote-details li small{color:var(--secondary);font-size:var(--text-caption)}.quote-details li b{font-family:var(--font-heading);white-space:nowrap;font-weight:800}.quote-details dl{border-radius:var(--radius-md);background:var(--surface-2);padding:var(--space-4);align-content:start;gap:8px;display:grid}.quote-details dl>div{justify-content:space-between;gap:var(--space-3);font-size:var(--text-small);display:flex}.quote-details dt{color:var(--secondary)}.quote-details dd{font-weight:650}.quote-final{border-top:1px solid var(--border);padding-top:8px}.quote-final dd{font-family:var(--font-heading);font-size:1.25rem;font-weight:800}.quote-disclaimer{margin-bottom:var(--space-6);color:var(--secondary);font-size:var(--text-caption)}.quote-application-form{gap:var(--space-5);max-width:640px;display:grid}@media (max-width:1180px){.calc-subject-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.calc-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 44px;align-items:end}.calc-cell--subject{grid-area:1/1/auto/3;padding-bottom:0}.calc-delete{grid-area:1/3;margin-bottom:0}.calc-cell--direction{grid-area:2/1/auto/2}.calc-cell--price{grid-area:2/2/auto/-1}.calc-cell--lessons{grid-area:3/1/auto/2}.calc-cell--result{border-left:1px solid var(--border);padding:0 0 12px var(--space-5);border-top:0;grid-area:3/2/auto/-1}.calc-row-note{grid-row:4}}@media (max-width:900px){.calc-summary,.quote-details{grid-template-columns:1fr}}@media (max-width:767px){.calc-subject-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}}@media (max-width:480px){.calc-subject-grid{grid-template-columns:1fr}}@media (max-width:767px){.calc-subject{min-height:56px;font-size:var(--text-caption);padding:8px 10px 8px 8px}.calc-subject-icon{width:36px;height:36px}.calc-row{gap:var(--space-4);padding:var(--space-5);grid-template-columns:minmax(0,1.25fr) minmax(0,1fr) 44px}.calc-cell--subject{grid-area:1/1/auto/3}.calc-delete{grid-area:1/3}.calc-cell--direction{grid-area:2/1/auto/-1}.calc-cell--result{grid-area:4/1/auto/-1}.calc-row-note{grid-row:5}.calc-cell--price{grid-area:3/1}.calc-cell--lessons{grid-area:3/2/auto/-1}.calc-cell--result{border-left:0;border-top:1px solid var(--border);padding:var(--space-3) 0 0}.calc-stepper{grid-template-columns:44px minmax(0,1fr) 44px}.calc-cell--result{justify-content:space-between;align-items:baseline;gap:var(--space-4);display:flex}.calc-total{padding:var(--space-5)}}.dsel{gap:6px;min-width:0;display:grid;position:relative}.dsel-label{color:var(--secondary);font-size:var(--text-caption);font-weight:600;line-height:1.2}.dsel-button{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--white);width:100%;min-height:52px;color:var(--ink);text-align:left;transition:border-color var(--dur-fast) var(--ease-standard), box-shadow var(--dur-fast) var(--ease-standard);justify-content:space-between;align-items:center;gap:10px;padding:8px 12px 8px 14px;display:flex}.dsel-button:hover{border-color:var(--indigo-35)}.dsel-button:focus-visible{border-color:var(--indigo);box-shadow:var(--ring);outline:0}.dsel-value{min-width:0;font-size:var(--text-small);text-overflow:ellipsis;white-space:nowrap;line-height:1.3;overflow:hidden}.dsel-value b{font-weight:700}.dsel-value small{color:var(--secondary);font-size:inherit}.dsel-value.is-placeholder{color:var(--secondary)}.dsel-chevron{width:18px;height:18px;color:var(--secondary);transition:transform var(--dur-fast) var(--ease-standard);flex:none}.dsel.is-open .dsel-chevron{transform:rotate(180deg)}.dsel-list{z-index:20;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--white);max-height:280px;box-shadow:var(--shadow-md);margin:0;padding:6px;list-style:none;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow-y:auto}.dsel-option{cursor:pointer;border-radius:10px;justify-content:space-between;align-items:center;gap:10px;min-height:48px;padding:8px 10px;display:flex}.dsel-option-text{gap:2px;min-width:0;display:grid}.dsel-option-text b{font-size:var(--text-small);font-weight:700;line-height:1.25}.dsel-option-text small{color:var(--secondary);font-size:var(--text-caption);line-height:1.25}.dsel-option.is-active{background:var(--indigo-soft)}.dsel-option.is-selected .dsel-option-text b{color:var(--link)}.dsel-check{width:18px;height:18px;color:var(--indigo);flex:none}@media (max-width:767px){.dsel-button,.dsel-option{min-height:52px}}.calc-total-value .calc-total-pending{font-family:var(--font-body);font-size:var(--text-lead);letter-spacing:0;opacity:.75;font-weight:600;line-height:1.3;display:inline-block}
