/* ============================================================================
   Police auto-hebergee : Mochira (sans stylise) - corps + accent italique.
   Fichiers dans assets/fonts/. Remplace Qualux + CS Morsa.
   ========================================================================== */
@font-face{font-family:"Mochira";src:url("assets/fonts/Mochira-Light.otf") format("opentype");font-weight:300;font-style:normal;font-display:swap;}
@font-face{font-family:"Mochira";src:url("assets/fonts/Mochira-LightItalic.otf") format("opentype");font-weight:300;font-style:italic;font-display:swap;}
@font-face{font-family:"Mochira";src:url("assets/fonts/Mochira-Regular.otf") format("opentype");font-weight:400 500;font-style:normal;font-display:swap;}
@font-face{font-family:"Mochira";src:url("assets/fonts/Mochira-RegularItalic.otf") format("opentype");font-weight:400 600;font-style:italic;font-display:swap;}
@font-face{font-family:"Mochira";src:url("assets/fonts/Mochira-Medium.otf") format("opentype");font-weight:600;font-style:normal;font-display:swap;}
@font-face{font-family:"Mochira";src:url("assets/fonts/Mochira-Bold.otf") format("opentype");font-weight:700;font-style:normal;font-display:swap;}
@font-face{font-family:"Mochira";src:url("assets/fonts/Mochira-BoldItalic.otf") format("opentype");font-weight:700 900;font-style:italic;font-display:swap;}
@font-face{font-family:"Mochira";src:url("assets/fonts/Mochira-Black.otf") format("opentype");font-weight:800 900;font-style:normal;font-display:swap;}

/* Police auto-hebergee : Grift (sans) - corps de texte + UI. Fichiers dans assets/fonts/. */
@font-face{font-family:"Grift";src:url("assets/fonts/Grift-Regular.otf") format("opentype");font-weight:400;font-style:normal;font-display:swap;}
@font-face{font-family:"Grift";src:url("assets/fonts/Grift-Italic.otf") format("opentype");font-weight:400;font-style:italic;font-display:swap;}
@font-face{font-family:"Grift";src:url("assets/fonts/Grift-Medium.otf") format("opentype");font-weight:500;font-style:normal;font-display:swap;}
@font-face{font-family:"Grift";src:url("assets/fonts/Grift-MediumItalic.otf") format("opentype");font-weight:500;font-style:italic;font-display:swap;}
@font-face{font-family:"Grift";src:url("assets/fonts/Grift-SemiBold.otf") format("opentype");font-weight:600;font-style:normal;font-display:swap;}
@font-face{font-family:"Grift";src:url("assets/fonts/Grift-Bold.otf") format("opentype");font-weight:700;font-style:normal;font-display:swap;}
@font-face{font-family:"Grift";src:url("assets/fonts/Grift-ExtraBold.otf") format("opentype");font-weight:800;font-style:normal;font-display:swap;}

/* Police de titres + accent : Rogifta (serif display) ; Blinka conservee en fallback. */
@font-face{font-family:"Blinka";src:url("assets/fonts/BlinkaSerif.otf") format("opentype");font-weight:400;font-style:normal;font-display:swap;}
@font-face{font-family:"Rogifta";src:url("assets/fonts/Rogifta.otf") format("opentype");font-weight:400;font-style:normal;font-display:swap;}
/* Police de titres : Mowina Regular ; accents .serif : Mowina Italic. Rogifta/Blinka en fallback. */
@font-face{font-family:"Mowina";src:url("assets/fonts/Mowina-Regular.otf") format("opentype");font-weight:400;font-style:normal;font-display:swap;}
@font-face{font-family:"Mowina";src:url("assets/fonts/Mowina-Italic.otf") format("opentype");font-weight:400;font-style:italic;font-display:swap;}

/* ============================================================================
   LE QUINTREC LE PALLEC - Home (Design Convertex / Webflow Client-First)
   Palette verrouillee (logo girafe): Orange #ED9301, Noir #171714, Creme #FAF6EE
   Fonts: Grift (sans), Vonizena (serif italic accent) - referenced by name
   Convention: flat selectors, concrete values, rem, no CSS variables.
   ========================================================================== */

/* ---- Reset / base ---- */
*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}
body{
  margin:0;
  font-family:"Grift","Schibsted Grotesk",system-ui,-apple-system,sans-serif;
  font-size:1.0625rem;
  line-height:1.65;
  color:#1a1a1a;
  background-color:#faf6ee;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
ul{margin:0;padding:0;list-style:none;}
button{font-family:inherit;cursor:pointer;border:none;background:none;}
::selection{background-color:#fdf1da;color:#171714;}
:focus-visible{outline:2px solid #ed9301;outline-offset:3px;}

/* ============================================================
   1. CORE STRUCTURE (Client-First)
   ============================================================ */
.page-wrapper{position:relative;width:100%;overflow:clip;}
.main-wrapper{display:block;}
.padding-global{padding-left:2.5rem;padding-right:2.5rem;}
.container-large{max-width:80rem;margin-left:auto;margin-right:auto;width:100%;}
.container-medium{max-width:64rem;margin-left:auto;margin-right:auto;width:100%;}
.container-small{max-width:48rem;margin-left:auto;margin-right:auto;width:100%;}
.padding-section-large{padding-top:8rem;padding-bottom:8rem;}
.padding-section-medium{padding-top:5rem;padding-bottom:5rem;}
.padding-section-small{padding-top:3rem;padding-bottom:3rem;}

/* ============================================================
   2. TYPOGRAPHY
   ============================================================ */
h1,h2,h3,h4,h5{
  font-family:"Mowina","Rogifta","Schibsted Grotesk",serif;
  font-weight:400;margin:0;letter-spacing:-0.01em;line-height:1.08;color:#171714;
}
h1{font-size:clamp(2.25rem,4.6vw,4rem);letter-spacing:-0.03em;}
h2{font-size:clamp(1.75rem,3.1vw,2.625rem);letter-spacing:-0.025em;}
h3{font-size:clamp(1.4rem,2.2vw,2rem);}
h4{font-size:1.3rem;}
p{margin:0;}

.serif{font-family:"Mowina","Rogifta","Schibsted Grotesk",serif;font-style:italic;font-weight:400;letter-spacing:0;}
.text-color-accent{color:#985c00;}
.text-color-secondary{color:#5e5848;}
.text-color-alternate{color:#f1eee5;}
.text-size-large{font-size:clamp(1.0625rem,1.4vw,1.25rem);line-height:1.6;}
.text-size-medium{font-size:1.125rem;line-height:1.6;}
.text-size-small{font-size:0.875rem;}
.text-size-tiny{font-size:0.75rem;}
.text-weight-semibold{font-weight:600;}
.text-weight-bold{font-weight:700;}
.text-align-center{text-align:center;}
.text-style-allcaps{text-transform:uppercase;letter-spacing:0.16em;}

.eyebrow{
  display:inline-flex;align-items:center;gap:0.625rem;
  font-size:0.75rem;font-weight:700;letter-spacing:0.18em;text-transform:uppercase;color:#985c00;
}
.eyebrow_dot{width:0.5rem;height:0.5rem;background-color:#ed9301;border-radius:50%;flex:0 0 auto;}
.eyebrow.is-ondark{color:#ed9301;}
.eyebrow.is-center{justify-content:center;}

.section_label{font-size:0.75rem;font-weight:700;letter-spacing:0.16em;text-transform:uppercase;color:#5e5848;}

/* ============================================================
   3. BUTTONS
   ============================================================ */
.button{
  position:relative;display:inline-flex;align-items:center;justify-content:center;gap:0;
  padding:0.82rem 1.4rem;border-radius:3px;border:1.5px solid transparent;
  font-size:0.9rem;font-weight:600;letter-spacing:0.01em;text-transform:none;line-height:1;
  background-color:#ed9301;color:#ffffff;
  transition:transform 0.35s cubic-bezier(.32,.72,0,1),background-color 0.35s cubic-bezier(.32,.72,0,1),box-shadow 0.35s cubic-bezier(.32,.72,0,1),color 0.35s cubic-bezier(.32,.72,0,1),border-color 0.35s cubic-bezier(.32,.72,0,1);
}
.button .w-embed{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;margin-left:0.9rem;padding-left:0.9rem;border-left:1px solid rgba(255,255,255,.32);}
.button_icon,.button .w-embed svg{width:0.95rem;height:0.95rem;flex:0 0 auto;transition:transform 0.4s cubic-bezier(.32,.72,0,1);}
.button:hover{transform:translateY(-2px);background-color:#c97500;box-shadow:0 12px 26px rgba(237,147,1,.30);}
.button:hover .button_icon,.button:hover .w-embed svg{transform:translateX(3px);}
.button.is-glass{background-color:rgba(255,255,255,.1);-webkit-backdrop-filter:blur(12px) saturate(120%);backdrop-filter:blur(12px) saturate(120%);border-color:rgba(255,255,255,.35);color:#ffffff;}
.button.is-glass .w-embed{border-left-color:rgba(255,255,255,.35);}
.button.is-glass:hover{background-color:rgba(255,255,255,.2);border-color:rgba(255,255,255,.55);box-shadow:0 14px 32px rgba(0,0,0,.28);}
.button.is-dark{background-color:#171714;color:#faf6ee;}
.button.is-dark:hover{background-color:#000000;box-shadow:0 14px 30px rgba(23,23,20,.34);}
.button.is-ghost{background-color:transparent;border-color:rgba(23,23,20,.3);color:#171714;}
.button.is-ghost .w-embed{border-left-color:rgba(23,23,20,.2);}
.button.is-ghost:hover{background-color:#171714;color:#faf6ee;border-color:#171714;box-shadow:none;}
.button.is-ghost:hover .w-embed{border-left-color:rgba(250,246,238,.3);}
.button.is-ondark{background-color:transparent;border-color:rgba(241,238,229,.45);color:#faf6ee;}
.button.is-ondark .w-embed{border-left-color:rgba(241,238,229,.3);}
.button.is-ondark:hover{background-color:#faf6ee;color:#171714;border-color:#faf6ee;box-shadow:none;}
.button.is-large{padding:0.95rem 1.65rem;font-size:0.95rem;}
.button.is-large .button_icon,.button.is-large .w-embed svg{width:1rem;height:1rem;}

.link-arrow{
  display:inline-flex;align-items:center;gap:0.5rem;
  font-size:0.8125rem;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;color:#985c00;
}
.link-arrow_icon{width:0.9375rem;height:0.9375rem;transition:transform 0.3s cubic-bezier(.32,.72,0,1);}
.link-arrow:hover .link-arrow_icon{transform:translateX(4px);}

/* ============================================================
   4. LAYOUT UTILITIES
   ============================================================ */
.background-color-dark{background-color:#171714;color:#f1eee5;}
.background-color-cream{background-color:#faf6ee;}
.background-color-warm{background-color:#f1eadb;}
.overflow-hidden{overflow:hidden;}
.z-index-2{position:relative;z-index:2;}

/* ============================================================
   5. NAVBAR (custom, Client-First)
   ============================================================ */
.navbar{position:fixed;top:0;left:0;right:0;z-index:900;background-color:rgba(250,246,238,.82);backdrop-filter:saturate(140%) blur(12px);box-shadow:inset 0 -1px 0 rgba(23,23,20,.08);transition:padding 0.4s cubic-bezier(.32,.72,0,1),box-shadow 0.4s cubic-bezier(.32,.72,0,1),background-color 0.4s cubic-bezier(.32,.72,0,1);}
.navbar.is-scrolled{box-shadow:0 8px 30px rgba(23,23,20,.10);background-color:rgba(250,246,238,.95);}
.navbar_container{max-width:80rem;margin:0 auto;padding:0.875rem 2.5rem;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;transition:padding 0.4s cubic-bezier(.32,.72,0,1);}
.navbar.is-scrolled .navbar_container{padding-top:0.5rem;padding-bottom:0.5rem;}
.navbar_logo{height:4.25rem;width:auto;transition:height 0.4s cubic-bezier(.32,.72,0,1);}
.navbar.is-scrolled .navbar_logo{height:3.4rem;}
.navbar_menu{display:flex;align-items:center;gap:2rem;}
.navbar_link{position:relative;font-size:0.75rem;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;color:#171714;padding:0.375rem 0;transition:color 0.25s ease;}
.navbar_link-underline{position:absolute;left:0;bottom:0;height:1.5px;width:0;background-color:#ed9301;transition:width 0.3s cubic-bezier(.32,.72,0,1);}
.navbar_link:hover{color:#985c00;}
.navbar_link:hover .navbar_link-underline{width:100%;}
/* ---- Mega-menu Services ---- */
.navbar_item{position:relative;}
.navbar_link-mega{display:inline-flex;align-items:center;gap:0.35rem;}
.navbar_chevron{width:0.7rem;height:0.7rem;color:currentColor;transition:transform 0.3s cubic-bezier(.32,.72,0,1);}
.navbar_item.has-mega:hover .navbar_chevron,.navbar_item.has-mega:focus-within .navbar_chevron{transform:rotate(180deg);}
.mega{position:absolute;top:100%;left:-1.25rem;padding-top:0.9rem;width:min(46rem,calc(100vw - 3rem));opacity:0;visibility:hidden;transform:translateY(0.6rem);pointer-events:none;transition:opacity 0.28s ease,transform 0.28s cubic-bezier(.32,.72,0,1),visibility 0.28s;z-index:950;}
.navbar_item.has-mega:hover .mega,.navbar_item.has-mega:focus-within .mega{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto;}
.mega_inner{display:grid;grid-template-columns:1.55fr 1fr;gap:1.6rem;background-color:#faf6ee;border:1px solid rgba(23,23,20,.08);border-radius:14px;box-shadow:0 24px 60px rgba(23,23,20,.16);padding:1.5rem;}
.mega_eyebrow{display:block;font-size:0.625rem;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;color:#a8895c;margin-bottom:0.9rem;}
.mega_cards{display:grid;grid-template-columns:repeat(3,1fr);gap:0.85rem;}
.mega_card{display:flex;flex-direction:column;border-radius:10px;overflow:hidden;background-color:#ffffff;border:1px solid rgba(23,23,20,.07);transition:transform 0.3s cubic-bezier(.32,.72,0,1),box-shadow 0.3s ease,border-color 0.3s ease;}
.mega_card:hover{transform:translateY(-3px);box-shadow:0 12px 26px rgba(23,23,20,.14);border-color:rgba(237,147,1,.4);}
.mega_card-media{display:block;aspect-ratio:4/3;overflow:hidden;background-color:#e9e2d5;}
.mega_card-media img{width:100%;height:100%;object-fit:cover;transition:transform 0.5s cubic-bezier(.32,.72,0,1);}
.mega_card:hover .mega_card-media img{transform:scale(1.06);}
.mega_card-body{padding:0.7rem 0.75rem 0.85rem;}
.mega_card-t{display:block;font-size:0.8125rem;font-weight:700;color:#171714;letter-spacing:-0.01em;}
.mega_card-d{display:block;margin-top:0.2rem;font-size:0.6875rem;line-height:1.4;color:#5e5848;}
.mega_more{border-left:1px solid rgba(23,23,20,.08);padding-left:1.6rem;display:flex;flex-direction:column;}
.mega_links{display:grid;grid-template-columns:1fr 1fr;gap:0.15rem 0.9rem;}
.mega_link{display:flex;align-items:center;justify-content:space-between;gap:0.4rem;padding:0.42rem 0.5rem;border-radius:7px;font-size:0.75rem;font-weight:600;color:#2c2a24;transition:background-color 0.2s ease,color 0.2s ease;}
.mega_link:hover{background-color:rgba(237,147,1,.1);color:#985c00;}
.mega_link-arrow{width:0.8rem;height:0.8rem;opacity:0;transform:translateX(-4px);transition:opacity 0.2s ease,transform 0.2s ease;flex:0 0 auto;color:#ed9301;}
.mega_link:hover .mega_link-arrow{opacity:1;transform:translateX(0);}
.mega_allcta{display:inline-flex;align-items:center;gap:0.45rem;margin-top:auto;padding-top:1rem;font-size:0.6875rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:#985c00;}
.mega_allcta .mega_link-arrow{opacity:1;transform:none;}
.mega_allcta:hover{color:#c97500;}
.navbar_right{display:flex;align-items:center;gap:1.25rem;}
.navbar_phone{display:inline-flex;align-items:center;gap:0.5rem;font-size:0.75rem;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;color:#171714;white-space:nowrap;}
.navbar_phone-icon{width:0.875rem;height:0.875rem;color:#c97500;}
.navbar_cta{display:inline-flex;align-items:center;gap:0.5rem;padding:0.8125rem 1.25rem;border-radius:4px;background-color:#ed9301;color:#ffffff;font-size:0.7188rem;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;transition:background-color 0.3s ease,transform 0.3s ease;}
.navbar_cta:hover{background-color:#c97500;transform:translateY(-2px);}
.navbar_cta-icon{width:0.875rem;height:0.875rem;}
.navbar_burger{display:none;width:1.75rem;height:1.125rem;position:relative;flex:0 0 auto;}
.navbar_burger-line{position:absolute;left:0;right:0;height:2px;background-color:#171714;transition:transform 0.3s cubic-bezier(.32,.72,0,1),opacity 0.2s ease,top 0.3s cubic-bezier(.32,.72,0,1);}
.navbar_burger-line.is-top{top:0;}
.navbar_burger-line.is-mid{top:0.5rem;}
.navbar_burger-line.is-bot{top:1rem;}
.navbar_burger.is-open .navbar_burger-line.is-top{top:0.5rem;transform:rotate(45deg);}
.navbar_burger.is-open .navbar_burger-line.is-mid{opacity:0;}
.navbar_burger.is-open .navbar_burger-line.is-bot{top:0.5rem;transform:rotate(-45deg);}

/* ============================================================
   6. HERO (kinetic, animated gradient + parallax)
   ============================================================ */
/* ===== HERO : texte ancre bas-gauche (style Rivaria) ===== */
.section_hero{position:relative;min-height:100vh;overflow:hidden;background-color:#14110a;}
.section_hero.is-photo{display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;padding:2rem max(2.5rem, calc((100vw - 80rem) / 2)) 5rem;}
.hero_photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:0;}
.hero_overlay{position:absolute;inset:0;z-index:1;background:radial-gradient(140% 130% at 0% 100%,rgba(0,0,0,.66) 0%,rgba(0,0,0,.44) 28%,rgba(0,0,0,.24) 50%,rgba(0,0,0,.08) 70%,rgba(0,0,0,0) 88%),linear-gradient(to top,rgba(0,0,0,.26) 0%,rgba(0,0,0,.08) 30%,transparent 56%);}
.hero_grain{position:absolute;inset:0;z-index:1;opacity:.35;mix-blend-mode:overlay;background-image:radial-gradient(rgba(23,23,20,.05) 1px,transparent 1px);background-size:3px 3px;pointer-events:none;}
.hero_inner{position:relative;z-index:3;display:flex;flex-direction:column;gap:1.5rem;max-width:42rem;width:100%;}
.hero_textwrap{display:flex;flex-direction:column;gap:1rem;color:#ffffff;}
.hero_eyebrow{color:#ed9301;}
.hero_eyebrow .eyebrow_dot{background-color:#ed9301;}
.hero_heading{color:#ffffff;font-size:clamp(2.25rem,3.3vw,3rem);line-height:1.1;letter-spacing:-0.01em;margin:0;max-width:none;text-shadow:0 2px 20px rgba(0,0,0,.4);}
.hero_heading .serif{color:#ed9301;}
.hero_sub{color:rgba(255,255,255,.88);font-size:1.0625rem;line-height:1.55;margin:0;max-width:34rem;text-shadow:0 1px 10px rgba(0,0,0,.45);}
.hero_actions{display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap;margin-top:.5rem;}

.hero_social{display:inline-flex;align-items:center;gap:0.8rem;text-decoration:none;}
.hero_avatars{display:flex;}
.hero_avatar{width:2.05rem;height:2.05rem;border-radius:50%;overflow:hidden;background-color:#8b5a2b;border:2px solid rgba(250,246,238,.95);margin-left:-0.65rem;display:grid;place-items:center;color:#faf6ee;font-size:0.62rem;font-weight:700;box-shadow:0 4px 10px rgba(0,0,0,.3);}
.hero_avatar img{width:100%;height:100%;object-fit:cover;display:block;}
.hero_avatar:first-child{margin-left:0;}
.hero_avatar.is-more{background-color:#171714;font-size:0.66rem;}
.hero_social-txt{display:flex;flex-direction:column;line-height:1.15;}
.hero_social-stars{color:#f3b34a;font-size:1rem;letter-spacing:0.06em;text-shadow:0 1px 5px rgba(0,0,0,.55);}
.hero_social-label{font-size:0.86rem;color:#f1eee5;text-shadow:0 1px 5px rgba(0,0,0,.8);}
.hero_social-label strong{color:#ffffff;}
.hero_social:hover .hero_social-label{text-decoration:underline;}
.hero_scroll{position:absolute;bottom:1.5rem;left:50%;right:auto;transform:translateX(-50%);z-index:3;display:flex;align-items:center;gap:0.6rem;font-size:0.72rem;font-weight:700;letter-spacing:0.15em;text-transform:uppercase;color:rgba(255,255,255,.78);}
.hero_scroll-line{width:2.5rem;height:1px;background:linear-gradient(90deg,rgba(237,147,1,.9),transparent);}
.hero_stats{display:flex;align-items:center;gap:1.6rem;margin-top:0.35rem;flex-wrap:wrap;}
.hero_stat{display:flex;flex-direction:column;gap:0.15rem;}
.hero_stat-div{width:1px;height:2.6rem;background:rgba(255,255,255,.3);flex:0 0 auto;}
.hero_stat-num{font-size:clamp(1.7rem,2.1vw,2.15rem);font-weight:700;letter-spacing:-0.02em;color:#ed9301;line-height:1;text-shadow:0 1px 10px rgba(0,0,0,.4);}
.hero_stat-lab{font-size:0.78rem;font-weight:600;letter-spacing:0.06em;text-transform:uppercase;color:rgba(255,255,255,.82);text-shadow:0 1px 6px rgba(0,0,0,.5);}
.hero_giraffe{position:absolute;bottom:0;right:max(2.5rem, calc((100vw - 80rem) / 2));left:auto;width:clamp(9.5rem,14vw,14.5rem);height:auto;z-index:2;opacity:.94;pointer-events:none;filter:drop-shadow(0 14px 30px rgba(0,0,0,.55));}

/* ============================================================
   7. MARQUEE PARTENAIRES
   ============================================================ */
.marquee{background-color:#171714;color:#f1eee5;padding:1.5rem 0;overflow:hidden;border-top:1px solid rgba(241,238,229,.10);border-bottom:1px solid rgba(241,238,229,.10);}
.marquee_track{display:flex;align-items:center;gap:3.5rem;width:max-content;}
.marquee_item{display:inline-flex;align-items:center;gap:0.75rem;white-space:nowrap;opacity:.8;}
.marquee_mark{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border:1.5px solid #ed9301;color:#ed9301;border-radius:4px;font-size:0.875rem;font-weight:800;letter-spacing:-0.03em;flex:0 0 auto;}
.marquee_name{font-size:1.0625rem;font-weight:600;letter-spacing:0.02em;}
.marquee_name .serif{color:#ed9301;}
.marquee_sep{width:0.375rem;height:0.375rem;background-color:#ed9301;border-radius:50%;opacity:.5;}
.marquee_chip{display:inline-flex;align-items:center;justify-content:center;background-color:#faf7f1;border-radius:4px;padding:0.5rem 0.95rem;height:3rem;box-sizing:border-box;flex:0 0 auto;box-shadow:0 4px 14px rgba(0,0,0,.18);}
.marquee_chip img{height:1.45rem;width:auto;max-width:7.5rem;object-fit:contain;display:block;}
.marquee_chip.is-badge img{height:2.4rem;max-width:3.4rem;}

/* ============================================================
   8. PRESENTATION (asymmetric + counters)
   ============================================================ */
.about_grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2.5rem,4.5vw,4.5rem);align-items:center;}
.about_body p{color:#3a3a3a;margin-top:1.125rem;}
.about_body p strong{color:#171714;font-weight:600;}
.about_heading{margin-top:1rem;max-width:20ch;}
.about_heading .serif{color:#985c00;}
.about_media{position:relative;min-width:0;}
.about_media-frame{position:relative;min-width:0;}
.about_partners{margin-top:1.25rem;}
.about_partners-label{display:block;font-size:0.7rem;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;color:#985c00;margin-bottom:0.65rem;}
.about_partners-mask{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);}
.about_partners-track{display:flex;align-items:center;width:max-content;animation:qx-marquee 18s linear infinite;}
.about_partners-logo{width:auto;opacity:.8;flex:0 0 auto;margin-right:3.5rem;}
.about_partners-logo[src*="technal"]{height:1.45rem;}
.about_partners-logo[src*="k-line"]{height:2.2rem;}
.about_partners-logo[src*="soprofen"]{height:1.5rem;}
.about_partners-logo[src*="solabaie"]{height:1.6rem;}
.about_media-main{aspect-ratio:16/10;border-radius:4px;overflow:hidden;background-color:#e8dfcc;}
.about_media-img{width:100%;height:100%;object-fit:cover;object-position:center;}
.about_media-badge{position:absolute;left:-1rem;bottom:1.75rem;background-color:#ed9301;color:#171714;font-weight:700;font-size:0.875rem;padding:0.75rem 1.125rem;border-radius:4px;box-shadow:0 16px 34px rgba(23,23,20,.2);}
.about_media-tile{position:absolute;top:-1.5rem;right:-1.25rem;width:7.5rem;background-color:#171714;color:#faf6ee;padding:1rem;border-radius:4px;box-shadow:0 18px 40px rgba(23,23,20,.26);}
.about_media-tile-num{font-size:1.75rem;font-weight:800;letter-spacing:-0.03em;line-height:1;}
.about_media-tile-label{font-size:0.6875rem;text-transform:uppercase;letter-spacing:0.1em;color:rgba(241,238,229,.7);margin-top:0.375rem;}
.about_stats{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:clamp(2.5rem,4vw,4rem);border-top:1px solid #e2d8c2;}
.about_stat{padding:1.75rem 1.5rem 0 0;border-right:1px solid #e2d8c2;}
.about_stat.is-last{border-right:none;}
.about_stat-num{font-size:clamp(2.25rem,4vw,3.5rem);font-weight:800;letter-spacing:-0.04em;color:#171714;line-height:1;}
.about_stat-num .is-accent{color:#ed9301;}
.about_stat-label{font-size:0.9375rem;color:#5e5848;margin-top:0.625rem;}

/* ============================================================
   9. SERVICES (bento asymetrique)
   ============================================================ */
.section_services{background-color:#f1eadb;}
.services_head{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;flex-wrap:wrap;margin-bottom:3rem;}
.services_head-titles{max-width:34ch;}
.services_heading{margin-top:1rem;}
.services_heading .serif{color:#985c00;}
.services_head-lead{max-width:32ch;color:#5e5848;}
.services_bento{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:13.5rem;gap:0.875rem;}
.services_grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0.875rem;}
.service_card{position:relative;display:flex;flex-direction:column;justify-content:flex-start;gap:1.125rem;background-color:#ffffff;border:1px solid #e2d8c2;border-radius:4px;padding:1.625rem;overflow:hidden;min-height:13.5rem;transition:transform 0.4s cubic-bezier(.32,.72,0,1),box-shadow 0.4s cubic-bezier(.32,.72,0,1),border-color 0.4s cubic-bezier(.32,.72,0,1);}
.service_card:hover{transform:translateY(-5px);box-shadow:0 22px 48px rgba(23,23,20,.12);border-color:#ed9301;}
.service_card.is-wide{grid-column:span 2;}
.service_card.is-tall{grid-row:span 2;}
.service_card.is-dark{background-color:#171714;border-color:#171714;color:#faf6ee;}
.service_card.is-accent{background-color:#ed9301;border-color:#ed9301;color:#171714;}
.service_card-glow{position:absolute;top:-40%;right:-30%;width:18rem;height:18rem;background:radial-gradient(circle,rgba(237,147,1,.18),transparent 65%);opacity:0;transition:opacity 0.5s ease;pointer-events:none;}
.service_card:hover .service_card-glow{opacity:1;}
.service_icon{display:inline-flex;align-items:center;justify-content:center;width:3rem;height:3rem;border-radius:4px;background-color:#fdf1da;color:#c97500;}
.service_card.is-dark .service_icon{background-color:rgba(237,147,1,.16);color:#ed9301;}
.service_card.is-accent .service_icon{background-color:rgba(23,23,20,.10);color:#171714;}
.service_icon-svg{width:1.4375rem;height:1.4375rem;}
.service_card-bottom{position:relative;z-index:2;}
.service_card-title{font-size:1.1875rem;letter-spacing:-0.01em;}
.service_card.is-wide .service_card-title{font-size:1.5rem;}
.service_card-desc{font-size:0.875rem;line-height:1.5;color:#5e5848;margin-top:0.5rem;max-width:36ch;}
.service_card.is-dark .service_card-desc{color:rgba(241,238,229,.72);}
.service_card.is-accent .service_card-desc{color:rgba(23,23,20,.78);}
.service_card-more{display:inline-flex;align-items:center;gap:0.375rem;font-size:0.6875rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:#985c00;margin-top:0.875rem;}
.service_card.is-dark .service_card-more{color:#ed9301;}
.service_card.is-accent .service_card-more{color:#171714;}
.service_card-more-icon{width:0.8125rem;height:0.8125rem;transition:transform 0.3s cubic-bezier(.32,.72,0,1);}
.service_card:hover .service_card-more-icon{transform:translateX(3px);}
.service_card-stat{font-size:clamp(2rem,3vw,2.75rem);font-weight:800;letter-spacing:-0.03em;line-height:1;}

/* ============================================================
   10. REALISATIONS (galerie)
   ============================================================ */
.section_work{background-color:#171714;color:#f1eee5;padding-bottom:5.5rem;}
.section_work .work_cta{margin-top:3.25rem;}
.work_head{max-width:44rem;margin-bottom:3rem;}
.work_heading{color:#ffffff;margin-top:1rem;}
.work_heading .serif{color:#ed9301;}
.work_lead{color:rgba(241,238,229,.72);margin-top:1rem;}
.work_grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0.875rem;}
.work_card{position:relative;border-radius:4px;overflow:hidden;display:flex;align-items:flex-end;min-height:26rem;color:#ffffff;}
.work_card-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 0.8s cubic-bezier(.32,.72,0,1);}
.work_card:hover .work_card-img{transform:scale(1.06);}
.work_card-shade{position:absolute;inset:0;background:linear-gradient(180deg,transparent 36%,rgba(0,0,0,.86));}
.work_card-content{position:relative;z-index:2;padding:1.75rem;}
.work_card-tag{display:inline-flex;align-items:center;gap:0.375rem;font-size:0.6563rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:#171714;background-color:#ed9301;padding:0.3125rem 0.625rem;border-radius:3px;margin-bottom:0.75rem;}
.work_card-title{font-size:1.375rem;color:#ffffff;}
.work_card-loc{display:flex;align-items:center;gap:0.375rem;font-size:0.8125rem;color:rgba(255,255,255,.82);margin-top:0.5rem;}
.work_card-loc-icon{width:0.875rem;height:0.875rem;color:#ed9301;}
.work_card-detail{font-size:0.875rem;line-height:1.5;color:rgba(255,255,255,.74);margin-top:0.5rem;}
.work_cta{display:flex;justify-content:center;margin-top:2.75rem;}

/* ============================================================
   10b. SAVOIR-FAIRE PHARES (alternating blocks)
   ============================================================ */
.section_expertise{background-color:#faf6ee;}
.expertise_head{max-width:52rem;margin-bottom:3.5rem;}
.expertise_heading{margin-top:1rem;}
.expertise_heading .serif{color:#985c00;}
.sf_showcase{display:grid;grid-template-columns:minmax(0,0.8fr) minmax(0,1.2fr);gap:clamp(1.75rem,3vw,3rem);align-items:stretch;}
.sf_tabs{display:flex;flex-direction:column;gap:0.85rem;align-self:center;}
.sf_tab{position:relative;display:flex;align-items:center;gap:1rem;width:100%;text-align:left;background:transparent;border:1px solid #e7ddc9;border-radius:13px;padding:1.2rem 1.35rem 1.4rem;cursor:pointer;overflow:hidden;font-family:inherit;transition:background-color .35s ease,border-color .35s ease,box-shadow .35s ease;}
.sf_tab:hover{border-color:#d8c9a8;}
.sf_tab.is-active{background-color:#ffffff;border-color:#ed9301;box-shadow:0 18px 40px -20px rgba(152,92,0,.4);}
.sf_tab-num{font-family:"Mochira","Schibsted Grotesk",sans-serif;font-style:italic;font-size:1.5rem;color:#c2b9a3;line-height:1;flex:0 0 auto;transition:color .35s ease;}
.sf_tab.is-active .sf_tab-num{color:#ed9301;}
.sf_tab-info{display:flex;flex-direction:column;gap:0.15rem;min-width:0;}
.sf_tab-title{font-size:1.05rem;font-weight:700;color:#171714;letter-spacing:-0.01em;}
.sf_tab-sub{font-size:0.8125rem;color:#5e5848;}
.sf_tab-progress{position:absolute;left:0;bottom:0;width:100%;height:3px;background:rgba(237,147,1,.14);}
.sf_tab-bar{display:block;height:100%;width:0;background:#ed9301;}
[data-sf].is-inview .sf_tab.is-active .sf_tab-bar{animation:sf-fill 6s linear forwards;}
.sf_showcase:hover .sf_tab.is-active .sf_tab-bar{animation-play-state:paused;}
@keyframes sf-fill{from{width:0%}to{width:100%}}
.sf_stage{position:relative;border-radius:16px;overflow:hidden;min-height:clamp(26rem,42vw,34rem);background-color:#e8dfcc;box-shadow:0 30px 60px -28px rgba(23,23,20,.4);}
.sf_pane{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .7s ease;}
.sf_pane.is-active{opacity:1;visibility:visible;}
.sf_pane-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.06);transition:transform 8s linear;}
.sf_pane.is-active .sf_pane-img{transform:scale(1);}
.sf_pane::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(18,14,8,.92) 0%,rgba(18,14,8,.5) 42%,rgba(18,14,8,.06) 72%,transparent 100%);}
.sf_pane-index{position:absolute;left:1.6rem;top:1.6rem;z-index:2;display:inline-flex;align-items:center;justify-content:center;width:3rem;height:3rem;background-color:#ed9301;color:#171714;font-family:"Mochira","Schibsted Grotesk",sans-serif;font-style:italic;font-size:1.375rem;border-radius:8px;box-shadow:0 10px 26px rgba(0,0,0,.3);}
.sf_pane-body{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:clamp(1.5rem,3vw,2.4rem);color:#ffffff;max-width:44rem;}
.sf_pane-body>*{opacity:0;transform:translateY(18px);transition:opacity .55s ease,transform .55s ease;}
.sf_pane.is-active .sf_pane-body>*{opacity:1;transform:none;}
.sf_pane.is-active .sf_pane-body>*:nth-child(2){transition-delay:.09s;}
.sf_pane.is-active .sf_pane-body>*:nth-child(3){transition-delay:.18s;}
.sf_pane-title{color:#fff;font-size:clamp(1.4rem,2.2vw,1.95rem);line-height:1.1;letter-spacing:-0.015em;margin:0 0 0.75rem;}
.sf_pane-text{color:rgba(255,255,255,.92);font-size:1rem;line-height:1.55;margin:0 0 1.1rem;max-width:42rem;text-shadow:0 1px 8px rgba(0,0,0,.45);}
.sf_pane-link{color:#fff;}
@media (prefers-reduced-motion:reduce){[data-sf].is-inview .sf_tab.is-active .sf_tab-bar{animation:none;width:100%;}.sf_pane-img{transition:none;}.sf_pane-body>*{transition:none;}}

/* ============================================================
   11. SECTION CONTRASTE - POURQUOI (split sticky)
   ============================================================ */
.section_why{background-color:#faf6ee;}
.why_grid{display:grid;grid-template-columns:0.9fr 1.1fr;gap:clamp(2.5rem,5vw,4.5rem);align-items:start;}
.why_sticky{position:sticky;top:7rem;}
.why_heading{margin-top:1rem;}
.why_heading .serif{color:#985c00;}
.why_lead{color:#5e5848;margin-top:1.25rem;max-width:34ch;}
.why_list{display:flex;flex-direction:column;gap:0.75rem;}
.why_item{display:flex;gap:1.25rem;background-color:#ffffff;border:1px solid #e2d8c2;border-radius:4px;padding:1.5rem 1.625rem;transition:transform 0.35s cubic-bezier(.32,.72,0,1),box-shadow 0.35s cubic-bezier(.32,.72,0,1);}
.why_item:hover{transform:translateX(6px);box-shadow:0 16px 36px rgba(23,23,20,.08);}
.why_item-num{font-family:"Mochira","Schibsted Grotesk","Grift",sans-serif;font-style:italic;font-size:1.5rem;color:#ed9301;flex:0 0 auto;line-height:1.2;}
.why_item-title{font-size:1.1875rem;}
.why_item-desc{font-size:0.9375rem;color:#5e5848;margin-top:0.5rem;}

/* ============================================================
   12. AVIS (testimonials)
   ============================================================ */
.section_reviews{background-color:#211f19;color:#f1eee5;}
.reviews_head{text-align:center;max-width:46rem;margin:0 auto;}
.reviews_heading{color:#ffffff;margin-top:1rem;}
.reviews_heading .serif{color:#ed9301;}
.reviews_lead{color:rgba(241,238,229,.72);margin-top:1rem;}
.reviews_grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0.875rem;margin-top:3rem;}
.review_card{display:flex;flex-direction:column;gap:1rem;background-color:rgba(255,255,255,.04);border:1px solid rgba(241,238,229,.14);border-radius:4px;padding:1.75rem;transition:transform 0.35s cubic-bezier(.32,.72,0,1),border-color 0.35s ease;}
.review_card:hover{transform:translateY(-4px);border-color:rgba(237,147,1,.5);}
.review_stars{display:inline-flex;gap:0.125rem;color:#ed9301;}
.review_star{width:1rem;height:1rem;}
.review_quote{font-size:0.9375rem;line-height:1.6;color:#f1eee5;flex:1;}
.review_meta{border-top:1px solid rgba(241,238,229,.14);padding-top:1rem;}
.review_name{font-weight:700;font-size:0.9375rem;}
.review_role{font-family:"Mochira","Schibsted Grotesk","Grift",sans-serif;font-style:italic;font-size:0.8125rem;color:rgba(241,238,229,.66);margin-top:0.25rem;}
.reviews_agg{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:clamp(1.5rem,4vw,3.5rem);margin-top:3.5rem;padding:clamp(2rem,4vw,3rem);border:1px solid rgba(237,147,1,.35);border-radius:4px;background:radial-gradient(80% 120% at 0% 0%,rgba(237,147,1,.12),transparent 60%),rgba(255,255,255,.03);}
.reviews_agg-score{display:flex;flex-direction:column;align-items:center;gap:0.75rem;}
.reviews_agg-big{font-size:clamp(4rem,9vw,6.5rem);font-weight:800;letter-spacing:-0.05em;color:#ffffff;line-height:0.9;}
.reviews_agg-outof{font-size:0.4em;color:#ed9301;font-weight:700;}
.reviews_agg-divider{width:1px;align-self:stretch;background-color:rgba(241,238,229,.16);}
.review_stars.is-big{gap:0.25rem;}
.review_stars.is-big .review_star{width:1.75rem;height:1.75rem;}
.reviews_agg-col{display:flex;flex-direction:column;align-items:flex-start;gap:1.25rem;}
.reviews_agg-text{font-size:1.25rem;color:rgba(241,238,229,.82);}
.reviews_agg-text strong{color:#ffffff;font-weight:700;}

/* ============================================================
   13. PARTENAIRES + CERTIFS (wordmark cards)
   ============================================================ */
.section_partners{background-color:#f1eadb;}
.partners_head{max-width:44rem;margin-bottom:2.5rem;}
.partners_heading{margin-top:1rem;}
.partners_heading .serif{color:#985c00;}
.partners_grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0.875rem;}
.partner_card{display:flex;flex-direction:column;gap:0.875rem;background-color:#ffffff;border:1px solid #e2d8c2;border-radius:4px;padding:1.75rem;transition:transform 0.4s cubic-bezier(.32,.72,0,1),box-shadow 0.4s cubic-bezier(.32,.72,0,1);}
.partner_card:hover{transform:translateY(-5px);box-shadow:0 20px 44px rgba(23,23,20,.10);}
.partner_wordmark{display:flex;align-items:center;gap:0.625rem;}
.partner_monogram{display:inline-flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;border-radius:4px;background-color:#171714;color:#ed9301;font-size:1.125rem;font-weight:800;letter-spacing:-0.04em;flex:0 0 auto;transition:background-color 0.4s ease,transform 0.4s cubic-bezier(.32,.72,0,1);}
.partner_card:hover .partner_monogram{background-color:#ed9301;color:#171714;transform:rotate(-6deg);}
.partner_name{font-size:1.25rem;font-weight:700;letter-spacing:-0.01em;color:#171714;}
.partner_role{font-size:0.8125rem;color:#5e5848;}
.partner_desc{font-size:0.875rem;line-height:1.55;color:#5e5848;}
.partner_certs{display:flex;flex-wrap:wrap;gap:0.625rem;margin-top:2rem;}
.partner_cert{display:inline-flex;align-items:center;gap:0.5rem;background-color:#ffffff;border:1px solid #e2d8c2;border-radius:4px;padding:0.625rem 1rem;font-size:0.8125rem;font-weight:600;color:#171714;}
.partner_cert-icon{width:1rem;height:1rem;color:#c97500;}

/* ============================================================
   14. ZONE
   ============================================================ */
.section_zone{background-color:#faf6ee;}
.zone_grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2.5rem,5vw,4.5rem);align-items:center;}
.zone_heading{margin-top:1rem;}
.zone_heading .serif{color:#985c00;}
.zone_body p{color:#5e5848;margin-top:1.125rem;}
.zone_cities{display:grid;grid-template-columns:repeat(2,1fr);gap:0.625rem 1rem;margin-top:1.75rem;max-width:28rem;}
.zone_city{display:flex;align-items:center;gap:0.625rem;font-size:0.9375rem;font-weight:500;color:#171714;}
.zone_city-icon{width:1rem;height:1rem;color:#c97500;flex:0 0 auto;}
.zone_map{position:relative;aspect-ratio:1/1;border-radius:4px;overflow:hidden;border:1px solid #e2d8c2;background:radial-gradient(70% 70% at 50% 40%,#f1eadb,#e8dfcc);}
.zone_map-frame{position:absolute;inset:0;width:100%;height:100%;border:0;display:block;}
.zone_map-pin{position:absolute;display:flex;flex-direction:column;align-items:center;gap:0.25rem;transform:translate(-50%,-50%);}
.zone_map-dot{width:0.75rem;height:0.75rem;border-radius:50%;background-color:#ed9301;box-shadow:0 0 0 0 rgba(237,147,1,.5);}
.zone_map-dot.is-hq{width:1.125rem;height:1.125rem;background-color:#171714;border:3px solid #ed9301;}
.zone_map-label{font-size:0.625rem;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;color:#5e5848;background-color:rgba(250,246,238,.8);padding:0.125rem 0.375rem;border-radius:2px;}
.zone_map-ring{position:absolute;left:50%;top:46%;width:60%;height:60%;border:1px dashed rgba(23,23,20,.2);border-radius:50%;transform:translate(-50%,-50%);}
.zone_map-pin.is-hq{left:50%;top:46%;}
.zone_map-pin.is-p1{left:30%;top:30%;}
.zone_map-pin.is-p2{left:64%;top:34%;}
.zone_map-pin.is-p3{left:40%;top:58%;}
.zone_map-pin.is-p4{left:62%;top:70%;}
.zone_map-pin.is-p5{left:44%;top:78%;}

/* ============================================================
   15. FAQ
   ============================================================ */
.section_faq{background-color:#f1eadb;}
.faq_grid{display:grid;grid-template-columns:0.8fr 1.2fr;gap:clamp(2.5rem,5vw,4.5rem);align-items:start;}
.faq_heading{margin-top:1rem;}
.faq_heading .serif{color:#985c00;}
.faq_intro{color:#5e5848;margin-top:1.25rem;max-width:30ch;}
.faq_list{border-top:1px solid #e2d8c2;}
.faq_item{border-bottom:1px solid #e2d8c2;}
.faq_question{width:100%;display:flex;align-items:center;justify-content:space-between;gap:1.25rem;padding:1.375rem 0;text-align:left;font-size:1.0938rem;font-weight:600;letter-spacing:-0.01em;color:#171714;}
.faq_icon{position:relative;flex:0 0 auto;width:2.125rem;height:2.125rem;border:1px solid #e2d8c2;border-radius:4px;transition:background-color 0.3s ease,border-color 0.3s ease;}
.faq_icon-bar{position:absolute;top:50%;left:50%;background-color:#171714;transition:transform 0.3s cubic-bezier(.32,.72,0,1),background-color 0.3s ease;}
.faq_icon-bar.is-h{width:0.8125rem;height:1.6px;transform:translate(-50%,-50%);}
.faq_icon-bar.is-v{width:1.6px;height:0.8125rem;transform:translate(-50%,-50%);}
.faq_item.is-open .faq_icon{background-color:#ed9301;border-color:#ed9301;}
.faq_item.is-open .faq_icon-bar{background-color:#171714;}
.faq_item.is-open .faq_icon-bar.is-v{transform:translate(-50%,-50%) scaleY(0);}
.faq_answer{max-height:0;overflow:hidden;transition:max-height 0.45s cubic-bezier(.32,.72,0,1);}
.faq_item.is-open .faq_answer{max-height:24rem;}
.faq_answer-inner{padding:0 0 1.375rem;color:#5e5848;font-size:0.9688rem;line-height:1.65;max-width:60ch;}

/* ============================================================
   16. CTA FINAL
   ============================================================ */
.section_cta{position:relative;background-color:#171714;color:#f1eee5;text-align:center;overflow:hidden;}
.cta_glow{position:absolute;inset:0;z-index:0;background:radial-gradient(50% 60% at 50% 0%,rgba(237,147,1,.26),transparent 60%);}
.cta_building{position:absolute;right:-2rem;bottom:0;width:min(40rem,46%);z-index:1;mix-blend-mode:screen;opacity:.36;pointer-events:none;
  -webkit-mask-image:radial-gradient(165% 160% at 100% 118%,#000 8%,rgba(0,0,0,.5) 38%,rgba(0,0,0,.18) 62%,transparent 88%);
  mask-image:radial-gradient(165% 160% at 100% 118%,#000 8%,rgba(0,0,0,.5) 38%,rgba(0,0,0,.18) 62%,transparent 88%);}
.cta_building.is-left{right:auto;left:-2rem;transform:scaleX(-1);}
@media (max-width:767px){.cta_building.is-left{display:none;}.cta_building{width:78%;opacity:.24;}}
.cta_inner{position:relative;z-index:2;max-width:48rem;margin:0 auto;}
.cta_eyebrow{justify-content:center;color:#ed9301;}
.cta_heading{color:#ffffff;margin-top:1.125rem;}
.cta_heading .serif{color:#ed9301;}
.cta_text{color:rgba(241,238,229,.74);margin:1.25rem auto 0;max-width:42ch;}
.cta_actions{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;margin-top:2.25rem;}
.cta_phone{display:inline-flex;align-items:center;gap:0.625rem;padding:1rem 1.625rem;border:1.5px solid rgba(241,238,229,.4);border-radius:4px;color:#ffffff;font-weight:700;font-size:1.0625rem;transition:background-color 0.3s ease,color 0.3s ease;}
.cta_phone:hover{background-color:#ffffff;color:#171714;}
.cta_phone-icon{width:1.125rem;height:1.125rem;color:#ed9301;}
.cta_phone:hover .cta_phone-icon{color:#c97500;}

/* ============================================================
   17. FOOTER
   ============================================================ */
.footer{background-color:#100f0c;color:#f1eee5;}
.footer_top{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.1fr;gap:2.25rem;padding-top:5rem;padding-bottom:3rem;}
.footer_logo{height:4rem;width:auto;margin-bottom:1.125rem;filter:brightness(0) invert(1);}
.footer_tagline{font-family:"Mochira","Schibsted Grotesk","Grift",sans-serif;font-style:italic;font-size:0.9375rem;color:rgba(241,238,229,.66);max-width:28ch;}
.footer_nap{display:flex;flex-direction:column;gap:0.6875rem;margin-top:1.25rem;}
.footer_nap-row{display:flex;align-items:flex-start;gap:0.625rem;font-size:0.875rem;color:rgba(241,238,229,.72);}
.footer_nap-icon{width:0.9375rem;height:0.9375rem;color:#ed9301;flex:0 0 auto;margin-top:0.1875rem;}
.footer_nap-row:hover{color:#ed9301;}
.footer_hours{margin-top:1.25rem;display:flex;flex-direction:column;gap:0.375rem;}
.footer_hours-row{font-size:0.875rem;color:rgba(241,238,229,.72);}
.footer_certs{display:flex;flex-wrap:wrap;gap:0.6rem;margin-top:1.25rem;}
.footer_cert{display:inline-flex;align-items:center;font-size:0.75rem;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:#ed9301;border:1px solid rgba(237,147,1,.45);border-radius:4px;padding:0.375rem 0.75rem;}
.footer_certlogo{display:inline-flex;align-items:center;justify-content:center;background-color:#faf7f1;border-radius:5px;padding:0.4rem 0.7rem;height:2.85rem;box-sizing:border-box;}
.footer_certlogo img{height:1.95rem;width:auto;max-width:5.5rem;object-fit:contain;display:block;}
.footer_col-title{font-size:0.6875rem;letter-spacing:0.14em;text-transform:uppercase;color:rgba(241,238,229,.5);margin-bottom:1rem;font-weight:700;}
.footer_links{display:flex;flex-direction:column;gap:0.5625rem;}
.footer_link{font-size:0.875rem;color:rgba(241,238,229,.72);transition:color 0.2s ease;}
.footer_link:hover{color:#ed9301;}
.footer_bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:0.875rem;align-items:center;padding:1.375rem 0;border-top:1px solid rgba(241,238,229,.12);font-size:0.8125rem;color:rgba(241,238,229,.6);}
.footer_legal{display:flex;gap:1.125rem;flex-wrap:wrap;}
.footer_legal a:hover{color:#ed9301;}

/* ============================================================
   18. REVEAL (GSAP Pattern C sets initial state via JS; CSS = layout only)
   ============================================================ */

/* ============================================================
   19. RESPONSIVE
   ============================================================ */
@media (max-width:991px){
  .padding-global{padding-left:1.5rem;padding-right:1.5rem;}
  .padding-section-large{padding-top:6rem;padding-bottom:6rem;}
  .padding-section-medium{padding-top:4rem;padding-bottom:4rem;}
  .padding-section-small{padding-top:2rem;padding-bottom:2rem;}
  .navbar_container{padding-left:1.5rem;padding-right:1.5rem;}
  /* backdrop-filter crée un bloc conteneur qui piégerait le menu fixed : on le neutralise sur mobile */
  .navbar{backdrop-filter:none;-webkit-backdrop-filter:none;background-color:rgba(250,246,238,.98);}
  .navbar_menu{position:fixed;top:0;left:0;right:0;bottom:0;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:1.1rem;padding:5.5rem 1.5rem 2.5rem;overflow-y:auto;background-color:#faf6ee;transform:translateY(-100%);opacity:0;pointer-events:none;transition:transform 0.45s cubic-bezier(.32,.72,0,1),opacity 0.45s ease;}
  .navbar_menu.is-open{transform:translateY(0);opacity:1;pointer-events:auto;}
  .navbar_link{font-size:1.5rem;letter-spacing:-0.01em;text-transform:none;font-weight:600;}
  .navbar_link-underline{display:none;}
  .navbar_phone{display:none;}
  .navbar_burger{display:block;}
  /* Mega-menu en accordéon sur mobile */
  .navbar_item.has-mega{width:100%;}
  .navbar_link-mega{width:100%;justify-content:space-between;}
  .navbar_chevron{width:1.1rem;height:1.1rem;transition:transform 0.3s ease;}
  .navbar_item.is-open .navbar_chevron{transform:rotate(180deg);}
  .navbar_item.has-mega:hover .navbar_chevron{transform:none;}
  .navbar_item.is-open.has-mega:hover .navbar_chevron{transform:rotate(180deg);}
  .mega{position:static;left:auto;width:100%;padding-top:0;opacity:1;visibility:visible;transform:none;pointer-events:auto;max-height:0;overflow:hidden;transition:max-height 0.4s cubic-bezier(.32,.72,0,1);}
  .navbar_item.has-mega:hover .mega{opacity:1;visibility:visible;transform:none;}
  .navbar_item.is-open .mega{max-height:70vh;}
  .mega_inner{display:block;background-color:transparent;border:none;box-shadow:none;border-radius:0;padding:0.6rem 0 0.4rem 0.4rem;}
  .mega_eyebrow{font-size:0.6875rem;margin:0.6rem 0 0.4rem;}
  .mega_cards{display:block;}
  .mega_card{flex-direction:row;border:none;background-color:transparent;padding:0;}
  .mega_card:hover{transform:none;box-shadow:none;}
  .mega_card-media{display:none;}
  .mega_card-body{padding:0.35rem 0;}
  .mega_card-t{font-size:1.05rem;}
  .mega_card-d{display:none;}
  .mega_more{border-left:none;padding-left:0;}
  .mega_links{grid-template-columns:1fr;gap:0;}
  .mega_link{font-size:1.05rem;padding:0.35rem 0;}
  .mega_link-arrow{opacity:1;transform:none;}
  .mega_allcta{padding-top:0.9rem;}
  .about_grid{grid-template-columns:1fr;gap:3rem;}
  .about_media{max-width:26rem;}
  .about_stats{grid-template-columns:1fr;}
  .about_stat{border-right:none;border-bottom:1px solid #e2d8c2;padding:1.25rem 0;}
  .about_stat.is-last{border-bottom:none;}
  .services_bento{grid-template-columns:repeat(2,1fr);grid-auto-rows:13rem;}
  .services_grid{grid-template-columns:repeat(2,1fr);}
  .service_card.is-wide{grid-column:span 2;}
  .service_card.is-tall{grid-row:span 1;}
  .sf_showcase{grid-template-columns:1fr;gap:1.5rem;}
  .sf_tabs{align-self:stretch;}
  .sf_stage{min-height:24rem;}
  .work_grid{grid-template-columns:1fr;}
  .why_grid{grid-template-columns:1fr;gap:2.5rem;}
  .why_sticky{position:static;}
  .reviews_grid{grid-template-columns:1fr;}
  .partners_grid{grid-template-columns:1fr;}
  .zone_grid{grid-template-columns:1fr;gap:2.5rem;}
  .faq_grid{grid-template-columns:1fr;gap:2rem;}
  .footer_top{grid-template-columns:1fr 1fr;gap:2rem;}
}
@media (max-width:767px){
  .section_hero.is-photo{padding:1.5rem 1.5rem 3rem 1.5rem;justify-content:flex-end;}
  .hero_scroll{display:none;}
  .hero_grain{display:none;}
  .hero_inner{order:1;max-width:none;gap:1.1rem;}
  .hero_heading{font-size:2rem;line-height:1.14;}
  .hero_stats{gap:1.1rem;}
  .hero_stat-div{height:2.2rem;}
  .hero_giraffe{width:6rem;opacity:.4;right:0.5rem;}
  .hero_overlay{background:linear-gradient(to top,rgba(0,0,0,.6) 0%,rgba(0,0,0,.3) 40%,rgba(0,0,0,.06) 72%,transparent 100%);}
  .services_bento{grid-template-columns:1fr;grid-auto-rows:auto;}
  .services_grid{grid-template-columns:1fr;}
  .service_card{min-height:auto;}
  .service_card.is-wide{grid-column:span 1;}
  .reviews_agg-divider{display:none;}
}
@media (max-width:479px){
  .padding-global{padding-left:1.25rem;padding-right:1.25rem;}
  .padding-section-large{padding-top:4rem;padding-bottom:4rem;}
  .padding-section-medium{padding-top:3rem;padding-bottom:3rem;}
  .padding-section-small{padding-top:1.5rem;padding-bottom:1.5rem;}
  .hero_proof-item{border-right:none;border-bottom:1px solid rgba(23,23,20,.12);width:100%;}
  .hero_proof-item.is-last{border-bottom:none;}
  .hero_actions{flex-direction:column;align-items:stretch;}
  .reviews_agg{flex-direction:column;text-align:center;}
  .reviews_agg-col{align-items:center;}
  .footer_top{grid-template-columns:1fr;}
  .footer_bottom{flex-direction:column;align-items:flex-start;}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  *{animation-duration:0.001ms !important;transition-duration:0.001ms !important;}
}


/* ============================================================
   SERVICES EXPLORER (liste + apercu photo qui change)
   ============================================================ */
.services_explorer{display:grid;grid-template-columns:0.95fr 1.05fr;gap:clamp(1.5rem,3.5vw,3rem);align-items:start;margin-top:2.5rem;}
.services_list{display:flex;flex-direction:column;border-top:1px solid #e2d8c2;}
.services_row{display:flex;align-items:center;gap:1rem;padding:1rem 0.75rem;border-bottom:1px solid #e2d8c2;color:#171714;transition:background-color .3s cubic-bezier(.32,.72,0,1),padding .3s cubic-bezier(.32,.72,0,1);}
.services_row-num{font-family:"Mochira","Schibsted Grotesk","Grift",sans-serif;font-style:italic;font-size:0.9375rem;color:#ed9301;width:1.75rem;flex:0 0 auto;}
.services_row-name{font-size:clamp(1.05rem,1.5vw,1.3rem);font-weight:600;letter-spacing:-0.01em;flex:1;line-height:1.2;}
.services_row-arrow{width:1.125rem;height:1.125rem;color:#985c00;opacity:0;transform:translateX(-6px);transition:opacity .3s ease,transform .3s ease;flex:0 0 auto;}
.services_row-arrow svg{width:100%;height:100%;display:block;}
.services_row:hover,.services_row.is-active{background-color:#f1eadb;padding-left:1rem;padding-right:1rem;}
.services_row.is-active .services_row-name,.services_row:hover .services_row-name{color:#985c00;}
.services_row:hover .services_row-arrow,.services_row.is-active .services_row-arrow{opacity:1;transform:none;}
.services_preview{display:flex;flex-direction:column;position:sticky;top:clamp(6rem,14vh,7.5rem);align-self:start;}
.services_preview-media{aspect-ratio:4/3;flex:0 0 auto;min-height:0;border-radius:4px;overflow:hidden;background-color:#e8dfcc;border:1px solid #e2d8c2;}
.services_preview-img{width:100%;height:100%;object-fit:cover;display:block;}
.services_preview-body{padding-top:1.25rem;flex:0 0 auto;}
.services_preview-title{font-size:clamp(1.4rem,2.2vw,1.85rem);letter-spacing:-0.01em;}
.services_preview-desc{color:#5e5848;margin-top:0.625rem;max-width:46ch;}
.services_preview-link{margin-top:1.25rem;}
@media (max-width:767px){
  .services_explorer{grid-template-columns:1fr;gap:1.5rem;}
  .services_preview{position:static;order:-1;}
  .services_preview-media{aspect-ratio:4/3;flex:0 0 auto;min-height:0;}
  .services_row-arrow{opacity:1;transform:none;}
}

/* ============================================================
   POLISH PASS (overrides — later source order wins)
   ============================================================ */
/* reveal flicker guard: hide reveal targets pre-JS only when JS will animate */
.js [data-reveal],.js [data-reveal-group]>*{opacity:0;}

/* skip link (keyboard) */
.skip-link{position:absolute;left:1rem;top:-3.5rem;z-index:1000;background-color:#171714;color:#faf6ee;padding:0.625rem 1rem;border-radius:4px;font-size:0.875rem;font-weight:600;transition:top 0.25s cubic-bezier(.32,.72,0,1);}
.skip-link:focus{top:1rem;}

.hero_proof-item{white-space:nowrap;}

/* section-head vertical rhythm */
.services_head,.work_head,.expertise_head,.partners_head{margin-bottom:3.25rem;}

/* about stats: symmetric interior gutters, flush to edges */
.about_stat{padding:1.75rem 1.5rem 0 1.5rem;}
.about_stat:first-child{padding-left:0;}
.about_stat.is-last{padding-right:0;}

/* services explorer balance + readable number + crossfade */
.services_row{padding-top:0.85rem;padding-bottom:0.85rem;}
.services_row-num{color:#985c00;}
.services_preview-img{transition:opacity 0.25s ease;}

/* fill text column in savoir-faire */
.expertise_text{max-width:52ch;}

/* unify near-black sections */
.section_reviews{background-color:#171714;}

/* one-line work tags */
.work_card-tag{max-width:-moz-fit-content;max-width:fit-content;}

/* footer balance + non-link meta */
.footer_top{grid-template-columns:1.4fr 1.4fr 0.9fr 0.9fr;}
.footer_meta{font-size:0.875rem;color:rgba(241,238,229,.66);line-height:1.7;}

/* transition easing consistency */
.navbar_link{transition:color 0.3s cubic-bezier(.32,.72,0,1);}
.navbar_phone{transition:color 0.3s cubic-bezier(.32,.72,0,1);}
.navbar_phone:hover{color:#985c00;}
.navbar_phone:hover .navbar_phone-icon{color:#985c00;}
.footer_link{transition:color 0.25s cubic-bezier(.32,.72,0,1);}
.footer_nap-row{transition:color 0.25s cubic-bezier(.32,.72,0,1);}

/* missing hover affordances */
.faq_question{transition:color 0.3s cubic-bezier(.32,.72,0,1);}
.faq_question:hover{color:#985c00;}
.faq_item.is-open .faq_answer{max-height:32rem;}

/* pressed states */
.button:active{transform:translateY(-1px);}
.navbar_cta:active{transform:translateY(0);}

/* focus-visible parity with hover (keyboard) */
.service_card:focus-visible{transform:translateY(-5px);box-shadow:0 22px 48px rgba(23,23,20,.12);border-color:#ed9301;}
.work_card:focus-visible{outline:2px solid #ed9301;outline-offset:3px;}
.work_card:focus-visible .work_card-img{transform:scale(1.06);}
.review_card:focus-within{transform:translateY(-4px);border-color:rgba(237,147,1,.5);}
.partner_card:focus-within{transform:translateY(-5px);box-shadow:0 20px 44px rgba(23,23,20,.10);}
.services_row:focus-visible{background-color:#f1eadb;}
.link-arrow:focus-visible .link-arrow_icon{transform:translateX(4px);}

/* responsive polish */
@media (max-width:991px){
  .section_hero.is-photo{padding-left:2.5rem;padding-right:2.5rem;}
  .navbar_burger{width:2.75rem;height:2.75rem;}
  .navbar_burger-line{left:0.6875rem;right:0.6875rem;}
  .navbar_burger-line.is-top{top:0.9375rem;}
  .navbar_burger-line.is-mid{top:1.3125rem;}
  .navbar_burger-line.is-bot{top:1.6875rem;}
  .navbar_burger.is-open .navbar_burger-line.is-top{top:1.3125rem;}
  .navbar_burger.is-open .navbar_burger-line.is-bot{top:1.3125rem;}
  .navbar_phone{display:inline-flex;font-size:0;gap:0;padding:0.625rem;}
  .navbar_phone-icon{width:1.375rem;height:1.375rem;}
  .zone_map{max-width:24rem;margin-left:auto;margin-right:auto;aspect-ratio:4/3;}
}
@media (max-width:767px){
  .services_head{margin-bottom:2rem;}
  .services_explorer{margin-top:1.5rem;}
  .work_card{min-height:20rem;}
  .services_row:not(.is-active) .services_row-arrow{opacity:0;}
  .services_row.is-active{box-shadow:inset 3px 0 0 #ed9301;}
}
@media (max-width:479px){
  .section_hero.is-photo{padding:1.25rem 1.25rem 2.5rem 1.25rem;}
  .hero_heading{font-size:1.85rem;line-height:1.12;max-width:none;}
  .cta_actions{flex-direction:column;align-items:stretch;}
  .cta_actions .button,.cta_phone{width:100%;justify-content:center;}
  .reviews_agg-action{width:100%;justify-content:center;}
  .footer_links{gap:0.4375rem;}
  .about_media-tile{right:-0.5rem;top:-1rem;width:6.5rem;}
  .about_media-badge{left:0.5rem;}
}

/* ============================================================
   REDESIGN PASS 2 (overrides — later source order wins)
   ============================================================ */
/* eyebrow: drop the dot, cleaner tracking */
.eyebrow_dot{display:none;}
.eyebrow{gap:0;letter-spacing:0.16em;}

/* buttons: modern, sentence-case, softer radius */

.navbar_cta{text-transform:none;letter-spacing:0;border-radius:3px;font-size:0.8125rem;font-weight:700;padding:0.75rem 1.125rem;}

/* services head: H2 full width */
.services_head{display:block;}
.services_head-titles{max-width:none;}
.services_heading{max-width:none;}
.services_head-lead{max-width:62ch;margin-top:1.125rem;}

/* stats: bande epuree, claire, filets fins */
.about_stats{display:grid;grid-template-columns:repeat(3,1fr);gap:0;background:none;border:none;border-top:1px solid rgba(23,23,20,.12);border-radius:0;overflow:visible;margin-top:clamp(2.75rem,4.5vw,4rem);}
.about_stat{padding:2rem 1.9rem 0 1.9rem;border-right:1px solid rgba(23,23,20,.1);border-bottom:none;}
.about_stat:first-child{padding-left:0;}
.about_stat.is-last{border-right:none;padding-right:0;}
.about_stat-num{color:#171714;font-weight:800;letter-spacing:-0.045em;line-height:1;font-size:clamp(2.5rem,4.4vw,3.6rem);}
.about_stat-num .is-accent{color:#ed9301;}
.about_stat-sup{font-size:0.5em;vertical-align:0.7em;color:#ed9301;font-weight:700;margin-left:0.05em;}
.about_stat-label{color:#5e5848;margin-top:0.85rem;font-size:0.9rem;line-height:1.35;}

/* ---- REALISATIONS carousel ---- */
.work_head{display:flex;justify-content:space-between;align-items:flex-end;gap:1.5rem;flex-wrap:wrap;margin-bottom:2.5rem;}
.work_hint{display:inline-flex;align-items:center;gap:0.5rem;font-size:0.75rem;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:#ed9301;}
.work_hint .w-embed,.work_hint svg{width:1.125rem;height:1.125rem;}
.work_rail-inner{max-width:80rem;margin:0 auto;width:100%;padding-left:2.5rem;padding-right:2.5rem;}
.work_scroller{display:flex;gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:1.25rem;scrollbar-width:none;cursor:grab;}
.work_scroller::-webkit-scrollbar{display:none;}
.work_scroller.is-drag{cursor:grabbing;}
.work_slide{position:relative;flex:0 0 clamp(16.5rem,25vw,21rem);scroll-snap-align:start;aspect-ratio:3/4;border-radius:10px;overflow:hidden;display:flex;align-items:flex-end;color:#ffffff;text-decoration:none;}
.work_slide-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 0.8s cubic-bezier(.32,.72,0,1);}
.work_slide:hover .work_slide-img{transform:scale(1.06);}
.work_slide-shade{position:absolute;inset:0;background:linear-gradient(180deg,transparent 38%,rgba(0,0,0,.86));}
.work_slide-content{position:relative;z-index:2;padding:1.5rem;}
.work_slide-tag{display:inline-flex;font-size:0.6563rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:#171714;background-color:#ed9301;padding:0.3125rem 0.625rem;border-radius:3px;margin-bottom:0.625rem;}
.work_slide-title{font-size:1.25rem;color:#ffffff;letter-spacing:-0.01em;}
.work_slide-loc{display:flex;align-items:center;gap:0.375rem;font-size:0.8125rem;color:rgba(255,255,255,.82);margin-top:0.5rem;}
.work_slide-loc .w-embed,.work_slide-loc svg{width:0.875rem;height:0.875rem;color:#ed9301;}
.work_slide-detail{font-family:"Grift","Schibsted Grotesk",sans-serif;font-style:italic;font-size:0.8125rem;color:rgba(255,255,255,.86);margin-top:0.375rem;}
.work_nav{display:flex;align-items:center;gap:1rem;}
.work_arrow{width:3rem;height:3rem;border-radius:50%;border:1.5px solid rgba(255,255,255,.25);color:#f1eee5;display:grid;place-items:center;flex:0 0 auto;transition:background-color 0.35s,color 0.35s,border-color 0.35s,transform 0.35s;}
.work_arrow:hover{background-color:#ed9301;color:#171714;border-color:#ed9301;transform:translateY(-2px);}
.work_arrow:active{transform:translateY(0);}
.work_arrow .w-embed,.work_arrow svg{width:1.2rem;height:1.2rem;}
.work_cta{display:flex;justify-content:center;margin-top:2.5rem;}

/* ---- AVIS (Proposition 3 : pull-quote vedette) ---- */
.rev{position:relative;overflow:hidden;background-color:#faf6ee;}
.rev_glow{position:absolute;top:-8rem;left:50%;transform:translateX(-50%);width:38rem;height:38rem;border-radius:50%;background:radial-gradient(circle,rgba(253,241,218,.9),transparent 70%);filter:blur(60px);pointer-events:none;z-index:0;}
.rev_head{position:relative;z-index:1;text-align:center;max-width:48rem;margin:0 auto 3.5rem;}
.rev_heading{margin-top:1rem;}
.rev_rating{display:inline-flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:0.9rem;margin-top:1.4rem;padding:0.7rem 1.4rem;background-color:#fff;border:1px solid rgba(237,147,1,.25);border-radius:999px;box-shadow:0 12px 30px rgba(152,92,0,.1);}
.rev_rating-stars{color:#ed9301;font-size:1.45rem;letter-spacing:0.1em;line-height:1;}
.rev_rating-score{display:inline-flex;align-items:baseline;}
.rev_rating-score .serif{font-size:2.2rem;color:#ed9301;line-height:1;}
.rev_rating-out{font-size:1.2rem;font-weight:700;color:#5e5848;margin-left:0.1rem;}
.rev_rating-sep{width:0.4rem;height:0.4rem;border-radius:50%;background-color:rgba(237,147,1,.5);}
.rev_rating-count{font-size:1.0625rem;font-weight:700;color:#171714;}
.rev_heading .serif{color:#ed9301;}
.rev_feature{position:relative;z-index:1;background:linear-gradient(160deg,#fffdf9,#f3ead9);border:1px solid rgba(237,147,1,.16);border-radius:10px;padding:4rem 3.5rem 3rem;margin:0 auto 1.6rem;max-width:62rem;text-align:center;box-shadow:0 30px 70px rgba(152,92,0,.08);}
.rev_quoteglyph{position:absolute;top:0.4rem;left:2rem;font-size:7rem;color:#ed9301;opacity:.32;line-height:1;}
.rev_feature-quote{font-size:1.6rem;line-height:1.45;color:#171714;margin:0 0 1.6rem;letter-spacing:-0.01em;}
.rev_feature-name{font-weight:700;color:#171714;display:block;}
.rev_feature-role{color:#5e5848;font-size:0.95rem;}
.rev_grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem;max-width:62rem;margin:0 auto;}
.rev_card{background-color:#ffffff;border:1px solid rgba(23,23,20,.07);border-radius:10px;padding:1.8rem;display:flex;flex-direction:column;transition:transform 0.4s,box-shadow 0.4s;}
.rev_card:hover{transform:translateY(-4px);box-shadow:0 20px 44px rgba(23,23,20,.1);}
.rev_stars{color:#ed9301;letter-spacing:.12em;margin-bottom:0.9rem;font-size:1.05rem;}
.rev_card-quote{font-size:0.98rem;color:#3a362f;margin:0 0 1.1rem;flex:1;}
.rev_card-name{font-weight:600;color:#171714;font-size:0.92rem;}
.rev_card.is-badge{background:linear-gradient(155deg,#1c1810,#141109);border-color:rgba(237,147,1,.2);padding:0;}
.rev_badge-link{display:flex;flex-direction:column;justify-content:center;gap:0.6rem;height:100%;padding:1.8rem;color:#faf6ee;}
.rev_badge-top{display:flex;align-items:center;gap:0.75rem;}
.rev_badge-g{width:2.1rem;height:2.1rem;border-radius:50%;background-color:#ffffff;color:#171714;font-weight:800;display:grid;place-items:center;}
.rev_badge-score{font-size:1.9rem;font-weight:800;}
.rev_badge-out{opacity:.55;}
.rev_badge-stars{color:#ed9301;letter-spacing:.12em;}
.rev_badge-sub{font-size:0.9rem;opacity:.82;}
.rev_badge-cta{color:#f3c98a;margin-top:0.3rem;}
@media (max-width:991px){.rev_grid{grid-template-columns:1fr;}.rev_feature{padding:3rem 1.5rem 2.4rem;}.rev_feature-quote{font-size:1.3rem;}.rev_quoteglyph{font-size:5rem;left:1rem;}}

/* ---- WHY: scroll-stacking cards ---- */
.why_layout{display:grid;grid-template-columns:0.82fr 1.18fr;gap:clamp(2rem,5vw,5rem);align-items:start;}
.why_intro{position:sticky;top:clamp(6rem,16vh,8.5rem);align-self:start;}
.why_heading{margin-top:1rem;}
.why_count{display:inline-flex;align-items:baseline;gap:0.5rem;margin-top:1.75rem;font-size:0.8125rem;letter-spacing:0.14em;text-transform:uppercase;color:#8a8472;}
.why_count-cur{font-family:"Mochira","Schibsted Grotesk",sans-serif;font-style:italic;font-size:1.5rem;color:#ed9301;letter-spacing:0;}
.why_stack{display:flex;flex-direction:column;gap:1.4rem;padding-bottom:16vh;}
.why_card{position:sticky;top:calc(clamp(6rem,16vh,8.5rem) + var(--i,0) * 2.1rem);display:grid;grid-template-columns:1fr minmax(7rem,10.5rem);gap:1.5rem;align-items:center;background-color:#ffffff;border:1px solid #e7ddc9;border-radius:16px;padding:1.6rem 1.75rem;box-shadow:0 26px 50px -22px rgba(23,23,20,.32);}
.why_card-top{display:flex;align-items:baseline;gap:0.85rem;}
.why_card-num{font-family:"Mochira","Schibsted Grotesk",sans-serif;font-style:italic;font-size:1.5rem;color:#ed9301;line-height:1;flex:0 0 auto;}
.why_card-title{font-size:clamp(1.1rem,1.5vw,1.45rem);letter-spacing:-0.01em;line-height:1.14;}
.why_card-desc{color:#5e5848;margin-top:0.7rem;font-size:0.95rem;line-height:1.55;}
.why_card-thumb{align-self:stretch;border-radius:11px;overflow:hidden;min-height:7rem;}
.why_card-thumb img{width:100%;height:100%;object-fit:cover;display:block;}

/* Pourquoi nous choisir — cartes noires empilées au scroll (sticky) */
.why2_layout{display:grid;grid-template-columns:0.82fr 1.18fr;gap:clamp(2rem,5vw,5rem);align-items:start;}
.why2_intro{position:sticky;top:clamp(6rem,16vh,8.5rem);align-self:start;}
.why2_lead{color:#5e5848;margin-top:1.1rem;font-size:1.0625rem;max-width:34ch;}
.why2_count{display:inline-flex;align-items:baseline;gap:0.5rem;margin-top:1.75rem;font-size:0.8125rem;letter-spacing:0.14em;text-transform:uppercase;color:#8a8472;}
.why2_count-cur{font-family:"Mowina","Rogifta",serif;font-style:italic;font-size:1.5rem;color:#ed9301;letter-spacing:0;}
.why2_photo{display:block;width:100%;margin-top:2rem;border-radius:14px;border:1px solid #e7ddc9;aspect-ratio:16/10;object-fit:cover;box-shadow:0 18px 40px -20px rgba(23,23,20,.28);}
.why2_stack{display:flex;flex-direction:column;gap:1.4rem;padding-bottom:16vh;}
.why2_card{position:sticky;top:clamp(6rem,16vh,8.5rem);background-color:#171714;border:1px solid #2c2c27;border-radius:18px;padding:2rem 2.1rem 2.05rem;box-shadow:0 26px 50px -22px rgba(0,0,0,.55);transition:border-color .4s ease;}
.why2_card.is-2{top:calc(clamp(6rem,16vh,8.5rem) + 2.2rem);}
.why2_card.is-3{top:calc(clamp(6rem,16vh,8.5rem) + 4.4rem);}
.why2_card.is-4{top:calc(clamp(6rem,16vh,8.5rem) + 6.6rem);}
.why2_card:hover{border-color:#ed9301;}
.why2_card-top{display:flex;align-items:baseline;gap:0.9rem;}
.why2_num{font-family:"Mowina","Rogifta",serif;font-style:italic;font-size:1.9rem;color:#ed9301;line-height:1;flex:0 0 auto;}
.why2_title{font-size:clamp(1.2rem,1.6vw,1.5rem);color:#f3efe6;letter-spacing:-0.01em;line-height:1.14;}
.why2_desc{color:rgba(243,239,230,.64);margin-top:0.75rem;font-size:0.97rem;line-height:1.6;}
@media (max-width:991px){.why2_layout{grid-template-columns:1fr;gap:2.5rem;}.why2_intro{position:static;}.why2_card{position:static;top:auto;}.why2_stack{padding-bottom:0;}}

/* ---- TRUST band (certifications, logo slots) ---- */
.trust{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;}
.trust_item{display:flex;align-items:center;gap:1rem;background-color:#ffffff;border:1px solid #e2d8c2;border-radius:12px;padding:1.25rem 1.375rem;transition:transform 0.35s cubic-bezier(.32,.72,0,1),box-shadow 0.35s ease;}
.trust_item:hover{transform:translateY(-4px);box-shadow:0 16px 36px rgba(23,23,20,.08);}
.trust_item-mark{flex:0 0 auto;width:3rem;height:3rem;border-radius:8px;background-color:#faf6ee;display:flex;align-items:center;justify-content:center;overflow:hidden;}
.trust_item-logo{max-width:100%;max-height:100%;object-fit:contain;display:block;}
.trust_item-fallback{display:none;align-items:center;justify-content:center;color:#c97500;}
.trust_item-fallback .w-embed,.trust_item-fallback svg{width:1.5rem;height:1.5rem;}
.trust_item-title{font-weight:700;font-size:1.0625rem;color:#171714;letter-spacing:-0.01em;}
.trust_item-sub{font-size:0.8125rem;color:#5e5848;margin-top:0.125rem;}

/* ---- GOOGLE reviews badge ---- */
.reviews_agg{display:flex;justify-content:center;margin-top:2.75rem;border:none;background:none;padding:0;}
.gbadge{display:inline-flex;align-items:center;gap:1.125rem;background-color:#ffffff;border-radius:14px;padding:1.0625rem 1.5rem;box-shadow:0 16px 38px rgba(0,0,0,.28);text-decoration:none;transition:transform 0.35s cubic-bezier(.32,.72,0,1),box-shadow 0.35s ease;}
.gbadge:hover{transform:translateY(-3px);box-shadow:0 22px 50px rgba(0,0,0,.34);}
.gbadge_left{flex:0 0 auto;width:2.75rem;height:2.75rem;border-radius:50%;background-color:#faf6ee;display:flex;align-items:center;justify-content:center;overflow:hidden;}
.gbadge_logo{max-width:78%;max-height:78%;object-fit:contain;}
.gbadge_logo-fallback{display:none;align-items:center;justify-content:center;width:100%;height:100%;font-family:"Mochira","Schibsted Grotesk",sans-serif;font-weight:800;font-size:1.5rem;color:#c97500;}
.gbadge_top{display:flex;align-items:center;gap:0.5rem;}
.gbadge_score{font-size:1.75rem;font-weight:800;color:#171714;line-height:1;letter-spacing:-0.02em;}
.gbadge_out{font-size:1rem;color:#5e5848;}
.review_stars.is-gold{display:inline-flex;gap:1px;color:#ed9301;}
.review_stars.is-gold .review_star{width:1rem;height:1rem;}
.gbadge_sub{font-size:0.8125rem;color:#5e5848;margin-top:0.25rem;}
.gbadge_sub strong{color:#171714;}
.gbadge_cta{display:inline-flex;align-items:center;gap:0.375rem;margin-left:0.5rem;font-size:0.8125rem;font-weight:700;color:#985c00;white-space:nowrap;}
.gbadge_cta .w-embed,.gbadge_cta svg{width:0.9375rem;height:0.9375rem;}

/* review cards: more prominent on dark */
.review_card{background-color:rgba(255,255,255,.05);border:1px solid rgba(241,238,229,.16);border-radius:14px;padding:2rem;}
.review_card:hover{transform:translateY(-5px);border-color:rgba(237,147,1,.55);box-shadow:0 24px 50px rgba(0,0,0,.32);}
.review_quote{font-size:1rem;line-height:1.65;}

/* ---- FOOTER giraffe ---- */
.footer{position:relative;overflow:hidden;}
.footer_giraffe{position:absolute;right:clamp(1rem,4vw,3rem);bottom:0;width:clamp(6.5rem,11vw,10.5rem);height:auto;z-index:0;opacity:0.92;pointer-events:none;filter:drop-shadow(0 10px 24px rgba(0,0,0,.4));}
.footer_top,.footer_bottom{position:relative;z-index:1;}

/* ---- responsive for redesign ---- */
@media (max-width:991px){
  .about_stats{grid-template-columns:1fr;}
  .about_stat{border-right:none;border-bottom:1px solid rgba(23,23,20,.1);padding:1.4rem 0;}
  .about_stat:first-child{padding-top:1.4rem;padding-left:0;}
  .about_stat.is-last{border-bottom:none;}
  .trust{grid-template-columns:repeat(2,1fr);}
  .why_layout{grid-template-columns:1fr;gap:2.5rem;}
  .why_intro{position:static;}
  .why_card{position:static;top:auto;}
  .why_stack{padding-bottom:0;}
  .work_rail-inner{padding-left:1.5rem;padding-right:1.5rem;}
}
@media (max-width:767px){
  .why_card{grid-template-columns:1fr;}
  .why_card-thumb{display:none;}
  .work_slide{flex-basis:78vw;}
}
@media (max-width:600px){
  .footer_giraffe{display:none;}
}
@media (max-width:479px){
  .trust{grid-template-columns:1fr;}
  .work_rail-inner{padding-left:1.25rem;padding-right:1.25rem;}
  .gbadge{flex-wrap:wrap;gap:0.875rem;}
  .gbadge_cta{margin-left:0;}
}


/* ============== SECTION MÉTHODE — 4 étapes typographiques ============== */
.section_method{background-color:#FAF6EE;position:relative;overflow:hidden;}
.method_head{display:flex;flex-direction:column;align-items:flex-start;gap:1rem;max-width:56rem;margin-bottom:5rem;}
.method_heading{font-size:clamp(1.875rem,4vw,3rem);line-height:1.1;letter-spacing:-0.02em;color:#171714;margin:0;}
.method_lead{font-size:1.0625rem;line-height:1.55;color:#3A3A3A;max-width:36rem;margin:0;}
.method_grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;position:relative;}
.method_grid::before{content:"";position:absolute;top:3.5rem;left:8%;right:8%;height:1px;background-image:linear-gradient(to right,#ED9301 50%,transparent 50%);background-size:10px 1px;background-repeat:repeat-x;z-index:0;}
.method_step{position:relative;z-index:1;background-color:#FAF6EE;display:flex;flex-direction:column;gap:1.25rem;padding:0 0.5rem;transition:transform .4s cubic-bezier(.32,.72,0,1);}
.method_step:hover{transform:translateY(-8px);}
.method_step-num{font-family:"Mowina","Rogifta",serif;font-style:italic;font-weight:500;font-size:clamp(4rem,7vw,6rem);line-height:1;color:#171714;margin-bottom:0.25rem;transition:color .35s ease;}
.method_step:hover .method_step-num{color:#ED9301;}
.method_step-num .serif{display:inline-block;}
.method_step-icon{width:3rem;height:3rem;border-radius:50%;background-color:#FDF1DA;display:flex;align-items:center;justify-content:center;color:#ED9301;position:relative;z-index:2;transition:background-color .35s ease,color .35s ease,transform .35s ease,box-shadow .35s ease;}
.method_step:hover .method_step-icon{background-color:#ED9301;color:#171714;transform:scale(1.1);box-shadow:0 12px 26px rgba(237,147,1,.45);}
.method_step-icon svg{width:1.5rem;height:1.5rem;}
.method_step-title{font-size:1.375rem;font-weight:600;line-height:1.25;color:#171714;margin:0;}
.method_step-text{font-size:0.9375rem;line-height:1.55;color:#3A3A3A;margin:0;}
.method_step-tag{display:inline-flex;align-items:center;align-self:flex-start;padding:0.375rem 0.75rem;border:1px solid rgba(237,147,1,0.3);background-color:#FDF1DA;color:#C97500;font-size:0.75rem;font-weight:600;letter-spacing:0.05em;text-transform:uppercase;border-radius:3px;margin-top:0.5rem;transition:background-color .35s ease,border-color .35s ease,color .35s ease;}
.method_step:hover .method_step-tag{background-color:#ED9301;border-color:#ED9301;color:#171714;}
.method_cta{margin-top:5rem;display:flex;justify-content:center;}
@media (max-width:1024px){
  .method_grid{grid-template-columns:repeat(2,1fr);gap:3rem 2rem;}
  .method_grid::before{display:none;}
}
@media (max-width:600px){
  .method_grid{grid-template-columns:1fr;gap:3rem;}
  .method_grid::before{display:block;top:4rem;bottom:4rem;left:1.5rem;right:auto;width:1px;height:auto;background-image:linear-gradient(to bottom,#ED9301 50%,transparent 50%);background-size:1px 10px;}
  .method_step{padding-left:4rem;}
  .method_step-icon{position:absolute;left:0;top:4rem;}
  .method_head{margin-bottom:3rem;}
  .method_cta{margin-top:3rem;}
}


/* === PAGES INTERNES (services / realisations / legal) === */
/* -- navbar active -- */
.navbar_link.is-current{color:#985c00;}

/* -- Subhero (hero interne) -- */
.subhero{position:relative;background-color:#171714;color:#faf6ee;overflow:hidden;min-height:56vh;display:flex;align-items:flex-end;padding-top:8.5rem;padding-bottom:3rem;}
.subhero>.padding-global{width:100%;}
.subhero.is-tall{min-height:68vh;}
.subhero.is-centered{align-items:center;min-height:76vh;padding-top:6.5rem;padding-bottom:4.5rem;}
.subhero.is-plain{min-height:auto;background-color:#faf6ee;color:#171714;display:block;padding-top:10rem;padding-bottom:1.5rem;}
.subhero_photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;will-change:transform;}
.subhero.is-tall .subhero_photo{height:118%;top:-9%;}
.subhero.is-centered .subhero_photo{height:118%;top:-9%;}
.subhero_overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(23,23,20,.5) 0%,rgba(23,23,20,.34) 42%,rgba(23,23,20,.84) 100%);}
.subhero_grain{position:absolute;inset:0;z-index:1;opacity:.05;pointer-events:none;background-image:radial-gradient(rgba(255,255,255,.9) .5px,transparent .5px);background-size:3px 3px;}
.subhero_inner{position:relative;z-index:2;width:100%;}
.subhero_eyebrow{margin-bottom:1.1rem;}
.subhero_title{color:#faf6ee;max-width:20ch;}
.subhero_title.is-dark{color:#171714;}
.subhero.is-plain .subhero_title{color:#171714;}
.subhero_title .serif{color:#f2a938;}
.subhero.is-plain .subhero_title .serif{color:#985c00;}
.subhero_lead{margin-top:1.3rem;max-width:62ch;font-size:1.15rem;line-height:1.62;color:rgba(250,246,238,.9);}
.subhero_loc{display:inline-flex;align-items:center;gap:.45rem;margin-top:1.1rem;color:#f2a938;font-weight:600;}
.subhero_loc .w-embed svg{width:1.05rem;height:1.05rem;}
.subhero_actions{display:flex;flex-wrap:wrap;align-items:center;gap:1.3rem;margin-top:1.9rem;}
.subhero_tel{display:inline-flex;align-items:center;gap:.6rem;font-weight:700;color:#faf6ee;}
.subhero_tel .w-embed{display:inline-flex;}
.subhero_tel .w-embed svg{width:1.15rem;height:1.15rem;color:#ed9301;}
.subhero_tel:hover{color:#f2a938;}
.subhero_trust{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.9rem;}
.subhero_chip{font-size:.75rem;font-weight:600;letter-spacing:.02em;padding:.42rem .85rem;border-radius:3px;background:rgba(250,246,238,.12);border:1px solid rgba(250,246,238,.22);color:#faf6ee;}
.subhero_stats{display:flex;align-items:center;flex-wrap:wrap;gap:1.6rem;margin-top:2.1rem;}
.subhero_stat{display:flex;flex-direction:column;gap:.2rem;}
.subhero_stat-n{font-family:"Mowina","Rogifta",serif;font-size:2rem;line-height:1;color:#faf6ee;}
.subhero_stat-l{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:rgba(250,246,238,.72);}
.subhero_stat-div{width:1px;height:2.6rem;background:rgba(250,246,238,.26);}

/* -- Breadcrumb -- */
.breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:rgba(250,246,238,.72);margin-bottom:1.5rem;}
.subhero.is-plain .breadcrumb{color:#5e5848;}
.breadcrumb_link:hover{color:#f2a938;}
.subhero.is-plain .breadcrumb_link:hover{color:#985c00;}
.breadcrumb_here{color:#f2a938;}
.subhero.is-plain .breadcrumb_here{color:#985c00;}
.breadcrumb_sep{opacity:.5;}

/* -- Service : intro -- */
.svc_intro{background-color:#faf6ee;}
.svc_intro-grid{display:grid;grid-template-columns:0.85fr 1.15fr;gap:4rem;}
.svc_intro-aside{position:sticky;top:7rem;align-self:start;}
.svc_intro-h2{margin:1rem 0 1.7rem;font-size:clamp(1.6rem,2.6vw,2.3rem);}
.svc_points{display:flex;flex-direction:column;gap:.9rem;}
.svc_point{display:flex;gap:.75rem;align-items:flex-start;font-weight:500;color:#3a352c;}
.svc_point .w-embed{flex:0 0 auto;width:1.5rem;height:1.5rem;border-radius:50%;background:#fdf1da;display:inline-flex;align-items:center;justify-content:center;margin-top:.1rem;}
.svc_point .w-embed svg{width:.85rem;height:.85rem;color:#c97500;}
.svc_intro-body{display:flex;flex-direction:column;gap:1.3rem;font-size:1.12rem;line-height:1.78;color:#3a352c;}
.svc_intro-body p:first-child{font-size:1.35rem;line-height:1.55;color:#171714;}

/* -- Service : prestations -- */
.svc_prest-sec{background-color:#f1eadb;}
.svc_prest-head{margin-bottom:2.6rem;}
.svc_prest-title{margin-top:.8rem;}
.svc_prest{display:grid;grid-template-columns:repeat(2,1fr);gap:1.2rem;}
.svc_card{background:#faf6ee;border:1px solid rgba(23,23,20,.08);border-radius:4px;padding:1.9rem;transition:transform .35s cubic-bezier(.32,.72,0,1),box-shadow .35s cubic-bezier(.32,.72,0,1);}
.svc_card:hover{transform:translateY(-4px);box-shadow:0 16px 40px rgba(23,23,20,.1);}
.svc_card-ic{width:3rem;height:3rem;border-radius:4px;background:#171714;display:flex;align-items:center;justify-content:center;margin-bottom:1.1rem;}
.svc_card-ic svg{width:1.5rem;height:1.5rem;color:#ed9301;}
.svc_card-t{font-size:1.28rem;margin-bottom:.5rem;}
.svc_card-d{color:#5e5848;font-size:.98rem;line-height:1.62;}

/* -- Service : specs (bande sombre) -- */
.svc_specs-sec{background-color:#171714;color:#faf6ee;}
.svc_specs-inner{display:grid;grid-template-columns:0.8fr 1.2fr;gap:3rem;align-items:center;}
.svc_specs-title{color:#faf6ee;margin-top:.8rem;}
.svc_specs-title .serif{color:#f2a938;}
.svc_specs-list{display:flex;flex-direction:column;gap:1.5rem;}
.svc_spec{border-top:1px solid rgba(250,246,238,.16);padding-top:1.2rem;}
.svc_spec-lab{display:block;font-size:.74rem;text-transform:uppercase;letter-spacing:.14em;color:#f2a938;margin-bottom:.75rem;font-weight:700;}
.svc_spec-tags{display:flex;flex-wrap:wrap;gap:.6rem;}
.svc_chip{padding:.45rem .95rem;border-radius:3px;background:rgba(250,246,238,.08);border:1px solid rgba(250,246,238,.18);font-size:.9rem;}

/* -- Service : realisation liee -- */
.svc_feature-sec{background-color:#faf6ee;}
.svc_feature{display:grid;grid-template-columns:1.1fr 0.9fr;gap:2.6rem;align-items:center;}
.svc_feature-media{position:relative;display:block;border-radius:5px;overflow:hidden;aspect-ratio:4/3;}
.svc_feature-media img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.32,.72,0,1);}
.svc_feature-media:hover img{transform:scale(1.04);}
.svc_feature-shade{position:absolute;inset:0;background:linear-gradient(120deg,rgba(23,23,20,0),rgba(23,23,20,.14));}
.svc_feature-title{margin:.8rem 0 .5rem;}
.svc_feature-loc{display:inline-flex;align-items:center;gap:.4rem;color:#985c00;font-weight:600;margin-bottom:1rem;}
.svc_feature-loc .w-embed svg{width:1rem;height:1rem;}
.svc_feature-txt{color:#5e5848;margin-bottom:1.4rem;line-height:1.72;}

/* -- Service : autres services -- */
.svc_more-sec{background-color:#f1eadb;}
.svc_more-head{margin-bottom:2rem;}
.svc_more{display:grid;grid-template-columns:repeat(2,1fr);gap:0 2.4rem;}
.svc_morelink{display:flex;align-items:center;gap:1rem;padding:1.05rem .3rem;border-bottom:1px solid rgba(23,23,20,.1);font-weight:600;font-size:1.05rem;transition:color .3s,padding .3s;}
.svc_morelink:hover{color:#985c00;padding-left:.8rem;}
.svc_morelink-num{font-size:.8rem;color:#b98a3a;font-weight:700;}
.svc_morelink .w-embed{margin-left:auto;display:inline-flex;}
.svc_morelink .w-embed svg{width:1rem;height:1rem;}

/* -- CTA sous-titre -- */
.cta_sub{max-width:46ch;margin:1.2rem auto 0;color:rgba(241,238,229,.82);font-size:1.08rem;line-height:1.6;}

/* -- Realisation : meta -- */
.case_meta-sec{background-color:#171714;color:#faf6ee;padding-top:3.4rem;padding-bottom:3.4rem;}
.case_meta{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(250,246,238,.14);border:1px solid rgba(250,246,238,.14);border-radius:4px;overflow:hidden;}
.case_fact{background:#171714;padding:1.6rem 1.4rem;display:flex;flex-direction:column;gap:.45rem;}
.case_fact-lab{font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;color:#f2a938;font-weight:700;}
.case_fact-val{font-size:1.05rem;font-weight:500;}

/* -- Realisation : narratif -- */
.case_body-sec{background-color:#faf6ee;}
.case_body{display:flex;flex-direction:column;gap:2.5rem;}
.case_h{font-size:clamp(1.4rem,2.2vw,1.9rem);margin-bottom:.7rem;}
.case_p{font-size:1.14rem;line-height:1.8;color:#3a352c;}
.case_block:first-child .case_p{font-size:1.32rem;line-height:1.6;color:#171714;}
.case_pull{position:relative;margin:1rem 0 0;padding:2.6rem 2rem 2.1rem 3.2rem;background:#171714;color:#faf6ee;border-radius:5px;}
.case_pull-glyph{position:absolute;top:.6rem;left:1.1rem;font-size:4.2rem;line-height:1;color:#ed9301;}
.case_pull-q{margin:0;font-family:"Mowina","Rogifta",serif;font-style:italic;font-size:1.5rem;line-height:1.42;}

/* -- Realisation : galerie -- */
.case_gallery-sec{background-color:#f1eadb;}
.case_gallery{margin-top:1.6rem;display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;}
.case_shot{margin:0;border-radius:4px;overflow:hidden;aspect-ratio:4/3;}
.case_shot.is-wide{grid-column:1 / -1;aspect-ratio:16/7;}
.case_shot img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.32,.72,0,1);}
.case_shot:hover img{transform:scale(1.03);}

/* -- Realisation : services mobilises -- */
.case_used-sec{background-color:#faf6ee;}
.case_used-head{margin-bottom:1.6rem;}
.case_used-title{margin-top:.7rem;}
.case_tags{display:flex;flex-wrap:wrap;gap:.7rem;}
.case_tag{display:inline-flex;align-items:center;gap:.6rem;padding:.72rem 1.15rem;border:1.5px solid rgba(23,23,20,.18);border-radius:3px;font-weight:600;transition:background-color .3s,color .3s,border-color .3s;}
.case_tag:hover{background:#171714;color:#faf6ee;border-color:#171714;}
.case_tag .w-embed{display:inline-flex;}
.case_tag .w-embed svg{width:1rem;height:1rem;}

/* -- Realisation : projet suivant -- */
.case_next{position:relative;display:block;overflow:hidden;}
.case_next-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.32,.72,0,1);}
.case_next:hover .case_next-img{transform:scale(1.05);}
.case_next-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(23,23,20,.42),rgba(23,23,20,.76));}
.case_next-inner{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;gap:.6rem;text-align:center;color:#faf6ee;padding-top:5rem;padding-bottom:5rem;}
.case_next-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.16em;color:#f2a938;font-weight:700;}
.case_next-title{font-size:clamp(1.8rem,3.5vw,2.8rem);color:#faf6ee;}
.case_next-cta{display:inline-flex;align-items:center;gap:.6rem;font-weight:600;margin-top:.5rem;}
.case_next:hover .case_next-cta .w-embed{transform:translateX(4px);}
.case_next-cta .w-embed{display:inline-flex;transition:transform .3s;}
.case_next-cta .w-embed svg{width:1.05rem;height:1.05rem;}

/* -- Landing realisations -- */
.works-sec{background-color:#faf6ee;}
.works_filter{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:2.6rem;}
.works_filter-btn{padding:.6rem 1.2rem;border-radius:100px;border:1.5px solid rgba(23,23,20,.16);font-weight:600;font-size:.9rem;color:#5e5848;transition:background-color .3s,color .3s,border-color .3s;}
.works_filter-btn:hover{border-color:#171714;color:#171714;}
.works_filter-btn.is-active{background:#171714;color:#faf6ee;border-color:#171714;}
.works_grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;}
.works_card{display:flex;flex-direction:column;border-radius:5px;overflow:hidden;background:#ffffff;border:1px solid rgba(23,23,20,.07);transition:transform .4s cubic-bezier(.32,.72,0,1),box-shadow .4s cubic-bezier(.32,.72,0,1);}
.works_card:hover{transform:translateY(-5px);box-shadow:0 20px 46px rgba(23,23,20,.13);}
.works_card-media{position:relative;aspect-ratio:4/3;overflow:hidden;}
.works_card-media img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.32,.72,0,1);}
.works_card:hover .works_card-media img{transform:scale(1.06);}
.works_card-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(23,23,20,0) 55%,rgba(23,23,20,.34));}
.works_card-body{padding:1.4rem;display:flex;flex-direction:column;gap:.5rem;}
.works_card-tag{font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:#985c00;font-weight:700;}
.works_card-title{font-size:1.32rem;}
.works_card-loc{display:inline-flex;align-items:center;gap:.4rem;color:#5e5848;font-size:.9rem;}
.works_card-loc .w-embed svg{width:.95rem;height:.95rem;}

/* -- Carte : placeholder de consentement (clic pour charger Google Maps) -- */
.zone_map-consent{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:1.5rem;}
.zone_map-load{display:flex;flex-direction:column;align-items:center;gap:.65rem;text-align:center;max-width:20rem;background:none;border:none;cursor:pointer;font-family:inherit;}
.zone_map-load-ic{width:2.7rem;height:2.7rem;border-radius:50%;background:#171714;display:flex;align-items:center;justify-content:center;transition:transform .3s cubic-bezier(.32,.72,0,1);}
.zone_map-load-ic svg{width:1.3rem;height:1.3rem;color:#ed9301;}
.zone_map-load-t{font-weight:700;font-size:1.05rem;color:#171714;}
.zone_map-load-s{font-size:.8rem;line-height:1.45;color:#5e5848;}
.zone_map-load:hover .zone_map-load-ic{transform:translateY(-3px);}
.zone_map-load:hover .zone_map-load-t{color:#985c00;}

/* -- Legal -- */
.legal-sec{background-color:#faf6ee;}
.legal a{color:#985c00;font-weight:600;text-decoration:underline;text-underline-offset:2px;}
.legal a:hover{color:#c97500;}
.legal{display:flex;flex-direction:column;gap:2.1rem;}
.legal_note{padding:1rem 1.2rem;background:#fdf1da;border-left:3px solid #ed9301;border-radius:3px;font-size:.95rem;color:#5e5848;}
.legal_h{font-size:1.5rem;margin-bottom:.85rem;}
.legal_p{color:#3a352c;line-height:1.75;margin-bottom:.8rem;}
.legal_list{display:flex;flex-direction:column;gap:.5rem;}
.legal_list li{position:relative;padding-left:1.2rem;color:#3a352c;}
.legal_list li::before{content:"";position:absolute;left:0;top:.65em;width:.4rem;height:.4rem;border-radius:50%;background:#ed9301;}

/* -- credit footer -- */
.footer_credit{color:inherit;text-decoration:none;opacity:.8;}
.footer_credit:hover{opacity:1;color:#ed9301;}

/* -- page contact / formulaire devis -- */
.subhero.is-plain .subhero_lead{color:#5e5848;margin-top:1rem;max-width:56ch;}
.contact-sec{background-color:#faf6ee;}
.contact_grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:2.6rem;align-items:start;}
.contact_aside{background:linear-gradient(155deg,#242019,#171714);color:#faf6ee;border-radius:8px;padding:2rem;position:sticky;top:6.5rem;}
.contact_aside-h{font-size:1.2rem;color:#faf6ee;margin-bottom:1.4rem;}
.contact_info{display:flex;align-items:center;gap:.75rem;color:#faf6ee;margin-bottom:1rem;font-size:1rem;word-break:break-word;}
.contact_info-ic{flex:0 0 auto;width:1.35rem;height:1.35rem;color:#ed9301;display:inline-flex;}
.contact_info-ic svg{width:100%;height:100%;}
.contact_hours{color:rgba(250,246,238,.65);font-size:.9rem;margin:.3rem 0 1.5rem;}
.contact_reassure{list-style:none;display:flex;flex-direction:column;gap:.65rem;border-top:1px solid rgba(250,246,238,.15);padding-top:1.4rem;}
.contact_reassure li{position:relative;padding-left:1.6rem;font-size:.92rem;color:#faf6ee;line-height:1.4;}
.contact_reassure li::before{content:"";position:absolute;left:0;top:.15rem;width:.75rem;height:.42rem;border-left:2px solid #ed9301;border-bottom:2px solid #ed9301;transform:rotate(-45deg);}
.contact_form{background:#ffffff;border:1px solid rgba(23,23,20,.08);border-radius:8px;padding:2.1rem;box-shadow:0 14px 44px rgba(23,23,20,.07);}
.contact_row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
.contact_field{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1.15rem;}
.contact_field label{font-size:.85rem;font-weight:600;color:#3a352c;}
.contact_field input,.contact_field select,.contact_field textarea{border:1.5px solid rgba(23,23,20,.16);border-radius:5px;padding:.75rem .9rem;font:inherit;font-size:1rem;color:#171714;background:#faf6ee;transition:border-color .2s,box-shadow .2s,background-color .2s;}
.contact_field input::placeholder,.contact_field textarea::placeholder{color:#a49c8b;}
.contact_field input:focus,.contact_field select:focus,.contact_field textarea:focus{outline:none;border-color:#ed9301;box-shadow:0 0 0 3px rgba(237,147,1,.15);background:#fff;}
.contact_field textarea{resize:vertical;min-height:7rem;}
.contact_consent{display:flex;gap:.65rem;align-items:flex-start;font-size:.86rem;color:#5e5848;line-height:1.5;margin:.3rem 0 1.4rem;cursor:pointer;}
.contact_consent input{margin-top:.15rem;flex:0 0 auto;width:1.05rem;height:1.05rem;accent-color:#ed9301;}
.contact_consent a{color:#985c00;text-decoration:underline;text-underline-offset:2px;}
.contact_submit{width:100%;justify-content:center;}
.contact_smallnote{font-size:.8rem;color:#8a8372;margin-top:.9rem;text-align:center;}
.contact_hp{position:absolute!important;left:-9999px;width:1px;height:1px;opacity:0;}
@media (max-width:767px){
  .contact_grid{grid-template-columns:1fr;gap:1.8rem;}
  .contact_form{order:1;}
  .contact_aside{position:static;top:auto;order:2;}
  .contact_row{grid-template-columns:1fr;gap:0;}
  .contact_form{padding:1.5rem;}
}

/* -- Responsive pages internes -- */
@media (max-width:991px){
  .svc_intro-grid{grid-template-columns:1fr;gap:2.5rem;}
  .svc_intro-aside{position:static;top:auto;}
  .svc_specs-inner{grid-template-columns:1fr;gap:2rem;}
  .svc_feature{grid-template-columns:1fr;gap:1.6rem;}
  .works_grid{grid-template-columns:repeat(2,1fr);}
  .case_meta{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:767px){
  .subhero{min-height:auto;padding-top:7.5rem;padding-bottom:2.5rem;}
  .subhero.is-tall{min-height:auto;}
  .subhero.is-centered{min-height:auto;padding-top:7.5rem;padding-bottom:2.5rem;}
  .svc_prest{grid-template-columns:1fr;}
  .svc_more{grid-template-columns:1fr;gap:0;}
  .works_grid{grid-template-columns:1fr;}
  .case_gallery{grid-template-columns:1fr;}
  .case_shot.is-wide{aspect-ratio:4/3;}
  .subhero_stat-div{display:none;}
}
@media (max-width:479px){
  .case_meta{grid-template-columns:1fr;}
}


/* === SERVICE IDEAL (base charpente, axe conversion) === */
/* hero interne (reprend la base home .hero_*) */
.section_hero.is-inner{min-height:74vh;padding-top:7.5rem;}
/* contraste renforce du texte : degrade noir ancre dans l'angle bas-gauche + colonne gauche assombrie */
.section_hero.is-inner .hero_overlay{background:linear-gradient(to right,rgba(0,0,0,.6) 0%,rgba(0,0,0,.28) 32%,rgba(0,0,0,0) 60%),radial-gradient(125% 140% at 0% 100%,rgba(0,0,0,.92) 0%,rgba(0,0,0,.74) 26%,rgba(0,0,0,.52) 46%,rgba(0,0,0,.28) 64%,rgba(0,0,0,.08) 82%,rgba(0,0,0,0) 94%),linear-gradient(to top,rgba(0,0,0,.52) 0%,rgba(0,0,0,.16) 30%,transparent 58%);}
.section_hero.is-inner .hero_heading{text-shadow:0 2px 20px rgba(0,0,0,.55);}
.section_hero.is-inner .hero_sub{text-shadow:0 1px 12px rgba(0,0,0,.5);}
.hero_heading-sub{display:block;margin-top:.7rem;font-family:"Grift","Schibsted Grotesk",sans-serif;font-size:clamp(1.05rem,1.5vw,1.3rem);font-weight:600;letter-spacing:0;color:rgba(255,255,255,.9);text-shadow:0 1px 8px rgba(0,0,0,.5);}
.hero_breadcrumb{margin-bottom:0;}
.hero_phone{display:inline-flex;align-items:center;gap:.55rem;font-weight:700;color:#ffffff;text-shadow:0 1px 8px rgba(0,0,0,.5);}
.hero_phone .w-embed{display:inline-flex;}
.hero_phone .w-embed svg{width:1.15rem;height:1.15rem;color:#ed9301;}
.hero_phone:hover{color:#f3b34a;}

/* trustbar : vrais logos certifs + note Google */
.trustbar{background-color:#faf6ee;border-bottom:1px solid rgba(23,23,20,.08);}
.trustbar_inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.4rem;padding-top:1.7rem;padding-bottom:1.7rem;}
.trustbar_logos{display:flex;align-items:center;gap:2.8rem;flex-wrap:wrap;justify-content:center;padding:.2rem 0;}
.trustbar_logo{height:3.4rem;width:auto;display:block;}
.trustbar_div{width:1px;height:2.1rem;background:rgba(23,23,20,.16);flex:0 0 auto;}
.trustbar_rating{display:inline-flex;align-items:center;gap:.5rem;padding:.4rem 2rem;font-weight:600;color:#171714;font-size:.95rem;}
.trustbar_rating-stars{color:#f2a938;letter-spacing:1px;}
.trustbar_rating strong{font-weight:700;}

/* savoir-faire */
.sf2{background-color:#faf6ee;}
.sf2_grid{display:grid;grid-template-columns:1.1fr .9fr;gap:3.5rem;align-items:start;}
.sf2_media{position:sticky;top:6.5rem;border-radius:6px;overflow:hidden;aspect-ratio:4/5;}
.sf2_media img{width:100%;height:100%;object-fit:cover;}
.sf2_lead{font-size:1.4rem;line-height:1.5;color:#171714;margin-bottom:1.3rem;}
.sf2_p{font-size:1.1rem;line-height:1.75;color:#3a352c;margin-bottom:1.05rem;}
.sf2_subh{font-size:1.12rem;font-weight:700;color:#171714;margin:2rem 0 1rem;letter-spacing:-.005em;}
.sf2_essences{display:grid;grid-template-columns:repeat(3,1fr);gap:.9rem;margin:1rem 0 .6rem;}
.essence{background:#ffffff;border:1px solid rgba(23,23,20,.08);border-radius:5px;padding:1.2rem;}
.essence_ic{width:2.1rem;height:2.1rem;color:#c97500;margin-bottom:.6rem;}
.essence_ic svg{width:100%;height:100%;}
.essence_t{font-weight:700;font-size:1rem;margin-bottom:.3rem;color:#171714;}
.essence_d{font-size:.88rem;color:#5e5848;line-height:1.5;}
.sf2_checks{display:flex;flex-direction:column;gap:.75rem;margin:1rem 0 .6rem;}
.sf2_check{display:flex;gap:.7rem;align-items:flex-start;color:#3a352c;line-height:1.55;font-size:1.02rem;}
.sf2_check .w-embed{flex:0 0 auto;width:1.4rem;height:1.4rem;border-radius:50%;background:#fdf1da;display:inline-flex;align-items:center;justify-content:center;margin-top:.15rem;}
.sf2_check .w-embed svg{width:.8rem;height:.8rem;color:#c97500;}
.interv{background-color:#ffffff;}
.interv_grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:3rem;align-items:stretch;}
.interv_media{position:relative;border-radius:6px;overflow:hidden;min-height:15rem;}
.interv_media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;}
.interv_h2{font-size:1.35rem;line-height:1.25;letter-spacing:-.005em;margin:.55rem 0 .3rem;color:#171714;}
.interv_note{color:#5e5848;font-size:.92rem;line-height:1.6;margin-top:1rem;}
.interv_list{display:grid;grid-template-columns:1fr;border-top:1px solid rgba(23,23,20,.13);margin-top:1rem;}
.interv_item{display:flex;gap:.9rem;padding:1rem .1rem;border-bottom:1px solid rgba(23,23,20,.13);}
.interv_num{flex:0 0 auto;font-size:.76rem;font-weight:700;letter-spacing:.06em;color:#c97500;padding-top:.18rem;}
.interv_item-t{font-size:1.02rem;line-height:1.3;margin-bottom:.18rem;color:#171714;}
.interv_item-d{font-size:.88rem;line-height:1.5;color:#5e5848;}
.callout{display:flex;gap:1rem;padding:1.3rem 1.4rem;background:#fdf1da;border-left:3px solid #ed9301;border-radius:4px;margin:1.5rem 0;}
.callout_ic{flex:0 0 auto;width:1.5rem;height:1.5rem;color:#c97500;margin-top:.1rem;}
.callout_ic svg{width:100%;height:100%;}
.callout p{font-size:.98rem;line-height:1.62;color:#4a4438;margin:0;}
.callout strong{color:#171714;}

/* process timeline */
.proc{background-color:#171714;color:#faf6ee;}
.proc_head{text-align:center;max-width:42rem;margin:0 auto 3rem;}
.proc_title{color:#faf6ee;margin-top:.8rem;}
.proc_title .serif{color:#f2a938;}
.proc_steps{max-width:46rem;margin:0 auto;display:flex;flex-direction:column;}
.proc_step{position:relative;display:grid;grid-template-columns:auto 1fr;gap:1.4rem;padding-bottom:2.2rem;}
.proc_step:last-child{padding-bottom:0;}
.proc_step:not(:last-child)::before{content:"";position:absolute;left:1.4rem;top:3.1rem;bottom:0;width:1px;background:rgba(242,169,56,.28);}
.proc_num{width:2.8rem;height:2.8rem;border-radius:50%;border:1.5px solid rgba(242,169,56,.45);color:#f2a938;display:flex;align-items:center;justify-content:center;font-family:"Mowina","Rogifta",serif;font-size:1.2rem;flex:0 0 auto;background:#171714;position:relative;z-index:1;}
.proc_step-t{font-size:1.18rem;font-weight:600;margin-bottom:.35rem;color:#faf6ee;padding-top:.35rem;}
.proc_step-d{color:rgba(250,246,238,.72);line-height:1.6;}

/* comparatif */
.compare{background-color:#f1eadb;}
.compare_head{margin-bottom:2rem;max-width:44rem;}
.compare_head h2{margin-top:.8rem;}
.compare_wrap{overflow-x:auto;border-radius:6px;border:1px solid rgba(23,23,20,.1);}
.compare_table{width:100%;border-collapse:collapse;background:#faf6ee;min-width:38rem;}
.compare_table th,.compare_table td{padding:1rem 1.25rem;text-align:left;border-bottom:1px solid rgba(23,23,20,.08);vertical-align:top;font-size:.98rem;}
.compare_table thead th{background:#171714;color:#faf6ee;font-weight:600;font-size:.95rem;}
.compare_table thead th:nth-child(2){color:#f2a938;}
.compare_table td:first-child{font-weight:700;color:#171714;width:30%;}
.compare_table td:nth-child(2){background:rgba(237,147,1,.06);color:#171714;}
.compare_table tr:last-child td{border-bottom:none;}
.compare_avis{display:flex;gap:1rem;margin-top:1.6rem;padding:1.4rem 1.5rem;background:#171714;color:#faf6ee;border-radius:6px;}
.compare_avis_ic{flex:0 0 auto;width:1.6rem;height:1.6rem;color:#f2a938;margin-top:.1rem;}
.compare_avis_ic svg{width:100%;height:100%;}
.compare_avis p{margin:0;line-height:1.62;color:rgba(250,246,238,.88);}
.compare_avis strong{color:#faf6ee;}

/* realisations (2 cartes) */
.sreals{background-color:#faf6ee;}
.sreals_head{margin-bottom:2rem;}
.sreals_head h2{margin-top:.8rem;}
.sreals_grid{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem;margin-bottom:2rem;}
.sreal{position:relative;display:block;border-radius:6px;overflow:hidden;aspect-ratio:16/11;}
.sreal img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.32,.72,0,1);}
.sreal:hover img{transform:scale(1.05);}
.sreal_shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(23,23,20,0) 38%,rgba(23,23,20,.86));}
.sreal_body{position:absolute;left:0;right:0;bottom:0;padding:1.7rem;color:#faf6ee;z-index:2;}
.sreal_tag{display:inline-block;font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:#f2a938;font-weight:700;margin-bottom:.5rem;}
.sreal_t{font-size:1.4rem;color:#faf6ee;margin-bottom:.4rem;}
.sreal_d{font-size:.94rem;color:rgba(250,246,238,.86);line-height:1.5;}

/* pourquoi nous */
.whyg{background-color:#f1eadb;}
.whyg_head{margin-bottom:2.4rem;}
.whyg_head h2{margin-top:.8rem;}
.whyg_grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:1.2rem;}
.whyg_card{background:#faf6ee;border:1px solid rgba(23,23,20,.08);border-radius:6px;padding:1.7rem;transition:transform .35s cubic-bezier(.32,.72,0,1),box-shadow .35s cubic-bezier(.32,.72,0,1),border-color .35s;}
.whyg_card:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(23,23,20,.1);border-color:rgba(237,147,1,.32);}
.whyg_ic{position:relative;width:3.5rem;height:3.5rem;border-radius:11px;background:linear-gradient(150deg,#242019 0%,#171714 70%);display:flex;align-items:center;justify-content:center;margin-bottom:1.25rem;border:1px solid rgba(237,147,1,.24);box-shadow:inset 0 1px 0 rgba(250,246,238,.09),0 7px 18px rgba(23,23,20,.16);}
.whyg_ic::after{content:"";position:absolute;left:50%;bottom:-1px;transform:translateX(-50%);width:36%;height:2px;border-radius:2px;background:#ed9301;}
.whyg_card:hover .whyg_ic{border-color:rgba(237,147,1,.5);}
.whyg_ic svg{width:1.75rem;height:1.75rem;}
.whyg_t{font-size:1.1rem;margin-bottom:.5rem;}
.whyg_d{font-size:.92rem;color:#5e5848;line-height:1.6;}
/* CTA FAQ */
.faq_cta{margin:1.2rem 0 .2rem;}

/* CTA intermediaire */
.midcta{position:relative;background-color:#171714;color:#faf6ee;text-align:center;overflow:hidden;}
.midcta_title{color:#faf6ee;margin-top:.75rem;}
.midcta_title .serif{color:#f2a938;}
.midcta_actions{display:flex;flex-wrap:wrap;gap:1.1rem;justify-content:center;align-items:center;margin-top:1.9rem;}
.midcta_tel{display:inline-flex;align-items:center;gap:.6rem;font-weight:700;font-size:1.2rem;color:#faf6ee;}
.midcta_tel .w-embed{display:inline-flex;}
.midcta_tel .w-embed svg{width:1.2rem;height:1.2rem;color:#ed9301;}
.midcta_tel:hover{color:#f2a938;}

/* Realisations : toolbar (filtres + compteur), cartes enrichies */
.works_toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:2.4rem;}
.works_filter{margin-bottom:0;}
.works_filter-btn{display:inline-flex;align-items:center;gap:.5rem;}
.works_filter-n{display:inline-flex;align-items:center;justify-content:center;min-width:1.4rem;height:1.4rem;padding:0 .4rem;border-radius:100px;background:rgba(23,23,20,.09);font-size:.72rem;font-weight:700;line-height:1;color:#5e5848;}
.works_filter-btn:hover .works_filter-n{color:#171714;}
.works_filter-btn.is-active .works_filter-n{background:rgba(250,246,238,.22);color:#faf6ee;}
.works_count{font-size:.9rem;font-weight:600;color:#5e5848;white-space:nowrap;}
.works_count [data-works-count]{color:#171714;}
.works_card-media{position:relative;}
.works_card-badge{position:absolute;top:.9rem;left:.9rem;z-index:2;padding:.35rem .7rem;border-radius:3px;background:rgba(23,23,20,.82);color:#faf6ee;font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);}
.works_card-desc{margin-top:.15rem;color:#5e5848;font-size:.92rem;line-height:1.55;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.works_card-cta{display:inline-flex;align-items:center;gap:.45rem;margin-top:.5rem;font-size:.78rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#985c00;}
.works_card-cta svg{width:1rem;height:1rem;transition:transform .3s cubic-bezier(.32,.72,0,1);}
.works_card:hover .works_card-cta{color:#c97500;}
.works_card:hover .works_card-cta svg{transform:translateX(4px);}
.works_empty{padding:3.5rem 1rem;text-align:center;color:#5e5848;font-size:1.05rem;}
.works_empty a{color:#985c00;font-weight:600;text-decoration:underline;text-underline-offset:2px;}
@media (max-width:600px){.works_toolbar{flex-direction:column;align-items:flex-start;}}

/* fiche projet : localisation dans le hero + bloc "autres projets" */
.hero_caseloc{display:inline-flex;align-items:center;gap:.45rem;color:#f2a938;font-weight:600;text-shadow:0 1px 8px rgba(0,0,0,.5);}
.hero_caseloc .w-embed{display:inline-flex;}
.hero_caseloc .w-embed svg{width:1.05rem;height:1.05rem;}
.case_more-sec{background-color:#f1eadb;}
.case_more-head{margin-bottom:2.4rem;}
.case_more-title{margin-top:.8rem;}
.case_more-grid{margin-bottom:2rem;}

/* FAQ : bloc autres savoir-faire (liens internes) */
.faq_cross{margin-top:1.6rem;padding-top:1.4rem;border-top:1px solid rgba(23,23,20,.12);}
.faq_cross-label{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.14em;font-weight:700;color:#985c00;margin-bottom:.5rem;}
.faq_cross p{color:#5e5848;line-height:1.6;}
.faq_cross a{color:#171714;font-weight:600;text-decoration:underline;text-decoration-color:rgba(237,147,1,.55);text-underline-offset:2px;}
.faq_cross a:hover{color:#985c00;}

/* barre CTA mobile fixe */
.mcta{position:fixed;left:0;right:0;bottom:0;z-index:850;display:none;grid-template-columns:1fr 1fr;gap:.6rem;padding:.6rem;background:rgba(23,23,20,.96);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 -6px 20px rgba(0,0,0,.28);}
.mcta a{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.85rem;border-radius:4px;font-weight:700;font-size:.95rem;}
.mcta_tel{background:rgba(250,246,238,.12);color:#faf6ee;border:1px solid rgba(250,246,238,.26);}
.mcta_devis{background:#ed9301;color:#ffffff;}
.mcta svg{width:1.1rem;height:1.1rem;flex:0 0 auto;}

@media (max-width:991px){
  .sf2_grid{grid-template-columns:1fr;gap:2.2rem;}
  .sf2_media{position:relative;top:auto;aspect-ratio:16/10;}
  .interv_grid{grid-template-columns:1fr;gap:2rem;}
  .interv_media{aspect-ratio:16/10;max-height:none;order:2;}
  .whyg_grid{grid-template-columns:repeat(2,1fr);}
  .sreals_grid{grid-template-columns:1fr;}
}
@media (max-width:767px){
  .section_hero.is-inner{min-height:auto;padding-top:6rem;}
  .trustbar_logos{gap:2rem;padding:.2rem 0;justify-content:center;}
  .trustbar_logo{height:2.7rem;}
  .trustbar_div{display:none;}
  .trustbar_rating{padding:.4rem 0;}
  .sf2_essences{grid-template-columns:1fr;}
  .whyg_grid{grid-template-columns:1fr;}
  .mcta{display:grid;}
  .footer{padding-bottom:5rem;}
}

/* Bouton de refus de la mesure, section Cookies de la politique de confidentialité. */
.legal_bouton{display:inline-block;margin-left:.4rem;padding:.4rem .8rem;border-radius:4px;
  border:1px solid rgba(23,23,20,.28);background:transparent;color:#171714;
  font:inherit;font-weight:600;font-size:.92rem;cursor:pointer;}
.legal_bouton:hover{background:#171714;color:#faf6ee;border-color:#171714;}
.legal_p code{font-family:ui-monospace,Menlo,monospace;font-size:.9em;
  background:rgba(23,23,20,.06);padding:.1rem .3rem;border-radius:3px;}

/* ============================================================================
   CORRECTIFS RESPONSIVE — placés en fin de fichier À DESSEIN.

   Une règle « footer balance » (.footer_top, 4 colonnes) avait été ajoutée plus
   bas que les media queries mobiles, au niveau de base : elle les écrasait à
   toutes les largeurs, et le pied de page restait en 4 colonnes sur téléphone.
   Plutôt que de déplacer du code existant (risque de régression ailleurs), ces
   correctifs sont posés en dernier : ils gagnent la cascade par leur position.
   ========================================================================== */

/* ---------- Pied de page : colonnes qui s'empilent vraiment ---------- */
@media (max-width:991px){
  .footer_top{grid-template-columns:1fr 1fr;gap:2rem;}
}
@media (max-width:600px){
  .footer_top{grid-template-columns:1fr;gap:2.25rem;padding-top:3.5rem;padding-bottom:2.5rem;}
  .footer_bottom{flex-direction:column;align-items:flex-start;gap:.75rem;}
  /* Zones tactiles : 23px de haut, c'est trop peu pour un doigt. */
  .footer_link{padding:.35rem 0;}
}

/* ---------- Bandeau d'accueil : texte blanc sur photo claire ----------
   Le voile mobile d'origine (0.6 en bas, transparent dès 72%) ne suffit pas sur
   un visuel clair : le titre et le paragraphe deviennent illisibles. On assombrit
   franchement le bas, là où se trouve le texte, en laissant la photo respirer
   vers le haut. */
@media (max-width:767px){
  .section_hero.is-photo .hero_overlay{
    background:linear-gradient(to top,
      rgba(0,0,0,.88) 0%, rgba(0,0,0,.76) 22%, rgba(0,0,0,.56) 42%,
      rgba(0,0,0,.3) 62%, rgba(0,0,0,.1) 80%, rgba(0,0,0,0) 100%);
  }
  .section_hero.is-photo .hero_heading{text-shadow:0 2px 18px rgba(0,0,0,.6);}
  .section_hero.is-photo .hero_sub{text-shadow:0 1px 10px rgba(0,0,0,.6);color:rgba(255,255,255,.94);}
  .section_hero.is-photo .hero_stat-lab{color:rgba(255,255,255,.86);}
}

/* ---------- En-tête : le bouton tenait sur 3 lignes ----------
   À 390px il mesurait 93x88px et poussait l'en-tête à 116px, soit 14% de
   l'écran ; il recouvrait le titre des sections au défilement. On le compacte
   sur une seule ligne et on retire la flèche, qui n'apporte rien à cette taille. */
@media (max-width:991px){
  .navbar_cta{
    white-space:nowrap;
    padding:.6rem .85rem;
    font-size:.6563rem;
    letter-spacing:.06em;
    gap:.35rem;
  }
  .navbar_cta svg,
  .navbar_cta .w-embed{display:none;}
}
@media (max-width:479px){
  .navbar_cta{padding:.55rem .7rem;font-size:.625rem;letter-spacing:.04em;}
  .navbar_logo{height:2.4rem;}
}

/* ---------- Zones tactiles sur téléphone ----------
   Plusieurs liens mesuraient 20 à 26px de haut : c'est sous le seuil de confort
   tactile (44px recommandé). Le numéro de téléphone et l'adresse e-mail sont
   les plus concernés — ce sont justement les liens qui rapportent des clients.
   On élargit la surface cliquable sans changer l'apparence du texte. */
@media (max-width:767px){
  .contact_info,
  .footer_nap-row{min-height:44px;display:flex;align-items:center;}
  .footer_link{padding:.5rem 0;}
  .breadcrumb_link,
  .link-arrow{display:inline-flex;align-items:center;min-height:40px;}
  /* Les libellés en majuscules descendaient sous 12px : trop petit à lire. */
  .footer_col-title,
  .navbar_cta-text{font-size:.6875rem;}
}

/* ---------- Bandeau d'accueil sur tablette (768 à 991px) ----------
   Le dégradé du bureau est un radial concentré en bas À GAUCHE : il suppose un
   écran large où le texte tient dans ce coin. En portrait tablette, le titre
   occupe toute la largeur et sa fin déborde de la zone assombrie. On applique
   un dégradé vertical, moins appuyé que sur téléphone mais couvrant toute la
   largeur. */
@media (min-width:768px) and (max-width:991px){
  .section_hero.is-photo .hero_overlay{
    background:linear-gradient(to top,
      rgba(0,0,0,.82) 0%, rgba(0,0,0,.66) 24%, rgba(0,0,0,.44) 44%,
      rgba(0,0,0,.2) 64%, rgba(0,0,0,.06) 82%, rgba(0,0,0,0) 100%);
  }
  .section_hero.is-photo .hero_heading{text-shadow:0 2px 16px rgba(0,0,0,.55);}
  .section_hero.is-photo .hero_sub{text-shadow:0 1px 10px rgba(0,0,0,.55);}
}
