/* Purpose-built styles; no UI framework scripts are required. Bootstrap-compatible grid classes used in generated markup. */
:root{--ink:#333;--navy:#333;--accent:#F99A00;--muted:#777;--line:#e9ebed}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:"PT Sans",Arial,Helvetica,sans-serif;color:var(--ink);line-height:1.65;background:#fff}a{color:inherit}img{max-width:100%;height:auto}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.container{width:100%;max-width:1170px;margin:auto;padding:0 20px}.row{display:flex;flex-wrap:wrap;margin:0 -15px}.col-md-4,.col-md-8,.col-md-6{padding:0 15px;width:100%}@media(min-width:768px){.col-md-4{width:33.333%}.col-md-8{width:66.667%}.col-md-6{width:50%}}.topbar{background:#444;color:#fff;font-size:13px;padding:10px 0}.topbar .container{display:flex;gap:22px;justify-content:space-between;flex-wrap:wrap}.topbar a{text-decoration:none}.brandbar{background:white;padding:19px 0}.brandline{display:flex;justify-content:space-between;align-items:center;gap:20px}.brand{font-size:23px;color:var(--navy);font-weight:800;text-decoration:none;letter-spacing:-.5px}.brand small{font-size:11px;letter-spacing:2.5px;display:block;color:#777}.brandmark{width:42px;height:42px;background:var(--accent);display:grid;place-items:center;color:white;font-size:24px;margin-right:9px;float:left}.brandline .call{font-size:14px}.navwrap{background:#333;color:white}.navrow{display:flex;align-items:center;justify-content:space-between}.navlinks{list-style:none;margin:0;padding:0;display:flex}.navlinks a{padding:18px 15px;display:block;text-decoration:none;font-size:14px;font-weight:600}.navlinks a:hover,.navlinks a[aria-current=page]{background:transparent;color:#F99A00}.navtoggle{display:none;color:white;background:transparent;border:1px solid #667;padding:9px 12px;font:inherit;margin:8px 0}.hero{min-height:410px;background:linear-gradient(105deg,rgba(13,29,41,.92),rgba(26,40,50,.70)),linear-gradient(30deg,#233f50,#77838c);color:white;display:flex;align-items:center}.hero .container{padding-top:74px;padding-bottom:74px}.hero h1{font-size:clamp(30px,4vw,48px);max-width:780px;line-height:1.2;margin:0 0 20px}.hero p{font-size:18px;max-width:720px}.btn{display:inline-block;text-decoration:none;border:0;background:var(--accent);padding:12px 25px;color:#161616;font-weight:700;margin:8px 8px 8px 0}.btn-outline{background:transparent;border:1px solid #fff;color:white}.section{padding:63px 0}.section h2{font-size:30px;line-height:1.25;margin:0 0 21px;color:#333}.section p{margin-top:0}.lead{font-size:18px}.stripe{background:#f4f5f5;padding:30px 0;text-align:center}.stripe h2{margin:0 0 12px}.pagehero{background:#333;color:white;padding:48px 0}.pagehero h1{margin:0;font-size:37px}.pagehero p{margin:7px 0 0;color:#e1e7eb}.sidebar{background:#f7f7f7;padding:25px}.sidebar h2{font-size:20px}.sidebar ul{list-style:none;padding:0}.sidebar li{border-bottom:1px solid #e3e3e3}.sidebar li a{display:block;text-decoration:none;padding:9px 0;color:#333}.callout{background:#333;color:#fff;padding:25px;margin:25px 0}.callout h3{margin-top:0}.content h2{font-size:28px;margin-top:0}.content h3{font-size:21px;color:#333;margin-bottom:7px}.content li{margin:3px 0}.content ul{padding-left:22px}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:22px}.card{border:1px solid var(--line);padding:23px;background:#fff}.card h3{margin-top:0}.card a{color:#F99A00}.footer{background:#333;color:#dfe5e8;padding:55px 0 25px}.footer h2{color:white;font-size:18px}.footer a{color:#dfe5e8}.footer .copyright{border-top:1px solid #485661;margin-top:35px;padding-top:18px;font-size:13px}.form-control{width:100%;padding:13px;border:1px solid #b6bcc0;border-radius:0;font:inherit;margin:4px 0 15px}.form-label{font-weight:bold}.small{font-size:13px;color:var(--muted)}@media(max-width:767px){.brandline .call{display:none}.navrow{display:block}.navtoggle{display:block;margin-left:auto}.navlinks{display:none;flex-direction:column}.navlinks.open{display:flex}.navlinks a{padding:12px 15px}.hero{min-height:340px}.section{padding:40px 0}.sidebar{margin-bottom:25px}.pagehero h1{font-size:29px}}
/* Original artwork / responsive refinements for staging */
.original-logo{display:block;max-width:285px;width:100%;height:auto;object-fit:contain}.brandline{min-height:104px}.hero{background-size:cover;background-position:center;min-height:510px;display:flex;align-items:center}.hero .container{width:100%}.feature-img{float:right;width:min(42%,520px);height:auto;margin:0 0 25px 35px;object-fit:cover}.service-photo{display:block;width:min(100%,860px);height:auto;margin:0 auto 20px}.inner-banner{height:155px;background-position:center;background-size:cover}.card{transition:transform .15s ease}.card:hover{transform:translateY(-2px)}@media(max-width:767px){.feature-img{float:none;width:100%;margin:0 0 24px}.hero{min-height:400px}.inner-banner{height:90px}.original-logo{max-width:220px}}

/* Original 2018 palette corrections, based on supplied css/style.css */
:root{--ink:#777;--line:#e4e4e4}
h1,h2,h3,h4,h5,h6,.brand,.navlinks a,.btn{font-family:Raleway,Arial,Helvetica,sans-serif}
.navlinks a{text-transform:uppercase;font-weight:600}
.navlinks a:hover,.navlinks a[aria-current=page]{color:#F99A00;background:transparent}
.btn{background:#F99A00;color:#fff}
.btn-outline{background:transparent;color:#fff;border-color:#fff}
.hero{background-color:#333}
.hero h1,.pagehero h1{color:#fff}
.card a:hover,.sidebar a:hover,a:hover{color:#F99A00}
.footer a:hover{color:#F99A00}

/* Homepage fidelity pass: original 2018 page proportions, not generic cards */
.home-page{font-family:Arial,Helvetica,sans-serif;font-size:14px;line-height:1.5;color:#777;background:#f7f7f7}
.home-page .container{max-width:1130px;padding-left:20px;padding-right:20px}
.home-page .topbar{background:#444;color:#fff;padding:6px 0;font-size:12px;line-height:1.3}
.home-page .top-inner{display:flex;justify-content:space-between;align-items:center}
.home-page .social{white-space:nowrap;font-weight:bold;display:flex;gap:14px;color:white}
.home-page .brandbar{padding:14px 0;background:#fff}
.home-page .brandline{min-height:90px}
.home-page .original-logo{width:260px;max-width:100%;height:auto}
.home-page .header-info{display:flex;gap:48px;align-items:center}
.home-page .info-item{display:flex;align-items:center;gap:12px;font-size:13px;line-height:1.45}
.home-page .info-icon{color:#f99a00;font-size:27px;line-height:1}
.home-page .info-item strong{display:block;color:#333;font-size:14px;font-weight:600}
.home-page .info-item small{display:block;font-size:12px;color:#777}
.home-page .info-item a{text-decoration:none}
.home-page .navwrap{background:#303030}
.home-page .navlinks a{font-size:12px;line-height:1.3;padding:14px 11px;color:#fff;font-weight:700;font-family:Arial,Helvetica,sans-serif}
.home-page .navlinks a[aria-current=page],.home-page .navlinks a:hover{color:#f99a00}
.home-page .home-hero{min-height:500px;background-image:url('/assets/img/image-1.webp');background-color:#444;background-position:center center;background-size:cover;position:relative;display:flex;align-items:center}
.home-page .home-hero .hero-inner{padding-top:35px;padding-bottom:35px}
.home-page .home-hero h1{font:400 37px/1.08 Arial,Helvetica,sans-serif;max-width:600px;letter-spacing:-.6px;margin:0 0 5px;text-shadow:0 1px 1px #333}
.home-page .home-hero h1 span{font-weight:700;color:#f99a00}
.home-page .home-hero p{font-size:16px;line-height:1.6;color:#fff;max-width:650px;margin:0 0 24px}
.home-page .btn{font:400 14px/1.4 Arial,Helvetica,sans-serif;background:#f99a00;color:#222;border-radius:3px;padding:10px 19px;margin:0 12px 0 0;text-decoration:none}
.home-page .btn-outline{background:transparent;color:#fff;border:1px solid #fff;padding:9px 18px}
.home-page .hero-arrow{position:absolute;top:50%;transform:translateY(-50%);width:38px;height:48px;display:grid;place-items:center;background:#fff;color:#333;font:28px Arial;pointer-events:none}
.home-page .hero-prev{left:0}.home-page .hero-next{right:0}
.home-page .statement{background:#333;color:white}
.home-page .statement-inner{min-height:107px;display:flex;align-items:center;justify-content:space-between;gap:30px}
.home-page .statement strong{font-size:18px;color:#fff}
.home-page .statement .btn{white-space:nowrap;margin-right:0}
.home-page .intro-section{padding:95px 0 100px;background:#f8f8f8}
.home-page .intro-section h2{font:bold 28px/1.3 Arial,Helvetica,sans-serif;color:#333;margin:0 0 25px;position:relative;padding-bottom:13px}
.home-page .intro-section h2:before{position:absolute;bottom:0;left:0;content:'';width:65px;height:3px;background:#f99a00}
.home-page .intro-section h2:after{position:absolute;bottom:0;left:65px;content:'';width:170px;height:1px;background:#dedede}
.home-page .intro-grid{display:grid;grid-template-columns:minmax(0, 2fr) minmax(250px, .98fr);gap:38px;align-items:start}
.home-page .intro-copy p{margin:0 0 20px;color:#777;font-size:13px;line-height:1.65}
.home-page .intro-visual img{display:block;width:100%;height:330px;object-fit:cover;object-position:center 47%}
.home-page .service-columns{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:29px;color:#333}
.home-page .service-block{margin-bottom:16px;font-size:14px;line-height:1.35}
.home-page .service-block a,.home-page .service-block strong{display:block;font-weight:400;text-decoration:none;color:#333;margin-bottom:3px}
.home-page .service-block small{font-size:12px;color:#333;display:block;line-height:1.3}
.home-page .newsletter{background:#f8f8f8;position:relative;overflow:hidden}
.home-page .newsletter:before{content:'';position:absolute;inset:0;background-image:repeating-linear-gradient(21deg,transparent 0 76px,rgba(120,130,140,.07) 77px,transparent 78px),repeating-linear-gradient(90deg,transparent 0 98px,rgba(120,130,140,.07) 99px,transparent 100px),repeating-linear-gradient(0deg,transparent 0 72px,rgba(120,130,140,.07) 73px,transparent 74px);opacity:.8}
.home-page .newsletter:after{content:'';position:absolute;top:0;bottom:0;left:0;width:calc(50% - 100px);background:#333}
.home-page .newsletter-inner{position:relative;z-index:1;min-height:150px;display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:center}
.home-page .newsletter-left{height:100%;position:relative;display:flex;flex-direction:column;justify-content:center;color:white;background:#333}
.home-page .newsletter-left:after{content:'';position:absolute;z-index:-1;background:#333;top:0;bottom:0;right:-60px;width:150px;transform:skewX(-35deg)}
.home-page .newsletter-left h2{font:bold 25px/1.2 Arial,sans-serif;color:#fff;margin:0 0 7px}
.home-page .newsletter-left p{font-size:12px;color:#fff;margin:0}
.home-page .newsletter-form{display:flex;position:relative;z-index:2;width:100%;margin:0}
.home-page .newsletter-form input{min-width:0;flex:1;height:42px;border:1px solid #f99a00;padding:0 15px;font-size:12px;background:#fff}
.home-page .newsletter-form button{border:0;background:#f99a00;color:white;font-size:13px;font-weight:bold;padding:0 22px;cursor:pointer}
.home-page .footer{background:#606060;color:white;padding:0}
.home-page .footer-main{display:grid;grid-template-columns:1.2fr 1fr 1fr 1.15fr;gap:45px;min-height:305px;align-items:start;padding-top:77px;padding-bottom:50px}
.home-page .footer-logo img{width:175px;height:auto;display:block}
.home-page .footer h2{font:bold 14px Arial,sans-serif;color:#f99a00;margin:5px 0 20px}
.home-page .footer ul{margin:0;padding:0;list-style:none}
.home-page .footer li{padding:0 0 12px;font-size:13px}
.home-page .footer li:before{content:'›';color:#f99a00;margin-right:10px}
.home-page .footer a{color:#fff;text-decoration:none}
.home-page .footer address{font-style:normal;font-size:13px;line-height:1.5}
.home-page .footer .follow{font-size:13px;margin-top:14px}
.home-page .copyright-bar{background:#303030;text-align:center;color:white;font-size:11px;padding:17px 0}
.home-page .copyright-bar a{color:#f99a00}
.skip-link{position:absolute;left:-9999px;top:10px;z-index:1000}.skip-link:focus{left:10px;background:#fff;padding:12px}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:900px){.home-page .header-info{gap:16px}.home-page .home-hero{min-height:420px}.home-page .intro-grid{grid-template-columns:1.6fr 1fr;gap:24px}.home-page .navlinks a{padding:14px 7px;font-size:11px}.home-page .footer-main{gap:20px}}
@media(max-width:767px){.home-page .topbar{font-size:10px}.home-page .brandline{min-height:75px}.home-page .original-logo{width:210px}.home-page .header-info{display:none}.home-page .navlinks{display:none}.home-page .navlinks.open{display:flex}.home-page .navlinks a{font-size:13px;padding:11px 8px}.home-page .home-hero{min-height:405px;background-position:60% center}.home-page .home-hero h1{font-size:30px;max-width:450px}.home-page .home-hero p{font-size:14px;max-width:400px}.home-page .hero-arrow{display:none}.home-page .statement-inner{padding-top:23px;padding-bottom:23px;min-height:0;display:block}.home-page .statement strong{display:block;font-size:16px;margin-bottom:16px}.home-page .intro-section{padding:55px 0 65px}.home-page .intro-section h2{font-size:24px}.home-page .intro-grid{grid-template-columns:1fr}.home-page .intro-visual img{max-width:500px;height:auto;max-height:430px;object-fit:cover}.home-page .newsletter:after,.home-page .newsletter-left:after{display:none}.home-page .newsletter-inner{grid-template-columns:1fr;gap:18px;padding:0 20px 30px}.home-page .newsletter-left{padding:25px 0 17px;background:transparent;color:#333}.home-page .newsletter-left h2,.home-page .newsletter-left p{color:#333}.home-page .newsletter-form{max-width:550px}.home-page .footer-main{grid-template-columns:1fr 1fr;gap:35px;padding:45px 20px}.home-page .footer-logo img{max-width:145px}}
@media(max-width:420px){.home-page .service-columns{gap:10px}.home-page .home-hero h1{font-size:26px}.home-page .home-hero{background-position:55% center}.home-page .footer-main{grid-template-columns:1fr 1fr}.home-page .newsletter-form button{padding:0 12px}}
/* Fidelity pass 3: dimensions sampled against owner's original full-page capture (1587px). */
@media(min-width:901px){
.home-page .container{max-width:1000px;padding-left:0;padding-right:0}
.home-page .topbar{min-height:39px;display:flex;align-items:center;padding:0;font-size:11px}
.home-page .brandbar{padding:0}
.home-page .brandline{min-height:118px}
.home-page .original-logo{width:220px}
.home-page .header-info{gap:43px}
.home-page .info-item{font-size:12px;gap:12px}
.home-page .info-item strong{font-size:13px}
.home-page .info-item small{font-size:11px}
.home-page .navlinks a{padding:15px 11px;font-size:11px}
.home-page .home-hero{min-height:525px}
.home-page .home-hero h1{font-size:35px;line-height:1.06;max-width:590px;margin:0 0 6px}
.home-page .home-hero p{font-size:15px;line-height:1.55;margin:0 0 27px}
.home-page .home-hero .hero-inner{padding-top:0;padding-bottom:0}
.home-page .statement-inner{min-height:112px}
.home-page .statement strong{font-size:17px}
.home-page .intro-section{padding:90px 0 95px}
.home-page .intro-section h2{font-size:27px}
.home-page .intro-grid{grid-template-columns:minmax(0,1.9fr) minmax(0,.94fr);gap:30px}
.home-page .intro-visual img{height:340px}
.home-page .newsletter-inner{min-height:155px}
.home-page .footer-main{min-height:310px}
}
@media(min-width:901px) and (max-width:1100px){.home-page .container{max-width:calc(100% - 64px)}}
/* Use the original site's industrial artwork for the blueprint panel, not generic stripes. */
.home-page .newsletter:before{background-image:url('/assets/img/footer-back.webp');background-repeat:repeat;background-size:auto;opacity:.65}
/* Avoid nonfunctional carousel controls misleading visitors. */
.home-page .hero-arrow{display:none}

/* V5: slightly larger original-style desktop nav lettering and spacing */
@media(min-width:901px){
.home-page .navlinks a{font-size:12px;padding:16px 14px;line-height:1.35}
.navlinks a{font-size:13px;padding:17px 14px;line-height:1.35}
}
@media(min-width:768px) and (max-width:900px){.navlinks a,.home-page .navlinks a{font-size:12px;padding:14px 9px}}
/* Gallery */
.gallery-page{background:#fafafa}.gallery-page .gallery-section{margin:0 0 40px}.gallery-page .gallery-section h2{border-bottom:2px solid #f99a00;padding-bottom:9px;margin:0 0 19px}.gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.gallery-grid a{display:block;background:#fff;border:1px solid #ddd;overflow:hidden}.gallery-grid img{display:block;width:100%;height:175px;object-fit:cover}.gallery-note{font-size:14px;color:#555}@media(max-width:900px){.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:600px){.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-grid img{height:135px}}

/* V6: original-sized navigation, consistent on all desktop pages. */
@media(min-width:901px){
  .navwrap .navrow{justify-content:flex-start;}
  .navwrap .navlinks a,.home-page .navwrap .navlinks a{font-size:14px;font-weight:700;line-height:1.4;padding:18px 15px;}
}
@media(min-width:768px) and (max-width:900px){
  .navwrap .navlinks a,.home-page .navwrap .navlinks a{font-size:12px;padding:16px 9px;}
}

/* Gallery v7: consistent thumbnail cards and accessible full-size viewer */
.gallery-grid a{aspect-ratio:4/3;position:relative;cursor:zoom-in;outline-offset:3px}
.gallery-grid img{width:100%;height:100%;aspect-ratio:4/3;object-fit:cover;object-position:center;display:block;transition:transform .2s ease}
.gallery-grid a:hover img{transform:scale(1.035)}
.gallery-grid a:focus-visible{outline:3px solid #f99a00}
@media(max-width:600px){.gallery-grid img{height:100%}}
.gallery-lightbox{border:0;padding:0;background:transparent;color:#fff;max-width:none;max-height:none;width:100vw;height:100dvh;overflow:hidden}
.gallery-lightbox[open]{display:flex;align-items:center;justify-content:center}
.gallery-lightbox::backdrop{background:rgba(0,0,0,.9)}
.gallery-lightbox-frame{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;width:min(94vw,1400px);max-height:94dvh;min-width:0}
.gallery-lightbox-frame img{display:block;max-width:100%;max-height:calc(94dvh - 84px);width:auto;height:auto;object-fit:contain}
.gallery-lightbox-close{position:absolute;z-index:2;top:0;right:0;transform:translate(30%,-30%);width:46px;height:46px;border:2px solid #fff;border-radius:50%;background:#292929;color:#fff;font-size:34px;line-height:1;cursor:pointer}
.gallery-lightbox-close:hover,.gallery-lightbox-close:focus-visible{background:#f99a00;color:#111;outline:2px solid #fff;outline-offset:2px}
.gallery-lightbox-caption{color:#fff;font-size:14px;text-align:center;margin:12px 0 0;line-height:1.4}
@media(max-width:600px){.gallery-lightbox-close{right:4px;top:4px;transform:none}.gallery-lightbox-frame{width:96vw}}
@media(prefers-reduced-motion:reduce){.gallery-grid img{transition:none}}

/* V9: index navigation uses exactly the same desktop dimensions as inner pages. */
.home-page .navwrap .navrow{max-width:1170px;padding-left:20px;padding-right:20px;}
@media(min-width:901px){
 .home-page .navwrap .navlinks a{font-size:14px;font-weight:700;line-height:1.4;padding:18px 15px;}
}
@media(min-width:768px) and (max-width:900px){
 .home-page .navwrap .navlinks a{font-size:12px;font-weight:700;line-height:1.4;padding:16px 9px;}
}

/* V10: ONE shared header geometry for every page, including the homepage. */
.topbar,.home-page .topbar{height:39px;min-height:39px;padding:0;background:#444;color:#fff;font:12px/1.3 Arial,Helvetica,sans-serif;display:flex;align-items:center}
.topbar .container,.home-page .topbar .container{width:100%;max-width:1170px;padding:0 20px;display:flex;align-items:center;justify-content:space-between;flex-wrap:nowrap}
.brandbar,.home-page .brandbar{padding:0;background:#fff}
.brandbar .container,.home-page .brandbar .container{width:100%;max-width:1170px;padding:0 20px}
.brandline,.home-page .brandline{height:118px;min-height:118px;display:flex;align-items:center;justify-content:space-between}
.original-logo,.home-page .original-logo{display:block;width:220px;max-width:100%;height:auto}
.header-info,.home-page .header-info{display:flex;align-items:center;gap:43px}
.info-item,.home-page .info-item{display:flex;align-items:center;gap:12px;font:12px/1.45 Arial,Helvetica,sans-serif}
.info-item strong,.home-page .info-item strong{display:block;color:#333;font-size:13px;font-weight:600}
.info-item small,.home-page .info-item small{display:block;font-size:11px;color:#777}
.info-item a,.home-page .info-item a{text-decoration:none}
.info-icon,.home-page .info-icon{color:#f99a00;font-size:27px;line-height:1}
.navwrap,.home-page .navwrap{background:#303030}
.navwrap .container,.home-page .navwrap .container{width:100%;max-width:1170px;padding:0 20px}
.navwrap .navrow,.home-page .navwrap .navrow{justify-content:flex-start}
.navwrap .navlinks a,.home-page .navwrap .navlinks a{font:700 14px/1.4 Arial,Helvetica,sans-serif;text-transform:uppercase;padding:18px 15px;color:#fff}
.navwrap .navlinks a:hover,.home-page .navwrap .navlinks a:hover,.navwrap .navlinks a[aria-current=page],.home-page .navwrap .navlinks a[aria-current=page]{color:#f99a00}
@media(min-width:768px) and (max-width:900px){.navwrap .navlinks a,.home-page .navwrap .navlinks a{font-size:12px;padding:16px 9px}}
@media(max-width:767px){
 .topbar,.home-page .topbar{height:32px;min-height:32px;font-size:10px}
 .brandline,.home-page .brandline{height:82px;min-height:82px}
 .original-logo,.home-page .original-logo{width:210px}
 .header-info,.home-page .header-info{display:none}
 .navwrap .navrow,.home-page .navwrap .navrow{display:block}
 .navwrap .navtoggle,.home-page .navwrap .navtoggle{display:block;margin-left:auto}
 .navwrap .navlinks,.home-page .navwrap .navlinks{display:none;flex-direction:column}
 .navwrap .navlinks.open,.home-page .navwrap .navlinks.open{display:flex}
 .navwrap .navlinks a,.home-page .navwrap .navlinks a{padding:11px 12px;font-size:13px}
}

/* V11: unified interior footer and contact page finishing. */
body:not(.home-page) .footer{background:#606060;color:#fff;padding:0;font-family:Arial,Helvetica,sans-serif}
body:not(.home-page) .footer .container.footer-main{max-width:1170px;display:grid;grid-template-columns:1.2fr 1fr 1fr 1.15fr;gap:45px;padding:64px 20px 58px;align-items:start;min-height:275px}
body:not(.home-page) .footer-logo img{width:175px;height:auto;display:block}
body:not(.home-page) .footer h2{font:bold 14px Arial,Helvetica,sans-serif;color:#f99a00;margin:5px 0 20px}
body:not(.home-page) .footer ul{list-style:none;margin:0;padding:0}
body:not(.home-page) .footer li{margin:0 0 12px;font-size:13px}
body:not(.home-page) .footer li::before{content:'›';color:#f99a00;margin-right:10px}
body:not(.home-page) .footer a{color:#fff;text-decoration:none}
body:not(.home-page) .footer a:hover{color:#f99a00}
body:not(.home-page) .footer address{font-style:normal;font-size:13px;line-height:1.7}
body:not(.home-page) .footer .follow{font-size:13px;margin:14px 0 0}
body:not(.home-page) .footer .copyright-bar{background:#303030;color:#fff;text-align:center;font-size:11px;padding:16px 0}
body:not(.home-page) .footer .copyright-bar a{color:#f99a00}
.contact-hero{background:linear-gradient(90deg,rgba(15,20,25,.87),rgba(15,20,25,.56)),url('/assets/img/inner-back.webp') center/cover;min-height:240px;display:flex;align-items:center;color:#fff}
.contact-hero .container{padding-top:46px;padding-bottom:48px}
.contact-eyebrow{font:700 12px Arial,sans-serif;letter-spacing:2px;color:#f99a00;margin:0 0 11px}
.contact-hero h1{font:bold 39px/1.15 Arial,Helvetica,sans-serif;color:#fff;margin:0 0 15px}
.contact-hero p:not(.contact-eyebrow){margin:0;max-width:680px;color:#eee;font-size:16px;line-height:1.6}
.contact-body{background:#f7f7f7;padding:72px 0 85px;font-family:Arial,Helvetica,sans-serif;color:#666}
.contact-body .container{max-width:1170px}
.contact-intro{max-width:710px;margin:0 auto 37px;text-align:center}
.contact-intro h2{font-size:29px;line-height:1.2;color:#333;margin:0 0 14px}
.contact-intro h2::after{content:'';display:block;width:51px;height:3px;background:#f99a00;margin:16px auto 0}
.contact-intro p{font-size:15px;line-height:1.75;margin:0}
.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:27px;align-items:stretch}
.contact-panel{background:#fff;padding:37px 40px 43px;border:1px solid #e5e5e5;border-top:4px solid #f99a00;min-width:0}
.contact-panel h3{font-size:23px;line-height:1.25;color:#333;margin:0 0 17px}
.contact-panel p{font-size:15px;line-height:1.75;margin:0 0 24px}
.contact-detail{display:flex;gap:17px;margin-top:23px;align-items:flex-start}
.contact-detail-icon{flex:none;color:#f99a00;font-size:26px;width:30px;line-height:1.2}
.contact-detail strong{display:block;color:#333;font-size:15px;margin-bottom:3px}
.contact-detail address{font-size:14px;line-height:1.6;font-style:normal}
.contact-detail a,.contact-direct-call a{color:#4d4d4d;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.contact-email-button{display:inline-flex;align-items:center;gap:25px;background:#f99a00;color:#191919;text-decoration:none;font-size:14px;font-weight:700;padding:14px 20px;margin:5px 0 26px}
.contact-email-button:hover{background:#333;color:#fff}
.contact-panel p.contact-direct-call{font-size:13px;margin:0}
@media(max-width:800px){body:not(.home-page) .footer .container.footer-main{grid-template-columns:1fr 1fr;gap:30px;padding:44px 20px}.contact-layout{grid-template-columns:1fr}.contact-body{padding:50px 0}}
@media(max-width:480px){.contact-hero{min-height:220px}.contact-hero h1{font-size:31px}.contact-panel{padding:26px 22px}.contact-intro h2{font-size:25px}body:not(.home-page) .footer .container.footer-main{grid-template-columns:1fr 1fr;gap:23px}}

/* Gallery horizontal scrollers: v12 */
.gallery-page .gallery-section{margin-bottom:40px}
.gallery-carousel{position:relative}
.gallery-controls{display:flex;justify-content:flex-end;gap:8px;margin:-8px 0 10px}
.gallery-scroll{display:grid;place-items:center;width:42px;height:36px;border:1px solid #aaa;border-radius:2px;background:#303030;color:#fff;font-size:28px;line-height:1;cursor:pointer}
.gallery-scroll:disabled{opacity:.35;cursor:default}
.gallery-scroll:not(:disabled):hover,.gallery-scroll:focus-visible{background:#f99a00;color:#111}
.gallery-track{display:flex;gap:14px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:thin;padding:2px 2px 15px}
.gallery-track .gallery-thumb{flex:0 0 calc((100% - 42px)/4);min-width:0;aspect-ratio:4/3;scroll-snap-align:start;display:block;background:#eee;overflow:hidden;border:1px solid #ddd;cursor:zoom-in}
.gallery-track .gallery-thumb img{width:100%;height:100%;display:block;object-fit:cover}
.gallery-viewer-arrow{position:fixed;top:50%;transform:translateY(-50%);z-index:4;background:rgba(25,25,25,.82);border:1px solid #fff;color:#fff;font-size:46px;width:56px;height:66px;cursor:pointer}
.gallery-viewer-prev{left:12px}.gallery-viewer-next{right:12px}
.gallery-viewer-arrow:hover,.gallery-viewer-arrow:focus-visible{background:#f99a00;color:#111}
.gallery-viewer-count{font-size:13px;color:#ddd;margin:3px 0 0;text-align:center}
@media(max-width:900px){.gallery-track .gallery-thumb{flex-basis:calc((100% - 28px)/3)}}
@media(max-width:600px){.gallery-track .gallery-thumb{flex-basis:calc((100% - 14px)/2)}.gallery-viewer-arrow{width:38px;height:54px;font-size:32px}.gallery-viewer-prev{left:2px}.gallery-viewer-next{right:2px}.gallery-lightbox-frame img{max-width:calc(100% - 64px)}}
@media(prefers-reduced-motion:reduce){.gallery-track{scroll-behavior:auto}}

/* Homepage welcome section — balanced layout v13 */
.home-page .intro-refined{padding:72px 0 79px;background:#f7f7f7}
.home-page .intro-refined .intro-heading h2{font-size:28px;margin-bottom:26px}
.home-page .intro-refined .intro-grid{grid-template-columns:minmax(0,1.48fr) minmax(0,1fr);gap:42px;align-items:start}
.home-page .intro-refined .intro-copy .intro-lead{font-size:13px;line-height:1.76;color:#666;margin:0 0 26px}
.home-page .intro-refined .services-heading{font-size:17px;line-height:1.3;color:#333;margin:0 0 15px;font-weight:700}
.home-page .intro-refined .service-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:20px;row-gap:12px}
.home-page .intro-refined .service-tile{border-top:1px solid #dedede;padding:12px 0 1px;min-width:0}
.home-page .intro-refined .service-tile h4{color:#333;font-weight:700;font-size:13px;line-height:1.4;margin:0 0 5px}
.home-page .intro-refined .service-tile a{color:inherit;text-decoration:none}
.home-page .intro-refined .service-tile a:hover,.home-page .intro-refined .service-tile a:focus-visible{color:#c47b00;text-decoration:underline}
.home-page .intro-refined .service-tile p{color:#777;font-size:12px;line-height:1.5;margin:0}
.home-page .intro-refined .service-tile-wide{grid-column:1/-1}
.home-page .intro-refined .intro-visual{overflow:hidden}
.home-page .intro-refined .intro-visual img{width:100%;height:455px;object-fit:cover;object-position:50% 45%;display:block}
@media(max-width:900px){.home-page .intro-refined .intro-grid{gap:25px;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}.home-page .intro-refined .intro-visual img{height:425px}}
@media(max-width:767px){.home-page .intro-refined{padding:52px 0 60px}.home-page .intro-refined .intro-grid{grid-template-columns:1fr;gap:26px}.home-page .intro-refined .intro-visual img{height:auto;max-height:430px;aspect-ratio:4/3;object-fit:cover}.home-page .intro-refined .intro-heading h2{font-size:25px}}
@media(max-width:420px){.home-page .intro-refined .service-grid{column-gap:14px}.home-page .intro-refined .service-tile h4{font-size:12.5px}}
