:root{--navy:#162b3a;--deep:#10212d;--gold:#c9a36b;--cream:#f6f5f1;--ink:#202c32;--muted:#50616a;--line:#d7ddd9}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font:400 1rem/1.65 system-ui,-apple-system,'Segoe UI',Arial,sans-serif}a{color:inherit}a:focus-visible{outline:3px solid #956322;outline-offset:4px}.wrap{width:min(100% - 3rem,1120px);margin-inline:auto}.skip{position:absolute;z-index:9;left:1rem;top:-5rem;background:white;padding:.6rem 1rem}.skip:focus{top:1rem}header{background:var(--cream)}.top{min-height:86px;display:flex;align-items:center;justify-content:space-between;gap:1rem}.brand{text-decoration:none;color:var(--navy);display:inline-flex;align-items:center;gap:.65rem;font-weight:700;font-size:1.2rem;letter-spacing:.15em;line-height:1}.brand small{display:block;font-size:.57rem;letter-spacing:.26em;margin-top:.43rem}.mark{width:38px;height:38px;border:1.5px solid var(--gold);color:#8b622f;font-family:Georgia,serif;font-weight:400;font-size:1.8rem;display:grid;place-items:center;letter-spacing:0}nav{display:flex;gap:2rem}nav a{text-decoration:none;font-size:.9rem;font-weight:600;padding:.5rem 0;border-bottom:2px solid transparent}nav a[aria-current],nav a:hover{border-color:#9c6c2d}.hero{position:relative;isolation:isolate;background:var(--deep);color:white;overflow:hidden}.hero-media{position:absolute;inset:0;z-index:-2}.hero-media img{width:100%;height:100%;object-fit:cover;object-position:center 54%}.hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(10,29,41,.92) 0%,rgba(10,29,41,.79) 35%,rgba(10,29,41,.20) 80%,rgba(10,29,41,.08) 100%)}.hero-grid{min-height:510px;display:grid;grid-template-columns:2fr .8fr;align-items:center;gap:4rem;padding-block:5rem}.eyebrow{color:#e0bc83;font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;font-weight:700;margin:0}.eyebrow.dark{color:#8b622f}h1,h2{font-family:Georgia,serif;font-weight:400;letter-spacing:-.03em;line-height:1.08}.hero h1,.inner h1,.policy h1{font-size:clamp(3rem,5.8vw,5.4rem);margin:1rem 0 1.25rem}.hero p:not(.eyebrow){font-size:1.16rem;max-width:530px;color:#e5ebec}.button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:.75rem 1.35rem;text-decoration:none;font-weight:700;font-size:.91rem;margin-top:1rem;background:var(--gold);color:var(--deep)}.button.navy{background:var(--navy);color:white}.button:hover{filter:brightness(1.1)}.hero aside{border-left:1px solid rgba(255,255,255,.3);padding-left:2rem;align-self:end;margin-bottom:3rem}.hero aside p{font-size:.9rem!important;margin:.65rem 0}.about{padding-block:6rem;display:grid;grid-template-columns:1fr 1fr;gap:6rem}.about h2,.team h2,.callout h2{font-size:clamp(2.5rem,3.8vw,4rem);margin:1rem 0}.about p:not(.eyebrow){font-size:1.08rem;color:#394a52}.line-link{text-decoration:none;border-bottom:1px solid #9c6c2d;padding-bottom:.3rem;font-size:.93rem;font-weight:700;color:var(--navy);display:inline-block;margin-top:.8rem}.team{background:white;padding-block:5rem}.team h2{margin-bottom:2.4rem}.team ul{padding:0;margin:0;list-style:none;border-top:1px solid var(--line)}.team li{display:flex;align-items:baseline;gap:1.5rem;border-bottom:1px solid var(--line);padding:1.4rem .2rem}.team li span{color:#8b622f;font-size:.8rem;font-weight:700}.team li strong{font:400 clamp(1.6rem,2.7vw,2.3rem)/1.2 Georgia,serif}.team li small{font-size:.86rem;color:var(--muted);margin-left:auto}.callout{display:grid;grid-template-columns:1.3fr 1fr auto;align-items:center;gap:2rem;padding-block:5rem}.callout>div:nth-child(2){display:grid;gap:.4rem}.callout>div:nth-child(2) a{text-decoration:none;font-weight:600;overflow-wrap:anywhere}footer{background:var(--deep);color:#e5ebec}.foot{padding-block:3rem;display:flex;justify-content:space-between;align-items:start;gap:2rem}.foot .brand{color:white}.foot .mark{color:var(--gold)}.foot p,.foot small{color:#b6c2c5;font-size:.82rem}.foot nav{gap:1.3rem}.foot nav a{font-size:.86rem}.inner{padding-block:5rem}.inner>p:not(.eyebrow){font-size:1.1rem;color:var(--muted)}.cards{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;margin-top:3rem}.cards section{background:white;padding:2.7rem;min-height:275px}.cards h2,.policy h2{font-size:2rem;margin:1.3rem 0}.cards section>a{font-size:1.1rem;font-weight:600;text-decoration:none;overflow-wrap:anywhere}.cards section>a:hover{text-decoration:underline}.cards address{font-style:normal;margin-top:1.4rem}.minor{font-size:.88rem;color:var(--muted)}.endnote{margin-top:3rem}.endnote a,.policy a{text-underline-offset:3px}.policy{max-width:800px;padding-block:5rem 7rem}.policy h2{font-size:1.8rem;margin-top:2.6rem}.policy p{color:#394a52}@media(max-width:850px){.callout{grid-template-columns:1fr 1fr}.callout .button{grid-column:1/-1;justify-self:start}.about{gap:3rem}.hero-grid{gap:2rem}.foot{flex-wrap:wrap}}@media(max-width:620px){.wrap{width:min(100% - 2rem,1120px)}.top{min-height:76px}.brand{font-size:1rem}.mark{width:34px;height:34px}nav{gap:1.3rem}.hero-grid{grid-template-columns:1fr;min-height:500px;gap:1rem;padding-block:4rem}.hero h1{font-size:clamp(3.2rem,13vw,4.5rem)}.hero aside{align-self:auto;margin:1rem 0 0}.about{grid-template-columns:1fr;gap:1rem;padding-block:4rem}.team{padding-block:4rem}.team li{flex-wrap:wrap;gap:.4rem 1rem}.team li small{margin-left:2.2rem;flex-basis:100%}.callout{grid-template-columns:1fr;padding-block:4rem}.callout .button{grid-column:auto}.foot{display:grid;gap:1rem}.foot nav{flex-wrap:wrap}.inner{padding-block:4rem}.cards{grid-template-columns:1fr}.cards section{padding:2rem;min-height:0}}

.map-section{margin-top:4rem}.map-heading h2{font-size:clamp(2rem,3.5vw,3rem);margin:.5rem 0}.map-heading p:last-child{color:var(--muted)}.map-panel{height:360px;background:linear-gradient(130deg,#e4e6e2,#cbd6d3);border:1px solid var(--line);display:grid;place-items:center;overflow:hidden}.map-panel iframe{width:100%;height:100%;border:0}.map-cover{text-align:center;padding:2rem}.map-cover p:first-child{font:400 1.7rem Georgia,serif}.map-cover .button{border:0;cursor:pointer;font:700 .91rem system-ui,sans-serif}.directions{background:white;padding:2rem;border:1px solid var(--line)}.directions label{font-weight:700;display:block;margin-bottom:.5rem}.direction-controls{display:flex;gap:1rem}.direction-controls input{flex:1;min-width:0;min-height:50px;border:1px solid #738187;border-radius:0;padding:.7rem 1rem;font:inherit}.direction-controls .button{border:0;cursor:pointer;margin:0;white-space:nowrap}.directions .minor{margin-bottom:0}@media(max-width:620px){.map-panel{height:320px}.directions{padding:1.3rem}.direction-controls{flex-direction:column}.direction-controls .button{align-self:stretch}}

@media(max-width:620px){.hero{display:flex;flex-direction:column}.hero::before{display:none}.hero-grid{order:1;padding-block:3.5rem}.hero-media{position:relative;z-index:auto;order:2;height:250px;flex:none}.hero-media img{object-position:center 52%}}

/* Frame the firm’s building and keep the neighboring storefront outside the hero. */
.hero-media img{width:100%;max-width:none;object-position:center 82%}
.contact-photo{margin:0;overflow:hidden}
.contact-photo img{display:block;width:100%;aspect-ratio:2.05/1;object-fit:cover;object-position:center 55%;transform:rotate(-.35deg) scale(1.015);filter:contrast(1.035) brightness(1.02)}
.contact-photo figcaption{font-size:.88rem;color:var(--muted);margin-top:.6rem}
@media(max-width:620px){.hero-media img{width:100%;object-position:center 20%}.contact-photo img{aspect-ratio:3/2;object-position:center 58%}}

.team li.featured{align-items:center}
.team .portrait{width:104px;height:104px;flex:none;object-fit:cover;object-position:center 30%;border-radius:50%}
@media(max-width:620px){.team .portrait{width:80px;height:80px}.team li.featured small{margin-left:0;flex-basis:100%;padding-left:calc(80px + 2.5rem)}}

.contact-intro{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:3.5rem;align-items:center}
.contact-intro h1{margin-bottom:1rem}
.contact-intro>div>p:last-child{font-size:1.1rem;color:var(--muted);max-width:36rem}
.contact-office-figure{margin:0}
.contact-office-image{position:relative;width:100%;height:438px;background:#d7d2c4;overflow:hidden;box-shadow:0 10px 26px rgba(16,33,45,.13)}.contact-office-image::before{content:"";position:absolute;inset:-3px;background:url("vogel-realty-office-refined.jpg") center center/cover no-repeat;transform:none;filter:brightness(1.055) contrast(1.09) saturate(1.025)}
.contact-office-figure figcaption{font-size:.82rem;color:var(--muted);margin-top:.55rem}
@media(max-width:620px){.contact-intro{grid-template-columns:1fr;gap:1.5rem}.contact-office-figure{width:min(100%,280px)}.contact-office-image{height:438px}}

.inner>.chelsea-link{margin:3rem 0 0;padding:.9rem 1rem;background:var(--navy);color:white;text-align:center;font-weight:700}
.chelsea-link a{color:white}

.inner>p.chelsea-link{color:#fff}

.housing-mark{width:100px;flex:none;background:white;padding:4px}
.housing-mark img{display:block;width:100%;height:auto}

.footer-meta{display:grid;justify-items:end;gap:.75rem;text-align:right;margin-left:auto}
@media(max-width:620px){.footer-meta{justify-self:end}}

.legacy{font:400 1.22rem/1.5 Georgia,serif;color:var(--navy);margin:1.4rem 0 0}.legacy sup{font:700 .6em system-ui,sans-serif;margin-left:.1em}
.team li{display:grid;grid-template-columns:104px minmax(0,1fr);align-items:center;gap:1.5rem}
.team .portrait{grid-column:1;width:104px;height:104px}
.team-person{grid-column:2;display:flex;flex-wrap:wrap;align-items:baseline;gap:.2rem 1.5rem;min-width:0}
.team-person small{margin-left:0;flex:none}
.team-person a{flex-basis:100%;font-size:.93rem;color:var(--navy);overflow-wrap:anywhere;text-underline-offset:3px}
.callout>div:nth-child(2) span{font-size:.9rem;color:var(--muted)}
.footer-address{font-style:normal;font-size:.82rem;line-height:1.6;color:#b6c2c5;margin-top:1rem}
@media(max-width:620px){.team li{display:grid;grid-template-columns:80px minmax(0,1fr);gap:1rem}.team .portrait{width:80px;height:80px}.team-person{grid-column:2}.team-person small{flex-basis:100%;margin:0}.team-person a{flex-basis:100%}}

.team li .team-person small{margin:0;flex:none}
@media(max-width:620px){.team li .team-person small{flex-basis:100%}}

/* Homepage photo and service strip */
.hero-grid{min-height:410px;grid-template-columns:1fr;padding-block:3.2rem}
.hero-facts{background:rgba(10,29,41,.91)}
.facts-row{display:flex;justify-content:space-between;align-items:center;gap:1.2rem;padding-block:1.1rem;color:white;font-size:.94rem;font-weight:750;line-height:1.4}
.facts-row span::before{content:"·";color:var(--gold);margin-right:1.2rem;font-size:1.3em;line-height:0}
.footer-tagline{text-align:center;color:#f4e6ce;font:400 1.14rem/1.45 Georgia,serif;padding-bottom:2.1rem}
.footer-tagline sup{font:700 .6em system-ui,sans-serif;margin-left:.1em}
@media(max-width:850px){.facts-row{flex-wrap:wrap;justify-content:center;gap:.5rem 1.5rem;text-align:center}}
@media(max-width:620px){.hero-grid{min-height:0;padding-block:3rem}.hero-facts{order:3}.facts-row{display:grid;justify-content:stretch;gap:.55rem;text-align:left;padding-block:1rem}.facts-row span::before{margin-right:.7rem}.footer-tagline{font-size:1rem}}

.about .legacy{color:#8b622f;font-size:1.25rem}

/* Compact footer while preserving every contact and access detail. */
.foot{padding-block:1.25rem .55rem;gap:1.4rem}
.footer-address{margin-top:.45rem;line-height:1.35}
.footer-meta{gap:.35rem}
.footer-tagline{padding-bottom:1rem;font-size:1.05rem;line-height:1.3}
.foot nav{gap:1rem}
@media(max-width:620px){
  .foot{display:grid;grid-template-columns:minmax(0,1fr) 108px;gap:.25rem .7rem;padding-block:1rem .4rem}
  .foot>div:first-child{grid-column:1;grid-row:1}
  .foot nav{grid-column:1;grid-row:2;gap:.25rem 1rem;align-self:end}
  .footer-meta{grid-column:2;grid-row:1/3;justify-self:end;align-self:start;max-width:108px}
  .footer-tagline{padding-bottom:.85rem;font-size:.95rem}
}

.contact-office-figure{transform:translateY(-40px);margin-bottom:-40px}
@media(max-width:620px){.hero-media{height:200px}.contact-office-figure{transform:translateY(-14px);margin-bottom:-14px}}

/* Show Vogel Realty sign and the actual entrance in the taller street photograph. */
.hero-media img{object-position:center 88%}
@media(max-width:620px){.hero-media img{object-position:center 86%}}
