/* Palette: from Avi's Gmail signature (#1E2A3A navy, #7FE5EC cyan) and AEG estimate PDF (#2B313B, #1FA9B8, #6B7280, #D8DCE2) */
:root{--navy:#1E2A3A;--slate:#2B313B;--cyan:#7FE5EC;--teal:#1FA9B8;--gray:#6B7280;--line:#D8DCE2;--mist:#F3F6F8;--white:#fff}
*{box-sizing:border-box;margin:0;padding:0}
body{background:var(--white);color:var(--navy);font-family:'Inter',Helvetica,Arial,sans-serif;font-size:16px;line-height:1.7}
h1,h2,h3,h4{font-family:'Manrope','Helvetica Neue',Helvetica,Arial,sans-serif;font-weight:700;letter-spacing:-.01em;line-height:1.2}
a{color:inherit;text-decoration:none}
.wrap{max-width:1180px;margin:0 auto;padding:0 32px}
.eyebrow{display:inline-block;font-family:'Manrope',sans-serif;font-size:12px;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:var(--teal);margin-bottom:14px}
.ph{background:linear-gradient(135deg,#E7EDF1,#D8E1E7);border:1px dashed #9AA6B2;display:flex;align-items:center;justify-content:center;color:#5B6878;font-size:12px;letter-spacing:.14em;text-transform:uppercase;text-align:center;padding:16px}
/* header */
header{background:var(--white);border-bottom:1px solid var(--line)}
.hdr{display:flex;align-items:center;justify-content:space-between;height:92px}
.hdr img{height:52px;display:block}
.hdr nav{display:flex;gap:30px;align-items:center;font-family:'Manrope',sans-serif;font-weight:600;font-size:14px}
.hdr nav a.on{color:var(--teal)}
.hdr .tel{padding:10px 18px;border:1.5px solid var(--navy);border-radius:2px}
/* hero */
.hero{display:grid;grid-template-columns:1.25fr 1fr;min-height:520px}
.hero .ph{min-height:520px;border:0;border-right:1px dashed #9AA6B2}
.hero-txt{background:var(--navy);color:var(--white);display:flex;flex-direction:column;justify-content:center;padding:56px 56px}
.hero-txt .bars{display:flex;flex-direction:column;align-items:flex-start;gap:3px;margin-bottom:26px}
.hero-txt .bars i{display:block;height:4px;background:var(--cyan)}
.hero-txt h1{font-size:42px;margin-bottom:18px}
.hero-txt h1 em{font-style:normal;color:var(--cyan)}
.hero-txt p{color:#C9D3DD;font-size:16px;margin-bottom:32px;max-width:420px}
.btn{display:inline-block;background:var(--cyan);color:var(--navy);font-family:'Manrope',sans-serif;font-weight:800;font-size:13px;letter-spacing:.12em;text-transform:uppercase;padding:16px 28px;border:0;border-radius:2px;cursor:pointer}
.btn.dark{background:var(--navy);color:var(--white)}
/* sections */
section{padding:88px 0}
.intro{display:grid;grid-template-columns:1fr 1.4fr;gap:64px;align-items:start}
.intro h2{font-size:34px}
.intro p{color:#3D4A5A;font-size:17px;margin-bottom:14px}
.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:56px}
.tile{border-top:4px solid var(--cyan);background:var(--mist);padding:30px 28px}
.tile h3{font-size:21px;margin-bottom:10px}
.tile p{font-size:15px;color:#3D4A5A;margin-bottom:14px}
.tile ul{list-style:none;font-size:14px;color:var(--slate)}
.tile li{padding:6px 0;border-top:1px solid var(--line)}
/* approach */
.approach{background:var(--mist)}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:44px;border-left:1px solid var(--line)}
.step{padding:6px 26px 6px;border-right:1px solid var(--line)}
.step b{display:block;font-family:'Manrope',sans-serif;font-size:13px;color:var(--teal);letter-spacing:.2em;margin-bottom:10px}
.step h4{font-size:18px;margin-bottom:8px}
.step p{font-size:14px;color:#3D4A5A}
.head-row{display:flex;justify-content:space-between;align-items:end;gap:32px}
.head-row h2{font-size:34px;max-width:620px}
.head-row p{max-width:380px;color:var(--gray);font-size:15px}
/* projects */
.projects{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:44px}
.card .ph{aspect-ratio:4/3}
.card .meta{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--teal);font-weight:700;margin-top:16px}
.card h4{font-size:19px;margin-top:4px}
/* leadership */
.lead{background:var(--slate);color:var(--white)}
.lead .grid{display:grid;grid-template-columns:340px 1fr;gap:64px;align-items:center}
.lead .ph{aspect-ratio:4/5;background:linear-gradient(135deg,#3A424E,#323944);border-color:#6B7280;color:#B4BCC7}
.lead .eyebrow{color:var(--cyan)}
.lead h2{font-size:32px;margin-bottom:18px}
.lead p{color:#C9D3DD;margin-bottom:14px}
/* cta */
.cta{background:var(--navy);color:var(--white);padding:64px 0}
.cta .wrap{display:flex;align-items:center;justify-content:space-between;gap:32px;flex-wrap:wrap}
.cta h2{font-size:30px}
.cta p{color:#C9D3DD}
/* contact */
.contact-hero{background:var(--navy);color:var(--white);padding:72px 0 64px}
.contact-hero h1{font-size:46px;margin-bottom:12px}
.contact-hero p{color:#C9D3DD;max-width:620px;font-size:17px}
.contact{display:grid;grid-template-columns:1fr 1.3fr;gap:64px}
.info .blk{padding:22px 0;border-bottom:1px solid var(--line)}
.info h4{font-size:13px;letter-spacing:.2em;text-transform:uppercase;color:var(--teal);margin-bottom:8px}
.info p{font-size:16px}
.flag{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.06em;color:var(--navy);background:var(--cyan);padding:2px 8px;margin-left:8px;border-radius:2px;vertical-align:middle}
form.full{background:var(--mist);padding:36px;border-top:4px solid var(--cyan)}
form.full h3{font-size:24px;margin-bottom:4px}
form.full label{display:block;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--gray);margin:16px 0 6px}
form.full input,form.full select,form.full textarea{width:100%;background:var(--white);border:1px solid var(--line);color:var(--navy);padding:12px 14px;font:inherit;font-size:15px;border-radius:2px}
form.full textarea{min-height:120px}
form.full .row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
form.full .btn{margin-top:24px}
.map{margin-top:64px;height:300px}
/* footer */
footer{background:#161F2B;color:#AEB8C4;padding:56px 0 32px;font-size:14px}
footer .cols{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:40px;padding-bottom:36px;border-bottom:1px solid #2E3A4A}
footer img{height:48px;margin-bottom:14px}
footer h5{font-family:'Manrope',sans-serif;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--cyan);margin-bottom:12px}
footer .lic{display:inline-block;border:1px dashed var(--cyan);color:var(--cyan);padding:8px 14px;font-size:12px;letter-spacing:.1em;text-transform:uppercase;margin-top:6px}
footer .legal{padding-top:22px;font-size:12px;color:#7E8A98;display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap}
@media(max-width:860px){
 .hdr{height:auto;padding:16px 0;flex-direction:column;gap:12px}.hdr img{height:44px}.hdr nav{gap:18px;font-size:13px}
 .hero,.intro,.lead .grid,.contact,form.full .row,footer .cols{grid-template-columns:1fr}
 .hero .ph{min-height:240px;border-right:0}.hero-txt{padding:44px 26px}.hero-txt h1{font-size:32px}
 .tiles,.projects{grid-template-columns:1fr}.steps{grid-template-columns:1fr 1fr;row-gap:28px}
 .head-row{flex-direction:column;align-items:start}.lead .ph{max-width:300px}
 section{padding:60px 0}.wrap{padding:0 22px}.intro{gap:20px}.contact-hero h1{font-size:36px}
}
/* hero photo (A) */
.hero-img{min-height:520px;background:url(assets/hero-jobsite.jpg) center/cover no-repeat}
/* hero B: full-bleed */
.hero-b{position:relative;min-height:85vh;display:flex;align-items:center;color:#fff;background:linear-gradient(90deg,rgba(30,42,58,.94) 0%,rgba(30,42,58,.78) 38%,rgba(30,42,58,.25) 75%,rgba(30,42,58,.1) 100%),url(assets/hero-jobsite.jpg) center/cover no-repeat}
.hero-b-in{width:100%}
.hero-b .bars{display:flex;flex-direction:column;align-items:flex-start;gap:3px;margin-bottom:28px}
.hero-b .bars i{display:block;height:4px;background:var(--cyan)}
.hero-b h1{font-size:60px;max-width:640px;margin-bottom:22px}
.hero-b h1 em{font-style:normal;color:var(--cyan)}
.hero-b p{font-size:18px;color:#D9E1E8;max-width:520px;margin-bottom:34px}
@media(max-width:860px){.hero-img{min-height:260px}.hero-b{min-height:78vh;background:linear-gradient(180deg,rgba(30,42,58,.55) 0%,rgba(30,42,58,.92) 70%),url(assets/hero-jobsite.jpg) center/cover no-repeat;align-items:flex-end;padding-bottom:48px}.hero-b h1{font-size:38px}.hero-b p{font-size:16px}}
.hero-txt .btn{align-self:flex-start}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.thanks{min-height:60vh;display:flex;align-items:center}
footer a:hover,.info a:hover{color:var(--teal)}
/* v2: services detail, philosophy, clients */
.svc-head{margin-top:72px}
.svc-head h2{font-size:34px;max-width:720px}
.svc-head + .tiles{margin-top:36px}
.tile p.tag{font-family:'Manrope',sans-serif;font-weight:700;color:var(--teal);font-size:15px}
.tile ul li{padding-left:18px;position:relative}
.tile ul li:before{content:"";position:absolute;left:0;top:15px;width:8px;height:2px;background:var(--teal)}
.philo{background:var(--white);color:var(--navy)}
.philo-solo{max-width:900px;margin:0 auto}
.philo-text{font-family:'Manrope',sans-serif;font-size:24px;line-height:1.6;font-weight:600;color:var(--navy);border-left:4px solid var(--cyan);padding-left:32px}
.step p{line-height:1.65}
.sec-h2{font-size:34px;max-width:620px}
/* v3: where owners save */
.save{background:var(--navy);color:var(--white)}
.save .eyebrow{color:var(--cyan)}
.save .head-row p{color:#C9D3DD;font-size:16px}
.cta .wrap > div{flex:1 1 560px}
.save-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:44px}
.save-grid div{border-top:4px solid var(--cyan);background:rgba(255,255,255,.05);padding:26px 24px 28px}
.save-grid h4{font-size:18px;color:var(--white);margin-bottom:10px}
.save-grid p{font-size:15px;color:#C9D3DD;line-height:1.6}
@media(max-width:860px){.philo-text{font-size:19px;padding-left:20px}.svc-head{margin-top:52px}.svc-head h2,.sec-h2{font-size:28px}.save-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.steps,.save-grid{grid-template-columns:1fr}}
