/* Image-led editorial layouts. Existing calculator and consent logic is unchanged. */
.visual-site{--bg:#faf9f5;--panel:#fff;--text:#172b2a;--muted:#52625e;--line:#dce2db;background:var(--bg);color:var(--text)}
.visual-site .wrap{width:min(1160px,calc(100% - 64px));padding-top:0;overflow-wrap:break-word}
.visual-site .top{padding:18px 0;gap:20px;min-height:88px}
.visual-site .brand{display:inline-flex;align-items:center;gap:10px;letter-spacing:-.04em;white-space:nowrap;font-size:1.35rem}
.brand-mark{width:38px;height:38px;background:var(--brand);color:#fff;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}
.v-icon{width:28px;height:28px;flex-shrink:0;vertical-align:middle}
.brand-mark .v-icon{width:24px;height:24px}
.visual-site .top nav a{text-decoration:none;font-weight:600;font-size:.9rem}
.visual-site .top nav a:hover{text-decoration:underline}
.visual-site .button{border-radius:8px;gap:16px}
.visual-site h1,.visual-site h2,.visual-site h3{text-wrap:balance}
.visual-site .eyebrow{color:var(--brand);font-size:.72rem;letter-spacing:.13em}
.visual-site figure{margin:0;min-width:0}
.visual-site figure img{display:block;width:100%;object-fit:cover;height:auto}
.visual-site figcaption{font-size:.69rem;line-height:1.4;color:var(--muted);margin:8px 4px 0}
.visual-site .home-hero{grid-template-columns:.88fr 1.12fr;gap:42px;padding:40px 0 26px;align-items:center}
.visual-home h1{font-size:clamp(2.4rem,4.5vw,3.9rem);line-height:1.08;letter-spacing:-.06em;margin:18px 0 22px}
.visual-home .intro{font-size:1.04rem;line-height:1.65;max-width:34ch}
.visual-home .visual{border-radius:0;background:none;padding:0;max-width:none}
.visual-home .visual img{border-radius:20px;aspect-ratio:3/2}
.visual-home .visual figcaption{text-align:left;margin-top:8px}
.visual-home .actions{gap:10px}.visual-home .actions .button{font-size:.9rem;padding:12px 15px}
.visual-home .trust{font-size:.78rem;letter-spacing:.02em;margin-bottom:38px;padding:12px 0;color:var(--muted)}
.visual-site .content-hub{margin:34px 0 44px}
.visual-site .content-hub>h2,.visual-site .guide-group>h2{font-size:1.85rem;letter-spacing:-.045em;margin:0 0 8px}
.visual-site .content-hub>p{font-size:.96rem;color:var(--muted);margin:0 0 24px}
.story-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:24px 0 36px}
.story-card{min-width:0;background:white;border:1px solid var(--line);border-radius:14px;overflow:hidden;transition:transform .18s ease,box-shadow .18s ease}
.story-card:hover{transform:translateY(-3px);box-shadow:0 12px 25px #142b2910}
.story-link{display:flex;flex-direction:column;height:100%;color:var(--text);text-decoration:none}
.story-link:focus-visible{outline:3px solid var(--brand);outline-offset:-4px}
.story-image{position:relative;background:var(--tint);overflow:hidden}
.story-image img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover}
.image-label{position:absolute;right:10px;bottom:10px;background:#fffef5eb;color:#34413c;font-size:.65rem;border-radius:4px;padding:2px 7px}
.story-copy{padding:21px 22px 20px;display:flex;flex:1;flex-direction:column}
.story-category{display:flex;align-items:center;gap:7px;font-size:.68rem;text-transform:uppercase;letter-spacing:.065em;font-weight:750;color:var(--brand)}
.story-category .v-icon{width:17px;height:17px}
.story-copy h3{font-size:1.35rem;line-height:1.25;letter-spacing:-.035em;margin:12px 0 10px}
.story-copy p{font-size:.91rem;line-height:1.6;color:var(--muted);margin:0 0 14px}
.read-link{display:flex;justify-content:space-between;align-items:center;font-size:.8rem;font-weight:700;color:var(--brand);padding-top:12px;margin-top:auto;border-top:1px solid var(--line);min-height:40px}
.journey{background:var(--tint);padding:32px;border-radius:16px;margin:40px 0}
.section-heading h2{font-size:1.7rem;letter-spacing:-.04em;margin:8px 0 20px}
.journey-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}
.journey-step{display:block;text-decoration:none;color:var(--text);padding:14px 0;position:relative}
.journey-step+.journey-step{border-left:1px solid #172b2a25;padding-left:30px}
.journey-icon{display:flex;align-items:center;justify-content:space-between;color:var(--brand)}
.journey-icon .v-icon{width:36px;height:36px}.journey-icon b{opacity:.6;font-size:.76rem;font-weight:500}
.journey-step h3{font-size:1.18rem;margin:14px 0 6px}.journey-step p{font-size:.9rem;line-height:1.55;margin:0 0 10px;color:var(--muted)}
.journey-step>span:last-child{font-size:1.25rem;color:var(--brand)}
.visual-home .visual-feature{display:grid;grid-template-columns:1fr 1fr;background:white;border:1px solid var(--line);border-radius:16px;padding:0;overflow:hidden;gap:0;margin:40px 0}
.visual-feature>div{padding:32px;align-self:center}.visual-feature .feature-art{height:100%;background:var(--tint)}
.visual-feature .feature-art img{aspect-ratio:3/2;height:100%;min-height:260px}.visual-feature .feature-art figcaption{display:none}
.visual-home .featured-question h2{font-size:1.8rem;line-height:1.22;letter-spacing:-.04em}
.tool-banner{display:grid;grid-template-columns:auto 1fr auto;gap:25px;align-items:center;background:var(--brand);color:#fff;padding:30px;border-radius:16px;margin:38px 0}
.tool-banner .eyebrow{color:#fff;opacity:.8}.tool-banner h2{font-size:1.65rem;letter-spacing:-.04em;margin:5px 0 10px}.tool-banner p:not(.eyebrow){color:#fff;font-size:.92rem;max-width:58ch;margin:0;opacity:.9}.tool-symbol{width:70px;height:70px;border:1px solid #ffffff55;border-radius:50%;display:grid;place-items:center}.tool-symbol .v-icon{width:36px;height:36px}
.visual-site .tool-banner .button{background:white;color:var(--brand);border-color:white;margin:0;font-size:.9rem;white-space:nowrap}
.visual-home .split{gap:24px;margin:28px 0}.visual-home .split .card{background:transparent;border:0;border-top:1px solid var(--line);border-radius:0;padding:22px 0}.visual-home .split h2{font-size:1.2rem}.visual-home .split p{font-size:.9rem}
.directory-header{display:grid;grid-template-columns:1fr 1fr;gap:45px;align-items:center;padding:30px 0!important}
.visual-directory .directory-header h1{font-size:clamp(2.2rem,4vw,3.5rem);letter-spacing:-.055em;max-width:20ch}
.directory-art img{border-radius:16px;aspect-ratio:16/9}.directory-art figcaption{font-size:.66rem}
.visual-site .topic-nav{display:flex;flex-wrap:wrap;gap:10px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:15px 0;margin:8px 0 34px}
.visual-site .topic-nav a{background:var(--tint);border:0;border-radius:30px;padding:10px 16px;font-size:.8rem;font-weight:650;text-decoration:none;min-height:44px;display:inline-flex;align-items:center}
.visual-directory .guide-start{background:var(--tint);border:0;padding:25px 30px;margin:32px 0}
.visual-directory .guide-start h2{margin:0 0 5px}.visual-directory .guide-start p{margin:0}.visual-directory .guide-start .button{margin:12px 0 0;width:auto}
.visual-guide-group{padding:20px 0 0}
.visual-article .article-header{display:grid;grid-template-columns:1fr 1fr;gap:38px;align-items:center;padding:26px 0 32px}
.visual-article .article-header h1{font-size:clamp(2rem,3.4vw,2.85rem);letter-spacing:-.045em;line-height:1.12;max-width:none}
.visual-article .article-header p{font-size:.96rem;line-height:1.65;margin:.8em 0}
.visual-article .article-header .eyebrow{font-size:.7rem}.visual-article .article-header .reading-meta,.visual-article .article-header .review-date{font-size:.76rem;color:var(--muted)}
.article-art img{aspect-ratio:4/3;border-radius:16px}.article-art figcaption{font-size:.66rem}
.quick-look{background:var(--tint);border-radius:14px;padding:22px 28px;margin:0 0 30px}
.quick-look>.eyebrow{margin:0 0 16px!important}.quick-look ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));list-style:none;margin:0;padding:0;gap:24px}
.quick-look li{display:flex;align-items:center;gap:12px;font-size:.9rem;line-height:1.45;margin:0!important;font-weight:600}
.quick-icon{display:grid;place-items:center;flex-shrink:0;width:42px;height:42px;background:#ffffffb0;border-radius:12px;color:var(--brand)}.quick-icon .v-icon{width:24px;height:24px}
.visual-article .toc-fold,.visual-article article>.reading-section,.visual-article article>p,.visual-article article>.notice,.visual-article .visual-pause{max-width:740px;margin-left:auto;margin-right:auto}
.toc-fold{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:4px 0;margin:22px auto 38px}
.toc-fold summary{padding:14px 4px;font-size:.9rem;font-weight:650;cursor:pointer;color:var(--brand);min-height:48px}.toc-fold summary:focus-visible{outline:3px solid var(--brand);outline-offset:3px}
.visual-article .toc{border:0;background:transparent;padding:8px 4px 16px;margin:0}.visual-article .toc h2{display:none}.visual-article .toc a{font-size:.9rem}
.visual-article article>.reading-section{margin-top:32px;margin-bottom:32px}
.visual-article .reading-section>h2{font-size:1.7rem;letter-spacing:-.035em;line-height:1.25;padding-top:10px}
.visual-article .reading-section>h3{font-size:1.18rem;margin-top:26px}
.visual-article .reading-section>ol{list-style:none;counter-reset:steps;padding-left:0}
.visual-article .reading-section>ol>li{counter-increment:steps;position:relative;padding:13px 15px 13px 54px;border-bottom:1px solid var(--line);margin:0;max-width:none}
.visual-article .reading-section>ol>li::before{content:counter(steps,decimal-leading-zero);position:absolute;left:3px;top:16px;display:grid;place-items:center;width:30px;height:30px;font-size:.74rem;background:var(--tint);color:var(--brand);border-radius:8px;font-weight:750}
.visual-pause{display:flex;gap:20px;align-items:center;padding:24px;background:var(--tint);border-radius:14px;margin-block:32px}.visual-pause>.v-icon{width:42px;height:42px;color:var(--brand)}.visual-pause p{margin:5px 0 0;font-weight:650;font-size:1.08rem}
.visual-related{background:var(--tint)!important;border:0!important;margin-top:40px!important}.visual-related ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 24px;list-style:none;padding:0}.visual-related li{margin:0!important}.visual-related a{display:block;min-height:44px;padding:9px 0}
.visual-article .content-table{border-radius:12px}.visual-article .notice{font-size:.87rem}
.theme-model{--muted:#526070}.theme-capsule{--muted:#685e69}
@media(max-width:1000px){.visual-site .wrap{width:calc(100% - 40px)}.visual-site .home-hero{gap:26px}.visual-home h1{font-size:2.8rem}.story-grid{gap:16px}.story-copy{padding:18px}.tool-banner{grid-template-columns:1fr auto}.tool-symbol{display:none}.visual-article .article-header{gap:26px}}
@media(max-width:760px){.visual-site .wrap{width:calc(100% - 32px)}.visual-site .top{flex-direction:row;flex-wrap:wrap;align-items:center;gap:4px 18px;padding:12px 0;min-height:78px}.visual-site .brand{font-size:1.15rem;min-height:40px}.brand-mark{width:32px;height:32px;border-radius:9px}.brand-mark .v-icon{width:21px;height:21px}.visual-site .top nav{display:flex;gap:18px;flex-wrap:wrap}.visual-site .top nav a{font-size:.79rem;min-height:38px;display:inline-flex;align-items:center}.visual-site .home-hero{grid-template-columns:1fr;padding:26px 0 20px;gap:20px}.visual-home h1{font-size:clamp(2.15rem,7.8vw,3rem);max-width:none;margin:12px 0 14px}.visual-home .intro{max-width:42ch;font-size:.95rem;margin-bottom:18px}.visual-home .actions{display:flex;flex-wrap:wrap;gap:8px}.visual-home .actions .button{width:auto;font-size:.84rem;min-height:46px;padding:10px 13px}.visual-home .visual{width:100%;max-width:none}.visual-home .visual img{border-radius:14px;aspect-ratio:16/10}.visual-home .trust{font-size:.7rem;line-height:1.6;margin-bottom:28px}.visual-site .content-hub{margin:28px 0}.visual-site .content-hub>h2,.visual-site .guide-group>h2{font-size:1.6rem}.visual-site .content-hub>p{font-size:.9rem}.story-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:20px 0 28px}.story-grid>.story-card:first-child:last-child{max-width:550px}.story-copy h3{font-size:1.18rem}.story-copy p{font-size:.86rem}.journey{padding:24px;margin:28px 0}.journey-grid{grid-template-columns:1fr;gap:0}.journey-step{display:grid;grid-template-columns:42px 1fr 18px;gap:0 15px;padding:16px 0}.journey-step+.journey-step{border-left:0;border-top:1px solid #172b2a25;padding-left:0}.journey-icon{grid-row:1/3}.journey-icon b{display:none}.journey-step h3{margin:0 0 4px;font-size:1.1rem}.journey-step p{grid-column:2;margin:0;font-size:.86rem}.journey-step>span:last-child{grid-column:3;grid-row:1/3;align-self:center}.visual-home .visual-feature{grid-template-columns:1fr;margin:28px 0}.visual-feature .feature-art img{aspect-ratio:16/8;min-height:0}.visual-feature>div{padding:24px}.visual-home .featured-question h2{font-size:1.6rem}.tool-banner{grid-template-columns:1fr;padding:24px;gap:20px;margin:28px 0}.tool-banner h2{font-size:1.5rem}.visual-site .tool-banner .button{width:fit-content}.visual-home .split{grid-template-columns:1fr;gap:0}.directory-header,.visual-article .article-header{grid-template-columns:1fr;gap:20px;padding:24px 0!important}.visual-directory .directory-header h1{font-size:2.25rem}.directory-art img{aspect-ratio:16/8}.visual-site .topic-nav{gap:8px}.visual-site .topic-nav a{font-size:.76rem;padding:9px 12px}.visual-article nav[aria-label="Breadcrumb"]{font-size:.75rem;line-height:1.5}.visual-article .article-header h1{font-size:2.1rem;line-height:1.12}.article-art img{aspect-ratio:16/10}.quick-look{padding:20px;margin-bottom:24px}.quick-look ol{grid-template-columns:1fr;gap:13px}.quick-look li{font-size:.9rem}.quick-icon{width:34px;height:34px;border-radius:9px}.quick-icon .v-icon{width:21px;height:21px}.visual-article .reading-section>h2{font-size:1.5rem}.visual-article article>.reading-section{margin-top:26px;margin-bottom:26px}.visual-related ul{grid-template-columns:1fr;gap:0}}
@media(max-width:500px){.story-grid{grid-template-columns:1fr}.story-card{border-radius:12px}.story-image img{aspect-ratio:16/9}.story-copy{padding:18px 20px}.story-copy h3{font-size:1.35rem}.story-copy p{font-size:.9rem}.visual-site .top nav{gap:18px}.visual-home .actions{display:grid;grid-template-columns:1fr 1fr}.visual-home .actions .button{font-size:.79rem;gap:8px;padding:10px 8px}.visual-site .brand{font-size:1.13rem}.visual-site .top{gap:0}.visual-site .top nav{width:100%;justify-content:flex-start}.visual-article .article-header h1{font-size:1.95rem}}
@media(prefers-reduced-motion:reduce){.story-card{transition:none}.story-card:hover{transform:none}}
@media print{.visual-site .wrap{width:100%}.visual-site figure,.quick-look,.visual-pause,.toc-fold,.tool-banner{display:none!important}.visual-site .article-header{display:block}.visual-site .article-header h1{font-size:24pt}.story-grid{display:block}.visual-site .story-image{display:none}.story-card{break-inside:avoid}.visual-site{background:white}.journey{background:white}}

.visual-feature .feature-art{position:relative}.visual-feature .feature-art figcaption{display:block;position:absolute;bottom:8px;left:8px;right:8px;background:#fffef5ed;color:#34413c;border-radius:4px;font-size:.62rem;padding:5px 7px;margin:0}

/* Final refinements from the desktop and narrow-width preview. */
.visual-site .top .brand-mark{color:#fff;order:-1}
.visual-home .actions{align-items:stretch}
.visual-site button{background:var(--brand);border-color:var(--brand)}
@media(max-width:760px){.visual-article .article-art{grid-row:1}.visual-article .article-art img{aspect-ratio:16/9}}
