@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--navy:#102849;--blue:#263e74;--sky:#a6c7e7;--paper:#f6f8fb;--white:#fff;--ink:#1b2d46;--line:#dbe4ee;--accent:#c3e6ed}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font:16px/1.6 'DM Sans',Arial,sans-serif}a{color:inherit}a:focus-visible,button:focus-visible{outline:3px solid #3298ca;outline-offset:3px}img{max-width:100%;height:auto}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Manrope,Arial,sans-serif;line-height:1.16;letter-spacing:-.035em}h1{font-size:clamp(2.9rem,6vw,5.8rem);font-weight:800}h2{font-size:clamp(2rem,3.6vw,3.4rem)}h3{font-size:1.25rem}.wrap{width:min(1180px,calc(100% - 44px));margin:auto}.topline{background:#071a36;color:#dceafa;text-align:center;padding:7px 15px;font-size:.8rem;font-weight:700;letter-spacing:.025em}.header{background:#fff;position:sticky;top:0;z-index:20;border-bottom:1px solid var(--line)}.nav{display:flex;align-items:center;gap:25px;min-height:78px}.brand{display:flex;align-items:center;gap:11px;text-decoration:none;margin-right:auto;font:800 1rem Manrope,sans-serif;color:var(--navy)}.brand img{width:49px;height:49px;object-fit:contain}.brand span{line-height:1.2}.brand small{display:block;font-size:.7rem;font-weight:700;letter-spacing:.07em;color:#657b97}.links{display:flex;gap:16px;align-items:center}.links a{font-size:.86rem;text-decoration:none;font-weight:700;white-space:nowrap}.links a:hover{color:#3d77ab}.button{border:0;display:inline-flex;justify-content:center;align-items:center;gap:8px;background:var(--navy);color:white;text-decoration:none;padding:13px 21px;font-weight:800;font-family:Manrope,sans-serif;font-size:.88rem;border-radius:5px;transition:transform .2s,background .2s}.button:hover{background:#315995;transform:translateY(-2px)}.button.light{background:white;color:var(--navy)}.button.light:hover{background:#dbeefa}.mobile-toggle{display:none;border:1px solid var(--line);background:white;padding:8px 12px;border-radius:5px;font-size:1.25rem}.hero{background:var(--navy);color:white;overflow:hidden;position:relative}.hero:before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 80% 25%,#5a84b570,transparent 38%),linear-gradient(110deg,#061b3b,#183e69 75%);animation:drift 12s ease-in-out infinite alternate}.hero:after{content:'';position:absolute;inset:-45%;opacity:.08;background:repeating-linear-gradient(135deg,transparent 0 43px,#fff 44px 45px);animation:move 35s linear infinite}.hero-inner{position:relative;z-index:1;display:grid;grid-template-columns:1.2fr .8fr;gap:36px;align-items:end;min-height:570px}.hero-copy{padding:92px 0 90px}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:.77rem;font-weight:800;color:#9bd6e7;margin-bottom:20px}.hero h1{max-width:820px;margin-bottom:22px}.hero h1 em{font-style:normal;color:#b3daec}.lead{font-size:clamp(1.06rem,1.6vw,1.25rem);max-width:650px;color:#dce7f5}.actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:29px}.textlink{color:white;font-weight:700;text-underline-offset:5px;padding:13px 4px}.portrait{align-self:end;display:flex;align-items:end;justify-content:center;position:relative}.portrait:before{content:'';position:absolute;width:95%;aspect-ratio:1;bottom:-25%;border:1px solid #8bd4e8;border-radius:50%;box-shadow:0 0 0 36px #ffffff08,0 0 0 75px #ffffff05}.portrait img{position:relative;z-index:1;width:min(440px,100%);height:auto;filter:drop-shadow(0 15px 25px #07132966);object-fit:contain}.strip{background:#d9eaf5;padding:14px 0;color:var(--navy);font-size:.82rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.strip .wrap{display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap}.section{padding:84px 0}.section-head{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:29px}.section-head p{max-width:480px}.section .eyebrow{color:#477395}.section h2{color:var(--navy)}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.loan{background:white;border:1px solid var(--line);padding:27px;min-height:210px;display:flex;flex-direction:column;text-decoration:none;position:relative;overflow:hidden;transition:transform .25s,box-shadow .25s,border-color .25s}.loan:hover,.loan:focus-visible{transform:translateY(-5px);box-shadow:0 18px 35px #10284918;border-color:#84b8d9}.loan .index{font-size:.76rem;color:#6588a5;font-weight:800}.loan h3{margin:20px 0 7px;color:var(--navy)}.loan p{font-size:.9rem;margin:0 0 22px}.loan .more{margin-top:auto;font-weight:800;font-size:.83rem;color:#326f9e}.loan:hover .more{text-decoration:underline}.blue{background:#e9f1f8}.split{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center}.panel{background:white;padding:44px;border:1px solid var(--line)}.panel p:last-child{margin-bottom:0}.portrait-card{background:linear-gradient(145deg,#b8d5e8,#e0eef6);padding:40px 40px 0;text-align:center;min-height:420px;display:flex;align-items:end;justify-content:center}.portrait-card img{max-height:390px;object-fit:contain}.quote{border-left:4px solid #8dbad4;padding-left:20px;color:#4c6179}.video-frame{aspect-ratio:16/9;border:0;width:100%;background:#102849}.small-note{font-size:.86rem;color:#60738a}.cta{background:#102849;color:white;padding:68px 0}.cta h2{color:white;margin-bottom:10px}.cta .wrap{display:flex;align-items:center;justify-content:space-between;gap:35px}.footer{background:#071a36;color:#d0dfed;padding:55px 0 25px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:38px}.footer a{color:#e5f4ff}.footer .brand{color:white}.footer .brand small{color:#c7d9ee}.footer h3{color:white;font-size:1rem}.footer p,.footer li{font-size:.89rem}.footer ul{padding:0;list-style:none}.footer li{margin:9px 0}.legal{border-top:1px solid #ffffff27;margin-top:35px;padding-top:22px;font-size:.78rem;line-height:1.7;color:#bdd0e3;display:flex;gap:22px;align-items:center}.legal img{width:140px;min-width:140px;background:white;padding:8px;border-radius:3px}.page-intro{background:#102849;color:white;padding:74px 0}.page-intro h1{font-size:clamp(2.7rem,5vw,4.5rem);max-width:900px}.page-intro p{font-size:1.14rem;max-width:770px;color:#dce7f5}.prose{max-width:800px}.prose h2{font-size:1.8rem;margin:38px 0 13px}.prose li{margin-bottom:9px}.faq{border-top:1px solid var(--line);padding:19px 0}.faq h3{margin-bottom:8px}.faq p{margin-bottom:0}.aside{background:#e3eef6;padding:30px}.pill{display:inline-block;border:1px solid #acc9db;border-radius:30px;padding:6px 13px;font-size:.8rem;margin:4px;color:var(--navy);font-weight:700;text-decoration:none}@keyframes drift{to{transform:scale(1.2) translate(-4%,3%)}}@keyframes move{to{transform:translate(14%,12%)}}@media(max-width:850px){.nav{flex-wrap:wrap;min-height:70px}.mobile-toggle{display:block}.links{display:none;width:100%;padding:10px 0 20px;flex-direction:column;align-items:stretch}.links.open{display:flex}.links a{padding:5px 0}.nav>.button{display:none}.hero-inner{grid-template-columns:1fr;min-height:0}.hero-copy{padding:68px 0 15px}.portrait{height:280px}.portrait img{max-height:280px;width:auto}.grid{grid-template-columns:repeat(2,1fr)}.split{gap:25px}.footer-grid{grid-template-columns:1fr 1fr}}@media(max-width:600px){.wrap{width:min(100% - 34px,1180px)}.hero-copy{padding-top:55px}.hero h1{font-size:2.9rem}.portrait{height:235px}.portrait img{max-height:235px}.section{padding:60px 0}.grid,.split,.footer-grid{grid-template-columns:1fr}.section-head,.cta .wrap{display:block}.cta .button{margin-top:18px}.panel{padding:26px}.strip .wrap{gap:5px}.strip span{width:100%}.legal{align-items:flex-start}.page-intro{padding:55px 0}}
.review-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.review-card{background:#fff;border:1px solid var(--line);padding:28px;display:flex;flex-direction:column}.review-rating{color:#d18700;letter-spacing:.12em;font-size:1.16rem}.review-card blockquote{margin:17px 0 25px;font-size:1.02rem;line-height:1.65;white-space:pre-line}.review-byline{margin:auto 0 0;padding-top:16px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:.86rem}.review-byline strong{color:var(--navy)}.review-byline span{color:#65788c}.panel .review-card{padding:0;border:0}.panel .review-card blockquote{font-size:1.13rem}@media(max-width:700px){.review-grid{grid-template-columns:1fr}.review-card{padding:23px}}

/* Defined borders keep every loan option visible on pale page backgrounds. */
.loan{border:2px solid #284a7d;box-shadow:0 3px 0 #17396313}.loan:hover,.loan:focus-visible{border-color:#102849;box-shadow:0 16px 30px #10284926}.loan .index{color:#294c7e}

.hero-testimonial{position:absolute;right:-10px;bottom:22px;z-index:3;width:min(315px,84%);margin:0;background:#fff;padding:8px;box-shadow:0 18px 36px #06172fa6;border:2px solid #95c9e3;border-radius:6px;color:var(--navy)}.hero-testimonial video{display:block;width:100%;aspect-ratio:7/4;object-fit:cover;background:#152a47}.hero-testimonial figcaption{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 5px 3px;font:800 .86rem Manrope,sans-serif}.hero-testimonial figcaption span{font:600 .74rem 'DM Sans',sans-serif;color:#50708c}@media(max-width:850px){.portrait{height:360px}.portrait img{max-height:330px}.hero-testimonial{right:5%;bottom:8px}}@media(max-width:600px){.portrait{height:355px;align-items:flex-start}.portrait img{max-height:270px}.hero-testimonial{right:0;bottom:5px;width:min(280px,82%)}}

/* The video sits in normal flow above Michael’s portrait without overlapping it. */
.portrait{height:auto;min-height:0;flex-direction:column;align-items:center;justify-content:flex-end;gap:15px;padding-top:18px}.portrait .hero-testimonial{position:relative;inset:auto;width:min(315px,100%);margin:0;flex:none}.portrait>img{width:auto;max-height:335px;max-width:100%;object-fit:contain}@media(max-width:850px){.portrait{height:auto;gap:13px}.portrait>img{max-height:300px}}@media(max-width:600px){.portrait{height:auto;align-items:center;gap:12px}.portrait .hero-testimonial{width:min(315px,100%)}.portrait>img{max-height:265px}}

.video-review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:19px}.video-review{background:white;border:1px solid var(--line);padding:12px 12px 17px}.video-review video{display:block;width:100%;aspect-ratio:3/2;object-fit:contain;background:#0e2442}.video-review h3{color:var(--navy);font-size:1.12rem;margin:15px 8px 4px}.video-review p{color:#60738a;font-size:.87rem;margin:0 8px}@media(max-width:850px){.video-review-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.video-review-grid{grid-template-columns:1fr}}

/* Colorado landscape and brighter accents. */
.mountain-banner{position:relative;margin:0;background:#173c63;overflow:hidden;height:clamp(190px,24vw,315px)}.mountain-banner img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 51%;transition:transform .9s ease}.mountain-banner:hover img{transform:scale(1.035)}.mountain-banner figcaption{position:absolute;left:max(22px,calc((100vw - 1180px)/2));bottom:19px;background:#092443db;color:white;padding:10px 15px;font:700 .9rem Manrope,sans-serif;border-left:4px solid #f5bd62;display:flex;gap:18px;align-items:center;flex-wrap:wrap}.mountain-banner figcaption a{color:#f7d390;font:600 .77rem 'DM Sans',sans-serif}.strip{background:#f5e9d1}.blue{background:#e8f3f6}.section .eyebrow{color:#a46720}.button:hover{background:#e3a655;color:#112849}.button.light:hover{background:#f9dc9d;color:#112849}.loan:hover,.loan:focus-visible{border-color:#bd7a2c;background:#fffdfa}@media(max-width:600px){.mountain-banner{height:205px}.mountain-banner figcaption{right:17px;bottom:12px;padding:9px 12px;font-size:.78rem;gap:4px}.mountain-banner figcaption a{font-size:.73rem}}@media(prefers-reduced-motion:reduce){.mountain-banner img{transition:none}.mountain-banner:hover img{transform:none}}

/* Compact first screen: headline, application and review video appear together. */
.hero-inner{grid-template-columns:minmax(0,1.12fr) minmax(275px,.88fr);gap:32px;min-height:465px;align-items:center}.hero-copy{padding:42px 0 50px}.hero h1{font-size:clamp(2.65rem,4.5vw,4.3rem);line-height:1.12;max-width:670px;margin-bottom:16px}.hero h1 em{color:#f4c879}.hero .lead{font-size:1.1rem;line-height:1.55;max-width:610px}.hero .actions{margin-top:23px}.portrait{padding-top:16px;gap:7px}.portrait .hero-testimonial{width:min(285px,100%)}.portrait>img{max-height:220px}.mountain-banner{height:clamp(135px,16vw,205px)}@media(max-width:850px){.hero-inner{grid-template-columns:1fr;gap:0;min-height:0}.hero-copy{padding:40px 0 14px}.hero h1{font-size:clamp(2.55rem,6vw,3.8rem);max-width:700px}.portrait{padding-top:10px;gap:4px}.portrait>img{max-height:195px}.mountain-banner{height:145px}}@media(max-width:600px){.hero-copy{padding:33px 0 5px}.hero h1{font-size:clamp(2.25rem,9vw,3rem);margin-bottom:13px}.hero .lead{font-size:1rem}.portrait .hero-testimonial{width:min(265px,100%)}.portrait>img{max-height:180px}.mountain-banner{height:145px}}
/* Keep the client video a smaller, separate element above Michael's portrait. */
.portrait{gap:24px}.portrait .hero-testimonial{width:min(200px,100%)}.portrait>img{max-height:255px}@media(max-width:850px){.portrait{gap:20px}.portrait .hero-testimonial{width:min(190px,100%)}.portrait>img{max-height:220px}}@media(max-width:600px){.portrait{gap:18px}.portrait .hero-testimonial{width:min(180px,100%)}.portrait>img{max-height:205px}}

/* Contact and licensing details stay accessible in the top header. */
.topline .wrap{display:flex;align-items:center;justify-content:center;gap:4px 22px;flex-wrap:wrap}.topline a{color:inherit;text-decoration:none;white-space:nowrap}.topline a:hover{text-decoration:underline}@media(max-width:650px){.topline{padding:8px 0}.topline .wrap{gap:3px 12px;font-size:.76rem}.topline .wrap span{flex-basis:100%}}

/* Rocky Mountain hero: all opening content sits over one photographic scene. */
.hero{background:#102849 url('/assets/rocky-mountain-photo.jpg') center 52%/cover no-repeat;isolation:isolate}
.hero:before{z-index:0;background:linear-gradient(90deg,rgba(5,25,53,.96) 0%,rgba(10,39,72,.88) 42%,rgba(10,39,72,.6) 70%,rgba(5,25,53,.73) 100%);animation:none}
.hero:after{z-index:0;opacity:.045;animation:none}
.hero-inner{position:relative;z-index:2}
.hero-copy{background:linear-gradient(90deg,rgba(5,25,53,.22),transparent);border-radius:8px}
.portrait>img{filter:drop-shadow(0 16px 24px rgba(3,16,34,.7))}
.hero-photo-credit{position:absolute;z-index:3;left:max(22px,calc((100vw - 1180px)/2));bottom:12px;color:#e9f4ff;font-size:.72rem;text-decoration:none;text-shadow:0 1px 3px #000;background:rgba(4,22,46,.7);padding:5px 9px;border-left:3px solid #f4c879}
.hero-photo-credit:hover{text-decoration:underline}
@media(max-width:850px){.hero{background-position:62% center}.hero:before{background:linear-gradient(180deg,rgba(5,25,53,.94) 0%,rgba(8,34,65,.83) 56%,rgba(5,25,53,.78) 100%)}.hero-photo-credit{left:17px;bottom:8px}.portrait{padding-bottom:28px}}

/* Show the original mountain photograph without a dark color overlay. */
.hero:before{background:none}
.hero:after{display:none}
.hero-copy{background:none}
.hero-copy .eyebrow,.hero-copy h1,.hero-copy .lead,.hero-copy .textlink{text-shadow:0 2px 8px rgba(0,0,0,.7),0 1px 2px rgba(0,0,0,.95)}
@media(max-width:850px){.hero:before{background:none}}

/* Improve hero-copy contrast while keeping the mountain photograph visible. */
.hero-copy .eyebrow{display:table;width:auto;padding:7px 11px;margin-bottom:16px;color:#dff5ff;background:rgba(5,25,53,.86);border-left:3px solid #f4c879;border-radius:3px;text-shadow:none;box-shadow:0 4px 14px rgba(0,0,0,.2);backdrop-filter:blur(3px)}
.hero-copy .lead{padding:13px 16px;color:#fff;background:rgba(5,25,53,.78);border-left:3px solid #f4c879;border-radius:3px;text-shadow:none;box-shadow:0 5px 18px rgba(0,0,0,.22);backdrop-filter:blur(3px)}
@media(max-width:600px){.hero-copy .eyebrow{font-size:.72rem;line-height:1.45}.hero-copy .lead{padding:11px 13px}}

/* Keep the latest four channel uploads visible in a responsive gallery. */
.video-showcase{display:grid;grid-template-columns:minmax(240px,.65fr) minmax(0,1.35fr);gap:42px;align-items:start}.recent-video-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 18px}.recent-video-grid article{min-width:0}.recent-video-grid h3{margin:8px 0 3px;font-size:.9rem;line-height:1.35;letter-spacing:0;color:var(--navy)}.recent-video-grid .video-date{margin:0;color:#60738a;font-size:.8rem;font-weight:700}
@media(max-width:850px){.video-showcase{grid-template-columns:1fr;gap:24px}}
@media(max-width:600px){.recent-video-grid{grid-template-columns:1fr}.recent-video-grid h3{font-size:1rem}}
.youtube-auto-player{width:100%;aspect-ratio:16/9;background:#102849;overflow:hidden}.youtube-auto-player iframe{display:block;width:100%;height:100%;border:0}

/* Family-photo frame on the About Michael page. */
.about-split{align-items:start}.family-gallery{display:grid;grid-template-columns:1.25fr .75fr;gap:12px;padding:14px;background:#fff;border:1px solid #bfd0df;box-shadow:0 18px 38px rgba(16,40,73,.15)}.family-gallery figure{margin:0;min-width:0;display:flex;flex-direction:column}.family-gallery img{display:block;width:100%;height:clamp(360px,42vw,520px);object-fit:cover;object-position:center}.family-gallery figure:first-child img{object-position:center 38%}.family-gallery figcaption{flex:1;margin:0;padding:10px 8px 2px;color:#536b84;font-size:.8rem;line-height:1.4;font-weight:700}
@media(max-width:850px){.family-gallery img{height:clamp(340px,70vw,520px)}}
@media(max-width:520px){.family-gallery{grid-template-columns:1fr;padding:10px}.family-gallery img{height:auto;max-height:none}.family-gallery figcaption{padding-bottom:8px}}

/* Broomfield-centered regional map in the Colorado homepage section. */
.broomfield-map-panel{background:#fff;border:1px solid #bfd0df;padding:14px;box-shadow:0 14px 34px rgba(16,40,73,.12);min-width:0}.map-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:7px 8px 12px}.map-heading h3{margin:2px 0 0;color:var(--navy);font-size:1.3rem}.map-kicker{display:block;color:#a46720;font-size:.72rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.map-key{display:flex;align-items:center;gap:7px;color:#536b84;font-size:.76rem;font-weight:700;white-space:nowrap}.map-key i{display:block;width:25px;border-top:3px dashed #173f73}.broomfield-map-panel #broomfield-map{height:440px;width:100%;background:#dce8ef;border:1px solid #9fb6c8;z-index:1}.map-note{margin:9px 7px 1px;color:#60738a;font-size:.75rem;line-height:1.45}.map-label{background:#fff;color:#17385f;border:1px solid #8fa7bb;border-radius:3px;box-shadow:0 2px 5px rgba(10,35,65,.18);font:700 12px/1.2 'DM Sans',Arial,sans-serif;padding:4px 6px}.map-label:before{display:none}.map-label-primary{background:#102849;color:#fff;border-color:#102849;font-weight:800}.leaflet-control-attribution{font-size:10px}
@media(max-width:850px){.broomfield-map-panel #broomfield-map{height:410px}}
@media(max-width:600px){.broomfield-map-panel{padding:9px}.map-heading{align-items:flex-end;padding:6px 4px 10px}.map-heading h3{font-size:1.12rem}.broomfield-map-panel #broomfield-map{height:385px}.map-label{font-size:11px;padding:3px 5px}}

/* Self-contained map image avoids third-party tile failures. */
.broomfield-static-map{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;background:#eaf2f6;border:1px solid #9fb6c8}

.condotel-photo{margin:0 0 32px}.condotel-photo img{display:block;width:100%;height:auto;border-radius:5px}.condotel-photo figcaption{padding-top:8px;color:#60738a;font-size:.88rem}.prose .condotel-photo+h2{margin-top:0}

.loan-feature-photo{margin:0 0 32px}.loan-feature-photo img{display:block;width:min(100%,488px);height:auto;background:#fff;border:1px solid var(--line);border-radius:5px}.loan-feature-photo figcaption{max-width:488px;padding-top:8px;color:#60738a;font-size:.88rem}.prose .loan-feature-photo+h2{margin-top:0}

.loan-feature-photo img[src="/assets/winter-park-condo.jpg"]{width:100%}.loan-feature-photo:has(img[src="/assets/winter-park-condo.jpg"]) figcaption{max-width:none}
.dscr-formula-card{max-width:620px;margin:0 0 32px;padding:30px;border:1px solid var(--line);border-radius:6px;background:#fff;text-align:center;box-shadow:0 10px 24px #10284912}.dscr-formula-title{margin-bottom:20px;color:var(--navy);font:800 1.2rem Manrope,Arial,sans-serif}.dscr-equation{display:flex;align-items:center;justify-content:center;gap:14px;padding:22px;background:#eef4fb;color:#263e74;font-family:Georgia,serif;font-size:clamp(1.15rem,3vw,1.65rem);font-style:italic}.dscr-equation>strong{font-style:normal}.dscr-fraction{display:inline-flex;flex-direction:column;min-width:min(330px,65vw)}.dscr-fraction b{padding:0 10px 7px;border-bottom:2px solid #263e74}.dscr-fraction i{padding-top:7px;font-weight:700}.dscr-formula-card>p{margin:16px 0 0;color:#52677e;font-size:.92rem}.dscr-formula-card figcaption{margin-top:18px;color:#60738a;font-size:.88rem;text-align:left}@media(max-width:600px){.dscr-formula-card{padding:20px 16px}.dscr-equation{gap:8px;padding:18px 10px}.dscr-fraction{min-width:0}}
