:root{
  --marine:#0f3554;
  --teal:#00a7b5;
  --sky:#e6f7fb;
  --ink:#0b1721;
  --sand:#f9fafb;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{font-family:'Inter',system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:var(--ink);background:#fff;line-height:1.65}
h1,h2,h3,h4{font-family:'Poppins',sans-serif;line-height:1.2;margin:0 0 .5rem}
h1{font-size:clamp(2rem,3.8vw,3.2rem);}
h2{font-size:clamp(1.6rem,2.6vw,2.2rem)}
h3{font-size:1.25rem}
p{margin:.5rem 0 1rem}
a{color:var(--teal);text-decoration:none}
a:hover{text-decoration:underline}
.container{width:min(1100px,92%);margin:0 auto;padding:0 0}
.site-header{position:sticky;top:0;background:#ffffffea;backdrop-filter:saturate(180%) blur(8px);z-index:50;border-bottom:1px solid #eaecef}
.nav{display:flex;align-items:center;justify-content:space-between;padding:.8rem 0;gap:1rem}
.brand{font-weight:700;color:var(--marine);font-size:1.1rem}
.site-header nav a{margin:0 .6rem;color:#334}
.cta{background:var(--marine);color:#fff;padding:.55rem .9rem;border-radius:999px}
.hero{position:relative;background:linear-gradient(135deg,var(--marine),#062339);color:#fff;padding:5rem 0 3.5rem;overflow:hidden}
.hero .lead{opacity:.95;max-width:42rem}
.hero-cta{display:flex;gap:.75rem;margin-top:1rem;flex-wrap:wrap}
.btn{display:inline-block;padding:.75rem 1rem;border-radius:12px;font-weight:600;background:var(--teal);color:#fff;border:0;cursor:pointer}
.btn:hover{opacity:.9}
.btn-outline{background:transparent;color:#fff;border:2px solid #ffffff88}
.wave{position:absolute;inset:auto 0 -1px 0;height:140px;background:radial-gradient(60% 100% at 50% 0%,#ffffff22 0,transparent 70%)}
.section{padding:3rem 0}
.section.alt{background:var(--sand)}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}
.grid-2 .full{grid-column:1/-1}
.card{background:#fff;border:1px solid #eef1f4;border-radius:16px;padding:1.1rem;box-shadow:0 6px 20px rgba(10,25,41,.05);transition:transform .3s ease, box-shadow .3s ease}
.card:hover{transform:translateY(-3px);box-shadow:0 10px 26px rgba(10,25,41,.08)}
.two-col{display:grid;grid-template-columns:1.2fr .8fr;gap:2rem;align-items:center}
.glass{background:linear-gradient(135deg,#ffffffaa,#e8fcff88);backdrop-filter:blur(6px);border:1px solid #ffffffc0;border-radius:18px;padding:1rem;display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.stat{background:#fff;border-radius:14px;padding:1rem;text-align:center;border:1px solid #eef1f4}
.stat span{display:block;font-size:1.6rem;font-weight:700;color:var(--marine)}
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;margin-top:.75rem}
.gallery img{width:100%;height:220px;object-fit:cover;border-radius:14px;border:1px solid #eaeef2}
.cta-strip{background:linear-gradient(135deg,#f0fbfd,#ffffff)}
.site-footer{background:#071624;color:#dfe7ee;margin-top:2rem;padding:2rem 0 1rem}
.site-footer h4{color:#fff}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:1rem}
.links{list-style:none;padding:0;margin:0}
.links li{margin:.35rem 0}
.legal{border-top:1px solid #1a2a3a;margin-top:1rem;padding-top:1rem;text-align:center}
.doc .document{padding:2rem 0;max-width:850px}
.contact-page{padding:2rem 0}
.contact-form label{display:grid;gap:.35rem;font-weight:600}
.contact-form input,.contact-form select,.contact-form textarea{padding:.7rem .8rem;border:1px solid #dce3ea;border-radius:12px;background:#fff}
.map-section{margin-top:2rem}
.cookie-banner{position:fixed;left:0;right:0;bottom:0;background:#071624;color:#fff;padding:.8rem 0;display:none}
.cookie-banner .btn{margin-left:.5rem}
.btn.btn-secondary{background:#12314b}
.reveal{opacity:0;transform:translateY(12px);transition:opacity .6s ease, transform .6s ease}
.reveal.visible{opacity:1;transform:none}
@media(max-width:900px){
  .grid-3{grid-template-columns:1fr}
  .two-col{grid-template-columns:1fr}
  .glass{grid-template-columns:1fr 1fr}
  .gallery{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr}
}
