@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');:root{--navy:#101e32;--red:#c91e3a;--muted:#637082;--paper:#f5f6f7}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--navy);font-family:'DM Sans',Arial,sans-serif}a{text-decoration:none;color:inherit}img{display:block;max-width:100%}.header{height:86px;display:flex;align-items:center;justify-content:space-between;padding:0 5.5%;background:white;position:sticky;top:0;z-index:30;box-shadow:0 2px 16px #101e320c}.brand{display:flex;align-items:center;gap:9px;font-weight:800;letter-spacing:-1px;font-family:Manrope;font-size:26px}.brand img{width:62px;height:57px;object-fit:contain}.brand span{display:flex;flex-direction:column;line-height:1}.brand small{font-size:8px;letter-spacing:2px;margin-top:6px}.header nav{display:flex;gap:35px;align-items:center;font-size:13px;font-weight:700}.header nav a:not(.navcta):hover{color:var(--red)}.navcta{background:var(--navy);color:white;padding:15px 22px}.navcta:hover{background:var(--red)}.menu{display:none;background:none;border:0;font-size:25px}.hero{min-height:690px;height:calc(100vh - 86px);max-height:900px;position:relative;color:white;display:flex;align-items:center}.heroimg,.herooverlay{position:absolute;inset:0;width:100%;height:100%}.heroimg{object-fit:cover;object-position:center 48%}.herooverlay{background:linear-gradient(90deg,rgba(10,22,39,.91),rgba(10,22,39,.67) 48%,rgba(10,22,39,.15))}.herocontent{position:relative;z-index:2;padding:0 8%;max-width:930px}.eyebrow{font-size:11px;letter-spacing:2.5px;font-weight:800;color:#f3d8df}.eyebrow.dark{color:var(--red)}.line{display:inline-block;background:var(--red);width:26px;height:2px;vertical-align:middle;margin-right:12px}.hero h1,.section h2,.about h2{font-family:Manrope,sans-serif;letter-spacing:-3px;line-height:1.1;font-size:clamp(45px,5.7vw,84px);margin:26px 0}.hero h1 em,.contact h2 em{font-style:normal;color:#ff526b}.herocontent p{max-width:570px;font-size:17px;line-height:1.8;color:#e0e5ed}.actions{display:flex;align-items:center;gap:35px;margin-top:34px}.btn{display:inline-flex;justify-content:space-between;align-items:center;gap:30px;padding:18px 25px;font-size:13px;font-weight:800}.red{background:var(--red);color:white}.red:hover{background:#a91832}.textlink{font-size:13px;font-weight:800}.herofoot{position:absolute;bottom:26px;left:8%;right:8%;display:flex;justify-content:space-between;font-size:10px;letter-spacing:2px;color:#e5e7eb}.section{padding:110px 8%}.introgrid{display:grid;grid-template-columns:1.4fr 1fr;gap:70px;align-items:center}.intro h2{font-size:clamp(38px,4.3vw,64px)}.intro h2 span{color:#84909c}.introgrid p{font-size:17px;line-height:1.9;color:#526072}.underlink{font-weight:800;font-size:13px;border-bottom:2px solid var(--red);padding-bottom:8px;display:inline-block;margin-top:15px}.services{background:var(--paper)}.sectionhead{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:42px}.sectionhead h2{font-size:clamp(40px,4vw,60px);margin:16px 0 0}.sectionhead>p{color:#667383;max-width:275px;line-height:1.6}.servicegrid{display:grid;grid-template-columns:repeat(4,1fr);gap:17px}.service{background:white;overflow:hidden}.service img{width:100%;height:260px;object-fit:cover;transition:transform .3s}.service:hover img{transform:scale(1.04)}.servicetext{padding:25px 20px 28px}.servicetext span{font-size:11px;font-weight:800;color:var(--red)}.servicetext h3{font:800 18px/1.4 Manrope;margin:14px 0}.servicetext p{color:#647181;font-size:13px;line-height:1.7}.workgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.workgrid figure{margin:0;position:relative;background:#edf0f2}.workgrid figure.featured{grid-column:span 2}.workgrid img{width:100%;height:360px;object-fit:cover}.workgrid .featured img{height:570px}.workgrid figcaption{padding:19px 22px;display:flex;justify-content:space-between;gap:12px;align-items:center}.workgrid b{font-size:15px}.workgrid figcaption span{font-size:10px;letter-spacing:1.4px;color:var(--red);font-weight:800}.disclaimer{font-size:12px;color:#78828f;margin-top:22px}.about{background:var(--navy);color:white;display:grid;grid-template-columns:1fr 1fr}.aboutimg img{width:100%;height:100%;min-height:560px;object-fit:cover}.abouttext{padding:100px 12%;display:flex;flex-direction:column;align-items:start;justify-content:center}.about h2{font-size:clamp(42px,4.2vw,67px)}.about p{color:#c8d1dc;line-height:1.85;max-width:470px}.outline{border:1px solid #8794a5;color:white;margin-top:25px}.outline:hover{background:white;color:var(--navy)}.contact{text-align:center;background:#f7f8fa}.contact h2{font-size:clamp(52px,6vw,86px)}.contact>p{max-width:540px;margin:0 auto 42px;line-height:1.8;color:#5e6b7c}.contactpanel{background:white;border:1px solid #e2e6eb;padding:28px 35px;max-width:800px;margin:auto;display:flex;justify-content:space-between;align-items:center;text-align:left;gap:20px}.contactpanel div{display:flex;flex-direction:column;gap:9px}.contactpanel strong{font-size:20px}.contactpanel span{font-size:13px;color:#677386}.contact .setupnote{font-size:11px;color:#9d5360;margin-top:20px}footer{background:#0a1627;color:white;padding:65px 8% 30px}.footbrand{font:800 40px Manrope}.footbrand span{display:block;font-size:11px;letter-spacing:3px}.footbottom{border-top:1px solid #3c4858;margin-top:60px;padding-top:23px;display:flex;justify-content:space-between;gap:20px;font-size:11px;color:#aeb9c7}@media(max-width:900px){.servicegrid{grid-template-columns:repeat(2,1fr)}.introgrid{gap:30px}.header nav{gap:18px}}@media(max-width:650px){.header{height:72px;padding:0 5%}.brand img{width:50px;height:48px}.menu{display:block}.header nav{display:none;position:absolute;top:72px;left:0;right:0;background:white;padding:24px;box-shadow:0 15px 20px #0002;flex-direction:column;align-items:stretch}.header nav.open{display:flex}.hero{height:670px;min-height:0}.herocontent{padding:0 6%}.hero h1{letter-spacing:-2px;font-size:43px}.hero p{font-size:15px}.herooverlay{background:linear-gradient(90deg,#0a1627e8,#0a1627a0)}.actions{flex-direction:column;align-items:start;gap:22px}.herofoot{left:6%;right:6%}.herofoot span{display:none}.section{padding:75px 6%}.introgrid,.about{grid-template-columns:1fr}.intro h2,.sectionhead h2{letter-spacing:-2px}.sectionhead{display:block}.sectionhead>p{margin-top:16px}.servicegrid{grid-template-columns:1fr}.service img{height:260px}.workgrid{grid-template-columns:1fr;gap:18px}.workgrid figure.featured{grid-column:span 1}.workgrid img,.workgrid .featured img{height:300px}.workgrid figcaption{align-items:start;flex-direction:column}.aboutimg img{min-height:0;height:360px}.abouttext{padding:70px 7%}.contactpanel{flex-direction:column;align-items:stretch}.footbottom{flex-direction:column}.contact h2{letter-spacing:-2px}}
.gallery-action{text-align:center;margin-top:38px}.gallery-hero{background:#101e32;color:white;padding:150px max(7vw,24px) 85px}.gallery-hero h1{font-size:clamp(48px,8vw,100px);line-height:1.03;margin:28px 0}.gallery-hero h1 em{font-weight:400}.gallery-hero p{max-width:540px;color:#c9d1dc;font-size:18px;line-height:1.6}.gallery-section{background:#f8f8f6}.gallery-controls{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:32px}.filter{background:transparent;border:1px solid #bbc0c7;color:#101e32;border-radius:3px;padding:12px 16px;cursor:pointer;font:inherit}.filter.active,.filter:hover{background:#101e32;color:#fff}.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.gallery-card{margin:0;background:white}.gallery-card[hidden]{display:none}.gallery-image{display:block;width:100%;padding:0;border:0;background:none;cursor:zoom-in}.gallery-image img{width:100%;height:300px;object-fit:cover;display:block}.gallery-card figcaption{padding:18px 16px 20px;display:flex;flex-direction:column;gap:8px}.gallery-card figcaption b{color:#101e32}.gallery-card figcaption span{font-size:11px;letter-spacing:.12em;color:#777}.lightbox:not([hidden]){position:fixed;inset:0;background:rgba(5,12,22,.95);z-index:999;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:45px 15px}.lightbox img{max-width:100%;max-height:80vh;object-fit:contain}.lightbox p{color:white}.lightbox-close{position:absolute;top:14px;right:24px;color:white;background:none;border:0;font-size:40px;cursor:pointer}@media(max-width:850px){.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-image img{height:240px}}@media(max-width:550px){.gallery-grid{grid-template-columns:1fr}.gallery-image img{height:280px}.gallery-hero{padding-top:125px}.gallery-controls{gap:8px}.filter{font-size:12px;padding:10px}}

/* XXI service and contact refinements */
@media(min-width:1100px){.servicegrid{grid-template-columns:repeat(3,minmax(0,1fr))}}
.service{min-width:0}
.callbtn{border-color:#14243a!important;color:#14243a!important;white-space:nowrap}
.contactpanel{max-width:980px;flex-wrap:wrap}

/* XXI mobile refinement */
.service img,.workgrid img,.gallery-card img{object-fit:cover;object-position:center;}.service img{aspect-ratio:4/3;width:100%;}.gallery-card img{aspect-ratio:4/3;width:100%;}.workgrid img{aspect-ratio:4/3;width:100%;}.servicegrid,.workgrid{align-items:stretch;}@media(max-width:640px){.hero{min-height:640px}.servicetext p{line-height:1.65}.gallery-controls{gap:9px}.filter{white-space:normal}.header .brand img{max-width:54px}}
