@font-face{font-family:Syne;src:url('assets/fonts/Syne-Variable.woff2') format('woff2');font-weight:400 800;font-display:swap}
@font-face{font-family:Jakarta;src:url('assets/fonts/PlusJakartaSans-Variable.woff2') format('woff2');font-weight:300 800;font-display:swap}
:root{
  --ink:#17211f;--muted:#66706c;--paper:#f6f4ee;--white:#fff;--line:rgba(23,33,31,.12);
  --blue:#0872b9;--blue2:#0c5fa2;--green:#788d2b;--orange:#f07d12;--sand:#e9e2d6;
  --shadow:0 28px 80px rgba(24,38,35,.14);--shadow-sm:0 14px 40px rgba(24,38,35,.10);
  --r:30px;--r2:22px;--max:1240px;--header:92px;--ease:cubic-bezier(.2,.75,.2,1)
}
*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--paper);overflow-x:hidden}body{margin:0;color:var(--ink);font-family:Jakarta,Arial,sans-serif;background:var(--paper);overflow-x:hidden;-webkit-font-smoothing:antialiased}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}::selection{background:rgba(240,125,18,.24)}
body.masking{overflow:hidden}.site-shell{min-height:100vh}.container{width:min(var(--max),calc(100% - 48px));margin-inline:auto}.section{padding:108px 0;position:relative}.section-tight{padding:78px 0}.kicker{display:flex;align-items:center;gap:13px;text-transform:uppercase;letter-spacing:.19em;font-size:12px;font-weight:760;color:var(--green)}.kicker:before{content:"";width:36px;height:2px;background:linear-gradient(90deg,var(--blue) 0 34%,var(--green) 34% 67%,var(--orange) 67%)}h1,h2,h3,h4,p{margin-top:0}.display{font-family:Syne,sans-serif;font-size:clamp(52px,7.2vw,108px);line-height:.92;letter-spacing:-.065em;font-weight:540}.display em,.section-title em,.inner-copy h1 em{font-style:normal;color:var(--blue)}.section-title{font-family:Syne,sans-serif;font-weight:520;letter-spacing:-.045em;line-height:.98;font-size:clamp(40px,5vw,72px)}.lead{font-size:18px;line-height:1.75;color:var(--muted);max-width:720px}.small{font-size:13px;color:var(--muted)}
.btn{display:inline-flex;align-items:center;gap:18px;border-radius:999px;padding:15px 22px;font-weight:750;font-size:14px;transition:transform .35s var(--ease),box-shadow .35s var(--ease),background .35s}.btn:hover{transform:translateY(-2px)}.btn-primary{background:var(--ink);color:#fff;box-shadow:0 12px 28px rgba(23,33,31,.2)}.btn-primary:hover{background:#0d1715;box-shadow:0 18px 36px rgba(23,33,31,.27)}.btn-blue{background:var(--blue);color:#fff;box-shadow:0 12px 28px rgba(8,114,185,.22)}.btn-outline{border:1px solid rgba(23,33,31,.22);background:rgba(255,255,255,.58);backdrop-filter:blur(12px)}.btn-link{padding:0;border-radius:0;border-bottom:1px solid rgba(23,33,31,.24);padding-bottom:6px}
.icon-arrow{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:rgba(255,255,255,.16)}
/* Fast page transition mask */
.page-mask{position:fixed;inset:0;z-index:9999;pointer-events:none;display:grid;place-items:center;visibility:hidden}.page-mask:before,.page-mask:after{content:"";position:absolute;left:0;width:100%;height:50.5%;background:#fbfaf7;transform:scaleY(0);transition:transform .22s var(--ease)}.page-mask:before{top:0;transform-origin:top}.page-mask:after{bottom:0;transform-origin:bottom}.page-mask__center{position:relative;z-index:2;opacity:0;transform:translateY(6px) scale(.98);transition:opacity .14s ease,transform .14s ease;display:flex;align-items:center;gap:12px;padding:10px 15px;border-radius:999px;background:rgba(255,255,255,.94);border:1px solid rgba(23,33,31,.08);box-shadow:0 12px 34px rgba(23,33,31,.10)}.page-mask__center img{width:52px;height:auto}.page-mask__line{width:48px;height:3px;border-radius:4px;background:linear-gradient(90deg,var(--blue),var(--green),var(--orange));position:relative;overflow:hidden}.page-mask__line:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.95),transparent);transform:translateX(-120%);animation:maskline .55s linear infinite}.page-mask.is-on{visibility:visible;pointer-events:all}.page-mask.is-on:before,.page-mask.is-on:after{transform:scaleY(1)}.page-mask.is-on .page-mask__center{opacity:1;transform:none;transition-delay:.04s}.page-mask.is-leaving:before{transform-origin:bottom}.page-mask.is-leaving:after{transform-origin:top}.page-mask.is-leaving:before,.page-mask.is-leaving:after{transform:scaleY(0)}.page-mask.is-leaving .page-mask__center{opacity:0}.page-mask.is-leaving{pointer-events:none}@keyframes maskline{to{transform:translateX(120%)}}
/* header */
.site-header{height:var(--header);position:sticky;top:0;z-index:200;background:rgba(246,244,238,.78);border-bottom:1px solid transparent;backdrop-filter:saturate(140%) blur(16px);transition:.35s var(--ease)}.site-header.is-scrolled{height:78px;border-color:var(--line);background:rgba(250,249,246,.92);box-shadow:0 10px 35px rgba(23,33,31,.07)}.header-inner{height:100%;width:min(var(--max),calc(100% - 48px));margin:auto;display:grid;grid-template-columns:210px 1fr auto;align-items:center;gap:28px}.logo img{width:115px}.main-nav{display:flex;justify-content:center;align-items:center;gap:30px}.main-nav a{font-size:13px;font-weight:730;position:relative;padding:12px 0}.main-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:4px;height:2px;background:var(--orange);transition:.3s var(--ease)}.main-nav a:hover:after,.main-nav a.active:after{right:0}.header-cta{display:flex;gap:13px;align-items:center;padding-left:24px;border-left:1px solid var(--line)}.header-cta small{display:block;text-transform:uppercase;letter-spacing:.16em;color:#8a938f;font-size:9px}.header-cta b{font-size:12px}.menu-btn{display:none;border:0;background:none;width:46px;height:46px;padding:0}.menu-btn span{display:block;width:26px;height:2px;background:var(--ink);margin:6px auto;transition:.3s}
.mobile-panel{position:fixed;inset:0;z-index:400;background:#f8f6f0;padding:32px;opacity:0;visibility:hidden;transform:translateY(-12px);transition:.35s var(--ease)}.mobile-panel.open{opacity:1;visibility:visible;transform:none}.mobile-panel .top{display:flex;justify-content:space-between;align-items:center}.mobile-panel .top img{width:108px}.mobile-close{width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:#fff}.mobile-links{margin-top:70px;display:grid}.mobile-links a{font-family:Syne;font-size:44px;line-height:1.18;padding:10px 0;border-bottom:1px solid var(--line);letter-spacing:-.04em}
/* premium hero */
.hero{height:min(790px,calc(100vh - 30px));min-height:690px;position:relative;overflow:hidden;background:#ebe8df}.hero-track,.hero-slide{position:absolute;inset:0}.hero-slide{opacity:0;visibility:hidden;transition:opacity .9s var(--ease),visibility .9s}.hero-slide.active{opacity:1;visibility:visible;z-index:2}.hero-slide picture,.hero-slide .hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-slide.active .hero-bg{animation:heroDrift 8s linear both}.hero-slide:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(247,245,239,.97) 0%,rgba(247,245,239,.92) 31%,rgba(247,245,239,.46) 49%,rgba(247,245,239,.06) 67%,rgba(247,245,239,.04) 100%)}@keyframes heroDrift{from{transform:scale(1.045)}to{transform:scale(1)}}.hero-content{position:relative;z-index:4;height:100%;display:flex;align-items:center}.hero-copy{width:min(650px,48vw);padding-top:20px}.hero-copy .kicker{margin-bottom:28px}.hero-copy .display{font-size:clamp(58px,6.6vw,100px);max-width:640px}.hero-copy .lead{max-width:610px;margin:28px 0 32px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.hero-stats{display:flex;gap:32px;margin-top:48px}.hero-stats div{padding-right:32px;border-right:1px solid var(--line)}.hero-stats div:last-child{border:0}.hero-stats strong{font-family:Syne;font-size:28px;display:block;line-height:1}.hero-stats span{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.hero-meta{position:absolute;right:40px;top:42px;z-index:5;width:min(330px,26vw);padding:16px 18px;background:rgba(255,255,255,.84);border:1px solid rgba(255,255,255,.7);border-radius:18px;backdrop-filter:blur(14px);box-shadow:var(--shadow-sm);display:grid;grid-template-columns:48px 1fr;gap:13px;align-items:center}.hero-meta .n{font-family:Syne;color:var(--orange);font-size:25px;font-weight:700;border-right:1px solid var(--line)}.hero-meta b{font-size:13px}.hero-meta small{display:block;margin-top:3px;color:var(--muted);font-size:10px}.hero-dock{position:absolute;z-index:20;bottom:28px;left:50%;transform:translateX(-50%);width:min(var(--max),calc(100% - 48px));display:grid;grid-template-columns:1fr auto;align-items:end;gap:24px}.hero-tabs{display:flex;padding:7px;background:rgba(255,255,255,.84);border:1px solid rgba(255,255,255,.72);backdrop-filter:blur(18px);border-radius:22px;box-shadow:0 18px 48px rgba(23,33,31,.14);max-width:760px}.hero-tab{position:relative;flex:1;border:0;background:transparent;padding:12px 18px;border-radius:16px;text-align:left;color:var(--muted);min-width:170px;transition:.3s}.hero-tab.active{background:#fff;color:var(--ink);box-shadow:0 8px 20px rgba(23,33,31,.08)}.hero-tab span{display:block;font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:var(--orange)}.hero-tab b{display:block;font-size:12px;margin-top:3px}.hero-tab i{position:absolute;bottom:0;left:16px;right:16px;height:2px;background:rgba(23,33,31,.08);overflow:hidden;border-radius:4px}.hero-tab i:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--blue),var(--green),var(--orange));transform:scaleX(0);transform-origin:left}.hero-tab.active i:after{animation:tabProgress 7s linear forwards}.hero.paused .hero-tab.active i:after{animation-play-state:paused}@keyframes tabProgress{to{transform:scaleX(1)}}.hero-arrows{display:flex;gap:8px}.hero-arrows button{width:54px;height:54px;border-radius:50%;border:1px solid rgba(23,33,31,.16);background:rgba(255,255,255,.88);font-size:20px;backdrop-filter:blur(12px);transition:.3s}.hero-arrows button:hover{background:var(--ink);color:#fff;transform:translateY(-2px)}
/* brand signature - deliberately limited to two gestures */
.signature-wrap{height:90px;position:relative;overflow:hidden;margin-top:-1px;background:#fff}.brand-signature{position:absolute;left:50%;bottom:-26px;transform:translateX(-50%);width:min(1500px,115vw);height:160px;opacity:.9}.brand-signature .base{fill:none;stroke-linecap:round;stroke-width:9}.brand-signature .bluegreen{stroke:url(#sigBG)}.brand-signature .orange{stroke:url(#sigO);stroke-width:6}.brand-signature path{stroke-dasharray:1800;stroke-dashoffset:1800;transition:stroke-dashoffset 1.6s var(--ease)}.signature-wrap.in-view path{stroke-dashoffset:0}
/* intro/about */
.manifesto{background:#fff}.manifesto-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:90px;align-items:end}.manifesto-copy p{font-size:20px;line-height:1.7;color:var(--muted);max-width:700px}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.metric{padding:30px 24px;border:1px solid var(--line);border-radius:24px;background:linear-gradient(145deg,#fff,#f4f0e8);transition:.35s var(--ease)}.metric:hover{transform:translateY(-5px);box-shadow:var(--shadow-sm)}.metric strong{display:block;font-family:Syne;font-size:46px;letter-spacing:-.05em}.metric span{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.12em}
/* univers */
.univers-section{background:var(--ink);color:#fff;overflow:hidden}.univers-section .section-title em{color:#8fc4e8}.univers-section .kicker{color:#b6c56c}.univers-head{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:44px}.univers-head .lead{color:rgba(255,255,255,.62);max-width:470px}.universe-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;grid-template-rows:repeat(2,280px);gap:14px}.universe-card{position:relative;overflow:hidden;border-radius:28px;background:#24302d;isolation:isolate}.universe-card:first-child{grid-row:1/3}.universe-card img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease);filter:saturate(.92)}.universe-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,rgba(7,17,15,.82));z-index:1}.universe-card:hover img{transform:scale(1.045)}.universe-card .ucopy{position:absolute;z-index:2;left:24px;right:24px;bottom:22px}.ucopy span{font-size:10px;text-transform:uppercase;letter-spacing:.15em;color:#dbe2df}.ucopy h3{font-family:Syne;font-size:25px;margin:7px 0 4px;letter-spacing:-.03em}.ucopy p{margin:0;font-size:12px;color:rgba(255,255,255,.7)}
/* products */
.products-section{background:#f3efe6}.section-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:42px}.product-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:14px}.product-card{grid-column:span 3;background:#fff;border-radius:26px;border:1px solid rgba(23,33,31,.08);overflow:hidden;min-height:430px;display:flex;flex-direction:column;transition:.42s var(--ease)}.product-card.large{grid-column:span 6;grid-row:span 2;min-height:630px}.product-card:hover{transform:translateY(-6px);box-shadow:var(--shadow)}.product-visual{flex:1;min-height:260px;background:radial-gradient(circle at 50% 40%,#fff 0,#f3efe6 64%,#ece6dc 100%);display:grid;place-items:center;position:relative;overflow:hidden}.product-visual img{max-height:82%;max-width:84%;object-fit:contain;transition:transform .6s var(--ease)}.product-card:hover .product-visual img{transform:scale(1.045) rotate(-1deg)}.product-card.large .product-visual{min-height:450px}.product-card .badge{position:absolute;top:18px;left:18px;border-radius:999px;background:rgba(255,255,255,.8);padding:8px 12px;font-size:9px;text-transform:uppercase;letter-spacing:.14em;border:1px solid rgba(23,33,31,.08);backdrop-filter:blur(10px)}.product-copy{padding:20px 21px 22px}.product-copy small{color:var(--green);font-weight:800;text-transform:uppercase;letter-spacing:.12em;font-size:9px}.product-copy h3{font-family:Syne;font-size:21px;letter-spacing:-.03em;margin:8px 0 8px}.product-copy p{font-size:12px;line-height:1.6;color:var(--muted);margin-bottom:0}
/* cinematic logistics */
.cinematic{padding:0;background:#101714;color:#fff}.cinematic-card{min-height:640px;position:relative;overflow:hidden}.cinematic-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.cinematic-card:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,15,13,.84),rgba(8,15,13,.34) 48%,rgba(8,15,13,.07))}.cinematic-copy{position:relative;z-index:2;padding:110px max(24px,calc((100vw - var(--max))/2));max-width:810px}.cinematic-copy .kicker{color:#c7d278}.cinematic-copy .section-title{font-size:clamp(48px,6vw,86px)}.cinematic-copy .lead{color:rgba(255,255,255,.72);max-width:650px}.cinematic-pills{display:flex;gap:10px;flex-wrap:wrap;margin:32px 0}.cinematic-pills span{padding:10px 13px;border:1px solid rgba(255,255,255,.22);border-radius:999px;background:rgba(255,255,255,.08);backdrop-filter:blur(9px);font-size:11px}
/* brands */
.brands-section{background:#fff}.brand-marquee{overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:24px 0}.brand-track{display:flex;width:max-content;gap:70px;align-items:center;animation:marquee 24s linear infinite}.brand-track:hover{animation-play-state:paused}.brand-track img{height:45px;width:auto;object-fit:contain;filter:grayscale(.2);opacity:.82}.brand-item{min-width:170px;display:flex;justify-content:center}@keyframes marquee{to{transform:translateX(-50%)}}
/* applications */
.application-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.app-card{min-height:420px;border-radius:30px;padding:34px;position:relative;overflow:hidden;background:#fff;border:1px solid var(--line)}.app-card.dark{background:var(--ink);color:#fff}.app-card img{position:absolute;right:-7%;bottom:-12%;width:64%;max-height:78%;object-fit:contain;filter:drop-shadow(0 30px 45px rgba(0,0,0,.15));transition:.7s var(--ease)}.app-card:hover img{transform:translate(-10px,-8px) scale(1.03)}.app-card .index{font-family:Syne;font-size:12px;color:var(--orange)}.app-card h3{font-family:Syne;font-size:clamp(32px,4vw,55px);letter-spacing:-.045em;line-height:1;margin-top:50px;max-width:390px}.app-card p{max-width:380px;color:var(--muted);font-size:14px;line-height:1.65}.app-card.dark p{color:rgba(255,255,255,.62)}
/* catalogue */
.catalogue-section{background:#e9e3d7}.catalogue-shell{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:center}.catalogue-book{position:relative;min-height:520px;display:grid;place-items:center}.catalogue-book:before{content:"";position:absolute;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(8,114,185,.18),transparent 68%)}.catalogue-book img{position:relative;z-index:2;width:min(390px,75%);filter:drop-shadow(0 35px 35px rgba(23,33,31,.22));transform:rotate(-5deg);transition:.6s var(--ease)}.catalogue-book:hover img{transform:rotate(-1deg) translateY(-6px)}
/* quality / network / gallery */
.quality-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.quality-card{padding:28px;border-radius:24px;background:#fff;border:1px solid var(--line);min-height:220px}.quality-card .qicon{width:45px;height:45px;border-radius:14px;background:#edf4e3;display:grid;place-items:center;font-size:21px;color:var(--green)}.quality-card h3{font-family:Syne;margin:30px 0 8px;font-size:20px}.quality-card p{color:var(--muted);font-size:12px;line-height:1.65}.network{background:#fff}.network-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.map-card{background:linear-gradient(135deg,#edf0e9,#fff);border-radius:34px;padding:34px;min-height:510px;display:grid;place-items:center;border:1px solid var(--line)}.map-card img{max-height:410px;filter:drop-shadow(0 25px 30px rgba(23,33,31,.12))}.gallery-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;grid-template-rows:260px 260px;gap:12px}.gallery-grid figure{margin:0;border-radius:24px;overflow:hidden;position:relative}.gallery-grid figure:first-child{grid-row:1/3}.gallery-grid img{width:100%;height:100%;object-fit:cover;transition:.7s var(--ease)}.gallery-grid figure:hover img{transform:scale(1.04)}
/* contact CTA/footer */
.quote-section{background:var(--ink);color:#fff}.quote-card{display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:center}.quote-card .lead{color:rgba(255,255,255,.66)}.quote-actions{display:flex;justify-content:flex-end;gap:12px;flex-wrap:wrap}.footer{padding:70px 0 30px;background:#101613;color:#fff}.footer-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr .8fr;gap:50px}.footer-logo{width:125px;filter:brightness(1.8) grayscale(.3)}.footer h4{font-size:11px;text-transform:uppercase;letter-spacing:.16em;color:#a6b0ac}.footer a,.footer p{font-size:12px;color:#d1d7d4;line-height:2}.footer-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:48px;padding-top:20px;display:flex;justify-content:space-between;font-size:10px;color:#8f9a95}
/* inner page hero */
.inner-hero{position:relative;min-height:620px;display:flex;align-items:end;overflow:hidden;background:#e9e5dc}.inner-hero img.cover{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.inner-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(246,244,238,.98),rgba(246,244,238,.88) 40%,rgba(246,244,238,.22) 68%,rgba(246,244,238,.03))}.inner-copy{position:relative;z-index:2;padding:100px 0 82px;width:min(680px,52vw)}.inner-copy h1{font-family:Syne;font-size:clamp(56px,7vw,96px);line-height:.94;letter-spacing:-.06em;font-weight:520}.breadcrumbs{font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:var(--muted);margin-bottom:25px}.breadcrumbs a{color:var(--green)}
/* about */
.story-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:90px}.sticky-title{position:sticky;top:120px;align-self:start}.story-copy p{font-size:18px;line-height:1.85;color:var(--muted)}.value-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.value-card{padding:32px;border-radius:26px;background:#fff;border:1px solid var(--line);min-height:260px}.value-card span{font-family:Syne;font-size:13px;color:var(--orange)}.value-card h3{font-family:Syne;font-size:25px;letter-spacing:-.03em;margin:48px 0 10px}.value-card p{font-size:12px;line-height:1.7;color:var(--muted)}
/* category */
.category-intro{background:#fff}.filterbar{position:sticky;top:80px;z-index:40;background:rgba(255,255,255,.92);backdrop-filter:blur(14px);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.filterbar-inner{display:flex;gap:8px;align-items:center;overflow:auto;padding:12px 0;scrollbar-width:none}.filter-chip{border:1px solid var(--line);background:#fff;border-radius:999px;padding:10px 15px;font-size:11px;white-space:nowrap}.filter-chip.active{background:var(--ink);color:#fff;border-color:var(--ink)}.category-products{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.catalog-product{background:#fff;border-radius:25px;border:1px solid var(--line);overflow:hidden;transition:.35s var(--ease)}.catalog-product:hover{transform:translateY(-5px);box-shadow:var(--shadow-sm)}.catalog-product .pic{height:290px;background:radial-gradient(circle,#fff,#f0ece3);display:grid;place-items:center;padding:28px}.catalog-product .pic img{max-height:100%;max-width:100%;object-fit:contain}.catalog-product .body{padding:20px}.catalog-product .body small{font-size:9px;color:var(--green);text-transform:uppercase;letter-spacing:.13em}.catalog-product .body h3{font-family:Syne;font-size:19px;margin:8px 0}.catalog-product .body p{font-size:11px;line-height:1.6;color:var(--muted)}
.category-switch{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.category-switch a{padding:28px;border-radius:24px;background:#fff;border:1px solid var(--line);min-height:175px;transition:.3s}.category-switch a:hover{background:var(--ink);color:#fff;transform:translateY(-4px)}.category-switch span{font-size:10px;color:var(--orange)}.category-switch h3{font-family:Syne;font-size:22px;margin:32px 0 0}
/* product detail */
.product-detail{background:#fff;padding:80px 0 100px}.product-detail-grid{display:grid;grid-template-columns:1fr .9fr;gap:70px}.product-gallery-main{min-height:580px;border-radius:34px;background:radial-gradient(circle at 50% 40%,#fff,#efebe2 70%);display:grid;place-items:center;overflow:hidden}.product-gallery-main img{max-height:480px;max-width:88%;object-fit:contain}.thumbs{display:flex;gap:10px;margin-top:12px}.thumbs button{width:90px;height:78px;border:1px solid var(--line);border-radius:16px;background:#f7f4ee;display:grid;place-items:center}.thumbs img{max-width:70px;max-height:62px;object-fit:contain}.product-summary{padding-top:20px}.brand-tag{display:inline-flex;align-items:center;gap:10px;padding:8px 12px;border-radius:999px;background:#f0f3e8;color:var(--green);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.13em}.product-summary h1{font-family:Syne;font-size:clamp(42px,5vw,68px);line-height:1;letter-spacing:-.05em;margin:20px 0}.product-summary .lead{font-size:16px}.info-list{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:28px 0}.info-list div{padding:18px;border-radius:18px;background:#f7f4ee}.info-list small{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}.info-list b{display:block;font-size:13px;margin-top:5px}.quote-box{padding:24px;border-radius:22px;background:var(--ink);color:#fff;margin-top:24px}.quote-box p{font-size:12px;color:#c6ceca;line-height:1.65}.specs{background:#f3efe7}.spec-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px}.spec-table{background:#fff;border-radius:28px;border:1px solid var(--line);overflow:hidden}.spec-row{display:grid;grid-template-columns:1fr 1.3fr;padding:18px 22px;border-bottom:1px solid var(--line);font-size:12px}.spec-row:last-child{border-bottom:0}.spec-row span{color:var(--muted)}
/* contact page */
.contact-hero{background:#fff}.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;min-height:650px}.contact-copy{padding:90px max(24px,calc((100vw - var(--max))/2)) 80px;padding-right:60px}.contact-visual{position:relative;overflow:hidden;background:#e6e7e2}.contact-visual img{width:100%;height:100%;object-fit:cover;object-position:center}.contact-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:34px}.contact-card{padding:18px;border:1px solid var(--line);border-radius:18px;background:#fbfaf7}.contact-card small{display:block;font-size:8px;letter-spacing:.13em;text-transform:uppercase;color:var(--muted)}.contact-card b{font-size:11px;display:block;margin-top:7px}.form-section{background:#f1ede4}.form-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px}.premium-form{background:#fff;border-radius:30px;padding:34px;border:1px solid var(--line);box-shadow:var(--shadow-sm)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field{margin-bottom:12px}.field label{font-size:9px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);display:block;margin:0 0 7px 4px}.field input,.field textarea,.field select{width:100%;border:1px solid rgba(23,33,31,.12);background:#f8f6f1;border-radius:15px;padding:14px 15px;outline:none;transition:.25s}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(8,114,185,.08);background:#fff}.field textarea{min-height:130px;resize:vertical}
/* reveals */
.reveal{opacity:1;transform:none;transition:opacity .72s var(--ease),transform .72s var(--ease)}.reveal.reveal-pending{opacity:0;transform:translateY(26px)}.reveal.visible{opacity:1;transform:none}.reveal[data-delay="1"]{transition-delay:.07s}.reveal[data-delay="2"]{transition-delay:.14s}.reveal[data-delay="3"]{transition-delay:.21s}
/* responsive */
@media(max-width:1050px){
  :root{--header:82px}.header-inner{grid-template-columns:170px 1fr auto}.main-nav{gap:18px}.header-cta{display:none}.hero{min-height:650px}.hero-copy{width:56vw}.hero-meta{right:24px;width:260px}.manifesto-grid,.catalogue-shell,.network-grid,.quote-card,.story-grid,.product-detail-grid,.spec-grid,.form-grid{gap:42px}.universe-grid{grid-template-columns:1fr 1fr;grid-template-rows:320px 230px 230px}.universe-card:first-child{grid-column:1/3;grid-row:auto}.product-card{grid-column:span 4}.product-card.large{grid-column:span 8}.quality-grid{grid-template-columns:1fr 1fr}.category-products{grid-template-columns:1fr 1fr}.category-switch{grid-template-columns:1fr 1fr}.contact-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:780px){
  .container{width:min(100% - 30px,var(--max))}.section{padding:78px 0}.main-nav{display:none}.header-inner{grid-template-columns:1fr auto}.menu-btn{display:block}.site-header{height:74px}.site-header.is-scrolled{height:68px}.logo img{width:100px}.hero{height:760px;min-height:760px}.hero-slide:after{background:linear-gradient(180deg,rgba(247,245,239,.97) 0%,rgba(247,245,239,.9) 47%,rgba(247,245,239,.18) 73%,rgba(247,245,239,.08) 100%)}.hero-content{align-items:flex-start;padding-top:72px}.hero-copy{width:100%;max-width:100%;padding-top:0}.hero-copy .display{font-size:clamp(46px,13vw,72px);max-width:94%}.hero-copy .lead{font-size:14px;line-height:1.6;max-width:88%;margin:18px 0 22px}.hero-stats{display:none}.hero-meta{top:auto;bottom:144px;left:15px;right:auto;width:min(320px,calc(100% - 30px))}.hero-dock{bottom:15px;width:calc(100% - 30px);grid-template-columns:1fr auto}.hero-tabs{overflow:hidden;padding:5px;max-width:none}.hero-tab{display:none;min-width:0;padding:10px 12px}.hero-tab.active{display:block}.hero-arrows button{width:48px;height:48px}.hero-actions .btn{padding:13px 16px;font-size:12px}.signature-wrap{height:60px}.manifesto-grid,.catalogue-shell,.network-grid,.quote-card,.story-grid,.product-detail-grid,.spec-grid,.form-grid,.contact-grid{grid-template-columns:1fr}.metrics{grid-template-columns:1fr 1fr 1fr;gap:7px}.metric{padding:20px 14px}.metric strong{font-size:34px}.univers-head,.section-head{display:block}.univers-head .lead{margin-top:20px}.universe-grid{display:grid;grid-template-columns:1fr;grid-template-rows:380px repeat(3,210px)}.universe-card:first-child{grid-column:auto}.product-grid{display:grid;grid-template-columns:1fr 1fr}.product-card,.product-card.large{grid-column:auto;grid-row:auto;min-height:380px}.product-card.large{grid-column:1/3}.product-card.large .product-visual{min-height:360px}.cinematic-card{min-height:660px}.cinematic-copy{padding:80px 20px}.application-grid{grid-template-columns:1fr}.app-card{min-height:370px}.quality-grid{grid-template-columns:1fr 1fr}.gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:280px 210px 210px}.gallery-grid figure:first-child{grid-column:1/3;grid-row:auto}.footer-grid{grid-template-columns:1fr 1fr}.inner-hero{min-height:600px}.inner-hero:after{background:linear-gradient(180deg,rgba(246,244,238,.96),rgba(246,244,238,.88) 52%,rgba(246,244,238,.18))}.inner-copy{width:100%;padding:80px 0 70px;align-self:flex-start}.inner-copy h1{font-size:clamp(52px,14vw,78px)}.category-products{grid-template-columns:1fr 1fr}.category-switch{grid-template-columns:1fr 1fr}.product-gallery-main{min-height:430px}.contact-copy{padding:70px 20px 48px}.contact-visual{min-height:460px;order:-1}.contact-cards{grid-template-columns:1fr}.form-row{grid-template-columns:1fr}.sticky-title{position:static}.value-grid{grid-template-columns:1fr}.story-grid{gap:28px}
}
@media(max-width:520px){
  .display{font-size:46px}.section-title{font-size:42px}.hero{height:720px;min-height:720px}.hero-copy .display{font-size:48px}.hero-copy .kicker{font-size:9px;margin-bottom:18px}.hero-copy .lead{max-width:100%;font-size:13px}.hero-actions{gap:8px}.hero-actions .btn-outline{display:none}.hero-meta{bottom:126px}.metrics{grid-template-columns:1fr}.universe-grid{grid-template-rows:340px repeat(3,190px)}.product-grid,.category-products{grid-template-columns:1fr}.product-card.large{grid-column:auto}.product-card,.product-card.large{min-height:390px}.product-card.large .product-visual{min-height:300px}.quality-grid{grid-template-columns:1fr}.application-grid{gap:10px}.app-card{padding:26px}.category-switch{grid-template-columns:1fr}.gallery-grid{display:grid;grid-template-columns:1fr;grid-template-rows:repeat(3,230px)}.gallery-grid figure:first-child{grid-column:auto}.footer-grid{grid-template-columns:1fr}.footer-bottom{display:block;line-height:2}.brand-track{gap:36px}.brand-item{min-width:130px}.brand-track img{height:35px}.product-detail{padding-top:45px}.product-gallery-main{min-height:360px}.info-list{grid-template-columns:1fr}.contact-visual{min-height:360px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}.page-mask{display:none}}

/* V5.3 reliability patch */
.hero-tab,.hero-arrows button{touch-action:manipulation;user-select:none}.hero-tab:focus-visible,.hero-arrows button:focus-visible,.menu-btn:focus-visible,.mobile-close:focus-visible{outline:3px solid rgba(8,114,185,.35);outline-offset:3px}.hero-slide{pointer-events:none}.hero-slide.active{pointer-events:auto}.hero-dock{pointer-events:none}.hero-tabs,.hero-arrows{pointer-events:auto}section[id]{scroll-margin-top:92px}.thumbs button.active{outline:2px solid var(--blue);outline-offset:2px}

/* =========================================================
   CODIAG V5.4 — fusion V5.2 content + V5.3 system
   3D hero, restored interactive univers, richer motion
   ========================================================= */
:root{--night:#12231f;--night2:#1b2f2a;--line-dark:rgba(255,255,255,.14)}
.page-progress{position:fixed;z-index:12000;left:0;right:0;top:0;height:3px;pointer-events:none;background:rgba(255,255,255,.18)}
.page-progress span{display:block;width:0;height:100%;background:linear-gradient(90deg,var(--blue),var(--green),var(--orange));box-shadow:0 0 16px rgba(8,114,185,.38);transition:width .08s linear}

/* Faster premium transition mask: a diagonal shutter rather than a spinner. */
.page-mask{background:transparent;overflow:hidden}
.page-mask:before,.page-mask:after{top:0;bottom:auto;width:56%;height:100%;background:#fbfaf7;transform:translate3d(-106%,0,0) skewX(-5deg);transition:transform .2s cubic-bezier(.72,0,.2,1)}
.page-mask:before{left:-4%;transform-origin:center}
.page-mask:after{left:auto;right:-4%;transform:translate3d(106%,0,0) skewX(-5deg);transform-origin:center}
.page-mask.is-on:before,.page-mask.is-on:after{transform:translate3d(0,0,0) skewX(-5deg)}
.page-mask.is-leaving:before{transform:translate3d(-106%,0,0) skewX(-5deg)}
.page-mask.is-leaving:after{transform:translate3d(106%,0,0) skewX(-5deg)}
.page-mask__center{border-radius:18px;padding:11px 16px;box-shadow:0 24px 70px rgba(23,33,31,.14);transform:translateY(7px) scale(.97)}
.page-mask__center img{width:58px}
.page-mask__line{width:54px;height:2px}

/* HERO V5.4 — cinematic 3D stage */
.hero-v54{height:min(820px,calc(100vh - 20px));min-height:720px;perspective:1500px;transform-style:preserve-3d;isolation:isolate;background:#ebe9e2;--hx:0px;--hy:0px;--cx:0px;--cy:0px}
.hero-v54 .hero-track{transform-style:preserve-3d}
.hero-v54 .hero-slide{display:block;opacity:0;visibility:hidden;transform-style:preserve-3d;transform-origin:64% 50%;transform:translate3d(4.5%,0,-150px) rotateY(-5.5deg) scale(.975);filter:saturate(.92) blur(1.5px);transition:opacity .72s ease,visibility .72s,transform 1s cubic-bezier(.18,.78,.2,1),filter .72s ease;will-change:transform,opacity}
.hero-v54 .hero-slide.active{opacity:1;visibility:visible;z-index:3;transform:translate3d(0,0,0) rotateY(0) scale(1);filter:none}
.hero-v54[data-dir="prev"] .hero-slide:not(.active){transform:translate3d(-4%,0,-150px) rotateY(5deg) scale(.975)}
.hero-v54 .hero-perspective{position:absolute;inset:0;overflow:hidden;transform-style:preserve-3d;transform:translate3d(var(--hx),var(--hy),0);transition:transform .8s cubic-bezier(.2,.72,.2,1)}
.hero-v54 .hero-bg{position:absolute;inset:-2%;width:104%;height:104%;object-fit:cover;animation:none!important;transform:scale(1.035);transition:transform 8s linear,filter .9s ease;filter:saturate(1.04) contrast(1.015)}
.hero-v54 .hero-slide.active .hero-bg{transform:scale(1.005)}
.hero-v54 .hero-slide:after{z-index:2;background:linear-gradient(90deg,rgba(249,247,241,.98) 0%,rgba(249,247,241,.95) 29%,rgba(249,247,241,.72) 41%,rgba(249,247,241,.24) 58%,rgba(249,247,241,.04) 76%,rgba(249,247,241,.02) 100%)}
.hero-v54 .hero-sheen{position:absolute;z-index:1;inset:-12% -5%;background:linear-gradient(108deg,transparent 34%,rgba(255,255,255,.18) 46%,transparent 59%);transform:translateX(-45%);opacity:.72;mix-blend-mode:screen}
.hero-v54 .hero-slide.active .hero-sheen{animation:v54Sheen 5.8s ease-in-out 1 .35s}
@keyframes v54Sheen{0%{transform:translateX(-45%)}58%,100%{transform:translateX(52%)}}
.hero-atmosphere{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden}
.hero-atmosphere .orb{position:absolute;border-radius:50%;filter:blur(2px);opacity:.4;animation:v54Float 8s ease-in-out infinite alternate}
.hero-atmosphere .orb-a{width:340px;height:340px;left:-140px;top:-90px;background:radial-gradient(circle,rgba(8,114,185,.16),transparent 70%)}
.hero-atmosphere .orb-b{width:420px;height:420px;right:-170px;bottom:-140px;background:radial-gradient(circle,rgba(120,141,43,.12),transparent 70%);animation-delay:-3s}
@keyframes v54Float{to{transform:translate3d(22px,16px,0) scale(1.05)}}
.hero-grid-lines{position:absolute;inset:0;background-image:linear-gradient(rgba(23,33,31,.022) 1px,transparent 1px),linear-gradient(90deg,rgba(23,33,31,.022) 1px,transparent 1px);background-size:64px 64px;mask-image:linear-gradient(90deg,#000 0 42%,transparent 74%)}
.hero-v54 .hero-content{z-index:5;transform-style:preserve-3d;pointer-events:none}
.hero-v54 .hero-copy{pointer-events:auto;transform:translate3d(var(--cx),var(--cy),34px);transition:transform .75s cubic-bezier(.2,.75,.2,1)}
.hero-v54 .hero-copy .display{font-size:clamp(60px,6.7vw,104px);text-wrap:balance;max-width:670px;text-shadow:0 1px 0 rgba(255,255,255,.35)}
.hero-v54 .hero-copy .kicker{opacity:0;transform:translateY(18px);transition:.55s .08s var(--ease)}
.hero-v54 .hero-copy .display{opacity:0;transform:translateY(28px);transition:opacity .66s .14s var(--ease),transform .66s .14s var(--ease)}
.hero-v54 .hero-copy .lead{opacity:0;transform:translateY(22px);transition:opacity .6s .22s var(--ease),transform .6s .22s var(--ease)}
.hero-v54 .hero-actions,.hero-v54 .hero-stats{opacity:0;transform:translateY(20px);transition:opacity .55s .3s var(--ease),transform .55s .3s var(--ease)}
.hero-v54 .hero-stats{transition-delay:.38s}
.hero-v54 .hero-slide.active .hero-copy .kicker,.hero-v54 .hero-slide.active .hero-copy .display,.hero-v54 .hero-slide.active .hero-copy .lead,.hero-v54 .hero-slide.active .hero-actions,.hero-v54 .hero-slide.active .hero-stats{opacity:1;transform:none}
.hero-v54 .hero-stats{display:flex;gap:0;margin-top:38px;padding-top:20px;border-top:1px solid rgba(23,33,31,.12);width:min(570px,100%)}
.hero-v54 .hero-stats div{min-width:128px;padding:0 23px;border-right:1px solid rgba(23,33,31,.11)}
.hero-v54 .hero-stats div:first-child{padding-left:0}.hero-v54 .hero-stats div:last-child{border:0}
.hero-v54 .hero-stats strong{font-family:Syne;font-size:25px;font-weight:590;letter-spacing:-.04em;color:var(--ink)}
.hero-v54 .hero-stats span{font-size:9px;letter-spacing:.13em;text-transform:uppercase;color:#6e7772}
.hero-v54 .hero-meta{z-index:7;top:46px;right:42px;transform:translate3d(0,0,70px);border:1px solid rgba(255,255,255,.72);box-shadow:0 28px 65px rgba(21,37,33,.16);transition:transform .75s var(--ease),opacity .5s var(--ease);overflow:hidden}
.hero-v54 .hero-meta:after{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:linear-gradient(var(--blue),var(--green),var(--orange))}
.hero-v54 .hero-orbit{position:absolute;z-index:3;right:-2%;top:0;width:61%;height:100%;overflow:visible;pointer-events:none;opacity:.82;filter:drop-shadow(0 12px 18px rgba(20,35,31,.08))}
.hero-v54 .hero-orbit path{fill:none;stroke-linecap:round;vector-effect:non-scaling-stroke;stroke-dasharray:7 12;animation:v54Orbit 16s linear infinite}
.hero-v54 .hero-orbit .orbit-a{stroke:#8ca53a;stroke-width:2.6;opacity:.62}
.hero-v54 .hero-orbit .orbit-b{stroke:#f07d12;stroke-width:1.8;opacity:.55;animation-direction:reverse;animation-duration:19s}
@keyframes v54Orbit{to{stroke-dashoffset:-240}}
.hero-v54 .hero-dock{bottom:26px;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;align-items:center;transform:translateX(-50%) translateZ(90px)}
.hero-v54 .hero-tabs{max-width:720px;background:rgba(255,255,255,.78);border:1px solid rgba(255,255,255,.7);box-shadow:0 26px 80px rgba(22,37,33,.17)}
.hero-v54 .hero-tab{min-width:155px;overflow:hidden}
.hero-v54 .hero-tab:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 25% 10%,rgba(8,114,185,.08),transparent 55%);opacity:0;transition:opacity .35s}
.hero-v54 .hero-tab.active:before{opacity:1}
.hero-counter{height:54px;min-width:118px;border-radius:999px;background:rgba(19,35,31,.92);color:#fff;display:flex;align-items:center;justify-content:center;gap:10px;box-shadow:0 18px 42px rgba(22,37,33,.16);backdrop-filter:blur(14px)}
.hero-counter b{font-family:Syne;font-size:16px;color:#fff}.hero-counter small{font-size:10px;color:#a9b5b0}.hero-counter span{width:28px;height:1px;background:linear-gradient(90deg,var(--blue),var(--green),var(--orange))}
.hero-v54 .hero-arrows button{background:rgba(255,255,255,.88);backdrop-filter:blur(16px);box-shadow:0 14px 32px rgba(23,33,31,.1);transition:transform .32s var(--ease),background .3s,color .3s}
.hero-v54 .hero-arrows button:hover{transform:translateY(-3px) rotate(-4deg);background:var(--ink);color:#fff}

/* Refined signature between hero and content: two controlled gestures only. */
.signature-wrap{height:102px;margin-top:-2px;background:linear-gradient(#f6f4ee,#f6f4ee);overflow:hidden;position:relative}
.signature-wrap .brand-signature{height:100%;width:100%;opacity:.58;filter:none}
.signature-wrap .brand-signature .base{fill:none;stroke-linecap:round;vector-effect:non-scaling-stroke;stroke-width:2.2;stroke-dasharray:12 16;animation:v54Sig 18s linear infinite}
.signature-wrap .brand-signature .orange{stroke-width:1.7;animation-direction:reverse;animation-duration:22s}
@keyframes v54Sig{to{stroke-dashoffset:-320}}

/* V5.2 interactive univers restored and refined */
.univers-v54{padding:118px 0 122px;background:linear-gradient(135deg,#10231f 0%,#172b26 55%,#20352f 100%);color:#fff;position:relative;overflow:hidden;isolation:isolate}
.univers-v54:before{content:"";position:absolute;z-index:-1;width:650px;height:650px;border-radius:50%;right:-210px;top:-230px;background:radial-gradient(circle,rgba(120,141,43,.17),transparent 66%);filter:blur(2px)}
.univers-v54:after{content:"";position:absolute;z-index:-1;left:-180px;bottom:-300px;width:620px;height:620px;border-radius:50%;background:radial-gradient(circle,rgba(8,114,185,.13),transparent 67%)}
.univers-v54-head{width:min(var(--max),calc(100% - 48px));margin:0 auto 48px;display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:end}
.univers-v54 .kicker{color:#b8cb63}.univers-v54 .section-title{margin:18px 0 0;color:#fff}.univers-v54 .section-title em{color:#78b8ee}.univers-v54 .lead{color:#bdc9c4;margin:0;max-width:520px}
.univers-v54-experience{width:min(1360px,calc(100% - 56px));margin:auto;display:grid;grid-template-columns:1.25fr .75fr;min-height:690px;gap:34px;perspective:1200px}
.univers-v54-visual{position:relative;overflow:hidden;border-radius:32px 32px 94px 32px;min-height:690px;background:#111a18;box-shadow:0 36px 80px rgba(0,0,0,.25);transform-style:preserve-3d;transition:transform .28s ease,box-shadow .4s var(--ease)}
.univers-v54-visual:hover{box-shadow:0 48px 100px rgba(0,0,0,.3)}
.univers-v54-context{position:absolute;inset:-1.5%;width:103%;height:103%;object-fit:cover;filter:saturate(.9) contrast(1.04);transition:opacity .48s var(--ease),transform .9s var(--ease),filter .6s ease;will-change:transform,opacity}
.univers-v54-vignette{position:absolute;inset:0;background:linear-gradient(0deg,rgba(5,12,10,.86),rgba(6,14,12,.08) 63%),linear-gradient(90deg,rgba(6,14,12,.42),transparent 66%)}
.univers-v54-glow{position:absolute;inset:auto -12% -32% 40%;height:60%;background:radial-gradient(ellipse,rgba(8,114,185,.28),transparent 68%);filter:blur(12px);opacity:.65;transition:.6s}
.univers-v54-products{position:absolute;right:26px;bottom:24px;width:49%;height:260px;z-index:4;display:flex;align-items:flex-end;justify-content:center;gap:5px;transform:translateZ(45px)}
.univers-v54-products:before{content:"";position:absolute;inset:26% 0 0;border-radius:999px 999px 34px 34px;background:rgba(255,255,255,.91);backdrop-filter:blur(14px);box-shadow:0 26px 54px rgba(0,0,0,.2)}
.univers-v54-products img{position:relative;z-index:2;width:34%;height:79%;object-fit:contain;filter:drop-shadow(0 20px 18px rgba(0,0,0,.2));transition:transform .62s var(--ease),opacity .38s ease}
.univers-v54-products img:nth-child(1){transform:rotate(-2deg)}.univers-v54-products img:nth-child(2){height:94%;transform:translateY(-6px)}.univers-v54-products img:nth-child(3){transform:rotate(2deg)}
.univers-v54-label{position:absolute;z-index:5;left:34px;bottom:32px;margin:0;width:43%;transform:translateZ(55px)}
.univers-v54-label span,.univers-v54-label b,.univers-v54-label small,.univers-v54-label em{display:block}
.univers-v54-label span{font-size:10px;letter-spacing:.14em;color:#d6dfdb}.univers-v54-label b{font:560 clamp(42px,4.1vw,68px)/.96 Syne;letter-spacing:-.055em;margin:7px 0 6px}.univers-v54-label small{font-size:11px;color:#c1ccc7}.univers-v54-label em{font-style:normal;font-size:11px;color:#f0f5f2;margin-top:17px;line-height:1.65}
.univers-v54-visual.is-changing .univers-v54-context{opacity:.28;transform:scale(1.07) rotate(.35deg);filter:saturate(.6) blur(1px)}
.univers-v54-visual.is-changing .univers-v54-products img{transform:translateY(22px) scale(.94);opacity:0}
.univers-v54-tabs{display:flex;flex-direction:column;border-top:1px solid var(--line-dark);background:linear-gradient(180deg,rgba(255,255,255,.012),rgba(255,255,255,.025));border-radius:0 26px 26px 0;overflow:hidden}
.univers-v54-tabs button{flex:1;border:0;border-bottom:1px solid var(--line-dark);background:transparent;color:#fff;text-align:left;display:grid;grid-template-columns:42px 1fr auto;grid-template-rows:auto auto;align-content:center;position:relative;padding:18px 18px 18px 16px;transition:background .38s var(--ease),padding .38s var(--ease);overflow:hidden}
.univers-v54-tabs button:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(var(--blue),var(--green),var(--orange));transform:scaleY(0);transition:transform .35s var(--ease)}
.univers-v54-tabs button:hover{background:rgba(255,255,255,.04);padding-left:24px}.univers-v54-tabs button>span{grid-row:1/3;font-size:10px;color:#85968e;padding-top:8px}.univers-v54-tabs b{font:520 clamp(22px,2vw,31px) Syne;letter-spacing:-.04em}.univers-v54-tabs small{font-size:11px;color:#9dada6;margin-top:5px}.univers-v54-tabs i{grid-column:3;grid-row:1/3;font-style:normal;font-size:18px;width:46px;height:46px;border:1px solid rgba(255,255,255,.14);border-radius:50%;display:grid;place-items:center;align-self:center;color:#aab5b0;transition:.34s var(--ease)}
.univers-v54-tabs button[aria-selected="true"]{background:rgba(255,255,255,.065)}.univers-v54-tabs button[aria-selected="true"]:before{transform:scaleY(1)}.univers-v54-tabs button[aria-selected="true"] b{color:#f4a36d}.univers-v54-tabs button[aria-selected="true"] i{background:#fff;color:var(--ink);transform:rotate(45deg) scale(1.03)}
.univers-v54-link{height:66px;display:flex;align-items:center;justify-content:space-between;padding:0 18px 0 24px;font-size:12px;font-weight:750;color:#dce5e1;background:rgba(255,255,255,.035);transition:.3s}.univers-v54-link:hover{background:rgba(255,255,255,.08);color:#fff;padding-left:29px}

/* More tactile motion across existing V5.3 content */
.product-card,.app-card,.quality-card,.map-card,.cinematic-card,.gallery-grid figure{transform-style:preserve-3d;will-change:transform;transition:transform .4s var(--ease),box-shadow .4s var(--ease)}
.product-card:hover,.app-card:hover,.quality-card:hover,.map-card:hover,.cinematic-card:hover{box-shadow:0 30px 70px rgba(23,33,31,.14)}
.product-card .product-visual img,.app-card img,.gallery-grid img{transition:transform .75s var(--ease),filter .5s ease}
.product-card:hover .product-visual img{transform:translate3d(0,-8px,34px) scale(1.035)}
.gallery-grid figure:hover img{transform:scale(1.045)}
.cinematic-card:after{content:"";position:absolute;inset:0;border:1px solid rgba(255,255,255,.25);border-radius:inherit;pointer-events:none}
.brand-track{animation-duration:24s!important}

/* Reveal upgrade */
.reveal.reveal-pending{transform:translate3d(0,38px,0) scale(.985);filter:blur(3px)}
.reveal.visible{transform:none;filter:none;transition:opacity .75s var(--ease),transform .8s var(--ease),filter .7s ease}

@media(max-width:1100px){
  .hero-v54{min-height:680px}.hero-v54 .hero-copy{width:min(620px,58vw)}.hero-v54 .hero-copy .display{font-size:clamp(54px,7vw,78px)}.hero-v54 .hero-orbit{width:68%;opacity:.5}.hero-v54 .hero-meta{right:24px;top:28px;width:280px}.hero-v54 .hero-stats div{min-width:112px;padding:0 15px}.hero-v54 .hero-dock{grid-template-columns:1fr auto}.hero-counter{display:none}
  .univers-v54-experience{grid-template-columns:1.1fr .9fr;gap:22px}.univers-v54-visual{min-height:610px}.univers-v54-products{width:52%;height:225px}.univers-v54-label{width:47%}
}
@media(max-width:820px){
  .page-progress{height:2px}.hero-v54{height:auto;min-height:720px}.hero-v54 .hero-slide:after{background:linear-gradient(0deg,rgba(249,247,241,.97) 0%,rgba(249,247,241,.86) 58%,rgba(249,247,241,.18) 100%)}.hero-v54 .hero-perspective{inset:0}.hero-v54 .hero-bg{inset:0;width:100%;height:100%;object-position:64% 50%;filter:saturate(.93)}.hero-v54 .hero-orbit{width:100%;height:62%;top:auto;bottom:0;opacity:.3}.hero-v54 .hero-content{align-items:flex-end;padding-bottom:154px}.hero-v54 .hero-copy{width:100%;padding-top:0;transform:none}.hero-v54 .hero-copy .display{font-size:clamp(48px,12vw,68px);max-width:620px}.hero-v54 .hero-copy .lead{font-size:15px;line-height:1.65;max-width:560px;margin:18px 0 22px}.hero-v54 .hero-meta{display:none}.hero-v54 .hero-stats{display:none}.hero-v54 .hero-dock{bottom:18px;width:calc(100% - 32px);display:flex;align-items:center;gap:8px}.hero-v54 .hero-tabs{flex:1;overflow:hidden}.hero-v54 .hero-tab{min-width:0;padding:10px 11px}.hero-v54 .hero-tab small{display:none}.hero-v54 .hero-tab b{font-size:10px}.hero-v54 .hero-arrows button{width:48px;height:48px}.signature-wrap{height:72px}
  .univers-v54{padding:82px 0}.univers-v54-head{display:block;margin-bottom:32px}.univers-v54-head .lead{margin-top:20px}.univers-v54-experience{width:calc(100% - 32px);display:grid;grid-template-columns:1fr;gap:16px;min-height:0}.univers-v54-visual{min-height:520px;border-radius:24px 24px 66px 24px}.univers-v54-products{right:12px;bottom:14px;width:58%;height:190px}.univers-v54-label{left:20px;bottom:20px;width:46%}.univers-v54-label b{font-size:38px}.univers-v54-tabs{border-radius:20px;display:grid;grid-template-columns:1fr 1fr}.univers-v54-tabs button{min-height:118px;padding:15px 13px;grid-template-columns:30px 1fr auto}.univers-v54-tabs b{font-size:20px}.univers-v54-tabs i{width:36px;height:36px}.univers-v54-link{grid-column:1/3}
}
@media(max-width:520px){
  .hero-v54{min-height:680px}.hero-v54 .hero-content{padding-bottom:150px}.hero-v54 .hero-copy .display{font-size:44px;line-height:.94}.hero-v54 .hero-actions{gap:8px}.hero-v54 .hero-actions .btn{padding:13px 16px;font-size:12px}.hero-v54 .hero-actions .btn-outline{display:none}.hero-v54 .hero-tab span{font-size:8px}.hero-v54 .hero-tab b{font-size:9px}.hero-v54 .hero-arrows{display:none}.hero-v54 .hero-tabs{width:100%}
  .univers-v54-head{width:calc(100% - 32px)}.univers-v54-experience{width:calc(100% - 24px)}.univers-v54-visual{min-height:500px}.univers-v54-products{width:62%;height:172px;right:8px}.univers-v54-label{left:16px;bottom:15px;width:47%}.univers-v54-label b{font-size:34px}.univers-v54-label em{font-size:9px}.univers-v54-tabs{grid-template-columns:1fr}.univers-v54-tabs button{min-height:96px}.univers-v54-link{grid-column:auto}
}
@media(prefers-reduced-motion:reduce){.hero-v54 .hero-slide,.hero-v54 .hero-perspective,.hero-v54 .hero-copy,.univers-v54-visual,[data-tilt]{transform:none!important}.hero-v54 .hero-orbit path,.signature-wrap .brand-signature .base,.hero-atmosphere .orb,.hero-v54 .hero-sheen{animation:none!important}.hero-v54 .hero-bg{transform:none!important}.page-progress{display:none}}

/* Interior pages inherit the V5.4 depth language without becoming flashy. */
.inner-hero,.contact-visual{perspective:1200px;overflow:hidden;isolation:isolate}
.inner-hero img.cover,.contact-visual img{transition:transform .65s var(--ease),filter .45s ease;will-change:transform}
.inner-hero:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(110deg,rgba(255,255,255,.06),transparent 38% 67%,rgba(8,114,185,.06));mix-blend-mode:screen}
.value-card,.catalog-product,.contact-card,.product-gallery-main{transform-style:preserve-3d;transition:transform .35s var(--ease),box-shadow .4s var(--ease)}
.catalog-product:hover,.value-card:hover,.contact-card:hover{box-shadow:0 26px 62px rgba(23,33,31,.12)}

/* ==========================================================
   CODIAG V5.5 — Enterprise Premium Layer
   ========================================================== */
:root{--v55-navy:#10201d;--v55-cream:#faf8f3;--v55-glass:rgba(255,255,255,.78);--v55-ease:cubic-bezier(.16,1,.3,1)}
body{background:var(--v55-cream)}
.page-progress{height:2px;position:fixed;z-index:10000;top:0;left:0;right:0;pointer-events:none}.page-progress span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--blue),var(--green),var(--orange));box-shadow:0 0 16px rgba(8,114,185,.22)}

/* Loader: clearer, larger, but still fast. */
.page-mask{background:transparent}.page-mask:before,.page-mask:after{background:#fbfaf7;transition-duration:.26s}.page-mask__center{min-width:330px;border-radius:28px;padding:22px 26px;gap:20px;background:rgba(255,255,255,.96);box-shadow:0 28px 80px rgba(23,33,31,.14);border:1px solid rgba(23,33,31,.06)}
.page-mask__center img{width:118px}.page-mask__brand{display:grid;gap:3px}.page-mask__brand b{font-family:Syne,sans-serif;font-size:15px;letter-spacing:-.02em}.page-mask__brand small{font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:#7f8985}.page-mask__line{position:absolute;left:26px;right:26px;bottom:12px;width:auto;height:3px}

/* Header refinement */
.site-header{background:rgba(250,248,243,.88)}.site-header.is-scrolled{background:rgba(250,248,243,.95)}.main-nav a{letter-spacing:-.01em}.header-cta b{font-size:12.5px}

/* Full-bleed premium hero */
.hero-v55{height:calc(100svh - var(--header));min-height:700px;max-height:900px;background:#dfe7e2;isolation:isolate}
.hero-v55 .hero-slide{overflow:hidden;perspective:1400px;transform-style:preserve-3d;transition:opacity .55s ease,visibility .55s ease}
.hero-v55 .hero-scene{position:absolute;inset:-2%;transform:perspective(1400px) rotateY(-2.2deg) scale(1.065);transform-origin:70% 50%;transition:transform 1.25s var(--v55-ease),filter .9s ease;will-change:transform,filter}
.hero-v55 .hero-slide.active .hero-scene{transform:perspective(1400px) rotateY(0deg) scale(1.01);animation:v55SceneDrift 6.2s linear both}
.hero-v55[data-dir="prev"] .hero-slide:not(.active) .hero-scene{transform:perspective(1400px) rotateY(2.4deg) scale(1.07)}
@keyframes v55SceneDrift{0%{translate:0 0}100%{translate:-.45% -.18%}}
.hero-v55 .hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.98) contrast(1.02);transform:translate3d(var(--hx,0),var(--hy,0),0);transition:transform .3s ease-out}
.hero-v55 .hero-overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(250,248,243,.98) 0%,rgba(250,248,243,.91) 29%,rgba(250,248,243,.63) 43%,rgba(250,248,243,.13) 62%,rgba(9,22,19,.03) 100%)}
.hero-v55 .hero-overlay:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 70% 28%,rgba(255,255,255,.18),transparent 28%),linear-gradient(180deg,transparent 65%,rgba(10,27,23,.16));mix-blend-mode:screen;opacity:.5}
.hero-v55 .hero-content{z-index:3}.hero-v55 .hero-copy{width:min(680px,51vw);padding:0 0 72px}.hero-v55 .hero-copy .display{font-size:clamp(58px,6.5vw,98px);line-height:.93;max-width:680px;text-wrap:balance}.hero-v55 .hero-copy .lead{font-size:17px;max-width:610px;line-height:1.72;margin-top:27px}.hero-v55 .hero-copy>*{opacity:0;transform:translateY(24px);transition:opacity .66s var(--v55-ease),transform .66s var(--v55-ease)}.hero-v55 .hero-slide.active .hero-copy>*{opacity:1;transform:none}.hero-v55 .hero-slide.active .hero-copy .display{transition-delay:.08s}.hero-v55 .hero-slide.active .hero-copy .lead{transition-delay:.15s}.hero-v55 .hero-slide.active .hero-actions{transition-delay:.22s}.btn-ghost{border:1px solid rgba(23,33,31,.18);background:rgba(255,255,255,.70);backdrop-filter:blur(14px)}
.hero-float-card{position:absolute;z-index:4;right:34px;top:42px;display:grid;grid-template-columns:48px 1fr;gap:14px;align-items:center;width:min(340px,29vw);padding:16px 18px;border:1px solid rgba(255,255,255,.6);background:rgba(255,255,255,.74);backdrop-filter:blur(18px) saturate(140%);border-radius:21px;box-shadow:0 24px 64px rgba(19,36,31,.16);transform:translate3d(var(--cx,0),var(--cy,0),40px)}.hero-float-card>span{font-family:Syne;color:var(--orange);font-size:25px;font-weight:720;border-right:1px solid var(--line)}.hero-float-card b{display:block;font-size:13px}.hero-float-card small{display:block;color:var(--muted);font-size:10px;margin-top:3px;line-height:1.4}
.hero-depth{position:absolute;border-radius:50%;filter:blur(1px);pointer-events:none}.hero-depth-a{width:180px;height:180px;right:8%;bottom:16%;border:1px solid rgba(255,255,255,.28);box-shadow:inset 0 0 60px rgba(255,255,255,.08)}.hero-depth-b{width:90px;height:90px;right:21%;top:16%;background:rgba(255,255,255,.06);backdrop-filter:blur(2px)}
.hero-dock-v55{grid-template-columns:minmax(0,760px) auto;bottom:22px}.hero-dock-v55 .hero-tabs{max-width:none;background:rgba(255,255,255,.80)}.hero-dock-v55 .hero-nav{display:flex;align-items:center;gap:12px}.hero-counter{height:54px;display:flex;align-items:center;gap:9px;padding:0 18px;border-radius:999px;background:rgba(16,32,29,.91);color:#fff;box-shadow:0 14px 38px rgba(16,32,29,.20)}.hero-counter b{font-family:Syne;font-size:16px}.hero-counter span,.hero-counter small{opacity:.55;font-size:11px}.hero-tab.active i:after{animation-duration:6.2s}

/* Enterprise separator: thin, not decorative noise */
.signature-wrap{height:74px;background:var(--paper)}.brand-signature{opacity:.28}.brand-signature .base{stroke-width:1.1!important;stroke-dasharray:7 16!important}

/* V5.5 univers */
.univers-v55{padding:112px 0;background:#10201d;color:#fff;position:relative;overflow:hidden}.univers-v55:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 12% 10%,rgba(8,114,185,.15),transparent 30%),radial-gradient(circle at 86% 88%,rgba(120,141,43,.09),transparent 26%)}
.univers-v55-head{display:grid;grid-template-columns:1.25fr .75fr;align-items:end;gap:70px;margin-bottom:50px}.univers-v55 .kicker{color:#c9d39c}.univers-v55 .section-title{color:#fff;margin-bottom:0}.univers-v55 .section-title em{color:#67b6e8}.univers-v55 .lead{color:rgba(255,255,255,.64);margin:0 0 6px}
.univers-v55-shell{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(350px,.75fr);gap:28px;align-items:stretch}.univers-stage{position:relative;min-height:610px;border-radius:34px;overflow:hidden;background:#0b1513;box-shadow:0 28px 80px rgba(0,0,0,.22);transform:translateZ(0)}.univers-stage-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity .42s ease,transform .8s var(--v55-ease),filter .5s ease}.univers-stage.is-changing .univers-stage-image{opacity:.18;transform:scale(1.055);filter:blur(4px)}.univers-stage-shade{position:absolute;inset:0;background:linear-gradient(180deg,transparent 42%,rgba(6,15,13,.84) 100%),linear-gradient(90deg,rgba(0,0,0,.08),transparent 45%)}.univers-stage-copy{position:absolute;left:34px;right:34px;bottom:31px;display:flex;gap:20px;align-items:flex-end;z-index:2}.univers-stage-index{font-family:Syne;font-size:13px;letter-spacing:.12em;color:#fff;opacity:.65;padding-bottom:8px}.univers-stage-copy small{text-transform:uppercase;letter-spacing:.18em;font-size:9px;color:#cdd8d4}.univers-stage-copy h3{font-family:Syne;font-size:54px;letter-spacing:-.05em;margin:4px 0 2px}.univers-stage-copy p{margin:0;color:rgba(255,255,255,.72);font-size:13px}.univers-nav{display:flex;flex-direction:column;border:1px solid rgba(255,255,255,.12);border-radius:28px;overflow:hidden;background:rgba(255,255,255,.025)}.univers-nav-item{flex:1;display:grid;grid-template-columns:42px 1fr 52px;align-items:center;text-align:left;color:#fff;background:transparent;border:0;border-bottom:1px solid rgba(255,255,255,.11);padding:18px 20px;transition:.35s var(--v55-ease);position:relative}.univers-nav-item:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(var(--blue),var(--green),var(--orange));transform:scaleY(0);transition:.35s}.univers-nav-item.active{background:rgba(255,255,255,.095)}.univers-nav-item.active:before{transform:scaleY(1)}.univers-nav-item>span{font-size:10px;color:rgba(255,255,255,.4)}.univers-nav-item b{font-family:Syne;font-size:24px;letter-spacing:-.035em}.univers-nav-item small{display:block;margin-top:5px;color:rgba(255,255,255,.54);font-size:11px}.univers-nav-item em{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(255,255,255,.16);font-style:normal;transition:.35s}.univers-nav-item.active em{background:#fff;color:#10201d;transform:rotate(45deg)}.univers-all{padding:20px 22px;display:flex;justify-content:space-between;align-items:center;font-weight:700;font-size:12px;color:#c9d39c;background:rgba(0,0,0,.08)}

/* Corporate commercial directory */
.commercial-network{background:#eef1eb}.commercial-shell{display:grid;grid-template-columns:.92fr 1.08fr;gap:62px;align-items:stretch}.commercial-visual{position:relative;min-height:620px;border-radius:34px;overflow:hidden;box-shadow:var(--shadow)}.commercial-visual img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.commercial-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(10,24,21,.58))}.commercial-visual-badge{position:absolute;z-index:2;left:26px;right:26px;bottom:26px;padding:18px 20px;background:rgba(255,255,255,.86);backdrop-filter:blur(16px);border-radius:20px;display:flex;align-items:center;justify-content:space-between;gap:20px}.commercial-visual-badge span{font-size:10px;letter-spacing:.17em;color:var(--green)}.commercial-visual-badge b{font-family:Syne;font-size:17px}.commercial-content{align-self:center}.commercial-links{margin:34px 0 30px;border-top:1px solid var(--line)}.commercial-links a{display:grid;grid-template-columns:42px 1fr 44px;align-items:center;gap:14px;padding:19px 0;border-bottom:1px solid var(--line);transition:.3s}.commercial-links a:hover{padding-left:9px}.commercial-links a>span{font-size:10px;color:#9aa29f}.commercial-links b{font-family:Syne;font-size:19px}.commercial-links small{display:block;color:var(--muted);margin-top:4px}.commercial-links em{font-style:normal;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--line)}.commercial-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap}.commercial-phone{font-weight:750;border-bottom:1px solid var(--line);padding-bottom:5px}
.commercial-directory{background:#f1eee7}.directory-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.directory-card{padding:28px;border-radius:25px;background:#fff;border:1px solid rgba(23,33,31,.08);box-shadow:0 16px 45px rgba(23,33,31,.07);transition:.35s var(--v55-ease)}.directory-card:hover{transform:translateY(-5px);box-shadow:0 24px 58px rgba(23,33,31,.11)}.directory-card>span{font-size:10px;color:var(--orange);letter-spacing:.12em}.directory-card h3{font-family:Syne;font-size:24px;margin:28px 0 10px}.directory-card p{color:var(--muted);font-size:13px;line-height:1.7}.directory-card a{font-weight:750;font-size:12px;color:var(--blue)}

/* Inner pages — enterprise polish */
.inner-hero,.contact-hero{border-bottom:1px solid rgba(23,33,31,.08)}.inner-hero .cover,.contact-visual img{filter:saturate(.92) contrast(1.02)}.catalog-product,.product-gallery-main,.contact-card,.value-card,.quality-card,.app-card{border-radius:24px}.catalog-product:hover,.quality-card:hover,.value-card:hover{box-shadow:0 24px 58px rgba(23,33,31,.12)}

@media(max-width:980px){
  .hero-v55{min-height:760px;height:calc(100svh - 76px);max-height:none}.hero-v55 .hero-overlay{background:linear-gradient(180deg,rgba(250,248,243,.98) 0%,rgba(250,248,243,.92) 48%,rgba(250,248,243,.18) 78%,rgba(10,24,21,.18) 100%)}.hero-v55 .hero-copy{width:min(720px,90vw);padding-bottom:150px}.hero-float-card{right:24px;top:26px;width:min(310px,56vw)}.hero-dock-v55{grid-template-columns:1fr auto}.hero-tab{min-width:0}.univers-v55-head{grid-template-columns:1fr;gap:20px}.univers-v55-shell{grid-template-columns:1fr}.univers-stage{min-height:520px}.univers-nav-item{min-height:100px}.commercial-shell{grid-template-columns:1fr}.commercial-visual{min-height:520px}.directory-grid{grid-template-columns:1fr}}
@media(max-width:720px){
  .page-mask__center{min-width:min(330px,86vw);padding:20px}.page-mask__center img{width:92px}.page-mask__brand b{font-size:13px}.hero-v55{min-height:720px}.hero-v55 .hero-scene{inset:0;transform:none}.hero-v55 .hero-slide.active .hero-scene{transform:scale(1.01)}.hero-v55 .hero-overlay{background:linear-gradient(180deg,rgba(250,248,243,.97) 0%,rgba(250,248,243,.91) 51%,rgba(250,248,243,.43) 67%,rgba(11,26,23,.28) 100%)}.hero-v55 .hero-copy{width:100%;padding-top:24px;padding-bottom:165px}.hero-v55 .hero-copy .display{font-size:clamp(46px,14vw,66px)}.hero-v55 .hero-copy .lead{font-size:15px;max-width:94%}.hero-float-card{display:none}.hero-dock-v55{bottom:16px;width:calc(100% - 28px);display:block}.hero-dock-v55 .hero-tabs{display:grid;grid-template-columns:repeat(3,1fr);padding:5px;border-radius:18px}.hero-tab{padding:10px 8px;min-width:0}.hero-tab b{font-size:10px}.hero-tab span{font-size:8px}.hero-dock-v55 .hero-nav{position:absolute;right:4px;bottom:76px}.hero-counter{display:none}.hero-arrows button{width:46px;height:46px}.signature-wrap{height:40px}.univers-v55{padding:82px 0}.univers-v55-shell,.univers-v55-head{width:calc(100% - 28px)}.univers-stage{min-height:430px;border-radius:24px}.univers-stage-copy{left:22px;right:22px;bottom:22px}.univers-stage-copy h3{font-size:40px}.univers-nav{border-radius:22px}.univers-nav-item{grid-template-columns:32px 1fr 42px;padding:16px}.univers-nav-item b{font-size:20px}.commercial-network{padding:84px 0}.commercial-shell{width:calc(100% - 28px);gap:34px}.commercial-visual{min-height:430px;border-radius:24px}.commercial-content .section-title{font-size:clamp(40px,12vw,58px)}.directory-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.hero-v55 .hero-slide.active .hero-scene{animation:none}.hero-v55 .hero-copy>*{transition:none;opacity:1;transform:none}.hero-tab.active i:after{animation:none;transform:scaleX(1)}}

/* ============================
   V5.6 enhancements
============================ */
.page-mask__center{padding:16px 20px;gap:16px;border-radius:999px;box-shadow:0 18px 52px rgba(23,33,31,.12)}
.page-mask__center img{width:76px;height:auto}
.page-mask__brand b{display:block;font-size:13px}
.page-mask__brand small{display:block;font-size:11px;color:var(--muted)}

.hero-v56 .hero-inline-signature{position:absolute;left:48px;right:48px;bottom:128px;height:120px;pointer-events:none;z-index:3;overflow:hidden}
.hero-v56 .hero-inline-signature .line{position:absolute;left:-2%;right:-2%;height:1px;border-radius:999px;opacity:.58}
.hero-v56 .hero-inline-signature .line.blue{top:44px;background:linear-gradient(90deg,rgba(8,114,185,0),rgba(8,114,185,.34) 22%,rgba(8,114,185,.75) 46%,rgba(120,141,43,.45) 72%,rgba(120,141,43,0));transform:translateY(0) rotate(-1.2deg);animation:heroLineOne 6s ease-in-out infinite}
.hero-v56 .hero-inline-signature .line.orange{top:76px;background:linear-gradient(90deg,rgba(240,125,18,0),rgba(240,125,18,.35) 20%,rgba(240,125,18,.78) 46%,rgba(8,114,185,.22) 70%,rgba(8,114,185,0));transform:translateY(0) rotate(1.4deg);animation:heroLineTwo 6s ease-in-out infinite}
.hero-v56 .hero-inline-signature .glow{position:absolute;right:10%;top:12px;width:160px;height:90px;border-radius:999px;background:radial-gradient(circle,rgba(255,255,255,.16),transparent 70%);filter:blur(8px);animation:heroGlow 6s ease-in-out infinite}
.hero-process{position:absolute;left:min(7vw,72px);bottom:86px;z-index:5;display:flex;gap:10px;flex-wrap:wrap}
.hero-process span{padding:10px 14px;border-radius:999px;background:rgba(255,255,255,.12);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.18);color:#fff;font-size:11px;letter-spacing:.08em;text-transform:uppercase}
@keyframes heroLineOne{0%,100%{transform:translateX(-1%) rotate(-1.2deg)}50%{transform:translateX(1%) rotate(.8deg)}}
@keyframes heroLineTwo{0%,100%{transform:translateX(1%) rotate(1.4deg)}50%{transform:translateX(-1%) rotate(-.6deg)}}
@keyframes heroGlow{0%,100%{transform:translateX(0);opacity:.72}50%{transform:translateX(-24px);opacity:1}}

.stats-premium{background:#10201d;color:#fff;padding-top:90px;padding-bottom:96px}
.stats-premium .section-title{color:#fff}
.stats-premium .lead{color:rgba(255,255,255,.64)}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:34px}
.stat-card{position:relative;padding:34px 28px;border-radius:28px;border:1px solid rgba(255,255,255,.1);background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.03));box-shadow:0 20px 60px rgba(0,0,0,.16);min-height:180px;overflow:hidden}
.stat-card:before{content:"";position:absolute;inset:auto auto 0 0;width:100%;height:2px;background:linear-gradient(90deg,var(--blue),var(--orange),var(--green));opacity:.78}
.stat-card strong{font-family:Syne;font-size:clamp(50px,7vw,74px);line-height:.9;display:inline-block}
.stat-card>span{font-family:Syne;font-size:38px;display:inline-block;margin-left:6px;opacity:.82}
.stat-card small{display:block;margin-top:14px;text-transform:uppercase;letter-spacing:.12em;font-size:11px;color:rgba(255,255,255,.68)}

.why-section{background:#f4f1ea}
.why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.why-card{padding:30px;border-radius:26px;background:#fff;border:1px solid rgba(23,33,31,.08);box-shadow:0 16px 45px rgba(23,33,31,.06)}
.why-card b{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;font-family:Syne;background:rgba(8,114,185,.08);color:var(--blue);margin-bottom:18px}
.why-card h3{font-family:Syne;font-size:27px;letter-spacing:-.035em;margin-bottom:10px}
.why-card p{font-size:14px;line-height:1.75;color:var(--muted);margin:0}

.logistics-story{background:#fff}
.logistics-grid{display:grid;grid-template-columns:1.04fr .96fr;gap:42px;align-items:center}
.logistics-visual{position:relative;min-height:580px;border-radius:32px;overflow:hidden;box-shadow:var(--shadow)}
.logistics-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.logistics-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.02),rgba(8,18,16,.42))}
.logistics-visual-note{position:absolute;left:24px;right:24px;bottom:24px;z-index:2;padding:18px 20px;background:rgba(255,255,255,.88);backdrop-filter:blur(14px);border-radius:18px}
.logistics-visual-note span{display:block;font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:var(--green)}
.logistics-visual-note b{font-family:Syne;font-size:24px;letter-spacing:-.03em}
.logistics-steps{display:grid;gap:14px;margin:28px 0 30px}
.logistics-steps article{display:grid;grid-template-columns:56px 1fr;gap:14px;align-items:flex-start;padding:16px 0;border-top:1px solid var(--line)}
.logistics-steps article:last-child{border-bottom:1px solid var(--line)}
.logistics-steps span{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#10201d;color:#fff;font-family:Syne;font-size:14px}
.logistics-steps b{display:block;font-family:Syne;font-size:24px;letter-spacing:-.03em;margin-bottom:6px}
.logistics-steps p{margin:0;color:var(--muted);line-height:1.7}

.references-section{background:#eef1eb}
.references-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.reference-card{padding:34px;border-radius:28px;background:#fff;border:1px solid rgba(23,33,31,.08);box-shadow:0 18px 48px rgba(23,33,31,.08)}
.reference-top{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:28px}
.reference-top img{max-width:160px;max-height:58px;object-fit:contain}
.reference-top span{padding:8px 12px;border-radius:999px;background:#f5f2eb;color:var(--orange);font-size:10px;letter-spacing:.12em;text-transform:uppercase}
.reference-card h3{font-family:Syne;font-size:34px;letter-spacing:-.04em;margin-bottom:10px}
.reference-card p{line-height:1.8;color:var(--muted);font-size:14px}
.reference-card a{display:inline-flex;margin-top:10px;font-weight:750;color:var(--blue)}

.gallery-v56{background:#fff}
.gallery-mosaic-v56{display:grid;grid-template-columns:1.12fr .88fr;grid-template-areas:'a b' 'c d';gap:18px}
.gallery-card{position:relative;overflow:hidden;border-radius:28px;min-height:300px;background:#e8e4db;box-shadow:0 18px 48px rgba(23,33,31,.08)}
.gallery-card:nth-child(1){grid-area:a;min-height:380px}.gallery-card:nth-child(2){grid-area:b}.gallery-card:nth-child(3){grid-area:c}.gallery-card:nth-child(4){grid-area:d}
.gallery-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.gallery-card:hover img{transform:scale(1.04)}
.gallery-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(10,24,21,.72) 100%)}
.gallery-card figcaption{position:absolute;left:24px;right:24px;bottom:22px;z-index:2;color:#fff;font-family:Syne;font-size:28px;letter-spacing:-.03em}

.directory-hero{min-height:460px}
.directory-plugin{background:#f4f1ea}
.plugin-note{display:grid;gap:8px;padding:24px 26px;border-radius:24px;background:#10201d;color:#fff;margin-bottom:22px;box-shadow:var(--shadow)}
.plugin-note span{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:#c9d39c}.plugin-note b{font-size:20px;line-height:1.5;font-weight:600}
.business-directory-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:24px}
.business-card{padding:30px;border-radius:28px;background:#fff;border:1px solid rgba(23,33,31,.08);box-shadow:0 16px 45px rgba(23,33,31,.07)}
.business-card__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;gap:14px}.business-card__head span{font-size:10px;letter-spacing:.14em;color:var(--green);text-transform:uppercase}.business-card__head b{font-size:12px;background:#f4f0e8;border-radius:999px;padding:8px 12px}
.business-card h3{font-family:Syne;font-size:28px;line-height:1.05;letter-spacing:-.04em;margin-bottom:10px}
.business-card p{line-height:1.75;color:var(--muted);font-size:14px}.business-card ul{padding-left:20px;margin:14px 0 18px;color:var(--ink)}.business-card li{margin-bottom:8px}.business-card a{font-weight:750;color:var(--blue)}
.business-card.is-hidden{display:none}

.filter-chip[data-city]{cursor:pointer}

@media(max-width:1080px){
  .stats-grid,.why-grid,.references-grid,.business-directory-grid{grid-template-columns:repeat(2,1fr)}
  .logistics-grid{grid-template-columns:1fr}
  .gallery-mosaic-v56{grid-template-columns:1fr 1fr}
}
@media(max-width:980px){
  .hero-v56 .hero-inline-signature{left:24px;right:24px;bottom:160px;height:94px}
  .hero-process{left:24px;bottom:108px}
  .stats-grid,.why-grid,.references-grid,.business-directory-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:720px){
  .hero-v56 .hero-inline-signature{bottom:146px;height:74px}
  .hero-process{left:16px;right:16px;bottom:92px;gap:8px}
  .hero-process span{font-size:9px;padding:8px 10px}
  .stats-grid,.why-grid,.references-grid,.business-directory-grid,.gallery-mosaic-v56{grid-template-columns:1fr}
  .gallery-mosaic-v56{grid-template-areas:'a' 'b' 'c' 'd'}
  .gallery-card,.gallery-card:nth-child(1){min-height:260px}
  .logistics-visual{min-height:400px}
  .why-card,.reference-card,.business-card,.stat-card{padding:24px}
}
@media(prefers-reduced-motion:reduce){
  .hero-v56 .hero-inline-signature .line,.hero-v56 .hero-inline-signature .glow{animation:none}
}

/* ==========================================
   V5.6.1 — visual corrections from review
========================================== */
/* Loader: larger logo + visible micro spinner */
.page-mask{background:transparent}
.page-mask__center{min-width:300px;flex-direction:column;justify-content:center;text-align:center;padding:26px 30px 22px;border-radius:30px;background:rgba(255,255,255,.98);box-shadow:0 28px 90px rgba(10,24,21,.16);border:1px solid rgba(23,33,31,.08)}
.page-mask__center img{width:118px}
.page-mask__brand b{font-family:Syne;font-size:15px;letter-spacing:-.02em}.page-mask__brand small{margin-top:3px}
.page-mask__spinner{width:30px;height:30px;border-radius:50%;background:conic-gradient(var(--blue) 0 32%,var(--green) 32% 65%,var(--orange) 65% 100%);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 4px),#000 0);mask:radial-gradient(farthest-side,transparent calc(100% - 4px),#000 0);animation:v561spin .78s linear infinite}
.page-mask__line{width:86px;height:3px}
@keyframes v561spin{to{transform:rotate(360deg)}}

/* Hero distribution abstraction: inside hero, at the bottom */
.hero-v56 .hero-distribution-map{position:absolute;z-index:5;left:44%;right:5.5%;bottom:92px;height:118px;border-radius:24px;background:linear-gradient(180deg,rgba(12,29,26,.04),rgba(12,29,26,.12));border:1px solid rgba(255,255,255,.22);backdrop-filter:blur(8px);overflow:hidden;pointer-events:none}
.hero-distribution-map svg{position:absolute;inset:20px 16px 8px;width:calc(100% - 32px);height:78px;overflow:visible}.hero-distribution-map .route{fill:none;stroke-width:1.45;opacity:.78;stroke-dasharray:7 7;animation:v561route 9s linear infinite}.hero-distribution-map .route-blue{stroke:var(--blue)}.hero-distribution-map .route-orange{stroke:var(--orange)}.hero-distribution-map .route-green{stroke:var(--green)}.hero-distribution-map .route-dot.dot-blue{fill:var(--blue)}.hero-distribution-map .route-dot.dot-orange{fill:var(--orange)}.hero-distribution-map .route-dot.dot-green{fill:var(--green)}
.distribution-map-label{position:absolute;left:18px;top:12px;z-index:2;display:flex;gap:10px;align-items:center}.distribution-map-label span{font-family:Syne;font-size:11px;color:var(--orange);font-weight:750;letter-spacing:.08em}.distribution-map-label b{font-size:10px;color:rgba(23,33,31,.72);font-weight:650}.distribution-map-points{position:absolute;left:22px;right:22px;bottom:10px;display:flex;justify-content:space-between;font-size:9px;text-transform:uppercase;letter-spacing:.12em;color:rgba(23,33,31,.64)}
@keyframes v561route{to{stroke-dashoffset:-140}}

/* Reduce empty white space in company statement */
.manifesto-grid-v561{align-items:stretch;gap:42px}.manifesto-grid-v561 .manifesto-copy{align-self:center;padding:24px 0}.manifesto-grid-v561 .manifesto-copy p{max-width:600px}.manifesto-visual{position:relative;min-height:480px;border-radius:32px;overflow:hidden;box-shadow:var(--shadow);background:#dfe3de}.manifesto-visual>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.manifesto-visual-shade{position:absolute;inset:0;background:linear-gradient(180deg,transparent 42%,rgba(8,23,20,.72) 100%)}.manifesto-metrics{position:absolute;left:18px;right:18px;bottom:18px;display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.manifesto-metrics .metric{padding:18px 15px;background:rgba(255,255,255,.9);backdrop-filter:blur(12px);border-color:rgba(255,255,255,.42)}.manifesto-metrics .metric strong{font-size:34px}.manifesto-metrics .metric span{font-size:9px}

/* Breadcrumb: guaranteed contrast on image heroes */
.inner-hero .breadcrumbs{display:inline-flex;align-items:center;gap:6px;padding:9px 12px;border-radius:999px;background:rgba(7,22,19,.72);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.18);color:rgba(255,255,255,.82);margin-bottom:18px;text-shadow:none}.inner-hero .breadcrumbs a{color:#fff}.inner-hero .breadcrumbs a:hover{color:#d7e7a2}

/* Category / product hero contrast */
.category-page .inner-hero:after,.product-page .inner-hero:after{background:linear-gradient(90deg,rgba(5,17,15,.42) 0%,rgba(5,17,15,.22) 45%,rgba(5,17,15,.06) 72%,rgba(5,17,15,.04) 100%)}
.category-page .inner-copy,.product-page .inner-copy{width:min(700px,58vw);margin:0 0 56px;padding:32px 36px;border-radius:28px;background:rgba(7,23,20,.68);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.18);box-shadow:0 24px 60px rgba(0,0,0,.18);color:#fff}
.category-page .inner-copy h1,.product-page .inner-copy h1{color:#fff;margin-bottom:18px}.category-page .inner-copy h1 em,.product-page .inner-copy h1 em{color:#6ec5f3}.category-page .inner-copy .lead,.product-page .inner-copy .lead{color:rgba(255,255,255,.82);margin-bottom:0}.category-page .inner-copy .kicker,.product-page .inner-copy .kicker{color:#d7e7a2}.category-page .inner-copy .kicker:before,.product-page .inner-copy .kicker:before{background:linear-gradient(90deg,#6ec5f3 0 34%,#a8c04d 34% 67%,#ff9d3b 67%)}

/* Category & product cards: image and text never overlap */
.catalog-product{display:grid;grid-template-rows:300px auto;min-height:450px}.catalog-product .pic{height:auto;min-height:0;overflow:hidden;padding:24px;background:#f3efe7}.catalog-product .pic img{display:block;width:100%;height:100%;max-height:none;max-width:none;object-fit:contain;object-position:center}.catalog-product .body{position:relative;z-index:2;background:#fff;min-height:145px;padding:22px 20px 24px;border-top:1px solid rgba(23,33,31,.06)}.catalog-product .body h3{font-size:20px;line-height:1.2;margin:8px 0 9px}.catalog-product .body p{margin:0;font-size:12px;line-height:1.65}
.product-card{display:grid;grid-template-rows:minmax(300px,1fr) auto}.product-card.large{grid-template-rows:minmax(450px,1fr) auto}.product-card .product-visual{min-height:0;overflow:hidden}.product-card .product-visual img{width:100%;height:100%;max-width:none;max-height:none;object-fit:contain;padding:26px}.product-card .product-copy{position:relative;z-index:2;background:#fff;min-height:150px}.product-card.large .product-copy{min-height:158px}

/* References: 3 allies in automatic carousel */
.references-carousel{position:relative;display:grid;grid-template-columns:52px minmax(0,1fr) 52px;gap:14px;align-items:center}.references-viewport{overflow:hidden}.references-track{display:grid;grid-auto-flow:column;grid-auto-columns:calc(50% - 9px);gap:18px;transition:transform .6s var(--ease);will-change:transform}.reference-card{min-height:300px}.reference-arrow{width:48px;height:48px;border-radius:50%;border:1px solid var(--line);background:#fff;display:grid;place-items:center;box-shadow:0 10px 28px rgba(23,33,31,.08);transition:.3s var(--ease)}.reference-arrow:hover{transform:translateY(-2px);background:var(--ink);color:#fff}.reference-progress{height:3px;margin:22px 66px 0;background:rgba(23,33,31,.08);overflow:hidden;border-radius:999px}.reference-progress span{display:block;height:100%;width:33.333%;background:linear-gradient(90deg,var(--blue),var(--green),var(--orange));transition:transform .55s var(--ease)}

/* Contact form fixed: wrappers, labels, select and textarea share one system */
.premium-form .field{margin-bottom:14px}.premium-form .form-row .field{margin-bottom:14px}.premium-form .field input,.premium-form .field textarea,.premium-form .field select{display:block;width:100%;min-height:52px;border:1px solid rgba(23,33,31,.13);background:#f8f6f1;border-radius:15px;padding:14px 15px;color:var(--ink);outline:none;appearance:none}.premium-form .field textarea{min-height:150px;resize:vertical}.premium-form .field input::placeholder,.premium-form .field textarea::placeholder{color:#9aa29f}.premium-form .field select{background-image:linear-gradient(45deg,transparent 50%,#76807c 50%),linear-gradient(135deg,#76807c 50%,transparent 50%);background-position:calc(100% - 19px) 22px,calc(100% - 14px) 22px;background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:42px}.premium-form .field input:focus,.premium-form .field textarea:focus,.premium-form .field select:focus{border-color:var(--blue);box-shadow:0 0 0 4px rgba(8,114,185,.08);background:#fff}.form-consent{font-size:11px;line-height:1.6;color:var(--muted);margin:-2px 0 18px}

/* Better slide 02 framing / no visual emptiness */
.hero-v56 .hero-slide[data-scene="02"] .hero-bg{object-position:62% center;transform:scale(1.06)}.hero-v56 .hero-slide[data-scene="02"].active .hero-bg{animation:v561hero2 8s linear both}@keyframes v561hero2{from{transform:scale(1.10)}to{transform:scale(1.04)}}

@media(max-width:1080px){
  .hero-v56 .hero-distribution-map{left:39%;right:3.5%;bottom:100px}
  .manifesto-grid-v561{grid-template-columns:1fr}.manifesto-visual{min-height:420px}
  .references-track{grid-auto-columns:72%}
}
@media(max-width:980px){
  .category-page .inner-copy,.product-page .inner-copy{width:calc(100% - 40px);margin:0 20px 44px;padding:28px}
  .hero-v56 .hero-distribution-map{left:24px;right:24px;bottom:126px;height:92px}.distribution-map-label b{display:none}.distribution-map-points{font-size:8px}.references-track{grid-auto-columns:82%}
}
@media(max-width:720px){
  .page-mask__center{min-width:min(310px,84vw);padding:22px}.page-mask__center img{width:100px}
  .hero-v56 .hero-distribution-map{display:none}
  .manifesto-visual{min-height:390px}.manifesto-metrics{grid-template-columns:1fr;right:auto;width:170px}.manifesto-metrics .metric:nth-child(n+2){display:none}
  .category-page .inner-copy,.product-page .inner-copy{width:calc(100% - 28px);margin:0 14px 30px;padding:24px}.category-page .inner-copy h1,.product-page .inner-copy h1{font-size:clamp(44px,12vw,62px)}
  .catalog-product{grid-template-rows:250px auto}.product-card,.product-card.large{grid-template-rows:300px auto}
  .references-carousel{grid-template-columns:1fr}.reference-arrow{position:absolute;z-index:4;top:50%;transform:translateY(-50%)}.reference-prev{left:8px}.reference-next{right:8px}.reference-arrow:hover{transform:translateY(-50%)}.references-track{grid-auto-columns:100%}.reference-progress{margin-inline:0}
}
.reference-link{display:inline-flex;margin-top:10px;font-weight:750;color:var(--green)}

/* ============================================================
   V5.6.3 — corrections ciblées sur base V5.6.1
   ============================================================ */

/* Ancienne cartographie encadrée retirée : les flux font désormais corps avec le hero. */
.hero-distribution-map{display:none!important}
.hero-v56 .hero-flow-field{position:absolute;left:0;right:0;bottom:6px;width:100%;height:116px;z-index:2;pointer-events:none;overflow:visible;opacity:.98;mix-blend-mode:screen}
.hero-v56 .hero-flow-field path{fill:none;stroke-linecap:round;stroke-linejoin:round}.hero-v56 .hero-flow-field .flow-base,.hero-v56 .hero-flow-field .flow-energy{filter:drop-shadow(0 0 5px rgba(255,255,255,.18))}
.hero-v56 .hero-flow-field .flow-base{stroke-width:1.9;stroke-dasharray:26 14;stroke-dashoffset:0;opacity:.62}
.hero-v56 .hero-flow-field .flow-energy{stroke-width:3.2;stroke-dasharray:150 840;stroke-dashoffset:1000;opacity:.92;filter:drop-shadow(0 0 8px rgba(255,255,255,.26))}
.hero-v56 .hero-slide.active .flow-base{animation:v563FlowDraw 1.75s cubic-bezier(.18,.78,.18,1) forwards}
.hero-v56 .hero-slide.active .flow-energy{animation:v563EnergyRun 5.8s linear 1.05s infinite,v563EnergyFade .8s ease 1s forwards}
.hero-v56 .hero-slide.active .flow-b .flow-base{animation-delay:.28s}.hero-v56 .hero-slide.active .flow-b .flow-energy{animation-delay:1.18s,1.12s}
.hero-v56 .hero-slide.active .flow-c .flow-base{animation-delay:.40s}.hero-v56 .hero-slide.active .flow-c .flow-energy{animation-delay:1.31s,1.24s}
.hero-v56 .hero-slide.active .flow-d .flow-base{animation-delay:.53s}.hero-v56 .hero-slide.active .flow-d .flow-energy{animation-delay:1.44s,1.36s}
.hero-v56 .hero-flow-field .flow-fine{stroke-width:1.3;opacity:.56}
.hero-v56 .hero-flow-field .flow-a{transform:translateY(0)}
.hero-v56 .hero-flow-field .flow-b{transform:translateY(4px)}
.hero-v56 .hero-flow-field .flow-c{transform:translateY(-4px)}
.hero-v56 .hero-flow-field .flow-d{transform:translateY(6px)}
.hero-v56 .hero-flow-field .flow-base,.hero-v56 .hero-flow-field .flow-energy{animation:heroFlowSweep 16s linear infinite}
.hero-v56 .hero-flow-field .flow-b .flow-base,.hero-v56 .hero-flow-field .flow-b .flow-energy{animation-duration:20s}
.hero-v56 .hero-flow-field .flow-c .flow-base,.hero-v56 .hero-flow-field .flow-c .flow-energy{animation-duration:18s;animation-direction:reverse}
.hero-v56 .hero-flow-field .flow-d .flow-base,.hero-v56 .hero-flow-field .flow-d .flow-energy{animation-duration:22s}
@keyframes heroFlowSweep{from{stroke-dashoffset:1000}to{stroke-dashoffset:0}}
@keyframes v563FlowDraw{to{stroke-dashoffset:0}}
@keyframes v563EnergyRun{from{stroke-dashoffset:1000}to{stroke-dashoffset:0}}
@keyframes v563EnergyFade{to{opacity:.72}}

/* La galerie reprend les vrais assets de la V5.2 + un visuel HD complémentaire. */
.gallery-mosaic-v563{display:grid;grid-template-columns:1.18fr .78fr .92fr;grid-auto-rows:260px;gap:18px}
.gallery-mosaic-v563 .gallery-card{min-height:0;height:auto}
.gallery-mosaic-v563 .gallery-feature{grid-row:span 2}
.gallery-mosaic-v563 .gallery-wide{grid-column:span 2}
.gallery-mosaic-v563 .gallery-card img{object-fit:cover}
.gallery-mosaic-v563 .gallery-card figcaption{font-size:22px}
.gallery-strip-v564{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:18px}
.gallery-strip-v564 .gallery-card{min-height:240px;height:240px}
.gallery-strip-v564 .gallery-card img{width:100%;height:100%;object-fit:cover}
.gallery-strip-v564 .gallery-card figcaption{font-size:18px}

/* À propos : références du groupe et marques distribuées sont volontairement séparées. */
.about-references-section{background:#eef1eb}
.about-reference-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.about-reference-card{padding:30px;border-radius:28px;background:#fff;border:1px solid rgba(23,33,31,.08);box-shadow:0 18px 48px rgba(23,33,31,.07);min-height:330px;display:flex;flex-direction:column}
.about-reference-logo{height:76px;display:flex;align-items:center;margin-bottom:28px}.about-reference-logo img{max-width:160px;max-height:66px;object-fit:contain}
.about-reference-card h3{font-family:Syne;font-size:30px;letter-spacing:-.04em;margin-bottom:10px}.about-reference-card p{color:var(--muted);line-height:1.75;font-size:14px;flex:1}.about-reference-card a,.about-reference-card .reference-link{font-weight:750;color:var(--blue);font-size:13px;margin-top:18px}
.about-brands-section{background:#fff}.brand-name-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.brand-name-grid span{min-height:88px;border-radius:22px;border:1px solid var(--line);background:#f8f6f1;display:grid;place-items:center;text-align:center;padding:18px;font-family:Syne;font-weight:700;font-size:16px;letter-spacing:.02em;transition:.35s var(--ease)}.brand-name-grid span:hover{transform:translateY(-4px);background:#fff;box-shadow:0 16px 40px rgba(23,33,31,.08)}.brand-wordmark{position:relative;background:linear-gradient(180deg,#fff,#f7f4ec)!important;font-size:20px!important;font-weight:800!important;letter-spacing:.08em!important;color:#17211f;line-height:1;display:flex!important;align-items:center;justify-content:center;flex-direction:column}.brand-wordmark small{display:block;margin-top:4px;font-size:10px;letter-spacing:.18em;color:var(--muted)}.brand-wordmark--smart,.brand-wordmark--sigma,.brand-wordmark--lioa,.brand-wordmark--sanifix,.brand-wordmark--sassin,.brand-wordmark--tflex,.brand-wordmark--visafix{font-size:24px!important}.brand-wordmark--sassin{border-color:rgba(23,33,31,.14)!important}.brand-wordmark--visafix{color:#d64230}.brand-wordmark--tflex:before{content:"";position:absolute;left:22px;right:22px;top:50%;height:2px;background:linear-gradient(90deg,transparent,#f07d12 22%,#f07d12 78%,transparent);transform:translateY(-13px);opacity:.88}.brand-wordmark--osman{font-size:17px!important;letter-spacing:.06em!important}
.about-brand-logo-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;margin-bottom:14px}.about-brand-logo-card{min-height:112px;border-radius:24px;border:1px solid rgba(23,33,31,.10);background:linear-gradient(180deg,#fff,#f8f6f1);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:18px;box-shadow:0 14px 36px rgba(23,33,31,.06);transition:.35s var(--ease)}.about-brand-logo-card:hover{transform:translateY(-4px);box-shadow:0 20px 40px rgba(23,33,31,.10)}.about-brand-logo-card img{max-width:120px;max-height:44px;object-fit:contain;mix-blend-mode:multiply}.about-brand-logo-card span{display:block;margin-top:12px;font-size:11px;font-weight:800;letter-spacing:.14em;color:var(--muted)}

/* Annuaire : lecture forte quelle que soit la photographie. */
.directory-page .directory-hero .inner-copy{width:min(690px,58vw);margin:0 0 48px;padding:30px 34px;border-radius:28px;background:rgba(7,23,20,.74);backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.2);box-shadow:0 24px 64px rgba(0,0,0,.22);color:#fff}
.directory-page .directory-hero .inner-copy h1{color:#fff;margin-bottom:14px}.directory-page .directory-hero .inner-copy h1 em{color:#70c8f4}.directory-page .directory-hero .inner-copy .lead{color:rgba(255,255,255,.84);margin-bottom:0}.directory-page .directory-hero .inner-copy .kicker{color:#d7e7a2}
.directory-page .directory-hero .breadcrumbs{background:#0c1d1a;color:#fff;border-color:rgba(255,255,255,.25);font-weight:700}.directory-page .directory-hero .breadcrumbs a,.directory-page .directory-hero .breadcrumbs span{color:#fff}
.directory-page .plugin-note{background:linear-gradient(135deg,#10201d,#18312c)}

@media(max-width:1080px){
  .gallery-mosaic-v563{grid-template-columns:1fr 1fr;grid-auto-rows:250px}.gallery-mosaic-v563 .gallery-feature{grid-row:span 2}.gallery-mosaic-v563 .gallery-wide{grid-column:span 1}
  .gallery-strip-v564{grid-template-columns:1fr 1fr}
  .about-reference-grid{grid-template-columns:1fr 1fr}.about-brand-logo-grid{grid-template-columns:repeat(3,1fr)}.brand-name-grid{grid-template-columns:repeat(3,1fr)}
  .directory-page .directory-hero .inner-copy{width:min(720px,76vw)}
}
@media(max-width:720px){
  .hero-v56 .hero-flow-field{position:absolute;left:0;right:0;bottom:6px;width:100%;height:116px;z-index:2;pointer-events:none;overflow:visible;opacity:.98;mix-blend-mode:screen}.hero-v56 .hero-flow-field .flow-base{stroke-width:1.9;stroke-dasharray:26 14;stroke-dashoffset:0;opacity:.62}.hero-v56 .hero-flow-field .flow-energy{stroke-width:3.2;stroke-dasharray:150 840;stroke-dashoffset:1000;opacity:.92;filter:drop-shadow(0 0 8px rgba(255,255,255,.26))}
  .gallery-mosaic-v563{grid-template-columns:1fr;grid-auto-rows:250px}.gallery-mosaic-v563 .gallery-feature,.gallery-mosaic-v563 .gallery-wide{grid-row:auto;grid-column:auto}
  .gallery-strip-v564,.about-reference-grid,.about-brand-logo-grid,.brand-name-grid{grid-template-columns:1fr}.directory-page .directory-hero .inner-copy{width:calc(100% - 28px);margin:0 14px 30px;padding:24px}
}
@media(prefers-reduced-motion:reduce){
  .hero-v56 .hero-slide.active .flow-base,.hero-v56 .hero-slide.active .flow-energy{animation:none;stroke-dashoffset:0;opacity:.45}
}

/* ============================================================
   V5.6.7 — corrections strictement ciblées
   Slider: flux de distribution au bas du hero / Galerie compacte
   Annuaire: sélection ville / Contact: CAPTCHA + état formulaire
============================================================ */

/* Désactive uniquement les anciennes courbes par slide. Les images, contenus,
   navigations et animations du slider V5.6.6 restent inchangés. */
.hero-v56 .hero-flow-field{display:none!important}

/* Flux de distribution commun, intégré dans l'image, sous la navigation du slider. */
.hero-distribution-flow{
  position:absolute;
  left:0;right:0;bottom:0;
  height:122px;
  z-index:8;
  pointer-events:none;
  overflow:hidden;
  opacity:.96;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 7%,#000 93%,transparent 100%);
  mask-image:linear-gradient(90deg,transparent 0,#000 7%,#000 93%,transparent 100%);
}
.hero-distribution-flow:before{
  content:"";
  position:absolute;inset:auto 0 0;height:100%;
  background:linear-gradient(180deg,transparent 0,rgba(248,247,242,.06) 36%,rgba(248,247,242,.18) 100%);
}
.hero-distribution-flow svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.hero-distribution-flow .dist-route{
  fill:none;
  stroke-width:2.35;
  stroke-linecap:round;
  stroke-linejoin:round;
  stroke-dasharray:15 11;
  filter:drop-shadow(0 0 5px rgba(255,255,255,.42));
  animation:v567DistributionFlow 8.5s linear infinite;
}
.hero-distribution-flow .dist-route-orange{animation-duration:10.5s;animation-direction:reverse}
.hero-distribution-flow .dist-route-green{animation-duration:12s}
@keyframes v567DistributionFlow{to{stroke-dashoffset:-260}}
/* La navigation reste au-dessus des courbes. */
.hero-dock-v55{z-index:20}

/* Galerie: neutralise les anciens grid-area génériques responsables des grands
   espaces blancs et remplit la largeur avec les huit images fournies. */
.gallery-v56 .section-head{margin-bottom:30px}
.gallery-mosaic-v567{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  grid-auto-rows:245px;
  grid-auto-flow:dense;
  gap:16px;
  margin:0;
}
.gallery-mosaic-v567 .gallery-card,
.gallery-mosaic-v567 .gallery-card:nth-child(n){
  grid-area:auto!important;
  grid-column:auto!important;
  grid-row:auto!important;
  min-height:0!important;
  height:245px!important;
  margin:0!important;
}
.gallery-mosaic-v567 .gallery-card img{width:100%;height:100%;object-fit:cover}
.gallery-mosaic-v567 .gallery-card figcaption{font-size:18px}

/* Annuaire commercial alimenté depuis le CSV fourni. */
.directory-tools{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:6px}
.directory-city-label{font-size:11px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:var(--green)}
.directory-city-select{
  min-width:280px;max-width:100%;
  border:1px solid var(--line);border-radius:999px;
  background:#fff;color:var(--ink);
  padding:12px 42px 12px 16px;
  font:600 13px/1.2 'Plus Jakarta Sans',sans-serif;
  outline:none;
}
.directory-city-select:focus{border-color:rgba(8,114,185,.55);box-shadow:0 0 0 4px rgba(8,114,185,.09)}

/* Formulaire de contact sécurisé côté serveur. */
.field-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.captcha-box{display:grid;grid-template-columns:1fr minmax(180px,.55fr);gap:16px;align-items:end;padding:16px 18px;border:1px solid var(--line);border-radius:20px;background:#f8f6f1}
.captcha-visual{display:flex;flex-direction:column;gap:8px}
.captcha-label{font-size:10px;text-transform:uppercase;letter-spacing:.14em;font-weight:800;color:var(--green)}
.captcha-image{width:180px;max-width:100%;height:58px;object-fit:contain;border-radius:12px;background:#fff;border:1px solid rgba(23,33,31,.08)}
.captcha-answer{display:grid;grid-template-columns:1fr 46px;gap:8px;align-items:end}
.captcha-answer label{grid-column:1/-1;font-size:11px;font-weight:750;color:var(--muted)}
.captcha-answer input{width:100%;min-height:46px;border:1px solid var(--line);border-radius:12px;background:#fff;padding:0 12px;font:700 16px 'Plus Jakarta Sans',sans-serif}
.captcha-refresh{width:46px;height:46px;border-radius:12px;border:1px solid var(--line);background:#fff;font-size:20px;cursor:pointer}
.form-status{min-height:22px;font-size:13px;line-height:1.5}
.form-status.is-success{color:#52751f}.form-status.is-error{color:#b43b2f}

@media(max-width:1080px){
  .gallery-mosaic-v567{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:240px}
  .gallery-mosaic-v567 .gallery-card,.gallery-mosaic-v567 .gallery-card:nth-child(n){height:240px!important}
}
@media(max-width:720px){
  .hero-distribution-flow{height:90px;bottom:0;opacity:.88}
  .hero-distribution-flow .dist-route{stroke-width:1.8}
  .gallery-v56 .section-head{margin-bottom:22px}
  .gallery-mosaic-v567{grid-template-columns:1fr;grid-auto-rows:235px;gap:12px}
  .gallery-mosaic-v567 .gallery-card,.gallery-mosaic-v567 .gallery-card:nth-child(n){height:235px!important}
  .captcha-box{grid-template-columns:1fr}
  .directory-city-select{width:100%;min-width:0}
}
@media(prefers-reduced-motion:reduce){.hero-distribution-flow .dist-route{animation:none}}


/* ============================================================
   V5.6.8 — ONLY slider distribution accent changed from V5.6.7
   No other frontend section is modified.
============================================================ */
.hero-distribution-flow{display:none!important}
.hero-distribution-rail{
  position:absolute;
  left:0;right:0;bottom:0;
  height:34px;
  z-index:8;
  pointer-events:none;
  overflow:hidden;
  opacity:.94;
}
.distribution-rail-track{
  position:absolute;
  left:3.5%;right:3.5%;bottom:12px;
  height:12px;
}
.distribution-rail-line{
  position:absolute;
  left:0;right:0;top:5px;
  height:1px;
  background:linear-gradient(90deg,
    rgba(8,114,185,0) 0%,
    rgba(8,114,185,.62) 12%,
    rgba(8,114,185,.82) 28%,
    rgba(120,141,43,.72) 52%,
    rgba(240,125,18,.80) 76%,
    rgba(240,125,18,0) 100%);
  box-shadow:0 0 12px rgba(255,255,255,.18);
}
.distribution-rail-line:after{
  content:"";
  position:absolute;
  top:-1px;left:-22%;
  width:18%;height:3px;
  border-radius:999px;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.95),transparent);
  filter:blur(.15px);
  animation:v568RailSweep 6.8s cubic-bezier(.22,.72,.28,1) infinite;
}
.distribution-rail-node{
  position:absolute;top:1px;
  width:9px;height:9px;border-radius:50%;
  border:1px solid rgba(255,255,255,.92);
  background:#fff;
  box-shadow:0 0 0 4px rgba(255,255,255,.12),0 0 16px rgba(255,255,255,.30);
}
.distribution-rail-node:after{
  content:"";position:absolute;inset:2px;border-radius:50%;background:currentColor;
}
.distribution-rail-node.node-1{left:15%;color:#0872b9}
.distribution-rail-node.node-2{left:39%;color:#4f9142}
.distribution-rail-node.node-3{left:66%;color:#b2a530}
.distribution-rail-node.node-4{left:88%;color:#f07d12}
.distribution-rail-chevron{
  position:absolute;top:-7px;
  color:rgba(255,255,255,.82);
  font-family:Arial,sans-serif;font-size:23px;font-weight:300;line-height:23px;
  text-shadow:0 0 10px rgba(8,114,185,.22);
  animation:v568Chevron 2.6s ease-in-out infinite;
}
.distribution-rail-chevron.chevron-1{left:22%;animation-delay:0s}
.distribution-rail-chevron.chevron-2{left:33%;animation-delay:.25s}
.distribution-rail-chevron.chevron-3{left:52%;animation-delay:.5s}
.distribution-rail-chevron.chevron-4{left:73%;animation-delay:.75s}
.distribution-rail-chevron.chevron-5{left:82%;animation-delay:1s}
.distribution-rail-pulse{
  position:absolute;top:3px;left:-6%;
  width:5px;height:5px;border-radius:50%;
  background:#fff;
  box-shadow:0 0 8px 3px rgba(255,255,255,.45),0 0 18px 7px rgba(8,114,185,.18);
  animation:v568Pulse 9.5s linear infinite;
}
.distribution-rail-pulse.pulse-2{animation-delay:-3.1s;box-shadow:0 0 8px 3px rgba(255,255,255,.42),0 0 18px 7px rgba(120,141,43,.18)}
.distribution-rail-pulse.pulse-3{animation-delay:-6.2s;box-shadow:0 0 8px 3px rgba(255,255,255,.42),0 0 18px 7px rgba(240,125,18,.18)}
@keyframes v568RailSweep{0%{transform:translateX(0);opacity:0}12%{opacity:1}88%{opacity:1}100%{transform:translateX(680%);opacity:0}}
@keyframes v568Pulse{0%{transform:translateX(0);opacity:0}6%{opacity:1}94%{opacity:1}100%{transform:translateX(1900px);opacity:0}}
@keyframes v568Chevron{0%,100%{opacity:.28;transform:translateX(0)}45%{opacity:.95;transform:translateX(3px)}}
@media(max-width:720px){
  .hero-distribution-rail{height:25px;opacity:.82}
  .distribution-rail-track{left:5%;right:5%;bottom:8px}
  .distribution-rail-chevron{display:none}
  .distribution-rail-node{width:7px;height:7px;top:2px}
}
@media(prefers-reduced-motion:reduce){
  .distribution-rail-line:after,.distribution-rail-chevron,.distribution-rail-pulse{animation:none!important}
  .distribution-rail-pulse{display:none}
}


/* V5.6.9 — scroll motion only; layout/content untouched */
@media (prefers-reduced-motion:no-preference){
  .scroll-motion{transition:opacity .72s var(--ease),transform .82s var(--ease),filter .82s ease;transform-origin:50% 20%;will-change:transform,opacity,filter}
  .scroll-motion.scroll-motion-pending{opacity:.72;transform:translate3d(0,34px,0) scale(.992);filter:saturate(.92) blur(1.5px)}
  .scroll-motion.scroll-motion-visible{opacity:1;transform:translate3d(0,0,0) scale(1);filter:none}
}


/* ============================================================
   V5.6.10 — targeted corrections only
   1) hero: transparent animated directional arrows
   2) calmer scroll entrances
   3) network/map section separated visually from white brands
============================================================ */

/* Replace the technical rail visuals with translucent arrows only. */
.hero-distribution-rail{
  height:52px;
  bottom:0;
  z-index:9;
  opacity:1;
  overflow:hidden;
}
.hero-distribution-rail .distribution-rail-line,
.hero-distribution-rail .distribution-rail-node,
.hero-distribution-rail .distribution-rail-pulse{display:none!important}
.hero-distribution-rail .distribution-rail-track{
  left:4%;right:4%;bottom:2px;height:46px;
}
.hero-distribution-rail .distribution-rail-chevron{
  display:grid!important;
  place-items:center;
  top:4px;
  width:44px;height:34px;
  border:1px solid rgba(255,255,255,.28);
  border-radius:999px;
  color:rgba(255,255,255,.72);
  background:linear-gradient(135deg,rgba(255,255,255,.10),rgba(255,255,255,.025));
  -webkit-backdrop-filter:blur(5px);
  backdrop-filter:blur(5px);
  font-size:25px;
  font-weight:300;
  line-height:1;
  text-shadow:0 0 14px rgba(8,114,185,.18);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.03),0 8px 28px rgba(16,32,29,.05);
  animation:v5610GhostArrow 5.6s cubic-bezier(.4,0,.2,1) infinite;
}
.hero-distribution-rail .distribution-rail-chevron.chevron-1{left:8%;animation-delay:0s}
.hero-distribution-rail .distribution-rail-chevron.chevron-2{left:27%;animation-delay:.42s}
.hero-distribution-rail .distribution-rail-chevron.chevron-3{left:47%;animation-delay:.84s}
.hero-distribution-rail .distribution-rail-chevron.chevron-4{left:67%;animation-delay:1.26s}
.hero-distribution-rail .distribution-rail-chevron.chevron-5{left:86%;animation-delay:1.68s}
@keyframes v5610GhostArrow{
  0%,100%{opacity:.18;transform:translate3d(-7px,0,0) scale(.96)}
  38%{opacity:.72;transform:translate3d(2px,0,0) scale(1)}
  62%{opacity:.48;transform:translate3d(7px,0,0) scale(1)}
}

/* Premium scroll: no blur, no scaling, minimal travel. */
@media (prefers-reduced-motion:no-preference){
  .scroll-motion{
    transition:opacity .58s cubic-bezier(.22,.7,.2,1),transform .72s cubic-bezier(.22,.7,.2,1)!important;
    transform-origin:50% 50%!important;
    will-change:transform,opacity!important;
    filter:none!important;
  }
  .scroll-motion.scroll-motion-pending{
    opacity:.94!important;
    transform:translate3d(0,16px,0)!important;
    filter:none!important;
  }
  .scroll-motion.scroll-motion-visible{
    opacity:1!important;
    transform:translate3d(0,0,0)!important;
    filter:none!important;
  }
}

/* Distinguish the commercial coverage/map from the white brands band. */
.network{
  position:relative;
  background:linear-gradient(135deg,#edf2ec 0%,#f6f3eb 52%,#eaf1ee 100%)!important;
  border-top:1px solid rgba(19,32,29,.06);
  border-bottom:1px solid rgba(19,32,29,.06);
  overflow:hidden;
}
.network:before{
  content:"";
  position:absolute;
  width:520px;height:520px;
  right:-180px;top:-230px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(8,114,185,.085),rgba(120,141,43,.025) 44%,transparent 70%);
  pointer-events:none;
}
.network .container{position:relative;z-index:1}

@media(max-width:720px){
  .hero-distribution-rail{height:42px}
  .hero-distribution-rail .distribution-rail-track{left:3%;right:3%;height:38px}
  .hero-distribution-rail .distribution-rail-chevron{width:34px;height:28px;font-size:20px;top:5px}
  .hero-distribution-rail .distribution-rail-chevron.chevron-1{left:3%}
  .hero-distribution-rail .distribution-rail-chevron.chevron-2{left:23%}
  .hero-distribution-rail .distribution-rail-chevron.chevron-3{left:43%}
  .hero-distribution-rail .distribution-rail-chevron.chevron-4{left:63%}
  .hero-distribution-rail .distribution-rail-chevron.chevron-5{left:83%}
}
@media(prefers-reduced-motion:reduce){
  .hero-distribution-rail .distribution-rail-chevron{animation:none!important;opacity:.34}
}


/* ============================================================
   V5.6.11 — catalogue intégré + retour de l'animation courbes
   Changements limités au slider et au parcours catalogue.
============================================================ */
/* Remove V5.6.10 ghost-arrow rail; original per-slide curves remain hidden. */
.hero-distribution-rail{display:none!important}
.hero-v56{padding-bottom:82px!important;background:#f7f4ed}
.hero-v56 .hero-track{bottom:82px!important}
.hero-v56 .hero-dock{bottom:96px!important;z-index:12}
.hero-curve-band{
  position:absolute;left:0;right:0;bottom:0;height:82px;z-index:10;overflow:hidden;
  background:linear-gradient(180deg,rgba(250,248,243,.98),#f6f2ea);
  border-top:1px solid rgba(19,32,29,.08);
  pointer-events:none;
}
.hero-curve-band:before{
  content:"";position:absolute;left:0;right:0;top:0;height:1px;
  background:linear-gradient(90deg,transparent,rgba(8,114,185,.28),rgba(240,125,18,.26),rgba(120,141,43,.24),transparent)
}
.hero-curve-band svg{display:block;width:100%;height:100%;overflow:visible}
.hero-curve-band path{fill:none;stroke-linecap:round;stroke-linejoin:round}
.curve-band-line{stroke-width:1.45;stroke-dasharray:11 11;opacity:.72}
.curve-band-pulse{stroke-width:2.3;stroke-dasharray:.12 .88;stroke-dashoffset:1;opacity:.82;filter:drop-shadow(0 0 5px rgba(255,255,255,.5));animation:v5611CurvePulse 8.8s linear infinite}
.curve-band-pulse.pulse-orange{animation-duration:10.6s;animation-delay:-3.1s}
.curve-band-pulse.pulse-green{animation-duration:12.2s;animation-delay:-5.3s}
@keyframes v5611CurvePulse{to{stroke-dashoffset:0}}
@media(max-width:780px){
  .hero-v56{padding-bottom:64px!important}
  .hero-v56 .hero-track{bottom:64px!important}
  .hero-v56 .hero-dock{bottom:76px!important}
  .hero-curve-band{height:64px}
  .curve-band-line{stroke-width:1.2;stroke-dasharray:9 10}
  .curve-band-pulse{stroke-width:1.8}
}
@media(prefers-reduced-motion:reduce){.curve-band-pulse{animation:none;stroke-dashoffset:0;opacity:.45}}

/* Catalogue Pearl fully integrated into category.html. */
.catalogue-toolbar{display:flex;align-items:center;gap:14px;padding:11px 0;overflow:hidden}
.catalogue-toolbar .filterbar-inner{flex:1;padding:0;min-width:0}
.catalogue-search{width:min(330px,30vw);min-width:220px;border:1px solid var(--line);background:#fff;border-radius:999px;padding:11px 16px;font:inherit;font-size:12px;outline:none;transition:.25s}
.catalogue-search:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(8,114,185,.08)}
.catalogue-live-grid{align-items:stretch}
.catalogue-live-card{display:flex;flex-direction:column;min-height:100%}
.catalogue-live-card .pic{height:285px;padding:20px}
.catalogue-live-card .body{display:flex;flex-direction:column;flex:1}
.catalogue-live-card .body p{font-size:12px;min-height:58px}
.catalogue-card-link{display:inline-flex;margin-top:auto;padding-top:13px;color:var(--blue);font-weight:800;font-size:11px}
.catalogue-empty{padding:44px;border:1px dashed var(--line);border-radius:24px;text-align:center;color:var(--muted);background:#faf8f3}
@media(max-width:900px){.catalogue-toolbar{align-items:flex-start;flex-direction:column}.catalogue-search{width:100%;min-width:0}.catalogue-toolbar .filterbar-inner{width:100%}}


/* ============================================================
   V5.6.12 - targeted refinements only
   - curves mounted on hero image, below controls
   - premium slide transition
   - social icons
============================================================ */
/* Undo the separate curve strip introduced in V5.6.11. */
.hero-v56{padding-bottom:0!important;background:#ebe8df}
.hero-v56 .hero-track{bottom:0!important}
.hero-v56 .hero-dock{bottom:24px!important;z-index:14}
.hero-curve-band{
  display:block!important;position:absolute;left:0;right:0;bottom:0;height:154px;z-index:5;
  overflow:hidden;background:transparent;border:0;pointer-events:none;
  -webkit-mask-image:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.88) 34%,#000 100%);
  mask-image:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.88) 34%,#000 100%);
}
.hero-curve-band:before{
  content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 0%,rgba(9,25,22,.03) 42%,rgba(9,25,22,.16) 100%);
  border:0;
}
.hero-curve-band svg{position:absolute;inset:auto 0 0;width:100%;height:126px;overflow:visible}
.hero-curve-band path{fill:none!important;stroke-linecap:round;stroke-linejoin:round}
.hero-curve-band .curve-band-line{stroke-width:1.35;stroke-dasharray:13 13;opacity:.68}
.hero-curve-band .curve-band-pulse{stroke-width:2.4;stroke-dasharray:.10 .90;opacity:.92;filter:drop-shadow(0 0 6px rgba(255,255,255,.34));animation:v5612CurvePulse 8.8s linear infinite}
.hero-curve-band .pulse-orange{animation-duration:10.2s;animation-delay:-3.2s}
.hero-curve-band .pulse-green{animation-duration:11.4s;animation-delay:-5.5s}
@keyframes v5612CurvePulse{to{stroke-dashoffset:-1}}

/* Premium scene transition: reveal in depth instead of a simple fade. */
.hero-v56 .hero-slide{transition:opacity .82s cubic-bezier(.22,.72,.24,1),visibility .82s;will-change:opacity}
.hero-v56 .hero-scene{overflow:hidden;will-change:clip-path,transform,filter}
.hero-v56[data-dir="next"] .hero-slide.active .hero-scene{animation:v5612SceneNext 1.05s cubic-bezier(.2,.78,.2,1) both}
.hero-v56[data-dir="prev"] .hero-slide.active .hero-scene{animation:v5612ScenePrev 1.05s cubic-bezier(.2,.78,.2,1) both}
.hero-v56 .hero-slide.active .hero-scene:after{
  content:"";position:absolute;inset:-8% -30%;z-index:3;pointer-events:none;
  background:linear-gradient(106deg,transparent 37%,rgba(255,255,255,.08) 44%,rgba(255,255,255,.30) 50%,rgba(255,255,255,.06) 56%,transparent 63%);
  transform:translateX(-62%) skewX(-8deg);animation:v5612Sheen 1.18s cubic-bezier(.2,.75,.2,1) both;
}
@keyframes v5612SceneNext{0%{clip-path:inset(0 0 0 18%);transform:translateX(2.3%) scale(1.055);filter:saturate(.82) brightness(.94)}100%{clip-path:inset(0);transform:translateX(0) scale(1.01);filter:none}}
@keyframes v5612ScenePrev{0%{clip-path:inset(0 18% 0 0);transform:translateX(-2.3%) scale(1.055);filter:saturate(.82) brightness(.94)}100%{clip-path:inset(0);transform:translateX(0) scale(1.01);filter:none}}
@keyframes v5612Sheen{0%{transform:translateX(-62%) skewX(-8deg);opacity:0}22%{opacity:1}100%{transform:translateX(62%) skewX(-8deg);opacity:0}}

/* Footer social links - intentionally empty (#) until CODIAG supplies URLs. */
.footer-social{display:flex;gap:10px;margin-top:20px}
.footer-social a{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.04);transition:transform .25s ease,background .25s ease,border-color .25s ease}
.footer-social a:hover{transform:translateY(-2px);background:rgba(255,255,255,.10);border-color:rgba(255,255,255,.34)}
.footer-social svg{width:17px;height:17px;fill:none;stroke:#fff;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.footer-social a[aria-label="Facebook"] svg path,.footer-social a[aria-label="Twitter"] svg path{fill:#fff;stroke:none}

@media(max-width:780px){
  .hero-v56{padding-bottom:0!important}
  .hero-v56 .hero-track{bottom:0!important}
  .hero-v56 .hero-dock{bottom:16px!important}
  .hero-curve-band{height:118px}
  .hero-curve-band svg{height:98px}
  .hero-curve-band .curve-band-line{stroke-width:1.05}
  .hero-curve-band .curve-band-pulse{stroke-width:1.75}
}
@media(prefers-reduced-motion:reduce){
  .hero-v56[data-dir] .hero-slide.active .hero-scene,.hero-v56 .hero-slide.active .hero-scene:after{animation:none!important}
  .hero-curve-band .curve-band-pulse{animation:none!important;opacity:.42}
}


/* V5.6.13 — univers linked to the live catalogue + exact footer logo on dark background */
.univers-stage[data-universe-stage-link]{display:block;color:inherit;text-decoration:none;cursor:pointer}
.univers-stage[data-universe-stage-link]:focus-visible{outline:2px solid rgba(255,255,255,.9);outline-offset:5px}
.univers-stage[data-universe-stage-link] .univers-stage-copy{pointer-events:none}
.univers-nav-item{color:inherit;text-decoration:none}
.univers-nav-item:focus-visible{outline:2px solid rgba(255,255,255,.8);outline-offset:-4px}
.footer-logo-duotone{position:relative;display:block;width:125px;aspect-ratio:308/211;overflow:hidden}
.footer-logo-duotone img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;filter:none!important}
.footer-logo-duotone .footer-logo__mark{clip-path:inset(0 0 45% 0)}
.footer-logo-duotone .footer-logo__type{clip-path:inset(64% 0 0 0);filter:brightness(0) invert(1)!important}

/* V5.6.13 — product cards in Univers/Catalogue always show the complete product image. */
.category-page .catalogue-live-card .pic{
  overflow:hidden;
  padding:22px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.category-page .catalogue-live-card .pic img{
  display:block;
  width:100%;
  height:100%;
  max-width:none;
  max-height:none;
  object-fit:contain;
  object-position:center;
}


/* ============================================================
   V5.6.14 — targeted corrections only
   Univers preview tabs, premium 3D slide transition, complete
   product imagery, single footer logo, real brand artwork.
============================================================ */
/* Univers: right side is a preview selector, navigation happens only from the image CTA. */
.univers-nav-item{cursor:pointer;font:inherit;width:100%}
.univers-nav-item em{font-size:22px;line-height:1;color:rgba(255,255,255,.42)}
.univers-nav-item.active em{transform:none;background:rgba(255,255,255,.95);color:var(--green)}
.univers-stage-copy{align-items:flex-end}
.univers-stage-copy>div{max-width:min(560px,82%)}
.univers-stage-cta{display:inline-flex;align-items:center;gap:12px;margin-top:16px;padding:10px 15px;border-radius:999px;background:rgba(255,255,255,.92);color:#10201d;font-weight:800;font-size:11px;text-decoration:none;box-shadow:0 12px 30px rgba(0,0,0,.16);backdrop-filter:blur(10px);transition:transform .28s ease,background .28s ease,box-shadow .28s ease}
.univers-stage-cta:hover{transform:translateY(-2px);background:#fff;box-shadow:0 16px 34px rgba(0,0,0,.22)}
.univers-stage-cta span{font-size:16px}

/* Slider: smooth multinational-style 3D cross transition. */
.hero-v56{perspective:1900px;transform-style:preserve-3d}
.hero-v56 .hero-slide{backface-visibility:hidden;transform-style:preserve-3d;transition:opacity .72s cubic-bezier(.2,.72,.22,1),visibility .72s}
.hero-v56 .hero-slide.leaving{visibility:visible!important;opacity:1!important;z-index:1!important;pointer-events:none!important}
.hero-v56[data-dir="next"] .hero-slide.active .hero-scene{animation:v14EnterNext 1.12s cubic-bezier(.16,.82,.18,1) both!important;transform-origin:76% 50%}
.hero-v56[data-dir="prev"] .hero-slide.active .hero-scene{animation:v14EnterPrev 1.12s cubic-bezier(.16,.82,.18,1) both!important;transform-origin:24% 50%}
.hero-v56 .hero-slide.leaving-next .hero-scene{animation:v14LeaveNext 1.08s cubic-bezier(.22,.66,.24,1) both!important;transform-origin:25% 50%}
.hero-v56 .hero-slide.leaving-prev .hero-scene{animation:v14LeavePrev 1.08s cubic-bezier(.22,.66,.24,1) both!important;transform-origin:75% 50%}
.hero-v56 .hero-slide.active .hero-scene:after{animation:v14GlassSweep 1.1s cubic-bezier(.18,.78,.2,1) both!important}
@keyframes v14EnterNext{0%{transform:translate3d(5.2%,0,-145px) rotateY(-5.4deg) scale(1.035);filter:saturate(.88) brightness(.94);opacity:.35}58%{opacity:1}100%{transform:translate3d(0,0,0) rotateY(0) scale(1.01);filter:none;opacity:1}}
@keyframes v14EnterPrev{0%{transform:translate3d(-5.2%,0,-145px) rotateY(5.4deg) scale(1.035);filter:saturate(.88) brightness(.94);opacity:.35}58%{opacity:1}100%{transform:translate3d(0,0,0) rotateY(0) scale(1.01);filter:none;opacity:1}}
@keyframes v14LeaveNext{0%{transform:translate3d(0,0,0) rotateY(0) scale(1.01);filter:none;opacity:1}100%{transform:translate3d(-3.6%,0,-180px) rotateY(4.3deg) scale(.985);filter:saturate(.82) brightness(.92);opacity:0}}
@keyframes v14LeavePrev{0%{transform:translate3d(0,0,0) rotateY(0) scale(1.01);filter:none;opacity:1}100%{transform:translate3d(3.6%,0,-180px) rotateY(-4.3deg) scale(.985);filter:saturate(.82) brightness(.92);opacity:0}}
@keyframes v14GlassSweep{0%{transform:translateX(-72%) skewX(-10deg);opacity:0}24%{opacity:.75}100%{transform:translateX(72%) skewX(-10deg);opacity:0}}

/* Category / Univers product cards: never crop a product. */
.category-page .catalogue-live-card .pic{height:318px!important;min-height:318px!important;padding:18px!important;display:flex!important;align-items:center!important;justify-content:center!important;overflow:hidden!important;background:#f4f0e8!important}
.category-page .catalogue-live-card .pic img{display:block!important;width:auto!important;height:auto!important;max-width:calc(100% - 18px)!important;max-height:calc(100% - 18px)!important;object-fit:scale-down!important;object-position:center!important;padding:0!important;margin:auto!important;transform:none!important}
.category-page .catalogue-live-card:hover .pic img{transform:scale(1.015)!important}

/* Footer: single supplied white-on-dark CODIAG logo. */
.footer-logo-v14{display:block!important;width:190px!important;height:auto!important;max-width:100%!important;object-fit:contain!important;filter:none!important}
.footer-logo-duotone{display:none!important}

/* Real brand files supplied by CODIAG. */
.brand-item img{max-width:142px;max-height:54px;object-fit:contain}
.about-brand-logo-grid-v14{grid-template-columns:repeat(5,1fr);gap:14px}
.about-brand-logo-grid-v14 .about-brand-logo-card{min-height:126px}
.about-brand-logo-grid-v14 .about-brand-logo-card img{max-width:138px;max-height:54px;mix-blend-mode:normal}
@media(max-width:1000px){.about-brand-logo-grid-v14{grid-template-columns:repeat(3,1fr)}}
@media(max-width:650px){.about-brand-logo-grid-v14{grid-template-columns:repeat(2,1fr)}.category-page .catalogue-live-card .pic{height:280px!important;min-height:280px!important}}
@media(prefers-reduced-motion:reduce){.hero-v56[data-dir] .hero-slide.active .hero-scene,.hero-v56 .hero-slide.leaving .hero-scene,.hero-v56 .hero-slide.active .hero-scene:after{animation:none!important}}


/* ============================================================
   V5.6.16 — ETAPE 1 / Premium UI corrections
   Product image treatment · Univers mega menu · clear breadcrumb
   animated/linkable brand wall · Infomark footer credit
============================================================ */
/* Product cards: warm gallery field + white-background neutralisation. */
.category-page .catalogue-live-card{border:1px solid rgba(17,33,29,.10);box-shadow:0 14px 36px rgba(17,33,29,.055);transition:transform .38s var(--ease),box-shadow .38s var(--ease),border-color .38s var(--ease)}
.category-page .catalogue-live-card:hover{transform:translateY(-6px);box-shadow:0 26px 58px rgba(17,33,29,.11);border-color:rgba(17,33,29,.16)}
.category-page .catalogue-live-card .pic,.local-related-pic{position:relative;background:radial-gradient(circle at 50% 44%,#fff 0 24%,#f5f0e7 63%,#eee7dc 100%)!important;isolation:isolate}
.category-page .catalogue-live-card .pic:before,.local-related-pic:before{content:"";position:absolute;inset:13%;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.88),rgba(255,255,255,0) 70%);filter:blur(2px);z-index:0}
.category-page .catalogue-live-card .pic:after,.local-related-pic:after{content:"";position:absolute;left:13%;right:13%;bottom:9%;height:18%;border-radius:50%;background:radial-gradient(ellipse,rgba(21,31,28,.13),rgba(21,31,28,0) 72%);filter:blur(12px);opacity:.55;z-index:0}
.category-page .catalogue-live-card .pic img,.local-related-pic img{position:relative;z-index:1;mix-blend-mode:multiply;filter:saturate(1.03) contrast(1.025);transition:transform .48s var(--ease),filter .48s var(--ease)!important}
.category-page .catalogue-live-card:hover .pic img,.local-related-card:hover .local-related-pic img{transform:scale(1.035)!important;filter:saturate(1.08) contrast(1.035)}
.category-page .catalogue-live-card .body{border-top:1px solid rgba(17,33,29,.07)}

/* Desktop Univers mega menu — Univers is a true navigation hub, not a duplicate link. */
.nav-univers-wrap{position:relative;display:flex;align-items:center;height:100%}
.nav-univers-trigger{appearance:none;border:0;background:transparent;color:var(--ink);font:inherit;font-size:13px;font-weight:730;letter-spacing:-.01em;padding:12px 0;cursor:pointer;display:flex;align-items:center;gap:6px;position:relative}
.nav-univers-trigger:after{content:"";position:absolute;left:0;right:100%;bottom:4px;height:2px;background:var(--orange);transition:.3s var(--ease)}
.nav-univers-wrap:hover .nav-univers-trigger:after,.nav-univers-wrap:focus-within .nav-univers-trigger:after,.nav-univers-wrap.is-active .nav-univers-trigger:after{right:0}
.nav-univers-trigger span{font-size:14px;transition:transform .28s var(--ease)}
.nav-univers-wrap:hover .nav-univers-trigger span,.nav-univers-wrap:focus-within .nav-univers-trigger span{transform:rotate(180deg)}
.mega-univers{position:absolute;top:calc(100% + 9px);left:50%;width:min(820px,76vw);transform:translate(-44%,-10px);display:grid;grid-template-columns:210px 1fr;gap:20px;padding:20px;border-radius:26px;background:rgba(250,248,243,.98);border:1px solid rgba(17,33,29,.10);box-shadow:0 28px 74px rgba(14,30,26,.18);backdrop-filter:blur(18px);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .26s var(--ease),transform .26s var(--ease),visibility .26s;z-index:500}
.nav-univers-wrap:hover .mega-univers,.nav-univers-wrap:focus-within .mega-univers{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-44%,0)}
.mega-univers__intro{padding:18px;border-radius:18px;background:#10201d;color:#fff;display:flex;flex-direction:column;justify-content:flex-end;min-height:244px;position:relative;overflow:hidden}
.mega-univers__intro:before{content:"";position:absolute;width:150px;height:150px;border-radius:50%;right:-65px;top:-58px;border:1px solid rgba(255,255,255,.12);box-shadow:0 0 0 28px rgba(255,255,255,.035),0 0 0 56px rgba(255,255,255,.018)}
.mega-univers__intro small{font-size:9px;text-transform:uppercase;letter-spacing:.16em;color:#d7e7a2}.mega-univers__intro strong{font-family:Syne;font-size:25px;letter-spacing:-.04em;margin:7px 0}.mega-univers__intro p{font-size:11px;line-height:1.55;color:rgba(255,255,255,.64)}
.mega-univers__grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.mega-univers__grid>a{min-height:108px;padding:15px;border-radius:18px;border:1px solid rgba(17,33,29,.08);background:#fff;display:grid;grid-template-columns:28px 1fr 24px;gap:10px;align-items:center;text-decoration:none;color:var(--ink);transition:.3s var(--ease)}
.mega-univers__grid>a:after{display:none!important}.mega-univers__grid>a:hover{transform:translateY(-3px);border-color:rgba(8,114,185,.22);box-shadow:0 12px 28px rgba(17,33,29,.08);background:#fdfcf9}.mega-univers__grid>a>span{font-size:10px;color:var(--orange);font-weight:800}.mega-univers__grid b{display:block;font-family:Syne;font-size:15px;line-height:1.1}.mega-univers__grid small{display:block;margin-top:5px;font-size:9.5px;line-height:1.4;color:var(--muted);font-weight:600}.mega-univers__grid em{font-style:normal;color:var(--blue);font-size:16px}
.mega-univers__all{position:absolute!important;left:240px;right:20px;bottom:20px;padding:10px 14px!important;border-radius:12px;background:#f3f0e8;font-size:10px!important;display:flex;justify-content:space-between}.mega-univers__all:after{display:none!important}
.mobile-univers-group{display:grid;grid-template-columns:1fr 1fr;gap:7px;padding:12px 0}.mobile-univers-group>span{grid-column:1/-1;font-size:10px;text-transform:uppercase;letter-spacing:.16em;color:var(--muted);font-weight:800}.mobile-univers-group a{font-size:12px!important;padding:8px 10px!important;border-radius:12px;background:#f2efe8!important}

/* Breadcrumb: explicit hierarchy and readable contrast over imagery. */
.inner-hero .breadcrumbs-clean{background:rgba(255,255,255,.94)!important;color:#17211f!important;border:1px solid rgba(23,33,31,.10)!important;box-shadow:0 10px 30px rgba(0,0,0,.12);text-shadow:none!important}
.inner-hero .breadcrumbs-clean a{color:#0872b9!important;font-weight:800}.inner-hero .breadcrumbs-clean span{color:#9aa29f}.inner-hero .breadcrumbs-clean strong{color:#17211f;font-weight:800}
.catalogue-category-hero .breadcrumbs{gap:8px}

/* About brands: premium linked wall with discreet motion and clear interaction. */
.about-brand-logo-grid-v14{perspective:1200px}
.about-brand-logo-grid-v14 .about-brand-logo-card{position:relative;overflow:hidden;text-decoration:none;color:inherit;background:linear-gradient(145deg,#fff 0%,#fbfaf7 60%,#f2eee5 100%);box-shadow:0 12px 30px rgba(21,31,28,.055);transform:translateZ(0);animation:brandCardBreath 7s ease-in-out infinite}
.about-brand-logo-grid-v14 .about-brand-logo-card:nth-child(3n+2){animation-delay:-2.3s}.about-brand-logo-grid-v14 .about-brand-logo-card:nth-child(3n){animation-delay:-4.6s}
.about-brand-logo-grid-v14 .about-brand-logo-card:before{content:"";position:absolute;width:120px;height:120px;border-radius:50%;right:-52px;top:-58px;background:radial-gradient(circle,rgba(8,114,185,.11),rgba(8,114,185,0) 70%);transition:.45s var(--ease)}
.about-brand-logo-grid-v14 .about-brand-logo-card:hover:before{transform:scale(1.4)}
.about-brand-logo-grid-v14 .about-brand-logo-card img{transition:transform .38s var(--ease),filter .38s var(--ease)}
.about-brand-logo-grid-v14 .about-brand-logo-card:hover img{transform:scale(1.08);filter:saturate(1.08)}
.about-brand-logo-card.is-linked em{position:absolute;right:13px;top:13px;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#10201d;color:#fff;font-style:normal;font-size:11px;opacity:.82;transition:.3s var(--ease)}
.about-brand-logo-card.is-linked:hover em{background:#0872b9;transform:rotate(8deg) scale(1.05)}
@keyframes brandCardBreath{0%,100%{transform:translateY(0)}50%{transform:translateY(-2px)}}

/* Minimal, site-aligned agency credit. */
.footer-bottom{align-items:center;gap:18px;flex-wrap:wrap}.footer-credit{margin-left:auto!important;font-size:9px!important;line-height:1!important;color:rgba(255,255,255,.45)!important;letter-spacing:.04em;text-decoration:none}.footer-credit b{color:rgba(255,255,255,.78);font-weight:800}.footer-credit:hover{color:#fff!important}

@media(max-width:1120px){.mega-univers{width:760px;transform:translate(-48%,-10px)}.nav-univers-wrap:hover .mega-univers,.nav-univers-wrap:focus-within .mega-univers{transform:translate(-48%,0)}}
@media(max-width:900px){.mega-univers{display:none}.footer-credit{margin-left:0!important}}
@media(prefers-reduced-motion:reduce){.about-brand-logo-grid-v14 .about-brand-logo-card{animation:none}.category-page .catalogue-live-card .pic img,.local-related-pic img{transition:none!important}}


/* ============================================================
   V5.6.17 — ETAPE 2
   Navigation refinement + explicit About breadcrumb + linked brands
   + standalone premium quote builder
============================================================ */
/* Univers trigger: replace the weak dropdown glyph with a 4-point navigation mark. */
.nav-univers-trigger{gap:9px}
.univers-trigger-icon{width:19px;height:19px;border-radius:7px;display:grid!important;grid-template-columns:repeat(2,4px);grid-template-rows:repeat(2,4px);gap:3px;place-content:center;background:#17211f;box-shadow:0 5px 14px rgba(23,33,31,.16);transition:transform .32s var(--ease),background .32s var(--ease),box-shadow .32s var(--ease);flex:0 0 auto}
.univers-trigger-icon i{display:block;width:4px;height:4px;border-radius:50%;background:#fff;transition:transform .32s var(--ease),background .32s var(--ease)}
.univers-trigger-icon i:nth-child(1){background:#0872b9}.univers-trigger-icon i:nth-child(4){background:#f07d12}
.nav-univers-wrap:hover .univers-trigger-icon,.nav-univers-wrap:focus-within .univers-trigger-icon{transform:rotate(45deg) scale(1.06);background:#0c2b26;box-shadow:0 8px 20px rgba(23,33,31,.22)}
.nav-univers-wrap:hover .univers-trigger-icon i,.nav-univers-wrap:focus-within .univers-trigger-icon i{transform:scale(.88)}
/* Cancel the old chevron rules from v5.6.16. */
.nav-univers-trigger>span.univers-trigger-icon{font-size:0!important}

/* About breadcrumb: one unambiguous path, high contrast over the hero. */
.about-breadcrumb-v2{display:inline-flex;align-items:center;gap:9px;margin-bottom:21px;padding:9px 13px;border-radius:999px;background:rgba(13,29,26,.86);border:1px solid rgba(255,255,255,.25);box-shadow:0 12px 34px rgba(7,19,17,.18);backdrop-filter:blur(14px);font-size:10px;font-weight:780;letter-spacing:.09em;text-transform:uppercase;color:#fff}
.about-breadcrumb-v2 a{display:inline-flex;align-items:center;gap:7px;color:#fff}.about-breadcrumb-v2 strong{color:#d9ed9d;font-weight:800}.about-breadcrumb-v2__sep{color:rgba(255,255,255,.46)}
.about-breadcrumb-v2__home{width:7px;height:7px;border-radius:50%;background:var(--blue);box-shadow:0 0 0 3px rgba(8,114,185,.18)}

/* Home brands: each brand becomes a proper filter shortcut, not a passive logo. */
.brands-section-v2 .section-head{align-items:end}.brand-marquee-v2{border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden;background:rgba(255,255,255,.44)}
.brand-marquee-v2 .brand-track{padding:20px 0;animation-duration:42s}
.brand-link{position:relative;min-width:190px;height:108px;padding:18px 22px;border-right:1px solid rgba(23,33,31,.08);display:grid;place-items:center;text-decoration:none;color:var(--ink);overflow:hidden;transition:background .35s var(--ease),transform .35s var(--ease)}
.brand-link:before{content:"";position:absolute;inset:12px;border-radius:18px;background:linear-gradient(145deg,#fff,#f6f2e9);opacity:0;transform:scale(.94);transition:.35s var(--ease);box-shadow:0 12px 34px rgba(23,33,31,.07)}
.brand-link img{position:relative;z-index:1;max-width:142px;max-height:50px;transition:transform .36s var(--ease),filter .36s var(--ease)}
.brand-link__hint{position:absolute;z-index:2;left:50%;bottom:11px;transform:translate(-50%,8px);white-space:nowrap;font-size:8px;letter-spacing:.1em;text-transform:uppercase;font-weight:800;color:var(--blue);opacity:0;transition:.32s var(--ease)}
.brand-link:hover:before,.brand-link:focus-visible:before{opacity:1;transform:scale(1)}.brand-link:hover img,.brand-link:focus-visible img{transform:translateY(-8px) scale(1.04);filter:saturate(1.08)}.brand-link:hover .brand-link__hint,.brand-link:focus-visible .brand-link__hint{opacity:1;transform:translate(-50%,0)}
.brand-marquee-v2:hover .brand-track,.brand-marquee-v2:focus-within .brand-track{animation-play-state:paused}
.brand-link:focus-visible{outline:3px solid rgba(8,114,185,.28);outline-offset:-3px}

.mobile-quote-link{color:var(--blue)!important}.mobile-quote-link.active{font-weight:800}

/* Standalone quote page */
.quote-request-page{background:#f6f4ee}
.quote-request-hero{min-height:650px;position:relative;display:flex;align-items:flex-end;overflow:hidden;background:#10201d;color:#fff}
.quote-request-hero__image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.96) contrast(1.03)}
.quote-request-hero__shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,28,24,.93) 0%,rgba(10,28,24,.82) 38%,rgba(10,28,24,.32) 67%,rgba(10,28,24,.18) 100%)}
.quote-request-hero__grid{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1.35fr) 360px;gap:52px;align-items:end;padding-top:110px;padding-bottom:68px}
.quote-request-hero__copy{max-width:810px}.quote-request-hero .kicker{color:#d9ed9d;margin-bottom:19px}.quote-request-hero h1{font-family:Syne,sans-serif;font-size:clamp(54px,6.4vw,94px);line-height:.92;letter-spacing:-.06em;font-weight:520;margin-bottom:25px}.quote-request-hero h1 em{font-style:normal;color:#25a2ed}.quote-request-hero__copy>p{font-size:17px;line-height:1.75;color:rgba(255,255,255,.72);max-width:700px}
.quote-breadcrumb{display:inline-flex;align-items:center;gap:9px;margin-bottom:25px;padding:8px 12px;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:rgba(4,18,15,.34);font-size:10px;text-transform:uppercase;letter-spacing:.1em}.quote-breadcrumb a{color:#fff}.quote-breadcrumb span{opacity:.4}.quote-breadcrumb strong{color:#d9ed9d}
.quote-request-hero__facts{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}.quote-request-hero__facts span{display:inline-flex;align-items:center;gap:8px;padding:9px 12px;border-radius:999px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.07);font-size:10px;text-transform:uppercase;letter-spacing:.08em}.quote-request-hero__facts b{color:#f7a34f;font-family:Syne}
.quote-request-hero__card{padding:27px;border-radius:25px;background:rgba(255,255,255,.92);color:var(--ink);box-shadow:0 28px 70px rgba(0,0,0,.22);backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,.7)}.quote-request-hero__card>span{font-size:9px;text-transform:uppercase;letter-spacing:.16em;color:var(--green);font-weight:800}.quote-request-hero__card strong{display:block;font-family:Syne;font-size:28px;line-height:1.04;letter-spacing:-.04em;margin:12px 0}.quote-request-hero__card p{font-size:12px;line-height:1.65;color:var(--muted)}.quote-request-hero__card a{display:inline-flex;margin-top:8px;color:var(--blue);font-size:11px;font-weight:800;border-bottom:1px solid rgba(8,114,185,.25);padding-bottom:4px}
.quote-builder-section{background:linear-gradient(180deg,#f6f4ee,#fbfaf7)}.quote-builder-layout{display:grid;grid-template-columns:330px minmax(0,1fr);gap:54px;align-items:start}.quote-builder-intro{position:sticky;top:112px}.quote-builder-intro .section-title{font-size:clamp(38px,4.5vw,62px)}.quote-builder-note{margin-top:30px;padding:19px;border-radius:20px;background:#10201d;color:#fff}.quote-builder-note b{font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:#d9ed9d}.quote-builder-note p{font-size:11px;line-height:1.65;color:rgba(255,255,255,.64);margin:8px 0 0}
.quote-builder-card{padding:36px;border-radius:30px;background:#fff;border:1px solid rgba(23,33,31,.09);box-shadow:0 24px 70px rgba(23,33,31,.08)}.quote-form-section-head{display:flex;align-items:center;gap:13px;margin:4px 0 22px}.quote-form-section-head>span{width:42px;height:42px;border-radius:14px;background:#10201d;color:#fff;display:grid;place-items:center;font-family:Syne;font-size:12px}.quote-form-section-head small{display:block;font-size:8px;text-transform:uppercase;letter-spacing:.15em;color:var(--green);font-weight:800}.quote-form-section-head h3{font-family:Syne;font-size:22px;letter-spacing:-.025em;margin:3px 0 0}.quote-form-section-head--products{margin-top:38px;padding-top:32px;border-top:1px solid var(--line)}.quote-form-section-head--products>b{margin-left:auto;font-size:9px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}
.quote-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.quote-builder-card .field{display:grid;gap:7px}.quote-builder-card .field label,.quote-item__reference-block>label{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#5e6864;font-weight:780}.quote-builder-card input,.quote-builder-card select,.quote-builder-card textarea{width:100%;border:1px solid rgba(23,33,31,.14);border-radius:14px;background:#fbfaf7;color:var(--ink);padding:13px 14px;outline:none;transition:border-color .25s,box-shadow .25s,background .25s}.quote-builder-card input:focus,.quote-builder-card select:focus,.quote-builder-card textarea:focus{border-color:rgba(8,114,185,.55);box-shadow:0 0 0 4px rgba(8,114,185,.08);background:#fff}.quote-builder-card textarea{resize:vertical;min-height:128px}
.quote-items{display:grid;gap:14px}.quote-item{border:1px solid rgba(23,33,31,.09);background:#f8f6f0;border-radius:22px;padding:18px;transition:.3s var(--ease)}.quote-item:focus-within{border-color:rgba(8,114,185,.24);box-shadow:0 12px 30px rgba(23,33,31,.05)}.quote-item__top{display:flex;align-items:center;gap:9px;margin-bottom:14px}.quote-item__number{width:32px;height:32px;border-radius:11px;display:grid;place-items:center;background:#fff;color:var(--orange);font-family:Syne;font-size:10px;border:1px solid rgba(23,33,31,.08)}.quote-item__top>b{font-family:Syne;font-size:15px}.quote-item__remove{margin-left:auto;width:32px;height:32px;border-radius:50%;border:1px solid rgba(23,33,31,.11);background:#fff;color:#777;font-size:19px;line-height:1;transition:.25s}.quote-item__remove:hover{background:#17211f;color:#fff;transform:rotate(7deg)}.quote-item__grid{display:grid;grid-template-columns:1.1fr 1.25fr .38fr;gap:14px;align-items:end}.quote-item__reference-block{display:grid;gap:7px}.reference-mode{display:flex;gap:5px;padding:4px;background:#ebe7de;border-radius:12px}.reference-mode button{flex:1;border:0;border-radius:9px;background:transparent;padding:8px 9px;font-size:9px;font-weight:760;color:#66706c}.reference-mode button.is-active{background:#fff;color:var(--ink);box-shadow:0 4px 12px rgba(23,33,31,.07)}
.quote-add-item{width:100%;margin-top:13px;border:1px dashed rgba(23,33,31,.22);border-radius:17px;background:transparent;padding:13px;color:var(--ink);font-size:11px;font-weight:800;transition:.28s}.quote-add-item span{display:inline-grid;place-items:center;width:24px;height:24px;margin-right:8px;border-radius:50%;background:#17211f;color:#fff}.quote-add-item:hover{border-color:rgba(8,114,185,.38);background:#f7fbfd;color:var(--blue)}.quote-add-item:disabled{opacity:.45;cursor:not-allowed}
.quote-security-box{display:grid;grid-template-columns:1fr 150px 42px;gap:12px;align-items:end;margin-top:25px;padding:16px;border-radius:20px;background:#f4f1ea;border:1px solid rgba(23,33,31,.08)}.quote-security-box>div>span{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-weight:800;margin-bottom:7px}.quote-security-box img{width:180px;height:58px;border-radius:12px}.quote-security-box label{display:grid;gap:7px;font-size:9px;text-transform:uppercase;letter-spacing:.1em;font-weight:800;color:var(--muted)}.quote-security-box input{padding:12px!important;background:#fff!important}.quote-captcha-refresh{width:42px;height:42px;border-radius:13px;border:1px solid rgba(23,33,31,.12);background:#fff;font-size:19px}.quote-form-status{min-height:0;margin-top:14px;padding:0;border-radius:14px;font-size:11px;line-height:1.5}.quote-form-status.is-error,.quote-form-status.is-success{padding:12px 14px}.quote-form-status.is-error{background:#fff2ef;color:#9b2f1e;border:1px solid #f3c6bd}.quote-form-status.is-success{background:#eff8ed;color:#366b2a;border:1px solid #cbe3c5}.quote-submit-row{display:flex;gap:20px;justify-content:space-between;align-items:center;margin-top:18px}.quote-submit-row p{max-width:430px;font-size:9px;line-height:1.5;color:var(--muted);margin:0}.quote-submit-row button:disabled{opacity:.6;cursor:wait}
.quote-after-section{background:#10201d;color:#fff}.quote-after-section .section-title{color:#fff}.quote-after-section .lead{color:rgba(255,255,255,.58)}.quote-after-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.quote-after-grid a{min-height:160px;padding:22px;border-radius:24px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column;justify-content:flex-end;transition:.3s var(--ease)}.quote-after-grid a:hover{transform:translateY(-5px);background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.18)}.quote-after-grid span{font-family:Syne;color:#f7a34f;font-size:12px}.quote-after-grid b{font-family:Syne;font-size:24px;margin:9px 0 4px}.quote-after-grid small{color:rgba(255,255,255,.58)}
@media(max-width:1050px){.quote-request-hero__grid{grid-template-columns:1fr}.quote-request-hero__card{max-width:600px}.quote-builder-layout{grid-template-columns:1fr}.quote-builder-intro{position:relative;top:auto;max-width:760px}.quote-item__grid{grid-template-columns:1fr 1fr}.quote-item__quantity{grid-column:1/-1;max-width:180px}.quote-after-grid{grid-template-columns:1fr 1fr}}
@media(max-width:720px){.quote-request-hero{min-height:auto}.quote-request-hero__grid{padding-top:70px;padding-bottom:48px}.quote-request-hero h1{font-size:clamp(48px,14vw,70px)}.quote-builder-card{padding:20px;border-radius:22px}.quote-form-grid,.quote-item__grid{grid-template-columns:1fr}.quote-item__quantity{grid-column:auto;max-width:none}.reference-mode{display:grid}.quote-security-box{grid-template-columns:1fr 80px 42px}.quote-security-box img{width:150px}.quote-submit-row{align-items:flex-start;flex-direction:column}.quote-after-grid{grid-template-columns:1fr}.brand-link{min-width:160px;height:96px}.about-breadcrumb-v2{margin-left:0}}
@media(prefers-reduced-motion:reduce){.univers-trigger-icon,.univers-trigger-icon i,.brand-link,.brand-link img,.brand-link__hint{transition:none!important}.brand-marquee-v2 .brand-track{animation:none!important}}


/* ============================================================
   V5.6.18 — ETAPE 3
   Unified premium navigation · stable mega-menu · readable About hero
   discreet product catalogue copy · premium commercial directory + map
============================================================ */
/* Premium univers navigation mark */
.nav-univers-trigger{gap:10px}
.univers-trigger-icon{width:27px!important;height:27px!important;border-radius:10px!important;display:grid!important;place-items:center!important;background:linear-gradient(145deg,#0b211d,#17372f)!important;border:1px solid rgba(255,255,255,.16)!important;box-shadow:0 8px 20px rgba(13,31,27,.17),inset 0 1px 0 rgba(255,255,255,.09)!important;transform:none!important;transition:transform .28s var(--ease),box-shadow .28s var(--ease),background .28s var(--ease)!important;overflow:hidden}
.univers-trigger-icon svg{width:19px;height:19px;overflow:visible}.univers-trigger-icon .u-link{fill:none;stroke:rgba(255,255,255,.44);stroke-width:1.15;stroke-linecap:round;transition:stroke .28s var(--ease),transform .28s var(--ease);transform-origin:center}.univers-trigger-icon .u-node{fill:#d7e7a2;transition:transform .3s var(--ease);transform-origin:center}.univers-trigger-icon .u-node--blue{fill:#48b9ee}.univers-trigger-icon .u-node--orange{fill:#f28a2a}.univers-trigger-icon .u-node--green{fill:#9ead4e}.univers-trigger-icon .u-core{fill:#fff;transform-origin:14px 14px;transition:transform .34s cubic-bezier(.2,.8,.2,1),fill .28s}
.nav-univers-wrap:hover .univers-trigger-icon,.nav-univers-wrap:focus-within .univers-trigger-icon,.nav-univers-wrap.is-open .univers-trigger-icon{transform:translateY(-1px) scale(1.04)!important;box-shadow:0 12px 26px rgba(13,31,27,.24),0 0 0 3px rgba(8,114,185,.07)!important;background:linear-gradient(145deg,#0a2b25,#16443a)!important}
.nav-univers-wrap:hover .univers-trigger-icon .u-core,.nav-univers-wrap:focus-within .univers-trigger-icon .u-core,.nav-univers-wrap.is-open .univers-trigger-icon .u-core{transform:rotate(90deg);fill:#f7a34f}.nav-univers-wrap:hover .univers-trigger-icon .u-link,.nav-univers-wrap.is-open .univers-trigger-icon .u-link{stroke:rgba(255,255,255,.68)}

/* Stable mega-menu: bridge the pointer gap and use explicit open state. */
.nav-univers-wrap:before{content:"";position:absolute;left:-22px;right:-22px;top:100%;height:18px;z-index:499}
.mega-univers{top:calc(100% + 2px)!important;transform:translate(-44%,-8px)!important;transition:opacity .24s var(--ease),transform .24s var(--ease),visibility .24s!important}
.nav-univers-wrap.is-open .mega-univers,.nav-univers-wrap:hover .mega-univers,.nav-univers-wrap:focus-within .mega-univers{opacity:1!important;visibility:visible!important;pointer-events:auto!important;transform:translate(-44%,0)!important}
@media(max-width:1120px){.nav-univers-wrap.is-open .mega-univers,.nav-univers-wrap:hover .mega-univers,.nav-univers-wrap:focus-within .mega-univers{transform:translate(-48%,0)!important}}

/* About hero: text readability and signature animation mounted directly on the image. */
.about-page .about-hero-premium{min-height:640px;background:#e8e4da;isolation:isolate}
.about-page .about-hero-premium:after{z-index:1;background:linear-gradient(90deg,rgba(249,247,241,.97) 0%,rgba(249,247,241,.91) 34%,rgba(249,247,241,.58) 54%,rgba(249,247,241,.08) 76%,rgba(10,27,23,.06) 100%)!important;mix-blend-mode:normal!important}
.about-page .about-hero-premium .cover{z-index:0;filter:saturate(.96) contrast(1.03)}
.about-page .about-hero-copy{z-index:3;width:min(700px,54vw);padding:92px 0 116px}
.about-page .about-hero-copy h1{color:#10201d;text-shadow:0 1px 0 rgba(255,255,255,.16)}
.about-page .about-hero-copy .kicker{color:#637f2c;font-weight:800;text-shadow:none}
.about-breadcrumb-v3{display:inline-flex;align-items:center;gap:9px;margin-bottom:19px;padding:9px 13px;border-radius:999px;background:#10201d;color:#fff;border:1px solid rgba(255,255,255,.18);box-shadow:0 12px 34px rgba(7,19,17,.18);font-size:10px;font-weight:790;letter-spacing:.09em;text-transform:uppercase}.about-breadcrumb-v3 a{color:#fff}.about-breadcrumb-v3 span{color:#f39a48}.about-breadcrumb-v3 strong{color:#d7e7a2}
.about-page .about-hero-lead{max-width:590px!important;margin-top:24px!important;padding:15px 18px!important;border-radius:16px!important;background:rgba(249,247,241,.88)!important;border:1px solid rgba(16,32,29,.10)!important;border-left:3px solid var(--orange)!important;box-shadow:0 14px 36px rgba(16,32,29,.08)!important;color:#3d4b47!important;font-size:15px!important;line-height:1.65!important;backdrop-filter:blur(10px)}
.about-hero-signature{position:absolute;z-index:2;left:0;right:0;bottom:0;height:115px;overflow:hidden;pointer-events:none;opacity:.82;-webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 42%,#000 100%);mask-image:linear-gradient(180deg,transparent 0%,#000 42%,#000 100%)}
.about-hero-signature .brand-signature{position:absolute;left:50%;bottom:-24px;transform:translateX(-50%);width:112%;height:150px;opacity:.75}.about-hero-signature .brand-signature .base{fill:none;stroke-linecap:round;vector-effect:non-scaling-stroke;stroke-width:1.55!important;stroke-dasharray:11 13!important;animation:aboutHeroFlow 16s linear infinite}.about-hero-signature .brand-signature .orange{stroke-width:1.25!important;animation-direction:reverse;animation-duration:20s}.about-hero-signature:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent,rgba(8,25,21,.08));}
@keyframes aboutHeroFlow{to{stroke-dashoffset:-480}}

/* Product catalogue: no admin-like catalogue size exposure. */
.category-page #catalogueCount{max-width:300px;font-size:14px;line-height:1.5;color:var(--muted)}

/* Step 3 — Commercial directory */
.directory-hero-v3 .inner-copy{width:min(700px,60vw)!important}.directory-explorer{background:linear-gradient(180deg,#f4f1ea,#fbfaf7)}
.directory-intro{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.65fr);gap:42px;align-items:end;margin-bottom:34px}.directory-intro .lead{margin:0;color:var(--muted);font-size:14px;line-height:1.7}
.directory-explorer-grid{display:grid;grid-template-columns:minmax(330px,.82fr) minmax(0,1.45fr);gap:24px;align-items:start}
.directory-map-card{position:sticky;top:104px;padding:20px;border-radius:30px;background:linear-gradient(145deg,#142d27,#0b1f1b);box-shadow:0 28px 75px rgba(12,28,24,.18);overflow:hidden;color:#fff;border:1px solid rgba(255,255,255,.08)}
.directory-map-card:before{content:"";position:absolute;width:270px;height:270px;border-radius:50%;right:-110px;top:-120px;background:radial-gradient(circle,rgba(50,176,229,.16),transparent 68%)}
.directory-map-card__head{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:5px 4px 15px}.directory-map-card__head span{display:block;font-size:8px;letter-spacing:.17em;text-transform:uppercase;color:#9eae55;font-weight:800}.directory-map-card__head strong{display:block;font-family:Syne;font-size:26px;letter-spacing:-.04em;margin-top:3px}.directory-map-card__head button{border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.06);color:rgba(255,255,255,.78);border-radius:999px;padding:8px 11px;font-size:9px;font-weight:760;cursor:pointer;transition:.25s}.directory-map-card__head button:hover{background:#fff;color:#10201d}
.morocco-map{position:relative;min-height:590px;border-radius:23px;background:radial-gradient(circle at 52% 20%,rgba(39,109,92,.48),rgba(10,27,23,.24) 40%,rgba(5,16,14,.38) 100%);border:1px solid rgba(255,255,255,.08);overflow:hidden}.morocco-map:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:36px 36px;mask-image:linear-gradient(#000,transparent 92%)}
.morocco-map__shape{position:absolute;left:50%;top:20px;transform:translateX(-50%);height:515px;width:auto;filter:drop-shadow(0 24px 34px rgba(0,0,0,.28))}.morocco-map__land{fill:url(#mapFill);stroke:url(#mapStroke);stroke-width:2.2;vector-effect:non-scaling-stroke}.morocco-map__coast{fill:none;stroke:rgba(255,255,255,.28);stroke-width:1.1;stroke-linecap:round;vector-effect:non-scaling-stroke}
.morocco-map__markers{position:absolute;inset:17px 19% 78px 18%;}.directory-map-point{position:absolute;left:var(--mx);top:var(--my);transform:translate(-50%,-50%);border:0;background:transparent;color:#fff;cursor:pointer;padding:0;z-index:3}.directory-map-point:before{content:"";position:absolute;width:24px;height:24px;border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%);background:rgba(67,184,232,.13);border:1px solid rgba(103,203,245,.35);animation:mapPulse 2.8s ease-out infinite}.directory-map-point span{position:relative;width:18px;height:18px;border-radius:50%;display:grid;place-items:center;background:#f28a2a;border:3px solid #10201d;box-shadow:0 0 0 1px rgba(255,255,255,.42),0 8px 18px rgba(0,0,0,.32);font-size:0}.directory-map-point b{position:absolute;left:22px;top:50%;transform:translateY(-50%) translateX(-2px);padding:6px 8px;border-radius:9px;background:rgba(7,22,19,.92);border:1px solid rgba(255,255,255,.12);font-size:8px;letter-spacing:.03em;white-space:nowrap;opacity:0;visibility:hidden;transition:.22s}.directory-map-point:hover b,.directory-map-point:focus-visible b,.directory-map-point.is-active b{opacity:1;visibility:visible;transform:translateY(-50%) translateX(2px)}.directory-map-point.is-active span{background:#60c5ef;box-shadow:0 0 0 5px rgba(96,197,239,.14),0 8px 18px rgba(0,0,0,.32)}.directory-map-point:focus-visible{outline:none}.directory-map-point:focus-visible span{box-shadow:0 0 0 5px rgba(255,255,255,.2)}
@keyframes mapPulse{0%{transform:translate(-50%,-50%) scale(.45);opacity:.9}80%,100%{transform:translate(-50%,-50%) scale(1.8);opacity:0}}
.morocco-map__legend{position:absolute;left:17px;right:17px;bottom:15px;display:flex;justify-content:space-between;gap:16px;align-items:center;padding:11px 13px;border-radius:14px;background:rgba(6,21,18,.78);border:1px solid rgba(255,255,255,.09);backdrop-filter:blur(9px)}.morocco-map__legend span{font-size:9px;text-transform:uppercase;letter-spacing:.1em;color:#fff}.morocco-map__legend i{display:inline-block;width:7px;height:7px;border-radius:50%;background:#f28a2a;margin-right:6px}.morocco-map__legend small{font-size:9px;color:rgba(255,255,255,.52)}
.directory-results-panel{padding:28px;border-radius:30px;background:#fff;border:1px solid rgba(16,32,29,.09);box-shadow:0 22px 65px rgba(16,32,29,.075)}
.directory-searchbox>label,.directory-filter-row>label{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.14em;color:#6b7672;font-weight:800;margin-bottom:7px}.directory-searchbox__row{position:relative}.directory-searchbox__row input{width:100%;height:56px;border-radius:17px;border:1px solid rgba(16,32,29,.13);background:#f8f6f0;padding:0 52px 0 46px;font:650 13px 'Plus Jakarta Sans',sans-serif;color:var(--ink);outline:none;transition:.25s}.directory-searchbox__row input:focus{background:#fff;border-color:rgba(8,114,185,.48);box-shadow:0 0 0 4px rgba(8,114,185,.07)}.directory-search-icon{position:absolute;left:16px;top:50%;transform:translateY(-50%);width:20px;height:20px;color:#68736f}.directory-search-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round}.directory-searchbox__row button{position:absolute;right:10px;top:50%;transform:translateY(-50%);width:34px;height:34px;border:0;border-radius:50%;background:#ece8df;color:#6c7672;font-size:20px;cursor:pointer}
.directory-filter-row{display:grid;grid-template-columns:1fr auto;gap:9px;align-items:end;margin:14px 0 19px}.directory-filter-row>label{grid-column:1/-1;margin:0}.directory-filter-row select{height:44px;border-radius:13px;border:1px solid rgba(16,32,29,.11);background:#fff;padding:0 38px 0 13px;font:650 11px 'Plus Jakarta Sans',sans-serif;color:var(--ink)}.directory-active-filter{display:flex;align-items:center;gap:7px;height:44px;padding:0 10px;border-radius:13px;background:#10201d;color:#fff}.directory-active-filter span{font-size:8px;text-transform:uppercase;letter-spacing:.12em;color:#9eae55}.directory-active-filter b{font-size:10px}.directory-active-filter button{border:0;background:rgba(255,255,255,.1);color:#fff;width:24px;height:24px;border-radius:50%;cursor:pointer}
.directory-result-list{display:grid;gap:11px}.directory-contact-card{position:relative;padding:19px 20px;border-radius:20px;background:linear-gradient(145deg,#fff,#fbfaf7);border:1px solid rgba(16,32,29,.09);transition:transform .28s var(--ease),box-shadow .28s var(--ease),border-color .28s}.directory-contact-card:hover{transform:translateY(-3px);box-shadow:0 17px 38px rgba(16,32,29,.08);border-color:rgba(8,114,185,.18)}.directory-contact-card__top{display:flex;justify-content:space-between;align-items:center;gap:12px}.directory-contact-card__top span{font-size:8px;text-transform:uppercase;letter-spacing:.14em;color:#7c8f36;font-weight:800}.directory-contact-card__top small{font-size:8px;color:#76817d;background:#f0ede5;padding:6px 8px;border-radius:999px}.directory-contact-card h3{font-family:Syne;font-size:22px;letter-spacing:-.035em;margin:8px 0 5px}.directory-contact-card__cities{font-size:10px!important;line-height:1.55!important;color:#7a8581!important;margin:0}.directory-contact-card__meta{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}.directory-contact-card__meta a{font-size:10px!important;color:#34423e!important;font-weight:700!important}.directory-contact-card__actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.directory-contact-card__actions a{display:inline-flex!important;align-items:center;gap:8px;padding:9px 11px;border-radius:11px;background:#10201d;color:#fff!important;font-size:9px!important;text-decoration:none}.directory-contact-card__actions a+ a{background:#eef5f8;color:#0872b9!important}.directory-contact-card__actions span{font-size:11px}
.directory-pagination{display:flex;align-items:center;justify-content:center;gap:12px;padding-top:20px}.directory-pagination button{width:40px;height:40px;border-radius:13px;border:1px solid rgba(16,32,29,.11);background:#fff;color:#10201d;cursor:pointer;font-size:16px;transition:.2s}.directory-pagination button:hover:not(:disabled){background:#10201d;color:#fff}.directory-pagination button:disabled{opacity:.3;cursor:not-allowed}.directory-pagination span{font-size:9px;text-transform:uppercase;letter-spacing:.12em;color:#69746f;font-weight:800}.directory-empty-v3{padding:30px;border-radius:18px;background:#f7f3ea;border:1px dashed rgba(16,32,29,.16);text-align:center}.directory-empty-v3 strong{display:block;font-family:Syne;font-size:20px}.directory-empty-v3 span{display:block;margin-top:5px;color:var(--muted);font-size:11px}

@media(max-width:1050px){.directory-explorer-grid{grid-template-columns:1fr}.directory-map-card{position:relative;top:auto}.morocco-map{min-height:510px}.morocco-map__shape{height:445px}.directory-intro{grid-template-columns:1fr}.about-page .about-hero-copy{width:min(760px,76vw)}}
@media(max-width:720px){.about-page .about-hero-premium{min-height:690px}.about-page .about-hero-premium:after{background:linear-gradient(180deg,rgba(249,247,241,.97) 0%,rgba(249,247,241,.88) 62%,rgba(249,247,241,.26) 100%)!important}.about-page .about-hero-copy{width:100%;padding:72px 0 126px}.about-page .about-hero-copy h1{font-size:clamp(48px,13vw,68px)}.about-hero-signature{height:88px}.directory-results-panel{padding:18px;border-radius:23px}.directory-map-card{padding:14px;border-radius:23px}.morocco-map{min-height:455px}.morocco-map__shape{height:390px;top:18px}.morocco-map__markers{inset:16px 12% 64px 11%}.morocco-map__legend{display:block}.morocco-map__legend small{display:block;margin-top:4px}.directory-filter-row{grid-template-columns:1fr}.directory-active-filter{width:max-content}.directory-contact-card__actions a{flex:1;justify-content:center}}
@media(prefers-reduced-motion:reduce){.about-hero-signature .brand-signature .base,.directory-map-point:before{animation:none!important}.univers-trigger-icon,.univers-trigger-icon *{transition:none!important}}


/* ===== ETAPE 4 — navigation, annuaire, catalogue, about ===== */
.univers-trigger-icon{position:relative;display:inline-grid;place-items:center;width:34px;height:34px;border-radius:12px;background:radial-gradient(circle at 32% 28%,rgba(255,255,255,.18),transparent 36%),linear-gradient(145deg,#082b24 0%,#0d3a32 42%,#031a17 100%);box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 10px 22px rgba(6,31,28,.16);border:1px solid rgba(10,50,43,.18);overflow:hidden;isolation:isolate;vertical-align:middle}
.univers-trigger-icon:before{content:"";position:absolute;inset:4px;border-radius:9px;border:1px solid rgba(255,255,255,.08);pointer-events:none}
.univers-trigger-icon i,.univers-trigger-icon svg{position:relative;z-index:1}
.univers-trigger-icon i{position:absolute;display:block;width:6px;height:6px;border-radius:50%;background:linear-gradient(180deg,#fff,#d9ebe6);box-shadow:0 0 0 2px rgba(255,255,255,.08),0 0 18px rgba(255,255,255,.22)}
.univers-trigger-icon i:nth-child(1){top:8px;left:8px;background:linear-gradient(180deg,#ffe5c6,#ff9f45)}
.univers-trigger-icon i:nth-child(2){top:8px;right:8px;background:linear-gradient(180deg,#dcefb0,#91b12a)}
.univers-trigger-icon i:nth-child(3){bottom:8px;left:8px;background:linear-gradient(180deg,#d6f6ff,#41c7ff)}
.univers-trigger-icon i:nth-child(4){bottom:8px;right:8px;background:linear-gradient(180deg,#ffffff,#dceae6)}
.univers-trigger-icon:after{content:"";position:absolute;width:14px;height:14px;border-radius:5px;transform:rotate(45deg);background:linear-gradient(180deg,#f7fbfa,#dae7e2);box-shadow:0 0 0 1px rgba(7,33,29,.06),0 5px 14px rgba(255,255,255,.18)}
.nav-univers-wrap.is-open .mega-univers,.nav-univers-wrap:focus-within .mega-univers,.nav-univers-wrap:hover .mega-univers{opacity:1;visibility:visible;transform:translateY(0) scale(1);pointer-events:auto}
.nav-univers-wrap.is-open .nav-univers-trigger,.nav-univers-wrap:hover .nav-univers-trigger{background:rgba(8,114,185,.06);box-shadow:0 10px 26px rgba(8,114,185,.08)}
.nav-univers-wrap{position:relative}
.nav-univers-wrap .mega-univers{transform-origin:top center;transition:opacity .22s var(--ease),transform .22s var(--ease),visibility .22s}
.nav-univers-wrap .mega-univers:before{content:"";position:absolute;left:0;right:0;top:-14px;height:14px}
.nav-univers-trigger{display:inline-flex;align-items:center;gap:8px;border-radius:999px;padding:8px 10px;transition:.25s var(--ease)}

.about-page .about-hero-premium:after{background:linear-gradient(92deg,rgba(247,245,239,.985) 0%,rgba(247,245,239,.95) 31%,rgba(247,245,239,.74) 49%,rgba(247,245,239,.22) 72%,rgba(10,27,23,.08) 100%)!important}
.about-page .about-hero-copy{position:relative;z-index:3;padding-bottom:146px!important}
.about-page .about-hero-copy h1{display:inline-block;max-width:980px;text-shadow:0 10px 24px rgba(249,247,241,.2)}
.about-page .about-hero-lead{position:relative;max-width:650px!important;padding:18px 20px!important;background:rgba(249,247,241,.92)!important;box-shadow:0 18px 42px rgba(16,32,29,.12)!important;color:#42514d!important}
.about-hero-signature{height:108px!important;opacity:.56!important;bottom:8px!important;-webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 36%,#000 100%)!important;mask-image:linear-gradient(180deg,transparent 0%,#000 36%,#000 100%)!important}
.about-hero-signature .brand-signature{bottom:-12px!important;width:108%!important;height:132px!important;filter:drop-shadow(0 12px 24px rgba(7,30,25,.08))}
.about-hero-signature .brand-signature .base{stroke-width:1.2!important;opacity:.72}
.about-hero-signature:before{background:linear-gradient(180deg,transparent,rgba(8,25,21,.05))!important}

.directory-filter-row{grid-template-columns:1fr!important}
.directory-filter-row select{width:100%;appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,#43504a 50%),linear-gradient(135deg,#43504a 50%,transparent 50%);background-position:calc(100% - 22px) calc(1.05em),calc(100% - 16px) calc(1.05em);background-size:6px 6px,6px 6px;background-repeat:no-repeat;padding-right:46px}
.directory-active-filter,.directory-active-filter[hidden]{display:none!important}
.directory-map-card{background:linear-gradient(180deg,#082821 0%,#041816 100%);box-shadow:0 28px 60px rgba(8,34,29,.18)}
.morocco-map{position:relative;min-height:486px;border-radius:28px;background:radial-gradient(circle at 50% 32%,rgba(7,125,110,.22),transparent 48%),linear-gradient(180deg,#06302a 0%,#03201b 100%);overflow:hidden;border:1px solid rgba(255,255,255,.08)}
.morocco-map:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(95,185,171,.10) 1px,transparent 1px),linear-gradient(90deg,rgba(95,185,171,.08) 1px,transparent 1px);background-size:34px 34px;opacity:.6}
.morocco-map__shape{position:absolute;left:50%;top:22px;transform:translateX(-50%);width:min(72%,292px);height:auto;z-index:1;filter:drop-shadow(0 18px 34px rgba(0,0,0,.22))}
.morocco-map__shape path{fill:url(#mapFill)!important;stroke:url(#mapStroke)!important;stroke-width:3.2!important;stroke-linejoin:round;stroke-linecap:round}
.morocco-map__markers{z-index:2;inset:18px 10% 70px 10%}
.directory-map-point{transform:translate(-50%,-50%);min-width:18px;height:18px;border-radius:50%;background:#f58a1f;border:2px solid #10201d;box-shadow:0 0 0 5px rgba(67,193,255,.08),0 0 0 1px rgba(255,255,255,.25),0 12px 22px rgba(0,0,0,.22)}
.directory-map-point span,.directory-map-point b{display:none!important}
.directory-map-point:before{content:"";position:absolute;inset:-9px;border-radius:50%;border:1px solid rgba(65,199,255,.28);animation:mapPulse 2.8s ease-out infinite}
.directory-map-point.is-active{background:#41c7ff;box-shadow:0 0 0 7px rgba(65,199,255,.16),0 0 0 1px rgba(255,255,255,.34),0 16px 28px rgba(0,0,0,.28)}
.directory-map-point.is-active:before{border-color:rgba(255,255,255,.42)}
.directory-map-point:hover{transform:translate(-50%,-50%) scale(1.08)}
.directory-results-panel .lead{max-width:680px}
.directory-contact-card__actions a:last-child{background:#eaf5ff;color:#0872b9;border:1px solid rgba(8,114,185,.12)}
.directory-contact-card__actions a:last-child:hover{background:#0872b9;color:#fff}

.product-grid .product-card.added-fill{grid-column:span 3}
@media(min-width:861px){.product-grid .product-card.added-fill{grid-column:span 3}}

.flipbook-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.flipbook-toolbar [data-book-autoplay]{min-width:52px}
.flipbook-toolbar [data-book-autoplay].is-playing{background:#0872b9;color:#fff;border-color:#0872b9;box-shadow:0 16px 32px rgba(8,114,185,.16)}
.flipbook-toolbar [data-book-autoplay] .pause-label{display:none}
.flipbook-toolbar [data-book-autoplay].is-playing .play-label{display:none}
.flipbook-toolbar [data-book-autoplay].is-playing .pause-label{display:inline}

.directory-rep-notice{margin:0 0 18px;padding:14px 16px;border-radius:16px;background:#eef8f5;border:1px solid rgba(16,32,29,.09);color:#3f514c}
.directory-rep-notice b{color:#13201d}

@keyframes mapPulse{0%{transform:scale(.72);opacity:.8}70%{transform:scale(1.7);opacity:0}100%{opacity:0}}
@media(max-width:860px){.morocco-map__shape{width:min(70%,250px)}.product-grid .product-card.added-fill{grid-column:auto}.about-page .about-hero-copy{padding-bottom:118px!important}.about-hero-signature{height:84px!important}}


/* ===== V5.6.20 — FINAL UX / ETAPE 5 ===== */
/* Univers: restore the compact premium 4-universe hub */
.univers-trigger-icon{width:28px!important;height:28px!important;border-radius:10px!important;display:grid!important;place-items:center!important;background:linear-gradient(145deg,#0b211d,#17372f)!important;border:1px solid rgba(255,255,255,.16)!important;box-shadow:0 8px 20px rgba(13,31,27,.17),inset 0 1px 0 rgba(255,255,255,.09)!important;transform:none!important;transition:transform .28s var(--ease),box-shadow .28s var(--ease),background .28s var(--ease)!important;overflow:hidden;flex:0 0 auto}
.univers-trigger-icon i{display:none!important}
.univers-trigger-icon svg{display:block!important;width:19px!important;height:19px!important;overflow:visible}
.univers-trigger-icon .u-link{fill:none;stroke:rgba(255,255,255,.44);stroke-width:1.15;stroke-linecap:round;transition:stroke .28s var(--ease);transform-origin:center}
.univers-trigger-icon .u-node{fill:#d7e7a2;transform-origin:center}.univers-trigger-icon .u-node--blue{fill:#48b9ee}.univers-trigger-icon .u-node--orange{fill:#f28a2a}.univers-trigger-icon .u-node--green{fill:#9ead4e}.univers-trigger-icon .u-core{fill:#fff;transform-origin:14px 14px;transition:transform .34s cubic-bezier(.2,.8,.2,1),fill .28s}
.nav-univers-wrap:hover .univers-trigger-icon,.nav-univers-wrap:focus-within .univers-trigger-icon,.nav-univers-wrap.is-open .univers-trigger-icon{transform:translateY(-1px) scale(1.04)!important;box-shadow:0 12px 26px rgba(13,31,27,.24),0 0 0 3px rgba(8,114,185,.07)!important;background:linear-gradient(145deg,#0a2b25,#16443a)!important}
.nav-univers-wrap:hover .univers-trigger-icon .u-core,.nav-univers-wrap:focus-within .univers-trigger-icon .u-core,.nav-univers-wrap.is-open .univers-trigger-icon .u-core{transform:rotate(90deg);fill:#f7a34f}
.nav-univers-wrap:hover .univers-trigger-icon .u-link,.nav-univers-wrap.is-open .univers-trigger-icon .u-link{stroke:rgba(255,255,255,.68)}

/* Home products: merge white-background product photography into the card surface */
.products-section .product-visual{background:#f3efe6!important}
.products-section .product-visual:after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 50% 46%,rgba(255,255,255,.36),transparent 58%);mix-blend-mode:soft-light}
.products-section .product-visual img{position:relative;z-index:1;mix-blend-mode:multiply!important;filter:saturate(1.035) contrast(1.035);border-radius:18px}
.products-section .product-card:hover .product-visual img{filter:saturate(1.07) contrast(1.045)}

/* Morocco: exact user-provided SVG, no artificial polygon */
.morocco-map__shape--svg{position:absolute!important;left:50%!important;top:18px!important;transform:translateX(-50%)!important;width:min(72%,292px)!important;height:auto!important;max-height:430px!important;object-fit:contain!important;filter:drop-shadow(0 20px 34px rgba(0,0,0,.22))!important;opacity:.98}
.morocco-map__markers{position:absolute!important;left:50%!important;top:18px!important;right:auto!important;bottom:auto!important;transform:translateX(-50%)!important;width:min(72%,292px)!important;aspect-ratio:612.51373/654.53473!important;inset:auto!important}
.morocco-map__shape--svg + .morocco-map__markers{z-index:2}

/* Product brand selector */
.catalogue-toolbar{display:grid!important;grid-template-columns:minmax(220px,330px) minmax(180px,230px) 1fr;align-items:center!important;gap:10px 14px!important}
.catalogue-brand-filter{height:42px;border:1px solid var(--line);background:#fff;border-radius:999px;padding:0 42px 0 16px;font:700 11px 'Plus Jakarta Sans',sans-serif;color:var(--ink);outline:none;appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,#48554f 50%),linear-gradient(135deg,#48554f 50%,transparent 50%);background-position:calc(100% - 21px) 18px,calc(100% - 15px) 18px;background-size:6px 6px,6px 6px;background-repeat:no-repeat;transition:.25s}
.catalogue-brand-filter:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(8,114,185,.08)}
.catalogue-toolbar .filterbar-inner{min-width:0!important}
@media(max-width:1040px){.catalogue-toolbar{grid-template-columns:1fr 1fr!important}.catalogue-toolbar .filterbar-inner{grid-column:1/-1;width:100%}.catalogue-search{width:100%!important;min-width:0!important}.catalogue-brand-filter{width:100%}}
@media(max-width:640px){.catalogue-toolbar{grid-template-columns:1fr!important}.catalogue-toolbar .filterbar-inner{grid-column:auto}.catalogue-brand-filter{width:100%}}

@media(prefers-reduced-motion:reduce){.univers-trigger-icon,.univers-trigger-icon *{transition:none!important}.directory-map-point:before{animation:none!important}}


/* ===== V5.6.21 — premium brand picker + new Univers emblem ===== */
.catalogue-toolbar{align-items:center!important}
.catalogue-brand-picker{position:relative;min-width:240px;z-index:30}
.catalogue-brand-button{width:100%;height:48px;border:1px solid rgba(16,32,29,.12);border-radius:16px;background:linear-gradient(180deg,#fff 0%,#fbfaf7 100%);box-shadow:0 10px 26px rgba(16,32,29,.045);padding:0 13px 0 16px;display:flex;align-items:center;justify-content:space-between;gap:16px;color:var(--ink);transition:border-color .24s var(--ease),box-shadow .24s var(--ease),transform .24s var(--ease)}
.catalogue-brand-button:hover,.catalogue-brand-picker.is-open .catalogue-brand-button{border-color:rgba(8,114,185,.28);box-shadow:0 14px 34px rgba(16,32,29,.08),0 0 0 4px rgba(8,114,185,.045);transform:translateY(-1px)}
.catalogue-brand-button__copy{display:grid;gap:2px;text-align:left;min-width:0}.catalogue-brand-button__copy small{font-size:7.5px;line-height:1;text-transform:uppercase;letter-spacing:.14em;color:#7a8580;font-weight:800}.catalogue-brand-button__copy strong{font-size:11.5px;line-height:1.25;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.catalogue-brand-button__mark{position:relative;width:30px;height:30px;border-radius:10px;display:grid;place-items:center;flex:0 0 auto;background:#10201d;box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 8px 20px rgba(16,32,29,.14)}
.catalogue-brand-button__mark:before,.catalogue-brand-button__mark:after{content:"";position:absolute;top:14px;width:7px;height:1.5px;border-radius:2px;background:#fff;transition:transform .25s var(--ease)}.catalogue-brand-button__mark:before{left:9px;transform:rotate(42deg)}.catalogue-brand-button__mark:after{right:9px;transform:rotate(-42deg)}.catalogue-brand-picker.is-open .catalogue-brand-button__mark:before{transform:rotate(-42deg)}.catalogue-brand-picker.is-open .catalogue-brand-button__mark:after{transform:rotate(42deg)}
.catalogue-brand-menu{position:absolute;left:0;right:0;top:calc(100% + 9px);max-height:340px;overflow:auto;padding:8px;border:1px solid rgba(16,32,29,.10);border-radius:18px;background:rgba(255,255,255,.985);box-shadow:0 24px 64px rgba(16,32,29,.16);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.catalogue-brand-menu[hidden]{display:none!important}.catalogue-brand-option{width:100%;min-height:42px;border:0;background:transparent;border-radius:12px;padding:0 11px;display:flex;align-items:center;justify-content:space-between;gap:14px;color:#27332f;font:750 10.5px 'Plus Jakarta Sans',sans-serif;text-align:left;transition:background .18s,color .18s,transform .18s}.catalogue-brand-option:hover,.catalogue-brand-option:focus-visible{outline:none;background:#f2f6f4;color:#0872b9;transform:translateX(2px)}.catalogue-brand-option.is-selected{background:linear-gradient(135deg,#10201d,#15352f);color:#fff}.catalogue-brand-option i{font-style:normal;color:#a8c852;font-weight:900}

/* New Univers emblem: a restrained orbital mark that matches CODIAG's curves. */
.univers-trigger-icon{width:28px!important;height:28px!important;border-radius:10px!important;background:#0c2924!important;border:1px solid rgba(255,255,255,.12)!important;box-shadow:0 9px 22px rgba(10,34,29,.18),inset 0 1px 0 rgba(255,255,255,.10)!important;position:relative!important;overflow:hidden!important;display:inline-block!important;transform:none!important}
.univers-trigger-icon svg,.univers-trigger-icon i{display:none!important}
.univers-trigger-icon:before{content:""!important;position:absolute!important;inset:4px!important;border:0!important;border-radius:0!important;background-repeat:no-repeat!important;background-position:center!important;background-size:20px 20px!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='4' y1='5' x2='28' y2='27' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2348B9EE'/%3E%3Cstop offset='.52' stop-color='%23F7F3EA'/%3E%3Cstop offset='1' stop-color='%23F28A2A'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cellipse cx='16' cy='16' rx='10.5' ry='5.6' transform='rotate(-32 16 16)' fill='none' stroke='url(%23g)' stroke-width='1.8'/%3E%3Cellipse cx='16' cy='16' rx='10.5' ry='5.6' transform='rotate(32 16 16)' fill='none' stroke='url(%23g)' stroke-width='1.25' opacity='.78'/%3E%3Cpath d='M16 10.2 17.45 14.55 21.8 16 17.45 17.45 16 21.8 14.55 17.45 10.2 16 14.55 14.55Z' fill='%23FFFDF8'/%3E%3Ccircle cx='23.5' cy='9.5' r='1.35' fill='%239EAD4E'/%3E%3C/svg%3E")!important;transition:transform .34s var(--ease),filter .34s var(--ease)!important}
.univers-trigger-icon:after{content:""!important;position:absolute!important;inset:0!important;width:auto!important;height:auto!important;border-radius:10px!important;background:linear-gradient(145deg,rgba(255,255,255,.08),transparent 48%)!important;box-shadow:none!important;transform:none!important;pointer-events:none!important}
.nav-univers-wrap:hover .univers-trigger-icon,.nav-univers-wrap:focus-within .univers-trigger-icon,.nav-univers-wrap.is-open .univers-trigger-icon{background:#103b33!important;box-shadow:0 12px 28px rgba(10,34,29,.25),0 0 0 3px rgba(8,114,185,.06)!important;transform:translateY(-1px)!important}
.nav-univers-wrap:hover .univers-trigger-icon:before,.nav-univers-wrap:focus-within .univers-trigger-icon:before,.nav-univers-wrap.is-open .univers-trigger-icon:before{transform:rotate(18deg) scale(1.04);filter:saturate(1.12) brightness(1.04)}

.brand-link.is-unavailable{cursor:default;opacity:.64}.brand-link.is-unavailable:before{display:none}.brand-link.is-unavailable:hover img{transform:none!important;filter:grayscale(.2)!important}.brand-link.is-unavailable .brand-link__hint{color:#77827d}.brand-link.is-unavailable:hover .brand-link__hint{opacity:1;transform:translate(-50%,0)}
@media(max-width:1040px){.catalogue-brand-picker{width:100%;min-width:0}.catalogue-brand-menu{max-height:300px}}
@media(prefers-reduced-motion:reduce){.univers-trigger-icon:before,.catalogue-brand-button,.catalogue-brand-option{transition:none!important}}


/* ===== V5.6.22 — Catalogue corrections ===== */
/* Le menu marques doit sortir de la barre sticky sans être rogné. */
.catalogue-filterbar{z-index:160!important;overflow:visible!important}
.catalogue-filterbar .container,.catalogue-toolbar{overflow:visible!important}
.catalogue-brand-picker{z-index:220!important;isolation:isolate}
.catalogue-brand-picker.is-open{z-index:500!important}
.catalogue-brand-menu{z-index:520!important;display:block;min-width:100%;max-height:min(420px,62vh);overscroll-behavior:contain}
.catalogue-brand-menu[hidden]{display:none!important}
.category-intro{position:relative;z-index:1}

/* Les 12 visuels v57 remplissent toute la zone image : plus de carré d'une autre teinte. */
.catalogue-v57-card .pic{padding:0!important;overflow:hidden!important;background:#f0ece3!important}
.catalogue-v57-card .pic img{display:block!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;object-fit:cover!important;object-position:center!important;margin:0!important}

/* Les 12 fiches v57 reprennent le même langage visuel que les anciennes fiches produit. */
.local-product-hero{position:relative;min-height:520px;display:flex;align-items:flex-end;overflow:hidden;background:#13201d}
.local-product-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.local-product-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,25,22,.84),rgba(10,25,22,.36) 55%,rgba(10,25,22,.12))}
.local-product-hero .container{position:relative;z-index:2;padding-bottom:58px;color:#fff}
.local-product-hero .breadcrumbs{display:inline-flex;margin-bottom:20px;background:rgba(10,25,22,.72);color:#fff;border-color:rgba(255,255,255,.22)}
.local-product-hero .breadcrumbs a{color:#fff}
.local-product-hero h1{font-family:Syne,sans-serif;font-size:clamp(48px,6vw,82px);line-height:.95;max-width:900px;letter-spacing:-.055em;margin:0}
.local-product-hero .kicker{color:#d5e3a1;margin-bottom:15px}
.local-product-main{padding:80px 0;background:#fff}
.local-product-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:54px;align-items:start}
.local-product-image{border-radius:30px;background:#f5f2eb;border:1px solid rgba(19,32,29,.09);min-height:520px;display:grid;place-items:center;overflow:hidden;position:sticky;top:110px}
.local-product-image img{width:100%;height:100%;max-height:520px;object-fit:contain;padding:28px}
.local-product-summary h2{font-family:Syne,sans-serif;font-size:clamp(36px,4vw,58px);line-height:1;letter-spacing:-.05em;margin:12px 0 20px}
.local-product-summary>.lead{max-width:760px}
.local-product-actions{display:flex;gap:12px;flex-wrap:wrap;margin:28px 0 36px}
.local-product-content{margin-top:22px;border-top:1px solid rgba(19,32,29,.10);padding-top:26px;line-height:1.75;color:#4f5e59}
.local-product-content h2,.local-product-content h3{font-family:Syne,sans-serif;color:#13201d;margin:30px 0 12px;letter-spacing:-.03em}
.local-product-content ul{padding-left:22px}
/* Les images générées v57 deviennent le fond complet de leur panneau, sans encart coloré. */
.local-product-image img[src*="/v57/"]{padding:0!important;max-height:none!important;object-fit:cover!important}
.local-product-hero>img[src*="/v57/"]{object-fit:cover!important;object-position:center!important}
@media(max-width:850px){.local-product-grid{grid-template-columns:1fr}.local-product-image{position:relative;top:auto;min-height:360px}.local-product-hero{min-height:430px}.local-product-hero .container{padding-bottom:38px}.local-product-hero h1{font-size:clamp(42px,12vw,66px)}}


/* ============================================================
   V5.6.23 — Catalogue boxes · map marker alignment · product sharing
============================================================ */
/* Catalogue cards: more premium box treatment, still sober and consistent. */
.category-products{gap:20px!important}
.catalog-product{position:relative;border-radius:28px!important;border:1px solid rgba(16,32,29,.085)!important;background:linear-gradient(180deg,#fff 0%,#fefdfb 100%)!important;box-shadow:0 10px 28px rgba(16,32,29,.055)!important;overflow:hidden!important;transform:translateZ(0);transition:transform .34s var(--ease),box-shadow .34s var(--ease),border-color .34s var(--ease)!important}
.catalog-product:before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;box-shadow:inset 0 1px 0 rgba(255,255,255,.85);z-index:3}
.catalog-product:hover{transform:translateY(-7px)!important;border-color:rgba(8,114,185,.16)!important;box-shadow:0 28px 64px rgba(16,32,29,.13)!important}
.catalog-product .pic{position:relative;background:#f3efe7!important;border-bottom:1px solid rgba(16,32,29,.06)!important;overflow:hidden!important}
.catalog-product .pic:after{content:"";position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 -20px 30px -34px rgba(16,32,29,.28)}
.catalog-product .body{padding:23px 22px 24px!important;min-height:190px!important;display:flex!important;flex-direction:column!important;background:linear-gradient(180deg,#fff 0%,#fefdfb 100%)!important}
.catalog-product .body small{display:inline-flex;width:max-content;max-width:100%;padding:6px 9px;border-radius:999px;background:#f4f6ed;color:#718d29!important;letter-spacing:.11em!important;font-weight:850!important}
.catalog-product .body h3{font-size:21px!important;line-height:1.18!important;margin:12px 0 9px!important}
.catalog-product .body p{font-size:12px!important;line-height:1.7!important;color:#69746f!important}
.catalogue-card-link{width:max-content;margin-top:auto!important;padding:10px 13px!important;border-radius:999px;background:#eef7fc;color:#0872b9!important;font-size:10.5px!important;transition:background .22s,color .22s,transform .22s}
.catalog-product:hover .catalogue-card-link{background:#0872b9;color:#fff!important;transform:translateX(2px)}

/* The 12 new products use a dedicated 4:3 card crop: no visible inner square. */
.catalogue-v57-card .pic{padding:0!important;background:#f3efe7!important}
.catalogue-v57-card .pic img{display:block!important;position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;object-fit:cover!important;object-position:center!important;margin:0!important;padding:0!important;mix-blend-mode:normal!important}

/* Annuaire: markers share the exact box of the provided Morocco SVG. */
.morocco-map__shape--svg{left:50%!important;top:18px!important;transform:translateX(-50%)!important;width:min(72%,292px)!important;height:auto!important;max-height:none!important;object-fit:contain!important}
.morocco-map__markers{position:absolute!important;left:50%!important;top:18px!important;right:auto!important;bottom:auto!important;transform:translateX(-50%)!important;width:min(72%,292px)!important;height:auto!important;aspect-ratio:612.514/654.535!important;inset:auto!important;z-index:5!important}
.directory-map-point[hidden]{display:none!important}
.directory-map-point{transition:opacity .24s ease,transform .24s var(--ease)!important}
.directory-map-point.is-active{z-index:8!important;transform:translate(-50%,-50%) scale(1.15)!important}
.directory-map-point.is-active:after{content:"";position:absolute;inset:-13px;border:1px solid rgba(96,197,239,.58);border-radius:50%;box-shadow:0 0 0 5px rgba(96,197,239,.08)}

/* Footer social actions are injected/normalized by script.js. */
.footer-social{display:flex;align-items:center;gap:8px;margin-top:18px;flex-wrap:wrap}
.footer-social a,.footer-social button{width:38px;height:38px;border-radius:12px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.055);color:#fff;display:grid;place-items:center;padding:0;cursor:pointer;transition:transform .22s var(--ease),background .22s,border-color .22s}
.footer-social a:hover,.footer-social button:hover{transform:translateY(-2px);background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.22)}
.footer-social svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.footer-social .social-fill{fill:currentColor;stroke:none}

/* Product sharing */
.product-share-tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:-18px 0 34px;padding-top:4px}
.product-share-tools__label{font-size:9px;text-transform:uppercase;letter-spacing:.14em;color:#7b8782;font-weight:850;margin-right:3px}
.product-share-tools a,.product-share-tools button{height:38px;min-width:38px;border-radius:12px;border:1px solid rgba(16,32,29,.10);background:#f7f4ed;color:#19332d;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 11px;font:750 10px 'Plus Jakarta Sans',sans-serif;cursor:pointer;transition:.22s var(--ease)}
.product-share-tools a:hover,.product-share-tools button:hover{background:#10201d;color:#fff;border-color:#10201d;transform:translateY(-2px)}
.product-share-tools svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.product-share-tools .social-fill{fill:currentColor;stroke:none}

/* Related products for the twelve v57 pages. */
.local-related-v5623{padding:76px 0 88px;background:#f4f1ea;border-top:1px solid rgba(16,32,29,.06)}
.local-related-v5623 .local-related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:28px}
.local-related-v5623 .local-related-card{background:#fff;border:1px solid rgba(16,32,29,.085);border-radius:25px;overflow:hidden;box-shadow:0 12px 32px rgba(16,32,29,.06);transition:transform .3s var(--ease),box-shadow .3s var(--ease)}
.local-related-v5623 .local-related-card:hover{transform:translateY(-5px);box-shadow:0 24px 52px rgba(16,32,29,.12)}
.local-related-v5623 .local-related-pic{height:230px;background:#f3efe7;overflow:hidden}
.local-related-v5623 .local-related-pic img{width:100%;height:100%;object-fit:cover;display:block}
.local-related-v5623 .local-related-copy{padding:18px 19px 21px}.local-related-v5623 small{display:block;color:#78922f;text-transform:uppercase;font-size:8.5px;letter-spacing:.12em;font-weight:850;margin-bottom:8px}.local-related-v5623 b{display:block;font-family:Syne,sans-serif;font-size:18px;line-height:1.2;color:#14211e}

/* Secure send-to-friend modal */
.share-friend-modal{position:fixed;inset:0;z-index:2000;display:none;align-items:center;justify-content:center;padding:20px}.share-friend-modal.is-open{display:flex}.share-friend-modal__backdrop{position:absolute;inset:0;background:rgba(5,18,15,.68);backdrop-filter:blur(8px)}
.share-friend-modal__dialog{position:relative;z-index:2;width:min(560px,100%);max-height:min(760px,calc(100vh - 40px));overflow:auto;background:#fff;border-radius:28px;border:1px solid rgba(255,255,255,.3);box-shadow:0 35px 100px rgba(5,18,15,.34);padding:28px}
.share-friend-modal__close{position:absolute;right:16px;top:16px;width:38px;height:38px;border-radius:50%;border:1px solid rgba(16,32,29,.1);background:#f3efe7;color:#10201d;font-size:22px;cursor:pointer}
.share-friend-modal h3{font-family:Syne,sans-serif;font-size:30px;letter-spacing:-.04em;margin:5px 48px 8px 0}.share-friend-modal p{color:#68756f;font-size:12px;line-height:1.65;margin:0 0 20px}.share-friend-form{display:grid;gap:13px}.share-friend-form label{display:grid;gap:6px;font-size:9px;text-transform:uppercase;letter-spacing:.11em;font-weight:850;color:#67736e}.share-friend-form input,.share-friend-form textarea{width:100%;border:1px solid rgba(16,32,29,.13);border-radius:13px;background:#faf8f3;padding:12px 13px;font:600 12px 'Plus Jakarta Sans',sans-serif;color:#10201d;outline:none}.share-friend-form textarea{min-height:92px;resize:vertical}.share-friend-form input:focus,.share-friend-form textarea:focus{background:#fff;border-color:rgba(8,114,185,.45);box-shadow:0 0 0 4px rgba(8,114,185,.06)}
.share-friend-form__row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.share-friend-form__actions{display:flex;justify-content:flex-end;align-items:center;gap:12px;margin-top:3px}.share-friend-form__status{min-height:18px;font-size:11px;color:#68756f}.share-friend-form__status.is-error{color:#a23827}.share-friend-form__status.is-success{color:#477b2c}.share-friend-form button[type="submit"]{border:0;border-radius:999px;background:#10201d;color:#fff;padding:13px 18px;font-weight:800;cursor:pointer}.share-friend-form button:disabled{opacity:.55;cursor:wait}.share-hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}
.share-toast{position:fixed;z-index:2200;left:50%;bottom:28px;transform:translate(-50%,18px);background:#10201d;color:#fff;border-radius:999px;padding:11px 16px;font-size:11px;font-weight:750;opacity:0;pointer-events:none;transition:.25s}.share-toast.is-visible{opacity:1;transform:translate(-50%,0)}
@media(max-width:760px){.local-related-v5623 .local-related-grid{grid-template-columns:1fr}.share-friend-form__row{grid-template-columns:1fr}.share-friend-modal__dialog{padding:22px}.product-share-tools{margin-top:-10px}}


/* V5.6.24 — exact SVG map markers + send-to-friend CAPTCHA */
.morocco-map__inline{position:absolute;left:50%;top:18px;transform:translateX(-50%);width:min(72%,292px);height:auto;max-height:none;z-index:2;filter:drop-shadow(0 20px 34px rgba(0,0,0,.22));overflow:visible}
.morocco-map__inline path{fill:#0f4a41;stroke:rgba(0,0,0,.08);stroke-width:.45;vector-effect:non-scaling-stroke}
.directory-map-point-svg{cursor:pointer;outline:none;transition:opacity .22s ease}
.directory-map-point-svg[hidden]{display:none!important}
.directory-map-point-svg .marker-pulse{fill:rgba(65,199,255,.13);stroke:rgba(65,199,255,.26);stroke-width:1;animation:mapSvgPulse 2.8s ease-out infinite;transform-box:fill-box;transform-origin:center}
.directory-map-point-svg .marker-ring{fill:#08231e;stroke:rgba(255,255,255,.42);stroke-width:1.2}
.directory-map-point-svg .marker-core{fill:#f28a2a;stroke:#08231e;stroke-width:1.5;transition:.2s}
.directory-map-point-svg:hover .marker-core,.directory-map-point-svg:focus-visible .marker-core,.directory-map-point-svg.is-active .marker-core{fill:#41c7ff;transform:scale(1.18);transform-box:fill-box;transform-origin:center}
.directory-map-point-svg.is-active .marker-ring{stroke:#fff;stroke-width:1.8}
.share-captcha-label{display:grid;gap:8px;padding:14px 16px;border-radius:16px;background:#f5f2eb;border:1px solid rgba(19,32,29,.10)}
.share-captcha-label span{font-size:13px;color:#52615c}.share-captcha-label b{color:#13201d}
.share-captcha-label input{background:#fff!important}
@keyframes mapSvgPulse{0%{transform:scale(.65);opacity:.8}70%{transform:scale(1.7);opacity:0}100%{opacity:0}}
@media(max-width:720px){.morocco-map__inline{width:min(76%,270px);top:18px}}
@media(prefers-reduced-motion:reduce){.directory-map-point-svg .marker-pulse{animation:none!important}}


/* ============================================================
   V5.6.38 — HOTFIX CARTES SIGMA CABLE + KINSHAN
   Objet : supprimer la rupture de couleur entre le visuel carré
   et la zone image de la carte, sans modifier les images produit.
============================================================ */
.catalogue-v58-card .pic{
  padding:0!important;
  background:var(--v58-bg,#f7e5d2)!important;
}
.catalogue-v58-card .pic img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  margin:0!important;
  padding:0!important;
  object-fit:contain!important;
  object-position:center!important;
  mix-blend-mode:normal!important;
}
/* Pas d'assombrissement au bas de l'image pour ces 9 cartes :
   il accentuait la différence de teinte entre image et box. */
.catalogue-v58-card .pic:after{
  box-shadow:none!important;
}

/* ============================================================
   V5.6.39 — HOTFIX CIBLÉ CARTES SIGMA CABLE + KINSHAN
   On annule l'approche globale V5.6.38 et on applique un traitement
   uniquement aux 9 cartes concernées. Sigma Tape garde le rendu standard.
============================================================ */
.catalogue-v58-harmonized .pic{
  position:relative!important;
  background:#f3efe7!important;
  padding:22px!important;
}
.catalogue-v58-harmonized .pic:before{
  content:"";
  position:absolute;
  inset:22px;
  background:var(--v58-surface,#f7e5d2);
  z-index:0;
}
.catalogue-v58-harmonized .pic:after{
  box-shadow:none!important;
}
.catalogue-v58-harmonized .pic img{
  position:relative!important;
  z-index:1!important;
  display:block!important;
  width:100%!important;
  height:260px!important;
  max-width:none!important;
  max-height:none!important;
  margin:0!important;
  padding:0!important;
  object-fit:contain!important;
  object-position:center!important;
  mix-blend-mode:normal!important;
}
@media(max-width:900px){
  .catalogue-v58-harmonized .pic img{height:220px!important}
}

/* ============================================================
   V5.6.40 — CARD CROPS SIGMA CABLE + KINSHAN
   Même solution que les anciennes cartes v57 :
   une image 4:3 dédiée remplit toute la zone .pic.
   Les images produit originales ne sont pas modifiées.
============================================================ */
.catalogue-v58-cardcrop .pic{
  padding:0!important;
  background:#f3efe7!important;
  overflow:hidden!important;
}
.catalogue-v58-cardcrop .pic:before{content:none!important}
.catalogue-v58-cardcrop .pic:after{box-shadow:none!important}
.catalogue-v58-cardcrop .pic img{
  display:block!important;
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:cover!important;
  object-position:center!important;
  margin:0!important;
  padding:0!important;
  mix-blend-mode:normal!important;
}


/* ============================================================
   V5.6.41 — CATALOGUE PERFORMANCE + NAVIGATION
   Filtres existants inchangés. Affichage paginé : 12 produits/page.
============================================================ */
#products{scroll-margin-top:168px}
.catalogue-live-grid{contain:layout style}
.catalogue-live-card{content-visibility:auto;contain-intrinsic-size:450px}
.catalogue-pager{
  margin:34px auto 0;
  padding:16px 18px;
  border:1px solid rgba(16,32,29,.08);
  border-radius:22px;
  background:rgba(255,255,255,.94);
  box-shadow:0 12px 34px rgba(16,32,29,.055);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
}
.catalogue-pager[hidden]{display:none!important}
.catalogue-pager__meta{font-size:11px;color:#71807a;white-space:nowrap}
.catalogue-pager__meta strong{color:#13201d;font-weight:850}
.catalogue-pager__nav{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}
.catalogue-pager__page,.catalogue-pager__arrow{
  min-width:38px;height:38px;padding:0 11px;border-radius:12px;
  border:1px solid rgba(16,32,29,.10);background:#fff;color:#13201d;
  font:800 11px 'Plus Jakarta Sans',sans-serif;cursor:pointer;
  transition:transform .2s var(--ease),background .2s,color .2s,border-color .2s;
}
.catalogue-pager__page:hover,.catalogue-pager__arrow:hover:not(:disabled){transform:translateY(-2px);border-color:rgba(8,114,185,.24)}
.catalogue-pager__page.is-active{background:#13201d;color:#fff;border-color:#13201d}
.catalogue-pager__arrow:disabled{opacity:.32;cursor:not-allowed}
.catalogue-pager__ellipsis{display:grid;place-items:center;min-width:24px;height:38px;color:#88938e;font-weight:800}
@media(max-width:700px){
  #products{scroll-margin-top:150px}
  .catalogue-pager{align-items:stretch;flex-direction:column;padding:14px}
  .catalogue-pager__meta{text-align:center}
  .catalogue-pager__nav{justify-content:center}
  .catalogue-pager__page,.catalogue-pager__arrow{min-width:36px;height:36px;padding:0 9px}
}

/* ============================================================
   CODIAG V5.6.63 — Header devis + product cards + footer back-top
============================================================ */

/* Desktop header: preserve phone CTA and add a compact premium quote CTA. */
@media(min-width:1051px){
  .header-inner{
    grid-template-columns:180px minmax(0,1fr) auto auto;
    gap:14px;
  }
  .main-nav{gap:24px}
}
.header-quote-btn{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  min-height:44px;
  padding:10px 15px 10px 11px;
  border-radius:999px;
  border:1px solid rgba(13,48,42,.20);
  background:linear-gradient(135deg,#102a25 0%,#153c33 100%);
  color:#fff!important;
  box-shadow:0 10px 26px rgba(16,42,37,.16),inset 0 1px 0 rgba(255,255,255,.08);
  font-size:11px;
  font-weight:850;
  letter-spacing:.01em;
  white-space:nowrap;
  text-decoration:none!important;
  transition:transform .28s var(--ease),box-shadow .28s var(--ease),background .28s var(--ease);
}
.header-quote-btn:after{display:none!important}
.header-quote-btn__icon{
  width:24px;
  height:24px;
  flex:0 0 24px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,#0872b9,#1595d0);
  color:#fff;
  font-size:17px;
  font-weight:500;
  line-height:1;
  box-shadow:0 5px 14px rgba(8,114,185,.27);
  transition:transform .28s var(--ease);
}
.header-quote-btn:hover{
  transform:translateY(-2px);
  background:linear-gradient(135deg,#0c241f 0%,#18483c 100%);
  box-shadow:0 15px 34px rgba(16,42,37,.22),inset 0 1px 0 rgba(255,255,255,.10);
}
.header-quote-btn:hover .header-quote-btn__icon{transform:rotate(90deg)}
.header-quote-btn:focus-visible{
  outline:3px solid rgba(8,114,185,.22);
  outline-offset:3px;
}

/* Tablet: phone is already hidden by the existing theme; keep quote CTA. */
@media(max-width:1050px) and (min-width:781px){
  .header-inner{grid-template-columns:155px minmax(0,1fr) auto;gap:14px}
  .main-nav{gap:15px}
  .header-quote-btn{min-height:42px;padding:9px 13px 9px 10px}
  .header-quote-btn__label{font-size:10px}
}

/* Mobile already has "Demander un devis" in the menu. */
@media(max-width:780px){
  .header-quote-btn{display:none!important}
}

/* Homepage product cards: make the contour visible and premium. */
.products-section .product-card{
  border:1px solid rgba(23,33,31,.16)!important;
  box-shadow:
    0 0 0 1px rgba(255,255,255,.72) inset,
    0 12px 34px rgba(23,33,31,.055);
  background:#fff;
}
.products-section .product-card:hover{
  border-color:rgba(8,114,185,.24)!important;
  box-shadow:
    0 0 0 1px rgba(255,255,255,.82) inset,
    0 24px 58px rgba(23,33,31,.13);
}
.products-section .product-card .product-visual{
  border-bottom:1px solid rgba(23,33,31,.08);
}
.products-section .product-card .product-copy{
  background:linear-gradient(180deg,#fff 0%,#fdfcf9 100%);
}

/* AILIM: same interaction language as SPLAST and SOMONELEC. */
.reference-card .reference-link-ailim{
  display:inline-flex;
  align-items:center;
  margin-top:auto;
  color:var(--green);
  font-weight:800;
  text-decoration:none;
  transition:transform .25s var(--ease),color .25s var(--ease);
}
.reference-card .reference-link-ailim:hover{
  color:#5f771e;
  transform:translateX(3px);
}

/* Footer — premium in-flow Back to top button. */
.footer-backtop-wrap{
  display:flex;
  justify-content:flex-end;
  margin-top:18px;
}
.footer-backtop{
  display:inline-flex!important;
  align-items:center;
  gap:11px;
  min-height:44px;
  padding:8px 9px 8px 16px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:999px;
  background:rgba(255,255,255,.055);
  color:#e9efec!important;
  line-height:1!important;
  font-size:11px!important;
  font-weight:800;
  letter-spacing:.015em;
  text-decoration:none!important;
  backdrop-filter:blur(10px);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
  transition:background .25s ease,border-color .25s ease,transform .25s ease;
}
.footer-backtop__icon{
  display:grid;
  place-items:center;
  width:29px;
  height:29px;
  border-radius:50%;
  background:#fff;
  color:#10201d;
  font-size:15px;
  box-shadow:0 6px 18px rgba(0,0,0,.18);
  transition:transform .25s ease;
}
.footer-backtop:hover{
  background:rgba(255,255,255,.10);
  border-color:rgba(255,255,255,.28);
  transform:translateY(-2px);
}
.footer-backtop:hover .footer-backtop__icon{transform:translateY(-2px)}
.footer-backtop:focus-visible{
  outline:3px solid rgba(65,199,255,.28);
  outline-offset:3px;
}
@media(max-width:780px){
  .footer-backtop-wrap{justify-content:center;margin-top:24px}
}
@media(prefers-reduced-motion:reduce){
  .header-quote-btn,.header-quote-btn__icon,.footer-backtop,.footer-backtop__icon,
  .products-section .product-card{transition:none!important}
}
