:root{
  --hp-navy:#12325C; --hp-navy-d:#0E2848; --hp-ink:#0C1A2E; --hp-gold:#C99A50; --hp-gold-d:#B07F36;
  --hp-white:#FFFFFF; --hp-bg:#F5F7FA; --hp-bg2:#EEF2F7; --hp-grey:#5A6675; --hp-line:#E2E8F1;
  --hp-shadow:0 18px 50px -22px rgba(12,26,46,.35); --hp-shadow-s:0 8px 24px -12px rgba(12,26,46,.25);
  --hp-rad:14px; --hp-rad-s:8px; --hp-max:1200px; --hp-gut:clamp(18px,4vw,46px);
  --hp-h:clamp(2.1rem,1.2rem+3.4vw,3.7rem); --hp-h2:clamp(1.7rem,1rem+2.4vw,2.7rem);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:"Hanken Grotesk",system-ui,sans-serif;color:var(--hp-ink);background:var(--hp-white);font-size:17px;line-height:1.7;-webkit-font-smoothing:antialiased;overflow-x:hidden}
h1,h2,h3,h4{font-family:"Bricolage Grotesque","Hanken Grotesk",sans-serif;color:var(--hp-navy);line-height:1.08;font-weight:700;letter-spacing:-.02em;margin:0 0 .5em}
h1{font-size:var(--hp-h);font-weight:800}
h2{font-size:var(--hp-h2)}
h3{font-size:clamp(1.2rem,.9rem+1vw,1.5rem)}
p{margin:0 0 1.1em}
a{color:var(--hp-navy);text-decoration:none}
img{max-width:100%;height:auto;display:block}
.hp_wrap{max-width:var(--hp-max);margin:0 auto;padding:0 var(--hp-gut)}
.hp_sec{padding:clamp(54px,8vw,108px) 0;position:relative;overflow:hidden}
.hp_sec--bg{background:var(--hp-bg)}
.hp_sec--navy{background:var(--hp-navy);color:#DCE6F2}
.hp_sec--navy h1,.hp_sec--navy h2,.hp_sec--navy h3{color:#fff}
.hp_eyebrow{display:inline-flex;align-items:center;gap:.55em;font-family:"Bricolage Grotesque";font-weight:600;font-size:.8rem;letter-spacing:.16em;text-transform:uppercase;color:var(--hp-gold-d);margin-bottom:.7em}
.hp_eyebrow::before{content:"";width:26px;height:2px;background:var(--hp-gold)}
.hp_sec--navy .hp_eyebrow{color:var(--hp-gold)}
.hp_lead{font-size:1.15rem;color:var(--hp-grey);max-width:62ch}
.hp_sec--navy .hp_lead{color:#B9C7DA}
.hp_center{text-align:center}
.hp_center .hp_lead,.hp_center .hp_eyebrow{margin-left:auto;margin-right:auto}
.hp_center .hp_eyebrow{justify-content:center}

/* BUTTONS */
.hp_btn{display:inline-flex;align-items:center;gap:.5em;font-family:"Bricolage Grotesque";font-weight:600;font-size:1rem;padding:.95em 1.7em;border-radius:var(--hp-rad-s);border:2px solid transparent;cursor:pointer;transition:.25s ease;line-height:1;text-align:center}
.hp_btn--gold{background:var(--hp-gold);color:var(--hp-navy)!important;box-shadow:0 10px 26px -10px rgba(201,154,80,.7)}
.hp_btn--gold:hover{background:var(--hp-gold-d);transform:translateY(-2px)}
.hp_btn--ghost{border-color:rgba(255,255,255,.5);color:#fff!important}
.hp_btn--ghost:hover{border-color:var(--hp-gold);color:var(--hp-gold)!important}
.hp_btn--navy{background:var(--hp-navy);color:#fff!important}
.hp_btn--navy:hover{background:var(--hp-navy-d);transform:translateY(-2px)}
.hp_btn--line{border-color:var(--hp-navy);color:var(--hp-navy)!important}
.hp_btn--line:hover{background:var(--hp-navy);color:#fff!important}
.hp_btns{display:flex;flex-wrap:wrap;gap:14px;margin-top:1.6em}

/* HEADER glass flottant - centre */
.hp_head{position:fixed;top:14px;left:0;right:0;z-index:90;padding:0 var(--hp-gut);transition:.3s}
.hp_head__in{max-width:var(--hp-max);margin:0 auto;padding:10px 14px 10px 20px;display:flex;align-items:center;justify-content:space-between;gap:18px;background:rgba(255,255,255,.8);backdrop-filter:blur(16px) saturate(140%);-webkit-backdrop-filter:blur(16px) saturate(140%);border:1px solid rgba(255,255,255,.6);border-radius:16px;box-shadow:var(--hp-shadow-s)}
.hp_head.is-stuck .hp_head__in{background:rgba(255,255,255,.95);box-shadow:var(--hp-shadow)}
.hp_logo{flex-shrink:0}
.hp_logo img{height:46px!important;width:auto!important}
.hp_nav{display:flex;align-items:center;gap:4px;margin:0 auto}
.hp_nav a{font-family:"Bricolage Grotesque";font-weight:600;font-size:.93rem;color:var(--hp-navy);padding:.5em .75em;border-radius:8px;transition:.2s;white-space:nowrap}
.hp_nav a:hover,.hp_nav .current-menu-item>a{background:var(--hp-bg2);color:var(--hp-gold-d)}
.hp_nav .sub-menu{display:none}
.hp_head__cta{display:flex;align-items:center;gap:12px;flex-shrink:0}
.hp_tel{font-family:"Bricolage Grotesque";font-weight:700;color:var(--hp-navy);white-space:nowrap}
.hp_burger{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:8px}
.hp_burger span{width:26px;height:2px;background:var(--hp-navy);transition:.3s;border-radius:2px}

/* HERO video */
.hp_hero{position:relative;min-height:92vh;display:flex;align-items:center;color:#fff;overflow:hidden}
.hp_hero__media,.hp_hero__media video,.hp_hero__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hp_hero__media::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,rgba(12,26,46,.93) 0%,rgba(18,50,92,.82) 42%,rgba(18,50,92,.45) 100%)}
.hp_hero__in{position:relative;z-index:2;max-width:760px;padding-top:90px}
.hp_hero h1{color:#fff;margin-bottom:.35em}
.hp_hero .hp_lead{color:#D4DEEC;font-size:1.22rem;max-width:60ch}
.hp_hero__gold{position:absolute;right:-90px;bottom:-90px;width:340px;height:340px;background:var(--hp-gold);opacity:.16;clip-path:polygon(50% 0,100% 38%,82% 100%,18% 100%,0 38%);z-index:1}
.hp_trust{display:flex;flex-wrap:wrap;gap:18px 24px;margin-top:2.2em;z-index:2;position:relative}
.hp_trust span{display:inline-flex;align-items:center;gap:.5em;font-weight:600;font-size:.95rem;color:#E7EEF7}
.hp_trust span::before{content:"";width:9px;height:9px;background:var(--hp-gold);border-radius:2px;transform:rotate(45deg);flex-shrink:0}

/* SPLIT + frame geometrique */
.hp_split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,72px);align-items:center}
.hp_split--rev .hp_split__media{order:2}
.hp_frame{position:relative;isolation:isolate}
.hp_frame img{border-radius:var(--hp-rad);box-shadow:var(--hp-shadow);position:relative;z-index:2;width:100%}
.hp_frame::before{content:"";position:absolute;z-index:1;width:78%;height:82%;right:-26px;bottom:-26px;background:var(--hp-gold);clip-path:polygon(0 18%,82% 0,100% 78%,16% 100%);opacity:.9}
.hp_frame::after{content:"";position:absolute;z-index:0;width:46%;height:46%;left:-30px;top:-30px;border:2px solid var(--hp-navy);opacity:.18;clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%)}
.hp_frame--alt::before{clip-path:polygon(18% 0,100% 16%,84% 100%,0 82%);right:auto;left:-26px}

/* GRID */
.hp_grid{display:grid;gap:22px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}
.hp_grid--3{grid-template-columns:repeat(3,1fr)}
.hp_grid--4{grid-template-columns:repeat(4,1fr)}
.hp_card{background:#fff;border:1px solid var(--hp-line);border-radius:var(--hp-rad);padding:30px 26px;transition:.28s;position:relative;overflow:hidden}
.hp_card::after{content:"";position:absolute;top:0;right:0;width:60px;height:60px;background:var(--hp-gold);opacity:.1;clip-path:polygon(100% 0,0 0,100% 100%)}
.hp_card:hover{transform:translateY(-5px);box-shadow:var(--hp-shadow);border-color:transparent}
.hp_card h3{margin-bottom:.4em}
.hp_card p{font-size:.97rem;color:var(--hp-grey);margin:0}
.hp_sec--navy .hp_card{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.12)}
.hp_sec--navy .hp_card p{color:#AFC0D6}
.hp_ico{width:50px;height:50px;border-radius:12px;background:var(--hp-bg2);display:flex;align-items:center;justify-content:center;margin-bottom:18px;color:var(--hp-gold-d)}
.hp_ico svg{width:26px;height:26px}
.hp_card--link{display:block;color:inherit}
.hp_card--link .hp_more{color:var(--hp-gold-d);font-weight:700;font-family:"Bricolage Grotesque";font-size:.92rem;margin-top:14px;display:inline-flex;gap:.4em;align-items:center}
.hp_sec--navy .hp_card--link .hp_more{color:var(--hp-gold)}

/* stats */
.hp_stats{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;text-align:center}
.hp_stat b{font-family:"Bricolage Grotesque";font-size:2.6rem;color:var(--hp-gold);display:block;line-height:1;margin-bottom:.2em}
.hp_stat span{color:#B9C7DA;font-size:.95rem}

/* steps */
.hp_steps{display:grid;gap:22px;grid-template-columns:repeat(4,1fr);counter-reset:s}
.hp_step{position:relative;padding:30px 24px 26px;background:#fff;border:1px solid var(--hp-line);border-radius:var(--hp-rad)}
.hp_step::before{counter-increment:s;content:counter(s);position:absolute;top:-18px;left:24px;width:42px;height:42px;background:var(--hp-navy);color:#fff;font-family:"Bricolage Grotesque";font-weight:700;display:flex;align-items:center;justify-content:center;border-radius:10px;clip-path:polygon(20% 0,100% 0,80% 100%,0 100%)}
.hp_step h3{margin-top:.3em}
.hp_step p{color:var(--hp-grey);font-size:.96rem;margin:0}

/* FAQ */
.hp_faq{max-width:840px;margin:0 auto}
.hp_faq details{border:1px solid var(--hp-line);border-radius:12px;margin-bottom:14px;background:#fff;overflow:hidden}
.hp_faq summary{cursor:pointer;list-style:none;padding:20px 24px;font-family:"Bricolage Grotesque";font-weight:600;color:var(--hp-navy);display:flex;justify-content:space-between;gap:16px;align-items:center}
.hp_faq summary::-webkit-details-marker{display:none}
.hp_faq summary::after{content:"+";color:var(--hp-gold);font-size:1.5rem;transition:.2s;flex-shrink:0}
.hp_faq details[open] summary::after{transform:rotate(45deg)}
.hp_faq .hp_faq__a{padding:0 24px 22px;color:var(--hp-grey)}

/* mesh */
.hp_mesh{display:flex;flex-wrap:wrap;gap:10px}
.hp_mesh a{font-size:.92rem;font-weight:600;background:#fff;border:1px solid var(--hp-line);padding:.55em 1em;border-radius:999px;color:var(--hp-navy);transition:.2s}
.hp_mesh a:hover{border-color:var(--hp-gold);color:var(--hp-gold-d);transform:translateY(-2px)}

/* CTA */
.hp_cta{position:relative;background:var(--hp-navy);border-radius:var(--hp-rad);padding:clamp(36px,5vw,64px);overflow:hidden;color:#fff;text-align:center}
.hp_cta h2{color:#fff}
.hp_cta .hp_eyebrow{justify-content:center}
.hp_cta::before{content:"";position:absolute;right:-60px;top:-60px;width:260px;height:260px;background:var(--hp-gold);opacity:.18;clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%)}
.hp_cta::after{content:"";position:absolute;left:-40px;bottom:-70px;width:200px;height:200px;border:2px solid var(--hp-gold);opacity:.25;clip-path:polygon(50% 0,100% 38%,82% 100%,18% 100%,0 38%)}
.hp_cta>*{position:relative;z-index:2}

/* FORM */
.hp_form{background:#fff;border:1px solid var(--hp-line);border-radius:var(--hp-rad);padding:clamp(24px,4vw,40px);box-shadow:var(--hp-shadow-s)}
.hp_field{margin-bottom:16px}
.hp_field label{display:block;font-weight:600;font-size:.92rem;margin-bottom:6px;color:var(--hp-navy)}
.hp_field input,.hp_field textarea,.hp_field select{width:100%;padding:.85em 1em;border:1px solid var(--hp-line);border-radius:8px;font:inherit;background:var(--hp-bg);transition:.2s}
.hp_field input:focus,.hp_field textarea:focus,.hp_field select:focus{outline:none;border-color:var(--hp-gold);background:#fff;box-shadow:0 0 0 3px rgba(201,154,80,.15)}
.hp_hp{position:absolute!important;left:-9999px!important}
.hp_consent{display:flex;gap:10px;align-items:flex-start;font-size:.85rem;color:var(--hp-grey)}
.hp_consent input{width:auto;margin-top:4px;flex-shrink:0}
.hp_note{font-size:.95rem;padding:14px 16px;border-radius:8px;margin-bottom:16px}
.hp_note--ok{background:#E8F5EC;color:#1B6B3A;border:1px solid #BFE3CB}
.hp_note--err{background:#FBEAEA;color:#9B2C2C;border:1px solid #F0C9C9}

/* FOOTER */
.hp_foot{background:var(--hp-ink);color:#9FB0C6;padding:70px 0 0;font-size:.95rem}
.hp_foot a{color:#C4D2E4}
.hp_foot a:hover{color:var(--hp-gold)}
.hp_foot__grid{display:grid;gap:40px;grid-template-columns:1.5fr 1fr 1fr 1fr}
.hp_foot h4{color:#fff;font-size:1rem;margin-bottom:1em}
.hp_foot ul{list-style:none;padding:0;margin:0}
.hp_foot li{margin-bottom:.55em}
.hp_foot__logo img{height:50px;margin-bottom:16px}
.hp_foot__bot{border-top:1px solid rgba(255,255,255,.1);margin-top:50px;padding:22px 0;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;font-size:.85rem;color:#7E90A8}
.hp_foot__bot a{color:#9FB0C6}
.hp_foot__legal{display:flex;gap:18px;list-style:none;margin:0;padding:0;flex-wrap:wrap}

/* breadcrumb + prose */
.hp_bread{font-size:.85rem;color:var(--hp-grey);padding:120px 0 0}
.hp_bread a{color:var(--hp-grey)}
.hp_bread a:hover{color:var(--hp-gold-d)}
.hp_prose{max-width:760px}
.hp_prose h2{margin-top:1.5em}
.hp_prose ul{padding-left:1.2em}
.hp_prose li{margin-bottom:.5em}

/* reveal */
.hp-reveal-ready .hp_rv{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s ease}
.hp-reveal-ready .hp_rv.is-in{opacity:1;transform:none}

/* ===== RESPONSIVE ===== */
@media(max-width:1000px){
  .hp_nav a{padding:.5em .55em;font-size:.88rem}
}
@media(max-width:900px){
  .hp_split{grid-template-columns:1fr}
  .hp_split--rev .hp_split__media{order:0}
  .hp_grid--3,.hp_grid--4{grid-template-columns:repeat(2,1fr)}
  .hp_steps{grid-template-columns:repeat(2,1fr);row-gap:34px}
  .hp_foot__grid{grid-template-columns:1fr 1fr}
  .hp_nav{display:none}
  .hp_head__cta .hp_btn--gold{display:none}
  .hp_burger{display:flex}
  .hp_tel{background:var(--hp-gold);color:var(--hp-navy);padding:.6em .95em;border-radius:8px}
  .hp_nav.is-open{display:flex;position:absolute;top:74px;left:var(--hp-gut);right:var(--hp-gut);flex-direction:column;align-items:stretch;background:#fff;border:1px solid var(--hp-line);border-radius:14px;padding:12px;box-shadow:var(--hp-shadow);margin:0}
  .hp_nav.is-open a{padding:.85em 1em}
}
@media(max-width:700px){
  .hp_hero{min-height:auto;padding:128px 0 72px}
  .hp_hero__in{padding-top:0}
  .hp_hero .hp_lead{font-size:1.1rem}
}
@media(max-width:560px){
  body{font-size:16px}
  .hp_grid,.hp_grid--3,.hp_grid--4{grid-template-columns:1fr}
  .hp_stats{grid-template-columns:repeat(2,1fr);gap:30px 16px}
  .hp_steps{grid-template-columns:1fr;row-gap:34px}
  .hp_foot__grid{grid-template-columns:1fr}
  .hp_btns .hp_btn{width:100%;justify-content:center}
  .hp_frame::before{right:-12px;bottom:-12px;width:72%;height:76%}
  .hp_frame--alt::before{left:-12px;right:auto}
  .hp_frame::after{display:none}
  .hp_head__in{padding:8px 10px 8px 16px}
  .hp_tel{font-size:.9rem;padding:.55em .8em}
}
/* ===== MEGAMENU ===== */
.hp_head__in{position:relative}
.hp_nav{display:flex;align-items:center;margin:0 auto}
.hp_menu{display:flex;gap:2px;align-items:center;list-style:none;margin:0;padding:0}
.hp_menu>li{position:static}
.hp_menu>li>a,.hp_toggle{font-family:"Bricolage Grotesque";font-weight:600;font-size:.93rem;color:var(--hp-navy);padding:.6em .8em;border-radius:8px;background:none;border:0;cursor:pointer;display:inline-flex;align-items:center;gap:.4em;white-space:nowrap;line-height:1}
.hp_menu>li>a:hover,.hp_has:hover>.hp_toggle,.hp_has:focus-within>.hp_toggle{background:var(--hp-bg2);color:var(--hp-gold-d)}
.hp_car{width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:.2s;display:inline-block}
.hp_has:hover .hp_car{transform:rotate(-135deg) translateY(2px)}
.hp_mega{position:absolute;top:calc(100% + 12px);left:0;right:0;background:#fff;border:1px solid var(--hp-line);border-radius:18px;box-shadow:var(--hp-shadow);padding:24px;opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .2s,transform .2s,visibility .2s;z-index:95}
.hp_mega::before{content:"";position:absolute;top:-16px;left:0;right:0;height:16px}
.hp_has:hover .hp_mega,.hp_has:focus-within .hp_mega{opacity:1;visibility:visible;transform:none}
.hp_mega__grid{display:grid;gap:22px}
.hp_mega__grid--p{grid-template-columns:1.3fr 1fr .95fr}
.hp_mega__grid--z{grid-template-columns:2fr .95fr}
.hp_mega__grid--c{grid-template-columns:1fr .95fr}
.hp_mega h5{font-family:"Bricolage Grotesque";font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:var(--hp-gold-d);margin:0 0 12px}
.hp_mega ul{list-style:none;margin:0;padding:0}
.hp_mega li a{display:block;padding:.45em .6em;border-radius:8px;font-size:.92rem;color:var(--hp-navy);font-weight:500;transition:.15s}
.hp_mega li a:hover{background:var(--hp-bg2);color:var(--hp-gold-d);transform:translateX(3px)}
.hp_mega__col--services ul{column-count:2;column-gap:14px}
.hp_mega__zones{column-count:3;column-gap:14px}
.hp_mega__promo{background:var(--hp-navy);color:#fff;border-radius:14px;padding:22px;position:relative;overflow:hidden}
.hp_mega__promo::after{content:"";position:absolute;right:-30px;bottom:-30px;width:120px;height:120px;background:var(--hp-gold);opacity:.18;clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%)}
.hp_mega__promo>*{position:relative;z-index:2}
@media(max-width:900px){
  .hp_menu{flex-direction:column;align-items:stretch;width:100%;gap:0}
  .hp_menu>li{border-bottom:1px solid var(--hp-line)}
  .hp_menu>li:last-child{border-bottom:0}
  .hp_menu>li>a,.hp_toggle{width:100%;justify-content:space-between;padding:.9em .6em;font-size:1rem}
  .hp_mega{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;padding:0 0 12px;display:none;border-radius:0}
  .hp_has.is-open>.hp_mega{display:block}
  .hp_has.is-open .hp_car{transform:rotate(-135deg)}
  .hp_mega__grid,.hp_mega__grid--p,.hp_mega__grid--z,.hp_mega__grid--c{grid-template-columns:1fr;gap:8px}
  .hp_mega__col--services ul,.hp_mega__zones{column-count:1}
  .hp_mega__promo{display:none}
  .hp_mega h5{margin:10px 0 6px}
}