:root{--brick:#a3231f;--brick-d:#7e1915;--bone:#f3eee6;--paper:#fbf8f3;--ink:#20262b;--slate:#2f5d62;--mute:#5d646a;--line:#ddd5c8;--r:14px}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font-family:'DM Sans',system-ui,sans-serif;color:var(--ink);background:var(--bone);line-height:1.6;font-size:17px}
img{max-width:100%;display:block}a{color:inherit}
.wrap{width:min(1140px,92%);margin:0 auto}
h1,h2,h3,.brand__word{font-family:'Archivo','Arial Black',sans-serif;font-weight:800;font-stretch:125%;letter-spacing:-.01em;line-height:1.05;margin:0}
.kicker{font-size:.78rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--brick);margin:0 0 .7rem}
.btn{display:inline-flex;align-items:center;gap:.55rem;background:var(--brick);color:#fff;text-decoration:none;font-weight:700;padding:.95rem 1.4rem;border-radius:999px;transition:background .2s,transform .2s}
.btn:hover{background:var(--brick-d);transform:translateY(-1px)}
.btn svg{width:18px;height:18px;fill:currentColor}
.btn--sm{padding:.6rem 1rem;font-size:.9rem}
.btn--ghost{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 2px var(--ink)}
.btn--ghost:hover{background:var(--ink);color:#fff}
.btn--block{width:100%;justify-content:center;margin-top:1.4rem}
/* nav */
.nav{position:sticky;top:0;z-index:20;background:rgba(243,238,230,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.nav__inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 0}
.brand{display:flex;align-items:center;gap:.6rem;text-decoration:none}
.brand__mark{width:40px;height:40px;border-radius:10px;background:var(--brick);color:var(--bone);display:grid;place-items:center;font-family:'Archivo',sans-serif;font-weight:800;font-stretch:125%;font-size:1.3rem}
.brand__word{font-size:1.15rem;display:flex;flex-direction:column}
.brand__word small{font-family:'DM Sans',sans-serif;font-stretch:100%;font-weight:500;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}
.nav__links{display:flex;gap:1.6rem}.nav__links a{text-decoration:none;font-weight:500;font-size:.95rem}.nav__links a:hover{color:var(--brick)}
/* hero */
.hero{display:grid;grid-template-columns:1.05fr 1fr;min-height:min(calc(100vh - 66px),760px)}
.hero__text{padding:clamp(2.5rem,7vw,6rem) clamp(1.2rem,5vw,4.5rem);display:flex;flex-direction:column;justify-content:center}
.hero h1{font-size:clamp(2.3rem,5.4vw,4.4rem)}
.hero h1 span{color:var(--brick)}
.lede{font-size:1.15rem;color:var(--mute);max-width:34ch;margin:1.4rem 0 2rem}
.hero__cta{display:flex;flex-wrap:wrap;gap:.8rem}
.hero__img{position:relative;margin:0;overflow:hidden;border-bottom-left-radius:120px}
.hero__img img{width:100%;height:100%;object-fit:cover}
.badge{position:absolute;left:1.5rem;bottom:1.5rem;background:var(--bone);border-radius:50%;width:132px;height:132px;display:grid;place-items:center;text-align:center;font-family:'Archivo',sans-serif;font-stretch:125%;font-size:.8rem;line-height:1.2;box-shadow:0 10px 30px rgba(0,0,0,.25);border:3px solid var(--brick)}
/* pipe divider */
.pipe{height:18px;background:var(--slate);position:relative;overflow:hidden}
.pipe span{position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 160px,rgba(255,255,255,.18) 160px 176px)}
/* services */
.services{padding:clamp(3.5rem,8vw,6.5rem) 0;background:var(--paper)}
.sec-head{max-width:640px;margin-bottom:2.6rem}
.sec-head h2,.card h2{font-size:clamp(1.8rem,3.6vw,2.7rem)}
.svc{list-style:none;margin:0;padding:0;border-top:2px solid var(--ink)}
.svc li{display:grid;grid-template-columns:110px 1fr;gap:1.2rem;align-items:baseline;padding:1.5rem 0;border-bottom:1px solid var(--line)}
.svc__n{font-family:'Archivo',sans-serif;font-weight:800;font-stretch:125%;font-size:2.4rem;color:var(--brick);line-height:1}
.svc h3{font-size:1.35rem;margin-bottom:.3rem}.svc p{margin:0;color:var(--mute)}
/* domestic / commercial */
.work{padding:clamp(3.5rem,8vw,6rem) 0}
.work__grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}
.tile{background:var(--paper);border-radius:var(--r);overflow:hidden;border:1px solid var(--line)}
.tile img{object-fit:cover;width:100%;height:300px}
.tile__body{padding:1.5rem 1.6rem 1.8rem}.tile h3{font-size:1.3rem;margin-bottom:.4rem}.tile p:last-child{margin:0;color:var(--mute)}
.tile--biz .kicker{color:var(--slate)}
/* promise */
.promise{background:var(--ink);color:var(--bone);padding:2.6rem 0}
.promise__inner{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.promise__inner div{border-left:4px solid var(--brick);padding-left:1rem}
.promise strong{display:block;font-family:'Archivo',sans-serif;font-stretch:125%;font-size:1.15rem}
.promise span{color:#b9bec2;font-size:.95rem}
/* contact */
.contact{padding:clamp(3.5rem,8vw,6rem) 0}
.contact__grid{display:grid;grid-template-columns:1fr 1.15fr;gap:1.5rem;align-items:stretch}
.card{background:var(--paper);border-radius:var(--r);padding:2rem;border-top:6px solid var(--brick)}
.card dl{display:grid;grid-template-columns:90px 1fr;gap:.7rem 1rem;margin:1.6rem 0 0}
.card dt{font-weight:700;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:var(--mute);padding-top:.15rem}
.card dd{margin:0;word-break:break-word}.card dd a{color:var(--brick);font-weight:700}
.map{border-radius:var(--r);overflow:hidden;min-height:380px;border:1px solid var(--line)}
.map iframe{width:100%;height:100%;min-height:380px;border:0;display:block}
/* footer */
.footer{background:var(--brick-d);color:#f5e6e3;padding:2.4rem 0 1.6rem}
.footer__inner{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;align-items:center}
.footer__inner p{margin:0;font-size:.92rem}.footer a{color:#fff}
.brand__word--foot small{color:#e4c2bd}
.footer__fine{margin-top:1.4rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.18)}
.footer__fine p{font-size:.78rem;color:#e4c2bd;margin:0}
/* fab */
.fab{position:fixed;right:18px;bottom:18px;width:60px;height:60px;border-radius:50%;background:var(--brick);display:none;place-items:center;box-shadow:0 8px 24px rgba(0,0,0,.3);z-index:30;opacity:0;transform:scale(.8);transition:opacity .25s,transform .25s}
.fab svg{width:26px;height:26px;fill:#fff}.fab.show{opacity:1;transform:none}
/* reveal */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease}.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}html{scroll-behavior:auto}}
/* mobile */
@media (max-width:860px){
 .nav__links{display:none}
 .hero{grid-template-columns:1fr;min-height:0;max-height:none}
 .hero__img{order:-1;height:300px;border-bottom-left-radius:60px}
 .badge{width:104px;height:104px;font-size:.68rem;left:auto;right:1rem;bottom:1rem}
 .work__grid,.contact__grid,.promise__inner{grid-template-columns:1fr}
 .svc li{grid-template-columns:64px 1fr}.svc__n{font-size:1.7rem}
 .fab{display:grid}
 .tile img{height:210px}
}
@media (max-width:420px){.btn--sm{display:none}.hero__cta .btn{width:100%;justify-content:center}}
