/* Search-topic pages: shared site typography and colours, mobile-first layout. */
.search-topic{color:var(--color-ink,#1f2328);background:#fff}
.search-topic-inner{width:min(1100px,calc(100% - 40px));margin-inline:auto}
.search-topic h1,.search-topic h2,.search-topic h3{font-weight:600;letter-spacing:-.04em;line-height:1.12}
.search-topic h1{font-size:clamp(2.15rem,8.2vw,4.5rem);overflow-wrap:normal;hyphens:auto}
.search-topic h2{font-size:clamp(1.8rem,4vw,2.7rem)}
.search-topic h3{font-size:1.2rem;line-height:1.3}
.search-topic p{line-height:1.7}
.search-topic .eyebrow{font-size:.72rem;letter-spacing:.12em;margin-bottom:16px}
.search-topic-hero{display:grid;background:#f6f5f2}
.search-topic-copy{padding:24px 20px 36px}
.search-topic-back{display:inline-block;font-size:.8rem;margin-bottom:32px;text-decoration:underline;text-underline-offset:4px}
.search-topic-tagline{font-size:1.25rem;letter-spacing:-.03em;margin-top:12px}
.search-topic-intro{max-width:48ch;margin-block:20px 24px;color:#4c5055}
.search-topic .btn{white-space:normal;text-align:center;min-height:48px;max-width:100%}
.search-topic-note{font-size:.75rem;margin-top:12px;color:#4c5055}
.search-topic-text-link{display:inline-block;margin-top:24px;font-size:.85rem;text-decoration:underline;text-underline-offset:5px}
.search-topic-photo{margin:0;min-width:0}
.search-topic-photo img{display:block;width:100%;height:320px;object-fit:cover}
.search-topic-preparation,.search-topic-faq{display:grid;gap:28px;padding-block:48px;scroll-margin-top:100px}
.search-topic-preparation p,.search-topic-faq>div>p{margin-top:18px;max-width:48ch;color:#4c5055}
.search-topic .search-topic-hand{font-family:var(--font-hand,Caveat,cursive);font-size:1.8rem;line-height:1.05;color:#40357a;margin-top:24px}
.search-topic-checklist{background:#ede9fe;border-radius:24px;padding:28px 24px}
.search-topic-checklist ul{list-style:none;margin-top:20px;padding:0}
.search-topic-checklist li{padding:14px 0 14px 28px;border-top:1px solid #d4cdee;position:relative}
.search-topic-checklist li:before{content:'✓';position:absolute;left:0;color:#40357a}
.search-topic-explanation{background:#f6f5f2;padding-block:48px}
.search-topic-columns{display:grid;gap:30px;margin-top:30px}
.search-topic-columns p{margin-top:14px;color:#4c5055}
.search-topic-number{display:block;font-size:.8rem;color:#63558d;margin-bottom:12px}
.search-topic-faq details{border-bottom:1px solid #d9dade}
.search-topic-faq summary{cursor:pointer;padding:20px 0;font-weight:600;line-height:1.5}
.search-topic-faq details p{padding-bottom:22px;color:#4c5055}
.search-topic-next{display:flex;flex-direction:column;align-items:flex-start;gap:24px;padding:28px;border-radius:24px;background:#e6effd}
.search-topic-next p{margin-top:12px;font-size:.85rem}
.search-topic-sources{padding-block:30px;color:#4c5055;font-size:.8rem}
.search-topic-sources ul{display:flex;flex-wrap:wrap;gap:12px 24px;margin-top:12px;padding:0;list-style:none}
.search-topic-sources a{text-decoration:underline;text-underline-offset:3px}
.search-topic-related{padding-block:16px 52px}
.search-topic-related h2{margin-bottom:20px}
.search-topic-related a{display:flex;justify-content:space-between;gap:20px;padding:18px 0;border-bottom:1px solid #d9dade;font-weight:500}
.search-topic-related a span{flex-shrink:0}
@media(min-width:420px){.search-topic-copy{padding:28px 28px 40px}.search-topic-inner{width:min(1100px,calc(100% - 56px))}.search-topic-photo img{height:380px}}
@media(min-width:576px){.search-topic-copy{padding:36px 40px 44px}.search-topic-inner{width:min(1100px,calc(100% - 80px))}.search-topic-next{padding:36px}.search-topic h1{font-size:3.2rem}}
@media(min-width:768px){.search-topic-hero{grid-template-columns:1fr 1fr}.search-topic-copy{padding:40px 32px 48px}.search-topic h1{font-size:clamp(2.3rem,4.3vw,4.5rem)}.search-topic-photo img{height:100%;min-height:580px}.search-topic-preparation,.search-topic-faq{grid-template-columns:1fr 1fr;gap:48px;padding-block:64px}.search-topic-columns{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}.search-topic-explanation{padding-block:64px}.search-topic-next{flex-direction:row;align-items:center;justify-content:space-between}.search-topic-next>div{max-width:60%}.search-topic-related{padding-bottom:64px}}
@media(min-width:1200px){.search-topic-copy{padding:48px max(48px,calc((100vw - 1100px)/2)) 64px;padding-right:48px}.search-topic-tagline{font-size:1.6rem}.search-topic-preparation,.search-topic-faq{gap:80px}.search-topic-photo img{min-height:630px}}
.public-calculator{padding-block:48px;scroll-margin-top:90px}
.public-calculator-heading{max-width:650px;margin-bottom:28px}
.public-calculator-heading>p:last-child{margin-top:16px;color:#4c5055}
.public-calculator-grid{display:grid;gap:28px;align-items:start}
.public-calculator-form{display:grid;gap:22px;min-width:0}
.public-calculator-field label{display:block;font-weight:600;font-size:.95rem;margin-bottom:8px}
.public-calculator-field input,.public-calculator-field select{width:100%;min-width:0;min-height:48px;border:1px solid #777680;border-radius:10px;padding:12px;background:#fff;color:#1f2328;font:inherit}
.public-calculator-field input:focus-visible,.public-calculator-field select:focus-visible{outline:3px solid #7663ba;outline-offset:3px}
.public-calculator-field p,.public-calculator-hint{font-size:.8rem;color:#4c5055;margin-top:8px}
.public-calculator-result{background:#ede9fe;border-radius:24px;padding:28px;min-width:0}
.public-calculator-result>p{margin-block:16px}
.public-calculator-result .public-calculator-amount{font-size:clamp(2rem,6vw,3.4rem);font-weight:600;line-height:1.2;letter-spacing:-.04em;overflow-wrap:anywhere}
.public-calculator-amount span{display:block;font-size:.9rem;letter-spacing:0;font-weight:400;margin-top:8px}
.public-calculator-result dl{margin-block:24px}
.public-calculator-result dl>div{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;padding:12px 0;border-top:1px solid #c9c0e1;font-size:.85rem}
.public-calculator-result dd{font-weight:600}
.public-calculator-error{color:#8b1727;background:#fff1f2;border:1px solid #c93145;border-radius:10px;padding:16px}
@media(min-width:768px){.public-calculator{padding-block:64px}.public-calculator-grid{grid-template-columns:1fr 1fr;gap:48px}.public-calculator-result{position:sticky;top:100px}.public-calculator-result .public-calculator-amount{font-size:2.8rem}}

.public-calculator-child{border-top:1px solid #d4cdee;padding-top:18px}.public-calculator-child summary{cursor:pointer;font-weight:600;min-height:40px}.public-calculator-child .public-calculator-field{margin-top:18px}#calc-result,#calc-error{scroll-margin-top:100px}
