:root{--orange:#E45B0F;--orange2:#E45B0F;--ink:#0b0b0c;--soft:#f2f2ef;--grey:#666;--line:#d8d8d3;--white:#fff;--pad:clamp(22px,6vw,92px)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--soft);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.55;overflow-x:hidden}img{display:block;width:100%}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin-top:0}.site-header{position:absolute;z-index:20;inset:0 0 auto;height:106px;padding:0 var(--pad);display:grid;grid-template-columns:330px 1fr auto;align-items:center;color:#fff;background:linear-gradient(180deg,rgba(0,0,0,.82),rgba(0,0,0,.28),transparent);border-bottom:1px solid rgba(255,255,255,.18)}.brand img{width:290px;max-width:100%;height:auto}.main-nav{justify-self:center;display:flex;gap:36px}.main-nav a{font-size:.9rem;position:relative;padding:10px 0}.main-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:3px;height:2px;background:var(--orange);transition:.25s}.main-nav a:hover:after,.main-nav a.active:after{right:0}.header-call{font-weight:700;border:1px solid rgba(255,255,255,.45);padding:11px 15px}.header-call span{color:var(--orange);margin-right:7px}.menu-button{display:none;background:transparent;border:0;padding:8px}.menu-button span{width:29px;height:2px;background:white;display:block;margin:6px}.hero{height:100svh;min-height:730px;position:relative;color:white;overflow:hidden}.hero-image{height:100%;object-fit:cover;object-position:center}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,4,5,.88),rgba(4,4,5,.48) 48%,rgba(4,4,5,.08) 78%),linear-gradient(0deg,rgba(0,0,0,.46),transparent 42%)}.hero-content{position:absolute;left:var(--pad);top:51%;transform:translateY(-45%);max-width:810px}.hero-kicker,.overline{text-transform:uppercase;letter-spacing:.19em;font-size:.73rem;font-weight:800}.hero-kicker{color:#ddd;margin-bottom:25px}.hero h1{font-size:clamp(3.5rem,6.2vw,6.7rem);line-height:.88;letter-spacing:-.055em;margin:0 0 32px;text-transform:uppercase}.hero h1 em,.experience h2 em{font-style:normal;color:var(--orange)}.hero-content>p:not(.hero-kicker){font-size:clamp(1.05rem,1.5vw,1.3rem);max-width:610px}.button{display:inline-flex;gap:34px;align-items:center;border:0;background:var(--orange);color:white;padding:16px 22px;text-transform:uppercase;letter-spacing:.08em;font-weight:800;margin-top:18px;cursor:pointer;transition:.25s}.button:hover{background:var(--orange2);transform:translateY(-2px)}.button span{font-size:1.25rem}.scroll-cue{position:absolute;right:var(--pad);bottom:34px;text-transform:uppercase;letter-spacing:.16em;font-size:.65rem;display:flex;align-items:center;gap:12px}.scroll-cue span{height:1px;width:56px;background:var(--orange)}.solutions{padding:clamp(90px,11vw,160px) var(--pad)}.section-intro{display:grid;grid-template-columns:1.1fr .7fr;gap:9vw;align-items:end;margin-bottom:66px}.section-intro .overline,.experience .overline,.clients .overline,.contact .overline{color:var(--orange);grid-column:1/-1;margin-bottom:-5px}.section-intro h2,.experience h2,.clients h2,.contact h2{font-size:clamp(2.7rem,5vw,5.4rem);line-height:.96;letter-spacing:-.05em;margin:0}.section-intro>p:last-child{font-size:1.1rem;color:var(--grey);max-width:550px;margin:0}.product-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:12px}.product-card{grid-column:span 6;min-height:520px;position:relative;overflow:hidden;background:#222;color:#fff}.product-card.featured,.product-card.wide{grid-column:span 12;min-height:650px}.product-card img{position:absolute;inset:0;height:100%;object-fit:cover;transition:transform .8s ease}.product-card:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.9),rgba(0,0,0,.05) 75%)}.product-card:hover img{transform:scale(1.035)}.card-copy{position:absolute;z-index:2;left:clamp(24px,3.8vw,55px);right:clamp(24px,3.8vw,55px);bottom:clamp(24px,3.8vw,48px);max-width:750px}.card-copy>span{color:var(--orange);font-size:.72rem;font-weight:800;letter-spacing:.16em}.card-copy h3{font-size:clamp(1.9rem,3vw,3.4rem);line-height:1;margin:9px 0 12px}.card-copy p{color:#e6e6e6;max-width:680px;margin-bottom:18px}.card-copy a{text-transform:uppercase;font-size:.72rem;letter-spacing:.14em;font-weight:800;border-bottom:1px solid rgba(255,255,255,.5);padding-bottom:5px}.card-copy b{color:var(--orange);margin-left:7px}.experience{background:var(--ink);color:#fff;display:grid;grid-template-columns:1fr 1fr}.experience-visual{min-height:900px;position:relative}.experience-visual>img{height:100%;object-fit:cover;filter:saturate(.8)}.experience-number{position:absolute;right:0;bottom:0;background:var(--orange);padding:30px 38px;display:flex;align-items:center;gap:18px}.experience-number strong{font-size:3.2rem;line-height:1}.experience-number span{text-transform:uppercase;font-size:.65rem;letter-spacing:.14em;line-height:1.4}.experience-copy{padding:clamp(70px,8vw,125px) var(--pad)}.experience h2{font-size:clamp(2.6rem,4.3vw,4.8rem);margin:16px 0 42px}.experience-copy>p:not(.overline){color:#b8b8b8;max-width:720px}.experience-copy>p:nth-of-type(2){color:#fff;font-size:1.16rem}.values{border-top:1px solid #3c3c3d;margin-top:42px}.values span{display:block;border-bottom:1px solid #3c3c3d;padding:18px 0;text-transform:uppercase;letter-spacing:.12em;font-size:.72rem}.values span:before{content:"+";color:var(--orange);margin-right:15px}.clients{padding:clamp(85px,10vw,145px) var(--pad);background:#fff}.client-heading{display:grid;grid-template-columns:1fr .55fr;gap:8vw;align-items:end}.client-heading .overline{grid-column:1/-1}.client-heading p:last-child{color:var(--grey);margin:0}.logo-track{margin-top:70px;border-block:1px solid var(--line);display:grid;grid-template-columns:repeat(7,1fr);align-items:center}.logo-track img{height:130px;object-fit:contain;padding:28px;filter:grayscale(1);opacity:.72;border-right:1px solid var(--line);transition:.25s}.logo-track img:last-child{border:0}.logo-track img:hover{filter:none;opacity:1}.contact{background:#1b1b1d;color:white;padding:clamp(85px,10vw,145px) var(--pad);display:grid;grid-template-columns:.85fr 1.15fr;gap:9vw}.contact-heading>p:not(.overline){color:#aaa;max-width:580px;margin:26px 0 48px}.contact-details{border-top:1px solid #444}.contact-details>a,.contact-details>p{display:block;margin:0;padding:15px 0;border-bottom:1px solid #444}.contact-details small{display:block;color:var(--orange);text-transform:uppercase;letter-spacing:.13em;font-size:.62rem;margin-bottom:3px}.quote-form{background:#fff;color:var(--ink);padding:clamp(28px,4vw,58px)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.quote-form label,.quote-form legend{font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;font-weight:800}.quote-form input,.quote-form textarea{display:block;width:100%;border:0;border-bottom:1px solid #aaa;background:transparent;padding:10px 0;margin:4px 0 22px;font:inherit;border-radius:0}.quote-form input:focus,.quote-form textarea:focus{outline:0;border-color:var(--orange)}.quote-form fieldset{border:0;padding:0;margin:4px 0 25px}.checks{display:grid;grid-template-columns:1fr 1fr;margin-top:12px}.checks label{font-size:.7rem;text-transform:none;letter-spacing:0;font-weight:500;padding:6px 0}.checks input{width:auto;display:inline;margin:0 7px 0 0;accent-color:var(--orange)}.quote-form .button{margin-top:0}.form-note{font-size:.72rem;color:#777;margin:12px 0 0}footer{background:#0b0b0c;color:#aaa;padding:50px var(--pad);display:grid;grid-template-columns:1fr 1fr auto;gap:26px;align-items:center;font-size:.8rem}footer .brand img{width:230px}footer p{margin:0}footer>div{display:flex;gap:22px;color:#fff}footer small{grid-column:1/-1;border-top:1px solid #2f2f30;padding-top:25px}.reveal{opacity:0;transform:translateY(24px);transition:.7s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:1050px){.site-header{grid-template-columns:250px 1fr auto}.brand img{width:225px}.main-nav{gap:22px}.header-call{font-size:.8rem}.logo-track{grid-template-columns:repeat(4,1fr)}.logo-track img{border-bottom:1px solid var(--line)}}
@media(max-width:800px){.site-header{height:82px;grid-template-columns:1fr auto}.brand img{width:200px}.menu-button{display:block;z-index:2}.main-nav{display:none;position:absolute;top:0;left:0;right:0;background:#0b0b0c;padding:110px var(--pad) 40px;flex-direction:column;align-items:flex-start}.main-nav.open{display:flex}.header-call{display:none}.hero-content{top:49%}.section-intro,.client-heading,.experience,.contact{grid-template-columns:1fr}.product-card,.product-card.featured,.product-card.wide{grid-column:span 12;min-height:520px}.experience-visual{min-height:580px}.logo-track{grid-template-columns:repeat(3,1fr)}footer{grid-template-columns:1fr}.form-row{grid-template-columns:1fr}}
@media(max-width:520px){.site-header{padding:0 20px}.brand img{width:174px}.hero{min-height:700px}.hero-content{left:22px;right:22px;top:48%}.hero h1{font-size:3.15rem}.hero-kicker{font-size:.62rem}.hero-content>p:not(.hero-kicker){font-size:1rem}.scroll-cue{display:none}.solutions,.clients{padding-left:22px;padding-right:22px}.section-intro{gap:28px;margin-bottom:42px}.product-card,.product-card.featured,.product-card.wide{min-height:460px}.product-grid{gap:9px}.experience-visual{min-height:470px}.experience-number{padding:22px}.experience-copy,.contact{padding:70px 22px}.experience-number strong{font-size:2.4rem}.logo-track{grid-template-columns:repeat(2,1fr)}.logo-track img{height:110px;padding:22px}.checks{grid-template-columns:1fr}.quote-form{padding:28px 22px}footer{padding:45px 22px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.product-card img,.button{transition:none}}

/* Compact hero messaging and quick quote */
.hero-content{max-width:660px}
.hero h1{font-size:clamp(3rem,4.8vw,5.35rem);line-height:.91}
.hero-quote-form{position:absolute;z-index:4;right:var(--pad);top:52%;transform:translateY(-47%);width:min(370px,31vw);background:rgba(255,255,255,.96);color:var(--ink);padding:27px 30px 25px;box-shadow:0 24px 65px rgba(0,0,0,.28);backdrop-filter:blur(12px)}
.hero-quote-form .overline{color:var(--orange);margin-bottom:7px}
.hero-quote-form h2{font-size:1.75rem;line-height:1.05;letter-spacing:-.035em;margin:0 0 19px}
.hero-quote-form label{display:block;font-size:.65rem;text-transform:uppercase;letter-spacing:.1em;font-weight:800}
.hero-quote-form input,.hero-quote-form textarea{display:block;width:100%;border:0;border-bottom:1px solid #aaa;background:transparent;padding:7px 0;margin:2px 0 12px;font:inherit;border-radius:0;resize:vertical}
.hero-quote-form input:focus,.hero-quote-form textarea:focus{outline:0;border-color:var(--orange)}
.hero-quote-form .button{width:100%;justify-content:space-between;margin-top:4px;padding:12px 16px;font-size:.72rem}
.hero-quote-form .form-note{font-size:.68rem;margin:9px 0 0;color:#666}
.hero-quote-form .form-note.success{color:#24733f}.hero-quote-form .form-note.error{color:#a52c2c}
@media(max-width:1280px){.hero-quote-form{display:none}.hero-content{max-width:760px}.hero h1{font-size:clamp(3rem,5.6vw,5.7rem)}}
@media(max-width:520px){.hero h1{font-size:2.75rem;line-height:.92;margin-bottom:24px}}

/* Compact product catalogue */
.product-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(28px,4vw,58px) clamp(22px,3vw,42px)}
.product-card,.product-card.featured,.product-card.wide{grid-column:auto;min-height:0;background:transparent;color:var(--ink);overflow:visible;display:flex;flex-direction:column;text-align:center}
.product-card>img{position:relative;inset:auto;height:auto;aspect-ratio:1.14/1;object-fit:cover;border:7px solid #4b4b4b}
.product-card:after{display:none}
.product-card:hover img{transform:translateY(-4px);box-shadow:0 16px 34px rgba(0,0,0,.15)}
.card-copy{position:relative;inset:auto;max-width:none;display:flex;flex:1;flex-direction:column;align-items:center;padding:21px 5px 0}
.card-copy>span{display:none}
.card-copy h3{font-family:Georgia,'Times New Roman',serif;font-size:clamp(1.35rem,1.8vw,1.85rem);font-weight:400;line-height:1.14;margin:0 0 12px}
.card-copy p{color:#333;font-size:.95rem;line-height:1.55;max-width:390px;margin:0 auto 20px}
.card-copy a{margin-top:auto;display:inline-flex;align-items:center;gap:18px;min-width:142px;justify-content:center;background:#fff;border:1px solid #242424;padding:11px 16px;text-transform:none;letter-spacing:0;font-size:.84rem;font-weight:700;transition:.2s}
.card-copy a:hover{background:var(--orange);border-color:var(--orange);color:#fff}
.card-copy b{color:inherit;margin:0;font-size:1rem}

@media(max-width:900px){.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.product-grid{grid-template-columns:1fr;gap:42px}.product-card,.product-card.featured,.product-card.wide{min-height:0}.card-copy{padding-top:17px}.card-copy p{font-size:.92rem}}

/* Product detail pages */
.detail-page{background:#fff}.detail-header{height:94px;padding:0 var(--pad);display:grid;grid-template-columns:1fr auto auto;gap:52px;align-items:center;background:#0b0b0c;color:#fff}.detail-header .brand img{width:245px}.detail-header nav{display:flex;gap:30px;font-size:.86rem}.detail-hero{display:grid;grid-template-columns:1.06fr .94fr;min-height:720px;background:var(--soft)}.detail-image img{height:100%;object-fit:cover}.detail-intro{padding:clamp(65px,8vw,130px) var(--pad);display:flex;flex-direction:column;justify-content:center}.back-link{font-size:.78rem;text-transform:uppercase;letter-spacing:.12em;margin-bottom:60px;color:#555}.detail-intro .overline,.detail-info .overline,.project-gallery .overline,.detail-cta .overline{color:var(--orange)}.detail-intro h1{font-size:clamp(3rem,5.5vw,6rem);line-height:.93;letter-spacing:-.055em;margin:12px 0 30px}.detail-intro>p:not(.overline){font-size:1.2rem;color:#555;max-width:620px}.detail-intro .button{align-self:flex-start}.detail-info{padding:clamp(85px,10vw,145px) var(--pad);display:grid;grid-template-columns:.8fr 1.2fr;gap:10vw}.detail-info h2,.project-gallery h2,.detail-cta h2{font-size:clamp(2.5rem,4.6vw,5rem);line-height:.98;letter-spacing:-.045em}.detail-info>div:last-child>p{font-size:1.14rem;color:#555}.detail-info ul{list-style:none;margin:35px 0 0;padding:0;border-top:1px solid var(--line)}.detail-info li{padding:16px 0;border-bottom:1px solid var(--line)}.detail-info li:before{content:'+';color:var(--orange);font-weight:800;margin-right:14px}.project-gallery{padding:clamp(85px,9vw,130px) var(--pad);background:#ededeb;display:grid;grid-template-columns:.72fr 1.28fr;gap:8vw;align-items:end}.project-gallery>div:first-child>p:last-child{color:#666;max-width:480px}.gallery-lead{position:relative}.gallery-lead img{aspect-ratio:1.45/1;object-fit:cover;border:8px solid #4b4b4b}.gallery-lead span{position:absolute;bottom:0;left:0;background:var(--orange);color:#fff;padding:12px 18px;text-transform:uppercase;letter-spacing:.12em;font-size:.68rem;font-weight:800}.detail-cta{background:#1b1b1d;color:#fff;padding:clamp(70px,8vw,110px) var(--pad);display:flex;align-items:end;justify-content:space-between;gap:45px}.detail-cta h2{margin-bottom:0}.detail-cta .button{flex:none}
@media(max-width:800px){.detail-header{grid-template-columns:1fr auto;padding:0 22px}.detail-header nav{display:none}.detail-header .header-call{display:block}.detail-hero,.detail-info,.project-gallery{grid-template-columns:1fr}.detail-image{height:54vw;min-height:360px}.detail-intro{padding:65px 22px 80px}.back-link{margin-bottom:38px}.detail-info,.project-gallery{padding-left:22px;padding-right:22px;gap:45px}.detail-cta{align-items:flex-start;flex-direction:column;padding-left:22px;padding-right:22px}}
@media(max-width:520px){.detail-header .header-call{display:none}.detail-image{height:430px}.detail-intro h1{font-size:3.25rem}.detail-cta .button{width:100%;justify-content:center}}

/* Continuously rotating client carousel */
.logo-carousel{margin-top:70px;border-block:1px solid var(--line);overflow:hidden;position:relative}
.logo-carousel:before,.logo-carousel:after{content:"";position:absolute;z-index:2;top:0;bottom:0;width:clamp(24px,6vw,95px);pointer-events:none}
.logo-carousel:before{left:0;background:linear-gradient(90deg,#fff,transparent)}
.logo-carousel:after{right:0;background:linear-gradient(270deg,#fff,transparent)}
.logo-carousel .logo-track{margin:0;border:0;display:flex!important;grid-template-columns:none!important;align-items:stretch;width:max-content;animation:client-scroll 38s linear infinite;will-change:transform}
.logo-carousel:hover .logo-track{animation-play-state:paused}
.logo-set{display:flex}
.logo-item{width:clamp(190px,16vw,260px);height:145px;display:flex;align-items:center;justify-content:center;overflow:hidden;border-right:1px solid var(--line);background:#fff;padding:24px 30px}
.logo-carousel .logo-item img{display:block;width:auto!important;height:auto!important;max-width:100%!important;max-height:92px!important;object-fit:contain;object-position:center;padding:0!important;border:0;filter:none!important;opacity:1!important;transition:transform .25s}
.logo-carousel .logo-item:hover img{filter:none;opacity:1;transform:scale(1.035)}
@keyframes client-scroll{to{transform:translateX(-50%)}}
@media(max-width:520px){.logo-carousel{margin-top:42px}.logo-item{width:175px;height:116px;padding:18px 22px}.logo-carousel .logo-item img{max-height:76px!important}}
@media(prefers-reduced-motion:reduce){.logo-carousel .logo-track{animation:none}}

/* About section image supplied by MaxiProjects */
.experience-visual>img{content:url("assets/about-maxiprojects.jpg");object-position:center center}

/* Balanced two-photo About composition */
.experience{grid-template-columns:1.2fr .8fr}
.experience-visual{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:1fr;gap:14px;padding:36px;min-height:720px;background:#111}
.about-lead-photo{grid-column:1;grid-row:1;min-width:0;overflow:hidden}
.about-lead-photo img{width:100%;height:100%;object-fit:cover;object-position:center bottom;filter:saturate(.82) brightness(.97);transform:scale(1.18);transform-origin:center bottom}
.experience-visual:before{content:"";grid-column:2;grid-row:1;min-width:0;background-image:linear-gradient(rgba(10,10,10,.05),rgba(10,10,10,.05)),url("assets/team-maxiprojects.png");background-size:cover;background-position:center}
.experience-number{right:36px;bottom:36px}
@media(max-width:800px){.experience{grid-template-columns:1fr}.experience-visual{grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:520px;padding:18px;gap:10px}.experience-number{right:18px;bottom:18px}}
@media(max-width:520px){.experience-visual{min-height:440px;padding:12px;gap:8px}.experience-number{right:12px;bottom:12px}}

/* Completed project case studies */
.project-gallery:has(.project-photo-grid:not([hidden])){grid-template-columns:.68fr 1.32fr;align-items:start}
.project-photo-grid{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:18px}
.project-photo-grid[hidden]{display:none}
.project-photo-grid figure{margin:0;background:#fff;border:1px solid var(--line)}
.project-photo-grid img{width:100%;aspect-ratio:1.45/1;object-fit:cover}
.project-photo-grid figcaption{padding:12px 15px;text-transform:uppercase;letter-spacing:.1em;font-size:.68rem;font-weight:800;color:#555}
@media(max-width:800px){.project-gallery:has(.project-photo-grid:not([hidden])){grid-template-columns:1fr}.project-photo-grid{grid-template-columns:1fr;gap:12px;margin-top:0}}

/* Additional completed steelwork projects */
.completed-project{grid-column:1/-1;margin-top:clamp(56px,7vw,96px);padding-top:clamp(46px,6vw,78px);border-top:1px solid var(--line)}
.completed-project-copy{display:grid;grid-template-columns:.72fr 1.28fr;column-gap:8vw;align-items:start;margin-bottom:34px}
.completed-project-copy .overline{grid-column:1/-1;color:var(--orange);margin-bottom:18px}
.completed-project-copy h2{font-size:clamp(2.1rem,4vw,4rem);line-height:1;letter-spacing:-.045em;margin:0}
.completed-project-copy>p:last-child{color:var(--grey);font-size:1.05rem;max-width:760px;margin:0}
.completed-project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.completed-project-grid figure{margin:0;background:#fff;border:1px solid var(--line)}
.completed-project-grid figure:first-child{grid-column:1/-1}
.completed-project-grid img{width:100%;aspect-ratio:1.5/1;object-fit:cover}
.completed-project-grid figure:first-child img{aspect-ratio:2.1/1}
.completed-project-grid figcaption{padding:12px 15px;text-transform:uppercase;letter-spacing:.1em;font-size:.68rem;font-weight:800;color:#555}
@media(max-width:800px){.completed-project-copy{grid-template-columns:1fr;gap:20px}.completed-project-grid{grid-template-columns:1fr;gap:12px}.completed-project-grid figure:first-child{grid-column:auto}.completed-project-grid figure:first-child img,.completed-project-grid img{aspect-ratio:1.35/1}}

/* Compact, expandable steel fabrication portfolio */
.project-gallery.steel-project-gallery{display:block;padding:clamp(70px,8vw,105px) var(--pad);background:#ededeb}
.steel-project-heading{display:grid;grid-template-columns:.85fr 1.15fr;column-gap:7vw;align-items:end;margin-bottom:42px}
.steel-project-heading .overline{grid-column:1/-1;margin-bottom:14px}
.steel-project-heading h2{font-size:clamp(2.5rem,4.2vw,4.6rem);margin:0}
.steel-project-heading>p:last-child{color:#666;max-width:520px;margin:0 0 5px}
.steel-project-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start}
.steel-project-card{background:#fff;border:1px solid var(--line);padding:clamp(22px,2.4vw,34px)}
.steel-project-copy{min-height:230px}
.steel-project-copy .overline{font-size:.67rem;margin:0 0 14px}
.steel-project-copy h2{font-size:clamp(1.75rem,2.4vw,2.65rem);line-height:1.02;margin:0 0 18px;letter-spacing:-.035em}
.steel-project-copy>p:last-child{color:#626262;font-size:.96rem;line-height:1.6;margin:0;max-width:640px}
.steel-project-photos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.steel-project-photos figure{margin:0;min-width:0;background:#f2f2f0}
.steel-project-photos img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.steel-project-photos figcaption{padding:8px 9px;font-size:.6rem;line-height:1.25;letter-spacing:.07em;text-transform:uppercase;font-weight:800;color:#666}
@media(max-width:900px){.steel-project-heading{grid-template-columns:1fr;gap:18px}.steel-project-list{grid-template-columns:1fr}.steel-project-copy{min-height:0;margin-bottom:26px}}
@media(max-width:520px){.project-gallery.steel-project-gallery{padding:60px 22px}.steel-project-heading{margin-bottom:30px}.steel-project-card{padding:18px}.steel-project-photos{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.steel-project-photos figcaption{font-size:.57rem;padding:7px}.steel-project-copy>p:last-child{font-size:.92rem}}

/* Compact About section */
.experience{grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);align-items:center;gap:clamp(42px,6vw,92px);padding:clamp(75px,8vw,115px) var(--pad)}
.experience-visual{min-height:560px;padding:0;gap:10px;background:transparent}
.experience-copy{padding:0}
.experience-number{right:0;bottom:0}
@media(max-width:800px){.experience{grid-template-columns:1fr;padding:70px 22px;gap:42px}.experience-visual{min-height:480px}.experience-number{right:0;bottom:0}}
@media(max-width:520px){.experience-visual{min-height:390px;padding:0;gap:7px}.experience-number{right:0;bottom:0;padding:18px 20px}}

/* Rotating homepage hero */
.hero-slides{position:absolute;inset:0}
.hero-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;opacity:0;transform:scale(1.025);transition:opacity 1.15s ease,transform 7s ease}
.hero-slide.active{opacity:1;transform:scale(1)}
.hero-dots{position:absolute;z-index:3;left:var(--pad);bottom:35px;display:flex;gap:9px}
.hero-dots button{width:34px;height:3px;padding:0;border:0;background:rgba(255,255,255,.38);cursor:pointer;transition:background .25s,width .25s}
.hero-dots button.active{width:52px;background:var(--orange)}
@media(max-width:800px){.hero-dots{left:22px;bottom:25px}.hero-slide:nth-child(3){object-position:62% center}}
@media(prefers-reduced-motion:reduce){.hero-slide{transition:none;transform:none}}

/* Formspree enquiry status */
.quote-form .button:disabled{opacity:.68;cursor:wait;transform:none}
.form-note.success{color:#216b3b;font-weight:700}
.form-note.error{color:#a52a2a;font-weight:700}

/* Subtle product-brand endorsement, scoped to retractable security. */
.alldoor-endorsement{margin:28px 0;padding:24px;border:1px solid var(--line);background:#fff}
.alldoor-endorsement h2{font-size:1.15rem;line-height:1.35;letter-spacing:0;margin:0 0 10px}
.alldoor-endorsement p{font-size:.95rem;margin:0 0 22px;color:var(--grey)}
.alldoor-endorsement a{display:inline-flex;flex-direction:column;align-items:flex-start;gap:16px;max-width:100%}
.alldoor-endorsement img{width:220px;max-width:100%;height:auto;object-fit:contain}
.alldoor-endorsement span{font-size:.85rem;font-weight:700}
.alldoor-endorsement a:hover span{text-decoration:underline;text-underline-offset:4px}
.alldoor-endorsement a:focus-visible{outline:2px solid var(--orange);outline-offset:6px}
@media(max-width:520px){.alldoor-endorsement{padding:20px}.alldoor-endorsement img{width:190px}}

/* Prominent direct-dial numbers on every header. */
.header-phones{display:flex;flex-direction:column;gap:2px;border:2px solid var(--orange);background:#101011;padding:9px 18px;white-space:nowrap;font-size:1.4rem;font-weight:800;line-height:1.4;letter-spacing:.025em}
.header-phones a:first-child{color:var(--orange)}
.header-phones a:last-child{color:#fff}
.header-phones a:hover{text-decoration:underline;text-underline-offset:4px}
.header-phones a:focus-visible{outline:2px solid #fff;outline-offset:3px}
.contact-details a[href^="tel:"]{font-size:1.6rem;font-weight:800;line-height:1.4}
.contact-details a[href="tel:0861000771"]{color:var(--orange)}
@media(min-width:801px) and (max-width:1100px){.site-header{grid-template-columns:200px 1fr auto;column-gap:16px;padding-inline:24px}.site-header .brand img{width:200px}.main-nav{gap:16px}.main-nav a{font-size:.8rem}.header-phones{font-size:1.2rem;padding:9px 12px}.detail-header{gap:24px;padding-inline:24px}.detail-header .brand img{width:210px}.detail-header nav{gap:18px}}
@media(max-width:800px){.site-header{height:142px;grid-template-rows:76px 66px}.site-header .header-phones{grid-column:1/-1;flex-direction:row;justify-content:center;align-items:center;gap:22px;padding:9px 12px;margin-bottom:10px;font-size:1.15rem}.detail-header{height:auto;grid-template-columns:1fr;padding:20px 22px;gap:16px}.detail-header .brand img{width:210px}.detail-header .header-phones{flex-direction:row;justify-content:center;gap:22px;font-size:1.15rem;padding:9px 12px}.main-nav.open{padding-top:150px}}
@media(max-width:380px){.site-header .header-phones,.detail-header .header-phones{gap:14px;font-size:1rem;padding-inline:8px}.contact-details a[href^="tel:"]{font-size:1.4rem}}

/* Keep navigation and phone numbers visible while scrolling. */
html{scroll-padding-top:122px}
.site-header{position:fixed;background:#0b0b0c;box-shadow:0 3px 18px rgba(0,0,0,.22);z-index:100}
.detail-page,.thank-you-page{overflow-x:clip}
.detail-header{position:sticky;top:0;z-index:100;box-shadow:0 3px 18px rgba(0,0,0,.22)}
@media(max-width:800px){html{scroll-padding-top:158px}.site-header .main-nav{top:142px;padding:22px var(--pad) 28px;max-height:calc(100svh - 142px);overflow-y:auto;border-top:1px solid #333}}

/* Keep the clear-bar project consistent with the steelwork project cards. */
.clear-gate-project .steel-project-copy{min-height:0;margin-bottom:26px}
.clear-gate-project .steel-project-photos a{display:block}
.clear-gate-project .steel-project-photos a:focus-visible{outline:3px solid var(--orange);outline-offset:3px}

.louvre-installations .steel-project-copy{min-height:0;margin-bottom:26px}
.louvre-installations .steel-project-photos a{display:block}
.louvre-installations .steel-project-photos a:focus-visible{outline:3px solid var(--orange);outline-offset:3px}

/* Keep the louvre gallery introduction together above the installation card. */
.louvre-installations .steel-project-heading{display:block}
.louvre-installations .steel-project-heading h2{max-width:680px}
.louvre-installations .steel-project-heading>p:last-child{max-width:680px;margin:20px 0 0}

.roller-installations .steel-project-heading{display:block}
.roller-installations .steel-project-heading h2{max-width:680px}
.roller-installations .steel-project-heading>p:last-child{max-width:680px;margin:20px 0 0}
.roller-installations .steel-project-copy{min-height:0;margin-bottom:26px}
.roller-installations .steel-project-photos a{display:block}
.roller-installations .steel-project-photos a:focus-visible{outline:3px solid var(--orange);outline-offset:3px}

.steel-project-photos .installation-video{grid-column:auto;min-width:0}
.installation-video video{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;background:#111}

/* Compact roller shutter introduction keeps installation photos within easy reach. */
.roller-page .detail-hero{min-height:0;grid-template-columns:1fr 1fr}
.roller-page .detail-image{position:relative;min-height:390px}
.roller-page .detail-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.roller-page .detail-intro{padding:36px var(--pad)}
.roller-page .back-link{margin-bottom:20px}
.roller-page .detail-intro h1{font-size:clamp(2.5rem,4vw,4rem);margin:10px 0 18px}
.roller-page .detail-intro>p:not(.overline){font-size:1.05rem}
.roller-page .detail-info{padding:38px var(--pad);gap:5vw;grid-template-columns:.7fr 1.3fr}
.roller-page .detail-info h2{font-size:clamp(1.8rem,2.8vw,2.8rem)}
.roller-page .detail-info>div:last-child>p{font-size:1rem;margin-top:0}
.roller-page .detail-info ul{display:grid;grid-template-columns:1fr 1fr;column-gap:24px;margin-top:18px}
.roller-page .detail-info li{padding:10px 0;font-size:.9rem}
.roller-page .roller-installations{padding-top:42px}
@media(max-width:800px){
 .roller-page .detail-hero,.roller-page .detail-info{grid-template-columns:1fr}
 .roller-page .detail-image{height:240px;min-height:0}
 .roller-page .detail-intro{padding:26px 22px 30px}
 .roller-page .back-link{margin-bottom:14px}
 .roller-page .detail-info{padding:30px 22px;gap:16px}
 .roller-page .detail-info h2{margin:0}
}
@media(max-width:520px){.roller-page .detail-info ul{grid-template-columns:1fr}.roller-page .detail-image{height:220px}}

/* Branded navigation: a stronger wordmark and an angled orange call panel. */
.site-header,.detail-header{background:#101011;border-bottom:3px solid var(--orange);box-shadow:0 5px 22px #0003;column-gap:32px;padding-right:0}
.site-header{grid-template-columns:300px 1fr auto}
.detail-header{grid-template-columns:1fr auto auto;height:106px}
.site-header .brand img,.detail-header .brand img{width:300px}
.site-header .brand,.detail-header .brand{position:relative;display:block}
.detail-header nav,.site-header .main-nav{gap:24px;align-items:center}
.detail-header nav a,.site-header .main-nav a{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;padding:12px 0;transition:color .2s}
.detail-header nav a:hover,.site-header .main-nav a:hover{color:var(--orange)}
.detail-header nav a:last-child{border:1px solid #ffffff50;padding:10px 17px}
.detail-header nav a:last-child:hover{border-color:var(--orange)}
.site-header .header-phones,.detail-header .header-phones{position:relative;isolation:isolate;align-self:stretch;justify-content:center;border:0;background:var(--orange);padding:14px max(24px,var(--pad)) 12px 28px;margin:0 0 0 24px;font-size:1.38rem;gap:0;letter-spacing:.025em;line-height:1.35}
.header-phones:before{content:"";position:absolute;inset:0 auto 0 -23px;width:25px;background:var(--orange);clip-path:polygon(100% 0,100% 100%,0 100%);z-index:-1}
.header-phones:after{content:"LET’S TALK ABOUT YOUR PROJECT";order:-1;display:block;color:#fff;font-size:.53rem;letter-spacing:.12em;font-weight:800;margin-bottom:4px}
.site-header .header-phones a:first-child,.detail-header .header-phones a:first-child{color:#111}
.site-header .header-phones a:last-child,.detail-header .header-phones a:last-child{color:#fff}
.detail-header nav a:focus-visible,.main-nav a:focus-visible{outline:2px solid var(--orange);outline-offset:5px}
@media(min-width:801px) and (max-width:1200px){
 .site-header{grid-template-columns:220px 1fr auto;padding-left:24px;column-gap:20px}
 .detail-header{padding-left:24px;column-gap:20px}
 .site-header .brand img,.detail-header .brand img{width:220px}
 .site-header .main-nav,.detail-header nav{gap:16px}
 .site-header .main-nav a,.detail-header nav a{font-size:.68rem;letter-spacing:.04em}
 .site-header .header-phones,.detail-header .header-phones{font-size:1.2rem;padding-right:24px;padding-left:18px;margin-left:12px}
 .header-phones:after{font-size:.48rem;letter-spacing:.06em}
}
@media(max-width:800px){
 .site-header{padding:0 22px;height:142px;grid-template-columns:1fr auto;grid-template-rows:76px 63px;gap:0}
 .site-header .brand img,.detail-header .brand img{width:245px;max-width:100%}
 .detail-header{height:auto;padding:16px 22px 0;grid-template-columns:1fr;gap:14px}
 .site-header .header-phones,.detail-header .header-phones{margin:0 -22px;padding:10px 22px;flex-direction:row;align-items:center;justify-content:center;gap:22px;font-size:1.15rem}
 .header-phones:before,.header-phones:after{display:none}
 .site-header .main-nav{background:#101011}
 .site-header .main-nav a{font-size:.9rem}
 .detail-header nav{display:none}
}
@media(max-width:380px){.site-header .header-phones,.detail-header .header-phones{font-size:1rem;gap:16px}.site-header .brand img,.detail-header .brand img{width:215px}}

/* Privacy notice alongside enquiry forms */
.enquiry-privacy{font-size:.78rem;line-height:1.5;margin:8px 0 14px}.enquiry-privacy a{text-decoration:underline;text-underline-offset:2px}footer>div{flex-wrap:wrap}
