:root{--navy:#102c53;--blue:#173f75;--red:#d52b25;--ink:#15202c;--muted:#5f6b77;--line:#dfe4ea;--paper:#f5f7f9;--white:#fff;--max:1240px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,"Helvetica Neue",sans-serif;color:var(--ink);background:var(--white);font-size:16px;line-height:1.6}img{display:block;max-width:100%}a{color:inherit}.site-header{height:92px;max-width:var(--max);margin:auto;padding:0 28px;display:flex;align-items:center;justify-content:space-between;background:#fff}.brand img{width:176px;height:72px;object-fit:contain}.site-header nav{display:flex;align-items:center;gap:34px}.site-header nav a{text-decoration:none;font-weight:700;font-size:.94rem}.nav-cta{background:var(--red);color:#fff;padding:12px 20px}.menu{display:none;border:0;background:var(--navy);color:#fff;padding:10px 14px;font-weight:700}.hero{min-height:680px;position:relative;display:flex;align-items:flex-end;overflow:hidden}.hero-photo,.hero-shade{position:absolute;inset:0;width:100%;height:100%}.hero-photo{object-fit:cover;object-position:center}.hero-shade{background:linear-gradient(90deg,rgba(7,25,47,.94) 0%,rgba(7,25,47,.7) 48%,rgba(7,25,47,.14) 78%),linear-gradient(0deg,rgba(7,25,47,.52),transparent 45%)}.hero-content{position:relative;z-index:1;width:min(100%,var(--max));margin:0 auto;padding:110px 28px 92px;color:#fff}.eyebrow,.section-kicker{text-transform:uppercase;letter-spacing:.18em;font-size:.78rem;font-weight:800;color:var(--red);margin:0 0 18px}.hero h1{max-width:800px;font-size:clamp(3.1rem,7vw,6rem);line-height:.98;letter-spacing:-.045em;margin:0 0 28px}.lead{max-width:680px;font-size:1.24rem;line-height:1.55;margin:0 0 38px;color:#e3e9ef}.hero-actions{display:flex;gap:14px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;font-weight:800;padding:15px 22px;min-height:54px}.primary{background:var(--red);color:#fff}.secondary{border:1px solid rgba(255,255,255,.55);color:#fff}.hero-tag{position:absolute;z-index:2;right:max(28px,calc((100% - var(--max))/2 + 28px));bottom:0;background:#fff;color:var(--navy);padding:23px 28px;font-size:1.15rem;font-weight:800;line-height:1.25;border-top:5px solid var(--red)}.hero-tag span{font-size:.8rem;font-weight:600;color:var(--muted)}.intro,.section-heading{max-width:var(--max);margin:auto;padding:110px 28px 52px;display:grid;grid-template-columns:1.3fr .7fr;gap:80px;align-items:end}.intro h2,.section-heading h2,.about h2,.contact h2{font-size:clamp(2.25rem,4vw,4.2rem);line-height:1.08;letter-spacing:-.035em;margin:0}.intro>p,.section-heading>p{font-size:1.08rem;color:var(--muted);margin:0}.services{max-width:var(--max);margin:auto;padding:0 28px 110px;display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line)}.services article{background:#fff;padding:38px 34px}.services span{color:var(--red);font-weight:800}.services h3{font-size:1.45rem;margin:38px 0 10px;color:var(--navy)}.services p{color:var(--muted);margin:0}.projects{background:var(--paper);padding-bottom:110px}.section-heading{padding-top:100px}.gallery{max-width:var(--max);padding:0 28px;margin:auto;display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:310px;gap:14px}.gallery figure{margin:0;position:relative;overflow:hidden;background:#ccd4dc}.gallery .wide{grid-column:span 2}.gallery img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}.gallery figure:hover img{transform:scale(1.035)}.gallery figcaption{position:absolute;left:18px;bottom:18px;background:rgba(10,34,62,.9);color:#fff;padding:7px 11px;font-size:.83rem;font-weight:700}.about{max-width:var(--max);margin:auto;padding:120px 28px;display:grid;grid-template-columns:1fr 1fr;gap:85px;align-items:center}.about-photo{height:560px;position:relative}.about-photo:before{content:"";position:absolute;left:-18px;top:-18px;width:92px;height:92px;background:var(--red);z-index:-1}.about-photo img{width:100%;height:100%;object-fit:cover}.about-copy p{color:var(--muted);font-size:1.08rem}.about-copy ul{list-style:none;padding:18px 0 0;margin:0}.about-copy li{padding:13px 0 13px 30px;border-bottom:1px solid var(--line);font-weight:700;position:relative}.about-copy li:before{content:"";position:absolute;left:0;top:23px;width:12px;height:3px;background:var(--red)}.contact{background:var(--navy);color:#fff;padding:86px max(28px,calc((100% - var(--max))/2 + 28px));display:grid;grid-template-columns:1.3fr .7fr;gap:80px;align-items:center}.light{color:#ff6b63}.contact-action p{color:#dbe5f0;margin:0 0 22px}.white{background:#fff;color:var(--navy)}footer{max-width:var(--max);margin:auto;padding:60px 28px;display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:32px;font-size:.9rem;color:var(--muted)}footer strong{color:var(--ink)}footer p{margin:7px 0}.footer-brand img{width:160px}.footer-legal{display:flex;flex-direction:column;align-items:flex-start}.footer-legal a,footer a{text-decoration:none}.footer-legal a:hover,footer a:hover{text-decoration:underline}dialog{width:min(720px,calc(100% - 32px));border:0;padding:42px;box-shadow:0 20px 80px rgba(0,0,0,.28)}dialog::backdrop{background:rgba(8,22,38,.72)}.dialog-close{position:absolute;right:18px;top:12px;border:0;background:none;font-size:2rem;cursor:pointer}dialog h2{color:var(--navy);font-size:2rem}dialog h3{margin-top:28px}
@media(max-width:800px){.site-header{height:78px;padding:0 18px}.brand img{width:140px;height:62px}.menu{display:block}.site-header nav{display:none;position:absolute;z-index:20;top:78px;left:0;right:0;background:#fff;padding:22px;box-shadow:0 10px 24px rgba(0,0,0,.12);flex-direction:column;align-items:stretch;gap:6px}.site-header nav.open{display:flex}.site-header nav a{padding:10px}.hero{min-height:680px}.hero-content{padding:90px 20px 92px}.hero h1{font-size:3.15rem}.lead{font-size:1.08rem}.hero-tag{display:none}.intro,.section-heading,.about,.contact{grid-template-columns:1fr;gap:28px}.intro,.section-heading{padding:78px 20px 38px}.services{grid-template-columns:1fr;padding:0 20px 78px}.gallery{grid-template-columns:1fr;grid-auto-rows:300px;padding:0 20px}.gallery .wide{grid-column:auto}.projects{padding-bottom:78px}.about{padding:90px 20px}.about-photo{height:400px}.contact{padding:66px 20px}footer{grid-template-columns:1fr 1fr;padding:48px 20px}}@media(max-width:480px){footer{grid-template-columns:1fr}.hero-actions .button{width:100%}.hero h1{font-size:2.75rem}.gallery{grid-auto-rows:260px}}
