
:root{
  --wheat:#D4A42E;         /* Jaune blé */
  --green:#71742C;         /* Vert tige */
  --ink:#1A150B;           /* Noir */
  --paper:#FFFFFF;         /* Blanc */
  --sand:#F2EDDF;          /* Beige clair */
  --radius:18px;
  --radius-lg:24px;
  --shadow:0 16px 40px rgba(26,21,11,.10);
  --shadow-soft:0 10px 26px rgba(26,21,11,.08);
  --line:rgba(26,21,11,.10);
  --muted:rgba(26,21,11,.72);
}



@font-face{
  font-family:"Elza Round";
  src:url("fonts/ElzaRound-Light.woff2") format("woff2"),
      url("fonts/ElzaRound-Light.woff") format("woff");
  font-weight:300;
  font-style:normal;
  font-display:swap;
}
@font-face{
  font-family:"Elza Round";
  src:url("fonts/ElzaRound-Medium.woff2") format("woff2"),
      url("fonts/ElzaRound-Medium.woff") format("woff");
  font-weight:500;
  font-style:normal;
  font-display:swap;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
h1,h2,h3,.brand-name{font-family:"Elza Round",sans-serif; letter-spacing:.2px}

body{
  margin:0;
  font-family:"Elza Round", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  font-weight:300;
  color:var(--ink);
  background:var(--paper);
  line-height:1.5;
}

.container{width:min(1100px, 92%); margin:0 auto}

.site-header{
  position:sticky; top:0; z-index:50;
  background:rgba(255,255,255,.9);
  backdrop-filter:saturate(150%) blur(10px);
  border-bottom:1px solid var(--line);
}
.header-inner{display:flex; align-items:center; gap:16px; padding:14px 0}
.brand{display:flex; flex-direction:column; text-decoration:none; color:inherit}
.brand-name{font-weight:500; font-size:1.25rem; letter-spacing:.2px}
.brand-tagline{font-size:.95rem; color:var(--muted)}

/* In the dark section, ensure taglines are readable on the white brand cards */
.brand-card .brand-tagline{ color: var(--ink); opacity: .82; }

.nav{margin-left:auto; display:flex; align-items:center; gap:14px}
.nav a{color:inherit; text-decoration:none; font-weight:500}
.nav a:hover{color:var(--green)}
.nav-toggle{display:none; margin-left:auto; border:1px solid rgba(26,21,11,.18); background:#fff; border-radius:10px; padding:8px 10px; font-size:18px}

.btn{
  display:inline-flex; align-items:center; justify-content:center;
  padding:10px 14px;
  border-radius:999px;
  font-weight:500;
  text-decoration:none;
  border:1px solid transparent;
  transition:transform .08s ease, opacity .2s ease, background .2s ease, border-color .2s ease;
}
.btn:active{transform:translateY(1px)}
.btn-primary{background:var(--wheat); color:#fff}
.btn-primary:hover{opacity:.92}
.btn-secondary{background:transparent; color:var(--ink); border-color:rgba(26,21,11,.22)}
.btn-secondary:hover{border-color:rgba(26,21,11,.45)}
.btn-link{background:transparent; color:var(--green); padding:10px 0}
.btn-link:hover{text-decoration:underline}

.hero{
  /* Extend the premium sand background behind the carousel (no white side gutters) */
  background: var(--sand);
  padding: 0 0 46px;
}

.carousel{
  position:relative;
  overflow:hidden;
  height:560px;
  /* Slight rounding, more modern/premium than a very large radius */
  border-radius: 12px;
  box-shadow: 0 20px 46px rgba(0,0,0,.14);
  background: #0b2137;
}

.carousel-track{
  display:flex;
  height:100%;
  transition:transform .7s ease;
}

.slide{
  min-width:100%;
  height:100%;
  position:relative;
  background: var(--bg) center/auto 100% no-repeat;
}

.slide::before{
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(180deg, rgba(0,0,0,.10), rgba(0,0,0,.10));
}
.slide-inner{max-width:900px}
.kicker{display:inline-block; background:rgba(255,255,255,.15); border:1px solid rgba(255,255,255,.25); padding:6px 10px; border-radius:999px; font-weight:500; letter-spacing:.3px}
.slide h1,.slide h2{margin:14px 0 8px; font-size:clamp(1.8rem, 3.4vw, 3rem); line-height:1.05}
.lead{font-size:1.15rem; max-width:65ch; margin:0 0 16px}
.cta-row{display:flex; flex-wrap:wrap; gap:10px; margin-top:12px}
.slide-note{margin-top:16px; opacity:.95}

.carousel-controls{display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 0}
.icon-btn{
  width:44px; height:44px; border-radius:999px;
  border:1px solid rgba(26,21,11,.18);
  background:#fff;
  box-shadow:0 4px 14px rgba(26,21,11,.10);
  font-size:24px;
  cursor:pointer;
}
.icon-btn:hover{border-color:rgba(26,21,11,.35)}
.dots{display:flex; gap:8px; justify-content:center; flex:1}
.dot{
  width:10px; height:10px; border-radius:999px;
  border:1px solid rgba(26,21,11,.25);
  background:transparent;
  cursor:pointer;
}
.dot.is-active{background:var(--wheat); border-color:var(--wheat)}

.trust{display:grid; grid-template-columns:repeat(2,1fr); gap:14px; margin-top:14px}
.trust-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:14px;
  box-shadow:var(--shadow-soft);
}
.trust-card h3{margin:0 0 6px}

.section{padding:70px 0}
.section-alt{background:var(--sand)}
.section-dark{background:linear-gradient(180deg, rgba(113,116,44,1), rgba(89,93,31,1)); color:#fff}
.section-head{margin-bottom:18px}
.section-head h2{margin:0 0 6px; font-size:2rem}
.section-subtitle{margin:0; color:var(--muted)}
.section-dark .section-subtitle{color:rgba(255,255,255,.85)}

.grid{display:grid; gap:16px}
.grid.two{grid-template-columns:repeat(2,1fr)}
.grid.three{grid-template-columns:repeat(2,1fr)}

/* Brands: 2 columns on mobile, 4 on desktop for a balanced layout */
.grid.brands{grid-template-columns:repeat(2,1fr)}
@media (min-width: 980px){
  .grid.brands{grid-template-columns:repeat(4,1fr)}
}

.card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:18px;
  box-shadow:var(--shadow);
}
.card h3{margin-top:0}
.card-dark{background:rgba(255,255,255,.08); border-color:rgba(255,255,255,.18); box-shadow:none}
.card-dark h3{margin-top:0}

.checklist{padding-left:18px; margin:12px 0 0}
.checklist li{margin:8px 0}
.checklist-light{color:#fff}
.mini{margin-top:10px; color:rgba(26,21,11,.7)}
.mini-light{color:rgba(255,255,255,.85)}
.note{margin-top:14px; opacity:.85}

.brand-card{
  color: var(--navy);

  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:18px;
  box-shadow:var(--shadow);
  text-decoration:none;
  color:inherit;
}
.brand-actions{display:flex; align-items:center; gap:12px; margin-top:10px; flex-wrap:wrap}

/* Brand descriptions must be dark on white cards */
.brand-card p{ color: var(--ink); margin:0; }

/* In the dark section, keep brand descriptions readable on white cards */
.brand-card .brand-desc{ color: var(--ink); opacity: .86; }

.about{display:grid; grid-template-columns:280px 1fr; gap:18px; align-items:start}
.about-photo{
  width:100%;
  aspect-ratio:1/1;
  object-fit:cover;
  border-radius:24px;
  border:1px solid var(--line);
  box-shadow:0 10px 28px rgba(26,21,11,.14);
  background:#fff;
}

.form label{display:block; font-weight:500; margin:10px 0 6px}
input, select, textarea{
  width:100%;
  padding:12px 12px;
  border-radius:12px;
  border:1px solid rgba(26,21,11,.18);
  font-family:inherit;
  font-size:1rem;
}
textarea{resize:vertical}
.fineprint{margin:10px 0 0; font-size:.95rem; color:rgba(26,21,11,.7)}

.footer{padding:14px 0; background:#fff; border-top:1px solid rgba(26,21,11,.10)}
.footer-inner{display:flex; flex-wrap:wrap; gap:8px; justify-content:space-between; align-items:center}
.footer-links{margin:0; display:flex; gap:10px; flex-wrap:wrap; align-items:center}
.footer a{color:inherit}
.footer a:hover{color:var(--green)}

@media (max-width: 880px){
  .nav{display:none}
  .nav-toggle{display:block}
  .trust{grid-template-columns:1fr}
  .grid.two{grid-template-columns:1fr}
  .grid.three{grid-template-columns:1fr}
  .about{grid-template-columns:1fr}
}

.section + .section{border-top:1px solid rgba(26,21,11,.06)}
.section-alt + .section{border-top:none}

.hero .btn-secondary{background:rgba(255,255,255,.10); color:#fff; border-color:rgba(255,255,255,.28)}

.hp{position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden}


.brand-logo{height:46px; width:auto; display:block}
@media (max-width: 880px){ .brand-logo{height:40px} }

.brand-logo-inline{height:36px; width:auto; display:block; margin-bottom:12px;}
.footer-brand{display:flex; align-items:center; text-decoration:none}
.footer-logo{height:48px; width:auto; display:block}

.watermark .section, .watermark .section-alt{position:relative}
.watermark .section::before, .watermark .section-alt::before{
  content:"";
  position:absolute;
  inset:0;
  background:url("images/logo-watermark.png") no-repeat;
  background-size:560px auto;
  background-position: calc(100% + 170px) 32%;
  opacity:0.04;
  pointer-events:none;
}

.footer{background:rgba(26,21,11,.96); color:#fff}
.footer a{color:#fff; text-decoration:none}
.footer a:hover{text-decoration:underline}
.footer-grid{display:grid; grid-template-columns: 1.2fr 1fr 1fr 1fr 1fr; gap:26px; align-items:start}
.footer-title{margin:0 0 10px; font-weight:500; letter-spacing:.2px}
.footer-text{margin:0; color:rgba(255,255,255,.78)}
.footer-links{margin:0; color:rgba(255,255,255,.78)}
@media (max-width: 900px){
  .footer-grid{grid-template-columns:1fr; gap:18px}
}

.watermark .section-dark::before{opacity:0.02}

/* Harmonisation logos constructeurs */
.brand-logo-inline{height:32px !important; max-width:220px; width:auto;}
.section-dark .brand-logo-inline{height:32px !important;}

/* Prevent logo distortion */
img{max-width:100%; height:auto}
.brand-logo-inline{height:36px; width:auto !important; object-fit:contain; display:block}
.section-dark .brand-logo-inline{height:34px; width:auto !important}

/* Square carousel (better on mobile) */
.carousel{max-width:720px; margin-inline:auto}
.carousel-viewport, .carousel-slide{aspect-ratio: 1 / 1; overflow:hidden; border-radius:0}
.carousel-slide img{width:100%; height:100%; object-fit:cover; display:block}


/* Footer social */
.footer-social{display:flex; gap:12px; flex-wrap:wrap; margin:0}
.footer-social a.social-icon{display:inline-flex; align-items:center; justify-content:center; width:34px; height:34px; border-radius:999px; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.18); transition:transform .15s ease, border-color .15s ease}
.footer-social a.social-icon svg{width:18px; height:18px; fill:#fff}
.footer-social a.social-icon:hover{border-color:rgba(255,255,255,.6); transform:translateY(-1px)}

/* Cookie Banner */
.cookie-banner{
  position:fixed;
  bottom:0;
  left:0;
  right:0;
  background:rgba(26,21,11,.96);
  color:#fff;
  padding:18px 24px;
  z-index:2000;
  display:none;
  box-shadow:0 -8px 24px rgba(0,0,0,.25);
}
.cookie-content{
  max-width:1200px;
  margin:0 auto;
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  align-items:center;
  gap:16px;
}
.cookie-banner p{
  margin:0;
  font-size:.95rem;
  line-height:1.4;
}
.cookie-banner a{
  color:#fff;
  text-decoration:underline;
}
.cookie-actions{
  display:flex;
  gap:10px;
}
.cookie-btn{
  padding:10px 18px;
  border-radius:999px;
  border:none;
  font-weight:500;
  cursor:pointer;
}
.cookie-btn.primary{
  background:var(--accent);
  color:#fff;
}
.cookie-btn.secondary{
  background:rgba(255,255,255,.12);
  color:#fff;
}
@media(max-width:600px){
  .cookie-content{
    flex-direction:column;
    align-items:flex-start;
  }
}


/* HERO full-bleed premium */
.slide{
  min-height:78vh;
  display:flex;
  align-items:center;
  padding:0;
}
.slide-inner{
  padding:84px 0 72px;
}
@media (max-width: 720px){
  .slide{min-height:72vh}
  .slide-inner{padding:72px 0 64px; text-align:center}
  .cta-row{justify-content:center}
  .lead{margin-inline:auto}
}


/* Neutralize square carousel rules (legacy) */
.carousel-viewport, .carousel-slide{aspect-ratio:auto}
.carousel-slide img{height:auto}


.hero-head{
  padding: 44px 0 18px;
  background: var(--sand);
  /* remove the thin grey separator line above the carousel */
  border-bottom: 0;
}
.hero-head h1{
  font-size: clamp(28px, 3.2vw, 46px);
  line-height: 1.08;
  letter-spacing: -0.02em;
  margin: 0 0 10px;
  font-weight: 500;
}
.hero-sub{
  margin: 0;
  max-width: 68ch;
  color: var(--slate);
  font-weight: 300;
}


/* Footer logo enlargement only */
.footer-logo img{
  max-height:110px;
  width:auto;
}

/* Contact section left column enrichment */
.contact-cards{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin:14px 0 10px;
}
.contact-mini{
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.14);
  border-radius:16px;
  padding:12px 12px;
}
.contact-label{
  margin:0 0 6px;
  font-weight:500;
  opacity:.8;
}
.contact-value{
  color:#fff;
  text-decoration:none;
  font-weight:500;
}
.contact-value:hover{text-decoration:underline}
.contact-h4{
  margin:16px 0 8px;
  font-weight:500;
  letter-spacing:.2px;
}
.contact-cta{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:14px;
}
@media (max-width: 720px){
  .contact-cards{grid-template-columns:1fr}
}



/* V27 – Hero modern: title centered + carousel as background */
.hero{
  position:relative;
  padding:96px 0 70px;
}
.hero-head{
  position:relative;
  z-index:3;
}
.hero-head-centered .container{
  text-align:center;
}
.hero-head-centered h1{
  margin:0 auto;
  max-width:1100px;
  font-family:"Elza Round", sans-serif;
  font-weight:500;
  font-size:clamp(2.2rem, 4vw, 3.4rem);
  letter-spacing:-0.02em;
  line-height:1.12;
}
/* Full-bleed band under title */
.hero-carousel-wrap{
  position:relative;
  z-index:2;
  margin-top:22px;
  width:100vw;
  margin-left:calc(50% - 50vw);
  padding:22px 0 0;
  background:var(--sand, #F3EFE4);
}
.carousel-hero{
  max-width:1180px;
  margin:0 auto 0;
}

/* Make carousel feel like a background stage */
.carousel-hero{
  height:min(68vh, 620px);
  border-radius:14px;
  box-shadow: 0 18px 46px rgba(0,0,0,.12);
}
.carousel-hero .slide::before{
  background:linear-gradient(180deg, rgba(0,0,0,.08), rgba(0,0,0,.10));
}

/* Smooth slide motion */
.carousel-track{
  transition:transform 1.05s cubic-bezier(.22,.9,.18,1);
  will-change:transform;
  transform:translate3d(0,0,0);
}
/* Keep full height visible (crop only width). On small screens switch to cover for readability */
.slide{
  background: var(--bg) center/auto 100% no-repeat;
}
@media (max-width: 720px){
  .carousel-hero{height:56vh}
  .slide{background: var(--bg) center/cover no-repeat;}
}



/* V28 – Hero split layout */
.hero-split{
  padding: 34px 0 54px;
  background: linear-gradient(180deg, rgba(0,0,0,.03), rgba(0,0,0,0));
}

.hero-split-grid{
  display:grid;
  grid-template-columns: 1.02fr .98fr;
  gap: 28px;
  align-items:stretch;
}

.hero-panel{
  background:#f7f7f7;
  border:1px solid rgba(0,0,0,.08);
  border-radius:28px;
  overflow:hidden;
  box-shadow:0 14px 38px rgba(0,0,0,.07);
  min-height: 560px;
}

.hero-panel-copy{
  display:flex;
  align-items:stretch;
}

.hero-copy-wrap{
  padding:54px 34px 30px;
  display:flex;
  flex-direction:column;
  width:100%;
}

.hero-title{
  margin:0;
  font-family:"Elza Round", sans-serif;
  font-weight:500;
  font-size:clamp(2.4rem, 4.8vw, 4.2rem);
  line-height:1.02;
  letter-spacing:-0.04em;
  max-width: 8.2ch;
  color:#17120d;
}

.hero-sub{
  margin:24px 0 0;
  max-width:540px;
  font-family:"Elza Round", sans-serif;
  font-weight:300;
  font-size:clamp(1rem, 1.2vw, 1.2rem);
  line-height:1.65;
  color:rgba(23,18,13,.78);
}

.hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  margin-top:28px;
}

.hero-actions .btn{
  min-height:46px;
  padding:12px 18px;
}

.hero-meta{
  margin-top:auto;
  padding-top:24px;
  border-top:1px solid rgba(0,0,0,.10);
}

.hero-meta-label{
  margin:0 0 14px;
  font-family:"Elza Round", sans-serif;
  font-weight:500;
  font-size:.78rem;
  letter-spacing:.16em;
  color:rgba(23,18,13,.68);
}

.hero-meta-text{
  margin:0;
  font-family:"Elza Round", sans-serif;
  font-weight:300;
  font-size:clamp(1rem, 1.15vw, 1.18rem);
  line-height:1.65;
  color:#3b3128;
  max-width: 560px;
}

.hero-panel-media{
  position:relative;
  background:#f7f7f7;
}

.carousel-hero-split{
  height:100%;
  min-height:560px;
  border-radius:0;
  box-shadow:none;
  background:#f7f7f7;
}

.carousel-hero-split .carousel-track{
  height:100%;
  transition: transform 1.15s cubic-bezier(.22,.85,.18,1);
}

.carousel-hero-split .slide{
  height:100%;
  background: var(--bg) center/cover no-repeat;
}

.carousel-hero-split .slide::before{
  background: linear-gradient(180deg, rgba(0,0,0,.03), rgba(0,0,0,.06));
}

.hero-carousel-controls{
  position:absolute;
  left:22px;
  right:22px;
  bottom:20px;
  z-index:3;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

.hero-carousel-controls .dots{
  flex:1;
  justify-content:center;
}

.hero-carousel-controls .icon-btn{
  background:rgba(255,255,255,.92);
  border:1px solid rgba(0,0,0,.10);
  box-shadow:0 10px 24px rgba(0,0,0,.08);
}

@media (max-width: 980px){
  .hero-split-grid{
    grid-template-columns: 1fr;
    gap:18px;
  }
  .hero-panel{
    min-height:auto;
  }
  .hero-copy-wrap{
    padding:40px 24px 24px;
  }
  .hero-title{
    max-width:none;
    font-size:clamp(2rem, 8vw, 3.2rem);
  }
  .carousel-hero-split{
    min-height:420px;
  }
}

@media (max-width: 640px){
  .hero-split{
    padding:18px 0 40px;
  }
  .hero-panel{
    border-radius:22px;
  }
  .carousel-hero-split{
    min-height:340px;
  }
  .hero-carousel-controls{
    left:14px;
    right:14px;
    bottom:14px;
  }
}



/* V29 – Responsive carousel image fill fix */
.carousel-hero-split,
.carousel-hero-split .carousel-track,
.carousel-hero-split .slide{
  background-color:#e9e6df;
}

.carousel-hero-split .slide{
  background-position:center center !important;
  background-repeat:no-repeat !important;
  background-size:cover !important;
}

@media (min-width: 981px){
  .carousel-hero-split .slide{
    background-size:cover !important;
  }
}

@media (max-width: 980px){
  .carousel-hero-split{
    min-height:420px;
  }
  .carousel-hero-split .slide{
    background-size:cover !important;
    background-position:center center !important;
  }
}

@media (max-width: 640px){
  .carousel-hero-split{
    min-height:340px;
  }
  .carousel-hero-split .slide{
    background-size:cover !important;
    background-position:center center !important;
  }
}


/* V30 – Simplified hero intro */
.hero-meta-simple{
  margin-top:28px;
  padding-top:20px;
  border-top:1px solid rgba(0,0,0,.08);
}

.hero-meta-simple .hero-meta-text{
  max-width:520px;
  font-size:1.05rem;
  line-height:1.7;
  color:#3b3128;
}


/* V31 – ensure hero CTA block removed */
.hero-actions{
  display:none !important;
}


/* V32 – reduce hero title size to fit in 3 lines */
.hero-title{
  font-size: clamp(2rem, 3.6vw, 3.2rem) !important;
  max-width: 11ch !important;
  line-height: 1.02 !important;
}



/* V34 – premium modern refinement from V32 */
:root{
  --bg-page:#f4f1ea;
  --panel:#f8f7f4;
  --panel-2:#ffffff;
  --ink:#17120d;
  --muted:rgba(23,18,13,.72);
  --line:rgba(23,18,13,.10);
  --gold:#d4a42e;
  --green:#5d6b35;
  --shadow-soft:0 10px 30px rgba(23,18,13,.06);
  --shadow-panel:0 20px 60px rgba(23,18,13,.08);
  --ease-premium:cubic-bezier(.22,.8,.2,1);
}

body{
  background:
    radial-gradient(1000px 520px at 12% -4%, rgba(212,164,46,.10), transparent 60%),
    radial-gradient(900px 460px at 88% -8%, rgba(93,107,53,.08), transparent 58%),
    var(--bg-page);
  color:var(--ink);
}

.site-header{
  background:rgba(244,241,234,.86);
  backdrop-filter: blur(12px) saturate(125%);
  border-bottom:1px solid rgba(23,18,13,.08);
  box-shadow:0 6px 18px rgba(23,18,13,.03);
}

.header-inner{
  min-height:78px;
}

.nav a{
  font-family:"Elza Round", sans-serif;
  font-weight:300;
  letter-spacing:.01em;
}

.nav a.btn-primary{
  background:linear-gradient(135deg, #c89a2d, #b98b20);
  border-color:transparent !important;
  box-shadow:0 8px 24px rgba(212,164,46,.22);
}
.nav a.btn-primary:hover{
  transform:translateY(-1px);
  box-shadow:0 12px 28px rgba(212,164,46,.28);
}

.hero-split{
  padding:36px 0 64px;
  background:none;
}

.hero-split-grid{
  gap:26px;
}

.hero-panel{
  background:linear-gradient(180deg, rgba(255,255,255,.55), rgba(255,255,255,.32));
  border:1px solid rgba(23,18,13,.08);
  border-radius:30px;
  box-shadow:var(--shadow-panel);
}

.hero-panel-copy{
  background:
    linear-gradient(180deg, rgba(255,255,255,.42), rgba(255,255,255,.18)),
    radial-gradient(400px 240px at 100% 0%, rgba(212,164,46,.10), transparent 65%),
    var(--panel);
}

.hero-copy-wrap{
  padding:52px 38px 34px;
}

.hero-title{
  color:var(--ink);
  font-family:"Elza Round", sans-serif;
  font-weight:500;
  font-size:clamp(1.9rem, 3.1vw, 2.95rem) !important;
  line-height:1.02 !important;
  letter-spacing:-0.045em;
  max-width:10.8ch !important;
  text-wrap:balance;
}

.hero-sub{
  margin-top:22px;
  max-width:520px;
  font-family:"Elza Round", sans-serif;
  font-weight:300;
  font-size:1.06rem;
  line-height:1.72;
  color:var(--muted);
}

.hero-meta-simple{
  margin-top:28px !important;
  padding-top:20px !important;
  border-top:1px solid rgba(23,18,13,.08) !important;
}

.hero-meta-simple .hero-meta-text{
  font-family:"Elza Round", sans-serif;
  font-weight:300;
  font-size:1.02rem !important;
  line-height:1.75 !important;
  color:#3d332a !important;
}

.hero-panel-media{
  background:var(--panel);
}

.carousel-hero-split{
  min-height:560px;
  background:var(--panel);
}

.carousel-hero-split .slide{
  background-position:center center !important;
  background-size:cover !important;
}

.carousel-hero-split .carousel-track{
  transition:transform 1.2s var(--ease-premium);
}

.hero-carousel-controls{
  left:18px;
  right:18px;
  bottom:18px;
}

.hero-carousel-controls .icon-btn{
  background:rgba(255,255,255,.92);
  border:1px solid rgba(23,18,13,.08);
  border-radius:999px;
  box-shadow:var(--shadow-soft);
}

.dots{
  display:flex;
  align-items:center;
  gap:8px;
}
.dot{
  width:8px;
  height:8px;
  border-radius:999px;
  background:rgba(255,255,255,.52);
  border:1px solid rgba(23,18,13,.06);
  transition:all .28s var(--ease-premium);
}
.dot.is-active{
  width:24px;
  background:#fff;
}

.section{
  padding:88px 0;
}
.section-head h2{
  font-family:"Elza Round", sans-serif;
  font-weight:500;
  letter-spacing:-.03em;
}
.section-subtitle{
  color:var(--muted);
}

.card, .trust-card, .brand-card{
  background:rgba(255,255,255,.82);
  border:1px solid rgba(23,18,13,.08) !important;
  border-radius:22px !important;
  box-shadow:var(--shadow-soft);
  transition:transform .28s var(--ease-premium), box-shadow .28s var(--ease-premium), border-color .28s var(--ease-premium);
}
.card:hover, .trust-card:hover, .brand-card:hover{
  transform:translateY(-3px);
  box-shadow:0 16px 42px rgba(23,18,13,.09);
  border-color:rgba(23,18,13,.12) !important;
}

.btn{
  border-radius:999px;
  font-family:"Elza Round", sans-serif;
  font-weight:500;
  transition:transform .24s var(--ease-premium), box-shadow .24s var(--ease-premium), background .24s var(--ease-premium);
}
.btn-primary{
  background:linear-gradient(135deg, #c89a2d, #b98b20);
  border-color:transparent !important;
  box-shadow:0 10px 28px rgba(212,164,46,.22);
}
.btn-primary:hover{
  transform:translateY(-1px);
}
.btn-secondary{
  background:rgba(255,255,255,.72);
  border-color:rgba(23,18,13,.12) !important;
}

.section-dark{
  background:
    radial-gradient(900px 360px at 18% 0%, rgba(212,164,46,.12), transparent 60%),
    radial-gradient(700px 320px at 84% 24%, rgba(93,107,53,.13), transparent 58%),
    #14110e;
}
.section-dark .card,
.section-dark .brand-card{
  background:rgba(255,255,255,.06);
  border-color:rgba(255,255,255,.13) !important;
  box-shadow:none;
}
.section-dark .section-subtitle{
  color:rgba(255,255,255,.72);
}
.section-dark .btn-secondary{
  background:rgba(255,255,255,.10);
  color:#fff;
  border-color:rgba(255,255,255,.18) !important;
}

.footer{
  background:#14110e;
  color:#fff;
  padding:28px 0;
}
.footer a{color:#fff}

@media (max-width: 980px){
  .hero-split-grid{
    gap:18px;
  }
  .hero-copy-wrap{
    padding:36px 26px 24px;
  }
  .hero-title{
    max-width:none !important;
    font-size:clamp(1.9rem, 8vw, 2.7rem) !important;
  }
  .carousel-hero-split{
    min-height:420px;
  }
}

@media (max-width: 640px){
  .hero-split{
    padding:20px 0 42px;
  }
  .hero-panel{
    border-radius:22px;
  }
  .hero-copy-wrap{
    padding:28px 20px 22px;
  }
  .hero-sub{
    font-size:1rem;
    line-height:1.65;
  }
  .carousel-hero-split{
    min-height:330px;
  }
  .hero-carousel-controls{
    left:12px;
    right:12px;
    bottom:12px;
  }
}



/* V35 – yellow-led premium adjustments */
:root{
  --gold:#D4A42E;
  --wheat:#D4A42E;
  --green:#71742C;
  --accent:#D4A42E;
  --accent2:#E0B64E;
  --accent3:#B98B20;
}

/* Replace dark sections with Terr'impulse yellow mood */
.section-dark{
  background:
    radial-gradient(900px 360px at 18% 0%, rgba(255,255,255,.18), transparent 60%),
    radial-gradient(700px 320px at 84% 24%, rgba(113,116,44,.14), transparent 58%),
    linear-gradient(180deg, rgba(212,164,46,.96), rgba(199,151,37,.96));
  color:var(--ink);
}
.section-dark .section-subtitle{
  color:rgba(23,18,13,.78);
}
.section-dark .card,
.section-dark .brand-card{
  background:rgba(255,255,255,.78);
  border-color:rgba(23,18,13,.10) !important;
  box-shadow:0 10px 28px rgba(23,18,13,.08);
}
.section-dark .brand-card p,
.section-dark .card p,
.section-dark li,
.section-dark a:not(.btn){
  color:var(--ink);
}
.section-dark .btn-secondary{
  background:rgba(255,255,255,.72);
  color:var(--ink);
  border-color:rgba(23,18,13,.14) !important;
}
.section-dark .btn-primary{
  background:linear-gradient(135deg, #17120d, #31271d);
  color:#fff;
  box-shadow:0 10px 26px rgba(23,18,13,.18);
}

/* Hero block: stack title and media for less empty space */
.hero-split-grid{
  grid-template-columns:1fr !important;
  gap:18px;
  max-width:1180px;
}
.hero-panel-copy,
.hero-panel-media{
  width:100%;
}
.hero-panel-copy{
  min-height:auto;
}
.hero-copy-wrap{
  padding:38px 38px 28px;
}
.hero-title{
  max-width:none !important;
  font-size:clamp(2rem, 4vw, 3.1rem) !important;
  line-height:1.03 !important;
  letter-spacing:-0.04em;
}
.hero-sub{
  max-width:780px;
  margin-top:18px;
  font-size:1.02rem;
}
.hero-meta-simple{
  max-width:760px;
  margin-top:22px !important;
}
.hero-panel-media{
  min-height:auto;
}
.carousel-hero-split{
  min-height:500px;
  border-radius:24px !important;
  overflow:hidden;
}
.hero-carousel-controls .icon-btn{
  background:rgba(255,255,255,.96);
  color:var(--ink);
  border-color:rgba(23,18,13,.10);
}
.dot{
  background:rgba(255,255,255,.58);
}
.dot.is-active{
  background:#17120d;
  border-color:#17120d;
}

/* General button visibility audit */
.btn-primary{
  background:linear-gradient(135deg, #c89a2d, #b98b20);
  color:#17120d;
  border-color:transparent !important;
}
.btn-primary:hover{
  color:#17120d;
}
.nav a.btn-primary{
  color:#17120d;
}
.icon-btn{
  color:#17120d;
}

/* Footer keep readable */
.footer{
  background:#17120d;
  color:#fff;
}
.footer a{color:#fff}

@media (max-width: 980px){
  .hero-copy-wrap{
    padding:30px 24px 22px;
  }
  .hero-title{
    font-size:clamp(1.9rem, 7vw, 2.7rem) !important;
  }
  .carousel-hero-split{
    min-height:380px;
  }
}
@media (max-width: 640px){
  .carousel-hero-split{
    min-height:300px;
  }
}


/* V36 – reduce empty space in left hero block */
.hero-split-grid{
  align-items:stretch;
}

.hero-panel-copy{
  display:flex;
  align-items:center;
  min-height:500px;
}

.hero-copy-wrap{
  display:flex;
  flex-direction:column;
  justify-content:center;
  width:100%;
  height:100%;
  padding:42px 38px !important;
}

.hero-title{
  margin-bottom:16px;
}

.hero-sub{
  margin-top:0;
  margin-bottom:24px;
}

.hero-meta-simple{
  margin-top:24px !important;
}

.hero-meta-simple .hero-meta-text{
  max-width:520px;
}

@media (max-width:980px){
  .hero-panel-copy{
    min-height:auto;
  }
  .hero-copy-wrap{
    padding:30px 24px !important;
  }
}


/* V38 – based on V37: side-by-side hero, title only */
.hero-split-grid{
  grid-template-columns: 1.02fr .98fr !important;
  gap: 26px !important;
  align-items: stretch !important;
}

.hero-panel-copy{
  display:flex;
  align-items:center;
  min-height:560px;
}

.hero-copy-wrap{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:48px 42px !important;
  height:100%;
  width:100%;
}

.hero-title{
  margin:0;
  max-width:9.6ch !important;
  font-size:clamp(2.4rem, 4.3vw, 4rem) !important;
  line-height:1.01 !important;
  letter-spacing:-0.05em !important;
  text-wrap:balance;
}

.hero-panel-media{
  min-height:560px;
}

.carousel-hero-split{
  min-height:560px !important;
}

@media (max-width: 980px){
  .hero-split-grid{
    grid-template-columns:1fr !important;
    gap:18px !important;
  }
  .hero-panel-copy,
  .hero-panel-media,
  .carousel-hero-split{
    min-height:auto !important;
  }
  .hero-copy-wrap{
    padding:34px 26px !important;
  }
  .hero-title{
    max-width:none !important;
    font-size:clamp(2.1rem, 8vw, 3rem) !important;
  }
}


/* V39 – hero blended left side + watermark */
.hero-panel-copy-soft{
  background: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
  position: relative;
  overflow: hidden;
}

.hero-copy-wrap{
  position: relative;
  z-index: 1;
  background: linear-gradient(180deg, rgba(244,241,234,.72), rgba(244,241,234,.58));
  border-radius: 28px;
}

.hero-watermark{
  position:absolute;
  inset:auto -20px -10px auto;
  width:220px;
  height:220px;
  background:url('images/logo-watermark.png') center/contain no-repeat;
  opacity:.07;
  pointer-events:none;
}

.hero-title{
  max-width: 12ch !important;
}

.carousel-loading{
  position:absolute;
  inset:auto 0 70px 0;
  text-align:center;
  font-family:"Elza Round", sans-serif;
  font-weight:300;
  font-size:.95rem;
  color:rgba(23,18,13,.58);
  pointer-events:none;
}

.carousel-hero-split{
  position: relative;
}

.carousel-hero-split .carousel-track{
  height:100%;
}

/* make left panel feel fused with page background */
.hero-panel-copy{
  background: transparent !important;
}

/* responsive watermark */
@media (max-width: 980px){
  .hero-copy-wrap{
    border-radius: 22px;
  }
  .hero-watermark{
    width:160px;
    height:160px;
    right:-8px;
    bottom:-8px;
  }
}

.hero-panel-copy.hero-panel-copy-soft{
  border:none !important;
  box-shadow:none !important;
}


/* V40 – carousel seamless background + invisible click zones */
.carousel-hero-split,
.carousel-hero-split .carousel-track,
.carousel-hero-split .slide{
  background-color:#F3EFE4 !important; /* same pale background as title area */
}

.hero-panel-media{
  background:#F3EFE4 !important;
}

.carousel-hero-split{
  position:relative;
  overflow:hidden;
}

/* remove visible controls but keep JS hooks if present */
.hero-carousel-controls{
  display:none !important;
}

/* invisible click zones for previous/next */
.carousel-clickzone{
  position:absolute;
  top:0;
  bottom:0;
  width:25%;
  z-index:5;
  cursor:pointer;
  background:transparent;
  border:0;
  padding:0;
}
.carousel-clickzone.left{left:0}
.carousel-clickzone.right{right:0}

/* subtle hover cue desktop only */
@media (hover:hover){
  .carousel-clickzone.left:hover{
    background:linear-gradient(90deg, rgba(243,239,228,.22), rgba(243,239,228,0));
  }
  .carousel-clickzone.right:hover{
    background:linear-gradient(270deg, rgba(243,239,228,.22), rgba(243,239,228,0));
  }
}


/* V41 refinements */
.carousel-hero-split,
.hero-panel-media,
.carousel-hero-split .slide,
.carousel-hero-split .carousel-track{
  background:#ece7dc !important;
  border:none !important;
  box-shadow:none !important;
}

.hero-panel-media,
.carousel-hero-split{
  border:0 !important;
  outline:none !important;
}

.carousel-hero-split::before,
.carousel-hero-split::after{
  display:none !important;
}

.footer,
.site-footer{
  padding-top:28px !important;
  padding-bottom:24px !important;
}

.footer *,
.site-footer *{
  font-size:0.92rem !important;
}

.footer-logo,
.site-footer .footer-logo{
  max-height:48px !important;
  width:auto !important;
}

.footer-contact{
  gap:8px !important;
}


/* V42 – fix carousel background/border + footer sizing + section order */
.hero-panel-media,
.hero-panel.hero-panel-media,
.carousel-hero-split,
.carousel-hero-split .carousel-track,
.carousel-hero-split .slide {
  background:#f4f1ea !important;
}

.hero-panel.hero-panel-media,
.hero-panel-media {
  border-color: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  outline: none !important;
}

.carousel-hero-split {
  border: 0 !important;
  outline: none !important;
  box-shadow: none !important;
  background:#f4f1ea !important;
}
.carousel-hero-split::before,
.carousel-hero-split::after,
.hero-panel-media::before,
.hero-panel-media::after {
  display:none !important;
  content:none !important;
}

.footer {
  padding-top: 20px !important;
  padding-bottom: 18px !important;
}
.footer .footer-grid {
  gap: 16px !important;
}
.footer .footer-title {
  font-size: .84rem !important;
  margin-bottom: 6px !important;
}
.footer .footer-text,
.footer .footer-links,
.footer .footer-note,
.footer .social,
.footer a {
  font-size: .84rem !important;
  line-height: 1.45 !important;
}
.footer-logo {
  max-height: 40px !important;
  width: auto !important;
}


/* V43 – minimalist footer */
.footer .footer-col{
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.footer .footer-title{
  display:none !important;
}

.footer-grid{
  align-items:center !important;
}


/* V46 final polish */
@media (max-width: 768px){
  .brands-grid,
  .marques-grid,
  .brand-grid,
  .grid-marques{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:16px !important;
  }

  .brand-card,
  .marque-card{
    width:100% !important;
    max-width:none !important;
  }
}

/* Carousel final fixes */
.carousel-loading{
  display:none !important;
}

.hero-carousel-controls,
.carousel-controls{
  display:none !important;
}

.carousel-track{
  display:flex !important;
  width:100% !important;
  transition:transform .7s ease !important;
}

.slide{
  min-width:100% !important;
  flex:0 0 100% !important;
}


/* V47 – smartphone brands stack cleanly in one column */
@media (max-width: 768px){
  .grid.brands,
  .brands{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:16px !important;
  }

  .brand-card{
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    display:flex !important;
    flex-direction:column !important;
  }

  .brand-card img,
  .brand-logo-inline{
    max-width:100% !important;
    height:auto !important;
    align-self:flex-start;
  }

  .brands-cta{
    margin-top:16px !important;
  }
}


/* V50 – final carousel reliability + brand stacking */
.carousel-loading,
.hero-carousel-controls,
.carousel-controls,
.dots,
.dot{
  display:none !important;
}

@media (max-width: 768px){
  .grid.brands,
  .brands{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:16px !important;
  }
  .grid.brands > *,
  .brands > *,
  .brand-card{
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    margin:0 !important;
  }
  .brand-card{
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
  }
  .brand-logo-inline,
  .brand-card img{
    max-width:100% !important;
    height:auto !important;
  }
}


/* V55 – definitive carousel fix (preserves uploaded texts/content) */
.carousel,
.carousel-hero-split{
  overflow:hidden !important;
}

.hero-panel-media,
.carousel-hero-split,
.carousel-hero-split .carousel-track{
  background-color:#f4f1ea !important;
}

.carousel-hero-split .carousel-track{
  display:flex !important;
  width:100% !important;
  height:100% !important;
  gap:0 !important;
  transform:translate3d(0,0,0);
  will-change:transform;
}

.carousel-hero-split .slide{
  position:relative !important;
  flex:0 0 100% !important;
  min-width:100% !important;
  width:100% !important;
  height:100% !important;
  background-image:var(--bg) !important;
  background-position:center center !important;
  background-repeat:no-repeat !important;
  background-size:cover !important;
  background-color:transparent !important;
  box-shadow:none !important;
  border:none !important;
}

.carousel-hero-split .slide::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(0,0,0,.03), rgba(0,0,0,.06)) !important;
}

.hero-carousel-controls,
.carousel-controls,
.carousel-loading,
.dots,
.dot{
  display:none !important;
}
