:root{--navy:#1f2d7a;--ink:#1c2233;--mut:#5d6578;--bg:#fff;--alt:#f3f5fa;--lime:#c9dc00;--line:#dde1ec}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth;font-size:106.25%}
body{font:1rem/1.55 "Montserrat",system-ui,sans-serif;color:var(--ink);background:var(--bg)}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
h1,h2,h3{font-weight:600;letter-spacing:.02em;line-height:1.25}
header{position:fixed;inset:0 0 auto;z-index:10;display:flex;justify-content:space-between;align-items:center;padding:.35rem 5%;background:#fffffff4;backdrop-filter:blur(6px);box-shadow:0 1px 0 var(--line)}
.brand{display:flex;align-items:center;gap:.7rem}
.brand img{height:54px}
.brand span{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;line-height:1.3;color:var(--navy);font-weight:600}
.brand small{display:block;font-weight:400;color:var(--mut);letter-spacing:.1em}
nav{display:flex;gap:1.5rem;align-items:center;font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;font-weight:500}
nav a:hover,nav a.on{color:var(--navy);box-shadow:0 2px 0 var(--lime)}
nav a.cta{background:var(--navy);color:#fff;padding:.55rem 1.1rem;box-shadow:none}
nav a.cta:hover{background:var(--ink)}
#burger{display:none;background:none;border:0;font-size:1.8rem;cursor:pointer;color:var(--navy)}
.hero{min-height:80vh;background:linear-gradient(105deg,#10185aee 25%,#10185a66),var(--img,url(../img/centre-2.jpg)) center/cover;color:#fff;display:flex;flex-direction:column;justify-content:center;padding:6rem 5% 3rem}
.hero>*{max-width:720px}
.hero h1{font-size:clamp(2rem,4.6vw,3.4rem);font-weight:600;margin-bottom:.8rem}
.hero h1 em{font-style:normal;color:var(--lime)}
.hero p{margin-bottom:1.4rem;font-size:1.05rem;color:#e8ebf7}
.page-hero{padding:6.5rem 5% 1.8rem;background:var(--alt);border-bottom:3px solid var(--lime)}
.page-hero h1{font-size:clamp(1.7rem,3.6vw,2.6rem);color:var(--navy)}
.page-hero p{color:var(--mut);letter-spacing:.18em;text-transform:uppercase;font-size:.8rem;margin-bottom:.2rem}
.btn{display:inline-block;border:2px solid currentColor;padding:.7rem 1.7rem;font:inherit;font-size:.85rem;letter-spacing:.1em;text-transform:uppercase;font-weight:600;transition:.25s;background:none;cursor:pointer;color:inherit}
.btn:hover{background:var(--lime);border-color:var(--lime);color:var(--ink)}
.btn.dark{background:var(--navy);border-color:var(--navy);color:#fff}
.btn.dark:hover{background:var(--ink);border-color:var(--ink);color:#fff}
.btn.lime{background:var(--lime);border-color:var(--lime);color:var(--ink)}
.btn.lime:hover{background:#fff;border-color:#fff}
.btn.wa{background:#25d366;border-color:#25d366;color:#fff}
section{padding:2.8rem 5%}
.wrap{max-width:1150px;margin:auto}
.narrow{max-width:860px}
h2{font-size:1.8rem;color:var(--navy);margin-bottom:.4rem}
h2::after{content:"";display:block;width:48px;height:4px;background:var(--lime);margin-top:.5rem}
.center{text-align:center}.center h2::after{margin-inline:auto}
.lead{color:var(--mut);margin-bottom:1.4rem}
.split{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:center}
.split img{width:100%;aspect-ratio:4/3;object-fit:cover}
.txt p+p{margin-top:.6rem}
.alt{background:var(--alt)}
.dark-s{background:var(--navy);color:#fff}.dark-s h2{color:#fff}
.quote{font:italic 500 1.35rem/1.45 Georgia,serif;color:var(--navy);border-left:4px solid var(--lime);padding:.3rem 0 .3rem 1.2rem;margin:0 0 1.4rem}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.1rem}
.card{background:#fff;padding:1.2rem 1.3rem;border-top:3px solid var(--navy)}
.alt .card{background:#fff}
.card b{font-size:.8rem;letter-spacing:.14em;color:var(--navy)}
.card h3{margin:.1rem 0 .3rem;font-size:1.1rem;color:var(--ink)}
.card p,.card li{color:var(--mut);font-size:.96rem}
.card ul{padding-left:1.1rem;margin:.4rem 0}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:1rem;text-align:center}
.stats b{display:block;font-size:2.4rem;color:var(--lime);line-height:1.1}
.stats span{font-size:.9rem;color:#dfe3f5}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:1rem}
figure{position:relative;overflow:hidden;aspect-ratio:4/3;background:#e8eaf2;display:block}
figure img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
a:hover>figure img{transform:scale(1.06)}
figcaption{position:absolute;inset:auto 0 0;padding:2rem 1rem .8rem;color:#fff;background:linear-gradient(transparent,#0a0f33ee);font-size:.88rem}
figcaption b{display:block;font-size:1rem;font-weight:600}
.tag{display:inline-block;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;background:var(--lime);color:var(--ink);padding:0 .5rem;margin-bottom:.3rem;font-weight:600}
.filters{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1.2rem}
.filters button{padding:.4rem 1.1rem;border:1px solid var(--line);background:#fff;font:inherit;font-size:.85rem;cursor:pointer}
.filters .on{background:var(--navy);color:#fff;border-color:var(--navy)}
.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:.7rem;margin:1rem 0}
.facts div{background:var(--alt);padding:.7rem 1rem;border-left:3px solid var(--lime)}
.facts small{display:block;color:var(--navy);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;font-weight:600}
.gal{display:grid;gap:.5rem}
.gal .main{width:100%;aspect-ratio:16/9;object-fit:cover;background:#e8eaf2}
.thumbs{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:.5rem}
.thumbs img{aspect-ratio:4/3;object-fit:cover;width:100%;cursor:pointer;opacity:.7;border:2px solid transparent}
.thumbs img.on,.thumbs img:hover{opacity:1;border-color:var(--lime)}
.steps{list-style:none;padding:0;display:grid;gap:.6rem}
.steps li{padding:.7rem 1rem .7rem 1.2rem;background:#fff;border-left:4px solid var(--navy)}
.steps b{color:var(--navy)}
.tools{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.6rem}
.tools span{border:1px solid var(--line);padding:.2rem .8rem;font-size:.85rem;background:#fff}
.contact{display:grid;grid-template-columns:1fr 1fr;gap:2rem}
.contact li{list-style:none;margin-bottom:.7rem}
.contact small,label small{display:block;color:var(--navy);letter-spacing:.14em;text-transform:uppercase;font-size:.75rem;font-weight:600}
.ar{font-family:"Segoe UI",Tahoma,Arial,sans-serif}
form{display:grid;gap:.7rem}
.two{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}.two .full{grid-column:1/-1}
label{font-size:.88rem;color:var(--mut);display:grid;gap:.25rem;font-weight:500}
input,textarea,select{font:inherit;color:var(--ink);padding:.65rem .85rem;border:1px solid #c9cfdf;background:#fff;width:100%}
input:focus,textarea:focus,select:focus{outline:2px solid var(--lime);border-color:var(--navy)}
.btns{display:flex;gap:.8rem;flex-wrap:wrap}
.note{font-size:.88rem;color:var(--mut)}
.dl{display:flex;justify-content:space-between;align-items:center;gap:1rem;background:#fff;padding:1rem 1.3rem;border-left:4px solid var(--lime)}
footer{background:#10185a;color:#cfd4ee;padding:2rem 5% 1rem;font-size:.92rem}
footer .cols{max-width:1150px;margin:auto;display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:1.5rem}
footer img{height:70px;margin-bottom:.4rem}
footer h4{color:#fff;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;margin-bottom:.5rem}
footer a:hover{color:var(--lime)}
footer .c{text-align:center;margin-top:1.2rem;font-size:.78rem;color:#8b93c4}
@media(max-width:900px){
 #burger{display:block}
 .brand span{display:none}
 nav{position:absolute;top:100%;left:0;right:0;background:#fff;flex-direction:column;align-items:flex-start;padding:1rem 5% 1.2rem;gap:.9rem;display:none;box-shadow:0 8px 16px #0002}
 nav.open{display:flex}
 .split,.contact{grid-template-columns:1fr}
 .two{grid-template-columns:1fr}
 footer .cols{grid-template-columns:1fr 1fr}
 section{padding:2rem 5%}.dl{flex-direction:column;align-items:flex-start}
}
