@font-face{
  font-family:'Inter';
  font-style:normal;font-weight:300 700;font-display:swap;
  src:url('../fonts/inter-latin.woff2') format('woff2');
}
@font-face{
  font-family:'Newsreader';
  font-style:normal;font-weight:400 600;font-display:swap;
  src:url('../fonts/newsreader-latin.woff2') format('woff2');
}
@font-face{
  font-family:'Newsreader';
  font-style:italic;font-weight:400 600;font-display:swap;
  src:url('../fonts/newsreader-italic-latin.woff2') format('woff2');
}

:root{

  --ui-ink:#0e2b4e;
  --ui-ink-2:#0b1f3b;
  --ui-main:#7ecee9;
  --ui-main-600:#1f71df;
  --ui-teal:#e4ecfb;
  --ui-teal-50:#c6dcf1;
  --ui-canvas:#f0f6fe;
  --ui-paper:#fdffff;
  --ui-text:#0e1b2b;
  --ui-text-2:#34445c;
  --ui-muted:#5b6a7e;
  --ui-line:#e1ebf4;
  --ui-line-2:#d7e2f1;
  --ui-main-50:#ebf4fe;
  --ui-valid:#309c62; --ui-valid-fill:#e6f5ee; --ui-valid-border:#c5e8d0;
  --ui-red:#c15130;   --ui-red-fill:#f8ece5;   --ui-red-border:#ebcebd;
  --ui-star:#f5a825;

  --ui-sz-1:4px; --ui-sz-2:8px; --ui-sz-3:12px; --ui-sz-4:16px; --ui-sz-6:24px;
  --ui-sz-8:32px; --ui-sz-10:40px; --ui-sz-12:48px; --ui-sz-16:64px;

  --ui-radius-sm:12px; --ui-radius-md:16px; --ui-radius-lg:22px; --ui-radius-xl:28px; --ui-radius-2xl:40px; --ui-radius-pill:999px;

  --ui-shadow-sm:0 4px 14px rgba(14,40,79,.07);
  --ui-shadow-md:0 18px 44px rgba(14,40,79,.1);
  --ui-shadow-lg:0 30px 70px rgba(14,40,79,.14);

  --ui-font:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --ui-font-display:'Newsreader','Iowan Old Style',Georgia,serif;
  --ui-display-serif:'Newsreader','Iowan Old Style',Georgia,serif;
  --ui-wrap:1200px;
  --ui-edge-x:clamp(16px,4vw,44px);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:76px;-webkit-text-size-adjust:100%;scrollbar-gutter:stable;overflow-x:hidden}
body{font-family:var(--ui-font);font-size:16.5px;overflow-x:hidden;color:var(--ui-text);
  background:var(--ui-canvas);-webkit-font-smoothing:antialiased;line-height:1.62;margin:0}
img{width:100%;height:auto;display:block}
a{text-decoration:none;color:inherit}
button{font-family:inherit}
h1,h2{font-family:var(--ui-font-display);letter-spacing:-.015em;margin:0;font-weight:450;font-optical-sizing:auto;line-height:1.08}
h3{letter-spacing:-.005em;font-family:var(--ui-font);line-height:1.25;font-weight:700;margin:0}
::selection{background:var(--ui-main);color:var(--ui-ink)}
:focus-visible{border-radius:4px;outline:3px solid var(--ui-main-600);outline-offset:2px}
.atouts-serie{padding:0;gap:13px;margin:26px 0 0;display:grid;list-style:none}
.atouts-serie li{display:flex;gap:12px;font-weight:500;align-items:flex-start}
.atouts-serie li::before{place-items:center;content:"\2713";font-size:12px;border-radius:7px;margin-top:2px;height:22px;
  display:grid;flex:none;font-weight:800;background:var(--ui-main-600);width:22px;color:#fdffff}
.fil{margin:0;padding:12px 0 24px;font-size:13px;display:flex;list-style:none;flex-wrap:wrap;align-items:center;color:rgba(226,236,250,.8)}
.fil li+li::before{content:"\203A";opacity:.6;margin-inline:6px}
.fil a{color:rgba(226,236,250,.8)}
.fil a:hover{color:#fdffff}
.fil li:last-child{color:#fdffff;font-weight:600}
.atout{backdrop-filter:blur(6px);color:#fdffff;gap:11px;font-weight:500;align-items:center;background:rgba(253,255,255,.07);
  display:flex;border:1px solid rgba(253,255,255,.14);font-size:15px;border-radius:14px;padding:13px 15px}
.atout i{font-style:normal;color:var(--ui-ink);font-size:13px;width:24px;font-weight:800;background:var(--ui-main);
  height:24px;flex:none;border-radius:50%;display:grid;place-items:center}
.expertise-boite{box-shadow:var(--ui-shadow-sm);border:1px solid var(--ui-line);display:flex;
  gap:16px;flex-direction:column;padding:32px;transition:transform .2s,box-shadow .2s;background:var(--ui-paper);
  border-radius:var(--ui-radius-xl)}
.expertise-boite:hover{transform:translateY(-4px);box-shadow:var(--ui-shadow-md)}
.expertise-boite .sym-tuile{background:var(--ui-main-50);height:56px;width:56px;border-radius:16px}
.expertise-boite .sym-tuile svg{width:26px;height:26px}
.expertise-boite h3{font-size:21px}
.expertise-boite>p{margin:0;color:var(--ui-text-2);flex:1;font-size:15.5px}
.expertise-boite--phare{color:#fdffff;background:var(--ui-ink);border-color:var(--ui-ink)}
.expertise-boite--phare h3{font-family:var(--ui-font-display);color:#fdffff;letter-spacing:-.015em;font-weight:450;font-size:26px}
.expertise-boite--phare>p{color:rgba(226,236,250,.83)}
.expertise-boite--phare .sym-tuile{background:rgba(126,206,233,.2);color:var(--ui-main)}

.info{display:grid;gap:clamp(20px,3vw,28px)}
.realisation__bande{overflow-x:auto;display:flex;scrollbar-width:none;gap:20px;
  padding-bottom:8px;scroll-snap-type:x mandatory}
.realisation__bande::-webkit-scrollbar{display:none}
.realisation-entree{overflow:hidden;background:var(--ui-teal);border-radius:var(--ui-radius-xl);
  border:1px solid var(--ui-line);flex:0 0 clamp(280px,42%,440px);scroll-snap-align:start;margin:0;
  box-shadow:var(--ui-shadow-md);position:relative}
.realisation-entree .fenetre{object-fit:cover;aspect-ratio:4/3;width:100%}
.realisation-entree figcaption{font-weight:600;position:absolute;color:#fdffff;background:linear-gradient(180deg,transparent,rgba(9,22,42,.83));left:0;
  right:0;padding:26px 18px 16px;bottom:0;font-size:15px}

.chiffrage-boite{border-radius:var(--ui-radius-xl);background:var(--ui-paper);border:1px solid var(--ui-line);
  padding:30px;box-shadow:var(--ui-shadow-lg);color:var(--ui-text)}
.chiffrage-boite .intitule-2{font-size:27px;margin:12px 0 4px}
.chiffrage-boite .soustitre{font-size:15px;color:var(--ui-text-2);margin:0 0 20px}
.chiffrage-boite .mention{color:var(--ui-main-600)}

.opinion-ligne{grid-template-columns:repeat(3,1fr) auto;border-radius:var(--ui-radius-xl);box-shadow:var(--ui-shadow-lg);z-index:10;
  align-items:center;position:relative;margin-top:-96px;
  border:1px solid var(--ui-line);background:var(--ui-paper);padding:28px 30px;display:grid;gap:26px}
.opinion-entree{display:flex;align-items:flex-start;gap:15px}
.opinion-entree>div>strong{line-height:1.25;font-weight:700;font-size:16px;display:block}
.opinion-entree>div>span{display:block;font-size:14px;margin-top:3px;color:var(--ui-text-2)}

.pas-blocs{gap:22px;display:grid;grid-template-columns:repeat(4,1fr)}
.pas-boite{box-shadow:var(--ui-shadow-sm);padding:30px 28px;background:var(--ui-paper);border:1px solid var(--ui-line);
  position:relative;border-radius:var(--ui-radius-xl)}
.pas-boite:not(:last-child)::after{height:2px;right:-15px;background:var(--ui-line-2);width:30px;top:56px;content:"";position:absolute;z-index:1}
.pas-rang{font-family:var(--ui-font-display);background:var(--ui-main-50);display:grid;place-items:center;
  margin-bottom:20px;border-radius:16px;width:56px;height:56px;color:var(--ui-main-600);font-weight:500;font-size:20px}
.pas-nom{font-family:var(--ui-font);font-weight:700;margin:0 0 8px;font-size:19px}
.pas-ligne{color:var(--ui-text-2);font-size:14.5px;margin:0}

.nombres-blocs{grid-template-columns:repeat(4,1fr);display:grid;text-align:center;gap:24px}
.accroche{font-size:clamp(16px,2vw,19px);color:var(--ui-text-2)}
.mention{color:var(--ui-main-600);font-weight:700;display:inline-flex;
  align-items:center;gap:9px;font-size:12.5px;
  letter-spacing:.14em;text-transform:uppercase}
.mention::before{width:8px;height:8px;flex:none;border-radius:50%;
  background:var(--ui-main-600);content:""}
.agence-boite{align-items:flex-start;padding:20px;transition:box-shadow .2s,transform .2s;gap:16px;
  background:var(--ui-paper);display:flex;border:1px solid var(--ui-line);border-radius:var(--ui-radius-lg);
  box-shadow:var(--ui-shadow-sm)}
.agence-boite:hover{box-shadow:var(--ui-shadow-md);transform:translateY(-3px)}
.agence-logo{line-height:1;font-family:var(--ui-font-display);flex:none;font-weight:600;background:linear-gradient(150deg,var(--ui-ink),var(--ui-main-600));border-radius:16px;font-size:22px;
  overflow:hidden;height:60px;display:grid;
  color:#fdffff;position:relative;width:60px;place-items:center}
.agence-logo::after{background:linear-gradient(150deg,rgba(253,255,255,.22),transparent 62%);position:absolute;content:"";inset:0}
.agence-ident{gap:8px;min-width:0;flex:1;display:flex;flex-direction:column}
.agence-intro{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}
.agence-intro h3{font-size:17px;line-height:1.25}
.astres{color:var(--ui-star);gap:2px;display:inline-flex}
.astres svg,.astre{height:16px;width:16px;fill:var(--ui-star)}

.intro .relief{color:var(--ui-main)}
.expertise-boite--phare .coche-serie li::before{color:var(--ui-main)}
.expertise-boite--phare .coche-serie li{color:rgba(226,236,250,.83)}
.agence-adresse{display:flex;gap:8px;align-items:flex-start;color:var(--ui-text-2);font-size:14px}
.agence-adresse .marqueur{flex:none;margin-top:2px}
.barre-calque{inset:0;visibility:hidden;background:rgba(9,22,42,.51);z-index:1090;transition:opacity .25s,visibility .25s;position:fixed;opacity:0}
.barre-calque.ouvert{visibility:visible;opacity:1}

.web-navigation{top:0;z-index:100;left:0;position:fixed;background:rgba(240,246,254,.83);
  backdrop-filter:blur(14px);border-bottom:1px solid var(--ui-line);
  right:0}
.web-navigation__coeur{align-items:center;display:flex;padding-block:14px;gap:24px}

.bandeau__encart{background:linear-gradient(120deg,var(--ui-ink),var(--ui-ink-2));border-radius:var(--ui-radius-2xl);
  position:relative;text-align:center;overflow:hidden;padding:clamp(44px,6vw,76px)}
.bandeau__ornement{background:radial-gradient(circle,rgba(126,206,233,.26),transparent 70%);position:absolute;width:240px;height:240px;top:-40px;pointer-events:none;
  right:-40px;border-radius:50%}
.bandeau__ligne{position:relative;margin:0 auto;max-width:640px}
.bandeau__ligne .intitule-2{color:#fdffff}
.bandeau__ligne p{color:rgba(226,236,250,.83);font-size:18px;margin:18px 0 32px}
.bandeau__ligne .action{margin-top:0}
.section-tete{text-align:center;margin:0 auto clamp(32px,5vw,52px);max-width:680px}
.section-tete .intitule-2{margin-top:14px}
.section-tete .accroche{margin-top:16px}
.portrait{height:38px;background:var(--ui-teal);border-radius:50%;width:38px;border:2px solid var(--ui-paper);object-fit:cover}
.portrait+.portrait{margin-left:-12px}
.portrait--reste{font-size:12px;font-weight:700;place-items:center;width:38px;
  color:#fdffff;display:grid;background:var(--ui-ink);margin-left:-12px;border:2px solid var(--ui-paper);height:38px;border-radius:50%}

.realisation__intro{align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:36px;
  display:flex;flex-wrap:wrap}
.realisation__intro .intitule-2{margin-top:14px}
.realisation__pagination{display:flex;gap:10px}
.marqueur svg,.agence-adresse svg{width:16px;height:16px}
.signature{letter-spacing:-.015em;align-items:center;font-family:var(--ui-font-display);
  display:inline-flex;font-weight:500;font-size:22px;gap:12px;color:var(--ui-text)}
.signature__logo{display:inline-grid;place-items:center;background:linear-gradient(150deg,var(--ui-main-600),var(--ui-main));border-radius:13px;
  width:42px;position:relative;flex:none;box-shadow:0 8px 18px rgba(31,113,223,.26);height:42px}
.signature__logo::after{content:none}

.doc-intro{position:relative;background:var(--ui-ink);
  background-image:linear-gradient(rgba(9,29,64,.85),rgba(7,26,54,.91)),var(--hero-img,linear-gradient(120deg,var(--ui-ink-2),var(--ui-ink)));
  background-size:cover;background-position:center;color:#fdffff}
.doc-intro .cadre{padding-block:clamp(88px,9vw,110px) clamp(40px,6vw,64px)}
.doc-intro h1{letter-spacing:-.015em;font-family:var(--ui-font-display);margin:8px 0;font-size:clamp(32px,4.5vw,48px);font-weight:450;font-optical-sizing:auto}
.doc-intro .cadre>p{color:rgba(226,236,250,.85);max-width:640px;font-size:17.5px}
.doc-intro--contact .cadre{padding-bottom:clamp(48px,7vw,72px)}
.doc-intro--contact .intro__blocs{margin-top:var(--ui-sz-4)}
.intitule-2{letter-spacing:-.015em;font-family:var(--ui-font-display);font-weight:450;
  font-optical-sizing:auto;font-size:clamp(28px,4.2vw,48px);margin:0;line-height:1.08}
.sym-tuile{color:var(--ui-main-600);place-items:center;width:48px;background:var(--ui-main-50);height:48px;
  display:grid;flex:none;border-radius:14px}
.sym-tuile svg{height:23px;width:23px}
.intro__nom{font-family:var(--ui-font-display);letter-spacing:-.025em;font-weight:450;text-shadow:0 2px 30px rgba(3,12,32,.39);
  color:#fdffff;font-optical-sizing:auto;font-size:clamp(40px,6.2vw,70px);margin-top:22px;
  line-height:1.02}
.intro__accroche{color:rgba(226,236,250,.91);max-width:520px;font-size:clamp(16px,2.1vw,20px);margin-top:22px}
.intro__actions{margin-top:30px;flex-wrap:wrap;align-items:center;gap:16px;display:flex}
.visionner-ancre{font-weight:650;align-items:center;color:#fdffff;font-size:16px;display:inline-flex;gap:10px}
.visionner-ancre:hover{color:var(--ui-main)}
.visionner-ancre .visionner{display:inline-flex;background:rgba(253,255,255,.16);justify-content:center;transition:background .18s,transform .18s;
  width:46px;border-radius:50%;height:46px;align-items:center;
  border:1px solid rgba(253,255,255,.29)}
.visionner-ancre:hover .visionner{transform:scale(1.06);background:rgba(253,255,255,.22)}
.visionner-ancre .visionner::after{height:0;content:"";width:0;border-left:10px solid #fdffff;
  border-top:7px solid transparent;margin-left:3px;border-bottom:7px solid transparent}
.famille{margin-top:-3px;font-size:13px;color:var(--ui-text-2)}
.astres .astre{opacity:.28}.astres .astre.plein{opacity:1}
.tiroir-mobile{flex-direction:column;transform:translateX(100%);z-index:1100;display:flex;top:0;transition:transform .3s cubic-bezier(.4,0,.2,1),visibility .3s;
  position:fixed;visibility:hidden;width:min(320px,86vw);
  background:var(--ui-paper);box-shadow:var(--ui-shadow-lg);
  height:100%;
  padding:84px 22px 22px;overflow-y:auto;right:0}
.tiroir-mobile.ouvert{transform:translateX(0);visibility:visible}
.tiroir-mobile nav{flex-direction:column;display:flex}
.tiroir-mobile a:not(.action){color:var(--ui-text);border-bottom:1px solid var(--ui-line);font-weight:600;padding:15px 2px;font-size:16px}
.tiroir-mobile a:not(.action):hover{color:var(--ui-main-600)}
.tiroir-mobile a.action{margin-top:var(--ui-sz-6);justify-content:center}
.portraits{display:flex}

.texte{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:clamp(32px,5vw,60px)}
.texte__ligne .intitule-2{margin-top:16px}
.texte__ligne>p{color:var(--ui-text-2);font-size:17px;margin:18px 0 0}
.texte__soustitre{margin-top:16px}
.zone-texte{font-size:15.5px;font-family:inherit;border:1px solid var(--ui-line-2);padding:14px 15px;
  width:100%;border-radius:14px;background:var(--ui-paper);color:var(--ui-text)}
.zone-texte:focus{border-color:var(--ui-main-600);box-shadow:0 0 0 3px rgba(31,113,223,.2);outline:none}

.menu-bouton{flex-direction:column;top:16px;gap:5px;z-index:1105;right:18px;cursor:pointer;background:none;display:none;padding:6px;border:none;position:fixed}
.menu-bouton span{display:block;height:3px;background:var(--ui-text);border-radius:2px;transition:transform .3s ease,opacity .3s ease;width:26px}
.menu-bouton.ouvert span:nth-child(1){transform:rotate(45deg) translate(7px,7px)}
.menu-bouton.ouvert span:nth-child(2){opacity:0}
.menu-bouton.ouvert span:nth-child(3){transform:rotate(-45deg) translate(7px,-7px)}
.intro__atouts{grid-template-columns:1fr 1fr;list-style:none;margin-top:38px;max-width:520px;padding:0;
  display:grid;gap:12px}
.coche-serie{padding:0;gap:10px;margin:0;list-style:none;display:grid}
.coche-serie li{align-items:center;gap:10px;font-size:14.5px;display:flex;color:var(--ui-text-2)}
.coche-serie li::before{content:"\2713";font-weight:800;flex:none;color:var(--ui-main-600);font-size:13px}
.barre-ancre{transition:background .18s,color .18s;font-weight:550;font-size:15.5px;border-radius:var(--ui-radius-pill);padding:10px 15px;color:var(--ui-text)}
.barre-ancre:hover{color:var(--ui-main-600);background:var(--ui-main-50)}
.pagination-action{background:var(--ui-paper);cursor:pointer;font-size:20px;border-radius:50%;box-shadow:var(--ui-shadow-sm);
  place-items:center;border:1px solid var(--ui-line);height:52px;width:52px;color:var(--ui-text);display:grid}
.pagination-action:hover{border-color:var(--ui-ink);color:#fdffff;background:var(--ui-ink)}
.pagination-action svg{width:20px;height:20px}
.note{gap:6px;display:flex;align-items:center}
.corps-barre{gap:4px;align-items:center;display:flex;margin-left:auto}
.nombre-rang{font-family:var(--ui-font-display);font-weight:450;font-optical-sizing:auto;
  line-height:1;letter-spacing:-.02em;color:var(--ui-ink);font-size:clamp(36px,5vw,56px)}
.nombre-ligne{margin-top:10px;color:var(--ui-text-2);font-size:15px}

.intro{position:relative;background:var(--ui-ink);
  color:#fdffff;
  background-image:linear-gradient(100deg,rgba(7,26,54,.95),rgba(9,29,64,.83) 42%,rgba(14,43,78,.51) 100%),var(--hero-img,linear-gradient(120deg,#143b64,#0b1f3b));background-size:cover;background-position:center}
.intro__coeur{padding-block:clamp(88px,11vw,120px) clamp(120px,16vw,190px)}
.intro__blocs{grid-template-columns:1.1fr .9fr;display:grid;gap:48px;align-items:center}
.intro__ligne{max-width:640px}
.intro .mention,.vignette-etiquette{font-weight:650;padding:8px 15px;background:rgba(253,255,255,.1);align-items:center;
  border-radius:var(--ui-radius-pill);text-transform:uppercase;font-size:12.5px;
  gap:8px;border:1px solid rgba(253,255,255,.27);box-shadow:none;display:inline-flex;color:#fdffff;letter-spacing:.06em;backdrop-filter:blur(6px)}

.action{align-items:center;font-weight:650;gap:10px;border-radius:var(--ui-radius-pill);
  justify-content:center;padding:15px 26px;white-space:nowrap;
  border:1px solid transparent;min-height:54px;cursor:pointer;transition:background .18s,color .18s,transform .18s,box-shadow .18s;
  display:inline-flex;font-size:15.5px}
.action svg{width:18px;height:18px}
.action:hover{transform:translateY(-2px)}
.action--mini{min-height:0;font-size:14px;padding:10px 18px}
.action--grand{font-size:16.5px;padding:18px 32px;min-height:60px}
.action--etire{width:100%}
.action--principal{color:#fdffff;background:var(--ui-ink);box-shadow:0 10px 24px rgba(14,43,78,.22)}
.action--principal:hover{background:var(--ui-ink-2);color:#fdffff;box-shadow:0 16px 32px rgba(14,43,78,.26)}
.action--relief{background:var(--ui-main-600);box-shadow:0 10px 24px rgba(31,113,223,.28);color:#fdffff}
.action--relief:hover{background:#165dc4;color:#fdffff}
.action--secondaire{background:var(--ui-paper);color:var(--ui-text);border-color:var(--ui-line)}
.action--secondaire:hover{background:var(--ui-teal)}
.action--negatif{color:#fdffff;background:var(--ui-ink)}
.action--negatif:hover{background:var(--ui-ink-2)}
.action--clair{color:var(--ui-ink);background:var(--ui-paper)}
.action--clair:hover{background:var(--ui-teal)}
.note{flex-wrap:wrap;align-items:center;gap:8px;display:flex}
.note .rang{font-weight:700;font-size:14px}
.note .compte{font-size:13px;color:var(--ui-muted)}

.expertises-blocs{gap:22px;display:grid;grid-template-columns:repeat(3,1fr)}
.zone{padding-block:clamp(52px,7.5vw,100px)}
.zone--autre{background:var(--ui-paper)}
.vignette{align-items:center;border-radius:var(--ui-radius-pill);font-weight:700;display:inline-flex;gap:6px;
  padding:5px 11px;font-size:12px;flex:none;border:1px solid transparent}
.vignette .rond{font-size:10px;line-height:1}
.vignette--visible{border-color:var(--ui-valid-border);background:var(--ui-valid-fill);color:var(--ui-valid)}
.vignette--cache{color:var(--ui-red);border-color:var(--ui-red-border);background:var(--ui-red-fill)}
.vignette-etiquette::before{height:9px;width:9px;background:var(--ui-main);content:"";border-radius:50%}
.corps-barre .action{margin-left:8px}
.plan-boite{aspect-ratio:4/3;background:var(--ui-teal);position:relative;overflow:hidden;
  border-radius:var(--ui-radius-xl);box-shadow:var(--ui-shadow-md);border:1px solid var(--ui-line)}
.plan-boite iframe{position:absolute;display:block;width:100%;border:0;inset:0;height:100%}
.plan-boite.charge .plan-cadre-vide{display:none}
.plan-differe{cursor:pointer}
.plan-cadre-vide{font-weight:700;height:100%;border:0;gap:14px;cursor:pointer;text-align:center;
  align-items:center;width:100%;color:var(--ui-text);font-size:17px;padding:24px;flex-direction:column;
  background:linear-gradient(135deg,#e4eefd,#daeaf6);justify-content:center;display:flex;position:absolute;inset:0}
.plan-marqueur{display:grid;box-shadow:var(--ui-shadow-md);height:56px;transform:rotate(-45deg);background:var(--ui-ink);width:56px;
  border-radius:50% 50% 50% 4px;place-items:center}
.plan-marqueur::after{width:16px;content:"";border-radius:50%;background:var(--ui-main);height:16px}
.plan-cadre-vide p{color:var(--ui-text-2);margin:0;font-size:14px;font-weight:500;max-width:260px}

.cadre{max-width:var(--ui-wrap);padding-inline:var(--ui-edge-x);margin:0 auto}

.agences-blocs{grid-template-columns:repeat(2,1fr);display:grid;gap:18px}
.opinion-note{display:flex;border-left:1px solid var(--ui-line);align-items:center;padding-left:26px;gap:14px}
.opinion-detail{font-size:13px;color:var(--ui-text-2)}
.opinion-detail strong{font-family:var(--ui-font-display);font-weight:500;font-size:16px;color:var(--ui-text)}
.opinion-ancre{color:var(--ui-text-2)}
.relief{font-family:var(--ui-display-serif);font-style:italic;color:var(--ui-main-600);font-weight:400}
@media(min-width:1024px){.info{grid-template-columns:1.05fr .95fr;gap:32px;align-items:start}}
.repere{padding:15px 16px;align-items:center;gap:12px;background:var(--ui-paper);border:1px solid var(--ui-line);
  display:flex;border-radius:var(--ui-radius-md)}
.repere-sym{border-radius:12px;place-items:center;height:42px;flex:none;background:var(--ui-main-50);display:grid;width:42px;color:var(--ui-main-600)}
.repere-sym svg{height:20px;width:20px}
.repere-ligne dt{color:var(--ui-muted);margin-bottom:3px;font-size:12.5px}
.repere-ligne dd{line-height:1.15;font-weight:700;font-size:16px;margin:0}
.heures{display:grid;gap:5px;padding-left:28px;font-size:14px;color:var(--ui-text-2)}

.web-bas-page .action--principal{color:var(--ui-ink);background:var(--ui-main)}
.web-bas-page .action--principal:hover{background:#a7dfee;color:var(--ui-ink)}
.mairie-entree{align-items:flex-start;gap:10px;font-size:15px;margin:0;color:var(--ui-text-2);display:flex}
.mairie-entree a{font-weight:600;color:var(--ui-main-600)}
.mairie-entree .marqueur{color:var(--ui-muted);flex:none;margin-top:1px}
.mairie-entree svg{width:18px;height:18px}
.info-mairie{gap:12px;border:1px solid var(--ui-line);border-radius:var(--ui-radius-lg);
  align-content:start;padding:24px;display:grid;background:var(--ui-paper)}
.info-mairie h3{font-size:18px;margin:0 0 2px}

.coin-bandeau{position:fixed;background:var(--ui-paper);box-shadow:var(--ui-shadow-lg);border:1px solid var(--ui-line);right:20px;
  border-radius:var(--ui-radius-lg);z-index:90;padding:22px 24px;
  transition:transform .3s,opacity .3s;bottom:20px;width:min(330px,calc(100vw - 40px))}
.coin-bandeau[hidden]{display:none}
.coin-bandeau::after{inset:0;animation:floatPulse 2.4s infinite;content:"";pointer-events:none;border-radius:inherit;position:absolute}
.coin-fermer{border:0;line-height:1;top:10px;right:12px;background:none;font-size:20px;
  cursor:pointer;position:absolute;color:var(--ui-muted)}
.coin-nom{font-weight:700;margin:0 26px 6px 0;font-size:16.5px;font-family:var(--ui-font-display);font-weight:500}
.coin-ligne{font-size:14px;margin:0 0 14px;color:var(--ui-text-2)}
.coin-declencheur{position:fixed;align-items:center;background:var(--ui-ink);border-radius:50% 50% 50% 8px;cursor:pointer;
  right:20px;height:62px;
  justify-content:center;display:none;animation:floatPulse 2.4s infinite;width:62px;color:var(--ui-main);border:0;z-index:89;
  box-shadow:var(--ui-shadow-lg);bottom:20px}
.coin-declencheur svg{width:27px;height:27px;display:block}
.coin-declencheur:hover{transform:scale(1.05);animation-play-state:paused}
.creneau{gap:16px;max-width:320px;display:flex;justify-content:space-between}
.creneau strong{color:var(--ui-text);font-weight:600}
.info-reperes{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin:0;gap:14px;display:grid}

.web-bas-page{background:var(--ui-ink);padding-block:clamp(52px,6vw,76px) 28px;color:rgba(226,236,250,.74)}
.bas-page-blocs{display:grid;gap:34px;grid-template-columns:1.5fr 1fr 1fr 1.1fr}
.bas-page-signature{gap:12px;align-items:center;display:inline-flex;color:#fdffff;
  font-family:var(--ui-font-display);font-weight:500;font-size:21px}
.bas-page-signature .signature__logo{background:linear-gradient(150deg,var(--ui-main),var(--ui-main-600))}
.bas-page-signature .signature__logo::after{background:var(--ui-ink)}
.bas-page-col>p{margin:14px 0 0;color:rgba(226,236,250,.7);font-size:14.5px}
.bas-page-nom{color:#fdffff;text-transform:uppercase;margin-bottom:16px;font-weight:700;font-size:13px;font-family:var(--ui-font);letter-spacing:.1em}
.bas-page-nav{gap:11px;list-style:none;display:grid;margin:0;padding:0}
.bas-page-nav a{color:rgba(226,236,250,.8);font-size:14.5px}
.bas-page-nav a:hover{color:var(--ui-main)}
.bas-page-col .action{margin-top:14px}
.droits{text-align:center;padding-top:22px;font-size:13px;
  color:rgba(226,236,250,.68);border-top:1px solid rgba(253,255,255,.16);margin-top:38px}

.autour{flex-direction:column;display:flex;gap:32px}
.autour-ensemble h2{margin-bottom:14px;font-size:21px}
.autour-nav{gap:8px 18px;flex-wrap:wrap;display:flex}
.autour-nav a{text-decoration:underline}
@keyframes floatPulse{0%,100%{box-shadow:0 0 0 0 rgba(31,113,223,.43)}50%{box-shadow:0 0 0 12px rgba(31,113,223,.01)}}

.corps--texte{flex-direction:column;display:flex}
.corps--texte .texte-zone{order:1}
.corps--texte .texte-sujets{order:2}

.texte-sujets{width:100%;margin:0 auto;max-width:820px}
.texte-sujets h2,.texte-sujets .intitule-2{text-align:center;margin:0 0 26px}

.texte-zone h1{font-family:var(--ui-font-display);font-weight:450;font-size:clamp(29px,4vw,42px);letter-spacing:-.015em;margin-bottom:16px}
.texte-zone h2{font-family:var(--ui-font-display);font-weight:450;margin:32px 0 12px;font-size:clamp(21px,2.6vw,27px);letter-spacing:-.015em}
.texte-zone p,.texte-zone li{color:var(--ui-text-2)}
.texte-zone ul{padding-left:20px}
.texte-zone .listing-cadre{margin:18px 0;overflow-x:auto}
.texte-zone table{font-size:15px;border-collapse:collapse;width:100%}
.texte-zone th,.texte-zone td{padding:12px 14px;text-align:left;border:1px solid var(--ui-line)}
.texte-zone thead th{font-weight:700;background:var(--ui-teal)}

.riche{margin:0 auto;max-width:760px}
.riche h2{font-family:var(--ui-font-display);margin:34px 0 12px;font-weight:450;font-size:clamp(23px,3vw,31px);letter-spacing:-.015em}
.riche p{margin:14px 0;color:var(--ui-text-2)}
.riche ul{padding-left:20px;color:var(--ui-text-2)}
.riche a:not(.action){color:var(--ui-main-600);text-decoration:underline}

.trouver-contact{max-width:520px;gap:12px;flex-wrap:wrap;display:flex}
.trouver-contact .zone-texte{flex:1;min-width:200px}
.trouver-compte{color:var(--ui-text-2);margin:20px 0}
.listing-detail{font-size:13px;font-style:italic;color:var(--ui-muted)}
.contact{max-width:620px;gap:16px;display:grid}
.contact-entree{display:grid;gap:6px}
.contact-entree label{font-weight:600;font-size:14px}
.contact-entree textarea.zone-texte{min-height:150px;resize:vertical}
.contact-detail{border-radius:var(--ui-radius-md);padding:14px 16px;font-size:14px}
.contact-detail--plein{border:1px solid var(--ui-valid-border);background:var(--ui-valid-fill);color:var(--ui-valid)}
.contact-detail--cache{border:1px solid var(--ui-red-border);color:var(--ui-red);background:var(--ui-red-fill)}
.sujets-entree{margin-bottom:12px;border:1px solid var(--ui-line);background:var(--ui-paper);overflow:hidden;border-radius:var(--ui-radius-md)}
.sujets-entree summary{justify-content:space-between;list-style:none;font-weight:650;cursor:pointer;
  display:flex;gap:16px;font-size:16.5px;align-items:center;padding:20px 24px}
.sujets-entree summary::-webkit-details-marker{display:none}
.sujets-entree summary::after{font-size:24px;color:var(--ui-main-600);content:"+";font-weight:400}
.sujets-entree[open] summary::after{content:"\2013"}
.sujets-reponse{overflow:hidden;transition:height .36s cubic-bezier(.4,0,.2,1)}
.sujets-reponse-coeur{color:var(--ui-text-2);padding:0 24px 20px}

@media(max-width:1023px){
  .expertises-blocs,.agences-blocs,.pas-blocs,.nombres-blocs{grid-template-columns:repeat(2,1fr)}
  .bas-page-blocs{grid-template-columns:1fr 1fr}
  .pas-boite:not(:last-child)::after{display:none}
}
@media(max-width:860px){
  .corps-barre{display:none}
  .menu-bouton{display:flex}
  .intro__blocs{grid-template-columns:1fr;gap:32px}
  .intro__blocs>div:last-child{order:-1}
  .texte{grid-template-columns:1fr}
  .opinion-ligne{grid-template-columns:1fr 1fr}
  .opinion-note{grid-column:1/-1;padding-left:0;border-left:0;border-top:1px solid var(--ui-line);padding-top:18px}
}
@media(max-width:520px){
  .expertises-blocs,.agences-blocs,.pas-blocs,.opinion-ligne{grid-template-columns:1fr}
  .nombres-blocs{grid-template-columns:1fr 1fr}
  .bas-page-blocs{grid-template-columns:1fr}
  .intro__atouts{grid-template-columns:1fr}
  .opinion-note{justify-content:flex-start}
}
@media(prefers-reduced-motion:reduce){
  *{animation-duration:.001ms!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
}

.retour-surcouche{position:fixed;align-items:center;padding:20px;z-index:1200;display:none;background:rgba(12,20,40,.55);justify-content:center;inset:0;backdrop-filter:blur(3px)}
.retour-surcouche.charge{display:flex}
.retour-surcouche__boite{max-width:860px;width:100%;overflow:hidden;position:relative;color:var(--ui-text);background:var(--ui-paper);grid-template-columns:.8fr 1fr;border-radius:var(--ui-radius-2xl);display:grid;box-shadow:var(--ui-shadow-lg)}
.retour-surcouche__tiroir{display:flex;flex-direction:column;overflow:hidden;color:#fdffff;position:relative;background:linear-gradient(160deg,var(--ui-ink),var(--ui-ink-2));justify-content:center;padding:clamp(28px,4vw,44px)}
.retour-surcouche__tiroir::after{position:absolute;content:"";right:-28%;bottom:-28%;border-radius:50%;border:20px solid rgba(253,255,255,.07);width:86%;height:86%}
.retour-surcouche__rang{font-family:var(--ui-font-display);color:var(--ui-main);position:relative;line-height:.85;font-weight:700;font-size:clamp(64px,9vw,104px)}
.retour-surcouche__tiroir p{margin-top:12px;font-size:17px;position:relative;font-weight:600;max-width:190px}
.retour-surcouche__corps{padding:clamp(28px,4vw,48px);position:relative}
.retour-surcouche__corps .mention{margin-bottom:14px}
.retour-surcouche__corps .intitule-2{font-size:clamp(25px,3.2vw,37px)}
.retour-surcouche__corps .accroche{margin-top:12px}
.retour-surcouche__corps .coche-serie{gap:12px;margin-top:20px}
.retour-surcouche__corps .coche-serie li{font-size:15px}
.retour-surcouche__corps .action{margin-top:24px}
.retour-surcouche__fermer{border-radius:50%;line-height:1;background:var(--ui-paper);color:var(--ui-muted);font-size:20px;top:16px;place-items:center;display:grid;height:42px;position:absolute;right:16px;cursor:pointer;border:1px solid var(--ui-line);width:42px}
.retour-surcouche__rejeter{margin:14px auto 0;color:var(--ui-muted);background:none;display:block;text-decoration:underline;font-size:13.5px;border:0;cursor:pointer}
@media(max-width:640px){.retour-surcouche{display:none!important}}

.bandeau__encart{position:relative;overflow:hidden}.bandeau__encart::before{position:absolute;opacity:.6;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='32'%3E%3Cg fill='none' stroke='%23ffffff' stroke-opacity='0.10' stroke-width='2'%3E%3Cpath d='M0 22 Q 20 8 40 22 T 80 22 T 120 22 T 160 22'/%3E%3Cpath d='M0 10 Q 20 -4 40 10 T 80 10 T 120 10 T 160 10' stroke-opacity='0.05'/%3E%3C/g%3E%3C/svg%3E") repeat;content:"";pointer-events:none;inset:0;z-index:0}.bandeau__encart>.bandeau__ligne{z-index:1;position:relative}
.estimate-overlay{background:#fffffe;border-radius:20px;width:100%;max-width:520px;margin:0 auto;box-shadow:0 24px 60px rgba(15,29,50,.10),0 2px 6px rgba(15,29,50,.05);padding:30px 30px 26px}
.estimate-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}
.estimate-logo{display:flex;align-items:center;gap:10px}
.estimate-logo b{font-size:15px;font-weight:600;color:#101c33}
.estimate-mark{width:38px;height:38px;border-radius:11px;background:linear-gradient(135deg,#7fd0e8,#1d71e2);flex:none;display:grid;place-items:center;color:#101c33;font-weight:800;font-size:16px;line-height:1}
.estimate-status{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:#1d71e2;background:rgba(128,207,234,.14);padding:6px 11px;border-radius:999px;white-space:nowrap}
.parts-rail{height:5px;border-radius:999px;background:#eff0f6;margin:0 0 18px;overflow:hidden}
.part-full{display:block;height:100%;width:22%;background:#7fd0e8;border-radius:999px}
.estimate-title{font-size:21px;font-weight:700;letter-spacing:-.02em;margin:4px 0 4px;line-height:1.2;color:#101c33}
.head-subtitle{margin:0 0 18px;color:#717eb0;font-size:14px;line-height:1.5}
.estimate-layout{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.estimate-unit{margin-bottom:13px}
.contact-title{display:block;font-size:13px;font-weight:500;color:#374151;margin-bottom:6px}
.contact-nav{width:100%;height:48px;border:1.6px solid #e5e7f3;border-radius:12px;padding:0 14px;font:inherit;font-size:15px;color:#101c33;background:#fff;outline:none;transition:border-color .15s,box-shadow .15s}
.contact-nav::placeholder{color:#b3c0da}
.contact-nav:focus{border-color:#7fd0e8;box-shadow:0 0 0 4px rgba(128,207,234,.14)}
.estimate-unit--closed .contact-nav{border-color:#e74a4e;box-shadow:0 0 0 3px rgba(229,71,77,.13)}
.estimate-subtitle{display:block;margin-top:5px;font-size:12px;font-weight:600;color:#e74a4e}
.estimate-subtitle[hidden]{display:none}
.estimate-group{display:flex;gap:10px;flex-wrap:wrap}
.estimate-group label{flex:1;min-width:120px;margin:0;cursor:pointer;display:flex}
.estimate-group input{position:absolute;opacity:0;width:0;height:0}
.pill{flex:1;min-height:48px;border:1.6px solid #daddeb;border-radius:12px;background:#fff;color:#717eb0;font:inherit;font-size:14px;font-weight:600;display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 12px;text-align:center;transition:.15s}
.estimate-group label:hover .pill{border-color:#bac3e5}
.estimate-group input:checked+.pill{border-color:#7fd0e8;background:rgba(128,207,234,.14);color:#1d71e2}
.estimate-call{width:100%;height:52px;border:0;border-radius:12px;background:#7fd0e8;color:#101c33;font:inherit;font-size:16px;font-weight:600;cursor:pointer;margin-top:6px;display:flex;align-items:center;justify-content:center;gap:9px;box-shadow:0 8px 20px rgba(128,207,234,.14);transition:.15s}
.estimate-call:hover{filter:brightness(.92)}
.estimate-mention{margin:14px 0 0;font-size:11px;line-height:1.5;color:#98a2bd;text-align:center}
.estimate-full{text-align:center;padding:22px 6px 14px}
.done-sym{width:60px;height:60px;margin:4px auto 16px;border-radius:50%;background:#20a06c;color:#fff;display:grid;place-items:center;font-size:31px;font-weight:800;line-height:1;box-shadow:0 10px 26px rgba(35,162,106,.30)}
.estimate-ttl{margin:0 0 7px;font-size:20px;font-weight:800;color:#101c33}
.estimate-txt{margin:0 auto;max-width:340px;color:#717eb0;font-size:14.5px;line-height:1.55}
@media (max-width:400px){.estimate-layout{grid-template-columns:1fr}}
