/* SWM v277: an original, task-first editorial shell. Financial content and
   individual tools retain their existing data, behavior and disclosure styles. */
:root{--swm277-ink:#062b40;--swm277-blue:#007ca9;--swm277-cyan:#00a6e5;--swm277-paper:#f6f9fa;--swm277-line:#dbe5e9;--swm277-muted:#466170;--swm277-radius:22px}
body.swm-redesign-v277{margin:0;background:#fff;color:var(--swm277-ink);font-family:var(--sans,'DM Sans',Arial,sans-serif);-webkit-font-smoothing:antialiased}
.swm-redesign-v277 *, .swm-redesign-v277 *::before,.swm-redesign-v277 *::after{box-sizing:border-box}
.swm-redesign-v277 img{max-width:100%}
.swm-redesign-v277 :is(h1,h2,h3){text-wrap:balance}
.swm-redesign-v277 :is(a,button,summary,input,select,textarea):focus-visible{outline:3px solid #007ca9;outline-offset:5px}
.swm-redesign-v277 .skip-link{z-index:100}
/* Header is self-contained, so old guide and home menu controllers cannot target it. */
body .swm277-header{position:relative;z-index:35;background:#fff;border-bottom:1px solid var(--swm277-line);color:var(--swm277-ink);font:500 14px/1.5 var(--sans,'DM Sans',Arial,sans-serif)}
.swm277-header a{text-decoration:none;color:inherit}
.swm277-utility{min-height:41px;background:var(--swm277-ink);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:8px max(4vw,calc((100vw - 1320px)/2));font-size:12px;letter-spacing:.015em}
.swm277-utility>span{color:#cfe6ed}
.swm277-utility>div{display:flex;align-items:center;gap:25px}
.swm277-utility a{color:#fff;line-height:1.5;text-decoration:none}
.swm277-utility a:hover{text-decoration:underline;text-underline-offset:4px}
.swm277-utility a:focus-visible{outline-color:#69d5ff}
.swm277-main{max-width:1440px;margin:auto;min-height:112px;padding:12px 4%;display:flex;align-items:center;justify-content:space-between;gap:28px}
.swm277-brand{flex:0 0 202px;display:flex;align-items:center;flex-direction:column;gap:3px}
.swm277-brand img{width:145px;height:71px;object-fit:contain;display:block}
.swm277-brand>span{font-size:8px;line-height:1.35;text-align:center;max-width:215px;font-weight:500;letter-spacing:0;color:var(--swm277-muted)}
#swm277-navigation{display:flex;align-items:center;gap:clamp(16px,2vw,30px);margin:0;padding:0}
.swm277-group{position:relative;border:0;border-radius:0;margin:0;padding:0;background:transparent}
.swm277-group>summary{list-style:none;display:flex;align-items:center;gap:8px;min-height:48px;padding:10px 0;font:600 14px/1.4 var(--sans,'DM Sans',Arial,sans-serif);cursor:pointer;white-space:nowrap}
.swm277-group>summary::-webkit-details-marker{display:none}
.swm277-group>summary::after{content:'';height:6px;width:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin-top:-3px}
.swm277-group[open]>summary{color:var(--swm277-blue)}
.swm277-group[open]>summary::after{transform:rotate(225deg);margin-top:4px}
.swm277-dropdown{position:absolute;left:-24px;top:100%;width:330px;padding:20px;background:#fff;border:1px solid var(--swm277-line);border-top:3px solid var(--swm277-cyan);border-radius:0 0 18px 18px;box-shadow:0 16px 40px #062b401f;z-index:40}
.swm277-group:nth-last-of-type(-n+2) .swm277-dropdown{left:auto;right:-20px}
.swm277-menu-deck{margin:0 10px 12px!important;font-size:12px!important;line-height:1.5!important;color:var(--swm277-muted)!important}
.swm277-dropdown a{display:flex;flex-direction:column;gap:3px;padding:12px 10px;border-radius:9px;min-height:48px;white-space:normal}
.swm277-dropdown a strong{font-size:14px;font-weight:700;line-height:1.35}
.swm277-dropdown a span{font-size:12px;line-height:1.5;color:var(--swm277-muted)}
.swm277-dropdown a:hover,.swm277-dropdown a:focus-visible{background:#eff8fc}
.swm277-dropdown a[aria-current=page]{background:#eff8fc;border-left:3px solid var(--swm277-cyan)}
.swm277-header .swm277-contact{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:48px;padding:12px 22px;border-radius:100px;background:var(--swm277-ink);color:#fff;font-weight:700;font-size:14px;white-space:nowrap}
.swm277-header .swm277-contact:hover{background:#005a7a}
.swm277-toggle{display:none;font:600 14px/1.4 var(--sans,'DM Sans',Arial,sans-serif);border:1px solid #9cb3bd;background:#fff;color:var(--swm277-ink);padding:12px 19px;border-radius:100px;min-height:46px;cursor:pointer}
/* The template families share type, rhythm and card treatment without touching
   their program distinctions, tab states, contact cards or numerical results. */
.swm-redesign-v277 :is(.guide-hero,.options-hero,.calculator-intro,.ins-hub-header){padding-top:clamp(42px,6vw,88px);padding-bottom:clamp(36px,5vw,72px)}
.swm-redesign-v277 :is(.guide-hero,.options-hero,.calculator-intro) h1{font-family:var(--sans,'DM Sans',Arial,sans-serif);font-size:clamp(36px,4.6vw,66px);font-weight:650;line-height:1.08;letter-spacing:-.045em;text-transform:none;max-width:20ch}
.swm-redesign-v277 :is(.guide-hero-copy,.options-hero,.calculator-intro)>p:not(.eyebrow){font-size:clamp(17px,1.5vw,20px);line-height:1.7}
.swm-redesign-v277 :is(.eyebrow,.chapter-label,.journey-eyebrow,.swm277-eyebrow){font-size:11px;line-height:1.5;font-weight:750;letter-spacing:.14em;text-transform:uppercase}
.swm-redesign-v277 .guide-body{max-width:1040px}
.swm-redesign-v277 .guide-chapter{padding-top:clamp(30px,4vw,56px);padding-bottom:clamp(30px,4vw,56px);border-top:1px solid var(--swm277-line)}
.swm-redesign-v277 .guide-chapter h2{font-family:var(--sans,'DM Sans',Arial,sans-serif);font-size:clamp(27px,3.2vw,42px);line-height:1.16;letter-spacing:-.035em;text-transform:none;margin-bottom:22px}
.swm-redesign-v277 .guide-chapter :is(p,li){font-size:17px;line-height:1.8}
.swm-redesign-v277 .guide-chapter p+p{margin-top:18px}
.swm-redesign-v277 .guide-chapter :is(ul,ol){padding-left:24px}
.swm-redesign-v277 :is(.answer-first,.concept-card,.loan-card,.calculator-notes,.bo-panel,.ins-card,.aven-benefit,.aven-qualification-card){border-radius:var(--swm277-radius);border-color:var(--swm277-line);box-shadow:none}
.swm-redesign-v277 :is(.answer-first,.calculator-notes){background:var(--swm277-paper);padding:clamp(24px,4vw,42px)}
.swm-redesign-v277 .concept-card{background:#f4f9fb;padding:28px}
.swm-redesign-v277 .guide-scene{border-radius:var(--swm277-radius);overflow:hidden}
.swm-redesign-v277 :is(.guide-next,.buyer-journey){border-radius:var(--swm277-radius)}
.swm-redesign-v277 :is(.button,.thread-primary-button){border-radius:100px;min-height:48px}
.swm-redesign-v277 .calculator-intro{max-width:1100px}
.swm-redesign-v277 .calculator-panel{border-radius:var(--swm277-radius)}
.swm-redesign-v277 .calculator-panel :is(input,select){border-radius:9px;min-height:46px}
.swm-redesign-v277 .calculator-panel :is(label,legend){line-height:1.5}
.swm-redesign-v277 :is(.ins-prose,.ins-article-body) :is(p,li){line-height:1.85}
/* Full resource navigation sits above, never replaces, the original legal footer. */
.swm277-footer-nav{display:grid;grid-template-columns:1.45fr 1fr 1fr;gap:clamp(28px,5vw,80px);padding:clamp(42px,6vw,80px) max(5vw,calc((100vw - 1220px)/2));background:#eef5f8;color:var(--swm277-ink);border-top:1px solid var(--swm277-line);font-family:var(--sans,'DM Sans',Arial,sans-serif)}
.swm277-footer-nav h2{font-family:inherit;font-weight:650;font-size:clamp(28px,3vw,40px);line-height:1.12;letter-spacing:-.035em;text-transform:none;margin:14px 0 18px}
.swm277-footer-nav p{font-size:15px;line-height:1.75;margin:0;max-width:36ch}
.swm277-footer-nav h3{font-family:inherit;font-size:13px;font-weight:750;line-height:1.5;margin:0 0 15px;text-transform:none;letter-spacing:0}
.swm277-footer-nav a{display:block;width:fit-content;padding:7px 0;color:var(--swm277-ink);font-size:14px;line-height:1.5;text-decoration:none}
.swm277-footer-nav a:hover{text-decoration:underline;text-underline-offset:5px}
.swm-redesign-v277 .site-footer{border-radius:0;margin-top:0}
/* The standalone measurement notice has no legacy layout foundation. */
.swm-redesign-v277:not([class*='page']):not(.guide-compact-nav)>main{max-width:900px;margin:0 auto;padding:60px 6%;font-size:17px;line-height:1.8}
.swm-redesign-v277:not([class*='page']):not(.guide-compact-nav)>main h1{font-size:clamp(36px,5vw,60px);line-height:1.1;letter-spacing:-.04em;margin:25px 0}
.swm-redesign-v277:not([class*='page']):not(.guide-compact-nav)>main h2{font-size:27px;line-height:1.25;margin:36px 0 14px}
.swm-redesign-v277:not([class*='page']):not(.guide-compact-nav)>main a{text-decoration:underline;text-underline-offset:3px}
@media(min-width:1101px){.swm277-toggle{display:none!important}}
@media(max-width:1100px){
 .swm277-main{flex-wrap:wrap;gap:10px;padding:12px 5%;min-height:102px}
 .swm277-brand{flex-basis:185px}
 .swm277-brand img{width:126px;height:62px}
 .swm277-brand>span{font-size:7px}
 .swm277-header.swm277-enhanced .swm277-toggle{display:block}
 #swm277-navigation{display:flex;flex-direction:column;align-items:stretch;gap:0;flex-basis:100%;padding:12px 0 18px}
 .swm277-enhanced:not(.swm277-expanded) #swm277-navigation{display:none}
 .swm277-group{border-top:1px solid var(--swm277-line)}
 .swm277-group>summary{min-height:56px;font-size:16px;justify-content:space-between;padding:12px 5px}
 .swm277-dropdown,.swm277-group:nth-last-of-type(-n+2) .swm277-dropdown{position:static;left:auto;right:auto;width:auto;max-width:none;box-shadow:none;border:0;border-radius:14px;background:#f4f8fa;margin:0 0 12px;padding:16px}
 .swm277-header .swm277-contact{margin-top:18px;align-self:flex-start}
 .swm277-footer-nav{grid-template-columns:1fr 1fr;gap:30px}
 .swm277-footer-nav>div:first-child{grid-column:1/-1}
}
@media(max-width:600px){
 .swm277-utility{padding:10px 5%;justify-content:center;min-height:43px}
 .swm277-utility>span{display:none}
 .swm277-utility>div{width:100%;justify-content:space-between;gap:10px;font-size:10px}
 .swm277-main{padding:10px 5%;min-height:94px}
 .swm277-brand{flex-basis:174px}
 .swm277-brand img{width:119px;height:58px}
 .swm277-brand>span{font-size:6.8px}
 .swm277-toggle{padding:10px 18px}
 .swm-redesign-v277 :is(.guide-hero,.options-hero,.calculator-intro) h1{font-size:clamp(32px,9vw,44px);letter-spacing:-.035em}
 .swm-redesign-v277 .guide-chapter :is(p,li){font-size:16px;line-height:1.75}
 .swm-redesign-v277 .concept-card{padding:22px}
 .swm277-footer-nav{padding:42px 6%;gap:28px 22px}
 .swm277-footer-nav h3{font-size:12px}
 .swm277-footer-nav a{font-size:13px}
}
@media(prefers-reduced-motion:reduce){.swm-redesign-v277{scroll-behavior:auto}.swm277-header *{transition:none!important}}
@media print{.swm277-header,.swm277-footer-nav{display:none!important}}
@media(max-width:600px){.swm277-brand{flex-basis:190px}.swm277-brand img{width:140px;height:68px}.swm277-brand>span{font-size:9px;line-height:1.45}.swm277-utility>div{font-size:11px}.swm277-main{padding-block:14px}}
/* Isolate the shared shell from legacy property selectors such as header{display:flex}. */
body.swm-redesign-v277 header.swm277-header{display:block;max-width:none;width:100%;min-height:0;margin:0;padding:0;gap:0;border-radius:0}
body.swm-redesign-v277 .swm277-header .swm277-main{width:100%;box-sizing:border-box}
body.swm-redesign-v277 .swm277-header .swm277-utility{width:100%;box-sizing:border-box}
body.swm-redesign-v277 .swm277-header .swm277-brand img{width:145px;height:71px;object-fit:contain}
body.swm-redesign-v277.ballard-design :is(.intro h1,.intro h2,.listing-contacts h2),body.swm-redesign-v277 .property-hero :is(h1,h2){font-family:'DM Sans',Arial,sans-serif!important;letter-spacing:-.04em!important;line-height:1.15!important;text-transform:none!important}
body.swm-redesign-v277.ballard-design .intro h1{font-size:clamp(34px,4.4vw,56px)!important}
body.swm-redesign-v277.ballard-design .intro h1 span{font-size:inherit!important}
body.swm-redesign-v277.ballard-design .intro h2{font-size:clamp(25px,2.8vw,36px)!important}
@media(max-width:600px){body.swm-redesign-v277 .swm277-header .swm277-brand img{width:140px;height:68px}}
