/*
Theme Name: Financier$ Mortgage
Theme URI: https://www.financiersmortgage.com/
Author: Financier$ Mortgage Group
Description: Custom WordPress theme for Financier$ Mortgage Group, adapted from the approved 2026 website design.
Version: 1.0.3
Requires at least: 6.4
Requires PHP: 7.4
Text Domain: financiers-mortgage
*/

@font-face { font-family: "Cormorant"; src: url("assets/fonts/CormorantGaramond.ttf") format("truetype"); font-display: swap; }
@font-face { font-family: "Cormorant"; src: url("assets/fonts/CormorantGaramond-Italic.ttf") format("truetype"); font-style: italic; font-display: swap; }
@font-face { font-family: "Montserrat"; src: url("assets/fonts/Montserrat.ttf") format("truetype"); font-display: swap; }

:root { --navy:#0d1b2a; --navy-2:#10263a; --gold:#c8a461; --dollar-green:#3f7d4a; --paper:#f7f6f3; --ink:#132033; --muted:#6c747c; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:"Montserrat", Arial, sans-serif; }
a { color:inherit; text-decoration:none; }
.announcement { height:34px; padding:0 clamp(24px,6vw,96px); display:flex; align-items:center; justify-content:space-between; background:#08131f; color:#d8c296; font-size:10px; letter-spacing:.16em; text-transform:uppercase; }
.site-header { height:132px; padding:0 clamp(24px,6vw,96px); display:flex; align-items:center; gap:36px; background:var(--navy); color:white; border-bottom:1px solid rgba(200,164,97,.34); position:relative; z-index:5; }
.site-header { border-bottom:3px solid var(--dollar-green); box-shadow:0 1px 0 rgba(63,125,74,.22); }
.brand { margin-right:auto; width:430px; display:flex; flex-direction:row; align-items:center; justify-content:flex-start; flex:0 0 auto; color:white; }
.brand img { object-fit:contain; display:block; }
.brand-logo-art { width:100%; height:auto; }
.brand-mark { width:92px; height:92px; flex:0 0 auto; margin:0 25px 0 0; }
.brand-copy { width:313px; min-width:0; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; line-height:1; }
.brand-name { font:500 39px/1 "Cormorant",Georgia,serif; letter-spacing:.11em; white-space:nowrap; }
.brand-subtitle { width:100%; margin-top:8px; display:flex; align-items:center; justify-content:center; gap:13px; font:500 11px/1 "Montserrat",Arial,sans-serif; letter-spacing:.28em; white-space:nowrap; }
.brand-subtitle::before,.brand-subtitle::after { content:""; width:58px; height:2px; flex:0 0 auto; border-radius:2px; background:var(--gold); }
nav { display:flex; gap:23px; font-size:11px; text-transform:uppercase; letter-spacing:.1em; }
nav a { opacity:.8; transition:.2s; }
nav a:hover { opacity:1; color:#d7b572; }
.menu-toggle { display:none; border:1px solid rgba(200,164,97,.65); background:transparent; color:white; padding:12px 15px; font:600 10px "Montserrat",Arial,sans-serif; text-transform:uppercase; letter-spacing:.12em; cursor:pointer; }
.nav-cta { border:1px solid rgba(200,164,97,.7); padding:14px 17px; font-size:10px; letter-spacing:.1em; text-transform:uppercase; display:flex; gap:20px; }
.hero { min-height:690px; height:calc(100vh - 166px); max-height:850px; position:relative; color:white; overflow:hidden; }
.hero-slides { position:absolute; inset:0; }
.hero-image { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; }
.hero-slide { opacity:0; transform:scale(1.015); transition:opacity 1.2s ease,transform 7s ease; }
.hero-slide.is-active { opacity:1; transform:scale(1); }
.hero-slide:nth-child(1) { object-position:68% center; }
.hero-slide:nth-child(2) { object-position:center center; }
.hero-slide:nth-child(3) { object-position:center center; }
.hero-overlay { position:absolute; inset:0; background:linear-gradient(90deg,rgba(5,15,25,.94) 0%,rgba(5,15,25,.72) 38%,rgba(5,15,25,.14) 72%,rgba(5,15,25,.06)); }
.hero-content { position:relative; z-index:2; width:min(780px,62vw); margin-left:clamp(24px,8vw,130px); padding-top:clamp(100px,15vh,160px); }
.eyebrow { color:#d2ad68; text-transform:uppercase; letter-spacing:.22em; font-size:11px; margin:0 0 22px; }
.eyebrow.dark { color:#9a6f26; }
h1,h2,h3 { font-family:"Cormorant", Georgia, serif; font-weight:500; margin:0; }
h1 { font-size:clamp(54px,6.1vw,92px); line-height:.93; letter-spacing:-.025em; }
h1 em { color:#d7b572; font-weight:400; }
.hero-copy { width:min(630px,100%); font-size:16px; line-height:1.75; color:rgba(255,255,255,.76); margin:30px 0 36px; }
.hero-actions { display:flex; gap:14px; flex-wrap:wrap; }
.button { padding:17px 22px; min-width:182px; display:inline-flex; justify-content:space-between; gap:24px; align-items:center; font-size:11px; text-transform:uppercase; letter-spacing:.12em; transition:.2s; }
.button-gold { background:#b88d40; color:white; }
.button-gold:hover { background:#c49d56; transform:translateY(-1px); }
.button-ghost { border:1px solid rgba(255,255,255,.45); color:white; }
.hero-credential { position:absolute; z-index:2; right:clamp(28px,6vw,96px); bottom:48px; display:flex; align-items:center; gap:22px; font-size:12px; font-weight:600; text-transform:uppercase; letter-spacing:.14em; line-height:1.55; color:rgba(255,255,255,.9); }
.hero-carousel-controls { position:absolute; z-index:3; left:clamp(24px,8vw,130px); bottom:43px; display:flex; align-items:center; gap:6px; }
.hero-carousel-controls button { min-width:34px; min-height:44px; padding:0; border:0; background:transparent; color:white; cursor:pointer; }
.hero-dot::before { content:""; display:block; width:24px; height:2px; margin:auto; background:rgba(255,255,255,.46); transition:width .2s ease,background .2s ease; }
.hero-dot.is-active::before { width:32px; background:#d7b572; }
.hero-pause { margin-left:8px; font:600 8px "Montserrat",Arial,sans-serif; text-transform:uppercase; letter-spacing:.13em; opacity:.82; }
.hero-pause:hover,.hero-pause:focus-visible { opacity:1; color:#d7b572; }
.credential-year { font:italic 54px "Cormorant",Georgia,serif; color:#d7b572; letter-spacing:0; line-height:1; }
.credential-rule { width:1px; height:58px; background:#c8a461; }
.home-page .credential-rule { width:2px; background:var(--dollar-green); }
.trust-strip { display:grid; grid-template-columns:repeat(4,1fr); background:#fff; padding:29px clamp(24px,7vw,110px); border-bottom:1px solid #e3dfd6; }
.trust-strip div { padding:0 28px; border-right:1px solid #e5dfd3; }
.trust-strip div:last-child { border:0; }
.trust-strip strong,.trust-strip span { display:block; }
.trust-strip strong { font:600 18px "Cormorant",Georgia,serif; letter-spacing:.05em; }
.trust-strip span { margin-top:5px; font-size:9px; letter-spacing:.12em; text-transform:uppercase; color:#777; }
.section { padding:110px clamp(24px,8vw,130px); }
.section-heading { display:grid; grid-template-columns:1.25fr .75fr; gap:70px; align-items:end; margin-bottom:55px; }
.section-heading h2,.experience-copy h2,.contact h2 { font-size:clamp(44px,5vw,70px); line-height:1; color:var(--navy); }
.section-heading>p { line-height:1.8; color:var(--muted); font-size:14px; max-width:480px; }
.service-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:#d8d2c7; border:1px solid #d8d2c7; }
.service-card { min-height:330px; background:#fbfaf7; padding:38px; display:flex; flex-direction:column; }
.service-number { color:#a67c31; font-size:11px; letter-spacing:.16em; }
.service-card h3 { font-size:35px; margin:42px 0 18px; color:var(--navy); }
.service-card p { color:var(--muted); font-size:13px; line-height:1.75; margin:0; }
.service-card a { margin-top:auto; padding-top:28px; border-top:1px solid #e4dfd4; color:#846221; display:flex; justify-content:space-between; text-transform:uppercase; letter-spacing:.13em; font-size:10px; }
.loan-types { background:#ebe8e0; }
.loan-types-heading { align-items:start; }
.loan-types-heading h2 { max-width:800px; }
.loan-type-grid { display:grid; grid-template-columns:repeat(6,1fr); gap:14px; }
.loan-type-card { grid-column:span 2; min-height:600px; padding:34px 32px 28px; background:#fff; border-top:4px solid var(--dollar-green); display:flex; flex-direction:column; box-shadow:0 12px 34px rgba(13,27,42,.055); }
.loan-type-card:nth-child(4) { grid-column:2/span 2; }
.loan-type-card-featured { grid-column:4/span 2; background:var(--navy); color:white; border-top-color:#d7b572; }
.loan-type-card:nth-child(4),.loan-type-card-featured { grid-column:span 2; }
.loan-type-label { margin:0; color:#3f7d4a; font-size:9px; font-weight:700; text-transform:uppercase; letter-spacing:.16em; }
.loan-type-card-featured .loan-type-label { color:#d7b572; }
.loan-type-card h3 { margin:20px 0 12px; color:var(--navy); font-size:40px; line-height:1; }
.loan-type-card-featured h3 { color:white; }
.loan-type-intro { min-height:68px; margin:0 0 22px; color:#666e75; font-size:12px; line-height:1.7; }
.loan-type-card-featured .loan-type-intro { color:#bbc3c9; }
.loan-type-snapshot { min-height:88px; padding:17px 18px; background:#f0ede6; display:flex; align-items:center; gap:16px; border-left:3px solid var(--dollar-green); }
.loan-type-card-featured .loan-type-snapshot { background:rgba(255,255,255,.08); border-left-color:#d7b572; }
.loan-type-snapshot strong { color:var(--navy); font:italic 38px/1 "Cormorant",Georgia,serif; white-space:nowrap; }
.loan-type-card-featured .loan-type-snapshot strong { color:#d7b572; }
.loan-type-snapshot span { color:#676f75; font-size:9px; line-height:1.55; text-transform:uppercase; letter-spacing:.08em; }
.loan-type-card-featured .loan-type-snapshot span { color:#c8d0d5; }
.loan-type-card ul { margin:24px 0 26px; padding:0; list-style:none; }
.loan-type-card li { position:relative; padding:10px 0 10px 21px; border-bottom:1px solid #e3dfd7; color:#38434d; font-size:10px; line-height:1.55; }
.loan-type-card li::before { content:"✓"; position:absolute; left:0; color:var(--dollar-green); font-weight:800; }
.loan-type-card-featured li { color:#d5dadd; border-bottom-color:rgba(255,255,255,.13); }
.loan-type-card-featured li::before { color:#d7b572; }
.loan-card-link { margin-top:auto; padding-top:17px; color:#2f7040; border-top:1px solid #d9d4ca; display:flex; justify-content:space-between; font-size:9px; font-weight:700; text-transform:uppercase; letter-spacing:.12em; }
.loan-type-card-featured .loan-card-link { color:#d7b572; border-top-color:rgba(255,255,255,.2); }
.loan-types-footer { margin-top:30px; padding:27px 30px; background:#f8f6f1; border-left:4px solid var(--dollar-green); display:flex; align-items:center; justify-content:space-between; gap:40px; }
.loan-types-footer p { max-width:720px; margin:0; color:#5e666c; font-size:11px; line-height:1.7; }
.loan-types-footer p strong { color:var(--navy); }
.loan-types-footer>div { display:flex; align-items:center; gap:25px; flex-shrink:0; }
.button-navy { background:var(--navy); color:white; }
.button-navy:hover { background:#18324a; }
.experience { display:grid; grid-template-columns:1fr 1fr; min-height:650px; background:var(--navy); color:white; }
.experience-image { min-height:560px; background:linear-gradient(90deg,rgba(13,27,42,.08),rgba(13,27,42,.38)),url("assets/images/new-home-exterior.jpg") center 45%/cover; }
.experience-copy { padding:90px clamp(40px,7vw,110px); display:flex; flex-direction:column; justify-content:center; }
.experience-copy h2,.contact h2 { color:white; }
.experience-copy .lead { color:#e9e4d9; font:italic 24px/1.45 "Cormorant",Georgia,serif; border-left:1px solid #c8a461; padding-left:24px; margin:30px 0 24px; }
.experience-copy>p:not(.eyebrow):not(.lead) { color:#aab1b7; font-size:13px; line-height:1.85; }
.signature-line { margin-top:34px; display:flex; flex-direction:column; gap:4px; }
.signature-line span { color:#d7b572; font:italic 27px "Cormorant",Georgia,serif; }
.signature-line small { font-size:9px; text-transform:uppercase; letter-spacing:.13em; color:#9aa4ad; }
.text-link { margin-top:30px; color:#d7b572; text-transform:uppercase; letter-spacing:.13em; font-size:10px; display:flex; justify-content:space-between; max-width:240px; padding-bottom:8px; border-bottom:1px solid rgba(200,164,97,.45); }
.process-heading { margin-bottom:35px; }
.process-list { list-style:none; padding:0; margin:0; border-top:1px solid #d8d2c7; }
.process-list li { display:grid; grid-template-columns:100px 1fr; gap:20px; padding:34px 0; border-bottom:1px solid #d8d2c7; }
.process-list>li>span { color:#a67c31; font-size:11px; letter-spacing:.15em; padding-top:9px; }
.process-list h3 { font-size:31px; color:var(--navy); }
.process-list p { color:var(--muted); font-size:13px; line-height:1.7; margin:8px 0 0; }
.contact { padding:80px clamp(24px,8vw,130px); background:#132a40; color:white; display:grid; grid-template-columns:1.15fr .85fr; align-items:center; gap:60px; border-top:1px solid rgba(200,164,97,.5); }
.contact p:last-child { color:#b2bbc2; font-size:13px; line-height:1.7; }
.contact-actions { display:flex; flex-direction:column; align-items:flex-start; gap:20px; }
.contact-email { font-size:12px; border-bottom:1px solid rgba(255,255,255,.35); padding-bottom:5px; }
.office-actions { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.office-button { border:1px solid rgba(200,164,97,.5); padding:20px; min-width:190px; transition:.2s; }
.office-email { grid-column:1/-1; }
.office-button:hover { background:#b88d40; border-color:#b88d40; }
.office-button small,.office-button strong { display:block; }
.office-button small { color:#c8a461; text-transform:uppercase; letter-spacing:.13em; font-size:8px; margin-bottom:8px; }
.office-button:hover small { color:white; }
.office-button strong { font:500 20px "Cormorant",Georgia,serif; }
.about-hero { min-height:470px; display:flex; align-items:center; padding:90px clamp(24px,8vw,130px); color:white; background:linear-gradient(90deg,rgba(6,17,28,.97),rgba(8,27,44,.78),rgba(8,27,44,.48)),url("assets/images/hero-home.png") center 57%/cover; }
.about-hero>div { max-width:800px; }
.about-hero h1 { font-size:clamp(58px,7vw,96px); }
.about-hero p:last-child { max-width:670px; color:#c7cdd1; line-height:1.8; font-size:14px; }
.heritage-section { padding:105px clamp(24px,8vw,130px); display:grid; grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr); gap:clamp(60px,8vw,120px); align-items:center; background:#f1eee7; border-bottom:1px solid #d8d2c7; }
.heritage-copy h2 { font-size:clamp(44px,5vw,70px); line-height:1; color:var(--navy); }
.heritage-copy>p:not(.eyebrow) { color:var(--muted); font-size:13px; line-height:1.85; max-width:650px; }
.heritage-copy .heritage-lead { margin:30px 0 14px; color:#403a32; font:italic 23px/1.5 "Cormorant",Georgia,serif; }
.heritage-milestones { margin-top:38px; border-top:1px solid #cec6b8; }
.heritage-milestones>div { display:grid; grid-template-columns:95px 1fr; gap:20px; align-items:center; padding:19px 0; border-bottom:1px solid #d8d0c3; }
.heritage-milestones strong { color:#9a6f26; font:italic 31px "Cormorant",Georgia,serif; }
.heritage-milestones span { color:#5f625f; font-size:10px; line-height:1.55; text-transform:uppercase; letter-spacing:.09em; }
.heritage-archive { min-height:510px; position:relative; }
.heritage-archive figure { margin:0; background:#0d1b2a; color:white; box-shadow:0 24px 60px rgba(13,27,42,.16); }
.archive-wordmark { width:min(100%,460px); padding:34px; position:absolute; top:0; left:0; z-index:2; transform:rotate(-1.25deg); }
.archive-badge { width:230px; padding:28px; position:absolute; right:0; bottom:0; z-index:3; transform:rotate(2.5deg); }
.archive-label { display:block; color:#c8a461; font-size:8px; text-transform:uppercase; letter-spacing:.18em; margin-bottom:24px; }
.archive-image { min-height:150px; display:grid; place-items:center; padding:18px; background:#f6f3ec; border:1px solid rgba(200,164,97,.55); }
.archive-wordmark .archive-image img { width:min(100%,307px); height:auto; }
.archive-badge .archive-image { min-height:130px; }
.archive-badge .archive-image img { width:92px; height:92px; object-fit:contain; }
.heritage-archive figcaption { color:#aeb6bd; font-size:9px; line-height:1.65; letter-spacing:.04em; margin-top:20px; }
.team-layout-preview { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.team-card { background:white; border:1px solid #ddd7cc; }
.portrait-placeholder { aspect-ratio:4/3; display:grid; place-items:center; background:linear-gradient(145deg,#10263a,#08131f); color:#c8a461; }
.portrait-placeholder span { font:italic 70px "Cormorant",Georgia,serif; opacity:.72; }
.profile-photo { aspect-ratio:4/3; overflow:hidden; background:#10263a; }
.profile-photo img { width:100%; height:100%; object-fit:cover; object-position:34% 30%; display:block; filter:saturate(.78) contrast(1.03); }
.team-card:first-child .profile-photo img { object-position:center 28%; }
.team-card-copy { padding:30px; }
.profile-label { color:#9a6f26!important; text-transform:uppercase; letter-spacing:.14em; font-size:8px!important; }
.team-card h3 { font-size:31px; color:var(--navy); margin:12px 0 15px; }
.team-card p { color:var(--muted); font-size:12px; line-height:1.75; }
.profile-meta { margin-top:24px; padding-top:18px; border-top:1px solid #e6e1d8; display:flex; justify-content:space-between; color:#8a8379; font-size:8px; text-transform:uppercase; letter-spacing:.1em; }
.profile-draft { min-height:84px; }
.profile-contact { display:flex; flex-direction:column; gap:7px; margin-top:20px; font-size:9px; letter-spacing:.04em; color:#71531d; }
.profile-contact a:last-child { font-size:8px; overflow-wrap:anywhere; }
.profile-contact-pending { color:#8a8379; text-transform:uppercase; letter-spacing:.1em; font-size:8px; }
.mockup-note { margin:24px 0 0; color:#746e66; font-size:11px; line-height:1.7; }
.testimonials-section { padding:105px clamp(24px,8vw,130px); background:#fff; }
.testimonials-heading { display:grid; grid-template-columns:1.15fr .85fr; gap:70px; align-items:end; margin-bottom:48px; }
.testimonials-heading h2 { font-size:clamp(44px,5vw,70px); line-height:1; color:var(--navy); }
.testimonials-heading>p { color:var(--muted); font-size:13px; line-height:1.8; max-width:500px; }
.testimonial-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:#d8d2c7; border:1px solid #d8d2c7; }
.testimonial-card { min-height:275px; margin:0; padding:34px; background:#faf8f3; display:flex; flex-direction:column; border-top:3px solid #b88d40; }
.testimonial-card blockquote { margin:0; color:var(--navy); font:italic 29px/1.35 "Cormorant",Georgia,serif; }
.testimonial-card figcaption { margin-top:auto; padding-top:26px; border-top:1px solid #ddd6ca; display:flex; flex-direction:column; gap:5px; }
.testimonial-card figcaption strong { color:#876322; font-size:9px; text-transform:uppercase; letter-spacing:.13em; }
.testimonial-card figcaption span { color:#85817a; font-size:8px; text-transform:uppercase; letter-spacing:.1em; }
.education-hero { min-height:560px; padding:110px clamp(24px,8vw,130px); display:flex; align-items:center; color:white; background:linear-gradient(90deg,rgba(6,17,28,.97),rgba(8,27,44,.72),rgba(8,27,44,.34)),url("assets/images/hero-home.png") center 64%/cover; }
.education-hero>div { max-width:900px; }
.education-hero h1 { font-size:clamp(58px,7vw,96px); line-height:.95; }
.education-hero h1 em { color:#d7b572; font-weight:400; }
.education-hero p:last-child { max-width:720px; margin:30px 0 0; color:#c5ccd1; font-size:14px; line-height:1.85; }
.education-intro { display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(50px,8vw,120px); align-items:start; }
.education-intro h2,.guide-heading h2,.education-resources h2 { font-size:clamp(44px,5vw,68px); line-height:1; color:var(--navy); }
.education-intro>div:last-child>p { margin-top:0; color:var(--muted); font-size:13px; line-height:1.85; }
.education-intro .education-note { margin-top:26px; padding:20px 22px; background:#eee9df; border-left:3px solid #b88d40; color:#5f5b54; }
.education-path { padding:0 clamp(24px,8vw,130px) 90px; display:grid; grid-template-columns:repeat(6,1fr); gap:1px; background:var(--paper); }
.education-path a { min-height:155px; padding:22px 18px; background:white; border:1px solid #ddd7cc; display:flex; flex-direction:column; transition:.2s; }
.education-path a:hover { transform:translateY(-3px); border-color:#c8a461; box-shadow:0 12px 28px rgba(13,27,42,.08); }
.education-path span { color:#a67c31; font-size:9px; letter-spacing:.15em; }
.education-path strong { margin-top:24px; color:var(--navy); font:500 25px "Cormorant",Georgia,serif; text-transform:none; letter-spacing:0; }
.education-path small { margin-top:7px; color:#777; font-size:8px; line-height:1.5; text-transform:uppercase; letter-spacing:.07em; }
.education-guide { background:#f2efe8; }
.guide-heading { display:grid; grid-template-columns:1.15fr .85fr; gap:60px; align-items:end; margin-bottom:46px; }
.guide-heading .eyebrow { grid-column:1/-1; margin-bottom:-30px; }
.guide-heading>p:last-child { color:var(--muted); font-size:13px; line-height:1.75; }
.education-guide details { border-top:1px solid #cbc4b8; }
.education-guide details:last-child { border-bottom:1px solid #cbc4b8; }
.education-guide summary { list-style:none; cursor:pointer; padding:27px 4px; display:grid; grid-template-columns:80px 1fr auto; gap:20px; align-items:center; }
.education-guide summary::-webkit-details-marker { display:none; }
.education-guide summary>span { color:#a67c31; font-size:10px; letter-spacing:.15em; }
.education-guide summary>div { display:flex; align-items:baseline; justify-content:space-between; gap:30px; }
.education-guide summary strong { color:var(--navy); font:500 31px "Cormorant",Georgia,serif; }
.education-guide summary small { color:#817c74; font-size:8px; text-transform:uppercase; letter-spacing:.1em; }
.education-guide summary::after { content:"+"; grid-column:3; color:#9a6f26; font:28px "Cormorant",Georgia,serif; }
.education-guide details[open] summary::after { content:"−"; }
.guide-content { padding:4px 0 42px 100px; display:grid; grid-template-columns:1.2fr .8fr; gap:70px; }
.guide-content h3 { font-size:30px; color:var(--navy); margin-bottom:15px; }
.guide-content p { color:var(--muted); font-size:12px; line-height:1.85; }
.guide-checklist { padding:25px 28px; background:#fff; border-top:2px solid #b88d40; }
.guide-checklist>strong { color:#876322; font-size:9px; text-transform:uppercase; letter-spacing:.13em; }
.guide-checklist ul { margin:18px 0 0; padding-left:18px; }
.guide-checklist li { margin:9px 0; color:#5f625f; font-size:11px; line-height:1.55; }
.mortgage-glossary { padding:105px clamp(24px,8vw,130px); background:#0d1b2a; color:white; display:grid; grid-template-columns:.75fr 1.25fr; gap:80px; }
.glossary-heading h2 { font-size:clamp(44px,5vw,68px); line-height:1; }
.mortgage-glossary dl { margin:0; display:grid; grid-template-columns:1fr 1fr; gap:1px; background:rgba(200,164,97,.24); }
.mortgage-glossary dl>div { padding:25px; background:#10263a; }
.mortgage-glossary dt { color:#d2ad68; font:500 24px "Cormorant",Georgia,serif; }
.mortgage-glossary dd { margin:9px 0 0; color:#aab3ba; font-size:10px; line-height:1.7; }
.education-resources { display:grid; grid-template-columns:.9fr 1.1fr; gap:80px; align-items:start; }
.education-resources>div:first-child>p:last-child { color:var(--muted); font-size:13px; line-height:1.8; }
.resource-links { border-top:1px solid #d4cec3; }
.resource-links a { padding:24px 0; border-bottom:1px solid #d4cec3; display:flex; flex-direction:column; gap:7px; }
.resource-links strong { color:var(--navy); font:500 25px "Cormorant",Georgia,serif; }
.resource-links span { color:#8a6a2d; font-size:9px; text-transform:uppercase; letter-spacing:.09em; }
.values-band { padding:70px clamp(24px,8vw,130px); background:var(--navy); color:white; display:grid; grid-template-columns:repeat(3,1fr); gap:50px; }
.values-band>div { border-left:1px solid rgba(200,164,97,.5); padding-left:24px; }
.values-band span { color:#c8a461; font-size:9px; letter-spacing:.15em; }
.values-band h3 { font-size:30px; margin:16px 0 10px; }
.values-band p { color:#aab1b7; font-size:12px; line-height:1.7; }
footer { background:#08131f; color:#c4c9cd; padding:55px clamp(24px,8vw,130px) 24px; }
.footer-main { display:grid; grid-template-columns:1.35fr repeat(3,1fr); gap:44px; align-items:start; }
.footer-main img { width:260px; }
.footer-main .footer-monogram { width:72px; height:72px; object-fit:contain; filter:brightness(0) invert(1); }
.footer-main div { display:flex; flex-direction:column; gap:8px; font-size:11px; line-height:1.65; }
.footer-main strong { color:#c8a461; text-transform:uppercase; font-size:9px; letter-spacing:.14em; }
.footer-disclosure { margin-top:38px; padding:18px 0; border-top:1px solid rgba(255,255,255,.1); border-bottom:1px solid rgba(255,255,255,.1); display:flex; flex-wrap:wrap; gap:10px 28px; color:#8a949c; font-size:8px; line-height:1.6; text-transform:uppercase; letter-spacing:.08em; }
.footer-disclosure strong { color:#c8a461; }
.footer-legal { display:flex; gap:30px; margin-top:46px; padding-top:20px; border-top:1px solid rgba(255,255,255,.1); color:#707b84; font-size:8px; text-transform:uppercase; letter-spacing:.12em; }
.footer-disclosure + .footer-legal { margin-top:0; border-top:0; }
.legal-hero { padding:80px clamp(24px,12vw,190px) 70px; background:linear-gradient(125deg,#0d1b2a,#17344d); color:white; border-bottom:1px solid #c8a461; }
.legal-hero h1 { font-size:clamp(48px,6vw,78px); }
.legal-hero>p:last-child { color:#aab3ba; font-size:10px; text-transform:uppercase; letter-spacing:.12em; margin-top:18px; }
.legal-content { max-width:920px; margin:0 auto; padding:70px 30px 100px; color:#3c4650; }
.legal-content h2 { font-size:29px; color:var(--navy); margin:44px 0 12px; }
.legal-content p,.legal-content li { font-size:13px; line-height:1.85; }
.legal-content ul { padding-left:22px; }
.legal-content a { color:#7f5c1c; text-decoration:underline; text-underline-offset:3px; }
.draft-banner { padding:20px 22px; border-left:4px solid #b88d40; background:#eee9df; display:flex; flex-direction:column; gap:6px; font-size:11px; line-height:1.6; }
.draft-banner strong { color:#795719; text-transform:uppercase; letter-spacing:.1em; font-size:9px; }
.license-table { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:#d8d2c7; border:1px solid #d8d2c7; }
.license-table>div { background:white; padding:24px; display:flex; flex-direction:column; gap:7px; }
.license-table strong { font:500 23px "Cormorant",Georgia,serif; color:var(--navy); }
.license-table span { font-size:9px; text-transform:uppercase; letter-spacing:.08em; }
.required-notice { border:2px solid #0d1b2a; padding:26px; background:white; color:#111; }
.required-notice p { font-weight:600; font-size:11px; line-height:1.7; }
.source-note { font-size:10px!important; color:#766e64; font-style:italic; }
.legal-footer { background:#08131f; color:#85909a; padding:28px clamp(24px,8vw,130px); display:flex; flex-wrap:wrap; align-items:center; gap:24px; font-size:8px; text-transform:uppercase; letter-spacing:.1em; }
.legal-footer span { margin-left:auto; }
@media (max-width:1100px) { .education-path{grid-template-columns:repeat(3,1fr)}.education-intro,.guide-heading,.mortgage-glossary,.education-resources{grid-template-columns:1fr}.guide-heading .eyebrow{margin-bottom:-20px}.mortgage-glossary{gap:45px}.guide-content{grid-template-columns:1fr;gap:28px}.site-header{gap:28px}nav{gap:18px;font-size:10px} }
@media (max-width:1000px) { .site-header{height:82px;padding-inline:32px;gap:20px}.site-header nav{gap:13px;font-size:9px}.nav-cta{padding:14px 17px;font-size:9px}.hero{height:auto;min-height:680px}.hero-content{width:80vw}.trust-strip{grid-template-columns:repeat(2,1fr);gap:22px}.service-grid,.team-layout-preview,.license-table,.testimonial-grid{grid-template-columns:1fr}.loan-type-grid{grid-template-columns:repeat(2,1fr)}.loan-type-card,.loan-type-card:nth-child(4),.loan-type-card-featured{grid-column:auto}.loan-types-footer{align-items:flex-start;flex-direction:column}.experience{grid-template-columns:1fr}.experience-image{min-height:420px}.footer-main{grid-template-columns:1fr 1fr}.footer-main img{grid-column:1/-1}.section-heading,.contact,.heritage-section,.testimonials-heading{grid-template-columns:1fr}.heritage-archive{width:min(100%,620px);min-height:460px}.hero-credential{display:none}.values-band{grid-template-columns:1fr} }
@media (max-width:760px) { .site-header{padding-inline:24px}.menu-toggle{display:block}.site-header>nav{display:none;position:absolute;left:0;right:0;top:100%;padding:18px 24px 24px;background:#0d1b2a;border-top:1px solid rgba(200,164,97,.3);border-bottom:2px solid var(--dollar-green);box-shadow:0 16px 30px rgba(0,0,0,.22);flex-direction:column;gap:0;font-size:11px}.site-header>nav.is-open{display:flex}.site-header>nav a{padding:13px 0;border-bottom:1px solid rgba(255,255,255,.09)}.site-header>nav a:last-child{border-bottom:0}.nav-cta{margin-left:auto} }
@media (max-width:640px) { .announcement span:last-child{display:none}.announcement{justify-content:center;font-size:8px;letter-spacing:.1em;padding:0 14px}.nav-cta{display:none}.site-header{justify-content:center}.brand{margin:0}.hero-content{width:auto;margin:0;padding:90px 24px}.hero-overlay{background:linear-gradient(90deg,rgba(5,15,25,.94),rgba(5,15,25,.58))}.hero-copy{font-size:14px}.trust-strip{grid-template-columns:1fr}.trust-strip div{border-right:0;border-bottom:1px solid #e5dfd3;padding:14px 0}.section{padding:80px 24px}.section-heading{gap:10px}.loan-type-grid{grid-template-columns:1fr}.loan-type-card{min-height:auto}.loan-type-intro{min-height:0}.loan-types-footer{padding:24px}.loan-types-footer>div{align-items:flex-start;flex-direction:column}.experience-copy{padding:70px 24px}.process-list li{grid-template-columns:48px 1fr}.contact{padding:70px 24px}.office-actions{grid-template-columns:1fr}.footer-main{grid-template-columns:1fr}.footer-legal{flex-direction:column;gap:10px}.footer-main .footer-monogram{width:64px;height:64px}.about-hero{min-height:420px;padding:70px 24px}.heritage-section{padding:75px 24px;gap:50px}.heritage-milestones>div{grid-template-columns:75px 1fr}.heritage-archive{min-height:580px}.archive-wordmark{width:100%;padding:24px;position:relative}.archive-badge{width:210px;right:4px;bottom:0}.testimonials-section{padding:75px 24px}.testimonials-heading{gap:14px}.testimonial-card{min-height:235px;padding:28px}.values-band{padding:60px 24px}.legal-hero{padding:60px 24px}.legal-content{padding:50px 24px 80px}.required-notice{padding:18px}.legal-footer{align-items:flex-start;flex-direction:column}.legal-footer span{margin-left:0}.footer-disclosure{flex-direction:column} }
@media (max-width:640px) { .education-hero{min-height:500px;padding:85px 24px}.education-path{grid-template-columns:1fr 1fr;padding:0 24px 70px}.education-path a{min-height:140px}.guide-heading{gap:14px}.guide-heading .eyebrow{margin-bottom:0}.education-guide summary{grid-template-columns:48px 1fr auto;gap:10px}.education-guide summary>div{display:block}.education-guide summary small{display:block;margin-top:6px}.guide-content{padding:0 0 35px}.mortgage-glossary{padding:75px 24px}.mortgage-glossary dl{grid-template-columns:1fr}.education-resources{gap:40px} }

/* Phone layout: preserve the desktop design while giving every element room to breathe. */
@media (max-width:640px) {
  body { overflow-x:hidden; }
  .announcement { min-height:34px; height:auto; padding-block:9px; line-height:1.35; text-align:center; }
  .site-header { height:86px; padding-inline:18px; justify-content:space-between; gap:12px; }
  .brand { width:min(225px,calc(100vw - 112px)); margin:0; }
  .menu-toggle { min-width:68px; min-height:44px; padding:11px 12px; flex:0 0 auto; }
  .site-header>nav { max-height:calc(100vh - 120px); overflow-y:auto; padding:12px 22px 20px; }
  .site-header>nav a { min-height:46px; display:flex; align-items:center; }

  h1 { font-size:clamp(42px,12vw,54px); line-height:.98; }
  .hero { min-height:0; height:auto; max-height:none; }
  .hero-image { object-position:60% center; }
  .hero-slide:nth-child(1) { object-position:65% center; }
  .hero-slide:nth-child(2) { object-position:50% center; }
  .hero-slide:nth-child(3) { object-position:52% center; }
  .hero-content { width:auto; margin:0; padding:72px 22px 78px; }
  .hero-copy { margin:24px 0 28px; font-size:14px; line-height:1.7; }
  .hero-actions { display:grid; grid-template-columns:1fr; gap:11px; }
  .hero-actions .button { width:100%; min-width:0; min-height:50px; }
  .hero-carousel-controls { left:22px; bottom:14px; }

  .section { padding:68px 22px; }
  .section-heading { margin-bottom:34px; }
  .section-heading h2,.experience-copy h2,.contact h2,
  .heritage-copy h2,.testimonials-heading h2,
  .education-intro h2,.guide-heading h2,.education-resources h2,
  .glossary-heading h2 { font-size:clamp(38px,11vw,46px); line-height:1.03; }
  .section-heading>p { font-size:13px; }
  .service-card { min-height:0; padding:28px 24px; }
  .service-card h3 { margin:28px 0 14px; }
  .service-card a { margin-top:28px; }

  .loan-type-card { padding:28px 24px 24px; }
  .loan-type-card h3 { font-size:36px; }
  .loan-type-snapshot { min-height:78px; padding:15px; }
  .loan-type-snapshot strong { font-size:34px; }
  .loan-types-footer { margin-top:22px; padding:22px 20px; }
  .loan-types-footer>div,.loan-types-footer .button { width:100%; }
  .loan-types-footer .button { min-width:0; }

  .experience-image { min-height:290px; }
  .experience-copy { padding:60px 22px; }
  .experience-copy .lead { margin:25px 0 20px; padding-left:18px; font-size:21px; }
  .process-list li { gap:12px; padding:28px 0; }
  .process-list h3 { font-size:28px; }

  .contact { padding:62px 22px; gap:36px; }
  .contact-actions,.office-actions,.office-button { width:100%; }
  .office-button { min-width:0; }
  .contact-email { max-width:100%; overflow-wrap:anywhere; }

  .about-hero { min-height:370px; padding:66px 22px; }
  .about-hero h1,.education-hero h1 { font-size:clamp(44px,12vw,54px); line-height:.98; }
  .about-hero p:last-child,.education-hero p:last-child { font-size:13px; line-height:1.72; }
  .heritage-section { padding:68px 22px; gap:42px; }
  .heritage-milestones>div { grid-template-columns:68px 1fr; gap:14px; }
  .heritage-archive { min-height:0; display:grid; gap:18px; }
  .archive-wordmark,.archive-badge { position:relative; inset:auto; transform:none; }
  .archive-wordmark { width:100%; padding:24px; }
  .archive-badge { width:min(78%,240px); padding:22px; justify-self:end; }
  .archive-label { margin-bottom:16px; }
  .archive-wordmark .archive-image { min-height:125px; }
  .archive-badge .archive-image { min-height:108px; }
  .team-card-copy { padding:26px 22px; }
  .profile-meta { flex-wrap:wrap; justify-content:flex-start; gap:8px 16px; }
  .testimonial-card { min-height:0; padding:28px 24px; }
  .testimonial-card blockquote { font-size:26px; }

  .education-hero { min-height:430px; padding:70px 22px; }
  .education-path { padding-inline:22px; }
  .education-guide summary { padding:24px 0; }
  .education-guide summary strong { font-size:26px; line-height:1.1; }
  .guide-checklist { padding:22px; }
  .mortgage-glossary { padding:68px 22px; }
  .values-band { padding:56px 22px; gap:34px; }

  footer { padding:48px 22px 22px; }
  .footer-main { gap:30px; }
  .footer-main a,.footer-main span { overflow-wrap:anywhere; }
  .footer-legal { align-items:flex-start; }
  .legal-hero { padding:54px 22px; }
  .legal-hero h1 { font-size:clamp(40px,11vw,50px); }
  .legal-content { padding:44px 22px 70px; }
}

@media (max-width:480px) {
  .education-path { grid-template-columns:1fr; }
  .education-path a { min-height:0; padding:20px; }
  .education-path strong { margin-top:15px; }
  .education-guide summary { grid-template-columns:38px 1fr auto; }
}

@media (max-width:380px) {
  .site-header { padding-inline:14px; gap:9px; }
  .brand { width:min(195px,calc(100vw - 96px)); }
  .menu-toggle { min-width:62px; padding-inline:9px; }
  .hero-content { padding-inline:18px; }
  h1,.about-hero h1,.education-hero h1 { font-size:40px; }
  .loan-type-snapshot { align-items:flex-start; flex-direction:column; gap:8px; }
}

/* Give the carousel its own visual space so the family is never hidden by the headline. */
.home-page .hero { background:var(--navy); }

@media (min-width:901px) {
  .home-page .hero-slides { left:40%; }
  .home-page .hero-overlay { left:34%; background:linear-gradient(90deg,var(--navy) 0%,rgba(13,27,42,.98) 10%,rgba(13,27,42,.72) 23%,rgba(13,27,42,.28) 38%,rgba(13,27,42,.07) 52%,transparent 62%); }
  .home-page .hero-content { width:38%; margin-left:clamp(24px,6vw,96px); padding-top:clamp(90px,13vh,135px); }
  .home-page .hero-content h1 { font-size:clamp(48px,4.35vw,72px); line-height:.97; }
  .home-page .hero-copy { font-size:15px; }
  .home-page .hero-carousel-controls { left:calc(43% + 26px); }
  .home-page .hero-credential { left:clamp(24px,6vw,96px); right:auto; }
}

@media (max-width:900px) {
  .home-page .hero { --hero-photo-height:clamp(310px,48vw,420px); height:auto; min-height:0; max-height:none; }
  .home-page .hero-slides { position:relative; inset:auto; height:var(--hero-photo-height); }
  .home-page .hero-overlay { top:0; bottom:auto; height:var(--hero-photo-height); background:linear-gradient(180deg,rgba(5,15,25,.03) 45%,rgba(13,27,42,.62)); }
  .home-page .hero-content { width:auto; margin:0; padding:56px clamp(24px,8vw,72px) 70px; }
  .home-page .hero-content h1 { font-size:clamp(48px,8vw,68px); }
  .home-page .hero-carousel-controls { top:calc(var(--hero-photo-height) - 58px); bottom:auto; left:24px; }
}

@media (max-width:640px) {
  .home-page .hero { --hero-photo-height:290px; }
  .home-page .hero-content { padding:48px 22px 62px; }
  .home-page .hero-content h1 { font-size:clamp(42px,12vw,54px); }
}

@media (prefers-reduced-motion:reduce) {
  .hero-slide { transition:none; transform:none; }
}

@media (max-width:1100px) {
  .site-header { height:106px; gap:24px; }
  .brand { width:320px; }
  .brand-mark { width:64px; height:64px; margin-right:17px; }
  .brand-copy { width:239px; }
  .brand-name { font-size:30px; }
  .brand-subtitle { margin-top:6px; gap:9px; font-size:8px; letter-spacing:.23em; }
  .brand-subtitle::before,.brand-subtitle::after { width:42px; }
}
@media (max-width:760px) {
  .brand { width:270px; }
  .brand-mark { width:53px; height:53px; margin-right:13px; }
  .brand-copy { width:204px; }
  .brand-name { font-size:26px; }
  .brand-subtitle { font-size:7px; letter-spacing:.19em; }
  .brand-subtitle::before,.brand-subtitle::after { width:34px; }
}
@media (max-width:640px) {
  .brand { width:225px; margin:0 auto 0 0; }
  .brand-mark { width:44px; height:44px; margin-right:10px; }
  .brand-copy { width:171px; }
  .brand-name { font-size:23px; }
  .brand-subtitle { font-size:6px; letter-spacing:.15em; gap:7px; }
  .brand-subtitle::before,.brand-subtitle::after { width:29px; }
}

.site-header .nav-cta { display:none; }

/* Readability update: increase Montserrat text by one typographic point. */
body { font-size:calc(16px + 1pt); }

.hero-pause,
.office-button small,
.archive-label,
.profile-label,
.profile-meta,
.profile-contact a:last-child,
.profile-contact-pending,
.testimonial-card figcaption span,
.education-path small,
.education-guide summary small,
.footer-disclosure,
.footer-legal,
.legal-footer { font-size:calc(8px + 1pt); }

.trust-strip span,
.loan-type-label,
.loan-type-snapshot span,
.loan-card-link,
.signature-line small,
.heritage-archive figcaption,
.profile-contact,
.testimonial-card figcaption strong,
.education-path span,
.guide-checklist>strong,
.resource-links span,
.values-band span,
.footer-main strong,
.draft-banner strong,
.license-table span { font-size:calc(9px + 1pt); }

.announcement,
.menu-toggle,
.nav-cta,
.service-card a,
.loan-type-card li,
.text-link,
.education-guide summary>span,
.mortgage-glossary dd,
.legal-hero>p:last-child,
.source-note { font-size:calc(10px + 1pt)!important; }

.brand-subtitle,
nav,
.eyebrow,
.button,
.service-number,
.loan-types-footer p,
.process-list>li>span,
.mockup-note,
.guide-checklist li,
.footer-main div,
.draft-banner,
.required-notice p { font-size:calc(11px + 1pt); }

.hero-credential,
.loan-type-intro,
.contact-email,
.team-card p,
.guide-content p,
.values-band p { font-size:calc(12px + 1pt); }

.service-card p,
.experience-copy>p:not(.eyebrow):not(.lead),
.process-list p,
.contact p:last-child,
.heritage-copy>p:not(.eyebrow),
.testimonials-heading>p,
.education-intro>div:last-child>p,
.guide-heading>p:last-child,
.education-resources>div:first-child>p:last-child,
.legal-content p,
.legal-content li { font-size:calc(13px + 1pt); }

.section-heading>p,
.about-hero p:last-child,
.education-hero p:last-child { font-size:calc(14px + 1pt); }

.hero-copy { font-size:calc(16px + 1pt); }

@media (max-width:1100px) {
  nav { font-size:calc(10px + 1pt); }
  .brand-subtitle { font-size:calc(8px + 1pt); }
}

@media (max-width:1000px) {
  .site-header nav,.nav-cta { font-size:calc(9px + 1pt); }
}

@media (max-width:760px) {
  .site-header>nav { font-size:calc(11px + 1pt); }
  .brand-subtitle { font-size:calc(7px + 1pt); }
}

@media (max-width:640px) {
  .announcement { font-size:calc(8px + 1pt)!important; }
  .hero-copy { font-size:calc(14px + 1pt); }
  .section-heading>p,
  .about-hero p:last-child,
  .education-hero p:last-child { font-size:calc(13px + 1pt); }
  .brand-subtitle { font-size:calc(6px + 1pt); }
}

@media (min-width:901px) {
  .home-page .hero-copy { font-size:calc(15px + 1pt); }
}
