/* Page compositions reuse the existing go-device, go-screen and image inspection system. */
body[data-page=saving-calculator] .saving-story{padding:0 var(--page-gutter);max-width:100%}
.saving-story .go-section{min-width:0;padding-block:40px}
.saving-story .saving-overview{padding-top:24px}
.saving-overview h1{font-size:clamp(2.75rem,4.8vw,5rem);line-height:1.06;letter-spacing:-.055em;margin:24px 0 32px;max-width:20ch}
.saving-introduction{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,80px);align-items:start}
.saving-introduction .go-statement{max-width:24ch;font-weight:500}
.saving-introduction>div{color:var(--text-secondary)}
.saving-overview .go-meta{display:grid;grid-template-columns:1fr 1fr 1.25fr;gap:24px;border-top:1px solid var(--border-subtle);padding-top:24px;margin:32px 0}
.saving-overview .go-meta dd{font-size:1.09375rem;font-weight:700}
.saving-three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:start}
.saving-hero-devices{padding:0 24px 8px;gap:16px}
.saving-screen .go-device-canvas{display:grid;place-items:center;max-width:460px;border:0;border-radius:0;background:transparent;box-shadow:none;cursor:zoom-in;line-height:0;transition:transform 550ms cubic-bezier(.77,0,.18,1)}
.saving-screen .go-device{display:block}
.saving-screen .ivi-caption{display:block;max-width:30ch;font-size:1.125rem;line-height:1.5;margin:12px auto 0;min-height:3em}
.saving-screen:focus-within{z-index:3}
.saving-screen .go-device-canvas:focus-visible{outline:3px solid var(--focus-visible);outline-offset:4px;border-radius:8px}
.saving-story .go-reading{max-width:72ch}
.saving-story .go-reading>p{color:var(--text-secondary)}
.saving-story .go-reading blockquote{max-width:36ch;margin-top:32px}
.saving-considerations{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin-top:32px}
.saving-considerations>div{border-top:1px solid var(--border-subtle);padding-top:16px}
.saving-considerations h3{font-size:1.0625rem;margin-bottom:8px;font-weight:600}
.saving-considerations p{font-size:.9375rem;color:var(--text-secondary)}
.saving-story .go-principles{margin-top:32px}
.saving-experience>h2.eyebrow{font-size:.75rem;color:var(--text-secondary);letter-spacing:.1em}
.saving-narrative{margin-top:36px}
.saving-narrative+.saving-narrative{margin-top:56px;border-top:1px solid var(--border-subtle);padding-top:40px}
.saving-narrative-heading{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,5vw,80px);align-items:end;margin-bottom:28px}
.saving-narrative-heading .eyebrow{font-size:.75rem;color:var(--text-secondary)}
.saving-narrative-heading h3{font-size:clamp(1.75rem,3vw,3rem);line-height:1.15;letter-spacing:-.04em;margin:16px 0 0;max-width:22ch}
.saving-narrative-heading>div:last-child{color:var(--text-secondary)}
.saving-related .work-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.saving-related .project-title-row h3{font-size:1.375rem}
.saving-story>.project-disclosure{padding-inline:0}
body[data-page=saving-calculator] .ivi-image-viewport img{width:auto;max-width:100%;max-height:calc(94dvh - 170px);height:auto;margin:auto}
body[data-page=saving-calculator] .ivi-image-viewport.is-zoomed img{width:946px;max-width:none;max-height:none}
body[data-page=saving-calculator] .ivi-image-viewport{touch-action:pan-x pan-y pinch-zoom}
@media(max-width:1100px){.saving-story .go-section{padding-block:28px}.saving-introduction{gap:32px}.saving-hero-devices{padding-inline:0}.saving-three{gap:16px}.saving-active-pair{gap:32px}.saving-screen .ivi-caption{font-size:1rem}.saving-related .work-grid{grid-template-columns:1fr 1fr}}
@media(max-width:900px){.saving-story .go-section,body[data-page=saving-calculator] #experience{scroll-margin-top:220px}.saving-narrative-heading,.saving-introduction{grid-template-columns:1fr;gap:24px}.saving-narrative-heading h3{max-width:28ch}.saving-active-pair{gap:24px}.saving-recovery{gap:32px}.saving-overview .go-meta{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.saving-overview h1{margin-bottom:24px}.saving-overview .go-meta{grid-template-columns:1fr;gap:16px}.saving-overview .go-meta>div{display:grid;grid-template-columns:72px minmax(0,1fr);gap:16px}.saving-overview .go-meta dt{padding-top:3px}.saving-three,.saving-active-pair,.saving-considerations,.saving-recovery,.saving-related .work-grid{grid-template-columns:1fr}.saving-screen .go-device-canvas{max-width:400px}.saving-three{gap:28px}.saving-hero-devices{gap:20px}.saving-screen .ivi-caption{max-width:32ch;min-height:0;margin-top:0}.saving-active-pair .saving-screen:last-child{padding-top:0}.saving-considerations{gap:20px}.saving-recovery{gap:24px;margin-top:40px;padding-top:28px}.saving-recovery .saving-screen{max-width:320px;justify-self:center}.saving-narrative+.saving-narrative{margin-top:40px;padding-top:28px}.saving-story .go-section{padding-block:28px}body[data-page=saving-calculator] .ivi-image-viewport img{max-height:calc(96dvh - 240px)}}
@media print{.saving-screen .go-device-canvas{transform:none!important}.saving-narrative{break-inside:avoid}.saving-story .go-section{break-inside:auto}}
/* Prioritize one clear product visual in the mobile introduction. */
@media(max-width:650px){
 .saving-overview{display:flex;flex-direction:column}
 .saving-overview>.eyebrow{order:0}
 .saving-overview>h1{order:1}
 .saving-introduction{display:contents}
 .saving-introduction>.go-statement{order:2;margin-bottom:24px}
 .saving-hero-devices{order:3;width:100%;margin-bottom:16px}
 .saving-hero-devices>.saving-screen:first-child,.saving-hero-devices>.saving-screen:last-child{display:none}
 .saving-overview>.go-meta{order:4}
 .saving-introduction>div{order:5}
}
@media(min-width:651px) and (max-width:1000px){.saving-three{grid-template-columns:repeat(2,minmax(0,1fr))}.saving-three>.saving-screen:last-child{grid-column:1/-1;max-width:440px;width:100%;justify-self:center}}

/* Scale the complete device within its existing padded canvas to avoid page overflow. */
.saving-screen .go-device{transition:transform 550ms cubic-bezier(.77,0,.18,1)}
@media(hover:hover) and (pointer:fine){body[data-page=saving-calculator] .saving-screen:hover>.go-device-canvas{transform:none}.saving-screen:hover .go-device{transform:scale(1.25)}}
@media(prefers-reduced-motion:reduce){.saving-screen .go-device{transition:none}}

/* Cost-comparison narrative: paired inputs, then a single prominent result. */
.saving-compare-pair,.saving-personalize-pair{display:grid;grid-template-columns:1fr .86fr;gap:64px;align-items:center;max-width:950px;margin:0 auto}
.saving-compare-pair>.saving-screen:last-child{padding-top:48px}
.saving-personalize-pair{grid-template-columns:.86fr 1fr}
.saving-personalize-pair>.saving-screen:first-child{padding-top:48px}
.saving-result-stage{max-width:600px;margin:0 auto}
.saving-result-stage .go-device-canvas{max-width:500px}
.saving-context-note{max-width:62ch;color:var(--text-secondary);font-size:1rem;line-height:1.65;margin:28px auto 0;text-align:center}
@media(max-width:1100px){.saving-compare-pair,.saving-personalize-pair{gap:24px}}
@media(max-width:650px){.saving-compare-pair,.saving-personalize-pair{grid-template-columns:1fr;gap:28px}.saving-compare-pair>.saving-screen:last-child,.saving-personalize-pair>.saving-screen:first-child{padding-top:0}.saving-result-stage .go-device-canvas{max-width:400px}.saving-context-note{text-align:left}}
