:root{--navy:#06243c;--navy2:#0a3555;--gold:#ef9e00;--ink:#102236;--muted:#5f6c78;--line:#dfe5ea;--soft:#f3f5f7;--white:#fff;--shadow:0 18px 45px rgba(6,36,60,.13)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Arial,sans-serif;color:var(--ink);background:#fff;line-height:1.55}img{display:block;width:100%}a{color:inherit;text-decoration:none}.container{width:min(1180px,92%);margin:auto}.section{padding:86px 0}.alt{background:var(--soft)}h1,h2,h3{font-family:Montserrat,Inter,sans-serif;line-height:1.12;margin:0 0 16px}h2{font-size:clamp(2rem,4vw,3.2rem)}p{margin:0 0 18px}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-weight:800;font-size:.76rem;color:#d8e9f5}.eyebrow.dark{color:var(--gold)}
.site-header{position:sticky;top:0;z-index:50;background:rgba(4,26,44,.96);backdrop-filter:blur(12px);color:white;border-bottom:1px solid rgba(255,255,255,.08)}.nav-wrap{height:78px;display:flex;align-items:center;gap:26px}.brand{display:flex;align-items:center;gap:12px;min-width:max-content}.brand-mark{width:44px;height:44px;border:2px solid currentColor;display:grid;place-items:center;font:800 15px Montserrat;transform:rotate(45deg)}.brand-mark::first-letter{transform:rotate(-45deg)}.brand strong{display:block;font:800 1.3rem Montserrat;letter-spacing:.06em}.brand small{display:block;font-size:.57rem;letter-spacing:.16em}.main-nav{display:flex;gap:25px;margin-left:auto}.main-nav a{font-size:.9rem;font-weight:700}.main-nav a:hover{color:var(--gold)}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 22px;border-radius:7px;font-weight:800;text-transform:uppercase;letter-spacing:.03em;font-size:.8rem;border:1px solid transparent;cursor:pointer}.btn-gold{background:var(--gold);color:white;box-shadow:0 10px 25px rgba(239,158,0,.25)}.btn-gold:hover{background:#d88d00}.btn-outline{border-color:white;color:white;background:rgba(255,255,255,.04)}.btn-navy{background:var(--navy);color:white}.nav-cta{margin-left:10px}.menu-toggle{display:none;margin-left:auto;background:none;border:0;color:white;font-size:1.7rem}
.hero{position:relative;min-height:620px;display:flex;align-items:center;overflow:hidden;background:var(--navy)}.hero-media{position:absolute;inset:0;background:url('assets/hero.webp') center/cover no-repeat;transform:scale(1.02)}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,28,48,.97) 0%,rgba(3,28,48,.88) 32%,rgba(3,28,48,.25) 70%,rgba(3,28,48,.72) 100%)}.hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.15fr .55fr;gap:60px;color:white;align-items:center}.hero-copy h1{font-size:clamp(3rem,6vw,5.8rem);text-transform:uppercase;max-width:760px}.hero-copy h1 span{color:var(--gold)}.hero-copy>p:not(.eyebrow){font-size:1.15rem;max-width:640px;color:#e7eef3}.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}.hero-points{background:rgba(3,28,48,.76);padding:28px;border-left:4px solid var(--gold);box-shadow:var(--shadow)}.hero-points>div{display:flex;gap:14px;padding:13px 0;border-bottom:1px solid rgba(255,255,255,.14)}.hero-points>div:last-child{border:0}.hero-points b{color:var(--gold);font-size:1.25rem}.hero-points strong,.hero-points small{display:block}.hero-points small{color:#d2dde5;margin-top:2px}
.section-head{display:flex;align-items:end;justify-content:space-between;gap:50px;margin-bottom:38px}.section-head>p{max-width:510px;color:var(--muted)}.section-head.centered{justify-content:center;text-align:center}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.service-card{background:white;border:1px solid var(--line);border-radius:12px;overflow:hidden;box-shadow:0 8px 24px rgba(6,36,60,.06);transition:.25s}.service-card:hover{transform:translateY(-6px);box-shadow:var(--shadow)}.service-card img{height:165px;object-fit:cover}.card-body{padding:24px;position:relative}.icon{position:absolute;top:-29px;left:22px;width:56px;height:56px;border-radius:50%;background:var(--navy);color:white;border:4px solid white;display:grid;place-items:center;font-size:1.5rem}.card-body h3{margin-top:15px;font-size:1.15rem}.card-body p{color:var(--muted);font-size:.93rem}
.project-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.project-card{background:var(--navy);color:white;border-radius:10px;overflow:hidden;box-shadow:var(--shadow)}.project-card img{height:200px;object-fit:cover}.project-card div{padding:20px}.project-card span{color:var(--gold);text-transform:uppercase;font-weight:800;font-size:.72rem}.project-card h3{font-size:1.1rem;margin-top:8px}.project-card p{color:#d9e3ea;font-size:.88rem}
.steps{display:grid;grid-template-columns:repeat(5,1fr);gap:18px}.step{padding:24px 18px;text-align:center;border-top:3px solid var(--line)}.step span{display:grid;place-items:center;margin:-42px auto 18px;width:38px;height:38px;border-radius:50%;background:var(--navy);color:white;font-weight:800}.step h3{font-size:1rem}.step p{font-size:.87rem;color:var(--muted)}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.about-art img{height:420px;object-fit:cover;border-radius:14px;box-shadow:var(--shadow)}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-top:28px}.stats div{background:white;padding:18px;border-left:3px solid var(--gold)}.stats strong,.stats span{display:block}.stats strong{font:800 1.45rem Montserrat}.stats span{font-size:.8rem;color:var(--muted)}
.forms{background:linear-gradient(135deg,var(--navy),var(--navy2));color:white}.form-grid,.booking-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px;align-items:start}.form-intro ul{padding-left:20px;color:#d8e5ee}.lead-form,.booking-form{background:white;color:var(--ink);padding:30px;border-radius:14px;box-shadow:var(--shadow)}label{display:block;font-weight:700;font-size:.82rem;margin-bottom:15px}input,select,textarea{width:100%;margin-top:7px;padding:13px 14px;border:1px solid #ccd5dc;border-radius:7px;font:inherit;background:white}textarea{resize:vertical}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.form-note{font-size:.72rem;color:var(--muted);margin-top:12px}.hp{position:absolute!important;left:-10000px!important}.booking-grid{grid-template-columns:.75fr 1.25fr;align-items:center}.booking-form{display:grid;grid-template-columns:1fr 1fr;gap:0 15px}.booking-form label:nth-of-type(4),.booking-form label:nth-of-type(7),.booking-form .field-row,.booking-form button{grid-column:1/-1}
.footer{background:#041b2d;color:white;padding:58px 0 24px}.footer-grid{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:35px}.footer h3{font-size:.95rem;color:var(--gold)}.footer p,.footer a{color:#c9d6df;font-size:.9rem}.footer-bottom{display:flex;justify-content:space-between;gap:30px;border-top:1px solid rgba(255,255,255,.12);padding-top:20px;margin-top:35px;font-size:.72rem;color:#9eb0bd}.footer-brand{color:white}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .65s ease,transform .65s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:980px){.main-nav,.nav-cta{display:none}.menu-toggle{display:block}.main-nav.open{display:flex;position:absolute;top:78px;left:0;right:0;background:var(--navy);padding:20px 4%;flex-direction:column}.hero-grid{grid-template-columns:1fr}.hero-points{display:none}.service-grid{grid-template-columns:repeat(2,1fr)}.project-grid{grid-template-columns:repeat(2,1fr)}.steps{grid-template-columns:repeat(2,1fr);row-gap:45px}.about-grid,.form-grid,.booking-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.section{padding:64px 0}.hero{min-height:680px}.hero-media{background-position:62% center}.hero-shade{background:rgba(3,28,48,.78)}.hero-copy h1{font-size:2.65rem}.section-head{display:block}.service-grid,.project-grid,.steps,.stats,.field-row,.booking-form,.footer-grid{grid-template-columns:1fr}.booking-form label,.booking-form .field-row,.booking-form button{grid-column:1}.footer-bottom{display:block}.footer-bottom span{display:block;margin-top:10px}.project-card img{height:220px}.brand strong{font-size:1.05rem}.brand small{font-size:.48rem}.nav-wrap{height:70px}.main-nav.open{top:70px}}
