:root{--blue:#00a1dc;--carbon:#0b0d0f;--graphite:#181c20;--concrete:#e7e7e4;--paper:#f7f7f5;--white:#fff;--ink:#111315;--muted:#686e72;--line:rgba(17,19,21,.16)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,Arial,sans-serif;font-size:16px;line-height:1.6;overflow-x:hidden}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button{font:inherit}.skip-link{position:fixed;left:1rem;top:-5rem;background:var(--blue);color:#fff;padding:.75rem 1rem;z-index:100}.skip-link:focus{top:1rem}.site-header{height:92px;display:grid;grid-template-columns:200px 1fr auto;align-items:center;gap:2rem;padding:0 4vw;position:absolute;inset:0 0 auto;z-index:20;color:#fff;border-bottom:1px solid rgba(255,255,255,.16)}.brand{width:180px;height:64px;display:flex;align-items:center}.brand img{width:100%;filter:brightness(0) invert(1);opacity:.96}.site-header nav{display:flex;justify-content:center;gap:clamp(1rem,2.1vw,2.5rem)}.site-header nav a{text-transform:uppercase;font-size:.78rem;letter-spacing:.1em;font-weight:700}.menu-toggle{display:none}.button{display:inline-flex;align-items:center;justify-content:center;gap:1rem;min-height:54px;padding:.9rem 1.35rem;background:var(--blue);color:#fff;text-transform:uppercase;letter-spacing:.08em;font-weight:800;font-size:.78rem;border:1px solid var(--blue);transition:.2s ease}.button:hover,.button:focus-visible{background:#18b8f1;transform:translateY(-2px)}.button-small{min-height:45px;padding:.65rem 1rem}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:.76rem;font-weight:800;color:var(--blue);margin:0 0 1rem}.hero{min-height:850px;background:var(--carbon);color:#fff;display:grid;grid-template-columns:minmax(0,56%) minmax(0,44%);position:relative}.hero-copy{padding:clamp(9rem,14vw,13rem) clamp(2rem,8vw,9rem) 4rem 6vw;display:flex;flex-direction:column;justify-content:center}.hero h1,.section h2,.transformation h2,.systems h2,.service-area h2,.quote h2{font-family:"Barlow Condensed",Impact,sans-serif;text-transform:uppercase;font-weight:800;letter-spacing:-.035em;line-height:.84;margin:.25rem 0;font-size:clamp(4.3rem,8vw,8.6rem)}.hero h1 span{color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.62)}.hero-intro{max-width:690px;color:#c8cccf;font-size:clamp(1rem,1.3vw,1.2rem);line-height:1.75;margin:2rem 0}.hero-actions{display:flex;align-items:center;gap:2rem}.text-link{display:inline-flex;align-items:center;gap:.7rem;text-transform:uppercase;letter-spacing:.1em;font-size:.78rem;font-weight:800;border-bottom:1px solid rgba(255,255,255,.4);padding-bottom:.45rem}.hero-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;max-width:700px;margin-top:auto;padding-top:4rem}.hero-facts div{border-top:1px solid rgba(255,255,255,.2);padding-top:1rem}.hero-facts strong{display:block;font-family:"Barlow Condensed";font-size:2.2rem;color:var(--blue);line-height:1}.hero-facts span{display:block;text-transform:uppercase;letter-spacing:.1em;font-size:.68rem;color:#aeb4b8;margin-top:.5rem}.hero-image{background:linear-gradient(180deg,rgba(11,13,15,.15),rgba(11,13,15,.05) 55%,rgba(11,13,15,.8)),url("assets/island-deck.webp") center/cover;position:relative}.hero-tag{position:absolute;left:2rem;bottom:2rem;border-left:3px solid var(--blue);padding:.5rem 0 .5rem 1rem}.hero-tag span,.hero-tag strong{display:block}.hero-tag span{text-transform:uppercase;letter-spacing:.14em;font-size:.7rem;color:#bec4c7}.hero-tag strong{font-family:"Barlow Condensed";font-size:1.45rem;text-transform:uppercase}.phone-rail{position:absolute;right:0;top:40%;writing-mode:vertical-rl;transform:rotate(180deg);background:var(--blue);padding:1.1rem .8rem;text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;font-weight:800}.phone-rail span{color:var(--carbon);margin-bottom:.8rem}.intro-band{min-height:74px;background:var(--blue);display:flex;align-items:center;justify-content:center;gap:2.4rem;padding:1rem 3vw;overflow:hidden}.intro-band p{margin:0;text-transform:uppercase;letter-spacing:.12em;font-weight:800;font-size:.72rem;white-space:nowrap}.intro-band span{width:4px;height:4px;border-radius:50%;background:var(--carbon);opacity:.55}.section{padding:clamp(5rem,10vw,10rem) 6vw}.section-heading{display:grid;grid-template-columns:1.1fr 1fr;gap:4vw;align-items:end;margin-bottom:5rem}.section-heading .eyebrow{grid-column:1/-1;margin-bottom:-1rem}.section-heading h2{font-size:clamp(3.6rem,7vw,7.2rem)}.section-heading>p:last-child{max-width:580px;color:var(--muted);font-size:1.07rem;margin:0 0 .6rem}.service-grid{display:grid;grid-template-columns:1.25fr .85fr;grid-template-rows:auto auto;gap:1rem}.service-card{min-height:480px;background:#fff;position:relative;overflow:hidden;display:grid;grid-template-rows:1fr auto}.service-primary{grid-row:1/3;min-height:760px}.service-dark{background:var(--graphite);color:#fff;display:grid;grid-template-columns:1.2fr .8fr;grid-template-rows:auto}.service-photo{min-height:290px;background:center/cover}.photo-residential{background-image:url("assets/garage-finished.webp")}.photo-commercial{background-image:url("assets/coffee-shop.webp")}.service-copy{padding:2rem;position:relative}.service-copy>span{position:absolute;right:2rem;top:2rem;color:var(--blue);font-family:"Barlow Condensed";font-weight:700;font-size:1.4rem}.service-copy>p:first-of-type{text-transform:uppercase;letter-spacing:.15em;color:var(--blue);font-size:.68rem;font-weight:800}.service-copy h3{font-family:"Barlow Condensed";font-size:3rem;text-transform:uppercase;line-height:1;margin:.3rem 0}.service-copy p{color:var(--muted);max-width:460px}.service-dark .service-copy p{color:#b6bdc0}.service-copy a{text-transform:uppercase;letter-spacing:.1em;font-size:.72rem;font-weight:800;border-bottom:1px solid var(--line);padding-bottom:.35rem}.system-list{border-left:1px solid rgba(255,255,255,.15);display:flex;flex-direction:column;justify-content:center;padding:2rem;gap:1rem}.system-list span{font-family:"Barlow Condensed";font-size:1.5rem;text-transform:uppercase;color:#bcc1c4}.transformation{background:var(--carbon);color:#fff;padding:clamp(5rem,9vw,9rem) 6vw}.transformation-head{display:grid;grid-template-columns:1.2fr .8fr;gap:5vw;align-items:end;margin-bottom:3rem}.transformation h2{font-size:clamp(4rem,8vw,8rem)}.transformation-head>p{color:#aeb4b8;max-width:520px}.compare{height:min(72vw,760px);min-height:420px;position:relative;overflow:hidden;background:#222}.compare img{width:100%;height:100%;object-fit:cover;object-position:center}.compare-after{position:absolute;inset:0}.compare-before{position:absolute;inset:0;width:50%;overflow:hidden;border-right:2px solid #fff}.compare-before img{width:calc(100vw - 12vw);max-width:none}.compare input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;z-index:5}.compare-line{position:absolute;left:50%;top:0;bottom:0;width:2px;background:#fff;transform:translateX(-1px);pointer-events:none}.compare-line span{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--ink);font-weight:800;font-size:1.2rem;box-shadow:0 5px 28px rgba(0,0,0,.25)}.compare-label{position:absolute;top:1.5rem;z-index:2;background:rgba(11,13,15,.75);padding:.55rem .75rem;text-transform:uppercase;letter-spacing:.14em;font-size:.7rem;font-weight:800}.before-label{left:1.5rem}.after-label{right:1.5rem}.transformation-note{display:flex;justify-content:space-between;gap:2rem;border-bottom:1px solid rgba(255,255,255,.17);padding:1.4rem 0}.transformation-note strong{text-transform:uppercase;letter-spacing:.1em;font-size:.75rem}.transformation-note span{color:#8f969a}.process{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(3rem,7vw,8rem);align-items:center}.process-photo{height:850px;position:relative;background:var(--concrete);overflow:hidden}.process-photo img{width:100%;height:100%;object-fit:cover}.process-stamp{position:absolute;right:-1px;bottom:-1px;width:180px;height:180px;background:var(--blue);display:flex;flex-direction:column;align-items:center;justify-content:center;text-transform:uppercase;transform:rotate(-3deg)}.process-stamp strong{font-family:"Barlow Condensed";font-size:2rem}.process-stamp span{font-size:.75rem;letter-spacing:.14em}.process h2{font-size:clamp(4rem,6.5vw,7rem)}.lead{font-size:1.1rem;color:#52585c;line-height:1.8}.steps{list-style:none;margin:2.2rem 0 0;padding:0;border-top:1px solid var(--line)}.steps li{display:grid;grid-template-columns:60px 1fr;gap:1rem;padding:1rem 0;border-bottom:1px solid var(--line)}.steps li>span{color:var(--blue);font-family:"Barlow Condensed";font-weight:700;font-size:1.35rem}.steps strong{text-transform:uppercase;font-size:.85rem;letter-spacing:.08em}.steps p{display:inline;margin-left:1rem;color:var(--muted)}.compact{grid-template-columns:1fr auto}.compact .eyebrow{margin-bottom:-1rem}.compact h2{font-size:clamp(4rem,7vw,7rem)}.project-grid{display:grid;grid-template-columns:1.4fr 1fr;grid-template-rows:1fr 1fr;gap:1rem;min-height:860px}.project{position:relative;overflow:hidden}.project-large{grid-row:1/3}.project img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}.project:hover img{transform:scale(1.025)}.project:after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.78))}.project>div{position:absolute;left:2rem;right:2rem;bottom:2rem;z-index:2;color:#fff}.project p{font-size:.68rem;text-transform:uppercase;letter-spacing:.14em;color:#c8ced1}.project h3{font-family:"Barlow Condensed";text-transform:uppercase;font-size:2.5rem;line-height:1;margin:.3rem 0}.project span{font-size:.85rem}.systems{background:var(--graphite);color:#fff;padding:clamp(5rem,10vw,10rem) 6vw;display:grid;grid-template-columns:.8fr 1.2fr;gap:7vw}.systems-title{position:sticky;top:2rem;align-self:start}.systems-title h2{font-size:clamp(4rem,6vw,7rem)}.systems-title>p:last-child{color:#aeb4b8;max-width:500px}.systems-list article{display:grid;grid-template-columns:60px 1fr 1fr;gap:2rem;align-items:start;padding:2rem 0;border-top:1px solid rgba(255,255,255,.16)}.systems-list article:last-child{border-bottom:1px solid rgba(255,255,255,.16)}.systems-list span{color:var(--blue);font-family:"Barlow Condensed";font-size:1.4rem}.systems-list h3{font-family:"Barlow Condensed";font-size:2rem;text-transform:uppercase;line-height:1;margin:0}.systems-list p{color:#9da4a8;margin:0}.about{display:grid;grid-template-columns:.85fr 1.15fr;gap:8vw;align-items:center}.about-mark{min-height:570px;background:var(--concrete);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;position:relative;overflow:hidden}.about-mark:before{content:"EF";position:absolute;left:-2rem;bottom:-6rem;font-family:"Barlow Condensed";font-weight:800;font-size:24rem;color:rgba(255,255,255,.55);line-height:1}.about-mark img{width:min(470px,95%);position:relative}.about-mark span{position:relative;margin-top:2rem;text-transform:uppercase;letter-spacing:.16em;font-size:.72rem;text-align:center;font-weight:800}.about h2{font-size:clamp(4rem,6vw,7rem)}.about-copy>p:not(.eyebrow){max-width:680px}.dark-link{border-color:rgba(17,19,21,.4);margin-top:1.5rem}.service-area{background:var(--carbon);color:#fff;padding:clamp(6rem,11vw,11rem) 6vw;position:relative;overflow:hidden;display:grid;grid-template-columns:1.3fr .7fr;gap:7vw}.island-word{position:absolute;right:-3vw;bottom:-8vw;font-family:"Barlow Condensed";font-weight:800;font-size:26vw;line-height:.75;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.06)}.area-copy,.area-list{position:relative}.service-area h2{font-size:clamp(4rem,7vw,7.6rem)}.service-area h2 span{color:var(--blue)}.area-copy>p:not(.eyebrow){color:#adb4b7;max-width:760px;margin:2rem 0}.area-list{align-self:end;display:grid;grid-template-columns:40px 1fr}.area-list span,.area-list strong{padding:1rem 0;border-top:1px solid rgba(255,255,255,.16)}.area-list span{color:var(--blue);font-family:"Barlow Condensed";font-size:1.3rem}.area-list strong{text-transform:uppercase;letter-spacing:.06em}.quote{display:grid;grid-template-columns:1fr 1fr;min-height:670px;background:var(--blue)}.quote-photo{background:url("assets/garage-dark.webp") center/cover}.quote-copy{padding:6vw;display:flex;flex-direction:column;justify-content:center}.quote-copy .eyebrow{color:var(--carbon)}.quote h2{font-size:clamp(5rem,8vw,8rem)}.quote-copy>p:not(.eyebrow){max-width:560px}.quote-actions{display:flex;align-items:center;gap:2rem;margin-top:2rem}.quote .button{background:var(--carbon);border-color:var(--carbon)}.quote-actions>a:last-child{font-family:"Barlow Condensed";font-size:1.5rem;font-weight:700}footer{background:#060708;color:#fff;padding:5rem 6vw 2rem;display:grid;grid-template-columns:2fr repeat(3,1fr);gap:4vw}.footer-brand img{width:220px;filter:brightness(0) invert(1);margin-bottom:1.5rem}.footer-brand p{color:#8f969a;max-width:400px}.footer-label{text-transform:uppercase;letter-spacing:.14em;font-size:.7rem;color:var(--blue);font-weight:800;margin:0 0 1.2rem}footer>div:not(.footer-brand):not(.footer-bottom){display:flex;flex-direction:column;gap:.55rem}footer a,footer span{font-size:.86rem;color:#b9bec1}.footer-bottom{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.13);margin-top:3rem;padding-top:1.5rem;display:flex;justify-content:space-between}
@media(max-width:1000px){.site-header{grid-template-columns:170px 1fr auto}.site-header nav{display:none;position:absolute;top:92px;left:0;right:0;background:var(--carbon);padding:2rem 4vw;flex-direction:column}.site-header nav.open{display:flex}.menu-toggle{display:block;justify-self:end;border:0;background:transparent;width:42px;height:42px}.menu-toggle span{display:block;height:2px;background:#fff;margin:8px}.site-header>.button{display:none}.hero{grid-template-columns:1fr;min-height:auto}.hero-copy{min-height:760px;padding-right:6vw}.hero-image{min-height:620px}.phone-rail{display:none}.service-grid{grid-template-columns:1fr 1fr}.service-primary{grid-column:1/-1;grid-row:auto;min-height:650px}.service-dark{display:block}.system-list{display:none}.process{grid-template-columns:1fr}.process-photo{height:600px}.systems{grid-template-columns:1fr}.systems-title{position:static}.about{grid-template-columns:1fr}.service-area{grid-template-columns:1fr}.area-list{max-width:700px}.quote{grid-template-columns:1fr}.quote-photo{min-height:500px}footer{grid-template-columns:2fr 1fr 1fr}.footer-brand{grid-column:1/-1}}
@media(max-width:680px){.site-header{height:76px;padding:0 1rem;grid-template-columns:135px 1fr}.brand{width:135px;height:55px}.site-header nav{top:76px}.hero-copy{min-height:690px;padding:8.5rem 1.25rem 2rem}.hero h1{font-size:clamp(3.5rem,16vw,5.1rem)}.hero-intro{font-size:1rem}.hero-actions{align-items:flex-start;flex-direction:column;gap:1.2rem}.hero-facts{gap:.7rem}.hero-facts strong{font-size:1.8rem}.hero-facts span{font-size:.58rem}.hero-image{min-height:520px}.intro-band{justify-content:flex-start;overflow-x:auto}.section,.transformation,.systems,.service-area{padding:5rem 1.25rem}.section-heading,.transformation-head{grid-template-columns:1fr;margin-bottom:2.5rem}.section-heading .eyebrow{margin-bottom:0}.section h2,.transformation h2,.systems h2,.service-area h2{font-size:3.7rem}.service-grid{display:block}.service-card{margin-bottom:1rem;min-height:540px}.service-dark{min-height:auto}.compare{height:520px}.compare-before img{width:calc(100vw - 2.5rem)}.transformation-note{display:block}.transformation-note span{display:block;margin-top:.5rem}.process-photo{height:520px}.process-stamp{width:130px;height:130px}.process-stamp strong{font-size:1.5rem}.steps p{display:block;margin:0}.compact{display:block}.compact .eyebrow{margin-bottom:1rem}.project-grid{display:block;min-height:0}.project{height:430px;margin-bottom:1rem}.systems-list article{grid-template-columns:45px 1fr;gap:1rem}.systems-list article p{grid-column:2}.about-mark{min-height:430px}.service-area{padding-top:6rem;padding-bottom:6rem}.quote-photo{min-height:420px}.quote-copy{padding:5rem 1.25rem}.quote h2{font-size:5rem}.quote-actions{align-items:flex-start;flex-direction:column}.quote-actions>a:last-child{font-size:1.3rem}footer{grid-template-columns:1fr 1fr;padding:4rem 1.25rem 2rem}footer>div:last-of-type:not(.footer-bottom){grid-column:1/-1}.footer-bottom{display:block}.footer-bottom>*{display:block;margin:.4rem 0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Revised header + hero: lighter, calmer and project-led */
.site-header{position:fixed;transition:background .25s ease,color .25s ease,box-shadow .25s ease;border-bottom-color:rgba(255,255,255,.28)}
.site-header .brand{background:rgba(255,255,255,.94);padding:.25rem .6rem;border-radius:2px}
.site-header .brand img{filter:none;opacity:1}
.site-header.scrolled{background:rgba(255,255,255,.97);color:var(--ink);box-shadow:0 8px 30px rgba(0,0,0,.08);border-bottom-color:rgba(17,19,21,.1)}
.site-header.scrolled .brand{background:transparent}
.site-header.scrolled .menu-toggle span{background:var(--ink)}
.hero{min-height:900px;display:block;background:linear-gradient(90deg,rgba(8,11,13,.76) 0%,rgba(8,11,13,.54) 38%,rgba(8,11,13,.08) 72%),linear-gradient(0deg,rgba(8,11,13,.48),transparent 48%),url("assets/garage-finished.webp") center 58%/cover no-repeat;position:relative}
.hero-copy{min-height:790px;width:min(820px,64vw);padding:clamp(10rem,16vw,14rem) 2rem 8rem 7vw;justify-content:center}
.hero h1{font-size:clamp(4.2rem,7.3vw,7.5rem);letter-spacing:-.025em;line-height:.9}
.hero h1 span{color:#fff;-webkit-text-stroke:0}
.hero-intro{max-width:650px;color:#eef0f1;font-size:1.05rem;line-height:1.7;margin:1.7rem 0 2rem}
.hero-badges{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.45rem}.canadian-badge{display:inline-flex;align-items:center;gap:.42rem;width:max-content;border:1px solid rgba(255,255,255,.34);padding:.42rem .68rem;background:rgba(8,11,13,.42);color:#fff;text-transform:uppercase;letter-spacing:.09em;font-size:.64rem;font-weight:900;line-height:1}.canadian-badge b{font-size:.9rem;line-height:1}.footer-canadian{color:#fff!important;font-size:.74rem!important;font-weight:800!important;letter-spacing:.08em;text-transform:uppercase}.about-page .canadian-badge{border-color:rgba(0,161,220,.48);background:rgba(0,161,220,.08);color:#203036}
.hero-facts{position:absolute;left:7vw;bottom:2rem;display:grid;grid-template-columns:repeat(3,minmax(135px,190px));gap:1.4rem;max-width:none;margin:0;padding:0;z-index:2;color:#fff}
.hero-facts div{border-top:1px solid rgba(255,255,255,.52);padding-top:.8rem}
.hero-facts strong{font-size:1.8rem}
.hero-tag{left:auto;right:3.5rem;bottom:2rem;background:rgba(247,247,245,.94);color:var(--ink);border-left:3px solid var(--blue);padding:.75rem 1rem;backdrop-filter:blur(8px)}
.hero-tag span{color:#62696d}.hero-tag strong{font-size:1.25rem}
.phone-rail{top:46%}
@media(max-width:1000px){.site-header nav.open{background:#fff;color:var(--ink);box-shadow:0 15px 30px rgba(0,0,0,.1)}.site-header:has(nav.open){background:#fff}.site-header:has(nav.open) .menu-toggle span{background:var(--ink)}.hero{min-height:850px}.hero-copy{min-height:720px;width:min(780px,84vw);padding-left:6vw}.hero-facts{left:6vw}.hero-tag{right:2rem}}
@media(max-width:680px){.site-header .brand{padding:.18rem .35rem}.hero{min-height:780px;background:linear-gradient(90deg,rgba(8,11,13,.77),rgba(8,11,13,.22)),linear-gradient(0deg,rgba(8,11,13,.56),transparent 55%),url("assets/garage-finished.webp") 48% center/cover no-repeat}.hero-copy{min-height:625px;width:100%;padding:8.8rem 1.25rem 3rem}.hero h1{font-size:clamp(3.45rem,15vw,4.8rem)}.hero-intro{font-size:.98rem;max-width:94%}.hero-facts{left:1.25rem;right:1.25rem;bottom:1.4rem;grid-template-columns:repeat(3,1fr);gap:.7rem}.hero-facts strong{font-size:1.55rem}.hero-tag{display:none}}

/* Clean, always-white navigation */
.site-header,.site-header.scrolled{height:92px;background:#fff;color:var(--ink);border-bottom:1px solid rgba(17,19,21,.11);box-shadow:0 5px 24px rgba(0,0,0,.07)}
.site-header .brand,.site-header.scrolled .brand{width:220px;height:68px;padding:0;background:transparent;border-radius:0;overflow:hidden}
.site-header .brand img{width:100%;height:auto;object-fit:contain}
.site-header .menu-toggle span{background:var(--ink)}
.hero{padding-top:92px;background-position:center calc(58% + 46px)}
@media(max-width:1000px){.site-header nav.open{top:92px}.hero{padding-top:92px}}
@media(max-width:680px){.site-header,.site-header.scrolled{height:76px}.site-header .brand,.site-header.scrolled .brand{width:175px;height:52px}.site-header nav.open{top:76px}.hero{padding-top:76px;background-position:48% calc(50% + 38px)}}

/* Softer trust strip + complete service-card photography */
.intro-band{background:#d9f1fa;border-top:1px solid rgba(0,161,220,.2);border-bottom:1px solid rgba(0,161,220,.2)}
.intro-band p{color:#17333e}
.intro-band span{background:var(--blue);opacity:.72}
.photo-industrial{background-image:url("assets/industrial-highbay.webp");background-position:center 55%}
.photo-residential{background-image:url("assets/residential-patio.webp");background-position:center 58%}
.service-copy h3:first-of-type{margin-top:.15rem}
.photo-commercial{background-image:url("assets/retail-store.webp");background-position:center}
.steps li{grid-template-columns:1fr}
.steps p{margin-left:1.5rem}
.systems-list article{grid-template-columns:1fr 1fr}
.area-list{grid-template-columns:1fr}
.area-list strong{padding-left:.15rem}
.transformation{background:#1c2023;color:#fff;border-top:4px solid var(--blue)}
.transformation-head>p{color:#edf1f3;font-size:clamp(1.125rem,1.7vw,1.5rem);line-height:1.6;border-left:3px solid var(--blue);padding-left:1.5rem}
.transformation-note span{color:#c5cdd2}
.transformation-note{border-bottom-color:rgba(255,255,255,.22)}
.transformation .eyebrow{color:#59cfff}
.transformation .compare{box-shadow:0 18px 45px rgba(0,0,0,.2);outline:1px solid rgba(255,255,255,.16)}
.transformation .compare-line span{background:var(--blue);color:#111315;border:3px solid #fff}
.transformation .compare:focus-within{outline:3px solid #59cfff;outline-offset:4px}
.transformation .compare-label{color:#fff}
.process{padding-top:clamp(4rem,7vw,7rem);padding-bottom:clamp(4rem,7vw,7rem);gap:clamp(2.5rem,5vw,5rem)}
.process .process-photo{height:clamp(480px,43vw,620px)}
.process h2{font-size:clamp(3rem,4.4vw,4.8rem)}
.process .lead{font-size:1.05rem;line-height:1.7;max-width:36rem}
.process .steps{margin-top:1.6rem}
.process .steps li{padding:1.15rem 0}
.process .steps strong{display:block;font-size:clamp(1.15rem,1.5vw,1.35rem);font-weight:700;line-height:1.3;letter-spacing:0;text-transform:none;color:var(--blue)}
.process .steps p{display:block;margin:.45rem 0 0;line-height:1.65;max-width:36rem}
@media(max-width:1000px){.process .process-photo{height:480px}}
@media(max-width:680px){.process .process-photo{height:360px}.process h2{font-size:3rem}.process{gap:2.5rem}}
@media(max-width:680px){.steps p{display:inline;margin-left:1rem}.systems-list article{grid-template-columns:1fr}.systems-list article p{grid-column:1}}

/* Original overlay gallery, with accessible enlarged viewing. */
.project-open{position:absolute;inset:0;display:block;width:100%;height:100%;padding:0;border:0;background:transparent;cursor:zoom-in}
.project:after,.project>div{pointer-events:none}
.project-open:focus-visible{outline:3px solid var(--blue);outline-offset:-5px}
.project-viewer{padding:3.5rem 1rem 1rem;border:0;background:#1c2023;color:white;max-width:95vw;max-height:95vh}
.project-viewer::backdrop{background:rgba(0,0,0,.8)}
.project-viewer img{display:block;max-width:85vw;max-height:75vh;width:auto;height:auto;object-fit:contain;margin:auto}
.viewer-close{position:absolute;right:1rem;top:.7rem;background:transparent;color:white;border:1px solid #90999f;padding:.5rem 1rem;cursor:pointer;font:inherit}
.project-viewer p{margin:.75rem 0 0}

/* Give the gallery a distinct, softly dark setting. */
.project-showcase{background:var(--graphite);color:#fff;border-top:4px solid var(--blue)}
.project-showcase .eyebrow{color:#59cfff}
.project-showcase .project:after{inset:55% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.82))}
.project-showcase .project p{font-size:.875rem}
.project-showcase .project span{font-size:1rem;line-height:1.5}
.project-showcase .project-open img{object-position:50% 65%}
.project-showcase .project-large img{object-position:55% 65%}
.project-showcase .project-open:after{content:"⛶";position:absolute;top:1rem;right:1rem;display:grid;place-items:center;width:2.75rem;height:2.75rem;border:1px solid rgba(255,255,255,.65);background:rgba(28,32,35,.7);color:#fff;font-size:1.7rem;line-height:1;border-radius:50%}
.project-showcase .project-open:focus-visible{outline-color:#59cfff}
.gallery-all{margin-top:2.5rem}
.gallery-page{background:#292e32;color:#fff}
.gallery-main{padding:150px 6vw 5rem;max-width:1600px;margin:auto}
.gallery-main h1{font-family:'Barlow Condensed',sans-serif;font-size:clamp(3rem,6vw,6rem);line-height:1.05;text-transform:uppercase;margin:1rem 0 2rem}
.gallery-main .eyebrow{color:#59cfff}
.gallery-filters{display:flex;flex-wrap:wrap;gap:.6rem}
.gallery-filters button,.modal-controls button{font:inherit;font-size:1rem;padding:.7rem 1.1rem;border:1px solid #7d8990;background:transparent;color:#fff;cursor:pointer;border-radius:3px}
.gallery-filters button[aria-pressed=true]{background:var(--blue);border-color:var(--blue);color:#071923}
#gallery-count{color:#c8ced1;margin:1.5rem 0}
.gallery-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2.5rem 1.5rem}
.gallery-card[hidden]{display:none}
.gallery-open{width:100%;position:relative;padding:0;border:0;background:#1c2023;cursor:zoom-in;display:block}
.gallery-open img{display:block;width:100%;height:320px;object-fit:cover;object-position:50% 65%}
.gallery-open .photo-count{position:absolute;bottom:.75rem;right:.75rem;padding:.45rem .7rem;background:rgba(0,0,0,.78);color:white;font-size:.875rem}
.gallery-category{color:#59cfff;font-size:.875rem;margin:1rem 0 .4rem}
.gallery-card h2{font-family:inherit;font-size:1.3rem;line-height:1.35;text-transform:none;letter-spacing:0;margin:0}
.gallery-location{color:#d1d7db;margin:.4rem 0 0}
.gallery-back{display:inline-block;color:#fff;margin-top:3rem;text-underline-offset:.3rem}
.gallery-modal{width:min(1000px,94vw);max-width:94vw;max-height:94vh;overflow:auto;border:1px solid #657079;background:#1c2023;color:#fff;padding:3.5rem 1.25rem 1.25rem}
.gallery-modal::backdrop{background:rgba(0,0,0,.85)}
.gallery-modal h2{font:600 1.4rem/1.3 Inter,sans-serif;text-transform:none;margin:0}
#modal-location{color:#c8ced1;margin:.5rem 0 1rem}
#modal-photo{display:block;width:100%;height:min(58vh,620px);object-fit:contain}
.modal-close{position:absolute;right:1rem;top:.75rem;background:transparent;border:1px solid #879299;color:#fff;font:inherit;padding:.5rem .8rem;cursor:pointer}
.modal-controls{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1rem}
#photo-caption{text-align:center;font-size:.9rem}
.modal-controls button:disabled{opacity:.35;cursor:default}
.gallery-page button:focus-visible{outline:3px solid #59cfff;outline-offset:4px}
@media(max-width:1000px){.gallery-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.gallery-cards{grid-template-columns:1fr}.gallery-main{padding-top:125px}.gallery-open img{height:330px}.modal-controls{flex-wrap:wrap}.modal-controls p{order:3;width:100%;margin:.5rem 0}.modal-controls button{padding:.6rem}}
.systems{grid-template-areas:"title list" "support support"}
.systems-title{grid-area:title}
.systems .systems-title{position:static;align-self:start;border-left:4px solid var(--blue);padding-left:clamp(1rem,2vw,1.7rem)}
.systems-title h2 span{color:var(--blue)}
.systems-list{grid-area:list}
.systems-list .system-option{display:grid;grid-template-columns:60px 1fr 1fr;gap:2rem;align-items:start;width:100%;padding:2rem 0;border:0;border-top:1px solid rgba(255,255,255,.16);background:transparent;color:#fff;text-align:left;cursor:pointer;transition:padding .2s ease,background .2s ease}.systems-list .system-option:last-child{border-bottom:1px solid rgba(255,255,255,.16)}.systems-list .system-option h3{grid-column:2;font-family:"Barlow Condensed",sans-serif;font-size:2rem;text-transform:uppercase;line-height:1;margin:0}.systems-list .system-option h3:before{content:"↗";position:absolute;margin-left:-3.7rem;color:var(--blue);font-family:"Barlow Condensed";font-size:1.4rem}.systems-list .system-option p{grid-column:3;margin:0;color:#9da4a8}.systems-list .system-option.is-active{background:rgba(89,207,255,.08);padding-left:1rem;padding-right:1rem}.systems-list .system-option.is-active h3{color:#59cfff}.systems-list .system-option:focus-visible{outline:2px solid #59cfff;outline-offset:4px}
.system-diagram{margin-top:clamp(2.5rem,5vw,4.5rem);max-width:570px;padding:1.35rem 1.4rem 1.5rem;border:1px solid rgba(89,207,255,.32);background:linear-gradient(145deg,rgba(89,207,255,.1),rgba(255,255,255,.025) 55%,rgba(0,0,0,.16));box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 20px 42px rgba(0,0,0,.2)}.system-diagram-head{display:flex;align-items:end;justify-content:space-between;gap:1rem;border-bottom:1px solid rgba(255,255,255,.16);padding-bottom:.9rem}.system-diagram-head span,.diagram-note{text-transform:uppercase;letter-spacing:.11em;font-size:.67rem;font-weight:800;color:#9da4a8}.system-diagram-head strong{font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;font-size:1.35rem;line-height:1;color:#fff}.layer-stack{display:flex;flex-direction:column;gap:.7rem;margin:1.35rem 0 1rem;padding:.25rem .15rem}.floor-layer{position:relative;min-height:43px;display:flex;align-items:center;padding:0 1rem;color:#071923;font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.07em;transform:skewX(-18deg);box-shadow:10px 10px 0 rgba(0,0,0,.16),0 0 0 1px rgba(255,255,255,.18);transition:background .35s ease,min-height .35s ease,transform .35s ease}.floor-layer span{transform:skewX(18deg)}.floor-layer.topcoat{min-height:30px;background:#bfeeff}.floor-layer.finish{min-height:54px;background:repeating-linear-gradient(135deg,#aab5b9 0 5px,#e7eeee 5px 9px,#424b50 9px 13px)}.floor-layer.basecoat{background:#0a9fd3;color:#fff}.floor-layer.slab{background:#7c8589;color:#fff}.system-diagram[data-system="quartz"] .floor-layer.finish{background:radial-gradient(circle at 20% 35%,#f3f0df 0 2px,transparent 2.5px),radial-gradient(circle at 60% 65%,#d7d4c2 0 2px,transparent 2.5px),#b8b5a3;background-size:10px 10px}.system-diagram[data-system="metallic"] .floor-layer.finish{background:linear-gradient(118deg,#14191d 4%,#c9d2d5 18%,#344148 34%,#f2f1ec 51%,#172025 70%,#a6b1b5 86%)}.system-diagram[data-system="solid"] .floor-layer.finish{background:#7a8a91}.diagram-note{margin:0;color:#c3cbd0}
@media(max-width:680px){.systems-list .system-option{grid-template-columns:1fr;padding:1.25rem 0}.systems-list .system-option h3,.systems-list .system-option p{grid-column:1}.systems-list .system-option h3:before{position:static;margin:0 .65rem 0 0}.systems-list .system-option.is-active{padding-left:.8rem;padding-right:.8rem}.system-diagram{padding:1.1rem}.system-diagram-head{align-items:flex-start;flex-direction:column}.floor-layer{font-size:.62rem;padding:0 .75rem}}
.system-diagram{max-width:610px;padding:1.35rem 1.4rem 1.25rem;background:linear-gradient(135deg,rgba(8,38,53,.98),rgba(12,16,18,.96) 58%,rgba(1,78,107,.44));border-color:rgba(89,207,255,.55)}.system-render{position:relative;margin:1rem 0 .55rem;overflow:hidden;border:1px solid rgba(142,229,255,.25);background:#0d1114;box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 16px 28px rgba(0,0,0,.24)}.system-render img{display:block;width:100%;height:auto;max-height:580px;object-fit:cover;object-position:center}.system-render-key{position:absolute;inset:0;pointer-events:none;color:#edf7fa;font-size:.66rem;font-weight:900;line-height:1.16;text-transform:uppercase;letter-spacing:.06em}.layer-label{position:absolute;left:.85rem;display:flex;align-items:flex-start;gap:.45rem;max-width:132px;text-shadow:0 2px 5px rgba(0,0,0,.95)}.layer-label:after{content:"";position:absolute;left:100%;top:10px;width:clamp(54px,13vw,92px);height:1px;background:linear-gradient(90deg,rgba(122,223,252,.95),rgba(122,223,252,.08));box-shadow:0 0 8px rgba(89,207,255,.4)}.layer-label b{display:grid;flex:0 0 auto;place-items:center;width:20px;height:20px;border:1px solid rgba(89,207,255,.95);background:rgba(7,22,29,.84);color:#83ddfa;font-family:"Barlow Condensed",sans-serif;font-size:.88rem;line-height:1;box-shadow:0 0 10px rgba(89,207,255,.25)}.layer-label i{font-style:normal}.layer-label-topcoat{top:17%}.layer-label-finish{top:34%}.layer-label-basecoat{top:51%}.layer-label-slab{top:71%}.layer-label-finish i{color:#a1e6fb}@media(max-width:680px){.system-render img{max-height:470px}.system-render-key{position:static;display:grid;grid-template-columns:1fr 1fr;gap:.6rem .7rem;padding:.9rem;background:linear-gradient(110deg,rgba(7,21,29,.98),rgba(16,22,24,.96));font-size:.61rem}.layer-label{position:relative;left:auto!important;top:auto!important;max-width:none;text-shadow:none}.layer-label:after{display:none}.layer-label b{width:18px;height:18px;font-size:.78rem}}
.systems-support{grid-area:support;display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,6vw,8rem);margin-top:clamp(2rem,5vw,5rem);padding-top:2rem;border-top:1px solid rgba(255,255,255,.16)}
.systems-support h3{font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;font-size:clamp(2rem,3vw,3rem);line-height:.95;margin:.5rem 0 1rem}
.systems-support>article>p:last-child{max-width:43rem;color:#aeb4b8;line-height:1.75}
.systems-support .eyebrow{color:var(--blue)}
@media(max-width:1000px){.systems{grid-template-areas:"title" "list" "support"}.systems-support{grid-template-columns:1fr}}
.systems{grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr);grid-template-areas:"title support" "diagram list";align-items:start}.systems-title{grid-area:title}.system-diagram{grid-area:diagram;margin-top:clamp(1.4rem,3vw,2.5rem);align-self:start}.systems-list{grid-area:list;align-self:center}.systems-support{grid-area:support;align-self:start;grid-template-columns:1fr 1fr;gap:clamp(1.25rem,3vw,2.75rem);margin-top:0;padding-top:0;border-top:0}.systems-support h3{font-size:clamp(1.7rem,2.3vw,2.45rem)}.systems-support>article>p:last-child{font-size:.94rem;line-height:1.62}@media(max-width:1000px){.systems{grid-template-columns:1fr;grid-template-areas:"title" "support" "diagram" "list"}.systems-support{grid-template-columns:1fr 1fr;margin-top:1.75rem}.system-diagram{margin-top:2.2rem}.systems-list{margin-top:1.5rem}}@media(max-width:680px){.systems-support{grid-template-columns:1fr;gap:1.7rem}.systems-list{margin-top:0}}
.systems-support{grid-template-columns:1fr;gap:clamp(1.8rem,3vw,2.8rem)}.systems-support h3{font-size:clamp(2rem,3vw,3.1rem)}.systems-support>article>p:last-child{max-width:52rem;font-size:1rem;line-height:1.68}@media(max-width:1000px){.systems-support{grid-template-columns:1fr}}
.about-mark{background:transparent}
.about-mark:before{display:none}
.about-mark{min-height:clamp(720px,56vw,900px)}
.about{grid-template-columns:1.15fr .85fr}
.about-mark img{width:min(860px,90%);max-width:none;filter:drop-shadow(0 0 1px #fff) drop-shadow(0 0 3px rgba(89,207,255,.9)) drop-shadow(0 0 7px rgba(0,161,220,.56)) drop-shadow(0 16px 20px rgba(11,13,15,.18))}
.about-mark span{font-size:.9rem;letter-spacing:.12em;line-height:1.55}
@media(max-width:1000px){.about-mark img{width:min(760px,90%)}}
@media(max-width:680px){.about-mark{min-height:560px}.about-mark img{width:92%}}
.about-copy .dark-link{color:var(--blue);border-bottom-color:rgba(0,161,220,.55)}
/* About page */
.about-page{background:var(--paper);color:var(--ink)}
.about-hero-page{min-height:800px;background:var(--carbon);color:#fff;display:grid;grid-template-columns:1fr 1fr;padding:92px 6vw 0;overflow:hidden}
.about-hero-copy{display:flex;flex-direction:column;justify-content:center;padding:4rem 2rem 5rem 0}
.about-hero-copy h1,.about-page h2{font-family:"Barlow Condensed",Impact,sans-serif;font-weight:800;text-transform:uppercase;letter-spacing:-.035em;line-height:.86;margin:.4rem 0}
.about-hero-copy h1{font-size:clamp(4.8rem,8vw,8.8rem)}
.about-hero-copy h1 span{color:var(--blue)}
.about-hero-copy>p:not(.eyebrow){max-width:570px;color:#c9d0d3;font-size:1.1rem;line-height:1.75;margin:1.8rem 0 2.2rem}
.about-hero-logo{display:flex;align-items:center;justify-content:center;padding:2rem 0 3rem}
.about-hero-logo img{width:min(720px,100%);filter:drop-shadow(0 0 1px #fff) drop-shadow(0 0 3px rgba(89,207,255,.9)) drop-shadow(0 0 7px rgba(0,161,220,.56))}
.about-story{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center}
.about-story h2,.solutions-story h2,.expectations h2{font-size:clamp(4rem,6vw,7rem)}
.about-story-copy>p:not(.eyebrow),.solutions-story>div>p:not(.eyebrow){max-width:620px}
.about-story-copy .lead,.solutions-story .lead{font-size:1.12rem;line-height:1.8}
.about-photo-slot{min-height:560px;background:#e4e7e8;border:2px dashed rgba(0,161,220,.72);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:3rem;color:#2d3539}
.about-photo-slot span{color:var(--blue);font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.16em}
.about-photo-slot strong{font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;font-size:clamp(2.7rem,5vw,5rem);line-height:.9;margin:1.25rem 0}
.about-photo-slot small{max-width:360px;font-size:.9rem;line-height:1.6;color:#5a656a}
.about-team-image{position:relative;min-height:440px;margin:0;overflow:hidden;background:#e4e7e8}
.about-team-image img{width:100%;height:100%;min-height:440px;object-fit:cover;object-position:center top}
.about-team-image figcaption{position:absolute;left:0;right:0;bottom:0;padding:2rem;background:linear-gradient(transparent,rgba(0,0,0,.85));color:#fff}
.about-team-image span{display:block;color:#59cfff;text-transform:uppercase;letter-spacing:.14em;font-size:.75rem;font-weight:800;margin-bottom:.25rem}
.about-team-image strong{font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;font-size:clamp(2.4rem,4vw,4rem);line-height:1}
.about-before-after{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.about-before-after figure{min-height:480px;margin:0;position:relative;overflow:hidden;background:#22292e}
.about-before-after img{display:block;width:100%;height:100%;min-height:480px;object-fit:cover}
.about-before-after figcaption{position:absolute;left:1rem;bottom:1rem;background:rgba(0,0,0,.78);padding:.4rem .7rem;color:#fff;text-transform:uppercase;letter-spacing:.12em;font-size:.75rem;font-weight:800}
.solutions-story{background:var(--graphite);color:#fff;padding:clamp(5rem,10vw,10rem) 6vw;display:grid;grid-template-columns:.9fr 1.1fr;gap:8vw;align-items:center}
.solutions-story .lead{color:#fff}.solutions-story>div>p:not(.eyebrow){color:#b8c1c5}.solutions-story .eyebrow{color:#59cfff}
.solutions-story .about-photo-slot{min-height:480px;background:#22292e;color:#fff;border-color:rgba(89,207,255,.78)}
.solutions-story .about-photo-slot small{color:#aeb9be}
.expectations{background:#fff}.expectations h2{max-width:780px}
.expectations-list{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--line);margin-top:3rem}
.expectations-list article{min-height:185px;padding:1.3rem;border-right:1px solid var(--line);display:flex;align-items:flex-end}
.expectations-list article:first-child{border-left:1px solid var(--line)}
.expectations-list h3{font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;font-size:clamp(1.45rem,2.2vw,2.1rem);line-height:.95;margin:0}
.about-quote{background:var(--blue);padding:clamp(5rem,10vw,9rem) 6vw;color:var(--carbon)}
.about-quote .eyebrow{color:var(--carbon)}.about-quote h2{font-size:clamp(4.5rem,7vw,7.5rem);max-width:800px}.about-quote>p:not(.eyebrow){font-size:1.1rem;max-width:600px}.about-quote .button{background:var(--carbon);border-color:var(--carbon);margin-top:1.4rem}
@media(max-width:1000px){.about-hero-page,.about-story,.solutions-story{grid-template-columns:1fr}.about-hero-page{padding-top:92px}.about-hero-copy{padding-right:0}.about-hero-logo{padding-top:0}.about-photo-slot{min-height:450px}.expectations-list{grid-template-columns:repeat(2,1fr)}.expectations-list article:nth-child(3){border-left:1px solid var(--line)}}
@media(max-width:680px){.about-hero-page{min-height:0;padding:76px 1.25rem 0}.about-hero-copy{padding:5rem 0 3rem}.about-hero-copy h1{font-size:clamp(4rem,17vw,5.5rem)}.about-hero-logo{padding-bottom:4rem}.about-story,.solutions-story{padding-left:1.25rem;padding-right:1.25rem}.about-photo-slot{min-height:360px;padding:2rem}.expectations-list{grid-template-columns:1fr}.expectations-list article,.expectations-list article:first-child,.expectations-list article:nth-child(3){border-left:1px solid var(--line);border-bottom:1px solid var(--line);min-height:110px}.expectations-list article:last-child{border-bottom:1px solid var(--line)}}
@media(max-width:1000px){.about-team-image,.about-team-image img{min-height:390px}.about-before-after figure,.about-before-after img{min-height:420px}}
@media(max-width:680px){.about-team-image,.about-team-image img{min-height:350px}.about-before-after figure,.about-before-after img{min-height:330px}.about-before-after{gap:.6rem}}
.canadian-commitment{background:#f0f2f1;padding:clamp(5rem,9vw,9rem) 6vw;display:grid;grid-template-columns:.9fr 1.1fr;gap:8vw;align-items:start}.canadian-commitment h2,.local-giving h2{font-family:"Barlow Condensed",Impact,sans-serif;font-weight:800;text-transform:uppercase;letter-spacing:-.035em;line-height:.86;margin:.4rem 0;font-size:clamp(4rem,6vw,7rem)}.canadian-commitment h2 span,.local-giving h2 span{color:var(--blue)}.canadian-commitment-intro>p:last-child{max-width:520px;color:#50595d;font-size:1.08rem;line-height:1.75}.canadian-commitment-list{border-top:1px solid var(--line)}.canadian-commitment-list article{padding:2rem 0;border-bottom:1px solid var(--line)}.canadian-commitment-list h3{font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;font-size:clamp(2rem,3vw,3.25rem);line-height:.95;margin:1rem 0 .85rem}.canadian-commitment-list p{max-width:610px;margin:0;color:#596267;line-height:1.7}.local-giving{background:var(--carbon);color:#fff;padding:clamp(5rem,9vw,9rem) 6vw;display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:end}.local-giving .eyebrow{color:#59cfff}.local-giving-copy{max-width:620px}.local-giving-copy .lead{color:#fff;font-size:clamp(1.25rem,2vw,1.7rem);line-height:1.5}.local-giving-copy>p:not(.lead){color:#b9c2c5;line-height:1.75}.local-giving .canadian-badge{margin-top:1.2rem;border-color:rgba(89,207,255,.62);background:rgba(89,207,255,.1);color:#e9fbff}@media(max-width:1000px){.canadian-commitment,.local-giving{grid-template-columns:1fr;gap:3rem}}@media(max-width:680px){.canadian-commitment,.local-giving{padding-left:1.25rem;padding-right:1.25rem}.canadian-commitment h2,.local-giving h2{font-size:clamp(3.7rem,16vw,5rem)}.hero-badges{margin-top:1.1rem}.canadian-badge{font-size:.6rem;padding:.4rem .55rem}}

/* Closing quote: one calm, premium visual surface */
.quote{position:relative;isolation:isolate;display:block;min-height:700px;background:#101315;color:#fff;overflow:hidden}
.quote-photo{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,11,13,.94) 0%,rgba(8,11,13,.78) 42%,rgba(8,11,13,.42) 100%),url("assets/metallic-floor-bright.png") center/cover}
.quote-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.42),transparent 54%)}
.quote-copy{position:relative;z-index:1;min-height:700px;max-width:850px;padding:clamp(6rem,10vw,9rem) 6vw;justify-content:center}
.quote-copy .eyebrow{color:#59cfff}.quote h2{font-size:clamp(5.2rem,9vw,9.4rem);text-shadow:0 3px 22px rgba(0,0,0,.32)}
.quote-copy>p:not(.eyebrow){color:#d1d8da;font-size:1.08rem;line-height:1.75}.quote .button{background:var(--blue);border-color:var(--blue)}
.quote-area{margin-top:3.2rem!important;padding-top:1.2rem;border-top:1px solid rgba(255,255,255,.28);text-transform:uppercase;letter-spacing:.12em;font-size:.7rem!important;font-weight:800;color:#c6d0d4!important;max-width:680px}
.quote-actions>a:last-child{font-size:1.85rem;font-weight:800;letter-spacing:.025em;text-shadow:0 2px 14px rgba(0,0,0,.34)}
.quote h2{-webkit-text-stroke:1px rgba(0,161,220,.82);text-shadow:0 0 16px rgba(0,161,220,.16),0 3px 22px rgba(0,0,0,.32)}
.quote .button{box-shadow:0 0 0 1px rgba(139,222,255,.5),0 0 18px rgba(0,161,220,.46),0 10px 28px rgba(0,0,0,.25)}
.quote .button:hover,.quote .button:focus-visible{box-shadow:0 0 0 2px rgba(181,237,255,.74),0 0 28px rgba(0,161,220,.72),0 12px 30px rgba(0,0,0,.3)}

/* Footer: a clean final landing point */
footer{position:relative;border-top:3px solid var(--blue)}
.footer-brand img{filter:drop-shadow(0 0 1px #fff) drop-shadow(0 0 3px rgba(89,207,255,.9)) drop-shadow(0 0 7px rgba(0,161,220,.56));width:min(300px,100%);max-height:220px;object-fit:contain;object-position:left center}
.footer-cta{display:flex;flex-direction:column;align-items:flex-start;gap:.55rem}.footer-cta .footer-label{margin-bottom:.65rem}.footer-phone{font-family:"Barlow Condensed",sans-serif;font-size:2.25rem;font-weight:800;line-height:1;color:#fff!important;letter-spacing:.02em}.footer-quote{margin-top:1rem;padding-bottom:.35rem;border-bottom:1px solid var(--blue);text-transform:uppercase;letter-spacing:.11em;font-size:.72rem;font-weight:800;color:#59cfff!important}
@media(max-width:1000px){.footer-cta{grid-column:1/-1;margin-top:1rem}.footer-brand img{width:260px;max-height:190px}}

/* Bring footer content up to the page's display scale */
.footer-brand{display:flex;flex-direction:column;align-items:center;text-align:center}.footer-brand img{width:min(340px,100%);margin:0 auto 1.8rem}.footer-brand p{font-size:1rem;line-height:1.7}
.footer-label{font-size:.78rem!important;letter-spacing:.16em!important}.footer>div:not(.footer-brand):not(.footer-bottom){gap:.8rem}.footer>div:not(.footer-brand):not(.footer-bottom) a,.footer>div:not(.footer-brand):not(.footer-bottom) span{font-size:.98rem;line-height:1.45}
.footer-phone{font-size:2.55rem!important}.footer-quote{font-size:.8rem!important}.footer-bottom>*{font-size:.88rem!important}
@media(max-width:680px){.footer-brand img{width:min(300px,100%)}.footer-brand p{font-size:.96rem}.footer>div:not(.footer-brand):not(.footer-bottom) a,.footer>div:not(.footer-brand):not(.footer-bottom) span{font-size:.92rem}.footer-phone{font-size:2.25rem!important}}

/* Compact the footer and lock the brand lockup to one visual centre */
footer{padding:3.5rem 6vw 1.5rem;gap:3vw}.footer-brand{justify-self:center;width:100%;max-width:340px}.footer-brand img{width:300px;max-width:100%;margin:0 auto 1rem}.footer-brand p{width:300px;max-width:100%;margin:0 auto;font-size:.94rem;line-height:1.55;text-align:center}
.footer-bottom{margin-top:2.25rem;padding-top:1.15rem}.footer>div:not(.footer-brand):not(.footer-bottom){gap:.58rem}.footer-cta{gap:.4rem}.footer-quote{margin-top:.7rem}
@media(max-width:1000px){footer{padding:3rem 4vw 1.4rem}.footer-brand{justify-self:start}.footer-brand img,.footer-brand p{margin-left:auto;margin-right:auto}}
@media(max-width:680px){footer{padding:3rem 1.25rem 1.25rem}.footer-brand{max-width:300px}.footer-brand img,.footer-brand p{width:270px}.footer-bottom{margin-top:1.75rem}}

/* Denser, brighter footer hierarchy */
footer{padding:2.35rem 6vw 1.15rem;gap:2.5vw}.footer-brand{max-width:250px}.footer-brand img{width:220px;max-height:165px;margin-bottom:.65rem}.footer-brand p{width:245px;font-size:.9rem;line-height:1.45;color:#e3eaed}
.footer-label{color:#32c3f4!important;font-size:.82rem!important;margin-bottom:.55rem!important}.footer>div:not(.footer-brand):not(.footer-bottom) a,.footer>div:not(.footer-brand):not(.footer-bottom) span{font-size:1rem;color:#f2f6f7;opacity:1}.footer>div:not(.footer-brand):not(.footer-bottom) a:hover{color:#59cfff}
.footer-cta .footer-label{color:#fff!important;font-family:"Barlow Condensed",sans-serif;font-size:1.35rem!important;letter-spacing:.06em!important}.footer-phone{font-size:2.35rem!important}.footer-cta>a:not(.footer-phone):not(.footer-quote){color:#e6f4fa!important}.footer-bottom{margin-top:1.55rem;padding-top:.85rem}.footer-bottom>*{color:#d9e1e4!important}
@media(max-width:1000px){footer{padding:2.5rem 4vw 1.15rem}.footer-brand{max-width:240px}.footer-brand img{width:210px}}
@media(max-width:680px){footer{padding:2.5rem 1.25rem 1rem}.footer-brand{max-width:235px}.footer-brand img{width:200px;max-height:150px}.footer-brand p{width:235px}.footer-bottom{margin-top:1.3rem}}

/* Footer navigation gets the same confident hierarchy as the rest of the site */
footer>div:nth-child(2) .footer-label,footer>div:nth-child(3) .footer-label{font-family:"Barlow Condensed",sans-serif;font-size:1.55rem!important;line-height:1;text-transform:uppercase;letter-spacing:.025em!important;color:#fff!important;margin-bottom:.8rem!important}
footer>div:nth-child(2) a,footer>div:nth-child(3) span{font-size:1.08rem!important;font-weight:700;color:#f4f8f9!important;line-height:1.5}

/* Footer logo becomes the left-hand brand anchor without adding height */
.footer-brand{align-items:flex-start;justify-self:start;max-width:340px}.footer-brand img{width:315px;max-height:185px;margin:0;object-position:left center}.footer-brand p{display:none}
@media(max-width:1000px){.footer-brand{align-items:flex-start}.footer-brand img{width:280px;max-height:170px;margin:0}}
@media(max-width:680px){.footer-brand{align-items:flex-start}.footer-brand img{width:250px;max-height:160px;margin:0}}

.contact-page{background:#f4f5f3}.contact-hero{min-height:620px;padding:10rem 6vw 5rem;background:var(--carbon);color:#fff;display:grid;grid-template-columns:1.15fr .85fr;gap:8vw;align-items:end}.contact-hero h1,.quote-form-section h2,.thanks h1{font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;font-size:clamp(5rem,9vw,9rem);line-height:.84;letter-spacing:-.035em;margin:.4rem 0 1.6rem}.contact-hero h1 span,.thanks h1 span{color:transparent;-webkit-text-stroke:1px rgba(89,207,255,.9)}.contact-hero>div>p:not(.eyebrow){max-width:620px;color:#c5ced1;font-size:1.1rem;line-height:1.75}.contact-hero aside{border-left:2px solid var(--blue);padding-left:1.5rem;display:flex;flex-direction:column;gap:.65rem}.contact-hero aside strong{font-family:"Barlow Condensed";font-size:1.8rem;text-transform:uppercase}.contact-hero aside a{font-size:1.05rem;color:#fff;font-weight:700}.contact-hero aside span{margin-top:1rem;color:#aeb9bd;font-size:.8rem;text-transform:uppercase;letter-spacing:.1em;line-height:1.65}.quote-form-section{padding:clamp(5rem,9vw,9rem) 6vw}.quote-form-section form{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem 2rem;max-width:1100px}.form-heading{grid-column:1/-1;margin-bottom:1rem}.quote-form-section h2{font-size:clamp(4rem,7vw,7rem)}.quote-form-section label{font-size:.78rem;text-transform:uppercase;letter-spacing:.1em;font-weight:800}.quote-form-section input,.quote-form-section select,.quote-form-section textarea{width:100%;display:block;margin-top:.65rem;padding:1rem;background:#fff;border:1px solid rgba(17,19,21,.25);font:inherit;font-size:1rem;color:var(--ink)}.quote-form-section textarea{resize:vertical}.form-full,.form-note{grid-column:1/-1}.quote-form-section .button{justify-self:start;margin-top:1rem}.form-note{margin:0;color:var(--muted);font-size:.9rem}.honeypot{display:none!important}.thanks{min-height:100vh;padding:12rem 6vw 6rem;background:var(--carbon);color:#fff}.thanks>p:not(.eyebrow){max-width:540px;color:#c5ced1;font-size:1.1rem}.thanks .button{margin-top:1.5rem}@media(max-width:760px){.contact-hero{grid-template-columns:1fr;min-height:0;padding:8.5rem 1.25rem 4rem}.contact-hero aside{margin-top:2rem}.quote-form-section{padding:5rem 1.25rem}.quote-form-section form{grid-template-columns:1fr}.form-heading{margin-bottom:0}.quote-form-section .button{width:100%}.thanks{padding:10rem 1.25rem 4rem}}

/* Align footer columns with the brand and elevate the final contact block */
footer>div:nth-child(2),footer>div:nth-child(3){transform:translateX(-1.1rem)}
.footer-cta .footer-label{font-size:1.7rem!important}.footer-phone{font-size:2.7rem!important}.footer-cta>a:not(.footer-phone):not(.footer-quote){font-size:1.12rem!important;font-weight:700}.footer-quote{font-size:.88rem!important}
@media(max-width:1000px){footer>div:nth-child(2),footer>div:nth-child(3){transform:none}.footer-cta .footer-label{font-size:1.55rem!important}.footer-phone{font-size:2.5rem!important}}
.visualizer-cta{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);background:#111315;color:#fff;min-height:650px}.visualizer-image{overflow:hidden}.visualizer-image img{width:100%;height:100%;min-height:650px;object-fit:cover}.visualizer-copy{padding:clamp(4rem,8vw,8rem);display:flex;flex-direction:column;justify-content:center}.visualizer-copy .eyebrow{color:#59cfff}.visualizer-copy h2{font-family:"Barlow Condensed",Impact,sans-serif;text-transform:uppercase;font-size:clamp(4rem,6.8vw,7.5rem);letter-spacing:-.035em;line-height:.85;margin:.25rem 0 1.7rem}.visualizer-copy h2 span{color:transparent;-webkit-text-stroke:1px rgba(89,207,255,.8)}.visualizer-copy>p:not(.eyebrow):not(.visualizer-note){font-size:1.08rem;line-height:1.75;color:#c5cdd0;max-width:600px}.visualizer-copy ul{list-style:none;padding:0;margin:1.7rem 0 2rem;border-top:1px solid rgba(255,255,255,.16)}.visualizer-copy li{padding:.7rem 0;border-bottom:1px solid rgba(255,255,255,.16);font-weight:700;font-size:.92rem}.visualizer-copy li:before{content:"↗";color:var(--blue);margin-right:.8rem}.visualizer-copy .button{align-self:flex-start;box-shadow:0 0 18px rgba(0,161,220,.35)}.visualizer-note{margin:1.15rem 0 0!important;color:#9ea8ad!important;text-transform:uppercase;letter-spacing:.11em;font-size:.68rem!important;font-weight:800}.visualizer-cta .button:hover{box-shadow:0 0 26px rgba(0,185,246,.65)}@media(max-width:760px){.visualizer-cta{grid-template-columns:1fr}.visualizer-image img{min-height:390px}.visualizer-copy{padding:4rem 1.25rem}.visualizer-copy .button{width:100%}}
.site-header nav a.nav-visualizer{color:#fff;background:var(--blue);border:1px solid rgba(190,240,255,.78);padding:.52rem .72rem;line-height:1;box-shadow:0 0 0 1px rgba(0,161,220,.3),0 0 16px rgba(0,161,220,.45);transition:transform .2s ease,box-shadow .2s ease}.site-header nav a.nav-visualizer:hover,.site-header nav a.nav-visualizer:focus-visible{color:#fff;background:#18b8f1;transform:translateY(-2px);box-shadow:0 0 0 2px rgba(210,247,255,.8),0 0 23px rgba(0,185,246,.65)}.site-header.scrolled nav a.nav-visualizer{color:#fff}@media(max-width:1000px){.site-header nav a.nav-visualizer{display:inline-flex;align-self:flex-start;width:max-content}}
@media(max-width:1000px){.quote,.quote-copy{min-height:640px}.quote-copy{padding-left:6vw;padding-right:6vw}.quote-photo{background-position:58% center}}
@media(max-width:680px){.quote,.quote-copy{min-height:620px}.quote-copy{padding:5rem 1.25rem}.quote h2{font-size:clamp(4.5rem,19vw,6rem)}.quote-area{margin-top:2.3rem!important;line-height:1.65}}

/* Reviews: a confident proof point, not a generic carousel */
.reviews{background:#1c2023;color:#fff;display:grid;grid-template-columns:1.05fr .65fr .8fr;gap:clamp(2rem,5vw,6rem);align-items:end;padding:clamp(5rem,9vw,8.5rem) 6vw;border-bottom:4px solid var(--blue)}
.reviews h2{font-family:"Barlow Condensed",Impact,sans-serif;text-transform:uppercase;font-weight:800;letter-spacing:-.035em;line-height:.84;margin:.2rem 0 1.55rem;font-size:clamp(4.3rem,7.2vw,7.8rem)}
.reviews h2 span{color:transparent;-webkit-text-stroke:1px var(--blue)}
.reviews-intro>p:not(.eyebrow){max-width:510px;color:#d2dadd;font-size:1.08rem;line-height:1.75;margin:0}
.reviews-link,.reviews-side a{display:inline-flex;gap:.65rem;align-items:center;margin-top:2rem;padding-bottom:.45rem;border-bottom:2px solid var(--blue);text-transform:uppercase;letter-spacing:.1em;font-size:.76rem;font-weight:800}
.review-score{background:#111517;color:#fff;min-height:400px;padding:2.25rem;display:flex;flex-direction:column;justify-content:flex-end;position:relative;overflow:hidden;box-shadow:0 18px 45px rgba(0,0,0,.26);outline:1px solid rgba(255,255,255,.13)}
.review-score:before{content:none}.rating-stars-decor{position:absolute;top:1.25rem;left:50%;width:calc(100% - 3.25rem);display:grid;grid-template-columns:repeat(5,1fr);place-items:center;transform:translateX(-50%);color:#ffda55;font-size:clamp(3.7rem,5.2vw,5.15rem);line-height:1;filter:drop-shadow(0 0 3px rgba(255,249,204,.98)) drop-shadow(0 0 13px rgba(255,201,37,.95)) drop-shadow(0 0 28px rgba(225,157,0,.62))}.rating-stars-decor span{display:block;text-align:center;text-shadow:0 1px 0 #fff0a0,0 0 20px rgba(255,216,75,.86)}
.google-mark{position:absolute;top:7rem;left:2.25rem;width:42px;height:42px;display:grid;place-items:center;border:2px solid var(--blue);border-radius:50%;color:#fff;font-family:Arial,sans-serif;font-weight:800;font-size:1.35rem;box-shadow:0 0 0 5px rgba(0,161,220,.12)}
.score-stars{color:#59cfff;letter-spacing:.16em;font-size:1rem;margin-bottom:.85rem}.review-score strong{font-family:"Barlow Condensed",Impact,sans-serif;font-size:clamp(5.5rem,8vw,8rem);line-height:.72;letter-spacing:-.04em}.review-score p{margin:1rem 0 .25rem;text-transform:uppercase;letter-spacing:.1em;font-size:.72rem;font-weight:800}.review-score span{color:#b7c1c5;font-size:.86rem}
.reviews-side{padding-bottom:1rem;border-bottom:1px solid rgba(255,255,255,.28)}.reviews-side p{font-family:"Barlow Condensed",Impact,sans-serif;text-transform:uppercase;font-weight:700;font-size:clamp(2rem,3.1vw,3.35rem);line-height:.92;letter-spacing:-.02em;margin:0}.reviews-side a{margin-top:2.25rem;font-size:.7rem}
@media(max-width:1000px){.reviews{grid-template-columns:1fr 1fr;gap:2rem}.reviews-intro{grid-column:1/-1}.review-score{min-height:320px}.reviews-side{align-self:stretch;display:flex;flex-direction:column;justify-content:flex-end}}
@media(max-width:680px){.reviews{display:block;padding:5rem 1.25rem}.reviews h2{font-size:clamp(4rem,17vw,5.9rem)}.review-score{min-height:360px;margin:3rem 0 2.5rem;padding:1.8rem}.google-mark{top:6.4rem;left:1.8rem}.reviews-side{padding-bottom:1.5rem}.reviews-side p{font-size:2.4rem}.reviews-link{margin-top:1.6rem}}

/* Dedicated reviews page */
.reviews-page{background:#1c2023;color:#fff}.reviews-page-hero{min-height:690px;padding:10rem 6vw 6rem;display:grid;grid-template-columns:1.1fr .9fr;gap:8vw;align-items:end;background:radial-gradient(circle at 78% 35%,rgba(0,161,220,.17),transparent 28%),#1c2023;border-bottom:1px solid rgba(255,255,255,.14)}
.reviews-page-hero h1,.reviews-listing h2,.reviews-page-cta h2{font-family:"Barlow Condensed",Impact,sans-serif;text-transform:uppercase;font-weight:800;letter-spacing:-.04em;line-height:.83;margin:.3rem 0 1.5rem;font-size:clamp(5rem,9vw,9.6rem)}.reviews-page-hero h1 span{color:transparent;-webkit-text-stroke:1px #59cfff}.reviews-page-hero>div>p:not(.eyebrow){max-width:570px;color:#cad3d6;font-size:1.1rem;line-height:1.75}
.reviews-page-score{align-self:center;justify-self:end;width:min(390px,100%);padding:2.6rem;background:#101416;border-left:4px solid var(--blue);box-shadow:0 20px 55px rgba(0,0,0,.34)}.reviews-page-score>span,.reviews-page-score p{text-transform:uppercase;letter-spacing:.12em;font-size:.73rem;font-weight:800}.reviews-page-score>div{color:#59cfff;letter-spacing:.16em;margin:1.6rem 0 1rem}.reviews-page-score strong{display:block;font-family:"Barlow Condensed",Impact,sans-serif;font-size:8rem;line-height:.7;letter-spacing:-.05em}.reviews-page-score p{margin:1.4rem 0 0;color:#b9c4c8}
.reviews-listing{background:#f5f6f4;color:var(--ink);padding:clamp(5rem,9vw,9rem) 6vw}.reviews-listing-head{display:grid;grid-template-columns:1fr 1fr;gap:3rem 7vw;align-items:end;margin-bottom:4rem}.reviews-listing-head .eyebrow{grid-column:1/-1;margin-bottom:-2rem}.reviews-listing h2{font-size:clamp(4.5rem,7vw,7.6rem);margin:0}.reviews-listing-head>p:last-child{margin:0 0 .7rem;color:#596166;font-size:1.07rem;line-height:1.75;max-width:520px}
.review-cards{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}.review-card{min-height:410px;padding:2.5rem;background:#fff;border:1px solid rgba(17,19,21,.13);display:flex;flex-direction:column;justify-content:space-between}.review-card-featured{background:#1c2023;color:#fff;border-color:#1c2023}.review-card-top{display:grid;grid-template-columns:auto 1fr auto;gap:1rem;align-items:center}.review-initial{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:var(--blue);color:#111517;font-family:"Barlow Condensed",sans-serif;font-size:1.75rem;font-weight:800}.review-card h3{margin:0;font-size:1rem}.review-card-top p{margin:.15rem 0 0;color:#687176;font-size:.78rem}.review-card-featured .review-card-top p{color:#b8c3c7}.review-card-top>span{color:var(--blue);font-size:.8rem;letter-spacing:.09em}.review-card blockquote{margin:2.7rem 0;font-family:"Barlow Condensed",Impact,sans-serif;font-size:clamp(2.1rem,3.3vw,3.6rem);line-height:.95;letter-spacing:-.025em;max-width:720px}.review-card a{align-self:flex-start;text-transform:uppercase;letter-spacing:.1em;font-size:.73rem;font-weight:800;border-bottom:2px solid var(--blue);padding-bottom:.35rem}
.reviews-page-cta{padding:clamp(5rem,9vw,8rem) 6vw;background:#060708;color:#fff;border-top:3px solid var(--blue)}.reviews-page-cta .eyebrow{color:#59cfff}.reviews-page-cta h2{font-size:clamp(4.5rem,7vw,7.8rem);margin-bottom:1.6rem}.reviews-page-cta h2 br+*{color:var(--blue)}.reviews-page-cta>p:not(.eyebrow){max-width:560px;font-size:1.08rem;line-height:1.75;color:#c8d2d5}.reviews-page-cta .button{margin-top:1.25rem;background:var(--blue);border-color:var(--blue);box-shadow:0 0 18px rgba(0,161,220,.35)}
@media(max-width:900px){.reviews-page-hero{grid-template-columns:1fr;padding-top:9rem;min-height:0}.reviews-page-score{justify-self:start}.reviews-listing-head{grid-template-columns:1fr}.reviews-listing-head .eyebrow{margin-bottom:0}.review-cards{grid-template-columns:1fr}}
@media(max-width:680px){.reviews-page-hero{padding:8.5rem 1.25rem 5rem}.reviews-page-hero h1{font-size:clamp(4.3rem,18vw,6rem)}.reviews-page-score{padding:2rem;width:100%}.reviews-page-score strong{font-size:6.8rem}.reviews-listing,.reviews-page-cta{padding:5rem 1.25rem}.reviews-listing h2,.reviews-page-cta h2{font-size:clamp(4rem,17vw,5.7rem)}.review-card{padding:1.65rem;min-height:360px}.review-card-top{grid-template-columns:auto 1fr}.review-card-top>span{grid-column:2}.review-card blockquote{font-size:2.25rem;margin:2.2rem 0}}

/* Quote buttons: one restrained, consistent invitation across the site. */
.button{box-shadow:0 0 0 1px rgba(139,222,255,.34),0 0 13px rgba(0,161,220,.25),0 8px 20px rgba(0,0,0,.14)}
.button:hover,.button:focus-visible{box-shadow:0 0 0 2px rgba(181,237,255,.72),0 0 25px rgba(0,161,220,.55),0 12px 28px rgba(0,0,0,.22)}

/* About page: local roots and local impact belong together. */
.canadian-commitment{background:#f0f2f1;padding:clamp(5rem,9vw,9rem) 6vw;display:grid;grid-template-columns:.9fr 1.1fr;gap:8vw;align-items:start}.canadian-commitment h2,.local-giving h2,.community-partners h2{font-family:"Barlow Condensed",Impact,sans-serif;font-weight:800;text-transform:uppercase;letter-spacing:-.035em;line-height:.86;margin:.4rem 0;font-size:clamp(4rem,6vw,7rem)}.canadian-commitment h2 span,.local-giving h2 span,.community-partners h2 span{color:var(--blue)}.canadian-commitment-intro>p:last-child{max-width:520px;color:#50595d;font-size:1.08rem;line-height:1.75}.canadian-commitment-list{border-top:1px solid var(--line)}.canadian-commitment-list article{padding:2rem 0;border-bottom:1px solid var(--line)}.canadian-commitment-list h3{font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;font-size:clamp(2rem,3vw,3.25rem);line-height:.95;margin:1rem 0 .85rem}.canadian-commitment-list p{max-width:610px;margin:0;color:#596267;line-height:1.7}.canadian-badge{display:inline-flex;align-items:center;gap:.45rem;border:1px solid rgba(0,161,220,.58);padding:.42rem .65rem;border-radius:999px;color:#087daf;background:rgba(0,161,220,.07);font-size:.67rem;font-weight:800;text-transform:uppercase;letter-spacing:.09em}.canadian-badge b{font-size:.95rem;line-height:1}.local-giving{background:var(--carbon);color:#fff;padding:clamp(5rem,9vw,9rem) 6vw;display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:end}.local-giving .eyebrow{color:#59cfff}.local-giving-copy{max-width:620px}.local-giving-copy .lead{color:#fff;font-size:clamp(1.25rem,2vw,1.7rem);line-height:1.5}.local-giving-copy>p:not(.lead){color:#b9c2c5;line-height:1.75}.local-giving .canadian-badge{margin-top:1.2rem;border-color:rgba(89,207,255,.62);background:rgba(89,207,255,.1);color:#e9fbff}.community-partners{padding-top:clamp(5rem,9vw,9rem);padding-bottom:clamp(5rem,9vw,9rem);background:#f0f2f1}.community-partners-head{display:grid;grid-template-columns:.9fr 1.1fr;gap:6vw;align-items:end;margin-bottom:3.5rem}.community-partners-head>p:last-child{max-width:440px;color:#50595d;font-size:1.08rem;line-height:1.75;margin:0 0 .3rem}.community-partner-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;border-top:1px solid var(--line)}.community-partner-grid article{padding:1.5rem 0 0;border-right:1px solid var(--line)}.community-partner-grid article:not(:first-child){padding-left:1.25rem}.community-partner-grid article:last-child{border-right:0}.partner-region{margin:0 0 1.2rem;font-family:"Barlow Condensed",sans-serif;font-size:1.6rem;font-weight:800;text-transform:uppercase;letter-spacing:.03em;color:#111}.community-partner-grid ul{margin:0;padding:0;list-style:none}.community-partner-grid li{padding:1rem 1.1rem 1rem 0;border-top:1px solid var(--line)}.community-partner-grid strong{font-size:1rem;line-height:1.35;color:#111}

/* A composed closing invitation instead of a bright block at the end. */
.about-quote{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(115deg,#070a0c,#141b1f);color:#fff;padding:clamp(5rem,10vw,9rem) max(6vw,calc((100vw - 1280px)/2));border-top:3px solid var(--blue)}.about-quote:before{content:"EF";position:absolute;right:-.08em;bottom:-.32em;z-index:-1;font-family:"Barlow Condensed",Impact,sans-serif;font-size:clamp(17rem,34vw,40rem);font-weight:800;line-height:.7;color:transparent;-webkit-text-stroke:1px rgba(89,207,255,.12)}.about-quote .eyebrow{color:#59cfff}.about-quote h2{font-size:clamp(5rem,8vw,8.5rem);max-width:850px}.about-quote h2 span{color:transparent;-webkit-text-stroke:1px rgba(89,207,255,.8)}.about-quote>p:not(.eyebrow){font-size:1.12rem;line-height:1.75;max-width:570px;color:#cbd5d8}.about-quote .button{background:var(--blue);border-color:var(--blue);margin:0}.about-quote-actions{display:flex;align-items:center;gap:1.5rem;margin-top:2rem}.about-quote-actions>a:last-child{font-family:"Barlow Condensed",sans-serif;font-size:2rem;font-weight:800;letter-spacing:.03em;color:#fff}
@media(max-width:1000px){.canadian-commitment,.local-giving{grid-template-columns:1fr;gap:3rem}.community-partners-head{grid-template-columns:1fr;gap:1rem}.community-partner-grid{grid-template-columns:1fr}.community-partner-grid article{border-right:0;border-bottom:1px solid var(--line);padding:1.5rem 0}.community-partner-grid article:not(:first-child){padding-left:0}.community-partner-grid article:last-child{border-bottom:0}}@media(max-width:680px){.canadian-commitment,.local-giving{padding-left:1.25rem;padding-right:1.25rem}.canadian-commitment h2,.local-giving h2,.community-partners h2{font-size:clamp(3.7rem,16vw,5rem)}.about-quote{padding-left:1.25rem;padding-right:1.25rem}.about-quote-actions{align-items:flex-start;flex-direction:column;gap:.9rem}.about-quote-actions>a:last-child{font-size:1.7rem}}

/* Mobile refinement pass: use a deliberate single-column reading order rather than
   compressing desktop compositions until their content competes for the same space. */
@media (max-width:760px){
  html,body{max-width:100%;overflow-x:hidden}
  .site-header{position:fixed;z-index:80}
  .site-header nav{max-height:calc(100vh - 76px);overflow-y:auto;padding:1rem 1.25rem 1.4rem;gap:.15rem}
  .site-header nav a{display:flex;align-items:center;min-height:46px;padding:.7rem 0;font-size:.8rem}
  .site-header nav a.nav-visualizer{margin:.45rem 0 .7rem;padding:.65rem .8rem;min-height:auto}
  .menu-toggle{min-width:44px;min-height:44px}

  /* Keep the hero's proof points below the copy so they never sit on top of it. */
  .hero{min-height:0;padding-top:76px;padding-bottom:1.25rem;background-position:51% center}
  .hero-copy{min-height:0;width:100%;padding:4.25rem 1.25rem 2.25rem}
  .hero h1{font-size:clamp(3.35rem,14.2vw,4.75rem);line-height:.9}
  .hero-intro{max-width:35rem;margin:1.25rem 0 1.5rem;line-height:1.62}
  .hero-actions{width:100%;gap:.85rem}
  .hero-actions .button{width:100%}
  .hero-actions .text-link{min-height:44px}
  .hero-badges{gap:.5rem;margin-top:1rem}
  .canadian-badge{white-space:normal}
  .hero-facts{position:relative;left:auto;right:auto;bottom:auto;width:auto;margin:0 1.25rem;padding:1.2rem 0 0;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem}
  .hero-facts div{padding-top:.65rem}
  .hero-facts strong{font-size:1.55rem}
  .hero-facts span{font-size:.57rem;line-height:1.28;letter-spacing:.06em}
  .hero-tag,.phone-rail{display:none}

  .intro-band{display:grid;grid-template-columns:1fr 1fr;gap:.35rem .8rem;padding:1rem 1.25rem;overflow:visible}
  .intro-band span{display:none}
  .intro-band p{white-space:normal;font-size:.62rem;letter-spacing:.08em;line-height:1.35}

  .section,.transformation,.systems,.service-area,.reviews,.reviews-listing,.reviews-page-cta{padding-left:1.25rem;padding-right:1.25rem}
  .section-heading,.transformation-head,.reviews-listing-head{gap:1.1rem;margin-bottom:2.4rem}
  .section h2,.transformation h2,.systems h2,.service-area h2{font-size:clamp(3.25rem,14vw,4.4rem);line-height:.88}
  .section-heading>p:last-child,.transformation-head>p,.lead{font-size:1rem;line-height:1.65}

  .service-card,.service-primary{min-height:0}
  .service-photo{min-height:250px}
  .service-copy{padding:1.5rem}
  .service-copy h3{font-size:2.6rem}
  .service-copy>span{right:1.5rem;top:1.5rem}
  .service-copy a{display:inline-flex;min-height:42px;align-items:center}

  .compare{height:min(118vw,490px);min-height:360px}
  .compare-label{top:1rem;padding:.45rem .55rem;font-size:.6rem}
  .before-label{left:1rem}.after-label{right:1rem}
  .transformation-note{font-size:.88rem}

  .process{gap:2.25rem}
  .process .process-photo{height:340px}
  .process-stamp{width:112px;height:112px}
  .steps li{padding:1.1rem 0}
  .steps strong{font-size:1.08rem!important}
  .steps p{font-size:.95rem}

  .project{height:330px;margin-bottom:.8rem}
  .project>div{left:1.2rem;right:1.2rem;bottom:1.2rem}
  .project h3{font-size:2.2rem}

  .systems{gap:0}
  .systems-title>p:last-child{font-size:1rem;line-height:1.65}
  .systems-support{gap:1.5rem;margin-top:1.5rem}
  .system-diagram{margin-top:1.7rem;padding:1rem}
  .systems-list .system-option{padding:1.15rem 0}
  .systems-list .system-option h3{font-size:1.7rem}
  .systems-list .system-option p{font-size:.94rem;line-height:1.58}

  .visualizer-image img{min-height:300px}
  .visualizer-copy{padding:3.4rem 1.25rem}
  .visualizer-copy h2{font-size:clamp(3.35rem,14.5vw,4.6rem)}
  .visualizer-copy li{font-size:.88rem}

  .about-mark{min-height:410px;padding:2rem 1.25rem}
  .about-mark img{width:min(270px,90%)}
  .about h2{font-size:clamp(3.4rem,14vw,4.5rem)}
  .service-area{gap:2.5rem;padding-top:5rem;padding-bottom:5rem}
  .area-list strong{font-size:.9rem;line-height:1.35}

  .quote,.quote-copy{min-height:0}
  .quote-photo{min-height:300px}
  .quote-copy{padding:4rem 1.25rem}
  .quote h2{font-size:clamp(4rem,17.5vw,5.5rem)}
  .quote-actions{width:100%;gap:1rem}
  .quote-actions .button{width:100%}

  .reviews{display:block;padding-top:4.5rem;padding-bottom:4.5rem}
  .reviews h2{font-size:clamp(3.9rem,16.5vw,5.4rem)}
  .review-score{min-height:330px;margin:2.25rem 0;padding:1.55rem}
  .rating-stars-decor{width:calc(100% - 2.4rem);font-size:clamp(2.65rem,14vw,4rem)}
  .google-mark{top:5.65rem;left:1.55rem}
  .reviews-side p{font-size:2.2rem}

  footer{display:grid;grid-template-columns:1fr;padding:2.8rem 1.25rem 1.2rem;gap:2.1rem}
  .footer-brand,.footer-brand img{max-width:min(280px,100%);width:100%;margin:0}
  footer>div:not(.footer-brand):not(.footer-bottom){gap:.4rem}
  footer>div:last-of-type:not(.footer-bottom){grid-column:auto}
  .footer-bottom{grid-column:auto;display:block;margin-top:.1rem}
  .footer-bottom>*{display:block;margin:.4rem 0}

  .contact-hero{padding:7.8rem 1.25rem 3.5rem}
  .contact-hero h1,.quote-form-section h2,.thanks h1{font-size:clamp(3.8rem,16vw,5.3rem)}
  .quote-form-section{padding:4rem 1.25rem}
  .quote-form-section .button{width:100%;justify-content:center}
  .reviews-page-hero{padding:7.8rem 1.25rem 4rem}
  .reviews-page-hero h1{font-size:clamp(3.85rem,16vw,5.3rem)}
  .reviews-page-score{padding:1.65rem}.reviews-page-score strong{font-size:6.1rem}
  .review-card{min-height:0;padding:1.45rem}.review-card blockquote{font-size:2.05rem;margin:1.8rem 0}
}

@media (max-width:380px){
  .site-header .brand,.site-header.scrolled .brand{width:154px}
  .hero h1{font-size:3.2rem}
  .hero-facts{gap:.45rem}
  .hero-facts span{font-size:.52rem}
  .section h2,.transformation h2,.systems h2,.service-area h2{font-size:3.1rem}
  .rating-stars-decor{font-size:2.45rem}
  .footer-phone{font-size:2rem!important}
}

/* Give the home-page brand panel its own mobile composition. The full logo stays
   at its natural aspect ratio instead of being visually compressed in a tall tile. */
@media (max-width:760px){
  .about{gap:3.25rem}
  .about-mark{min-height:0;padding:2.7rem 1.25rem 2.15rem;background:linear-gradient(135deg,#090d10,#1a252b);border-top:3px solid var(--blue);align-items:center;justify-content:center}
  .about-mark img{width:min(355px,100%);height:auto;max-width:100%;aspect-ratio:auto;object-fit:contain;filter:drop-shadow(0 0 2px rgba(255,255,255,.9)) drop-shadow(0 0 9px rgba(89,207,255,.68)) drop-shadow(0 13px 20px rgba(0,0,0,.28))}
  .about-mark span{margin-top:1.25rem;color:#eff8fb;font-size:.76rem;letter-spacing:.1em;line-height:1.45}
}

/* On phones, lead straight into the story. The full brand mark remains part of
   the desktop composition and the site header, without creating a second logo tile. */
@media (max-width:760px){
  .about-mark{display:none}
  .about{display:block}
  .about-copy{max-width:42rem}
}
