@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700;800&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#101214;--muted:#60666c;--paper:#fff;--soft:#f1f3f4;--red:#ff3b0a;--line:#dce0e3;--head:'Barlow Condensed','Arial Narrow',Impact,sans-serif;--body:'Manrope',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:1rem;line-height:1.7}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,summary,select,textarea{touch-action:manipulation}button{cursor:pointer}img{display:block;max-width:100%}h1,h2,h3,h4,p{margin:0}h1,h2,h3{font-family:var(--head);line-height:1.04;font-weight:700}h1{font-size:clamp(3.6rem,6.8vw,7rem);letter-spacing:-.025em}h2{font-size:clamp(2.6rem,4.2vw,4.3rem);letter-spacing:-.015em}h3{font-size:2rem}p{color:var(--muted)}button{border:none}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--red);outline-offset:5px}.skip{position:fixed;top:-100px;left:20px;background:#fff;padding:10px;z-index:100}.skip:focus{top:10px}.wrap{width:min(1260px,calc(100% - 96px));margin:auto}.eyebrow{display:flex;align-items:center;gap:12px;text-transform:uppercase;letter-spacing:.14em;font-size:.8rem;font-weight:800;margin-bottom:20px;line-height:1.5}.eyebrow:before{content:'';width:32px;height:3px;background:var(--red);flex-shrink:0}.eyebrow.red{color:#d93208}.accent{color:var(--red)}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:54px;background:var(--red);color:#fff;padding:14px 24px;font-size:.875rem;font-weight:800;line-height:1.3;border:1px solid transparent;transition:background .2s,transform .2s}.btn:hover{background:#d62d00}.btn.dark{background:var(--ink)}.btn.dark:hover{background:#333}.btn.outline{background:transparent;border-color:#62666b;color:#fff}.btn.outline:hover{background:#ffffff12}.actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px}.nav{position:relative;background:var(--ink);color:#fff;z-index:20;border-bottom:1px solid #34383c}.nav-inner{display:flex;align-items:center;gap:32px;min-height:100px}.brand{display:flex;flex-direction:column;line-height:1}.brand strong{font-family:Arial,sans-serif;font-style:italic;font-weight:900;font-size:2.5rem;letter-spacing:-.09em}.brand span{font-size:.54rem;letter-spacing:.08em;margin-top:8px;font-weight:700}.brand strong:before{content:'';display:block;width:72px;height:4px;background:var(--red);margin-bottom:7px;transform:skewX(-30deg)}.nav-links{display:flex;align-items:center;gap:28px;margin-left:auto;font-size:.875rem;font-weight:700}.nav-links a{padding:12px 0;position:relative}.nav-links a[aria-current=page]:after{content:'';position:absolute;bottom:4px;left:0;right:0;height:2px;background:var(--red)}.nav-call{font-size:.875rem;white-space:nowrap;font-weight:800}.nav-cta{min-height:46px;padding:12px 18px}.menu-toggle{display:none;background:none;color:#fff;font-size:1rem;padding:8px}.hero{position:relative;overflow:hidden;background:var(--ink);color:white}.hero.home{min-height:640px;display:flex;align-items:center}.hero .wrap{position:relative;z-index:2}.hero-copy{width:59%;padding:75px 0 85px}.hero-copy h1{max-width:750px}.hero-copy p{max-width:550px;margin-top:25px;color:#c4c9ce;font-size:1.06rem}.hero-photo{position:absolute;top:0;right:0;bottom:0;width:48%;overflow:hidden}.ref-photo{position:relative;overflow:hidden;min-height:200px}.ref-photo img{position:absolute;max-width:none;left:0;top:0;width:200%;height:100%;object-fit:fill}.hero-photo img{width:210%;left:-2%;object-fit:fill}.hero-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,var(--ink),transparent 28%),linear-gradient(0deg,#10121455,transparent 50%)}.hero-index{position:absolute;bottom:28px;right:48px;z-index:3;font-size:.75rem;color:#fff;font-weight:700;letter-spacing:.12em}.hero-index span{color:var(--red);margin-right:15px}.trust-strip{background:#181b1e;color:#fff}.trust-inner{display:grid;grid-template-columns:repeat(4,1fr);padding:24px 0}.trust-item{padding:0 25px;border-right:1px solid #35383b;display:flex;align-items:center;gap:18px}.trust-item:first-child{padding-left:0}.trust-item:last-child{border:0}.trust-item strong{font-family:var(--head);font-size:2.25rem;line-height:1}.trust-item span{font-size:.8rem;color:#c4c9ce;line-height:1.4}.section{padding:90px 0}.intro{display:grid;grid-template-columns:1fr 1.05fr;gap:100px}.intro h2{max-width:500px}.intro p+p{margin-top:18px}.text-link{display:inline-block;margin-top:26px;font-size:.875rem;font-weight:800;padding-bottom:4px;border-bottom:2px solid var(--red)}.text-link:hover{color:#d93208}.preview-note{background:var(--soft);padding:24px;text-align:center;font-size:.875rem}
@media(min-width:1600px){.hero.home{min-height:720px}}@media(max-width:1100px){.wrap{width:calc(100% - 56px)}.nav-inner{gap:20px}.nav-links{gap:18px}.nav-call{display:none}.hero-copy{width:62%}.hero.home{min-height:580px}.intro{gap:50px}.trust-item{padding:0 18px;gap:10px}}
@media(max-width:760px){.wrap{width:calc(100% - 40px)}.nav-inner{min-height:80px;justify-content:space-between;gap:12px}.brand strong{font-size:2rem}.nav-links{display:none;position:absolute;top:80px;left:0;right:0;background:var(--ink);padding:20px;flex-direction:column;align-items:stretch;border-top:1px solid #333;gap:5px}.nav-links.open{display:flex}.nav-cta{display:none}.menu-toggle{display:block}.hero.home{min-height:0;display:block;padding-bottom:0}.hero-copy{padding:55px 0 50px;width:100%}.hero-copy h1{font-size:clamp(3.4rem,11vw,5rem);max-width:550px}.hero-copy p{max-width:480px}.hero-photo{position:relative;width:100%;height:320px}.hero-photo img{width:200%;left:0}.hero-photo:after{background:linear-gradient(180deg,var(--ink),transparent 20%)}.hero-index{bottom:20px;right:20px}.trust-inner{grid-template-columns:1fr 1fr;gap:24px;padding:25px 0}.trust-item{padding:0!important;border:0}.trust-item strong{font-size:2rem}.intro{grid-template-columns:1fr;gap:28px}.section{padding:60px 0}.eyebrow{font-size:.75rem}h2{font-size:3rem}.actions{gap:10px}.btn{padding:14px 18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
/* Shared page composition */
[hidden]{display:none!important}.nav{background:white;color:var(--ink);border-bottom:1px solid var(--line)}.nav-inner{min-height:96px}.brand{display:block;flex-shrink:0}.brand img{width:134px;height:76px;object-fit:contain}.nav-links{font-size:.875rem}.nav-links.open{background:white}.mobile-estimate{display:none}.menu-toggle{color:var(--ink)}.hero.home,.hero.inner{display:flex;align-items:center;min-height:620px}.hero.inner{min-height:550px}.hero.compact{min-height:480px}.hero-copy{width:59%;padding:75px 0 80px}.hero.inner .hero-copy{padding:65px 0 75px}.hero.compact .hero-copy{padding:55px 0 65px}.hero-photo{position:absolute;width:56%;right:0;top:0;bottom:0;min-height:0}.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center;left:0}.hero-photo:after{background:linear-gradient(90deg,var(--ink) 0%,#10121477 15%,transparent 45%),linear-gradient(0deg,#10121477,transparent 65%)}.hero-copy h1{font-size:clamp(4rem,6.8vw,7rem)}.hero.inner .hero-copy h1{font-size:clamp(3.8rem,5.8vw,6rem)}.hero-copy p{max-width:560px}.hero-index{font-size:.7rem;bottom:22px;right:48px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:40px}.section-heading h2{max-width:850px}.section-heading p{max-width:280px}.section-heading .text-link{flex-shrink:0;margin:0 0 7px}.intro .btn{margin-top:26px}.service-section{background:var(--soft)}.service-list{display:grid;gap:12px}.service-row{display:grid;grid-template-columns:44% 56%;background:var(--ink);color:white;min-height:325px;overflow:hidden}.service-image{position:relative;min-height:325px;overflow:hidden}.service-image>img{height:100%;width:100%;object-fit:cover}.service-image.ref-photo>img{width:190.5%;height:100%;object-fit:fill}.service-content{position:relative;padding:35px 45px}.service-number{font-size:.75rem;color:var(--red);letter-spacing:.08em;font-weight:800}.service-content h3{font-size:3.3rem;margin-top:5px}.service-content p{color:#bfc5ca;max-width:560px;margin-top:12px}.service-content ul{display:flex;flex-wrap:wrap;gap:5px 20px;padding:0;margin:18px 0 0;list-style:none;font-size:.8rem;color:#e3e6e9}.service-content li:before{content:'+';color:var(--red);margin-right:8px}.service-content .text-link{color:#fff;margin-top:20px}.service-action{background:transparent;border:0;border-bottom:2px solid var(--red);padding:0 0 4px;min-height:0;margin-top:20px;font-size:.875rem}.service-action:hover{background:transparent;color:#ff6b45}.restoration-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:100px;align-items:center}.restoration-layout>div>p{margin-top:24px}.restoration-layout .btn{margin-top:28px}.scope-panel{background:var(--ink);color:white;padding:50px}.scope-mark{font-size:.9rem;color:var(--red);font-weight:800;display:block;margin-bottom:20px}.scope-panel h3{font-size:3.7rem}.scope-panel p{color:#bfc5ca;margin-top:24px;padding-top:25px;border-top:3px solid var(--red);max-width:290px}.reasons{background:var(--soft)}.reason-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0 30px}.reason{padding:30px 0 35px;border-top:1px solid #cbd1d5}.number{font-weight:800;letter-spacing:.07em;color:#dc3208;font-size:.875rem;display:block;margin-bottom:22px}.reason h3{font-size:1.8rem;margin-bottom:14px;line-height:1.15}.reason p{max-width:340px;font-size:.95rem}.project-collage{display:grid;grid-template-columns:1.1fr 1fr;grid-template-rows:300px 300px;gap:16px}.project-card{position:relative;display:block;padding:0;text-align:left;overflow:hidden;background:#23272b;color:white;min-width:0}.project-card:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#101214ee 0%,#10121433 42%,transparent 70%);pointer-events:none}.project-card>img{height:100%;width:100%;object-fit:cover;transition:transform .5s}.project-card:hover>img{transform:scale(1.025)}.project-card.large{grid-row:1/3}.project-caption{position:absolute;bottom:25px;left:28px;right:25px;z-index:1;display:flex;flex-direction:column;align-items:flex-start;gap:9px}.tag{text-transform:uppercase;letter-spacing:.13em;font-size:.7rem;font-weight:800;line-height:1.4}.project-caption>.tag{color:#f79c84}.project-caption strong{font-family:var(--head);font-size:2rem;line-height:1.1;font-weight:600}.view-label{font-size:.8rem;opacity:.8;margin-top:2px;border-bottom:1px solid #a5adb3;line-height:1.5}.process{background:var(--soft)}.process-grid{display:grid;grid-template-columns:repeat(5,1fr);margin-top:40px;border-top:1px solid #bfc7cd;gap:28px}.process-grid>div{position:relative;padding-top:25px}.process-grid>div:before{content:'';position:absolute;top:-3px;left:0;width:32px;height:5px;background:var(--red)}.process-grid .number{margin-bottom:14px}.process-grid h3{font-size:1.8rem;margin-bottom:14px}.process-grid p{font-size:.9rem}.faq-layout{display:grid;grid-template-columns:.75fr 1.25fr;gap:90px}.faq-layout>div:first-child>p{margin-top:25px}.accordions{border-top:1px solid var(--line)}.accordions details{border-bottom:1px solid var(--line)}.accordions summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:21px 0;font-size:1rem;font-weight:800;line-height:1.5}.accordions summary::-webkit-details-marker{display:none}.accordions summary span{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:28px;height:28px;border:1px solid #cdd1d5;font-size:1.4rem;font-weight:400}.accordions details[open] summary span{background:var(--red);border-color:var(--red);color:white;transform:rotate(45deg)}.accordions details>p{padding:0 40px 24px 0;font-size:.95rem}.review-section{background:var(--ink);color:white;padding:80px 0}.review-layout{display:grid;grid-template-columns:.75fr 1.25fr;gap:90px;align-items:center}.review-layout .text-link{color:#fff}.review-layout figure{position:relative;margin:0;padding:12px 0 0}.quote-mark{position:absolute;right:10px;top:-45px;font-family:var(--head);font-size:9rem;color:#ff3b0a38}.review-layout blockquote{font-family:var(--head);font-size:clamp(2rem,3vw,3rem);line-height:1.18;margin:0;font-weight:500;position:relative}.review-layout figcaption{font-weight:800;font-size:.9rem;margin-top:28px}.review-layout figcaption span{font-size:.75rem;color:#bfc5ca;font-weight:500;display:block;margin-top:5px}.cta{background:var(--red);color:white;padding:65px 0;position:relative;overflow:hidden}.cta-inner{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:70px}.cta .eyebrow:before{background:#fff}.cta .eyebrow{font-size:.75rem}.cta h2{font-size:clamp(3.3rem,5.2vw,5rem)}.cta p{color:white}.cta .btn{background:var(--ink);color:white}.cta-phone{font-weight:800;align-self:center;font-size:1rem}.cta .actions{align-items:center}.footer{background:var(--ink);color:#fff;padding:50px 0 0}.footer-grid{display:grid;grid-template-columns:1.4fr .7fr 1fr;gap:70px;padding-bottom:45px}.footer-brand{display:block;width:150px;background:white;padding:10px}.footer-brand img{width:130px;height:72px;object-fit:contain}.footer p{font-size:.875rem;color:#aeb8bf;margin-top:18px}.footer h3{font-family:var(--body);font-size:.875rem;letter-spacing:.04em;margin-bottom:20px}.footer-grid>div>a:not(.footer-brand){display:block;font-size:.875rem;color:#bdc5cb;margin:8px 0}.footer-grid>div>a:hover{color:white}.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid #333b40;padding:20px 0;color:#939fa8;font-size:.75rem;gap:30px}.material-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:25px}.materials{background:var(--soft)}.material-grid article{padding:28px;background:white;border-top:3px solid var(--red);display:flex;flex-direction:column;align-items:flex-start}.material-grid h3{font-size:2rem;margin-bottom:18px}.material-grid p{font-size:.95rem}.material-type{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;font-weight:800;margin-top:25px;color:#5b646b}.atlas-block{display:grid;grid-template-columns:1.1fr .9fr;background:var(--ink);color:white;margin-top:35px}.atlas-block>div:first-child{padding:40px}.atlas-block h3{font-size:3rem}.atlas-block p{color:#bfc5ca;margin:22px 0 25px;max-width:600px}.atlas-block .eyebrow{color:#fff}.atlas-image{min-height:360px;overflow:hidden}.atlas-image img{width:100%;height:100%;object-fit:cover}.filters{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 22px}.filter{padding:11px 18px;background:white;border:1px solid var(--line);color:var(--ink);font-size:.875rem;font-weight:700;line-height:1.5}.filter:hover{border-color:#888}.filter.active{background:var(--ink);border-color:var(--ink);color:white}.gallery-count{font-size:.8rem;margin-bottom:18px}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.project-grid .project-card{height:370px}.project-grid .project-caption{left:24px;right:20px;bottom:24px}.project-grid .project-caption strong{font-size:1.8rem}.dark-statement{background:var(--ink);color:#fff;padding:75px 0}.dark-statement h2{font-size:clamp(3rem,5.5vw,5.5rem)}.dark-statement p{color:#bfc5ca;max-width:560px;margin:25px 0}.team-section{background:var(--soft)}.team-layout{display:grid;grid-template-columns:1fr 1fr 1.3fr;gap:30px}.team-card{background:white}.team-card img{height:390px;width:100%;object-fit:cover;object-position:center 25%}.team-card>div{padding:24px}.team-card h3{font-size:2rem}.team-card p{font-size:.875rem;margin-top:8px}.team-copy{padding:20px 0 0 20px}.team-copy h3{font-size:2.6rem;margin-bottom:22px}.team-copy p+p{margin-top:18px}.team-copy .btn{margin-top:25px}.area-section{background:var(--soft)}.blog-feature{display:grid;grid-template-columns:1.2fr .8fr;gap:0;background:var(--soft);margin-bottom:36px}.blog-card{display:block;background:white;padding:0;text-align:left;min-width:0;color:var(--ink);border:1px solid var(--line);height:100%}.blog-card>img{width:100%;height:250px;object-fit:cover}.blog-card-content{display:flex;flex-direction:column;padding:28px}.blog-meta{display:flex;justify-content:space-between;font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:#d63207;font-weight:800;margin-bottom:15px;gap:12px}.blog-meta span{color:#727a80;letter-spacing:0;font-weight:500;text-transform:none}.blog-card-content>strong{font-family:var(--head);font-size:2.15rem;line-height:1.1;margin-bottom:15px}.blog-excerpt{color:var(--muted);font-size:.95rem;line-height:1.7}.blog-card .text-link{align-self:flex-start;margin-top:24px;color:var(--ink)}.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.feature-copy{padding:50px 42px;align-self:center}.feature-copy>.tag{color:#d63207}.feature-copy h3{font-size:3rem;margin:20px 0}.feature-copy p{margin-bottom:25px}.blog-empty{padding:40px;background:var(--soft)}
/* Accessible detail and enquiry dialogs */
.modal{border:0;padding:0;margin:auto;background:white;color:var(--ink);width:min(800px,calc(100% - 32px));max-height:calc(100dvh - 40px);overflow:auto;box-shadow:0 30px 100px #0005}.modal::backdrop{background:#101214c9;backdrop-filter:blur(3px)}.modal-close{position:sticky;float:right;top:12px;right:12px;margin:12px 12px -58px 0;z-index:3;width:44px;height:44px;font-size:1.9rem;background:var(--ink);color:white;line-height:1;display:flex;align-items:center;justify-content:center}.modal-body{padding:48px}.modal h2{font-size:3.3rem;margin-bottom:22px;padding-right:32px}.modal .eyebrow{font-size:.7rem}.modal-body>p{margin-bottom:24px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:25px 0}.form-grid label{display:flex;flex-direction:column;font-size:.875rem;font-weight:800;line-height:1.5;gap:8px}.form-grid input,.form-grid select,.form-grid textarea{width:100%;padding:12px 14px;background:#fafbfc;border:1px solid #c6ccd2;color:var(--ink);border-radius:0;font-size:1rem}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{outline:2px solid var(--red);outline-offset:1px}.full{grid-column:1/-1}.form-note{font-size:.8rem;margin-top:20px}.form-note a{color:#ce3006;text-decoration:underline}.project-modal{width:min(1050px,calc(100% - 32px))}#project-detail{display:grid;grid-template-columns:1.1fr .9fr}.project-detail-image{min-height:520px;background:var(--soft);display:flex;align-items:center}.project-detail-image img{width:100%;max-height:75dvh;object-fit:contain}.project-detail-copy{padding:50px 35px;align-self:center}.project-detail-copy h2{font-size:3rem}.project-detail-copy>p{font-size:.95rem}.project-detail-note{margin:22px 0}.article-lead{font-size:1.1rem}.article-cover{width:100%;height:300px;object-fit:cover;margin-bottom:32px}.article-section{margin:28px 0}.article-section h3{font-size:1.9rem;line-height:1.15;margin-bottom:14px}.article-contact{background:var(--soft);padding:28px;margin-top:32px}.article-contact h3{margin-bottom:12px}.article-contact .text-link{margin-top:16px}
@media(min-width:1600px){.hero.home{min-height:700px}}@media(max-width:1100px){.hero-copy{width:64%}.hero-photo{width:57%}.section-heading{gap:30px}.restoration-layout,.faq-layout,.review-layout{gap:55px}.service-content{padding:30px}.service-row{grid-template-columns:43% 57%}.service-content h3{font-size:2.8rem}.material-grid{grid-template-columns:repeat(2,1fr)}.project-grid{grid-template-columns:repeat(2,1fr)}.team-layout{grid-template-columns:1fr 1fr}.team-copy{grid-column:1/-1;display:block;padding-left:0;max-width:700px}.team-card img{height:420px}.blog-grid{gap:18px}.blog-card-content{padding:22px}.blog-card-content>strong{font-size:1.9rem}.feature-copy{padding:30px}.footer-grid{gap:40px}}
@media(max-width:760px){.nav-inner{min-height:80px}.brand img{width:112px;height:64px}.nav-links{top:80px;border-color:var(--line)}.mobile-estimate{display:block}.hero.home,.hero.inner,.hero.compact{display:block;min-height:0}.hero-copy,.hero.inner .hero-copy,.hero.compact .hero-copy{width:100%;padding:50px 0}.hero-copy h1,.hero.inner .hero-copy h1{font-size:clamp(3.6rem,12vw,5.5rem)}.hero-photo{position:relative;top:auto;right:auto;bottom:auto;width:100%;height:330px}.hero-photo img{width:100%;object-fit:cover;left:0;object-position:center 58%}.hero-photo:after{background:linear-gradient(180deg,var(--ink),transparent 20%),linear-gradient(0deg,#10121444,transparent 40%)}.hero-index{right:20px;bottom:18px}.hero-copy p{font-size:1rem}.section-heading{display:block;margin-bottom:30px}.section-heading>.text-link{margin-top:20px}.section-heading>p{margin-top:20px;max-width:500px}.service-row{grid-template-columns:1fr}.service-image{min-height:0;height:280px}.service-content{padding:30px}.service-content h3{font-size:3rem}.service-content ul{font-size:.875rem}.service-image.ref-photo>img{width:190.5%;object-fit:fill}.restoration-layout{grid-template-columns:1fr;gap:35px}.scope-panel{padding:35px}.scope-panel h3{font-size:3rem}.reason-grid{grid-template-columns:1fr 1fr;gap:0 24px}.reason h3{font-size:1.65rem}.reason p{font-size:.9rem}.project-collage{grid-template-columns:1fr 1fr;grid-template-rows:360px 270px;gap:12px}.project-card.large{grid-column:1/-1;grid-row:1}.project-caption{left:18px;right:18px;bottom:20px}.project-caption strong{font-size:1.7rem}.project-collage>.project-card:not(.large) .project-caption strong{font-size:1.5rem}.project-collage>.project-card:not(.large) .tag{font-size:.65rem}.process-grid{grid-template-columns:1fr;gap:0;border:0;margin-top:24px}.process-grid>div{padding:22px 0 22px 70px;border-top:1px solid #cbd1d5}.process-grid>div:before{display:none}.process-grid .number{position:absolute;left:0;top:29px}.process-grid h3{margin-bottom:8px}.process-grid p{font-size:.95rem}.faq-layout,.review-layout{grid-template-columns:1fr;gap:35px}.faq-layout .text-link{margin-top:15px}.accordions summary{font-size:.95rem}.accordions details>p{padding-right:0}.review-section{padding:60px 0}.review-layout blockquote{font-size:2.3rem}.cta{padding:50px 0}.cta-inner{grid-template-columns:1fr;gap:30px}.cta h2{font-size:3.8rem}.footer-grid{grid-template-columns:1fr 1fr;gap:30px}.footer-grid>div:first-child{grid-column:1/-1}.footer-bottom{flex-direction:column;gap:8px}.material-grid{gap:15px}.material-grid article{padding:22px}.material-grid h3{font-size:1.8rem}.atlas-block{grid-template-columns:1fr}.atlas-block>div:first-child{padding:30px}.atlas-block h3{font-size:2.8rem}.atlas-image{height:300px;min-height:0}.project-grid{gap:14px}.project-grid .project-card{height:300px}.project-grid .project-caption{left:18px;bottom:20px;right:15px}.project-grid .project-caption strong{font-size:1.5rem}.filters{gap:7px}.filter{padding:9px 13px;font-size:.8rem}.team-layout{gap:18px}.team-card img{height:300px}.team-card>div{padding:18px}.team-card h3{font-size:1.8rem}.team-copy{margin-top:15px}.blog-feature{grid-template-columns:1fr}.feature-copy{display:none}.blog-grid{grid-template-columns:1fr;gap:25px}.blog-card>img{height:250px}.blog-card-content>strong{font-size:2.15rem}.modal-body{padding:34px 25px}.modal h2{font-size:2.8rem}.form-grid{grid-template-columns:1fr;gap:17px}#project-detail{grid-template-columns:1fr}.project-detail-image{min-height:0;background:#111}.project-detail-image img{max-height:45dvh}.project-detail-copy{padding:30px}.project-detail-copy h2{font-size:2.7rem}.article-cover{height:240px}.article-section h3{font-size:1.8rem}.article-contact{padding:22px}.modal{max-height:calc(100dvh - 24px)}}
@media(max-width:420px){.reason-grid{grid-template-columns:1fr}.project-grid{grid-template-columns:1fr}.project-grid .project-card{height:350px}.project-collage{grid-template-columns:1fr;grid-template-rows:350px 300px 300px}.project-card.large{grid-column:auto;grid-row:auto}.project-caption strong{font-size:1.9rem!important}.material-grid{grid-template-columns:1fr}.team-layout{grid-template-columns:1fr}.team-card img{height:380px}.team-copy{grid-column:auto}.footer-grid{grid-template-columns:1fr}.footer-grid>div:first-child{grid-column:auto}.trust-item{gap:12px}.trust-item span{font-size:.75rem}.hero-copy .actions .btn{min-width:0;font-size:.8rem}}
.btn:not(.dark):not(.outline):not(.service-action){background:#d93705}.btn:not(.dark):not(.outline):not(.service-action):hover{background:#b92a00}.reason p,.process-grid p,.accordions details>p,.material-grid p,.blog-excerpt,.project-detail-copy>p{font-size:1rem}.number{color:#c72b06}.cta p,.cta .eyebrow,.cta-phone{color:var(--ink)}
/* Services disclosure: eight routes, grouped by scope. */
.services-menu { position: relative; }
.services-toggle { display: flex; align-items: center; gap: 9px; padding: 12px 0; background: transparent; color: inherit; font-size: inherit; font-weight: inherit; position: relative; }
.dropdown-chevron { width: 6px; height: 6px; border: solid currentColor; border-width: 0 1.5px 1.5px 0; transform: rotate(45deg) translateY(-2px); transition: transform .2s; }
.is-open .dropdown-chevron { transform: rotate(225deg) translate(-2px,-1px); }
.service-current .services-toggle:after { content: ''; position: absolute; left: 0; right: 0; bottom: 4px; height: 2px; background: var(--red); }
.services-dropdown { position: absolute; top: calc(100% + 20px); left: -32px; width: 560px; color: var(--ink); background: white; border: 1px solid var(--line); border-top: 3px solid var(--red); box-shadow: 0 15px 40px #10121425; }
.service-nav-top { padding: 20px 25px; font-family: var(--head); font-size: 1.55rem; font-weight: 600; border-bottom: 1px solid var(--line); }
.service-nav-top span { color: #5f666c; }
.service-nav-columns { display: grid; grid-template-columns: 1fr 1fr; padding: 22px 25px 25px; gap: 25px; }
.service-nav-heading { display: block; font-size: .65rem; letter-spacing: .15em; font-weight: 800; text-transform: uppercase; color: #c82c06; margin-bottom: 8px; }
.nav-links .service-nav-group a { display: block; padding: 10px 0; font-size: .84rem; line-height: 1.4; }
.service-nav-group a:hover { color: #c82c06; }
.service-nav-group a[aria-current=page] { color: #c82c06; }
.nav-links .service-nav-group a[aria-current=page]:after { display: none; }

/* Preserve the original logo shape and orange; light lettering sits on transparency. */
.logo-color-defs { position: absolute; pointer-events: none; overflow: hidden; }
.footer-brand { width: 200px; padding: 0; background: transparent; }
.footer-brand img { width: 200px; height: 112px; filter: url(#footer-logo-light); }
.footer-grid { grid-template-columns: 1.25fr .6fr 1.05fr 1.05fr; gap: 45px; }
.footer-grid>div>a:not(.footer-brand) { line-height: 1.55; }
.footer-grid>div:first-child>p { max-width: 285px; }

/* Service pages follow the photo-backed, stacked layout in the client board. */
.service-page .nav { position: absolute; top: 0; left: 0; right: 0; color: white; background: transparent; border-bottom-color: #ffffff24; }
.service-page .brand img { filter: url(#footer-logo-light); }
.service-page .nav .menu-toggle { color: white; }
.hero.inner.service-hero { min-height: 690px; padding-top: 96px; }
.service-hero .hero-photo { width: 100%; }
.service-hero .hero-photo img { object-position: center 48%; }
.service-hero .hero-photo:after { background: linear-gradient(90deg,#101214f5 0%,#101214c4 32%,#1012142b 82%),linear-gradient(0deg,#1012148a,transparent 35%),linear-gradient(180deg,#10121475,transparent 25%); }
.service-hero .hero-copy { width: 70%; padding: 65px 0 100px; }
.hero.inner.service-hero .hero-copy h1 { font-size: clamp(4rem,6.3vw,6.6rem); max-width: 800px; }
.service-hero .hero-copy p { color: #edf0f2; max-width: 595px; font-size: 1rem; line-height: 1.7; }
.service-hero-proof { position: absolute; right: 48px; bottom: 0; z-index: 3; display: flex; padding: 20px 30px; gap: 35px; background: #101214a8; backdrop-filter: blur(5px); }
.service-hero-proof strong { display: block; font-family: var(--head); font-size: 1.8rem; font-weight: 600; line-height: 1.05; }
.service-hero-proof span { text-transform: uppercase; font-size: .55rem; letter-spacing: .08em; color: #d0d4d7; font-weight: 700; }
.btn.urgent-call { background: #d93705; color: white; }
.service-trust { border-bottom: 1px solid var(--line); background: white; }
.service-trust>.wrap { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 18px; padding: 22px 0; }
.service-trust>.wrap>span { display: flex; gap: 9px; align-items: center; font-size: .62rem; font-weight: 800; letter-spacing: .055em; text-transform: uppercase; line-height: 1.5; }
.trust-check { color: #d42f06; font-size: .9rem; }
.service-introduction { padding-bottom: 50px; }
.service-intro-layout { display: grid; grid-template-columns: .8fr 1.2fr; gap: 65px; }
.service-intro-layout h2 { font-size: clamp(2.9rem,4.2vw,4.4rem); max-width: 430px; }
.service-intro-copy { border-left: 2px solid var(--red); padding-left: 40px; }
.service-intro-copy h3 { font-family: var(--body); font-size: 1.1rem; line-height: 1.45; font-weight: 800; max-width: 580px; margin-bottom: 22px; }
.service-intro-copy p { font-size: 1rem; }
.service-intro-copy p+p { margin-top: 18px; }
.service-intro-copy .btn { margin-top: 26px; }
.service-detail { padding-top: 50px; }
.service-detail-layout { display: grid; grid-template-columns: .8fr 1.2fr; gap: 65px; align-items: center; }
.capability-card { max-width: 440px; background: #0b0c0d; color: white; padding: 42px; box-shadow: 0 18px 35px #10121413; }
.capability-quote { display: block; color: var(--red); font-family: Georgia,serif; font-size: 5rem; line-height: .8; margin-bottom: 8px; }
.capability-card h3 { font-family: var(--head); text-transform: uppercase; font-size: 2.35rem; line-height: 1.08; font-weight: 600; }
.capability-rule { display: block; width: 45px; height: 3px; background: var(--red); margin: 24px 0; }
.capability-card p { color: #c2c8cc; font-size: .9rem; max-width: 275px; }
.service-detail-copy h2 { max-width: 620px; font-size: clamp(2.8rem,4.1vw,4.3rem); }
.service-detail-copy p { margin-top: 22px; }
.service-detail-copy .btn { margin-top: 28px; }
.service-gallery { padding-top: 50px; }
.service-gallery .section-heading h2 { font-size: clamp(3rem,4.2vw,4.3rem); }
.service-gallery .section-heading p { margin-top: 15px; max-width: 610px; }
.service-gallery .project-collage { grid-template-columns: 1.1fr 1fr; grid-template-rows: 275px 275px; gap: 14px; }
.service-gallery .project-caption { bottom: 22px; }
.service-options { background: var(--soft); }
.service-option-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 20px; }
.service-option-grid>a { display: flex; flex-direction: column; background: white; border-top: 3px solid var(--red); padding: 28px 25px; }
.service-option-grid h3 { font-size: 2.2rem; margin-bottom: 18px; }
.service-option-grid p { font-size: .95rem; margin-bottom: 20px; }
.service-option-grid .text-link { margin-top: auto; align-self: flex-start; font-size: .8rem; }
.service-atlas { display: flex; justify-content: space-between; gap: 40px; align-items: center; margin-top: 35px; padding: 30px 35px; background: white; }
.service-atlas h3 { font-size: 2rem; margin-bottom: 12px; }
.service-atlas .btn { flex-shrink: 0; }
.related-service-links { display: flex; flex-wrap: wrap; align-items: center; gap: 18px 30px; padding: 28px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); font-size: .8rem; font-weight: 800; }
.related-service-links>span { color: #686f74; font-weight: 500; margin-right: auto; }
.related-service-links>a { border-bottom: 2px solid transparent; }
.related-service-links>a[aria-current=page] { border-bottom-color: var(--red); }
.related-service-links>a:hover { color: #c82c06; }
.service-reviews { background: #f4f5f6; padding: 55px 0; }
.service-review-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 75px; align-items: center; }
.service-review-layout h2 { font-size: 3.3rem; }
.service-review-layout p { max-width: 500px; }
.service-review-layout .btn { margin-top: 22px; }
.service-cta { padding: 75px 0; }
.service-cta .cta-inner { position: relative; z-index: 1; gap: 70px; }
.service-cta h2 { color: white; font-size: clamp(3.3rem,4.7vw,5rem); }
.service-cta p { color: #1a1d20; }
.service-cta .actions { gap: 12px; }
.service-cta .btn.dark { background: var(--ink); color: white; }
.btn.cta-call { background: transparent; border: 1px solid #15171c; color: var(--ink); }
.btn.cta-call:hover { background: #ffffff24; }
.cta-wordmark { position: absolute; right: -20px; top: -35px; color: #ffffff12; font-family: var(--head); font-weight: 800; font-size: 13rem; line-height: 1; letter-spacing: -.03em; pointer-events: none; }
.service-faq { background: #f4f5f6; padding-bottom: 70px; }
.service-faq-heading { position: relative; background: var(--ink); color: white; padding: 60px 0 85px; text-align: center; overflow: hidden; }
.service-faq-heading>img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 40%; opacity: .14; }
.service-faq-heading>.wrap { position: relative; }
.service-faq-heading .eyebrow { justify-content: center; }
.service-faq-heading h2 { font-size: clamp(2.9rem,4.2vw,4.3rem); line-height: 1.08; }
.service-faq-heading p { color: #cbd1d5; margin-top: 22px; }
.service-faq-body { position: relative; margin-top: -32px; max-width: 1100px; }
.service-faq-body .accordions { border: 0; box-shadow: 0 12px 35px #10121409; }
.service-faq-body details { border: 0; background: white; margin-bottom: 8px; }
.service-faq-body summary { justify-content: flex-start; padding: 20px 25px; gap: 16px; }
.service-faq-body summary .faq-symbol { width: 24px; height: 24px; background: var(--ink); border: 0; border-radius: 50%; color: white; font-size: 1.25rem; }
.service-faq-body details[open] .faq-symbol { background: var(--red); }
.service-faq-body details>p { padding: 0 28px 26px 65px; }
.service-faq-contact { display: flex; justify-content: center; align-items: center; gap: 20px; margin-top: 28px; font-size: .8rem; color: #646c73; }
.service-faq-contact .text-link { margin: 0; }

@media(max-width:1100px) {
 .nav-inner { gap: 20px; }
 .nav-links { gap: 18px; }
 .services-dropdown { left: -95px; }
 .service-hero .hero-copy { width: 78%; }
 .service-hero-proof { right: 28px; }
 .service-trust>.wrap { justify-content: center; gap: 16px 24px; }
 .service-intro-layout,.service-detail-layout { gap: 45px; }
 .service-intro-copy { padding-left: 30px; }
 .capability-card { padding: 32px; }
 .service-option-grid { grid-template-columns: repeat(2,1fr); }
 .footer-grid { grid-template-columns: 1fr .6fr 1fr; gap: 35px; }
 .footer-grid>div:last-child { grid-column: 1/-1; display: flex; flex-wrap: wrap; gap: 12px 30px; align-items: center; padding-top: 25px; border-top: 1px solid #333b40; }
 .footer-grid>div:last-child h3,.footer-grid>div:last-child>a { margin: 0; }
}
@media(max-width:760px) {
 .nav-inner { min-height: 80px; }
 .brand img { width: 120px; height: 66px; }
 .nav-links { max-height: calc(100dvh - 80px); overflow-y: auto; background: white; color: var(--ink); border-top: 1px solid var(--line); padding: 16px 20px 22px; }
 .mobile-estimate { display: block; color: #c82c06; }
 .services-toggle { width: 100%; justify-content: space-between; padding: 12px 0; }
 .services-dropdown { position: static; width: 100%; margin: 8px 0 14px; box-shadow: none; border-left: 0; border-right: 0; }
 .service-nav-top { display: none; }
 .service-nav-columns { padding: 18px 14px; grid-template-columns: 1fr; gap: 20px; background: #f4f5f6; }
 .service-nav-group a { min-height: 42px; }
 .nav-links .service-nav-group a { padding: 10px 0; }
 .service-current .services-toggle:after { right: auto; width: 60px; }
 .hero.inner.service-hero { display: block; min-height: 0; padding-top: 0; }
 .service-hero .hero-photo { position: absolute; height: 100%; width: 100%; }
 .service-hero .hero-photo:after { background: linear-gradient(90deg,#101214ee,#10121488),linear-gradient(0deg,#101214ee,transparent 60%); }
 .hero.inner.service-hero .hero-copy { width: 100%; padding: 130px 0 45px; }
 .hero.inner.service-hero .hero-copy h1 { font-size: clamp(3.3rem,12vw,5.5rem); }
 .service-hero .hero-copy p { font-size: 1rem; }
 .service-hero-proof { position: relative; right: auto; bottom: auto; justify-content: space-between; padding: 22px 20px; gap: 24px; border-top: 1px solid #ffffff24; background: #10121455; }
 .service-hero-proof strong { font-size: 1.6rem; }
 .service-hero-proof span { font-size: .6rem; }
 .service-trust>.wrap { justify-content: flex-start; gap: 14px 18px; padding: 22px 0; }
 .service-trust>.wrap>span { font-size: .62rem; width: calc(50% - 9px); }
 .service-introduction { padding-bottom: 30px; }
 .service-intro-layout,.service-detail-layout { grid-template-columns: 1fr; gap: 32px; }
 .service-intro-layout h2 { max-width: 540px; font-size: 3.3rem; }
 .service-intro-copy { padding-left: 22px; }
 .service-detail { padding-top: 30px; }
 .capability-card { max-width: none; padding: 34px; }
 .capability-card h3 { font-size: 2.4rem; }
 .service-detail-copy h2 { font-size: 3.2rem; }
 .service-gallery { padding-top: 30px; }
 .service-gallery .project-collage { grid-template-columns: 1fr 1fr; grid-template-rows: 350px 250px; }
 .service-atlas { display: block; padding: 28px; }
 .service-atlas .btn { margin-top: 24px; }
 .related-service-links { gap: 14px 22px; }
 .related-service-links>span { width: 100%; }
 .service-review-layout { grid-template-columns: 1fr; gap: 25px; }
 .service-review-layout h2 { font-size: 3rem; }
 .service-cta { padding: 55px 0; }
 .service-cta .cta-inner { gap: 28px; }
 .service-cta h2 { font-size: 3.7rem; }
 .cta-wordmark { top: 0; font-size: 8rem; }
 .service-faq-heading { padding: 50px 0 70px; }
 .service-faq-heading h2 { font-size: 2.7rem; }
 .service-faq-body summary { padding: 18px; gap: 12px; }
 .service-faq-body details>p { padding: 0 18px 23px; }
 .service-faq-contact { flex-direction: column; gap: 10px; }
 .footer-grid { grid-template-columns: 1fr 1fr; gap: 32px; }
 .footer-grid>div:first-child { grid-column: 1/-1; }
 .footer-grid>div:last-child { display: block; }
 .footer-grid>div:last-child h3 { margin-bottom: 18px; }
 .footer-grid>div:last-child>a { margin: 8px 0; }
}
@media(max-width:420px) {
 .service-option-grid { grid-template-columns: 1fr; }
 .service-gallery .project-collage { grid-template-columns: 1fr; grid-template-rows: 350px 280px 280px; }
 .footer-grid { grid-template-columns: 1fr; }
 .footer-grid>div { grid-column: auto!important; }
 .service-hero .actions .btn { flex-grow: 1; }
}
