:root{--navy:#0b315a;--ink:#203344;--teal:#287b80;--muted:#536574;--line:#d9e2e5;--soft:#f2f6f6;--white:#fff}
*{box-sizing:border-box;letter-spacing:0}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.65;color:var(--ink);background:#fff}a{color:inherit;text-underline-offset:5px}img{max-width:100%;display:block}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}h1,h2,h3,p,figure{margin:0}h1,h2,h3{line-height:1.16;color:var(--navy)}h2{font-size:40px;font-weight:700}h3{font-size:23px}.container{width:min(1200px,100% - 64px);margin-inline:auto}.section{padding:88px 0}.soft{background:var(--soft)}.kicker,.eyebrow{font-size:13px;font-weight:700;text-transform:uppercase;line-height:1.5;margin-bottom:16px}.kicker{color:var(--teal)}.lead{font-size:18px;color:var(--muted);max-width:650px}.section-heading{display:grid;grid-template-columns:1.4fr 1fr;gap:60px;align-items:end;margin-bottom:40px}.section-heading h2{max-width:630px}.text-link{font-weight:700;font-size:16px;color:var(--navy);text-decoration-thickness:1px}.text-link:hover{color:var(--teal)}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:13px 23px;background:var(--navy);color:#fff;text-decoration:none;border:1px solid transparent;border-radius:4px;font-size:16px;font-weight:700;line-height:1.4;transition:background .15s}.button:hover{background:#195180}.button.light{background:#fff;color:var(--navy)}.button.light:hover{background:#e6f2f3}.button.compact{font-size:14px;padding:12px 18px}.button:disabled{opacity:.7;cursor:wait}.skip-link{position:fixed;top:-100px;left:20px;background:#fff;color:var(--navy);z-index:100;padding:12px}.skip-link:focus{top:10px}:focus-visible{outline:3px solid #27868d;outline-offset:4px}
header{position:sticky;top:0;z-index:20;background:#fff;border-bottom:1px solid var(--line)}.nav{min-height:86px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--navy);font-size:19px;font-weight:800;flex-shrink:0}.brand img{width:52px;height:52px;object-fit:contain}.brand small{display:block;font-size:12px;font-weight:400}.navlinks{display:flex;align-items:center;gap:25px;font-size:14px;font-weight:700}.navlinks>a:not(.button){text-decoration:none}.navlinks>a:hover{text-decoration:underline}.menu{display:none;border:1px solid var(--line);background:white;border-radius:4px;width:44px;height:44px;color:var(--navy);font-size:25px;line-height:1}
.hero{position:relative;isolation:isolate;color:#fff;min-height:560px;display:flex;align-items:center;overflow:hidden}.hero-photo{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:center 57%}.hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(6,32,54,.93),rgba(6,32,54,.78) 39%,rgba(6,32,54,.07) 78%)}.hero-content{padding-block:64px}.eyebrow{color:#c4e8e9}.hero h1{font-size:68px;color:#fff;margin-bottom:14px}.hero h2{font-size:32px;color:#fff;max-width:580px;line-height:1.25}.hero-content>p:not(.eyebrow){max-width:525px;font-size:18px;margin-top:23px;color:#edf4f7}.actions{display:flex;align-items:center;flex-wrap:wrap;gap:26px;margin-top:30px}.text-link.white{color:white}.specialties{background:var(--navy);color:white;padding:20px 0}.specialties .container{display:flex;justify-content:space-between;gap:22px;flex-wrap:wrap;font-size:14px}.specialties span{border-left:2px solid #71afb0;padding-left:12px}
.service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:56px;row-gap:35px}.service{border-top:2px solid var(--line);padding:27px 0 12px;display:flex;flex-direction:column;align-items:flex-start}.index{font-size:12px;font-weight:700;color:var(--teal)}.service h3{font-size:27px;margin:14px 0}.service>p{color:var(--muted)}.service ul{padding-left:20px;color:var(--muted);margin:18px 0 23px}.service li{padding:3px 0}.service>.text-link{margin-top:auto}.service.urgent{border-top-color:var(--teal)}.urgent h3 span{color:var(--teal)}.service .service-note{border-left:3px solid var(--teal);padding-left:15px;font-size:14px;margin-bottom:24px;color:var(--ink)}
.equipment-layout{display:grid;grid-template-columns:1fr 1fr;gap:60px}.equipment-photo{align-self:start}.equipment-photo img{width:100%;aspect-ratio:4/3;object-fit:cover}.equipment-photo figcaption{font-size:14px;color:var(--muted);margin-top:13px}.equipment-list article{border-bottom:1px solid var(--line);padding:0 0 18px;margin-bottom:20px}.equipment-list h3{font-size:21px;margin-bottom:7px}.equipment-list p{color:var(--muted)}
.clients-section h2{margin-bottom:18px}.logo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:40px;border-top:1px solid var(--line)}.logo-grid>div{min-width:0;height:150px;display:flex;align-items:center;justify-content:center;padding:25px 20px;border-bottom:1px solid var(--line)}.logo-grid img{width:100%;height:100%;max-width:225px;object-fit:contain}.logo-grid>div:last-child{grid-column:2 / 4}.gallery-section{padding-top:0}.gallery{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:22px}.gallery figure{min-width:0}.gallery img{width:100%;height:310px;object-fit:cover}.gallery figcaption{font-size:14px;margin-top:12px;color:var(--muted)}
.process-section{background:var(--navy);color:white}.process-section .kicker{color:#b3dedf}.process-section h2{color:white;max-width:700px}.process{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:34px;padding:0;margin:44px 0 0}.process li{border-top:1px solid #57728a;padding-top:22px}.process span{font-size:14px;color:#b3dedf}.process h3{font-size:21px;color:white;margin:15px 0 14px}.process p{font-size:16px;color:#d9e5ed}.about{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px}.about p:not(.kicker){margin-bottom:20px;color:var(--muted)}.about .intro-copy{font-size:23px;color:var(--ink)!important;line-height:1.5}
.faq-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px}.faq-layout h2{margin-bottom:16px}.faq-list{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line)}summary{cursor:pointer;font-size:17px;font-weight:700;line-height:1.5;padding:22px 25px 22px 0;color:var(--navy)}details p{color:var(--muted);padding:0 0 24px}summary::marker{color:var(--teal)}
.contact{background:var(--soft);border-top:1px solid var(--line)}.contact-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px}.contact-copy h2{margin-bottom:23px;font-size:38px}.contact-copy>p:not(.kicker){color:var(--muted)}.email-link{display:inline-block;font-size:20px;font-weight:700;color:var(--navy);margin-top:20px;overflow-wrap:anywhere}.client-note{border-top:1px solid #bdcccc;padding-top:25px;margin-top:40px}.client-note h3{font-size:18px;line-height:1.4;margin-bottom:10px}.client-note p{font-size:15px;color:var(--muted)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.field{min-width:0}.field.full{grid-column:1 / -1}.field label{display:block;font-size:14px;font-weight:700;margin-bottom:7px;color:var(--ink)}.field input,.field select,.field textarea{display:block;width:100%;min-width:0;min-height:48px;border:1px solid #a4b6bc;border-radius:4px;background:white;padding:11px 12px;font-size:16px;color:var(--ink)}.field textarea{resize:vertical;line-height:1.5}.field input[type=file]{font-size:13px;padding:8px;overflow:hidden}.field input::file-selector-button{border:0;border-radius:2px;background:#e8eff1;padding:6px;margin-right:8px;color:var(--navy);cursor:pointer}.field small{display:block;color:var(--muted);font-size:13px;margin-top:7px}.optional{font-weight:400;color:var(--muted)}.form-note{font-size:13px;color:var(--muted);margin:21px 0}.form-status{font-size:14px;margin-top:10px}.form-status:empty{display:none}.form-error{color:#912831;background:#fff0ed;border-left:3px solid #a43735;padding:14px;margin-bottom:16px}.direct-email{font-size:14px;color:var(--muted);margin-top:16px;overflow-wrap:anywhere}.honeypot{display:none}footer{background:#082745;color:#d6e1e9;padding:30px 0}.foot{display:flex;align-items:center;justify-content:space-between;gap:24px;font-size:14px;flex-wrap:wrap}.footer-brand{text-decoration:none;font-weight:700;color:white}.footer-brand span{display:block;font-weight:400;font-size:13px;color:#d6e1e9}.thank-you{min-height:65vh;padding-block:100px}.thank-you h1{font-size:44px;margin:15px 0 24px}.thank-you p{max-width:620px;margin:20px 0}.thank-you .button{margin-top:15px}
.equipment-photo img{height:auto}
@media(min-width:1500px){.hero{min-height:600px}}
@media(max-width:1050px){.navlinks{gap:16px}.brand small{display:none}.brand{font-size:16px}.contact-layout,.faq-layout{gap:40px}.gallery img{height:270px}}
@media(max-width:900px){.menu{display:block}.nav{min-height:76px}.navlinks{display:none;position:absolute;top:100%;left:0;right:0;background:white;padding:15px 32px 25px;border-bottom:1px solid var(--line);align-items:stretch;flex-direction:column;gap:0}.navlinks.open{display:flex}.navlinks a{padding:12px}.navlinks .button{margin-top:10px}.section-heading{grid-template-columns:1fr;gap:20px}.about,.contact-layout,.faq-layout{grid-template-columns:1fr;gap:36px}.contact-copy{max-width:640px}.client-note{margin-top:24px}.logo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.logo-grid>div:last-child{grid-column:auto}.equipment-layout{gap:30px}.process{grid-template-columns:repeat(2,minmax(0,1fr))}.hero h1{font-size:58px}.hero{min-height:530px}.gallery{grid-template-columns:repeat(3,minmax(0,1fr))}.gallery img{height:240px}}
@media(max-width:600px){html{scroll-padding-top:90px}.container{width:calc(100% - 40px)}.section{padding:60px 0}h2{font-size:30px}.hero{min-height:570px}.hero-content{padding-block:45px}.hero h1{font-size:48px}.hero h2{font-size:27px}.hero-content>p:not(.eyebrow){font-size:17px}.hero::before{background:rgba(6,32,54,.72)}.hero-photo{object-position:60% center}.hero .actions{gap:20px}.specialties .container{display:grid;grid-template-columns:1fr 1fr;gap:14px}.specialties{padding:22px 0}.specialties span{font-size:12px}.service-grid,.equipment-layout{grid-template-columns:1fr;gap:26px}.service h3{font-size:25px}.section-heading{margin-bottom:30px}.logo-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:28px}.logo-grid>div{height:118px;padding:20px 12px}.logo-grid>div:last-child{grid-column:1 / -1}.logo-grid img{max-width:185px}.gallery-section{padding-top:0}.gallery{grid-template-columns:1fr;gap:28px}.gallery img{height:auto;aspect-ratio:4/3;object-position:center}.gallery figure:nth-child(2) img{object-position:center 43%}.process{gap:28px 22px}.process h3{font-size:19px}.process p{font-size:15px}.about .intro-copy{font-size:20px}.contact-copy h2{font-size:32px}.form-grid{grid-template-columns:1fr;gap:18px}.contact .button{width:100%}.email-link{font-size:19px}.foot{align-items:flex-start;flex-direction:column;gap:16px}.thank-you h1{font-size:34px}}
/* The header shares the exact paper color of the original PDF wordmark. */
html{scroll-padding-top:150px}
header{background:#f4f1f8;border-bottom:1px solid #e4e1e9}
.nav{min-height:134px;gap:40px}
.brand{display:block;flex-shrink:0;padding:9px 0}
.brand img{width:116px;height:116px;object-fit:contain}
.navlinks{gap:30px;font-size:15px}
.navlinks .button{background:transparent;color:var(--navy);border-color:var(--navy);padding:14px 22px}
.navlinks .button:hover{background:var(--navy);color:#fff}
.menu{width:50px;height:50px;background:transparent;border:1px solid #c5cbd4;border-radius:50%;font-size:25px}
.hero{min-height:535px;background:var(--navy)}
.hero-photo{object-position:65% 46%}
.hero::before{background:linear-gradient(90deg,rgba(6,34,56,.97) 0%,rgba(6,34,56,.88) 32%,rgba(6,34,56,.35) 58%,rgba(6,34,56,.04) 100%)}
.hero-content{padding-block:54px}
.hero .eyebrow{color:#c2e3e5;margin-bottom:21px;font-size:13px}
.hero h1{font-size:62px;line-height:1.04;margin:0 0 24px;max-width:630px}
.hero-content>p.hero-intro{font-size:22px;font-weight:500;line-height:1.4;color:#fff;margin-top:0;max-width:490px}
.hero-content>p:not(.eyebrow):not(.hero-intro){font-size:17px;line-height:1.7;max-width:440px;margin-top:16px;color:#e1ebef}
.hero .actions{margin-top:28px;gap:25px}
.specialties{background:#f4f1f8;color:var(--navy);border-bottom:1px solid #e4e1e9;padding:22px 0}
.specialties span{border-color:var(--teal)}
@media(min-width:1500px){.hero{min-height:550px}}
@media(max-width:1050px){.navlinks{gap:19px}.navlinks .button{padding:13px 15px}}
@media(max-width:900px){html{scroll-padding-top:128px}.nav{min-height:112px}.brand{padding:7px 0}.brand img{width:98px;height:98px}.navlinks{background:#f4f1f8;padding:12px 32px 25px;gap:2px;box-shadow:0 12px 18px #0b315a0b}.navlinks>a:not(.button){padding:15px 0;border-bottom:1px solid #dedee5}.navlinks .button{margin-top:15px}.hero h1{font-size:56px}}
@media(max-width:600px){html{scroll-padding-top:120px}.nav{min-height:106px}.brand img{width:92px;height:92px}.hero{min-height:480px}.hero-content{padding-block:40px}.hero h1{font-size:44px;margin-bottom:23px}.hero .eyebrow{font-size:12px;margin-bottom:21px}.hero-content>p.hero-intro{font-size:20px;max-width:290px}.hero-content>p:not(.eyebrow):not(.hero-intro){font-size:16px;max-width:320px}.hero::before{background:linear-gradient(90deg,rgba(6,34,56,.91),rgba(6,34,56,.62))}.hero-photo{object-position:65% center}.hero .actions{gap:18px;margin-top:25px}.hero .text-link{font-size:15px}.specialties{padding:18px 0}}
.catalog-categories{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:48px}
.catalog-categories li{padding:22px 0;border-top:1px solid var(--line);min-width:0}
.catalog-categories h3{font-size:20px;line-height:1.35;margin:0 0 8px;overflow-wrap:break-word}
.catalog-categories p{color:var(--muted);margin:0}
.catalog-contact{display:flex;align-items:center;justify-content:space-between;gap:32px;border-top:1px solid var(--line);padding-top:28px;margin-top:12px}
.catalog-contact p{max-width:680px;margin:0}
.catalog-contact .button{flex-shrink:0;text-align:center;white-space:normal}
@media(max-width:700px){.catalog-categories{grid-template-columns:1fr}.catalog-contact{flex-direction:column;align-items:flex-start;gap:20px}.catalog-contact .button{max-width:100%}}
.hero{min-height:540px;height:auto;text-align:center;background:#eaf0f0;color:var(--ink)}
.hero-sequence{position:absolute;inset:0;z-index:-2;overflow:hidden}
.hero-frame{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 48%;opacity:0}
.hero-frame:first-child{opacity:1}
.work-track{display:flex;overflow:hidden;touch-action:pan-y}
.work-slide[hidden]{display:none}
.work-track::-webkit-scrollbar{display:none}
.work-slide{flex:0 0 100%;min-width:0;margin:0;scroll-snap-align:start}
.work-photo{display:block;width:100%;height:550px;padding:0;border:0;border-radius:0;background:#f4f5f5;cursor:zoom-in}
.work-photo img{width:100%;height:100%;object-fit:contain}
.work-slide figcaption{padding-top:18px;min-height:74px;font-size:20px;font-weight:650;color:var(--navy);line-height:1.4}
.work-controls{display:flex;justify-content:space-between;align-items:center;margin:16px 0}
.work-count{font-size:14px;color:var(--muted);font-variant-numeric:tabular-nums}
.work-arrows{display:flex;gap:10px}
.icon-button{display:grid;place-items:center;width:46px;height:46px;padding:0;border:1px solid var(--line);border-radius:4px;background:white;color:var(--navy);cursor:pointer}
.icon-button svg{width:22px;height:22px}.icon-button:hover:not(:disabled){background:#e9f3f3}.icon-button:disabled{opacity:.35;cursor:default}
.work-thumbs{display:flex;gap:10px;overflow-x:auto;padding:3px 3px 12px}
.work-thumbs button{flex:0 0 78px;width:78px;height:62px;padding:3px;border:2px solid transparent;border-radius:4px;background:#eef2f2;cursor:pointer}
.work-thumbs button[aria-current=true]{border-color:var(--teal)}.work-thumbs img{width:100%;height:100%;object-fit:cover}
.work-dialog{width:min(1100px,94vw);max-width:94vw;max-height:94vh;padding:56px 20px 20px;border:0;background:white;color:var(--navy)}
.work-dialog::backdrop{background:rgba(0,0,0,.8)}.work-dialog>img{display:block;width:100%;height:70vh;object-fit:contain}.work-dialog>p{margin:12px 0 0;text-align:center}.work-close{position:absolute;right:10px;top:8px}
@media(max-width:600px){.work-photo{height:400px;height:min(110vw,480px)}.work-slide figcaption{font-size:18px}.work-dialog{padding:56px 12px 16px}.work-dialog>img{height:65vh}}
.hero.is-animated .hero-frame{animation:gh-scenes 24s linear infinite}
.hero.is-animated .hero-frame:nth-child(2){animation-delay:-16s}
.hero.is-animated .hero-frame:nth-child(3){animation-delay:-8s;object-position:center 40%}
@keyframes gh-scenes{0%{opacity:0;transform:scale(1)}5%,29%{opacity:1}34%,100%{opacity:0;transform:scale(1.08)}}
.hero::before{background:rgba(248,252,252,.72)}
.hero-content{padding-block:65px 85px;max-width:1000px}
.hero .eyebrow{color:var(--teal);font-size:14px;margin-bottom:22px}
.hero h1{font-size:60px;line-height:1.08;font-weight:400;color:var(--navy);max-width:none;margin-bottom:24px}
.hero h1 strong{font-weight:750}
.hero-content>p.hero-intro{font-size:23px;color:var(--ink);max-width:none;margin:0 auto}
.hero-content>p:not(.eyebrow):not(.hero-intro){font-size:17px;color:var(--ink);max-width:650px;margin:18px auto 0}
.hero .actions{justify-content:center;margin-top:28px}
.logo-grid>div:last-child{grid-column:auto}
.logo-grid>.institution-caption{flex-direction:column;gap:10px}
.institution-caption img{height:55px;min-height:0}
.institution-caption span{font-size:12px;line-height:1.3;text-align:center;color:var(--navy)}
.oxygen-service{grid-column:1 / -1}
@media(min-width:1500px){.hero{min-height:550px}}
@media(max-width:600px){.hero{min-height:515px}.hero-content{padding-block:40px 70px}.hero h1{font-size:36px;line-height:1.15}.hero .eyebrow{font-size:12px}.hero-content>p.hero-intro{font-size:20px}.hero-content>p:not(.eyebrow):not(.hero-intro){font-size:16px}.hero .actions{gap:18px}.hero::before{background:rgba(248,252,252,.8)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}.hero.is-animated .hero-frame{animation:none}.hero-frame:not(:first-child){opacity:0}}
