.v7-topic-map{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:auto 154px auto;gap:18px 28px;max-width:1050px;margin:42px auto 0;align-items:center}
.v7-topic-map::before{content:"";position:absolute;inset:14% 20%;border:1px solid #d5ded3;border-radius:50%;pointer-events:none}
.v7-topic-core{grid-column:2;grid-row:2;display:grid;place-items:center;width:142px;height:142px;margin:auto;border-radius:50%;background:#fffefa;box-shadow:0 18px 40px #142b211b;border:1px solid var(--line);z-index:1}
.v7-topic-core img{width:112px;height:112px;object-fit:contain}
.v7-topic{position:relative;display:flex;flex-direction:column;gap:5px;min-height:132px;padding:16px 20px;background:#fffefa;border:1px solid var(--line);border-top:3px solid var(--af-gold);border-radius:12px;color:var(--text);text-decoration:none;box-shadow:0 10px 25px #142b210b;transition:transform .2s ease,box-shadow .2s ease}
.v7-topic:hover,.v7-topic:focus-visible{transform:translateY(-4px);box-shadow:0 16px 35px #142b211a}
.v7-topic span{font-size:.76rem;letter-spacing:.12em;font-weight:800;color:var(--gold-text)}
.v7-topic strong{font:700 1.12rem/1.2 var(--af-font-heading)}
.v7-topic small{font-size:.86rem;line-height:1.4;color:var(--muted)}
.v7-topic-1{grid-column:1;grid-row:1}.v7-topic-2{grid-column:2;grid-row:1}.v7-topic-3{grid-column:3;grid-row:1}.v7-topic-4{grid-column:3;grid-row:3}.v7-topic-5{grid-column:2;grid-row:3}.v7-topic-6{grid-column:1;grid-row:3}
.v7-contact-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:7%;align-items:start}
.v7-contact-grid .v6-contact-topics{margin:18px 0 24px}
.v7-contact-grid .v6-contact-topics button{display:inline-flex;align-items:center;min-height:42px;padding:9px 14px;border:1px solid var(--line);border-radius:999px;background:#fffefa;color:var(--text);font:700 .88rem var(--af-font-body);cursor:pointer}
.v7-contact-grid .v6-contact-topics button:hover,.v7-contact-grid .v6-contact-topics button:focus-visible{border-color:var(--af-gold);background:#f6f8f2}
.v7-contact-grid .v6-contact-topics button[aria-pressed="true"]{background:var(--af-surface-dk);border-color:var(--af-surface-dk);color:#fff}
.v7-alternatives-title{margin:32px 0 0;font-size:1.05rem}
.v7-contact-grid address{font-style:normal;line-height:1.7}
.v7-hours{display:grid;gap:9px;margin:21px 0;border-block:1px solid var(--line);padding:18px 0}
.v7-hours>div{display:grid;grid-template-columns:minmax(110px,1fr) auto;gap:2px 12px}
.v7-hours strong{grid-row:span 2}.v7-hours span{white-space:nowrap}
@media(max-width:840px){.v7-contact-grid{grid-template-columns:1fr}.v7-topic-map{gap:14px;grid-template-rows:auto 120px auto}.v7-topic{min-height:142px}.v7-topic-core{width:116px;height:116px}.v7-topic-core img{width:94px;height:94px}}
@media(max-width:650px){.v7-topic-map{display:flex;flex-direction:column;align-items:stretch}.v7-topic-map::before{display:none}.v7-topic-core{order:-1;margin:0 auto 16px}.v7-topic{min-height:0}.v7-contact-grid .v6-contact-actions{flex-direction:column}.v7-contact-grid .v6-contact-actions .button{width:100%;justify-content:center}}

.v7-calc-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:22px;align-items:start;margin:28px 0 24px}
.v7-calc-form,.v7-calc-results{background:var(--af-white);border:1px solid var(--line);border-radius:14px;padding:clamp(20px,3vw,30px);box-shadow:0 12px 30px #142b210b}
.v7-calc-form{display:grid;gap:18px}
.v7-calc-form .field{margin:0}
.v7-calc-form .field>span:first-child{display:block;margin-bottom:7px;font-weight:700}
.v7-calc-results h3{margin:26px 0 10px;font-size:1.25rem}
.v7-result-line{display:flex;align-items:baseline;justify-content:space-between;gap:20px;padding:12px 0;border-bottom:1px solid var(--line)}
.v7-result-line span{font-size:.94rem;line-height:1.4;color:var(--muted)}
.v7-result-line strong{flex:none;text-align:right;font-size:1.06rem;line-height:1.3}
.v7-result-main{background:#f0f4ec;border-radius:8px;border:0;padding:15px 14px;margin-top:12px}
.v7-result-main strong{font-size:1.42rem;color:var(--af-surface-dk)}
.v7-money-control{display:grid;grid-template-columns:46px minmax(0,1fr) 46px;align-items:stretch}
.v7-money-control input{border-radius:0}
.v7-money-control button{border:1px solid #b9c9bc;background:var(--soft);font-size:1.35rem;font-weight:700;color:var(--text)}
.v7-money-control button:first-child{border-radius:7px 0 0 7px;border-right:0}
.v7-money-control button:last-child{border-radius:0 7px 7px 0;border-left:0}
.v7-money-control button:hover{background:#e8eee5}
.v7-calc-note{max-width:990px;font-size:.86rem;line-height:1.55;color:var(--muted);margin:0 0 20px}
.v7-calc-note a,.v7-source-list a{color:var(--af-surface-dk);text-underline-offset:3px}
.v7-source-list{display:flex;flex-wrap:wrap;gap:8px 18px;font-size:.82rem;margin:8px 0 20px}
.v7-pension-form{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;background:var(--soft);padding:20px;border:1px solid var(--line);border-radius:12px;margin-bottom:24px}
.v7-pension-form .field{margin:0}
.v7-pension-form .field>span{display:block;font-weight:700;font-size:.87rem;min-height:46px;line-height:1.35;margin-bottom:6px}
.v7-gap-grid,.v7-three-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}
.v7-gap-card{border:1px solid var(--line);border-radius:12px;background:var(--af-white);padding:20px;box-shadow:0 10px 26px #142b210a}
.v7-gap-card h3{margin:0 0 16px}
.v7-gap-card-body{display:grid;grid-template-columns:124px 1fr;gap:17px;align-items:center}
.v7-donut{--gap-share:100%;width:122px;aspect-ratio:1;border-radius:50%;background:conic-gradient(#ad4e48 0 var(--gap-share),#4d8069 var(--gap-share) 100%);display:grid;place-items:center;position:relative}
.v7-donut::before{content:"";position:absolute;inset:17px;border-radius:50%;background:var(--af-white)}
.v7-donut span{position:relative;z-index:1;font-weight:800;color:#9b3934}
.v7-gap-card dl{margin:0}
.v7-gap-card dl>div{margin:0 0 12px}
.v7-gap-card dt{font-size:.76rem;line-height:1.4;color:var(--muted)}
.v7-gap-card dd{margin:2px 0 0;font-weight:800;line-height:1.2}
.v7-gap-card .v7-red{color:#9b3934}
.v7-gap-card details{margin-top:15px;border-top:1px solid var(--line);padding-top:10px;font-size:.84rem}
.v7-gap-card details summary{cursor:pointer;font-weight:700}
.v7-gap-card details p{margin:8px 0 0}
.v7-three-grid .card,.v7-check-grid .card{min-height:0}
.v7-waterfall{border:1px solid var(--line);background:var(--af-white);border-radius:14px;padding:clamp(20px,3vw,30px);margin:24px 0}
.v7-waterfall p{color:var(--muted);max-width:850px}
.v7-water-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;align-items:end;margin-top:24px}
.v7-water-col{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;min-width:0}
.v7-water-track{position:relative;width:100%;height:260px;border-bottom:2px solid var(--af-surface-dk);background:repeating-linear-gradient(to top,transparent 0,transparent 25%,#e7ece4 calc(25% + 1px));overflow:hidden}
.v7-water-bar{position:absolute;left:8%;width:84%;bottom:var(--bar-bottom,0%);height:var(--bar-height,0%);background:var(--af-surface-dk);border-radius:5px 5px 0 0;transition:bottom .35s ease,height .35s ease}
.v7-water-col[data-water-col="equity"] .v7-water-bar{background:var(--af-gold)}
.v7-water-col[data-water-col="second"] .v7-water-bar{background:#6c977e}
.v7-water-col[data-water-col="first"] .v7-water-bar{background:var(--af-surface)}
.v7-water-col strong{font-size:.98rem;white-space:nowrap}
.v7-water-col>span{font-size:.86rem;line-height:1.25;color:var(--muted);min-height:2.5em}
.v7-ratio{display:block;font:700 clamp(2.2rem,4vw,3.4rem)/1 var(--af-font-heading);margin:8px 0 16px}
.v7-ratio-meter{height:15px;border-radius:50px;background:#e7ede4;overflow:hidden;margin-bottom:12px}
.v7-ratio-meter>span{display:block;height:100%;width:0;background:#4d8069;border-radius:50px;transition:width .35s ease,background .25s ease}
.v7-ratio-meter[data-status="middle"]>span{background:#bb7a25}
.v7-ratio-meter[data-status="high"]>span{background:#ad4e48}
.v7-status-row{display:flex;align-items:start;justify-content:space-between;gap:16px;margin:0 0 10px}
.v7-status-row p{font-weight:700;line-height:1.4;margin:0}
.v7-status-row .button{flex:none;font-size:.82rem}
.v7-ratio-meter[data-status="middle"]+.v7-status-row p{color:#a6671c}
.v7-ratio-meter[data-status="high"]+.v7-status-row p{color:#a23f39}
.v7-full-note{border:1px solid var(--line);border-radius:12px;background:var(--soft);padding:clamp(20px,3vw,28px);width:100%;margin-top:22px}
.v7-full-note p{max-width:1000px;margin-bottom:12px}
.v7-check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.v7-strategy{font-weight:700;margin:26px 0 15px}
.v7-article-toc{border:1px solid var(--line);background:var(--soft);border-radius:12px;padding:22px 26px;margin:0 0 44px}
.v7-article-toc h2{font-size:1.24rem;margin:0 0 12px}
.v7-article-toc ol{display:grid;grid-template-columns:1fr 1fr;gap:7px 24px;margin:0;padding-left:22px}
.v7-article-toc li{padding-left:2px;line-height:1.4}
.v7-article-toc a{text-underline-offset:3px;text-decoration-color:var(--af-gold)}
.v5-article .v5-reading>section{scroll-margin-top:115px}
.v5-article .v5-reading>section p{max-width:72ch}
@media(max-width:1000px){.v7-pension-form{grid-template-columns:repeat(3,minmax(0,1fr))}.v7-gap-card-body{grid-template-columns:1fr}.v7-donut{margin:0 auto}}
@media(max-width:840px){.v7-calc-grid{grid-template-columns:1fr}.v7-gap-grid,.v7-three-grid{grid-template-columns:1fr 1fr}.v7-gap-card-body{grid-template-columns:110px 1fr}.v7-donut{width:106px;margin:0}.v7-water-track{height:220px}}
@media(max-width:650px){.v7-pension-form,.v7-gap-grid,.v7-three-grid,.v7-check-grid,.v7-article-toc ol{grid-template-columns:1fr}.v7-pension-form .field>span{min-height:0}.v7-gap-card-body{grid-template-columns:104px 1fr}.v7-status-row{flex-direction:column}.v7-status-row .button{width:100%}.v7-water-grid{gap:6px}.v7-water-track{height:180px}.v7-water-col strong{font-size:.7rem;white-space:normal;overflow-wrap:anywhere}.v7-water-col>span{font-size:.7rem}.v7-waterfall{padding:15px}.v7-result-line strong{font-size:.96rem}.v7-result-main strong{font-size:1.2rem}}

/* Motion keeps the established palette, typography and page geometry. */
.hero-photo{overflow:hidden;background:var(--af-white)}
.hero-photo img{transition:transform .7s ease;mask-image:linear-gradient(90deg,transparent 0%,#000 12%,#000 100%)}
.hero-photo:hover img{transform:scale(1.025)}
.button,.card,.price-card,.v7-gap-card{transition:transform .22s ease,box-shadow .22s ease,background-color .22s ease}
.button:hover,.card:hover,.price-card:hover,.v7-gap-card:hover{transform:translateY(-2px)}
@media(prefers-reduced-motion:no-preference){
  .v7-motion .v7-reveal{opacity:0;transform:translateY(16px);transition:opacity .48s ease,transform .48s ease}
  .v7-motion .v7-reveal.v7-visible{opacity:1;transform:translateY(0)}
  .v7-motion .v5-hero .hero-copy{animation:v7-enter .56s ease both}
  .v7-motion .v5-hero .hero-photo{animation:v7-enter .72s ease .12s both}
  @keyframes v7-enter{from{opacity:.35;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
}
@media(prefers-reduced-motion:reduce){.hero-photo img,.button,.card,.price-card,.v7-gap-card,.v7-water-bar,.v7-ratio-meter>span{transition:none!important}}
@media(max-width:840px){.hero-photo img{mask-image:linear-gradient(180deg,#000 0%,#000 83%,transparent 100%)}}
