:root{--ink:#15201f;--green:#183c37;--sage:#dce4dc;--cream:#f5f2ea;--white:#fff;--muted:#65706c;--line:#d8ddd8}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',sans-serif}h1,h2,h3{font-family:Manrope,sans-serif;letter-spacing:-.045em;margin:0}p{line-height:1.65}.nav{height:88px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;background:rgba(245,242,234,.95);position:sticky;top:0;z-index:10;border-bottom:1px solid rgba(21,32,31,.08);backdrop-filter:blur(12px)}.brand{text-decoration:none;color:var(--ink);font:700 20px Manrope;letter-spacing:.02em}.brand span{font-weight:400}.brand small{display:block;font:600 9px DM Sans;letter-spacing:.18em;margin-top:2px;color:var(--muted)}nav{display:flex;align-items:center;gap:30px}nav a{color:var(--ink);text-decoration:none;font-size:14px;font-weight:600}.nav-cta{border:1px solid var(--ink);padding:11px 17px}.menu{display:none;border:0;background:none;font-size:24px}.hero{min-height:760px;display:grid;grid-template-columns:1.15fr .85fr;padding:70px 7vw 90px;gap:7vw;align-items:center}.eyebrow{font-size:11px;font-weight:700;letter-spacing:.2em;color:#527069;margin:0 0 24px}.hero h1{font-size:clamp(52px,6vw,94px);line-height:.98;font-weight:600}.hero h1 em,.statement em,.business-cta em{font-style:normal;color:#58786f}.lead{font-size:19px;max-width:620px;color:#4c5955;margin:30px 0}.actions{display:flex;gap:12px;flex-wrap:wrap}.btn{display:inline-block;text-decoration:none;padding:15px 20px;font-size:13px;font-weight:700;border:0;cursor:pointer}.primary{background:var(--green);color:white}.ghost{border:1px solid #aab3ad;color:var(--ink)}.license{font-size:11px;color:#737c78;max-width:520px;margin-top:20px}.hero-photo{position:relative}.hero-photo img{width:100%;height:600px;object-fit:cover;object-position:center top;display:block;filter:saturate(.8)}.photo-tag{position:absolute;left:-30px;bottom:30px;background:white;padding:18px 22px;box-shadow:0 14px 40px #0002}.photo-tag strong,.photo-tag span{display:block}.photo-tag span{font-size:11px;color:var(--muted);margin-top:4px}.statement{background:var(--green);color:white;padding:90px 12vw}.statement p{font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:#b8c9c3}.statement h2{font-size:clamp(36px,5vw,68px);line-height:1.08;max-width:1050px}.services{padding:110px 7vw}.section-head{display:grid;grid-template-columns:.7fr 1.3fr;align-items:end;margin-bottom:60px}.section-head h2{font-size:clamp(40px,4.5vw,64px)}.cards{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #aeb8b1}.cards article{padding:36px 35px 30px 0;border-right:1px solid #c6ccc7;margin-right:35px}.cards article:last-child{border:0;margin-right:0}.num{font:600 11px Manrope;color:#7d8c86}.cards h3{font-size:27px;margin:30px 0 14px}.cards p,.cards li{color:#56635f;font-size:14px}.cards ul{padding-left:18px;line-height:1.9}.cards a,.text-link{color:var(--green);font-weight:700;font-size:13px;text-decoration:none}.fineprint{font-size:10px;color:#7a817e;margin-top:30px}.business-cta{margin:0 3vw;background:#d8e0d8;padding:80px 8vw;display:grid;grid-template-columns:1.25fr .75fr;gap:55px;align-items:center}.business-cta h2{font-size:clamp(38px,4vw,60px);line-height:1.08}.business-cta>p{color:#4f5c58}.light{background:white;color:var(--ink);justify-self:start}.market{padding:120px 7vw;display:grid;grid-template-columns:.75fr 1.25fr;gap:8vw;align-items:center}.market-copy h2,.about h2,.contact h2{font-size:clamp(42px,4.5vw,66px);line-height:1.05}.market-copy>p{color:#58645f}.market-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.market-grid img{width:100%;height:240px;object-fit:cover}.area{grid-column:1/-1;background:var(--ink);color:white;padding:28px}.area span{font-size:10px;letter-spacing:.18em;color:#9fb0aa}.area strong{display:block;font:600 26px Manrope;margin:8px 0}.area p{margin:0;color:#bac4c0;font-size:13px}.about{background:white;padding:110px 10vw;display:grid;grid-template-columns:.7fr 1.3fr;gap:8vw;align-items:center}.about-photo img{width:100%;max-height:650px;object-fit:cover;object-position:center top}.about>div>p:not(.eyebrow){color:#53605c;max-width:700px}.credentials{display:flex;gap:8px;flex-wrap:wrap;margin-top:28px}.credentials span{border:1px solid var(--line);padding:9px 12px;font-size:11px;font-weight:700}.contact{padding:120px 7vw;background:#eef0eb;display:grid;grid-template-columns:.75fr 1.25fr;gap:8vw}.contact-copy>p{color:#56635f}.direct{display:flex;flex-direction:column;margin-top:30px}.direct a{color:var(--ink);font-weight:700;text-decoration:none;margin:4px 0}form{display:grid;grid-template-columns:1fr 1fr;gap:18px}label{font-size:11px;font-weight:700;letter-spacing:.05em}input,select,textarea{display:block;width:100%;margin-top:7px;border:1px solid #c8ceca;background:white;padding:14px;font:14px DM Sans}.full{grid-column:1/-1}footer{padding:55px 7vw;background:#101817;color:#dce2df;display:grid;grid-template-columns:.6fr 1.2fr .6fr;gap:50px;align-items:start}footer .brand{color:white}footer strong{font-size:11px}footer p{font-size:10px;color:#93a09b;margin:6px 0}footer>p{text-align:right}@media(max-width:850px){.nav{height:72px}.menu{display:block}nav{display:none;position:absolute;top:72px;left:0;right:0;background:var(--cream);padding:24px 5vw;flex-direction:column;align-items:flex-start;border-bottom:1px solid var(--line)}nav.open{display:flex}.hero{grid-template-columns:1fr;padding-top:55px}.hero-photo{max-width:520px}.hero-photo img{height:520px}.photo-tag{left:15px}.section-head,.business-cta,.market,.about,.contact{grid-template-columns:1fr}.cards{grid-template-columns:1fr}.cards article{border-right:0;border-bottom:1px solid var(--line);margin:0;padding-right:0}.business-cta{margin:0}.market-grid{order:-1}.about-photo{max-width:430px}.contact{gap:50px}footer{grid-template-columns:1fr}footer>p{text-align:left}}@media(max-width:540px){.hero{padding-left:6vw;padding-right:6vw}.hero h1{font-size:48px}.hero-photo img{height:450px}.statement,.services,.market,.about,.contact{padding-left:6vw;padding-right:6vw}.statement{padding-top:70px;padding-bottom:70px}.market-grid{grid-template-columns:1fr}.market-grid .area{grid-column:auto}.market-grid img{height:210px}form{grid-template-columns:1fr}.full{grid-column:auto}.brand{font-size:17px}}

/* Steven McEvoy logo */
.logo-brand{display:flex;flex-direction:column;align-items:flex-start;gap:3px;text-decoration:none}
.logo-brand img{display:block;width:210px;max-width:42vw;height:auto;object-fit:contain}
.logo-brand small{letter-spacing:.16em;font-size:.58rem;line-height:1;color:inherit;opacity:.72}
.footer-logo img{width:190px;max-width:100%}
@media(max-width:700px){.logo-brand img{width:170px;max-width:52vw}.logo-brand small{font-size:.5rem;letter-spacing:.11em}}

/* Header/logo sizing fix */
.nav{height:118px;padding-top:8px;padding-bottom:8px;overflow:visible}
.nav .logo-brand{height:100%;justify-content:center;gap:0}
.nav .logo-brand img{width:auto;height:82px;max-width:260px;object-fit:contain;object-position:left center}
.nav .logo-brand small{margin-top:2px;font-size:8px;line-height:1;white-space:nowrap}
@media(max-width:850px){
  .nav{height:92px}
  .nav .logo-brand img{height:62px;max-width:200px}
  nav{top:92px}
}
@media(max-width:540px){
  .nav .logo-brand img{height:56px;max-width:175px}
  .nav .logo-brand small{font-size:7px;letter-spacing:.10em}
}

/* Residential secondary-service strip */
.residential-strip{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:48px;align-items:center;padding:64px max(6vw,32px);background:#f3f0ea;border-top:1px solid rgba(22,30,32,.12);border-bottom:1px solid rgba(22,30,32,.12)}
.residential-strip h2{margin:.35rem 0 .75rem;font-size:clamp(2rem,3.2vw,3.4rem);line-height:1.02}
.residential-strip p:not(.eyebrow){max-width:760px;margin:0;color:#566064;line-height:1.7}
@media(max-width:760px){.residential-strip{grid-template-columns:1fr;gap:24px;padding:48px 24px}.residential-strip .btn{justify-self:start}}
