/* Architecture, editorial pacing and hospitality-inspired contact composition. */
:root { --warm: #f2efe9; }
.program-explorer { padding-block: 85px; }
.program-explorer .solutions-intro { position: static; display: grid; grid-template-columns: 1.15fr 1fr; column-gap: 10%; align-items: center; margin-bottom: 35px; }
.program-explorer .solutions-intro>.kicker { grid-column: 1/-1; }
.program-explorer .solutions-intro h2 { font-size: clamp(32px,3.5vw,49px); margin: 18px 0; grid-row: 2/4; }
.program-explorer .solutions-intro>p:not(.kicker) { margin: 15px 0; max-width: 420px; }
.program-explorer .solutions-intro>.action { justify-self: start; font-size: 12px; }
.program-selector { display: flex; gap: 12px; margin-bottom: 25px; flex-wrap: wrap; }
.program-selector button { border: 0; border-radius: 3px; background: #f2efe9; color: var(--navy); padding: 15px 22px; font-size: 14px; transition: background .2s,color .2s; }
.program-selector button[aria-selected=true] { background: var(--navy); color: #f0d58b; }
.program-panel { display: grid; grid-template-columns: 1.05fr 1fr; align-items: stretch; background: var(--warm); min-height: 380px; }
.program-panel figure { min-width: 0; }.program-panel img { height: 100%; max-height: 460px; min-height: 380px; }
.program-panel .solution-content { padding: 45px 12%; align-self: center; }
.program-panel h3 { font: 36px/1.15 Georgia,serif; letter-spacing: -.03em; margin-bottom: 22px; }
.program-panel .solution-content p,.program-panel .solution-content ul { color: #526074; font-size: 14px; }
.program-panel .solution-content li { margin-bottom: 9px; }
.program-panel .action { font-size: 12px; }
@media(max-width:650px) {
 .program-explorer { padding-block: 45px; }.program-explorer .solutions-intro { display: block; }.program-explorer .solutions-intro h2 { font-size: 35px; }
 .program-selector { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }.program-selector button { padding: 12px 10px; font-size: 12px; text-align: left; }
 .program-panel { grid-template-columns: 1fr; }.program-panel img { height: 230px; min-height: 0; }.program-panel .solution-content { padding: 28px; }.program-panel h3 { font-size: 30px; }
}
.hero-body h1 { font-size: clamp(45px,5.5vw,88px); max-width: 1150px; line-height: 1.09; }
em { font-family: Georgia,serif; font-weight: 400; }
.introduction { position: relative; padding: 110px 0 100px 28%; min-height: 430px; }
.intro-detail { position: absolute; left: 0; top: 90px; width: 21%; height: 290px; object-position: 55%; }
.intro-body { grid-template-columns: 1fr; gap: 25px; }
.intro-body h2 { font-size: clamp(32px,3.3vw,51px); }
.intro-body>div { max-width: 620px; }
.intro-body>div p { display: inline; }
.intro-body .action { display: table; margin-top: 25px; }
.threshold-scene { height: 145vh; min-height: 850px; background: var(--warm); overflow: clip; }
.threshold-stage { height: 88vh; min-height: 630px; position: sticky; top: 90px; padding-top: 45px; }
.threshold-heading { position: relative; z-index: 2; text-align: center; }
.threshold-heading h2 { font-size: clamp(35px,4.3vw,65px); margin-top: 16px; }
.threshold-heading em { color: #886918; }
.threshold-image { display: flex; width: 66%; height: 48vh; min-height: 320px; margin: 30px auto 0; }
.threshold-half { position: relative; overflow: hidden; width: 50%; height: 100%; will-change: transform; }
.threshold-half::before { content: ''; position: absolute; top: 0; left: 0; width: 200%; height: 100%; background: url('assets/images/custom/threshold-architecture-v3.webp') center/cover no-repeat; }
.half-right::before { left: -100%; }
.half-left { background-position: left center; transform: translateX(calc(var(--separation,0) * -1px)); }
.half-right { background-position: right center; transform: translateX(calc(var(--separation,0) * 1px)); }
.threshold-caption { text-align: center; font-size: 13px; margin-top: 22px; color: #59616c; }
.home-solutions { padding-block: 110px; gap: 12%; }
.solution-list details { border-radius: 0; background: transparent; padding-inline: 25px; margin-bottom: 8px; }
.solution-list details[open] { background: var(--navy); }
.solution-list summary { font-size: 26px; }
/* Progressive native-details motion: pattern studied in Rothschild's public accordion stylesheet. */
@supports (interpolate-size: allow-keywords) {
  .solution-list details,.belief-list details { interpolate-size: allow-keywords; }
  .solution-list details::details-content,.belief-list details::details-content { height: 0; overflow: clip; transition: height .5s ease-out,content-visibility .5s allow-discrete; }
  .solution-list details[open]::details-content,.belief-list details[open]::details-content { height: auto; }
}
.guidance-section { background: linear-gradient(90deg,#0a1e3def,#0a1e3dbe),url('assets/images/custom/navy-portal-v3.webp') center/cover; }
.guidance-layout { align-items: center; gap: 9%; }
.guidance-points { position: relative; padding-top: 220px; }
.guidance-photo { height: 260px; position: absolute; top: -65px; right: -15px; width: 90%; }
.guidance-points article { padding: 12px 0; background: none; }
.guidance-points h3 { font-size: 23px; }
.about-opening { padding-top: 75px; align-items: center; gap: 6%; }
.about-heading h1 { font-size: clamp(48px,5.7vw,85px); }
.about-opening-photo { transform: translateY(65px); }
.about-opening-photo img { height: 570px; }
.practice-section { padding-top: 170px; padding-bottom: 95px; }
.about-interlude { position: relative; min-height: 620px; background: var(--warm); display: grid; grid-template-columns: 58% 42%; align-items: center; }
.about-interlude>img { height: 620px; }
.about-interlude>div { position: relative; margin-left: -90px; background: var(--navy); color: white; padding: 65px 55px; max-width: 620px; }
.about-interlude h2 { margin: 25px 0; font-size: clamp(34px,3.3vw,50px); }
.about-interlude p:not(.kicker) { color: #d5dce6; max-width: 370px; }
.beliefs { padding-block: 110px; }
.belief-list details { background: transparent; border-radius: 0; }
.catalog-heading { padding-top: 75px; padding-bottom: 55px; }
.catalog-heading h1 { font-size: clamp(40px,5vw,73px); }
.catalog-grid { display: block; }
.catalog-toolbar { background: none; padding-inline: 0; }
.loan-entry { display: grid; grid-template-columns: 43% 1fr; gap: 8%; background: none; padding: 50px 0 80px; align-items: center; }
.loan-entry:nth-child(even) { grid-template-columns: 1fr 43%; }
.loan-entry:nth-child(even) .loan-editorial-image { order: 2; }
.loan-editorial-image img { height: 490px; }
.loan-entry:nth-child(even) .loan-editorial-image img { height: 390px; }
.loan-editorial-copy { max-width: 580px; }
.loan-editorial-copy>p:not(.kicker) { font-size: 15px; margin: 22px 0; }
.loan-title h2 { font-size: 42px; }
.program-facts ul { columns: 2; font-size: 13px; }
.program-help { background: var(--warm); padding: 70px 6%; width: 100%; }
.team-heading { position: relative; isolation: isolate; width: 100%; text-align: left; padding: 90px max(48px,calc((100% - 1040px)/2)); min-height: 370px; background: #eeebe5; }
.team-heading h1 { font-size: clamp(38px,3.8vw,54px); line-height: 1.14; }
.team-atmosphere { position: absolute; z-index: -1; inset: 0; background: linear-gradient(90deg,#f4f1eb 0%,#f4f1ebf2 30%,#f4f1eb9c 53%,#f4f1eb08 78%),url('assets/images/custom/broker-conversation-v4.webp') center 55%/cover; }
.team-heading p:not(.kicker) { max-width: 450px; color: #4b5869; }
.team-profiles { display: grid; width: min(840px,calc(100% - 96px)); grid-template-columns: repeat(2,minmax(0,1fr)); gap: 100px; padding-top: 65px; padding-bottom: 70px; align-items: start; }
.person-row { display: block; min-width: 0; background: transparent; color: var(--navy); margin-bottom: 0; }
.person-row:nth-child(even) { padding-left: 0; }
.person-image { width: 100%; }
.person-copy a { overflow-wrap: anywhere; }
.person-copy { padding: 26px 0 0; color: var(--navy); }
.person-copy h2 { font-size: 34px; margin: 14px 0 12px; }
.person-copy .person-bio { font-size: 14px; line-height: 1.8; }
.person-copy dl { margin-block: 24px; }
.person-copy p,.person-copy dd,.person-copy dt { color: var(--muted); }
.person-copy .kicker { color: #886918; }
.person-image img { height: auto; aspect-ratio: 4 / 5; min-height: 0; object-position: center top; }
.broker-invitation { padding-block: 0 100px; text-align: center; }
.broker-invitation h2 { margin-block: 25px 35px; }
body[data-page=contact] main { background: var(--warm); }
.contact-heading { width: 100%; min-height: 600px; padding: 80px max(6vw,24px) 145px; background: linear-gradient(90deg,#0a1e3d30,#0a1e3d10),url('assets/images/custom/navy-portal-v3.webp') center/cover; color: white; }
.contact-heading>.kicker { color: var(--gold); }
.contact-heading h1 { font-size: clamp(48px,5.3vw,80px); line-height: 1.12; margin: 30px 0; letter-spacing: -.045em; }
.contact-heading h1 em { color: #e2c36c; }
.contact-intro { display: block; }
.contact-intro>p { color: #d9e0ea; font-size: 18px; }
.contact-intro>div { margin-top: 24px; }
.contact-intro a:first-child { font-size: 26px; }
.contact-intro a { font-size: 14px; }
.inquiry-section { background: transparent; padding: 0 0 70px; }
.inquiry-layout { grid-template-columns: .85fr 1.15fr; gap: 9%; align-items: start; }
.inquiry-intro { padding-top: 70px; }
.inquiry-intro h2 { font-size: 43px; }
.inquiry-intro p { color: #586173; }
.inquiry-form { position: relative; margin-top: -110px; padding: 40px; background: #fffefa; box-shadow: 0 22px 65px #0a1e3d12; }
.inquiry-form>.kicker { color: #886918; }
.inquiry-form>h3 { font: 29px/1.25 Georgia,serif; margin: 15px 0 28px; letter-spacing: -.02em; }
.inquiry-form input,.inquiry-form select,.inquiry-form textarea { background: #f3f1ec; border: 1px solid transparent; border-radius: 2px; padding: 12px; color: var(--navy); }
.inquiry-form label { font-size: 12px; }
.contact-assurance { margin-top: 65px; max-width: 330px; }
.contact-assurance p:not(.kicker) { font-size: 14px; margin-block: 15px; }
.contact-assurance>a { font-size: 14px; color: #775b13; }
.office-grid { gap: 7%; padding-top: 30px; padding-bottom: 85px; }
.office-grid article { background: none; padding: 0; }
.office-top h2 { font: 32px/1.2 Georgia,serif; }
.direction { background: var(--navy); color: white; padding: 10px 20px; display: inline-block; font-size: 12px; border-radius: 2px; }
@media(max-width:900px) {
 .introduction { padding-left: 26%; }.intro-detail { height: 230px; }
 .threshold-image { width: 82%; }.threshold-stage { top: 75px; }
 .inquiry-layout { gap: 5%; }.inquiry-form { padding: 28px; }.inquiry-intro h2 { font-size: 33px; }
 .loan-entry,.loan-entry:nth-child(even) { gap: 5%; }.program-facts ul { columns: 1; }
 .team-profiles { gap: 48px; }
}
@media(max-width:650px) {
 .hero-body h1 { font-size: clamp(34px,8.2vw,49px); }.hero-body { padding-bottom: 45px; }
 .introduction { padding: 55px 0; }.intro-detail { position: static; width: 48%; height: 180px; margin: 0 0 32px auto; }
 .intro-body { padding-top: 20px; }.intro-body>div p { display: block; }
 .threshold-scene { height: 105vh; min-height: 740px; }.threshold-stage { height: 78vh; min-height: 580px; top: 65px; padding-top: 35px; }
 .threshold-heading h2 { font-size: 36px; }.threshold-image { width: 84%; min-height: 260px; height: 35vh; }.threshold-caption { font-size: 11px; padding-inline: 22px; }
 .home-solutions { padding-block: 55px; }.solution-list summary { font-size: 23px; }
 .guidance-points { padding-top: 240px; }.guidance-photo { top: 0; right: 0; height: 210px; width: 100%; }
 .about-opening { padding-top: 35px; }.about-opening-photo { transform: none; }.about-opening-photo img { height: 380px; }.practice-section { padding-top: 55px; }
 .about-interlude { display: block; min-height: 0; padding-bottom: 30px; }.about-interlude>img { height: 340px; }.about-interlude>div { margin: -55px 20px 0 45px; padding: 35px 25px; }.beliefs { padding-block: 55px; }
 .catalog-heading { padding-top: 40px; }.catalog-heading h1 { font-size: 40px; }.loan-entry,.loan-entry:nth-child(even) { display: flex; flex-direction: column; align-items: stretch; gap: 30px; padding: 20px 0 45px; }.loan-entry:nth-child(even) .loan-editorial-image { order: 0; }.loan-editorial-image img,.loan-entry:nth-child(even) .loan-editorial-image img { height: 270px; }.loan-title h2 { font-size: 32px; }.program-facts ul { columns: 1; }
 .team-heading { width: 100%; padding: 55px 24px 65px; min-height: 330px; }.team-atmosphere { inset: 0; height: auto; background-image: linear-gradient(90deg,#f4f1ebf5,#f4f1ebbc 70%,#f4f1eb75),url('assets/images/custom/broker-conversation-v4.webp'); background-position: center,65% center; }.team-heading h1 { font-size: 38px; }.team-profiles { width: min(320px,calc(100% - 48px)); grid-template-columns: 1fr; gap: 45px; padding-top: 28px; padding-bottom: 55px; }.person-row,.person-row:nth-child(even) { margin-bottom: 0; }.person-image { width: 100%; }.person-image img { height: auto; }.person-copy { padding: 30px 0; }.broker-invitation { padding-bottom: 60px; }
 .contact-heading { padding: 45px 24px 100px; min-height: 520px; background-position: 60% center; }.contact-heading h1 { font-size: 43px; }.contact-intro>p { font-size: 15px; }.contact-intro a { font-size: 12px; }.inquiry-layout { display: flex; flex-direction: column; }.inquiry-form { order: -1; margin-top: -55px; width: 100%; padding: 28px 22px; }.inquiry-intro { padding-top: 42px; }.contact-assurance { margin-top: 30px; }.office-grid { gap: 40px; }.office-top h2 { font-size: 28px; }
}
@media(prefers-reduced-motion:reduce) {
 .threshold-scene { height: auto; min-height: 0; }.threshold-stage { position: static; height: auto; min-height: 0; padding-bottom: 40px; }.threshold-half { transform: none; will-change: auto; }
}

/* A single quiet closing section, followed by a compact directory. */
.brand { display: block; position: relative; width: 112px; height: 92px; overflow: hidden; }
.brand .client-logo { position: absolute; width: 128px; height: 128px; max-width: none; left: -8px; top: -15px; object-fit: contain; background: transparent; }
.header-layout { min-height: 104px; }
.guidance-section { background: var(--warm); color: var(--navy); padding-block: 75px; }
.guidance-layout { grid-template-columns: 1.05fr 1fr; gap: 8%; align-items: center; max-width: 1180px; }
.guidance-visual img { height: 390px; object-position: center; }
.guidance-layout .kicker { color: #806319; }
.guidance-layout h2 { font-size: clamp(32px,3.3vw,48px); margin-block: 22px; }
.guidance-layout>div>p:not(.kicker) { color: #586173; font-size: 15px; }
.compact-footer { padding-top: 35px; }
.compact-footer .footer-top { grid-template-columns: 1fr 1.5fr; gap: 50px; padding-bottom: 25px; align-items: start; }
.compact-footer .footer-brand { align-self: start; width: 145px; height: 145px; }
.compact-footer .client-logo { width: 200px; height: 200px; left: -29px; top: -24px; }
.compact-footer .footer-directory { gap: 65px; }
.compact-footer .footer-directory h3 { margin-bottom: 14px; }
.compact-footer .footer-directory a { margin-bottom: 7px; }
.compact-footer .footer-base { padding-block: 12px 22px; }
@media(max-width:650px) {
 .header-layout { min-height: 88px; }.brand { width: 96px; height: 78px; }.brand .client-logo { width: 110px; height: 110px; left: -7px; top: -13px; }
 .guidance-section { padding-block: 40px; }.guidance-layout { grid-template-columns: 1fr; gap: 30px; }.guidance-visual img { height: 265px; }
 .compact-footer .footer-top { grid-template-columns: 1fr; gap: 25px; }.compact-footer .footer-directory { gap: 30px; }.compact-footer .client-logo { width: 200px; height: 200px; }
}
.home-loan-link { padding-block: 65px; display: grid; grid-template-columns: 1fr auto; gap: 20px 35px; align-items: center; }
.home-loan-link>.kicker { grid-column: 1/-1; }.home-loan-link h2 { font-size: clamp(30px,3vw,44px); }
@media(max-width:650px) { .home-loan-link { grid-template-columns: 1fr; padding-block: 45px; }.home-loan-link .action { justify-self: start; } }

/* Home introduction: a single overlapping composition rather than a loose thumbnail. */
body[data-page=index] .introduction { display: grid; grid-template-columns: 44% 56%; align-items: center; width: min(1180px,calc(100% - 96px)); padding: 80px 0; min-height: 0; }
body[data-page=index] .intro-detail { position: static; grid-column: 1; grid-row: 1/3; width: 100%; height: 470px; margin: 0; object-position: center; }
body[data-page=index] .introduction .section-meta { grid-column: 2; grid-row: 1; align-self: end; padding: 32px 0 16px 48px; }
body[data-page=index] .intro-body { position: relative; grid-column: 2; grid-row: 2; align-self: start; display: block; margin-left: -55px; padding: 35px 45px; background: #f4f1eb; }
body[data-page=index] .intro-body h2 { font: 42px/1.15 Georgia,serif; letter-spacing: -.035em; margin-bottom: 25px; }
body[data-page=index] .intro-body>div p { display: block; font-size: 14px; line-height: 1.8; margin-bottom: 12px; }
body[data-page=index] .intro-body .action { margin-top: 22px; }
body[data-page=index] .home-loan-link { width: 100%; padding: 60px max(48px,calc((100% - 1180px)/2)); background: var(--navy); color: white; grid-template-columns: 1.1fr 1fr; gap: 20px 80px; }
body[data-page=index] .home-loan-link>.kicker { color: #e0c36b; }
body[data-page=index] .home-loan-link h2 { font-size: clamp(32px,3.3vw,46px); }
.home-loan-link h2 em { color: #e0c36b; }
.home-loan-link .loan-link-copy p { color: #cbd4e1; font-size: 15px; max-width: 450px; margin-bottom: 25px; }
@media(max-width:750px) {
 body[data-page=index] .introduction { width: calc(100% - 40px); display: block; padding-block: 40px; }
 body[data-page=index] .intro-detail { width: 85%; height: 300px; }
 body[data-page=index] .introduction .section-meta { position: relative; background: #f4f1eb; margin: -35px 0 0 25px; padding: 25px 25px 0; }
 body[data-page=index] .intro-body { margin: 0 0 0 25px; padding: 20px 25px 30px; }
 body[data-page=index] .intro-body h2 { font-size: 33px; }
 body[data-page=index] .home-loan-link { grid-template-columns: 1fr; padding: 40px 25px; gap: 20px; }
}

/* Client refinements: readable navigation and company identification. */
.site-header .brand { flex-shrink: 0; width: 145px; height: 118px; }
.site-header .brand .client-logo { width: 166px; height: 166px; left: -10px; top: -19px; }
.site-header .header-layout { min-height: 128px; }
.desktop-nav a { font-size: 15px; white-space: nowrap; }
.contact-shortcut { font-size: 12px; white-space: nowrap; }
.company-licenses { color: #c2ccda; font-size: 13px; line-height: 1.8; margin: 12px 0 0; }
.person-copy dd { min-width: 0; overflow-wrap: anywhere; }
.privacy-main { padding-block: 65px 85px; }
.privacy-document { max-width: 860px; margin-inline: auto; }
.privacy-document h1 { font: clamp(34px,5vw,58px)/1.15 Georgia,serif; margin-bottom: 30px; }
.privacy-document h2 { font: 24px/1.35 Georgia,serif; margin: 40px 0 18px; }
.privacy-document h3 { font-size: 17px; margin: 24px 0 12px; }
.privacy-document p,.privacy-document li { font-size: 16px; line-height: 1.8; color: #586173; }
.privacy-document p { margin-bottom: 16px; }
.privacy-document ul { padding-left: 24px; margin: 16px 0; }
.privacy-document a { text-decoration: underline; overflow-wrap: anywhere; }
@media(min-width:901px) and (max-width:1100px) {
 .header-layout { margin-inline: 24px; gap: 18px; }
 .desktop-nav { gap: 16px; }
 .desktop-nav a { font-size: 14px; }
 .contact-shortcut { padding-inline: 12px; font-size: 11px; }
}
@media(max-width:650px) {
 .site-header .brand { width: 120px; height: 98px; }
 .site-header .brand .client-logo { width: 138px; height: 138px; left: -9px; top: -16px; }
 .site-header .header-layout { min-height: 106px; }
 .privacy-main { padding-block: 40px 55px; }
 .privacy-document h2 { font-size: 22px; }
}

/* Original footer directory, with a centered housing mark and copyright below. */
.equal-housing-mark { width: 54px; height: 59px; overflow: hidden; flex-shrink: 0; mix-blend-mode: screen; }
.equal-housing-logo { display: block; width: 80px; height: auto; max-width: none; margin: -14px 0 0 -11px; filter: invert(1); }
.footer-legal { display: flex; flex-direction: row; justify-content: center; align-items: center; gap: 16px; width: 100%; text-align: left; }
.footer-legal span { font-size: 12px; line-height: 1.7; color: #c2ccda; }
.compact-footer .footer-base { position: relative; display: block; padding-block: 22px 28px; }
.footer-base>a { position: absolute; right: 0; bottom: 30px; }
@media(max-width:900px) {
 .footer-base>a { position: static; display: block; width: fit-content; margin: 16px auto 0; }
 .footer-legal span { font-size: 11px; max-width: 280px; }
}