:root{--primary-red:#d31f30;--dark-red:#9e1524;--hover-red:#b61a2a;--ink:#241f22;--navy:#272125;--muted:#615b60;--pale:#faf4f4;--line:#eadcde;--surface:#fff;--background:#fff;--blue:var(--primary-red)}
body{background:var(--background)}
.brand img{width:clamp(170px,17vw,225px);height:auto}
.site-header{border-bottom:1px solid var(--line);box-shadow:0 4px 30px #43151a08}
.site-header nav a:not(.nav-contact),.nav-dropdown summary{position:relative}
.site-header nav>a:not(.nav-contact)::after,.nav-dropdown summary::after{content:"";position:absolute;bottom:-6px;left:0;width:100%;height:2px;background:var(--primary-red);transform:scaleX(0);transform-origin:left;transition:transform .2s ease}
.site-header nav>a:not(.nav-contact):hover::after,.site-header nav>a[aria-current=page]::after,.nav-dropdown summary:hover::after,.nav-dropdown[open] summary::after{transform:scaleX(1)}
.nav-dropdown{position:relative}.nav-dropdown summary{cursor:pointer;list-style:none;font-weight:700}.nav-dropdown summary::-webkit-details-marker{display:none}.nav-dropdown summary:after{bottom:-8px}.nav-dropdown summary:focus-visible{outline:3px solid var(--primary-red);outline-offset:6px}.nav-dropdown summary::before{content:"⌄";float:right;margin-left:7px;color:var(--primary-red)}
.dropdown-panel{position:absolute;top:calc(100% + 20px);left:-19px;min-width:210px;background:#fff;border:1px solid var(--line);box-shadow:0 16px 38px #38171d1a;border-radius:8px;padding:10px;z-index:10;display:grid;gap:3px}
.dropdown-panel a{display:block;padding:10px;border-radius:4px}.dropdown-panel a:hover{background:var(--pale)}
.nav-contact{border-color:var(--primary-red);color:var(--primary-red)}.nav-contact:hover{background:var(--primary-red);color:#fff}
.hero{position:relative}.hero:before{content:"";position:absolute;z-index:-1;width:min(53vw,650px);height:65%;top:12%;right:-10%;background:radial-gradient(circle at 45% 45%,#d31f3016,transparent 67%);pointer-events:none}
.hero h1{letter-spacing:-.057em}.hero .eyebrow{display:inline-flex;align-items:center;gap:12px}.hero .eyebrow:before{content:"";display:inline-block;width:28px;height:2px;background:var(--primary-red)}
.hero .portrait{border-radius:13px;box-shadow:22px 22px 0 #d31f3014}.portrait img{transition:transform .55s ease}.portrait:hover img{transform:scale(1.025)}
.button{background:var(--primary-red);box-shadow:0 11px 24px #9e15242a;transition:transform .2s,background .2s,box-shadow .2s}.button:hover{background:var(--dark-red);transform:translateY(-2px);box-shadow:0 15px 28px #9e152433}.button span{transition:transform .2s}.button:hover span{transform:translate(2px,-2px)}
.button-light{background:#fff;color:var(--dark-red)}.button-light:hover{background:#fbe9ec;color:var(--dark-red)}
.card{position:relative;border-top:3px solid var(--primary-red);background:linear-gradient(160deg,#fff 12%,#fbf5f6);transition:transform .22s,box-shadow .22s,border-color .22s}.card:hover{transform:translateY(-5px);box-shadow:0 16px 36px #3d22251a}.card-number{font-size:16px;color:var(--primary-red)}.card a{color:var(--dark-red)}.card a:hover{text-decoration:underline}
.topic-aside{background:linear-gradient(145deg,#fcf2f4,#f5e5e8)}.aside-line{background:var(--primary-red)}
.trust-line{border-top-color:var(--line);border-bottom-color:var(--line)}
.online-home{background:linear-gradient(118deg,#a7192a,#7b1624);color:#fff;padding:78px 0}.online-home .eyebrow{color:#ffe1e6}.online-home h2{max-width:710px}.online-home-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.online-home-card{display:flex;flex-direction:column;gap:14px;min-height:255px;background:#ffffff17;border:1px solid #ffffff55;border-radius:10px;padding:29px;color:#fff;transition:background .2s,transform .2s}.online-home-card:hover{color:#fff;background:#ffffff26;transform:translateY(-4px)}.online-home-card>span{font-size:12px;letter-spacing:2px;font-weight:700;color:#ffe2e7}.online-home-card h3{margin:0;font-size:29px}.online-home-card p{color:#fff;flex:1}.online-home-card strong{display:block;border-top:1px solid #ffffff66;padding-top:14px}
.topic-online{display:flex;align-items:center;justify-content:space-between;gap:34px;margin-bottom:90px;padding:40px;border:1px solid var(--line);background:var(--pale);border-radius:12px}.topic-online h2{margin:10px 0}.topic-online p:last-child{color:var(--muted);margin-bottom:0}.topic-online .button{flex-shrink:0}
.hero-compact{display:block;min-height:auto;padding-top:45px;padding-bottom:18px}.hero-compact .hero-copy{max-width:840px}.hero-compact h1{font-size:clamp(40px,5vw,62px)}.hero-compact .actions{margin-top:20px}.hero-compact:before{height:100%}
.mortgage-calculator{width:min(1480px,calc(100% - 32px));margin:20px auto 0;border:1px solid var(--line);border-radius:11px;overflow:hidden;background:#fff;box-shadow:0 15px 40px #37171d12}.mortgage-calculator iframe{display:block;width:100%;height:max(760px,calc(100vh - 110px));border:0}.calculator-notice{font-size:14px;color:var(--muted)}.calculator-notice a,.calculator-next a{text-decoration:underline;color:var(--dark-red)}.calculator-next{padding:24px 0 75px;color:var(--muted)}
.insurance-section{padding:35px 0 105px}.insurance-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.insurance-card{display:flex;flex-direction:column;min-height:280px;border:1px solid var(--line);border-radius:11px;padding:28px;background:linear-gradient(135deg,#fff,#fcf6f7);transition:transform .2s,box-shadow .2s}.insurance-card:hover{transform:translateY(-4px);box-shadow:0 14px 30px #3d22251a}.insurance-symbol{display:grid;place-items:center;width:40px;height:40px;border-radius:10px;background:#d31f3017;color:var(--primary-red);font-size:25px}.insurance-card h2{font-size:25px;margin:20px 0 12px}.insurance-card p{color:var(--muted);flex:1}.insurance-card a{color:var(--dark-red);font-weight:700}.coming-soon{font-weight:700;color:var(--muted)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.site-footer{border-top:5px solid var(--primary-red);background:#f8f3f4}.footer-brand img{width:230px}.footer-grid{grid-template-columns:1.7fr 1fr 1fr 1.2fr}.footer-grid a:hover{color:var(--dark-red)}
:focus-visible{outline-color:var(--primary-red)}
@media(max-width:1070px){.site-header nav{gap:12px}.brand img{width:170px}.footer-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.brand img{width:170px}.nav-dropdown{width:100%}.nav-dropdown summary{padding:8px 0}.dropdown-panel{position:static;box-shadow:none;border:0;padding:8px 12px}.hero-compact{padding-top:32px}.online-home{padding:60px 0}.online-home-grid,.insurance-grid{grid-template-columns:1fr}.topic-online{flex-direction:column;align-items:flex-start;padding:25px;margin-bottom:55px}.mortgage-calculator{width:100%;border-radius:0}.mortgage-calculator iframe{height:max(820px,calc(100vh - 70px))}.insurance-section{padding-top:16px}.footer-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:470px){.footer-grid{grid-template-columns:1fr}.online-home-card{min-height:230px}.hero .portrait{box-shadow:12px 12px 0 #d31f3014}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto;animation-duration:.01ms;transition-duration:.01ms}}
