/* =========================================================
   Alliance WIN-WIN — Light Design System v5
   Background: white/light gray — NO dark backgrounds
   Brand green: #2D6A4F
   Fonts: Plus Jakarta Sans + Montserrat
========================================================= */
@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&family=Montserrat:wght@600;700;800;900&display=swap');

:root {
  --g:    #2D6A4F;
  --gd:   #1B4332;
  --gm:   #40916C;
  --gl:   #52B788;
  --gp:   #D8F3DC;
  --gbg:  #F0FAF4;
  --gbdr: #B7DFC9;
  --txt:  #0F1410;
  --sub:  #5C6E65;
  --muted:#8A9E93;
  --bdr:  #E2EDE7;
  --wht:  #FFFFFF;
  --gry:  #F7FAF8;
  --gry2: #EEF3F0;
  --fh:   'Montserrat', sans-serif;
  --fb:   'Plus Jakarta Sans', sans-serif;
  --r1:   6px;
  --r2:   12px;
  --r3:   20px;
  --s1:   0 2px 16px rgba(45,106,79,.07);
  --s2:   0 8px 40px rgba(45,106,79,.11);
  --s3:   0 24px 80px rgba(45,106,79,.15);
}

/* ── Reset ── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { overflow-x: hidden; scroll-behavior: smooth; }
body { overflow-x: hidden; background: var(--wht); color: var(--txt); font-family: var(--fb); -webkit-font-smoothing: antialiased; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }

/* ── Kill Elementor spacing ── */
.elementor-section, .elementor-container, .elementor-row,
.elementor-column, .elementor-column-wrap, .elementor-widget-wrap,
.elementor-widget-container, .e-con, .e-con-inner {
  margin: 0 !important; padding: 0 !important;
}
.elementor-section > .elementor-container { max-width: 100% !important; }

/* ── Widget base ── */
.aww-w { font-family: var(--fb); }
.aww-w * { box-sizing: border-box; }
.aww-w ul { list-style: none; }
.aww-w p:last-child { margin-bottom: 0; }

/* ── Containers ── */

/* ── Animations ── */
@keyframes aww-fu { from { opacity:0; transform:translateY(20px); } to { opacity:1; transform:none; } }
.fr { opacity:0; transform:translateX(22px);  transition:opacity .7s ease, transform .7s ease; }

/* ── Typography ── */
.aww-h1 { font-family:var(--fh); font-size:clamp(2rem,5vw,3.6rem); font-weight:700; line-height:1.07; letter-spacing:-.04em; color:#0F1410; margin:0 0 20px; }

/* ── Section spacing ── */
.aww-sec          { padding:80px 0; position:relative; background:var(--wht); }
/* NO dark sections — everything light */

/* ── Buttons ── */
/* Primary */
/* Outline */
/* Subtle */
/* Icon circle */

/* Ping */
@keyframes aww-ping-a { 75%,100%{ transform:scale(2); opacity:0; } }

/* Tag */

/* ═══════════════════════════════════════
   HERO — centered, no photo
═══════════════════════════════════════ */
/* Hero testimonial strip */

/* ═══════════════════════════════════════
   LOGOS STRIP — scrolling marquee
═══════════════════════════════════════ */
@keyframes aww-scroll-logos { from{transform:translateX(0)} to{transform:translateX(-50%)} }

/* ═══════════════════════════════════════
   SERVICE ACCORDION — MOBILE FIX
═══════════════════════════════════════ */

/* ═══════════════════════════════════════
   RECOGNITION (6 phrases)
═══════════════════════════════════════ */
/* ── Guillemets positioning in recognition cards ── */

/* ═══════════════════════════════════════
   COMPARISON TABLE
═══════════════════════════════════════ */

/* ═══════════════════════════════════════
   3 PHASES
═══════════════════════════════════════ */

/* ═══════════════════════════════════════
   PROFILES (2 cards with stock images)
═══════════════════════════════════════ */

/* ═══════════════════════════════════════
   TESTIMONIALS CAROUSEL — no photos on cards
═══════════════════════════════════════ */
/* Nav */

/* ═══════════════════════════════════════
   ABOUT — portrait only, no certs
═══════════════════════════════════════ */

/* ═══════════════════════════════════════
   GUARANTEE (green tint)
═══════════════════════════════════════ */

/* ═══════════════════════════════════════
   CTA BAND — green (brand color, not black)
═══════════════════════════════════════ */
/* Buttons on green bg */
/* Stats in CTA */

/* ═══════════════════════════════════════
   STATS ROW (unique homepage)
═══════════════════════════════════════ */

/* ═══════════════════════════════════════
   DIAGNOSTIC — what you receive cards
═══════════════════════════════════════ */
/* Diagnostic hero section */

/* ═══════════════════════════════════════
   FAQ
═══════════════════════════════════════ */

/* ═══════════════════════════════════════
   CONTACT
═══════════════════════════════════════ */
/* CF7 inside aww-cform */

/* ═══════════════════════════════════════
   LEGAL
═══════════════════════════════════════ */
.aww-legal { max-width:780px; margin:0 auto; padding:80px 28px; }
.aww-legal h1 { font-family:var(--fh); font-size:clamp(1.8rem,4vw,2.6rem); font-weight:700; letter-spacing:-.04em; color:var(--txt); margin:0 0 8px; }
.aww-legal-meta { font-size:.78rem; color:var(--muted); margin-bottom:40px; padding-bottom:22px; border-bottom:1px solid var(--bdr); }
.aww-legal h2 { font-family:var(--fh); font-size:1.1rem; font-weight:700; letter-spacing:-.02em; margin:28px 0 8px; color:var(--txt); }
.aww-legal p  { font-size:.9rem; line-height:1.82; color:var(--sub); margin-bottom:14px; }
.aww-legal ul { margin:0 0 14px; padding:0; }
.aww-legal ul li { font-size:.9rem; line-height:1.8; color:var(--sub); padding:4px 0 4px 18px; position:relative; }
.aww-legal ul li::before { content:'—'; position:absolute; left:0; color:var(--g); }
.aww-legal a { color:var(--g); text-decoration:underline; }

/* ═══════════════════════════════════════
   RESPONSIVE — MOBILE FIRST FIXES
═══════════════════════════════════════ */

/* Tablet */

/* Mobile */
@media(max-width:900px){
  .aww-sec { padding:60px 0; }
  body:not(.elementor-editor-active){padding-top:60px;}
  /* Comparison — stack columns */
}

@media(max-width:640px){
  /* Hero */
  /* Recog grid */
  /* CTA btns */
  /* Logo strip */

  /* ── SERVICES ACCORDION — full mobile fix ── */

  /* ── PHASES — readable on mobile ── */

  /* Profiles */
  /* Cform */
  /* About */
  /* Legal */
  .aww-legal { padding:60px 16px; }
}

/* ═══════════════════════════════════════
   ENJEUX (6 critical issues — Services page)
═══════════════════════════════════════ */

/* ═══════════════════════════════════════
   HERO 2-LINE SUBTITLE (Mutaction™ + tagline)
═══════════════════════════════════════ */
/* Mutaction™ block — after hero heading */
/* Hero description — below buttons, smaller */

/* ═══════════════════════════════════════
   COOKIE BANNER — AWW
═══════════════════════════════════════ */
#aww-cookie{
  position:fixed;bottom:24px;right:24px;z-index:99999;
  width:min(360px,calc(100vw - 32px));
  background:#fff;
  border:1px solid #E2EDE7;
  border-radius:16px;
  box-shadow:0 8px 40px rgba(45,106,79,.16);
  padding:24px;
  font-family:'Plus Jakarta Sans',sans-serif;
  animation:aww-cookie-in .4s cubic-bezier(.16,1,.3,1) both;
  display:none;
}
#aww-cookie.visible{display:block;}
@keyframes aww-cookie-in{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}
#aww-cookie-logo{height:32px;width:auto;margin-bottom:14px;display:block;}
#aww-cookie h4{font-family:'Montserrat',sans-serif;font-size:.95rem;font-weight:700;letter-spacing:-.02em;color:#0F1410;margin:0 0 8px;}
#aww-cookie p{font-size:.78rem;color:#5C6E65;line-height:1.65;margin:0 0 16px;}
#aww-cookie-btns{display:flex;flex-direction:column;gap:8px;}
.aww-cookie-btn{width:100%;padding:10px 16px;border-radius:9999px;font-family:'Plus Jakarta Sans',sans-serif;font-size:.82rem;font-weight:700;cursor:pointer;border:none;transition:all .2s;text-align:center;}
.aww-cookie-btn-accept{background:#2D6A4F;color:#fff;}
.aww-cookie-btn-accept:hover{background:#1B4332;}
.aww-cookie-btn-custom{background:#fff;color:#2D6A4F;border:1.5px solid #2D6A4F;}
.aww-cookie-btn-custom:hover{background:#F0FAF4;}
.aww-cookie-btn-reject{background:#fff;color:#8A9E93;border:1.5px solid #E2EDE7;font-weight:500;}
.aww-cookie-btn-reject:hover{background:#F7FAF8;}
/* Customize panel */
#aww-cookie-panel{display:none;margin-top:14px;border-top:1px solid #E2EDE7;padding-top:14px;}
#aww-cookie-panel.open{display:block;}
.aww-cookie-toggle-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;}
.aww-cookie-toggle-label{font-size:.78rem;font-weight:600;color:#0F1410;}
.aww-cookie-toggle-desc{font-size:.7rem;color:#8A9E93;margin-top:2px;}
.aww-cookie-toggle{position:relative;width:38px;height:22px;flex-shrink:0;}
.aww-cookie-toggle input{opacity:0;width:0;height:0;position:absolute;}
.aww-cookie-toggle-slider{position:absolute;inset:0;background:#E2EDE7;border-radius:9999px;cursor:pointer;transition:.2s;}
.aww-cookie-toggle-slider::before{content:'';position:absolute;width:16px;height:16px;left:3px;top:3px;background:#fff;border-radius:50%;transition:.2s;}
.aww-cookie-toggle input:checked+.aww-cookie-toggle-slider{background:#2D6A4F;}
.aww-cookie-toggle input:checked+.aww-cookie-toggle-slider::before{transform:translateX(16px);}
.aww-cookie-toggle input:disabled+.aww-cookie-toggle-slider{opacity:.5;cursor:not-allowed;}
#aww-cookie-save{width:100%;margin-top:12px;padding:9px 16px;background:#2D6A4F;color:#fff;border:none;border-radius:9999px;font-family:'Plus Jakarta Sans',sans-serif;font-size:.82rem;font-weight:700;cursor:pointer;}
#aww-cookie-save:hover{background:#1B4332;}
#aww-cookie-link{display:block;text-align:center;font-size:.68rem;color:#8A9E93;margin-top:10px;text-decoration:none;}
#aww-cookie-link:hover{color:#2D6A4F;}
@media(max-width:480px){#aww-cookie{bottom:0;right:0;width:100%;border-radius:16px 16px 0 0;}}

/* ── Title color gradient: black to green (client request) ── */
.aww-h1 {
  background: linear-gradient(135deg, #0F1410 0%, #0F1410 50%, #2D6A4F 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
/* Keep green gradient on hero em span as-is, reset fill */
