:root{--navy:#142740;--blue:#8db2df;--ink:#172a42;--muted:#556578;--line:#d9e0e7;--paper:#f1f4f7}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid #467cbf;outline-offset:6px}a,button{-webkit-tap-highlight-color:transparent}.wrap{max-width:1280px;width:calc(100% - 112px);margin:auto}.header{background:white}.nav{height:112px;display:flex;justify-content:space-between;align-items:center}.logo-crop{display:block;width:140px;height:68px;overflow:hidden;position:relative}.logo-crop img{position:absolute;max-width:none;width:233px;height:auto;left:-24px;top:3px}nav{display:flex;align-items:center;gap:38px;font-size:14px;font-weight:600}.nav-contact{border:1px solid var(--line);padding:11px 20px;display:flex;gap:30px}nav a:hover{color:#4f78ac}.hero{background:var(--navy);color:white;padding:48px 0 0;overflow:hidden}.eyebrow{font-size:12px;font-weight:600;letter-spacing:.15em;display:flex;align-items:center;gap:14px}.small-line{width:28px;height:2px;background:var(--blue)}.hero .eyebrow{color:#bfd1e7}.hero-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:60px;align-items:center;padding:34px 0 60px}h1{font-size:clamp(52px,6.2vw,86px);line-height:1.03;letter-spacing:-.055em;font-weight:500;margin:0 0 30px}em{font-style:normal;color:var(--blue)}.hero-description{max-width:440px;color:#c4cedb;font-size:17px;line-height:1.7;margin:0 0 32px}.button{display:inline-flex;align-items:center;gap:36px;background:var(--blue);color:var(--navy);padding:15px 23px;font-weight:600;font-size:15px}.button:hover{background:#b4cef0}.signal-panel{border:1px solid #42516a;background:#192e49;margin-top:20px}.signal-top,.signal-bottom{display:flex;justify-content:space-between;align-items:center;padding:24px}.signal-top{font-size:12px;letter-spacing:.1em;color:#b6c8e1}.wave-graphic{padding:15px 0}.wave-graphic svg{width:100%;display:block}.signal-legend{display:flex;gap:24px;padding:0 24px 24px;color:#c5d2e2;font-size:14px}.signal-legend i{display:inline-block;width:17px;height:2px;background:var(--blue);vertical-align:middle;margin-right:7px}.signal-legend .white{background:white}.signal-bottom{border-top:1px solid #42516a;font-size:16px;line-height:1.5}.plus{font-size:40px;font-weight:200;color:var(--blue)}.hero-bottom{border-top:1px solid #3a4b62;display:flex;justify-content:space-between;padding:23px 0;color:#aebed3;font-size:12px;letter-spacing:.13em}.section{padding-top:100px;padding-bottom:100px}.section-top{display:grid;grid-template-columns:1fr 2fr;margin-bottom:48px;gap:40px}.dark{color:#61738a;align-self:start;padding-top:11px}h2{font-weight:500;font-size:clamp(34px,3.5vw,48px);letter-spacing:-.045em;line-height:1.18;margin:0 0 22px}.section-top p{margin:0;color:var(--muted)}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.service{padding:32px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;align-items:flex-start;flex-direction:column;min-height:345px}.number{font-family:monospace;font-size:14px;color:#6d86a4;margin-bottom:25px}h3{font-size:25px;line-height:1.25;font-weight:500;letter-spacing:-.025em;margin:0 0 17px}.service p{font-size:15px;color:var(--muted);margin:0 0 28px;max-width:310px}.service-tag{font-size:11px;font-weight:600;letter-spacing:.08em;margin-top:auto;color:#567394}.service-note{background:var(--paper);justify-content:space-between}.service-note .eyebrow{font-size:11px;color:#61738a;margin-bottom:23px}.service-note h3{font-size:34px}.service-note a{display:flex;align-items:center;justify-content:space-between;width:100%;font-size:15px;border-top:1px solid #ccd6e0;padding-top:15px}.service-note a:hover{color:#4f78ac}.about{background:var(--paper);padding:80px 0}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px}.about h2{margin-top:25px}.about-copy p{margin:0 0 22px;font-size:17px;color:#4d6077}.about-copy p:first-child{font-size:21px;color:var(--ink)}.about-tags{display:flex;flex-wrap:wrap;gap:9px;margin-top:30px}.about-tags span{border:1px solid #c7d2df;padding:5px 13px;font-size:13px}.contact{background:var(--navy);color:white}.contact .eyebrow{color:#b5c9e2;margin-bottom:38px}.contact-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:90px}.contact h2{font-size:clamp(44px,4.6vw,64px)}.contact p{color:#bfccdc}.phone{display:inline-block;font-size:clamp(23px,2.5vw,33px);letter-spacing:-.02em;border-bottom:1px solid #53647d;padding-bottom:8px;margin-top:20px}.phone span{margin-left:22px;color:var(--blue)}.contact-details>div{border-top:1px solid #40526a;padding:23px 0}.contact-details>div>span{display:block;font-size:12px;letter-spacing:.1em;color:#a8bcd5;margin-bottom:15px}.contact-details a,.contact-details address{font-size:19px;font-style:normal;overflow-wrap:anywhere}.contact-details .map{font-size:14px;display:inline-block;margin-top:17px;color:var(--blue)}footer{background:#102137;color:#b8c4d4;font-size:12px}.footer-inner{display:flex;justify-content:space-between;gap:30px;padding:25px 0}footer a{white-space:nowrap}.skip{position:absolute;left:10px;top:-80px;z-index:5;background:white;padding:12px}.skip:focus{top:10px}@media(min-width:1500px){.hero-grid{padding-top:55px;padding-bottom:80px}}@media(max-width:960px){.wrap{width:calc(100% - 64px)}.hero-grid{gap:30px}.signal-top,.signal-bottom{padding:18px}.hero-grid h1{font-size:62px}.service{padding:24px}.section-top{grid-template-columns:1fr 2fr}.about-grid,.contact-grid{gap:45px}.service-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.wrap{width:calc(100% - 40px)}.nav{height:94px;gap:12px}.logo-crop{width:106px;height:56px}.logo-crop img{width:181px;left:-18px}nav{gap:17px;font-size:13px}nav a:nth-child(2){display:none}.nav-contact{padding:8px 10px;gap:10px}.hero{padding-top:30px}.eyebrow{font-size:10px;letter-spacing:.11em}.hero-grid{grid-template-columns:1fr;padding:30px 0 34px;gap:30px}.hero-grid h1{font-size:clamp(52px,13vw,72px)}.hero-description{font-size:16px;max-width:360px}.signal-panel{margin-top:4px}.wave-graphic{padding:0}.wave-graphic svg{max-height:190px}.signal-top{padding:17px;font-size:10px}.signal-legend{padding:0 17px 18px}.signal-bottom{padding:17px;font-size:15px}.hero-bottom{font-size:9px;letter-spacing:.05em;gap:20px}.section{padding-top:64px;padding-bottom:64px}.section-top{grid-template-columns:1fr;gap:22px;margin-bottom:30px}.service-grid{grid-template-columns:1fr}.service{min-height:0;padding:27px}.service h3 br{display:none}.service p{max-width:none}.service-note h3 br{display:none}.service-note h3{font-size:29px}.number{margin-bottom:18px}.service-tag{font-size:11px}.about{padding:60px 0}.about-grid,.contact-grid{grid-template-columns:1fr;gap:30px}.about h2{margin-bottom:0}.about-copy p:first-child{font-size:19px}.contact .eyebrow{margin-bottom:28px}.contact-details a,.contact-details address{font-size:17px}.contact-grid{gap:40px}.footer-inner{font-size:11px;align-items:flex-start}.desktop{display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.hero-photo{margin:0;align-self:stretch;display:flex;flex-direction:column;border:1px solid #42516a;min-width:0}.hero-photo>img{width:100%;height:100%;min-height:380px;max-height:480px;object-fit:cover;object-position:65% center;flex:1}.hero-photo figcaption{padding:16px 18px;display:flex;justify-content:space-between;gap:12px;font-size:10px;letter-spacing:.08em;color:#c4d5e9}.applications{padding-top:0}.photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.photo-grid figure{margin:0;min-width:0}.photo-grid a{display:block;overflow:hidden}.photo-grid img{display:block;width:100%;height:310px;object-fit:cover;transition:transform .25s}.photo-grid a:hover img{transform:scale(1.025)}.photo-grid figcaption{border-bottom:1px solid var(--line);padding:17px 0;font-size:16px}.photo-grid figcaption span{color:#617b9c;font-size:12px;margin-right:16px}.eyebrow,.service-tag,.service-note .eyebrow,.hero-bottom,.hero-photo figcaption,.signal-top{font-size:12px}nav,.button,.service-note a,.about-tags span,.contact-details .map{font-size:14px}@media(max-width:640px){.hero-photo>img{min-height:0;height:330px;max-height:330px}.hero-photo figcaption{font-size:10px}.hero-bottom{font-size:10px}.photo-grid{grid-template-columns:1fr;gap:27px}.photo-grid img{height:300px}.applications{padding-top:0}.contact-details a{overflow-wrap:anywhere}}@media(prefers-reduced-motion:reduce){.photo-grid img{transition:none}}

.brands{background:#f1f4f7;border-bottom:1px solid #d9e0e7}.brands-inner{display:flex;align-items:center;justify-content:space-between;gap:45px;padding:34px 0}.brands h2{font-size:19px;letter-spacing:-.02em;margin:0 0 5px;font-weight:600}.brands p{margin:0;color:#556578;font-size:14px}.brand-list{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:clamp(25px,4vw,60px);font-size:clamp(21px,2.3vw,30px);font-weight:700;letter-spacing:.03em}.brand-list li{white-space:nowrap}.hero-photo>img{object-position:center}.hero-photo figcaption a{font-size:12px;letter-spacing:0;color:#c4d5e9;text-decoration:underline;text-underline-offset:3px}.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:960px){.brands-inner{align-items:flex-start;flex-direction:column;gap:22px}.brand-list{justify-content:space-between;width:100%;gap:20px}}@media(max-width:640px){.brands-inner{padding:26px 0}.brand-list{font-size:clamp(17px,4.5vw,24px);gap:12px}.photo-grid{grid-template-columns:1fr}.hero-photo figcaption{flex-wrap:wrap}}

.photo-grid .field-detail img{object-fit:contain;background:#e8edf1}

/* Final presentation and accessibility refinements */
.header{border-bottom:1px solid #e5eaf0}.hero-grid{grid-template-columns:1fr 1.1fr;gap:56px}.hero-photo{box-shadow:0 22px 60px #07152555}.hero-photo figcaption{flex-wrap:wrap;gap:5px 14px}.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:20px}.text-link{font-size:13px;color:#d7e4f4;border-bottom:1px solid #7088a7;padding:8px 0}.text-link span{margin-left:10px}.button{transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px)}.service{transition:background .2s}.service:hover{background:#f5f8fb}.service-note:hover{background:#e9eff6}.gallery-hint{display:block;color:#61738a;font-size:13px;margin-top:15px}.photo-grid a{background:#e8edf1;border:1px solid #e0e6ed;position:relative}.photo-grid a::after{content:'↗';position:absolute;right:14px;bottom:14px;width:34px;height:34px;display:grid;place-items:center;background:#142740e8;color:white;border:1px solid #ffffff40}.photo-grid img{height:340px;object-fit:contain;background:#e8edf1}.photo-grid figcaption{font-weight:500}.gallery-open{overflow:hidden}button{font:inherit;cursor:pointer}button:focus-visible{outline:3px solid #8db2df;outline-offset:4px}.lightbox{border:1px solid #40526a;background:#102137;color:#fff;width:min(1100px,94vw);max-height:94dvh;padding:52px 20px 18px}.lightbox::backdrop{background:#07111eeb;backdrop-filter:blur(5px)}.lightbox figure{margin:0}.lightbox img{display:block;width:100%;height:calc(88dvh - 145px);object-fit:contain}.lightbox figcaption{padding:12px 0;text-align:center;font-size:15px}.lightbox-close{position:absolute;right:14px;top:9px;background:transparent;color:white;border:0;width:40px;height:40px;font-size:22px}.lightbox-controls{display:flex;align-items:center;justify-content:space-between;gap:12px}.lightbox-controls button{background:#1c3552;border:1px solid #55708f;padding:9px 16px;color:#fff;font-size:13px}.lightbox-count{font-size:13px;color:#b8cee7}@media(max-width:960px){.hero-grid{gap:28px}.hero-grid h1{font-size:clamp(44px,6.5vw,62px)}nav{gap:20px}.photo-grid img{height:290px}}@media(max-width:640px){.nav{height:auto;min-height:116px;padding:14px 0;flex-wrap:wrap;gap:8px}.logo-crop{height:51px}nav{width:100%;justify-content:space-between;gap:8px;font-size:12px}nav a:nth-child(2){display:block}.nav-contact{padding:7px 9px;gap:6px}.hero-grid{grid-template-columns:1fr}.hero-grid h1{font-size:clamp(48px,13vw,72px)}.hero-photo>img{height:280px;min-height:0}.hero-photo figcaption{padding:13px}.hero-photo figcaption a{font-size:10px}.photo-grid img{height:300px}.hero-actions{gap:14px}.lightbox{padding:50px 10px 12px}.lightbox-controls button{padding:10px 12px}.footer-inner{flex-wrap:wrap;gap:12px}}@media(prefers-reduced-motion:reduce){.button,.service{transition:none}.button:hover{transform:none}}
