/* Shared readability, interactive resources, cost estimator and real testimonials. */
body{font-size:17px}
.nav-wrap{gap:20px}
.nav-link{font-size:16px;padding-block:14px}
.main-nav{gap:18px}
.header-actions .btn,.lang-toggle{font-size:15px;min-height:44px}
.section-heading p,.two-col p,.team-copy p,.subhero .lead{font-size:18px;line-height:1.65}
.btn,.btn-lg{font-size:16px;min-height:48px}
.faq-wrap h2{font:700 clamp(30px,3vw,42px)/1.15 Georgia,serif;margin:0 0 26px}
.faq-wrap summary{font-size:19px;line-height:1.5;min-height:44px;cursor:pointer}
.faq-wrap details p{font-size:17px;line-height:1.7}
.personal-intro{padding-left:20px;border-left:3px solid #26abaf}
.resource-intro{padding:32px 0}
.resource-guides{padding-top:38px}
.guide-card{display:flex;flex-direction:column;transition:box-shadow .2s,border-color .2s}
.guide-card:hover,.guide-card:focus-visible{border-color:#087c90;box-shadow:0 8px 24px #10235615}
.guide-card p{font-size:17px}
.guide-card .text-link{font-size:16px;margin-top:auto;letter-spacing:0;text-transform:none;color:#145b80;padding-top:12px}
.loan-photo-grid{align-items:start;gap:24px}
.loan-choice{border:1px solid #d5e1ea;border-radius:15px;background:#fff;box-shadow:0 3px 12px #1023560d;min-width:0;transition:box-shadow .2s,border-color .2s}
.loan-choice summary{display:block;list-style:none;cursor:pointer;border-radius:14px}
.loan-choice summary::-webkit-details-marker{display:none}
.loan-choice summary:focus-visible{outline-offset:5px}
.loan-photo{display:block;aspect-ratio:2/1;background-image:url('../img/coastal-scenes.webp');background-size:300% auto;background-repeat:no-repeat;background-color:#dfedef;border-radius:14px 14px 0 0}
.scene-first{background-position:0 64.2857%}.scene-next{background-position:50% 64.2857%}.scene-va{background-position:100% 64.2857%}.scene-refi{background-position:0 100%}.scene-invest{background-position:50% 100%}.scene-question{background-position:100% 100%}
.loan-card-copy{display:block;padding:23px}
.loan-card-copy h3{font:700 28px/1.2 Georgia,serif;margin:0 0 13px}
.loan-card-copy p{font-size:17px;line-height:1.65;color:#4b617c;margin:0 0 18px}
.loan-card-action{display:flex;justify-content:space-between;align-items:center;gap:12px;color:#a73510;font-size:16px;font-weight:700}
.loan-card-action:after{content:'+';font-size:26px;line-height:1}
.loan-choice[open] .loan-card-action:after{content:'−'}
.loan-choice:hover,.loan-choice[open]{border-color:#d44818;box-shadow:0 8px 25px #1023561a}
.loan-expanded{padding:0 23px 25px;border-top:1px solid #dce5ed;margin-inline:0}
.loan-expanded p{font-size:17px;line-height:1.7;color:#4b617c}
.loan-expanded .text-link{display:inline-block;font-size:16px;padding-block:7px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;padding:0;border:0}
.housing-calculator{display:grid;grid-template-columns:1.1fr 1fr;gap:36px;align-items:start}
.housing-calculator fieldset{border:0;padding:0;margin:0;min-width:0}
.calc-input-panel,.calc-summary{padding:30px;border:1px solid #d7e3eb;background:#fff;border-radius:16px}
.calc-input-panel h3{font-size:22px;margin:0 0 22px;line-height:1.4}
.calc-input-panel h3:not(:first-child){margin-top:32px}
.calculator-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.calculator-field{margin-bottom:22px;min-width:0}
.calculator-pair .calculator-field{margin:0}
.calculator-pair{margin-bottom:24px}
.calculator-field label{display:block;font-size:16px;font-weight:700;line-height:1.5;color:#18395c}
.calculator-field input,.calculator-field select{width:100%;min-height:50px;padding:12px 13px;margin-top:8px;border:1px solid #98afc1;border-radius:8px;color:#102356;background:#fff;font-size:18px}
.calculator-field input[aria-invalid=true]{border:2px solid #a12b13}
.calculator-field small{display:block;font-size:14px;line-height:1.55;color:#4b617c;margin-top:7px}
.housing-calculator .form-note{font-size:15px;line-height:1.7;color:#4b617c}
.calc-input-panel>.btn{width:100%}
#calculator-error{margin-top:18px;font-size:15px}
.calc-summary{position:sticky;top:20px}
.calc-total{color:#fff;background:#102f55;padding:25px;border-radius:12px}
.calc-total>span{font-size:17px;color:#fff}
.calc-total strong{display:block;font-size:clamp(32px,3.4vw,45px);font-weight:700;line-height:1.25;margin:12px 0;color:#fff;overflow-wrap:anywhere}
.calc-total p{font-size:15px;line-height:1.6;color:#e3eff8;margin:0}
.payment-bar{display:flex;height:15px;border-radius:8px;overflow:hidden;background:#e9eef3;margin-top:25px}
.payment-bar>span{min-width:0}
[data-cost-bar=principalInterest],.cost-principalInterest{background:#102356}
[data-cost-bar=propertyTax],.cost-propertyTax{background:#ce4519}
[data-cost-bar=homeInsurance],.cost-homeInsurance{background:#087f92}
[data-cost-bar=hoa],.cost-hoa{background:#b27b10}
[data-cost-bar=mortgageInsurance],.cost-mortgageInsurance{background:#775c97}
[data-cost-bar=otherCosts],.cost-otherCosts{background:#60777a}
.payment-breakdown{margin:18px 0 24px}
.payment-breakdown>div{display:flex;justify-content:space-between;gap:15px;padding:13px 0;border-bottom:1px solid #e1e8ef;font-size:16px}
.payment-breakdown dt{display:flex;gap:10px;align-items:center;line-height:1.5}
.payment-breakdown dd{margin:0;text-align:right;font-weight:700;white-space:nowrap}
.cost-dot{display:inline-block;width:10px;height:10px;border-radius:50%;flex-shrink:0}
.testimonials{padding:58px 0;background:#f5faf9}
.testimonial-layout{display:grid;grid-template-columns:1fr 1.5fr;align-items:center;gap:60px}
.testimonials .eyebrow{font-size:14px}
.testimonials h2{font:700 clamp(30px,3.5vw,42px)/1.15 Georgia,serif;margin:0 0 15px}
.testimonials .testimonial-intro{font-size:18px;line-height:1.65;color:#4b617c}
.testimonial-list{min-width:0}
.testimonial-card{margin:0;padding:32px;border-left:4px solid #26abaf;background:#fff;border-radius:0 14px 14px 0;box-shadow:0 4px 20px #10235608}
.testimonial-card blockquote{font:400 23px/1.65 Georgia,serif;color:#183758;margin:0 0 22px}
.testimonial-card figcaption{font-size:16px;font-weight:700;color:#102356}
.testimonial-translation{font-size:14px;color:#4b617c}
.testimonial-translation:empty{display:none}
.testimonial-controls{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:20px}
.testimonial-controls button{border:1px solid #9ab0c3;border-radius:8px;background:#fff;color:#102356;min-width:46px;min-height:46px;cursor:pointer;font-size:16px;padding:9px 13px}
.testimonial-counter{font-size:15px;color:#4b617c}
@media(max-width:1540px){.header-actions .btn-primary{display:none}}
@media(max-width:1440px){
 .nav-wrap{min-height:104px}
 .main-nav{position:absolute;left:28px;right:28px;top:100%;display:none;flex-direction:column;align-items:stretch;background:#fff;border:1px solid #dce5ed;border-radius:12px;padding:12px;box-shadow:0 8px 18px #10235616;max-height:calc(100dvh - 180px);overflow-y:auto;z-index:60}
 .main-nav.open{display:flex}.menu-toggle{display:block;margin-left:auto;cursor:pointer}
 .nav-link{font-size:18px;min-height:48px;white-space:normal;padding:10px}
 .nav-link.active:after{left:10px;right:auto;width:30px;bottom:2px}
 .desktop-only{display:none}
 .no-js .nav-wrap{flex-wrap:wrap}
 .no-js .main-nav{position:static;order:3;width:100%;margin:0;padding:0;border:0;box-shadow:none;max-height:none;overflow:visible;gap:0}
}
@media(max-width:1000px){.housing-calculator{grid-template-columns:1fr;gap:24px}.calc-summary{position:static}.testimonial-layout{gap:28px;grid-template-columns:1fr}.loan-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){
 .nav-wrap{gap:12px}.main-nav{left:18px;right:18px}
 .subhero .lead,.team-copy p{font-size:17px}
 .loan-photo-grid,.calculator-pair{grid-template-columns:1fr}
 .calc-input-panel,.calc-summary{padding:22px}
 .calc-total{padding:22px}.calc-total strong{font-size:36px}
 .payment-breakdown>div{flex-wrap:wrap;gap:6px}
 .payment-breakdown dd{margin-left:auto}
 .testimonials{padding:40px 0}.testimonial-card{padding:25px}.testimonial-card blockquote{font-size:21px}
 .resource-intro{padding:26px 0}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important}}

