:root{--blue:#0045a9;--cyan:#51d6ff;--ink:#101c28;--muted:#586574;--line:#dce3e9;--off:#f3f6f8;--heading:'BankGothic LT BT','Bank Gothic',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:112px}body{margin:0;color:var(--ink);background:white;font:16px/1.65 Arial,Helvetica,sans-serif}button,input,select{font:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer}img{display:block;max-width:100%}button{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #0185c1;outline-offset:5px}button:disabled{cursor:default}.wrap{width:min(1280px,calc(100% - 112px));margin:auto}.section{padding-top:108px;padding-bottom:108px}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--heading);font-weight:600;line-height:1.08;letter-spacing:-.045em}h2{font-size:clamp(36px,4vw,56px);margin-bottom:26px}h3{font-size:24px;letter-spacing:-.025em}p{color:var(--muted)}.eyebrow{display:flex;align-items:center;gap:13px;font-size:11px;letter-spacing:.17em;font-weight:700;margin-bottom:22px;line-height:1.5;color:var(--blue)}.eyebrow>span:first-child:empty{height:2px;width:28px;background:var(--cyan)}.eyebrow.light{color:var(--cyan)}.skip{position:fixed;top:-100px;left:20px;background:white;padding:12px;z-index:100}.skip:focus{top:5px}.utility{background:#091b30;color:#dbe7ee;font-size:10px;letter-spacing:.14em}.utility-inner{display:flex;align-items:center;justify-content:space-between;min-height:34px}.utility a{letter-spacing:.04em;font-size:12px}.header{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.98);border-bottom:1px solid var(--line)}.header-inner{min-height:108px;display:flex;align-items:center;gap:30px}.brand{width:188px;flex-shrink:0}.brand img{width:100%;height:90px;object-fit:contain}.header nav{display:flex;align-items:center;gap:26px;margin-left:auto;font-size:12px;font-weight:600;line-height:1.4}.header nav a{padding:40px 0;white-space:nowrap;position:relative}.header nav a:hover{color:var(--blue)}.header nav .active:after{content:'';position:absolute;bottom:24px;left:0;width:22px;height:2px;background:var(--blue)}.languages{display:flex;align-items:center;gap:4px;font-size:11px;border-left:1px solid var(--line);padding-left:22px}.languages button{border:0;background:none;color:#8b949d;padding:8px 5px;font-size:11px;font-weight:700}.languages button.selected{color:var(--blue)}.languages>span{color:#bcc7d2}.menu-button{display:none}.hero{position:relative;min-height:670px;isolation:isolate;overflow:hidden;background:#08263d;color:white}.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 55%;z-index:-3}.hero-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(3,20,38,.95) 0%,rgba(4,27,47,.9) 30%,rgba(3,26,47,.45) 62%,rgba(0,18,38,.15) 100%)}.hero-lines{position:absolute;width:360px;height:500px;right:-175px;top:70px;border:1px solid #51d6ff55;transform:skewY(-30deg);pointer-events:none;z-index:-1}.hero-lines:after{content:'';position:absolute;inset:32px;border:1px solid #51d6ff55}.hero-content{padding-top:85px;padding-bottom:110px}.hero h1{font-size:clamp(45px,5.1vw,72px);max-width:690px;margin-bottom:28px;line-height:1.035}.hero p{max-width:570px;color:#d1dce5;font-size:16px;line-height:1.75;margin-bottom:34px}.buttons{display:flex;flex-wrap:wrap;gap:14px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;min-height:52px;padding:14px 23px;border:1px solid transparent;font-size:12px;font-weight:700;line-height:1.4;transition:background .18s,transform .18s}.button:hover{transform:translateY(-2px)}.button>span:last-child{font-size:21px;font-weight:400;line-height:1}.cyan{background:var(--cyan);color:#071e33}.cyan:hover{background:#94e7ff}.ghost{color:white;background:transparent;border-color:#ffffff60}.ghost:hover{background:#ffffff12}.blue{background:var(--blue);color:white}.blue:hover{background:#003d8e}.hero-foot{position:absolute;bottom:28px;left:0;right:0;display:flex;align-items:center;justify-content:space-between;color:#c9dce7;font-size:10px;letter-spacing:.18em;border-top:1px solid #ffffff25;padding-top:19px}.hero-foot a{font-size:28px;line-height:1.3}.intro{display:grid;grid-template-columns:1fr 1fr;gap:100px}.intro h2{max-width:490px}.intro-copy{padding-top:38px;font-size:16px}.intro-copy p{margin-bottom:20px}.experience{display:flex;align-items:center;gap:24px;margin-top:30px}.experience strong{font-size:65px;line-height:1;font-family:var(--heading);letter-spacing:-.07em;color:var(--blue)}.experience strong span{font-size:36px;font-weight:400;vertical-align:top;line-height:1.5}.experience>span{max-width:160px;font-size:10px;letter-spacing:.12em;font-weight:700;line-height:1.7;border-left:1px solid var(--line);padding-left:24px}.services{background:var(--off)}.section-top{display:flex;align-items:end;justify-content:space-between;margin-bottom:45px}.section-top h2{margin-bottom:0}.text-link{display:inline-flex;align-items:center;gap:24px;padding:0 0 9px;font-size:12px;font-weight:700;border:0;border-bottom:1px solid currentColor;background:none;color:var(--blue)}.text-link>span:last-child{font-size:21px;font-weight:400;line-height:1}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.service-card{padding:0;border:0;text-align:left;background:white;display:flex;flex-direction:column}.service-image{height:240px;position:relative;overflow:hidden;width:100%;background:#e5eaef}.service-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.service-card:nth-child(1) .service-image img{object-position:70% 50%}.service-card:hover img{transform:scale(1.04)}.service-number{position:absolute;top:15px;left:15px;font-size:10px;font-weight:700;background:#fff;padding:3px 8px}.circle-arrow{position:absolute;right:15px;bottom:15px;width:33px;height:33px;display:grid;place-items:center;background:white;border-radius:50%;font-size:20px;color:var(--blue)}.service-info{padding:25px 22px 30px}.service-info h3{font-size:23px;margin-bottom:15px;line-height:1.15}.service-info p{margin:0;font-size:13px;line-height:1.8}.projects{background:#0c2237;color:white}.project-top{display:grid;grid-template-columns:1fr 1fr;gap:105px;margin-bottom:40px}.project-top h2{max-width:500px}.project-top p{color:#bacbd7;padding-top:30px;font-size:15px}.pale{color:var(--cyan)}.project-gallery{display:grid;grid-template-columns:1.5fr 1fr;gap:24px}.gallery-tile{height:340px;position:relative;border:0;padding:0;background:#172e42;overflow:hidden;text-align:left;color:white}.gallery-tile:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 50%,#081b2bd9)}.gallery-tile img{height:100%;width:100%;object-fit:cover;transition:transform .5s}.gallery-tile:hover img{transform:scale(1.035)}.gallery-tile span{position:absolute;bottom:25px;left:25px;z-index:2;font-size:15px}.gallery-tile b{position:absolute;right:25px;bottom:18px;z-index:2;font-weight:400;font-size:30px}.image-note{font-size:10px;color:#9db0c2;letter-spacing:.02em;margin:17px 0 0}.trust{display:grid;grid-template-columns:1.1fr 1fr;gap:110px}.trust-list{padding:0;list-style:none;margin:35px 0 0}.trust-list li{border-bottom:1px solid var(--line);padding:17px 0 17px 34px;position:relative;font-size:15px;color:var(--muted)}.trust-list li:before{content:'';position:absolute;left:1px;top:25px;width:8px;height:8px;border:1px solid var(--blue);background:transparent}.certification{background:#edf7fc;padding:38px 42px;position:relative}.certification:before{content:'';position:absolute;left:0;top:0;width:3px;height:100%;background:var(--cyan)}.cert-icon svg{height:52px;width:52px;color:var(--blue);margin-bottom:25px}.certification .eyebrow{font-size:9px;margin-bottom:18px}.certification h3{font-size:31px;line-height:1.13;letter-spacing:-.025em;margin-bottom:24px}.certification h3>span{font-size:26px}.certification p{font-size:13px;margin-bottom:21px}.certification .cert-person{color:var(--ink);font-size:11px}.cert-person span{color:var(--muted)}.certification .text-link{margin-top:22px;font-size:11px}.certification .button{display:flex}.manufacturers{border-top:1px solid var(--line);padding:55px 0 65px}.centered{justify-content:center}.brand-grid{display:grid;grid-template-columns:repeat(5,1fr);align-items:center;margin-top:35px;gap:40px}.brand-grid a{display:flex;align-items:center;justify-content:center;height:90px;transition:opacity .2s}.brand-grid a:hover{opacity:.7}.brand-grid img{max-width:135px;max-height:70px;object-fit:contain}.brand-grid a:nth-child(3) img{max-height:81px}.brand-grid a:nth-child(4) img{width:135px}.closing{padding:76px 0;background:var(--blue);color:white}.closing-inner{display:flex;justify-content:space-between;gap:80px;align-items:center}.closing h2{font-size:44px;max-width:630px;margin-bottom:24px}.closing p{color:#d7eaff;font-size:15px;max-width:620px;margin-bottom:0}.closing .button{flex-shrink:0;min-width:185px}.contact{display:grid;grid-template-columns:.9fr 1.1fr;gap:100px}.contact p{font-size:15px;max-width:390px}.contact-details{display:flex;flex-direction:column;gap:13px;margin-top:35px}.contact-details>span{color:var(--muted);font-size:12px}.contact-details a{font-size:18px;letter-spacing:-.015em}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px 22px}.form-grid label{display:flex;flex-direction:column;gap:10px;font-size:11px;font-weight:700}.form-grid .full{grid-column:1/-1}.form-grid input,.form-grid select{width:100%;border:1px solid #ccd6df;background:#fff;border-radius:0;color:var(--ink);padding:13px 14px;min-height:50px;font-size:14px;font-weight:400}.form-grid input:hover,.form-grid select:hover{border-color:var(--blue)}#contact-form>.button{margin-top:30px;min-width:230px}.form-note{font-size:10px!important;line-height:1.5;margin:16px 0 0}.contact form{padding-top:10px}footer{border-top:1px solid var(--line);background:#f3f5f7;padding:20px 0}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:28px;color:var(--muted);font-size:10px}.footer-inner img{width:130px;height:65px;object-fit:contain}.footer-inner a{color:var(--blue)}dialog{border:0;padding:0;width:min(680px,calc(100% - 34px));max-height:85vh;overflow:auto;box-shadow:0 20px 80px #061b4050;color:var(--ink)}dialog::backdrop{background:#001224b8;backdrop-filter:blur(3px)}.dialog-close{position:absolute;right:14px;top:14px;border:0;background:white;width:38px;height:38px;font-size:26px;z-index:3;box-shadow:0 2px 14px #0002}.dialog-image{width:100%;height:290px;object-fit:cover}.dialog-body{padding:35px 40px}.dialog-body h2{font-size:34px;letter-spacing:-.035em}.dialog-body p{font-size:15px}.dialog-body .button{margin-top:10px}.dialog-actions{display:flex;justify-content:space-between;align-items:center;margin-top:20px}.dialog-actions button{border:1px solid var(--line);background:white;padding:8px 20px;font-size:18px}.email-summary{font-size:13px;line-height:1.7;margin-bottom:25px;overflow-wrap:anywhere}.email-summary dt{font-weight:700;margin-top:12px}.email-summary dd{margin-left:0;color:var(--muted)}
@media(min-width:1600px){.hero-content{padding-top:110px}.hero{min-height:740px}}@media(max-width:1150px){.wrap{width:calc(100% - 64px)}.header-inner{gap:20px}.header nav{gap:17px;font-size:11px}.brand{width:150px}.languages{padding-left:12px}.intro,.project-top,.trust,.contact{gap:55px}.service-grid{gap:16px}.service-image{height:200px}.service-info{padding:23px 17px}.service-info h3{font-size:21px}.hero h1{max-width:650px}.brand-grid{gap:25px}}@media(max-width:900px){.wrap{width:calc(100% - 48px)}.header-inner{min-height:90px;gap:18px}.brand{width:146px}.brand img{height:76px}.menu-button{display:block;margin-left:auto;padding:9px 13px;border:1px solid var(--line);background:white;font-size:12px}.header nav{display:none;position:absolute;top:90px;left:0;right:0;margin:0;background:white;padding:15px 24px;box-shadow:0 20px 30px #12263716}.header nav.open{display:flex;flex-direction:column;align-items:stretch;gap:0}.header nav a{padding:13px 5px;font-size:13px}.header nav .active:after{display:none}.hero{min-height:635px}.hero-content{padding-top:72px}.hero h1{font-size:58px;max-width:610px}.hero-shade{background:linear-gradient(90deg,#03172bef,#03172bba 65%,#03172b50)}.section{padding-top:76px;padding-bottom:76px}.intro{gap:38px}.intro h2{font-size:42px}.intro-copy{padding-top:32px;font-size:14px}.service-grid{grid-template-columns:repeat(2,1fr);gap:25px}.service-image{height:245px}.service-info{padding:25px}.service-info h3{font-size:25px}.service-info p{font-size:14px}.project-top{gap:40px}.project-top h2{font-size:43px}.project-top p{padding-top:29px}.gallery-tile{height:280px}.trust{gap:35px}.certification{padding:32px 28px}.trust-list li{font-size:13px}.brand-grid{gap:24px}.brand-grid img{max-width:100px;max-height:55px}.brand-grid a:nth-child(3) img{max-height:64px}.brand-grid a:nth-child(4) img{max-width:110px}.closing-inner{gap:40px}.closing h2{font-size:38px}.contact{gap:45px}.form-grid{gap:20px 15px}.footer-inner{gap:20px}html{scroll-padding-top:90px}}@media(max-width:600px){.wrap{width:calc(100% - 40px)}.utility-inner{min-height:32px}.utility-inner>span{font-size:8px;letter-spacing:.07em}.utility a{font-size:10px}.header-inner{gap:12px;min-height:82px}.brand{width:126px}.brand img{height:66px}.header nav{top:82px}.languages{padding-left:8px;gap:0}.menu-button{font-size:11px;padding:7px 10px}.hero{min-height:640px}.hero-content{padding-top:65px;padding-bottom:115px}.hero h1{font-size:44px;max-width:390px;line-height:1.08;letter-spacing:-.035em}.hero p{font-size:14px;line-height:1.8}.hero .eyebrow{font-size:8px;letter-spacing:.13em}.hero-image{object-position:70% 50%}.hero-shade{background:linear-gradient(90deg,#04182bf0,#04182bb5)}.hero-foot{font-size:8px}.button{font-size:11px;padding:13px 17px;gap:22px;min-height:50px}.hero .buttons{gap:12px}.section{padding:62px 0}.intro{grid-template-columns:1fr;gap:0}.intro h2{font-size:39px;max-width:350px;margin-bottom:28px}.intro-copy{padding-top:0;font-size:15px}.experience{margin-top:29px}.eyebrow{font-size:9px;margin-bottom:19px;letter-spacing:.14em}h2{font-size:37px}.section-top{align-items:start;gap:20px;margin-bottom:30px;flex-direction:column}.section-top .text-link{margin-top:0}.service-grid{grid-template-columns:1fr;gap:25px}.service-image{height:260px}.service-info{padding:23px 25px 27px}.service-info h3{font-size:26px;margin-bottom:12px}.service-info p{font-size:14px}.project-top{grid-template-columns:1fr;gap:0}.project-top h2{font-size:39px}.project-top p{padding-top:0;margin-bottom:23px}.project-top{margin-bottom:30px}.project-gallery{grid-template-columns:1fr;gap:20px}.gallery-tile{height:250px}.image-note{font-size:10px;line-height:1.7}.trust{grid-template-columns:1fr;gap:45px}.trust-list{margin-top:20px}.trust-list li{font-size:14px}.certification{padding:30px}.brand-grid{grid-template-columns:repeat(3,1fr);gap:20px 15px;margin-top:25px}.brand-grid a{height:75px}.brand-grid img{max-width:90px;max-height:52px}.brand-grid a:nth-child(3) img{max-height:62px}.brand-grid a:nth-child(4) img{max-width:95px}.manufacturers{padding:40px 0}.closing{padding:55px 0}.closing-inner{flex-direction:column;align-items:flex-start;gap:30px}.closing h2{font-size:37px}.closing p{font-size:14px}.contact{grid-template-columns:1fr;gap:40px}.contact p{max-width:none}.contact-details{margin-top:28px}.form-grid{gap:20px 16px}.form-grid label{font-size:10px}.form-grid input,.form-grid select{font-size:13px;padding:11px}.footer-inner{flex-wrap:wrap;gap:10px 20px}.footer-inner img{width:115px}.footer-inner span{font-size:9px}.footer-inner a{margin-left:auto}.dialog-body{padding:30px 25px}.dialog-image{height:220px}.dialog-body h2{font-size:30px}html{scroll-padding-top:82px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

.project-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}.gallery-tile{margin:0;cursor:default}.gallery-tile img{transition:none}.gallery-tile:hover img{transform:none}.gallery-tile figcaption{position:absolute;bottom:25px;left:25px;right:20px;color:white;font-size:18px;font-weight:600;z-index:2}.gallery-tile::after{pointer-events:none}@media(max-width:900px){.project-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.project-gallery{grid-template-columns:1fr}}

/* Keep the approved navigation at the viewport edge, independently of scrolling. */
:root{--header-space:142px;--header-height:142px}
body{padding-top:var(--header-space)}
html{scroll-padding-top:calc(var(--header-height) + 18px)}
.header{position:fixed;top:0;left:0;right:0;width:100%;transition:box-shadow .25s ease}
.header .utility{height:34px;overflow:hidden;transition:height .25s ease}
.header.is-scrolled{box-shadow:0 5px 22px #091b3010}
.header.is-scrolled .utility{height:0}
.header nav .active:after{width:100%;transform-origin:left;animation:nav-line .25s ease both}
@keyframes nav-line{from{transform:scaleX(.2)}to{transform:scaleX(1)}}
.button>span[data-i18n],.text-link>span[data-i18n]{font-size:inherit;font-weight:inherit;line-height:inherit}
.hero-image{transform:translate3d(0,var(--hero-shift,0px),0) scale(1.18)}
.hero-lines{transform:translate3d(0,var(--line-shift,0px),0) skewY(-30deg)}
.hero .hero-foot a:empty{display:none}
.service-card{transition:box-shadow .25s ease,transform .25s ease}
.service-card:hover{box-shadow:0 12px 30px #1430470c;transform:translateY(-3px)}
.project-pending{background:#122d43;border:1px solid #ffffff16}
.project-pending:after{background:none}
.project-placeholder{height:100%;display:grid;place-items:center}
.placeholder-frame{display:block;width:64px;height:92px;border:1px solid #6d9fba40;position:relative}
.placeholder-frame:before{content:'';position:absolute;inset:7px;border:1px solid #6d9fba35}
.placeholder-frame:after{content:'';position:absolute;right:14px;top:44px;width:4px;height:4px;background:#6d9fba70}
.gallery-tile.project-pending figcaption{color:#b0c7d6;font-weight:400;font-size:15px}
.gallery-tile.project-pending figcaption span{position:static;font-size:inherit;color:inherit}
@media(max-width:900px){:root{--header-space:124px;--header-height:124px}.header nav{top:100%}}
@media(max-width:600px){:root{--header-space:114px;--header-height:114px}.header .utility{height:32px}.header.is-scrolled .utility{height:0}.hero-image{transform:translate3d(0,var(--hero-shift,0px),0) scale(1.1)}}
@media(prefers-reduced-motion:reduce){.hero-image,.hero-lines{transform:none}.header nav .active:after{animation:none}.service-card:hover{transform:none}}

/* Shared independent page navigation and About layout. */
.brand-grid a{position:relative;z-index:1;cursor:pointer;pointer-events:auto}
.brand-grid img{pointer-events:none}
.brand-grid a:focus-visible{outline-offset:8px}
.about-lead{display:grid;grid-template-columns:1.15fr 1fr;gap:85px;align-items:center}
.about-lead h1{font-size:clamp(40px,4.4vw,62px);line-height:1.07;margin-bottom:30px;max-width:650px}
.about-introduction p{font-size:15px;max-width:575px}
.about-introduction .about-lead-copy{font-size:18px;color:var(--ink);line-height:1.65}
.about-photo{height:520px;position:relative;overflow:hidden;background:var(--off)}
.about-photo img{width:100%;height:100%;object-fit:cover;object-position:70% 50%}
.photo-rule{position:absolute;bottom:0;left:0;right:0;height:4px;background:var(--cyan)}
.about-story{background:var(--off)}
.about-story-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:start}
.about-statement{font-family:var(--heading);font-size:28px;line-height:1.5;letter-spacing:-.025em;color:var(--ink);margin-bottom:30px}
.about-story-right{padding-top:37px}
.about-story-right p,.about-story-left>p:last-child{font-size:15px}
.about-story-right .about-value{color:var(--blue);font-size:29px;line-height:1.3;letter-spacing:-.03em;font-family:var(--heading);margin:31px 0 24px}
.about-certification{display:grid;grid-template-columns:1.1fr 1fr;gap:100px;align-items:start}
.about-cert-copy h2{font-size:48px;max-width:500px}
.about-cert-copy p{font-size:15px;max-width:450px}
.about-cert-holder{border-top:1px solid #ccdce8;margin-top:26px;padding-top:22px;margin-bottom:25px}
.about-cert-holder .cert-person{margin-bottom:5px}
.about-cert-holder .cert-expiry{font-size:10px;margin:0;color:var(--muted)}
[data-page="services"] .service-card{cursor:default}
[data-page="services"] .service-card:hover{transform:none;box-shadow:none}
@media(max-width:1150px){.about-lead{gap:50px}.about-photo{height:500px}.about-story-grid,.about-certification{gap:55px}.about-cert-copy h2{font-size:43px}}
@media(max-width:900px){
  .header nav{display:flex;flex-direction:column;max-height:0;overflow:hidden;padding:0 24px;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-8px);transition:max-height .75s cubic-bezier(.22,.7,.25,1),padding .75s cubic-bezier(.22,.7,.25,1),opacity .5s ease,transform .75s cubic-bezier(.22,.7,.25,1),visibility 0s linear .75s}
  .header nav.open{max-height:350px;padding:15px 24px;opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0);transition-delay:0s}
  .header nav a{opacity:0;transform:translateY(-4px);transition:opacity .45s ease,transform .55s ease}
  .header nav.open a{opacity:1;transform:none;transition-delay:.12s}
  .header nav.open a:nth-child(2){transition-delay:.16s}.header nav.open a:nth-child(3){transition-delay:.20s}.header nav.open a:nth-child(4){transition-delay:.24s}.header nav.open a:nth-child(5){transition-delay:.28s}
  .about-lead{gap:35px}.about-lead h1{font-size:42px}.about-introduction .about-lead-copy{font-size:16px}.about-photo{height:510px}.about-story-grid,.about-certification{gap:35px}.about-statement{font-size:24px}.about-cert-copy h2{font-size:39px}
}
@media(max-width:600px){.about-lead{grid-template-columns:1fr;gap:35px}.about-lead h1{font-size:40px}.about-photo{height:310px}.about-story-grid,.about-certification{grid-template-columns:1fr;gap:25px}.about-story-right{padding-top:0}.about-story-right .about-value{font-size:27px}.about-certification{gap:32px}.about-cert-copy h2{font-size:37px}.about-introduction .experience{margin-top:25px}}
@media(prefers-reduced-motion:reduce){.header nav,.header nav a{transition:none!important;transform:none!important}}

/* In-place service galleries. Navigation remains in the service title. */
.service-card{min-width:0;cursor:default}
.service-title-link{display:block}
.service-title-link:hover h3{color:var(--blue)}
.thumbnail-slider{isolation:isolate;touch-action:pan-y}
.thumbnail-slider .carousel-slide{position:absolute;inset:0;opacity:0;object-fit:cover;transform:none;transition:opacity .65s ease;pointer-events:none}
.thumbnail-slider .carousel-slide.is-active{opacity:1}
.service-card:hover .thumbnail-slider img{transform:none}
.carousel-controls{position:absolute;bottom:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;gap:6px;padding:9px 9px 8px;background:linear-gradient(transparent,#071725bf);padding-top:25px;z-index:3}
.carousel-controls>button{background:#0a20394d;border:1px solid #ffffff45;color:white;font-size:9px;line-height:1.2;padding:8px 7px;min-height:32px;min-width:38px;border-radius:0}
.carousel-controls>button:hover{background:#0a2039aa}
.carousel-dots{display:flex;justify-content:center;gap:0}
.carousel-dot{display:grid;place-items:center;width:20px;height:32px;background:none;border:0;padding:0}
.carousel-dot:after{content:'';width:5px;height:5px;border-radius:50%;border:1px solid white;background:transparent;transition:background .2s}
.carousel-dot.is-active:after{background:white}
.thumbnail-slider .service-number{z-index:3}
.gallery-tile{height:auto;overflow:visible;background:none;display:flex;flex-direction:column}
.gallery-tile:after{display:none}
.gallery-tile>img{width:100%;height:250px;object-fit:cover}
.gallery-tile figcaption{position:static;padding:22px 0 14px;color:white;flex:1}
.gallery-tile figcaption h3{font-family:Arial,Helvetica,sans-serif;font-size:18px;letter-spacing:-.02em;line-height:1.3;margin-bottom:10px;font-weight:600}
.gallery-tile figcaption p{color:#bacbd7;font-size:13px;line-height:1.65;margin:0}
.project-gallery{row-gap:28px;align-items:start}
.form-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.form-status{font-size:13px;margin-top:18px}
@media(max-width:900px){.gallery-tile>img{height:240px}}
@media(max-width:600px){.gallery-tile>img{height:255px}.gallery-tile figcaption{padding-top:18px}.carousel-controls{padding-left:15px;padding-right:15px}.carousel-controls>button{font-size:10px;min-height:36px;min-width:55px}.carousel-dot{width:25px;height:36px}}
@media(prefers-reduced-motion:reduce){.thumbnail-slider .carousel-slide{transition:none}}
