/* Finely drawn relationships, in the existing corporate visual language. */
:root{--motion-arrive:cubic-bezier(.16,1,.3,1);--diagram-line:var(--line-taupe)}
::selection{background:var(--gold);color:var(--navy)}
input,textarea{caret-color:var(--navy)}
html{scrollbar-color:var(--taupe) var(--offwhite)}
a{text-underline-offset:.25em;text-decoration-thickness:1px}
.button:focus-visible,.text-link:focus-visible,.property-card:focus-visible,.knowledge-card:focus-visible{outline:3px solid var(--gold);outline-offset:5px}
.button>svg,.text-link>svg,.header-phone>svg{transition:transform 200ms var(--motion-arrive)}
.button:hover>svg,.button:focus-visible>svg,.text-link:hover>svg,.text-link:focus-visible>svg,.header-phone:hover>svg{transform:translateX(4px)}
.button:active{transform:translateY(0)}
.page-hero-photo{box-shadow:0 18px 42px rgba(1,32,63,.1)}
.page-hero-photo[src*="/team-"],.team-home img{display:block;width:100%;height:auto;max-height:none;aspect-ratio:auto;object-fit:contain}
.home-hero{padding-bottom:0}
.home-hero .hero-grid{align-items:end}
.home-hero .hero-copy{padding-bottom:40px}
.home-hero .hero-media{align-self:end;width:100%;margin:0;line-height:0}
.home-hero .hero-media img{display:block;width:100%;height:auto;aspect-ratio:auto;object-fit:contain;border-radius:16px 16px 0 0;box-shadow:none}
.hero-title,.page-hero h1{text-wrap:balance}
.usp-item{display:grid;grid-template-columns:30px minmax(0,1fr);align-items:start;gap:14px}
.usp-item>div{display:grid;align-content:start;gap:6px;min-width:0}
.usp-item .usp-icon{display:flex;align-items:center;justify-content:center;align-self:start;margin-top:2px}
.usp-item strong{margin:0;line-height:1.4}
.usp-item small{margin:0;line-height:1.65}

/* The route is a diagram, not another set of content cards. */
.capital-route{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;list-style:none;padding:44px 0 0;margin:48px 0 0;border-top:1px solid var(--line);position:relative}
.capital-route li{position:relative;min-width:0;padding:0;margin:0}
.route-symbol{display:flex;align-items:center;justify-content:center;width:58px;height:58px;color:var(--navy);background:var(--offwhite);border-radius:50%;margin-bottom:22px;position:relative;z-index:1}
.route-symbol svg{width:28px;height:28px}
.capital-route li:not(:last-child)::after{content:"";position:absolute;left:78px;right:-20px;top:29px;height:1px;background:var(--taupe);transform-origin:left center}
.capital-route li:not(:last-child)::before{content:"";position:absolute;right:-20px;top:26px;width:6px;height:6px;border-top:1px solid var(--taupe);border-right:1px solid var(--taupe);transform:rotate(45deg)}
.capital-route strong{display:block;font-family:var(--font-display);font-size:1.125rem;font-weight:600;line-height:1.5;color:var(--navy)}
.capital-route p{font-size:1rem;line-height:1.7;color:var(--muted);margin:8px 0 0;max-width:29ch}

/* A single connected reading order, with a distinct symbol per phase. */
.journey{gap:32px}
.journey li{position:relative;border-top:0;padding-top:0;min-width:0}
.journey li>.journey-marker{display:flex;align-items:center;justify-content:center;width:64px;height:64px;position:relative;margin:0 0 28px;background:var(--offwhite);border-radius:50%;color:var(--navy)}
.journey-marker>svg{width:30px;height:30px}
.journey-number{position:absolute;right:-5px;bottom:-4px;background:var(--navy);color:white;border-radius:50%;width:25px;height:25px;display:flex;align-items:center;justify-content:center;font:500 .75rem/1 var(--font-display)}
.journey li:not(:last-child)::after{content:"";position:absolute;top:32px;left:84px;right:-12px;height:1px;background:var(--taupe);transform-origin:left center}
.journey h3{font-size:1.1875rem;margin-bottom:14px}
.journey p{font-size:1rem;line-height:1.75}

/* Financial diagrams use the exact existing percentages, never implied ratings. */
.property-ltv{height:4px;background:var(--line);margin:-10px 0 26px;overflow:hidden;border-radius:4px}
.property-ltv>span{display:block;height:100%;width:var(--ltv);background:var(--navy)}
.property-body .location{display:flex;align-items:center;gap:6px;font-size:.875rem}
.property-body .location svg{width:16px;height:16px;color:var(--muted)}
.property-body dl>div:last-child{padding-bottom:14px}
.property-card{transition:transform 220ms var(--motion-arrive),box-shadow 220ms var(--motion-arrive)}
.property-card:hover,.property-card:focus-visible{transform:translateY(-4px);box-shadow:0 16px 32px rgba(1,32,63,.1)}
.property-card:hover .text-link svg,.property-card:focus-visible .text-link svg{transform:translateX(4px)}
.property-card:hover .property-ltv>span,.property-card:focus-visible .property-ltv>span{background:#ab7b16}
.object-facts h2{display:flex;align-items:center;gap:14px}
.object-facts h2 svg{width:28px;height:28px;color:#936b1c}
.object-facts dl{margin-block:22px}
.valuation-graphic{margin:28px 0;color:var(--navy);font-variant-numeric:tabular-nums}
.valuation-scale{display:flex;justify-content:space-between;font-size:.75rem;color:var(--muted);padding-bottom:8px}
.valuation-bar{display:flex;height:48px;background:var(--line-taupe);border-radius:8px;overflow:hidden;gap:2px}
.valuation-bar>span{display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:.9375rem;font-weight:600;flex:1;min-width:0;color:var(--navy)}
.valuation-bar>span:first-child{flex:0 0 var(--ltv);background:var(--navy);color:white}
.valuation-key{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 18px;font-size:.8125rem;line-height:1.5;margin-top:14px}
.valuation-key>span{display:flex;align-items:center;gap:8px}
.valuation-key i{width:8px;height:8px;background:var(--navy);border-radius:2px;flex:none}
.valuation-key>span:last-child i{background:var(--taupe)}
.ltv-example{padding:40px}
.ltv-example>strong{font-size:3rem;letter-spacing:-.03em}
.ltv-example small{display:block;line-height:1.7;font-size:.8125rem}

/* Simple interest: the principal is not included in this graph. */
.interest-chart{margin:0 0 28px;padding:0;color:#d9e0e7}
.interest-chart[hidden]{display:none}
.interest-chart figcaption{font-size:.9375rem;font-weight:600;color:white;margin-bottom:16px}
.chart-description{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.interest-plot{display:block;width:100%;height:128px;overflow:visible}
.chart-grid{stroke:#38526c;stroke-width:1;fill:none;vector-effect:non-scaling-stroke}
.chart-area{fill:var(--gold);opacity:.07}
.chart-line{fill:none;stroke:var(--gold);stroke-width:2;stroke-linecap:round;vector-effect:non-scaling-stroke}
.chart-point{fill:var(--gold)}
.chart-axis{display:flex;justify-content:space-between;gap:10px;font-size:.75rem;margin-top:12px;font-variant-numeric:tabular-nums}
.chart-axis>span{flex:1;min-width:0}
.chart-axis>span:nth-child(2){text-align:center}
.chart-axis>span:last-child{text-align:right}
.chart-axis strong{display:block;color:white;font-weight:600;font-size:.875rem;margin-top:5px;overflow-wrap:anywhere}
.chart-note{font-size:.75rem;line-height:1.7;margin:16px 0 0;color:#d9e0e7}
.calculator-layout{max-width:1120px;gap:0}
.calc-controls,.calc-result{padding:28px}
.calc-result .calc-explanation{padding-top:16px;margin-bottom:20px;border-top:0;line-height:1.6}
.calc-controls h2{font-size:23px;margin-bottom:20px}
.calculator-embedded{padding-block:var(--section-space)}
.calculator-intro{max-width:1120px;margin-bottom:28px}
.calculator-intro h2{max-width:24ch;margin-bottom:12px}
.calculator-intro>p{max-width:65ch;margin-bottom:0}
.calculator-embedded .calc-controls h3{font-size:23px;margin-bottom:20px}
.calculator-embedded .calculator-layout{gap:0}
.calc-controls .calc-amount{min-height:54px;padding:10px 14px;font-size:24px;line-height:1.3}
.calc-controls .field-group{margin-bottom:10px}
.calc-controls .calc-presets{margin-bottom:20px}
.calc-controls .range-field{margin-top:20px}
.calc-controls .range-field label{margin-bottom:4px;font-size:14px}
.calc-controls .range-field .field-hint{margin-top:4px;line-height:1.6}
.calc-result .calc-value{font-size:clamp(2rem,3.3vw,3rem);line-height:1.2;margin-bottom:20px}
.calc-result .calc-next{margin-top:16px;line-height:1.6}
.calc-result .button{min-height:48px;padding:12px 16px;font-size:14px}
.calc-controls .field-hint,.calc-explanation,.calc-next{font-size:.875rem;line-height:1.7}
.calc-controls .calc-presets button{min-height:44px;font-size:.8125rem}
.calc-controls .range-field input[type=range]{height:44px}
.calc-total{flex-wrap:wrap;gap:8px 16px;padding:12px 0;margin-bottom:12px}
.calc-total strong{margin-left:auto}
.calc-chart-details{border:0;border-radius:0;background:transparent;padding:0;margin:0}
.calc-chart-details>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;padding:8px 0;list-style:none;cursor:pointer;color:var(--gold);font-size:.875rem;font-weight:500}
.calc-chart-details>summary::-webkit-details-marker{display:none}
.calc-chart-details>summary::after{content:none}
.calc-chart-details>summary>svg{width:18px;height:18px;flex:none}
.calc-chart-details[open]>summary>svg{transform:rotate(180deg)}
.calc-chart-details>summary:hover{color:var(--gold-hover)}
.calc-chart-details>summary:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:4px}
.calc-chart-details:has(.interest-chart[hidden]){display:none}
.calc-chart-details .interest-chart{margin:12px 0 16px}
.calc-chart-details .interest-plot{height:96px}
.calc-chart-details .chart-note{margin-top:10px}
.lead-form .checkbox-field,.lead-form .form-microcopy{font-size:.875rem;line-height:1.7}
.lead-form select{font-size:1rem}

/* One mobile task at a time; the desktop tools retain their side-by-side view. */
.tool-progress{display:flex;gap:24px;list-style:none;padding:0;margin:0 0 24px;scroll-margin-top:12px}
.tool-progress li{display:flex;align-items:center;gap:10px;flex:1;min-width:0;color:var(--muted);font-size:.875rem;line-height:1.5}
.tool-step-number{display:grid;place-items:center;flex:none;width:28px;height:28px;border-radius:50%;background:var(--line);color:var(--navy)}
.tool-progress [aria-current=step]{color:var(--navy);font-weight:600}
.tool-progress [aria-current=step] .tool-step-number,.tool-progress .is-complete .tool-step-number{background:var(--gold)}
.tool-back{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:6px 0;margin:0 0 12px;border:0;background:transparent;color:var(--gold);font:inherit;font-size:.875rem;line-height:1.5;text-decoration:underline;text-underline-offset:4px;cursor:pointer}
.tool-back svg{width:18px;height:18px}
.tool-back:hover{color:var(--gold-hover)}
.calc-scenario{font-size:.875rem;line-height:1.65;color:#d9e0e7;margin-bottom:12px}

/* Quiet details continue into the editorial and contact routes. */
.benefit-columns article{display:grid;grid-template-columns:40px minmax(0,1fr);align-content:start;gap:16px 12px}
.benefit-columns article>svg{grid-column:1;grid-row:1;align-self:center;box-sizing:content-box;width:24px;height:24px;padding:8px;margin:0;border-radius:50%;background:var(--offwhite);color:#936b1c}
.benefit-columns article>h3{grid-column:2;grid-row:1;align-self:center;min-width:0;margin:0}
.benefit-columns article>p{grid-column:1/-1;margin:0}
.knowledge-card:focus-visible h3{color:#936b1c}
.knowledge-card:hover>.text-link svg,.knowledge-card:focus-visible>.text-link svg{transform:translateX(4px)}
.security-list h3 svg{padding:10px;background:#0a2d50;border-radius:12px;box-sizing:content-box}
.security-list h3{gap:18px}
.security-list p{padding-left:68px;line-height:1.75}
.knowledge-card-image{overflow:hidden;border-radius:12px}
.knowledge-card-meta{display:flex;align-items:center;gap:8px;font-size:.875rem;line-height:1.6}
.article-meta{display:flex;align-items:center;gap:10px;font-size:.875rem;line-height:1.6}
.article-meta svg{width:18px;height:18px}
.article-header>.text-link{margin-bottom:24px}
.text-link-back:hover>svg,.text-link-back:focus-visible>svg{transform:translateX(-4px)}
.knowledge-cluster,.article-body h2[id]{scroll-margin-top:12px}
.article-contents a{text-decoration-color:var(--line-taupe)}
.article-contents a:hover,.article-contents a:focus-visible{text-decoration-color:var(--navy)}
.disclosures summary{transition:color 180ms ease}
.disclosures summary>span{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;flex:none;line-height:0;background:var(--offwhite);transform-origin:center;transition:transform 200ms var(--motion-arrive),background-color 180ms ease}
.disclosures summary>span>svg{display:block;width:18px;height:18px;flex:none}
.disclosures details[open] summary>span{background:var(--gold);color:var(--navy)}
.disclosures details[open]>div{animation:answer-appear 180ms ease-out}
.contact-options svg{padding:12px;box-sizing:content-box;background:var(--offwhite);border-radius:12px}
.contact-options a:hover svg{background:var(--line)}
.close-advisor{display:grid;grid-template-columns:88px minmax(0,1fr);gap:16px;align-items:center}
.close-advisor strong,.close-advisor span{display:block}
.close-advisor strong{color:var(--white);font-size:1.0625rem;font-weight:600;line-height:1.5}
.close-advisor span{font-size:.875rem;line-height:1.6;margin-top:4px;color:#d7dfe7}
.close-layout{grid-template-columns:minmax(0,1fr) minmax(260px,300px)}
.close-benefits{display:grid;grid-template-columns:minmax(0,1fr);list-style:none;padding:0;margin:0}
.close-benefits{gap:20px;margin-top:28px;font-size:1rem;line-height:1.65}
.close-benefits li{display:grid;grid-template-columns:20px minmax(0,1fr);gap:12px;align-items:start}
.close-benefits svg{display:block;width:20px;height:20px;margin-top:3px;color:var(--gold)}
.close-benefits strong,.close-benefits span{display:block}
.close-benefits strong{color:var(--white);font-weight:600;margin-bottom:3px}
.close-layout .close-assurance{display:grid;gap:4px;margin:0;width:100%;font-size:.875rem;line-height:1.7}
.close-layout .close-assurance p{margin:0;font:inherit;text-wrap:pretty}
.close-assurance p:first-child{color:var(--white);font-weight:500}
.close-actions{align-items:stretch}
.close-actions .button{width:100%}
.close-actions>a:not(.button){align-self:center}
.full-footer a{transition:color 150ms ease,text-decoration-color 150ms ease}
.full-footer a:hover{color:var(--gold);text-decoration:underline}

.capital-route li:not(:last-child)::after,.journey li:not(:last-child)::after{background:linear-gradient(to right,var(--gold) 50%,var(--taupe) 50%);background-size:200% 100%;background-position:var(--line-position,100%) 0}
.capital-route .step-lit>.route-symbol,.journey li.step-lit>.journey-marker{background:var(--gold)}
.capital-route li.step-linked::before{border-color:var(--gold)}
@media(prefers-reduced-motion:no-preference){
 .route-symbol,.journey-marker{transition:background-color 150ms ease-out}
}
.line-sequence-static li::after,.line-sequence-static .route-symbol,.line-sequence-static .journey-marker{transition:none}
@keyframes answer-appear{from{opacity:.5}to{opacity:1}}

@media(max-width:1000px){.capital-route{gap:28px}.capital-route strong{font-size:1rem}.capital-route p{font-size:.9375rem}.property-grid{gap:20px}.property-body .location{font-size:.8125rem}}
@media(min-width:371px) and (max-width:1040px){.usp-item strong{min-height:2.8em}}
@media(max-width:860px){
 .close-layout{grid-template-columns:minmax(0,1fr)}
 .close-actions{width:100%;max-width:380px}
 .journey li:nth-child(2)::after{display:none}
 .capital-route{margin-top:38px;padding-top:34px}
 .hero-media img,.page-hero-photo{box-shadow:none}
 .interest-plot{height:144px}
 .calc-controls,.calc-result{min-width:0}
 .home-hero .hero-copy{padding-bottom:0}
 .home-hero .hero-media{width:calc(100% + (2 * var(--gutter)));margin-inline:calc(-1 * var(--gutter))}
 .home-hero .hero-media img{border-radius:0}
}
@media(max-width:600px){
 .calculator-stepped .calc-mobile-progress{grid-column:1/-1;padding:20px 24px;margin:0;border-bottom:1px solid var(--line)}
 .calculator-stepped .calc-controls,.calculator-stepped .calc-result{padding:24px}
 .calculator-stepped .calc-controls :is(h2,h3){font-size:24px;margin-bottom:20px}
 .calculator-stepped .calc-controls .field-group{margin-bottom:10px}
 .calculator-stepped .calc-presets{margin-bottom:20px}
 .calculator-stepped .range-field{margin-top:20px}
 .calculator-stepped .range-field label{margin-bottom:8px}
 .calculator-stepped .field-hint{line-height:1.55}
 .calculator-stepped .calc-mobile-next{margin-top:24px;font-size:.875rem;padding-inline:16px}
 .page-hero h1,.article-header h1{font-size:clamp(2rem,10vw,2.375rem);hyphens:auto;overflow-wrap:anywhere}
 .calc-result .calc-value{font-size:clamp(2rem,10vw,2.875rem)}
 .usp-item{grid-template-columns:26px minmax(0,1fr);gap:12px}
 .usp-item strong{font-size:14px;min-height:0}
 .usp-item small{display:none}
 .capital-route{grid-template-columns:1fr;gap:30px}
 .capital-route li{display:grid;grid-template-columns:48px 1fr;gap:18px}
 .route-symbol{width:48px;height:48px;margin:0}
 .route-symbol svg{width:25px;height:25px}
 .capital-route li:not(:last-child)::after{left:23px;right:auto;top:48px;bottom:-30px;width:2px;height:auto;transform-origin:center top}
 .capital-route li:not(:last-child)::before{display:none}
 .capital-route strong{font-size:1.0625rem}
 .capital-route p{font-size:1rem;max-width:none;margin-top:5px}
 .journey{gap:32px}
 .journey li{grid-template-columns:52px 1fr;gap:0 20px}
 .journey li>.journey-marker{width:48px;height:48px;margin:0;grid-row:1/3}
 .journey-marker>svg{width:25px;height:25px}
 .journey-number{width:22px;height:22px;font-size:.75rem}
 .journey h3{font-size:1.1875rem}
 .journey li:not(:last-child)::after{display:block;left:23px;right:auto;top:48px;bottom:-32px;width:2px;height:auto;transform-origin:center top}
 .capital-route li:not(:last-child)::after,.journey li:not(:last-child)::after{background-image:linear-gradient(to bottom,var(--gold) 50%,var(--taupe) 50%);background-size:100% 200%;background-position:0 var(--line-position,100%)}
   .security-list h3{align-items:center;gap:14px}
 .security-list h3 svg{padding:8px;width:25px;height:25px;border-radius:10px}
 .security-list p{padding-left:0}
 .property-body .location{font-size:.875rem}
 .ltv-example{padding:28px 24px}
 .ltv-example>strong{font-size:2.5rem}
 .valuation-key{font-size:.8125rem;justify-content:flex-start}
 .object-facts h2{gap:12px}
 .chart-axis{font-size:.75rem;gap:6px}
 .chart-axis strong{font-size:.8125rem}
 .chart-note{font-size:.75rem}
 .interest-plot{height:112px}
 .contact-options a{gap:16px}
 .contact-options svg{padding:10px;width:25px;height:25px}
}
@media(max-width:370px){.usp-item strong{min-height:0}}
@media(prefers-reduced-motion:reduce){
 .capital-route li::after,.journey li::after,.route-symbol,.journey-marker,.disclosures details[open]>div{animation:none!important;transform:none}
 .button:hover>svg,.button:focus-visible>svg,.text-link:hover>svg,.text-link:focus-visible>svg,.property-card:hover,.property-card:focus-visible{transform:none}
}
@media print{.capital-route,.journey{break-inside:avoid}.interest-chart{color:#01203f}.interest-chart figcaption,.chart-axis strong{color:#01203f}.chart-note{color:#373736}.home-hero .hero-media img,.page-hero-photo{box-shadow:none}}
