/* Local motion layer. Keep every section readable without JavaScript. */
/* One brief unfolds into two approaches; no continuous animation. */
.fees-page .fees-route{border:1px solid var(--line);border-radius:2px;background:linear-gradient(120deg,#f7f8f9,#fff 55%,#f2f5f9);padding:24px 28px 22px;margin:0 0 36px}
.fees-page .fees-route-topline{display:flex;justify-content:space-between;gap:16px;color:var(--ink-soft);font-size:10px;letter-spacing:.12em;font-weight:600}
.fees-page .fees-route-hint{letter-spacing:0;font-weight:400;font-size:12px}
.fees-page .fees-route-map{display:grid;grid-template-columns:190px minmax(260px,390px) 190px;gap:64px;align-items:center;justify-content:center;min-height:340px;padding:28px 0;position:relative}
.fees-page .fees-route-node{position:relative;display:flex;flex-direction:column;gap:12px;padding:22px 16px;background:#fff;border:1px solid var(--line);border-radius:2px;color:var(--navy)}
.fees-page .fees-route-step,.fees-page .fees-route-label{font-size:9px;font-weight:600;letter-spacing:.12em;line-height:1.6;color:#8c6b32}
.fees-page .fees-route-node-title{font-size:14px;font-weight:600;line-height:1.5}
.fees-page .fees-route-note{font-size:11px;line-height:1.7;color:var(--ink-soft)}
.fees-page .fees-route-check{color:#967537}
.fees-page .fees-route-options{display:flex;flex-direction:column;justify-content:center;gap:16px;position:relative;min-height:284px}
.fees-page .fees-route-options::before,.fees-page .fees-route-options::after{content:'';position:absolute;top:25%;bottom:25%;width:32px;border-top:1px solid #d6dce4;border-bottom:1px solid #d6dce4;pointer-events:none}
.fees-page .fees-route-options::before{left:-32px;border-left:1px solid #d6dce4;border-radius:12px 0 0 12px}
.fees-page .fees-route-options::after{right:-32px;border-right:1px solid #d6dce4;border-radius:0 12px 12px 0}
.fees-page .fees-route-brief::after,.fees-page .fees-route-result::before{content:'';position:absolute;width:32px;height:1px;background:#d6dce4;top:50%;pointer-events:none}
.fees-page .fees-route-brief::after{left:100%}.fees-page .fees-route-result::before{right:100%}
.fees-page .fees-route-choice{position:relative;display:block;width:100%;text-align:left;padding:18px 22px;background:#fff;border:1px solid #d3dae4;border-radius:2px;color:var(--navy);font:inherit;cursor:pointer;transition:background .25s,border-color .25s,box-shadow .25s,transform .25s}
.fees-page .fees-route-choice-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:5px}
.fees-page .fees-route-arrow{font-size:18px;color:#967537;transition:transform .25s}
.fees-page .fees-route-choice-title{font-size:17px;font-weight:600;line-height:1.4;display:block}
.fees-page .fees-route-reveal{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .3s ease,opacity .25s ease}
.fees-page .fees-route-reveal>span{overflow:hidden;min-height:0}
.fees-page .fees-route-formula{display:block;padding-top:12px;font-size:11px;line-height:1.8;color:var(--navy)}
.fees-page .fees-route-exclusion{display:block;font-size:10px;line-height:1.7;color:var(--ink-soft);margin-top:3px}
.fees-page .fees-route-link{display:flex;justify-content:space-between;align-items:center;margin-top:10px;padding-top:10px;border-top:1px solid #e6dcc8;font-size:11px;color:#80612e}
.fees-page .fees-route-choice.is-preview,.fees-page .fees-route-choice[aria-expanded="true"],.fees-page .fees-route-choice:focus-visible{background:#fcfaf5;border-color:#b59960;box-shadow:0 5px 16px #1a365d09}
.fees-page .fees-route-choice.is-preview .fees-route-reveal,.fees-page .fees-route-choice:focus-visible .fees-route-reveal{grid-template-rows:1fr;opacity:1}
.fees-page .fees-route-choice.is-preview .fees-route-arrow{transform:translate(2px,-2px)}
.fees-page .fees-route-choice:focus-visible,.fees-page .fees-flow li:focus-visible{outline:2px solid var(--navy);outline-offset:5px}
.fees-page .fees-route-caption{margin:0;text-align:center;font-size:12px;line-height:1.7}
.fees-page .fees-model{position:relative;scroll-margin-top:110px;transition:border-color .25s,background .25s,box-shadow .25s}
.fees-page .fees-model::before{content:'';position:absolute;top:-3px;left:0;right:0;height:3px;background:#967537;transform:scaleX(0);transform-origin:left;transition:transform .35s ease}
.fees-page .fees-model.is-active{border-color:#b59a65;background:#fdfcf9;box-shadow:0 5px 20px #1a365d08}
.fees-page .fees-model.is-active::before{transform:scaleX(1)}
.fees-page .fees-route.is-visible .fees-route-brief{animation:fees-brief-in .4s ease both}
.fees-page .fees-route.is-visible .fees-route-fixed{animation:fees-option-in .5s .15s ease both}
.fees-page .fees-route.is-visible .fees-route-order{animation:fees-option-in .5s .3s ease both}
.fees-page .fees-route.is-visible .fees-route-result{animation:fees-enter .4s .65s ease both}
@keyframes fees-brief-in{from{opacity:0;transform:translateX(-10px)}to{opacity:1;transform:translateX(0)}}
@keyframes fees-option-in{from{opacity:0;transform:translate(-18px,4px) scale(.98)}to{opacity:1;transform:translate(0,0) scale(1)}}
@media(max-width:1050px) and (min-width:701px){.fees-page .fees-route-map{grid-template-columns:150px minmax(240px,1fr) 150px;gap:36px}.fees-page .fees-route-options::before{left:-18px;width:18px}.fees-page .fees-route-options::after{right:-18px;width:18px}.fees-page .fees-route-brief::after,.fees-page .fees-route-result::before{width:18px}.fees-page .fees-route-choice{padding:16px}.fees-page .fees-route-node{padding:16px 12px}.fees-page .fees-route-node-title{font-size:12px}}
@media(max-width:700px){.fees-page .fees-route{padding:20px 16px}.fees-page .fees-route-topline{flex-direction:column;gap:5px}.fees-page .fees-route-map{grid-template-columns:minmax(0,1fr);gap:24px;padding:24px 0;min-height:0}.fees-page .fees-route-node{align-items:center;text-align:center;gap:7px;padding:16px}.fees-page .fees-route-options{min-height:0;gap:12px}.fees-page .fees-route-options::before,.fees-page .fees-route-options::after{display:none}.fees-page .fees-route-brief::after,.fees-page .fees-route-result::before{width:1px;height:24px;left:50%;right:auto;top:100%}.fees-page .fees-route-result::before{top:auto;bottom:100%}.fees-page .fees-route-choice{padding:18px}.fees-page .fees-route-choice-title{font-size:17px}.fees-page .fees-route-reveal{grid-template-rows:1fr;opacity:1}.fees-page .fees-route-formula{font-size:11px}.fees-page .fees-route-caption{font-size:11px}.fees-page .fees-model{scroll-margin-top:90px}}
@media(hover:none){.fees-page .fees-route-reveal{grid-template-rows:1fr;opacity:1}}
/* The four-stage spine responds independently to each native disclosure. */
.fees-page .fees-stages{position:relative;padding-left:18px}
.fees-page .fees-stage{position:relative;border-top-color:var(--line-soft)}
.fees-page .fees-stage::before,.fees-page .fees-stage::after{content:'';position:absolute;left:20px;top:48px;bottom:-48px;width:1px;background:var(--line);pointer-events:none}
.fees-page .fees-stage::after{background:var(--gold);transform:scaleY(0);transform-origin:top;transition:transform .45s ease}
.fees-page .fees-stage[open]::after{transform:scaleY(1)}
.fees-page .fees-stage:last-child::before,.fees-page .fees-stage:last-child::after{bottom:24px}
.fees-page .fees-stage-number{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;background:var(--white);border:1px solid #d9dfe7;position:relative;z-index:1;font-size:13px;padding:0;color:var(--navy);transition:background .25s,color .25s,border-color .25s}
.fees-page .fees-stage[open] .fees-stage-number{background:#927239;border-color:#927239;color:#fff}
.fees-page .fees-stage>summary{align-items:start}
.fees-page .fees-stage-body{padding-bottom:36px}
/* Confirmation stages are visible by default, then get a once-only accent. */
.fees-page .fees-flow li{padding-bottom:18px;transition:background .25s}
.fees-page .fees-flow li::before{content:'';position:absolute;left:0;right:0;top:-1px;height:2px;background:var(--gold);transform:scaleX(0);transform-origin:left}
.fees-page .fees-flow.is-visible li::before{animation:fees-line .6s ease both;animation-delay:var(--fees-delay,0ms)}
.fees-page .fees-flow.is-visible .fees-step{animation:fees-step-in .55s ease both;animation-delay:var(--fees-delay,0ms)}
.fees-page .fees-step-outcome{display:block;margin:20px 0 0;font-size:11px;line-height:1.6;padding-left:10px;border-left:2px solid #d8c8a7;color:var(--ink-soft);transition:color .2s,border-color .2s}
.fees-page .fees-flow li:hover,.fees-page .fees-flow li:focus{background:var(--soft)}
.fees-page .fees-flow li:hover .fees-step-outcome,.fees-page .fees-flow li:focus .fees-step-outcome{color:var(--navy);border-color:#927239}
/* Small icon gestures, played once per interaction. */
.fees-page .fees-factor[open] svg{animation:fees-icon .45s ease both;color:var(--gold);stroke:#927239}
@media(hover:hover){.fees-page .fees-factor summary:hover svg{animation:fees-icon .45s ease both}}
.fees-page.fees-motion-ready .page-head h1{animation:fees-enter .5s ease both}
.fees-page.fees-motion-ready .page-head p{animation:fees-enter .5s .08s ease both}
.fees-page.fees-motion-ready .fees-hero-actions{animation:fees-enter .5s .16s ease both}
@keyframes fees-line{to{transform:scaleX(1)}}
@keyframes fees-step-in{from{color:#aeb6c1;transform:translateY(6px)}to{color:var(--gold);transform:translateY(0)}}
@keyframes fees-icon{0%{transform:translateY(0)}50%{transform:translateY(-3px)}100%{transform:translateY(0)}}
@keyframes fees-enter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:700px){.fees-page .fees-stages{padding-left:0}.fees-page .fees-stage::before,.fees-page .fees-stage::after{left:15px;top:42px;bottom:-42px}.fees-page .fees-stage-number{width:30px;height:30px;font-size:11px}.fees-page .fees-flow li::before{height:100%;width:2px;left:-1px;top:0;transform:scaleY(0);transform-origin:top}.fees-page .fees-flow.is-visible li::before{animation-name:fees-line-mobile}.fees-page .fees-flow li{padding-bottom:32px}.fees-page .fees-step{z-index:1}.fees-page .fees-step-outcome{margin-left:4px}}
@keyframes fees-line-mobile{to{transform:scaleY(1)}}
@media(prefers-reduced-motion:reduce){.fees-page *, .fees-page *::before,.fees-page *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.fees-page .fees-flow.is-visible li::before{transform:scaleX(1)}.fees-page .fees-stage[open]::after{transform:scaleY(1)}}
