/* Bespoke Heating Solutions: true black + brushed silver, taken from the client's own logo. */
:root{
  --black:#070708; --ink-900:#0e0e10; --ink-800:#151518; --ink-700:#222226;
  --edge:#26262b; --silver-1:#f3f4f6; --silver-2:#cfd2d8; --silver-3:#8f939c;
  --metal:linear-gradient(180deg,#fafbfc 0%,#e2e4e8 42%,#bcc0c7 58%,#e6e8eb 100%);
  --paper:#f4f4f6; --white:#fff; --ink:#111114; --ink-soft:#50535b; --ink-faint:#868991; --line:#e2e3e7;
  --wa:#25D366;
  /* aliases still referenced by inline styles */
  --navy-950:var(--black); --navy-900:var(--ink-900); --navy-800:var(--ink-800); --line-dark:var(--edge);
  --copper:var(--silver-3); --copper-light:var(--silver-2); --copper-dark:var(--ink);
  --radius-sm:8px; --radius-md:14px; --wrap:1200px;
}
*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;scroll-padding-top:90px;}
body{margin:0;font-family:'Public Sans',system-ui,-apple-system,Segoe UI,sans-serif;color:var(--ink);background:var(--white);line-height:1.6;-webkit-font-smoothing:antialiased;}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
ul{margin:0;padding:0;list-style:none;}
svg{flex:none;}
h1,h2,h3,h4{font-family:'Archivo',system-ui,sans-serif;font-stretch:115%;font-weight:700;line-height:1.08;letter-spacing:-.02em;margin:0 0 .45em;color:var(--ink);}
h1{font-size:clamp(2.1rem,4.2vw,3.4rem);}
h2{font-size:clamp(1.65rem,2.9vw,2.35rem);}
h3{font-size:1.15rem;letter-spacing:-.01em;}
p{margin:0 0 1em;color:var(--ink-soft);}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 24px;}
section{padding:92px 0;}
@media(max-width:720px){section{padding:60px 0;}}
.lede{font-size:1.1rem;max-width:620px;}
.center{text-align:center;margin-left:auto;margin-right:auto;}
.section-head{max-width:680px;margin-bottom:44px;}
.section-head.center{max-width:640px;}

/* dark surfaces */
.hero,.page-hero,.section-dark,.problem-band,.final-cta,.bg-navy{background:var(--black);color:#fff;}
.hero h1,.hero h2,.page-hero h1,.section-dark h2,.section-dark h3,.problem-band h2,.final-cta h2,.bg-navy h2,.bg-navy h3{color:#fff;}
.hero p,.page-hero p,.section-dark p,.problem-band p,.final-cta p,.bg-navy p{color:#a9acb4;}
.hero,.page-hero{background:radial-gradient(900px 480px at 88% -10%,rgba(214,218,224,.10),transparent 62%),var(--black);}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55em;white-space:nowrap;font-family:'Public Sans',sans-serif;font-weight:600;font-size:.95rem;line-height:1;padding:14px 22px;border-radius:var(--radius-sm);border:1px solid transparent;cursor:pointer;transition:filter .15s ease,background .15s ease,border-color .15s ease,color .15s ease;}
.btn svg{width:1.15em;height:1.15em;}
.btn-lg{padding:16px 26px;font-size:1rem;}
.btn-block{width:100%;}
.btn-primary{background:var(--ink);color:#fff;}
.btn-primary:hover{background:#2a2a30;}
.hero .btn-primary,.page-hero .btn-primary,.section-dark .btn-primary,.problem-band .btn-primary,.final-cta .btn-primary,.bg-navy .btn-primary,.site-header .btn-primary,.mobile-nav .btn-primary{
  background:var(--metal);color:#0b0b0c;box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 1px 2px rgba(0,0,0,.4);}
.hero .btn-primary:hover,.page-hero .btn-primary:hover,.section-dark .btn-primary:hover,.problem-band .btn-primary:hover,.final-cta .btn-primary:hover,.bg-navy .btn-primary:hover,.site-header .btn-primary:hover,.mobile-nav .btn-primary:hover{filter:brightness(1.06);}
.btn-ghost{background:transparent;border-color:rgba(255,255,255,.26);color:#fff;}
.btn-ghost:hover{border-color:rgba(255,255,255,.6);background:rgba(255,255,255,.04);}
.btn-ghost-dark{background:transparent;border-color:var(--ink);color:var(--ink);}
.btn-ghost-dark:hover{background:var(--ink);color:#fff;}
.btn-wa{background:transparent;border-color:rgba(255,255,255,.26);color:#fff;}
.btn-wa svg{color:var(--wa);}
.btn-wa:hover{border-color:var(--wa);}
.bg-paper-dim .btn-wa,.contact-split .btn-wa{border-color:var(--ink);color:var(--ink);}

/* header */
.site-header{position:sticky;top:0;z-index:60;background:rgba(7,7,8,.96);backdrop-filter:blur(8px);border-bottom:1px solid var(--edge);}
.header-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:10px 0;}
.brand img{height:46px;width:auto;}
.primary-nav > ul{display:flex;align-items:center;gap:2px;}
.primary-nav > ul > li{position:relative;}
.primary-nav > ul > li.has-mega{position:static;}
.primary-nav > ul > li.has-mega.simple{position:relative;}
.nav-link{display:flex;align-items:center;gap:.3em;padding:26px 12px;color:#c9ccd2;font-weight:500;font-size:.94rem;}
.nav-link:hover,.nav-link.active{color:#fff;}
.nav-link svg{width:.8em;height:.8em;opacity:.55;}
.mega,.simple-drop{display:none;position:absolute;top:100%;background:var(--ink-900);border-top:1px solid var(--edge);border-bottom:1px solid var(--edge);box-shadow:0 30px 60px -30px rgba(0,0,0,.8);}
.mega{left:0;right:0;}
.simple-drop{left:0;min-width:230px;padding:10px;border:1px solid var(--edge);border-radius:0 0 var(--radius-sm) var(--radius-sm);}
.has-mega:hover > .mega,.has-mega:focus-within > .mega,.has-mega.simple:hover > .simple-drop,.has-mega.simple:focus-within > .simple-drop{display:block;}
.mega-inner{max-width:var(--wrap);margin:0 auto;padding:34px 24px 38px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px;}
.mega-col h4{font-family:'Public Sans',sans-serif;font-stretch:100%;font-size:.82rem;font-weight:600;letter-spacing:0;color:var(--silver-3);margin-bottom:12px;}
.mega-col a{display:block;padding:10px 0;color:#e6e7ea;font-weight:500;border-bottom:1px solid var(--edge);}
.mega-col a:hover,.simple-drop a:hover{color:#fff;}
.simple-drop a{display:block;padding:9px 12px;border-radius:6px;color:#d4d6db;font-size:.93rem;}
.simple-drop a:hover{background:rgba(255,255,255,.05);}
.header-actions{display:flex;align-items:center;gap:12px;}
.header-phone{display:flex;flex-direction:column;line-height:1.2;text-align:right;}
.header-phone small{color:var(--silver-3);font-size:.74rem;}
.header-phone a{color:#fff;font-family:'Archivo',sans-serif;font-stretch:110%;font-weight:700;font-size:1.02rem;}
.header-wa{width:42px;height:42px;border-radius:50%;border:1px solid var(--edge);display:flex;align-items:center;justify-content:center;color:var(--wa);}
.header-wa svg{width:20px;height:20px;}
.header-wa:hover{border-color:var(--wa);}
.menu-toggle{display:none;background:none;border:none;color:#fff;padding:8px;cursor:pointer;}
.menu-toggle svg{width:26px;height:26px;}
@media(max-width:1180px){.primary-nav,.header-phone{display:none;}.menu-toggle{display:block;}}
@media(max-width:720px){.header-quote,.header-wa{display:none;}.brand img{height:40px;}}

/* mobile menu */
.mobile-nav{position:fixed;top:0;right:0;bottom:0;width:min(360px,88vw);background:var(--black);z-index:100;transform:translateX(100%);transition:transform .25s ease;overflow-y:auto;padding:20px;}
.mobile-nav.open{transform:none;}
.mobile-nav-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;}
.mobile-nav-head button{background:none;border:none;color:#fff;padding:6px;}
.mobile-nav-head svg{width:24px;height:24px;}
.mnav-item{border-bottom:1px solid var(--edge);}
.mnav-toggle{width:100%;display:flex;justify-content:space-between;align-items:center;background:none;border:none;color:#fff;padding:16px 4px;font:600 1rem 'Public Sans',sans-serif;cursor:pointer;}
.mnav-toggle svg{width:16px;height:16px;color:var(--silver-3);}
.mnav-sub{display:none;padding:0 4px 12px 10px;}
.mnav-sub.open{display:block;}
.mnav-sub a{display:block;padding:9px 0;color:#c9ccd2;}
.mnav-link{display:block;padding:16px 4px;color:#fff;font-weight:600;border-bottom:1px solid var(--edge);}
.mobile-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:90;display:none;}
.mobile-backdrop.open{display:block;}

/* sticky mobile bar */
.mobile-cta-bar{display:none;position:fixed;left:0;right:0;bottom:0;z-index:80;background:var(--black);border-top:1px solid var(--edge);}
.mobile-cta-bar .wrap{display:flex;padding:0;max-width:none;}
.mobile-cta-bar a{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:15px 6px;font-weight:700;font-size:.9rem;color:#fff;}
.mobile-cta-bar a svg{width:17px;height:17px;}
.mobile-cta-bar a.call{background:var(--metal);color:#0b0b0c;}
.mobile-cta-bar a.wa svg{color:var(--wa);}
.mobile-cta-bar a.quote{border-left:1px solid var(--edge);}
@media(max-width:720px){.mobile-cta-bar{display:block;}body{padding-bottom:54px;}}

/* hero */
.hero .wrap{padding-top:56px;padding-bottom:72px;display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center;}
.hero .lede{margin-bottom:0;}
.hero-media{height:500px;border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--edge);}
@media(max-width:900px){.hero .wrap{grid-template-columns:1fr;gap:36px;padding-top:36px;}.hero-media{height:300px;}}
.trust-ticks{display:grid;grid-template-columns:1fr 1fr;gap:10px 24px;margin:26px 0 30px;}
.trust-ticks li{display:flex;align-items:center;gap:10px;color:#e3e5e9;font-weight:500;font-size:.94rem;}
.trust-ticks svg{width:17px;height:17px;color:var(--silver-2);}
@media(max-width:520px){.trust-ticks{grid-template-columns:1fr;}}
.hero-ctas,.page-cta-row{display:flex;flex-wrap:wrap;gap:12px;}
.hero-hours{color:#80838b;font-size:.9rem;margin:18px 0 0;}
.hero-badge,.gas-safe-note{display:flex;align-items:center;gap:14px;margin-top:26px;color:#a9acb4;font-size:.88rem;line-height:1.35;}
.hero-badge img,.gas-safe-note img{border-radius:3px;}

/* placeholders */
.placeholder-img{width:100%;height:100%;min-height:300px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;padding:24px;background:linear-gradient(160deg,#1c1c20,#0f0f11);color:#9a9da5;}
.placeholder-img svg{width:30px;height:30px;color:#5d6068;}
.placeholder-img span{font-weight:600;font-size:.92rem;color:#c9ccd2;}
.placeholder-img small{font-size:.78rem;color:#6d7078;}
.placeholder-img.light{background:linear-gradient(160deg,#eeeff1,#e2e3e7);border-radius:var(--radius-md);}
.placeholder-img.light span{color:var(--ink-soft);}
.placeholder-img.light svg{color:#a3a6ad;}

/* trust strip */
.trust-bar{background:var(--white);border-bottom:1px solid var(--line);padding:30px 0;}
.trust-bar .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
@media(max-width:900px){.trust-bar .wrap{grid-template-columns:1fr 1fr;}}
.trust-item{display:flex;align-items:center;gap:14px;}
.trust-item svg{width:26px;height:26px;color:var(--silver-3);}
.trust-item strong{display:block;font-size:.95rem;color:var(--ink);}
.trust-item small{color:var(--ink-faint);font-size:.84rem;}

/* service cards */
.service-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px;}
.service-card{display:flex;flex-direction:column;background:var(--white);border:1px solid var(--line);border-radius:var(--radius-md);padding:28px;transition:border-color .2s ease,transform .2s ease;}
a.service-card:hover{border-color:#b9bcc3;transform:translateY(-2px);}
.service-card .icon{width:28px;height:28px;color:var(--silver-3);margin-bottom:22px;}
.service-card h3{margin-bottom:8px;}
.service-card p{font-size:.93rem;margin-bottom:22px;}
.card-link{margin-top:auto;font-weight:600;font-size:.9rem;color:var(--ink);text-decoration:underline;text-decoration-color:transparent;text-underline-offset:4px;transition:text-decoration-color .2s ease;}
a.service-card:hover .card-link{text-decoration-color:currentColor;}
.section-dark .service-card{background:var(--ink-900);border-color:var(--edge);}
.section-dark a.service-card:hover{border-color:#55585f;}
.section-dark .service-card .icon{color:var(--silver-2);}
.section-dark .card-link{color:#e6e7ea;}
.service-card .placeholder-img{min-height:230px;border-radius:0;}

/* problem band */
.problem-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0 32px;margin:8px 0 40px;}
@media(max-width:800px){.problem-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:500px){.problem-grid{grid-template-columns:1fr;}}
.problem-grid li{display:flex;align-items:center;gap:12px;color:#dfe1e5;padding:14px 0;border-bottom:1px solid var(--edge);}
.problem-grid svg{width:16px;height:16px;color:var(--silver-3);}
.problem-cta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px;background:var(--ink-900);border:1px solid var(--edge);border-radius:var(--radius-md);padding:28px 32px;}
.problem-cta .phone-big{font-family:'Archivo',sans-serif;font-stretch:115%;font-size:1.35rem;font-weight:700;color:#fff;}
.problem-cta small{display:block;color:#80838b;margin-top:6px;}
.problem-cta > .btn,.problem-cta .btn{margin-left:0;}

/* why choose */
.why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:40px 32px;}
@media(max-width:900px){.why-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:520px){.why-grid{grid-template-columns:1fr;}}
.why-card svg{width:24px;height:24px;color:var(--silver-3);margin-bottom:14px;}
.why-card h3{font-size:1.02rem;margin-bottom:6px;}
.why-card p{font-size:.92rem;margin:0;}

/* reviews */
.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
@media(max-width:900px){.review-grid{grid-template-columns:1fr !important;}}
.review-card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius-md);padding:30px;display:flex;flex-direction:column;}
.stars{color:var(--ink);letter-spacing:3px;font-size:.9rem;margin-bottom:14px;}
.review-card p{color:var(--ink);font-size:1rem;flex:1;}
.review-who{font-weight:600;font-size:.92rem;}
.review-who small{display:block;font-weight:400;color:var(--ink-faint);}

/* brand logos */
.brand-strip{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:36px 60px;}
.brand-tile{height:48px;display:flex;align-items:center;}
.brand-tile img{height:100%;width:auto;max-width:170px;object-fit:contain;filter:grayscale(1);opacity:.7;transition:filter .25s ease,opacity .25s ease;}
.brand-tile:hover img{filter:none;opacity:1;}
.brand-tile span{font-weight:600;color:var(--ink-soft);}

/* landlord, about, areas */
.landlord-band{background:var(--paper);}
.landlord-inner,.about-split,.two-col{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;}
@media(max-width:850px){.landlord-inner,.about-split,.two-col{grid-template-columns:1fr;gap:36px;}}
.landlord-list,.about-points{margin:6px 0 28px;}
.landlord-list li,.about-points li{display:flex;align-items:center;gap:12px;padding:8px 0;color:var(--ink-soft);}
.landlord-list svg,.about-points svg{width:15px;height:15px;color:var(--ink);}
.areas-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;}
@media(max-width:800px){.areas-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:520px){.areas-grid{grid-template-columns:1fr;}}
.area-tile{display:flex;align-items:center;gap:10px;background:var(--white);border:1px solid var(--line);border-radius:var(--radius-sm);padding:18px 20px;font-weight:600;color:var(--ink);transition:border-color .2s ease;}
a.area-tile:hover{border-color:#b9bcc3;}
.area-tile.tier3{background:transparent;font-weight:500;color:var(--ink-soft);}
.area-tile svg{width:15px;height:15px;color:var(--silver-3);}

/* FAQ */
.faq-list{max-width:780px;border-top:1px solid var(--line);}
.faq-item{border-bottom:1px solid var(--line);}
.faq-q{width:100%;display:flex;justify-content:space-between;align-items:center;gap:16px;background:none;border:none;padding:20px 0;text-align:left;cursor:pointer;font:600 1.02rem 'Public Sans',sans-serif;color:var(--ink);}
.faq-q svg{width:16px;height:16px;color:var(--ink-faint);transition:transform .2s ease;}
.faq-item.open .faq-q svg{transform:rotate(45deg);}
.faq-a{max-height:0;overflow:hidden;transition:max-height .25s ease;}
.faq-item.open .faq-a{max-height:420px;}
.faq-a p{padding:0 0 20px;margin:0;}

/* inner page hero */
.page-hero{padding:64px 0 60px;}
.breadcrumb{font-size:.85rem;color:#6f727a;margin-bottom:22px;}
.breadcrumb a:hover{color:#fff;}
.page-cta-row{margin-top:28px;}

/* steps */
.next-steps{counter-reset:step;display:grid;grid-template-columns:repeat(5,1fr);gap:12px;}
@media(max-width:900px){.next-steps{grid-template-columns:1fr 1fr;}}
@media(max-width:520px){.next-steps{grid-template-columns:1fr;}}
.step{background:var(--white);border:1px solid var(--line);border-radius:var(--radius-md);padding:22px;}
.step .n{counter-increment:step;font-family:'Archivo',sans-serif;font-stretch:115%;font-weight:700;font-size:1.5rem;color:var(--ink);}
.step .n::before{content:counter(step);}
.step p{font-size:.92rem;margin:6px 0 0;}

/* final CTA */
.final-cta{text-align:center;border-top:1px solid var(--edge);}
.final-cta .lede{margin:0 auto 28px;}
.final-cta .hero-ctas{justify-content:center;margin-top:24px;}

/* forms */
.form-card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius-md);padding:32px;color:var(--ink);}
.bg-navy .form-card h3,.form-card h3{color:var(--ink);}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px;}
@media(max-width:560px){.form-grid{grid-template-columns:1fr;}}
.field{display:flex;flex-direction:column;gap:6px;margin-bottom:16px;}
.field.full{grid-column:1/-1;}
.field label{font-weight:600;font-size:.86rem;color:var(--ink);}
.field input,.field select,.field textarea{border:1px solid var(--line);border-radius:var(--radius-sm);padding:12px 14px;font:inherit;font-size:.95rem;background:#fafafb;color:var(--ink);}
.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--ink);outline-offset:1px;}
.field-hint{font-size:.8rem;color:var(--ink-faint);}
.form-card .btn-primary{background:var(--ink);color:#fff;box-shadow:none;filter:none;}
.form-card .btn-primary:hover{background:#2a2a30;}

/* contact */
.contact-split{display:grid;grid-template-columns:1fr 1fr;gap:48px;}
@media(max-width:850px){.contact-split{grid-template-columns:1fr;}}
.info-list li{display:flex;align-items:center;gap:16px;padding:16px 0;border-bottom:1px solid var(--line);}
.info-list svg{width:22px;height:22px;color:var(--silver-3);}
.info-list strong{display:block;color:var(--ink);}
.info-list span{color:var(--ink-faint);font-size:.9rem;}
.bg-navy .info-list li{border-color:var(--edge);}
.bg-navy .info-list strong{color:#fff;}
.bg-navy .info-list span{color:#80838b;}
.map-frame{border-radius:var(--radius-md);overflow:hidden;aspect-ratio:16/10;}

/* footer */
.site-footer{background:var(--black);color:#a9acb4;padding:72px 0 28px;border-top:1px solid var(--edge);}
.footer-grid{display:grid;grid-template-columns:1.5fr repeat(5,1fr);gap:32px;margin-bottom:48px;}
@media(max-width:1000px){.footer-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:520px){.footer-grid{grid-template-columns:1fr;}}
.footer-grid h4{font-family:'Public Sans',sans-serif;font-stretch:100%;font-size:.9rem;font-weight:600;letter-spacing:0;color:#fff;margin-bottom:14px;}
.footer-grid a,.footer-grid p,.footer-grid li{color:#8f929a;font-size:.9rem;}
.footer-grid li{margin-bottom:9px;}
.footer-grid a:hover{color:#fff;}
.footer-brand img{height:52px;width:auto;margin-bottom:16px;}
.footer-gassafe{display:flex;align-items:center;gap:14px;margin-top:20px;color:#c9ccd2;font-size:.86rem;line-height:1.35;}
.footer-bottom{border-top:1px solid var(--edge);padding-top:22px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;font-size:.82rem;color:#6f727a;}
.footer-bottom a:hover{color:#fff;}

/* misc */
.bg-paper-dim{background:var(--paper);}
.tag-row{display:flex;flex-wrap:wrap;gap:10px;margin:8px 0;}
.tag-row span{background:var(--white);border:1px solid var(--line);border-radius:999px;padding:8px 16px;font-size:.88rem;color:var(--ink-soft);}
.skip-link{position:absolute;left:-999px;top:0;background:#fff;padding:10px 16px;z-index:200;}
.skip-link:focus{left:16px;top:16px;}
:focus-visible{outline:2px solid var(--silver-2);outline-offset:3px;}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important;}}
.footer-gassafe{gap:18px;font-size:1rem;margin-top:24px;}
.footer-gassafe span{font-family:'Archivo',sans-serif;font-stretch:110%;font-weight:600;color:#e6e7ea;}

/* mega menu v2 */
.mega-inner{grid-template-columns:repeat(3,minmax(0,1fr)) minmax(0,1.15fr);gap:40px;}
.mega-col a{padding:12px 0;}
.mega-col a strong{display:block;font-weight:600;color:#eef0f2;}
.mega-col a span{display:block;font-size:.83rem;color:#7d8089;margin-top:2px;}
.mega-col a:hover strong{color:#fff;text-decoration:underline;text-underline-offset:4px;}
.mega-card{background:linear-gradient(160deg,#1a1a1e,#111114);border:1px solid var(--edge);border-radius:var(--radius-md);padding:24px;display:flex;flex-direction:column;gap:10px;}
.mega-card h4{color:#fff;font-size:1.2rem;margin:0;}
.mega-card p{color:#9a9da5;font-size:.88rem;margin:0 0 6px;}
/* proof points: no ticks, two columns, hairline rules */
.proof-list{display:grid;grid-template-columns:1fr 1fr;gap:0 32px;margin:10px 0 32px;}
.proof-list li{display:block;padding:16px 0;border-top:1px solid var(--line);}
.proof-list li:last-child{grid-column:1/-1;}
.proof-list strong{display:block;color:var(--ink);font-weight:600;margin-bottom:2px;}
.proof-list span{display:block;color:var(--ink-faint);font-size:.92rem;}
@media(max-width:520px){.proof-list{grid-template-columns:1fr;}}
/* recent work carousel */
.carousel-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:32px;}
.carousel-head .lede{margin:0;}
.carousel-nav{display:flex;gap:8px;}
.car-btn{width:46px;height:46px;border-radius:50%;border:1px solid #c9cbd0;background:var(--white);color:var(--ink);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:border-color .2s ease,background .2s ease;}
.car-btn:hover{border-color:var(--ink);}
.car-btn svg{width:18px;height:18px;}
.car-btn[data-dir="-1"] svg{transform:rotate(90deg);}
.car-btn[data-dir="1"] svg{transform:rotate(-90deg);}
.job-track{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding-bottom:6px;scrollbar-width:none;-webkit-overflow-scrolling:touch;}
.job-track::-webkit-scrollbar{display:none;}
.job-slide{flex:0 0 calc((100% - 32px)/3);scroll-snap-align:start;margin:0;}
.job-slide .placeholder-img{min-height:0;aspect-ratio:4/5;}
.job-slide img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:var(--radius-md);}
.job-slide figcaption{padding:14px 2px 0;}
.job-slide figcaption strong{display:block;color:var(--ink);font-weight:600;}
.job-slide figcaption span{font-size:.88rem;color:var(--ink-faint);}
@media(max-width:900px){.job-slide{flex-basis:calc((100% - 16px)/2);}}
@media(max-width:560px){.job-slide{flex-basis:82%;}.carousel-nav{display:none;}}
/* review slots, map */
.review-card.pending{background:transparent;border-style:dashed;border-color:#c9cbd0;}
.review-card.pending p{color:var(--ink-faint);}
.map-frame iframe{display:block;}
p.center .btn + .btn{margin-left:10px;}
@media(max-width:560px){p.center .btn + .btn{margin:10px 0 0;}}
.hero-media img{width:100%;height:100%;object-fit:cover;}
.what-photo{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius-md);}

/* ---- overflow + spacing fixes ---- */
/* grid columns may shrink below their content (stops images forcing the page wider) */
.hero .wrap{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);}
.two-col,.landlord-inner,.about-split,.contact-split{grid-template-columns:minmax(0,1fr) minmax(0,1fr);}
@media(max-width:900px){.hero .wrap{grid-template-columns:minmax(0,1fr);}}
@media(max-width:850px){.two-col,.landlord-inner,.about-split,.contact-split{grid-template-columns:minmax(0,1fr);}}
.hero-media{min-width:0;}
.hero-media img{max-width:100%;}
/* hero: one layer of padding, not two */
.hero{padding:0;}
.hero .wrap{padding-top:44px;padding-bottom:64px;}
@media(max-width:900px){.hero .wrap{padding-top:28px;}}
/* header: let the nav shrink, tighten links, collapse earlier on laptops */
.header-bar > *{min-width:0;}
.primary-nav{flex:1 1 auto;display:flex;justify-content:center;}
.nav-link{padding:26px 10px;}
@media(max-width:1360px){.header-phone{display:none;}}
@media(max-width:1180px){.primary-nav{display:none;}.menu-toggle{display:block;}}
/* safety net: nothing can ever cause sideways scrolling */
html,body{overflow-x:clip;}

/* ---- recent work carousel v2 ---- */
.job-track{gap:20px;padding-bottom:4px;}
.job-slide{flex:0 0 calc((100% - 40px) / 2.35);min-width:0;}          /* two and a bit: shows there is more */
.job-slide img,.job-slide .placeholder-img{display:block;width:100%;height:auto !important;aspect-ratio:4/3;object-fit:cover;object-position:center;border-radius:var(--radius-md);background:#e2e3e7;}
.job-slide figcaption{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:14px 2px 0;}
.job-slide figcaption strong{font-size:1rem;}
.job-slide figcaption span{text-align:right;}
@media(max-width:900px){.job-slide{flex-basis:calc((100% - 20px) / 1.6);}}
@media(max-width:560px){.job-slide{flex-basis:86%;}.job-slide figcaption{display:block;}.job-slide figcaption span{text-align:left;display:block;margin-top:2px;}}

/* ---- recent work v3: uncropped filmstrip. Same height, natural width, whole photo visible ---- */
.job-track{gap:20px;align-items:flex-start;}
.job-slide{flex:0 0 auto;width:min-content;display:flex;flex-direction:column;}
.job-slide img{height:min(440px,62vw) !important;width:auto !important;max-width:none;aspect-ratio:auto;object-fit:contain;border-radius:var(--radius-md);background:none;}
.job-slide figcaption{display:block;padding:14px 2px 0;}
.job-slide figcaption strong{display:block;font-size:1rem;}
.job-slide figcaption span{display:block;text-align:left;margin-top:2px;}
@media(max-width:560px){.job-slide img{height:min(300px,58vw) !important;}}

/* photos in two-column sections: show the whole image, never crop */
.what-photo{aspect-ratio:auto !important;height:auto !important;width:100%;object-fit:contain;}
/* click-to-load map */
.map-consent{display:flex;align-items:center;justify-content:center;text-align:center;background:var(--paper);border:1px solid var(--line);padding:24px;}
.map-consent p{font-size:.85rem;color:var(--ink-faint);margin:14px auto 0;max-width:320px;}
/* policy pages */
.policy{max-width:760px;}
.policy h2{font-size:1.35rem;margin:36px 0 10px;}
.policy h2:first-child{margin-top:0;}
.policy a{text-decoration:underline;}
.policy-updated{margin-top:40px;font-size:.88rem;color:var(--ink-faint);}
.hero-media img{object-position:center 38%;}
