.elementor-36 .elementor-element.elementor-element-c068c67{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-36 .elementor-element.elementor-element-55967e0{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-36 .elementor-element.elementor-element-72ae2fe{padding:0px 0px 0px 0px;}.elementor-36 .elementor-element.elementor-element-64be6e6{padding:0px 0px 0px 0px;}.elementor-36 .elementor-element.elementor-element-cd44dc0{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-36 .elementor-element.elementor-element-145eb02{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-36 .elementor-element.elementor-element-50f0ad0{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}/* Start custom CSS for html, class: .elementor-element-e728824 */:root{
  --dark:#0f1a13;
  --dark2:#162119;
  --green:#1a3020;
  --mid:#254530;
  --leaf:#3a6645;
  --sage:#6a9070;
  --gold:#c8a55a;
  --gold2:#dfc07e;
  --cream:#f4ede0;
  --warm:#ece4d4;
  --white:#faf7f2;
}

*,
*::before,
*::after{
  margin:0;
  padding:0;
  box-sizing:border-box;
}

html{
  scroll-behavior:smooth;
}

body{
  font-family:'DM Sans',sans-serif;
  background:var(--white);
  color:var(--dark);
  overflow-x:hidden;
}

img,
video,
iframe{
  max-width:100%;
  height:auto;
  display:block;
}

a{
  -webkit-tap-highlight-color:transparent;
}

section,
div,
nav,
footer{
  min-width:0;
}

/* =========================
   ANNOUNCEMENT
========================= */
.ann{
  background:var(--dark);
  padding:10px 20px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:32px;
  overflow:hidden;
}

.ann-inner{
  display:flex;
  align-items:center;
  gap:32px;
  animation:slideX 18s linear infinite;
  white-space:nowrap;
}

.ann-item{
  display:flex;
  align-items:center;
  gap:8px;
  font-size:12px;
  font-weight:400;
  letter-spacing:.07em;
  color:rgba(244,237,224,.8);
  flex-shrink:0;
}

.ann-item strong{
  color:var(--gold2);
}

.ann-sep{
  color:rgba(200,165,90,.3);
  flex-shrink:0;
}

/* =========================
   NAV
========================= */
nav{
  background:var(--white);
  border-bottom:1px solid rgba(0,0,0,.07);
  position:sticky;
  top:0;
  z-index:200;
}

.nav-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 56px;
  min-height:72px;
  gap:16px;
}

.nav-logo{
  text-decoration:none;
  display:flex;
  flex-direction:column;
  gap:1px;
}

.nl-m{
  font-family:'DM Serif Display',serif;
  font-size:22px;
  letter-spacing:.08em;
  color:var(--dark);
}

.nl-m span{
  color:var(--leaf);
}

.nl-s{
  font-size:9px;
  font-weight:400;
  letter-spacing:.28em;
  text-transform:uppercase;
  color:var(--sage);
}

.nav-links{
  display:flex;
  gap:36px;
  list-style:none;
}

.nav-links a{
  font-size:13px;
  font-weight:400;
  color:#555;
  text-decoration:none;
  transition:color .25s;
  position:relative;
}

.nav-links a::after{
  content:'';
  position:absolute;
  bottom:-4px;
  left:0;
  right:0;
  height:1px;
  background:var(--leaf);
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .25s;
}

.nav-links a:hover,
.nav-links a.active{
  color:var(--leaf);
}

.nav-links a:hover::after,
.nav-links a.active::after{
  transform:scaleX(1);
}

.nav-actions{
  display:flex;
  align-items:center;
  gap:14px;
}

.btn-outline,
.btn-solid{
  padding:9px 22px;
  font-family:'DM Sans',sans-serif;
  font-size:12px;
  font-weight:500;
  letter-spacing:.06em;
  text-transform:uppercase;
  cursor:pointer;
  transition:all .25s;
  text-decoration:none;
  display:inline-block;
  text-align:center;
  white-space:nowrap;
}

.btn-outline{
  border:1.5px solid var(--leaf);
  color:var(--leaf);
  background:transparent;
}

.btn-outline:hover{
  background:var(--leaf);
  color:#fff;
}

.btn-solid{
  background:var(--gold);
  border:1.5px solid var(--gold);
  color:var(--dark);
}

.btn-solid:hover{
  background:var(--gold2);
  border-color:var(--gold2);
}

/* =========================
   HERO
========================= */
.page-hero{
  background:var(--dark);
  padding:120px 56px 100px;
  position:relative;
  overflow:hidden;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:80px;
  align-items:center;
}

.page-hero::before{
  content:'';
  position:absolute;
  top:0;
  right:0;
  bottom:0;
  width:55%;
  background:radial-gradient(
    ellipse 90% 80% at 70% 50%,
    rgba(42,80,52,.6) 0%,
    transparent 70%
  );
}

.ph-text{
  position:relative;
  z-index:2;
}

.ph-breadcrumb{
  display:flex;
  align-items:center;
  gap:8px;
  margin-bottom:32px;
  font-size:12px;
  color:rgba(244,237,224,.4);
}

.ph-breadcrumb a{
  color:rgba(244,237,224,.4);
  text-decoration:none;
  transition:color .25s;
}

.ph-breadcrumb a:hover{
  color:var(--gold);
}

.ph-breadcrumb span{
  color:var(--gold);
}

.ph-tag{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:20px;
}

.ph-tag .line{
  width:24px;
  height:2px;
  background:var(--gold);
}

.ph-tag span{
  font-size:11px;
  font-weight:500;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--gold);
}

.ph-title{
  font-family:'Playfair Display',serif;
  font-size:clamp(50px,5vw,78px);
  font-weight:700;
  line-height:1.05;
  color:var(--cream);
  margin-bottom:24px;
}

.ph-title em{
  font-style:italic;
  font-weight:400;
  color:var(--gold2);
  display:block;
}

.ph-desc{
  font-size:16px;
  font-weight:300;
  line-height:1.9;
  color:rgba(244,237,224,.55);
  max-width:440px;
}

.ph-visual{
  position:relative;
  z-index:2;
  display:flex;
  align-items:center;
  justify-content:center;
}

.ph-visual .big-num{
  font-family:'Playfair Display',serif;
  font-size:clamp(140px,16vw,220px);
  font-weight:700;
  font-style:italic;
  color:rgba(201,165,90,.07);
  line-height:1;
  user-select:none;
}

/* =========================
   COMMON SMALL TITLE
========================= */
.sec-tag{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:18px;
}

.sec-tag .tl{
  width:24px;
  height:2px;
  background:var(--gold);
}

.sec-tag span{
  font-size:11px;
  font-weight:500;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--gold);
}

.story-topline{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  margin-bottom:14px;
}

.story-line{
  width:24px;
  height:2px;
  background:var(--gold);
}

.story-topline span{
  font-size:11px;
  font-weight:500;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--gold);
}

/* =========================
   MISSION
========================= */
.mission{
  padding:100px 56px;
  background:var(--white);
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:80px;
  align-items:center;
}

.mission-text h2{
  font-family:'Playfair Display',serif;
  font-size:clamp(36px,4vw,52px);
  font-weight:700;
  line-height:1.1;
  color:var(--dark);
  margin-bottom:28px;
}

.mission-text h2 em{
  font-style:italic;
  color:var(--leaf);
}

.mission-text p{
  font-size:15px;
  font-weight:300;
  line-height:1.95;
  color:#555;
  margin-bottom:18px;
}

.mission-quote{
  margin:32px 0;
  padding:24px 28px;
  background:var(--cream);
  border-left:3px solid var(--gold);
  font-family:'Playfair Display',serif;
  font-size:20px;
  font-weight:400;
  font-style:italic;
  color:var(--dark);
  line-height:1.6;
}

.mission-cards{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
}

.mcard{
  padding:32px 28px;
  background:var(--green);
  border:1px solid rgba(201,165,90,.1);
  transition:border-color .3s,transform .3s;
}

.mcard:hover{
  border-color:rgba(201,165,90,.4);
  transform:translateY(-4px);
}

.mcard .ico{
  font-size:28px;
  margin-bottom:16px;
  display:block;
}

.mcard h4{
  font-family:'Playfair Display',serif;
  font-size:20px;
  font-weight:500;
  color:var(--cream);
  margin-bottom:10px;
}

.mcard p{
  font-size:13px;
  font-weight:300;
  line-height:1.75;
  color:rgba(244,237,224,.5);
}

/* =========================
   STORY / TIMELINE
========================= */
.story{
  background:var(--cream);
  padding:100px 56px;
}

.story-title-wrap{
  text-align:center;
  margin-bottom:72px;
}

.story-title{
  font-family:'Playfair Display',serif;
  font-size:clamp(38px,4vw,54px);
  font-weight:700;
  color:var(--dark);
  line-height:1.1;
}

.story-title em{
  font-style:italic;
  color:var(--leaf);
}

.timeline{
  position:relative;
  max-width:800px;
  margin:0 auto;
}

.timeline::before{
  content:'';
  position:absolute;
  left:50%;
  top:0;
  bottom:0;
  width:1px;
  background:rgba(58,102,69,.15);
  transform:translateX(-50%);
}

.tl-item{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:60px;
  align-items:center;
  margin-bottom:60px;
  position:relative;
}

.tl-item:nth-child(even) .tl-content{
  order:2;
}

.tl-item:nth-child(even) .tl-space{
  order:1;
}

.tl-dot{
  position:absolute;
  left:50%;
  top:32px;
  transform:translateX(-50%);
  width:14px;
  height:14px;
  border-radius:50%;
  background:var(--gold);
  border:3px solid var(--warm);
  z-index:2;
}

.tl-content{
  background:var(--white);
  padding:32px 28px;
  border:1px solid rgba(0,0,0,.07);
  transition:border-color .3s,box-shadow .3s;
}

.tl-content:hover{
  border-color:var(--gold);
  box-shadow:0 8px 30px rgba(0,0,0,.07);
}

.tl-year{
  font-family:'Playfair Display',serif;
  font-size:13px;
  font-weight:700;
  color:var(--gold);
  letter-spacing:.1em;
  margin-bottom:10px;
}

.tl-content h3{
  font-family:'Playfair Display',serif;
  font-size:22px;
  font-weight:700;
  color:var(--dark);
  margin-bottom:10px;
}

.tl-content p{
  font-size:14px;
  font-weight:300;
  line-height:1.8;
  color:#666;
}

/* =========================
   VALEURS
========================= */
.valeurs{
  background:var(--green);
  padding:100px 56px;
}

.valeurs .sec-tag .tl{
  background:var(--gold2);
}

.valeurs .sec-tag span{
  color:var(--gold2);
}

.valeurs h2{
  font-family:'Playfair Display',serif;
  font-size:clamp(36px,4vw,52px);
  font-weight:700;
  color:var(--cream);
  margin-bottom:60px;
  line-height:1.1;
}

.valeurs h2 em{
  font-style:italic;
  color:var(--gold2);
}

.valeurs-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:2px;
}

.val-tile{
  background:rgba(255,255,255,.03);
  padding:48px 40px;
  border:1px solid rgba(255,255,255,.05);
  position:relative;
  overflow:hidden;
  transition:background .3s,border-color .3s;
}

.val-tile:hover{
  background:rgba(255,255,255,.06);
  border-color:rgba(201,165,90,.25);
}

.val-tile::after{
  content:'';
  position:absolute;
  bottom:0;
  left:0;
  right:0;
  height:2px;
  background:var(--gold);
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .4s;
}

.val-tile:hover::after{
  transform:scaleX(1);
}

.val-num{
  font-family:'Playfair Display',serif;
  font-size:56px;
  font-weight:700;
  font-style:italic;
  color:rgba(201,165,90,.1);
  line-height:1;
  margin-bottom:16px;
}

.val-ico{
  font-size:28px;
  display:block;
  margin-bottom:18px;
}

.val-tile h3{
  font-family:'Playfair Display',serif;
  font-size:24px;
  font-weight:500;
  color:var(--cream);
  margin-bottom:12px;
}

.val-tile p{
  font-size:13px;
  font-weight:300;
  line-height:1.85;
  color:rgba(244,237,224,.45);
}

/* =========================
   EQUIPE
========================= */
.equipe{
  background:var(--white);
  padding:100px 56px;
}

.equipe-header{
  text-align:center;
  margin-bottom:64px;
}

.equipe-header h2{
  font-family:'Playfair Display',serif;
  font-size:clamp(36px,4vw,52px);
  font-weight:700;
  color:var(--dark);
  line-height:1.1;
}

.equipe-header h2 em{
  font-style:italic;
  color:var(--leaf);
}

.equipe-header p{
  font-size:15px;
  font-weight:300;
  color:#777;
  margin-top:16px;
  max-width:500px;
  margin-left:auto;
  margin-right:auto;
  line-height:1.8;
}

.equipe-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:28px;
}

.eq-card{
  text-align:center;
  padding:40px 28px;
  border:1px solid rgba(0,0,0,.07);
  transition:border-color .3s,transform .3s,box-shadow .3s;
}

.eq-card:hover{
  border-color:var(--leaf);
  transform:translateY(-5px);
  box-shadow:0 16px 44px rgba(0,0,0,.08);
}

.eq-avatar{
  width:90px;
  height:90px;
  border-radius:50%;
  background:var(--green);
  display:flex;
  align-items:center;
  justify-content:center;
  font-family:'Playfair Display',serif;
  font-size:32px;
  font-weight:700;
  color:var(--gold2);
  margin:0 auto 20px;
  border:3px solid rgba(201,165,90,.2);
}

.eq-name{
  font-family:'Playfair Display',serif;
  font-size:22px;
  font-weight:700;
  color:var(--dark);
  margin-bottom:6px;
}

.eq-role{
  font-size:12px;
  font-weight:400;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--sage);
  margin-bottom:14px;
}

.eq-bio{
  font-size:13px;
  font-weight:300;
  line-height:1.75;
  color:#777;
}

/* =========================
   STATS
========================= */
.stats-band{
  background:var(--gold);
  padding:60px 56px;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:40px;
}

.stat{
  text-align:center;
}

.stat-n{
  font-family:'Playfair Display',serif;
  font-size:clamp(52px,5vw,72px);
  font-weight:700;
  color:var(--dark);
  line-height:1;
}

.stat-n small{
  font-size:.55em;
  font-weight:400;
}

.stat-l{
  font-size:12px;
  font-weight:400;
  letter-spacing:.15em;
  text-transform:uppercase;
  color:rgba(15,26,19,.55);
  margin-top:6px;
}

/* =========================
   CTA
========================= */
.about-cta{
  background:var(--dark2);
  padding:80px 56px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:40px;
  flex-wrap:wrap;
}

.about-cta h3{
  font-family:'Playfair Display',serif;
  font-size:clamp(30px,3.5vw,46px);
  font-weight:700;
  color:var(--cream);
  line-height:1.2;
}

.about-cta h3 em{
  font-style:italic;
  color:var(--gold2);
}

.about-cta p{
  font-size:14px;
  font-weight:300;
  color:rgba(244,237,224,.45);
  margin-top:12px;
  max-width:420px;
  line-height:1.8;
}

.cta-buttons{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
}

.cta-main,
.cta-ghost{
  padding:15px 28px;
  font-size:12px;
  letter-spacing:.1em;
  text-transform:uppercase;
  text-decoration:none;
  display:inline-block;
  transition:all .25s;
  text-align:center;
}

.cta-main{
  background:var(--gold);
  color:var(--dark);
  border:none;
  font-weight:500;
  padding-left:36px;
  padding-right:36px;
}

.cta-main:hover{
  background:var(--gold2);
  transform:translateY(-2px);
}

.cta-ghost{
  background:transparent;
  border:1.5px solid rgba(244,237,224,.2);
  color:rgba(244,237,224,.7);
  font-weight:400;
}

.cta-ghost:hover{
  border-color:var(--cream);
  color:var(--cream);
}

/* =========================
   FOOTER
========================= */
footer{
  background:var(--dark);
  padding:64px 56px 28px;
}

.ft-grid{
  display:grid;
  grid-template-columns:2fr 1fr 1fr 1fr;
  gap:56px;
  margin-bottom:52px;
}

.ft-brand .fbl{
  font-family:'DM Serif Display',serif;
  font-size:22px;
  letter-spacing:.08em;
  color:var(--cream);
  margin-bottom:4px;
}

.ft-brand .fbl span{
  color:var(--leaf);
}

.ft-brand .fbs{
  font-size:9px;
  font-weight:300;
  letter-spacing:.3em;
  text-transform:uppercase;
  color:rgba(244,237,224,.25);
  display:block;
  margin-bottom:18px;
}

.ft-brand p{
  font-size:13px;
  font-weight:300;
  line-height:1.8;
  color:rgba(244,237,224,.3);
  max-width:260px;
  margin-bottom:24px;
}

.ft-socials{
  display:flex;
  gap:10px;
}

.fsoc{
  width:36px;
  height:36px;
  border:1px solid rgba(255,255,255,.08);
  display:flex;
  align-items:center;
  justify-content:center;
  color:rgba(244,237,224,.3);
  font-size:14px;
  text-decoration:none;
  transition:all .25s;
}

.fsoc:hover{
  border-color:var(--gold);
  color:var(--gold);
}

.ft-col h4{
  font-size:10px;
  font-weight:500;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--gold);
  margin-bottom:22px;
}

.ft-col ul{
  list-style:none;
}

.ft-col li{
  margin-bottom:12px;
}

.ft-col a{
  font-size:13px;
  font-weight:300;
  color:rgba(244,237,224,.3);
  text-decoration:none;
  transition:color .25s;
}

.ft-col a:hover{
  color:var(--cream);
}

.ft-bottom{
  padding-top:28px;
  border-top:1px solid rgba(255,255,255,.05);
  display:flex;
  justify-content:space-between;
  align-items:center;
  flex-wrap:wrap;
  gap:12px;
}

.ft-bottom p,
.ft-bottom span{
  font-size:12px;
  font-weight:300;
  color:rgba(244,237,224,.18);
  letter-spacing:.04em;
}

/* =========================
   WA FLOAT
========================= */
.wa-float{
  position:fixed;
  bottom:28px;
  right:28px;
  z-index:300;
  background:#25D366;
  color:#fff;
  width:56px;
  height:56px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:24px;
  text-decoration:none;
  box-shadow:0 8px 28px rgba(37,211,102,.45);
  transition:transform .3s,box-shadow .3s;
}

.wa-float:hover{
  transform:scale(1.1);
  box-shadow:0 14px 40px rgba(37,211,102,.6);
}

.wa-float::before{
  content:'';
  position:absolute;
  width:100%;
  height:100%;
  border-radius:50%;
  background:rgba(37,211,102,.4);
  animation:waPulse 2s ease-out infinite;
}

/* =========================
   ANIMATIONS
========================= */
@keyframes slideX{
  from{transform:translateX(0);}
  to{transform:translateX(-50%);}
}

@keyframes waPulse{
  0%{transform:scale(1);opacity:.7;}
  100%{transform:scale(1.8);opacity:0;}
}

.sr{
  opacity:0;
  transform:translateY(28px);
  transition:opacity .65s ease,transform .65s ease;
}

.sr.vis{
  opacity:1;
  transform:translateY(0);
}

.sr.d1{transition-delay:.1s;}
.sr.d2{transition-delay:.2s;}
.sr.d3{transition-delay:.3s;}

/* =========================
   LAPTOP
========================= */
@media (max-width:1280px){
  .nav-inner,
  .page-hero,
  .mission,
  .story,
  .valeurs,
  .equipe,
  .stats-band,
  .about-cta,
  footer{
    padding-left:32px;
    padding-right:32px;
  }

  .page-hero{
    gap:48px;
    padding-top:96px;
    padding-bottom:80px;
  }

  .mission{
    gap:48px;
  }

  .valeurs-grid{
    grid-template-columns:repeat(2, minmax(0,1fr));
  }

  .nav-links{
    gap:24px;
  }
}

/* =========================
   TABLET
========================= */
@media (max-width:1024px){
  .ann{
    padding:10px 16px;
    gap:20px;
  }

  .ann-inner{
    gap:20px;
    animation-duration:22s;
  }

  .ann-item{
    font-size:11px;
  }

  .nav-inner{
    padding:12px 24px;
    min-height:72px;
    flex-wrap:wrap;
    gap:14px;
  }

  .nav-logo{
    flex:1 1 auto;
  }

  .nav-links{
    display:none;
  }

  .nav-actions{
    gap:10px;
    flex-wrap:wrap;
    justify-content:flex-end;
  }

  .nl-m{
    font-size:20px;
  }

  .nl-s{
    font-size:8px;
    letter-spacing:.22em;
  }

  .btn-outline,
  .btn-solid{
    padding:9px 18px;
    font-size:11px;
  }

  .page-hero{
    grid-template-columns:1fr;
    gap:24px;
    padding:72px 24px 56px;
  }

  .page-hero::before{
    width:100%;
    background:radial-gradient(
      ellipse 90% 70% at 70% 20%,
      rgba(42,80,52,.4) 0%,
      transparent 70%
    );
  }

  .ph-visual{
    display:none;
  }

  .ph-breadcrumb{
    margin-bottom:20px;
    flex-wrap:wrap;
    row-gap:4px;
  }

  .ph-tag{
    margin-bottom:16px;
  }

  .ph-title{
    font-size:clamp(40px,7vw,58px);
    margin-bottom:18px;
  }

  .ph-desc{
    font-size:15px;
    line-height:1.8;
    max-width:100%;
  }

  .mission{
    grid-template-columns:1fr;
    gap:36px;
    padding:72px 24px;
  }

  .mission-text h2{
    margin-bottom:20px;
  }

  .mission-text p{
    font-size:14px;
    line-height:1.85;
  }

  .mission-quote{
    margin:24px 0;
    padding:20px 22px;
    font-size:18px;
  }

  .mission-cards{
    grid-template-columns:repeat(2, minmax(0,1fr));
    gap:14px;
  }

  .mcard{
    padding:24px 20px;
  }

  .story{
    padding:72px 24px;
  }

  .story-title-wrap{
    margin-bottom:48px;
  }

  .timeline{
    max-width:100%;
    padding-left:18px;
  }

  .timeline::before{
    left:18px;
    transform:none;
  }

  .tl-item{
    grid-template-columns:1fr;
    gap:0;
    margin-bottom:28px;
  }

  .tl-space{
    display:none;
  }

  .tl-dot{
    left:18px;
    top:26px;
    transform:translateX(-50%);
    width:12px;
    height:12px;
    border-width:2px;
  }

  .tl-content{
    margin-left:34px;
    padding:24px 20px;
  }

  .tl-content h3{
    font-size:20px;
  }

  .tl-content p{
    font-size:14px;
    line-height:1.75;
  }

  .tl-item:nth-child(even) .tl-content,
  .tl-item:nth-child(even) .tl-space{
    order:unset;
  }

  .valeurs{
    padding:72px 24px;
  }

  .valeurs h2{
    margin-bottom:40px;
  }

  .valeurs-grid{
    grid-template-columns:repeat(2, minmax(0,1fr));
    gap:12px;
  }

  .val-tile{
    padding:32px 24px;
  }

  .val-num{
    font-size:44px;
  }

  .val-tile h3{
    font-size:21px;
  }

  .equipe{
    padding:72px 24px;
  }

  .equipe-header{
    margin-bottom:40px;
  }

  .equipe-grid{
    grid-template-columns:1fr;
    gap:18px;
  }

  .eq-card{
    padding:30px 22px;
  }

  .eq-avatar{
    width:82px;
    height:82px;
    font-size:28px;
    margin-bottom:16px;
  }

  .eq-name{
    font-size:20px;
  }

  .stats-band{
    grid-template-columns:repeat(2, minmax(0,1fr));
    gap:24px;
    padding:44px 24px;
  }

  .stat-n{
    font-size:clamp(42px,7vw,58px);
  }

  .stat-l{
    font-size:11px;
    letter-spacing:.12em;
  }

  .about-cta{
    padding:56px 24px;
    gap:24px;
    align-items:flex-start;
  }

  .about-cta h3,
  .about-cta p{
    max-width:100%;
  }

  .about-cta p{
    font-size:14px;
  }

  .cta-buttons{
    width:100%;
  }

  footer{
    padding:48px 24px 24px;
  }

  .ft-grid{
    grid-template-columns:1fr 1fr;
    gap:28px;
    margin-bottom:36px;
  }

  .ft-brand p{
    max-width:100%;
  }

  .ft-bottom{
    align-items:flex-start;
  }
}

/* =========================
   MOBILE
========================= */
@media (max-width:767px){
  .ann{
    padding:8px 12px;
    gap:16px;
  }

  .ann-inner{
    gap:16px;
    animation-duration:26s;
  }

  .ann-item{
    font-size:10px;
    letter-spacing:.04em;
  }

  .ann-sep{
    font-size:10px;
  }

  .nav-inner{
    padding:12px 16px;
    align-items:flex-start;
  }

  .nav-logo{
    width:100%;
  }

  .nav-actions{
    width:100%;
    justify-content:stretch;
  }

  .nav-actions a{
    flex:1 1 calc(50% - 5px);
  }

  .btn-outline,
  .btn-solid{
    padding:10px 12px;
    font-size:10px;
  }

  .nl-m{
    font-size:18px;
  }

  .nl-s{
    font-size:7px;
    letter-spacing:.18em;
  }

  .page-hero{
    padding:48px 16px 40px;
    gap:18px;
  }

  .ph-breadcrumb{
    font-size:11px;
    margin-bottom:14px;
  }

  .ph-tag span{
    font-size:10px;
    letter-spacing:.16em;
  }

  .ph-title{
    font-size:clamp(30px,10vw,42px);
    line-height:1.08;
    margin-bottom:14px;
  }

  .ph-desc{
    font-size:14px;
    line-height:1.75;
  }

  .mission{
    gap:28px;
    padding:48px 16px;
  }

  .mission .sec-tag span{
    font-size:10px;
    letter-spacing:.16em;
  }

  .mission-text h2{
    font-size:clamp(28px,8vw,36px);
  }

  .mission-text p{
    font-size:14px;
    line-height:1.75;
  }

  .mission-quote{
    padding:18px 16px;
    font-size:16px;
    margin:18px 0;
  }

  .mission-cards{
    grid-template-columns:1fr;
    gap:12px;
  }

  .mcard{
    padding:20px 16px;
  }

  .mcard .ico{
    font-size:24px;
    margin-bottom:12px;
  }

  .mcard h4{
    font-size:17px;
  }

  .mcard p{
    font-size:13px;
    line-height:1.7;
  }

  .story{
    padding:48px 16px;
  }

  .story-title-wrap{
    margin-bottom:36px;
  }

  .story-topline span{
    font-size:10px;
    letter-spacing:.16em;
  }

  .story-title{
    font-size:clamp(28px,8vw,36px);
  }

  .timeline{
    padding-left:14px;
  }

  .timeline::before{
    left:14px;
  }

  .tl-dot{
    left:14px;
    top:22px;
    width:10px;
    height:10px;
  }

  .tl-content{
    margin-left:26px;
    padding:18px 14px;
  }

  .tl-year{
    font-size:12px;
    margin-bottom:8px;
  }

  .tl-content h3{
    font-size:18px;
    margin-bottom:8px;
  }

  .tl-content p{
    font-size:13px;
    line-height:1.7;
  }

  .valeurs{
    padding:48px 16px;
  }

  .valeurs .sec-tag span{
    font-size:10px;
    letter-spacing:.16em;
  }

  .valeurs h2{
    font-size:clamp(28px,8vw,36px);
    margin-bottom:28px;
  }

  .valeurs-grid{
    grid-template-columns:1fr;
    gap:10px;
  }

  .val-tile{
    padding:24px 18px;
  }

  .val-num{
    font-size:36px;
    margin-bottom:10px;
  }

  .val-ico{
    font-size:24px;
    margin-bottom:12px;
  }

  .val-tile h3{
    font-size:18px;
    margin-bottom:10px;
  }

  .val-tile p{
    font-size:13px;
    line-height:1.7;
  }

  .equipe{
    padding:48px 16px;
  }

  .equipe-header h2{
    font-size:clamp(28px,8vw,36px);
  }

  .equipe-header p{
    font-size:14px;
    line-height:1.75;
    margin-top:12px;
  }

  .eq-card{
    padding:24px 16px;
  }

  .eq-avatar{
    width:74px;
    height:74px;
    font-size:24px;
  }

  .eq-name{
    font-size:18px;
  }

  .eq-role{
    font-size:11px;
    letter-spacing:.1em;
  }

  .eq-bio{
    font-size:13px;
    line-height:1.7;
  }

  .stats-band{
    grid-template-columns:1fr;
    gap:18px;
    padding:36px 16px;
  }

  .stat{
    padding:6px 0;
  }

  .stat-n{
    font-size:40px;
  }

  .stat-l{
    font-size:10px;
    letter-spacing:.1em;
    margin-top:4px;
  }

  .about-cta{
    padding:44px 16px;
    gap:18px;
  }

  .about-cta h3{
    font-size:clamp(26px,8vw,34px);
    line-height:1.15;
  }

  .about-cta p{
    font-size:13px;
    line-height:1.7;
    margin-top:10px;
  }

  .cta-buttons{
    flex-direction:column;
    gap:10px;
  }

  .cta-main,
  .cta-ghost{
    width:100%;
    padding:14px 16px;
  }

  footer{
    padding:40px 16px 20px;
  }

  .ft-grid{
    grid-template-columns:1fr;
    gap:24px;
    margin-bottom:28px;
  }

  .ft-brand .fbl{
    font-size:20px;
  }

  .ft-brand .fbs{
    font-size:8px;
    letter-spacing:.22em;
  }

  .ft-brand p,
  .ft-col a{
    font-size:13px;
    line-height:1.7;
  }

  .ft-col h4{
    margin-bottom:14px;
  }

  .ft-bottom{
    flex-direction:column;
    gap:8px;
  }

  .ft-bottom p,
  .ft-bottom span{
    font-size:11px;
    line-height:1.6;
  }

  .wa-float{
    width:50px;
    height:50px;
    right:14px;
    bottom:14px;
    font-size:20px;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-72ae2fe */:root{
  --dark:#0f1a13;
  --dark2:#162119;
  --green:#1a3020;
  --mid:#254530;
  --leaf:#3a6645;
  --sage:#6a9070;
  --gold:#c8a55a;
  --gold2:#dfc07e;
  --cream:#f4ede0;
  --warm:#ece4d4;
  --white:#faf7f2;
}

*,
*::before,
*::after{
  margin:0;
  padding:0;
  box-sizing:border-box;
}

html{
  scroll-behavior:smooth;
}

body{
  font-family:'DM Sans',sans-serif;
  background:var(--white);
  color:var(--dark);
  overflow-x:hidden;
}

img,
video,
iframe{
  max-width:100%;
  height:auto;
  display:block;
}

a{
  -webkit-tap-highlight-color:transparent;
}

section,
div,
nav,
footer{
  min-width:0;
}

/* =========================
   ANNOUNCEMENT
========================= */
.ann{
  background:var(--dark);
  padding:10px 20px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:32px;
  overflow:hidden;
}

.ann-inner{
  display:flex;
  align-items:center;
  gap:32px;
  animation:slideX 18s linear infinite;
  white-space:nowrap;
}

.ann-item{
  display:flex;
  align-items:center;
  gap:8px;
  font-size:12px;
  font-weight:400;
  letter-spacing:.07em;
  color:rgba(244,237,224,.8);
  flex-shrink:0;
}

.ann-item strong{
  color:var(--gold2);
}

.ann-sep{
  color:rgba(200,165,90,.3);
  flex-shrink:0;
}

/* =========================
   NAV
========================= */
nav{
  background:var(--white);
  border-bottom:1px solid rgba(0,0,0,.07);
  position:sticky;
  top:0;
  z-index:200;
}

.nav-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 56px;
  min-height:72px;
  gap:16px;
}

.nav-logo{
  text-decoration:none;
  display:flex;
  flex-direction:column;
  gap:1px;
}

.nl-m{
  font-family:'DM Serif Display',serif;
  font-size:22px;
  letter-spacing:.08em;
  color:var(--dark);
}

.nl-m span{
  color:var(--leaf);
}

.nl-s{
  font-size:9px;
  font-weight:400;
  letter-spacing:.28em;
  text-transform:uppercase;
  color:var(--sage);
}

.nav-links{
  display:flex;
  gap:36px;
  list-style:none;
}

.nav-links a{
  font-size:13px;
  font-weight:400;
  color:#555;
  text-decoration:none;
  transition:color .25s;
  position:relative;
}

.nav-links a::after{
  content:'';
  position:absolute;
  bottom:-4px;
  left:0;
  right:0;
  height:1px;
  background:var(--leaf);
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .25s;
}

.nav-links a:hover,
.nav-links a.active{
  color:var(--leaf);
}

.nav-links a:hover::after,
.nav-links a.active::after{
  transform:scaleX(1);
}

.nav-actions{
  display:flex;
  align-items:center;
  gap:14px;
}

.btn-outline,
.btn-solid{
  padding:9px 22px;
  font-family:'DM Sans',sans-serif;
  font-size:12px;
  font-weight:500;
  letter-spacing:.06em;
  text-transform:uppercase;
  cursor:pointer;
  transition:all .25s;
  text-decoration:none;
  display:inline-block;
  text-align:center;
  white-space:nowrap;
}

.btn-outline{
  border:1.5px solid var(--leaf);
  color:var(--leaf);
  background:transparent;
}

.btn-outline:hover{
  background:var(--leaf);
  color:#fff;
}

.btn-solid{
  background:var(--gold);
  border:1.5px solid var(--gold);
  color:var(--dark);
}

.btn-solid:hover{
  background:var(--gold2);
  border-color:var(--gold2);
}

/* =========================
   HERO
========================= */
.page-hero{
  background:var(--dark);
  padding:120px 56px 100px;
  position:relative;
  overflow:hidden;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:80px;
  align-items:center;
}

.page-hero::before{
  content:'';
  position:absolute;
  top:0;
  right:0;
  bottom:0;
  width:55%;
  background:radial-gradient(
    ellipse 90% 80% at 70% 50%,
    rgba(42,80,52,.6) 0%,
    transparent 70%
  );
}

.ph-text{
  position:relative;
  z-index:2;
}

.ph-breadcrumb{
  display:flex;
  align-items:center;
  gap:8px;
  margin-bottom:32px;
  font-size:12px;
  color:rgba(244,237,224,.4);
}

.ph-breadcrumb a{
  color:rgba(244,237,224,.4);
  text-decoration:none;
  transition:color .25s;
}

.ph-breadcrumb a:hover{
  color:var(--gold);
}

.ph-breadcrumb span{
  color:var(--gold);
}

.ph-tag{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:20px;
}

.ph-tag .line{
  width:24px;
  height:2px;
  background:var(--gold);
}

.ph-tag span{
  font-size:11px;
  font-weight:500;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--gold);
}

.ph-title{
  font-family:'Playfair Display',serif;
  font-size:clamp(50px,5vw,78px);
  font-weight:700;
  line-height:1.05;
  color:var(--cream);
  margin-bottom:24px;
}

.ph-title em{
  font-style:italic;
  font-weight:400;
  color:var(--gold2);
  display:block;
}

.ph-desc{
  font-size:16px;
  font-weight:300;
  line-height:1.9;
  color:rgba(244,237,224,.55);
  max-width:440px;
}

.ph-visual{
  position:relative;
  z-index:2;
  display:flex;
  align-items:center;
  justify-content:center;
}

.ph-visual .big-num{
  font-family:'Playfair Display',serif;
  font-size:clamp(140px,16vw,220px);
  font-weight:700;
  font-style:italic;
  color:rgba(201,165,90,.07);
  line-height:1;
  user-select:none;
}

/* =========================
   COMMON SMALL TITLE
========================= */
.sec-tag{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:18px;
}

.sec-tag .tl{
  width:24px;
  height:2px;
  background:var(--gold);
}

.sec-tag span{
  font-size:11px;
  font-weight:500;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--gold);
}

.story-topline{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  margin-bottom:14px;
}

.story-line{
  width:24px;
  height:2px;
  background:var(--gold);
}

.story-topline span{
  font-size:11px;
  font-weight:500;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--gold);
}

/* =========================
   MISSION
========================= */
.mission{
  padding:100px 56px;
  background:var(--white);
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:80px;
  align-items:center;
}

.mission-text h2{
  font-family:'Playfair Display',serif;
  font-size:clamp(36px,4vw,52px);
  font-weight:700;
  line-height:1.1;
  color:var(--dark);
  margin-bottom:28px;
}

.mission-text h2 em{
  font-style:italic;
  color:var(--leaf);
}

.mission-text p{
  font-size:15px;
  font-weight:300;
  line-height:1.95;
  color:#555;
  margin-bottom:18px;
}

.mission-quote{
  margin:32px 0;
  padding:24px 28px;
  background:var(--cream);
  border-left:3px solid var(--gold);
  font-family:'Playfair Display',serif;
  font-size:20px;
  font-weight:400;
  font-style:italic;
  color:var(--dark);
  line-height:1.6;
}

.mission-cards{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
}

.mcard{
  padding:32px 28px;
  background:var(--green);
  border:1px solid rgba(201,165,90,.1);
  transition:border-color .3s,transform .3s;
}

.mcard:hover{
  border-color:rgba(201,165,90,.4);
  transform:translateY(-4px);
}

.mcard .ico{
  font-size:28px;
  margin-bottom:16px;
  display:block;
}

.mcard h4{
  font-family:'Playfair Display',serif;
  font-size:20px;
  font-weight:500;
  color:var(--cream);
  margin-bottom:10px;
}

.mcard p{
  font-size:13px;
  font-weight:300;
  line-height:1.75;
  color:rgba(244,237,224,.5);
}

/* =========================
   STORY / TIMELINE
========================= */
.story{
  background:var(--cream);
  padding:100px 56px;
}

.story-title-wrap{
  text-align:center;
  margin-bottom:72px;
}

.story-title{
  font-family:'Playfair Display',serif;
  font-size:clamp(38px,4vw,54px);
  font-weight:700;
  color:var(--dark);
  line-height:1.1;
}

.story-title em{
  font-style:italic;
  color:var(--leaf);
}

.timeline{
  position:relative;
  max-width:800px;
  margin:0 auto;
}

.timeline::before{
  content:'';
  position:absolute;
  left:50%;
  top:0;
  bottom:0;
  width:1px;
  background:rgba(58,102,69,.15);
  transform:translateX(-50%);
}

.tl-item{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:60px;
  align-items:center;
  margin-bottom:60px;
  position:relative;
}

.tl-item:nth-child(even) .tl-content{
  order:2;
}

.tl-item:nth-child(even) .tl-space{
  order:1;
}

.tl-dot{
  position:absolute;
  left:50%;
  top:32px;
  transform:translateX(-50%);
  width:14px;
  height:14px;
  border-radius:50%;
  background:var(--gold);
  border:3px solid var(--warm);
  z-index:2;
}

.tl-content{
  background:var(--white);
  padding:32px 28px;
  border:1px solid rgba(0,0,0,.07);
  transition:border-color .3s,box-shadow .3s;
}

.tl-content:hover{
  border-color:var(--gold);
  box-shadow:0 8px 30px rgba(0,0,0,.07);
}

.tl-year{
  font-family:'Playfair Display',serif;
  font-size:13px;
  font-weight:700;
  color:var(--gold);
  letter-spacing:.1em;
  margin-bottom:10px;
}

.tl-content h3{
  font-family:'Playfair Display',serif;
  font-size:22px;
  font-weight:700;
  color:var(--dark);
  margin-bottom:10px;
}

.tl-content p{
  font-size:14px;
  font-weight:300;
  line-height:1.8;
  color:#666;
}

/* =========================
   VALEURS
========================= */
.valeurs{
  background:var(--green);
  padding:100px 56px;
}

.valeurs .sec-tag .tl{
  background:var(--gold2);
}

.valeurs .sec-tag span{
  color:var(--gold2);
}

.valeurs h2{
  font-family:'Playfair Display',serif;
  font-size:clamp(36px,4vw,52px);
  font-weight:700;
  color:var(--cream);
  margin-bottom:60px;
  line-height:1.1;
}

.valeurs h2 em{
  font-style:italic;
  color:var(--gold2);
}

.valeurs-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:2px;
}

.val-tile{
  background:rgba(255,255,255,.03);
  padding:48px 40px;
  border:1px solid rgba(255,255,255,.05);
  position:relative;
  overflow:hidden;
  transition:background .3s,border-color .3s;
}

.val-tile:hover{
  background:rgba(255,255,255,.06);
  border-color:rgba(201,165,90,.25);
}

.val-tile::after{
  content:'';
  position:absolute;
  bottom:0;
  left:0;
  right:0;
  height:2px;
  background:var(--gold);
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .4s;
}

.val-tile:hover::after{
  transform:scaleX(1);
}

.val-num{
  font-family:'Playfair Display',serif;
  font-size:56px;
  font-weight:700;
  font-style:italic;
  color:rgba(201,165,90,.1);
  line-height:1;
  margin-bottom:16px;
}

.val-ico{
  font-size:28px;
  display:block;
  margin-bottom:18px;
}

.val-tile h3{
  font-family:'Playfair Display',serif;
  font-size:24px;
  font-weight:500;
  color:var(--cream);
  margin-bottom:12px;
}

.val-tile p{
  font-size:13px;
  font-weight:300;
  line-height:1.85;
  color:rgba(244,237,224,.45);
}

/* =========================
   EQUIPE
========================= */
.equipe{
  background:var(--white);
  padding:100px 56px;
}

.equipe-header{
  text-align:center;
  margin-bottom:64px;
}

.equipe-header h2{
  font-family:'Playfair Display',serif;
  font-size:clamp(36px,4vw,52px);
  font-weight:700;
  color:var(--dark);
  line-height:1.1;
}

.equipe-header h2 em{
  font-style:italic;
  color:var(--leaf);
}

.equipe-header p{
  font-size:15px;
  font-weight:300;
  color:#777;
  margin-top:16px;
  max-width:500px;
  margin-left:auto;
  margin-right:auto;
  line-height:1.8;
}

.equipe-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:28px;
}

.eq-card{
  text-align:center;
  padding:40px 28px;
  border:1px solid rgba(0,0,0,.07);
  transition:border-color .3s,transform .3s,box-shadow .3s;
}

.eq-card:hover{
  border-color:var(--leaf);
  transform:translateY(-5px);
  box-shadow:0 16px 44px rgba(0,0,0,.08);
}

.eq-avatar{
  width:90px;
  height:90px;
  border-radius:50%;
  background:var(--green);
  display:flex;
  align-items:center;
  justify-content:center;
  font-family:'Playfair Display',serif;
  font-size:32px;
  font-weight:700;
  color:var(--gold2);
  margin:0 auto 20px;
  border:3px solid rgba(201,165,90,.2);
}

.eq-name{
  font-family:'Playfair Display',serif;
  font-size:22px;
  font-weight:700;
  color:var(--dark);
  margin-bottom:6px;
}

.eq-role{
  font-size:12px;
  font-weight:400;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--sage);
  margin-bottom:14px;
}

.eq-bio{
  font-size:13px;
  font-weight:300;
  line-height:1.75;
  color:#777;
}

/* =========================
   STATS
========================= */
.stats-band{
  background:var(--gold);
  padding:60px 56px;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:40px;
}

.stat{
  text-align:center;
}

.stat-n{
  font-family:'Playfair Display',serif;
  font-size:clamp(52px,5vw,72px);
  font-weight:700;
  color:var(--dark);
  line-height:1;
}

.stat-n small{
  font-size:.55em;
  font-weight:400;
}

.stat-l{
  font-size:12px;
  font-weight:400;
  letter-spacing:.15em;
  text-transform:uppercase;
  color:rgba(15,26,19,.55);
  margin-top:6px;
}

/* =========================
   CTA
========================= */
.about-cta{
  background:var(--dark2);
  padding:80px 56px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:40px;
  flex-wrap:wrap;
}

.about-cta h3{
  font-family:'Playfair Display',serif;
  font-size:clamp(30px,3.5vw,46px);
  font-weight:700;
  color:var(--cream);
  line-height:1.2;
}

.about-cta h3 em{
  font-style:italic;
  color:var(--gold2);
}

.about-cta p{
  font-size:14px;
  font-weight:300;
  color:rgba(244,237,224,.45);
  margin-top:12px;
  max-width:420px;
  line-height:1.8;
}

.cta-buttons{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
}

.cta-main,
.cta-ghost{
  padding:15px 28px;
  font-size:12px;
  letter-spacing:.1em;
  text-transform:uppercase;
  text-decoration:none;
  display:inline-block;
  transition:all .25s;
  text-align:center;
}

.cta-main{
  background:var(--gold);
  color:var(--dark);
  border:none;
  font-weight:500;
  padding-left:36px;
  padding-right:36px;
}

.cta-main:hover{
  background:var(--gold2);
  transform:translateY(-2px);
}

.cta-ghost{
  background:transparent;
  border:1.5px solid rgba(244,237,224,.2);
  color:rgba(244,237,224,.7);
  font-weight:400;
}

.cta-ghost:hover{
  border-color:var(--cream);
  color:var(--cream);
}

/* =========================
   FOOTER
========================= */
footer{
  background:var(--dark);
  padding:64px 56px 28px;
}

.ft-grid{
  display:grid;
  grid-template-columns:2fr 1fr 1fr 1fr;
  gap:56px;
  margin-bottom:52px;
}

.ft-brand .fbl{
  font-family:'DM Serif Display',serif;
  font-size:22px;
  letter-spacing:.08em;
  color:var(--cream);
  margin-bottom:4px;
}

.ft-brand .fbl span{
  color:var(--leaf);
}

.ft-brand .fbs{
  font-size:9px;
  font-weight:300;
  letter-spacing:.3em;
  text-transform:uppercase;
  color:rgba(244,237,224,.25);
  display:block;
  margin-bottom:18px;
}

.ft-brand p{
  font-size:13px;
  font-weight:300;
  line-height:1.8;
  color:rgba(244,237,224,.3);
  max-width:260px;
  margin-bottom:24px;
}

.ft-socials{
  display:flex;
  gap:10px;
}

.fsoc{
  width:36px;
  height:36px;
  border:1px solid rgba(255,255,255,.08);
  display:flex;
  align-items:center;
  justify-content:center;
  color:rgba(244,237,224,.3);
  font-size:14px;
  text-decoration:none;
  transition:all .25s;
}

.fsoc:hover{
  border-color:var(--gold);
  color:var(--gold);
}

.ft-col h4{
  font-size:10px;
  font-weight:500;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--gold);
  margin-bottom:22px;
}

.ft-col ul{
  list-style:none;
}

.ft-col li{
  margin-bottom:12px;
}

.ft-col a{
  font-size:13px;
  font-weight:300;
  color:rgba(244,237,224,.3);
  text-decoration:none;
  transition:color .25s;
}

.ft-col a:hover{
  color:var(--cream);
}

.ft-bottom{
  padding-top:28px;
  border-top:1px solid rgba(255,255,255,.05);
  display:flex;
  justify-content:space-between;
  align-items:center;
  flex-wrap:wrap;
  gap:12px;
}

.ft-bottom p,
.ft-bottom span{
  font-size:12px;
  font-weight:300;
  color:rgba(244,237,224,.18);
  letter-spacing:.04em;
}

/* =========================
   WA FLOAT
========================= */
.wa-float{
  position:fixed;
  bottom:28px;
  right:28px;
  z-index:300;
  background:#25D366;
  color:#fff;
  width:56px;
  height:56px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:24px;
  text-decoration:none;
  box-shadow:0 8px 28px rgba(37,211,102,.45);
  transition:transform .3s,box-shadow .3s;
}

.wa-float:hover{
  transform:scale(1.1);
  box-shadow:0 14px 40px rgba(37,211,102,.6);
}

.wa-float::before{
  content:'';
  position:absolute;
  width:100%;
  height:100%;
  border-radius:50%;
  background:rgba(37,211,102,.4);
  animation:waPulse 2s ease-out infinite;
}

/* =========================
   ANIMATIONS
========================= */
@keyframes slideX{
  from{transform:translateX(0);}
  to{transform:translateX(-50%);}
}

@keyframes waPulse{
  0%{transform:scale(1);opacity:.7;}
  100%{transform:scale(1.8);opacity:0;}
}

.sr{
  opacity:0;
  transform:translateY(28px);
  transition:opacity .65s ease,transform .65s ease;
}

.sr.vis{
  opacity:1;
  transform:translateY(0);
}

.sr.d1{transition-delay:.1s;}
.sr.d2{transition-delay:.2s;}
.sr.d3{transition-delay:.3s;}

/* =========================
   LAPTOP
========================= */
@media (max-width:1280px){
  .nav-inner,
  .page-hero,
  .mission,
  .story,
  .valeurs,
  .equipe,
  .stats-band,
  .about-cta,
  footer{
    padding-left:32px;
    padding-right:32px;
  }

  .page-hero{
    gap:48px;
    padding-top:96px;
    padding-bottom:80px;
  }

  .mission{
    gap:48px;
  }

  .valeurs-grid{
    grid-template-columns:repeat(2, minmax(0,1fr));
  }

  .nav-links{
    gap:24px;
  }
}

/* =========================
   TABLET
========================= */
@media (max-width:1024px){
  .ann{
    padding:10px 16px;
    gap:20px;
  }

  .ann-inner{
    gap:20px;
    animation-duration:22s;
  }

  .ann-item{
    font-size:11px;
  }

  .nav-inner{
    padding:12px 24px;
    min-height:72px;
    flex-wrap:wrap;
    gap:14px;
  }

  .nav-logo{
    flex:1 1 auto;
  }

  .nav-links{
    display:none;
  }

  .nav-actions{
    gap:10px;
    flex-wrap:wrap;
    justify-content:flex-end;
  }

  .nl-m{
    font-size:20px;
  }

  .nl-s{
    font-size:8px;
    letter-spacing:.22em;
  }

  .btn-outline,
  .btn-solid{
    padding:9px 18px;
    font-size:11px;
  }

  .page-hero{
    grid-template-columns:1fr;
    gap:24px;
    padding:72px 24px 56px;
  }

  .page-hero::before{
    width:100%;
    background:radial-gradient(
      ellipse 90% 70% at 70% 20%,
      rgba(42,80,52,.4) 0%,
      transparent 70%
    );
  }

  .ph-visual{
    display:none;
  }

  .ph-breadcrumb{
    margin-bottom:20px;
    flex-wrap:wrap;
    row-gap:4px;
  }

  .ph-tag{
    margin-bottom:16px;
  }

  .ph-title{
    font-size:clamp(40px,7vw,58px);
    margin-bottom:18px;
  }

  .ph-desc{
    font-size:15px;
    line-height:1.8;
    max-width:100%;
  }

  .mission{
    grid-template-columns:1fr;
    gap:36px;
    padding:72px 24px;
  }

  .mission-text h2{
    margin-bottom:20px;
  }

  .mission-text p{
    font-size:14px;
    line-height:1.85;
  }

  .mission-quote{
    margin:24px 0;
    padding:20px 22px;
    font-size:18px;
  }

  .mission-cards{
    grid-template-columns:repeat(2, minmax(0,1fr));
    gap:14px;
  }

  .mcard{
    padding:24px 20px;
  }

  .story{
    padding:72px 24px;
  }

  .story-title-wrap{
    margin-bottom:48px;
  }

  .timeline{
    max-width:100%;
    padding-left:18px;
  }

  .timeline::before{
    left:18px;
    transform:none;
  }

  .tl-item{
    grid-template-columns:1fr;
    gap:0;
    margin-bottom:28px;
  }

  .tl-space{
    display:none;
  }

  .tl-dot{
    left:18px;
    top:26px;
    transform:translateX(-50%);
    width:12px;
    height:12px;
    border-width:2px;
  }

  .tl-content{
    margin-left:34px;
    padding:24px 20px;
  }

  .tl-content h3{
    font-size:20px;
  }

  .tl-content p{
    font-size:14px;
    line-height:1.75;
  }

  .tl-item:nth-child(even) .tl-content,
  .tl-item:nth-child(even) .tl-space{
    order:unset;
  }

  .valeurs{
    padding:72px 24px;
  }

  .valeurs h2{
    margin-bottom:40px;
  }

  .valeurs-grid{
    grid-template-columns:repeat(2, minmax(0,1fr));
    gap:12px;
  }

  .val-tile{
    padding:32px 24px;
  }

  .val-num{
    font-size:44px;
  }

  .val-tile h3{
    font-size:21px;
  }

  .equipe{
    padding:72px 24px;
  }

  .equipe-header{
    margin-bottom:40px;
  }

  .equipe-grid{
    grid-template-columns:1fr;
    gap:18px;
  }

  .eq-card{
    padding:30px 22px;
  }

  .eq-avatar{
    width:82px;
    height:82px;
    font-size:28px;
    margin-bottom:16px;
  }

  .eq-name{
    font-size:20px;
  }

  .stats-band{
    grid-template-columns:repeat(2, minmax(0,1fr));
    gap:24px;
    padding:44px 24px;
  }

  .stat-n{
    font-size:clamp(42px,7vw,58px);
  }

  .stat-l{
    font-size:11px;
    letter-spacing:.12em;
  }

  .about-cta{
    padding:56px 24px;
    gap:24px;
    align-items:flex-start;
  }

  .about-cta h3,
  .about-cta p{
    max-width:100%;
  }

  .about-cta p{
    font-size:14px;
  }

  .cta-buttons{
    width:100%;
  }

  footer{
    padding:48px 24px 24px;
  }

  .ft-grid{
    grid-template-columns:1fr 1fr;
    gap:28px;
    margin-bottom:36px;
  }

  .ft-brand p{
    max-width:100%;
  }

  .ft-bottom{
    align-items:flex-start;
  }
}

/* =========================
   MOBILE
========================= */
@media (max-width:767px){
  .ann{
    padding:8px 12px;
    gap:16px;
  }

  .ann-inner{
    gap:16px;
    animation-duration:26s;
  }

  .ann-item{
    font-size:10px;
    letter-spacing:.04em;
  }

  .ann-sep{
    font-size:10px;
  }

  .nav-inner{
    padding:12px 16px;
    align-items:flex-start;
  }

  .nav-logo{
    width:100%;
  }

  .nav-actions{
    width:100%;
    justify-content:stretch;
  }

  .nav-actions a{
    flex:1 1 calc(50% - 5px);
  }

  .btn-outline,
  .btn-solid{
    padding:10px 12px;
    font-size:10px;
  }

  .nl-m{
    font-size:18px;
  }

  .nl-s{
    font-size:7px;
    letter-spacing:.18em;
  }

  .page-hero{
    padding:48px 16px 40px;
    gap:18px;
  }

  .ph-breadcrumb{
    font-size:11px;
    margin-bottom:14px;
  }

  .ph-tag span{
    font-size:10px;
    letter-spacing:.16em;
  }

  .ph-title{
    font-size:clamp(30px,10vw,42px);
    line-height:1.08;
    margin-bottom:14px;
  }

  .ph-desc{
    font-size:14px;
    line-height:1.75;
  }

  .mission{
    gap:28px;
    padding:48px 16px;
  }

  .mission .sec-tag span{
    font-size:10px;
    letter-spacing:.16em;
  }

  .mission-text h2{
    font-size:clamp(28px,8vw,36px);
  }

  .mission-text p{
    font-size:14px;
    line-height:1.75;
  }

  .mission-quote{
    padding:18px 16px;
    font-size:16px;
    margin:18px 0;
  }

  .mission-cards{
    grid-template-columns:1fr;
    gap:12px;
  }

  .mcard{
    padding:20px 16px;
  }

  .mcard .ico{
    font-size:24px;
    margin-bottom:12px;
  }

  .mcard h4{
    font-size:17px;
  }

  .mcard p{
    font-size:13px;
    line-height:1.7;
  }

  .story{
    padding:48px 16px;
  }

  .story-title-wrap{
    margin-bottom:36px;
  }

  .story-topline span{
    font-size:10px;
    letter-spacing:.16em;
  }

  .story-title{
    font-size:clamp(28px,8vw,36px);
  }

  .timeline{
    padding-left:14px;
  }

  .timeline::before{
    left:14px;
  }

  .tl-dot{
    left:14px;
    top:22px;
    width:10px;
    height:10px;
  }

  .tl-content{
    margin-left:26px;
    padding:18px 14px;
  }

  .tl-year{
    font-size:12px;
    margin-bottom:8px;
  }

  .tl-content h3{
    font-size:18px;
    margin-bottom:8px;
  }

  .tl-content p{
    font-size:13px;
    line-height:1.7;
  }

  .valeurs{
    padding:48px 16px;
  }

  .valeurs .sec-tag span{
    font-size:10px;
    letter-spacing:.16em;
  }

  .valeurs h2{
    font-size:clamp(28px,8vw,36px);
    margin-bottom:28px;
  }

  .valeurs-grid{
    grid-template-columns:1fr;
    gap:10px;
  }

  .val-tile{
    padding:24px 18px;
  }

  .val-num{
    font-size:36px;
    margin-bottom:10px;
  }

  .val-ico{
    font-size:24px;
    margin-bottom:12px;
  }

  .val-tile h3{
    font-size:18px;
    margin-bottom:10px;
  }

  .val-tile p{
    font-size:13px;
    line-height:1.7;
  }

  .equipe{
    padding:48px 16px;
  }

  .equipe-header h2{
    font-size:clamp(28px,8vw,36px);
  }

  .equipe-header p{
    font-size:14px;
    line-height:1.75;
    margin-top:12px;
  }

  .eq-card{
    padding:24px 16px;
  }

  .eq-avatar{
    width:74px;
    height:74px;
    font-size:24px;
  }

  .eq-name{
    font-size:18px;
  }

  .eq-role{
    font-size:11px;
    letter-spacing:.1em;
  }

  .eq-bio{
    font-size:13px;
    line-height:1.7;
  }

  .stats-band{
    grid-template-columns:1fr;
    gap:18px;
    padding:36px 16px;
  }

  .stat{
    padding:6px 0;
  }

  .stat-n{
    font-size:40px;
  }

  .stat-l{
    font-size:10px;
    letter-spacing:.1em;
    margin-top:4px;
  }

  .about-cta{
    padding:44px 16px;
    gap:18px;
  }

  .about-cta h3{
    font-size:clamp(26px,8vw,34px);
    line-height:1.15;
  }

  .about-cta p{
    font-size:13px;
    line-height:1.7;
    margin-top:10px;
  }

  .cta-buttons{
    flex-direction:column;
    gap:10px;
  }

  .cta-main,
  .cta-ghost{
    width:100%;
    padding:14px 16px;
  }

  footer{
    padding:40px 16px 20px;
  }

  .ft-grid{
    grid-template-columns:1fr;
    gap:24px;
    margin-bottom:28px;
  }

  .ft-brand .fbl{
    font-size:20px;
  }

  .ft-brand .fbs{
    font-size:8px;
    letter-spacing:.22em;
  }

  .ft-brand p,
  .ft-col a{
    font-size:13px;
    line-height:1.7;
  }

  .ft-col h4{
    margin-bottom:14px;
  }

  .ft-bottom{
    flex-direction:column;
    gap:8px;
  }

  .ft-bottom p,
  .ft-bottom span{
    font-size:11px;
    line-height:1.6;
  }

  .wa-float{
    width:50px;
    height:50px;
    right:14px;
    bottom:14px;
    font-size:20px;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-64be6e6 */:root{
  --dark:#0f1a13;
  --dark2:#162119;
  --green:#1a3020;
  --mid:#254530;
  --leaf:#3a6645;
  --sage:#6a9070;
  --gold:#c8a55a;
  --gold2:#dfc07e;
  --cream:#f4ede0;
  --warm:#ece4d4;
  --white:#faf7f2;
}

*,
*::before,
*::after{
  margin:0;
  padding:0;
  box-sizing:border-box;
}

html{
  scroll-behavior:smooth;
}

body{
  font-family:'DM Sans',sans-serif;
  background:var(--white);
  color:var(--dark);
  overflow-x:hidden;
}

img,
video,
iframe{
  max-width:100%;
  height:auto;
  display:block;
}

a{
  -webkit-tap-highlight-color:transparent;
}

section,
div,
nav,
footer{
  min-width:0;
}

/* =========================
   ANNOUNCEMENT
========================= */
.ann{
  background:var(--dark);
  padding:10px 20px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:32px;
  overflow:hidden;
}

.ann-inner{
  display:flex;
  align-items:center;
  gap:32px;
  animation:slideX 18s linear infinite;
  white-space:nowrap;
}

.ann-item{
  display:flex;
  align-items:center;
  gap:8px;
  font-size:12px;
  font-weight:400;
  letter-spacing:.07em;
  color:rgba(244,237,224,.8);
  flex-shrink:0;
}

.ann-item strong{
  color:var(--gold2);
}

.ann-sep{
  color:rgba(200,165,90,.3);
  flex-shrink:0;
}

/* =========================
   NAV
========================= */
nav{
  background:var(--white);
  border-bottom:1px solid rgba(0,0,0,.07);
  position:sticky;
  top:0;
  z-index:200;
}

.nav-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 56px;
  min-height:72px;
  gap:16px;
}

.nav-logo{
  text-decoration:none;
  display:flex;
  flex-direction:column;
  gap:1px;
}

.nl-m{
  font-family:'DM Serif Display',serif;
  font-size:22px;
  letter-spacing:.08em;
  color:var(--dark);
}

.nl-m span{
  color:var(--leaf);
}

.nl-s{
  font-size:9px;
  font-weight:400;
  letter-spacing:.28em;
  text-transform:uppercase;
  color:var(--sage);
}

.nav-links{
  display:flex;
  gap:36px;
  list-style:none;
}

.nav-links a{
  font-size:13px;
  font-weight:400;
  color:#555;
  text-decoration:none;
  transition:color .25s;
  position:relative;
}

.nav-links a::after{
  content:'';
  position:absolute;
  bottom:-4px;
  left:0;
  right:0;
  height:1px;
  background:var(--leaf);
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .25s;
}

.nav-links a:hover,
.nav-links a.active{
  color:var(--leaf);
}

.nav-links a:hover::after,
.nav-links a.active::after{
  transform:scaleX(1);
}

.nav-actions{
  display:flex;
  align-items:center;
  gap:14px;
}

.btn-outline,
.btn-solid{
  padding:9px 22px;
  font-family:'DM Sans',sans-serif;
  font-size:12px;
  font-weight:500;
  letter-spacing:.06em;
  text-transform:uppercase;
  cursor:pointer;
  transition:all .25s;
  text-decoration:none;
  display:inline-block;
  text-align:center;
  white-space:nowrap;
}

.btn-outline{
  border:1.5px solid var(--leaf);
  color:var(--leaf);
  background:transparent;
}

.btn-outline:hover{
  background:var(--leaf);
  color:#fff;
}

.btn-solid{
  background:var(--gold);
  border:1.5px solid var(--gold);
  color:var(--dark);
}

.btn-solid:hover{
  background:var(--gold2);
  border-color:var(--gold2);
}

/* =========================
   HERO
========================= */
.page-hero{
  background:var(--dark);
  padding:120px 56px 100px;
  position:relative;
  overflow:hidden;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:80px;
  align-items:center;
}

.page-hero::before{
  content:'';
  position:absolute;
  top:0;
  right:0;
  bottom:0;
  width:55%;
  background:radial-gradient(
    ellipse 90% 80% at 70% 50%,
    rgba(42,80,52,.6) 0%,
    transparent 70%
  );
}

.ph-text{
  position:relative;
  z-index:2;
}

.ph-breadcrumb{
  display:flex;
  align-items:center;
  gap:8px;
  margin-bottom:32px;
  font-size:12px;
  color:rgba(244,237,224,.4);
}

.ph-breadcrumb a{
  color:rgba(244,237,224,.4);
  text-decoration:none;
  transition:color .25s;
}

.ph-breadcrumb a:hover{
  color:var(--gold);
}

.ph-breadcrumb span{
  color:var(--gold);
}

.ph-tag{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:20px;
}

.ph-tag .line{
  width:24px;
  height:2px;
  background:var(--gold);
}

.ph-tag span{
  font-size:11px;
  font-weight:500;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--gold);
}

.ph-title{
  font-family:'Playfair Display',serif;
  font-size:clamp(50px,5vw,78px);
  font-weight:700;
  line-height:1.05;
  color:var(--cream);
  margin-bottom:24px;
}

.ph-title em{
  font-style:italic;
  font-weight:400;
  color:var(--gold2);
  display:block;
}

.ph-desc{
  font-size:16px;
  font-weight:300;
  line-height:1.9;
  color:rgba(244,237,224,.55);
  max-width:440px;
}

.ph-visual{
  position:relative;
  z-index:2;
  display:flex;
  align-items:center;
  justify-content:center;
}

.ph-visual .big-num{
  font-family:'Playfair Display',serif;
  font-size:clamp(140px,16vw,220px);
  font-weight:700;
  font-style:italic;
  color:rgba(201,165,90,.07);
  line-height:1;
  user-select:none;
}

/* =========================
   COMMON SMALL TITLE
========================= */
.sec-tag{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:18px;
}

.sec-tag .tl{
  width:24px;
  height:2px;
  background:var(--gold);
}

.sec-tag span{
  font-size:11px;
  font-weight:500;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--gold);
}

.story-topline{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  margin-bottom:14px;
}

.story-line{
  width:24px;
  height:2px;
  background:var(--gold);
}

.story-topline span{
  font-size:11px;
  font-weight:500;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--gold);
}

/* =========================
   MISSION
========================= */
.mission{
  padding:100px 56px;
  background:var(--white);
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:80px;
  align-items:center;
}

.mission-text h2{
  font-family:'Playfair Display',serif;
  font-size:clamp(36px,4vw,52px);
  font-weight:700;
  line-height:1.1;
  color:var(--dark);
  margin-bottom:28px;
}

.mission-text h2 em{
  font-style:italic;
  color:var(--leaf);
}

.mission-text p{
  font-size:15px;
  font-weight:300;
  line-height:1.95;
  color:#555;
  margin-bottom:18px;
}

.mission-quote{
  margin:32px 0;
  padding:24px 28px;
  background:var(--cream);
  border-left:3px solid var(--gold);
  font-family:'Playfair Display',serif;
  font-size:20px;
  font-weight:400;
  font-style:italic;
  color:var(--dark);
  line-height:1.6;
}

.mission-cards{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
}

.mcard{
  padding:32px 28px;
  background:var(--green);
  border:1px solid rgba(201,165,90,.1);
  transition:border-color .3s,transform .3s;
}

.mcard:hover{
  border-color:rgba(201,165,90,.4);
  transform:translateY(-4px);
}

.mcard .ico{
  font-size:28px;
  margin-bottom:16px;
  display:block;
}

.mcard h4{
  font-family:'Playfair Display',serif;
  font-size:20px;
  font-weight:500;
  color:var(--cream);
  margin-bottom:10px;
}

.mcard p{
  font-size:13px;
  font-weight:300;
  line-height:1.75;
  color:rgba(244,237,224,.5);
}

/* =========================
   STORY / TIMELINE
========================= */
.story{
  background:var(--cream);
  padding:100px 56px;
}

.story-title-wrap{
  text-align:center;
  margin-bottom:72px;
}

.story-title{
  font-family:'Playfair Display',serif;
  font-size:clamp(38px,4vw,54px);
  font-weight:700;
  color:var(--dark);
  line-height:1.1;
}

.story-title em{
  font-style:italic;
  color:var(--leaf);
}

.timeline{
  position:relative;
  max-width:800px;
  margin:0 auto;
}

.timeline::before{
  content:'';
  position:absolute;
  left:50%;
  top:0;
  bottom:0;
  width:1px;
  background:rgba(58,102,69,.15);
  transform:translateX(-50%);
}

.tl-item{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:60px;
  align-items:center;
  margin-bottom:60px;
  position:relative;
}

.tl-item:nth-child(even) .tl-content{
  order:2;
}

.tl-item:nth-child(even) .tl-space{
  order:1;
}

.tl-dot{
  position:absolute;
  left:50%;
  top:32px;
  transform:translateX(-50%);
  width:14px;
  height:14px;
  border-radius:50%;
  background:var(--gold);
  border:3px solid var(--warm);
  z-index:2;
}

.tl-content{
  background:var(--white);
  padding:32px 28px;
  border:1px solid rgba(0,0,0,.07);
  transition:border-color .3s,box-shadow .3s;
}

.tl-content:hover{
  border-color:var(--gold);
  box-shadow:0 8px 30px rgba(0,0,0,.07);
}

.tl-year{
  font-family:'Playfair Display',serif;
  font-size:13px;
  font-weight:700;
  color:var(--gold);
  letter-spacing:.1em;
  margin-bottom:10px;
}

.tl-content h3{
  font-family:'Playfair Display',serif;
  font-size:22px;
  font-weight:700;
  color:var(--dark);
  margin-bottom:10px;
}

.tl-content p{
  font-size:14px;
  font-weight:300;
  line-height:1.8;
  color:#666;
}

/* =========================
   VALEURS
========================= */
.valeurs{
  background:var(--green);
  padding:100px 56px;
}

.valeurs .sec-tag .tl{
  background:var(--gold2);
}

.valeurs .sec-tag span{
  color:var(--gold2);
}

.valeurs h2{
  font-family:'Playfair Display',serif;
  font-size:clamp(36px,4vw,52px);
  font-weight:700;
  color:var(--cream);
  margin-bottom:60px;
  line-height:1.1;
}

.valeurs h2 em{
  font-style:italic;
  color:var(--gold2);
}

.valeurs-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:2px;
}

.val-tile{
  background:rgba(255,255,255,.03);
  padding:48px 40px;
  border:1px solid rgba(255,255,255,.05);
  position:relative;
  overflow:hidden;
  transition:background .3s,border-color .3s;
}

.val-tile:hover{
  background:rgba(255,255,255,.06);
  border-color:rgba(201,165,90,.25);
}

.val-tile::after{
  content:'';
  position:absolute;
  bottom:0;
  left:0;
  right:0;
  height:2px;
  background:var(--gold);
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .4s;
}

.val-tile:hover::after{
  transform:scaleX(1);
}

.val-num{
  font-family:'Playfair Display',serif;
  font-size:56px;
  font-weight:700;
  font-style:italic;
  color:rgba(201,165,90,.1);
  line-height:1;
  margin-bottom:16px;
}

.val-ico{
  font-size:28px;
  display:block;
  margin-bottom:18px;
}

.val-tile h3{
  font-family:'Playfair Display',serif;
  font-size:24px;
  font-weight:500;
  color:var(--cream);
  margin-bottom:12px;
}

.val-tile p{
  font-size:13px;
  font-weight:300;
  line-height:1.85;
  color:rgba(244,237,224,.45);
}

/* =========================
   EQUIPE
========================= */
.equipe{
  background:var(--white);
  padding:100px 56px;
}

.equipe-header{
  text-align:center;
  margin-bottom:64px;
}

.equipe-header h2{
  font-family:'Playfair Display',serif;
  font-size:clamp(36px,4vw,52px);
  font-weight:700;
  color:var(--dark);
  line-height:1.1;
}

.equipe-header h2 em{
  font-style:italic;
  color:var(--leaf);
}

.equipe-header p{
  font-size:15px;
  font-weight:300;
  color:#777;
  margin-top:16px;
  max-width:500px;
  margin-left:auto;
  margin-right:auto;
  line-height:1.8;
}

.equipe-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:28px;
}

.eq-card{
  text-align:center;
  padding:40px 28px;
  border:1px solid rgba(0,0,0,.07);
  transition:border-color .3s,transform .3s,box-shadow .3s;
}

.eq-card:hover{
  border-color:var(--leaf);
  transform:translateY(-5px);
  box-shadow:0 16px 44px rgba(0,0,0,.08);
}

.eq-avatar{
  width:90px;
  height:90px;
  border-radius:50%;
  background:var(--green);
  display:flex;
  align-items:center;
  justify-content:center;
  font-family:'Playfair Display',serif;
  font-size:32px;
  font-weight:700;
  color:var(--gold2);
  margin:0 auto 20px;
  border:3px solid rgba(201,165,90,.2);
}

.eq-name{
  font-family:'Playfair Display',serif;
  font-size:22px;
  font-weight:700;
  color:var(--dark);
  margin-bottom:6px;
}

.eq-role{
  font-size:12px;
  font-weight:400;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--sage);
  margin-bottom:14px;
}

.eq-bio{
  font-size:13px;
  font-weight:300;
  line-height:1.75;
  color:#777;
}

/* =========================
   STATS
========================= */
.stats-band{
  background:var(--gold);
  padding:60px 56px;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:40px;
}

.stat{
  text-align:center;
}

.stat-n{
  font-family:'Playfair Display',serif;
  font-size:clamp(52px,5vw,72px);
  font-weight:700;
  color:var(--dark);
  line-height:1;
}

.stat-n small{
  font-size:.55em;
  font-weight:400;
}

.stat-l{
  font-size:12px;
  font-weight:400;
  letter-spacing:.15em;
  text-transform:uppercase;
  color:rgba(15,26,19,.55);
  margin-top:6px;
}

/* =========================
   CTA
========================= */
.about-cta{
  background:var(--dark2);
  padding:80px 56px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:40px;
  flex-wrap:wrap;
}

.about-cta h3{
  font-family:'Playfair Display',serif;
  font-size:clamp(30px,3.5vw,46px);
  font-weight:700;
  color:var(--cream);
  line-height:1.2;
}

.about-cta h3 em{
  font-style:italic;
  color:var(--gold2);
}

.about-cta p{
  font-size:14px;
  font-weight:300;
  color:rgba(244,237,224,.45);
  margin-top:12px;
  max-width:420px;
  line-height:1.8;
}

.cta-buttons{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
}

.cta-main,
.cta-ghost{
  padding:15px 28px;
  font-size:12px;
  letter-spacing:.1em;
  text-transform:uppercase;
  text-decoration:none;
  display:inline-block;
  transition:all .25s;
  text-align:center;
}

.cta-main{
  background:var(--gold);
  color:var(--dark);
  border:none;
  font-weight:500;
  padding-left:36px;
  padding-right:36px;
}

.cta-main:hover{
  background:var(--gold2);
  transform:translateY(-2px);
}

.cta-ghost{
  background:transparent;
  border:1.5px solid rgba(244,237,224,.2);
  color:rgba(244,237,224,.7);
  font-weight:400;
}

.cta-ghost:hover{
  border-color:var(--cream);
  color:var(--cream);
}

/* =========================
   FOOTER
========================= */
footer{
  background:var(--dark);
  padding:64px 56px 28px;
}

.ft-grid{
  display:grid;
  grid-template-columns:2fr 1fr 1fr 1fr;
  gap:56px;
  margin-bottom:52px;
}

.ft-brand .fbl{
  font-family:'DM Serif Display',serif;
  font-size:22px;
  letter-spacing:.08em;
  color:var(--cream);
  margin-bottom:4px;
}

.ft-brand .fbl span{
  color:var(--leaf);
}

.ft-brand .fbs{
  font-size:9px;
  font-weight:300;
  letter-spacing:.3em;
  text-transform:uppercase;
  color:rgba(244,237,224,.25);
  display:block;
  margin-bottom:18px;
}

.ft-brand p{
  font-size:13px;
  font-weight:300;
  line-height:1.8;
  color:rgba(244,237,224,.3);
  max-width:260px;
  margin-bottom:24px;
}

.ft-socials{
  display:flex;
  gap:10px;
}

.fsoc{
  width:36px;
  height:36px;
  border:1px solid rgba(255,255,255,.08);
  display:flex;
  align-items:center;
  justify-content:center;
  color:rgba(244,237,224,.3);
  font-size:14px;
  text-decoration:none;
  transition:all .25s;
}

.fsoc:hover{
  border-color:var(--gold);
  color:var(--gold);
}

.ft-col h4{
  font-size:10px;
  font-weight:500;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--gold);
  margin-bottom:22px;
}

.ft-col ul{
  list-style:none;
}

.ft-col li{
  margin-bottom:12px;
}

.ft-col a{
  font-size:13px;
  font-weight:300;
  color:rgba(244,237,224,.3);
  text-decoration:none;
  transition:color .25s;
}

.ft-col a:hover{
  color:var(--cream);
}

.ft-bottom{
  padding-top:28px;
  border-top:1px solid rgba(255,255,255,.05);
  display:flex;
  justify-content:space-between;
  align-items:center;
  flex-wrap:wrap;
  gap:12px;
}

.ft-bottom p,
.ft-bottom span{
  font-size:12px;
  font-weight:300;
  color:rgba(244,237,224,.18);
  letter-spacing:.04em;
}

/* =========================
   WA FLOAT
========================= */
.wa-float{
  position:fixed;
  bottom:28px;
  right:28px;
  z-index:300;
  background:#25D366;
  color:#fff;
  width:56px;
  height:56px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:24px;
  text-decoration:none;
  box-shadow:0 8px 28px rgba(37,211,102,.45);
  transition:transform .3s,box-shadow .3s;
}

.wa-float:hover{
  transform:scale(1.1);
  box-shadow:0 14px 40px rgba(37,211,102,.6);
}

.wa-float::before{
  content:'';
  position:absolute;
  width:100%;
  height:100%;
  border-radius:50%;
  background:rgba(37,211,102,.4);
  animation:waPulse 2s ease-out infinite;
}

/* =========================
   ANIMATIONS
========================= */
@keyframes slideX{
  from{transform:translateX(0);}
  to{transform:translateX(-50%);}
}

@keyframes waPulse{
  0%{transform:scale(1);opacity:.7;}
  100%{transform:scale(1.8);opacity:0;}
}

.sr{
  opacity:0;
  transform:translateY(28px);
  transition:opacity .65s ease,transform .65s ease;
}

.sr.vis{
  opacity:1;
  transform:translateY(0);
}

.sr.d1{transition-delay:.1s;}
.sr.d2{transition-delay:.2s;}
.sr.d3{transition-delay:.3s;}

/* =========================
   LAPTOP
========================= */
@media (max-width:1280px){
  .nav-inner,
  .page-hero,
  .mission,
  .story,
  .valeurs,
  .equipe,
  .stats-band,
  .about-cta,
  footer{
    padding-left:32px;
    padding-right:32px;
  }

  .page-hero{
    gap:48px;
    padding-top:96px;
    padding-bottom:80px;
  }

  .mission{
    gap:48px;
  }

  .valeurs-grid{
    grid-template-columns:repeat(2, minmax(0,1fr));
  }

  .nav-links{
    gap:24px;
  }
}

/* =========================
   TABLET
========================= */
@media (max-width:1024px){
  .ann{
    padding:10px 16px;
    gap:20px;
  }

  .ann-inner{
    gap:20px;
    animation-duration:22s;
  }

  .ann-item{
    font-size:11px;
  }

  .nav-inner{
    padding:12px 24px;
    min-height:72px;
    flex-wrap:wrap;
    gap:14px;
  }

  .nav-logo{
    flex:1 1 auto;
  }

  .nav-links{
    display:none;
  }

  .nav-actions{
    gap:10px;
    flex-wrap:wrap;
    justify-content:flex-end;
  }

  .nl-m{
    font-size:20px;
  }

  .nl-s{
    font-size:8px;
    letter-spacing:.22em;
  }

  .btn-outline,
  .btn-solid{
    padding:9px 18px;
    font-size:11px;
  }

  .page-hero{
    grid-template-columns:1fr;
    gap:24px;
    padding:72px 24px 56px;
  }

  .page-hero::before{
    width:100%;
    background:radial-gradient(
      ellipse 90% 70% at 70% 20%,
      rgba(42,80,52,.4) 0%,
      transparent 70%
    );
  }

  .ph-visual{
    display:none;
  }

  .ph-breadcrumb{
    margin-bottom:20px;
    flex-wrap:wrap;
    row-gap:4px;
  }

  .ph-tag{
    margin-bottom:16px;
  }

  .ph-title{
    font-size:clamp(40px,7vw,58px);
    margin-bottom:18px;
  }

  .ph-desc{
    font-size:15px;
    line-height:1.8;
    max-width:100%;
  }

  .mission{
    grid-template-columns:1fr;
    gap:36px;
    padding:72px 24px;
  }

  .mission-text h2{
    margin-bottom:20px;
  }

  .mission-text p{
    font-size:14px;
    line-height:1.85;
  }

  .mission-quote{
    margin:24px 0;
    padding:20px 22px;
    font-size:18px;
  }

  .mission-cards{
    grid-template-columns:repeat(2, minmax(0,1fr));
    gap:14px;
  }

  .mcard{
    padding:24px 20px;
  }

  .story{
    padding:72px 24px;
  }

  .story-title-wrap{
    margin-bottom:48px;
  }

  .timeline{
    max-width:100%;
    padding-left:18px;
  }

  .timeline::before{
    left:18px;
    transform:none;
  }

  .tl-item{
    grid-template-columns:1fr;
    gap:0;
    margin-bottom:28px;
  }

  .tl-space{
    display:none;
  }

  .tl-dot{
    left:18px;
    top:26px;
    transform:translateX(-50%);
    width:12px;
    height:12px;
    border-width:2px;
  }

  .tl-content{
    margin-left:34px;
    padding:24px 20px;
  }

  .tl-content h3{
    font-size:20px;
  }

  .tl-content p{
    font-size:14px;
    line-height:1.75;
  }

  .tl-item:nth-child(even) .tl-content,
  .tl-item:nth-child(even) .tl-space{
    order:unset;
  }

  .valeurs{
    padding:72px 24px;
  }

  .valeurs h2{
    margin-bottom:40px;
  }

  .valeurs-grid{
    grid-template-columns:repeat(2, minmax(0,1fr));
    gap:12px;
  }

  .val-tile{
    padding:32px 24px;
  }

  .val-num{
    font-size:44px;
  }

  .val-tile h3{
    font-size:21px;
  }

  .equipe{
    padding:72px 24px;
  }

  .equipe-header{
    margin-bottom:40px;
  }

  .equipe-grid{
    grid-template-columns:1fr;
    gap:18px;
  }

  .eq-card{
    padding:30px 22px;
  }

  .eq-avatar{
    width:82px;
    height:82px;
    font-size:28px;
    margin-bottom:16px;
  }

  .eq-name{
    font-size:20px;
  }

  .stats-band{
    grid-template-columns:repeat(2, minmax(0,1fr));
    gap:24px;
    padding:44px 24px;
  }

  .stat-n{
    font-size:clamp(42px,7vw,58px);
  }

  .stat-l{
    font-size:11px;
    letter-spacing:.12em;
  }

  .about-cta{
    padding:56px 24px;
    gap:24px;
    align-items:flex-start;
  }

  .about-cta h3,
  .about-cta p{
    max-width:100%;
  }

  .about-cta p{
    font-size:14px;
  }

  .cta-buttons{
    width:100%;
  }

  footer{
    padding:48px 24px 24px;
  }

  .ft-grid{
    grid-template-columns:1fr 1fr;
    gap:28px;
    margin-bottom:36px;
  }

  .ft-brand p{
    max-width:100%;
  }

  .ft-bottom{
    align-items:flex-start;
  }
}

/* =========================
   MOBILE
========================= */
@media (max-width:767px){
  .ann{
    padding:8px 12px;
    gap:16px;
  }

  .ann-inner{
    gap:16px;
    animation-duration:26s;
  }

  .ann-item{
    font-size:10px;
    letter-spacing:.04em;
  }

  .ann-sep{
    font-size:10px;
  }

  .nav-inner{
    padding:12px 16px;
    align-items:flex-start;
  }

  .nav-logo{
    width:100%;
  }

  .nav-actions{
    width:100%;
    justify-content:stretch;
  }

  .nav-actions a{
    flex:1 1 calc(50% - 5px);
  }

  .btn-outline,
  .btn-solid{
    padding:10px 12px;
    font-size:10px;
  }

  .nl-m{
    font-size:18px;
  }

  .nl-s{
    font-size:7px;
    letter-spacing:.18em;
  }

  .page-hero{
    padding:48px 16px 40px;
    gap:18px;
  }

  .ph-breadcrumb{
    font-size:11px;
    margin-bottom:14px;
  }

  .ph-tag span{
    font-size:10px;
    letter-spacing:.16em;
  }

  .ph-title{
    font-size:clamp(30px,10vw,42px);
    line-height:1.08;
    margin-bottom:14px;
  }

  .ph-desc{
    font-size:14px;
    line-height:1.75;
  }

  .mission{
    gap:28px;
    padding:48px 16px;
  }

  .mission .sec-tag span{
    font-size:10px;
    letter-spacing:.16em;
  }

  .mission-text h2{
    font-size:clamp(28px,8vw,36px);
  }

  .mission-text p{
    font-size:14px;
    line-height:1.75;
  }

  .mission-quote{
    padding:18px 16px;
    font-size:16px;
    margin:18px 0;
  }

  .mission-cards{
    grid-template-columns:1fr;
    gap:12px;
  }

  .mcard{
    padding:20px 16px;
  }

  .mcard .ico{
    font-size:24px;
    margin-bottom:12px;
  }

  .mcard h4{
    font-size:17px;
  }

  .mcard p{
    font-size:13px;
    line-height:1.7;
  }

  .story{
    padding:48px 16px;
  }

  .story-title-wrap{
    margin-bottom:36px;
  }

  .story-topline span{
    font-size:10px;
    letter-spacing:.16em;
  }

  .story-title{
    font-size:clamp(28px,8vw,36px);
  }

  .timeline{
    padding-left:14px;
  }

  .timeline::before{
    left:14px;
  }

  .tl-dot{
    left:14px;
    top:22px;
    width:10px;
    height:10px;
  }

  .tl-content{
    margin-left:26px;
    padding:18px 14px;
  }

  .tl-year{
    font-size:12px;
    margin-bottom:8px;
  }

  .tl-content h3{
    font-size:18px;
    margin-bottom:8px;
  }

  .tl-content p{
    font-size:13px;
    line-height:1.7;
  }

  .valeurs{
    padding:48px 16px;
  }

  .valeurs .sec-tag span{
    font-size:10px;
    letter-spacing:.16em;
  }

  .valeurs h2{
    font-size:clamp(28px,8vw,36px);
    margin-bottom:28px;
  }

  .valeurs-grid{
    grid-template-columns:1fr;
    gap:10px;
  }

  .val-tile{
    padding:24px 18px;
  }

  .val-num{
    font-size:36px;
    margin-bottom:10px;
  }

  .val-ico{
    font-size:24px;
    margin-bottom:12px;
  }

  .val-tile h3{
    font-size:18px;
    margin-bottom:10px;
  }

  .val-tile p{
    font-size:13px;
    line-height:1.7;
  }

  .equipe{
    padding:48px 16px;
  }

  .equipe-header h2{
    font-size:clamp(28px,8vw,36px);
  }

  .equipe-header p{
    font-size:14px;
    line-height:1.75;
    margin-top:12px;
  }

  .eq-card{
    padding:24px 16px;
  }

  .eq-avatar{
    width:74px;
    height:74px;
    font-size:24px;
  }

  .eq-name{
    font-size:18px;
  }

  .eq-role{
    font-size:11px;
    letter-spacing:.1em;
  }

  .eq-bio{
    font-size:13px;
    line-height:1.7;
  }

  .stats-band{
    grid-template-columns:1fr;
    gap:18px;
    padding:36px 16px;
  }

  .stat{
    padding:6px 0;
  }

  .stat-n{
    font-size:40px;
  }

  .stat-l{
    font-size:10px;
    letter-spacing:.1em;
    margin-top:4px;
  }

  .about-cta{
    padding:44px 16px;
    gap:18px;
  }

  .about-cta h3{
    font-size:clamp(26px,8vw,34px);
    line-height:1.15;
  }

  .about-cta p{
    font-size:13px;
    line-height:1.7;
    margin-top:10px;
  }

  .cta-buttons{
    flex-direction:column;
    gap:10px;
  }

  .cta-main,
  .cta-ghost{
    width:100%;
    padding:14px 16px;
  }

  footer{
    padding:40px 16px 20px;
  }

  .ft-grid{
    grid-template-columns:1fr;
    gap:24px;
    margin-bottom:28px;
  }

  .ft-brand .fbl{
    font-size:20px;
  }

  .ft-brand .fbs{
    font-size:8px;
    letter-spacing:.22em;
  }

  .ft-brand p,
  .ft-col a{
    font-size:13px;
    line-height:1.7;
  }

  .ft-col h4{
    margin-bottom:14px;
  }

  .ft-bottom{
    flex-direction:column;
    gap:8px;
  }

  .ft-bottom p,
  .ft-bottom span{
    font-size:11px;
    line-height:1.6;
  }

  .wa-float{
    width:50px;
    height:50px;
    right:14px;
    bottom:14px;
    font-size:20px;
  }
}/* End custom CSS */