:root{--ink:#17322e;--cream:#f4efe5;--paper:#fffdf8;--sage:#a8b8a7;--gold:#bd8e54;--line:rgba(23,50,46,.14)}
*{box-sizing:border-box}
html{min-height:100%;background:#d9e0dc}
body{min-height:100vh;margin:0;padding:max(7px,env(safe-area-inset-top)) 10px max(10px,env(safe-area-inset-bottom));display:grid;place-items:start center;color:var(--ink);font-family:"DM Sans",sans-serif;background:radial-gradient(circle at 15% 10%,rgba(255,255,255,.9),transparent 27%),linear-gradient(145deg,#e7e9e2,#c9d5cf)}
.card{width:min(100%,430px);overflow:hidden;border:1px solid rgba(255,255,255,.75);border-radius:25px;background:var(--paper);box-shadow:0 28px 70px rgba(18,42,38,.22);display:flex;flex-direction:column;position:relative}
.portrait{height:auto;aspect-ratio:4/3;position:relative;overflow:hidden;background:linear-gradient(145deg,#b9c7bd,#82978d)}
.portrait img{width:100%;height:100%;display:block;object-fit:cover;object-position:center 14%}
.portrait img.missing{opacity:0}
.portrait-wash{position:absolute;inset:0;background:linear-gradient(to top,rgba(15,38,34,.52),transparent 48%)}
.monogram{position:absolute;left:24px;top:21px;width:49px;height:49px;border:1px solid rgba(255,255,255,.75);border-radius:50%;display:grid;place-items:center;color:white;font-family:"Playfair Display",serif;font-size:17px;letter-spacing:-1px;backdrop-filter:blur(8px)}
.experience{position:absolute;right:22px;bottom:18px;display:flex;align-items:center;gap:8px;color:#fff;text-align:left}.experience strong{font:600 33px/1 "Playfair Display",serif}.experience span{font-size:9px;line-height:1.25;text-transform:uppercase;letter-spacing:1.2px}
.content{padding:17px 20px 16px;text-align:center;flex:1;display:flex;flex-direction:column}
.eyebrow{margin:0 0 3px;color:#71827b;font-size:10px;font-weight:700;letter-spacing:2.2px;text-transform:uppercase}
h1{margin:0;font:600 clamp(38px,11vw,50px)/1.05 "Playfair Display",serif;letter-spacing:-2px}h1 em{color:var(--gold);font-weight:500}
.credentials{margin:8px 0 0;font-size:10px;font-weight:700;letter-spacing:1.4px}.credentials span{display:inline-block;width:18px;height:1px;background:var(--gold);vertical-align:middle;margin:0 7px}
.intro{max-width:340px;margin:10px auto 12px;color:#53635e;font-size:12px;line-height:1.45}
.contact-details{margin:0 0 10px;border-block:1px solid var(--line);display:grid;grid-template-columns:repeat(2,1fr)}.contact-details a{min-width:0;min-height:58px;padding:8px 5px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--ink);text-align:center;text-decoration:none}.contact-details a:nth-child(2){border-left:1px solid var(--line)}.contact-details small{color:var(--gold);font-size:8px;font-weight:700;letter-spacing:1.1px;text-transform:uppercase}.contact-details strong{width:100%;margin-top:4px;font-size:12px;font-weight:700;white-space:nowrap;letter-spacing:-.2px}
.primary-actions{display:grid;grid-template-columns:1.35fr 1fr;gap:9px}
.contact-button{min-height:49px;border-radius:14px;display:flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;font-size:13px;font-weight:700;transition:transform .2s,box-shadow .2s}.contact-button:active{transform:scale(.97)}.save{background:var(--ink);color:white;box-shadow:0 9px 20px rgba(23,50,46,.2)}.call{background:var(--cream);color:var(--ink);border:1px solid var(--line)}.button-icon{font-size:17px;font-weight:400}
.website-link{min-height:42px;margin-top:8px;padding:6px 12px;border:1px solid var(--line);border-radius:12px;display:flex;align-items:center;justify-content:center;gap:9px;background:transparent;color:var(--ink);text-decoration:none}.website-link small{color:var(--gold);font-size:8px;font-weight:700;letter-spacing:1px;text-transform:uppercase}.website-link strong{font-size:12px}
.market-card{width:100%;margin-top:12px;border:1px solid var(--line);border-radius:15px;background:var(--cream);color:var(--ink);display:grid;grid-template-columns:1fr 1.15fr;position:relative;text-align:left;overflow:hidden;font-family:"DM Sans",sans-serif}.market-copy{padding:12px 8px 11px 13px;display:flex;flex-direction:column;justify-content:center;position:relative;z-index:3}.market-copy small{color:var(--gold);font-size:7px;font-weight:700;letter-spacing:1.1px;text-transform:uppercase}.market-copy strong{font-size:10px;line-height:1.25;margin-top:3px}.market-copy em{color:#738079;font-size:8px;line-height:1.35;font-style:normal;margin-top:4px}.coverage-map{height:94px;position:relative;background:#dce5df;overflow:hidden;isolation:isolate}.coverage-map:after{content:"";position:absolute;inset:0;z-index:400;background:linear-gradient(90deg,var(--cream),transparent 30%);pointer-events:none}.coverage-map .leaflet-pane{filter:saturate(.35) contrast(.85) brightness(1.08)}.coverage-map .leaflet-control-container{display:none}.coverage-map .leaflet-tile-pane{opacity:.62}.map-label{position:absolute;z-index:500;padding:2px 4px;border-radius:5px;background:rgba(255,253,248,.82);color:var(--ink);font-size:6px;font-weight:700;line-height:1;box-shadow:0 1px 4px rgba(23,50,46,.12);pointer-events:none}.map-label.ventura{left:20%;top:37%}.map-label.conejo{left:43%;top:63%}.map-label.valley{right:4%;bottom:16%}.map-label.clarita{right:8%;top:12%}
.socials{margin:auto 0 0;padding-top:12px;display:flex;justify-content:center;gap:11px;align-items:center}.socials a{width:40px;height:40px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;color:var(--ink);background:var(--cream);text-decoration:none;transition:transform .2s,background .2s}.socials a:active{transform:scale(.94)}.socials i{font-size:19px;line-height:1}
.market-copy strong{font-size:11px}.market-copy em{max-width:135px}.map-label.main-label{padding:3px 5px;background:rgba(255,253,248,.94);font-size:7px;box-shadow:0 2px 7px rgba(23,50,46,.17)}.map-label.ventura{left:21%;top:30%}.map-label.conejo{left:40%;top:auto;bottom:19%}.map-label.valley{right:3%;bottom:11%}.map-label.los-angeles{right:7%;top:30%}
a:focus-visible,button:focus-visible{outline:3px solid rgba(189,142,84,.5);outline-offset:2px}
@media(max-height:740px) and (orientation:landscape){.portrait{height:210px;aspect-ratio:auto}.content{padding-top:14px}.intro{margin:7px auto 9px}.market-card{margin-top:9px}}
@media(min-width:700px){body{padding:28px;place-items:center}.card{min-height:780px;border-radius:30px}.portrait{height:300px;aspect-ratio:auto}.content{padding:23px 24px 21px}.intro{margin:13px auto 15px;font-size:13px}.contact-button:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(23,50,46,.16)}.socials a:hover{transform:translateY(-2px);background:#eee7da}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
