/* ==========================================================
   ENTREPRISE MOREY — DESIGN SYSTEM 2026
   Couche d'amélioration premium, commune aux 5 pages.
   ========================================================== */

:root{
  --red:#960c1b;
  --red-2:#c51831;
  --red-3:#e12843;
  --red-dark:#4c050d;
  --red-soft:#fff2f4;
  --ink:#101216;
  --ink-2:#20242b;
  --muted:#6c727c;
  --paper:#ffffff;
  --soft:#f5f6f8;
  --soft-2:#eef0f3;
  --line:#e1e4e8;
  --gold:#c89e55;
  --max:1280px;
  --header:92px;
  --r-sm:14px;
  --r:24px;
  --r-lg:38px;
  --shadow-sm:0 8px 24px rgba(15,18,23,.07);
  --shadow:0 22px 65px rgba(15,18,23,.10);
  --shadow-lg:0 34px 100px rgba(15,18,23,.17);
  --ease:cubic-bezier(.2,.75,.2,1);
}

html{scroll-padding-top:calc(var(--header) + 20px)}
body{
  background:#fff;
  color:var(--ink);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  line-height:1.68;
}
::selection{background:var(--red);color:#fff}
.container{width:min(var(--max),calc(100% - 56px));margin-inline:auto}

/* Header — institutionnel, net, premium */
.site-header{
  position:sticky;
  top:0;
  z-index:1000;
  background:rgba(255,255,255,.92);
  border-bottom:1px solid rgba(16,18,22,.075);
  backdrop-filter:blur(22px) saturate(150%);
  -webkit-backdrop-filter:blur(22px) saturate(150%);
  transition:box-shadow .3s var(--ease),background .3s var(--ease);
}
.site-header.is-scrolled{
  background:rgba(255,255,255,.97);
  box-shadow:0 12px 38px rgba(15,18,23,.08)
}
.header-inner{
  width:min(1420px,calc(100% - 40px));
  min-height:var(--header);
  margin:auto;
  display:flex;
  align-items:center;
  gap:24px
}
.brand{display:flex;align-items:center;gap:14px;min-width:max-content}
.brand-mark{
  width:68px;height:68px;
  display:grid;place-items:center;
  overflow:hidden;background:#fff;
  border:1px solid var(--line);
  border-radius:17px;
  box-shadow:var(--shadow-sm)
}
.brand-mark img{width:100%;height:100%;object-fit:contain}
.brand-copy{display:grid;gap:5px}
.brand-copy strong{font-size:.98rem;letter-spacing:.055em;line-height:1;color:var(--ink)}
.brand-copy small{font-size:.66rem;font-weight:950;letter-spacing:.16em;color:var(--red)}
.nav{margin-left:auto;display:flex;align-items:center;gap:3px}
.nav a{
  position:relative;padding:12px 14px;
  border-radius:12px;color:#454a52;
  font-size:.88rem;font-weight:850
}
.nav a:hover{color:var(--red);background:var(--red-soft)}
.nav a.active{color:var(--red);background:rgba(150,12,27,.055)}
.nav a.active::after{
  content:"";position:absolute;left:16px;right:16px;bottom:5px;height:2px;
  border-radius:999px;background:linear-gradient(90deg,var(--red),var(--red-3))
}
.header-cta{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:48px;padding:0 20px;border-radius:999px;
  background:linear-gradient(135deg,var(--red-dark),var(--red-2));
  color:#fff;font-size:.86rem;font-weight:900;
  box-shadow:0 14px 30px rgba(150,12,27,.22)
}
.header-cta:hover{transform:translateY(-2px);box-shadow:0 18px 40px rgba(150,12,27,.28)}
.menu-toggle{
  display:none;width:48px;height:48px;padding:12px;
  border:1px solid var(--line);border-radius:14px;background:#fff;cursor:pointer
}
.menu-toggle span{display:block;height:2px;background:var(--ink);margin:5px 0;border-radius:8px;transition:.25s var(--ease)}
.menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* Hero */
.hero{padding:12px 12px 0;background:#fff}
.hero-stage{
  position:relative;
  min-height:clamp(620px,78vh,840px);
  overflow:hidden;border-radius:0 0 46px 46px;
  background:#121419;box-shadow:var(--shadow-lg);isolation:isolate
}
.hero-slide{
  position:absolute;inset:0;opacity:0;
  transform:scale(1.075);
  background-size:cover;background-position:center;
  transition:opacity 1s ease,transform 8s ease;
  will-change:opacity,transform
}
.hero-slide::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,.04),rgba(0,0,0,.18))
}
.hero-slide.active{opacity:1;transform:scale(1)}
.hero-overlay{
  position:absolute;z-index:2;inset:0;
  background:
    linear-gradient(90deg,rgba(8,9,12,.92) 0%,rgba(8,9,12,.7) 37%,rgba(8,9,12,.24) 70%,rgba(8,9,12,.08)),
    linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.35))
}
.hero-lines{
  position:absolute;z-index:3;left:0;top:0;bottom:0;width:min(38vw,520px);
  background:
    linear-gradient(180deg,rgba(150,12,27,.96),rgba(76,5,13,.98)),
    repeating-linear-gradient(135deg,transparent 0 22px,rgba(255,255,255,.04) 22px 23px);
  clip-path:polygon(0 0,100% 0,72% 100%,0 100%);
  opacity:.92
}
.hero-content{position:relative;z-index:5;min-height:inherit;display:flex;align-items:center}
.hero-panel{max-width:760px;margin-left:clamp(0px,4vw,58px);color:#fff}
.kicker,.eyebrow{
  display:inline-flex;align-items:center;gap:9px;
  font-size:.72rem;font-weight:950;letter-spacing:.17em;text-transform:uppercase
}
.kicker::before,.eyebrow::before{content:"";width:28px;height:2px;background:currentColor;border-radius:999px}
.kicker{color:#fff}.kicker.dark,.eyebrow{color:var(--red)}.kicker.light{color:#fff}
.hero-panel h1{
  max-width:11ch;margin:17px 0 21px;
  font-size:clamp(3.7rem,6.5vw,7.1rem);
  line-height:.88;letter-spacing:-.065em;
  text-shadow:0 14px 36px rgba(0,0,0,.22)
}
.hero-panel h1 em{font-style:normal;color:#fff;position:relative}
.hero-panel h1 em::after{
  content:"";position:absolute;left:0;bottom:-10px;width:60%;height:5px;
  border-radius:999px;background:#fff
}
.hero-panel p{max-width:650px;margin:0 0 30px;color:rgba(255,255,255,.86);font-size:clamp(1rem,1.4vw,1.18rem)}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px}
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  min-height:50px;padding:0 22px;border:0;border-radius:999px;
  font-size:.88rem;font-weight:900;cursor:pointer;
  transition:transform .25s var(--ease),box-shadow .25s var(--ease),background .25s var(--ease)
}
.btn-red,.btn.red{
  background:linear-gradient(135deg,var(--red),var(--red-2));color:#fff;
  box-shadow:0 13px 30px rgba(150,12,27,.23)
}
.hero .btn-red,.hero .btn.red{background:#fff;color:var(--red);box-shadow:0 14px 35px rgba(0,0,0,.16)}
.btn-ghost{background:rgba(255,255,255,.105);color:#fff;border:1px solid rgba(255,255,255,.29);backdrop-filter:blur(12px)}
.btn-white,.btn.light{background:#fff;color:var(--red)}
.btn:hover{transform:translateY(-2px)}
.hero-arrow{
  position:absolute;z-index:8;top:50%;
  width:54px;height:54px;transform:translateY(-50%);
  border:1px solid rgba(255,255,255,.30);border-radius:50%;
  color:#fff;background:rgba(9,10,13,.35);backdrop-filter:blur(12px);
  font-size:2rem;line-height:1;cursor:pointer
}
.hero-arrow:hover{background:var(--red);border-color:var(--red)}
.hero-arrow.prev{left:24px}.hero-arrow.next{right:24px}
.hero-dots{
  position:absolute;z-index:9;left:50%;bottom:26px;transform:translateX(-50%);
  display:flex;align-items:center;gap:7px;
  max-width:min(70vw,680px);padding:10px 12px;overflow-x:auto;
  border:1px solid rgba(255,255,255,.12);border-radius:999px;
  background:rgba(5,6,8,.32);backdrop-filter:blur(12px);
  scrollbar-width:none
}
.hero-dots::-webkit-scrollbar{display:none}
.hero-dot{
  flex:0 0 auto;width:7px;height:7px;padding:0;border:0;border-radius:50%;
  background:rgba(255,255,255,.45);cursor:pointer;transition:.25s var(--ease)
}
.hero-dot.active{width:28px;border-radius:999px;background:#fff}

/* Sections */
.section{position:relative;padding:clamp(82px,8vw,126px) 0}
.section.white{background:#fff}
.section.gray{background:linear-gradient(180deg,#f7f8f9,#f0f2f4)}
.section.redwash{
  background:
    radial-gradient(circle at 90% 6%,rgba(150,12,27,.10),transparent 29%),
    radial-gradient(circle at 8% 92%,rgba(200,158,85,.08),transparent 25%),
    linear-gradient(180deg,#fff,#faf4f5)
}
.section.dark{
  background:
    radial-gradient(circle at 84% 0%,rgba(197,24,49,.25),transparent 34%),
    linear-gradient(145deg,#0e1014,#20242b);
  color:#fff
}
.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:46px}
.section-title{margin:10px 0 0;font-size:clamp(2.7rem,4.4vw,5rem);line-height:.94;letter-spacing:-.055em}
.section-title em{font-style:normal;color:var(--red)}
.section-lead,.section-text{max-width:600px;color:var(--muted);font-size:1.03rem}
.grid{display:grid;gap:24px}

/* About / stats */
.about-band{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(320px,.72fr);gap:34px;align-items:stretch}
.about-copy{
  position:relative;padding:clamp(30px,4vw,48px);
  background:rgba(255,255,255,.94);border:1px solid var(--line);
  border-radius:var(--r-lg);box-shadow:var(--shadow)
}
.about-copy::before{
  content:"";position:absolute;top:0;left:38px;width:98px;height:5px;
  background:linear-gradient(90deg,var(--red),var(--red-3));border-radius:0 0 999px 999px
}
.about-copy p{margin:0 0 22px;color:#464b53}
.stats{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.stat{
  position:relative;overflow:hidden;min-height:168px;padding:26px;
  display:flex;flex-direction:column;justify-content:flex-end;
  background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow-sm)
}
.stat::after{
  content:"";position:absolute;right:-35px;bottom:-35px;width:118px;height:118px;border-radius:50%;
  background:linear-gradient(135deg,rgba(150,12,27,.08),rgba(200,158,85,.07))
}
.stat b{position:relative;color:var(--red);font-size:2.25rem;line-height:1}
.stat span{position:relative;margin-top:10px;color:var(--muted);font-size:.9rem}

/* Cards */
.activity-grid,.projects-grid,.equipment-grid,.media-grid{grid-template-columns:repeat(3,1fr)}
.team-grid{grid-template-columns:repeat(4,1fr)}
.group-grid{grid-template-columns:repeat(3,1fr)}
.info-card,.project-card,.equip-card,.person-card,.group-card,.media-card{
  position:relative;overflow:hidden;background:#fff;border:1px solid var(--line);
  border-radius:var(--r);box-shadow:var(--shadow-sm);
  transition:transform .34s var(--ease),box-shadow .34s var(--ease),border-color .34s var(--ease)
}
.info-card:hover,.project-card:hover,.equip-card:hover,.person-card:hover,.group-card:hover,.media-card:hover{
  transform:translateY(-7px);box-shadow:var(--shadow);border-color:#d7d9de
}
.info-card img,.project-card img,.equip-card img,.media-card img{
  width:100%;aspect-ratio:16/10;object-fit:cover;transition:transform .6s var(--ease)
}
.info-card:hover img,.project-card:hover img,.equip-card:hover img,.media-card:hover img{transform:scale(1.055)}
.info-card .body,.project-card .body,.equip-card .body,.media-card .body{padding:25px}
.info-card .body{min-height:205px;display:flex;flex-direction:column;align-items:flex-start}
.info-card small{color:var(--red);font-size:.69rem;font-weight:950;letter-spacing:.07em;text-transform:uppercase}
.info-card h3,.project-card h3,.equip-card h3,.media-card h3{margin:9px 0 17px;font-size:1.34rem;line-height:1.18}
.info-card .btn{margin-top:auto}
.person-card{padding:20px;background:rgba(255,255,255,.065);border-color:rgba(255,255,255,.12);box-shadow:none}
.person-card .avatar{aspect-ratio:1/1;display:grid;place-items:center;background:#fff;border-radius:20px;overflow:hidden}
.person-card .avatar img{width:100%;height:100%;object-fit:contain;padding:15px}
.person-card .body{padding:16px 4px 1px}.person-card small{color:#fff;font-weight:850}
.group-card{padding:32px}
.group-card small{color:var(--red);font-size:.68rem;font-weight:950;letter-spacing:.14em}
.group-card h3{margin:8px 0 12px;font-size:1.65rem}.group-card p{margin:0;color:var(--muted)}
.media-card{cursor:zoom-in}.media-card video{width:100%;aspect-ratio:16/10;object-fit:cover;background:#101216}
.media-card::after{content:"";position:absolute;left:0;right:0;bottom:0;height:4px;background:linear-gradient(90deg,var(--red),var(--red-3))}

/* HSE */
.hse-band>img{width:100%;height:100%;min-height:470px;object-fit:cover;border-radius:var(--r-lg);box-shadow:var(--shadow)}

/* Activities */
.activity-block{padding:96px 0;border-top:1px solid #e9ebee;background:#fff}
.activity-block:nth-of-type(even){background:#f5f6f8}
.activity-block>.container{
  padding:18px;background:#fff;border:1px solid var(--line);
  border-radius:38px;box-shadow:var(--shadow)
}
.activity-hero{
  position:relative;height:min(510px,58vw);min-height:400px;overflow:hidden;
  border-radius:29px;background:#202329
}
.activity-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.04) 20%,rgba(0,0,0,.84))}
.activity-hero img{width:100%;height:100%;object-fit:cover}
.activity-hero-copy{position:absolute;z-index:2;left:32px;right:32px;bottom:30px;color:#fff}
.activity-hero-copy .eyebrow{color:#fff;background:var(--red);padding:8px 12px;border-radius:999px}
.activity-hero-copy .eyebrow::before{display:none}
.activity-hero-copy h2{margin:11px 0 7px;font-size:clamp(2.5rem,4.25vw,4.8rem);line-height:.94;letter-spacing:-.05em}
.activity-hero-copy p{margin:0;color:#f2f2f2;font-weight:700}
.activity-layout{display:grid;grid-template-columns:1.08fr .92fr;gap:18px;margin-top:18px}
.longcopy,.sublist{
  padding:30px;border:1px solid var(--line);border-radius:24px;background:#fff
}
.longcopy{border-left:6px solid var(--red)}
.sublist{background:linear-gradient(180deg,#fff,#fbf4f5);border-top:6px solid var(--red)}
.longcopy h3,.sublist h3{margin:4px 0 14px;font-size:1.65rem}
.longcopy p,.sublist li{color:#454a52}
.sublist h3{color:var(--red)}
.sublist h4{margin-top:19px!important;padding-left:11px;border-left:4px solid var(--red);color:var(--ink)!important}
.sublist li::marker{color:var(--red)}
.trade-carousel-section{
  margin-top:22px;padding:26px;border:1px solid var(--line);
  border-radius:26px;background:linear-gradient(180deg,#fff,#f8f9fa);overflow:hidden
}
.trade-carousel-head{display:grid;grid-template-columns:1fr .75fr;gap:25px;align-items:end;padding-bottom:13px;margin-bottom:18px;border-bottom:1px solid var(--line)}
.trade-carousel-head h3{margin:5px 0;font-size:clamp(2rem,3.2vw,3.25rem);line-height:1}
.trade-carousel-head h3 em{font-style:normal;color:var(--red)}
.trade-carousel-head p{margin:0;color:var(--muted)}
.nine-carousel{position:relative;width:100%;margin:auto}
.nine-stage{position:relative;height:420px;overflow:hidden;perspective:1600px}
.nine-card{
  position:absolute;left:50%;top:50%;width:230px;height:318px;
  transform:translate(-50%,-50%);padding:9px;background:#fff;border:1px solid var(--line);
  border-radius:19px;box-shadow:0 14px 36px rgba(0,0,0,.13);opacity:0;pointer-events:none;
  transition:transform .55s var(--ease),opacity .4s ease,filter .4s ease,border-color .3s ease
}
.nine-card .trade-img{height:212px;display:grid;place-items:center;overflow:hidden;border-radius:13px;background:#f0f1f3}
.nine-card img{width:100%;height:100%;object-fit:contain}
.trade-caption{padding:10px 5px}.trade-caption small{display:block;color:var(--red);font-size:.61rem;font-weight:950;letter-spacing:.11em}
.trade-caption h4{margin:4px 0 0;font-size:1rem;line-height:1.12}
.nine-card[data-pos="0"]{
  width:360px;height:320px;z-index:30;opacity:1;pointer-events:auto;
  border:3px solid var(--red);box-shadow:0 28px 76px rgba(0,0,0,.21)
}
.nine-card[data-pos="0"] .trade-img{height:292px}
.nine-card[data-pos="-1"]{transform:translate(-132%,-50%) scale(.84);z-index:18;opacity:.95;pointer-events:auto}
.nine-card[data-pos="1"]{transform:translate(32%,-50%) scale(.84);z-index:18;opacity:.95;pointer-events:auto}
.nine-card[data-pos="-2"]{transform:translate(-210%,-50%) scale(.71);z-index:14;opacity:.66;pointer-events:auto}
.nine-card[data-pos="2"]{transform:translate(110%,-50%) scale(.71);z-index:14;opacity:.66;pointer-events:auto}
.nine-card[data-pos="-3"]{transform:translate(-275%,-50%) scale(.6);z-index:10;opacity:.36}
.nine-card[data-pos="3"]{transform:translate(175%,-50%) scale(.6);z-index:10;opacity:.36}
.carousel-controls{display:flex;align-items:center;justify-content:center;gap:15px;margin-top:13px}
.carousel-controls button{
  width:46px;height:46px;border:0;border-radius:50%;background:var(--ink);color:#fff;
  font-size:1.2rem;cursor:pointer;box-shadow:var(--shadow-sm)
}
.carousel-controls button:hover{background:var(--red);transform:translateY(-2px)}
.carousel-count{min-width:72px;text-align:center;color:var(--muted);font-weight:850}

/* Contact */
.contact-section{background:linear-gradient(180deg,#fff,#f4f5f7)}
.contact-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:25px}
.contact-box{
  position:relative;overflow:hidden;padding:38px;border-radius:30px;
  background:
    radial-gradient(circle at 90% 15%,rgba(255,255,255,.10),transparent 22%),
    linear-gradient(145deg,var(--red-dark),var(--red));
  color:#fff;box-shadow:var(--shadow-lg)
}
.contact-box::after{
  content:"";position:absolute;right:-82px;bottom:-82px;width:240px;height:240px;
  border:1px solid rgba(255,255,255,.17);border-radius:50%
}
.contact-box h3{margin:9px 0 27px;font-size:2.1rem}
.contact-list{display:grid}.contact-list>div{display:grid;gap:4px;padding:18px 0;border-top:1px solid rgba(255,255,255,.16)}
.contact-list span{font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.65)}
.contact-list strong{font-size:1rem}.contact-list a:hover{text-decoration:underline}
.contact-form{
  padding:38px;border:1px solid var(--line);border-radius:30px;background:#fff;box-shadow:var(--shadow)
}
.contact-form h3{margin:9px 0 25px;font-size:2.05rem}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}
.contact-form label{display:grid;gap:7px;margin-bottom:15px}
.contact-form label>span{font-size:.74rem;font-weight:900;color:#565b64}
.contact-form input,.contact-form select,.contact-form textarea{
  width:100%;border:1px solid #dce0e5;border-radius:15px;background:#f9fafb;
  padding:14px 15px;outline:none;transition:.22s var(--ease)
}
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{
  border-color:var(--red);box-shadow:0 0 0 4px rgba(150,12,27,.08);background:#fff
}
.contact-form textarea{min-height:165px;resize:vertical}
.form-status{margin:12px 0 0;color:var(--muted);font-size:.87rem}

/* CTA + Footer */
.site-cta{
  position:relative;overflow:hidden;padding:68px 0;
  background:
    radial-gradient(circle at 90% 0%,rgba(255,255,255,.12),transparent 28%),
    linear-gradient(115deg,var(--red-dark),var(--red-2));
  color:#fff
}
.site-cta::after{
  content:"";position:absolute;right:-140px;top:-180px;width:430px;height:430px;
  border:1px solid rgba(255,255,255,.16);border-radius:50%
}
.cta-inner{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:32px}
.site-cta h2{margin:8px 0 9px;font-size:clamp(2.3rem,3.6vw,3.9rem);line-height:.95;letter-spacing:-.045em}
.site-cta p{margin:0;max-width:730px;color:rgba(255,255,255,.82)}
.site-footer{
  background:radial-gradient(circle at 86% 0%,rgba(150,12,27,.14),transparent 30%),#0d0f13;
  color:#d7dae0
}
.footer-grid{
  padding:74px 0 50px;display:grid;grid-template-columns:1.55fr .75fr 1fr 1fr;gap:42px
}
.footer-brand{color:#fff}.footer-about>p,.site-footer p{color:#999fa9;font-size:.91rem}
.site-footer h4{margin:0 0 18px;color:#fff;font-size:.75rem;letter-spacing:.15em;text-transform:uppercase}
.footer-column{display:flex;flex-direction:column;align-items:flex-start}
.site-footer a:not(.brand){margin:4px 0;color:#b7bbc4;font-size:.9rem}
.site-footer a:not(.brand):hover{color:#fff;transform:translateX(3px)}
.footer-bottom{padding:21px 0;border-top:1px solid rgba(255,255,255,.08);color:#7f858e;font-size:.81rem}
.footer-bottom-inner{display:flex;justify-content:space-between;align-items:center;gap:20px}

/* Lightbox */
.media-lightbox{
  position:fixed;z-index:3000;inset:0;display:grid;place-items:center;padding:30px;
  background:rgba(7,8,10,.92);backdrop-filter:blur(16px);
  opacity:0;visibility:hidden;transition:.25s ease
}
.media-lightbox.open{opacity:1;visibility:visible}
.media-lightbox img{max-width:min(1200px,92vw);max-height:86vh;border-radius:18px;box-shadow:0 30px 100px rgba(0,0,0,.45)}
.media-lightbox button{
  position:absolute;right:25px;top:25px;width:48px;height:48px;border:1px solid rgba(255,255,255,.3);
  border-radius:50%;background:rgba(255,255,255,.1);color:#fff;font-size:1.5rem;cursor:pointer
}

/* Responsive */
@media(max-width:1120px){
  .nav{
    position:fixed;top:calc(var(--header) + 10px);left:18px;right:18px;display:none;
    margin:0;padding:14px;flex-direction:column;align-items:stretch;
    background:rgba(255,255,255,.985);border:1px solid var(--line);
    border-radius:20px;box-shadow:var(--shadow-lg)
  }
  .nav.open{display:flex}.nav a{padding:14px 16px}.nav a.active::after{display:none}
  .header-cta{margin-left:auto}.menu-toggle{display:block}
  .activity-grid,.projects-grid,.equipment-grid,.media-grid{grid-template-columns:repeat(2,1fr)}
  .team-grid{grid-template-columns:repeat(2,1fr)}
  .footer-grid{grid-template-columns:1.35fr 1fr}
}

@media(max-width:860px){
  :root{--header:78px}
  .container{width:min(100% - 32px,var(--max))}
  .header-inner{width:calc(100% - 24px);min-height:var(--header);gap:11px}
  .brand-mark{width:52px;height:52px}.brand-copy strong{font-size:.81rem}.brand-copy small{font-size:.59rem}
  .header-cta{display:none}
  .hero{padding:7px 7px 0}.hero-stage{min-height:720px;border-radius:0 0 30px 30px}
  .hero-lines{width:100%;height:54%;bottom:auto;clip-path:polygon(0 0,100% 0,100% 72%,0 100%)}
  .hero-overlay{background:linear-gradient(180deg,rgba(10,11,14,.38),rgba(10,11,14,.72))}
  .hero-content{align-items:flex-end;padding-bottom:112px}.hero-panel{width:100%;margin:0}
  .hero-panel h1{font-size:clamp(3.4rem,13.5vw,5.7rem)}
  .hero-arrow{top:auto;bottom:19px;width:44px;height:44px;transform:none}
  .hero-arrow.prev{left:18px}.hero-arrow.next{right:18px}
  .section-head{align-items:flex-start;flex-direction:column}
  .about-band,.activity-layout,.contact-grid{grid-template-columns:1fr}
  .activity-grid,.projects-grid,.equipment-grid,.team-grid,.group-grid,.media-grid{grid-template-columns:1fr}
  .stats{grid-template-columns:1fr 1fr}
  .trade-carousel-head{grid-template-columns:1fr}
  .nine-stage{height:415px}
  .nine-card[data-pos="-2"],.nine-card[data-pos="2"],.nine-card[data-pos="-3"],.nine-card[data-pos="3"]{opacity:0;pointer-events:none}
  .cta-inner{align-items:flex-start;flex-direction:column}
  .footer-grid{grid-template-columns:1fr 1fr}
  .form-row{grid-template-columns:1fr}
}

@media(max-width:560px){
  .container{width:calc(100% - 26px)}
  .brand-copy{display:none}
  .section{padding:70px 0}.section-title{font-size:2.55rem}
  .stats{grid-template-columns:1fr}
  .hero-stage{min-height:665px}
  .hero-panel h1{font-size:clamp(3rem,16vw,4.6rem)}
  .hero-actions{flex-direction:column}.hero-actions .btn{width:100%}
  .hero-arrow{display:none}.hero-dots{bottom:18px;max-width:82vw}
  .activity-block{padding:64px 0}
  .activity-block>.container{width:calc(100% - 20px);padding:10px;border-radius:26px}
  .activity-hero{height:430px;min-height:0;border-radius:19px}
  .activity-hero-copy{left:20px;right:20px;bottom:21px}
  .longcopy,.sublist,.trade-carousel-section{padding:20px}
  .nine-stage{height:395px}.nine-card[data-pos="0"]{width:min(86vw,330px);height:380px}
  .nine-card[data-pos="0"] .trade-img{height:270px}
  .nine-card[data-pos="-1"],.nine-card[data-pos="1"]{opacity:.18}
  .contact-form,.contact-box{padding:25px;border-radius:24px}
  .footer-grid{grid-template-columns:1fr}.footer-bottom-inner{flex-direction:column;align-items:flex-start}
}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}
}


/* ==========================================================
   MOREY PREMIUM V3 — SEARCH / TRANSLATE / BUTTONS / CAROUSELS
   ========================================================== */

/* Accessibility helper */
.sr-only{
  position:absolute!important;width:1px!important;height:1px!important;padding:0!important;
  margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;border:0!important
}

/* Never underline action controls */
.btn,.header-cta,.social-link,.site-search-button,.carousel-controls button,
.location-actions a,.embed-card-head a{
  text-decoration:none!important;
}
a.btn:hover,a.btn:focus,a.header-cta:hover,a.header-cta:focus,
.social-link:hover,.social-link:focus{ text-decoration:none!important; }

/* Premium buttons */
.btn{
  position:relative;overflow:hidden;isolation:isolate;
  border:0!important;border-radius:999px!important;
  padding-inline:22px!important;min-height:50px!important;
  font-weight:900!important;letter-spacing:.01em;
  box-shadow:0 12px 28px rgba(15,18,23,.10);
}
.btn::before{
  content:"";position:absolute;z-index:-1;inset:0;
  background:linear-gradient(100deg,transparent 20%,rgba(255,255,255,.22) 48%,transparent 74%);
  transform:translateX(-140%);transition:transform .55s var(--ease)
}
.btn:hover::before{transform:translateX(140%)}
.btn:hover{transform:translateY(-3px);box-shadow:0 18px 38px rgba(15,18,23,.16)}
.btn.btn-red{background:linear-gradient(135deg,var(--red-dark),var(--red-2));color:#fff}
.btn.btn-ghost{border:1px solid rgba(255,255,255,.28)!important}

/* Search + translate tool bar */
.header-tools{
  position:relative;z-index:3;
  background:linear-gradient(90deg,#11151b,#20252e 64%,#720914);
  border-top:1px solid rgba(255,255,255,.04);
}
.header-tools-inner{
  min-height:58px;display:grid;grid-template-columns:minmax(320px,680px) auto;
  justify-content:space-between;align-items:center;gap:24px
}
.site-search{position:relative;display:flex;align-items:center;gap:8px;margin:0}
.search-icon{
  position:absolute;left:14px;top:50%;transform:translateY(-50%);
  color:#8f959f;font-size:1.2rem;pointer-events:none
}
.site-search-input{
  width:100%;height:40px;padding:0 122px 0 40px;
  border:1px solid rgba(255,255,255,.12);border-radius:999px;
  outline:none;background:rgba(255,255,255,.08);color:#fff;
  font-size:.82rem;transition:.25s var(--ease)
}
.site-search-input::placeholder{color:#aeb3bb}
.site-search-input:focus{
  background:#fff;color:#16181d;border-color:#fff;
  box-shadow:0 0 0 4px rgba(255,255,255,.10)
}
.site-search-button{
  position:absolute;right:4px;top:4px;height:32px;padding:0 14px;
  border:0;border-radius:999px;background:var(--red);color:#fff;
  font-size:.71rem;font-weight:900;cursor:pointer
}
.site-search-button:hover{background:var(--red-2)}
.site-search-results{
  display:none;position:absolute;left:0;right:0;top:48px;z-index:1200;
  max-height:360px;overflow:auto;padding:8px;
  border:1px solid var(--line);border-radius:18px;
  background:#fff;box-shadow:0 22px 60px rgba(0,0,0,.18)
}
.site-search-results.open{display:block}
.search-result{
  display:block;padding:11px 12px;border-radius:12px;color:#252930;
  text-decoration:none!important
}
.search-result:hover,.search-result.active{background:var(--red-soft);color:var(--red)}
.search-result strong{display:block;font-size:.84rem}
.search-result small{display:block;margin-top:2px;color:#777d86;font-size:.7rem}
.search-empty{padding:14px;color:#747a83;font-size:.8rem}

.translate-tool{display:flex;align-items:center;gap:10px;justify-content:flex-end}
.translate-label{color:#cbd0d7;font-size:.66rem;font-weight:900;text-transform:uppercase;letter-spacing:.11em}
#google_translate_element{min-width:150px}
.goog-te-gadget{font-family:inherit!important;color:transparent!important;font-size:0!important}
.goog-te-gadget-simple{
  display:flex!important;align-items:center!important;min-height:38px!important;
  padding:5px 12px!important;border:1px solid rgba(255,255,255,.14)!important;
  border-radius:999px!important;background:rgba(255,255,255,.08)!important
}
.goog-te-gadget-simple .goog-te-menu-value,
.goog-te-gadget-simple span{color:#fff!important;font-size:.75rem!important}
.goog-te-gadget-icon{display:none!important}
body{top:0!important}
.skiptranslate iframe{display:none!important}

/* Compact prestations: no excessive line spacing */
.sublist ul{
  margin:12px 0 0!important;padding:0!important;list-style:none!important;
  display:grid!important;gap:0!important
}
.sublist li{
  position:relative;margin:0!important;padding:8px 8px 8px 24px!important;
  min-height:0!important;line-height:1.25!important;
  border-bottom:1px solid rgba(16,18,22,.075);font-size:.88rem!important
}
.sublist li:last-child{border-bottom:0}
.sublist li::before{
  content:"";position:absolute;left:4px;top:14px;width:7px;height:7px;
  border-radius:50%;background:var(--red)
}
.sublist li::marker{content:""}

/* Fix every carousel card overflow */
.trade-carousel-section{overflow:hidden!important}
.nine-stage{overflow:hidden!important}
.nine-card{
  overflow:hidden!important;display:flex!important;flex-direction:column!important;
  min-width:0!important
}
.nine-card .trade-img{
  flex:1 1 auto!important;min-height:0!important;overflow:hidden!important
}
.nine-card .trade-caption{
  flex:0 0 auto!important;min-height:78px!important;max-height:92px!important;
  padding:10px 12px!important;overflow:hidden!important;background:#fff
}
.nine-card .trade-caption small{
  display:block!important;white-space:nowrap!important;overflow:hidden!important;
  text-overflow:ellipsis!important
}
.nine-card .trade-caption h4{
  display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;
  margin:4px 0 0!important;max-width:100%!important;overflow:hidden!important;
  word-break:break-word!important;line-height:1.18!important;font-size:.93rem!important
}
.nine-card[data-pos="0"] .trade-caption{min-height:88px!important;max-height:100px!important}
.nine-card[data-pos="0"] .trade-caption h4{font-size:1rem!important}
.trade-carousel-head h3{
  overflow-wrap:anywhere;word-break:normal
}

/* ----------------------------------------------------------
   THREE DIFFERENT BRAND EXPERIENCES
   ---------------------------------------------------------- */
.brand-showcase{
  position:relative;margin-top:34px!important;padding:0!important;
  border:0!important;border-radius:30px!important;overflow:hidden!important;
  box-shadow:0 28px 80px rgba(15,18,23,.14)!important
}
.brand-showcase::before{
  content:"";position:absolute;z-index:0;inset:0;pointer-events:none
}
.brand-showcase>*{position:relative;z-index:1}
.brand-showcase .trade-carousel-head{
  min-height:190px!important;margin:0!important;padding:32px 36px!important;
  display:flex!important;align-items:flex-end!important;border:0!important
}
.brand-showcase .trade-carousel-head>div{max-width:680px}
.brand-showcase .brand-kicker{
  margin-bottom:8px;font-size:.65rem;font-weight:950;letter-spacing:.17em
}
.brand-showcase .trade-carousel-head h3{
  margin:4px 0 8px!important;font-size:clamp(2rem,4vw,4.2rem)!important;
  line-height:.92!important;letter-spacing:-.045em!important
}
.brand-showcase .brand-intro{max-width:610px;margin:0!important;font-size:.9rem!important}
.brand-showcase .nine-carousel{padding:14px 20px 24px!important}
.brand-showcase .carousel-controls{margin-top:8px!important}
.brand-showcase .carousel-controls button{
  width:46px!important;height:46px!important;border-radius:50%!important;
  cursor:pointer!important
}

/* SHANTUI — graphite + construction yellow */
.brand-shantui{
  background:
    repeating-linear-gradient(135deg,rgba(255,201,46,.025) 0 18px,transparent 18px 36px),
    linear-gradient(155deg,#0f1115,#272b31)!important;
}
.brand-shantui::before{
  background:radial-gradient(circle at 84% 5%,rgba(255,193,7,.22),transparent 34%)
}
.brand-shantui .trade-carousel-head{color:#fff;background:linear-gradient(100deg,#111318 0%,#24282e 65%,rgba(255,190,35,.13))}
.brand-shantui .brand-kicker,.brand-shantui .eyebrow{color:#f2bd2f!important}
.brand-shantui .trade-carousel-head h3 em{color:#f2bd2f!important}
.brand-shantui .brand-intro{color:#c9cdd3!important}
.brand-shantui .nine-card{border-color:rgba(255,193,7,.3)!important}
.brand-shantui .nine-card[data-pos="0"]{border-color:#f2bd2f!important;box-shadow:0 24px 62px rgba(0,0,0,.32)!important}
.brand-shantui .carousel-controls button{background:#f2bd2f!important;color:#111!important}
.brand-shantui .carousel-count{color:#f2bd2f!important}

/* SHACMAN — transport red + carbon */
.brand-shacman{
  background:
    linear-gradient(135deg,rgba(255,255,255,.03) 25%,transparent 25%) 0 0/30px 30px,
    linear-gradient(145deg,#170f10,#2a0c10)!important
}
.brand-shacman::before{
  background:linear-gradient(100deg,transparent 50%,rgba(220,22,48,.24))
}
.brand-shacman .trade-carousel-head{
  color:#fff;background:linear-gradient(105deg,#16181c,#2b0d12 62%,#8b0b1a)
}
.brand-shacman .brand-kicker,.brand-shacman .eyebrow{color:#ff6678!important}
.brand-shacman .trade-carousel-head h3 em{color:#ff6678!important}
.brand-shacman .brand-intro{color:#e0cfd2!important}
.brand-shacman .nine-card{border-color:rgba(205,26,48,.34)!important}
.brand-shacman .nine-card[data-pos="0"]{border-color:#d51b32!important}
.brand-shacman .carousel-controls button{background:#d51b32!important;color:#fff!important}
.brand-shacman .carousel-count{color:#ff8896!important}

/* WOLF OIL — premium navy + gold */
.brand-wolf{
  background:
    radial-gradient(circle at 90% 0%,rgba(206,166,84,.17),transparent 32%),
    linear-gradient(145deg,#08131e,#0c2235)!important
}
.brand-wolf .trade-carousel-head{
  color:#fff;background:linear-gradient(110deg,#08131e,#102c43 68%,rgba(203,163,78,.16))
}
.brand-wolf .brand-kicker,.brand-wolf .eyebrow{color:#d5ae5e!important}
.brand-wolf .trade-carousel-head h3 em{color:#d5ae5e!important}
.brand-wolf .brand-intro{color:#c5d0d9!important}
.brand-wolf .nine-card{
  border-color:rgba(213,174,94,.34)!important;background:#f8fafc!important
}
.brand-wolf .nine-card[data-pos="0"]{
  border-color:#d5ae5e!important;box-shadow:0 26px 65px rgba(0,0,0,.30)!important
}
.brand-wolf .trade-img{background:linear-gradient(180deg,#fff,#f1f3f5)!important}
.brand-wolf .carousel-controls button{background:#d5ae5e!important;color:#0b1823!important}
.brand-wolf .carousel-count{color:#d5ae5e!important}

/* ----------------------------------------------------------
   Professional quote request
   ---------------------------------------------------------- */
.quote-form-pro{
  position:relative;overflow:hidden
}
.quote-form-pro::before{
  content:"";position:absolute;left:0;right:0;top:0;height:5px;
  background:linear-gradient(90deg,var(--red-dark),var(--red-2),var(--gold))
}
.quote-form-head{margin-bottom:20px}
.quote-form-head h3{margin-bottom:7px!important}
.quote-form-head p{max-width:680px;margin:0;color:var(--muted);font-size:.88rem}
.quote-progress{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:18px 0 24px}
.quote-progress span{height:4px;border-radius:999px;background:#e8eaed}
.quote-progress span.active{background:linear-gradient(90deg,var(--red-dark),var(--red-2))}
.quote-honeypot{position:absolute!important;left:-9999px!important;opacity:0!important}
.quote-consent{
  display:flex!important;grid-template-columns:none!important;align-items:flex-start!important;
  gap:10px!important;margin:5px 0 18px!important;padding:12px 14px!important;
  border-radius:12px;background:#f7f7f8
}
.quote-consent input{width:auto!important;margin-top:3px}
.quote-consent span{font-weight:600!important;color:#636870!important;line-height:1.35}
.quote-submit-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.quote-submit{min-width:260px}
.quote-submit.is-loading{opacity:.75;pointer-events:none}
.quote-email-note{font-size:.73rem;color:#7a8088}
.form-status{
  display:none;margin-top:14px!important;padding:13px 15px!important;
  border-radius:12px;font-size:.84rem;font-weight:700
}
.form-status.show{display:block}
.form-status.success{background:#eaf8ee;color:#1b6f35;border:1px solid #bfe7ca}
.form-status.error{background:#fff0f1;color:#a10d20;border:1px solid #f2bcc3}

/* Previous requested social / DG / map styling */
.social-hub-section{background:linear-gradient(180deg,#fff,#f5f6f8)}
.social-hub-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:24px}
.embed-card{overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow)}
.embed-card-head{padding:16px 19px;display:flex;align-items:center;border-bottom:1px solid var(--line)}
.embed-card-head>div{display:flex;align-items:center;gap:10px}
.embed-card-head small{display:block;font-size:.65rem;color:var(--muted);text-transform:uppercase}
.embed-card-head h3{margin:2px 0 0;font-size:1rem}
.embed-badge{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;color:#fff;font-weight:950}
.facebook-badge{background:#1877f2}.youtube-badge{background:#f00}
.facebook-embed-wrap{min-height:610px;display:flex;justify-content:center;padding:14px;background:#f2f3f5}
.facebook-embed-wrap iframe{width:100%!important;max-width:463px!important}
.youtube-feature{aspect-ratio:16/9;background:#000}.youtube-feature iframe{width:100%;height:100%}
.youtube-feature-copy{padding:20px}.youtube-feature-copy>span{font-size:.65rem;font-weight:950;color:var(--red)}
.youtube-feature-copy h3{margin:5px 0 0}

.youtube-morey-section{background:#101216;color:#fff}
.youtube-morey-section .section-title{color:#fff}
.youtube-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.youtube-card{overflow:hidden;border:1px solid rgba(255,255,255,.10);border-radius:20px;background:#181b21}
.youtube-frame{aspect-ratio:16/9}.youtube-frame iframe{width:100%;height:100%}
.youtube-meta{padding:14px 16px}.youtube-meta span{font-size:.62rem;color:#ff9ba7;font-weight:950}.youtube-meta h3{margin:3px 0 0;color:#fff}

.dg-section{background:linear-gradient(110deg,#101216,#1d2027 48%,#690812);color:#fff}
.dg-card{display:grid;grid-template-columns:.62fr 1.38fr;overflow:hidden;border:1px solid rgba(255,255,255,.1);border-radius:30px}
.dg-visual{min-height:470px;padding:32px;display:flex;flex-direction:column;justify-content:flex-end;background:linear-gradient(180deg,transparent,rgba(5,6,8,.85)),url("../images/01-index/photo_siege_entreprise_morey.jpg") center/cover}
.dg-monogram{width:70px;height:70px;display:grid;place-items:center;margin-bottom:14px;border-radius:17px;background:var(--red);font-size:2rem;font-weight:950}
.dg-visual>span{font-weight:950}.dg-visual>small{color:#bbb}
.dg-copy{padding:clamp(32px,5vw,62px)}.dg-copy .section-title{color:#fff}.dg-copy .section-title em{color:#ff9da9}
.dg-copy blockquote{margin:22px 0}.dg-copy blockquote p{color:#d9dbe0}.dg-signature{padding-top:16px;border-top:1px solid rgba(255,255,255,.13);display:grid}
.dg-signature span{font-size:.7rem;color:#aaa;text-transform:uppercase}

.location-card{display:grid;grid-template-columns:1.4fr .6fr;overflow:hidden;border-radius:26px;box-shadow:var(--shadow-lg)}
.map-wrap iframe{width:100%;height:100%;min-height:420px}
.location-info{padding:34px;background:linear-gradient(145deg,var(--red-dark),var(--red-2));color:#fff;display:flex;flex-direction:column;justify-content:center}

.social-strip{background:#fff;border-top:1px solid var(--line)}
.social-strip-inner{min-height:72px;display:flex;justify-content:space-between;align-items:center;gap:18px}
.social-strip-inner>span{font-size:.72rem;font-weight:950;text-transform:uppercase;letter-spacing:.1em}
.social-strip-inner>div{display:flex;gap:8px;flex-wrap:wrap}
.social-link{display:inline-flex;gap:7px;align-items:center;padding:8px 12px;border:1px solid var(--line);border-radius:999px;font-size:.76rem;font-weight:850}

/* Responsive */
@media(max-width:1120px){
  .header-tools-inner{grid-template-columns:1fr auto}
  .site-search-input{padding-right:110px}
}
@media(max-width:880px){
  .header-tools-inner{grid-template-columns:1fr;padding:10px 0;gap:8px}
  .translate-tool{justify-content:flex-start}
  .social-hub-grid,.dg-card,.location-card{grid-template-columns:1fr}
  .dg-visual{min-height:330px}
}
@media(max-width:720px){
  .site-search-button{position:static;flex:0 0 auto}
  .site-search-input{padding-right:16px}
  .site-search{display:grid;grid-template-columns:1fr auto}
  .search-icon{display:none}
  .site-search-results{top:46px}
  .youtube-grid{grid-template-columns:1fr}
  .social-strip-inner{padding:14px 0;align-items:flex-start;flex-direction:column}
  .brand-showcase .trade-carousel-head{padding:26px 22px!important;min-height:170px!important}
  .brand-showcase .nine-carousel{padding:10px 4px 20px!important}
  .quote-submit{width:100%}
}


/* ==========================================================
   MOREY PREMIUM V4 — CORRECTIONS HSE / BOUTONS / HERO 15 CM
   ========================================================== */

/* 1) HERO : hauteur exacte demandée */
.hero-stage{
  min-height:15cm !important;
  height:15cm !important;
}
.hero{
  min-height:auto !important;
}
@media(max-width:860px){
  .hero-stage{
    min-height:15cm !important;
    height:15cm !important;
  }
}

/* 2) BOUTONS : rouge + texte blanc + aucun soulignement */
.btn,
.btn:link,
.btn:visited,
.btn:hover,
.btn:focus,
.btn:active,
.header-cta,
.header-cta:link,
.header-cta:visited,
.header-cta:hover,
.header-cta:focus,
.header-cta:active,
.nav a,
.nav a:link,
.nav a:visited,
.nav a:hover,
.nav a:focus,
.nav a:active{
  text-decoration:none !important;
}

.btn,
.btn.btn-red,
.btn.red,
.header-cta{
  color:#fff !important;
  background:linear-gradient(135deg,#8f0918,#c51831) !important;
  border:1px solid rgba(255,255,255,.08) !important;
  border-radius:999px !important;
  box-shadow:0 10px 24px rgba(150,12,27,.22) !important;
}

.btn:hover,
.btn.btn-red:hover,
.btn.red:hover,
.header-cta:hover{
  color:#fff !important;
  background:linear-gradient(135deg,#b10e23,#e12843) !important;
  transform:translateY(-2px);
  box-shadow:0 14px 34px rgba(150,12,27,.30) !important;
}

/* Navigation : vrais boutons rouges */
.nav{
  gap:8px !important;
}
.nav a{
  color:#fff !important;
  background:linear-gradient(135deg,#8f0918,#b91329) !important;
  border:1px solid rgba(150,12,27,.14) !important;
  border-radius:999px !important;
  padding:10px 16px !important;
  font-weight:900 !important;
  box-shadow:0 8px 18px rgba(150,12,27,.14) !important;
}
.nav a:hover,
.nav a:focus{
  color:#fff !important;
  background:linear-gradient(135deg,#b50f25,#e12843) !important;
  transform:translateY(-1px);
}
.nav a.active{
  color:#fff !important;
  background:linear-gradient(135deg,#640710,#9d0b1a) !important;
  box-shadow:0 10px 24px rgba(96,7,16,.25) !important;
}
.nav a.active::after{
  display:none !important;
}

/* boutons clairs/ghost remplacés par rouge */
.btn.btn-white,
.btn.btn-light,
.btn.btn-ghost{
  color:#fff !important;
  background:linear-gradient(135deg,#8f0918,#c51831) !important;
  border:1px solid rgba(255,255,255,.12) !important;
}
.btn.btn-white:hover,
.btn.btn-light:hover,
.btn.btn-ghost:hover{
  color:#fff !important;
  background:linear-gradient(135deg,#b50f25,#e12843) !important;
}

/* 3) HSE : section reconstruite visuellement, photo maîtrisée */
#hse{
  overflow:hidden !important;
  background:
    radial-gradient(circle at 90% 0%,rgba(150,12,27,.08),transparent 32%),
    linear-gradient(180deg,#fff,#f7f7f8) !important;
}

#hse .section-head{
  margin-bottom:28px !important;
}

#hse .about-band{
  display:grid !important;
  grid-template-columns:minmax(320px,.78fr) minmax(0,1.22fr) !important;
  gap:28px !important;
  align-items:start !important;
}

#hse .about-band > img{
  width:100% !important;
  max-width:520px !important;
  height:340px !important;
  min-height:0 !important;
  object-fit:cover !important;
  object-position:center !important;
  border-radius:22px !important;
  box-shadow:0 18px 46px rgba(15,18,23,.14) !important;
  justify-self:start !important;
}

#hse .about-copy{
  width:100% !important;
  max-width:none !important;
  padding:30px !important;
  border-radius:22px !important;
  background:#fff !important;
}

#hse .about-copy h3{
  margin-top:18px !important;
  margin-bottom:10px !important;
  color:#9d0b1a !important;
  font-size:1.35rem !important;
}

#hse .about-copy p{
  margin:0 0 12px !important;
  line-height:1.45 !important;
}

@media(max-width:900px){
  #hse .about-band{
    grid-template-columns:1fr !important;
  }
  #hse .about-band > img{
    max-width:100% !important;
    height:280px !important;
  }
}

@media(max-width:560px){
  #hse .about-band > img{
    height:230px !important;
    border-radius:16px !important;
  }
  #hse .about-copy{
    padding:22px !important;
  }
  .nav a{
    border-radius:12px !important;
    width:100% !important;
  }
}


/* ==========================================================
   MOREY PREMIUM V5 — ACCUEIL PLUS CONDENSÉ
   ========================================================== */

/* Rythme général plus compact */
.section{padding:44px 0 !important}
.section-head{margin-bottom:20px !important}
.section-title{margin-top:4px !important}
.section-text,.section-lead{margin-top:2px !important}

/* Hero collé proprement à la section suivante */
.hero{padding-bottom:0 !important}
.hero-stage{margin-bottom:0 !important}
.hero + .section{padding-top:30px !important}

/* À propos */
.about-band{gap:18px !important}
.about-copy{padding:22px !important}
.about-copy p{margin-bottom:10px !important;line-height:1.45 !important}
.stats{gap:8px !important}
.stat{min-height:112px !important;padding:15px !important}
.stat b{font-size:1.65rem !important}
.stat span{margin-top:4px !important;font-size:.84rem !important}

/* Activités */
.activity-grid{gap:12px !important}
.info-card .body{min-height:148px !important;padding:15px !important}
.info-card h3{margin:5px 0 10px !important}
.info-card img{aspect-ratio:16/9 !important}

/* Entreprises du groupe : supprimer la sensation de section vide */
.group-title{padding:20px 0 8px !important}
.section.gray.group-title + .section.dark{padding-top:20px !important;padding-bottom:32px !important}
.team-grid{gap:12px !important}
.person-card{padding:12px !important}
.person-card .body{padding-top:7px !important}

/* Chantiers / équipements */
.projects-grid,.equipment-grid{margin-top:14px !important;gap:12px !important}
.project-card .body,.equip-card .body{padding:15px !important}
.project-card h3,.equip-card h3{margin-bottom:5px !important}
.project-card p,.equip-card p{line-height:1.42 !important}

/* HSE plus compacte */
#hse{padding-top:34px !important;padding-bottom:34px !important}
#hse .section-head{margin-bottom:14px !important}
#hse .about-band{gap:16px !important}
#hse .about-copy{padding:20px !important}
#hse .about-band > img{height:300px !important}

/* Réseaux */
.social-hub-section{padding-top:34px !important;padding-bottom:34px !important}
.social-hub-grid{gap:14px !important}
.embed-card-head{min-height:58px !important;padding:11px 14px !important}
.youtube-feature-copy{padding:14px !important}

/* CTA et footer */
.site-cta,.global-cta{padding:32px 0 !important}
.cta-inner,.global-cta-inner{gap:14px !important}
.footer-grid{padding-top:36px !important;padding-bottom:24px !important}

/* Supprime les blancs créés par des marges successives */
main > section{margin-top:0 !important;margin-bottom:0 !important}
main > section + section{margin-top:0 !important}

/* Accueil uniquement : sections visuellement plus proches */
body > main > .section.white,
body > main > .section.gray,
body > main > .section.redwash,
body > main > .section.dark{
  scroll-margin-top:120px;
}

/* Mobile */
@media(max-width:860px){
  .section{padding:34px 0 !important}
  .hero + .section{padding-top:24px !important}
  .about-band,.projects-grid,.equipment-grid{gap:10px !important}
  .info-card .body,.project-card .body,.equip-card .body{padding:14px !important}
  #hse .about-band > img{height:250px !important}
}
@media(max-width:560px){
  .section{padding:26px 0 !important}
  .section-head{margin-bottom:12px !important}
  .section-title{font-size:2rem !important}
  .about-copy{padding:16px !important}
  .stat{min-height:96px !important}
  #hse{padding-top:26px !important;padding-bottom:26px !important}
  #hse .about-band > img{height:220px !important}
}


/* ==========================================================
   MOREY PREMIUM V6 — HEADER / MOBILE / IMAGES / HERO / FLOAT NAV
   ========================================================== */

/* Aucune décoration soulignée dans tout le site */
a,
a:link,
a:visited,
a:hover,
a:focus,
a:active{
  text-decoration:none !important;
}

/* ENTÊTE : nouvelle couleur institutionnelle */
.site-header{
  background:
    linear-gradient(115deg,#650712 0%,#980b1b 48%,#c31831 100%) !important;
  border-bottom:0 !important;
  box-shadow:0 10px 34px rgba(74,5,13,.20) !important;
}
.header-inner{
  min-height:104px !important;
}
.brand{
  gap:18px !important;
}
.brand-mark{
  width:92px !important;
  height:92px !important;
  border-radius:20px !important;
  border:2px solid rgba(255,255,255,.38) !important;
  box-shadow:0 10px 26px rgba(0,0,0,.20) !important;
  background:#fff !important;
}
.brand-mark img{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  object-position:center !important;
}
.brand-copy strong{
  color:#fff !important;
  font-size:1.42rem !important;
  letter-spacing:.065em !important;
  font-weight:950 !important;
}
.brand-copy small{
  color:#ffdfe4 !important;
  font-size:.76rem !important;
  letter-spacing:.17em !important;
}

/* Header navigation still red, but visually separated from red header */
.nav a{
  background:rgba(255,255,255,.12) !important;
  color:#fff !important;
  border:1px solid rgba(255,255,255,.18) !important;
  box-shadow:none !important;
  backdrop-filter:blur(8px);
}
.nav a:hover,
.nav a:focus{
  background:#fff !important;
  color:#9d0b1a !important;
}
.nav a.active{
  background:#fff !important;
  color:#9d0b1a !important;
  border-color:#fff !important;
}
.header-cta{
  background:#fff !important;
  color:#9d0b1a !important;
  border:1px solid #fff !important;
  box-shadow:0 10px 26px rgba(0,0,0,.14) !important;
}
.header-cta:hover{
  background:#f8e8eb !important;
  color:#7b0814 !important;
}

/* Search / translation bar: visually detached and no overlap */
.header-tools{
  background:#171b22 !important;
  border-top:1px solid rgba(255,255,255,.10) !important;
}
.header-tools-inner{
  min-height:56px !important;
}

/* Hero: centered composition */
.hero-stage{
  height:15cm !important;
  min-height:15cm !important;
}
.hero-slide{
  background-position:center center !important;
  background-size:contain !important;
  background-repeat:no-repeat !important;
  background-color:#111318 !important;
}
.hero-overlay{
  background:
    linear-gradient(90deg,rgba(8,9,12,.74),rgba(8,9,12,.42) 40%,rgba(8,9,12,.18) 70%,rgba(8,9,12,.16)) !important;
}
.hero-lines{
  width:min(34vw,470px) !important;
}
.hero-content{
  justify-content:center !important;
  text-align:center !important;
}
.hero-panel{
  margin-left:0 !important;
  margin-inline:auto !important;
  max-width:820px !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
}
.hero-panel h1{
  max-width:13ch !important;
  text-align:center !important;
}
.hero-panel p{
  margin-left:auto !important;
  margin-right:auto !important;
  text-align:center !important;
}
.hero-actions{
  justify-content:center !important;
}

/* Toutes les images visibles entièrement : jamais de rognage */
img{
  object-fit:contain !important;
  object-position:center !important;
}

/* Les conteneurs image reçoivent un fond propre quand les ratios diffèrent */
.info-card img,
.project-card img,
.equip-card img,
.media-card img,
.person-card .avatar img,
.activity-hero img,
.activity-visual img,
.hse-image img,
#hse .about-band > img,
.about-home-photo img,
.project-feature img,
.expert-card img,
.media-grid img{
  object-fit:contain !important;
  object-position:center !important;
  background:#f4f5f7 !important;
}

/* Les images hero de cartes et sections ne doivent plus être coupées */
.info-card img,
.project-card img,
.equip-card img{
  width:100% !important;
  height:auto !important;
  aspect-ratio:auto !important;
  max-height:340px !important;
}
.activity-hero{
  height:auto !important;
  min-height:0 !important;
}
.activity-hero img{
  width:100% !important;
  height:auto !important;
  max-height:none !important;
}
.activity-visual img{
  width:100% !important;
  height:auto !important;
  max-height:520px !important;
}
.project-feature,
.expert-card{
  height:auto !important;
  min-height:250px !important;
}
.project-feature img,
.expert-card img{
  width:100% !important;
  height:100% !important;
  min-height:250px !important;
  background:#17191d !important;
}

/* Médiathèque : photo entière */
.media-card img,
.media-grid img{
  width:100% !important;
  height:auto !important;
  max-height:420px !important;
}
.media-card,
.media-grid article{
  height:auto !important;
  min-height:0 !important;
}

/* HSE : image plus petite et entièrement visible */
#hse .about-band > img{
  width:100% !important;
  max-width:430px !important;
  height:280px !important;
  min-height:0 !important;
  padding:10px !important;
  background:#fff !important;
}

/* Les cartes Trading doivent afficher entièrement les produits */
.nine-card .trade-img img{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  object-position:center !important;
}

/* Navigation flottante : Home / Prev / Next */
.floating-page-nav{
  position:fixed;
  z-index:1450;
  right:18px;
  bottom:22px;
  display:flex;
  flex-direction:column;
  gap:9px;
}
.float-nav-btn{
  width:58px;
  min-height:58px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:1px;
  color:#fff !important;
  background:linear-gradient(145deg,#820914,#bd142b) !important;
  border:1px solid rgba(255,255,255,.25);
  border-radius:18px;
  box-shadow:0 12px 30px rgba(72,5,12,.30);
  text-decoration:none !important;
  backdrop-filter:blur(10px);
}
.float-nav-btn:hover,
.float-nav-btn:focus{
  color:#fff !important;
  background:linear-gradient(145deg,#aa0e21,#e12843) !important;
  transform:translateY(-2px);
}
.float-nav-btn span{
  font-size:1.35rem;
  line-height:1;
  font-weight:950;
}
.float-nav-btn small{
  color:#fff;
  font-size:.55rem;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.float-home{
  background:linear-gradient(145deg,#57060d,#930b1a) !important;
}

/* MOBILE : menu en flux normal pour qu'Accueil ne passe jamais sous la recherche */
@media(max-width:1120px){
  .header-inner{
    flex-wrap:wrap !important;
    min-height:88px !important;
    padding:8px 0 !important;
  }
  .brand-mark{
    width:78px !important;
    height:78px !important;
  }
  .brand-copy{
    display:grid !important;
  }
  .brand-copy strong{
    font-size:1.12rem !important;
  }
  .brand-copy small{
    font-size:.62rem !important;
  }
  .menu-toggle{
    margin-left:auto !important;
    display:block !important;
    background:#fff !important;
    border-color:#fff !important;
  }

  .nav{
    position:static !important;
    inset:auto !important;
    order:10 !important;
    width:100% !important;
    margin:4px 0 8px !important;
    padding:8px !important;
    border-radius:18px !important;
    background:#6f0813 !important;
    box-shadow:0 12px 28px rgba(0,0,0,.18) !important;
  }
  .nav.open{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:8px !important;
  }
  .nav a{
    width:100% !important;
    text-align:center !important;
    padding:11px 10px !important;
    border-radius:12px !important;
  }

  .header-tools{
    position:relative !important;
    z-index:2 !important;
  }
  .header-tools-inner{
    padding:9px 0 !important;
  }
}

/* Tablet / phone hero remains centered */
@media(max-width:860px){
  .hero-stage{
    height:15cm !important;
    min-height:15cm !important;
  }
  .hero-lines{
    width:100% !important;
    height:46% !important;
    clip-path:polygon(0 0,100% 0,100% 72%,0 100%) !important;
  }
  .hero-content{
    align-items:center !important;
    padding-bottom:0 !important;
  }
  .hero-panel{
    width:min(92%,690px) !important;
    margin:0 auto !important;
    padding-top:50px !important;
  }
  .hero-panel h1{
    font-size:clamp(2.8rem,11vw,4.7rem) !important;
  }
  .hero-panel p{
    max-width:520px !important;
  }
  .brand-copy strong{
    font-size:1rem !important;
  }
}

@media(max-width:560px){
  .header-inner{
    gap:8px !important;
  }
  .brand-mark{
    width:68px !important;
    height:68px !important;
  }
  .brand-copy strong{
    font-size:.92rem !important;
    letter-spacing:.035em !important;
  }
  .brand-copy small{
    font-size:.54rem !important;
  }
  .nav.open{
    grid-template-columns:1fr !important;
  }
  .header-tools-inner{
    gap:7px !important;
  }
  .site-search{
    width:100% !important;
  }
  .translate-tool{
    width:100% !important;
    justify-content:space-between !important;
  }
  .hero-panel{
    width:92% !important;
    padding-top:35px !important;
  }
  .hero-panel h1{
    font-size:2.75rem !important;
  }
  .floating-page-nav{
    right:10px;
    bottom:12px;
    flex-direction:row;
  }
  .float-nav-btn{
    width:50px;
    min-height:50px;
    border-radius:15px;
  }
  .float-nav-btn span{
    font-size:1.15rem;
  }
  .float-nav-btn small{
    font-size:.48rem;
  }
}


/* ==========================================================
   MOREY PREMIUM V7 — HERO CENTRÉ + CALENDRIER À DROITE
   ========================================================== */

/* Hero plus étroit : espaces visibles à gauche et à droite */
.hero{
  padding:22px 0 0 !important;
  background:#fff !important;
}
.hero-stage{
  width:min(1380px,calc(100% - 120px)) !important;
  margin:0 auto !important;
  border-radius:30px !important;
  overflow:hidden !important;
  box-shadow:0 24px 70px rgba(15,18,23,.15) !important;
}

/* Composition bien centrée */
.hero-content{
  width:100% !important;
  justify-content:center !important;
}
.hero-panel{
  width:min(720px,70%) !important;
  max-width:720px !important;
  margin:0 auto !important;
  padding-left:0 !important;
  padding-right:0 !important;
  text-align:center !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
}
.hero-panel h1{
  text-align:center !important;
  max-width:13ch !important;
}
.hero-panel p{
  text-align:center !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
.hero-actions{
  justify-content:center !important;
}

/* Calendrier compact positionné à droite du hero */
.hero-calendar{
  position:absolute;
  z-index:15;
  top:22px;
  right:22px;
  width:280px;
  padding:15px;
  border:1px solid rgba(255,255,255,.28);
  border-radius:20px;
  background:rgba(255,255,255,.96);
  color:#17191d;
  box-shadow:0 18px 44px rgba(0,0,0,.22);
  backdrop-filter:blur(18px);
}
.calendar-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:10px;
}
.calendar-title{
  color:#8f0918;
  font-size:.9rem;
  font-weight:950;
  text-transform:capitalize;
}
.calendar-nav{
  display:flex;
  gap:5px;
}
.calendar-nav button{
  width:31px;
  height:31px;
  padding:0;
  border:0;
  border-radius:9px;
  background:linear-gradient(135deg,#8f0918,#c51831);
  color:#fff;
  font-weight:950;
  cursor:pointer;
}
.calendar-nav button:hover{
  background:linear-gradient(135deg,#b30d23,#e12843);
}
.calendar-weekdays,
.calendar-grid{
  display:grid;
  grid-template-columns:repeat(7,1fr);
  gap:4px;
}
.calendar-weekdays{
  margin-bottom:4px;
}
.calendar-weekdays span{
  display:grid;
  place-items:center;
  min-height:20px;
  color:#8b9097;
  font-size:.56rem;
  font-weight:950;
}
.calendar-day{
  display:grid;
  place-items:center;
  min-height:29px;
  border-radius:8px;
  background:#f5f6f8;
  color:#353940;
  font-size:.69rem;
  font-weight:800;
}
.calendar-day.muted{
  color:#bdc0c5;
  background:#fafafa;
}
.calendar-day.today{
  color:#fff;
  background:linear-gradient(135deg,#8f0918,#c51831);
  box-shadow:0 7px 16px rgba(150,12,27,.20);
}
.calendar-footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  margin-top:9px;
  padding-top:9px;
  border-top:1px solid #e7e9ec;
}
.calendar-footer span{
  color:#777c84;
  font-size:.61rem;
}
.calendar-today-btn{
  padding:6px 9px;
  border:0;
  border-radius:999px;
  background:#171b22;
  color:#fff;
  font-size:.6rem;
  font-weight:900;
  cursor:pointer;
}

/* Tablette */
@media(max-width:1100px){
  .hero-stage{
    width:calc(100% - 56px) !important;
  }
  .hero-calendar{
    width:245px;
    top:16px;
    right:16px;
    padding:12px;
  }
  .hero-panel{
    width:min(640px,74%) !important;
  }
}

/* Mobile : marges conservées et calendrier sous le texte, à droite */
@media(max-width:760px){
  .hero{
    padding-top:12px !important;
  }
  .hero-stage{
    width:calc(100% - 24px) !important;
    border-radius:22px !important;
  }
  .hero-content{
    align-items:flex-start !important;
    padding-top:48px !important;
  }
  .hero-panel{
    width:90% !important;
    max-width:600px !important;
    padding-bottom:225px !important;
  }
  .hero-calendar{
    top:auto;
    right:14px;
    bottom:14px;
    width:min(250px,calc(100% - 28px));
  }
  .calendar-day{
    min-height:26px;
    font-size:.64rem;
  }
}

@media(max-width:420px){
  .hero-stage{
    width:calc(100% - 16px) !important;
  }
  .hero-calendar{
    left:10px;
    right:10px;
    width:auto;
  }
}

/* ==========================================================
   MOREY V8 — PANNEAUX LATÉRAUX PARTAGÉS
   Uniquement dans les espaces gauche / droite.
   ========================================================== */
.morey-side-rails{pointer-events:none}
.side-rail{position:fixed;z-index:650;top:178px;bottom:18px;width:clamp(205px,calc((100vw - 1380px)/2 - 18px),250px);display:flex;flex-direction:column;gap:12px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;pointer-events:auto}
.side-rail-left{left:10px}.side-rail-right{right:10px}.side-rail::-webkit-scrollbar{width:5px}.side-rail::-webkit-scrollbar-thumb{background:#c7cbd0;border-radius:999px}
.rail-card{flex:0 0 auto;padding:14px;border:1px solid #e4e6e9;border-radius:20px;background:rgba(255,255,255,.97);box-shadow:0 12px 32px rgba(13,17,23,.10);backdrop-filter:blur(14px)}
.compact-card{padding:13px}.rail-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:10px}.rail-card-head h3{margin:2px 0 0;font-size:.92rem;line-height:1.08;color:#20242a}.rail-kicker{display:block;color:#a20c1f;font-size:.56rem;line-height:1;font-weight:950;text-transform:uppercase;letter-spacing:.12em}.api-live{padding:4px 6px;border-radius:999px;background:#eaf8ee;color:#1b7136;font-size:.48rem;font-weight:950}
.mini-controls{display:flex;gap:4px}.mini-controls button{width:26px;height:26px;padding:0;border:0;border-radius:8px;background:#a10d21;color:#fff;font-weight:950;cursor:pointer}.mini-week,.mini-calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}.mini-week{margin-bottom:4px}.mini-week span{text-align:center;color:#92979e;font-size:.49rem;font-weight:900}.mini-calendar span{min-height:23px;display:grid;place-items:center;border-radius:7px;background:#f3f4f6;color:#34383e;font-size:.59rem;font-weight:800}.mini-calendar span.muted{color:#c5c8cc;background:#fafafa}.mini-calendar span.today{background:#a10d21;color:#fff}.mini-today{margin-top:8px;padding-top:8px;border-top:1px solid #eceef0;color:#72777f;font-size:.58rem}
.weather-main{display:flex;align-items:center;gap:10px;margin:2px 0 9px}.weather-icon{font-size:2rem}.weather-main strong{display:block;font-size:2.1rem;line-height:.9;color:#181b20}.weather-main small{display:block;margin-top:4px;color:#6c7179;font-size:.62rem}.weather-meta{display:grid;gap:5px;padding:8px 0;border-top:1px solid #eceef0;border-bottom:1px solid #eceef0}.weather-meta span{display:flex;justify-content:space-between;color:#72777f;font-size:.58rem}.weather-meta b{color:#24282e}.weather-days{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin-top:8px}.weather-days div{display:grid;place-items:center;gap:2px;padding:6px 3px;border-radius:9px;background:#f7f8f9}.weather-days small{font-size:.5rem;color:#747981;text-transform:capitalize}.weather-days span{font-size:1rem}.weather-days b{font-size:.62rem}.api-source{margin-top:7px;color:#a0a4aa;font-size:.48rem}.widget-loading,.widget-error{color:#7b8088;font-size:.62rem}.widget-error{color:#9c1425}
.clock-time{color:#a10d21;font-size:1.75rem;line-height:1;font-weight:950;letter-spacing:-.04em}.clock-date{margin-top:5px;color:#70757d;font-size:.6rem;text-transform:capitalize}
.currency-form{display:grid;gap:8px}.currency-form input,.currency-form select{width:100%;height:34px;padding:0 9px;border:1px solid #dde0e4;border-radius:9px;outline:none;background:#f8f9fa;color:#282c32;font-size:.64rem}.currency-row{display:grid;grid-template-columns:1fr 30px 1fr;gap:5px}.swap-currency{border:0;border-radius:8px;background:#171b22;color:#fff;cursor:pointer}.currency-result{min-height:55px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:8px;border-radius:11px;background:linear-gradient(135deg,#870914,#b9152a);color:#fff;text-align:center}.currency-result strong{font-size:.84rem}.currency-result span{margin-top:3px;font-size:.5rem;color:#ffdfe4}
.rail-links{display:grid;gap:5px}.rail-links a{display:flex;justify-content:space-between;align-items:center;padding:9px 10px;border-radius:10px;background:#f6f7f8;color:#33373d!important;text-decoration:none!important;font-size:.61rem;font-weight:850}.rail-links a:hover{background:#a10d21;color:#fff!important}.rail-contact{display:grid;gap:6px}.rail-contact a{display:flex;gap:7px;align-items:center;color:#34383e!important;text-decoration:none!important;font-size:.57rem;font-weight:800;overflow-wrap:anywhere}.rail-contact b{color:#a10d21}.rail-contact p{margin:4px 0 0;color:#747981;font-size:.55rem;line-height:1.35}
.rail-settings-btn{flex:0 0 auto;padding:10px 11px;border:1px solid #dce0e4;border-radius:14px;background:#171b22;color:#fff;font-size:.58rem;font-weight:900;cursor:pointer;box-shadow:0 8px 22px rgba(0,0,0,.10)}
.widget-settings-dialog{width:min(480px,calc(100% - 28px));padding:0;border:0;border-radius:24px;box-shadow:0 30px 90px rgba(0,0,0,.28)}.widget-settings-dialog::backdrop{background:rgba(10,12,16,.58);backdrop-filter:blur(5px)}.widget-settings-form{padding:24px;display:grid;gap:12px}.settings-head{display:flex;justify-content:space-between;gap:16px}.settings-head h3{margin:3px 0 0;font-size:1.3rem}.settings-close{width:34px;height:34px;border:0;border-radius:10px;background:#f1f2f3;font-size:1.2rem}.widget-settings-form>p{margin:0;color:#6f747b;font-size:.78rem}.widget-settings-form label{display:grid;gap:5px;color:#4e535a;font-size:.7rem;font-weight:850}.widget-settings-form input,.widget-settings-form select{height:40px;padding:0 11px;border:1px solid #dce0e4;border-radius:10px;background:#fafafa}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.settings-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:5px}.settings-actions button{padding:10px 13px;border:0;border-radius:999px;font-size:.68rem;font-weight:900;cursor:pointer}.settings-reset{background:#eee;color:#333}.settings-save{background:#a10d21;color:#fff}
@media(max-width:1540px){.morey-side-rails{display:none!important}}
@media(min-width:1900px){.side-rail{width:250px}}


/* ==========================================================
   MOREY PREMIUM V9 — COULOIRS LATÉRAUX COMPLETS
   ========================================================== */
:root{
  --rail-width:clamp(185px,11.5vw,245px);
  --rail-gap:12px;
  --rail-top:175px;
  --rail-bottom:12px;
  --adaptive-scale:1;
}
html,body{background:#e7e9ec!important}
.site-header{z-index:3000!important}
.site-footer,.global-cta,.site-cta{position:relative;z-index:3000!important}
.floating-page-nav{z-index:3200!important}

/* Main content receives its own central lane: side widgets never cover it */
body.desktop-rails main{
  width:calc(100vw - (var(--rail-width) * 2) - (var(--rail-gap) * 4))!important;
  max-width:1450px!important;
  margin-inline:auto!important;
  background:#fff!important;
  position:relative;z-index:10;
  box-shadow:0 0 40px rgba(24,28,34,.04);
}
body.desktop-rails .social-strip{
  width:calc(100vw - (var(--rail-width) * 2) - (var(--rail-gap) * 4))!important;
  max-width:1450px!important;margin-inline:auto!important;
}

/* Dedicated grey gutters */
.morey-side-rails{display:none}
body.desktop-rails .morey-side-rails{display:block}
.side-rail{
  position:fixed;z-index:1200;
  top:var(--rail-top);bottom:var(--rail-bottom);
  width:var(--rail-width);
  overflow:hidden;
  pointer-events:auto;
  background:#dfe2e6;
  border:1px solid #d4d8dd;
  border-radius:24px;
  box-shadow:0 14px 40px rgba(17,22,29,.10);
}
.side-rail-left{left:var(--rail-gap)}
.side-rail-right{right:var(--rail-gap)}
.side-rail-inner{
  height:100%;overflow-y:auto;overscroll-behavior:contain;
  padding:9px;display:flex;flex-direction:column;gap:10px;
  scrollbar-width:thin;scrollbar-color:#aeb4bc transparent
}
.side-rail-inner::-webkit-scrollbar{width:5px}.side-rail-inner::-webkit-scrollbar-thumb{background:#aeb4bc;border-radius:999px}
.widget-host{flex:0 0 auto}
.rail-card{
  padding:12px!important;background:#fff!important;border:1px solid #e4e7ea!important;
  border-radius:17px!important;box-shadow:0 8px 20px rgba(15,20,27,.07)!important;
  color:#20242a!important
}
.rail-card-head{display:flex;justify-content:space-between;gap:8px;margin-bottom:8px}
.rail-card-head h3{margin:2px 0 0!important;font-size:.82rem!important;line-height:1.08!important;color:#20242a!important}
.rail-kicker{display:block;color:#a10d21;font-size:.49rem;font-weight:950;text-transform:uppercase;letter-spacing:.12em}
.api-source{margin-top:5px;color:#9ba0a7;font-size:.43rem}
.widget-error,.widget-loading{font-size:.56rem;color:#747981}
.widget-error{color:#a10d21}
.rail-copy{margin:0 0 8px!important;color:#696f77!important;font-size:.55rem!important;line-height:1.38!important}
.rail-action{
  display:block;padding:8px 9px;border-radius:10px;background:#a10d21;color:#fff!important;text-decoration:none!important;
  font-size:.54rem;font-weight:900;text-align:center
}
.rail-action.danger{background:#171b22}

/* Calendar */
.mini-cal-nav{display:flex;justify-content:flex-end;gap:4px;margin:-30px 0 6px}
.mini-cal-nav button{width:24px;height:24px;border:0;border-radius:7px;background:#a10d21;color:#fff;font-weight:950}
.mini-week,.mini-calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}
.mini-week{margin-bottom:3px}.mini-week span{text-align:center;font-size:.43rem;color:#9499a0;font-weight:900}
.mini-calendar span{min-height:21px;display:grid;place-items:center;border-radius:6px;background:#f2f4f6;font-size:.51rem;font-weight:800}
.mini-calendar .muted{color:#c1c4c9;background:#fafafa}.mini-calendar .today{background:#a10d21;color:#fff}
.mini-today{margin-top:6px;padding-top:6px;border-top:1px solid #eceef0;font-size:.49rem;color:#747981}

/* Weather */
.weather-main{display:flex;align-items:center;gap:8px}.weather-main span{font-size:1.6rem}.weather-main strong{font-size:1.65rem;line-height:1;color:#171b20}
.weather-desc{margin:4px 0 7px;color:#6e737a;font-size:.51rem;text-transform:capitalize}
.weather-meta{display:grid;gap:3px}.weather-meta span{display:flex;justify-content:space-between;font-size:.49rem;color:#767b82}.weather-meta b{color:#262a30}

/* Currency */
.currency-form{display:grid;gap:6px}.currency-form input,.currency-form select{height:30px;border:1px solid #dde0e4;border-radius:8px;background:#f8f9fa;font-size:.55rem;padding:0 7px}
.currency-row{display:grid;grid-template-columns:1fr 27px 1fr;gap:4px}.swap-currency{border:0;border-radius:7px;background:#171b22;color:#fff}
.currency-result{min-height:46px;display:grid;place-items:center;padding:6px;border-radius:10px;background:#a10d21;color:#fff;text-align:center}.currency-result strong{font-size:.7rem}.currency-result small{display:block;font-size:.44rem}

/* Clock */
.clock-time{color:#a10d21;font-size:1.55rem;font-weight:950;line-height:1}.clock-date{margin-top:4px;font-size:.49rem;color:#777c84;text-transform:capitalize}

/* Commodities */
.commodity-grid{display:grid;grid-template-columns:1fr 1fr;gap:5px}.commodity-grid div{padding:7px;border-radius:9px;background:#f5f6f8;text-align:center}.commodity-grid span{display:block;font-size:.46rem;color:#7b8088}.commodity-grid strong{display:block;margin:3px 0;font-size:.61rem;color:#24282e}.commodity-grid small{font-size:.42rem;color:#989da4}.widget-note{margin:6px 0 0!important;font-size:.46rem!important;color:#858a91!important;line-height:1.3!important}

/* Progress */
.progress-list{display:grid;gap:7px}.progress-item>div{display:flex;justify-content:space-between;font-size:.49rem}.progress-item i{display:block;height:6px;margin-top:3px;background:#eceef1;border-radius:999px;overflow:hidden}.progress-item em{display:block;height:100%;background:linear-gradient(90deg,#830914,#c4172e);border-radius:999px}

/* HSE */
.hse-alert{display:flex;gap:7px;align-items:flex-start}.hse-alert>span{font-size:1rem}.hse-alert p{margin:0!important;font-size:.49rem!important;color:#666c74!important;line-height:1.35!important}

/* Facebook / YouTube */
.facebook-mini{overflow:hidden;border-radius:10px;background:#f1f2f4}.facebook-mini iframe{display:block;width:100%!important;max-width:220px}
.youtube-mini{aspect-ratio:16/9;border-radius:10px;overflow:hidden;background:#000}.youtube-mini iframe{width:100%;height:100%;display:block}

/* Delivered project / media */
.rail-project-img{width:100%!important;height:92px!important;object-fit:contain!important;background:#f4f5f6;border-radius:10px;margin-bottom:7px}
.rail-photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin-bottom:7px}.rail-photo-grid img{width:100%!important;height:58px!important;object-fit:contain!important;background:#f3f4f5;border-radius:7px}

/* Lists / fleet */
.rail-list{margin:0;padding:0;list-style:none;display:grid;gap:5px}.rail-list li{position:relative;padding:6px 6px 6px 16px;border-radius:8px;background:#f5f6f7;font-size:.5rem}.rail-list li:before{content:"";position:absolute;left:6px;top:10px;width:5px;height:5px;border-radius:50%;background:#a10d21}
.fleet-stat{display:flex;align-items:center;gap:10px;padding:8px;border-radius:10px;background:linear-gradient(135deg,#f4f5f7,#fff)}.fleet-stat span{font-size:1.35rem}.fleet-stat strong{font-size:.72rem;color:#a10d21}
.rail-contact{display:grid;gap:5px}.rail-contact a{color:#34383e!important;text-decoration:none!important;font-size:.49rem;font-weight:800;overflow-wrap:anywhere}.rail-contact p{margin:3px 0 0!important;color:#757a82!important;font-size:.47rem!important}

/* settings */
.rail-settings-btn{padding:9px;border:0;border-radius:12px;background:#171b22;color:#fff;font-size:.5rem;font-weight:900;cursor:pointer}
.widget-settings-dialog{width:min(520px,calc(100% - 30px));padding:0;border:0;border-radius:24px;box-shadow:0 30px 90px rgba(0,0,0,.28)}
.widget-settings-dialog::backdrop{background:rgba(10,12,16,.55);backdrop-filter:blur(5px)}
.widget-settings-form{padding:24px;display:grid;gap:11px}.settings-head{display:flex;justify-content:space-between}.settings-head h3{margin:2px 0;font-size:1.25rem}.settings-close{width:34px;height:34px;border:0;border-radius:10px}.widget-settings-form>p{font-size:.75rem;color:#6d727a}
.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.widget-settings-form label{display:grid;gap:4px;font-size:.66rem;font-weight:800}.widget-settings-form input,.widget-settings-form textarea{width:100%;border:1px solid #dce0e4;border-radius:9px;padding:9px}.widget-settings-form textarea{min-height:70px}.settings-actions{display:flex;justify-content:flex-end;gap:7px}.settings-actions button{padding:9px 12px;border:0;border-radius:999px;font-size:.65rem;font-weight:900}.settings-reset{background:#eee}.settings-save{background:#a10d21;color:#fff}

/* Footer/header/floating are the only layers above widgets */
.site-header{z-index:3000!important}.site-footer,.global-cta,.site-cta{position:relative;z-index:3000!important}.floating-page-nav{z-index:3200!important}

/* Hero: image only. No red bar and no text. */
.hero-lines,.hero-panel,.hero-copy,.hero-card,.hero-calendar{display:none!important}
.hero-overlay,.hero-shade{background:rgba(0,0,0,.02)!important}
.hero-stage{width:min(1380px,calc(100% - 80px))!important;margin-inline:auto!important}
.hero-slide{background-size:contain!important;background-position:center!important;background-repeat:no-repeat!important;background-color:#111318!important}

/* Adaptive computer presentation inspired by the supplied screenshot */
@media(min-width:1450px){
  body.desktop-rails main{font-size:calc(1rem * var(--adaptive-scale))}
}
@media(min-width:1450px) and (max-width:1650px){:root{--rail-width:185px}}
@media(min-width:1651px) and (max-width:1900px){:root{--rail-width:215px}}
@media(min-width:1901px){:root{--rail-width:245px}}

/* Mobile / tablet: no rails; widgets open from floating button */
.mobile-widget-drawer{display:none}
.float-widget-btn{display:none!important;border:0;cursor:pointer}
@media(max-width:1449px){
  body{background:#fff!important}
  .morey-side-rails{display:none!important}
  body main{width:100%!important;max-width:none!important;margin:0!important}
  .float-widget-btn{display:flex!important}
  .mobile-widget-drawer{
    display:block;position:fixed;z-index:2500;
    left:10px;right:10px;bottom:10px;
    max-height:min(78vh,760px);
    transform:translateY(calc(100% + 30px));
    opacity:0;pointer-events:none;
    border:1px solid #d9dde1;border-radius:24px;
    background:#e4e7ea;box-shadow:0 30px 80px rgba(0,0,0,.30);
    transition:transform .3s ease,opacity .3s ease;
    overflow:hidden
  }
  .mobile-widget-drawer.open{transform:translateY(0);opacity:1;pointer-events:auto}
  .mobile-widget-head{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;background:#9d0b1a;color:#fff}
  .mobile-widget-head span{display:block;font-size:.6rem;text-transform:uppercase;letter-spacing:.1em}.mobile-widget-head strong{font-size:.9rem}
  .mobile-widget-close{width:36px;height:36px;border:1px solid rgba(255,255,255,.25);border-radius:11px;background:rgba(255,255,255,.12);color:#fff;font-size:1.35rem}
  .mobile-widget-scroll{max-height:calc(78vh - 64px);overflow:auto;padding:10px;display:grid;grid-template-columns:1fr 1fr;gap:10px}
  .mobile-widget-column{display:flex;flex-direction:column;gap:10px}
  .mobile-widget-drawer .rail-card{font-size:1rem}
}
@media(max-width:700px){
  .mobile-widget-scroll{grid-template-columns:1fr}
  .hero-stage{width:calc(100% - 20px)!important}
}

/* ==========================================================
   Retour aux boutons rouges + Widgets agrandis
   ========================================================== */

a,a:link,a:visited,a:hover,a:focus,a:active{
  text-decoration:none!important;
}

/* Boutons rouges simples */
.btn,.header-cta,.nav a,.site-search-button,.rail-action,.rail-settings-btn,
.settings-save,.settings-reset,.float-nav-btn{
  clip-path:none!important;
  border-radius:999px!important;
  text-decoration:none!important;
}
.btn,.btn.btn-red,.btn.red,.btn.btn-white,.btn.btn-light,.btn.btn-ghost,.header-cta{
  min-height:48px!important;
  padding:0 23px!important;
  color:#fff!important;
  background:linear-gradient(135deg,#8f0918,#c31831)!important;
  border:1px solid rgba(255,255,255,.10)!important;
  box-shadow:0 8px 22px rgba(143,9,24,.20)!important;
  font-weight:900!important;
}
.btn::before,.btn::after,.header-cta::before,.header-cta::after,
.nav a::before,.nav a::after,.float-nav-btn::before,.float-nav-btn::after{
  display:none!important;
  content:none!important;
}
.btn:hover,.header-cta:hover{
  color:#fff!important;
  background:linear-gradient(135deg,#a80c20,#df2340)!important;
  transform:translateY(-2px)!important;
  box-shadow:0 12px 28px rgba(143,9,24,.28)!important;
}
.nav{gap:8px!important}
.nav a{
  min-height:42px!important;
  padding:0 18px!important;
  color:#fff!important;
  background:rgba(255,255,255,.12)!important;
  border:1px solid rgba(255,255,255,.18)!important;
  box-shadow:none!important;
}
.nav a:hover,.nav a:focus,.nav a.active{
  color:#8f0918!important;
  background:#fff!important;
  border-color:#fff!important;
}
.site-search-button,.rail-action,.rail-settings-btn,.settings-save{
  color:#fff!important;
  background:linear-gradient(135deg,#8f0918,#c31831)!important;
}
.settings-reset{
  color:#333!important;
  background:#eceef1!important;
}
.float-nav-btn{
  width:62px!important;
  min-height:56px!important;
  color:#fff!important;
  background:linear-gradient(145deg,#7c0815,#b61129)!important;
  border-radius:18px!important;
  border:1px solid rgba(255,255,255,.15)!important;
  box-shadow:0 10px 26px rgba(90,6,15,.26)!important;
}

/* Hero réduit de 2 cm */
.hero-stage{
  height:13cm!important;
  min-height:13cm!important;
}
@media(max-width:860px){
  .hero-stage{
    height:13cm!important;
    min-height:13cm!important;
  }
}

/* Widgets plus grands */
:root{
  --rail-width:clamp(230px,14vw,310px)!important;
  --rail-gap:14px!important;
}
body.desktop-rails main{
  width:calc(100vw - (var(--rail-width) * 2) - (var(--rail-gap) * 4))!important;
  max-width:1420px!important;
}
body.desktop-rails .social-strip{
  width:calc(100vw - (var(--rail-width) * 2) - (var(--rail-gap) * 4))!important;
  max-width:1420px!important;
}
.side-rail{
  width:var(--rail-width)!important;
  border-radius:26px!important;
}
.side-rail-inner{
  padding:12px!important;
  gap:13px!important;
}
.rail-card{
  padding:17px!important;
  border-radius:20px!important;
}
.rail-card-head{margin-bottom:11px!important}
.rail-card-head h3{
  font-size:1.05rem!important;
  line-height:1.12!important;
}
.rail-kicker{
  font-size:.61rem!important;
  letter-spacing:.12em!important;
}
.widget-loading,.widget-error{font-size:.72rem!important}
.api-source{font-size:.58rem!important}
.rail-copy{
  font-size:.72rem!important;
  line-height:1.48!important;
}
.rail-action{
  padding:10px 12px!important;
  font-size:.68rem!important;
}

/* Calendrier */
.mini-week span{font-size:.56rem!important}
.mini-calendar span{
  min-height:28px!important;
  font-size:.68rem!important;
}
.mini-today{font-size:.64rem!important}
.mini-cal-nav button{
  width:30px!important;
  height:30px!important;
}

/* Météo */
.weather-main span{font-size:2rem!important}
.weather-main strong{font-size:2rem!important}
.weather-desc{font-size:.68rem!important}
.weather-meta span{font-size:.64rem!important}

/* Convertisseur */
.currency-form input,.currency-form select{
  height:38px!important;
  font-size:.72rem!important;
}
.currency-row{
  grid-template-columns:1fr 34px 1fr!important;
  gap:6px!important;
}
.currency-result{
  min-height:62px!important;
  padding:9px!important;
}
.currency-result strong{font-size:.9rem!important}
.currency-result small{font-size:.57rem!important}

/* Horloge */
.clock-time{font-size:2.25rem!important}
.clock-date{font-size:.67rem!important}

/* Pétrole / bitume */
.commodity-grid div{padding:10px!important}
.commodity-grid span{font-size:.61rem!important}
.commodity-grid strong{font-size:.77rem!important}
.commodity-grid small{font-size:.56rem!important}
.widget-note{font-size:.61rem!important}

/* Progression */
.progress-item>div{font-size:.66rem!important}
.progress-item i{height:8px!important}

/* HSE */
.hse-alert>span{font-size:1.35rem!important}
.hse-alert p{
  font-size:.65rem!important;
  line-height:1.45!important;
}

/* Facebook / Youtube */
.facebook-mini iframe{
  width:100%!important;
  max-width:none!important;
  height:410px!important;
}
.youtube-mini{min-height:145px!important}

/* Dernier chantier / médias */
.rail-project-img{height:135px!important}
.rail-photo-grid img{height:78px!important}

/* Chantiers en cours */
.rail-list li{
  font-size:.65rem!important;
  line-height:1.35!important;
}

/* Flotte / RH */
.fleet-stat span{font-size:1.75rem!important}
.fleet-stat strong{font-size:.92rem!important}

/* Contact */
.rail-contact a{font-size:.64rem!important}
.rail-contact p{font-size:.62rem!important}

/* Réglages */
.rail-settings-btn{
  padding:11px 13px!important;
  font-size:.64rem!important;
}

@media(max-width:1490px){
  .morey-side-rails{display:none!important}
}
@media(min-width:1491px){
  body.desktop-rails .morey-side-rails{display:block!important}
}
@media(max-width:1449px){
  .mobile-widget-drawer .rail-card{padding:18px!important}
  .mobile-widget-drawer .rail-card-head h3{font-size:1.08rem!important}
  .mobile-widget-drawer .rail-kicker{font-size:.65rem!important}
  .mobile-widget-drawer .rail-copy,
  .mobile-widget-drawer .weather-meta span,
  .mobile-widget-drawer .hse-alert p,
  .mobile-widget-drawer .rail-list li,
  .mobile-widget-drawer .rail-contact a,
  .mobile-widget-drawer .rail-contact p{
    font-size:.76rem!important;
  }
}


/* ==========================================================
   NAVIGATION DES SECTIONS — AJOUT V13
   Ajout uniquement : le design et la configuration existants restent intacts.
   ========================================================== */

html{
  scroll-behavior:smooth;
}

/* Targets do not disappear under the sticky header. */
section[id]{
  scroll-margin-top:180px;
}

/* Floating section navigation shared by the 5 pages */
.section-floating-nav{
  position:fixed;
  z-index:3150;
  left:50%;
  bottom:18px;
  transform:translateX(-50%);
  display:flex;
  align-items:center;
  gap:7px;
  max-width:min(74vw,1080px);
  padding:7px;
  border:1px solid rgba(255,255,255,.22);
  border-radius:999px;
  background:rgba(20,23,29,.90);
  box-shadow:0 14px 38px rgba(0,0,0,.22);
  backdrop-filter:blur(16px);
}

.section-nav-toggle{
  display:none;
  flex:0 0 auto;
  min-width:56px;
  height:44px;
  border:0;
  border-radius:999px;
  background:linear-gradient(135deg,#830914,#bd152d);
  color:#fff;
  cursor:pointer;
  align-items:center;
  justify-content:center;
  gap:3px;
  flex-direction:column;
}
.section-nav-toggle span{font-size:1rem;line-height:1}
.section-nav-toggle small{
  color:#fff;
  font-size:.46rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.06em;
}

.section-floating-links{
  display:flex;
  align-items:center;
  gap:5px;
  overflow-x:auto;
  scrollbar-width:none;
}
.section-floating-links::-webkit-scrollbar{display:none}

.section-float-btn{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  padding:0 13px;
  border-radius:999px;
  color:#fff !important;
  background:rgba(255,255,255,.09);
  border:1px solid rgba(255,255,255,.10);
  font-size:.65rem;
  font-weight:850;
  white-space:nowrap;
  text-decoration:none !important;
  transition:.2s ease;
}
.section-float-btn:hover,
.section-float-btn:focus,
.section-float-btn.is-active{
  color:#fff !important;
  background:linear-gradient(135deg,#8f0918,#c31831);
  border-color:rgba(255,255,255,.18);
  transform:translateY(-1px);
}

/* Keep existing Home / Prev / Next visible and above the new section nav */
.floating-page-nav{
  z-index:3200 !important;
}

/* Activities-only navigation under header */
.activity-top-nav{
  position:relative;
  z-index:500;
  width:100%;
  background:#f1f2f4;
  border-bottom:1px solid #dfe2e6;
  box-shadow:0 6px 18px rgba(19,23,29,.06);
}
.activity-top-nav-inner{
  min-height:66px;
  display:flex;
  align-items:center;
  gap:16px;
}
.activity-top-label{
  flex:0 0 auto;
  color:#8f0918;
  font-size:.68rem;
  font-weight:950;
  letter-spacing:.10em;
  text-transform:uppercase;
}
.activity-top-links{
  flex:1 1 auto;
  display:flex;
  align-items:center;
  gap:7px;
  overflow-x:auto;
  padding:8px 0;
  scrollbar-width:thin;
}
.activity-top-links a{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  padding:0 14px;
  border-radius:999px;
  color:#fff !important;
  background:linear-gradient(135deg,#8f0918,#bd142c);
  box-shadow:0 6px 16px rgba(143,9,24,.14);
  font-size:.68rem;
  font-weight:850;
  text-decoration:none !important;
  white-space:nowrap;
  transition:.2s ease;
}
.activity-top-links a:hover,
.activity-top-links a:focus,
.activity-top-links a.is-active{
  color:#fff !important;
  background:linear-gradient(135deg,#ad0e24,#dc2741);
  transform:translateY(-1px);
  box-shadow:0 9px 20px rgba(143,9,24,.22);
}

/* Tablet/mobile: compact expandable section menu */
@media(max-width:900px){
  section[id]{
    scroll-margin-top:150px;
  }
  .section-floating-nav{
    left:10px;
    bottom:12px;
    transform:none;
    max-width:calc(100vw - 88px);
    padding:5px;
    border-radius:20px;
  }
  .section-nav-toggle{
    display:flex;
  }
  .section-floating-links{
    display:none;
    max-width:calc(100vw - 170px);
    padding-right:3px;
  }
  .section-floating-nav.open .section-floating-links{
    display:flex;
  }
  .section-float-btn{
    min-height:40px;
    padding:0 12px;
    font-size:.64rem;
  }

  .activity-top-nav-inner{
    min-height:58px;
    align-items:flex-start;
    flex-direction:column;
    gap:3px;
    padding-top:8px;
    padding-bottom:8px;
  }
  .activity-top-links{
    width:100%;
    padding:3px 0;
  }
}

@media(max-width:560px){
  .section-floating-nav{
    max-width:calc(100vw - 78px);
  }
  .section-floating-links{
    max-width:calc(100vw - 150px);
  }
  .activity-top-label{
    font-size:.61rem;
  }
  .activity-top-links a{
    min-height:36px;
    padding:0 12px;
    font-size:.64rem;
  }
}
