/* Guided calculator: calculations and controls are preserved, presentation is progressive. */
.subpage .ccs-intro{margin:0 0 35px;border-bottom:1px solid var(--line);padding-bottom:22px}
.subpage .ccs-intro>summary{font-size:17px;cursor:pointer;padding:12px 0}
.subpage .ccs-intro>h2{margin-top:25px;font-size:28px}
.subpage #ccs-calculator{max-width:820px;margin:auto;scroll-margin-top:25px;padding:38px 45px}
.calc-progress{display:flex;justify-content:space-between;list-style:none;padding:0;margin:0 0 40px;gap:14px;border-bottom:1px solid var(--line)}
.calc-progress li{font-size:12px;padding:0 0 16px;color:var(--ink-soft);border-bottom:2px solid transparent}
.calc-progress .is-current{color:var(--red);border-color:var(--red)}
.subpage .calc-step>h3{font-size:36px;margin:0 0 12px}
.subpage .calc-step>.eyebrow{margin:0 0 14px;font-size:10px}
.subpage .calc-step .step-intro{font-size:15px;margin-bottom:28px;max-width:50ch;color:var(--ink-soft)}
.subpage .calc-step .field{margin:24px 0}
.subpage .calc-step label{font-size:16px;font-weight:500}
.subpage .calc-step select{padding-right:35px;font-size:15px}
.subpage .calc-step input[type=range]{padding:0;accent-color:var(--red);border:0;background:transparent;min-height:30px}
#calc-income-value{display:block;font-size:36px;letter-spacing:-.04em;margin:10px 0;color:var(--red)!important;font-weight:500!important}
.subpage .field-help{margin-top:12px;font-size:13px}
.subpage .field-help summary{cursor:pointer;color:var(--ink-soft);padding:4px 0}
.subpage .field-help .calc-note{display:block;margin-top:10px;font-size:13px}
.subpage .calc-step details>summary{cursor:pointer}
.subpage .calc-step>.calc-disclosure,.subpage .calc-step>details,.subpage .calc-output>.calc-disclosure{border-top:1px solid var(--line);padding:18px 0;margin-top:18px;font-size:14px}
.subpage .calc-disclosure>summary{font-weight:500;padding:4px 0}
.calc-controls{display:flex;justify-content:space-between;gap:20px;padding-top:30px;margin-top:20px;border-top:1px solid var(--line)}
.calc-controls [data-calc-next]{margin-left:auto}
.subpage .calc-step .calc-output{padding:0;background:transparent}
.subpage .calc-output .calc-figure{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;line-height:1.1;letter-spacing:-.035em;padding:18px 0}
.subpage .calc-figure small{font-size:15px;letter-spacing:0;white-space:nowrap}
.subpage .estimate-summary{font-size:12px;line-height:1.6!important;color:var(--ink-soft);margin:20px 0!important}
.subpage #calc-ss-result{padding:20px}.subpage #calc-ss-result .calc-figure{font-size:36px}
.calc-step:not([hidden]){animation:step-in .3s ease-out}
@keyframes step-in{from{opacity:.4;translate:0 8px}to{opacity:1;translate:0 0}}
/* Editorial photo stories: no autoplay, swipe and keyboard control. */
.photo-story{padding:85px 6%;overflow:hidden;background:#eeeade}
.story-heading{display:flex;justify-content:space-between;align-items:end;gap:45px;margin-bottom:38px}
.story-heading>p{font-size:16px;max-width:310px;color:var(--ink-soft,#57584f)}
.story-heading h2{font-size:clamp(38px,4.8vw,68px);margin:0;line-height:1.08}
.story-track{position:relative;display:flex;gap:25px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#d1222955 transparent;padding:0 0 18px;overscroll-behavior-x:contain}
.story-slide{flex:0 0 76%;min-width:0;scroll-snap-align:start;margin:0}
.story-photo{position:relative;aspect-ratio:16/10;background:var(--taupe);overflow:hidden;border-radius:5px 5px 55px 5px;display:flex;align-items:center;justify-content:center}
.story-slide:nth-child(2n) .story-photo{background:#e7dfd4}
.story-slide:nth-child(3n) .story-photo{background:#e9e4d5}
.story-motif{width:24%;height:40%;object-fit:contain;opacity:.4}
.photo-status{position:absolute;top:22px;left:24px;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#625d50}
.photo-prompt{position:absolute;bottom:24px;left:26px;right:25px;font-size:16px;color:#625d50}
.story-real-photo{width:100%;height:100%;object-fit:cover;display:block;position:absolute;inset:0}
.story-slide figcaption{display:flex;gap:22px;padding:23px 0 8px;align-items:start}
.story-index{font-size:12px;color:var(--red);padding-top:6px}
.story-slide h3{font-size:30px;margin:0 0 7px;line-height:1.15}
.story-slide p{font-size:15px;max-width:100%;margin:0;color:#57584f}
.story-controls{display:flex;justify-content:space-between;align-items:center;margin-top:18px;font-size:12px}
.story-controls>div{display:flex;gap:10px}
.story-controls button{width:48px;height:48px;border-radius:50%;border:1px solid var(--line);background:transparent;color:var(--ink);font-size:22px;cursor:pointer;display:grid;place-items:center}
.story-controls button .ui-icon{width:20px;height:20px}
.story-controls button:hover:not(:disabled){background:var(--red);color:white;border-color:var(--red)}
.story-controls button:disabled{opacity:.25;cursor:default}
.story-track:focus-visible{outline:2px solid var(--red);outline-offset:5px}
.subpage .photo-story p{max-width:100%}
.subpage .photo-story .story-heading>p{max-width:310px;margin:0}
.subpage .photo-story h2{font-size:clamp(38px,4.8vw,64px);max-width:100%;margin:0}
.subpage .photo-story h3{font-size:29px;margin:0 0 7px}
.subpage .photo-story .eyebrow{margin-bottom:24px}
.subpage .split .photo-story{padding:25px;min-width:0}
.subpage .split .photo-story .story-heading{display:block}
.subpage .split .photo-story .story-heading h2{font-size:34px}
.subpage .split .photo-story .story-heading>p{margin-top:20px}
.subpage .split .story-slide{flex-basis:92%}
@media(max-width:650px){.subpage #ccs-calculator{padding:25px 20px}.calc-progress{gap:7px;margin-bottom:28px}.calc-progress li{font-size:10px}.subpage .calc-step>h3{font-size:29px}.subpage .calc-step label{font-size:14px}.photo-story{padding:55px 6%}.story-heading{display:block;margin-bottom:28px}.story-heading>p,.subpage .photo-story .story-heading>p{margin-top:22px}.story-slide{flex-basis:89%}.story-photo{aspect-ratio:4/5;border-radius:4px 4px 35px 4px}.story-track{gap:16px}.story-slide h3,.subpage .photo-story h3{font-size:25px}.photo-status{left:18px;top:18px;font-size:9px}.photo-prompt{left:18px;bottom:20px;font-size:14px}.story-slide figcaption{gap:14px}}
@media(prefers-reduced-motion:reduce){.calc-step:not([hidden]){animation:none}.story-track{scroll-behavior:auto}}
