:root{--coral:#e07a5f;--palm:#3d7a5c;--navy:#12294a;--navy2:#1d3d6b;--gold:#c9a45c;--cream:#faf7f2;--ink:#1f2933;--muted:#5b6672;--line:#e6e0d6;--r:14px;--sh:0 10px 30px rgba(18,41,74,.10)}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,"Segoe UI",system-ui,-apple-system,Roboto,Arial,sans-serif;color:var(--ink);line-height:1.65;background:#fff;font-size:17px}
h1,h2,h3,.logo,.flogo{font-family:"Playfair Display",Georgia,serif;color:var(--navy);line-height:1.2}
h1{font-size:clamp(2rem,4.6vw,3.3rem);margin:.2em 0 .35em;color:#fff}h2{font-size:clamp(1.5rem,2.8vw,2.1rem);margin:0 0 .7em}h3{font-size:1.3rem;margin:0 0 .5em}
a{color:var(--navy2)}.wrap{max-width:1140px;margin:0 auto;padding:0 22px}
.skip{position:absolute;left:-999px}.skip:focus{left:10px;top:10px;background:#fff;padding:8px;z-index:99}
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.97);border-bottom:1px solid var(--line);backdrop-filter:blur(6px)}
.hdr{display:flex;align-items:center;gap:18px;min-height:72px}
.logo{font-size:1.25rem;font-weight:700;text-decoration:none;white-space:nowrap}.logo span{font-family:"Segoe UI",system-ui,sans-serif;font-weight:500;font-size:.85rem;color:var(--muted)}
nav{margin-left:auto}.nav{list-style:none;display:flex;gap:4px;margin:0;padding:0;align-items:center}
.nav a,.dd-btn{display:block;white-space:nowrap;padding:8px 10px;text-decoration:none;color:var(--ink);font-size:.93rem;font-weight:500;border-radius:8px;background:none;border:0;font-family:inherit;cursor:pointer}
.nav a:hover,.dd-btn:hover,.nav a[aria-current]{color:var(--navy);background:var(--cream)}
.dd{position:relative}.dd-menu{display:none;position:absolute;top:100%;left:0;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:var(--sh);list-style:none;padding:6px;margin:0;min-width:200px}
.dd:hover .dd-menu,.dd:focus-within .dd-menu,.dd.open .dd-menu{display:block}
.menu-toggle{display:none;margin-left:auto;border:1px solid var(--line);background:#fff;border-radius:8px;padding:8px 12px;font:inherit}
.btn{display:inline-block;padding:12px 22px;border-radius:999px;text-decoration:none;font-weight:600;font-size:.97rem;border:2px solid transparent;transition:.2s;cursor:pointer;font-family:inherit}
.btn-primary{background:var(--navy);color:#fff}.btn-primary:hover{background:var(--navy2)}
.btn-call{background:var(--gold);color:var(--navy);white-space:nowrap;padding:10px 18px}.btn-call:hover{background:#d8b672}
.btn-ghost{border-color:#fff;color:#fff}.btn-ghost:hover{background:rgba(255,255,255,.15)}
.btn-outline{border-color:var(--navy);color:var(--navy)}.btn-light{background:#fff;color:var(--navy)}
.btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px}
.hero{position:relative;overflow:hidden;color:#fff;padding:130px 0 120px;background:linear-gradient(100deg,rgba(13,31,56,.92) 0%,rgba(13,31,56,.72) 45%,rgba(13,31,56,.25) 100%),var(--hero-img) center/cover no-repeat,#12294a}
.hero .wrap{position:relative;z-index:2}.hero h1,.hero .sub{text-shadow:0 2px 14px rgba(0,0,0,.35)}
.hero .sub{font-size:1.2rem;max-width:720px;opacity:.95}.hero .btn-primary{background:var(--gold);color:var(--navy)}
.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:.8rem;color:var(--gold);font-weight:700;margin:0}
.hero-home{--hero-bg:radial-gradient(circle at 80% 20%,#e9c98b 0,transparent 40%),linear-gradient(135deg,#1f5a6b,#3f7f6d 55%,#c9a45c)}
.hero-oakland{--hero-bg:linear-gradient(135deg,#2f5d3a,#6b8f5a 60%,#c9a45c)}
.hero-winter-garden{--hero-bg:linear-gradient(135deg,#7a3e2b,#b96f45 55%,#e3b873)}
.hero-hamlin{--hero-bg:linear-gradient(135deg,#355c7d,#6c8fb0 60%,#f0d9a7)}
.hero-orange-county{--hero-bg:linear-gradient(135deg,#0f5e75,#2a9d8f 60%,#e9c46a)}
.hero-lake-county{--hero-bg:linear-gradient(135deg,#3d5a2a,#8aa05a 60%,#e9d8a6)}
.trust{background:var(--navy);color:#fff}.trust .wrap{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 34px;padding:18px 22px;font-weight:600;font-size:.95rem}
.trust span::before{content:"✓ ";color:var(--gold)}
.sec{padding:72px 0}.sec.alt{background:var(--cream)}
.lead{font-size:1.18rem;max-width:820px}.bio{text-align:center;margin:0 auto;font-family:Georgia,serif;font-size:1.35rem;color:var(--navy)}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:22px}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:28px;box-shadow:var(--sh);margin:0}
.card .btn{margin-top:8px}.fit{text-decoration:none;color:var(--ink);display:flex;flex-direction:column;gap:6px}.fit strong{color:var(--navy);font-size:1.15rem}.fit:hover{border-color:var(--gold)}
.two{display:grid;grid-template-columns:1fr 1fr;gap:44px}
.checks,.pins{list-style:none;padding:0;margin:0;display:grid;gap:12px}
.checks li,.pins li{padding-left:32px;position:relative}
.checks li::before{content:"✓";position:absolute;left:0;top:0;width:22px;height:22px;border-radius:50%;background:var(--gold);color:var(--navy);font-size:.8rem;display:grid;place-items:center;font-weight:700;margin-top:3px}
.pins{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.pins li{background:#fff;border:1px solid var(--line);border-radius:10px;padding:14px 14px 14px 44px}
.pins li::before{content:"📍";position:absolute;left:14px;top:13px}
.steps{counter-reset:s;list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px}
.steps li{counter-increment:s;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:24px;position:relative}
.steps li::before{content:counter(s);display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--navy);color:#fff;font-weight:700;margin-bottom:10px}
.steps strong{display:block;color:var(--navy)}
.snap{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;background:#fff;border:2px dashed var(--gold);border-radius:var(--r);padding:22px}
.stat{display:flex;flex-direction:column}.lab{font-size:.85rem;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.val{font-family:Georgia,serif;font-size:1.6rem;color:var(--navy)}
.note{font-size:.92rem;color:var(--muted)}
.ph{background:#fff3cd;color:#7a5a00;border-radius:4px;padding:0 4px}
details{border:1px solid var(--line);border-radius:10px;padding:16px 20px;margin-bottom:12px;background:#fff}
summary{cursor:pointer;font-weight:600;color:var(--navy)}details p{margin:.7em 0 0}
.cta{background:linear-gradient(120deg,var(--navy),var(--navy2));color:#fff;padding:54px 0}
.cta .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}.cta p{font-size:1.3rem;font-family:Georgia,serif;margin:0;max-width:720px}.cta a:not(.btn){color:var(--gold)}
.areas{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
.area{height:160px;border-radius:var(--r);display:flex;align-items:flex-end;padding:16px;color:#fff;text-decoration:none;font-weight:700;font-size:1.1rem;box-shadow:var(--sh);transition:.2s}
.area:hover{transform:translateY(-3px)}
.a-oakland{background:linear-gradient(160deg,#6b8f5a,#2f5d3a)}.a-winter-garden{background:linear-gradient(160deg,#e3a873,#7a3e2b)}.a-hamlin{background:linear-gradient(160deg,#9db8d1,#355c7d)}.a-orange-county{background:linear-gradient(160deg,#5ec4b6,#0f5e75)}.a-lake-county{background:linear-gradient(160deg,#b7c47a,#3d5a2a)}
.about{display:grid;grid-template-columns:300px 1fr;gap:40px;align-items:start}
.headshot{aspect-ratio:4/5;border:3px dashed var(--gold);border-radius:var(--r);background:var(--cream);display:grid;place-items:center;text-align:center;color:var(--muted);font-weight:700;padding:20px}
.form{display:grid;gap:16px}.field{display:grid;gap:6px;border:0;padding:0;margin:0}.field label,legend{font-weight:600;font-size:.95rem}
input,select,textarea{font:inherit;padding:12px 14px;border:1px solid #cfd6de;border-radius:10px;width:100%;background:#fff}
input:focus,select:focus,textarea:focus{outline:2px solid var(--gold);border-color:var(--gold)}
.checkgrp{display:flex;flex-wrap:wrap;gap:8px 18px}.checkgrp label{font-weight:400;display:flex;align-items:center;gap:6px}.checkgrp input{width:auto}
.hp{display:none}.narrow{max-width:680px;margin:0 auto}.contact aside p{margin:.4em 0 .9em}
.site-footer{background:#0d1f38;color:#cdd6e2;padding:56px 0 24px;font-size:.95rem}.site-footer a{color:#fff}
.fgrid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:30px}.flogo{color:#fff;font-size:1.4rem;margin:0 0 6px}.fh{color:var(--gold);font-weight:700;margin:0 0 8px}
.site-footer ul{list-style:none;padding:0;margin:0;display:grid;gap:4px}
.legal{border-top:1px solid #24395a;margin-top:34px;padding-top:18px;font-size:.85rem}.legal .ph{background:#3a3320;color:#ffe08a}.eho{font-weight:700;color:#fff}
@media(max-width:1020px){.logo span{display:none}.areas{grid-template-columns:repeat(3,1fr)}}
@media(max-width:860px){
 .menu-toggle{display:block}nav{display:none;position:absolute;top:72px;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);padding:10px 22px}
 nav.open{display:block}.nav{flex-direction:column;align-items:stretch}.dd-menu{position:static;box-shadow:none;border:0;padding-left:14px;display:block}
 .btn-call{padding:8px 12px;font-size:.85rem}.two,.about,.fgrid{grid-template-columns:1fr}.snap{grid-template-columns:1fr 1fr}.areas{grid-template-columns:1fr 1fr}
 .hero{padding:70px 0 64px}.sec{padding:52px 0}.hdr{gap:10px}.logo{font-size:1.05rem}
}
@media(max-width:420px){.btn-call{font-size:0;padding:10px 14px}.btn-call::before{content:"📞 Call";font-size:.85rem}}

.slideshow{background:#12294a}.slideshow::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(100deg,rgba(13,31,56,.92) 0%,rgba(13,31,56,.7) 45%,rgba(13,31,56,.2) 100%)}
.slidebg{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transition:opacity 1.6s ease;transform:scale(1.04)}
.slidebg.on{opacity:1;animation:kb 9s ease-out forwards}@keyframes kb{from{transform:scale(1.04)}to{transform:scale(1.14)}}
.hero{min-height:560px;display:flex;align-items:center}.hero>.wrap{width:100%}
.eyebrow{color:var(--gold)}.sec .eyebrow,.searchband .eyebrow{color:var(--coral)}
.area{position:relative;overflow:hidden;height:220px;padding:0}.area img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s}
.area::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(13,31,56,.85),rgba(13,31,56,0) 60%)}.area span{position:relative;z-index:1;padding:16px;font-family:"Playfair Display",serif;font-size:1.25rem}
.area:hover img{transform:scale(1.08)}.area:hover{transform:none}
.mosaic{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.mosaic.big{grid-template-columns:repeat(4,1fr);grid-auto-rows:220px}
.mosaic.big .tile:nth-child(1){grid-column:span 2;grid-row:span 2}.mosaic.big .tile:nth-child(6){grid-column:span 2}
.tile{position:relative;margin:0;border-radius:var(--r);overflow:hidden;box-shadow:var(--sh);min-height:220px}.tile img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;transition:transform .6s}.tile:hover img{transform:scale(1.06)}
.tile figcaption{position:absolute;left:0;right:0;bottom:0;padding:28px 14px 12px;color:#fff;font-weight:600;font-size:.95rem;background:linear-gradient(to top,rgba(0,0,0,.75),transparent)}
.homes{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.homes .tile{min-height:240px}
.center{text-align:center}.note.center{margin-top:-40px;padding-bottom:30px}
.why{background:linear-gradient(180deg,#fff,var(--cream))}.icons{display:grid;grid-template-columns:repeat(5,1fr);gap:18px;margin-top:20px}
.icon{text-align:center;background:#fff;border-radius:var(--r);padding:26px 16px;border-top:4px solid var(--coral);box-shadow:var(--sh)}.icon:nth-child(even){border-top-color:var(--palm)}
.ic{font-size:2rem;display:inline-grid;place-items:center;width:64px;height:64px;border-radius:50%;background:var(--cream);margin-bottom:10px}.icon h3{font-size:1.08rem}.icon p{font-size:.93rem;color:var(--muted);margin:0}
.tslider{position:relative;max-width:760px;margin:0 auto;min-height:170px}.slide{display:none;margin:0;background:#fff;border-radius:var(--r);padding:34px;box-shadow:var(--sh);border-left:5px solid var(--coral)}.slide.active{display:block;animation:fade .5s}
.slide blockquote{margin:0 0 12px;font-family:"Playfair Display",serif;font-size:1.3rem}.tnav{margin-top:16px;display:flex;gap:10px;justify-content:center}
.tnav button{width:44px;height:44px;border-radius:50%;border:2px solid var(--navy);background:#fff;color:var(--navy);font-size:1.4rem;cursor:pointer}
@keyframes fade{from{opacity:0}to{opacity:1}}
.searchband{background:linear-gradient(120deg,#eef5f0,#fdf1ec);padding:44px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.searchband .wrap{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}.searchband h2{margin:0 0 6px}.searchband p{margin:0}
.splitimg img{width:100%;height:100%;max-height:460px;object-fit:cover;border-radius:var(--r);box-shadow:var(--sh)}.split .two{align-items:center}
.qcard img{width:calc(100% + 56px);margin:-28px -28px 16px;height:170px;object-fit:cover;border-radius:var(--r) var(--r) 0 0;display:block}
.searchform{max-width:760px;margin:0 auto}
.tablewrap{overflow-x:auto}.credits{border-collapse:collapse;width:100%;font-size:.9rem}.credits td,.credits th{border-bottom:1px solid var(--line);padding:8px;text-align:left;vertical-align:middle}.credits img{width:110px;height:72px;object-fit:cover;border-radius:6px}
.cta{background:linear-gradient(120deg,var(--navy),var(--navy2) 60%,#2b5d63)}
.trust{background:linear-gradient(90deg,var(--navy),#1b4a5a)}
.btn-ghost:hover{background:rgba(255,255,255,.18)}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}.reveal.in{opacity:1;transform:none}
@media(max-width:1020px){.icons{grid-template-columns:repeat(3,1fr)}.mosaic.big{grid-template-columns:repeat(2,1fr)}.mosaic.big .tile:nth-child(6){grid-column:auto}}
@media(max-width:860px){.mosaic,.homes{grid-template-columns:1fr 1fr}.icons{grid-template-columns:1fr 1fr}.hero{min-height:480px;padding:80px 0}.area{height:170px}.mosaic.big{grid-auto-rows:170px}}
@media(max-width:520px){.homes,.mosaic{grid-template-columns:1fr}.icons{grid-template-columns:1fr}.mosaic.big .tile:nth-child(1){grid-column:span 2;grid-row:span 1}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}html{scroll-behavior:auto}}
.cards.four{grid-template-columns:repeat(4,1fr)}
.nav a,.dd-btn{padding:8px 8px;font-size:.9rem}
@media(max-width:1320px){.logo span{display:none}}
@media(max-width:1180px){
 .menu-toggle{display:block}nav{display:none;position:absolute;top:72px;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);padding:10px 22px;max-height:80vh;overflow:auto}
 nav.open{display:block}.nav{flex-direction:column;align-items:stretch}.dd-menu{position:static;box-shadow:none;border:0;padding-left:14px;display:block}.cards.four{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.cards.four{grid-template-columns:1fr}}
html,body{overflow-x:hidden}
.site-header .wrap{max-width:1400px}.hdr{gap:12px}.btn-call{flex-shrink:0}
/* headshot */
.headshot.photo{background:none;border:0;padding:0;aspect-ratio:auto}
.headshot.photo img,.meetgrid img.portrait{width:100%;height:auto;aspect-ratio:2/3;object-fit:cover;object-position:50% 15%;border-radius:18px;box-shadow:0 14px 34px rgba(16,42,67,.18);display:block}
.meetgrid{display:grid;grid-template-columns:minmax(220px,340px) 1fr;gap:48px;align-items:center;max-width:1000px}
.meetgrid img.portrait{aspect-ratio:4/5}
@media(max-width:760px){.meetgrid{grid-template-columns:1fr;gap:24px;text-align:center}.meetgrid picture{max-width:260px;margin:0 auto}}
img.round{width:96px;height:96px;border-radius:50%;object-fit:cover;object-position:50% 12%;border:3px solid #fff;box-shadow:0 4px 14px rgba(0,0,0,.15)}
.chead{display:flex;gap:16px;align-items:center;margin:8px 0 16px}
.fbrand{display:flex;gap:14px;align-items:center;margin-bottom:8px}.fbrand .flogo{margin:0}
img.fround{width:64px;height:64px;border-radius:50%;object-fit:cover;object-position:50% 12%;border:2px solid rgba(255,255,255,.6)}
.map{margin-top:12px;border-radius:12px;overflow:hidden;aspect-ratio:4/3}.map iframe{width:100%;height:100%;border:0;display:block}
/* reviews */
.stars{color:#d4a73a;letter-spacing:2px;font-size:1.05rem}.fbrec{font-size:.8rem;font-weight:700;color:#1877f2;text-transform:uppercase;letter-spacing:.05em}
.slide blockquote,.rcard blockquote{margin:10px 0 14px;font-family:'Playfair Display',Georgia,serif;font-size:1.12rem;line-height:1.55;color:var(--navy,#102a43)}
.slide figcaption,.rcard figcaption{display:flex;flex-direction:column;gap:2px;font-size:.9rem;color:var(--muted,#555)}
.slide figcaption a,.rcard figcaption a{font-weight:600;color:#3d7a5c}
.rbadges{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin:0 0 26px}
.rbadges a{background:#fff;border:1px solid #e6e1d6;border-radius:999px;padding:8px 16px;text-decoration:none;color:inherit;font-size:.92rem;box-shadow:0 2px 8px rgba(0,0,0,.05)}
.rbadges a:hover{border-color:#d4a73a}
.rmore{margin-top:18px;font-size:.95rem}
.rgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:22px}
.rcard{margin:0;background:#fff;border-radius:var(--r,14px);padding:26px;box-shadow:var(--sh,0 8px 24px rgba(0,0,0,.08));border-top:4px solid #e07a5f}
.rcard blockquote{font-size:1rem}
.rcard.single{max-width:820px;margin:0 auto;border-top:0;border-left:5px solid #e07a5f}
.rcard.single blockquote{font-size:1.15rem}
.center{text-align:center}
.mosaic.big .tile{height:100%;min-height:0;overflow:hidden;margin:0}.mosaic.big .tile img{width:100%;height:100%;object-fit:cover;display:block}
@media(max-width:520px){.mosaic.big{grid-template-columns:1fr 1fr;grid-auto-rows:150px}.mosaic.big .tile figcaption{font-size:.8rem}}
.snap{border-style:solid}.yoy{font-size:.85rem;color:var(--navy);font-weight:600}.stat .geo{font-size:.75rem;color:var(--muted)}
