.calc-section{border-bottom:var(--hairline);padding:clamp(3.5rem,7vw,6rem) 0}.calc-section.alt{background:var(--bg-soft)}.calc .head{max-width:60rem;margin:0 0 clamp(2rem,3.5vw,3rem)}.calc .head h2{font-family:var(--font-display);color:var(--text);font-size:var(--fs-h2);font-weight:var(--fw-bold);letter-spacing:var(--track-tight);border-left:3px solid var(--accent);margin:0 0 1rem;padding-left:1.1rem;line-height:1.15}.calc .head p{color:var(--muted);font-size:var(--fs-lede);line-height:var(--lh-body);max-width:54rem;margin:0;padding-left:1.1rem}.calc-hero{border-bottom:var(--hairline);padding:clamp(3.5rem,8vw,6rem) 0 clamp(2rem,4vw,3rem)}.calc-hero h1{font-family:var(--font-display);color:var(--text);font-weight:var(--fw-black);font-size:var(--fs-hero);line-height:var(--lh-tight);letter-spacing:var(--track-tightest);max-width:20ch;margin:0 0 1.25rem}.calc-lede{color:var(--muted);font-size:var(--fs-lede);line-height:var(--lh-body);max-width:56rem;margin:0}.calc-tool{border-bottom:var(--hairline);background:var(--bg-soft);padding:clamp(2.5rem,5vw,4rem) 0}.calc-grid{gap:var(--grid-gap);grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);align-items:start;display:grid}@media (width<=900px){.calc-grid{grid-template-columns:1fr}}.calc-panel{background:var(--bg-card);border:var(--hairline);border-radius:var(--radius);box-shadow:var(--shadow-card);padding:clamp(1.5rem,2.4vw,2rem)}.calc-panel-title{font-family:var(--font-mono);font-size:var(--fs-label);font-weight:var(--fw-semibold);letter-spacing:var(--track-widest);text-transform:uppercase;color:var(--accent);align-items:center;gap:.55rem;margin:0 0 1.5rem;display:flex}.calc-field{gap:.5rem;margin-bottom:1.35rem;display:grid}.calc-field:last-child{margin-bottom:0}.calc-field label{font-family:var(--font-mono);font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--text);letter-spacing:var(--track-snug)}.calc-field .hint{font-size:var(--fs-sm);color:var(--faint);font-family:var(--font-mono)}.calc-field select,.calc-field input[type=number]{border:var(--hairline-strong);border-radius:var(--radius-sm);background:var(--bg-input);width:100%;color:var(--text);font-family:var(--font-sans);font-size:var(--fs-body);transition:border-color var(--dur-fast), box-shadow var(--dur-fast);padding:.7rem .85rem}.calc-field select:focus,.calc-field input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--focus-tint);outline:none}.calc-field-row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}@media (width<=460px){.calc-field-row{grid-template-columns:1fr}}.calc-range-head{justify-content:space-between;align-items:baseline;gap:.75rem;display:flex}.calc-range-head output{font-family:var(--font-mono);font-size:var(--fs-body);font-weight:var(--fw-semibold);color:var(--accent)}.calc-field input[type=range]{width:100%;accent-color:var(--accent);margin:.15rem 0 0}.calc-results{gap:var(--grid-gap);display:grid}.calc-headline{background:var(--bg-dark);color:var(--c-white);border-radius:var(--radius);box-shadow:var(--shadow-card);grid-template-columns:1fr 1fr;gap:1.25rem;padding:clamp(1.4rem,2.2vw,1.85rem);display:grid}.calc-headline .kpi-label{font-family:var(--font-mono);font-size:var(--fs-label);letter-spacing:var(--track-wider);text-transform:uppercase;color:var(--on-dark-dim);margin:0 0 .4rem}.calc-headline .kpi-value{font-family:var(--font-mono);font-size:clamp(1.5rem,3vw,2rem);font-weight:var(--fw-bold);color:var(--c-white);letter-spacing:var(--track-snug);line-height:1}.calc-headline .kpi-sub{font-size:var(--fs-sm);color:var(--on-dark);margin:.4rem 0 0}.calc-stats{background:var(--border);border:var(--hairline);border-radius:var(--radius);grid-template-columns:repeat(2,1fr);gap:1px;display:grid;overflow:hidden}@media (width<=460px){.calc-stats{grid-template-columns:1fr}}.calc-stat{background:var(--bg-card);padding:1.15rem 1.25rem}.calc-stat .s-label{font-family:var(--font-mono);font-size:var(--fs-label);letter-spacing:var(--track-wide);text-transform:uppercase;color:var(--muted);align-items:center;gap:.4rem;margin:0 0 .45rem;display:flex}.calc-stat .s-label .material-symbols-outlined{color:var(--accent);font-size:1rem}.calc-stat .s-value{font-family:var(--font-mono);font-size:clamp(1.15rem,2vw,1.4rem);font-weight:var(--fw-semibold);color:var(--text);line-height:1.1}.calc-stat .s-note{font-size:var(--fs-sm);color:var(--faint);margin:.35rem 0 0}.calc-assumptions{font-family:var(--font-mono);font-size:var(--fs-sm);line-height:var(--lh-snug);color:var(--muted);background:var(--accent-tint);border:var(--border-w) solid var(--accent-border);border-radius:var(--radius-sm);margin:0;padding:.9rem 1.05rem}.calc-assumptions strong{color:var(--text);font-weight:var(--fw-semibold)}.calc-prose{max-width:62rem}.calc-prose p{color:var(--text-body);font-size:var(--fs-body);line-height:var(--lh-body);margin:0 0 1.15rem}.calc-prose p:last-child{margin-bottom:0}.calc-prose h3{font-family:var(--font-display);font-size:var(--fs-h3);font-weight:var(--fw-bold);color:var(--text);letter-spacing:var(--track-snug);margin:2rem 0 .85rem}.calc-formula{background:var(--border);border:var(--hairline);border-radius:var(--radius);gap:1px;max-width:62rem;margin:1.25rem 0 0;padding:0;list-style:none;display:grid;overflow:hidden}.calc-formula li{background:var(--bg-card);gap:.3rem;padding:1rem 1.25rem;display:grid}.calc-formula .f-name{font-family:var(--font-sans);font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--text)}.calc-formula .f-eq{font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--accent)}.calc-table-wrap{border:var(--hairline);border-radius:var(--radius);overflow-x:auto}.calc-table{border-collapse:collapse;background:var(--bg-card);width:100%;min-width:44rem}.calc-table caption{text-align:left;font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--faint);border-bottom:var(--hairline);padding:.85rem 1rem}.calc-table th,.calc-table td{text-align:left;border-bottom:var(--hairline);font-size:var(--fs-sm);padding:.8rem 1rem}.calc-table thead th{font-family:var(--font-mono);font-size:var(--fs-label);text-transform:uppercase;letter-spacing:var(--track-wide);color:var(--muted);background:var(--bg-soft);font-weight:var(--fw-semibold)}.calc-table tbody th{font-weight:var(--fw-semibold);color:var(--text)}.calc-table td{color:var(--text-body);font-family:var(--font-mono)}.calc-table tbody tr:last-child th,.calc-table tbody tr:last-child td{border-bottom:0}.calc-faq{background:var(--border);border:var(--hairline);border-radius:var(--radius);gap:1px;max-width:60rem;display:grid;overflow:hidden}.calc-faq details{background:var(--bg-card)}.calc-faq summary{cursor:pointer;font-family:var(--font-display);font-size:var(--fs-body);font-weight:var(--fw-semibold);color:var(--text);letter-spacing:var(--track-snug);justify-content:space-between;align-items:center;gap:1.5rem;padding:1.35rem 1.5rem;list-style:none;display:flex}.calc-faq summary::-webkit-details-marker{display:none}.calc-faq summary .material-symbols-outlined{color:var(--accent);transition:transform var(--dur);flex:none}.calc-faq details[open] summary .material-symbols-outlined{transform:rotate(45deg)}.calc-faq p{color:var(--muted);font-size:var(--fs-sm);line-height:var(--lh-body);max-width:68ch;margin:0;padding:0 1.5rem 1.4rem}.calc-final{background:var(--bg-soft);text-align:center;padding:clamp(3.5rem,8vw,6rem) 0}.calc-final .container{flex-direction:column;align-items:center;gap:1.5rem;max-width:48rem;display:flex}.calc-final h2{font-family:var(--font-display);color:var(--text);font-weight:var(--fw-black);font-size:var(--fs-h2);letter-spacing:var(--track-tight);margin:0}.calc-final p{color:var(--muted);font-size:var(--fs-lede);line-height:var(--lh-body);margin:0}.calc-cta-center{flex-wrap:wrap;justify-content:center;gap:1rem;display:flex}.kpi-approach{color:var(--c-green-deep)}.calc-reco{background:var(--bg-inset);border:var(--hairline);border-radius:var(--radius);margin-top:1rem;padding:1rem 1.15rem}.reco-why{color:var(--muted);font-size:var(--fs-sm);line-height:var(--lh-body);margin:0}.reco-head{font-family:var(--font-mono);font-size:var(--fs-label);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:var(--track-wider);color:var(--faint);margin:.85rem 0 .5rem}.reco-list{flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.reco-list a{border:var(--hairline);border-radius:var(--radius-sm);background:var(--bg-card);transition:border-color var(--dur-fast), background var(--dur-fast);flex-direction:column;gap:.1rem;padding:.55rem .7rem;display:flex}.reco-list a:hover{border-color:var(--accent);background:var(--bg-soft)}.reco-name{font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--text)}.reco-meta{font-family:var(--font-mono);font-size:var(--fs-label);color:var(--muted-dim)}.reco-all{font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--accent);margin-top:.7rem;display:inline-block}.reco-all:hover{color:var(--accent-deep);text-decoration:underline}.kpi-unit{font-size:var(--fs-lede);font-weight:var(--fw-semibold);color:var(--faint);margin-left:.15rem}.kpi-blurb{color:var(--muted);font-size:var(--fs-sm);line-height:var(--lh-body)}.ready-badge{border-radius:var(--radius-pill);font-family:var(--font-mono);font-size:var(--fs-label);font-weight:var(--fw-semibold);letter-spacing:var(--track-wide);padding:.2rem .6rem;display:inline-block}.ready-badge.is-ready{color:var(--c-green-deep);background:var(--c-green-tint)}.ready-badge.is-minor{color:var(--c-navy);background:var(--c-navy-tint)}.ready-badge.is-major{color:var(--c-amber-ink);background:var(--c-amber-bg)}.ready-badge.is-notready{color:var(--danger);background:color-mix(in srgb, var(--danger) 12%, transparent)}.ready-list{flex-direction:column;gap:.4rem;margin:0 0 .4rem;padding:0;list-style:none;display:flex}.ready-list li{border:var(--hairline);border-radius:var(--radius-sm);background:var(--bg-card);flex-direction:column;gap:.1rem;padding:.5rem .7rem;display:flex}.ready-blockers li{border-left:3px solid var(--danger)}.ready-upgrades li{border-left:3px solid var(--c-navy)}.ready-area{font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--text)}.ready-detail{font-size:var(--fs-label);color:var(--muted);line-height:var(--lh-snug)}.ready-none{color:var(--muted);font-size:var(--fs-sm);border-style:dashed!important}.calc-checks{flex-direction:column;gap:.5rem;margin-top:.9rem;display:flex}.calc-check{font-size:var(--fs-sm);color:var(--text-body);cursor:pointer;align-items:center;gap:.5rem;display:flex}.calc-summary{border-top:var(--hairline);grid-template-columns:repeat(2,1fr);gap:.6rem;margin-top:1.1rem;padding-top:1rem;display:grid}.calc-summary div{flex-direction:column;display:flex}.calc-summary span{font-family:var(--font-mono);font-size:var(--fs-lede);font-weight:var(--fw-bold);color:var(--text)}.calc-summary small{font-size:var(--fs-label);color:var(--faint);text-transform:uppercase;letter-spacing:var(--track-wide)}.bom-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.8rem;display:flex}.bom-title{font-size:var(--fs-h3);font-weight:var(--fw-bold);color:var(--text);letter-spacing:var(--track-snug)}.bom-actions{gap:.5rem;display:flex}.bom-table-wrap{border:var(--hairline);border-radius:var(--radius);overflow-x:auto}.bom-table{border-collapse:collapse;width:100%;font-size:var(--fs-sm)}.bom-table th,.bom-table td{text-align:left;border-bottom:var(--hairline);vertical-align:baseline;padding:.6rem .8rem}.bom-table thead th{font-family:var(--font-mono);font-size:var(--fs-label);text-transform:uppercase;letter-spacing:var(--track-wide);color:var(--faint);background:var(--bg-inset)}.bom-table tr.bom-group th{font-family:var(--font-mono);font-size:var(--fs-label);text-transform:uppercase;letter-spacing:var(--track-wider);color:var(--accent);background:var(--bg-soft);font-weight:var(--fw-semibold)}.bom-qty{font-family:var(--font-mono);font-weight:var(--fw-bold);color:var(--text);white-space:nowrap}.bom-qty small{font-weight:var(--fw-regular);color:var(--faint);margin-left:.3rem}.bom-item a{color:var(--accent);font-weight:var(--fw-medium)}.bom-item a:hover{color:var(--accent-deep);text-decoration:underline}.bom-note{color:var(--muted);font-family:var(--font-mono);font-size:var(--fs-label)}.bom-toast{border-radius:var(--radius-sm);background:var(--c-green-tint);color:var(--c-green-deep);font-size:var(--fs-sm);font-weight:var(--fw-medium);margin-top:.7rem;padding:.55rem .8rem}.bom-toast[hidden]{display:none}@media (width>=981px){.calc-grid-wide{grid-template-columns:minmax(0,20rem) minmax(0,1fr)}}
