/* AXIS Building Group — shared stylesheet (CMS-ready). All pages load this single file. */

:root{
  --brand-color-primary:#0B0B0B;
  --brand-color-secondary:#606060;
  --bg-cream:#F4F4F2;
  --bg-stone:#E7E7E3;
  --bg-charcoal:#2F2F2F;
  --text-muted:#3A3A36;
  --text-faint:#6B6B67;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:#fff;color:var(--brand-color-primary);font-family:Montserrat,"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased;text-wrap:pretty;overflow-x:hidden}
h1,h2,h3,h4,p,ul,ol,figure,blockquote{margin:0}
h5{margin:0;line-height:1.3}
ul,ol{padding:0;list-style:none}
img,svg{display:block;max-width:100%}
button,input,select,textarea{font:inherit;color:inherit;border-radius:0}
a{color:var(--brand-color-primary);text-decoration:none;transition:color .18s ease,opacity .18s ease}
a:hover{color:#5A5A54}
:focus-visible{outline:2px solid var(--brand-color-primary);outline-offset:3px}
::selection{background:var(--brand-color-primary);color:#fff}
*{border-radius:0 !important}
.h2-display{font-family:Unbounded,Montserrat,sans-serif;font-weight:500;letter-spacing:-.015em;line-height:1.16}
.eyebrow{font-size:11px;font-weight:700;letter-spacing:.24em;text-transform:uppercase}
.eyebrow-rule{display:flex;align-items:center;gap:16px;margin-bottom:28px}
.eyebrow-rule .rule{display:block;width:44px;height:2px;background:var(--brand-color-primary)}
.eyebrow-rule .eyebrow{margin:0}
.eyebrow-light{font-size:11px;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:#A6A6A0;margin-bottom:20px}
.h2-light{font-family:Unbounded,Montserrat,sans-serif;font-size:clamp(26px,3vw,40px);font-weight:500;line-height:1.15;letter-spacing:-.015em;margin-bottom:24px;color:#fff}
.section{padding:clamp(72px,8vw,124px) clamp(20px,4vw,52px)}
.section-flush-top{padding-top:0}
.wrap{max-width:1440px;margin:0 auto}
.wrap-narrow{max-width:1180px;margin:0 auto}
.wrap-quote{max-width:1000px;margin:0 auto}

/* buttons */
.btn{display:inline-block;padding:20px 36px;font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;transition:background .2s ease,color .2s ease,border-color .2s ease;border:1.5px solid transparent;cursor:pointer;text-align:center}
.btn-light{background:#fff;color:var(--brand-color-primary);border-color:#fff}
.btn-light:hover{background:transparent;color:#fff}
.btn-outline-light{display:inline-flex;align-items:center;gap:12px;background:transparent;color:#fff;border-color:rgba(255,255,255,.7)}
.btn-outline-light:hover{background:#fff;color:var(--brand-color-primary)}
.btn-dark{background:var(--brand-color-primary);color:#fff;border-color:var(--brand-color-primary);padding:19px 34px}
.btn-dark:hover{background:transparent;color:var(--brand-color-primary)}
.btn-nav{align-self:center;display:flex;align-items:center;justify-content:center;padding:14px 24px;background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.7)}
.site-header.is-scrolled .btn-nav{background:var(--brand-color-primary);color:#fff;border-color:var(--brand-color-primary)}
.btn-nav:hover{background:#fff !important;color:var(--brand-color-primary) !important;border-color:#fff !important}
.text-link{font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;border-bottom:2px solid var(--brand-color-primary);padding-bottom:6px;display:inline-block}
.cta-row{display:flex;flex-wrap:wrap;gap:14px}
.cta-row.center{justify-content:center}

/* header / nav */
.site-header{position:fixed;top:0;left:0;right:0;z-index:900;background:transparent;border-bottom:1px solid rgba(255,255,255,.22);transition:background .28s ease,border-color .28s ease,color .28s ease;color:#fff}
.site-header.is-scrolled{background:#fff;border-bottom-color:#E2E2DE;color:var(--brand-color-primary)}
.navbar{height:86px;display:flex;align-items:center;justify-content:space-between;gap:28px;padding:0 clamp(16px,3.2vw,52px)}
.logo-link{position:relative;display:flex;align-items:center;flex:0 0 auto}
.logo{width:150px;height:auto;transition:opacity .28s ease}
.logo-light{position:absolute;inset:0;width:100%;height:auto;opacity:1;pointer-events:none}
.logo-dark{opacity:0}
.site-header.is-scrolled .logo-dark{opacity:1}
.site-header.is-scrolled .logo-light{opacity:0}
.nav-desktop{display:flex;align-items:stretch;align-self:stretch;gap:clamp(14px,1.9vw,32px);color:inherit}
.nav-desktop>*{flex:0 0 auto;white-space:nowrap}
.nav-link{position:relative;display:flex;align-items:center;border-top:3px solid transparent;color:inherit;font-size:13px;font-weight:600;letter-spacing:.13em;text-transform:uppercase;opacity:.82;transition:border-color .2s ease}
.nav-link:hover,.nav-link.is-active{border-top-color:currentColor;opacity:1}
.dropdown-toggle-wrap{position:relative;display:flex;align-items:center;border-top:3px solid transparent;transition:border-color .2s ease}
.dropdown-toggle-wrap:hover,.dropdown-toggle-wrap.is-active{border-top-color:currentColor}
.dropdown-toggle{display:flex;align-items:center;gap:8px;background:none;border:0;padding:0;cursor:pointer;color:inherit;font-size:13px;font-weight:600;letter-spacing:.13em;text-transform:uppercase;opacity:.82}
.dropdown-toggle-wrap:hover .dropdown-toggle,.dropdown-toggle-wrap.is-active .dropdown-toggle{opacity:1}
.dropdown-caret{display:block;width:7px;height:7px;border-right:1.6px solid currentColor;border-bottom:1.6px solid currentColor;transform:rotate(45deg) translateY(-2px)}
.dropdown-menu{position:absolute;top:100%;left:-20px;padding-top:18px;min-width:250px;display:none}
.dropdown-toggle-wrap:hover .dropdown-menu,.dropdown-toggle-wrap.is-open .dropdown-menu{display:block}
.dropdown-menu-inner{background:var(--brand-color-primary);padding:10px 0;box-shadow:0 22px 44px rgba(0,0,0,.24)}
.dropdown-item{display:block;padding:13px 26px;color:#fff;font-size:13px;font-weight:500;letter-spacing:.09em;text-transform:uppercase}
.dropdown-item:hover{background:#1F1F1D;color:#fff}
.nav-divider{align-self:center;width:1px;height:22px;background:currentColor;opacity:.22}
.nav-phone{align-self:center;display:flex;align-items:center;gap:9px;color:inherit;font-size:16px;font-weight:700}
.nav-compact{display:none;align-items:center;gap:6px;color:inherit}
.icon-btn{display:flex;align-items:center;justify-content:center;width:48px;height:48px;color:inherit}
.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:6px;width:48px;height:48px;padding:0 10px;background:none;border:0;cursor:pointer;color:inherit}
.menu-toggle span{display:block;height:2px;width:100%;background:currentColor}

.mobile-menu{position:fixed;inset:0;z-index:1000;background:var(--brand-color-primary);display:none;flex-direction:column;overflow:auto}
.mobile-menu.is-open{display:flex}
.mobile-menu-top{height:66px;display:flex;align-items:center;justify-content:space-between;padding:0 16px 0 clamp(16px,3.2vw,52px);border-bottom:1px solid rgba(255,255,255,.14)}
.mobile-menu-top .logo{width:150px}
.menu-close{display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:none;border:0;cursor:pointer;color:#fff;font-size:30px;line-height:1;font-weight:300}
.mobile-nav{display:flex;flex-direction:column;padding:14px 0 0}
.mobile-nav a{padding:22px clamp(16px,3.2vw,52px);color:#fff;font-family:Unbounded,Montserrat,sans-serif;font-size:23px;font-weight:500;border-bottom:1px solid rgba(255,255,255,.1)}
.mobile-menu-bottom{display:flex;flex-direction:column;gap:16px;padding:34px clamp(16px,3.2vw,52px) 44px;margin-top:auto}
.mobile-phone{display:flex;align-items:center;gap:12px;color:#fff;font-size:22px;font-weight:700}
.mobile-cta{width:100%}
.mobile-address{color:#8A8A84;font-size:12px;letter-spacing:.05em;margin:0}

/* hero */
.hero{position:relative;min-height:min(82vh,820px);display:flex;align-items:flex-end;overflow:hidden;background:#1A1A18}
.hero.hero-tall{min-height:min(94vh,940px);align-items:center}
.hero-media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(#0b0b0bd9 0%,#0b0b0bb3 42%)}
.hero-content{position:relative;width:100%;max-width:1440px;margin:0 auto;padding:150px clamp(20px,4vw,52px) clamp(64px,7vw,104px);color:#fff}
.hero-content.center{max-width:1000px;text-align:center;padding-top:120px;padding-bottom:130px}
.hero-eyebrow{font-size:11px;font-weight:700;letter-spacing:.28em;text-transform:uppercase;color:rgba(255,255,255,.82);margin-bottom:24px}
.hero h1{font-family:Unbounded,Montserrat,sans-serif;font-size:clamp(30px,4.6vw,62px);font-weight:500;line-height:1.08;letter-spacing:-.02em;margin-bottom:22px;max-width:22ch}
.hero-content.center h1{font-size:clamp(32px,5.1vw,68px);max-width:none;margin-left:auto;margin-right:auto}
.hero p{font-size:clamp(16px,1.3vw,19px);line-height:1.68;color:rgba(255,255,255,.9);max-width:60ch;margin-bottom:38px}
.hero-content.center p{margin-left:auto;margin-right:auto}
.hero-pattern{position:absolute;bottom:0;left:-50px;overflow:hidden;pointer-events:none}
.hero-pattern img{width:min(460px,50vw);height:auto;opacity:.5}

/* intro split */
.split{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(40px,5vw,86px);align-items:center}
.split.reverse{grid-template-columns:.85fr 1.15fr}
.split-copy{padding:90px 0}
.split-copy p{font-size:clamp(16px,1.25vw,19px);line-height:1.78;color:#2A2A26;margin-bottom:24px}
.split-copy p+p{font-size:clamp(15px,1.1vw,17px);color:var(--text-muted)}
.overhang-img{width:100%;height:auto;min-height:calc(100% + 120px);margin-top:-60px;position:relative;z-index:10;object-fit:cover;background:var(--bg-stone)}

/* tiles */
.tiles{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;align-self:stretch;height:100%;gap:clamp(14px,1.6vw,24px);margin-top:-50px}
.tile{position:relative;display:block;background:var(--bg-stone)}
.tile-shift{left:50px}
.tile-media{display:block;overflow:hidden;height:100%;min-height:0}
.tile-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}
.tile:hover .tile-media img{transform:scale(1.045)}
.tile-label{position:absolute;bottom:30px;left:-10px;background:var(--brand-color-primary);color:#fff;padding:14px 34px 14px 20px;font-size:18px;font-weight:700;line-height:1.3;letter-spacing:.03em;clip-path:polygon(0 0,100% 0,calc(100% - 16px) 100%,0 100%)}

/* overlap image + panel block */
.overlap{padding:150px 40px 154px 40px}
.overlap .split{gap:0}
.overlap-img{width:100%;height:calc(100% + 300px);object-fit:cover;background:var(--bg-stone)}
.overlap-panel{background:var(--bg-cream);padding:clamp(38px,4.4vw,72px);margin-left:-14%;width:114%;position:relative}
.overlap-panel .accent-line{position:absolute;top:40px;left:-20px;width:70px;height:5px;background-image:linear-gradient(130deg,var(--brand-color-secondary) 90%,transparent 90%)}
.overlap-panel h2{font-size:clamp(26px,3.1vw,42px);margin-bottom:24px}
.overlap-panel p{font-size:clamp(15px,1.1vw,17px);line-height:1.78;color:var(--text-muted);margin-bottom:18px}
.overlap-panel h3{font-size:clamp(18px,1.5vw,25px);line-height:1.3;font-family:Unbounded,Montserrat,sans-serif;font-weight:500;margin:34px 0 14px}

/* quote frame */
.quote-frame{max-width:1000px;margin:0 auto;position:relative;border:2px solid var(--brand-color-primary);padding:clamp(48px,5vw,74px) clamp(30px,5vw,74px)}
.quote-frame .quote-icon{position:absolute;width:52px;height:auto;background:#fff;padding:0 10px}
.quote-frame .quote-icon.top{top:-22px;left:26px}
.quote-frame .quote-icon.bottom{bottom:-22px;right:26px;transform:rotate(180deg)}
.quote-frame blockquote p{font-family:Unbounded,Montserrat,sans-serif;font-size:clamp(20px,2.5vw,32px);font-weight:400;line-height:1.4;letter-spacing:-.01em;margin-bottom:26px}
.quote-frame footer{font-size:13px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--text-faint)}
.quote-frame h2{font-family:Unbounded,Montserrat,sans-serif;font-size:clamp(20px,2.4vw,30px);font-weight:400;line-height:1.4;letter-spacing:-.01em;margin-bottom:20px}
.quote-frame>p{font-size:clamp(15px,1.1vw,17px);line-height:1.78;color:var(--text-muted);max-width:74ch}

/* dark feature split */
.dark-split{display:grid;grid-template-columns:1fr 1fr;align-items:stretch}
.dark-media{width:100%;height:100%;min-height:520px;object-fit:cover;background:var(--bg-stone)}
.dark-panel{background:var(--bg-charcoal);color:#fff;padding:clamp(44px,5vw,86px) clamp(28px,4.5vw,80px);display:flex;flex-direction:column;justify-content:center;position:relative;z-index:2;margin-top:70px;margin-bottom:-70px}
.dark-panel.panel-left{margin-left:-30px}
.dark-panel.panel-right{margin-right:-30px}
.dark-panel p.lede{color:#A6A6A0;font-size:clamp(15px,1.1vw,17px);line-height:1.75;margin-bottom:18px;max-width:60ch}
.feature-list{display:flex;flex-direction:column;gap:clamp(20px,2.2vw,32px)}
.feature-item{display:grid;grid-template-columns:62px 1fr;gap:22px;align-items:start}
.feature-icon{display:flex;align-items:center;justify-content:center;width:62px;height:62px;border:1px solid #ECEBE8;flex:0 0 auto}
.feature-icon span{display:block;width:34px;height:34px;background:#ECEBE8;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center}
.feature-item h3{font-size:clamp(18px,1.5vw,25px);line-height:1.3;font-weight:700;margin-bottom:5px}
.feature-item p{color:#A6A6A0;font-size:14.5px;line-height:1.65}
.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:24px;margin-top:clamp(32px,3.5vw,48px);padding-top:clamp(28px,3vw,40px);border-top:1px solid #3A3A36}
.stat-grid span{display:block;font-family:Unbounded,Montserrat,sans-serif;font-size:14px;color:#8A8A84;margin-bottom:12px}
.stat-grid strong{display:block;font-family:Unbounded,Montserrat,sans-serif;font-size:15px;font-weight:500;margin-bottom:6px}
.stat-grid em{font-style:normal;font-size:14px;color:#A6A6A0;line-height:1.6;display:block}

/* service area */
.area-tags{display:flex;flex-wrap:wrap;gap:10px}
.area-tags li{border:1px solid #DCDCD7;padding:10px 18px;font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}

/* testimonials */
.testimonials{background:var(--bg-cream);overflow:hidden}
.testimonials .quote-frame{background:transparent}
.testimonials .quote-frame .quote-icon{background:var(--bg-cream)}
.testimonial-body{min-height:200px;display:flex;flex-direction:column;justify-content:center}
.testimonial-body blockquote p{font-family:Montserrat,sans-serif;font-size:clamp(18px,2.05vw,26px);line-height:1.55;font-weight:400;color:var(--brand-color-primary);margin-bottom:28px}
.testimonial-body footer{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 14px;font-size:14px;color:var(--text-faint)}
.testimonial-body cite{font-style:normal;font-size:14px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--brand-color-primary)}
.testimonial-body .sep{width:24px;height:1px;background:#B4B4AE}
.testimonial-dots{display:flex;gap:10px;margin-top:32px;list-style:none}
.testimonial-dots button{flex:1 1 auto;max-width:74px;height:22px;padding:10px 0;background:none;border:0;cursor:pointer}
.testimonial-dots span{display:block;height:2px;width:100%;background:#CFCFC9;transition:background .3s ease}
.testimonial-dots button.is-active span{background:var(--brand-color-primary)}

/* faqs */
.faqs-inner{display:grid;grid-template-columns:.72fr 1.28fr;gap:clamp(34px,4vw,80px);align-items:start}
.faqs-head p.link-note{font-size:15px;line-height:1.72;color:var(--text-faint);max-width:38ch}
.faqs-head h2{font-family:Unbounded,Montserrat,sans-serif;font-size:clamp(26px,3vw,40px);font-weight:500;line-height:1.15;letter-spacing:-.015em;margin-bottom:22px}
.faq-item{border-top:1px solid #DCDCD7}
.faq-item:last-child{border-bottom:1px solid #DCDCD7}
.faq-q{width:100%;display:flex;align-items:flex-start;justify-content:space-between;gap:24px;text-align:left;background:none;border:0;padding:26px 0;cursor:pointer;font-size:clamp(16px,1.3vw,20px);font-weight:600;line-height:1.4;color:var(--brand-color-primary)}
.faq-q:hover{color:#5A5A54}
.faq-sign{flex-shrink:0;font-size:26px;font-weight:300;line-height:1;color:var(--brand-color-primary)}
.faq-answer{display:none;padding:0 0 30px;max-width:74ch}
.faq-item[data-open="true"] .faq-answer{display:block}
.faq-answer p{font-size:clamp(15px,1.1vw,17px);line-height:1.78;color:var(--text-muted)}

/* cta banner */
.cta-banner{position:relative;background:var(--brand-color-primary);color:#fff;overflow:hidden}
.cta-banner-media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none}
.cta-banner-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,11,11,.92) 0%,rgba(11,11,11,.82) 46%,rgba(11,11,11,.55) 100%);pointer-events:none}
.cta-banner-pattern{position:absolute;bottom:0;left:-50px;width:min(460px,50vw);height:auto;opacity:.09;filter:invert(1);pointer-events:none}
.cta-banner-inner{position:relative;max-width:1440px;margin:0 auto;padding:clamp(64px,7vw,110px) clamp(20px,4vw,52px)}
.cta-banner h2{font-family:Unbounded,Montserrat,sans-serif;font-size:clamp(26px,3.2vw,44px);font-weight:500;line-height:1.14;letter-spacing:-.015em;margin-bottom:14px;max-width:60ch}
.cta-banner p{font-size:clamp(15px,1.15vw,18px);color:#A6A6A0;max-width:52ch;margin-bottom:0}
.cta-banner .cta-row{margin-top:clamp(28px,3vw,40px);align-items:center}

/* galleries */
.gallery{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:clamp(140px,15vw,220px);gap:clamp(10px,1.2vw,18px)}
.gallery-item{overflow:hidden;background:var(--bg-stone)}
.gallery-item.big{grid-column:span 2;grid-row:span 2}
.gallery-item.wide{grid-column:span 2}
.gallery-item.tall{grid-row:span 2}
.gallery-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s ease}
.gallery-item:hover img{transform:scale(1.05)}

/* finish-work figures */
.figure-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:clamp(14px,1.6vw,24px)}
.figure-grid img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;background:var(--bg-stone)}
.figure-grid figcaption{margin-top:16px;font-size:14px;font-weight:600;letter-spacing:.1em;text-transform:uppercase}

/* process list */
.process-list{display:flex;flex-direction:column}
.process-row{display:grid;grid-template-columns:88px 1fr;gap:clamp(16px,3vw,48px);padding:clamp(24px,2.6vw,34px) 0;border-top:1px solid #D6D6D0}
.process-list li:last-child{border-bottom:1px solid #D6D6D0}
.process-num{display:flex;align-items:center;justify-content:center;width:64px;height:64px;border:1px solid var(--brand-color-secondary);font-family:Unbounded,Montserrat,sans-serif;font-size:clamp(22px,2.2vw,30px);font-weight:400;color:var(--brand-color-secondary);line-height:1}
.process-row h3{font-size:clamp(18px,1.5vw,25px);line-height:1.3;font-weight:700;margin-bottom:8px}
.process-row p{font-size:clamp(15px,1.05vw,16.5px);line-height:1.75;color:var(--text-muted);max-width:66ch}

/* reno grid */
.reno-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:clamp(14px,1.6vw,24px)}
.reno-grid img{width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;background:var(--bg-stone);margin-bottom:20px}
.reno-grid h5{font-size:19px;font-weight:700;margin-bottom:9px}
.reno-grid p{font-size:15px;line-height:1.72;color:var(--text-muted)}

/* svc grid */
.svc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#DCDCD7;border:1px solid #DCDCD7}
.svc-grid li{background:#fff;padding:clamp(24px,2.4vw,32px)}
.svc-icon{display:flex;align-items:center;justify-content:center;width:60px;height:60px;border:1px solid var(--brand-color-secondary);margin-bottom:18px}
.svc-icon span{display:block;width:32px;height:32px;background:var(--brand-color-secondary);-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center}
.svc-grid h3{font-size:clamp(18px,1.5vw,25px);line-height:1.3;font-weight:700;margin-bottom:8px}
.svc-grid p{font-size:15px;line-height:1.7;color:var(--text-muted)}

/* footer */
.site-footer{background:var(--brand-color-primary);color:#fff;position:relative}
.footer-pattern{position:absolute;top:0;right:0;width:min(420px,45vw);height:auto;opacity:.075;filter:invert(1);pointer-events:none}
.footer-map-grid{position:relative;display:grid;grid-template-columns:1fr 1fr;align-items:stretch}
.footer-map-wrap{position:relative;background:#1A1A18;min-height:520px}
.footer-map-wrap iframe{display:block;position:absolute;inset:0;width:100%;height:100%;border:0;filter:grayscale(1) invert(.92) contrast(.9) brightness(.95)}
.footer-form-col{background:#262626;padding:clamp(56px,6vw,96px) clamp(20px,4vw,52px) clamp(56px,6vw,96px) clamp(36px,4.5vw,72px)}
.footer-form-col h2{font-family:Unbounded,Montserrat,sans-serif;font-size:clamp(28px,3vw,40px);font-weight:500;line-height:1.12;letter-spacing:-.01em;margin-bottom:14px}
.footer-form-col>p{color:#A6A6A0;font-size:15px;max-width:44ch;margin-bottom:30px}
.contact-success{border:1.5px solid #fff;padding:34px 30px;display:none}
.contact-success.is-visible{display:block}
.contact-success p:first-child{font-family:Unbounded,Montserrat,sans-serif;font-size:19px;font-weight:500;margin-bottom:10px}
.contact-success p:last-child{color:#A6A6A0;font-size:14px}
.contact-success a{color:#fff;text-decoration:underline}
.contact-form{display:flex;flex-direction:column;gap:22px}
.contact-form.is-hidden{display:none}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.form-field{display:block}
.form-field span{display:block;font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:#8A8A84;margin-bottom:2px}
.form-field input,.form-field select,.form-field textarea{width:100%;background:transparent;border:0;border-bottom:1.5px solid #3A3A36;color:#fff;padding:10px 0;font-size:16px}
.form-field select{appearance:none}
.form-field select option{color:var(--brand-color-primary)}
.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-bottom-color:#fff;outline:none}
.footer-columns{position:relative;max-width:1440px;margin:0 auto;padding:clamp(48px,5vw,76px) clamp(20px,4vw,52px) 56px}
.footer-grid{display:grid;grid-template-columns:.9fr 1fr .8fr;gap:clamp(40px,5vw,80px);align-items:start}
.footer-logo{width:190px;height:auto}
.footer-heading{font-size:11px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:#8A8A84;padding-bottom:16px;margin-bottom:26px;border-bottom:1px solid #2A2A26}
.footer-address{font-style:normal;display:flex;flex-direction:column;gap:16px;font-size:14.5px;line-height:1.6;color:#C4C4BE}
.footer-address .phone{color:#fff;font-size:20px;font-weight:700}
.footer-address .phone:hover{color:#C4C4BE}
.footer-address a:not(.phone){color:#C4C4BE}
.footer-address a:not(.phone):hover{color:#fff}
.footer-hours{margin-top:16px;font-size:14.5px;line-height:1.6;color:#C4C4BE}
.footer-hours span{color:#8A8A84}
.footer-services{display:flex;flex-direction:column;gap:14px;font-size:15px}
.footer-services a{color:#C4C4BE}
.footer-services a:hover{color:#fff}
.footer-bottom{position:relative;border-top:1px solid #2A2A26}
.footer-bottom-inner{max-width:1440px;margin:0 auto;padding:26px clamp(20px,4vw,52px);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px}
.social-icon{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border:1.5px solid #3A3A36;color:#fff;transition:background .2s ease,border-color .2s ease;order:1}
.social-icon:hover{background:#fff;color:var(--brand-color-primary);border-color:#fff}
.copyright{font-size:12px;color:#7C7C76;letter-spacing:.05em;order:2;margin:0}
.copyright a{color:inherit;font-weight:inherit;text-decoration:none}
.copyright a:hover{color:#fff}

/* ---- desktop nav breakpoint ---- */
@media (max-width:1319px){
  .nav-desktop{display:none !important}
  .nav-compact{display:flex !important}
  .navbar{height:72px !important}
  .logo{width:140px !important}
}

/* ---- tablet & below ---- */
@media (max-width:1024px){
  .navbar{height:66px !important}
  .logo{width:132px !important}
  .split,.faqs-inner,.footer-bottom-inner{grid-template-columns:1fr !important;gap:36px !important}
  .overlap-panel{margin:0 !important;width:100% !important;padding:70px 30px 50px 30px !important}
  .dark-split{grid-template-columns:1fr !important}
  .dark-split .dark-media{min-height:320px !important;max-height:350px !important}
  .dark-split .dark-media.order-first{order:-1 !important}
  .footer-grid{grid-template-columns:1fr !important;gap:44px !important}
  .footer-map-grid{gap:0 !important}
  .footer-form-col{padding:44px clamp(20px,4vw,52px) !important}
  .tiles>a{margin:0 !important}
  .tiles{padding-right:50px !important}
  .split.intro{padding-right:clamp(20px,4vw,52px) !important}
  .dark-panel{margin:-50px 20px 0 20px !important}
  .gallery{grid-template-columns:repeat(2,1fr) !important;grid-auto-rows:34vw !important}
  .hero.section-flush-top-hero{padding-top:0 !important}
  .overlap-img{height:400px !important}
  .overlap .split{gap:0 !important}
  .overlap{padding:0 !important}
  .gallery-item{grid-column:auto !important;grid-row:auto !important}
  .form-row{grid-template-columns:1fr !important}
  .svc-grid{grid-template-columns:repeat(2,1fr) !important}
  .reno-grid{grid-template-columns:repeat(3,1fr) !important}
}

/* ---- mobile ---- */
@media (max-width:700px){
  .hero{min-height:600px !important}
  .logo{width:110px !important}
  .section{padding-top:64px !important;padding-bottom:64px !important}
  .cta-row{flex-direction:column !important;align-items:stretch !important}
  .cta-row>*{width:100% !important;text-align:center !important;justify-content:center !important}
  .tiles{grid-template-columns:1fr !important;grid-template-rows:auto !important}
  .tile-shift.tile-roof{left:0 !important}
  .tile-shift.tile-gc{left:50px !important}
  .tiles>a{max-height:160px !important}
  .tiles>a .tile-label{bottom:15px !important}
  .reno-grid{grid-template-columns:1fr !important}
  .reno-grid article{display:grid !important;grid-template-columns:120px 1fr !important;grid-template-rows:auto auto !important;gap:4px 18px !important;align-content:center !important;align-items:center !important}
  .reno-grid article h5{align-self:end !important}
  .reno-grid article p{align-self:start !important}
  .reno-grid article img{margin-bottom:0 !important;grid-row:1 / span 2 !important;grid-column:1 !important;align-self:start !important}
  .quote-frame{padding:40px 22px !important}
  .footer-map-wrap{min-height:300px !important}
  .svc-grid{grid-template-columns:1fr !important}
  .process-row{grid-template-columns:1fr !important;gap:6px !important}
  .overlap-img{height:300px !important}
  .overlap{padding:0 !important}
  .gallery-section{padding:80px 20px !important}
}
