/* ReplaceCost calculator/result styles. Loaded only on the nine interactive tools. */

/* ---------- Claim gap result graphic ---------- */
.claim-visual{display:grid;grid-template-columns:minmax(250px,1.1fr) 1fr;gap:24px;align-items:center;padding:22px;border-radius:18px;background:linear-gradient(135deg,#E5F5F1,#E9F3FB 55%,#FFF1E9);border:1px solid #CDE3E3;overflow:hidden}
.claim-visual svg{width:100%;max-height:210px;overflow:visible}.claim-visual .k{font-family:var(--f-mono);font-size:.64rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}
.claim-visual .n{font-family:var(--f-mono);font-size:clamp(1.65rem,4vw,2.55rem);font-weight:600;color:var(--red);letter-spacing:-.04em;line-height:1.05;margin:5px 0 9px}
.claim-visual p{font-size:.84rem;color:var(--ink-2);line-height:1.55;margin:0}
.claim-house{stroke-dasharray:430;stroke-dashoffset:430}.reveal .claim-house{animation:claimDraw 1.1s var(--ease) .12s forwards}
.claim-house-detail{stroke-dasharray:150;stroke-dashoffset:150}.reveal .claim-house-detail{animation:claimDraw .85s var(--ease) .55s forwards}
@keyframes claimDraw{to{stroke-dashoffset:0}}
.claim-paper{opacity:0;transform:translateX(28px)}.reveal .claim-paper{animation:paperIn .6s var(--ease) forwards}.reveal .paper-a{animation-delay:.42s}.reveal .paper-b{animation-delay:.66s}
@keyframes paperIn{to{opacity:1;transform:none}}
.claim-orbit{animation:dashOrbit 8s linear infinite}@keyframes dashOrbit{to{stroke-dashoffset:-130}}
.claim-paths .acv{order:1}.claim-paths .rcv{order:2}
.claim-timeline{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:20px;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#fff}
.claim-timeline>div{position:relative;display:flex;gap:10px;align-items:flex-start;padding:17px 14px;border-right:1px solid var(--line)}
.claim-timeline>div:last-child{border-right:0}.claim-timeline i{width:25px;height:25px;flex:0 0 auto;display:grid;place-items:center;border-radius:50%;font-family:var(--f-mono);font-size:.68rem;font-style:normal;color:#fff;background:var(--g-brand)}
.claim-timeline b,.claim-timeline small{display:block}.claim-timeline b{font-size:.78rem}.claim-timeline small{font-size:.68rem;line-height:1.42;color:var(--ink-3);margin-top:3px}
.reveal .claim-timeline>div{opacity:0;transform:translateY(10px);animation:timelineIn .4s var(--ease) forwards}
.reveal .claim-timeline>div:nth-child(1){animation-delay:.35s}.reveal .claim-timeline>div:nth-child(2){animation-delay:.48s}.reveal .claim-timeline>div:nth-child(3){animation-delay:.61s}.reveal .claim-timeline>div:nth-child(4){animation-delay:.74s}
@keyframes timelineIn{to{opacity:1;transform:none}}

/* ---------- richer calculator result choreography ---------- */
.calc-out{scroll-margin-top:138px}
.reveal .lines tr{opacity:0;transform:translateX(-12px);animation:resultRow .42s var(--ease) forwards}
.reveal .lines tr:nth-child(1){animation-delay:.05s}.reveal .lines tr:nth-child(2){animation-delay:.10s}
.reveal .lines tr:nth-child(3){animation-delay:.15s}.reveal .lines tr:nth-child(4){animation-delay:.20s}
.reveal .lines tr:nth-child(5){animation-delay:.25s}.reveal .lines tr:nth-child(6){animation-delay:.30s}
.reveal .lines tr:nth-child(n+7){animation-delay:.35s}
@keyframes resultRow{to{opacity:1;transform:none}}
.reveal .range-band,.reveal .viz-head{animation:resultGlow 1.1s var(--ease) .12s both}
@keyframes resultGlow{0%{filter:saturate(.5);box-shadow:0 0 0 rgba(14,124,107,0)}70%{filter:saturate(1.2);box-shadow:0 20px 50px -30px rgba(14,124,107,.7)}100%{filter:none}}
.payout>div::after{content:"";position:absolute;inset:-80% auto -80% -35%;width:24%;transform:rotate(18deg);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.72),transparent);opacity:0}
.reveal .payout>div::after{animation:resultShine 1.25s var(--ease) .55s forwards}
.reveal .payout>div:nth-child(2)::after{animation-delay:.72s}
@keyframes resultShine{0%{left:-35%;opacity:0}25%{opacity:.8}100%{left:120%;opacity:0}}
.gapbar{height:42px;box-shadow:inset 0 1px 4px rgba(15,27,34,.16)}
.gapbar span{position:relative;overflow:hidden}
.gapbar span::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 25%,rgba(255,255,255,.28) 48%,transparent 70%);background-size:220% 100%;animation:barFlow 3.6s linear infinite}
@keyframes barFlow{to{background-position:-220% 0}}
.viz-head{background:linear-gradient(135deg,#DDF3ED 0%,#E6F3FB 50%,#FFF4E3 100%);background-size:180% 180%;animation:bgDrift 10s ease-in-out infinite alternate}
@keyframes bgDrift{to{background-position:100% 100%}}

#calc-out,#roof-out,#solar-out,#gap-out{scroll-margin-top:150px}
.reveal .viz-head.rv,.reveal .range-band.rv{opacity:1;transform:none}

/* Result lab shell */
.result-lab{margin:0 0 28px;border-radius:22px;background:#F7FAFB;border:1px solid #CFDDE2;overflow:hidden;
  box-shadow:0 24px 58px -38px rgba(15,27,34,.58);isolation:isolate}
.lab-hero{display:grid;grid-template-columns:minmax(280px,1fr) minmax(300px,1.05fr);min-height:350px;
  background:
    radial-gradient(circle at 8% 8%,color-mix(in srgb,var(--lab-a) 28%,transparent),transparent 38%),
    radial-gradient(circle at 96% 90%,color-mix(in srgb,var(--lab-b) 24%,transparent),transparent 38%),
    linear-gradient(145deg,#071C23,#0B2B34 58%,#102E3B);color:#E8F4F6;position:relative;overflow:hidden}
.lab-hero::before{content:"";position:absolute;inset:0;opacity:.16;pointer-events:none;
  background-image:linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px);
  background-size:34px 34px;mask-image:linear-gradient(120deg,#000,transparent 72%)}
.lab-art{padding:30px 18px 24px 26px;display:flex;align-items:center;justify-content:center;position:relative;min-height:330px}
.lab-live{position:absolute;left:25px;top:22px;display:inline-flex;align-items:center;gap:7px;font-family:var(--f-mono);font-size:.58rem;letter-spacing:.12em;text-transform:uppercase;color:#A9C4CB}
.lab-live i{width:7px;height:7px;border-radius:50%;background:#34D399;box-shadow:0 0 0 0 rgba(52,211,153,.45);animation:livePulse 2s ease-out infinite}
@keyframes livePulse{70%{box-shadow:0 0 0 9px rgba(52,211,153,0)}}
.lab-story{padding:38px 34px 32px;align-self:center;position:relative;z-index:2}
.lab-eyebrow{display:block;font-family:var(--f-mono);font-size:.61rem;letter-spacing:.14em;text-transform:uppercase;color:#7CE1D0;margin-bottom:10px}
.lab-story h3{font-size:clamp(1.45rem,3.3vw,2.15rem);color:#fff;margin:0 0 12px;max-width:18ch;text-wrap:balance}
.lab-story>p{font-size:.87rem;line-height:1.62;color:#AFC4CB;max-width:52ch;margin:0 0 22px}
.lab-range{padding:16px 18px;border:1px solid rgba(255,255,255,.12);border-radius:14px;background:rgba(255,255,255,.065);backdrop-filter:blur(8px)}
.lab-range small{display:block;font-family:var(--f-mono);font-size:.56rem;letter-spacing:.13em;text-transform:uppercase;color:#91AAB2;margin-bottom:4px}
.lab-range strong{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;font-family:var(--f-mono);font-size:clamp(1.25rem,3vw,1.75rem);letter-spacing:-.04em;color:#fff}
.lab-range strong span:first-child{color:#7CE1D0}.lab-range strong span:last-child{color:#FDC76B}.lab-range em{font-size:.62rem;color:#78929B;font-style:normal;letter-spacing:.08em;text-transform:uppercase}
.lab-chips{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}.lab-chips>span{padding:7px 10px;border-radius:9px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.09)}
.lab-chips small,.lab-chips b{display:block}.lab-chips small{font-family:var(--f-mono);font-size:.48rem;letter-spacing:.09em;text-transform:uppercase;color:#78929B}.lab-chips b{font-size:.68rem;color:#D9E8EB;font-weight:600;max-width:17ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* Tool-specific animated SVG scenes */
.lab-scene-svg{width:min(100%,390px);height:auto;overflow:visible;filter:drop-shadow(0 22px 24px rgba(0,0,0,.24))}
.lab-scene-svg *{vector-effect:non-scaling-stroke}.scene-back{stroke:rgba(255,255,255,.12);stroke-width:1.2}
.scene-grid{fill:none;stroke:rgba(255,255,255,.07);stroke-width:1}
.scene-draw,.scene-house,.lab-scene-svg .roof,.house,.floor-outline{fill:none;stroke:var(--lab-a);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.scene-pop,.scene-measure,.scene-energy,.scene-flow,.scene-heat path,.scene-air path{fill:none;stroke:var(--lab-c);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.scene-measure{stroke-dasharray:7 6}.scene-courses path,.scene-planks path,.scene-floor-planks path{fill:none;stroke:color-mix(in srgb,var(--lab-b) 72%,white);stroke-width:2;stroke-linecap:round}
.scene-weather,.scene-rain{fill:none;stroke:#60A5FA;stroke-width:2;stroke-linecap:round}.scene-weather circle{fill:#60A5FA;stroke:none}
.scene-sun{fill:color-mix(in srgb,var(--lab-c) 22%,transparent);stroke:var(--lab-c);stroke-width:2.5}.scene-rays{fill:none;stroke:var(--lab-c);stroke-width:2.2;stroke-linecap:round;transform-origin:285px 48px}
.scene-panel,.scene-window,.scene-thermo,.scene-board-pop{fill:color-mix(in srgb,var(--lab-a) 12%,transparent);stroke:var(--lab-a);stroke-width:2.3;stroke-linejoin:round}
.scene-energy{stroke-dasharray:6 7}.scene-pulse{fill:color-mix(in srgb,var(--lab-c) 35%,transparent);stroke:var(--lab-c);stroke-width:2}
.scene-fan-ring{fill:color-mix(in srgb,var(--lab-b) 10%,transparent);stroke:var(--lab-b);stroke-width:2}.scene-spin{fill:none;stroke:var(--lab-a);stroke-width:2.5;transform-origin:113px 124px}
.scene-air{fill:none;stroke:#67E8F9;stroke-width:2;stroke-linecap:round}.scene-thermo text{font-family:var(--f-mono);font-size:14px;fill:#E8FAFC;stroke:none}
.scene-glints,.scene-glint,.scene-spark{fill:none;stroke:#BAE6FD;stroke-width:2.4;stroke-linecap:round}.scene-heat{fill:none;stroke:#FB923C;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.scene-water-level{fill:color-mix(in srgb,var(--lab-a) 38%,transparent);stroke:none}.scene-wave{fill:none;stroke:#7DD3FC;stroke-width:3}.scene-bubbles{fill:none;stroke:#BAE6FD;stroke-width:1.8}
.scene-heat-source{fill:color-mix(in srgb,var(--lab-b) 28%,transparent);stroke:var(--lab-b);stroke-width:2}.scene-nails{fill:var(--lab-c);stroke:none}
.scene-water-run{fill:none;stroke:#67E8F9;stroke-width:3;stroke-linecap:round}.scene-water-run circle{fill:#38BDF8;stroke:none}
.scene-floor-planks,.scene-board-pop{transform-origin:center bottom}.scene-spark{transform-origin:center}
.reveal .result-lab .scene-draw{stroke-dasharray:520;stroke-dashoffset:520;animation:labDraw 1.25s var(--ease) .2s forwards}
.reveal .result-lab .scene-courses path,.reveal .result-lab .scene-planks path,.reveal .result-lab .scene-floor-planks path{opacity:0;animation:courseIn .52s var(--ease) forwards}
.reveal .result-lab .scene-courses path:nth-child(1),.reveal .result-lab .scene-planks path:nth-child(1),.reveal .result-lab .scene-floor-planks path:nth-child(1){animation-delay:.48s}
.reveal .result-lab .scene-courses path:nth-child(2),.reveal .result-lab .scene-planks path:nth-child(2),.reveal .result-lab .scene-floor-planks path:nth-child(2){animation-delay:.60s}
.reveal .result-lab .scene-courses path:nth-child(3),.reveal .result-lab .scene-planks path:nth-child(3),.reveal .result-lab .scene-floor-planks path:nth-child(3){animation-delay:.72s}
.reveal .result-lab .scene-planks path:nth-child(n+4),.reveal .result-lab .scene-floor-planks path:nth-child(n+4){animation-delay:.84s}
@keyframes labDraw{to{stroke-dashoffset:0}}@keyframes courseIn{from{transform:translateY(-8px);opacity:0}to{transform:none;opacity:1}}
.scene-weather,.scene-rain{animation:weatherFall 2.6s linear infinite}.scene-rays{animation:toolSpin 16s linear infinite}.scene-panel{animation:panelFloat 4.5s ease-in-out infinite}
.scene-energy,.scene-air,.scene-water-run{stroke-dasharray:9 8;animation:energyFlow 2.2s linear infinite}.scene-pulse{animation:toolPulse 2.4s ease-in-out infinite}
.scene-spin{animation:toolSpin 2.5s linear infinite}.scene-glints,.scene-glint{animation:glintMove 3.2s ease-in-out infinite}.scene-heat{animation:heatFloat 2.8s ease-in-out infinite}
.scene-wave{animation:waveSlide 3.2s linear infinite}.scene-bubbles{animation:bubbleRise 3.5s ease-in infinite}.scene-heat-source{animation:toolPulse 2s ease-in-out infinite}
.scene-water-run circle{animation:waterDrop 2s ease-in infinite}.scene-water-run circle:nth-child(2){animation-delay:.7s}.scene-spark{animation:sparkle 2.5s ease-in-out infinite}
@keyframes weatherFall{0%{transform:translateY(-12px);opacity:0}25%{opacity:1}100%{transform:translateY(25px);opacity:0}}
@keyframes panelFloat{50%{transform:translateY(-4px)}}@keyframes energyFlow{to{stroke-dashoffset:-34}}
@keyframes glintMove{0%,100%{opacity:.18;transform:translate(-3px,3px)}55%{opacity:1;transform:translate(3px,-3px)}}
@keyframes heatFloat{50%{transform:translateY(-5px);opacity:.55}}@keyframes waveSlide{to{transform:translateX(72px)}}
@keyframes bubbleRise{0%{transform:translateY(18px);opacity:0}45%{opacity:1}100%{transform:translateY(-25px);opacity:0}}
@keyframes waterDrop{0%{transform:translateY(-5px);opacity:0}35%{opacity:1}100%{transform:translateY(8px);opacity:0}}
@keyframes sparkle{50%{transform:scale(1.18);opacity:.45}}

/* Cost matrix and scenario system */
.lab-dashboard{display:grid;grid-template-columns:minmax(0,1fr) 230px;gap:14px;padding:20px 20px 0;background:#F4F8F9}
.lab-matrix,.lab-orbit{background:#fff;border:1px solid #D7E3E7;border-radius:16px;padding:20px;box-shadow:0 12px 30px -28px rgba(15,27,34,.55)}
.lab-panel-head{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:18px}.lab-panel-head span{font-family:var(--f-mono);font-size:.58rem;letter-spacing:.13em;text-transform:uppercase;color:var(--lab-a)}
.lab-panel-head h4{font-size:1.08rem;margin:3px 0 0}.lab-panel-head>small{font-size:.67rem;color:var(--ink-3);max-width:19ch;text-align:right}
.matrix-row{margin:0 0 14px}.matrix-row:last-child{margin-bottom:0}.matrix-label{display:flex;justify-content:space-between;gap:14px;align-items:baseline;margin-bottom:5px}
.matrix-label span{font-size:.78rem;color:var(--ink-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.matrix-label b{font-family:var(--f-mono);font-size:.66rem;color:var(--ink);white-space:nowrap}
.matrix-track{height:12px;border-radius:100px;background:#EDF3F4;overflow:hidden;position:relative}.matrix-track i{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--lab-a),var(--lab-b) 72%,var(--lab-c));box-shadow:0 0 14px color-mix(in srgb,var(--lab-a) 30%,transparent)}
.reveal .matrix-track i{animation:matrixGrow 1s var(--ease) .38s forwards}@keyframes matrixGrow{to{width:var(--size)}}
.matrix-track em{position:absolute;right:7px;top:50%;transform:translateY(-50%);font-family:var(--f-mono);font-size:.5rem;color:#526B75;font-style:normal}
.lab-orbit{text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center}.lab-orbit svg{width:142px;height:142px;overflow:visible}.orbit-base,.orbit-value{fill:none;stroke-width:11;transform:rotate(-90deg);transform-origin:70px 70px}
.orbit-base{stroke:#E7EFF1}.orbit-value{stroke:var(--lab-a);stroke-linecap:round;stroke-dasharray:0 100;filter:drop-shadow(0 3px 5px color-mix(in srgb,var(--lab-a) 28%,transparent))}
.reveal .orbit-value{animation:orbitFill 1.25s var(--ease) .45s forwards}@keyframes orbitFill{to{stroke-dasharray:var(--pct) calc(100 - var(--pct))}}
.orbit-dot{fill:var(--lab-c);transform-origin:70px 70px;animation:toolSatellite 7s linear infinite}.lab-orbit text:first-of-type{font-family:var(--f-mono);font-size:21px;font-weight:600;fill:var(--ink)}.lab-orbit text:last-of-type{font-family:var(--f-mono);font-size:7px;text-transform:uppercase;letter-spacing:.08em;fill:var(--ink-3)}
.lab-orbit>strong{font-size:.78rem;max-width:20ch}.lab-orbit>p{font-size:.69rem;line-height:1.45;color:var(--ink-3);margin:4px 0 0}
.scenario-matrix{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:14px 20px 20px;background:#F4F8F9}.scenario{padding:16px;border:1px solid #D8E4E7;border-radius:15px;background:#fff;position:relative;overflow:hidden}
.scenario::before{content:"";position:absolute;inset:0 auto 0 0;width:3px}.scenario.low::before{background:#22C55E}.scenario.mid::before{background:var(--lab-a)}.scenario.high::before{background:#F59E0B}
.scenario span{display:block;font-family:var(--f-mono);font-size:.56rem;letter-spacing:.11em;text-transform:uppercase;color:var(--ink-3)}.scenario strong{display:block;font-family:var(--f-mono);font-size:1.15rem;color:var(--ink);margin:3px 0 8px}.scenario i{display:block;height:5px;border-radius:10px;background:#EDF2F4;overflow:hidden}.scenario i b{display:block;width:0;height:100%;background:linear-gradient(90deg,var(--lab-a),var(--lab-c));border-radius:inherit}.reveal .scenario i b{animation:scenarioGrow .9s var(--ease) .55s forwards}@keyframes scenarioGrow{to{width:var(--scenario)}}
.scenario small{display:block;font-size:.68rem;line-height:1.45;color:var(--ink-3);margin-top:9px}
.lab-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:0 20px 14px;background:#F4F8F9}.lab-detail-grid>div{padding:17px 18px;border-radius:14px;border:1px solid #D7E4E6;background:linear-gradient(145deg,#fff,#F5FAFA)}
.lab-detail-grid span,.lab-summary>span{display:block;font-family:var(--f-mono);font-size:.58rem;letter-spacing:.12em;text-transform:uppercase;color:var(--lab-a);font-weight:600}.lab-detail-grid p{font-size:.76rem;line-height:1.55;color:var(--ink-2);margin:7px 0 0}
.lab-summary{margin:0 20px 20px;padding:16px 18px;border-radius:14px;background:linear-gradient(110deg,color-mix(in srgb,var(--lab-a) 10%,white),color-mix(in srgb,var(--lab-b) 8%,white));border:1px solid color-mix(in srgb,var(--lab-a) 20%,#D8E3E6)}
.lab-summary p{font-size:.78rem;line-height:1.58;color:var(--ink-2);margin:6px 0 0}.lab-summary p b{font-family:var(--f-mono);color:var(--ink)}

/* Claim Gap v2 decision board */
.claim-decision-board{margin-top:20px;padding:22px;border-radius:19px;background:linear-gradient(145deg,#081F28,#0D3540 58%,#172A3D);color:#DDECEF;border:1px solid rgba(255,255,255,.1);position:relative;overflow:hidden}
.claim-decision-board::before{content:"";position:absolute;width:330px;height:330px;right:-170px;top:-190px;border-radius:50%;background:radial-gradient(circle,rgba(139,92,246,.35),transparent 68%)}
.claim-board-head{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:end;position:relative}.claim-board-head span{font-family:var(--f-mono);font-size:.58rem;letter-spacing:.13em;text-transform:uppercase;color:#7CE1D0}.claim-board-head h3{font-size:1.25rem;color:#fff;margin:5px 0 0}.claim-board-head p{font-size:.72rem;line-height:1.5;color:#9EB6BE;margin:0}
.claim-waterfall{margin-top:20px;padding:17px;border-radius:14px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.09)}.waterfall-row{display:grid;grid-template-columns:145px 1fr 88px;gap:12px;align-items:center;margin-bottom:12px}.waterfall-row:last-child{margin-bottom:0}.waterfall-row>span{font-size:.7rem;color:#B9CBD1}.waterfall-row>i{height:10px;border-radius:100px;background:rgba(255,255,255,.08);overflow:hidden}.waterfall-row>i b{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#0E7C6B,#22C55E)}.waterfall-row.depreciation>i b{background:linear-gradient(90deg,#F59E0B,#EF4444)}.waterfall-row.deductible>i b{background:#8B5CF6}.waterfall-row.first>i b{background:linear-gradient(90deg,#0284C7,#06B6D4)}.waterfall-row.recoverable>i b{background:linear-gradient(90deg,#22C55E,#7CE1D0)}
.reveal .waterfall-row>i b{animation:waterfallGrow 1.05s var(--ease) .42s forwards}@keyframes waterfallGrow{to{width:var(--flow)}}.waterfall-row strong{font-family:var(--f-mono);font-size:.7rem;color:#fff;text-align:right}
.claim-age-matrix{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:12px}.claim-age-matrix>div{padding:14px;border-radius:13px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.09)}.claim-age-matrix>div.current{background:linear-gradient(145deg,rgba(14,124,107,.34),rgba(2,132,199,.22));border-color:rgba(124,225,208,.4)}
.claim-age-matrix small,.claim-age-matrix span,.claim-age-matrix strong,.claim-age-matrix em{display:block}.claim-age-matrix small{font-family:var(--f-mono);font-size:.49rem;letter-spacing:.1em;text-transform:uppercase;color:#7C98A1}.claim-age-matrix span{font-size:.72rem;color:#C7D9DE;margin:3px 0}.claim-age-matrix strong{font-family:var(--f-mono);font-size:1.05rem;color:#fff}.claim-age-matrix em{font-size:.58rem;color:#819CA5;font-style:normal}
.claim-board-summary{display:grid;grid-template-columns:62px 1fr;gap:14px;align-items:center;margin-top:12px;padding:14px;border-radius:13px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.09)}.claim-board-summary svg{width:58px;height:58px;overflow:visible}.claim-board-summary svg circle{fill:none;stroke:rgba(255,255,255,.12);stroke-width:6;transform:rotate(-90deg);transform-origin:32px 32px}.claim-board-summary svg circle.v{stroke:#7CE1D0;stroke-linecap:round;stroke-dasharray:0 100}.reveal .claim-board-summary svg circle.v{animation:claimArc 1.1s var(--ease) .5s forwards}@keyframes claimArc{to{stroke-dasharray:var(--dep) calc(100 - var(--dep))}}.claim-board-summary svg path{fill:none;stroke:#FDC76B;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.claim-board-summary p{font-size:.72rem;line-height:1.55;color:#ABC0C6;margin:0}.claim-board-summary p>span{display:block;font-family:var(--f-mono);font-size:.52rem;letter-spacing:.1em;text-transform:uppercase;color:#7CE1D0}.claim-board-summary strong{color:#fff}

@media(max-width:760px){
  .lab-hero{grid-template-columns:1fr}.lab-art{min-height:265px;padding-top:42px}.lab-scene-svg{max-width:330px}.lab-story{padding:26px 22px 28px}.lab-story h3{max-width:none}
  .lab-dashboard{grid-template-columns:1fr}.lab-orbit{display:grid;grid-template-columns:115px 1fr;column-gap:10px;text-align:left}.lab-orbit svg{grid-row:1/3;width:110px;height:110px}.lab-orbit>strong,.lab-orbit>p{max-width:none}
  .scenario-matrix,.lab-detail-grid,.claim-age-matrix{grid-template-columns:1fr}.lab-panel-head{align-items:start}.lab-panel-head>small{display:none}
  .claim-board-head{grid-template-columns:1fr;gap:8px}.waterfall-row{grid-template-columns:115px 1fr 76px}
}
@media(max-width:480px){
  .lab-dashboard,.scenario-matrix,.lab-detail-grid{padding-left:12px;padding-right:12px}.lab-summary{margin-left:12px;margin-right:12px}.lab-matrix{padding:15px}.matrix-label span{max-width:52%}
  .lab-range strong{gap:7px}.lab-chips>span{max-width:100%}.claim-decision-board{padding:17px 13px}.waterfall-row{grid-template-columns:1fr 65px}.waterfall-row>i{grid-column:1/-1;grid-row:2}.waterfall-row strong{grid-column:2;grid-row:1}.claim-board-summary{grid-template-columns:1fr}.claim-board-summary svg{display:none}
  .data{table-layout:fixed;width:100%;max-width:100%}.data th,.data td{overflow-wrap:anywhere;padding-left:9px;padding-right:9px}
}
@media(prefers-reduced-motion:reduce){
  .rail::before,.rail::after,.tool>i::before,.tool>i::after,.brand-mark,.lab-live i,.lab-scene-svg *,.orbit-dot{animation:none!important}
  .scene-draw{stroke-dashoffset:0!important}.matrix-track i{width:var(--size)!important}.orbit-value{stroke-dasharray:var(--pct) calc(100 - var(--pct))!important}.scenario i b{width:var(--scenario)!important}.waterfall-row>i b{width:var(--flow)!important}.claim-board-summary svg circle.v{stroke-dasharray:var(--dep) calc(100 - var(--dep))!important}
}
.lowfx .rail::before,.lowfx .rail::after,.lowfx .tool>i::before,.lowfx .tool>i::after,.lowfx .brand-mark,.lowfx .lab-scene-svg *{animation:none!important}


/* ---------- print / PDF capture ---------- */
@media print{
  .rv,.reveal .rv,.viz-draw,.viz-pop,.lab-scene-svg *{
    opacity:1!important;transform:none!important;
    stroke-dashoffset:0!important;animation:none!important;
  }
  .gapbar span{width:var(--w)!important}
  .masthead,.rail,.scrollbar,.navdrawer,.ad{display:none!important}
  .foot .aurora{display:none}
  .foot{background:#0F1B22!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  a[href^="/"]::after{content:""}
}

/* ============================================================
   v13 - advanced calculator and result workspace
   ============================================================ */
html,body{max-width:100%;overflow-x:clip}
.wrap-tight,.sheet,.sheet-body,.field-grid,.field,.result-lab{min-width:0}
.wrap-tight:has(.calc-modern){max-width:1080px}

/* Wider, layered estimator form */
.sheet.calc-modern{
  --calc-a:#0E7C6B;--calc-b:#0284C7;--calc-c:#F59E0B;
  width:100%;margin:40px auto 50px;border-radius:25px;border-color:color-mix(in srgb,var(--calc-a) 26%,#CBDCE1);
  box-shadow:0 30px 85px -48px color-mix(in srgb,var(--calc-a) 42%,#0F1B22),0 12px 32px -25px #071C23;
  background:linear-gradient(150deg,#fff,#F6FAFB);overflow:hidden
}
.calc-modern .sheet-head{
  position:relative;overflow:hidden;padding:21px 26px;
  background:radial-gradient(circle at 82% -50%,color-mix(in srgb,var(--calc-b) 44%,transparent),transparent 47%),linear-gradient(125deg,#061D25,#0B3540 58%,#132B3E)
}
.calc-modern .sheet-head::before{content:"";position:absolute;inset:auto -15% 0;height:3px;background:linear-gradient(90deg,transparent,var(--calc-a),var(--calc-b),var(--calc-c),transparent);animation:calcSpectrum 5.5s linear infinite}
.calc-modern .sheet-head::after{content:"";position:absolute;width:220px;height:220px;border-radius:50%;right:-70px;top:-175px;border:1px solid rgba(255,255,255,.17);box-shadow:0 0 0 34px rgba(255,255,255,.035),0 0 0 69px rgba(255,255,255,.025)}
@keyframes calcSpectrum{0%{transform:translateX(-16%);filter:hue-rotate(0)}50%{transform:translateX(16%);filter:hue-rotate(24deg)}100%{transform:translateX(-16%);filter:hue-rotate(0)}}
.calc-modern .sheet-head h2,.calc-modern .sheet-head .stamp{position:relative;z-index:1}
.calc-modern .sheet-head h2{font-size:clamp(1.12rem,2vw,1.35rem)}
.calc-modern .sheet-head .stamp{padding:6px 11px;border:1px solid rgba(255,255,255,.11);background:rgba(255,255,255,.075);letter-spacing:.075em}
.calc-modern .sheet-body{padding:25px;background:radial-gradient(circle at 0 0,color-mix(in srgb,var(--calc-a) 7%,transparent),transparent 28%),linear-gradient(180deg,#F7FAFB,#fff 32%)}
.calc-modern form{padding:21px;border:1px solid #D6E4E7;border-radius:19px;background:rgba(255,255,255,.91);box-shadow:0 16px 40px -37px #061D25}
.calc-modern .field-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:13px}
.calc-modern .field{position:relative;padding:14px;border:1px solid #DFE9EC;border-radius:14px;background:linear-gradient(145deg,#fff,#F5F9FA);transition:transform .24s var(--ease),border-color .24s,box-shadow .24s}
.calc-modern .field::before{content:"";position:absolute;left:0;top:15px;bottom:15px;width:2px;border-radius:4px;background:linear-gradient(var(--calc-a),var(--calc-b));opacity:.34;transition:opacity .2s}
.calc-modern .field:focus-within{transform:translateY(-2px);border-color:color-mix(in srgb,var(--calc-a) 42%,#D4E2E5);box-shadow:0 15px 28px -25px color-mix(in srgb,var(--calc-a) 55%,#071C23)}
.calc-modern .field:focus-within::before{opacity:1}
.calc-modern .field label{font-size:.64rem;margin-bottom:8px;color:#385662}
.calc-modern input,.calc-modern select{width:100%;min-width:0;max-width:100%;height:47px;border-radius:10px;background:#F2F7F8;border-color:#D7E3E7;text-overflow:ellipsis}
.calc-modern select{padding-right:35px}
.calc-modern input:focus,.calc-modern select:focus{background:#fff;border-color:var(--calc-a);box-shadow:0 0 0 3px color-mix(in srgb,var(--calc-a) 12%,transparent)}
.calc-modern .hint{font-size:.71rem;line-height:1.5;margin-top:7px;color:#6E8791}
.calc-modern .btn{position:relative;overflow:hidden;min-height:48px;margin-top:19px;padding:0 25px;border-radius:12px;background:linear-gradient(105deg,var(--calc-a),var(--calc-b));box-shadow:0 13px 28px -16px color-mix(in srgb,var(--calc-a) 72%,#061D25);transition:transform .22s,box-shadow .22s}
.calc-modern .btn::after{content:"";position:absolute;inset:-60% auto -60% -45%;width:32%;background:rgba(255,255,255,.32);transform:skewX(-20deg);animation:calcButtonGlint 4.4s ease-in-out infinite}
.calc-modern .btn:hover{transform:translateY(-2px);box-shadow:0 18px 34px -17px color-mix(in srgb,var(--calc-a) 82%,#061D25)}
@keyframes calcButtonGlint{0%,58%{left:-45%}78%,100%{left:125%}}

.calc-experience{display:grid;grid-template-columns:minmax(250px,1fr) auto;gap:16px 26px;align-items:center;margin-bottom:17px;padding:17px 19px;border:1px solid rgba(255,255,255,.11);border-radius:18px;color:#E6F3F5;background:radial-gradient(circle at 3% 0,color-mix(in srgb,var(--calc-a) 35%,transparent),transparent 40%),linear-gradient(135deg,#071C23,#0C303A 62%,#14293B);box-shadow:0 20px 38px -32px #071C23;position:relative;overflow:hidden}
.calc-experience::after{content:"";position:absolute;width:170px;height:170px;border-radius:50%;right:-105px;bottom:-130px;border:1px solid color-mix(in srgb,var(--calc-c) 50%,transparent);box-shadow:0 0 0 25px rgba(255,255,255,.025)}
.calc-experience-copy{display:flex;gap:13px;align-items:center;position:relative;z-index:1}
.calc-experience-copy small,.calc-experience-copy strong{display:block}.calc-experience-copy small{font-family:var(--f-mono);font-size:.55rem;letter-spacing:.12em;text-transform:uppercase;color:#7CE1D0}.calc-experience-copy strong{font-size:.87rem;color:#fff;margin-top:3px}
.calc-mini-icon{width:48px;height:48px;flex:0 0 auto;display:grid;place-items:center;border-radius:14px;border:1px solid rgba(255,255,255,.13);background:linear-gradient(145deg,color-mix(in srgb,var(--calc-a) 35%,transparent),color-mix(in srgb,var(--calc-b) 18%,transparent));box-shadow:inset 0 0 18px rgba(255,255,255,.04)}
.calc-mini-icon svg{width:29px;height:29px;fill:none;stroke:#E9FBFD;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}.calc-mini-icon svg .hot{stroke:var(--calc-c);animation:workspaceIcon 2.6s ease-in-out infinite}
@keyframes workspaceIcon{50%{transform:translateY(-1px);opacity:.6}}
.calc-progress{display:flex;align-items:center;gap:0;list-style:none;padding:0;margin:0;position:relative;z-index:1}.calc-progress li{display:flex;align-items:center;gap:6px;color:#72909A;font-family:var(--f-mono);font-size:.56rem;text-transform:uppercase;letter-spacing:.07em}.calc-progress li:not(:last-child)::after{content:"";width:26px;height:1px;margin:0 7px;background:rgba(255,255,255,.14)}.calc-progress i{width:23px;height:23px;display:grid;place-items:center;border-radius:50%;border:1px solid rgba(255,255,255,.16);font-style:normal}.calc-progress li.active{color:#fff}.calc-progress li.active i{border-color:var(--calc-b);background:color-mix(in srgb,var(--calc-b) 32%,transparent);box-shadow:0 0 15px color-mix(in srgb,var(--calc-b) 36%,transparent)}.calc-progress li.done i{color:#052B31;background:#73E1CF;border-color:#73E1CF}.calc-progress li.done:not(:last-child)::after{background:linear-gradient(90deg,#73E1CF,var(--calc-b))}
.calc-saved-slot{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;min-height:23px;padding-top:11px;border-top:1px solid rgba(255,255,255,.08);position:relative;z-index:1}.calc-saved-slot>span{display:flex;align-items:center;gap:7px;font-size:.66rem;color:#829DA5}.calc-saved-slot>span i{width:7px;height:7px;border-radius:50%;background:#67818A}.calc-saved-slot small{font-size:.6rem;color:#78949C}.calc-restore{display:flex;align-items:center;gap:7px;border:0;padding:0;color:#BFECE5;background:transparent;font:600 .67rem var(--f-body);cursor:pointer}.calc-restore svg{width:17px;height:17px;fill:none;stroke:#7CE1D0;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.calc-restore:hover{color:#fff}

/* Colorful estimate command centre */
.estimate-cockpit{--ec-a:#0E7C6B;--ec-b:#0284C7;--ec-c:#F59E0B;position:relative;margin:0 0 19px;padding:23px;border-radius:21px;border:1px solid rgba(255,255,255,.11);overflow:hidden;color:#E5F3F5;background:radial-gradient(circle at 3% 0,color-mix(in srgb,var(--ec-a) 39%,transparent),transparent 37%),radial-gradient(circle at 98% 15%,color-mix(in srgb,var(--ec-b) 28%,transparent),transparent 34%),linear-gradient(142deg,#061B23,#0B303A 60%,#16273D);box-shadow:0 27px 50px -35px color-mix(in srgb,var(--ec-a) 75%,#061B23);isolation:isolate}
.estimate-cockpit::before,.estimate-cockpit::after{content:"";position:absolute;border-radius:50%;pointer-events:none;z-index:-1}.estimate-cockpit::before{width:250px;height:250px;right:-165px;bottom:-175px;border:1px solid color-mix(in srgb,var(--ec-c) 48%,transparent);box-shadow:0 0 0 34px rgba(255,255,255,.024),0 0 0 68px rgba(255,255,255,.018);animation:cockpitOrbit 12s linear infinite}.estimate-cockpit::after{width:150px;height:150px;left:-95px;top:-100px;background:radial-gradient(circle,color-mix(in srgb,var(--ec-a) 26%,transparent),transparent 70%);animation:cockpitFloat 6s ease-in-out infinite}
@keyframes cockpitOrbit{to{transform:rotate(360deg)}}@keyframes cockpitFloat{50%{transform:translate(18px,12px) scale(1.12)}}
.estimate-cockpit-spectrum{position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,var(--ec-a),var(--ec-b),var(--ec-c),var(--ec-a));background-size:230% 100%;animation:commandSpectrum 5s linear infinite}@keyframes commandSpectrum{to{background-position:230% 0}}
.estimate-cockpit-top{display:flex;align-items:center;justify-content:space-between;gap:20px;position:relative;z-index:1}
.estimate-identity{display:flex;align-items:center;gap:14px;min-width:0}.estimate-tool-icon{width:56px;height:56px;flex:0 0 auto;display:grid;place-items:center;border-radius:17px;background:linear-gradient(145deg,color-mix(in srgb,var(--ec-a) 42%,transparent),color-mix(in srgb,var(--ec-b) 22%,transparent));border:1px solid rgba(255,255,255,.13);box-shadow:inset 0 0 24px rgba(255,255,255,.04),0 14px 24px -18px #000}.estimate-tool-icon svg{width:34px;height:34px;fill:none;stroke:#EDFEFF;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.estimate-tool-icon svg .hot{stroke:var(--ec-c);filter:drop-shadow(0 0 5px color-mix(in srgb,var(--ec-c) 65%,transparent));animation:commandIcon 2.7s ease-in-out infinite}@keyframes commandIcon{50%{transform:translateY(-1.5px);opacity:.66}}
.estimate-identity small{display:block;color:#7CE1D0;font-family:var(--f-mono);font-size:.56rem;letter-spacing:.13em;text-transform:uppercase}.estimate-identity h3{margin:4px 0 3px;color:#fff;font-size:clamp(1.02rem,2vw,1.3rem)}.estimate-state-copy{margin:0;color:#829DA6;font-size:.65rem}
.estimate-ready{display:flex;align-items:center;gap:7px;flex:0 0 auto;padding:8px 10px;border:1px solid rgba(255,255,255,.1);border-radius:100px;background:rgba(255,255,255,.055);font-family:var(--f-mono);font-size:.56rem;letter-spacing:.08em;text-transform:uppercase;color:#B9D0D5}.estimate-ready i{width:7px;height:7px;border-radius:50%;background:#34D399;box-shadow:0 0 0 0 rgba(52,211,153,.45);animation:estimatePulse 1.9s ease-out infinite}@keyframes estimatePulse{75%{box-shadow:0 0 0 9px rgba(52,211,153,0)}}
.estimate-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:19px;position:relative;z-index:1}.estimate-metric{min-width:0;display:flex;justify-content:space-between;gap:12px;align-items:end;padding:15px;border:1px solid rgba(255,255,255,.1);border-radius:14px;background:rgba(255,255,255,.06);backdrop-filter:blur(7px);overflow:hidden}.estimate-metric:nth-child(1){background:linear-gradient(145deg,color-mix(in srgb,var(--ec-a) 19%,transparent),rgba(255,255,255,.045))}.estimate-metric:nth-child(2){background:linear-gradient(145deg,color-mix(in srgb,var(--ec-b) 19%,transparent),rgba(255,255,255,.045))}.estimate-metric:nth-child(3){background:linear-gradient(145deg,color-mix(in srgb,var(--ec-c) 15%,transparent),rgba(255,255,255,.045))}.estimate-metric span,.estimate-metric strong{display:block}.estimate-metric span{font-family:var(--f-mono);font-size:.51rem;line-height:1.4;letter-spacing:.09em;text-transform:uppercase;color:#8CA7AF}.estimate-metric strong{margin-top:5px;color:#fff;font:600 clamp(.9rem,1.8vw,1.12rem) var(--f-mono);overflow-wrap:anywhere}.estimate-metric svg{width:64px;height:22px;flex:0 0 auto;overflow:visible}.estimate-metric polyline{fill:none;stroke:var(--ec-b);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:85;stroke-dashoffset:85;animation:metricDraw 1.1s var(--ease) .28s forwards}.estimate-metric:nth-child(1) polyline{stroke:var(--ec-a)}.estimate-metric:nth-child(3) polyline{stroke:var(--ec-c)}.estimate-metric circle{fill:var(--ec-c);opacity:0;animation:metricDot .3s ease 1.25s forwards}@keyframes metricDraw{to{stroke-dashoffset:0}}@keyframes metricDot{to{opacity:1}}
.estimate-command-row{display:flex;justify-content:space-between;gap:18px;align-items:center;margin-top:11px;padding:12px 0 0;border-top:1px solid rgba(255,255,255,.085);position:relative;z-index:1}.estimate-command-row>div:first-child span,.estimate-command-row>div:first-child small{display:block}.estimate-command-row>div:first-child span{font-size:.75rem;font-weight:700;color:#EDF8FA}.estimate-command-row>div:first-child small{font-size:.6rem;color:#78949D;margin-top:2px}.estimate-actions{display:grid;grid-template-columns:repeat(4,auto);gap:7px}.estimate-action{display:flex;align-items:center;justify-content:center;gap:6px;min-width:78px;height:38px;padding:0 11px;border-radius:10px;border:1px solid rgba(255,255,255,.12);color:#D9E9EC;background:rgba(255,255,255,.065);font:650 .66rem var(--f-body);cursor:pointer;transition:transform .2s,border-color .2s,background .2s}.estimate-action svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}.estimate-action:hover{transform:translateY(-2px);color:#fff;border-color:color-mix(in srgb,var(--ec-b) 55%,white);background:color-mix(in srgb,var(--ec-b) 24%,transparent)}.estimate-action-pdf{background:color-mix(in srgb,var(--ec-a) 27%,transparent);border-color:color-mix(in srgb,var(--ec-a) 48%,transparent)}.estimate-action.saved{color:#C5F8E9;background:rgba(34,197,94,.18);border-color:rgba(74,222,128,.45)}
.estimate-toast{position:fixed;left:50%;bottom:24px;z-index:9999;display:flex;align-items:center;gap:9px;max-width:min(440px,calc(100vw - 24px));padding:12px 16px;border-radius:12px;color:#fff;background:#092832;border:1px solid rgba(255,255,255,.13);box-shadow:0 20px 50px -20px #000;opacity:0;transform:translate(-50%,18px);transition:.28s var(--ease);font-size:.78rem}.estimate-toast.show{opacity:1;transform:translate(-50%,0)}.estimate-toast i{width:8px;height:8px;border-radius:50%;background:#34D399}.estimate-toast.error i{background:#FB7185}

/* Result graphics use the expanded canvas and never truncate meaning */
.result-lab{border-radius:23px;border-color:color-mix(in srgb,var(--lab-a) 22%,#CADDE2);box-shadow:0 30px 70px -44px color-mix(in srgb,var(--lab-a) 48%,#071C23)}
.result-lab::before{content:"";display:block;height:3px;background:linear-gradient(90deg,var(--lab-a),var(--lab-b),var(--lab-c),var(--lab-a));background-size:220% 100%;animation:commandSpectrum 6s linear infinite}
.lab-hero{background:radial-gradient(circle at 7% 8%,color-mix(in srgb,var(--lab-a) 35%,transparent),transparent 40%),radial-gradient(circle at 97% 90%,color-mix(in srgb,var(--lab-b) 31%,transparent),transparent 40%),linear-gradient(145deg,#041A22,#082E38 58%,#142B42)}
.lab-hero::after{content:"";position:absolute;width:330px;height:330px;border-radius:50%;right:-220px;top:-225px;border:1px solid color-mix(in srgb,var(--lab-c) 42%,transparent);box-shadow:0 0 0 40px rgba(255,255,255,.02),0 0 0 82px rgba(255,255,255,.016);animation:cockpitOrbit 18s linear infinite}
.lab-art,.lab-story{z-index:1}.lab-matrix,.lab-orbit,.scenario,.lab-detail-grid>div{box-shadow:0 18px 36px -34px color-mix(in srgb,var(--lab-a) 50%,#071C23)}
.matrix-label{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start}
.matrix-label span{min-width:0;white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere;line-height:1.38}.matrix-label b{max-width:28ch;text-align:right;white-space:normal;overflow-wrap:anywhere;line-height:1.38}
.matrix-row:nth-child(2) .matrix-track i{filter:hue-rotate(24deg)}.matrix-row:nth-child(3) .matrix-track i{filter:hue-rotate(52deg)}.matrix-row:nth-child(4) .matrix-track i{filter:hue-rotate(82deg)}
.scenario.low{background:linear-gradient(145deg,#fff,#F0FBF6)}.scenario.mid{background:linear-gradient(145deg,#fff,color-mix(in srgb,var(--lab-a) 7%,white))}.scenario.high{background:linear-gradient(145deg,#fff,#FFF7EA)}
.lab-chips b{max-width:none;white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere}

@media(max-width:760px){
  .wrap-tight:has(.calc-modern){padding-left:7px;padding-right:7px}
  .sheet.calc-modern{margin:26px 0 38px;border-radius:19px}
  .calc-modern .sheet-head{padding:17px 15px}.calc-modern .sheet-head .stamp{max-width:100%;white-space:normal;line-height:1.35}
  .calc-modern .sheet-body{padding:12px}.calc-modern form{padding:12px;border-radius:15px}.calc-modern .field-grid{grid-template-columns:minmax(0,1fr);gap:9px}
  .calc-modern .field{padding:12px}.calc-modern input,.calc-modern select{font-size:.88rem}
  .calc-experience{grid-template-columns:1fr;padding:15px;gap:13px}.calc-progress{justify-content:flex-start}.calc-saved-slot{padding-top:10px}
  .estimate-cockpit{padding:18px 14px;border-radius:18px}.estimate-cockpit-top{align-items:flex-start}.estimate-ready{display:none}.estimate-tool-icon{width:49px;height:49px;border-radius:14px}.estimate-tool-icon svg{width:29px;height:29px}
  .estimate-metrics{grid-template-columns:1fr}.estimate-metric{align-items:center}.estimate-metric strong{font-size:1rem}.estimate-command-row{display:block}.estimate-actions{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:11px}.estimate-action{width:100%;min-width:0}
  .matrix-label{grid-template-columns:minmax(0,1fr) minmax(78px,auto)}.matrix-label span{max-width:none!important}.matrix-label b{max-width:18ch}
  .data th,.data td,.lines th,.lines td{overflow-wrap:anywhere;word-break:normal}.result-lab{border-radius:18px}.lab-chips b{max-width:none}
}
@media(max-width:430px){
  .rail-nav{width:31px;height:31px}.rail-scroll{padding-left:31px;padding-right:31px}.tool{padding-left:6px;padding-right:9px}
  .calc-experience-copy{align-items:flex-start}.calc-mini-icon{width:42px;height:42px;border-radius:12px}.calc-mini-icon svg{width:25px;height:25px}.calc-experience-copy strong{font-size:.78rem;line-height:1.35}
  .calc-progress{width:100%;justify-content:space-between}.calc-progress li:not(:last-child)::after{width:14px;margin:0 4px}.calc-progress li span{font-size:.5rem}
  .calc-saved-slot{align-items:flex-start;gap:8px;flex-direction:column}.estimate-identity{align-items:flex-start}.estimate-identity h3{line-height:1.18}.estimate-metric svg{width:56px}
  .lab-dashboard,.scenario-matrix,.lab-detail-grid{padding-left:9px;padding-right:9px}.lab-summary{margin-left:9px;margin-right:9px}.lab-matrix{padding:13px 11px}.matrix-label{gap:7px}.matrix-label span{font-size:.72rem}.matrix-label b{font-size:.61rem}
}
@media(prefers-reduced-motion:reduce){
  .calc-modern .sheet-head::before,.calc-modern .btn::after,.calc-mini-icon svg .hot,.estimate-cockpit::before,.estimate-cockpit::after,.estimate-cockpit-spectrum,.estimate-tool-icon svg .hot,.estimate-ready i,.estimate-metric polyline,.estimate-metric circle,.result-lab::before,.lab-hero::after{animation:none!important}
  .estimate-metric polyline{stroke-dashoffset:0!important}.estimate-metric circle{opacity:1!important}
}

/* Dedicated print portal: only the completed result is printed. */
#estimate-print-portal{display:none}
@media print{
  @page{size:A4 portrait;margin:9mm}
  html,body{width:auto!important;max-width:none!important;overflow:visible!important;background:#fff!important}
  body.print-estimate-mode>*:not(#estimate-print-portal){display:none!important}
  body.print-estimate-mode #estimate-print-portal{display:block!important;width:100%;max-width:none;margin:0;padding:0;color:#10242B;background:#fff}
  .print-report-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin:0 0 6mm;padding:0 0 4mm;border-bottom:2px solid #0E7C6B;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .print-report-head div>span,.print-report-head div>strong,.print-report-head div>small{display:block}.print-report-head div>span{font-family:var(--f-display);font-size:13pt;font-weight:800;color:#087A72}.print-report-head div>strong{font-size:17pt;color:#10242B;margin:2mm 0 1mm}.print-report-head div>small{font-size:7.5pt;color:#627984}.print-report-head p{max-width:46%;margin:0;text-align:right;font-size:7pt;line-height:1.45;color:#627984;overflow-wrap:anywhere}
  .print-result-clone{display:block!important;width:100%!important;max-width:none!important;margin:0!important;padding:0!important;overflow:visible!important}
  .print-result-clone,.print-result-clone *{box-sizing:border-box}
  .print-result-clone .rv,.print-result-clone.reveal .rv,.print-result-clone .viz-draw,.print-result-clone .viz-pop,.print-result-clone .lab-scene-svg *,.print-result-clone .lines tr,.print-result-clone .claim-paper,.print-result-clone .claim-timeline>div{opacity:1!important;transform:none!important;animation:none!important;transition:none!important;stroke-dashoffset:0!important}
  .print-result-clone .result-lab{margin:0 0 5mm!important;border-radius:10px!important;box-shadow:none!important;overflow:visible!important;break-inside:auto;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .print-result-clone .result-lab::before{animation:none!important}
  .print-result-clone .lab-hero{grid-template-columns:42% 58%;min-height:0!important;break-inside:avoid-page;overflow:hidden!important}
  .print-result-clone .lab-art{min-height:0!important;padding:9mm 4mm 5mm}.print-result-clone .lab-live{left:5mm;top:4mm}.print-result-clone .lab-scene-svg{width:100%;max-height:50mm;filter:none}.print-result-clone .lab-story{padding:8mm 7mm}.print-result-clone .lab-story h3{font-size:18pt}.print-result-clone .lab-story>p{font-size:7.5pt;line-height:1.45;margin-bottom:4mm}.print-result-clone .lab-range{padding:4mm}.print-result-clone .lab-range strong{font-size:13pt}.print-result-clone .lab-chips>span{padding:2mm 2.5mm}.print-result-clone .lab-chips b{font-size:6pt}
  .print-result-clone .lab-dashboard{grid-template-columns:minmax(0,1fr) 45mm;gap:3mm;padding:4mm 4mm 0;break-inside:avoid-page}.print-result-clone .lab-matrix,.print-result-clone .lab-orbit{padding:4mm;border-radius:8px;box-shadow:none}.print-result-clone .lab-panel-head{margin-bottom:4mm}.print-result-clone .lab-panel-head h4{font-size:10pt}.print-result-clone .matrix-row{margin-bottom:3mm}.print-result-clone .matrix-label span{font-size:7pt}.print-result-clone .matrix-label b{font-size:6pt}.print-result-clone .matrix-track i{width:var(--size)!important}.print-result-clone .orbit-value{stroke-dasharray:var(--pct) calc(100 - var(--pct))!important}
  .print-result-clone .scenario-matrix{grid-template-columns:repeat(3,1fr);gap:3mm;padding:3mm 4mm 4mm;break-inside:avoid-page}.print-result-clone .scenario{padding:4mm;box-shadow:none}.print-result-clone .scenario i b{width:var(--scenario)!important}.print-result-clone .scenario small{font-size:6pt}.print-result-clone .lab-detail-grid{grid-template-columns:1fr 1fr;gap:3mm;padding:0 4mm 3mm;break-inside:avoid-page}.print-result-clone .lab-detail-grid>div{padding:4mm;box-shadow:none}.print-result-clone .lab-detail-grid p,.print-result-clone .lab-summary p{font-size:7pt}.print-result-clone .lab-summary{margin:0 4mm 4mm;padding:4mm;break-inside:avoid-page}
  .print-result-clone .range-band,.print-result-clone .viz-head,.print-result-clone .claim-visual,.print-result-clone .claim-timeline,.print-result-clone .claim-decision-board,.print-result-clone .note,.print-result-clone .what,.print-result-clone .sources,.print-result-clone table,.print-result-clone .data{break-inside:avoid-page;page-break-inside:avoid;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .print-result-clone .claim-visual{grid-template-columns:43% 57%;padding:5mm}.print-result-clone .claim-visual svg{max-height:48mm}.print-result-clone .claim-timeline{grid-template-columns:repeat(4,1fr)}.print-result-clone .claim-decision-board{padding:5mm;overflow:hidden}.print-result-clone .waterfall-row>i b{width:var(--flow)!important}.print-result-clone .claim-board-summary svg circle.v{stroke-dasharray:var(--dep) calc(100 - var(--dep))!important}
  .print-result-clone table{width:100%!important;table-layout:auto!important}.print-result-clone thead{display:table-header-group}.print-result-clone tr{break-inside:avoid;page-break-inside:avoid}.print-result-clone th,.print-result-clone td{font-size:7.2pt!important;padding:2.4mm 2mm!important;overflow:visible!important;white-space:normal!important;overflow-wrap:anywhere}
  .print-result-clone .estimate-cockpit,.print-result-clone button{display:none!important}
  .print-result-clone a{color:inherit;text-decoration:none}.print-result-clone a::after{content:""!important}
}

.estimate-save-panel{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:13px;padding:13px 14px;border:1px solid rgba(110,231,183,.26);border-radius:13px;background:linear-gradient(105deg,rgba(16,185,129,.14),rgba(6,182,212,.08));position:relative;z-index:1;animation:savePanelIn .32s var(--ease) both}
@keyframes savePanelIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.estimate-save-status{display:flex;align-items:center;gap:10px;min-width:0}.estimate-save-status>span{width:30px;height:30px;flex:0 0 auto;display:grid;place-items:center;border-radius:50%;color:#032C28;background:#75E4C2;box-shadow:0 8px 18px -12px #000}.estimate-save-status svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}.estimate-save-status strong,.estimate-save-status small{display:block}.estimate-save-status strong{font-size:.72rem;color:#F2FFFC}.estimate-save-status small{font-size:.59rem;color:#9FC5C2;margin-top:2px}
.estimate-save-controls{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.estimate-save-controls button{min-height:33px;padding:0 10px;border:1px solid rgba(255,255,255,.14);border-radius:9px;color:#DDF5F0;background:rgba(255,255,255,.07);font:650 .61rem var(--f-body);cursor:pointer}.estimate-save-controls button:hover{color:#fff;background:rgba(255,255,255,.13)}.estimate-save-controls button.remove{color:#FFCBC7;border-color:rgba(251,113,133,.23)}

body.share-sheet-open{overflow:hidden}
.estimate-share-layer{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;padding:18px;background:rgba(3,18,24,.68);backdrop-filter:blur(7px);opacity:0;transition:opacity .22s ease}.estimate-share-layer.open{opacity:1}
.estimate-share-sheet{width:min(720px,100%);max-height:min(820px,calc(100vh - 36px));overflow:auto;border:1px solid rgba(255,255,255,.14);border-radius:23px;color:#E8F5F7;background:radial-gradient(circle at 8% -8%,rgba(14,124,107,.38),transparent 34%),radial-gradient(circle at 100% 5%,rgba(139,92,246,.25),transparent 33%),linear-gradient(145deg,#071C23,#0B303A 62%,#16273D);box-shadow:0 34px 95px -32px #000;transform:translateY(18px) scale(.975);transition:transform .24s var(--ease)}
.estimate-share-layer.open .estimate-share-sheet{transform:none}
.share-sheet-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:22px 22px 15px}.share-sheet-head small{display:block;font:600 .57rem var(--f-mono);letter-spacing:.13em;text-transform:uppercase;color:#79E0D0}.share-sheet-head h3{margin:4px 0 7px;color:#fff;font-size:1.18rem}.share-sheet-head p{max-width:58ch;margin:0;color:#A9C0C7;font-size:.69rem;line-height:1.5}.share-close{width:38px;height:38px;flex:0 0 auto;display:grid;place-items:center;border:1px solid rgba(255,255,255,.12);border-radius:50%;color:#EAF6F8;background:rgba(255,255,255,.07);cursor:pointer}.share-close:hover{background:rgba(255,255,255,.14)}.share-close svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.share-preview{margin:0 22px 15px;padding:12px 14px;border:1px solid rgba(255,255,255,.09);border-radius:12px;background:rgba(255,255,255,.055)}.share-preview span{display:block;font:600 .52rem var(--f-mono);letter-spacing:.11em;text-transform:uppercase;color:#83A3AC}.share-preview p{margin:5px 0 0;color:#D7E8EB;font-size:.68rem;line-height:1.52}
.social-share-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;padding:0 22px 22px}.social-share{min-width:0;display:flex;align-items:center;gap:9px;padding:11px;border:1px solid rgba(255,255,255,.1);border-radius:12px;color:#E9F5F7;background:rgba(255,255,255,.055);text-decoration:none;cursor:pointer;font-family:var(--f-body);transition:transform .2s var(--ease),background .2s,border-color .2s}.social-share:hover{transform:translateY(-2px);color:#fff;background:rgba(255,255,255,.11);border-color:rgba(255,255,255,.23)}.social-share strong{min-width:0;font-size:.66rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.social-icon{width:34px;height:34px;flex:0 0 auto;display:grid;place-items:center;border-radius:10px;color:#fff;background:#45636D;box-shadow:0 8px 16px -11px #000}.social-icon svg{width:21px;height:21px;fill:currentColor}.social-whatsapp .social-icon{background:#128C7E}.social-facebook .social-icon{background:#1877F2}.social-linkedin .social-icon{background:#0A66C2}.social-x .social-icon{background:#050505}.social-telegram .social-icon{background:#0879B9}.social-instagram .social-icon{background:linear-gradient(135deg,#833AB4,#E1306C 58%,#FCAF45)}.social-reddit .social-icon{background:#D93A00}.social-email .social-icon{background:#0E7C6B}.social-copy .social-icon{background:#6D55B6}.social-more .social-icon{background:#3E5964}

.calc-modern .sheet-head::before{will-change:transform}.calc-modern .sheet-head::before{animation:calcSpectrumV20 5.5s ease-in-out infinite!important}
@keyframes calcSpectrumV20{0%,100%{transform:translateX(-16%)}50%{transform:translateX(16%)}}
.calc-modern .btn::after{left:-45%!important;will-change:transform;animation:calcButtonGlintV20 4.4s ease-in-out infinite!important}
@keyframes calcButtonGlintV20{0%,58%{transform:translateX(0) skewX(-20deg)}78%,100%{transform:translateX(560%) skewX(-20deg)}}

@media(max-width:650px){
  .claim-visual{grid-template-columns:1fr}
  .claim-timeline{grid-template-columns:1fr 1fr}
  .claim-timeline>div:nth-child(2){border-right:0}.claim-timeline>div{border-bottom:1px solid var(--line)}
  .claim-timeline>div:nth-child(n+3){border-bottom:0}
}
@media(max-width:720px){
  .estimate-save-panel{align-items:flex-start;flex-direction:column}
  .estimate-save-controls{width:100%;display:grid;grid-template-columns:1fr 1fr}
  .estimate-save-controls button.remove{grid-column:1/-1}
  .estimate-share-layer{place-items:end center;padding:0}
  .estimate-share-sheet{width:100%;max-height:88vh;border-radius:23px 23px 0 0}
  .share-sheet-head{padding:19px 15px 13px}
  .share-preview{margin-left:15px;margin-right:15px}
  .social-share-grid{grid-template-columns:repeat(2,minmax(0,1fr));padding:0 15px calc(18px + env(safe-area-inset-bottom))}
  .social-share{padding:9px}.social-share strong{font-size:.64rem}
}
