
:root{
  --red:#1a6e3c;--red-dark:#145a31;--navy:#1e1816;--navy-2:#2a211d;
  --text:#1e1816;--muted:#6f6964;--line:#e5dfd5;--soft:#fffced;
  --container:1250px;--ease:cubic-bezier(.2,.75,.2,1)
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:"Open Sans",Arial,sans-serif;color:var(--text);background:#fff;-webkit-font-smoothing:antialiased}
a{text-decoration:none;color:inherit}button,input,select{font:inherit}
img{max-width:100%;display:block}
.container{width:min(var(--container),calc(100% - 40px));margin:auto}
.reveal{opacity:0;transform:translateY(32px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.reveal.show{opacity:1;transform:none}

/* ---------- HEADER + FLASH INFO ---------- */

.main-header{
  height:98px;background:#fff;border-bottom:1px solid #e4e4e7;
  position:sticky;top:0;z-index:110;transition:height .35s ease,box-shadow .35s ease
}
.header-inner{height:100%;display:flex;align-items:center}
.logo-panel{
  position:absolute;left:0;top:0;height:98px;width:410px;background:var(--red);z-index:5;
  display:flex;align-items:center;padding-left:max(calc((100vw - var(--container))/2),30px);
  transition:height .35s ease,width .35s ease
}
.logo-panel:after{
  content:"";position:absolute;right:-29px;top:0;width:0;height:0;
  border-top:49px solid transparent;border-bottom:49px solid transparent;border-left:29px solid var(--red);
  filter:drop-shadow(7px 0 0 rgba(255,255,255,.96))
}
.logo{
  color:#fff;display:flex;align-items:center;gap:10px;
  font:800 29px/1 Montserrat,sans-serif;letter-spacing:-1.2px;white-space:nowrap
}
.logo-mark{
  width:31px;height:34px;position:relative;border:3px solid currentColor;
  clip-path:polygon(50% 0,100% 17%,100% 100%,0 100%,0 17%)
}
.logo-mark:before{content:"";position:absolute;left:8px;top:10px;width:10px;height:15px;border:2px solid currentColor;border-bottom:0}
.logo-mark:after{content:"";position:absolute;left:14px;bottom:0;width:2px;height:15px;background:currentColor}
.nav-wrap{margin-left:410px;width:calc(100% - 410px);height:100%;display:flex;align-items:center;justify-content:flex-end;padding-right:30px}
nav{height:100%;display:flex;align-items:center;gap:39px;font-size:17px;font-weight:600}
nav a{height:100%;display:flex;align-items:center;position:relative;white-space:nowrap}
nav a:hover,nav a.active{color:var(--red)}
nav a.active:after{content:"";position:absolute;left:0;right:0;bottom:13px;height:2px;background:var(--red)}
.nav-actions{display:flex;gap:18px;margin-left:45px}
.btn{
  min-height:49px;border:1px solid #111827;background:#fff;padding:0 31px;
  display:inline-flex;align-items:center;justify-content:center;font-weight:700;cursor:pointer;
  transition:transform .25s var(--ease),box-shadow .25s,background .25s,color .25s
}
.logo-panel{
  background:rgb(232 240 235) !important;
  padding:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}
.logo-panel:after{
  border-left-color:rgb(232 240 235) !important;
}
.logo{
  width:320px !important;
  height:84px !important;
  display:block !important;
  flex:0 0 auto !important;
  line-height:0 !important;
}
.logo img{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  object-position:center center !important;
}
/* Image du hero plus visible : voile beaucoup plus léger */
.hero-slide:after{
  background:linear-gradient(90deg,rgba(20,30,23,.50) 0%,rgba(20,30,23,.38) 36%,rgba(20,30,23,.18) 68%,rgba(20,30,23,.07) 100%) !important;
}
@media(min-width:1161px) and (max-width:1350px){
  .logo-panel{padding:0 !important}
  .logo{width:285px !important;height:75px !important}
}
@media(max-width:1160px){
  .logo-panel{padding:0 !important;justify-content:center !important}
  .logo{width:225px !important;height:60px !important}
}
@media(max-width:820px){
  .logo-panel{width:235px !important}
  .logo{width:215px !important;height:58px !important}
}
@media(max-width:560px){
  .logo-panel{width:205px !important}
  .logo{width:188px !important;height:55px !important}
}
.nav-wrap{margin-left:410px;width:calc(100% - 410px);height:100%;display:flex;align-items:center;justify-content:flex-end;padding-right:30px}
nav{height:100%;display:flex;align-items:center;gap:39px;font-size:17px;font-weight:600}
nav a{height:100%;display:flex;align-items:center;position:relative;white-space:nowrap}
nav a:hover,nav a.active{color:var(--red)}
nav a.active:after{content:"";position:absolute;left:0;right:0;bottom:13px;height:2px;background:var(--red)}
.nav-actions{display:flex;gap:18px;margin-left:45px}
.btn{
  min-height:49px;border:1px solid #111827;background:#fff;padding:0 31px;
  display:inline-flex;align-items:center;justify-content:center;font-weight:700;cursor:pointer;
  transition:transform .25s var(--ease),box-shadow .25s,background .25s,color .25s
}
.btn.red{background:var(--red);border-color:var(--red);color:#fff}
.btn:hover{transform:translateY(-3px);box-shadow:0 12px 25px rgba(20,25,40,.13)}
.menu-toggle{display:none;background:none;border:0;font-size:24px}

/* scrolled header — matches the compact screenshot */
body.scrolled .main-header{height:78px;box-shadow:0 10px 30px rgba(10,15,30,.09)}
body.scrolled .logo-panel{height:78px}
body.scrolled .logo-panel:after{
  border-top-width:39px;border-bottom-width:39px
}
body.scrolled .nav-wrap{margin-left:410px}
body.scrolled nav a.active:after{bottom:9px}


/* ---------- FLASH INFO ---------- */
.flash-bar{
  height:42px;background:#f4efe4;border-bottom:1px solid #e5dfd5;position:relative;z-index:100;
  overflow:hidden;
}
.flash-inner{height:100%;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:18px;position:relative}
.flash-label{display:inline-flex;align-items:center;gap:9px;font:800 10px/1 Montserrat,sans-serif;letter-spacing:1.5px;color:var(--m-green,var(--red));white-space:nowrap}
.flash-dot{width:7px;height:7px;border-radius:50%;background:var(--m-orange,#e07828);box-shadow:0 0 0 5px rgba(224,120,40,.10);animation:flashPulse 1.8s ease-in-out infinite}
.flash-track{position:relative;height:100%;min-width:0}
.flash-item{position:absolute;inset:0;display:flex;align-items:center;font-size:13px;color:#5f5954;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:0;transform:translateY(8px);transition:opacity .45s ease,transform .45s ease}
.flash-item.active{opacity:1;transform:none}
.flash-progress{width:95px;height:2px;background:#ddd4c6;overflow:hidden;border-radius:2px}
.flash-progress span{display:block;width:100%;height:100%;background:var(--m-green,var(--red));transform:scaleX(0);transform-origin:left center}
.flash-progress.run span{animation:flashProgress 4.1s linear forwards}
@keyframes flashPulse{0%,100%{opacity:.55;transform:scale(.9)}50%{opacity:1;transform:scale(1.08)}}
@keyframes flashProgress{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@media(max-width:820px){.flash-bar{height:38px}.flash-inner{grid-template-columns:auto 1fr;gap:12px}.flash-progress{display:none}.flash-item{font-size:12px}}
@media(max-width:560px){.flash-inner{width:calc(100% - 28px)}.flash-label{font-size:9px;letter-spacing:1px}.flash-item{font-size:11px}}

/* ---------- HERO ---------- */
.hero{height:605px;position:relative;overflow:hidden;background:#102a1c}
.hero-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .75s ease,visibility .75s}
.hero-slide.active{opacity:1;visibility:visible}
.hero-slide img{width:100%;height:100%;object-fit:cover;transform:scale(1.04);transition:transform 7s ease}
.hero-slide.active img{transform:scale(1)}
.hero-slide:after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(3,12,25,.88) 0%,rgba(4,15,29,.74) 36%,rgba(4,15,28,.45) 67%,rgba(4,15,28,.26) 100%)
}
.hero-content{height:100%;position:relative;z-index:6;display:flex;align-items:center}
.hero-copy{max-width:710px;color:#fff;padding-top:4px}
.hero-kicker{font-size:15px;letter-spacing:4px;font-weight:800;margin-bottom:15px}
.hero-copy h1{font:800 61px/1.08 Montserrat,sans-serif;letter-spacing:-2.6px;margin:0 0 27px}
.hero-copy h1 span{color:var(--red)}
.hero-copy p{max-width:610px;font-size:17px;line-height:1.75;margin:0 0 30px;color:#fff}
.hero-copy .btn{height:59px}
.hero-lines{
  position:absolute;z-index:5;right:17.5%;top:-3px;width:285px;height:720px;
  pointer-events:none;opacity:.88;filter:drop-shadow(0 0 5px rgba(245,38,46,.14))
}
.hero-lines svg{width:100%;height:100%;overflow:visible}
.hero-lines path{fill:none;stroke:#1a6e3c;stroke-width:1.15;opacity:.82}
.hero-lines path:nth-child(3n){stroke:#e07828;opacity:.72}
.hero-lines .line-core{stroke:#f0d58d;stroke-width:1.7;opacity:.58}
.hero-controls{position:absolute;z-index:8;left:0;right:0;bottom:30px;display:flex;justify-content:space-between;align-items:center}
.hero-arrow{
  width:68px;height:68px;border:0;border-radius:50%;background:#fff;color:#111;
  display:grid;place-items:center;font-size:27px;cursor:pointer;
  box-shadow:0 7px 22px rgba(0,0,0,.14);transition:transform .25s var(--ease)
}
.hero-arrow:hover{transform:scale(1.08)}
.hero-dots{display:flex;gap:8px;position:absolute;left:50%;transform:translateX(-50%)}
.hero-dot{width:28px;height:3px;border:0;background:rgba(255,255,255,.42);cursor:pointer;transition:.3s}
.hero-dot.active{width:52px;background:#fff}
.hero-meta{position:absolute;right:0;bottom:39px;color:#fff;font-size:13px;letter-spacing:2px;opacity:.85}

/* ---------- FLOATING TOOLS ---------- */
.float-tools{position:fixed;left:9px;top:47%;z-index:200;display:grid;gap:9px}
.float-tools button{width:40px;height:40px;border:0;border-radius:50%;background:var(--red);color:#fff;display:grid;place-items:center;font-size:12px;font-weight:800;box-shadow:0 4px 12px rgba(0,0,0,.15);cursor:pointer}
.to-top{position:fixed;right:24px;bottom:26px;z-index:200;color:var(--red);font-size:12px;font-weight:800;writing-mode:vertical-rl;display:flex;align-items:center;gap:8px}
.to-top:before{content:"";width:1px;height:42px;background:var(--red)}

/* ---------- FEATURES ---------- */
.features{position:relative;z-index:20;margin-top:0}
.feature-box{
  background:#fff;box-shadow:0 20px 50px rgba(17,25,39,.10);
  display:grid;grid-template-columns:repeat(4,1fr);padding:48px 38px 47px
}
.feature{padding:0 37px 0 0;margin-right:37px;border-right:1px solid #ededee}
.feature:last-child{border:0;margin:0;padding-right:0}
.round-icon{
  width:76px;height:76px;border-radius:50%;background:var(--red);color:#fff;
  display:grid;place-items:center;font-size:28px;margin-bottom:24px;
  box-shadow:0 9px 22px rgba(241,39,47,.15);transition:transform .35s var(--ease)
}
.feature:hover .round-icon{transform:translateY(-5px) rotate(-4deg)}
.feature h3{font:700 18px/1.35 Montserrat,sans-serif;margin:0 0 17px}
.feature p{font-size:15px;color:var(--muted);line-height:1.75;margin:0}

/* ---------- COMMON ---------- */
.section{padding:111px 0}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:95px;align-items:center}
.photo-wrap{position:relative}
.about-photo{width:100%;height:554px;object-fit:cover}
.experience{
  position:absolute;right:-44px;bottom:90px;width:175px;height:175px;border-radius:50%;
  background:var(--red);color:#fff;display:grid;place-items:center;text-align:center;
  box-shadow:0 0 0 22px rgba(255,255,255,.55);animation:float 4s ease-in-out infinite
}
.experience b{font:800 49px/1 Montserrat}.experience span{display:block;font-size:14px;line-height:1.15;font-weight:700;margin-top:7px}
.kicker{color:var(--red);font-size:15px;font-weight:700;margin-bottom:18px}
.section h2{font:800 40px/1.22 Montserrat,sans-serif;letter-spacing:-1.2px;margin:0 0 23px}
.copy{color:var(--muted);font-size:16px;line-height:1.8;margin:0}
.checks{display:grid;gap:22px;margin:31px 0}
.check{display:grid;grid-template-columns:68px 1fr;gap:18px;align-items:center}
.check-icon{width:61px;height:61px;border-radius:50%;background:rgba(26,110,60,.10);color:var(--red);display:grid;place-items:center;font-size:25px}
.check h3{font:700 19px Montserrat;margin:0 0 5px}.check p{margin:0;color:var(--muted);font-size:15px;line-height:1.65}

/* ---------- SERVICES ---------- */
.services{background:#f5f6f8;position:relative;overflow:hidden}
.services:before{
  content:"";position:absolute;inset:0;
  background:linear-gradient(rgba(246,247,249,.93),rgba(246,247,249,.97)),
  url("https://images.pexels.com/photos/36611201/pexels-photo-36611201.jpeg?auto=compress&cs=tinysrgb&w=2200") center/cover
}
.services:after{content:"";position:absolute;width:360px;height:360px;border:1px solid #e6e7e9;border-radius:50%;right:-170px;top:90px}
.services>.container{position:relative;z-index:2}
.center{text-align:center}.center h2{max-width:650px;margin-left:auto;margin-right:auto}
.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:29px;margin-top:57px}
.service{
  background:#fff;min-height:264px;padding:34px 29px 30px;position:relative;overflow:hidden;
  transition:transform .4s var(--ease),box-shadow .4s
}
.service:before{
  content:"";position:absolute;inset:auto -20px -25px auto;width:100px;height:100px;border:9px solid rgba(245,38,46,.10);border-radius:50%;
  transition:transform .45s var(--ease)
}
.service:after{content:"";position:absolute;left:-100%;bottom:0;width:100%;height:3px;background:var(--red);transition:left .45s var(--ease)}
.service:hover{transform:translateY(-9px);box-shadow:0 22px 45px rgba(11,18,35,.11)}
.service:hover:before{transform:scale(1.3)}.service:hover:after{left:0}
.service-icon{color:var(--red);font-size:30px;margin-bottom:23px}
.service h3{font:700 19px Montserrat;margin:0 0 18px}.service ul{padding:0;margin:0;list-style:none;color:var(--muted);line-height:2.15;font-size:14px}
.service li:before{content:"•";color:var(--red);margin-right:10px}

/* ---------- CALCULATOR ---------- */
.calc{padding-top:106px}
.calc-grid{display:grid;grid-template-columns:1fr 1fr;background:#f7f4ec}
.calc-form{padding:67px 78px}.calc-form h2{font-size:39px;margin-bottom:46px}
.input{width:100%;height:59px;border:1px solid #dddfe4;background:#fff;padding:0 20px;margin-bottom:18px;outline:none;color:#222;transition:border .2s,box-shadow .2s}
.input:focus{border-color:var(--red);box-shadow:0 0 0 3px rgba(245,38,46,.08)}
.calc-buttons{display:flex;gap:18px;margin:10px 0 28px}
.result{min-height:59px;background:#fff;border:1px solid #e1e1e6;padding:0 20px;display:flex;align-items:center;color:#8b8e98}
.calc-photo{min-height:600px;background:url("https://images.pexels.com/photos/14536879/pexels-photo-14536879.jpeg?auto=compress&cs=tinysrgb&w=1300") center/cover}

/* ---------- VIDEO ---------- */
.video{
  height:590px;position:relative;background:url("https://images.pexels.com/photos/3869649/pexels-photo-3869649.jpeg?auto=compress&cs=tinysrgb&w=2200") center/cover;
  display:grid;place-items:center;text-align:center;color:#fff;overflow:hidden
}
.video:after{content:"";position:absolute;inset:0;background:rgba(4,12,24,.63)}
.video-inner{position:relative;z-index:2}.video h2{font:800 39px/1.25 Montserrat;max-width:700px;margin:0 auto 55px}
.play{
  width:96px;height:96px;border-radius:50%;border:0;background:var(--red);color:#fff;font-size:29px;
  display:grid;place-items:center;cursor:pointer;position:relative;box-shadow:0 0 0 1px rgba(255,255,255,.4)
}
.play:before,.play:after{content:"";position:absolute;inset:-18px;border:1px solid rgba(255,255,255,.65);border-radius:50%;animation:pulse 2.2s infinite}
.play:after{inset:-34px;animation-delay:.55s;opacity:.5}
.play:hover{transform:scale(1.06)}

/* ---------- STATS ---------- */
.stats{position:relative;z-index:10;margin-top:-92px}
.stats-grid{display:grid;grid-template-columns:repeat(3,1fr)}
.stat{min-height:180px;padding:48px;display:flex;align-items:center;gap:28px}
.stat:nth-child(1){background:#fff}.stat:nth-child(2){background:var(--navy);color:#fff}.stat:nth-child(3){background:var(--red);color:#fff}
.stat-icon{width:58px;height:58px;border-radius:50%;background:rgba(26,110,60,.10);color:var(--red);display:grid;place-items:center;font-size:24px}
.stat:nth-child(2) .stat-icon,.stat:nth-child(3) .stat-icon{background:rgba(255,255,255,.10);color:#fff}
.stat strong{display:block;font:800 40px/1 Montserrat}.stat span{display:block;font-size:17px;font-weight:700;margin-top:8px}

/* ---------- MOBILE APP ---------- */
.mobile{padding-top:108px}
.mobile-grid{display:grid;grid-template-columns:1fr 1fr;gap:95px;align-items:center}
.phone-stage{height:560px;background:linear-gradient(135deg,#1a6e3c,#145a31);position:relative;display:flex;align-items:center;justify-content:center;overflow:visible}
.phone-stage:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(135deg,transparent 0 26px,rgba(150,0,0,.12) 27px 32px);opacity:.45}
.phone{width:286px;height:570px;background:#fff;border:7px solid #111;border-radius:42px;position:relative;z-index:2;overflow:hidden;box-shadow:0 20px 35px rgba(0,0,0,.25)}
.phone.back{width:250px;height:500px;margin-left:-95px;margin-top:105px;z-index:3}
.phone-head{height:62px;background:var(--red);color:#fff;padding:17px 16px;font-size:10px;font-weight:800}
.balance{padding:22px 18px;font-weight:800}.bars{display:flex;gap:7px;height:80px;align-items:flex-end;padding:0 18px 15px}.bars i{display:block;flex:1;background:#e7dfd3;border-radius:5px 5px 0 0}.bars i:nth-child(1){height:25%}.bars i:nth-child(2){height:45%}.bars i:nth-child(3){height:35%}.bars i:nth-child(4){height:75%;background:var(--red)}.bars i:nth-child(5){height:55%}
.phone-list{padding:0 16px;display:grid;gap:10px}.phone-list div{border:1px solid #e4e5e8;padding:12px;border-radius:6px;font-size:10px;color:#444}
.stores{display:flex;gap:18px;margin-top:40px}.store{background:#1e1816;color:#fff;padding:11px 18px;display:flex;align-items:center;gap:11px;min-width:182px;font-size:10px;font-weight:700}.store b{display:block;font-size:19px;line-height:1.05}

/* ---------- TESTIMONIALS ---------- */
.testimonials{background:#f8f5ee;position:relative;overflow:hidden}
.testimonials:before{content:"";position:absolute;inset:0;background:linear-gradient(rgba(245,245,245,.91),rgba(245,245,245,.97)),url("https://images.pexels.com/photos/16322288/pexels-photo-16322288.jpeg?auto=compress&cs=tinysrgb&w=2200") center/cover}
.testimonials>.container{position:relative;z-index:2}
.test-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:29px;margin-top:70px}
.test{background:#fff;padding:67px 38px 39px;text-align:center;position:relative;transition:transform .35s var(--ease),box-shadow .35s}
.test:hover{transform:translateY(-8px);box-shadow:0 20px 40px rgba(0,0,0,.08)}
.avatar{width:82px;height:82px;border-radius:50%;object-fit:cover;position:absolute;top:-41px;left:50%;transform:translateX(-50%);border:1px solid #ddd}
.test h3{font:700 18px Montserrat;margin:0 0 4px}.role{color:#888;margin-bottom:10px}.test .stars{font-size:17px}.test p{color:#6e7178;line-height:1.75;margin:20px 0 0}

/* ---------- NEWS ---------- */
.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:29px;margin-top:65px}
.news{height:490px;position:relative;overflow:hidden;background:#222}
.news img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}
.news:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.02) 25%,rgba(0,0,0,.82) 100%)}
.news:hover img{transform:scale(1.06)}
.news-body{position:absolute;z-index:2;inset:auto 29px 28px;color:#fff}
.date{display:inline-flex;background:#fff;color:#222;padding:10px 15px;border-radius:24px;font-size:13px;margin-bottom:24px}
.news h3{font:700 22px/1.28 Montserrat;margin:0 0 15px}.meta{font-size:13px;margin-bottom:26px}.read{display:inline-flex;background:#fff;color:var(--red);padding:14px 28px;font-weight:700;transition:.25s}.read:hover{background:var(--red);color:#fff}

/* ---------- SUBSCRIBE + FOOTER ---------- */
.subscribe{background:var(--red);color:#fff;padding:55px 0;position:relative;overflow:hidden}
.subscribe:before{content:"";position:absolute;inset:0;opacity:.12;background:repeating-linear-gradient(135deg,transparent 0 26px,#145a31 27px 34px)}
.sub-grid{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:80px}
.subscribe h2{font:800 39px/1.28 Montserrat;margin:0}
.sub-form{display:flex;gap:18px}.sub-form input{height:59px;flex:1;border:0;background:rgba(255,255,255,.17);padding:0 28px;color:#fff;outline:none}.sub-form input::placeholder{color:#fff}.sub-form button{height:59px;border:0;background:var(--navy);color:#fff;padding:0 35px;font-weight:700;cursor:pointer}
footer{background:var(--navy);color:#fff;padding:107px 0 25px;position:relative;overflow:hidden}
footer:before,footer:after{content:"";position:absolute;width:230px;height:390px;border:2px solid rgba(255,255,255,.06);border-radius:45px;transform:rotate(30deg);top:80px}
footer:before{left:-130px}.footer-grid{display:grid;grid-template-columns:1.25fr .85fr .95fr 1.2fr;gap:65px;position:relative;z-index:2}
footer .logo{font-size:29px;margin-bottom:27px}.footer-grid>div:first-child p{color:#d8dbe4;line-height:1.75;max-width:330px}
.socials{display:flex;gap:18px;margin-top:30px}.social{width:49px;height:49px;border-radius:50%;background:#40352e;display:grid;place-items:center;font-size:18px;transition:.25s}.social:hover{background:var(--red);transform:translateY(-4px)}
footer h3{font:700 18px Montserrat;margin:0 0 27px}footer ul{list-style:none;padding:0;margin:0;display:grid;gap:15px;color:#e4e6ed}footer li{transition:.2s}.footer-grid li:hover{color:#fff;transform:translateX(3px)}
.branch{display:grid;gap:18px}.branch select,.branch input{height:55px;background:transparent;border:1px solid #5a4b42;color:#dfe1e7;padding:0 18px;outline:none}.branch select option{color:#111}.branch .btn{justify-self:start}
.footer-bottom{border-top:1px solid #352b25;margin-top:75px;padding-top:24px;color:#aeb3c0;display:flex;justify-content:space-between;font-size:13px;position:relative;z-index:2}

/* ---------- ANIMATIONS ---------- */
@keyframes pulse{0%{transform:scale(.85);opacity:.9}70%,100%{transform:scale(1.15);opacity:0}}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}

/* ---------- RESPONSIVE ---------- */
@media(max-width:1100px){
  .logo-panel{width:330px}.nav-wrap{margin-left:330px;width:calc(100% - 330px);padding-right:20px}
  nav{gap:22px;font-size:15px}.nav-actions{margin-left:20px}.btn{padding:0 20px}
  .about-grid,.mobile-grid{gap:55px}.service-grid{grid-template-columns:repeat(2,1fr)}
  .feature{padding-right:22px;margin-right:22px}.feature-box{padding-left:25px;padding-right:25px}
}
@media(max-width:820px){
  .main-header{height:78px}.logo-panel{height:78px;width:245px;padding-left:20px}.logo-panel:after{border-top-width:39px;border-bottom-width:39px}
  .nav-wrap{margin-left:245px;width:calc(100% - 245px);justify-content:flex-end}.menu-toggle{display:block}.nav-wrap nav,.nav-actions{display:none}
  .hero{height:650px}.hero-copy h1{font-size:45px}.hero-copy{max-width:650px}.hero-lines{right:2%;opacity:.6}
  .feature-box{grid-template-columns:1fr 1fr;gap:35px}.feature{border-right:0;margin:0;padding:0}
  .about-grid,.mobile-grid{grid-template-columns:1fr}.experience{right:10px}.test-grid,.news-grid{grid-template-columns:1fr}.stats-grid{grid-template-columns:1fr}
  .stats{margin-top:0}.calc-grid{grid-template-columns:1fr}.calc-photo{min-height:420px}.sub-grid{grid-template-columns:1fr;gap:25px}
  .footer-grid{grid-template-columns:1fr 1fr}.footer-bottom{flex-direction:column;gap:10px}
}
@media(max-width:560px){
  .container{width:min(100% - 28px,var(--container))}
  .logo-panel{width:205px}.logo{font-size:22px}.logo-mark{width:25px;height:28px}.nav-wrap{margin-left:205px;width:calc(100% - 205px)}
  .hero{height:610px}.hero-copy h1{font-size:38px;letter-spacing:-1.6px}.hero-copy p{font-size:15px}.hero-lines{right:-35px;width:220px}
  .hero-arrow{width:54px;height:54px}.hero-controls{bottom:22px}.hero-dots{bottom:17px}
  .feature-box{grid-template-columns:1fr;padding:35px 25px}.feature{border-bottom:1px solid #ededee;padding-bottom:25px}.feature:last-child{border-bottom:0;padding-bottom:0}
  .section{padding:78px 0}.section h2{font-size:33px}.about-photo{height:420px}.experience{width:135px;height:135px;right:0;bottom:35px}.experience b{font-size:38px}
  .service-grid{grid-template-columns:1fr}.calc-form{padding:45px 25px}.calc-form h2{font-size:33px}.stores{flex-direction:column}.phone-stage{height:500px}.phone{width:230px;height:460px}.phone.back{width:200px;height:410px;margin-left:-75px;margin-top:80px}
  .sub-form{flex-direction:column}.footer-grid{grid-template-columns:1fr}
}

/* ---------- MUCREFBO refinement layer ---------- */
:root{
  --m-green:#1a6e3c;--m-orange:#e07828;--m-gold:#f0d58d;--m-ink:#1e1816;--m-ivory:#fffced;
}
body{background:var(--m-ivory)}

.top-left a:hover{color:var(--m-gold)}
.top-right i{color:var(--m-orange)}
.logo-panel{background:rgb(232 240 235)}
.logo-panel:after{border-left-color:rgb(232 240 235)}
.hero{background:#102a1c}
.hero-slide:after{background:linear-gradient(90deg,rgba(20,30,23,.68) 0%,rgba(20,30,23,.54) 36%,rgba(20,30,23,.28) 68%,rgba(20,30,23,.12) 100%)}
.hero-copy h1 span{color:var(--m-gold)}
.hero-kicker{color:#fff}
.hero-lines{filter:drop-shadow(0 0 5px rgba(26,110,60,.20))}
.hero-lines path{stroke:var(--m-green)}
.hero-lines path:nth-child(3n){stroke:var(--m-orange)}
.hero-lines .line-core{stroke:var(--m-gold)}
.hero-dot.active{background:var(--m-gold)}
.hero-arrow:hover{background:var(--m-gold)}
.btn.red{background:var(--m-green);border-color:var(--m-green)}
.btn.red:hover{background:var(--m-orange);border-color:var(--m-orange)}
.features{background:var(--m-ivory)}
.feature-box{border-top:4px solid var(--m-green)}
.round-icon{background:rgba(26,110,60,.10);color:var(--m-green)}
.feature:hover .round-icon{background:var(--m-green);color:#fff}
.kicker{color:var(--m-orange)}

.stars{color:var(--m-orange)}
.experience{background:var(--m-green)}
.check-icon{background:rgba(26,110,60,.10);color:var(--m-green)}
.services{background:#f7f4ec}
.service:before{border-color:rgba(26,110,60,.10)}
.service:after{background:var(--m-green)}
.service-icon{color:var(--m-green)}
.service li:before{color:var(--m-orange)}
.service:hover{border-color:rgba(26,110,60,.25)}
.calc{background:var(--m-ivory)}
.calc-grid{background:#f4f0e7}
.calc-form{border-left:5px solid var(--m-green)}
.input:focus{border-color:var(--m-green);box-shadow:0 0 0 3px rgba(26,110,60,.08)}
.calc-photo{background-position:center}
.video:after{background:rgba(19,30,23,.62)}
.play{background:var(--m-orange)}
.stats{background:transparent}
.stat:nth-child(1){background:var(--m-ivory)}
.stat:nth-child(2){background:var(--m-green)}
.stat:nth-child(3){background:var(--m-orange)}
.stat-icon{color:var(--m-green);background:rgba(26,110,60,.10)}
.stat:nth-child(2) .stat-icon,.stat:nth-child(3) .stat-icon{color:#fff}
.mobile{background:var(--m-ivory)}
.phone-stage{background:linear-gradient(135deg,var(--m-green),#0e542d)}
.phone-stage:before{background:repeating-linear-gradient(135deg,transparent 0 26px,rgba(240,213,141,.14) 27px 32px)}
.phone-head{background:var(--m-green)}
.bars i:nth-child(4){background:var(--m-orange)}
.store{background:var(--m-ink)}
.testimonials{background:#f7f4ec}
.testimonials:before{background:linear-gradient(rgba(247,244,236,.91),rgba(247,244,236,.97)),url("https://images.pexels.com/photos/3869649/pexels-photo-3869649.jpeg?auto=compress&cs=tinysrgb&w=2200") center/cover}
.subscribe{background:var(--m-green)}
.subscribe:before{background:repeating-linear-gradient(135deg,transparent 0 26px,rgba(240,213,141,.20) 27px 34px)}
.sub-form button{background:var(--m-ink)}
footer{background:var(--m-ink)}
.social:hover{background:var(--m-orange)}
.branch select,.branch input{border-color:#51453e}
.to-top{color:var(--m-orange)}
.to-top:before{background:var(--m-orange)}
.float-tools button{background:var(--m-green)}
.float-tools button:hover{background:var(--m-orange)}
@media(max-width:560px){
  .logo-panel{background:rgb(232 240 235)}
  .feature-box{border-top-width:3px}
}


/* ---------- FINAL QA / LAYOUT POLISH ---------- */
:root{--header-logo-w:350px;--header-h:98px}
body{overflow-x:hidden}
.logo-panel{width:var(--header-logo-w);height:var(--header-h);padding:0 0 0 max(calc((100vw - var(--container))/2),24px)}
.logo-panel:after{border-left-color:rgb(232 240 235)}
.logo{display:block;width:285px;height:74px;line-height:0;flex:0 0 auto}
.logo img{width:100%;height:100%;object-fit:contain;object-position:left center}
.nav-wrap{margin-left:var(--header-logo-w);width:calc(100% - var(--header-logo-w));padding:0 28px 0 12px;min-width:0}
.nav-wrap nav{gap:18px;font-size:14px;flex:0 1 auto;min-width:0}
.nav-wrap nav a{white-space:nowrap;flex:0 0 auto}
.nav-actions{gap:10px;margin-left:24px;flex:0 0 auto;white-space:nowrap}
.nav-actions .btn{padding:0 16px;min-width:max-content;white-space:nowrap}
.btn{white-space:nowrap;word-break:keep-all;overflow-wrap:normal}
.main-header{overflow:visible}
.header-inner{min-width:0}
.top-left,.top-right{white-space:nowrap}
.hero-slide img,.about-photo,.calc-photo,.news img{object-position:center}
.services:before{background:linear-gradient(rgba(247,244,236,.94),rgba(247,244,236,.98)),url("https://images.pexels.com/photos/36611201/pexels-photo-36611201.jpeg?auto=compress&cs=tinysrgb&w=2200") center/cover}
.mobile-drawer{display:none}
footer .logo{width:250px;height:92px;margin-bottom:18px}
footer .logo img{object-fit:contain;object-position:left center}
/* Never allow the header controls to wrap on standard desktop widths. */
@media(min-width:1161px){
  .nav-wrap nav,.nav-actions{display:flex!important;align-items:center}
  .menu-toggle{display:none!important}
}
@media(min-width:1161px) and (max-width:1350px){
  :root{--header-logo-w:315px}
  .logo-panel{padding-left:24px}
  .logo{width:255px}
  .nav-wrap{padding-right:18px}
  .nav-wrap nav{gap:12px;font-size:12.8px}
  .nav-actions{gap:8px;margin-left:14px}
  .nav-actions .btn{padding:0 12px;font-size:12.5px}
}
@media(max-width:1160px){
  .top-left{gap:18px;font-size:13px}
  .top-right{gap:18px;font-size:13px}
  .main-header{height:78px}
  .logo-panel{height:78px;width:260px;padding-left:22px}
  .logo-panel:after{border-top-width:39px;border-bottom-width:39px}
  .logo{width:218px;height:58px}
  .nav-wrap{margin-left:260px;width:calc(100% - 260px);padding-right:22px}
  .nav-wrap nav,.nav-actions{display:none}
  .menu-toggle{display:grid;place-items:center;margin-left:auto;width:46px;height:46px;border:1px solid rgba(30,24,22,.16);background:#fffced;color:var(--m-ink);cursor:pointer}
  .mobile-drawer{display:block;position:fixed;left:0;right:0;top:78px;z-index:105;background:#fffced;border-top:1px solid #e5dfd5;box-shadow:0 22px 40px rgba(30,24,22,.16);transform:translateY(-18px);opacity:0;visibility:hidden;transition:.28s ease}
  .mobile-drawer.open{transform:none;opacity:1;visibility:visible}
  .mobile-drawer-inner{padding:20px;display:grid;gap:2px}
  .mobile-drawer-inner>a{padding:14px 4px;border-bottom:1px solid #e7dfd3;font:700 14px Montserrat}
  .mobile-drawer-actions{display:flex;gap:10px;padding-top:16px}
  .mobile-drawer-actions .btn{flex:1;white-space:nowrap}
}
@media(max-width:820px){
  .logo-panel{width:235px}
  .nav-wrap{margin-left:235px;width:calc(100% - 235px)}
  .mobile-drawer{top:78px}
}
@media(max-width:560px){
  .logo-panel{width:205px;padding-left:14px}
  .logo{width:180px;height:55px}
  .nav-wrap{margin-left:205px;width:calc(100% - 205px);padding-right:12px}
  .mobile-drawer-actions{flex-direction:row;gap:8px}
  .mobile-drawer-actions .btn{width:auto;flex:1;padding:0 10px;font-size:12px}
  .calc-buttons{gap:8px;flex-wrap:nowrap}
  .calc-buttons .btn{padding:0 12px;font-size:12px;min-width:0}

}


/* ---------- MUCREFBO INTERACTIVE LOCATIONS ---------- */
.locations{background:var(--soft);position:relative;overflow:hidden;padding:112px 0 105px}
.locations:before{content:"";position:absolute;inset:auto -10% -180px;height:420px;background:radial-gradient(ellipse at center,rgba(26,110,60,.13),transparent 68%);pointer-events:none}
.locations-head{display:grid;grid-template-columns:.9fr 1.1fr;gap:60px;align-items:end;margin-bottom:44px;position:relative;z-index:2}
.locations-head h2{font:800 clamp(38px,4.4vw,64px)/1.04 Montserrat;margin:10px 0 0;letter-spacing:-2px;max-width:760px}
.locations-head h2 span{color:var(--m-green)}
.locations-head .copy{max-width:560px;margin:0 0 3px}
.locations-layout{display:grid;grid-template-columns:390px minmax(0,1fr);gap:34px;align-items:stretch;position:relative;z-index:2}
.location-list{background:#fff;border:1px solid rgba(30,24,22,.08);box-shadow:0 20px 55px rgba(30,24,22,.08);padding:24px;border-radius:3px}
.location-summary{display:flex;align-items:center;justify-content:space-between;background:var(--m-green);color:#fff;padding:20px 21px;margin-bottom:18px;border-radius:2px;box-shadow:0 13px 28px rgba(26,110,60,.18)}
.location-summary strong{display:block;font:800 34px/1 Montserrat}.location-summary span{display:block;font-weight:700;font-size:12px;text-transform:uppercase;letter-spacing:1.5px;margin-top:5px}.location-summary i{font-size:29px;color:var(--m-gold)}
.location-item{width:100%;border:1px solid #e9e3d9;background:#fff;display:grid;grid-template-columns:43px 1fr 22px;gap:14px;align-items:center;text-align:left;padding:13px 15px;margin-top:9px;cursor:pointer;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;background-clip:padding-box}
.location-item:hover,.location-item.active{transform:translateX(5px);border-color:rgba(26,110,60,.42);box-shadow:0 10px 24px rgba(30,24,22,.08)}
.location-item .num{width:43px;height:43px;border-radius:50%;display:grid;place-items:center;background:var(--m-green);color:#fff;font:800 14px Montserrat}.location-item:nth-of-type(3) .num,.location-item:nth-of-type(5) .num{background:var(--m-orange)}
.location-item h3{margin:0;font:800 16px Montserrat}.location-item p{margin:3px 0 0;color:var(--m-orange);font-size:12px;font-weight:700}.location-item .arrow{color:var(--m-green);font-size:18px}
.location-contact{margin-top:18px;background:var(--m-gold);padding:17px 16px;display:flex;gap:13px;align-items:center}.location-contact i{font-size:23px;color:var(--m-green)}.location-contact strong{font:800 13px Montserrat}.location-contact span{font-size:11px;display:block;margin-top:2px}.location-contact a{margin-left:auto;white-space:nowrap;font-size:12px;font-weight:800;color:var(--m-green)}
.map-panel{min-height:675px;position:relative;overflow:hidden;background:#efe8d9;border:1px solid rgba(30,24,22,.08);box-shadow:0 24px 70px rgba(30,24,22,.12)}
.map-panel:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,252,237,.2),rgba(255,252,237,0) 48%),linear-gradient(180deg,rgba(255,252,237,.08),rgba(255,252,237,0) 35%,rgba(26,110,60,.08));z-index:1;pointer-events:none}
.map-art{position:absolute;inset:0;background:url('map-hero.png') center center/cover no-repeat;transform:scale(1.05);filter:saturate(.9) contrast(.98);transition:transform .8s ease}.map-panel:hover .map-art{transform:scale(1.075)}
.map-controls{position:absolute;right:18px;top:18px;z-index:5;display:grid;gap:7px}.map-control{width:43px;height:43px;border:0;background:#fff;box-shadow:0 8px 24px rgba(30,24,22,.13);font-size:18px;color:var(--m-ink);cursor:pointer}.map-control:hover{background:var(--m-green);color:#fff}
.map-legend{position:absolute;left:20px;bottom:20px;z-index:5;background:rgba(255,255,255,.94);box-shadow:0 10px 30px rgba(30,24,22,.12);padding:12px 15px;display:flex;gap:17px;flex-wrap:wrap;font-size:11px;font-weight:700}.legend-dot{width:11px;height:11px;border-radius:50%;display:inline-block;margin-right:6px;vertical-align:-1px}.dot-head{background:var(--m-green)}.dot-agency{background:var(--m-orange)}.dot-service{background:var(--m-gold)}
.map-marker{position:absolute;z-index:6;width:54px;height:54px;border-radius:50%;border:4px solid #fff;background:var(--m-orange);color:#fff;display:grid;place-items:center;font:800 13px Montserrat;box-shadow:0 10px 22px rgba(30,24,22,.25);cursor:pointer;transition:transform .25s ease,box-shadow .25s ease}.map-marker:before{content:"";position:absolute;inset:-11px;border:2px solid rgba(240,213,141,.85);border-radius:50%;animation:mapPulse 2.3s infinite}.map-marker.head{background:var(--m-green);width:64px;height:64px;font-size:15px}.map-marker:hover,.map-marker.active{transform:scale(1.12);box-shadow:0 16px 32px rgba(26,110,60,.3)}
.marker-bouafle{left:52%;top:49%}.marker-oume{left:51%;top:66%}.marker-yamoussoukro{left:66%;top:61%}.marker-daloa{left:37%;top:42%}.marker-gagnoa{left:40%;top:71%}
.map-info{position:absolute;z-index:8;right:28px;top:80px;width:min(335px,calc(100% - 56px));background:rgba(255,255,255,.97);box-shadow:0 22px 50px rgba(30,24,22,.2);padding:22px;border-left:4px solid var(--m-green);transform:translateX(120%);opacity:0;transition:transform .45s var(--ease),opacity .35s ease}.map-info.show{transform:none;opacity:1}.map-info .close{position:absolute;right:14px;top:12px;border:0;background:transparent;font-size:18px;cursor:pointer}.map-info .tag{display:inline-flex;padding:6px 9px;background:var(--m-orange);color:#fff;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:1px}.map-info h3{font:800 25px Montserrat;margin:11px 0 5px}.map-info p{font-size:13px;line-height:1.55;margin:7px 0;color:#615b56}.map-info .info-row{display:flex;gap:10px;align-items:flex-start;margin-top:10px;font-size:12px}.map-info .info-row i{color:var(--m-green);width:16px;margin-top:2px}.map-info .info-btn{display:inline-flex;margin-top:16px;background:var(--m-green);color:#fff;padding:12px 15px;font-size:12px;font-weight:800}.map-route{position:absolute;z-index:4;inset:0;pointer-events:none}.map-route svg{width:100%;height:100%}.map-route path{fill:none;stroke:var(--m-orange);stroke-width:2;stroke-dasharray:7 8;opacity:.75;animation:dashRoute 13s linear infinite}
@keyframes mapPulse{0%,100%{transform:scale(.82);opacity:.9}50%{transform:scale(1.15);opacity:.18}}@keyframes dashRoute{to{stroke-dashoffset:-150}}
@media(max-width:1100px){.locations-head{grid-template-columns:1fr;gap:14px}.locations-layout{grid-template-columns:320px minmax(0,1fr)}.map-panel{min-height:620px}.map-info{right:18px;top:60px}}
@media(max-width:820px){.locations{padding:80px 0}.locations-layout{grid-template-columns:1fr}.location-list{order:2}.map-panel{order:1;min-height:610px}.map-info{width:min(320px,calc(100% - 36px));right:18px}.map-legend{right:18px}}
@media(max-width:560px){.locations-head h2{font-size:37px;letter-spacing:-1.3px}.locations-layout{gap:18px}.map-panel{min-height:560px}.map-info{top:20px}.marker-bouafle{left:48%;top:47%}.marker-oume{left:48%;top:66%}.marker-yamoussoukro{left:65%;top:61%}.marker-daloa{left:31%;top:41%}.marker-gagnoa{left:35%;top:70%}.map-marker{width:45px;height:45px}.map-marker.head{width:54px;height:54px}.map-legend{font-size:10px;gap:10px;left:10px;right:10px;bottom:10px}.location-contact{align-items:flex-start}.location-contact a{display:none}}

/* ===== HERO CONTENT VISIBILITY / POLISH ===== */
.hero-slide{
  isolation:isolate;
}
.hero-slide.active{
  z-index:2;
}
.hero-slide:not(.active){
  z-index:1;
}
.hero-slide:after{
  z-index:1 !important;
}
.hero-content{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  z-index:10 !important;
  display:flex !important;
  align-items:center !important;
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:none;
}
.hero-copy{
  position:relative !important;
  z-index:11 !important;
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  max-width:690px !important;
  color:#fff !important;
  pointer-events:auto;
  transform:none;
  text-shadow:0 2px 12px rgba(0,0,0,.16);
}
.hero-copy .hero-kicker,
.hero-copy h1,
.hero-copy p,
.hero-copy .btn{
  position:relative;
  z-index:12;
  visibility:visible !important;
}
.hero-copy .hero-kicker{
  color:#fff !important;
  opacity:1 !important;
  margin-bottom:16px;
}
.hero-copy h1{
  color:#fff !important;
  opacity:1 !important;
  line-height:1.06 !important;
  text-wrap:balance;
}
.hero-copy h1 span{
  color:#f0d58d !important;
}
.hero-copy p{
  color:rgba(255,255,255,.94) !important;
  opacity:1 !important;
  max-width:610px;
}
.hero-copy .btn{
  opacity:1 !important;
  visibility:visible !important;
  text-shadow:none;
  white-space:nowrap;
}
.hero-content.container{
  max-width:1250px;
  margin-left:auto;
  margin-right:auto;
}
.hero-slide.active .hero-copy{
  animation:heroContentIn .85s cubic-bezier(.2,.75,.2,1) both !important;
}
.hero-slide:not(.active) .hero-content{
  pointer-events:none;
}
.hero-copy:before{
  content:"";
  position:absolute;
  left:-24px;
  top:4px;
  width:3px;
  height:62px;
  background:linear-gradient(180deg,#e07828,#f0d58d);
  border-radius:999px;
  opacity:.95;
}
@keyframes heroContentIn{
  from{opacity:0;transform:translateY(26px)}
  to{opacity:1;transform:translateY(0)}
}
@media(max-width:820px){
  .hero-copy{max-width:650px !important}
  .hero-copy:before{left:-14px;height:49px}
}
@media(max-width:560px){
  .hero-copy{max-width:calc(100% - 18px) !important}
  .hero-copy h1{font-size:38px !important}
  .hero-copy p{font-size:15px !important}
  .hero-copy:before{display:none}
}


/* ===== V2 ANIMATION REFINEMENT ===== */

/* Hero: image drift + content stagger */
.hero-slide img{
  transform:scale(1.045);
  transition:transform 7s cubic-bezier(.2,.7,.2,1);
}
.hero-slide.active img{transform:scale(1)}
.hero-slide.active .hero-copy{animation:heroTextReveal .95s cubic-bezier(.18,.7,.2,1) both}
.hero-slide.active .hero-kicker{animation:heroItem .6s .08s both}
.hero-slide.active h1{animation:heroItem .72s .17s both}
.hero-slide.active p{animation:heroItem .72s .28s both}
.hero-slide.active .hero-copy .btn{animation:heroItem .72s .40s both}

/* Living organic lines: visible movement, never static */
.hero-lines{overflow:visible}
.hero-lines path{
  animation:morphPath 4.8s ease-in-out infinite alternate;
  transform-box:fill-box;
  transform-origin:center;
}
.hero-lines path:nth-child(2n){animation-duration:5.8s;animation-delay:-1.1s}
.hero-lines path:nth-child(3n){animation-duration:6.5s;animation-delay:-2.2s}
.hero-lines path:nth-child(5n){animation-duration:7.2s;animation-delay:-3s}

/* Hero controls breathe subtly */
.hero-arrow{animation:arrowFloat 4s ease-in-out infinite}
.hero-arrow:last-child{animation-delay:-2s}
.hero-dot{transition:width .35s cubic-bezier(.2,.75,.2,1),background .35s ease}

/* Feature cards */
.feature-box{overflow:visible}
.feature{
  transition:transform .45s cubic-bezier(.2,.75,.2,1),box-shadow .45s ease;
}
.feature.show{animation:rise .7s cubic-bezier(.2,.75,.2,1) both}
.feature:nth-child(2).show{animation-delay:.08s}
.feature:nth-child(3).show{animation-delay:.16s}
.feature:nth-child(4).show{animation-delay:.24s}
.feature:hover{transform:translateY(-8px)}
.round-icon{transition:transform .4s cubic-bezier(.2,.75,.2,1),box-shadow .4s ease}
.feature:hover .round-icon{transform:translateY(-5px) scale(1.07);box-shadow:0 12px 30px rgba(26,110,60,.25)}

/* About image/card motion */
.photo-wrap{transition:transform .7s cubic-bezier(.2,.75,.2,1)}
.photo-wrap:hover{transform:translateY(-6px)}
.experience{animation:experienceBreathe 4.8s ease-in-out infinite}
.check{transition:transform .35s ease}
.check:hover{transform:translateX(8px)}
.check-icon{transition:transform .35s ease,background .35s ease,color .35s ease}
.check:hover .check-icon{transform:rotate(-8deg) scale(1.08);background:var(--m-green);color:#fff}

/* Services: staggered reveal + moving image on hover */
.service{transition:transform .5s cubic-bezier(.2,.75,.2,1),box-shadow .5s ease}
.service.show{animation:cardReveal .78s cubic-bezier(.2,.75,.2,1) both}
.service:nth-child(2).show{animation-delay:.07s}
.service:nth-child(3).show{animation-delay:.14s}
.service:nth-child(4).show{animation-delay:.21s}
.service:nth-child(5).show{animation-delay:.28s}
.service:nth-child(6).show{animation-delay:.35s}
.service:nth-child(7).show{animation-delay:.42s}
.service:nth-child(8).show{animation-delay:.49s}
.service:hover{transform:translateY(-10px) scale(1.008)}
.service-icon{transition:transform .35s ease}
.service:hover .service-icon{transform:translateY(-5px) rotate(-5deg)}

/* Large media/CTA areas */
.video-inner{animation:softIn 1s .2s cubic-bezier(.2,.75,.2,1) both}
.play{animation:playPulse 2.8s ease-in-out infinite}
.subscribe h2{animation:softFloat 5s ease-in-out infinite}

/* Stats */
.stat{transition:transform .4s cubic-bezier(.2,.75,.2,1),box-shadow .4s}
.stat:hover{transform:translateY(-7px);box-shadow:0 18px 40px rgba(0,0,0,.10)}
.stat strong{transition:transform .4s ease}
.stat:hover strong{transform:translateX(4px)}

/* Phones */
.phone{animation:phoneFloat 5.5s ease-in-out infinite}
.phone.back{animation-delay:-2s}
.phone-stage:after{animation:rotateRing 16s linear infinite}

/* Tests/news/footer */
.test.show,.news.show{animation:cardReveal .8s cubic-bezier(.2,.75,.2,1) both}
.test:nth-child(2).show,.news:nth-child(2).show{animation-delay:.09s}
.test:nth-child(3).show,.news:nth-child(3).show{animation-delay:.18s}
.test:hover,.news:hover{transform:translateY(-8px)}
.social{transition:transform .3s ease,background .3s ease}
.social:hover{transform:translateY(-4px) scale(1.05);background:var(--m-orange)}

/* Scroll-top + floating buttons */
.float-tools button,.to-top{transition:transform .3s ease}
.float-tools button:hover{transform:translateX(5px) scale(1.06)}
.to-top:hover{transform:translateY(-4px)}

/* keyframes */
@keyframes heroTextReveal{
  from{opacity:0;transform:translateY(22px)}
  to{opacity:1;transform:none}
}
@keyframes heroItem{
  from{opacity:0;transform:translateY(13px)}
  to{opacity:1;transform:none}
}
@keyframes morphPath{
  0%{transform:translateX(-7px) skewX(-1deg) scaleY(.985)}
  50%{transform:translateX(2px) skewX(1.8deg) scaleY(1.012)}
  100%{transform:translateX(8px) skewX(-1.2deg) scaleY(.995)}
}
@keyframes arrowFloat{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-4px)}
}
@keyframes rise{
  from{opacity:0;transform:translateY(28px)}
  to{opacity:1;transform:none}
}
@keyframes cardReveal{
  from{opacity:0;transform:translateY(30px) scale(.985)}
  to{opacity:1;transform:none}
}
@keyframes experienceBreathe{
  0%,100%{transform:translateY(0) rotate(0deg)}
  50%{transform:translateY(-8px) rotate(1.5deg)}
}
@keyframes playPulse{
  0%,100%{box-shadow:0 0 0 0 rgba(224,120,40,.28)}
  50%{box-shadow:0 0 0 18px rgba(224,120,40,0)}
}
@keyframes softFloat{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-4px)}
}
@keyframes phoneFloat{
  0%,100%{transform:translateY(0) rotate(-1deg)}
  50%{transform:translateY(-10px) rotate(1deg)}
}
@keyframes rotateRing{to{transform:rotate(360deg)}}
@keyframes softIn{
  from{opacity:0;transform:translateY(30px)}
  to{opacity:1;transform:none}
}

@media(prefers-reduced-motion:reduce){
  .hero-slide.active .hero-copy,.hero-slide.active .hero-kicker,.hero-slide.active h1,
  .hero-slide.active p,.hero-slide.active .hero-copy .btn,.hero-lines path,.hero-arrow,
  .feature.show,.service.show,.test.show,.news.show,.experience,.play,.subscribe h2,
  .phone,.phone.back,.phone-stage:after{animation:none!important}
}


/* Final hero layering guard */
.hero-slide:after{z-index:1}
.hero-slide .hero-content{z-index:8}
.hero-slide .hero-copy{z-index:9;opacity:1!important;visibility:visible!important}
.hero-slide.active .hero-copy *{visibility:visible!important}
.hero-copy h1,.hero-copy p{position:relative;z-index:10}


/* ===== MUCREFBO — INTERNAL PAGES ===== */
.page-hero{min-height:430px;position:relative;display:flex;align-items:end;overflow:hidden;background:#102a1c}
.page-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.92)}
.page-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,30,23,.82),rgba(20,30,23,.48) 52%,rgba(20,30,23,.2))}
.page-hero .container{position:relative;z-index:2;padding:82px 0 72px;color:#fff}
.breadcrumb{font-size:12px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;margin-bottom:22px;color:#f0d58d}
.page-hero h1{font:800 clamp(42px,5.5vw,72px)/1.04 Montserrat;margin:0 0 20px;letter-spacing:-2.5px;max-width:900px}
.page-hero p{font-size:17px;line-height:1.75;max-width:720px;margin:0;color:rgba(255,255,255,.92)}
.internal-section{padding:100px 0}
.internal-section.alt{background:#f7f4ec}
.eyebrow{color:var(--m-orange);font-size:13px;font-weight:800;letter-spacing:2.5px;text-transform:uppercase;margin-bottom:15px}
.lead{font-size:18px;line-height:1.8;color:#5f5a55;max-width:790px}
.prose{color:#5f5a55;font-size:16px;line-height:1.9}
.prose p{margin:0 0 20px}
.editorial-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:82px;align-items:center}
.editorial-grid.reverse>div:first-child{order:2}.editorial-grid.reverse>div:last-child{order:1}
.editorial-image{height:520px;width:100%;object-fit:cover}
.photo-card{position:relative}
.photo-card:after{content:"";position:absolute;left:-18px;bottom:-18px;width:46%;height:46%;border:1px solid var(--m-gold);z-index:-1}
.info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:52px}
.info-card{background:#fff;border:1px solid #e5dfd5;padding:32px;min-height:220px;transition:.35s}
.info-card:hover{transform:translateY(-7px);box-shadow:0 18px 40px rgba(30,24,22,.09);border-color:rgba(26,110,60,.25)}
.info-card .num{font:800 38px Montserrat;color:var(--m-green);margin-bottom:18px}
.info-card i{font-size:27px;color:var(--m-green);margin-bottom:20px}
.info-card h3{font:800 19px Montserrat;margin:0 0 10px}
.info-card p{margin:0;color:#6f6964;line-height:1.7;font-size:14px}
.timeline{position:relative;margin-top:55px;padding-left:42px}
.timeline:before{content:"";position:absolute;left:9px;top:8px;bottom:8px;width:2px;background:#ded6ca}
.timeline-item{position:relative;padding:0 0 46px 28px}
.timeline-item:before{content:"";position:absolute;left:-1px;top:4px;width:20px;height:20px;border-radius:50%;background:var(--m-green);box-shadow:0 0 0 7px #fffced;border:1px solid var(--m-gold)}
.timeline-item:last-child{padding-bottom:0}
.timeline-year{font:800 16px Montserrat;color:var(--m-orange);margin-bottom:7px}
.timeline-item h3{font:800 23px Montserrat;margin:0 0 8px}.timeline-item p{color:#6f6964;line-height:1.7;margin:0;max-width:760px}
.service-detail{display:grid;grid-template-columns:1fr 1fr;gap:0;background:#fff;border:1px solid #e5dfd5;margin-top:45px}
.service-detail .detail-photo{min-height:560px;background-size:cover;background-position:center}
.service-detail .detail-copy{padding:58px}
.service-detail h2{font:800 34px Montserrat;margin:0 0 18px}
.service-detail .detail-copy>p{color:#6f6964;line-height:1.8}
.detail-list{display:grid;gap:14px;margin:28px 0}.detail-list div{display:grid;grid-template-columns:28px 1fr;gap:12px;color:#57514c;font-size:14px;line-height:1.6}.detail-list i{color:var(--m-green);margin-top:3px}
.criteria{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:30px}.criteria div{background:#f7f4ec;padding:22px;border-left:3px solid var(--m-green)}.criteria strong{display:block;font:800 15px Montserrat;margin-bottom:6px}.criteria span{font-size:13px;color:#6f6964;line-height:1.6}
.process{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:50px;position:relative}.process:before{content:"";position:absolute;left:9%;right:9%;top:28px;height:1px;background:#d9d0c2}.process-step{position:relative;text-align:center;padding:0 18px}.process-num{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:var(--m-green);color:#fff;font:800 15px Montserrat;margin:0 auto 20px;position:relative;z-index:2;border:6px solid #fffced}.process-step:nth-child(2) .process-num,.process-step:nth-child(4) .process-num{background:var(--m-orange)}.process-step h3{font:800 16px Montserrat;margin:0 0 8px}.process-step p{font-size:13px;color:#6f6964;line-height:1.6;margin:0}
.doc-box{background:#fff;border:1px solid #e4ddd2;padding:30px;margin-top:30px}.doc-box h3{font:800 19px Montserrat;margin:0 0 17px}.doc-box ul{margin:0;padding:0;list-style:none;display:grid;gap:12px}.doc-box li{display:flex;gap:12px;color:#5f5a55;font-size:14px;line-height:1.6}.doc-box li i{color:var(--m-green)}
.faq-list{display:grid;gap:12px;margin-top:42px}.faq-item{border:1px solid #e5dfd5;background:#fff}.faq-q{width:100%;border:0;background:none;text-align:left;padding:23px 25px;font:800 16px Montserrat;display:flex;justify-content:space-between;align-items:center;cursor:pointer;color:var(--m-ink)}.faq-a{display:none;padding:0 25px 23px;color:#6f6964;line-height:1.75;font-size:14px}.faq-item.open .faq-a{display:block}.faq-item.open .faq-q i{transform:rotate(45deg)}
.member-panel{display:grid;grid-template-columns:.9fr 1.1fr;background:#f4f0e7;margin-top:50px}.member-panel .member-copy{padding:62px}.member-panel .member-visual{min-height:540px;background-size:cover;background-position:center}.member-form{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:28px}.member-form .full{grid-column:1/-1}.field{height:56px;border:1px solid #d9d2c7;background:#fff;padding:0 17px;outline:none;width:100%}.field:focus{border-color:var(--m-green);box-shadow:0 0 0 3px rgba(26,110,60,.08)}textarea.field{height:130px;padding:16px;resize:vertical}.form-note{font-size:12px;color:#7b746d;line-height:1.6;margin-top:14px}
.news-list{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:52px}.news-card{background:#fff;border:1px solid #e5dfd5;overflow:hidden;transition:.35s}.news-card:hover{transform:translateY(-7px);box-shadow:0 20px 45px rgba(30,24,22,.09)}.news-card img{width:100%;height:245px;object-fit:cover}.news-card-body{padding:26px}.news-tag{font-size:11px;font-weight:800;letter-spacing:1.5px;color:var(--m-orange);text-transform:uppercase}.news-card h3{font:800 20px/1.35 Montserrat;margin:12px 0}.news-card p{color:#6f6964;font-size:14px;line-height:1.7;margin:0 0 18px}.news-card a{font-weight:800;color:var(--m-green);font-size:13px}
.article{max-width:900px;margin:auto}.article-cover{width:100%;height:480px;object-fit:cover;margin:35px 0 40px}.article-meta{color:var(--m-orange);font-size:12px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase}.article h1{font:800 clamp(38px,5vw,62px)/1.08 Montserrat;margin:12px 0 22px;letter-spacing:-2px}.article-body{font-size:17px;line-height:1.9;color:#5e5954}.article-body h2{font:800 27px Montserrat;color:var(--m-ink);margin:38px 0 14px}.article-body p{margin:0 0 22px}
.impact-hero{background:#1e1816;color:#fff;padding:80px 0}.impact-grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:45px}.impact-stat{padding:38px 30px;border-right:1px solid rgba(255,255,255,.12)}.impact-stat:last-child{border:0}.impact-stat strong{font:800 48px Montserrat;color:var(--m-gold);display:block}.impact-stat span{font-size:13px;color:#e7e0d8;line-height:1.5;display:block;margin-top:8px}
.org-chart{margin-top:55px}.org-root{width:min(390px,100%);margin:0 auto;background:var(--m-green);color:#fff;padding:25px;text-align:center;position:relative}.org-root h3,.org-node h3{font:800 18px Montserrat;margin:0 0 6px}.org-root p,.org-node p{font-size:12px;line-height:1.5;margin:0;opacity:.9}.org-line{height:45px;width:2px;background:#d5cbbd;margin:auto}.org-branches{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.org-branches:before{content:"";position:absolute;left:12.5%;right:12.5%;top:0;height:2px;background:#d5cbbd}.org-node{background:#fff;border:1px solid #e3dbcf;padding:24px 18px;text-align:center;position:relative;margin-top:1px;box-shadow:0 14px 35px rgba(30,24,22,.06)}.org-node:before{content:"";position:absolute;top:-20px;left:50%;width:2px;height:20px;background:#d5cbbd}.org-node:nth-child(2n) h3{color:var(--m-orange)}.org-node h3{color:var(--m-green)}
.location-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:50px}.location-card{background:#fff;border:1px solid #e4ddd2;padding:30px}.location-card h3{font:800 23px Montserrat;margin:0 0 8px}.location-card .place{color:var(--m-orange);font-weight:800;font-size:12px;letter-spacing:1px;text-transform:uppercase}.location-card p{color:#6f6964;line-height:1.7;font-size:14px}.location-card ul{padding:0;list-style:none;display:grid;gap:10px;margin:20px 0 0}.location-card li{font-size:13px;color:#5f5a55}.location-card i{color:var(--m-green);width:20px}
.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:35px}.contact-info{background:var(--m-green);color:#fff;padding:50px}.contact-info h2{font:800 34px Montserrat;margin:0 0 18px}.contact-info p{color:rgba(255,255,255,.85);line-height:1.75}.contact-row{display:flex;gap:14px;margin-top:28px}.contact-row i{color:var(--m-gold);font-size:19px;width:22px}.contact-row strong{display:block;font:800 13px Montserrat}.contact-row span{display:block;font-size:13px;line-height:1.5;margin-top:3px;color:#eef3ed}.contact-form{border:1px solid #e4ddd2;padding:48px;background:#fff}.contact-form h2{font:800 30px Montserrat;margin:0 0 22px}.contact-form .member-form{margin-top:0}
.legal{max-width:900px;margin:auto}.legal h2{font:800 27px Montserrat;margin:35px 0 12px}.legal p,.legal li{color:#6f6964;line-height:1.8;font-size:15px}.legal ul{padding-left:20px}
@media(max-width:900px){.editorial-grid,.service-detail,.member-panel,.contact-grid,.location-detail-grid{grid-template-columns:1fr}.editorial-grid.reverse>div:first-child,.editorial-grid.reverse>div:last-child{order:initial}.info-grid,.news-list{grid-template-columns:1fr 1fr}.process{grid-template-columns:1fr 1fr;gap:35px}.process:before{display:none}.impact-grid{grid-template-columns:1fr 1fr}.org-branches{grid-template-columns:1fr 1fr}.service-detail .detail-photo{min-height:380px}}
@media(max-width:560px){.internal-section{padding:72px 0}.page-hero .container{padding:70px 0 55px}.page-hero h1{font-size:41px}.info-grid,.news-list,.criteria,.impact-grid,.org-branches{grid-template-columns:1fr}.process{grid-template-columns:1fr}.member-form{grid-template-columns:1fr}.member-form .full{grid-column:auto}.editorial-image{height:390px}.article-cover{height:320px}.contact-form,.contact-info,.member-panel .member-copy{padding:30px 22px}}


/* ================================================================
   MUCREFBO — INTERNAL PAGES / EDITORIAL REFINEMENT
   Direction: sober, premium, coordinated. Two brand accents only:
   MUCREFBO green + deep ink. Neutrals remain white / warm grey.
   ================================================================ */
:root{
  --m-green:#1a6e3c;
  --m-green-dark:#12562f;
  --m-ink:#1e1816;
  --m-paper:#fbfaf7;
  --m-line:#e7e2da;
  --m-muted:#6f6964;
  --m-orange:var(--m-green);
  --m-gold:var(--m-green);
  --m-ivory:#f5f3ee;
}

/* Page hero: no breadcrumb, no decorative colour soup. */
.page-hero{
  min-height:500px;
  align-items:flex-end;
  background:var(--m-ink);
}
.page-hero img{filter:saturate(.78) contrast(1.02);transform:scale(1.015);transition:transform 1.1s var(--ease)}
.page-hero:hover img{transform:scale(1.045)}
.page-hero:after{
  background:linear-gradient(90deg,rgba(18,22,19,.90) 0%,rgba(18,22,19,.68) 48%,rgba(18,22,19,.34) 100%);
}
.page-hero .container{padding:100px 0 70px}
.page-hero .eyebrow{display:inline-flex;align-items:center;gap:12px;color:#fff!important;margin-bottom:20px}
.page-hero .eyebrow:before{content:"";width:34px;height:2px;background:var(--m-green)}
.page-hero h1{max-width:920px;font-size:clamp(43px,5.2vw,70px);letter-spacing:-2.8px;margin-bottom:18px}
.page-hero p{max-width:680px;color:rgba(255,255,255,.86)}

/* Calm section rhythm */
.internal-section{padding:104px 0;background:#fff;position:relative;overflow:hidden}
.internal-section.alt{background:var(--m-paper)}
.internal-section+.internal-section{border-top:1px solid rgba(30,24,22,.045)}
.internal-section .container{position:relative;z-index:2}
.internal-section:before{content:"";position:absolute;width:420px;height:420px;border:1px solid rgba(26,110,60,.055);border-radius:50%;right:-250px;top:-180px;pointer-events:none}
.eyebrow{color:var(--m-green)!important}
.lead{color:#5f5a55}

/* Editorial blocks feel like a designed publication rather than a grid of AI cards. */
.editorial-grid{gap:88px}
.editorial-image{height:540px;filter:saturate(.88);transition:transform .8s var(--ease),filter .8s}
.photo-card{isolation:isolate}
.photo-card:before{content:"";position:absolute;inset:18px -18px -18px 18px;border:1px solid rgba(26,110,60,.18);z-index:-1;transition:transform .7s var(--ease)}
.photo-card:after{left:-18px;bottom:-18px;width:0;height:0;border:0;background:var(--m-green);z-index:-1}
.photo-card:hover:before{transform:translate(8px,8px)}
.photo-card:hover .editorial-image{transform:scale(1.018);filter:saturate(1)}

/* Replace multi-colour accents by one controlled green system. */
.info-card,.news-card,.location-card,.doc-box,.faq-item,.contact-form,.service-detail{border-color:var(--m-line)}
.info-card{min-height:248px;padding:34px 32px;position:relative;overflow:hidden;background:#fff;box-shadow:0 8px 25px rgba(30,24,22,.025)}
.info-card:before{content:"";position:absolute;left:0;top:0;width:3px;height:0;background:var(--m-green);transition:height .45s var(--ease)}
.info-card:hover:before{height:100%}
.info-card:hover{transform:translateY(-8px);box-shadow:0 24px 50px rgba(30,24,22,.09);border-color:rgba(26,110,60,.22)}
.info-card i{color:var(--m-green);font-size:25px}
.info-card h3{letter-spacing:-.3px}
.info-card p{font-size:14px}

/* Service detail pages */
.service-detail{box-shadow:0 20px 55px rgba(30,24,22,.055);overflow:hidden;margin-top:48px}
.service-detail .detail-photo{min-height:590px;filter:saturate(.86)}
.service-detail .detail-copy{padding:64px 62px}
.service-detail h2{letter-spacing:-.8px}
.detail-list div{grid-template-columns:26px 1fr}
.detail-list i,.doc-box li i{color:var(--m-green)}
.criteria div{background:var(--m-paper);border-left:3px solid var(--m-green)}
.doc-box{background:var(--m-paper);border-color:transparent;box-shadow:0 12px 35px rgba(30,24,22,.045)}

/* Process: one continuous visual line, restrained and animated. */
.process{margin-top:58px}
.process:before{background:rgba(26,110,60,.18)}
.process-num,.process-step:nth-child(2) .process-num,.process-step:nth-child(4) .process-num{background:var(--m-green);border-color:#fff}
.process-step{transition:transform .45s var(--ease)}
.process-step:hover{transform:translateY(-6px)}
.process-step h3{color:var(--m-ink)}

/* Timeline */
.timeline{margin-top:60px}
.timeline:before{background:rgba(26,110,60,.16)}
.timeline-item:before{background:var(--m-green);border-color:#fff;box-shadow:0 0 0 7px #fff}
.timeline-year{color:var(--m-green)}
.timeline-item{transition:transform .45s var(--ease)}
.timeline-item:hover{transform:translateX(7px)}

/* News */
.news-card{box-shadow:0 8px 28px rgba(30,24,22,.035)}
.news-card img{filter:saturate(.84);transition:transform .8s var(--ease),filter .8s}
.news-card:hover img{transform:scale(1.035);filter:saturate(1)}
.news-tag,.article-meta{color:var(--m-green)}
.news-card a{color:var(--m-green)}

/* Article */
.article-cover{filter:saturate(.86)}
.article-body h2{position:relative;padding-left:18px}
.article-body h2:before{content:"";position:absolute;left:0;top:4px;bottom:4px;width:3px;background:var(--m-green)}

/* Impact / governance */
.impact-hero{background:var(--m-ink)}
.impact-stat strong{color:#fff}
.org-root{background:var(--m-green)}
.org-node h3,.org-node:nth-child(2n) h3{color:var(--m-green)}
.location-card .place{color:var(--m-green)}
.location-card i{color:var(--m-green)}

/* Locations: remove gold/orange alternation. */
.location-summary{background:var(--m-green)}
.location-summary i{color:#fff}
.location-item:nth-of-type(3) .num,.location-item:nth-of-type(5) .num{background:var(--m-green)}
.location-item p{color:var(--m-green)}
.location-contact{background:var(--m-paper)}
.location-contact i,.location-contact a{color:var(--m-green)}
.dot-agency,.dot-service,.map-marker{background:var(--m-green)!important}
.map-control:hover{background:var(--m-green)}

/* Member/contact: one accent and generous editorial spacing. */
.member-panel{background:var(--m-paper);box-shadow:0 18px 50px rgba(30,24,22,.05)}
.member-panel .member-visual{filter:saturate(.84)}
.field:focus{border-color:var(--m-green);box-shadow:0 0 0 3px rgba(26,110,60,.08)}
.contact-info{background:var(--m-ink)}
.contact-row i{color:var(--m-green)}

/* FAQ: cleaner, less boxed-in. */
.faq-list{gap:0;border-top:1px solid var(--m-line)}
.faq-item{border-width:0 0 1px;background:transparent}
.faq-q{padding:25px 5px;background:transparent}
.faq-a{padding:0 42px 25px 5px}
.faq-q i{color:var(--m-green);transition:transform .3s ease}

/* Scroll animation: stronger entrance with subtle stagger, no bouncing. */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .75s var(--ease),transform .75s var(--ease)}
.reveal.show{opacity:1;transform:none}
.info-card:nth-child(2),.news-card:nth-child(2),.location-card:nth-child(2){transition-delay:.07s}
.info-card:nth-child(3),.news-card:nth-child(3),.location-card:nth-child(3){transition-delay:.14s}
.info-card:nth-child(4){transition-delay:.21s}

/* Remove stray brand-colour variation from internal/footer details. */
.to-top{color:var(--m-green)}
.to-top:before{background:var(--m-green)}
.social:hover{background:var(--m-green)}
.float-tools button,.float-tools button:hover{background:var(--m-green)}

@media(max-width:900px){
  .page-hero{min-height:460px}
  .page-hero .container{padding:85px 0 60px}
  .editorial-grid{gap:58px}
  .service-detail .detail-copy{padding:45px 34px}
}
@media(max-width:560px){
  .page-hero{min-height:440px}
  .page-hero .container{padding:72px 0 52px}
  .page-hero h1{font-size:42px;letter-spacing:-1.8px}
  .internal-section{padding:76px 0}
  .editorial-image{height:390px}
  .service-detail .detail-copy{padding:35px 24px}
}

/* =========================================================
   MUCREFBO INTERNAL PAGES — ART DIRECTION V3
   Editorial / institutional / contemporary
   ========================================================= */
:root{
  --m-green:#1a6e3c;
  --m-ink:#1e1816;
  --m-paper:#f4f1ea;
  --m-line:#ddd8cf;
  --m-white:#fff;
}

/* Internal pages use only the green + deep ink brand accents. */
.page-hero{
  min-height:560px;
  align-items:flex-end;
  background:var(--m-ink);
  isolation:isolate;
}
.page-hero img{
  filter:saturate(.72) contrast(1.05);
  transform:scale(1.035);
  transition:transform 1.4s cubic-bezier(.2,.75,.2,1),filter 1s ease;
}
.page-hero:hover img{transform:scale(1.07);filter:saturate(.84) contrast(1.06)}
.page-hero:after{
  background:linear-gradient(180deg,rgba(18,24,20,.08) 18%,rgba(18,24,20,.28) 48%,rgba(18,24,20,.91) 100%);
}
.page-hero .container{
  width:min(1250px,calc(100% - 40px));
  padding:0 0 70px;
}
/* The internal banner deliberately contains only the page title. */
.page-hero .eyebrow,
.page-hero p,
.page-hero .breadcrumb{display:none!important}
.page-hero h1{
  max-width:960px;
  margin:0;
  color:#fff;
  font-size:clamp(48px,6.2vw,86px);
  line-height:.98;
  letter-spacing:-4px;
  text-wrap:balance;
  text-shadow:0 12px 38px rgba(0,0,0,.22);
  animation:internalTitleIn 1s .12s both cubic-bezier(.2,.75,.2,1);
}
/* Remove every decorative marker before internal titles. */
.page-hero .eyebrow:before,
.page-hero h1:before,
.article-body h2:before{display:none!important;content:none!important}

@keyframes internalTitleIn{
  from{opacity:0;transform:translateY(30px);filter:blur(4px)}
  to{opacity:1;transform:none;filter:none}
}

.internal-section{
  padding:132px 0;
  position:relative;
  overflow:hidden;
  background:#fff;
  border:0!important;
}
.internal-section.alt{background:var(--m-paper)}
.internal-section:nth-of-type(odd){background:#fff}
.internal-section:nth-of-type(even){background:var(--m-paper)}
.internal-section:before{display:none}
.internal-section:after{
  content:"";
  position:absolute;
  width:480px;height:480px;
  border:1px solid rgba(26,110,60,.055);
  border-radius:50%;
  right:-260px;bottom:-270px;
  pointer-events:none;
  transition:transform 1.4s ease;
}
.internal-section:hover:after{transform:scale(1.08)}
.internal-section>.container{position:relative;z-index:2}

/* Section headings become editorial compositions instead of a stack of cards. */
.internal-section>.container>.eyebrow{
  display:block;
  color:var(--m-green)!important;
  font-size:11px;
  letter-spacing:3px;
  margin:0 0 18px;
}
.internal-section>.container>h2,
.internal-section .container>h2:not(.section){
  max-width:850px;
  font-size:clamp(36px,4.4vw,60px)!important;
  line-height:1.03!important;
  letter-spacing:-2.6px!important;
  margin:0 0 24px!important;
}
.lead{max-width:790px;font-size:18px;line-height:1.85;color:#625d58}

/* Strong first editorial block */
.editorial-grid{
  grid-template-columns:minmax(0,1.08fr) minmax(380px,.92fr);
  gap:100px;
  align-items:center;
}
.editorial-grid.reverse{grid-template-columns:minmax(380px,.92fr) minmax(0,1.08fr)}
.photo-card{position:relative;overflow:visible}
.photo-card:before{
  inset:28px -28px -28px 28px;
  border:1px solid rgba(26,110,60,.24);
  background:transparent;
}
.editorial-image{
  height:610px;
  object-fit:cover;
  filter:saturate(.82) contrast(1.02);
  transition:transform 1s cubic-bezier(.2,.75,.2,1),filter 1s ease;
}
.photo-card:hover .editorial-image{transform:scale(1.025);filter:saturate(.98) contrast(1.02)}

/* Replace generic cards with magazine-like panels. */
.info-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:0;
  margin-top:64px;
  border-top:1px solid var(--m-line);
  border-left:1px solid var(--m-line);
}
.info-card{
  min-height:290px;
  padding:38px 34px 40px;
  border:0!important;
  border-right:1px solid var(--m-line)!important;
  border-bottom:1px solid var(--m-line)!important;
  background:transparent!important;
  box-shadow:none!important;
  transform:none!important;
  position:relative;
  transition:background .45s ease,padding .45s cubic-bezier(.2,.75,.2,1),transform .45s ease!important;
}
.info-card:before{display:none!important}
.info-card:after{
  content:"";position:absolute;left:34px;bottom:0;width:0;height:3px;background:var(--m-green);
  transition:width .45s cubic-bezier(.2,.75,.2,1)
}
.info-card:hover{background:#fff!important;padding-top:31px!important;transform:none!important}
.info-card:hover:after{width:52px}
.info-card i{
  width:50px;height:50px;display:grid;place-items:center;
  color:var(--m-green);font-size:21px;margin:0 0 35px;
  border:1px solid rgba(26,110,60,.25);border-radius:50%;
  transition:transform .5s cubic-bezier(.2,.75,.2,1),background .4s,color .4s;
}
.info-card:hover i{background:var(--m-green);color:#fff;transform:rotate(-8deg) translateY(-3px)}
.info-card h3{font-size:21px!important;letter-spacing:-.5px;margin-bottom:12px}
.info-card p{font-size:15px;line-height:1.75;max-width:350px}

/* Services listing: larger, calmer, more premium. */
.services-grid,.service-grid{gap:18px}
.services-grid .info-card,.service-grid .service{min-height:330px}
.service-grid{
  grid-template-columns:repeat(2,1fr)!important;
  margin-top:64px;
}
.service{
  min-height:330px!important;
  padding:42px 44px!important;
  background:#fff!important;
  border:1px solid var(--m-line);
  box-shadow:none!important;
  transition:transform .55s cubic-bezier(.2,.75,.2,1),box-shadow .55s ease,background .4s ease!important;
}
.service:before{display:none}
.service:after{height:2px;background:var(--m-green);bottom:0}
.service:hover{transform:translateY(-8px)!important;box-shadow:0 28px 60px rgba(30,24,22,.10)!important}
.service-icon{font-size:25px;color:var(--m-green);margin-bottom:55px}
.service h3{font-size:24px;letter-spacing:-.7px}
.service ul{font-size:14px;line-height:2}
.service li:before{content:"";display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--m-green);vertical-align:middle;margin-right:10px}

/* Service detail pages: dramatic image / text split. */
.service-detail{
  display:grid;
  grid-template-columns:1.02fr .98fr;
  margin-top:72px;
  border:0!important;
  box-shadow:0 30px 80px rgba(30,24,22,.10)!important;
}
.service-detail .detail-photo{
  min-height:680px;
  background-position:center;
  filter:saturate(.82);
  position:relative;
}
.service-detail .detail-photo:after{
  content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 60%,rgba(0,0,0,.14));
}
.service-detail .detail-copy{padding:72px 70px;background:#fff}
.service-detail h2{font-size:43px;line-height:1.05;letter-spacing:-1.8px}
.detail-list{margin-top:35px}
.detail-list div{padding:15px 0;border-bottom:1px solid var(--m-line)}
.criteria{margin-top:38px}
.criteria div{background:transparent!important;border-left:0;border-bottom:1px solid var(--m-line);padding:18px 0}
.doc-box{background:var(--m-paper)!important;border:0!important;box-shadow:none!important;padding:34px!important}

/* Process / timeline become a visual journey. */
.process{gap:0;margin-top:75px}
.process-step{padding:0 38px 0 0;position:relative}
.process-num{width:58px;height:58px;background:var(--m-green)!important;border:0!important;font-size:15px;box-shadow:0 0 0 10px rgba(26,110,60,.08)}
.process-step h3{font-size:19px;margin-top:24px}
.process:before{top:29px;background:var(--m-line)!important}
.timeline{max-width:920px;margin:72px auto 0;padding-left:85px}
.timeline:before{left:25px;width:1px;background:var(--m-line)}
.timeline-item{padding:0 0 65px 35px}
.timeline-item:before{left:-10px;width:22px;height:22px;background:#fff;border:5px solid var(--m-green);box-shadow:none}
.timeline-year{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--m-green);margin-bottom:12px}
.timeline-item h3{font-size:28px;letter-spacing:-.7px}
.timeline-item p{font-size:15px;max-width:680px}

/* Governance: turn it into a calm architectural diagram. */
.org-chart{margin-top:75px}
.org-root{max-width:470px;padding:31px 35px;background:var(--m-green);box-shadow:0 25px 50px rgba(26,110,60,.18)}
.org-root h3{font-size:21px}
.org-line{height:60px;background:var(--m-line)}
.org-branches{gap:0;border-top:1px solid var(--m-line)}
.org-branches:before{display:none}
.org-node{margin:0;border:0;border-right:1px solid var(--m-line);border-bottom:1px solid var(--m-line);box-shadow:none!important;padding:34px 24px;background:#fff;min-height:160px}
.org-node:last-child{border-right:0}
.org-node:before{display:none}
.org-node h3{font-size:17px!important;color:var(--m-green)!important}
.org-node p{font-size:13px;color:#6a645e}

/* Impact pages: big editorial figures, not dashboards. */
.impact-grid{gap:0!important;border-top:1px solid var(--m-line);border-left:1px solid var(--m-line);margin-top:58px}
.impact-grid>*{border-right:1px solid var(--m-line);border-bottom:1px solid var(--m-line);padding:45px!important;background:#fff!important}
.impact-stat strong{font-size:54px!important;color:var(--m-green)!important;letter-spacing:-3px}

/* Locations: turn cards into a clean field guide. */
.location-detail-grid{gap:18px}
.location-card{border:1px solid var(--m-line)!important;padding:38px;background:#fff;transition:transform .45s cubic-bezier(.2,.75,.2,1),box-shadow .45s}
.location-card:hover{transform:translateY(-7px);box-shadow:0 25px 50px rgba(30,24,22,.08)}
.location-card .place{font-size:10px;letter-spacing:2px;color:var(--m-green)!important}
.location-card h3{font-size:28px;letter-spacing:-.7px}
.location-card ul{border-top:1px solid var(--m-line);padding-top:18px}

/* Member and contact: immersive rather than generic forms. */
.member-panel{margin-top:65px;background:#fff!important;box-shadow:0 30px 70px rgba(30,24,22,.09)!important}
.member-panel .member-copy{padding:68px}
.member-panel .member-visual{min-height:620px;filter:saturate(.78)}
.member-form{gap:0;border-top:1px solid var(--m-line);border-left:1px solid var(--m-line)}
.member-form .field{height:62px;border:0;border-right:1px solid var(--m-line);border-bottom:1px solid var(--m-line);background:#fff}
.member-form textarea.field{height:145px}
.contact-grid{gap:0;box-shadow:0 30px 70px rgba(30,24,22,.08)}
.contact-info{padding:65px;background:var(--m-green)!important}
.contact-form{padding:65px;border:0!important}

/* FAQ — publication style, no cards. */
.faq-list{margin-top:55px;border-top:1px solid var(--m-line)!important}
.faq-item{border-bottom:1px solid var(--m-line)!important}
.faq-q{padding:29px 0;font-size:18px!important}
.faq-q i{color:var(--m-green);font-size:14px}
.faq-a{padding:0 55px 29px 0;font-size:15px;max-width:820px}

/* News / article: stronger editorial rhythm. */
.news-list,.news-grid{gap:18px}
.news-card{border:1px solid var(--m-line)!important;box-shadow:none!important;background:#fff;transition:transform .55s cubic-bezier(.2,.75,.2,1),box-shadow .55s}
.news-card:hover{transform:translateY(-9px);box-shadow:0 28px 60px rgba(30,24,22,.10)!important}
.news-card img{filter:saturate(.76);transition:transform 1s cubic-bezier(.2,.75,.2,1),filter 1s}
.news-card:hover img{filter:saturate(.95);transform:scale(1.045)}
.news-tag,.article-meta{color:var(--m-green)!important}
.article{max-width:980px}
.article-cover{height:560px;margin:50px 0 58px;filter:saturate(.78);object-fit:cover}
.article-body{max-width:790px;margin:auto;font-size:17px}
.article-body h2{padding:0!important;font-size:32px!important;margin-top:55px!important}

/* Legal pages stay refined without becoming empty. */
.legal{max-width:880px;background:#fff;padding:60px 70px;border:1px solid var(--m-line);box-shadow:0 24px 60px rgba(30,24,22,.06)}
.legal h2{font-size:28px;letter-spacing:-.7px;margin-top:40px}
.legal p,.legal li{font-size:15px;line-height:1.9}

/* Scroll reveal feels intentional. */
.reveal{opacity:0;transform:translateY(42px);transition:opacity .9s cubic-bezier(.2,.75,.2,1),transform .9s cubic-bezier(.2,.75,.2,1)}
.reveal.show{opacity:1;transform:none}
.reveal:nth-child(2){transition-delay:.08s}.reveal:nth-child(3){transition-delay:.16s}.reveal:nth-child(4){transition-delay:.24s}

/* No decorative line / dash before internal titles anywhere. */
.page-hero *:before,.page-hero *:after{ }
.page-hero .eyebrow:before,.page-hero .eyebrow:after,.page-hero h1:before,.page-hero h1:after{content:none!important;display:none!important}

@media(max-width:900px){
  .page-hero{min-height:500px}.page-hero h1{letter-spacing:-2.6px}
  .internal-section{padding:95px 0}
  .editorial-grid,.editorial-grid.reverse{grid-template-columns:1fr;gap:60px}
  .editorial-grid.reverse>div:first-child,.editorial-grid.reverse>div:last-child{order:initial}
  .editorial-image{height:500px}
  .info-grid{grid-template-columns:1fr 1fr}
  .service-grid{grid-template-columns:1fr!important}
  .service-detail{grid-template-columns:1fr}.service-detail .detail-photo{min-height:480px}
  .org-branches{grid-template-columns:1fr 1fr}.org-node:nth-child(2n){border-right:0}
  .impact-grid{grid-template-columns:1fr 1fr}
  .member-panel{grid-template-columns:1fr}.member-panel .member-visual{min-height:450px;order:-1}
  .contact-grid{grid-template-columns:1fr}
}
@media(max-width:560px){
  .page-hero{min-height:430px}.page-hero .container{padding-bottom:48px}.page-hero h1{font-size:43px;letter-spacing:-1.8px}
  .internal-section{padding:78px 0}
  .internal-section>.container>h2,.internal-section .container>h2:not(.section){font-size:37px!important;letter-spacing:-1.6px!important}
  .info-grid,.impact-grid,.org-branches{grid-template-columns:1fr}
  .info-card{min-height:240px}
  .editorial-image{height:390px}.photo-card:before{inset:14px -14px -14px 14px}
  .service{min-height:290px!important;padding:34px 28px!important}.service-icon{margin-bottom:35px}
  .service-detail .detail-copy{padding:38px 27px}.service-detail h2{font-size:36px}
  .timeline{padding-left:48px}.timeline:before{left:14px}.timeline-item{padding-left:24px}
  .org-node{border-right:0}
  .member-panel .member-copy,.contact-info,.contact-form{padding:38px 26px}
  .article-cover{height:350px}.legal{padding:36px 24px}
}


/* =========================================================
   V4 — EDITORIAL SPACING + ABOUT FEATURE
   ========================================================= */
:root{
  --m-green:#1a6e3c;
  --m-ink:#1e1816;
  --m-paper:#f6f3ec;
  --m-line:#e3ddd3;
}

/* The internal pages should breathe, but never leave a dead vertical gap. */
.internal-section{
  padding:82px 0 88px;
  position:relative;
  overflow:hidden;
}
.internal-section + .internal-section{padding-top:76px}
.internal-section>.container> .eyebrow{
  margin-bottom:14px;
}
.internal-section>.container>h2,
.internal-section .container>h2:not(.section){
  margin-top:0!important;
  margin-bottom:18px!important;
}
.internal-section .lead{margin-top:0;line-height:1.8}
.internal-section .prose{line-height:1.8}
.internal-section .info-grid,
.internal-section .news-list,
.internal-section .faq-list,
.internal-section .timeline,
.internal-section .org-chart{margin-top:42px}

/* Keep each section visually occupied from its first line. */
.internal-section .container{position:relative}
.internal-section .container>.eyebrow:first-child + h2{margin-top:0!important}
.internal-section .container>.eyebrow:first-child + p{margin-top:0}

/* ABOUT — inspired by the supplied editorial reference: ghost type,
   compact left editorial column, collage on the right and a grounded bottom row. */
.about-feature{background:#fff!important;padding:62px 0 76px}
.about-feature:before{display:none!important}
.about-feature-grid{
  display:grid;
  grid-template-columns:minmax(0,1.04fr) minmax(430px,.96fr);
  gap:72px;
  align-items:center;
}
.about-feature-copy{position:relative;padding-top:7px}
.about-ghost{
  position:absolute;
  left:-6px;
  top:-76px;
  font:800 clamp(74px,8vw,132px)/.9 Montserrat,sans-serif;
  letter-spacing:-6px;
  color:transparent;
  -webkit-text-stroke:1px rgba(30,24,22,.08);
  white-space:nowrap;
  pointer-events:none;
  user-select:none;
}
.about-feature-copy .eyebrow{position:relative;z-index:1;color:var(--m-green);font-size:13px;font-weight:800;letter-spacing:.2px;margin-bottom:12px}
.about-feature-copy h2{
  position:relative;z-index:1;
  max-width:690px;
  font:800 clamp(38px,4.1vw,58px)/1.08 Montserrat,sans-serif;
  letter-spacing:-2.1px;
  margin:0 0 24px!important;
}
.about-feature-copy .lead{max-width:690px;color:#6b665f;font-size:16px;line-height:1.82}
.about-check-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  column-gap:38px;
  row-gap:15px;
  margin:29px 0 30px;
  max-width:690px;
}
.about-check{display:flex;align-items:center;gap:12px;font-size:14px;color:var(--m-ink)}
.about-check span{
  width:21px;height:21px;border-radius:50%;display:grid;place-items:center;
  background:var(--m-green);color:#fff;font-size:12px;font-weight:800;flex:0 0 21px
}
.about-check strong{font:700 14px/1.35 Open Sans,Arial,sans-serif}
.about-feature-bottom{
  display:flex;align-items:center;gap:30px;
  padding-top:22px;border-top:1px solid var(--m-line);max-width:690px;
}
.about-signature{display:flex;align-items:center;gap:12px;min-width:190px}
.about-signature-mark{
  width:42px;height:42px;border-radius:50%;display:grid;place-items:center;
  background:var(--m-green);color:#fff;font:800 18px Montserrat
}
.about-signature strong{display:block;font:800 14px Montserrat}
.about-signature small{display:block;color:#77716a;font-size:11px;margin-top:3px}
.about-callout{padding-left:28px;border-left:1px solid var(--m-line)}
.about-callout span{display:block;color:#7b756d;font-size:11px;text-transform:uppercase;letter-spacing:1.3px;margin-bottom:5px}
.about-callout strong{display:block;font:700 13px/1.5 Montserrat;color:var(--m-ink)}
.about-feature-visual{position:relative;min-height:555px;padding:0 12px 28px 0}
.about-main-photo{height:505px;margin-left:84px;overflow:hidden;position:relative}
.about-main-photo img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--ease),filter 1.1s ease;filter:saturate(.82)}
.about-feature-visual:hover .about-main-photo img{transform:scale(1.045);filter:saturate(.96)}
.about-small-photo{
  position:absolute;left:0;top:83px;width:180px;height:215px;
  overflow:hidden;border:8px solid #fff;box-shadow:0 18px 42px rgba(30,24,22,.14)
}
.about-small-photo img{width:100%;height:100%;object-fit:cover;filter:saturate(.78);transition:transform .9s var(--ease)}
.about-feature-visual:hover .about-small-photo img{transform:scale(1.05)}
.about-badge{
  position:absolute;left:42px;bottom:0;width:270px;min-height:118px;
  background:var(--m-green);color:#fff;padding:23px 27px;
  box-shadow:0 20px 42px rgba(26,110,60,.22);
  display:flex;flex-direction:column;justify-content:center;
}
.about-badge strong{font:800 27px/1 Montserrat;letter-spacing:-.8px}
.about-badge span{font-size:12px;line-height:1.5;margin-top:8px;color:rgba(255,255,255,.88)}

/* A little more visual rhythm in every internal page, without adding colour. */
.service-detail{margin-top:48px!important}
.process{margin-top:48px!important}
.impact-grid{margin-top:42px!important}
.location-detail-grid{margin-top:42px!important}
.member-panel{margin-top:48px!important}
.contact-grid{margin-top:42px!important}
.legal{margin-top:0}

/* Avoid the template-like giant empty tops on compact screens too. */
@media(max-width:900px){
  .internal-section{padding:68px 0 72px}
  .internal-section + .internal-section{padding-top:64px}
  .about-feature{padding:55px 0 64px}
  .about-feature-grid{grid-template-columns:1fr;gap:50px}
  .about-ghost{top:-55px;font-size:88px}
  .about-feature-visual{min-height:520px}
}
@media(max-width:560px){
  .internal-section{padding:56px 0 62px}
  .internal-section + .internal-section{padding-top:54px}
  .about-feature{padding:45px 0 55px}
  .about-feature-copy h2{font-size:36px!important;letter-spacing:-1.5px}
  .about-ghost{top:-40px;font-size:64px;letter-spacing:-3px}
  .about-check-grid{grid-template-columns:1fr;gap:13px}
  .about-feature-bottom{align-items:flex-start;flex-direction:column;gap:18px}
  .about-callout{padding-left:0;border-left:0;border-top:1px solid var(--m-line);padding-top:16px;width:100%}
  .about-feature-visual{min-height:420px;padding-right:0}
  .about-main-photo{height:370px;margin-left:44px}
  .about-small-photo{width:125px;height:165px;top:55px}
  .about-badge{left:18px;bottom:0;width:215px;min-height:95px;padding:18px}
  .about-badge strong{font-size:22px}
}

/* Never draw a dash, line or marker before internal page titles. */
.page-hero h1:before,.page-hero h1:after,
.internal-section h2:before,.internal-section h2:after,
.internal-section .eyebrow:before,.internal-section .eyebrow:after{content:none!important;display:none!important}

/* Internal pages: keep the palette deliberately restrained — green + deep ink only. */
body:has(.page-hero) .timeline-year,
body:has(.page-hero) .news-tag,
body:has(.page-hero) .article-meta,
body:has(.page-hero) .location-item p,
body:has(.page-hero) .place,
body:has(.page-hero) .criteria strong,
body:has(.page-hero) .doc-box strong{color:var(--m-green)!important}
body:has(.page-hero) .location-item:nth-of-type(3) .num,
body:has(.page-hero) .location-item:nth-of-type(5) .num{background:var(--m-green)!important}
body:has(.page-hero) .contact-row i{color:var(--m-green)!important}
body:has(.page-hero) .contact-info{background:var(--m-green)!important}
body:has(.page-hero) .page-hero .eyebrow{color:#fff!important}

/* Internal section rhythm: heading, content and media should feel connected, not separated. */
body:has(.page-hero) .internal-section .container > .eyebrow + h2{margin-bottom:16px!important}
body:has(.page-hero) .internal-section .container > h2 + p{margin-top:0!important}
body:has(.page-hero) .internal-section .container > .lead + .info-grid{margin-top:34px!important}
body:has(.page-hero) .internal-section .container > h2 + .info-grid{margin-top:34px!important}
body:has(.page-hero) .internal-section .container > .eyebrow + .lead{margin-bottom:0!important}

@media(max-width:900px){
  body:has(.page-hero) .internal-section .container > .eyebrow + h2{margin-bottom:14px!important}
}

/* ================================================================
   V5 — RYTHME VERTICAL GLOBAL / SUPPRESSION DES ESPACES MORTS
   Le contenu doit commencer rapidement après l'entrée de section.
   ================================================================ */
body:has(.page-hero) .internal-section{
  padding-top:58px !important;
  padding-bottom:58px !important;
}
body:has(.page-hero) .internal-section + .internal-section{
  padding-top:50px !important;
}

/* Les compositions éditoriales conservent leur densité sans créer
   de vide artificiel au-dessus ou sous le contenu. */
body:has(.page-hero) .about-feature{
  padding-top:50px !important;
  padding-bottom:58px !important;
}
body:has(.page-hero) .internal-section > .container > .eyebrow{
  margin-top:0 !important;
}
body:has(.page-hero) .internal-section .info-grid,
body:has(.page-hero) .internal-section .news-list,
body:has(.page-hero) .internal-section .faq-list,
body:has(.page-hero) .internal-section .timeline,
body:has(.page-hero) .internal-section .org-chart{
  margin-top:34px !important;
}
body:has(.page-hero) .internal-section .service-detail{
  margin-top:38px !important;
}
body:has(.page-hero) .internal-section .process{
  margin-top:38px !important;
}
body:has(.page-hero) .internal-section .impact-grid,
body:has(.page-hero) .internal-section .location-detail-grid,
body:has(.page-hero) .internal-section .member-panel,
body:has(.page-hero) .internal-section .contact-grid{
  margin-top:34px !important;
}

/* Évite qu'un titre avec peu de contenu donne l'impression d'une
   nouvelle page séparée : le titre reste visuellement accroché au contenu. */
body:has(.page-hero) .internal-section .container > h2:not(.section){
  margin-bottom:14px !important;
}
body:has(.page-hero) .internal-section .container > .lead{
  margin-bottom:0 !important;
}

@media(max-width:900px){
  body:has(.page-hero) .internal-section{
    padding-top:48px !important;
    padding-bottom:54px !important;
  }
  body:has(.page-hero) .internal-section + .internal-section{
    padding-top:44px !important;
  }
  body:has(.page-hero) .about-feature{
    padding-top:44px !important;
    padding-bottom:54px !important;
  }
}

@media(max-width:560px){
  body:has(.page-hero) .internal-section{
    padding-top:40px !important;
    padding-bottom:46px !important;
  }
  body:has(.page-hero) .internal-section + .internal-section{
    padding-top:38px !important;
  }
  body:has(.page-hero) .about-feature{
    padding-top:38px !important;
    padding-bottom:46px !important;
  }
}


/* ================================================================
   FINAL SPACING PASS — MUCREFBO
   The objective is a tighter, more continuous vertical rhythm:
   roughly half the previous empty space before and after sections.
   ================================================================ */
.section{padding-top:56px!important;padding-bottom:56px!important}
.services{padding-top:56px!important;padding-bottom:56px!important}
.news-grid{margin-top:33px!important}
.service-grid{margin-top:30px!important}
.test-grid{margin-top:35px!important}
.calc{padding-top:54px!important;padding-bottom:56px!important}
.mobile{padding-top:54px!important;padding-bottom:56px!important}
.locations{padding-top:56px!important;padding-bottom:53px!important}

/* Internal pages: same compact rhythm, including the space after content. */
.internal-section{padding-top:55px!important;padding-bottom:55px!important}
.internal-section + .internal-section{padding-top:55px!important}
.impact-hero{padding-top:42px!important;padding-bottom:42px!important}
.faq-list{margin-top:30px!important}
.info-grid,.news-list{margin-top:32px!important}
.editorial-grid{gap:60px!important}

@media(max-width:900px){
  .section{padding-top:44px!important;padding-bottom:44px!important}
  .internal-section{padding-top:48px!important;padding-bottom:50px!important}
  .internal-section + .internal-section{padding-top:48px!important}
  .locations{padding-top:48px!important;padding-bottom:46px!important}
}
@media(max-width:560px){
  .section{padding-top:38px!important;padding-bottom:40px!important}
  .internal-section{padding-top:40px!important;padding-bottom:44px!important}
  .internal-section + .internal-section{padding-top:40px!important}
  .locations{padding-top:40px!important;padding-bottom:40px!important}
}


/* ---------- FINAL NAV + MEDIA PAGE ---------- */
@media(min-width:1351px){
  .nav-wrap nav{gap:10px;font-size:13px}
  .nav-actions{gap:8px;margin-left:14px}
  .nav-actions .btn{padding:0 13px;font-size:12.5px}
}
@media(min-width:1161px) and (max-width:1350px){
  .nav-wrap nav{gap:7px;font-size:12.2px}
  .nav-actions{gap:7px;margin-left:10px}
  .nav-actions .btn{padding:0 10px;font-size:12px}
}

/* Médiathèque — editorial gallery, aligned with the MUCREFBO visual language. */
.media-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.72fr);gap:80px;align-items:end;margin-bottom:52px}
.media-intro .lead{margin:0;max-width:540px}
.media-filters{display:flex;gap:8px;flex-wrap:wrap;border-top:1px solid var(--m-line);border-bottom:1px solid var(--m-line);padding:12px 0;margin-bottom:30px}
.media-filter{border:0;background:transparent;padding:11px 14px;color:#6f6964;font:700 12px Montserrat;letter-spacing:.3px;cursor:pointer;transition:color .25s,background .25s,transform .25s}
.media-filter:hover{color:var(--m-green);transform:translateY(-2px)}
.media-filter.active{background:var(--m-green);color:#fff}
.media-gallery{display:grid;grid-template-columns:1.15fr .85fr .85fr;grid-auto-rows:245px;gap:16px}
.media-tile{position:relative;overflow:hidden;background:#ddd;min-height:245px;cursor:pointer}
.media-tile.tall{grid-row:span 2}
.media-tile.wide{grid-column:span 2}
.media-tile img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease),filter .7s ease}
.media-tile:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,30,23,0) 38%,rgba(20,30,23,.82) 100%);opacity:.86;transition:opacity .4s ease}
.media-tile:hover img{transform:scale(1.06);filter:saturate(1.04)}
.media-tile:hover:after{opacity:1}
.media-caption{position:absolute;z-index:2;left:24px;right:24px;bottom:21px;color:#fff;transform:translateY(4px);transition:transform .45s var(--ease)}
.media-tile:hover .media-caption{transform:none}
.media-caption small{display:block;color:#f0d58d;font:800 10px Montserrat;letter-spacing:2px;text-transform:uppercase;margin-bottom:8px}
.media-caption strong{display:block;font:700 20px/1.2 Montserrat;letter-spacing:-.3px}
.media-caption span{display:block;margin-top:7px;font-size:12px;color:rgba(255,255,255,.82)}
.media-empty{display:none;padding:38px;border:1px solid var(--m-line);color:#6f6964;text-align:center}
.media-resources{display:grid;grid-template-columns:.9fr 1.1fr;gap:90px;align-items:start}
.resource-list{border-top:1px solid var(--m-line)}
.resource{display:grid;grid-template-columns:1fr auto;gap:25px;align-items:center;padding:24px 0;border-bottom:1px solid var(--m-line);transition:padding .35s var(--ease),background .35s ease}
.resource:hover{padding-left:14px;padding-right:14px;background:#fff}
.resource h3{font:700 18px Montserrat;margin:0 0 6px}.resource p{margin:0;color:#756f69;font-size:13px;line-height:1.55}
.resource-meta{font:800 10px Montserrat;letter-spacing:1.2px;text-transform:uppercase;color:var(--m-green);white-space:nowrap}
.media-feature{position:relative;min-height:420px;overflow:hidden;background:#173622}
.media-feature img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}
.media-feature:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(18,24,20,.86),rgba(18,24,20,.25) 80%)}
.media-feature:hover img{transform:scale(1.045)}
.media-feature-copy{position:absolute;z-index:2;left:42px;right:42px;bottom:40px;color:#fff;max-width:520px}
.media-feature-copy .eyebrow{color:#f0d58d!important}.media-feature-copy h2{font:800 36px/1.08 Montserrat;letter-spacing:-1.4px;margin:0 0 12px}.media-feature-copy p{font-size:14px;line-height:1.7;color:rgba(255,255,255,.82);margin:0}
.media-note{margin-top:18px;padding:17px 19px;border-left:3px solid var(--m-green);background:#fff;color:#6f6964;font-size:12px;line-height:1.65}
.media-lightbox{position:fixed;inset:0;background:rgba(18,24,20,.88);z-index:500;display:flex;align-items:center;justify-content:center;padding:30px;opacity:0;visibility:hidden;transition:.3s ease}
.media-lightbox.open{opacity:1;visibility:visible}
.media-lightbox img{max-width:min(1180px,94vw);max-height:88vh;object-fit:contain;box-shadow:0 30px 90px rgba(0,0,0,.35)}
.media-lightbox button{position:absolute;right:25px;top:20px;width:46px;height:46px;border:1px solid rgba(255,255,255,.35);background:transparent;color:#fff;font-size:24px;cursor:pointer}
@media(max-width:900px){.media-intro,.media-resources{grid-template-columns:1fr;gap:28px}.media-gallery{grid-template-columns:1fr 1fr;grid-auto-rows:220px}.media-tile.wide{grid-column:span 2}.media-feature{min-height:380px}}
@media(max-width:560px){.media-intro{margin-bottom:34px}.media-gallery{grid-template-columns:1fr;grid-auto-rows:260px}.media-tile.tall,.media-tile.wide{grid-row:span 1;grid-column:span 1}.media-feature-copy{left:25px;right:25px;bottom:27px}.media-feature-copy h2{font-size:29px}.resource{grid-template-columns:1fr;gap:10px}.resource-meta{white-space:normal}.media-lightbox{padding:15px}}
