@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700;800&family=Inter:wght@400;500;600;700&display=swap');
:root{--navy:#071524;--dark:#0b1e30;--blue:#0869f9;--cyan:#00d5f1;--white:#fff;--muted:#aebfce}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f6f9fc;color:#13253a;font-family:Inter,Arial,sans-serif;line-height:1.65}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.wrap{width:min(1160px,calc(100% - 42px));margin:auto}.site-header{background:var(--navy);color:white;position:sticky;top:0;z-index:20;box-shadow:0 5px 25px #0002}.nav-row{min-height:86px;display:flex;align-items:center;gap:28px;justify-content:space-between}.brand img{width:195px;max-height:75px;object-fit:contain}.nav{display:flex;gap:28px;align-items:center}.nav a{font:700 19px 'Barlow Condensed',sans-serif;text-transform:uppercase;letter-spacing:.6px;padding:8px 0;border-bottom:2px solid transparent}.nav a:hover,.nav a.active{color:var(--cyan);border-color:var(--cyan)}.nav-cta{background:var(--blue);border-radius:6px;padding:10px 16px!important;border:0!important;color:white!important}.menu-toggle{display:none;background:none;border:1px solid #557087;border-radius:6px;color:white;font-size:25px;padding:2px 11px}.hero{background:var(--navy);color:white}.hero-grid{min-height:545px;display:grid;grid-template-columns:1fr 1.08fr;align-items:center;gap:35px}.hero-copy{padding:68px 0}.eyebrow{font:800 16px 'Barlow Condensed',sans-serif;letter-spacing:2px;text-transform:uppercase;color:#00c9eb}.hero h1,.page-intro h1{font:800 clamp(43px,5.7vw,78px)/.99 'Barlow Condensed',sans-serif;text-transform:uppercase;margin:12px 0 22px;letter-spacing:.2px}.hero h1 em,.page-intro h1 em{font-style:normal;color:var(--cyan)}.hero p{color:#d3e0eb;font-size:17px;max-width:500px}.hero-photo{height:450px;width:100%;object-fit:cover;border-radius:12px;box-shadow:0 18px 40px #0006}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.btn{display:inline-block;padding:13px 23px;background:var(--blue);color:white;font-weight:700;border:2px solid var(--blue);border-radius:6px;cursor:pointer;font-size:15px}.btn:hover{background:#034bb9}.btn.secondary{background:transparent;border-color:#b7d2ea}.btn.secondary:hover{background:#193a55}.section{padding:82px 0}.section.alt{background:#eaf1f7}.section-head{max-width:700px;margin-bottom:33px}.section-head h2,.page-intro h1{font-family:'Barlow Condensed',sans-serif;text-transform:uppercase}.section-head h2{font-size:clamp(36px,4vw,52px);line-height:1.05;margin:8px 0 12px}.section-head p{color:#506578;margin:0}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.service-card{background:white;border:1px solid #dce6ef;border-radius:10px;padding:27px;box-shadow:0 5px 16px #102e4510}.service-icon{font-size:29px;display:block;margin-bottom:13px}.service-card h3{font:800 26px 'Barlow Condensed';text-transform:uppercase;margin:0 0 8px}.service-card p{font-size:14px;color:#526577;margin:0}.strip{background:var(--navy);color:white;padding:34px 0}.strip .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px}.strip h2{font:800 33px 'Barlow Condensed';margin:0;text-transform:uppercase}.strip p{margin:3px 0;color:#a8bed0}.page-intro{background:var(--navy);color:white;padding:65px 0 68px}.page-intro h1{font-size:clamp(46px,6vw,74px);margin:10px 0}.page-intro p{max-width:660px;color:#d0deeb}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:45px;align-items:center}.two-col img{width:100%;height:390px;object-fit:cover;border-radius:10px}.two-col h2{font:800 42px/1.1 'Barlow Condensed';text-transform:uppercase}.two-col p{color:#4b5e71}.values{display:grid;grid-template-columns:1fr 1fr;gap:22px}.value{padding:30px;background:white;border-radius:10px;border-top:4px solid var(--blue)}.value h3{font:800 27px 'Barlow Condensed';margin:0}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.gallery figure{margin:0;background:white;border-radius:10px;overflow:hidden;border:1px solid #d9e5ef}.gallery img{height:230px;width:100%;object-fit:cover}.gallery figcaption{padding:15px;font-weight:700;font-size:14px}.note{font-size:13px;color:#5d7183;margin-top:18px}.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:65px}.contact-grid h2{font:800 42px 'Barlow Condensed';margin:0 0 10px}.contact-grid p{color:#506578}.contact-detail{margin:25px 0}.contact-detail strong{display:block;color:#172c42}.form-card{background:white;border-radius:12px;padding:32px;box-shadow:0 12px 40px #0a29411a}.field{margin-bottom:16px}.field label{display:block;font-weight:700;font-size:13px;margin-bottom:6px}.field input,.field select,.field textarea{font:inherit;border:1px solid #c9d7e3;border-radius:6px;padding:12px;width:100%;background:white;color:#182b3e}.field textarea{min-height:125px;resize:vertical}.footer{background:#071524;color:#b4c7d7;padding:38px 0 20px}.footer-main{display:flex;justify-content:space-between;gap:30px;align-items:center}.footer img{width:180px}.footer-links{display:flex;gap:20px;flex-wrap:wrap}.footer a:hover{color:var(--cyan)}.fine{border-top:1px solid #264257;padding-top:18px;margin-top:28px;font-size:12px}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}@media(max-width:820px){.nav-row{min-height:74px}.brand img{width:160px}.menu-toggle{display:block}.nav{display:none;position:absolute;top:74px;left:0;right:0;background:var(--navy);padding:18px 24px 26px;flex-direction:column;align-items:stretch;gap:9px}.nav.open{display:flex}.nav a{padding:10px}.hero-grid,.two-col,.contact-grid{grid-template-columns:1fr}.hero-grid{gap:0}.hero-copy{padding:56px 0 28px}.hero-photo{height:300px;margin-bottom:34px}.service-grid,.gallery{grid-template-columns:repeat(2,1fr)}.strip .wrap,.footer-main{align-items:flex-start;flex-direction:column}.section{padding:55px 0}}@media(max-width:550px){.service-grid,.gallery,.values{grid-template-columns:1fr}.wrap{width:min(100% - 32px,1160px)}.hero h1{font-size:52px}.hero-photo{height:235px}.page-intro{padding:45px 0}.section-head h2{font-size:39px}.form-card{padding:21px}.two-col img{height:250px}}

/* Logo legibility and full company name: v2 */
.nav-row{min-height:104px;gap:18px}
.brand{display:flex;flex:0 0 auto;align-items:center;gap:12px;min-width:0}
.brand img{width:210px;max-height:none;height:auto;object-fit:contain;flex-shrink:0}
.brand-name{display:flex;flex-direction:column;font:800 23px/1.05 'Barlow Condensed',Arial,sans-serif;letter-spacing:.5px;color:#fff;white-space:nowrap}
.brand-name span{font-size:15px;letter-spacing:1.1px;color:var(--cyan);margin-top:5px}
.nav{gap:19px}.nav a{font-size:17px}
@media(max-width:1150px){.nav-row{min-height:94px}.brand img{width:175px}.brand-name{font-size:19px}.brand-name span{font-size:12px}.nav{gap:12px}.nav a{font-size:16px}}
@media(max-width:980px){.nav-row{min-height:90px}.menu-toggle{display:block;margin-left:auto}.nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--navy);padding:18px 24px 26px;flex-direction:column;align-items:stretch;gap:9px}.nav.open{display:flex}.nav a{padding:10px}}
@media(max-width:550px){.nav-row{min-height:84px;gap:8px}.brand{gap:7px}.brand img{width:128px}.brand-name{font-size:17px}.brand-name span{font-size:10px;letter-spacing:.4px}.menu-toggle{font-size:22px;padding:2px 8px}}
@media(max-width:370px){.brand img{width:105px}.brand-name{font-size:15px}.brand-name span{font-size:9px}}

/* Full original logo, no duplicate wordmark */
.brand{display:flex;align-items:center;flex:0 1 auto;min-width:0}
.brand img{width:clamp(185px,21vw,260px);height:auto;max-height:none;object-fit:contain}
.nav-row{min-height:100px}
@media(max-width:820px){.nav-row{min-height:90px}.brand img{width:clamp(180px,42vw,245px)}.nav{top:90px}}
@media(max-width:550px){.nav-row{min-height:82px}.brand img{width:min(63vw,230px)}.nav{top:82px}}

/* Final logo treatment: preserve original artwork and transparent background */
.site-header .nav-row{min-height:112px;padding-top:12px;padding-bottom:12px;gap:16px}
.site-header .brand{background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;overflow:visible!important;display:flex;align-items:center;flex:0 1 auto;min-width:0;line-height:1}
.site-header .brand img{display:block;width:clamp(195px,22vw,265px);height:auto;max-height:none!important;object-fit:contain;filter:drop-shadow(0 0 7px rgba(105,206,255,.42)) drop-shadow(0 2px 2px rgba(255,255,255,.22))}
.site-header .menu-toggle{flex-shrink:0;margin-left:auto}
@media(max-width:980px){.site-header .nav-row{min-height:105px}.site-header .nav{top:100%}}
@media(max-width:550px){.site-header .nav-row{min-height:100px;padding-top:12px;padding-bottom:12px;gap:12px}.site-header .brand{max-width:calc(100% - 65px)}.site-header .brand img{width:min(65vw,250px)}.site-header .nav{top:100%}}
@media(max-width:370px){.site-header .brand img{width:min(62vw,210px)}}

/* Horizontal swipeable project gallery */
.swipe-gallery{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding:2px;padding:8px 2px 20px;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.swipe-gallery .slide{flex:0 0 min(74vw,430px);scroll-snap-align:start;margin:0;background:#fff;border:1px solid #d9e5ef;border-radius:12px;overflow:hidden;box-shadow:0 5px 20px #102e4512}.swipe-gallery img{width:100%;height:310px;object-fit:cover}.swipe-gallery figcaption{font-weight:700;font-size:14px;padding:14px 17px;line-height:1.4}.carousel-controls{display:flex;align-items:center;justify-content:flex-end;gap:14px;margin-bottom:12px;color:#526577;font-size:13px}.slide-button{background:#0b1e30;color:white;border:0;border-radius:50%;width:40px;height:40px;font-size:22px;cursor:pointer}.slide-button:hover{background:#0869f9}.video-heading{margin-top:45px;margin-bottom:15px}.work-video{display:block;width:min(100%,850px);max-height:540px;background:#071524;border-radius:12px}.contact-detail a{color:#075dcc;text-decoration:underline;text-underline-offset:3px}@media(max-width:550px){.swipe-gallery .slide{flex-basis:85vw}.swipe-gallery img{height:255px}.carousel-controls{justify-content:space-between}}
