
*
{
box-sizing:border-box}

:root
{
  --green:#0b4d32;
  --green2:#286e26;
  --lime:#84bf36;
  --text:#13251f;
  --muted:#607069;
  --line:#e3e8dd;
--shadow:0 20px 55px rgba(10,50,35,.13)}

html
{
scroll-behavior:smooth}

body
{
  margin:0;
  overflow-x:hidden;
  background:#fff;
  color:var(--text);
  font-family:'Dosis',system-ui,sans-serif;
  font-size:17px}

a
{
  text-decoration:none;
color:inherit}

img
{
  max-width:100%;
display:block}

.site-header
{
  height:88px;
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:26px;
  padding:0 clamp(24px,5vw,86px);
  background:rgba(255,255,255,.97);
  position:sticky;
  top:0;
  z-index:50;
border-bottom:1px solid rgba(0,0,0,.06)}

.brand
{
  display:flex;
  align-items:center;
  gap:12px;
  color:var(--green);
  font-size:34px;
  font-weight:800;
letter-spacing:-.04em}

.brand img
{
  width:300px;
  height:62px;
  object-fit:contain;
}

.brand em
{
  color:#f5821f;
font-style:normal}

.nav
{
  justify-self:center;
  display:flex;
  gap:29px;
  font-weight:800;
font-size:16px}

.nav a
{
  padding:32px 0 27px;
  position:relative;
  text-transform: uppercase;
}

.nav a:after
{
  content:"";
  position:absolute;
  left:0;
  bottom:21px;
  width:0;
  height:3px;
  background:var(--lime);
  border-radius:20px;
  transition:.25s}

.nav a.active:after,.nav a:hover:after
{
width:100%}

.header-actions
{
  display:flex;
  align-items:center;
gap:18px}

.icon-link
{
font-size:20px}

.btn
{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  border:0;
  border-radius:8px;
  background:var(--green2);
  color:#fff;
  font-weight:800;
  padding:13px 22px;
  box-shadow:0 14px 28px rgba(35,90,35,.18);
transition:.2s}

.btn:hover
{
transform:translateY(-2px)}

.btn-header
{
min-width:150px}

.burger
{
  display:none;
  background:transparent;
border:0}

.burger span
{
  display:block;
  width:26px;
  height:3px;
  margin:5px;
  background:var(--green);
border-radius:8px}

.hero-full
{
  position:relative;
  width:100vw;
  max-width:none;
  left:50%;
  right:50%;
  margin-left:-50vw;
  margin-right:-50vw;
  min-height:calc(100vh - 88px);
  background:#071a12 url('assets/hero-bg-fullscreen.jpg') center center/cover no-repeat;
overflow:hidden}

.hero-shade
{
  position:absolute;
  inset:0;
background:linear-gradient(90deg,rgba(4,22,15,.94),rgba(4,22,15,.72) 36%,rgba(4,22,15,.16) 66%,rgba(4,22,15,.02)),linear-gradient(0deg,rgba(3,18,11,.45),rgba(3,18,11,0) 55%)}

.hero-inner
{
  position:relative;
  z-index:2;
  width:min(100%,1560px);
  margin:0 auto;
  min-height:calc(100vh - 88px);
  display:grid;
  grid-template-columns:minmax(0,1fr) 370px;
  align-items:center;
  gap:90px;
padding:70px clamp(30px,5vw,86px) 82px}

.hero-copy
{
max-width:730px}

.kicker
{
  display:inline-flex;
  gap:8px;
  align-items:center;
  text-transform:uppercase;
  letter-spacing:.13em;
  color:#9ed245;
  font-size:20px;
font-weight:900}

.hero-copy h1
{
  font-family:'Playfair Display',serif;
  font-size:clamp(58px,4vw,96px);
  line-height:.94;
  letter-spacing:-.045em;
  color:#fff;
  text-shadow:0 12px 40px rgba(0,0,0,.35)}

.hero-copy h1 span
{
  color:#8dce3d;
  text-decoration:underline;
  text-decoration-thickness:5px;
text-underline-offset:11px}

.hero-copy p
{
  font-size:21px;
  line-height:1.55;
  color:#fff;
  max-width:630px;
margin:0}

.actions
{
  display:flex;
  gap:20px;
  flex-wrap:wrap;
margin:32px 0 38px}

.btn-lime
{
  background:#000;
border-radius:999px}

.btn-outline
{
  background:rgba(0,0,0,.12);
  border:1.5px solid rgba(255,255,255,.75);
  border-radius:999px;
box-shadow:none}

.hero-stats
{
  display:flex;
  gap:44px;
align-items:center}

.hero-stats div
{
  display:grid;
  grid-template-columns:56px auto;
  grid-template-rows:auto auto;
  column-gap:14px;
color:#fff}

.hero-stats i
{
  grid-row:1/3;
  width:56px;
  height:56px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:rgba(85,142,36,.28);
  color:#9ed245;
font-size:24px}

.hero-stats strong
{
  font-size:31px;
line-height:1}

.hero-stats small
{
  font-size:15px;
  color:rgba(255,255,255,.86);
font-weight:700}

.trust-card
{
  background:#fff;
  border-radius:18px;
  padding:34px 32px;
box-shadow:0 26px 80px rgba(0,0,0,.30)}

.trust-card img
{
  width:210px;
  margin:0 auto 16px;
border-radius:22px}

.trust-card h2
{
  font-size:25px;
  line-height:1.1;
  color:var(--green);
margin:0}

.trust-card p
{
  color:#6b716c;
  font-weight:700;
margin:8px 0 20px}

.trust-card ul
{
  padding:22px 0;
  margin:0;
  border-top:1px solid #e5e5dc;
  border-bottom:1px solid #e5e5dc;
  list-style:none;
  display:grid;
  gap:12px;
  font-weight:700;
color:#626d67}

.trust-card li
{
  display:flex;
  gap:12px;
align-items:center}

.trust-card i
{
color:#5e9e35}

.rating
{
  display:flex;
  gap:18px;
  margin-top:20px;
color:#64716a}

.rating span
{
  color:#5e9e35;
letter-spacing:4px}

.pillars
{
  width:min(1080px,86vw);
  margin:-46px auto 64px;
  position:relative;
  z-index:4;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  background:#fff;
  border:1px solid var(--line);
  border-radius:18px;
  box-shadow:0 24px 65px rgba(0,0,0,.13);
padding:22px 28px}

.pillars article
{
  display:grid;
  grid-template-columns:64px 1fr;
  gap:16px;
  align-items:center;
  padding:0 22px;
border-right:1px solid #e6eadf}

.pillars article:last-child
{
border-right:0}

.pillars span,.big-icon
{
  display:grid;
  place-items:center;
  background:#eff4e7;
  border-radius:50%;
color:#2b6825}

.pillars span
{
  width:58px;
  height:58px;
  font-size:31px;
outline:1px solid #d8e3cc}

.pillars h3
{
  font-size:15px;
margin:0 0 4px}

.pillars p
{
  margin:0;
  color:#66716b;
line-height:1.25}

.section
{
padding:0 clamp(30px,5vw,86px) 56px}

.title
{
  text-align:center;
margin-bottom:32px}

.title span
{
  display:block;
  text-transform:uppercase;
  letter-spacing:.12em;
  color:var(--green2);
  font-weight:900;
font-size:13px}

.title h2
{
  font-family:'Playfair Display',serif;
  color:var(--green);
  font-size:30px;
  line-height:1;
  margin:6px 0 0}

.title h2:after
{
  content:"";
  display:block;
  width:34px;
  height:3px;
  background:var(--lime);
  border-radius:10px;
margin:14px auto 0}

.service-grid
{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:24px;
  max-width:1260px;
margin:0 auto}

.service-card
{
  min-height:260px;
  border:1px solid var(--line);
  border-radius:13px;
  background:#fff;
  padding:26px 20px;
  text-align:center;
  box-shadow:0 16px 34px rgba(0,0,0,.04);
transition:.25s}

.service-card:hover
{
  transform:translateY(-5px);
box-shadow:var(--shadow)}

.big-icon
{
  width:96px;
  height:96px;
  margin:0 auto 18px;
  font-size:50px;
background:radial-gradient(circle at 35% 35%,#f6f7ee 0 34%,#e9efdf 35% 100%)}

.scissors
{
color:#31413c}

.shovel
{
color:#d68424}

.water
{
color:#55972e}

.leaves
{
color:#508927}

.snow
{
color:#1b322c}

.service-card h3
{
  font-size:18px;
margin:0 0 9px}

.service-card p
{
  line-height:1.45;
  color:#5f6c66;
margin:0 0 17px}

.service-card a
{
  font-weight:900;
color:#2a772a}

.about
{
  margin:16px clamp(30px,5vw,86px) 58px;
  background:#f5f4ee;
  border-radius:13px;
  display:grid;
  grid-template-columns:.85fr 1.6fr;
  gap:30px;
  align-items:center;
  padding:44px;
overflow:hidden}

.about-text span
{
  color:var(--green2);
  text-transform:uppercase;
  font-weight:900;
letter-spacing:.1em}

.about h2,.line-title h2
{
  font-family:'Playfair Display',serif;
  font-size:30px;
  line-height:1;
  color:var(--green);
margin:5px 0 20px}

.about h2:after
{
  content:"";
  display:block;
  width:34px;
  height:3px;
  background:var(--lime);
margin-top:14px}

.about-text p
{
  color:#3d4c45;
  line-height:1.6;
max-width:430px}

.about-text ul
{
  list-style:none;
  margin:22px 0;
  padding:0;
  display:grid;
  gap:12px;
  color:#44514b;
font-weight:700}

.about-text li
{
  display:flex;
gap:11px}

.about-text i
{
color:#347a2e}

.about-photo
{
  position:relative;
min-height:390px}

.about-photo img
{
  width:100%;
  height:390px;
  object-fit:cover;
  border-radius:18px;
  mask-image:radial-gradient(ellipse at center,#000 61%,transparent 74%);
-webkit-mask-image:radial-gradient(ellipse at center,#000 61%,transparent 74%)}

.counter
{
  position:absolute;
  right:30px;
  bottom:36px;
  background:#fff;
  border-radius:10px;
  padding:24px 34px;
  text-align:center;
box-shadow:var(--shadow)}

.counter b
{
  display:block;
font-size:38px}

.counter span
{
color:#3d4c45}

.counter i
{
  color:#5a962f;
margin-top:8px}

.works
{
padding:0 clamp(30px,5vw,86px) 54px}

.line-title
{
  max-width:1260px;
  margin:0 auto 20px;
  display:flex;
  justify-content:space-between;
align-items:end}

.line-title a
{
  color:#2d7330;
font-weight:900}

.work-grid
{
  max-width:1260px;
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(4,1fr);
gap:24px}

.work-grid img
{
  height:158px;
  width:100%;
  object-fit:cover;
  border-radius:10px;
box-shadow:0 10px 25px rgba(0,0,0,.09)}

.testimonials
{
padding:0 clamp(30px,5vw,86px) 60px}

.reviews
{
  max-width:1260px;
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(3,1fr);
gap:28px}

.reviews article
{
  border:1px solid var(--line);
  border-radius:12px;
  background:#fff;
  padding:30px 34px;
  min-height:150px;
box-shadow:0 12px 28px rgba(0,0,0,.04)}

.reviews i
{
  color:#5b912e;
font-size:30px}

.reviews p
{
  color:#4d5b55;
line-height:1.55}

.reviews span
{
  float:right;
  color:#4d8b2d;
letter-spacing:3px}

.tips-band
{
  background:linear-gradient(90deg,#092b24,#0d3d2d);
  display:grid;
  grid-template-columns:1.15fr repeat(3,1fr);
  gap:24px;
  padding:38px clamp(30px,5vw,86px);
color:#fff}

.tips-intro
{
  display:grid;
  grid-template-columns:76px 1fr;
  gap:18px;
align-items:center}

.leaf-big
{
  width:86px;
  height:86px;
  border-radius:50%;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.2);
  font-size:42px;
color:#83bb3b}

.tips-intro h2
{
  font-size:29px;
margin:0 0 6px}

.tips-intro p
{
  margin:0;
  color:rgba(255,255,255,.85);
line-height:1.45}

.tips-link
{
  grid-column:1/3;
  justify-self:start;
  border:1px solid rgba(255,255,255,.55);
  border-radius:999px;
  padding:11px 17px;
  font-weight:800;
margin-top:8px}

.tip-card
{
  background:#fff;
  color:#132820;
  border-radius:7px;
  padding:8px;
  display:grid;
  grid-template-columns:110px 1fr;
  gap:14px;
align-items:center}

.tip-card img
{
  height:92px;
  width:110px;
  object-fit:cover;
border-radius:5px}

.tip-card small
{
  font-size:11px;
  color:#62952f;
font-weight:900}

.tip-card h3
{
  font-size:18px;
  line-height:1.15;
margin:4px 0 8px}

.tip-card a
{
  color:#377731;
font-weight:900}

.footer-black
{
  background:#171b1a;
color:#fff}

.footer-main
{
  display:grid;
  grid-template-columns:1.35fr repeat(4,1fr);
  gap:46px;
padding:42px clamp(30px,5vw,86px) 22px}

.footer-brand img
{
  width:240px;
  height:140px;
object-fit:contain}

.footer-brand h3
{
  font-family:'Playfair Display',serif;
  font-size:31px;
margin:10px 0 6px}

.footer-brand em
{
color:#f5821f}

.footer-main p,.footer-main a
{
  color:rgba(255,255,255,.78);
line-height:1.55}

.footer-main a
{
  display:flex;
  margin:6px 0}

.footer-main strong
{
  text-transform:uppercase;
  font-size:13px;
  letter-spacing:.05em;
  margin-bottom:14px;
display:block}

.socials
{
  display:flex;
  gap:12px;
margin-top:16px}

.socials a
{
  width:34px;
  height:34px;
  border-radius:50%;
  display:grid;
  place-items:center;
border:1px solid rgba(255,255,255,.35)}

.btn-footer
{
  margin-top:12px;
  background:#70a92f;
color:#fff!important}

.copy
{
  text-align:center;
  color:rgba(255,255,255,.65);
  padding:16px;
border-top:1px solid rgba(255,255,255,.07)}

.reveal
{
  opacity:0;
  transform:translateY(20px);
transition:.65s ease}

.reveal.visible
{
  opacity:1;
transform:translateY(0)}

@media(max-width:1100px)
{
  .nav,.header-actions .icon-link
  {
  display:none}

  .site-header
  {
  grid-template-columns:auto auto}

  .burger
  {
    display:block;
  justify-self:end}

  .nav.open
  {
    display:flex;
    position:absolute;
    left:20px;
    right:20px;
    top:80px;
    background:#fff;
    box-shadow:var(--shadow);
    border-radius:20px;
    padding:18px;
  flex-direction:column}

  .hero-inner
  {
    grid-template-columns:1fr;
  gap:35px}

  .trust-card
  {
  max-width:420px}

  .pillars,.service-grid,.work-grid
  {
  grid-template-columns:repeat(2,1fr)}

  .about
  {
  grid-template-columns:1fr}

  .tips-band,.footer-main
  {
  grid-template-columns:1fr 1fr}

  .reviews
  {
  grid-template-columns:1fr}

  .hero-full,.hero-inner
  {
  min-height:calc(100vh - 76px)}
}

@media(max-width:700px)
{
  .brand
  {
  font-size:23px}

  .brand img
  {
  width:200px}

  .site-header
  {
    height:76px;
  padding:0 18px}

  .btn-header
  {
  display:none}

  .hero-inner
  {
  padding:54px 20px 56px}

  .hero-copy h1
  {
  font-size:50px}

  .hero-stats
  {
    flex-direction:column;
    align-items:flex-start;
  gap:16px}

  .pillars
  {
    width:calc(100% - 32px);
    grid-template-columns:1fr;
    margin-top:-22px;
  padding:18px}

  .pillars article
  {
    border-right:0;
    border-bottom:1px solid var(--line);
  padding:14px 0}

  .service-grid,.work-grid,.tips-band,.footer-main
  {
  grid-template-columns:1fr}

  .section,.works,.testimonials
  {
    padding-left:18px;
  padding-right:18px}

  .about
  {
    margin-left:18px;
    margin-right:18px;
  padding:26px}

  .line-title
  {
  display:block}

  .tip-card
  {
  grid-template-columns:95px 1fr}
}

/* Section À propos premium intégrée depuis la maquette validée */
.about-exact-section
{
  position:relative;
  width:min(100% - 64px,1693px);
  margin:36px auto 58px;
  border-radius:28px;
  overflow:hidden;
  box-shadow:0 20px 55px rgba(10,50,35,.08);
  background:#f7f5ef;
}

.about-exact-section img
{
  width:100%;
  height:auto;
  display:block;
}

.about-exact-link
{
  position:absolute;
  left:5.2%;
  bottom:12.8%;
  width:195px;
  height:58px;
  border-radius:18px;
}

@media(max-width:700px)
{
  .about-exact-section
  {
    width:calc(100% - 28px);
    margin:26px auto 38px;
    border-radius:18px;
  }

  .about-exact-link
  {
    left:5%;
    bottom:12%;
    width:27%;
    height:7%;
  }
}

/* Page services uniquement — correction de la mise en page sans toucher à index.php */
.services-page
{
  background:#fff;
overflow:hidden}

.services-hero-page
{
  position:relative;
  padding:96px clamp(28px,6vw,100px) 74px;
  background:linear-gradient(110deg,rgba(247,250,241,.96),rgba(255,255,255,.88)),url('assets/hero-bg-fullscreen.jpg') center/cover no-repeat;
border-bottom:1px solid rgba(11,77,50,.08)}

.services-hero-page:after
{
  content:"";
  position:absolute;
  inset:auto 0 0 0;
  height:110px;
  background:linear-gradient(0deg,#fff,rgba(255,255,255,0));
pointer-events:none}

.services-hero-inner
{
  position:relative;
  z-index:1;
  max-width:940px;
  margin:0 auto;
text-align:center}

.services-hero-inner h1
{
  font-family:'Playfair Display',serif;
  font-size:clamp(44px,5vw,76px);
  line-height:1.02;
  letter-spacing:-.035em;
  color:var(--green);
margin:20px 0 18px}

.services-hero-inner p
{
  max-width:760px;
  margin:0 auto;
  color:#53645d;
  font-size:21px;
line-height:1.6}

.services-hero-actions
{
  margin-top:32px;
  display:flex;
  justify-content:center;
  gap:16px;
flex-wrap:wrap}

.services-outline
{
  background:#fff;
  color:var(--green);
  border:1.5px solid var(--line);
box-shadow:0 14px 34px rgba(10,50,35,.08)}

.services-intro-bar
{
  width:min(1280px,calc(100% - 64px));
  margin:-32px auto 64px;
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  background:#fff;
  border:1px solid var(--line);
  border-radius:18px;
  box-shadow:0 22px 55px rgba(10,50,35,.10);
overflow:hidden}

.services-intro-bar article
{
  display:grid;
  grid-template-columns:58px 1fr;
  grid-template-rows:auto auto;
  gap:2px 14px;
  align-items:center;
  padding:24px 28px;
border-right:1px solid #e8ecdf}

.services-intro-bar article:last-child
{
border-right:0}

.services-intro-bar i
{
  grid-row:1/3;
  width:52px;
  height:52px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#eff5e8;
  color:#5d9d2f;
font-size:23px}

.services-intro-bar strong
{
  font-size:18px;
color:var(--green)}

.services-intro-bar span
{
  color:#67736c;
font-size:15px}

.services-list-section
{
padding:0 clamp(28px,5vw,86px) 64px}

.services-cards-grid
{
  max-width:1280px;
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(3,1fr);
gap:28px}

.services-card
{
  min-height:300px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:24px;
  padding:34px;
  box-shadow:0 22px 54px rgba(10,50,35,.07);
  transition:.25s ease;
  display:flex;
flex-direction:column}

.services-card:hover
{
  transform:translateY(-6px);
  box-shadow:0 28px 70px rgba(10,50,35,.13);
border-color:#cfdcc4}

.services-card-top
{
  display:flex;
  align-items:center;
  justify-content:space-between;
margin-bottom:24px}

.services-icon
{
  width:72px;
  height:72px;
  border-radius:22px;
  display:grid;
  place-items:center;
  background:#eef6e7;
  color:var(--green);
font-size:31px}

.services-price
{
  background:#edf6e7;
  color:var(--green);
  font-weight:900;
  border-radius:999px;
  padding:8px 13px;
font-size:14px}

.services-card h3
{
  font-size:26px;
  color:var(--green);
margin:0 0 14px}

.services-card p
{
  color:#5f6d66;
  line-height:1.65;
  margin:0 0 28px;
font-size:18px}

.services-card a
{
  margin-top:auto;
  color:var(--green);
  font-weight:900;
  display:inline-flex;
  align-items:center;
gap:8px}

.services-cta-panel
{
  width:min(1280px,calc(100% - 64px));
  margin:0 auto 74px;
  border-radius:26px;
  background:linear-gradient(135deg,#0b4d32,#1f762d);
  color:#fff;
  padding:42px 48px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
box-shadow:0 28px 70px rgba(11,77,50,.18)}

.services-cta-panel span
{
  text-transform:uppercase;
  letter-spacing:.12em;
  font-weight:900;
color:#bce58b}

.services-cta-panel h2
{
  font-family:'Playfair Display',serif;
  font-size:42px;
  line-height:1;
margin:8px 0 10px}

.services-cta-panel p
{
  margin:0;
  color:rgba(255,255,255,.84);
  font-size:18px;
  line-height:1.55;
max-width:680px}

.services-cta-panel .btn
{
  white-space:nowrap;
  background:#fff;
  color:var(--green);
box-shadow:none}

@media(max-width:1050px)
{
  .services-intro-bar
  {
  grid-template-columns:repeat(2,1fr)}

  .services-intro-bar article:nth-child(2)
  {
  border-right:0}

  .services-intro-bar article
  {
  border-bottom:1px solid #e8ecdf}

  .services-intro-bar article:nth-child(n+3)
  {
  border-bottom:0}

  .services-cards-grid
  {
  grid-template-columns:repeat(2,1fr)}

  .services-cta-panel
  {
    align-items:flex-start;
  flex-direction:column}
}

@media(max-width:700px)
{
  .services-hero-page
  {
  padding:66px 20px 56px}

  .services-hero-inner
  {
  text-align:left}

  .services-hero-actions
  {
  justify-content:flex-start}

  .services-intro-bar
  {
    width:calc(100% - 32px);
    grid-template-columns:1fr;
  margin:-20px auto 44px}

  .services-intro-bar article
  {
    border-right:0!important;
    border-bottom:1px solid #e8ecdf!important;
  padding:20px}

  .services-intro-bar article:last-child
  {
  border-bottom:0!important}

  .services-list-section
  {
    padding-left:18px;
  padding-right:18px}

  .services-cards-grid
  {
    grid-template-columns:1fr;
  gap:18px}

  .services-card
  {
    min-height:auto;
  padding:26px}

  .services-cta-panel
  {
    width:calc(100% - 36px);
  padding:30px 24px}

  .services-cta-panel h2
  {
  font-size:34px}
}

/* =========================================================Pages internes premium harmonisées avec index/services========================================================= */
.inner-page
{
  background:#fff;
overflow:hidden}

.premium-page-hero
{
  position:relative;
  min-height:430px;
  display:flex;
  align-items:center;
  padding:92px clamp(26px,5vw,86px);
  background:#071a12 center/cover no-repeat;
color:#fff}

.premium-page-hero:before
{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(4,22,15,.90),rgba(4,22,15,.65) 42%,rgba(4,22,15,.20));
}

.premium-page-hero__content
{
  position:relative;
  z-index:1;
max-width:780px}

.premium-page-hero h1
{
  font-family:'Playfair Display',serif;
  font-size:clamp(50px,6vw,82px);
  line-height:.98;
  letter-spacing:-.04em;
margin:22px 0 18px}

.premium-page-hero p
{
  font-size:21px;
  line-height:1.6;
  max-width:680px;
  color:rgba(255,255,255,.90);
margin:0 0 30px}

.inner-kicker
{
  display:inline-flex;
  align-items:center;
  gap:9px;
  text-transform:uppercase;
  letter-spacing:.13em;
  color:#9ed245;
  font-weight:900;
font-size:14px}

.realisations-hero
{
background-image:url('assets/after-garden.jpg')}

.conseils-hero-page
{
  background-image:url('assets/hero-bg-fullscreen.jpg');
background-position:center center}

.contact-hero-page
{
background-image:url('assets/hero-reference.jpg')}


.inner-section
{
padding:72px clamp(26px,5vw,86px)}

.inner-title
{
  text-align:center;
margin-bottom:36px}

.inner-title span
{
  display:block;
  color:var(--green2);
  text-transform:uppercase;
  letter-spacing:.13em;
  font-weight:900;
font-size:13px}

.inner-title h2
{
  font-family:'Playfair Display',serif;
  color:var(--green);
  font-size:clamp(38px,4vw,56px);
  line-height:1;
margin:9px 0 0}

.inner-title h2:after
{
  content:"";
  display:block;
  width:42px;
  height:3px;
  background:var(--lime);
  border-radius:20px;
margin:16px auto 0}

.premium-project-grid
{
  max-width:1260px;
  margin:auto;
  display:grid;
  grid-template-columns:repeat(3,1fr);
gap:28px}

.premium-project-card
{
  background:#fff;
  border:1px solid var(--line);
  border-radius:22px;
  overflow:hidden;
  box-shadow:0 18px 48px rgba(10,50,35,.08);
transition:.25s}

.premium-project-card:hover
{
  transform:translateY(-6px);
box-shadow:0 26px 65px rgba(10,50,35,.14)}

.premium-project-card img
{
  width:100%;
  height:230px;
object-fit:cover}

.premium-project-card div
{
padding:26px}

.premium-project-card h3
{
  font-size:27px;
  color:var(--green);
margin:0 0 8px}

.premium-project-card p
{
  margin:0;
  color:#5f6c66;
  line-height:1.55;
font-size:18px}

.inner-cta
{
  width:min(1260px,calc(100% - 64px));
  margin:0 auto 78px;
  background:linear-gradient(135deg,#0b4d32,#1f762d);
  border-radius:28px;
  padding:44px 50px;
  color:#fff;
  display:flex;
  justify-content:space-between;
  gap:30px;
  align-items:center;
box-shadow:0 28px 70px rgba(11,77,50,.18)}

.inner-cta span
{
  color:#bce58b;
  text-transform:uppercase;
  letter-spacing:.13em;
font-weight:900}

.inner-cta h2
{
  font-family:'Playfair Display',serif;
  font-size:46px;
  line-height:1;
margin:8px 0}

.inner-cta p
{
  margin:0;
  color:rgba(255,255,255,.85);
  font-size:19px;
max-width:700px}

.inner-cta .btn
{
  background:#fff;
  color:var(--green);
  box-shadow:none;
white-space:nowrap}

.premium-articles-grid
{
  max-width:1260px;
  margin:auto;
  display:grid;
  grid-template-columns:repeat(3,1fr);
gap:28px}

.premium-article-card
{
  background:#fff;
  border:1px solid var(--line);
  border-radius:24px;
  overflow:hidden;
  box-shadow:0 18px 48px rgba(10,50,35,.08);
transition:.25s}

.premium-article-card:hover
{
  transform:translateY(-6px);
box-shadow:0 26px 65px rgba(10,50,35,.14)}

.premium-article-card img
{
  height:220px;
  width:100%;
object-fit:cover}

.premium-article-body
{
padding:28px}

.premium-article-body span
{
  display:inline-block;
  background:#eef7e8;
  color:#4b8e2d;
  border-radius:999px;
  padding:7px 13px;
  font-size:12px;
  font-weight:900;
  letter-spacing:.08em;
text-transform:uppercase}

.premium-article-body h3
{
  font-size:27px;
  color:var(--green);
margin:18px 0 10px}

.premium-article-body p
{
  color:#5f6c66;
  line-height:1.65;
font-size:18px}

.premium-article-body a
{
  display:inline-flex;
  gap:9px;
  align-items:center;
  margin-top:12px;
  color:#2f7d2c;
font-weight:900}

.tips-large-panel
{
  width:min(1260px,calc(100% - 64px));
  margin:0 auto 78px;
  background:#f5f4ee;
  border-radius:28px;
  padding:48px;
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:42px;
align-items:center}

.tips-large-text span
{
  color:var(--green2);
  text-transform:uppercase;
  letter-spacing:.13em;
font-weight:900}

.tips-large-text h2
{
  font-family:'Playfair Display',serif;
  font-size:43px;
  line-height:1.08;
  color:var(--green);
margin:12px 0 18px}

.tips-large-text p
{
  font-size:19px;
  line-height:1.7;
color:#4e5d56}

.tips-list
{
  display:grid;
gap:18px}

.tips-list article
{
  display:grid;
  grid-template-columns:62px 1fr;
  gap:16px;
  align-items:center;
  background:#fff;
  border-radius:18px;
  padding:20px;
box-shadow:0 12px 34px rgba(10,50,35,.06)}

.tips-list i
{
  grid-row:1/3;
  width:62px;
  height:62px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#eef6e7;
  color:#4f922f;
font-size:24px}

.tips-list strong
{
  font-size:20px;
color:var(--green)}

.tips-list p
{
  margin:4px 0 0;
color:#65716b}

.about-page-premium
{
  width:min(100% - 64px,1690px);
  margin:48px auto 76px;
  background:#f5f4ee;
  border-radius:28px;
  padding:70px 58px;
  display:grid;
  grid-template-columns:.75fr 1.25fr;
  gap:70px;
  align-items:center;
box-shadow:0 18px 55px rgba(10,50,35,.07)}

.about-page-text h1
{
  font-family:'Playfair Display',serif;
  font-size:clamp(54px,5.5vw,78px);
  line-height:1;
  color:var(--green);
  letter-spacing:-.04em;
margin:18px 0 16px}

.about-page-text h2
{
  font-size:29px;
  line-height:1.25;
  color:#4b9639;
margin:0 0 28px}

.about-page-text p
{
  font-size:20px;
  line-height:1.72;
  color:#34423c;
max-width:640px}

.about-points
{
  display:grid;
  gap:22px;
margin:34px 0}

.about-points article
{
  display:grid;
  grid-template-columns:64px 1fr;
  gap:18px;
align-items:start}

.about-points i
{
  width:56px;
  height:56px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#e8f1df;
  color:#579837;
font-size:23px}

.about-points strong
{
  font-size:21px;
color:var(--green)}

.about-points p
{
  font-size:17px;
  line-height:1.4;
  margin:5px 0 0;
color:#5e6a65}

.about-page-photo
{
position:relative}

.about-page-photo img
{
  display:block !important;
  width:100% !important;
  height:560px !important;
  object-fit:cover !important;
  object-position:center center !important;
  border-radius:26px !important;
  box-shadow:0 14px 34px rgba(10,50,35,.10) !important;
}

.about-counter
{
  position:absolute;
  right:36px;
  bottom:44px;
  background:#fff;
  border-radius:22px;
  padding:30px 34px;
  text-align:center;
  min-width:190px;
box-shadow:0 20px 55px rgba(0,0,0,.16)}

.about-counter i
{
  width:54px;
  height:54px;
  background:#62a53b;
  color:#fff;
  border-radius:50%;
  display:grid;
  place-items:center;
margin:0 auto 18px}

.about-counter b
{
  display:block;
  font-size:54px;
  color:var(--green);
line-height:1}

.about-counter span
{
  font-size:20px;
  color:#35433e;
line-height:1.45}

.values-section
{
padding:0 clamp(26px,5vw,86px) 76px}

.values-grid
{
  max-width:1260px;
  margin:auto;
  display:grid;
  grid-template-columns:repeat(3,1fr);
gap:26px}

.values-grid article
{
  background:#fff;
  border:1px solid var(--line);
  border-radius:22px;
  padding:34px;
box-shadow:0 18px 45px rgba(10,50,35,.07)}

.values-grid i,.shop-grid i
{
  width:72px;
  height:72px;
  border-radius:22px;
  display:grid;
  place-items:center;
  background:#eef6e7;
  color:#4f922f;
  font-size:28px;
margin-bottom:20px}

.values-grid h3,.shop-grid h3
{
  font-size:25px;
  color:var(--green);
margin:0 0 10px}

.values-grid p,.shop-grid p
{
  color:#5f6c66;
  line-height:1.6;
font-size:18px}

.premium-contact-zone
{
  width:min(1260px,calc(100% - 64px));
  margin:72px auto 86px;
  display:grid;
  grid-template-columns:.85fr 1.15fr;
  gap:34px;
align-items:start}

.premium-contact-info
{
  background:#f5f4ee;
  border-radius:28px;
padding:44px}

.premium-contact-info span
{
  color:var(--green2);
  text-transform:uppercase;
  letter-spacing:.13em;
font-weight:900}

.premium-contact-info h2
{
  font-family:'Playfair Display',serif;
  font-size:46px;
  line-height:1.08;
  color:var(--green);
margin:12px 0 18px}

.premium-contact-info p
{
  font-size:19px;
  line-height:1.65;
color:#4f5d57}

.contact-lines
{
  display:grid;
  gap:14px;
margin-top:28px}

.contact-lines div
{
  display:flex;
  align-items:center;
  gap:14px;
  background:#fff;
  border-radius:14px;
  padding:16px 18px;
  color:var(--green);
box-shadow:0 10px 30px rgba(10,50,35,.05)}

.contact-lines i
{
color:#5f9f35}

.premium-form-card
{
  background:#fff;
  border:1px solid var(--line);
  border-radius:28px;
  padding:38px;
box-shadow:0 24px 65px rgba(10,50,35,.10)}

.form-card input,.form-card textarea,.form-card select,.premium-form-card input,.premium-form-card textarea,.premium-form-card select
{
  width:100%;
  border:1px solid #dfe7da;
  border-radius:14px;
  padding:15px 16px;
  font:inherit;
  margin-bottom:14px;
  background:#fbfcfa;
color:var(--text)}

.premium-form-card button,.form-card button
{
  width:100%;
  border:0;
  border-radius:14px;
  background:var(--green2);
  color:#fff;
  font-weight:900;
  padding:16px;
  font:inherit;
cursor:pointer}

.shop-grid
{
  max-width:1060px;
  margin:auto;
  display:grid;
  grid-template-columns:repeat(3,1fr);
gap:28px}

.shop-grid article
{
  background:#fff;
  border:1px solid var(--line);
  border-radius:24px;
  padding:36px;
box-shadow:0 18px 48px rgba(10,50,35,.08)}

.premium-success
{
  min-height:100vh;
  display:grid;
  place-items:center;
background:linear-gradient(135deg,#f7faf4,#fff)}

.premium-success>div
{
  background:#fff;
  border-radius:28px;
  padding:54px;
  text-align:center;
box-shadow:0 26px 70px rgba(10,50,35,.12)}

.premium-success i
{
  width:78px;
  height:78px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#e9f5df;
  color:#4f922f;
  font-size:34px;
margin:0 auto 22px}

.premium-success h1
{
  font-family:'Playfair Display',serif;
  color:var(--green);
  font-size:52px;
margin:0 0 12px}

.premium-success p
{
  font-size:20px;
  color:#5f6c66;
margin-bottom:28px}

@media(max-width:1050px)
{
  .premium-project-grid,.premium-articles-grid,.values-grid,.shop-grid
  {
  grid-template-columns:repeat(2,1fr)}

  .about-page-premium,.premium-contact-zone,.tips-large-panel
  {
  grid-template-columns:1fr}

  .about-page-photo img
  {
    display:block !important;
    width:100% !important;
    height:560px !important;
    object-fit:cover !important;
    object-position:center center !important;
    border-radius:26px !important;
    box-shadow:0 14px 34px rgba(10,50,35,.10) !important;
  }

  .inner-cta
  {
    flex-direction:column;
  align-items:flex-start}

  .premium-page-hero
  {
  min-height:360px}
}

@media(max-width:700px)
{
  .premium-page-hero
  {
    padding:64px 20px;
  min-height:330px}

  .premium-page-hero h1
  {
  font-size:43px}

  .premium-page-hero p
  {
  font-size:18px}

  .inner-section
  {
  padding:50px 18px}

  .premium-project-grid,.premium-articles-grid,.values-grid,.shop-grid
  {
    grid-template-columns:1fr;
  gap:20px}

  .inner-cta,.tips-large-panel,.premium-contact-zone,.about-page-premium
  {
    width:calc(100% - 32px);
    margin-left:auto;
    margin-right:auto;
    padding:28px 22px;
  border-radius:22px}

  .inner-cta h2,.tips-large-text h2,.premium-contact-info h2
  {
  font-size:34px}

  .about-page-text h1
  {
  font-size:44px}

  .about-page-photo img
  {
    display:block !important;
    width:100% !important;
    height:560px !important;
    object-fit:cover !important;
    object-position:center center !important;
    border-radius:26px !important;
    box-shadow:0 14px 34px rgba(10,50,35,.10) !important;
  }

  .about-counter
  {
    position:static;
  margin:18px auto 0}

  .premium-contact-zone
  {
  display:block}

  .premium-contact-info
  {
    margin-bottom:22px;
  padding:28px}

  .premium-form-card
  {
  padding:24px}

  .premium-project-card img,.premium-article-card img
  {
  height:210px}
}

/* FIX hero pages internes : image toujours pleine largeur, sans bande blanche */
.premium-page-hero
{
  width:100vw !important;
  max-width:100vw !important;
  margin-left:calc(50% - 50vw) !important;
  margin-right:calc(50% - 50vw) !important;
  background-size:cover !important;
  background-repeat:no-repeat !important;
  background-position:center center !important;
  overflow:hidden !important;
  box-sizing:border-box !important;
}

.conseils-hero-page
{
  background-image:url('assets/hero-bg-fullscreen.jpg') !important;
  background-size:cover !important;
  background-position:center center !important;
}

/* FIX page À propos : suppression double carte +150 et image propre */
.about-page-premium
{
  grid-template-columns:.82fr 1.18fr !important;
  gap:64px !important;
  overflow:hidden !important;
}

.about-page-photo
{
  position:relative !important;
  overflow:hidden !important;
  border-radius:28px !important;
  box-shadow:0 22px 70px rgba(10,50,35,.14) !important;
}

.about-page-photo img
{
  display:block !important;
  width:100% !important;
  height:560px !important;
  object-fit:cover !important;
  object-position:center center !important;
  border-radius:26px !important;
  box-shadow:0 14px 34px rgba(10,50,35,.10) !important;
}

.about-page-photo .about-counter
{
  display:none !important;
}

@media(max-width:980px)
{
  .about-page-premium
  {
    grid-template-columns:1fr !important;
  }
}

/* =========================================================POLISH FINAL — Page À proposSection plus premium, moins vide, image mieux intégrée========================================================= */
.about-page-premium
{
  width:min(100% - 80px, 1540px) !important;
  margin:56px auto 86px !important;
  padding:70px clamp(42px, 5vw, 78px) !important;
  display:grid !important;
  grid-template-columns:0.82fr 1.18fr !important;
  gap:clamp(46px, 5vw, 78px) !important;
  align-items:center !important;
  background:radial-gradient(circle at 88% 18%, rgba(122,184,63,.10), transparent 32%),linear-gradient(135deg, #f8f7f1 0%, #f1f0e8 100%) !important;
  border:1px solid rgba(11,77,50,.07) !important;
  border-radius:30px !important;
  box-shadow:0 24px 70px rgba(10,50,35,.08) !important;
  overflow:hidden !important;
}

.about-page-text
{
  max-width:620px !important;
}

.about-page-text h1
{
  font-size:clamp(58px, 5.4vw, 86px) !important;
  line-height:.92 !important;
  margin:18px 0 18px !important;
}

.about-page-text h2
{
  font-size:clamp(25px, 2vw, 32px) !important;
  line-height:1.28 !important;
  color:#4f9d36 !important;
  margin-bottom:30px !important;
}

.about-page-text > p
{
  font-size:20px !important;
  line-height:1.72 !important;
  color:#33443d !important;
  margin-bottom:30px !important;
}

.about-points
{
  gap:20px !important;
  margin:32px 0 34px !important;
}

.about-points article
{
  grid-template-columns:58px 1fr !important;
  gap:18px !important;
  align-items:center !important;
}

.about-points i
{
  width:54px !important;
  height:54px !important;
  background:#eaf3e3 !important;
  color:#4f9a34 !important;
  box-shadow:inset 0 0 0 1px rgba(79,154,52,.08) !important;
}

.about-points strong
{
  font-size:20px !important;
  color:#073f2f !important;
}

.about-points p
{
  font-size:16px !important;
  color:#68756f !important;
}

.about-page-photo
{
  position:relative !important;
  overflow:visible !important;
  border-radius:30px !important;
  box-shadow:none !important;
  isolation:isolate !important;
}

.about-page-photo::before
{
  content:"" !important;
  position:absolute !important;
  inset:18px -10px -12px 18px !important;
  border-radius:28px !important;
  background:rgba(255,255,255,.72) !important;
  box-shadow:0 14px 35px rgba(10,50,35,.05) !important;
  z-index:-1 !important;
}

.about-page-photo::after
{
  content:"" !important;
  position:absolute !important;
  inset:auto 18% -14px 18% !important;
  height:18px !important;
  border-radius:50% !important;
  background:rgba(10,50,35,.08) !important;
  filter:blur(18px) !important;
  z-index:-2 !important;
}

.about-page-photo img
{
  display:block !important;
  width:100% !important;
  height:560px !important;
  object-fit:cover !important;
  object-position:center center !important;
  border-radius:26px !important;
  box-shadow:0 14px 34px rgba(10,50,35,.10) !important;
}

.about-page-photo .about-counter
{
  display:none !important;
}

.about-page-premium .btn-lime
{
  padding:17px 28px !important;
  border-radius:16px !important;
  box-shadow:0 18px 35px rgba(87,165,52,.22) !important;
}

@media(max-width:1100px)
{
  .about-page-premium
  {
    grid-template-columns:1fr !important;
    width:calc(100% - 36px) !important;
    padding:44px 28px !important;
  }

  .about-page-text
  {
    max-width:none !important;
  }

  .about-page-photo img
  {
    display:block !important;
    width:100% !important;
    height:560px !important;
    object-fit:cover !important;
    object-position:center center !important;
    border-radius:26px !important;
    box-shadow:0 14px 34px rgba(10,50,35,.10) !important;
  }

  .about-page-photo::before
  {
    content:"" !important;
    position:absolute !important;
    inset:18px -10px -12px 18px !important;
    border-radius:28px !important;
    background:rgba(255,255,255,.72) !important;
    box-shadow:0 14px 35px rgba(10,50,35,.05) !important;
    z-index:-1 !important;
  }
}

@media(max-width:700px)
{
  .about-page-premium
  {
    margin:32px auto 54px !important;
    padding:34px 22px !important;
    border-radius:24px !important;
  }

  .about-page-text h1
  {
    font-size:48px !important;
  }

  .about-page-photo img
  {
    display:block !important;
    width:100% !important;
    height:560px !important;
    object-fit:cover !important;
    object-position:center center !important;
    border-radius:26px !important;
    box-shadow:0 14px 34px rgba(10,50,35,.10) !important;
  }
}

/* =====================================================CORRECTION FINALE À PROPOS — moins de cadres, plus premium===================================================== */
.about-page-premium
{
  width:min(100% - 96px, 1500px) !important;
  margin:72px auto 96px !important;
  padding:72px clamp(44px,5vw,76px) !important;
  grid-template-columns:0.9fr 1.1fr !important;
  gap:clamp(52px,5vw,84px) !important;
  align-items:center !important;
  background:radial-gradient(circle at 92% 0%, rgba(121,181,62,.12), transparent 36%),linear-gradient(135deg,#f7f6ef 0%,#f2f1e9 100%) !important;
  border:1px solid rgba(10,60,42,.06) !important;
  border-radius:34px !important;
  box-shadow:0 22px 65px rgba(10,50,35,.07) !important;
  overflow:hidden !important;
}

.about-page-text
{
  max-width:600px !important;
}

.about-page-text h1
{
  font-size:clamp(50px,3.6vw,78px) !important;
  line-height:.95 !important;
  letter-spacing:-.045em !important;
  margin:16px 0 20px !important;
}

.about-page-text h2
{
  max-width:560px !important;
  font-size:clamp(24px,1.85vw,31px) !important;
  line-height:1.32 !important;
  margin:0 0 32px !important;
  color:#4d9b35 !important;
}

.about-page-text > p
{
  max-width:590px !important;
  font-size:19px !important;
  line-height:1.8 !important;
  color:#33433d !important;
  margin-bottom:34px !important;
}

.about-points
{
  display:grid !important;
  gap:24px !important;
  margin:34px 0 38px !important;
}

.about-points article
{
  display:grid !important;
  grid-template-columns:58px 1fr !important;
  gap:18px !important;
  align-items:center !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  padding:0 !important;
  border-radius:0 !important;
}

.about-points i
{
  width:54px !important;
  height:54px !important;
  border-radius:50% !important;
  background:#e8f2df !important;
  color:#4f9b36 !important;
  box-shadow:inset 0 0 0 1px rgba(79,155,54,.08) !important;
}

.about-points strong
{
  display:block !important;
  font-size:20px !important;
  color:#073f2f !important;
  margin-bottom:4px !important;
}

.about-points p
{
  font-size:16px !important;
  line-height:1.4 !important;
  margin:0 !important;
  color:#66736d !important;
}

.about-page-premium .btn-lime
{
  width:auto !important;
  min-width:260px !important;
  justify-content:center !important;
  border-radius:15px !important;
  padding:17px 28px !important;
  box-shadow:0 18px 40px rgba(105,184,48,.24) !important;
}

.about-page-photo
{
  position:relative !important;
  overflow:visible !important;
  border-radius:32px !important;
  box-shadow:none !important;
  transform:none !important;
}

.about-page-photo::before
{
  content:"" !important;
  position:absolute !important;
  inset:18px -10px -12px 18px !important;
  border-radius:28px !important;
  background:rgba(255,255,255,.72) !important;
  box-shadow:0 14px 35px rgba(10,50,35,.05) !important;
  z-index:-1 !important;
}

.about-page-photo::after
{
  content:"" !important;
  position:absolute !important;
  inset:auto 18% -14px 18% !important;
  height:18px !important;
  border-radius:50% !important;
  background:rgba(10,50,35,.08) !important;
  filter:blur(18px) !important;
  z-index:-2 !important;
}

.about-page-photo img
{
  display:block !important;
  width:100% !important;
  height:560px !important;
  object-fit:cover !important;
  object-position:center center !important;
  border-radius:26px !important;
  box-shadow:0 14px 34px rgba(10,50,35,.10) !important;
}

.about-page-photo .about-counter
{
  display:none !important;
}

@media(max-width:1100px)
{
  .about-page-premium
  {
    width:calc(100% - 36px) !important;
    grid-template-columns:1fr !important;
    padding:42px 26px !important;
  }

  .about-page-text
  {
    max-width:none !important;
  }

  .about-page-photo img
  {
    display:block !important;
    width:100% !important;
    height:560px !important;
    object-fit:cover !important;
    object-position:center center !important;
    border-radius:26px !important;
    box-shadow:0 14px 34px rgba(10,50,35,.10) !important;
  }
}

@media(max-width:700px)
{
  .about-page-premium
  {
    margin:34px auto 58px !important;
    padding:30px 20px !important;
    border-radius:24px !important;
  }

  .about-page-text h1
  {
    font-size:30px !important;
  }

  .nav a {
    padding: 5px 0 5px;
    position: relative;
    text-transform: uppercase;
  }

  .nav a:after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 1px;
    width: 0;
    height: 3px;
    background: var(--lime);
    border-radius: 20px;
    transition: .25s;
}

  .about-page-photo img
  {
    display:block !important;
    width:100% !important;
    height:560px !important;
    object-fit:cover !important;
    object-position:center center !important;
    border-radius:26px !important;
    box-shadow:0 14px 34px rgba(10,50,35,.10) !important;
  }
}

/* =====================================================CONSEILS PREMIUM — cartes conseils bas de site===================================================== */
.premium-tips-showcase
{
  position:relative;
  padding:80px clamp(28px,5vw,86px) 72px;
  background:radial-gradient(circle at 4% 78%, rgba(116,177,61,.08), transparent 26%),radial-gradient(circle at 96% 20%, rgba(116,177,61,.07), transparent 28%),linear-gradient(180deg,#fbfaf5 0%,#f6f5ef 100%);
  overflow:hidden;
}

.premium-tips-showcase:before,.premium-tips-showcase:after
{
  content:"";
  position:absolute;
  width:220px;
  height:220px;
  opacity:.08;
  pointer-events:none;
  background:radial-gradient(ellipse at center, transparent 38%, #477c31 39%, transparent 41%),radial-gradient(ellipse at center, transparent 52%, #477c31 53%, transparent 55%);
  border-radius:50%;
}

.premium-tips-showcase:before
{
  left:-80px;
  bottom:40px;
transform:rotate(-22deg)}

.premium-tips-showcase:after
{
  right:-90px;
  top:130px;
transform:rotate(28deg)}

.premium-tips-head
{
  position:relative;
  z-index:1;
  text-align:center;
  max-width:980px;
  margin:0 auto 54px;
}

.tips-leaf
{
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  margin:0 auto 18px;
  color:#5c9b2e;
  font-size:28px;
}

.tips-kicker
{
  display:inline-flex;
  align-items:center;
  gap:18px;
  color:#4f8d2d;
  text-transform:uppercase;
  letter-spacing:.26em;
  font-size:14px;
  font-weight:900;
}

.tips-kicker:before,.tips-kicker:after
{
  content:"";
  width:34px;
  height:1px;
  background:#78ad43;
}

.premium-tips-head h2
{
  font-family:'Playfair Display',serif;
  color:#0b4d32;
  font-size:clamp(42px,2.2vw,70px);
  line-height:1.02;
  letter-spacing:-.04em;
  margin:22px 0 16px;
}

.premium-tips-head p
{
  max-width:760px;
  margin:0 auto;
  color:#626d68;
  font-size:21px;
  line-height:1.55;
}

.premium-tips-head p:after
{
  content:"";
  display:block;
  width:70px;
  height:3px;
  border-radius:20px;
  background:#5f8d2f;
  margin:32px auto 0;
}

.premium-tips-grid
{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:30px;
  max-width:1500px;
  margin:0 auto;
}

.premium-tip-card
{
  background:#fff;
  border-radius:18px;
  overflow:hidden;
  border:1px solid rgba(10,50,35,.08);
  box-shadow:0 22px 55px rgba(10,50,35,.09);
  transition:transform .28s ease, box-shadow .28s ease;
}

.premium-tip-card:hover
{
  transform:translateY(-8px);
  box-shadow:0 30px 75px rgba(10,50,35,.14);
}

.premium-tip-img
{
  position:relative;
  height:280px;
  overflow:hidden;
}

.premium-tip-img img
{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transform:scale(1.02);
  transition:transform .45s ease;
}

.premium-tip-card:hover .premium-tip-img img
{
  transform:scale(1.08);
}

.premium-tip-img:after
{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(2,22,14,.25),transparent 52%);
}

.premium-tip-img span
{
  position:absolute;
  left:22px;
  top:22px;
  z-index:2;
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:10px 18px;
  border-radius:999px;
  background:rgba(16,72,42,.82);
  color:#fff;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:13px;
  font-weight:900;
  backdrop-filter:blur(10px);
}

.premium-tip-body
{
  position:relative;
  padding:42px 38px 38px;
  min-height:290px;
  border-bottom:4px solid #2f7726;
}

.premium-tip-meta
{
  display:flex;
  align-items:center;
  gap:18px;
  margin-bottom:18px;
}

.premium-tip-meta i
{
  width:56px;
  height:56px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#e8f2df;
  color:#4f922f;
  font-size:24px;
  flex:0 0 auto;
}

.premium-tip-meta small
{
  color:#285c3f;
  text-transform:uppercase;
  letter-spacing:.16em;
  font-size:13px;
  font-weight:900;
}

.premium-tip-body h3
{
  font-family:'Playfair Display',serif;
  color:#0b4d32;
  font-size:clamp(20px,1vw,34px);
  line-height:1.50;
  letter-spacing:-.02em;
  margin:0 0 20px;
}

.premium-tip-body p
{
  color:#65716b;
  font-size:17px;
  line-height:1.7;
  margin:0 0 28px;
}

.premium-tip-body a
{
  color:#2f7d2c;
  font-weight:900;
  display:inline-flex;
  align-items:center;
  gap:14px;
}

.premium-tip-body a i
{
  transition:transform .22s ease;
}

.premium-tip-body a:hover i
{
  transform:translateX(6px);
}

.premium-tips-button
{
  width:max-content;
  margin:48px auto 0;
  display:flex;
  align-items:center;
  gap:16px;
  padding:18px 34px;
  border-radius:999px;
  background:linear-gradient(135deg,#0b583b,#073f2f);
  color:#fff!important;
  font-weight:900;
  box-shadow:0 18px 42px rgba(10,50,35,.20);
}

.conseils-premium-main
{
  background:#fff;
}

.premium-tips-grid-page
{
  max-width:1420px;
}

@media(max-width:1100px)
{
  .premium-tips-grid
  {
    grid-template-columns:1fr;
    max-width:680px;
  }

  .premium-tip-img
  {
    height:330px;
  }
}

@media(max-width:700px)
{
  .premium-tips-showcase
  {
    padding:56px 18px;
  }

  .premium-tips-head h2
  {
    font-size:38px;
  }

  .premium-tips-head p
  {
    font-size:18px;
  }

  .premium-tip-img
  {
    height:230px;
  }

  .premium-tip-body
  {
    padding:30px 24px;
  }
}

/* Ancienne bande conseils masquée si encore présente */
.tips-band
{
  display:none!important;
}

/* ARTICLES CONSEILS PREMIUM */
.article-hero
{
  position:relative;
  height:70vh;
  min-height:620px;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
}

.article-hero img
{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
}

.article-overlay
{
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(3,28,18,.88),rgba(3,28,18,.25));
  z-index:1;
}

.article-hero-content
{
  position:relative;
  z-index:2;
  max-width:1200px;
  width:100%;
  padding:0 80px;
  color:#fff;
}

.article-hero-content span
{
  display:inline-block;
  padding:10px 18px;
  border-radius:999px;
  background:#70a92f;
  font-weight:800;
  margin-bottom:22px;
}

.article-hero-content h1
{
  font-family:'Playfair Display',serif;
  font-size:clamp(54px,6vw,96px);
  line-height:.95;
  max-width:760px;
  margin:0 0 20px;
}

.article-hero-content p
{
  font-size:22px;
  color:rgba(255,255,255,.88);
}

.article-content-wrap
{
  padding:90px 30px;
  background:#f7f6f1;
}

.article-content
{
  max-width:980px;
  margin:0 auto;
  background:#fff;
  border-radius:28px;
  padding:70px;
  box-shadow:0 20px 60px rgba(0,0,0,.08);
}

.article-content p
{
  font-size:20px;
  line-height:1.9;
  color:#55615d;
}

.article-content h2
{
  font-family:'Playfair Display',serif;
  font-size:42px;
  color:#0b4d32;
  margin:50px 0 18px;
}

.article-highlight
{
  margin:45px 0;
  padding:34px;
  border-radius:24px;
  background:linear-gradient(135deg,#0d4e34,#133c2f);
  display:flex;
  gap:22px;
  color:#fff;
  align-items:flex-start;
}

.article-highlight i
{
  font-size:30px;
  color:#86c23f;
}

.article-highlight strong
{
  display:block;
  font-size:24px;
  margin-bottom:10px;
}

@media(max-width:768px)
{
  .article-hero-content
  {
    padding:0 24px;
  }

  .article-content
  {
    padding:34px 24px;
  }

  .article-hero-content h1
  {
    font-size:54px;
  }
}

/* FIX FINAL ARTICLES CONSEILS */
.article-page
{
  background:#f7f6f1;
}

.article-hero
{
  position:relative;
  min-height:620px;
  height:72vh;
  display:flex;
  align-items:center;
  overflow:hidden;
  color:#fff;
}

.article-hero img
{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
}

.article-overlay
{
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(3,25,17,.90),rgba(3,25,17,.52) 45%,rgba(3,25,17,.14));
  z-index:1;
}

.article-hero-content
{
  position:relative;
  z-index:2;
  width:min(1200px, calc(100% - 90px));
  margin:0 auto;
}

.article-hero-content span
{
  display:inline-flex;
  align-items:center;
  padding:10px 18px;
  border-radius:999px;
  background:#72b73a;
  color:#fff;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.12em;
  margin-bottom:24px;
}

.article-hero-content h1
{
  max-width:850px;
  font-family:'Playfair Display',serif;
  font-size:clamp(52px,4vw,96px);
  line-height:1.50;
  margin:0 0 22px;
}

.article-hero-content p
{
  max-width:720px;
  color:rgba(255,255,255,.88);
  font-size:22px;
  line-height:1.6;
}

.article-content-wrap
{
  padding:90px 24px;
}

.article-content
{
  max-width:980px;
  margin:0 auto;
  background:#fff;
  border:1px solid rgba(10,50,35,.08);
  border-radius:30px;
  padding:68px;
  box-shadow:0 24px 70px rgba(10,50,35,.09);
}

.article-meta-line
{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  margin-bottom:34px;
}

.article-meta-line span
{
  display:inline-flex;
  align-items:center;
  gap:9px;
  padding:10px 16px;
  border-radius:999px;
  background:#eef6e7;
  color:#285f3d;
  font-weight:800;
}

.article-content .lead
{
  font-size:24px;
  line-height:1.7;
  color:#123c31;
  font-weight:600;
}

.article-content p
{
  color:#5d6964;
  font-size:20px;
  line-height:1.9;
}

.article-content h2
{
  font-family:'Playfair Display',serif;
  color:#0b4d32;
  font-size:44px;
  line-height:1.05;
  margin:52px 0 18px;
}

.article-highlight
{
  margin:46px 0;
  padding:32px;
  border-radius:26px;
  background:linear-gradient(135deg,#0b4d32,#082f24);
  display:grid;
  grid-template-columns:56px 1fr;
  gap:22px;
  color:#fff;
}

.article-highlight i
{
  width:56px;
  height:56px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:rgba(133,194,63,.16);
  color:#8ed046;
  font-size:26px;
}

.article-highlight strong
{
  display:block;
  font-size:24px;
  margin-bottom:8px;
}

.article-highlight p
{
  color:rgba(255,255,255,.82);
  margin:0;
}

.article-cta
{
  margin-top:56px;
  padding:38px;
  border-radius:26px;
  background:#f3f8ed;
  border:1px solid #dfead5;
}

.article-cta h3
{
  color:#0b4d32;
  font-size:30px;
  margin:0 0 10px;
}

.article-cta p
{
  margin-bottom:24px;
}


@media(max-width:760px)
{
  .article-hero
  {
    min-height:520px;
  }

  .article-hero-content
  {
    width:calc(100% - 40px);
  }

  .article-hero-content h1
  {
    font-size:46px;
  }

  .article-content
  {
    padding:32px 24px;
  }

  .article-content h2
  {
    font-size:34px;
  }

  .article-highlight
  {
    grid-template-columns:1fr;
  }
}

.article-extra-section
{
  margin-top:50px;
}

.article-extra-section h2
{
  font-family:'Playfair Display',serif;
  font-size:42px;
  color:#0b4d32;
  margin:48px 0 18px;
}

.article-extra-section p
{
  font-size:19px;
  line-height:1.9;
  color:#58645f;
  margin-bottom:18px;
}

.article-list
{
  margin:30px 0;
  padding-left:0;
  list-style:none;
  display:grid;
  gap:16px;
}

.article-list li
{
  background:#f4f8ef;
  border:1px solid #dce8d2;
  padding:18px 22px;
  border-radius:18px;
  font-size:18px;
  color:#184334;
  font-weight:600;
  position:relative;
  padding-left:58px;
}

.article-list li:before
{
  content:"✓";
  position:absolute;
  left:22px;
  top:50%;
  transform:translateY(-50%);
  width:24px;
  height:24px;
  border-radius:50%;
  background:#79bc3d;
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:14px;
  font-weight:800;
}

.article-image-block
{
  margin:45px 0;
  border-radius:28px;
  overflow:hidden;
  box-shadow:0 24px 60px rgba(10,50,35,.12);
}

.article-image-block img
{
  width:100%;
  height:420px;
  object-fit:cover;
  display:block;
}

@media(max-width:760px)
{
  .article-extra-section h2
  {
    font-size:32px;
  }

  .article-image-block img
  {
    height:260px;
  }
}

/* =====================================================FIX GLOBAL — largeur harmonisée conseils + articles===================================================== */
:root
{
  --site-container: min(1180px, calc(100% - 80px));
}

.conseils-premium-main,.article-content-wrap
{
  width:100%;
}

.conseils-premium-main .premium-tips-head,.conseils-premium-main .premium-tips-grid,.premium-tips-grid-page
{
  width:var(--site-container) !important;
  max-width:1180px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

.conseils-premium-main .premium-tips-grid,.premium-tips-grid-page
{
  display:grid !important;
  grid-template-columns:repeat(3, 1fr) !important;
  gap:32px !important;
}

.conseils-premium-main .premium-tip-card
{
  width:100% !important;
  max-width:none !important;
}

.article-content
{
  width:var(--site-container) !important;
  max-width:980px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

.article-content-wrap
{
  padding-left:0 !important;
  padding-right:0 !important;
}

.article-extra-section,.article-content > h2,.article-content > p,.article-content .lead,.article-content .article-highlight,.article-content .article-cta,.article-content .article-list,.article-content .article-image-block,.article-meta-line
{
  max-width:100% !important;
}

.premium-tips-showcase .premium-tips-grid
{
  width:var(--site-container) !important;
  max-width:1180px !important;
}

@media(max-width:980px)
{
  :root
  {
    --site-container: calc(100% - 32px);
  }

  .conseils-premium-main .premium-tips-grid,  .premium-tips-grid-page,  .premium-tips-showcase .premium-tips-grid
  {
    grid-template-columns:1fr !important;
    max-width:680px !important;
  }

  .article-content
  {
    width:var(--site-container) !important;
    max-width:none !important;
  }
}
.hp-field{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;}
.legal-page .inner-section{max-width:900px;margin:0 auto;padding:90px 22px;}
.legal-page p{margin:0 0 18px;line-height:1.8;color:#425044;}
.legal-page h2{margin:34px 0 12px;color:#12351f;}


/* Boutons WhatsApp */
.btn-whatsapp-header,
.btn-whatsapp-footer {
  background:#25D366;
  color:#fff;
}

.btn-whatsapp-footer {
  margin-top:10px;
}

.whatsapp-floating {
  position:fixed;
  right:22px;
  bottom:22px;
  z-index:999;
  display:flex;
  align-items:center;
  justify-content:center;
  width:72px;
  height:72px;
  border-radius:50%;
  background:#25D366;
  color:#fff;
  box-shadow:0 18px 35px rgba(0,0,0,.22);
  transition:.2s;
}

.whatsapp-floating i {
  font-size:38px;
}

.whatsapp-floating:hover {
  transform:translateY(-3px);
}

@media(max-width:1100px) {
  .header-actions .btn-whatsapp-header {
    display:none;
  }
}

@media(max-width:700px) {
  .whatsapp-floating {
  position:fixed;
  right:22px;
  bottom:22px;
  z-index:999;
  display:flex;
  align-items:center;
  justify-content:center;
  width:72px;
  height:72px;
  border-radius:50%;
  background:#25D366;
  color:#fff;
  box-shadow:0 18px 35px rgba(0,0,0,.22);
  transition:.2s;
}

  .whatsapp-floating span {
    display:none;
  }
}


/* =====================================================
   ABOUT IMAGE CLEAN: carte +150 en HTML modifiable
   ===================================================== */
.about-page-photo .about-counter{
  display:flex !important;
  position:absolute !important;
  right:28px !important;
  bottom:22px !important;
  width:220px !important;
  min-height:210px !important;
  padding:26px 22px 22px !important;
  border-radius:16px !important;
  background:rgba(255,255,255,.96) !important;
  box-shadow:0 16px 38px rgba(7,63,47,.16) !important;
  z-index:4 !important;
  align-items:center !important;
  justify-content:center !important;
  flex-direction:column !important;
  text-align:center !important;
  pointer-events:none !important;
}

.about-page-photo .about-counter > i{
  width:56px !important;
  height:56px !important;
  border-radius:50% !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:#4d9b35 !important;
  color:#fff !important;
  font-size:23px !important;
  margin-bottom:18px !important;
}

.about-page-photo .about-counter b{
  display:block !important;
  font-size:52px !important;
  line-height:.9 !important;
  letter-spacing:-.05em !important;
  color:#073f2f !important;
  font-weight:900 !important;
  margin-bottom:12px !important;
}

.about-page-photo .about-counter span,
.about-page-photo .about-counter small{
  display:block !important;
  font-size:20px !important;
  line-height:1.35 !important;
  color:#33433d !important;
}

.about-page-photo .about-counter small strong,
.about-page-photo .about-counter small i{
  color:#4d9b35 !important;
  font-weight:800 !important;
}

.about-page-photo .about-counter small i{
  display:inline !important;
  width:auto !important;
  height:auto !important;
  background:transparent !important;
  font-size:14px !important;
  margin:0 0 0 4px !important;
}

@media(max-width:700px){
  .about-page-photo .about-counter{
    right:14px !important;
    bottom:14px !important;
    width:160px !important;
    min-height:150px !important;
    padding:18px 14px 16px !important;
    border-radius:14px !important;
  }
  .about-page-photo .about-counter > i{
    width:42px !important;
    height:42px !important;
    font-size:17px !important;
    margin-bottom:12px !important;
  }
  .about-page-photo .about-counter b{
    font-size:36px !important;
    margin-bottom:8px !important;
  }
  .about-page-photo .about-counter span,
  .about-page-photo .about-counter small{
    font-size:15px !important;
  }
}

/* reCAPTCHA */
.recaptcha-wrap{
   display:flex;
   justify-content:flex-start;
   margin:8px 0 4px;
}
.recaptcha-wrap.full{
   grid-column:1 / -1;
}
@media (max-width:480px){
   .recaptcha-wrap{
      transform:scale(.92);
      transform-origin:left center;
   }
}
