
/* ============================================================
   BETCHER'S CONSTRUCTION — FROM-SCRATCH DESIGN SYSTEM
   Fresh architecture: v0.6.0
   ============================================================ */
:root{
  --wine:#65002f;--wine-dark:#3f001d;--ink:#161616;--graphite:#292929;
  --stone:#ede9e3;--sand:#f7f4ef;--white:#fff;--muted:#6b6865;
  --line:rgba(22,22,22,.16);--max:1440px;--gutter:clamp(20px,4vw,64px);
  --serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif;
  --shadow:0 30px 80px rgba(20,10,14,.13)
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--sand);color:var(--ink);font-family:var(--sans);line-height:1.55;-webkit-font-smoothing:antialiased}body.menu-open,body.modal-open{overflow:hidden}
a{color:inherit;text-decoration:none}img{display:block;width:100%;height:auto}button,input,select,textarea{font:inherit}.skip-link{position:fixed;left:12px;top:-80px;background:#fff;color:#000;padding:12px 16px;z-index:9999}.skip-link:focus{top:12px}.eyebrow{font-size:.72rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--wine)}.container{width:min(var(--max),100%);margin:auto;padding-inline:var(--gutter)}.rule{border:0;border-top:1px solid var(--line);margin:0}.display{font-family:var(--serif);font-weight:400;line-height:.93;letter-spacing:-.045em}.section-title{font-family:var(--serif);font-size:clamp(2.5rem,5vw,6rem);line-height:.96;font-weight:400;letter-spacing:-.04em;margin:.25em 0}.lede{font-family:var(--serif);font-size:clamp(1.25rem,2vw,2rem);line-height:1.25}.muted{color:var(--muted)}.kicker{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;font-weight:700}.btn{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:52px;padding:0 22px;border:1px solid var(--ink);font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;transition:.25s ease;cursor:pointer;background:transparent}.btn::after{content:'';font-size:1rem}.btn:hover,.btn:focus-visible{background:var(--ink);color:#fff}.btn-wine{background:var(--wine);border-color:var(--wine);color:#fff}.btn-wine:hover,.btn-wine:focus-visible{background:var(--wine-dark)}.btn-light{border-color:#fff;color:#fff}.btn-light:hover{background:#fff;color:var(--ink)}.text-link{display:inline-flex;gap:10px;align-items:center;padding-bottom:4px;border-bottom:1px solid currentColor;font-weight:700;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase}.text-link::after{content:''}.btn::after,.text-link::after,.service-row .arrow,.project-link::after{display:inline-block;flex:0 0 auto;width:1em;height:1em;background-color:currentColor;-webkit-mask:url('../media/icons/arrow-up-right-compact.svg') center/contain no-repeat;mask:url('../media/icons/arrow-up-right-compact.svg') center/contain no-repeat}.project-link{display:inline-flex;align-items:center;gap:.55em}.project-link::after{content:''}

/* Header */
.site-header{position:relative;z-index:100;background:var(--sand);border-bottom:1px solid var(--line)}.header-utility{background:var(--ink);color:#fff}.utility-inner{height:34px;display:flex;align-items:center;justify-content:space-between;font-size:.72rem;letter-spacing:.08em}.utility-inner a{opacity:.9}.header-main{height:94px;display:grid;grid-template-columns:280px 1fr auto;align-items:center;gap:36px}.brand img{width:265px;max-height:62px}.nav-list{display:flex;list-style:none;padding:0;margin:0;justify-content:center;gap:clamp(18px,2.4vw,38px)}.nav-link{position:relative;font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding-block:36px}.nav-link::after{content:'';position:absolute;left:0;right:100%;bottom:27px;height:2px;background:var(--wine);transition:.25s}.nav-link:hover::after,.nav-link.active::after{right:0}.header-actions{display:flex;align-items:center;gap:14px}.menu-toggle{display:none;width:48px;height:48px;border:1px solid var(--ink);background:transparent;position:relative}.menu-toggle span,.menu-toggle::before,.menu-toggle::after{content:'';position:absolute;left:12px;right:12px;height:2px;background:var(--ink);transition:.25s}.menu-toggle::before{top:15px}.menu-toggle span{top:23px}.menu-toggle::after{top:31px}.menu-open .menu-toggle::before{transform:translateY(8px) rotate(45deg)}.menu-open .menu-toggle span{opacity:0}.menu-open .menu-toggle::after{transform:translateY(-8px) rotate(-45deg)}
.mobile-panel{display:none;visibility:hidden}
.mobile-panel ul{list-style:none;margin:0;padding:0}.mobile-panel li{margin:0;padding:0}
.betchers-custom-icon{display:inline-flex;margin-inline:.35em;line-height:1}.betchers-design-preview [data-betchers-key]{cursor:crosshair}.betchers-design-preview .betchers-control-hover{outline:2px dashed #b68a42!important;outline-offset:-3px}.betchers-design-preview .betchers-control-selected{outline:3px solid #65002f!important;outline-offset:-3px}.betchers-design-preview .planner:not(.open),.betchers-design-preview .lightbox:not(.open){pointer-events:none}


/* Home hero */
.home-hero{min-height:760px;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr);background:var(--sand)}.hero-copy{padding:clamp(60px,9vw,130px) var(--gutter) 70px max(var(--gutter),calc((100vw - var(--max))/2 + var(--gutter)));display:flex;flex-direction:column;justify-content:center}.hero-copy h1{font-size:clamp(4.5rem,9vw,10.5rem);margin:.22em 0 .16em}.hero-copy h1 span{display:block}.hero-copy h1 span:nth-child(2){color:var(--wine);margin-left:clamp(0px,6vw,95px)}.hero-intro{max-width:630px;display:grid;grid-template-columns:90px 1fr;gap:25px;margin-top:30px}.hero-intro::before{content:'';height:1px;background:var(--ink);margin-top:14px}.hero-buttons{display:flex;gap:12px;flex-wrap:wrap;margin-top:36px}.hero-visual{position:relative;overflow:hidden;min-height:720px}.hero-visual img{width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.8) contrast(1.03)}.hero-visual::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(0,0,0,.6))}.hero-caption{position:absolute;z-index:2;left:42px;right:42px;bottom:34px;color:#fff;display:flex;justify-content:space-between;align-items:end;border-top:1px solid rgba(255,255,255,.55);padding-top:18px}.hero-caption strong{font-family:var(--serif);font-size:1.4rem;font-weight:400}.hero-index{font-size:.7rem;letter-spacing:.15em;text-transform:uppercase}.scroll-cue{position:absolute;z-index:2;right:22px;top:50%;transform:rotate(90deg) translateY(-50%);transform-origin:right top;color:#fff;font-size:.62rem;letter-spacing:.2em;text-transform:uppercase}

/* Stats ribbon */
.fact-ribbon{background:var(--wine);color:#fff}.facts{display:grid;grid-template-columns:repeat(4,1fr);min-height:155px}.fact{padding:34px clamp(20px,3vw,48px);border-right:1px solid rgba(255,255,255,.25);display:flex;flex-direction:column;justify-content:center}.fact:last-child{border-right:0}.fact strong{font-family:var(--serif);font-weight:400;font-size:clamp(2rem,3vw,3.7rem);line-height:1}.fact span{font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;margin-top:9px;opacity:.85}

/* Section systems */
.section{padding-block:clamp(85px,11vw,165px)}.section-head{display:grid;grid-template-columns:.75fr 1.25fr;gap:clamp(40px,8vw,140px);align-items:start;margin-bottom:clamp(50px,8vw,110px)}.section-head p{max-width:620px}.dark-section{background:var(--ink);color:#fff}.stone-section{background:var(--stone)}

/* Service runway */
.service-runway{border-top:1px solid var(--line)}.service-row{display:grid;grid-template-columns:120px 1.1fr .9fr 52px;gap:30px;align-items:center;min-height:165px;border-bottom:1px solid var(--line);position:relative;overflow:hidden}.service-row .number{font-family:var(--serif);font-size:1.3rem;color:var(--wine)}.service-row h3{font-family:var(--serif);font-size:clamp(2rem,4vw,4.8rem);font-weight:400;letter-spacing:-.04em;margin:0;line-height:1}.service-row p{color:var(--muted);max-width:480px}.service-row .arrow{width:1.6rem;height:1.6rem;font-size:0;transition:transform .25s,color .25s}.service-row:hover .arrow{transform:translate(5px,-5px);color:var(--wine)}.service-row::before{content:'';position:absolute;inset:0;left:-100%;background:rgba(101,0,47,.045);transition:.35s;z-index:-1}.service-row:hover::before{left:0}

/* Project spotlight */
.split-feature{display:grid;grid-template-columns:1.1fr .9fr;min-height:760px}.split-image{position:relative;overflow:hidden}.split-image img{height:100%;object-fit:cover}.split-content{background:var(--wine);color:#fff;padding:clamp(45px,7vw,110px);display:flex;flex-direction:column;justify-content:space-between}.split-content h2{font-size:clamp(3rem,6vw,7rem);margin:.15em 0}.split-data{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:rgba(255,255,255,.28);margin-top:50px}.split-data div{background:var(--wine);padding:18px 0}.split-data span{display:block;font-size:.65rem;letter-spacing:.15em;text-transform:uppercase;opacity:.75}.split-data strong{font-family:var(--serif);font-size:1.4rem;font-weight:400}

/* Project grid */
.project-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:18px}.project-card{position:relative;overflow:hidden;background:#ccc;min-height:360px}.project-card:nth-child(1){grid-column:span 7;min-height:600px}.project-card:nth-child(2){grid-column:span 5}.project-card:nth-child(3){grid-column:span 5}.project-card:nth-child(4){grid-column:span 7;min-height:520px}.project-card img{position:absolute;inset:0;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.2,1)}.project-card::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,rgba(0,0,0,.72))}.project-card:hover img{transform:scale(1.035)}.project-meta{position:absolute;z-index:2;left:26px;right:26px;bottom:24px;color:#fff;display:flex;justify-content:space-between;align-items:end}.project-meta h3{font-family:var(--serif);font-size:clamp(1.7rem,3vw,3.6rem);font-weight:400;margin:0}.project-meta span{font-size:.66rem;letter-spacing:.15em;text-transform:uppercase}

/* Process */
.process-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(255,255,255,.25);border-bottom:1px solid rgba(255,255,255,.25)}.process-step{padding:44px 30px 54px 0;border-right:1px solid rgba(255,255,255,.25);margin-right:30px}.process-step:last-child{border-right:0}.process-step .step-no{font-family:var(--serif);font-size:4rem;color:#b7899f}.process-step h3{font-family:var(--serif);font-weight:400;font-size:1.65rem}.process-step p{color:#b9b5b2;font-size:.92rem}

/* Estimate strip */
.estimate-strip{display:grid;grid-template-columns:.95fr 1.05fr;background:var(--stone);min-height:560px}.estimate-intro{padding:clamp(55px,7vw,110px);border-right:1px solid var(--line)}.estimate-intro h2{font-size:clamp(3rem,6vw,6.5rem);margin:.2em 0}.price-list{display:flex;flex-direction:column;justify-content:center;padding:clamp(45px,7vw,110px)}.price-row{display:flex;justify-content:space-between;gap:30px;align-items:center;padding:24px 0;border-bottom:1px solid var(--line)}.price-row:first-child{border-top:1px solid var(--line)}.price-row span{font-family:var(--serif);font-size:1.4rem}.price-row strong{font-family:var(--serif);font-size:2rem;font-weight:400;color:var(--wine)}

/* CTA */
.big-cta{background:var(--wine);color:#fff}.big-cta-inner{padding-block:clamp(75px,10vw,145px);display:grid;grid-template-columns:1fr auto;gap:50px;align-items:end}.big-cta h2{font-size:clamp(3.8rem,9vw,10rem);margin:0;max-width:1100px}.big-cta h2 span{display:block;margin-left:clamp(0px,8vw,150px)}

/* Footer */
.site-footer{background:#101010;color:#fff}.footer-main{display:grid;grid-template-columns:1.1fr .7fr .7fr;gap:70px;padding-block:80px}.footer-brand img{width:280px;filter:brightness(0) invert(1)}.footer-brand p{max-width:430px;color:#aaa}.footer-col h3{font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:#aaa;margin-bottom:22px}.footer-col a{display:block;padding:7px 0;font-family:var(--serif);font-size:1.15rem}.footer-bottom{border-top:1px solid rgba(255,255,255,.15);padding-block:22px;display:flex;justify-content:space-between;color:#888;font-size:.75rem}

/* Inner page hero */
.page-hero{display:grid;grid-template-columns:.9fr 1.1fr;min-height:640px;border-bottom:1px solid var(--line)}.page-hero-copy{padding:clamp(70px,9vw,140px) var(--gutter) 70px max(var(--gutter),calc((100vw - var(--max))/2 + var(--gutter)));display:flex;flex-direction:column;justify-content:center}.page-hero h1{font-size:clamp(4rem,8vw,9rem);margin:.18em 0}.page-hero-copy p{max-width:580px;font-size:1.05rem}.page-hero-media{position:relative;min-height:600px}.page-hero-media img{height:100%;object-fit:cover}.page-hero-media::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.06),transparent)}.breadcrumb{display:flex;gap:10px;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.breadcrumb span::before{content:'/';margin-right:10px}

/* Services overview */
.service-index{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.service-tile{background:var(--sand);min-height:420px;padding:45px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.service-tile .index{font-family:var(--serif);font-size:1.3rem;color:var(--wine)}.service-tile h2{font-family:var(--serif);font-size:clamp(2.5rem,4vw,5rem);line-height:.95;font-weight:400;margin:.5em 0}.service-tile p{max-width:520px;color:var(--muted)}.service-tile:hover{background:#fff}

/* Detail layouts */
.detail-overview{display:grid;grid-template-columns:.7fr 1.3fr;gap:clamp(50px,9vw,150px);align-items:start}.sticky-label{position:sticky;top:40px}.detail-copy .lede{margin-top:0}.scope-list{margin-top:60px;border-top:1px solid var(--line)}.scope-item{display:grid;grid-template-columns:52px 1fr;gap:20px;padding:23px 0;border-bottom:1px solid var(--line)}.scope-item b{font-family:var(--serif);font-weight:400;color:var(--wine)}.scope-item span{font-size:1.02rem}.data-band{display:grid;grid-template-columns:repeat(4,1fr);background:var(--ink);color:#fff}.data-item{padding:38px;border-right:1px solid rgba(255,255,255,.22)}.data-item:last-child{border:0}.data-item span{display:block;font-size:.65rem;letter-spacing:.15em;text-transform:uppercase;color:#aaa}.data-item strong{font-family:var(--serif);font-size:clamp(1.5rem,2.5vw,2.8rem);font-weight:400}.gallery-header{display:flex;justify-content:space-between;align-items:end;margin-bottom:45px}.gallery-wall{columns:3 300px;column-gap:18px}.gallery-item{break-inside:avoid;margin:1em 40px 18px;position:relative;cursor:zoom-in;overflow:hidden;background:#ddd}.gallery-item img{transition:.5s}.gallery-item:hover img{transform:scale(1.025)}.gallery-item figcaption{position:absolute;left:15px;right:15px;bottom:14px;color:#fff;font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;opacity:0;transition:.25s;z-index:2}.gallery-item::after{content:'';position:absolute;inset:50% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.7));opacity:0;transition:.25s}.gallery-item:hover figcaption,.gallery-item:hover::after{opacity:1}

/* Projects page */
.filter-bar{display:flex;flex-wrap:wrap;gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:45px}.filter-btn{border:0;border-right:1px solid var(--line);background:transparent;padding:16px 22px;font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;cursor:pointer}.filter-btn.active,.filter-btn:hover{background:var(--wine);color:#fff}.project-list{display:grid;grid-template-columns:repeat(2,1fr);gap:45px 18px}.project-list article{transition:.25s}.project-list article.is-hidden{display:none}.project-list .image{aspect-ratio:16/10;overflow:hidden}.project-list img{height:100%;object-fit:cover;transition:.5s}.project-list article:hover img{transform:scale(1.025)}.project-list h2{font-family:var(--serif);font-size:2rem;font-weight:400;margin:16px 0 3px}.project-list p{margin:0;color:var(--muted);font-size:.8rem;letter-spacing:.08em;text-transform:uppercase}

/* About */
.manifesto{font-family:var(--serif);font-size:clamp(2.4rem,5.2vw,6.2rem);line-height:1.03;letter-spacing:-.04em;max-width:1260px;margin:0}.manifesto em{color:var(--wine);font-style:normal}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.about-card{min-height:430px;padding:50px;background:var(--stone);display:flex;flex-direction:column;justify-content:space-between}.about-card.dark{background:var(--ink);color:#fff}.about-card h3{font-family:var(--serif);font-size:3rem;font-weight:400;margin:0}.about-card p{max-width:500px}

/* FAQ */
.faq-layout{display:grid;grid-template-columns:.65fr 1.35fr;gap:clamp(50px,9vw,150px)}.faq-list{border-top:1px solid var(--line)}.faq-item{border-bottom:1px solid var(--line)}.faq-question{width:100%;border:0;background:transparent;text-align:left;padding:28px 50px 28px 0;font-family:var(--serif);font-size:clamp(1.25rem,2vw,1.9rem);position:relative;cursor:pointer}.faq-question::after{content:'+';position:absolute;right:5px;top:27px;font-family:var(--sans);font-weight:300}.faq-item.open .faq-question::after{content:'−'}.faq-answer{display:grid;grid-template-rows:0fr;transition:grid-template-rows .35s}.faq-answer>div{overflow:hidden}.faq-answer p{padding:0 60px 28px 0;margin:0;color:var(--muted)}.faq-item.open .faq-answer{grid-template-rows:1fr}

/* Contact */
.contact-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(50px,9vw,150px)}.contact-info{position:sticky;top:40px}.contact-info h2{font-size:clamp(3rem,5vw,6rem);margin:.2em 0}.contact-detail{padding:22px 0;border-top:1px solid var(--line)}.contact-detail span{display:block;font-size:.66rem;letter-spacing:.15em;text-transform:uppercase;color:var(--muted)}.contact-detail strong{font-family:var(--serif);font-size:1.6rem;font-weight:400}.quote-form{display:grid;grid-template-columns:1fr 1fr;gap:22px}.field{display:flex;flex-direction:column;gap:8px}.field.full{grid-column:1/-1}.field label{font-size:.67rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase}.field input,.field select,.field textarea{width:100%;border:0;border-bottom:1px solid var(--ink);background:transparent;padding:15px 2px;outline:0;border-radius:0}.field textarea{min-height:140px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--wine);box-shadow:0 1px 0 var(--wine)}.form-status{grid-column:1/-1;margin:0;font-size:.9rem;color:var(--wine);min-height:24px}

/* Planner modal */
.planner{position:fixed;inset:0;z-index:500;display:none}.planner.open{display:block}.planner-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.68)}.planner-panel{position:absolute;right:0;top:0;bottom:0;width:min(680px,100%);background:var(--sand);padding:clamp(30px,6vw,70px);overflow:auto;animation:slideIn .35s ease}.planner-close{position:absolute;right:22px;top:22px;width:44px;height:44px;border:1px solid var(--ink);background:transparent;font-size:1.4rem;cursor:pointer}.planner-panel h2{font-size:clamp(3rem,6vw,6rem);margin:.3em 0}.planner-options{display:grid;gap:12px;margin:34px 0}.planner-option{border:1px solid var(--line);padding:18px;display:flex;align-items:center;justify-content:space-between;cursor:pointer;background:#fff}.planner-option:has(input:checked){border-color:var(--wine);box-shadow:inset 4px 0 var(--wine)}.planner-option input{accent-color:var(--wine)}.estimate-total{border-top:1px solid var(--line);padding-top:25px;display:flex;justify-content:space-between;align-items:end}.estimate-total strong{font-family:var(--serif);font-size:3rem;font-weight:400;color:var(--wine)}

/* Lightbox */
.lightbox{display:none;position:fixed;inset:0;z-index:600;background:rgba(0,0,0,.93);padding:5vw}.lightbox.open{display:grid;place-items:center}.lightbox img{max-height:84vh;max-width:90vw;width:auto}.lightbox-close{position:absolute;right:28px;top:24px;border:1px solid #fff;color:#fff;background:transparent;width:48px;height:48px;font-size:1.4rem;cursor:pointer}

/* Reveal */
[data-reveal]{opacity:0;transform:translateY(28px);transition:opacity .8s ease,transform .8s ease}[data-reveal].visible{opacity:1;transform:none}
@keyframes slideIn{from{transform:translateX(100%)}to{transform:none}}

@media (max-width:1100px){
 .header-main{grid-template-columns:230px 1fr auto}.brand img{width:225px}.nav-list{gap:17px}.header-actions .btn{display:none}
 .home-hero{grid-template-columns:1fr 1fr}.hero-copy h1{font-size:clamp(4rem,8vw,7.5rem)}
 .service-row{grid-template-columns:70px 1fr 1fr 35px}.process-grid{grid-template-columns:repeat(2,1fr)}.process-step:nth-child(2){border-right:0}.page-hero{grid-template-columns:1fr 1fr}
}
@media (max-width:860px){
 .utility-inner span:first-child{display:none}.header-main{height:78px;grid-template-columns:1fr auto}.brand img{width:220px}.desktop-nav{display:none}.menu-toggle{display:block}.mobile-panel{position:fixed;z-index:90;top:112px;right:0;bottom:0;width:min(430px,100%);background:var(--sand);padding:38px;border-left:1px solid var(--line)}.menu-open .mobile-panel{display:block;visibility:visible}.mobile-panel a{display:block;font-family:var(--serif);font-size:2rem;padding:12px 0;border-bottom:1px solid var(--line)}
 .home-hero,.page-hero{grid-template-columns:1fr}.hero-copy{min-height:610px;padding:80px var(--gutter)}.hero-visual{min-height:620px}.page-hero-media{min-height:480px}.page-hero-copy{padding:80px var(--gutter)}
 .facts{grid-template-columns:repeat(2,1fr)}.fact:nth-child(2){border-right:0}.fact:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.25)}
 .section-head,.detail-overview,.faq-layout,.contact-layout{grid-template-columns:1fr;gap:45px}.sticky-label,.contact-info{position:static}.service-row{grid-template-columns:55px 1fr 30px;padding:28px 0}.service-row p{grid-column:2/3}.split-feature,.estimate-strip{grid-template-columns:1fr}.split-image{min-height:620px}.estimate-intro{border-right:0;border-bottom:1px solid var(--line)}.project-grid{display:grid;grid-template-columns:1fr}.project-card,.project-card:nth-child(n){grid-column:1;min-height:470px}.process-grid{grid-template-columns:1fr}.process-step{border-right:0;border-bottom:1px solid rgba(255,255,255,.2);margin-right:0}.service-index,.about-grid{grid-template-columns:1fr}.data-band{grid-template-columns:repeat(2,1fr)}.data-item:nth-child(2){border-right:0}.data-item:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.22)}.footer-main{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}.big-cta-inner{grid-template-columns:1fr;align-items:start}.project-list{grid-template-columns:1fr}
}
@media (max-width:560px){
 .utility-inner{justify-content:center}.header-main{height:72px}.brand img{width:190px}.mobile-panel{top:106px}.hero-copy h1{font-size:4.2rem}.hero-intro{grid-template-columns:1fr}.hero-intro::before{width:70px}.hero-visual{min-height:520px}.hero-caption{left:20px;right:20px}.facts{grid-template-columns:1fr}.fact{border-right:0!important;border-bottom:1px solid rgba(255,255,255,.25)!important;min-height:120px}.fact:last-child{border-bottom:0!important}.section{padding-block:80px}.service-row{grid-template-columns:38px 1fr 26px;gap:12px}.service-row h3{font-size:2.3rem}.split-image{min-height:500px}.project-card,.project-card:nth-child(n){min-height:390px}.price-row{align-items:start}.price-row span{font-size:1.1rem}.price-row strong{font-size:1.5rem}.page-hero h1{font-size:4.2rem}.data-band{grid-template-columns:1fr}.data-item{border-right:0;border-bottom:1px solid rgba(255,255,255,.22)}.gallery-wall{columns:1}.quote-form{grid-template-columns:1fr}.field{grid-column:1/-1}.footer-main{grid-template-columns:1fr;gap:35px}.footer-brand{grid-column:auto}.footer-bottom{flex-direction:column;gap:8px}.big-cta h2 span{margin-left:0}.filter-btn{flex:1 1 50%;border-bottom:1px solid var(--line)}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}[data-reveal]{opacity:1;transform:none}}

/* v0.6.1 HD media upgrade */
img{image-rendering:auto}
.service-tile>*:not(.service-tile-bg){position:relative;z-index:2}
.service-tile-bg{position:absolute;inset:0 0 0 auto;width:48%;height:100%;object-fit:cover;opacity:.12;filter:saturate(.82) contrast(1.02);transition:opacity .35s ease,transform .45s ease;z-index:0;mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.8) 35%,#000 100%);-webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.8) 35%,#000 100%)}
.service-tile::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,var(--sand) 0%,rgba(240,236,227,.94) 47%,rgba(240,236,227,.1) 100%);z-index:1;pointer-events:none}
.service-tile:hover .service-tile-bg{opacity:.28;transform:scale(1.025)}
.service-tile:hover::after{background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.92) 47%,rgba(255,255,255,.06) 100%)}
@media(max-width:620px){.service-tile-bg{width:62%;opacity:.09}.service-tile::after{background:linear-gradient(90deg,var(--sand) 0%,rgba(240,236,227,.95) 66%,rgba(240,236,227,.25) 100%)}}


/* =========================================================
   v0.6.5 — Logo & footer parity with approved visual reference
   ========================================================= */
.brand img{
  width:230px;
  max-height:76px;
  object-fit:contain;
  object-position:left center;
}
.site-footer{
  background:linear-gradient(105deg,#111 0%,#0b0b0b 54%,#161616 100%);
  color:#fff;
  border-top:4px solid var(--wine);
}
.footer-reference-layout{
  display:grid;
  grid-template-columns:minmax(250px,1.15fr) minmax(120px,.58fr) minmax(320px,1.2fr) minmax(225px,.88fr) minmax(205px,.8fr);
  gap:clamp(30px,3.2vw,62px);
  align-items:start;
  padding-block:58px 48px;
}
.footer-reference-brand img{
  width:245px;
  height:auto;
  filter:none;
  margin-bottom:24px;
}
.footer-reference-brand p{
  max-width:285px;
  margin:0 0 24px;
  color:#d4d4d4;
  font-family:var(--sans);
  font-size:.92rem;
  line-height:1.65;
}
.footer-social{
  display:flex;
  align-items:center;
  gap:14px;
}
.footer-social-icon{
  width:26px;
  height:26px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:#fff;
}
.footer-social-icon svg{
  width:21px;
  height:21px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.footer-social-icon:first-child svg{fill:#fff;stroke:none}
.footer-social-icon .filled-dot{fill:#fff;stroke:none}
.footer-col h3{
  margin:6px 0 20px;
  color:#fff;
  font-family:var(--sans);
  font-size:.82rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.footer-col a,
.footer-contact-row{
  color:#dedede;
  font-family:var(--sans);
  font-size:.87rem;
  line-height:1.45;
}
.footer-col a{
  display:block;
  padding:5px 0;
}
.footer-col a:hover{color:#fff}
.footer-services-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(135px,1fr));
  gap:8px 30px;
}
.footer-contact-info{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}
.footer-contact-info h3{width:100%}
.footer-contact-row{
  display:grid!important;
  grid-template-columns:18px 1fr;
  gap:10px;
  align-items:start;
  width:100%;
  padding:5px 0!important;
}
.footer-contact-row svg{
  width:17px;
  height:17px;
  margin-top:2px;
  fill:none;
  stroke:#fff;
  stroke-width:1.55;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.footer-province-block{
  min-height:180px;
  display:grid;
  grid-template-columns:45px 1fr;
  grid-template-rows:auto 1fr auto;
  gap:8px 13px;
  align-items:start;
  padding-top:4px;
}
.alberta-mark{
  grid-row:1 / span 2;
  width:38px;
  color:#fff;
}
.alberta-mark svg{
  width:100%;
  height:auto;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linejoin:round;
}
.footer-province-block strong{
  align-self:center;
  color:#fff;
  font-family:var(--sans);
  font-size:.92rem;
  line-height:1.4;
}
.footer-legal{
  grid-column:1/-1;
  align-self:end;
  color:#aaa;
  font-size:.74rem;
  line-height:1.7;
  padding-top:28px;
}
.footer-bottom{display:none}

@media (max-width:1200px){
  .footer-reference-layout{
    grid-template-columns:1.1fr .65fr 1.25fr .95fr;
  }
  .footer-province-block{
    grid-column:1/-1;
    grid-template-columns:42px 1fr;
    max-width:370px;
    min-height:auto;
    padding-top:14px;
  }
  .footer-legal{padding-top:10px}
}
@media (max-width:900px){
  .brand img{width:215px}
  .footer-reference-layout{
    grid-template-columns:1fr 1fr;
    gap:38px 48px;
  }
  .footer-reference-brand,
  .footer-services{
    grid-column:1/-1;
  }
  .footer-services-grid{grid-template-columns:repeat(2,1fr)}
  .footer-province-block{grid-column:1/-1}
}
@media (max-width:560px){
  .brand img{width:185px}
  .footer-reference-layout{
    grid-template-columns:1fr;
    padding-block:46px 40px;
  }
  .footer-reference-brand,
  .footer-services,
  .footer-province-block{grid-column:auto}
  .footer-services-grid{grid-template-columns:1fr}
  .footer-reference-brand img{width:225px}
}


/* v0.6.6 — user-supplied header logo, footer logo, and Alberta map */
.brand img{width:245px;max-height:82px;object-fit:contain;object-position:left center}
.footer-reference-brand img{width:255px;height:auto;filter:none;object-fit:contain}
.alberta-mark{width:40px;color:#fff}
.alberta-mark img{display:block;width:100%;height:auto;object-fit:contain}


/* =========================================================
   v0.6.7 — compact wide footer matching approved reference
   ========================================================= */
.site-footer-compact{
  background:linear-gradient(100deg,#111 0%,#0b0b0b 58%,#151515 100%);
  border-top:0;
  color:#fff;
}
.footer-wide{
  width:100%;
  max-width:none;
  margin:0 auto;
  padding:28px clamp(18px,2.35vw,42px) 24px;
}
.footer-compact-grid{
  display:grid;
  grid-template-columns:minmax(270px,1.3fr) minmax(88px,.46fr) minmax(255px,1.1fr) minmax(125px,.58fr) minmax(218px,.92fr) minmax(218px,.96fr);
  gap:clamp(20px,2.1vw,38px);
  align-items:start;
}
.footer-brand-unit{
  display:grid;
  grid-template-columns:142px minmax(120px,1fr);
  gap:22px;
  align-items:start;
}
.footer-logo-cell img{
  width:132px;
  height:auto;
  object-fit:contain;
  margin:0;
}
.footer-brand-copy p{
  margin:5px 0 15px;
  max-width:190px;
  color:#d5d5d5;
  font-family:var(--sans);
  font-size:.69rem;
  line-height:1.55;
}
.site-footer-compact .footer-social{gap:12px}
.site-footer-compact .footer-social-icon{width:18px;height:18px}
.site-footer-compact .footer-social-icon svg{width:16px;height:16px;stroke-width:1.6}
.site-footer-compact .footer-col h3{
  margin:1px 0 11px;
  color:#f6f6f6;
  font-family:var(--sans);
  font-size:.68rem;
  font-weight:700;
  letter-spacing:.05em;
  text-transform:uppercase;
}
.site-footer-compact .footer-col a,
.site-footer-compact .footer-contact-row{
  color:#d7d7d7;
  font-family:var(--sans);
  font-size:.67rem;
  line-height:1.32;
}
.site-footer-compact .footer-col a{
  display:block;
  padding:3px 0;
}
.site-footer-compact .footer-services-grid{
  display:grid;
  grid-template-columns:minmax(115px,1fr) minmax(125px,1fr);
  gap:0 24px;
}
.site-footer-compact .footer-contact-info{display:flex;flex-direction:column;align-items:flex-start}
.site-footer-compact .footer-contact-row{
  display:grid!important;
  grid-template-columns:14px 1fr;
  gap:7px;
  align-items:center;
  width:100%;
  padding:3px 0!important;
}
.site-footer-compact .footer-contact-row svg{
  width:13px;
  height:13px;
  margin:0;
  fill:none;
  stroke:#fff;
  stroke-width:1.5;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.site-footer-compact .footer-province-block{
  min-height:98px;
  display:grid;
  grid-template-columns:34px 1fr;
  grid-template-rows:auto 1fr auto;
  gap:5px 9px;
  align-items:start;
  padding:0;
}
.site-footer-compact .alberta-mark{
  grid-row:1 / span 2;
  width:30px;
}
.site-footer-compact .alberta-mark img{width:100%;height:auto;object-fit:contain}
.site-footer-compact .footer-province-block strong{
  align-self:center;
  color:#fff;
  font-family:var(--sans);
  font-size:.69rem;
  font-weight:600;
  line-height:1.35;
  white-space:nowrap;
}
.site-footer-compact .footer-legal{
  grid-column:2;
  align-self:end;
  color:#aaa;
  font-size:.61rem;
  line-height:1.65;
  padding:10px 0 0;
}

/* Legal pages */
.legal-hero{
  padding:clamp(88px,10vw,150px) var(--gutter) clamp(60px,7vw,100px);
  background:linear-gradient(115deg,#161616 0%,#2a151f 100%);
  color:#fff;
}
.legal-hero .container{padding-inline:0}
.legal-hero h1{font-size:clamp(4rem,8vw,8.8rem);margin:.16em 0 .12em}
.legal-hero p{max-width:720px;color:#d7d1d4;font-size:1.02rem}
.legal-content{padding-block:clamp(70px,9vw,125px)}
.legal-layout{display:grid;grid-template-columns:minmax(190px,.38fr) minmax(0,1fr);gap:clamp(45px,8vw,130px);align-items:start}
.legal-sidebar{position:sticky;top:36px}
.legal-sidebar p{color:var(--muted);font-size:.86rem}
.legal-article{max-width:860px}
.legal-article section{padding:0 0 34px;margin:0 0 34px;border-bottom:1px solid var(--line)}
.legal-article section:last-child{border-bottom:0}
.legal-article h2{font-family:var(--serif);font-size:clamp(1.8rem,3vw,3rem);font-weight:400;margin:0 0 14px}
.legal-article h3{font-size:1rem;margin:22px 0 8px}
.legal-article p,.legal-article li{color:#4f4c49;font-size:.95rem}
.legal-article ul{padding-left:20px}

@media (max-width:1250px){
  .footer-compact-grid{
    grid-template-columns:minmax(270px,1.25fr) minmax(95px,.5fr) minmax(250px,1.15fr) minmax(125px,.58fr) minmax(210px,.9fr);
  }
  .site-footer-compact .footer-province-block{grid-column:1/-1;max-width:340px;margin-top:5px}
}
@media (max-width:930px){
  .footer-wide{padding:38px var(--gutter) 30px}
  .footer-compact-grid{grid-template-columns:1fr 1fr;gap:34px 44px}
  .footer-brand-unit,.footer-services{grid-column:1/-1}
  .footer-brand-unit{grid-template-columns:145px 1fr;max-width:430px}
  .site-footer-compact .footer-province-block{grid-column:1/-1}
  .legal-layout{grid-template-columns:1fr}
  .legal-sidebar{position:static}
}

/* Prevent min-content grid items and the fixed-width brand from widening very small phones. */
@media (max-width:360px){
  html,body{overflow-x:clip}
  .header-main{grid-template-columns:minmax(0,1fr) 48px;gap:12px}
  .brand{min-width:0}.brand img{width:min(190px,100%)}
  .page-hero,.estimate-strip,.about-grid{grid-template-columns:minmax(0,1fr)}
  .page-hero-copy,.page-hero-media,.estimate-intro,.price-list,.about-card{min-width:0}
}
@media (max-width:560px){
  .footer-compact-grid{grid-template-columns:1fr;gap:28px}
  .footer-brand-unit,.footer-services{grid-column:auto}
  .footer-brand-unit{grid-template-columns:120px 1fr;gap:18px}
  .footer-logo-cell img{width:112px}
  .site-footer-compact .footer-services-grid{grid-template-columns:1fr}
  .site-footer-compact .footer-province-block{grid-column:auto}
}


/* =========================================================
   v0.6.8 — balanced footer height, readability & map alignment
   ========================================================= */
@media (min-width:931px){
  .site-footer-compact .footer-wide{
    padding:46px clamp(26px,3vw,54px) 42px;
  }
  .site-footer-compact .footer-compact-grid{
    grid-template-columns:
      minmax(300px,1.25fr)
      minmax(95px,.45fr)
      minmax(270px,1.1fr)
      minmax(145px,.62fr)
      minmax(215px,.9fr)
      minmax(230px,.95fr);
    gap:clamp(26px,2.35vw,46px);
    align-items:start;
  }
  .site-footer-compact .footer-brand-unit{
    grid-template-columns:150px minmax(135px,1fr);
    gap:26px;
    align-items:start;
  }
  .site-footer-compact .footer-logo-cell img{
    width:145px;
  }
  .site-footer-compact .footer-brand-copy p{
    margin:4px 0 19px;
    max-width:205px;
    font-size:.78rem;
    line-height:1.62;
  }
  .site-footer-compact .footer-social{
    gap:14px;
  }
  .site-footer-compact .footer-social-icon{
    width:21px;
    height:21px;
  }
  .site-footer-compact .footer-social-icon svg{
    width:18px;
    height:18px;
  }
  .site-footer-compact .footer-col h3{
    margin:2px 0 15px;
    font-size:.76rem;
    letter-spacing:.055em;
  }
  .site-footer-compact .footer-col a,
  .site-footer-compact .footer-contact-row{
    font-size:.76rem;
    line-height:1.48;
  }
  .site-footer-compact .footer-col a{
    padding:4px 0;
  }
  .site-footer-compact .footer-services-grid{
    grid-template-columns:minmax(125px,1fr) minmax(135px,1fr);
    gap:0 28px;
  }
  .site-footer-compact .footer-contact-row{
    grid-template-columns:16px 1fr;
    gap:9px;
    padding:4px 0!important;
  }
  .site-footer-compact .footer-contact-row svg{
    width:15px;
    height:15px;
  }
  .site-footer-compact .footer-province-block{
    min-height:122px;
    display:grid;
    grid-template-columns:40px minmax(0,1fr);
    grid-template-rows:auto auto;
    column-gap:12px;
    row-gap:20px;
    align-content:start;
    align-items:center;
    padding-top:0;
  }
  .site-footer-compact .alberta-mark{
    grid-column:1;
    grid-row:1;
    width:36px;
    align-self:center;
  }
  .site-footer-compact .footer-province-block strong{
    grid-column:2;
    grid-row:1;
    align-self:center;
    font-size:.78rem;
    line-height:1.45;
    white-space:normal;
  }
  .site-footer-compact .footer-legal{
    grid-column:2;
    grid-row:2;
    align-self:start;
    padding:0;
    font-size:.67rem;
    line-height:1.7;
  }
}

@media (min-width:931px) and (max-width:1250px){
  .site-footer-compact .footer-wide{
    padding-block:44px 38px;
  }
  .site-footer-compact .footer-province-block{
    grid-column:1/-1;
    max-width:390px;
    margin-top:8px;
  }
}

@media (max-width:930px){
  .site-footer-compact .footer-wide{
    padding:48px var(--gutter) 42px;
  }
  .site-footer-compact .footer-col h3{
    margin-bottom:14px;
    font-size:.76rem;
  }
  .site-footer-compact .footer-col a,
  .site-footer-compact .footer-contact-row{
    font-size:.76rem;
    line-height:1.5;
  }
  .site-footer-compact .footer-brand-copy p{
    font-size:.78rem;
    line-height:1.6;
  }
  .site-footer-compact .footer-province-block{
    display:grid;
    grid-template-columns:40px 1fr;
    grid-template-rows:auto auto;
    column-gap:12px;
    row-gap:18px;
    align-items:center;
    max-width:410px;
  }
  .site-footer-compact .alberta-mark{
    grid-column:1;
    grid-row:1;
    width:36px;
    align-self:center;
  }
  .site-footer-compact .footer-province-block strong{
    grid-column:2;
    grid-row:1;
    align-self:center;
    font-size:.78rem;
    white-space:normal;
  }
  .site-footer-compact .footer-legal{
    grid-column:2;
    grid-row:2;
    padding:0;
    font-size:.67rem;
  }
}


/* v0.6.8 final override — applies the balanced desktop footer directly */
.site-footer-compact .footer-wide{
  min-height:210px;
  padding:46px clamp(26px,3vw,54px) 42px;
}
.site-footer-compact .footer-compact-grid{
  grid-template-columns:minmax(300px,1.25fr) minmax(95px,.45fr) minmax(270px,1.1fr) minmax(145px,.62fr) minmax(215px,.9fr) minmax(230px,.95fr);
  gap:clamp(26px,2.35vw,46px);
  align-items:start;
}
.site-footer-compact .footer-brand-unit{
  grid-template-columns:150px minmax(135px,1fr);
  gap:26px;
}
.site-footer-compact .footer-logo-cell img{width:145px}
.site-footer-compact .footer-brand-copy p{margin:4px 0 19px;max-width:205px;font-size:.78rem;line-height:1.62}
.site-footer-compact .footer-social{gap:14px}
.site-footer-compact .footer-social-icon{width:21px;height:21px}
.site-footer-compact .footer-social-icon svg{width:18px;height:18px}
.site-footer-compact .footer-col h3{margin:2px 0 15px;font-size:.76rem;letter-spacing:.055em}
.site-footer-compact .footer-col a,
.site-footer-compact .footer-contact-row{font-size:.76rem;line-height:1.48}
.site-footer-compact .footer-col a{padding:4px 0}
.site-footer-compact .footer-services-grid{grid-template-columns:minmax(125px,1fr) minmax(135px,1fr);gap:0 28px}
.site-footer-compact .footer-contact-row{grid-template-columns:16px 1fr;gap:9px;padding:4px 0!important}
.site-footer-compact .footer-contact-row svg{width:15px;height:15px}
.site-footer-compact .footer-province-block{
  min-height:124px;
  display:grid;
  grid-template-columns:40px minmax(0,1fr);
  grid-template-rows:64px auto;
  column-gap:12px;
  row-gap:18px;
  align-content:start;
  padding:0;
}
.site-footer-compact .alberta-mark{grid-column:1;grid-row:1;width:36px;align-self:center}
.site-footer-compact .footer-province-block strong{grid-column:2;grid-row:1;align-self:center;font-size:.78rem;line-height:1.45;white-space:normal}
.site-footer-compact .footer-legal{grid-column:2;grid-row:2;align-self:start;padding:0;font-size:.67rem;line-height:1.7}

@media (max-width:1250px){
  .site-footer-compact .footer-compact-grid{
    grid-template-columns:minmax(270px,1.25fr) minmax(95px,.5fr) minmax(250px,1.15fr) minmax(125px,.58fr) minmax(210px,.9fr);
  }
  .site-footer-compact .footer-province-block{grid-column:1/-1;max-width:390px;margin-top:8px}
}
@media (max-width:930px){
  .site-footer-compact .footer-wide{min-height:0;padding:48px var(--gutter) 42px}
  .site-footer-compact .footer-compact-grid{grid-template-columns:1fr 1fr;gap:38px 48px}
  .site-footer-compact .footer-brand-unit,.site-footer-compact .footer-services{grid-column:1/-1}
  .site-footer-compact .footer-brand-unit{grid-template-columns:145px 1fr;max-width:460px}
  .site-footer-compact .footer-province-block{grid-column:1/-1;max-width:410px}
}
@media (max-width:560px){
  .site-footer-compact .footer-compact-grid{grid-template-columns:1fr;gap:30px}
  .site-footer-compact .footer-brand-unit,.site-footer-compact .footer-services,.site-footer-compact .footer-province-block{grid-column:auto}
  .site-footer-compact .footer-brand-unit{grid-template-columns:120px 1fr;gap:18px}
  .site-footer-compact .footer-logo-cell img{width:112px}
  .site-footer-compact .footer-services-grid{grid-template-columns:1fr}
}


/* =========================================================
   v0.6.9 — footer brand stack and unified Services list
   ========================================================= */
@media (min-width:931px){
  .site-footer-compact .footer-wide{
    min-height:238px;
    padding:48px clamp(30px,3.2vw,58px) 44px;
  }
  .site-footer-compact .footer-compact-grid{
    grid-template-columns:minmax(210px,.92fr) minmax(105px,.48fr) minmax(190px,.82fr) minmax(155px,.66fr) minmax(220px,.9fr) minmax(230px,.94fr);
    gap:clamp(30px,2.7vw,54px);
    align-items:start;
  }
  .site-footer-compact .footer-brand-unit{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:0;
    max-width:225px;
  }
  .site-footer-compact .footer-logo-cell{
    width:100%;
  }
  .site-footer-compact .footer-logo-cell img{
    width:155px;
    margin:0 0 18px;
  }
  .site-footer-compact .footer-brand-copy{
    width:100%;
  }
  .site-footer-compact .footer-brand-copy p{
    max-width:220px;
    margin:0 0 17px;
    font-size:.76rem;
    line-height:1.62;
  }
  .site-footer-compact .footer-services-grid{
    display:block;
  }
  .site-footer-compact .footer-services-grid > div{
    display:block;
  }
  .site-footer-compact .footer-services-grid > div + div{
    margin-top:0;
  }
  .site-footer-compact .footer-services{
    min-width:190px;
  }
}

@media (min-width:931px) and (max-width:1250px){
  .site-footer-compact .footer-compact-grid{
    grid-template-columns:minmax(210px,1fr) minmax(105px,.55fr) minmax(190px,.85fr) minmax(150px,.7fr) minmax(215px,.95fr);
  }
  .site-footer-compact .footer-province-block{
    grid-column:1/-1;
    max-width:410px;
    margin-top:12px;
  }
}

@media (max-width:930px){
  .site-footer-compact .footer-brand-unit{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    max-width:300px;
  }
  .site-footer-compact .footer-logo-cell img{
    width:150px;
    margin-bottom:18px;
  }
  .site-footer-compact .footer-brand-copy p{
    max-width:260px;
    margin:0 0 17px;
  }
  .site-footer-compact .footer-services-grid{
    display:block;
  }
}


/* v0.6.9 robust markup override */
.site-footer-compact .footer-brand-unit{
  display:block!important;
}
.site-footer-compact .footer-logo-cell{
  display:block;
}
.site-footer-compact .footer-logo-cell .footer-brand-copy{
  display:block;
  width:100%;
}
.site-footer-compact .footer-services-grid{
  display:flex!important;
  flex-direction:column;
  align-items:flex-start;
  gap:0!important;
}
.site-footer-compact .footer-services-grid > a{
  display:block;
  width:100%;
}

/* Keep desktop active-link typography and underline out of the mobile drawer. */
@media (max-width:930px){
  .mobile-panel .nav-link{
    font-weight:400;
    letter-spacing:0;
    text-transform:none;
  }
  .mobile-panel .nav-link::after{
    content:none;
    display:none;
  }
}

/* Keep CookieAdmin consent active without its persistent floating re-consent icon. */
.cookieadmin_re_consent{
  display:none!important;
}

/* Keep the square brand mark inside the shorter tablet/mobile header row. */
@media (max-width:860px){
  .header-main .brand{display:flex;min-width:0;align-self:stretch;align-items:center}
  .header-main .brand img{
    width:62px;
    height:62px;
    max-width:100%;
    max-height:62px;
    object-fit:contain;
  }
}
@media (max-width:560px){
  .header-main .brand img{width:56px;height:56px;max-height:56px}
}
