/* Kevin Taylor | REAL Broker — static site styles */
:root{
  --black:#000; --ink:#111; --offwhite:#FEFCFC; --white:#fff;
  --warm:#EEEDE9; --panel:#F3F2EF; --mid:#848484; --line:rgba(0,0,0,.14);
  --text:rgba(0,0,0,.78);
  --sans:'Raleway',Helvetica,Arial,sans-serif; --wide:'Syncopate','Raleway',sans-serif;
  --header-h:88px; --max:1240px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--offwhite);color:var(--text);font:400 15px/1.8 var(--sans);-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
a{color:inherit}
h1,h2,h3,h4{font-family:var(--sans);font-weight:300;text-transform:uppercase;letter-spacing:.06em;color:var(--black);margin:0 0 .6em;line-height:1.2}
h1{font-size:clamp(30px,4vw,52px)} h2{font-size:clamp(26px,3vw,40px)} h3{font-size:clamp(18px,1.8vw,24px);letter-spacing:.1em}
p{margin:0 0 1.2em}
.wrap{max-width:var(--max);margin:0 auto;padding:0 32px}
.eyebrow{font-family:var(--wide);font-size:11px;letter-spacing:.32em;text-transform:uppercase;color:var(--mid);display:block;margin-bottom:22px}
.on-dark .eyebrow,.eyebrow.light{color:rgba(255,255,255,.7)}
.center{text-align:center}
.skip{position:absolute;left:-999px}.skip:focus{left:12px;top:12px;z-index:999;background:#fff;padding:8px}

/* Buttons */
.btn{display:inline-block;font:400 13px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;text-decoration:none;padding:19px 30px;border:1px solid currentColor;background:transparent;color:var(--black);cursor:pointer;transition:background .3s,color .3s}
.btn:hover{background:var(--black);color:var(--white)}
.btn.light{color:var(--white)} .btn.light:hover{background:var(--white);color:var(--black)}
.btn-row{display:flex;gap:18px;flex-wrap:wrap}

/* Header */
.site-header{position:fixed;inset:0 0 auto 0;height:var(--header-h);background:var(--black);z-index:50;display:flex;align-items:center;transition:height .3s}
.site-header .inner{width:100%;padding:0 30px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center}
.nav{display:flex;gap:30px;list-style:none;margin:0;padding:0}
.nav.right{justify-content:flex-end;margin-right:84px}
.nav a{color:#fff;text-decoration:none;font-size:11px;letter-spacing:.18em;text-transform:uppercase;opacity:.9;padding:6px 0;border-bottom:1px solid transparent}
.nav a:hover,.nav a[aria-current=page]{opacity:1;border-bottom-color:rgba(255,255,255,.6)}
.wordmark{justify-self:center;color:#fff;text-decoration:none;font:300 20px/1 var(--sans);letter-spacing:.28em;text-transform:uppercase;border:1px solid rgba(255,255,255,.85);padding:11px 8px 11px 16px;white-space:nowrap}
.wordmark small{display:block;font:400 7.5px/1 var(--wide);letter-spacing:.42em;margin-top:7px;opacity:.75;text-align:center}
.menu-btn{position:absolute;right:26px;top:50%;transform:translateY(-50%);width:54px;height:54px;border-radius:50%;background:#fff;border:0;cursor:pointer;display:grid;place-items:center}
.menu-btn span{display:block;width:22px;height:1.5px;background:#000;position:relative}
.menu-btn span::after{content:"";position:absolute;right:0;top:7px;width:14px;height:1.5px;background:#000}
.menu-btn span::before{content:"";position:absolute;right:0;top:-7px;width:22px;height:1.5px;background:#000}

/* Overlay menu */
.overlay{position:fixed;inset:0;background:rgba(0,0,0,.97);z-index:100;display:flex;flex-direction:column;justify-content:center;align-items:center;opacity:0;visibility:hidden;transition:opacity .35s,visibility .35s}
.overlay.open{opacity:1;visibility:visible}
.overlay ul{list-style:none;margin:0;padding:0;text-align:center}
.overlay li a{display:block;color:#fff;text-decoration:none;font:300 clamp(22px,3vw,34px)/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;padding:14px}
.overlay li a:hover{opacity:.6}
.overlay .close{position:absolute;right:26px;top:17px;width:54px;height:54px;border-radius:50%;border:1px solid #fff;background:none;color:#fff;font-size:26px;font-weight:200;cursor:pointer}
.overlay .meta{margin-top:40px;color:rgba(255,255,255,.7);font-size:13px;letter-spacing:.12em;text-align:center}
.overlay .meta a{text-decoration:none}

/* Hero */
.hero{position:relative;height:100vh;min-height:620px;background:#000 center/cover no-repeat;color:#fff;display:flex;align-items:flex-end}
.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.55) 0%,rgba(0,0,0,.32) 45%,rgba(0,0,0,.7) 100%)}
.hero .content{position:relative;padding:0 0 9vh 6vw;max-width:760px}
.hero .tag{font-family:var(--wide);font-size:11px;letter-spacing:.36em;text-transform:uppercase;opacity:.85;margin-bottom:26px;display:block}
.hero h1{color:#fff;font-size:clamp(28px,3.4vw,46px);letter-spacing:.1em;margin-bottom:38px;font-weight:300}
.scroll-cue{position:absolute;left:50%;bottom:28px;width:1px;height:46px;background:rgba(255,255,255,.5);overflow:hidden}
.scroll-cue::after{content:"";position:absolute;left:0;top:-46px;width:1px;height:46px;background:#fff;animation:cue 2.4s infinite}
@keyframes cue{to{top:46px}}

/* Page banner (inner pages) */
.banner{position:relative;height:62vh;min-height:420px;background:#000 center/cover no-repeat;display:flex;align-items:flex-end;color:#fff}
.banner::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.5),rgba(0,0,0,.35) 50%,rgba(0,0,0,.72))}
.banner .content{position:relative;padding:0 6vw 8vh}
.banner h1{color:#fff;margin:0;letter-spacing:.12em}

/* Sections */
.section{padding:130px 0}
.section.tight{padding:90px 0}
.on-dark{background:var(--black);color:rgba(255,255,255,.82)}
.on-dark h2,.on-dark h3{color:#fff}
.on-warm{background:var(--warm)}
.brand-line h2{max-width:900px;margin:0 auto 18px}
.brand-line p{max-width:620px;margin:0 auto;color:var(--mid)}
.rule{width:60px;height:1px;background:var(--black);margin:34px auto 0;opacity:.5}

/* Get to know */
.know{display:grid;grid-template-columns:1fr 1.05fr;align-items:start}
.portrait{aspect-ratio:4/5;background:linear-gradient(160deg,#2a2a2a,#121212);display:flex;flex-direction:column;align-items:center;justify-content:center;color:rgba(255,255,255,.75);text-align:center;position:relative}
.portrait::after{content:"";position:absolute;inset:18px;border:1px solid rgba(255,255,255,.18)}
.portrait .label{font-family:var(--wide);font-size:12px;letter-spacing:.34em}
.portrait .sub{font-size:12px;letter-spacing:.12em;margin-top:12px;opacity:.6}
.know .panel{background:var(--panel);padding:80px 70px;margin-top:70px;margin-left:-1px}
.draft{display:inline-block;font:400 10px/1 var(--wide);letter-spacing:.3em;border:1px dashed #b33;color:#b33;padding:7px 10px;margin-bottom:24px}
.bracket{background:rgba(0,0,0,.06);padding:0 4px;font-style:italic}
.know .panel p:first-of-type{font-weight:500;color:var(--black)}

/* Service tiles */
.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;align-items:start}
.tile{position:relative;display:block;overflow:hidden;aspect-ratio:3/3.4;text-decoration:none;color:#fff}
.tile:nth-child(2){margin-top:110px}
.tile img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s ease}
.tile::before{content:"";position:absolute;inset:0;background:rgba(0,0,0,.38);z-index:1;transition:background .4s}
.tile:hover img{transform:scale(1.06)} .tile:hover::before{background:rgba(0,0,0,.2)}
.tile .cap{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px}
.tile h3{color:#fff;font-size:26px;letter-spacing:.2em;margin:0}
.tile .cap span{font-size:12px;letter-spacing:.16em;text-transform:uppercase;margin-top:14px;opacity:0;transform:translateY(8px);transition:.4s}
.tile:hover .cap span{opacity:.9;transform:none}
.tiles-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:60px;gap:30px;flex-wrap:wrap}
.tiles-head p{max-width:440px;margin:0}

/* Contract band */
.band{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:46px 0;text-align:center;background:var(--offwhite)}
.band .eyebrow{margin-bottom:12px}
.band p{font:300 clamp(18px,2vw,26px)/1.4 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--black);margin:0}

/* Client stories */
.stories{display:grid;grid-template-columns:220px 1fr;gap:70px;align-items:center;max-width:980px;margin:0 auto}
.quote-mark{width:180px;height:180px;border-radius:50%;background:#fff;display:grid;place-items:center;font:400 90px/1 Georgia,serif;color:#000;padding-top:30px}
.stories p.lead{font:300 22px/1.6 var(--sans);color:var(--black)}

/* Communities */
.comm-intro{display:grid;grid-template-columns:1.25fr 1fr;gap:80px;align-items:center;margin-bottom:90px}
.comm-intro .img{aspect-ratio:4/3;overflow:hidden}
.comm-intro .img img{width:100%;height:100%;object-fit:cover}
.comm-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:26px}
.comm{display:block;text-decoration:none;color:var(--black)}
.comm .ph{aspect-ratio:1/1;overflow:hidden;background:#ddd}
.comm img{width:100%;height:100%;object-fit:cover;transition:transform 1s}
.comm:hover img{transform:scale(1.05)}
.comm h3{font-size:15px;letter-spacing:.2em;margin:18px 0 6px}
.comm p{font-size:13.5px;line-height:1.7;color:var(--mid);margin:0}

/* Forms */
.contact-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:90px;align-items:start}
.contact-lines{list-style:none;padding:0;margin:30px 0 0}
.contact-lines li{margin-bottom:16px}
.contact-lines .k{font-family:var(--wide);font-size:10px;letter-spacing:.3em;color:var(--mid);display:block}
.contact-lines a{text-decoration:none;font-size:17px;letter-spacing:.06em;color:var(--black)}
form.lead{display:grid;grid-template-columns:1fr 1fr;gap:26px 28px}
form.lead .full{grid-column:1/-1}
.field label,.field legend{display:block;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--black);margin-bottom:8px;padding:0}
.field input,.field select,.field textarea{width:100%;font:400 15px/1.4 var(--sans);color:var(--black);background:transparent;border:0;border-bottom:1px solid rgba(0,0,0,.35);padding:10px 2px;border-radius:0;outline:none;transition:border-color .2s}
.field select{appearance:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23000'/%3E%3C/svg%3E") right 4px center no-repeat}
.field textarea{min-height:110px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{border-bottom-color:#000}
fieldset.field{border:0;margin:0;padding:0}
.radios{display:flex;gap:28px;padding-top:6px}
.radios label{display:flex;align-items:center;gap:8px;text-transform:none;letter-spacing:.04em;font-size:15px;margin:0}
.radios input{width:auto;accent-color:#000}
.consent{font-size:11.5px;line-height:1.65;color:var(--mid);margin:4px 0 0}
.consent label{display:flex;gap:10px;align-items:flex-start;text-transform:none;letter-spacing:0;font-size:11.5px;color:var(--mid)}
.consent input{margin-top:3px;accent-color:#000}
.form-note{font-size:12px;color:#8a6d00;background:#fff8e1;border:1px dashed #d9b84a;padding:10px 14px;display:none}
.form-note.show{display:block}
.on-dark .field label,.on-dark .field legend{color:#fff}
.on-dark .field input,.on-dark .field select,.on-dark .field textarea{color:#fff;border-bottom-color:rgba(255,255,255,.4)}
.on-dark .field select option{color:#000}

/* Prose pages */
.prose{max-width:760px;margin:0 auto}
.prose h2{margin-top:10px}
.split{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}
.steps{counter-reset:s;list-style:none;padding:0;margin:0}
.steps li{counter-increment:s;padding:26px 0 26px 70px;border-top:1px solid var(--line);position:relative}
.steps li::before{content:counter(s,decimal-leading-zero);position:absolute;left:0;top:26px;font:400 13px/1 var(--wide);letter-spacing:.2em;color:var(--mid)}
.steps h3{font-size:16px;margin-bottom:6px}
.steps p{margin:0}
.form-card{background:#fff;padding:60px 56px;box-shadow:0 30px 80px rgba(0,0,0,.06)}

/* Footer */
.site-footer{background:var(--black);color:rgba(255,255,255,.75);padding:90px 0 34px;text-align:center;font-size:13.5px}
.site-footer .wordmark{display:inline-block;margin-bottom:56px}
.f-cols{display:flex;justify-content:center;gap:110px;flex-wrap:wrap;margin-bottom:44px}
.f-cols h4{color:#fff;font-size:13px;letter-spacing:.22em;margin-bottom:16px;font-weight:400}
.f-cols p{margin:0 0 6px}
.f-cols a{text-decoration:none;border-bottom:1px solid rgba(255,255,255,.3)}
.eho{display:inline-flex;align-items:center;gap:12px;margin:10px 0 30px;font-size:11px;letter-spacing:.18em;text-transform:uppercase}
.eho svg{width:34px;height:34px}
.f-legal{border-top:1px solid rgba(255,255,255,.18);padding-top:28px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:12px;color:rgba(255,255,255,.55);text-align:left}
.f-legal a{text-decoration:none}

/* Landing pages */
.lp-header{position:absolute;inset:0 0 auto 0;z-index:5;display:flex;justify-content:space-between;align-items:center;padding:26px 5vw}
.lp-header .phone{color:#fff;text-decoration:none;font-size:12px;letter-spacing:.2em}
.lp{min-height:100vh;background:#000 center/cover no-repeat;position:relative;display:flex;align-items:center;padding:140px 5vw 80px}
.lp::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.78) 0%,rgba(0,0,0,.55) 50%,rgba(0,0,0,.35) 100%)}
.lp .grid{position:relative;display:grid;grid-template-columns:1fr 520px;gap:80px;align-items:center;width:100%;max-width:1280px;margin:0 auto}
.lp .pitch{color:rgba(255,255,255,.85)}
.lp .pitch h1{color:#fff;letter-spacing:.1em}
.lp .pitch ul{list-style:none;padding:0;margin:28px 0 0}
.lp .pitch li{padding:10px 0 10px 30px;position:relative;border-top:1px solid rgba(255,255,255,.15)}
.lp .pitch li::before{content:"";position:absolute;left:0;top:21px;width:14px;height:1px;background:#fff}
.lp .form-card{padding:46px 44px}
.lp .form-card h2{font-size:22px;letter-spacing:.14em}
.lp-footer{background:#000;color:rgba(255,255,255,.6);font-size:12px;text-align:center;padding:28px 5vw;line-height:1.9}

/* Reveal animation */
.reveal{opacity:0;transform:translateY(24px);transition:opacity 1s ease,transform 1s ease}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none}.scroll-cue::after{animation:none}}

/* Responsive */
@media (max-width:1100px){
  .nav{gap:20px}.nav.right{margin-right:74px}
  .know .panel{padding:60px 46px}
  .lp .grid{grid-template-columns:1fr 460px;gap:50px}
}
@media (max-width:960px){
  :root{--header-h:72px}
  .nav{display:none}
  .site-header .inner{grid-template-columns:1fr auto;padding:0 20px}
  .wordmark{justify-self:start;font-size:16px;padding:9px 6px 9px 12px}
  .menu-btn{right:18px;width:46px;height:46px}
  .section{padding:90px 0}
  .know,.contact-grid,.split,.comm-intro,.stories{grid-template-columns:1fr;gap:40px}
  .know .panel{margin:0;padding:50px 32px}
  .portrait{aspect-ratio:4/4.2}
  .tiles{grid-template-columns:1fr;gap:20px}
  .tile{aspect-ratio:16/10}
  .tile:nth-child(2){margin-top:0}
  .comm-grid{grid-template-columns:1fr 1fr}
  .stories{text-align:center}.quote-mark{margin:0 auto;width:130px;height:130px;font-size:66px}
  .lp .grid{grid-template-columns:1fr}
  .comm-intro{margin-bottom:50px}
}
@media (max-width:600px){
  .wrap{padding:0 22px}
  .hero .content{padding:0 22px 12vh}
  .hero .btn-row{flex-direction:column;align-items:stretch}
  .hero .btn{text-align:center}
  form.lead{grid-template-columns:1fr}
  .form-card{padding:38px 24px}
  .lp .form-card{padding:34px 22px}
  .f-cols{gap:36px;flex-direction:column}
  .f-legal{justify-content:center;text-align:center}
  .comm-grid{gap:16px}
  .comm h3{font-size:13px}
  .comm p{display:none}
  .lp-header .phone{display:none}
}

/* v4 polish */
.draft,.portrait .label,.contact-lines .k,.wordmark small,.hero .tag{text-transform:uppercase}
.tile::before{background:rgba(0,0,0,.48)}
.tile img,.comm img,.comm-intro .img img{filter:saturate(.82) contrast(1.03)}
.on-dark.tiles-section{padding-bottom:110px}
.hero::before{background:linear-gradient(180deg,rgba(0,0,0,.5) 0%,rgba(0,0,0,.28) 40%,rgba(0,0,0,.72) 100%)}
.hero::before{background:
  radial-gradient(ellipse 22% 26% at 33% 63%,rgba(0,0,0,0) 0%,rgba(0,0,0,.18) 60%,rgba(0,0,0,0) 100%),
  linear-gradient(180deg,rgba(0,0,0,.5) 0%,rgba(0,0,0,.3) 40%,rgba(0,0,0,.25) 60%,rgba(0,0,0,.75) 100%)}
.hero{background-position:center 55%}
.hero::before{background:linear-gradient(180deg,rgba(14,8,3,.55) 0%,rgba(14,8,3,.3) 42%,rgba(14,8,3,.32) 62%,rgba(0,0,0,.78) 100%)}
@media (max-width:600px){
  .hero .tag{letter-spacing:.24em;font-size:10px}
  .portrait{aspect-ratio:1/1}
  .draft{letter-spacing:.18em}
  .hero{min-height:560px;height:88vh}
}
.radios{gap:18px;flex-wrap:wrap}.radios label{white-space:nowrap}
.radios{gap:4px 14px}.radios label{font-size:14px;gap:6px}

/* ================= v5 upgrade ================= */
:root{--serif:'Cormorant Garamond',Georgia,serif;--gold:#B89B6A;--navy:#0E1A2B}
body{font-size:16px}
.display{font-family:var(--serif);text-transform:none;letter-spacing:.005em;font-weight:300;line-height:1.08}
h2.display{font-size:clamp(34px,4.2vw,58px)}
.display em{font-style:italic;color:var(--gold)}
.on-dark .display em,.hero .display em{color:#E2C99A}
.eyebrow{color:var(--gold)}
.section{padding:clamp(80px,10vw,140px) 0}
.btn{transition:background .35s,color .35s,transform .35s,box-shadow .35s}
.btn:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(0,0,0,.12)}
.btn.solid{background:#fff;color:#000;border-color:#fff}.btn.solid:hover{background:var(--gold);border-color:var(--gold);color:#fff}
.btn.ghost{border-color:transparent;text-decoration:underline;text-underline-offset:6px}
/* hero */
.hero-v5{background-position:center 30%;animation:kb 18s ease-out both}
@keyframes kb{from{background-size:112%}to{background-size:100%}}
@media (max-aspect-ratio:4/3){.hero-v5{animation:none;background-size:cover}}
.hero-v5::before{background:linear-gradient(90deg,rgba(8,14,24,.78) 0%,rgba(8,14,24,.45) 45%,rgba(8,14,24,.05) 75%),linear-gradient(0deg,rgba(0,0,0,.55),transparent 40%)!important}
.hero-v5 .content{padding:0 0 13vh 7vw;max-width:820px}
.hero-v5 h1.display{font-size:clamp(46px,7vw,104px);letter-spacing:0;text-transform:none;margin-bottom:22px}
.hero-sub{font-family:var(--wide);font-size:11px;letter-spacing:.3em;text-transform:uppercase;opacity:.85;margin-bottom:40px}
.hero-v5 .content>*{animation:rise 1.1s cubic-bezier(.2,.7,.2,1) both}
.hero-v5 .content>*:nth-child(2){animation-delay:.15s}.hero-v5 .content>*:nth-child(3){animation-delay:.3s}.hero-v5 .content>*:nth-child(4){animation-delay:.45s}
@keyframes rise{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}
/* stats */
.stats{background:var(--navy);color:#fff;padding:54px 0}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;text-align:center}
.stat .num{display:block;font:300 clamp(40px,4.4vw,62px)/1 var(--serif);color:#E2C99A}
.stat .num small{font-size:.5em;vertical-align:super;margin-left:4px}
.stat .lbl{display:block;margin-top:12px;font-family:var(--wide);font-size:10px;letter-spacing:.26em;text-transform:uppercase;opacity:.75}
.stat+.stat{border-left:1px solid rgba(255,255,255,.12)}
/* meet kevin */
.know.v5{grid-template-columns:.95fr 1.05fr;gap:0;align-items:center}
.portrait-img{position:relative;aspect-ratio:4/5;z-index:1}
.portrait-img img{width:100%;height:100%;object-fit:cover;object-position:center 20%}
.portrait-img .frame{position:absolute;inset:-22px 22px 22px -22px;border:1px solid var(--gold);z-index:-1}
.know.v5 .panel{margin:0 0 0 -60px;padding:80px 70px 80px 120px;background:var(--panel)}
.know.v5 .panel p.lede{font:400 22px/1.5 var(--serif);color:var(--black)}
.sig{font:italic 300 40px/1 var(--serif);color:var(--gold);margin:10px 0 34px}
/* feature split */
.feature{display:grid;grid-template-columns:1.1fr 1fr;min-height:620px;background:#fff}
.feature-img{background:center 30%/cover no-repeat}
.feature-copy{padding:clamp(60px,8vw,120px);align-self:center}
.checks{list-style:none;padding:0;margin:24px 0 0}.checks li{padding:14px 0 14px 34px;border-bottom:1px solid var(--line);position:relative}
.checks li::before{content:"";position:absolute;left:4px;top:24px;width:14px;height:1px;background:var(--gold)}
/* quotes */
.quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:60px}
.quote{margin:0;background:#fff;padding:56px 40px 40px;position:relative;box-shadow:0 20px 60px rgba(0,0,0,.05);transition:transform .4s}
.quote:hover{transform:translateY(-6px)}
.quote .qm{position:absolute;top:10px;left:32px;font:300 90px/1 var(--serif);color:var(--gold);opacity:.6}
.quote blockquote{margin:0 0 24px;font:400 20px/1.55 var(--serif);color:var(--black)}
.quote figcaption{font-family:var(--wide);font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--mid)}
/* tiles / images motion */
.tile img,.comm .ph img,.comm-intro .img img{transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
.tile:hover img,.comm:hover .ph img{transform:scale(1.05)}
.contact-head{width:120px;height:120px;border-radius:50%;object-fit:cover;object-position:center 15%;margin-bottom:28px;border:3px solid #fff;box-shadow:0 10px 30px rgba(0,0,0,.12)}
.banner{background-position:center 30%}
.reveal{transition:opacity 1s ease,transform 1s cubic-bezier(.2,.7,.2,1)}
@media (max-width:960px){
 .stats-grid{grid-template-columns:repeat(2,1fr);row-gap:36px}.stat:nth-child(3){border-left:0}
 .know.v5{grid-template-columns:1fr}.know.v5 .panel{margin:-40px 16px 0;padding:56px 30px}
 .portrait-img{max-width:520px;margin:0 auto;width:calc(100% - 40px)}
 .feature{grid-template-columns:1fr}.feature-img{min-height:420px}
 .quotes{grid-template-columns:1fr}
}
@media (max-width:600px){
 .hero-v5 .content{padding:0 24px 12vh}
 .hero-v5{background-position:62% center}
 .hero-v5 .btn-row .btn{width:100%;text-align:center}
 .know.v5 .panel p.lede{font-size:20px}
}
/* v5 hero: keep Kevin fully in frame on the right */
.hero-v5{animation:none;background-color:var(--navy);background-size:auto calc(100% - var(--header-h));background-position:right bottom}
.hero-v5::before{background:linear-gradient(90deg,var(--navy) 0%,var(--navy) 30%,rgba(14,26,43,.7) 44%,rgba(14,26,43,0) 62%),linear-gradient(0deg,rgba(0,0,0,.35),transparent 35%)!important}
@media (max-width:960px){.hero-v5{background-size:cover;background-position:50% 0}.hero-v5::before{background:linear-gradient(0deg,rgba(14,26,43,.95) 0%,rgba(14,26,43,.6) 45%,rgba(14,26,43,.1) 75%)!important}}


/* v8: Search Homes */
.nav a.nav-btn{padding:10px 16px;font-size:10.5px;border:1px solid rgba(255,255,255,.7);opacity:1}
.nav a.nav-btn:hover{border-bottom-color:#fff;background:#fff;color:#000}
.banner .banner-cta{justify-content:flex-start;margin-top:26px}

/* batch1 */
.mobile-bar{display:none}
@media(max-width:760px){
 .mobile-bar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:60;background:#0b0b0b;border-top:1px solid rgba(201,169,110,.5);padding:10px 12px calc(10px + env(safe-area-inset-bottom));gap:10px}
 .mobile-bar a{flex:1;text-align:center;color:#fff;text-decoration:none;font:500 12px/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;padding:15px 0;border:1px solid rgba(255,255,255,.7)}
 .mobile-bar a:last-child{background:var(--gold);border-color:var(--gold)}
 body{padding-bottom:70px}
}
.reviews-badge{display:flex;align-items:center;justify-content:center;gap:22px;flex-wrap:wrap;margin:0 auto 60px;padding:26px 30px;border:1px solid rgba(0,0,0,.12);max-width:760px;background:rgba(255,255,255,.55)}
.reviews-badge .stars{color:var(--gold);font-size:20px;letter-spacing:.15em}
.reviews-badge p{margin:0;font-size:15px;letter-spacing:.04em}
.reviews-badge strong{font-family:var(--serif,serif);font-size:26px;font-weight:400;margin-right:4px}
#call{scroll-margin-top:110px}
#call h3{margin:0 0 8px}
#call .form-sub{font-size:14px;color:var(--mid);margin:0 0 22px}
picture{display:contents}
.f-cols p{overflow-wrap:anywhere}

/* batch2 */
.hood-list{list-style:none;padding:0;margin:0 0 18px}
.hood-list li{padding:16px 0;border-bottom:1px solid rgba(0,0,0,.09)}
.hood-list h3{font-size:14px;letter-spacing:.16em;margin:0 0 6px}
.hood-list p{margin:0;font-size:14.5px;color:var(--mid)}
.on-dark .fine,.fine{font-size:13px;color:var(--mid)}
.on-dark .fine{color:rgba(255,255,255,.65)}
.city-links a{margin:0 6px;white-space:nowrap}
.ticks{padding-left:18px}.ticks li{margin-bottom:12px;line-height:1.7}
.guide-cards{display:grid;gap:16px;margin-top:30px}
.guide-card{padding:24px 26px;border:1px solid rgba(0,0,0,.1);background:#fff}
.guide-card h3{margin:0 0 6px}.guide-card p{margin:0;color:var(--mid);font-size:14px}
.guide-links{list-style:none;padding:0;display:grid;gap:14px;justify-items:center;margin-top:30px}
.deals{grid-template-columns:repeat(3,1fr)}
.comm.deal .ph{aspect-ratio:3/2}
.ph-todo{display:flex;align-items:center;justify-content:center;background:linear-gradient(160deg,#e9e4da,#d6cfc2)!important}
.ph-todo span{font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:#7a705f}
.deal-status{display:inline-block;margin-top:16px;font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);border:1px solid var(--gold);padding:5px 10px}
.f-cities{font-size:13px;line-height:1.9}
@media(max-width:760px){.deals{grid-template-columns:1fr}.comm.deal p{display:block}}
