@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@500;600;700;800&family=Open+Sans:wght@400;500;600;700&display=swap');
:root{--navy:#0b3553;--navy-deep:#06283e;--blue:#165a82;--gold:#d6a85a;--ink:#102635;--muted:#59707e;--sand:#f4f1ea;--white:#fff;--line:#dce3e6;--radius:18px;--shadow:0 18px 50px rgba(11,53,83,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font:16px/1.7 'Open Sans',Arial,sans-serif;background:#fff}img{display:block;max-width:100%;height:auto}a{color:inherit}h1,h2,h3{font-family:'Montserrat',Arial,sans-serif;line-height:1.08;letter-spacing:-.035em;margin:0 0 22px}h1{font-size:clamp(2.7rem,6.8vw,5.7rem);max-width:930px}h2{font-size:clamp(2.1rem,4.8vw,4.4rem)}h3{font-size:clamp(1.45rem,2.2vw,2.15rem)}p{margin:0 0 20px}.container{width:min(1200px,calc(100% - 48px));margin:auto}.narrow{max-width:950px}.section{padding:clamp(80px,10vw,145px) 0}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font:700 .76rem/1.4 'Montserrat',sans-serif;color:var(--blue);margin-bottom:20px}.eyebrow.light{color:#fff}.skip-link{position:fixed;left:16px;top:-100px;background:#fff;padding:12px 18px;z-index:999}.skip-link:focus{top:16px}.screen-reader-text{position:absolute;width:1px;height:1px;clip:rect(0,0,0,0);overflow:hidden}
.site-header{position:fixed;inset:0 0 auto;z-index:50;color:#fff;transition:.25s}.site-header.is-scrolled{background:rgba(6,40,62,.94);box-shadow:0 10px 30px rgba(0,0,0,.1);backdrop-filter:blur(14px)}.header-inner{height:96px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:12px;text-decoration:none}.custom-logo{width:auto;max-height:70px}.brand-mark{display:grid;place-items:center;width:48px;height:48px;border:1px solid rgba(255,255,255,.65);font:800 .95rem 'Montserrat'}.brand-name{font:700 .95rem 'Montserrat';letter-spacing:.07em;text-transform:uppercase}.brand-name span{display:block;font-size:.64rem;letter-spacing:.16em;margin-top:2px}.primary-nav ul{display:flex;gap:34px;list-style:none;margin:0;padding:0}.primary-nav a{font:700 .82rem 'Montserrat';text-decoration:none;letter-spacing:.04em;padding:16px 0;border-bottom:2px solid transparent}.primary-nav a:hover,.primary-nav a:focus{border-color:var(--gold)}.menu-toggle{display:none;border:0;background:none;padding:8px}.menu-toggle span:not(.screen-reader-text){display:block;width:27px;height:2px;background:#fff;margin:6px}
.hero{min-height:850px;display:grid;align-items:end;color:#fff;background-image:linear-gradient(90deg,rgba(3,27,42,.86) 0%,rgba(3,27,42,.55) 52%,rgba(3,27,42,.2) 100%),var(--hero-image);background-size:cover;background-position:center 42%;position:relative}.hero:after{content:'';position:absolute;inset:auto 0 0;height:180px;background:linear-gradient(transparent,rgba(2,22,34,.45))}.hero-content{position:relative;z-index:1;padding-bottom:105px}.hero-lead{max-width:720px;font-size:clamp(1.05rem,1.7vw,1.35rem);color:rgba(255,255,255,.89);margin-bottom:32px}.phone-link{display:inline-flex;align-items:center;gap:14px;padding:14px 20px;border:1px solid rgba(255,255,255,.55);border-radius:999px;text-decoration:none;font:700 .95rem 'Montserrat';background:rgba(6,40,62,.35);backdrop-filter:blur(8px)}.phone-link span{font-size:.72rem;letter-spacing:.11em;text-transform:uppercase;color:#dbe9ef}.hero-contacts{display:flex;gap:14px;flex-wrap:wrap}.hero-contacts .phone-link{padding:14px 18px}.hero-contacts .phone-link span{display:none}
.intro{background:var(--sand)}.intro h2{max-width:900px}.intro p:last-child{font-size:1.16rem;max-width:830px;color:#435b68}
.services{background:#f8fafb}.section-heading{max-width:860px;margin-bottom:58px}.section-heading>p:last-child{color:var(--muted);font-size:1.08rem}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.service-card{background:#fff;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);transition:transform .3s ease,box-shadow .3s ease}.service-card:hover{transform:translateY(-8px);box-shadow:0 25px 60px rgba(11,53,83,.18)}.service-card img{width:100%;height:310px;object-fit:cover}.service-card:nth-child(2) img{object-position:center 45%}.service-card>div{padding:32px}.service-card p{color:var(--muted);margin:0}
.projects{background:#fff}.section-heading.split{max-width:none;display:grid;grid-template-columns:1.4fr .7fr;align-items:end;gap:60px}.feature-project{display:grid;grid-template-columns:1.35fr .65fr;align-items:center;background:var(--navy);color:#fff;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);margin-bottom:28px}.feature-project img{width:100%;height:580px;object-fit:cover;object-position:center 42%}.feature-project>div{padding:55px}.feature-project p:last-child{color:#cfdae0}.before-after{display:grid;grid-template-columns:1fr 1fr;gap:28px}.before-after>div{position:relative;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}.before-after img{width:100%;height:480px;object-fit:cover}.before-after span{position:absolute;z-index:2;top:20px;left:20px;background:#fff;padding:8px 13px;border-radius:999px;font:700 .72rem 'Montserrat';text-transform:uppercase;letter-spacing:.08em}
.contact{background:var(--navy);color:#fff}.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px;align-items:start}.contact h2{font-size:clamp(2.5rem,5vw,4.7rem)}.contact-grid>div>p:last-child{color:#d7e1e7}.contact-list{border-top:1px solid rgba(255,255,255,.28)}.contact-list a{display:flex;justify-content:space-between;gap:20px;text-decoration:none;padding:25px 0;border-bottom:1px solid rgba(255,255,255,.28)}.contact-list span{text-transform:uppercase;letter-spacing:.13em;font:700 .7rem 'Montserrat';color:#b9cbd6}.contact-list strong{font:700 clamp(.92rem,1.7vw,1.15rem) 'Montserrat';text-align:right}.site-footer{background:var(--navy-deep);color:#c6d4dc;padding:60px 0 28px}.footer-grid{display:grid;grid-template-columns:1fr auto auto;gap:70px;align-items:start}.footer-brand{font:700 1.05rem 'Montserrat';color:#fff;margin-bottom:10px}.site-footer nav,.social-links{display:flex;flex-direction:column;gap:10px}.social-links a,.contact-social a{display:flex;align-items:center;gap:11px}.social-links img,.contact-social img{flex:0 0 auto;border-radius:9px}.contact-social{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}.contact-social a{padding:11px 15px;border:1px solid rgba(255,255,255,.28);border-radius:12px;text-decoration:none;background:rgba(255,255,255,.06);transition:background .2s,transform .2s}.contact-social a:hover{background:rgba(255,255,255,.12);transform:translateY(-2px)}.contact-social span{color:#fff;font-size:.84rem;letter-spacing:0;text-transform:none}.site-footer a{text-decoration:none}.site-footer a:hover{text-decoration:underline}.copyright{border-top:1px solid rgba(255,255,255,.14);margin-top:40px;padding-top:24px;font-size:.82rem}
@media(max-width:850px){.container{width:min(100% - 32px,1200px)}.header-inner{height:78px}.menu-toggle{display:block;z-index:3}.primary-nav{position:fixed;inset:0;background:var(--navy-deep);display:grid;place-items:center;transform:translateY(-105%);transition:.3s}.primary-nav.is-open{transform:none}.primary-nav ul{display:flex;flex-direction:column;text-align:center;gap:10px}.primary-nav a{display:block;font-size:1.25rem;padding:13px}.hero{min-height:760px;background-position:58% center}.hero-content{padding-bottom:70px}.service-grid{grid-template-columns:1fr}.service-card{display:grid;grid-template-columns:.9fr 1.1fr}.service-card img{height:100%;min-height:290px}.section-heading.split,.feature-project,.contact-grid{grid-template-columns:1fr}.feature-project img{height:450px}.feature-project>div{padding:38px}.before-after img{height:390px}.contact-grid{gap:35px}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}}
@media(max-width:580px){.section{padding:72px 0}.brand-name{display:none}.hero{min-height:700px;background-position:60% center}.hero-content{padding-bottom:58px}.service-card{display:block}.service-card img{height:280px}.section-heading{margin-bottom:38px}.feature-project img{height:330px}.before-after{grid-template-columns:1fr}.before-after img{height:360px}.contact-list a{display:block}.contact-list strong{display:block;text-align:left;margin-top:6px}.footer-grid{grid-template-columns:1fr;gap:28px}.footer-grid>div:first-child{grid-column:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
