
:root{--black:#05090e;--ink:#08121c;--nav:#050a10;--blue:#078bee;--blue2:#49b9ff;--white:#fff;--muted:#bfd0df;--stroke:#233448}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--black);font-family:Arial,Helvetica,sans-serif;color:var(--white);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}.container{max-width:1340px;margin:auto;padding:0 48px}.notice{background:#0b1828;color:#c8deef;font-weight:700;text-align:center;letter-spacing:1.65px;text-transform:uppercase;font-size:10px;line-height:1.4;padding:9px 16px}.siteheader{background:#04080d;border-bottom:1px solid #293d50}.headerinner{display:flex;align-items:center;justify-content:space-between;height:142px;gap:25px}.brand{display:block;flex:none;line-height:0}.brand img{display:block;width:470px;height:auto;max-height:125px;object-fit:contain}.navigation{display:flex;gap:32px;align-items:center}.navigation a:not(.button){font-size:12px;font-weight:800;color:#f8fdff;letter-spacing:.3px}.navigation a:hover{color:var(--blue2)}.button{display:inline-flex;gap:16px;justify-content:center;align-items:center;background:#087fdb;border:1px solid #369ff0;border-radius:3px;padding:17px 24px;font-size:12px;letter-spacing:.95px;font-weight:850;text-transform:uppercase;color:#fff;white-space:nowrap;box-shadow:0 8px 38px #008dfe24}.button:hover{background:#1598f5}.button.secondary{background:transparent;border-color:#617995;box-shadow:none}.mobilemenu{display:none}.hero{background:radial-gradient(circle at 77% 31%,#143657 0%,#0a1b2b 39%,#05090e 77%);border-bottom:1px solid #1d3246;overflow:hidden}.hero-inner{display:grid;grid-template-columns:51% 49%;min-height:630px;align-items:center;gap:0}.hero-copy{position:relative;z-index:2;padding:58px 28px 64px 0}.eyebrow{font-size:11px;font-weight:800;letter-spacing:2.45px;color:#5bbbff;text-transform:uppercase;display:flex;gap:15px;align-items:center;line-height:1.5}.eyebrow:before{content:'';display:inline-block;width:27px;height:2px;background:#249ffa;flex:none}.hero h1{font-family:Arial,Helvetica,sans-serif;font-weight:950;font-stretch:condensed;letter-spacing:-3.8px;line-height:.98;font-size:clamp(58px,5.3vw,78px);margin:28px 0 29px;text-transform:uppercase;color:#fff;max-width:740px}.hero h1 span{color:#46adff}.hero p{color:#e1edf7;font-size:17px;line-height:1.69;max-width:550px;margin:0 0 32px}.actions{display:flex;gap:12px;flex-wrap:wrap}.subfeatures{display:flex;flex-wrap:wrap;gap:18px;margin-top:30px;font-size:11px;color:#c3d5e6}.subfeatures span:before{content:'✓';color:#39adff;font-weight:900;margin-right:9px}.hero-photo{position:relative;height:500px;max-height:66vh;border:1px solid #40627d;background:#07111d;overflow:hidden;box-shadow:0 30px 65px #0008}.hero-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:right center}.hero-photo::before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#0716272a,transparent 20%),linear-gradient(0deg,#030910a8,transparent 36%);pointer-events:none}.photo-caption{position:absolute;bottom:16px;left:16px;right:16px;z-index:1;font-size:10px;line-height:1.35;letter-spacing:1.05px;text-transform:uppercase;background:#03080ccc;color:#fff;padding:12px 13px;border:1px solid #607b8c}.truststrip{background:#09131e;border-bottom:1px solid #213449}.trust-inner{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding-top:23px;padding-bottom:23px}.trust-item{font-weight:850;font-size:11px;text-transform:uppercase;letter-spacing:1.1px;color:#f4fbff}.trust-item b{font-size:12px;color:#269ff6;margin-right:11px}.section{padding-top:90px;padding-bottom:90px}.smallcap{font-size:11px;text-transform:uppercase;letter-spacing:2.2px;color:#57baff;font-weight:800}.section-title{font-weight:950;font-size:clamp(32px,4vw,52px);line-height:1.1;letter-spacing:-2.1px;color:#fff;text-transform:uppercase;margin:15px 0 15px}.section-subtitle{font-size:16px;line-height:1.66;color:#c6d7e4;max-width:680px;margin:0}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:38px}.service{min-height:233px;padding:28px 22px;background:linear-gradient(150deg,#132639,#0a1420 85%);border:1px solid #2b445c}.service .n{font-size:12px;font-weight:900;letter-spacing:2px;color:#55baff}.service .symbol{display:block;font-size:32px;margin-top:27px;color:#5dc0ff;line-height:1}.service h3{font-size:20px;line-height:1.15;margin:13px 0 10px;color:#fff}.service p{font-size:12px;color:#c5d3e1;line-height:1.6;margin:0}.work{background:linear-gradient(115deg,#0e2944,#091524);border-top:1px solid #23587b;border-bottom:1px solid #23587b}.work-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-top:39px;padding-bottom:39px}.work h2{font-size:clamp(25px,2.7vw,38px);line-height:1.12;letter-spacing:-.9px;margin:0 0 12px;text-transform:uppercase;color:#fff}.work p{color:#cae1f4;margin:0;font-size:14px;line-height:1.6}.quote{padding-top:93px;padding-bottom:97px}.quote-grid{display:grid;grid-template-columns:.89fr 1.11fr;gap:76px}.quote h2{font-weight:950;font-size:clamp(32px,3.4vw,46px);line-height:1.06;letter-spacing:-1.4px;text-transform:uppercase;margin:17px 0}.quote-copy p{max-width:460px;color:#d2deea;font-size:16px;line-height:1.7}.quote .note{font-size:12px;color:#9eafbf;margin-top:30px}.form{border:1px solid #39506a;background:#0e1c2b;padding:27px;border-radius:4px;display:grid;grid-template-columns:1fr 1fr;gap:15px}.field{display:flex;flex-direction:column;gap:9px}.field.wide{grid-column:span 2}.field label{font-size:11px;letter-spacing:1.15px;font-weight:850;color:#d9ecfc;text-transform:uppercase}.field input,.field select{background:#081320;border:1px solid #3b526b;color:#fff;border-radius:3px;padding:13px;font-family:inherit;font-size:13px;min-height:47px}.field input::placeholder{color:#93a4b7}.field button{cursor:pointer;width:100%}.form-disclosure{font-size:11px;color:#aabecf;grid-column:span 2;line-height:1.5}.footer{background:#020407;border-top:1px solid #24374a;padding:28px 0;color:#a4b7c9;font-size:12px}.footer-inner{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}button{font-family:inherit}@media(max-width:1100px){.container{padding-left:30px;padding-right:30px}.navigation{gap:18px}.hero h1{font-size:clamp(44px,5.6vw,68px)}.hero-inner{min-height:580px}.hero-photo{height:430px}.service-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:720px){.container{padding:0 19px}.notice{font-size:9px;letter-spacing:1px}.headerinner{height:auto;padding-top:16px;padding-bottom:16px;display:flex;flex-direction:column;align-items:stretch;gap:11px}.brand img{width:min(100%,330px);max-height:none}.navigation{width:100%}.navigation .button{width:100%;min-height:43px}.navigation a:not(.button){display:none}.navigation .button{padding:13px 15px;font-size:10px;letter-spacing:.35px}.hero-inner{grid-template-columns:1fr;min-height:auto}.hero-copy{padding:55px 0 32px}.hero h1{font-size:clamp(43px,10vw,67px);letter-spacing:-2.4px;line-height:1.01;margin:26px 0}.hero p{font-size:15px;line-height:1.65;margin-bottom:25px}.eyebrow{font-size:10px;letter-spacing:1.3px}.actions{display:grid;gap:10px}.actions .button{width:100%;min-height:49px}.subfeatures{font-size:11px;margin-top:24px;gap:9px 16px}.hero-photo{max-height:none;height:290px;margin-bottom:24px}.photo-caption{font-size:9px;left:9px;right:9px;bottom:9px}.trust-inner{grid-template-columns:repeat(2,1fr);padding-top:18px;padding-bottom:18px;row-gap:17px}.trust-item{font-size:10px}.section{padding-top:59px;padding-bottom:62px}.section-title{font-size:35px;letter-spacing:-1.5px}.section-subtitle{font-size:14px}.service-grid{gap:10px;margin-top:27px}.service{padding:19px 14px;min-height:202px}.service h3{font-size:16px}.service .symbol{font-size:25px;margin-top:20px}.work-inner{display:block;padding-top:33px;padding-bottom:34px}.work .button{margin-top:22px;width:100%}.quote{padding-top:66px;padding-bottom:71px}.quote-grid{grid-template-columns:1fr;gap:25px}.quote h2{font-size:35px}.form{padding:16px;gap:13px}.field{grid-column:span 2}.footer{font-size:10px}}

/* Additional content and filter component */
.mobile-gallery-filter{display:none}

.accent{color:#3daeff}.gallery{padding:100px 0;background:linear-gradient(180deg,#04090e,#0b1726);border-top:1px solid #1e364a}.section-header-inline{display:flex;align-items:end;justify-content:space-between;gap:28px}.textlink{color:#bfe1ff;text-decoration:none;border-bottom:1px solid #277bb5;font-size:13px;padding-bottom:8px;white-space:nowrap}.filter-bar{display:flex;flex-wrap:wrap;gap:9px;margin:36px 0 28px}.filter{font:800 12px inherit;font-weight:800;font-size:12px;color:#d0e2f1;background:#0c1e2d;border:1px solid #294a60;padding:12px 16px;border-radius:2px;cursor:pointer;transition:.18s}.filter.active{background:#087fe0;color:#fff;border-color:#158cea}.filter:hover{border-color:#4dabf2}.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.gallery-card{background:#0d1c2b;border:1px solid #23435a;min-width:0;transition:transform .18s}.gallery-card:hover{transform:translateY(-3px)}.gallery-card[hidden]{display:none}.gallery-art{height:193px;overflow:hidden;display:flex;justify-content:center;align-items:center;position:relative;background:radial-gradient(circle at 50% 50%,#173957 0,#0a1a2d 50%,#08111e 100%);border-bottom:1px solid #263f55}.gallery-art:after{position:absolute;content:'';width:100%;bottom:0;left:0;height:1px;background:#2d8ac6}.gallery-symbol{color:white;font-size:126px;line-height:1;font-weight:950;text-shadow:0 0 25px #65c1ff,0 0 4px #fff}.awning-diagram{display:flex;width:65%;height:80px;box-shadow:0 30px 13px #0007;transform:perspective(350px) rotateX(13deg);border-top:7px solid #b8d9ed}.awning-diagram i{flex:1;background:linear-gradient(#39aaff,#093a82);border-right:3px solid #b2e9fa}.awning-diagram i:nth-child(even){background:linear-gradient(#d7e8f4,#285676)}.cabinet-diagram{height:98px;width:64%;border:8px solid #194f87;box-shadow:0 0 25px #2ba6ff;display:flex;justify-content:center;align-items:center}.cabinet-diagram div{width:74%;height:17px;background:#fff;box-shadow:0 0 18px #e9fcff,0 0 6px #fff}.monument-diagram{height:138px;width:180px;background:linear-gradient(150deg,#466c82,#1d2e43);border:8px solid #81a7bf;border-bottom:19px solid #3c5c73;display:flex;align-items:center;justify-content:center;position:relative;box-shadow:0 0 30px #043253}.monument-diagram i{width:100px;height:13px;background:white;box-shadow:0 0 13px #fff}.monument-diagram span{position:absolute;bottom:-35px;width:235px;height:16px;background:#43627a}.led-diagram{width:67%;height:97px;border:10px solid #285470;background:radial-gradient(#14aef5 1.5px,transparent 2.7px);background-size:18px 18px;box-shadow:0 0 20px #178ce7;display:flex;justify-content:center;align-items:center;gap:12px}.led-diagram i{display:block;width:9px;height:9px;background:#59caff;box-shadow:0 0 11px #32adf7}.gallery-content{padding:25px 24px 29px}.gallery-index{font-size:10px;font-weight:900;letter-spacing:2px;color:#6fc1ff}.gallery-content h3{font-size:22px;letter-spacing:-.5px;color:#fff;margin:12px 0}.gallery-content p{font-size:13px;line-height:1.65;color:#bfd1e0;min-height:47px;margin:0 0 22px}.gallery-link{color:#f1f9ff;text-decoration:none;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.8px}.gallery-link span{color:#49b6ff;margin-left:8px}.gallery-footer{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-top:22px;color:#a5c2d7;font-size:12px}.gallery-footer a{color:#67bdff;font-weight:800;text-decoration:none}.steps{padding:87px 0 90px;background:#0b1c2f;border-top:1px solid #1f4d70;border-bottom:1px solid #1f4d70}.steps-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:75px}.step-list{display:flex;flex-direction:column;gap:0}.step{display:grid;grid-template-columns:48px 1fr;gap:19px;padding:23px 0;border-bottom:1px solid #365270}.step:first-child{padding-top:3px}.step b{font-size:24px;font-weight:900;color:#45b5ff}.step h3{margin:0 0 7px;color:#fff;font-size:18px}.step p{margin:0;color:#c2d5e5;font-size:13px;line-height:1.65}.steps .section-title{margin-top:24px}
@media(max-width:1100px){.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.filter-bar{display:none!important}.mobile-gallery-filter{display:block;margin:24px 0}.mobile-gallery-filter label{display:block;font-size:11px;font-weight:850;color:#a3cbe9;text-transform:uppercase;letter-spacing:1px;margin-bottom:9px}.mobile-gallery-filter select{width:100%;appearance:auto;background:#0b2843;color:#fff;padding:15px;border:1px solid #2370ad;border-radius:3px;font-size:13px}.gallery{padding:62px 0}.section-header-inline{display:block}.section-header-inline .textlink{display:inline-block;margin-top:19px}.filter-bar{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:25px 0}.filter{padding:12px 6px;font-size:11px}.gallery-grid{grid-template-columns:1fr;gap:13px}.gallery-art{height:170px}.gallery-content{padding:19px}.gallery-content h3{font-size:19px}.gallery-content p{min-height:0}.gallery-footer{display:block;line-height:1.7}.gallery-footer a{display:block;margin-top:8px}.steps{padding:62px 0}.steps-grid{grid-template-columns:1fr;gap:18px}.step{padding:18px 0}.step h3{font-size:16px}}

/* Brand consistency: exact supplied S.O.I. art, not AI-generated lettering */
.siteheader{position:relative;top:auto;z-index:200;box-shadow:0 6px 24px #0006}
.siteheader .headerinner{height:138px;transition:height .2s ease}
.siteheader .brand img{width:490px;max-height:125px;transition:width .2s ease}
.siteheader.compact .headerinner{height:99px}
.siteheader.compact .brand img{width:370px;max-height:78px}
.siteheader .brand{isolation:isolate}
.gallery,.section,.quote,.steps{scroll-margin-top:120px}
.footer-brand{display:flex;align-items:center;gap:28px;flex-wrap:wrap;margin-bottom:20px}
.footer-brand img{width:310px;height:auto;max-width:100%;display:block}
.footer-description{max-width:540px;line-height:1.7;color:#b4cadc}
@media(max-width:1050px){.siteheader .brand img{width:380px}}
@media(max-width:720px){
 .siteheader .headerinner{height:auto!important;padding-top:10px;padding-bottom:10px;gap:8px}
 .siteheader .brand img{width:min(100%,330px)!important;max-height:90px}
 .siteheader.compact .headerinner{gap:5px;padding-top:8px;padding-bottom:8px}
 .siteheader.compact .brand img{width:min(100%,255px)!important;max-height:55px}
 .siteheader.compact .navigation .button{min-height:38px;padding:9px 12px}
 .gallery,.section,.quote{scroll-margin-top:122px}
 .footer-brand{display:block}
 .footer-brand img{width:280px;margin-bottom:12px}
}

/* Photographic sign-type ribbon: original brand from supplied logo remains unchanged. */
.photo-showcase{padding:46px 0 36px;background:#040a11;border-top:1px solid #173348;border-bottom:1px solid #1a4057;scroll-margin-top:130px}
.photo-showcase-head{display:flex;align-items:end;justify-content:space-between;gap:28px;margin-bottom:22px}
.photo-showcase .smallcap{font-size:10px;letter-spacing:2px;text-transform:uppercase;font-weight:850;color:#55baff;margin-bottom:10px}
.photo-showcase h2{font-size:clamp(23px,2.4vw,35px);line-height:1.08;letter-spacing:-1.1px;text-transform:uppercase;margin:0;font-weight:900;color:#fff}
.photo-showcase-link{color:#d7f1ff;font-size:13px;font-weight:800;text-decoration:none;border-bottom:1px solid #399be0;padding-bottom:7px;white-space:nowrap}
.photo-rail{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.photo-example{position:relative;display:block;min-width:0;border:1px solid #25435a;background:#0b1723;aspect-ratio:1.48;overflow:hidden;text-decoration:none;transition:transform .2s,border-color .2s;cursor:pointer}
.photo-example:hover,.photo-example:focus-visible{border-color:#58baff;transform:translateY(-3px)}
.photo-example img{display:block;width:100%;height:100%;object-fit:cover;filter:brightness(.93) saturate(1.04);transition:transform .35s}
.photo-example:hover img{transform:scale(1.045)}
.photo-example:after{content:'';position:absolute;inset:40% 0 0;background:linear-gradient(transparent,#02070ce8);pointer-events:none}
.photo-example-label{position:absolute;bottom:13px;left:12px;right:10px;z-index:1;color:white;font-size:12px;font-weight:850;line-height:1.15;text-shadow:0 1px 5px #000;text-transform:uppercase;letter-spacing:.2px}
.photo-showcase-note{font-size:11px;color:#a4b8c7;margin:14px 0 0;line-height:1.55}
@media(max-width:1000px){.photo-rail{grid-template-columns:repeat(3,minmax(0,1fr))}.photo-example{aspect-ratio:1.65}}
@media(max-width:700px){.photo-showcase{padding:30px 0 26px}.photo-showcase-head{align-items:start;margin-bottom:17px;display:block}.photo-showcase h2{font-size:25px;max-width:320px}.photo-showcase-link{display:inline-block;margin-top:13px}.photo-rail{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;margin-right:-19px;padding-right:19px;padding-bottom:8px;scrollbar-width:thin}.photo-example{flex:0 0 min(72vw,275px);aspect-ratio:1.5;scroll-snap-align:start}.photo-example-label{font-size:12px}.photo-showcase-note{font-size:10px}}

/* High visibility phone & quote CTAs: desktop and iPhone. */
.siteheader .headerinner{gap:16px}
.siteheader .navigation{gap:22px}
.siteheader .navigation a.header-phone{display:flex!important}
.siteheader .brand img{width:425px}
.siteheader.compact .brand img{width:330px}
.header-phone{display:flex;flex-direction:column;justify-content:center;gap:4px;min-width:max-content;line-height:1.08;text-align:left;padding:6px 0;color:#fff!important;text-decoration:none!important}
.header-phone:hover .call-number{color:#6ac6ff}
.header-phone .call-label{font-size:10px;font-weight:800;letter-spacing:1.5px;color:#76bfff}
.header-phone .call-number{font-size:25px;font-weight:900;letter-spacing:.2px;color:#fff}
.header-quote{font-size:14px!important;letter-spacing:.4px!important;padding:18px 22px!important;min-height:59px!important;font-weight:900!important}
.contact-band{background:linear-gradient(98deg,#081c31,#0d3455 60%,#06111d);border-top:1px solid #2c7cbb;border-bottom:1px solid #225780;padding:38px 0}
.contact-band-inner{display:flex;align-items:center;gap:24px;justify-content:space-between}
.contact-band h2{font-size:clamp(22px,2.2vw,32px);color:#fff;line-height:1.17;margin:0 0 7px;letter-spacing:-.5px}
.contact-band p{font-size:14px;color:#c2def1;margin:0;line-height:1.5}
.contact-band-actions{display:flex;align-items:center;gap:12px;flex:none}
.contact-band-call{display:flex;gap:10px;flex-direction:column;align-items:center;justify-content:center;border:1px solid #5793c1;border-radius:4px;padding:9px 22px;min-width:230px;min-height:70px;font-size:25px;font-weight:900;color:#fff;line-height:1.1}
.contact-band-call span{font-size:10px;font-weight:800;color:#92ceff;letter-spacing:1.7px}
.contact-band .button{font-size:15px;min-height:70px}
.footer-contact{font-weight:850;font-size:20px;color:#fff;text-decoration:none}
.footer-contact:hover{color:#63c3ff}
@media(max-width:1200px){
 .siteheader .brand img{width:350px}
 .siteheader.compact .brand img{width:300px}
 .siteheader .navigation{gap:15px}
 .header-phone .call-number{font-size:21px}
 .header-quote{padding:14px 15px!important;min-height:53px!important;font-size:12px!important}
 .navigation .nav-link{font-size:11px!important}
}
@media(max-width:850px){
 .siteheader .headerinner{gap:7px}
 .siteheader .brand img{width:290px}
 .navigation .nav-link{display:none}
 .header-phone .call-number{font-size:21px}
}
@media(max-width:720px){
 .siteheader .headerinner{padding-top:10px;padding-bottom:11px;gap:8px!important}
 .siteheader .brand img{width:min(100%,310px)!important;max-height:80px}
 .siteheader.compact .brand img{width:min(100%,250px)!important;max-height:56px}
 .siteheader .navigation{display:grid;grid-template-columns:1fr 1fr;gap:9px;width:100%}
 .siteheader .navigation .nav-link{display:none}
 .header-phone{min-height:62px;padding:7px 9px;border:1px solid #277ab8;border-radius:4px;background:#0b2941;align-items:center;justify-content:center;gap:5px;min-width:0}
 .header-phone .call-label{font-size:9px;letter-spacing:.8px}
 .header-phone .call-number{font-size:clamp(14px,3.9vw,19px);letter-spacing:-.4px;white-space:nowrap}
 .navigation .header-quote{width:100%;min-height:62px!important;margin:0;padding:10px 7px!important;font-size:clamp(12px,3.1vw,15px)!important;letter-spacing:.2px!important;gap:6px!important}
 .siteheader.compact .headerinner{padding-top:8px;padding-bottom:8px}
 .siteheader.compact .navigation .header-quote,.siteheader.compact .header-phone{min-height:51px!important}
 .contact-band{padding:25px 0}
 .contact-band-inner{display:block}
 .contact-band-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:19px}
 .contact-band-call{min-width:0;font-size:clamp(14px,4vw,19px);padding:8px 7px;min-height:66px}
 .contact-band-call span{letter-spacing:.8px;font-size:9px}
 .contact-band .button{font-size:13px;min-height:66px;padding:13px 6px;white-space:normal;text-align:center}
}
@media(max-width:355px){.header-phone .call-number{font-size:13px}.navigation .header-quote{font-size:12px!important}}


/* Bigger header lockup: the PNG is made from Goose's supplied original-logo artwork. */
@media(min-width:1201px){
 .siteheader:not(.compact) .headerinner{height:150px;gap:13px}
 .siteheader:not(.compact) .brand img{width:535px;max-height:128px}
 .siteheader.compact .brand img{width:395px;max-height:90px}
 .siteheader .navigation{gap:16px}
 .siteheader .header-quote{padding:17px 17px!important;font-size:13px!important}
 .siteheader .header-phone .call-number{font-size:24px}
}
@media(min-width:851px) and (max-width:1200px){
 .siteheader:not(.compact) .brand img{width:390px;max-width:40vw}
 .siteheader.compact .brand img{width:325px}
}
@media(max-width:720px){
 .siteheader:not(.compact) .brand img{width:min(100%,350px)!important;max-height:100px}
 .siteheader.compact .brand img{width:min(100%,285px)!important;max-height:69px}
}
.navigation .nav-link{transition:color .2s ease;border-bottom:2px solid transparent;padding-bottom:7px}
.navigation .nav-link:hover,.navigation .nav-link:focus-visible{color:#59baff!important;border-bottom-color:#1689e9}
.photo-showcase,.gallery{scroll-margin-top:140px}
.gallery-art.photo-card-art{height:224px;padding:0;overflow:hidden;background:#071423;position:relative}
.gallery-art.photo-card-art img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(1.06)}
.gallery-card:hover .gallery-art.photo-card-art img{transform:scale(1.035);transition:transform .3s ease}
@media(max-width:720px){.gallery-art.photo-card-art{height:208px}.photo-showcase,.gallery{scroll-margin-top:170px}}


/* Simplified customer-first desktop navigation, full-size original company artwork */
.navigation .nav-projects{
  display:inline-flex;align-items:center;gap:9px;white-space:nowrap;
  font-size:17px!important;letter-spacing:.45px;font-weight:900!important;
  padding:12px 0 11px;border-bottom:3px solid #1489ed;
  color:#fff!important;
}
.navigation .nav-projects span{color:#47b9ff;font-size:20px}
.navigation .nav-projects:hover,.navigation .nav-projects:focus-visible{color:#67c9ff!important}
@media(min-width:1201px){
 .siteheader:not(.compact) .headerinner{height:166px;gap:12px}
 .siteheader:not(.compact) .brand img{width:605px;max-height:140px}
 .siteheader.compact .brand img{width:475px;max-height:100px}
 .siteheader .navigation{gap:19px}
}
@media(min-width:851px) and (max-width:1200px){
 .siteheader:not(.compact) .brand img{width:440px;max-width:41vw}
 .siteheader.compact .brand img{width:355px}
 .navigation .nav-projects{font-size:14px!important}
 .siteheader .navigation{gap:12px}
 .header-phone .call-number{font-size:19px}
 .siteheader .header-quote{padding:14px 12px!important}
}
@media(min-width:721px) and (max-width:850px){
 .navigation .nav-projects{display:none}
}
@media(max-width:720px){
 .siteheader:not(.compact) .brand img{width:min(100%,360px)!important;max-height:95px}
 .siteheader.compact .brand img{width:min(100%,310px)!important;max-height:74px}
 .siteheader .navigation .nav-projects{display:none}
 /* a second projects action belongs under hero, not in tiny phone header */
 .hero-projects-link{display:inline-flex!important}
}
.hero-projects-link{display:none;margin-top:16px;align-items:center;gap:10px;color:#b8e4ff;font-size:14px;font-weight:800;text-decoration:underline;text-underline-offset:5px}
#portfolio{scroll-margin-top:175px}
@media(max-width:720px){#portfolio{scroll-margin-top:175px}}


/* Social media profiles from S.O.I.-published sources. Validate destinations before publishing. */
.soi-social{flex:1 1 100%;padding:14px 0 18px;border-top:1px solid #244055;border-bottom:1px solid #244055;margin:0 0 6px}
.soi-social-heading{font-size:11px;letter-spacing:1.75px;color:#6dc5ff;font-weight:850;margin:0 0 15px}
.soi-social-links{display:flex;gap:11px;align-items:center;flex-wrap:wrap}
.soi-social-links a{display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:7px 11px;border:1px solid #335873;border-radius:4px;color:#e5f3ff;text-decoration:none;background:#0a1826;font-weight:700;font-size:12px;transition:background .18s,border-color .18s}
.soi-social-links a:hover,.soi-social-links a:focus-visible{background:#103754;border-color:#56baff}
.soi-social-mark{display:inline-flex;width:23px;height:23px;border-radius:4px;background:#106aab;align-items:center;justify-content:center;color:white;font-weight:900;font-size:12px;line-height:1}
@media(max-width:720px){.soi-social{margin-top:0}.soi-social-links{gap:8px}.soi-social-links a{font-size:11px;padding:7px 9px;min-height:42px}}

#soi-led-lightbox::backdrop{background:rgba(0,0,0,.86)} .photo-example[data-style="led"] img{object-fit:cover!important;filter:none!important;} .gallery-card[data-types="led"] .gallery-art.photo-card-art img{object-fit:contain!important;filter:none!important;}
#soi-monument-lightbox::backdrop{background:rgba(0,0,0,.86)} .photo-example[data-style="monument"] img{object-fit:cover!important;object-position:center 45%!important;filter:none!important} .photo-example[data-style="monument"]:after{background:linear-gradient(transparent 76%,rgba(0,0,0,.65) 100%)!important} .gallery-card[data-types="monument"] .gallery-art img{object-fit:contain!important;filter:none!important}

.photo-rail{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}
.photo-example{aspect-ratio:1.42}
.photo-example-label{font-size:11px;left:10px;right:9px;bottom:10px}
@media (min-width:701px) and (max-width:1080px){.photo-rail{grid-template-columns:repeat(3,minmax(0,1fr))}.photo-example{aspect-ratio:1.7}}
@media (max-width:700px){.photo-rail{display:flex;grid-template-columns:none;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin}.photo-example{flex:0 0 72%;min-width:235px;aspect-ratio:1.5;scroll-snap-align:start}.photo-example-label{font-size:12px}}
#portfolio{scroll-margin-top:24px}


/* Recognizable vector social platform brand marks; Font Awesome Free 6.7.2 Brands (CC BY 4.0).
   Inline SVGs avoid external font/CDN dependencies and render sharply on retina iPhones. */
.soi-social-links .soi-social-mark{flex:0 0 27px;width:27px;height:27px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;line-height:1;overflow:hidden;color:#fff;box-shadow:none}
.soi-social-mark .soi-social-icon{display:block;width:17px;height:18px;fill:currentColor;flex-shrink:0}
.soi-social-links .soi-social-mark--facebook{background:#0866ff;color:#fff}
.soi-social-links .soi-social-mark--instagram{background:linear-gradient(135deg,#feda75 0%,#fa7e1e 26%,#d62976 55%,#962fbf 80%,#4f5bd5 100%);color:#fff}
.soi-social-links .soi-social-mark--instagram .soi-social-icon{width:18px;height:19px}
.soi-social-links .soi-social-mark--youtube{background:#fff;color:#ff0033}
.soi-social-links .soi-social-mark--youtube .soi-social-icon{width:21px;height:19px}
.soi-social-links .soi-social-mark--x{background:#080808;color:#fff;border:1px solid #525963}
.soi-social-links .soi-social-mark--x .soi-social-icon{width:16px;height:16px}
.soi-social-links .soi-social-mark--linkedin{background:#0a66c2;color:#fff}
.soi-social-links .soi-social-mark--linkedin .soi-social-icon{width:16px;height:17px}


/* Audit improvements: preserve approved black/blue design. */
.skip-link{position:fixed;top:8px;left:8px;z-index:1000;background:#fff;color:#071423;padding:14px;transform:translateY(-180%)}
.skip-link:focus{transform:none}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #81d6ff;outline-offset:4px}
.service .service-quote{display:inline-flex;margin-top:18px;min-height:44px;align-items:center;font-size:12px;color:#e5f4ff}
.service h3{margin-top:25px}.service{scroll-margin-top:24px}.service p{font-size:14px}
.preview-call{display:block;color:#88d0ff;text-decoration:underline;margin-top:10px;font-weight:700}
.buyer-questions details{padding:18px 0;border-bottom:1px solid #35516b;max-width:900px}
.buyer-questions summary{font-size:17px;line-height:1.5;cursor:pointer;min-height:44px}
.buyer-questions p{font-size:16px;line-height:1.7;color:#d0e0ee}.buyer-questions .button{margin-top:28px}
.gallery-card[data-types="pylon"] .gallery-art img{object-fit:contain!important;filter:none!important}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}


.quote-grid{grid-template-columns:minmax(0,.89fr) minmax(0,1.11fr)}
.form,.field{min-width:0}.field input,.field select{min-width:0;width:100%}.field button{white-space:normal}
.buyer-questions .button{max-width:100%;white-space:normal;text-align:center;line-height:1.5}
@media(max-width:720px){.quote-grid{grid-template-columns:minmax(0,1fr)}}

.button:not(.ghost),.filter.active{background:#0865ad;color:#fff}
:root{--blue:#0865ad} .button:not(.ghost),.filter.active{background:#0865ad;color:white}.button:not(.ghost):hover{background:#074f87}.button.ghost{background:transparent}a:focus-visible,button:focus-visible,summary:focus-visible,select:focus-visible{outline:3px solid #90d4ff;outline-offset:5px}.skip-link{position:absolute;left:12px;top:-80px;background:#fff;color:#071423;padding:14px;z-index:999}.skip-link:focus{top:12px}.review-note{background:#172d42;border-bottom:1px solid #49b9ff;padding:12px 20px;text-align:center;font-size:14px}.product-links{display:flex;gap:12px;flex-wrap:wrap;padding-block:14px}.product-links a{text-decoration:underline;text-underline-offset:4px;color:#a6dbff}.product-main{max-width:1100px;margin:auto;padding:32px 32px 70px}.product-main h1{font-size:clamp(32px,5vw,60px);line-height:1.1;margin:24px 0}.product-main h2{font-size:28px;margin-top:36px}.product-main p,.product-main li{color:#d6e1ec;font-size:18px;line-height:1.7}.product-main .lead{font-size:22px}.product-main figure{margin:30px 0}.product-main figure img{width:100%;max-height:540px;object-fit:contain;background:#07111b}.product-main figcaption{color:#bfd0df;line-height:1.6;font-size:14px;padding-top:8px}.product-main details{border-bottom:1px solid #31475b;padding:18px 0}.product-main summary{cursor:pointer;font-weight:bold;line-height:1.5}.breadcrumbs{font-size:14px;color:#a6dbff}.mobile-contact{display:none}@media(max-width:700px){body{padding-bottom:64px}.container{padding-left:20px;padding-right:20px}.headerinner{height:auto;min-height:110px;flex-wrap:wrap;gap:12px;padding-block:16px}.brand img{max-width:min(88vw,360px)}.navigation{gap:14px;flex-wrap:wrap}.navigation a:not(.button){font-size:14px}.mobile-contact{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:50;gap:8px;background:#071423;padding:8px}.mobile-contact a{flex:1;text-align:center;padding:12px;background:#0865ad;border-radius:4px;font-weight:bold}.product-main{padding:24px 20px 70px}.product-main p{font-size:17px}}@media(min-width:1100px) and (max-width:1400px){.siteheader:not(.compact) .brand img{width:400px;max-width:34vw}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}