/* ============================================================
   FOODGATE AUDIT, Global Stylesheet
   Design: Agricultural Authority (editorial + trust)
   ============================================================ */

/* Skip link (accessibility) */
.skip-link{position:absolute;top:-100%;left:50%;transform:translateX(-50%);background:var(--green);color:var(--pure-white);padding:.6rem 1.2rem;border-radius:0 0 8px 8px;font-family:var(--font-body);font-size:.85rem;font-weight:600;z-index:500;transition:top .2s;text-decoration:none}
.skip-link:focus{top:0}

/* Screen-reader only */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* GDPR consent checkbox */
.form-files-zone{margin-bottom:.75rem}
.form-files-list{display:flex;flex-direction:column;gap:.4rem;margin-bottom:.5rem}
.form-files-list:empty{margin-bottom:0}
.form-file-chip{display:flex;align-items:center;gap:.5rem;padding:.45rem .75rem;background:rgba(34,85,34,.05);border:1px solid var(--green);border-radius:100px;font-size:.82rem;color:var(--green);font-weight:500}
.form-file-chip svg{flex-shrink:0}
.form-file-chip-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}
.form-file-chip-remove{background:none;border:none;color:var(--red);cursor:pointer;padding:0 0 0 .25rem;font-size:1.1rem;line-height:1;display:flex;align-items:center;transition:opacity .2s}
.form-file-chip-remove:hover{opacity:.7}
.form-file-add{display:inline-flex;align-items:center;gap:.5rem;padding:.55rem 1rem;border:1.5px dashed var(--gray-300);border-radius:var(--radius-md);font-size:.84rem;color:var(--gray-500);cursor:pointer;transition:border-color .2s,color .2s,background .2s;width:100%;justify-content:center;background:none;font-family:var(--font-body)}
.form-file-add:hover{border-color:var(--green);color:var(--green);background:rgba(34,85,34,.03)}
.form-file-hint{font-size:.76rem;color:var(--gray-400)}
.form-consent{display:flex;align-items:flex-start;gap:.5rem;margin-bottom:1rem;font-size:.8rem;color:var(--gray-500);cursor:pointer;line-height:1.5}
.form-consent input[type="checkbox"]{margin-top:.2rem;accent-color:var(--green)}
.form-consent a{color:var(--green);text-decoration:underline}

/* Form button states (JS toggles these classes) */
.form-sample-link{display:flex;align-items:center;justify-content:center;gap:.4rem;font-size:.78rem;color:var(--green);text-decoration:none;margin-top:.6rem;font-weight:500;transition:gap .2s}
.form-sample-link:hover{gap:.6rem;text-decoration:underline}
.form-submit.form-success{background:var(--gold);border-color:var(--gold)}
.form-submit.form-error{background:var(--red);border-color:var(--red)}

/* Ancorli @font-face removed — woff2 file missing. Falls back to sans-serif via --font-brand stack. */

*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}

:root{
  /* Brand */
  --green:#1a6b1a;--green-dark:#0d4a0d;--green-deeper:#072e07;--green-light:#e8f5e8;
  --red:#c44230;--red-dark:#a33628;--red-light:#fdf0ee;
  --gold:#d4a855;--gold-light:#f5ecd7;
  --orange:#E8721A;
  --blue:#4a90d9;--blue-light:rgba(74,144,217,.1);
  --red-accent:#ff6b4a;--green-accent:#6fcf6f;
  /* Neutrals, tinted toward brand green for subconscious cohesion */
  --black:#0a120b;--gray-900:#131c15;--gray-800:#1d291f;--gray-700:#2c3c2e;
  --gray-600:#49594b;--gray-500:#6a7a6c;--gray-400:#899a8b;--gray-300:#afbaaf;
  --gray-200:#d3dbd4;--gray-100:#edf1ee;--gray-50:#f5f8f6;
  --white:#f9fdf8;--pure-white:#fff;
  /* Typography */
  --font-display:'Bricolage Grotesque',system-ui,-apple-system,sans-serif;
  --font-body:'Figtree',system-ui,-apple-system,sans-serif;
  --font-brand:'Ancorli',sans-serif;
  /* Motion */
  --ease:cubic-bezier(.22,1,.36,1);
  --ease-out:cubic-bezier(.16,1,.3,1);
  --ease-bounce:cubic-bezier(.34,1.56,.64,1);
  --dur-fast:.2s;--dur-normal:.3s;--dur-slow:.5s;
  /* Layout */
  --max-w:1200px;
  --gutter:5%;
  --radius-sm:8px;
  --radius-md:10px;
  --radius-lg:12px;
  --radius-xl:16px;
  --radius-xs:6px;
  /* Spacing */
  --space-section:4rem;
  --space-section-lg:4.5rem;
  --space-section-sm:2.5rem;
  --space-grid:2rem;
  --space-card:2rem;
  --z-sticky:900;
  --z-nav:999;
  --z-mobile:998;
  --shadow-sm:0 1px 4px rgba(10,18,9,.04);
  --shadow-card:0 2px 16px rgba(10,18,9,.07);
  --shadow-lg:0 32px 80px rgba(10,18,9,.12);
  /* Texture */
  --grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)' opacity='.18'/%3E%3C/svg%3E");
  --dot-pattern:radial-gradient(circle,var(--gray-200) .8px,transparent .8px);
}

html{font-size:16px;overflow-x:hidden}
body{font-family:var(--font-body);color:var(--black);background:var(--white);overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.65}
img{max-width:100%;height:auto;display:block}
a{text-decoration:none;color:inherit}
:focus-visible{outline:2px solid var(--green);outline-offset:3px;border-radius:4px}

/* ============================================================
   GRAIN TEXTURE OVERLAY (for dark sections)
   ============================================================ */
.grain::before{content:'';position:absolute;inset:0;opacity:.035;pointer-events:none;background-image:var(--grain);background-size:128px 128px}

/* ============================================================
   NAVIGATION
   ============================================================ */
.nav{position:fixed;top:0;width:100%;z-index:var(--z-nav);padding:1.1rem 5%;transition:padding .5s var(--ease),background .5s var(--ease),box-shadow .5s var(--ease);display:flex;align-items:center;justify-content:space-between;background:rgba(250,253,248,.92);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid transparent}
.nav.scrolled{padding:.7rem 5%;border-bottom-color:transparent;box-shadow:0 4px 30px rgba(10,18,9,.06);border-image:linear-gradient(90deg,var(--green),var(--gold)) 1;border-image-slice:1;border-bottom-width:2px;border-bottom-style:solid}

.nav-brand{display:flex;align-items:center;gap:.8rem;text-decoration:none;transition:opacity .3s var(--ease)}
.nav-brand:hover{opacity:.85}
.nav-brand-logo{height:62px;width:auto;transition:height .4s var(--ease)}
.nav.scrolled .nav-brand-logo{height:44px}
.nav-brand-bar{width:2.5px;height:46px;background:var(--red);flex-shrink:0;border-radius:1px}
.nav-brand-text-wrap{display:flex;flex-direction:column}
.nav-brand-name{font-family:var(--font-display);font-size:1.6rem;font-weight:700;letter-spacing:2.5px;line-height:1.15}
.nav-brand-name .fg{color:var(--green)}
.nav-brand-name .au{color:var(--red)}
.nav-brand-slogan{font-family:var(--font-body);font-size:.85rem;color:var(--gray-500);letter-spacing:.4px;font-weight:500;font-style:normal}

.nav-links{display:flex;gap:2.2rem;align-items:center;list-style:none}
.nav-links a{text-decoration:none;font-size:.84rem;font-weight:500;color:var(--gray-600);transition:color .25s;position:relative;letter-spacing:.2px}
.nav-links a::after{content:'';position:absolute;bottom:-4px;left:0;width:0;height:1.5px;background:var(--green);transition:width .3s var(--ease)}
.nav-links a:hover,.nav-links a.active{color:var(--black)}
.nav-links a:hover::after,.nav-links a.active::after{width:100%}

/* Dropdown */
.dropdown{position:relative}
.dropdown>a{padding:.5rem .75rem;border-radius:var(--radius-sm) var(--radius-sm) 0 0;transition:background .2s,color .2s}
.dropdown:hover>a,.dropdown:focus-within>a{background:var(--pure-white);color:var(--green);box-shadow:0 -2px 8px rgba(10,18,9,.04)}
.dropdown-menu{position:absolute;top:100%;left:0;background:var(--pure-white);border-top:none;border-radius:0 var(--radius-md) var(--radius-md) var(--radius-md);padding:.5rem 0;min-width:280px;box-shadow:0 12px 36px rgba(10,18,9,.1);opacity:0;visibility:hidden;transition:opacity .25s var(--ease),visibility .25s var(--ease)}
.dropdown:hover .dropdown-menu,.dropdown:focus-within .dropdown-menu{opacity:1;visibility:visible}
.dropdown-menu a{display:block;padding:.65rem 1.2rem;font-size:.84rem;color:var(--gray-600);transition:all .2s}
.dropdown-menu a:hover{background:var(--gray-50);color:var(--green)}

/* Nav CTA */
.nav-cta{padding:.6rem 1.6rem;background:var(--green);color:var(--pure-white);border:none;border-radius:100px;font-family:var(--font-body);font-size:.82rem;font-weight:600;cursor:pointer;transition:all .3s var(--ease);text-decoration:none;letter-spacing:.2px;position:relative;box-shadow:0 2px 8px rgba(43,122,61,.2)}
.nav-cta::before{content:'';position:absolute;inset:-2px;border-radius:100px;background:var(--green);opacity:0;filter:blur(8px);transition:opacity .3s;z-index:-1}
.nav-cta:hover::before{opacity:.3}
.nav-cta:hover{background:var(--green-dark);transform:translateY(-1px);box-shadow:0 6px 20px rgba(43,122,61,.3)}
.nav-cta:active{transform:scale(.97)}

/* Language toggle */
.lang-toggle{display:flex;align-items:center;gap:.15rem;margin-left:.75rem;margin-right:.25rem;background:var(--gray-100);border-radius:100px;padding:3px;font-size:.75rem;font-weight:600;border:1px solid var(--gray-200)}
.lang-toggle a{padding:.3rem .65rem;border-radius:100px;color:var(--gray-500);transition:all .2s;text-decoration:none}
.lang-toggle a.active{background:var(--green);color:var(--pure-white);box-shadow:0 1px 4px rgba(43,122,61,.2)}

/* Mobile toggle */
.nav-toggle{display:none;flex-direction:column;gap:6px;background:none;border:none;cursor:pointer;padding:4px;position:relative;width:44px;height:44px;justify-content:center}
.nav-toggle span{width:22px;height:1.5px;background:var(--black);transition:all .3s var(--ease);display:block}
.nav-toggle.open span:nth-child(1){transform:rotate(45deg) translate(4px,4px)}
.nav-toggle.open span:nth-child(2){opacity:0}
.nav-toggle.open span:nth-child(3){transform:rotate(-45deg) translate(4px,-4px)}

/* Mobile menu */
.nav-mobile{position:fixed;top:0;right:-100%;width:100%;height:100vh;height:100dvh;background:var(--pure-white);z-index:var(--z-mobile);transition:right .4s var(--ease-out);padding:6rem 2rem 2rem;display:flex;flex-direction:column}
.nav-mobile.open{right:0}
.nav-mobile-links{list-style:none;display:flex;flex-direction:column;gap:0}
.nav-mobile-links a{display:block;padding:1rem 0;font-size:1.1rem;font-weight:500;color:var(--black);border-bottom:1px solid var(--gray-100);transition:color .2s}
.nav-mobile-links a:hover{color:var(--green)}
.nav-mobile-sub{padding-left:1.2rem}
.nav-mobile-sub a{font-size:.95rem;color:var(--gray-600);font-weight:400}
.nav-mobile-cta{margin-top:auto;display:block;padding:1rem;background:var(--green);color:var(--pure-white);border-radius:var(--radius-sm);text-align:center;font-weight:600;font-size:1rem;transition:background .2s}
.nav-mobile-cta:hover{background:var(--green-dark)}
.nav-mobile-lang{display:flex;gap:.5rem;margin-top:1rem;justify-content:center}
.nav-mobile-lang a{padding:.5rem 1rem;border-radius:var(--radius-xs);font-weight:600;font-size:.85rem;border:1px solid var(--gray-200)}
.nav-mobile-lang a.active{background:var(--green);color:var(--pure-white);border-color:var(--green)}

/* ============================================================
   BUTTONS
   ============================================================ */
.btn{padding:.85rem 2rem;border-radius:var(--radius-xs);font-family:var(--font-body);font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s var(--ease);text-decoration:none;display:inline-flex;align-items:center;gap:.5rem;border:none;letter-spacing:.2px}
.btn-primary{background:var(--green);color:var(--pure-white)}
.btn-primary:hover{background:var(--green-dark);transform:translateY(-2px);box-shadow:0 8px 24px rgba(26,107,26,.3)}
.btn-secondary{background:var(--pure-white);color:var(--green);border:1.5px solid var(--gray-200)}
.btn-secondary:hover{border-color:var(--green);box-shadow:0 4px 16px rgba(26,107,26,.08)}
.btn-white{background:var(--pure-white);color:var(--green-dark)}
.btn-white:hover{background:var(--gray-50);transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,.08)}
.btn svg{width:18px;height:18px;transition:transform .3s var(--ease)}
.btn:hover svg{transform:translateX(3px)}
.btn:active{transform:scale(.97)}
.btn-primary:active{transform:translateY(0) scale(.97);box-shadow:0 4px 12px rgba(26,107,26,.2);transition-duration:.1s}
.btn-sm{padding:.55rem 1.2rem;font-size:.82rem}

/* ============================================================
   SECTION COMMON
   ============================================================ */
.section{padding:4rem var(--gutter);position:relative}
.section-divider{height:1px;background:linear-gradient(90deg,transparent,var(--gray-200) 20%,var(--gray-200) 80%,transparent);margin:0 auto;max-width:var(--max-w)}
.section-inner{max-width:var(--max-w);margin:0 auto}
.section-label{font-size:.75rem;letter-spacing:.15em;text-transform:uppercase;color:var(--green);font-weight:700;margin-bottom:.75rem;display:flex;align-items:center;gap:.75rem}
.section-label::before{content:'';width:32px;height:2px;background:var(--green);border-radius:2px}
.section-title{font-family:var(--font-display);font-size:clamp(2rem,3.8vw,3rem);font-weight:700;color:var(--black);line-height:1.15;margin-bottom:1rem;letter-spacing:-.015em;padding-bottom:1rem;position:relative}
.section-title::after{content:'';position:absolute;bottom:0;left:0;width:48px;height:3px;background:linear-gradient(90deg,var(--green),var(--green-light));border-radius:3px}
.section-desc{font-size:1.05rem;color:var(--gray-500);line-height:1.7;max-width:560px;font-weight:400}
.pain-section .section-desc{color:rgba(255,255,255,.75)}
.text-center{text-align:center}
.text-center .section-label{justify-content:center}
.text-center .section-title::after{left:50%;transform:translateX(-50%)}
.text-center .section-desc{margin-left:auto;margin-right:auto}
.section-label--light{color:var(--gold)}
.section-title--light{color:var(--pure-white)}
.section-desc--light{color:rgba(255,255,255,.75)}
.page-header-tag--gold{background:var(--gold-light);color:var(--gold)}
h3{font-size:1.15rem;font-weight:600;line-height:1.3;letter-spacing:-.01em}

/* ============================================================
   HERO
   ============================================================ */
.hero{min-height:auto;position:relative;display:flex;align-items:center;padding:7rem 5% 4rem;background:var(--white);background-image:var(--dot-pattern);background-size:24px 24px;overflow:hidden}
.hero::before{content:'';position:absolute;top:-20%;right:-10%;width:900px;height:900px;border-radius:50%;background:radial-gradient(circle,rgba(26,107,26,.04) 0%,transparent 55%);pointer-events:none}
.hero::after{content:'';position:absolute;bottom:-10%;left:-8%;width:700px;height:700px;border-radius:50%;background:radial-gradient(circle,rgba(212,168,85,.04) 0%,transparent 55%);pointer-events:none}
.hero-inner{max-width:1400px;margin:0 auto;width:100%;display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:stretch;position:relative;z-index:1}
.hero-content{display:flex;flex-direction:column;gap:1.2rem;min-height:440px;justify-content:space-between}
.hero-carousel-col{display:flex;flex-direction:column}
.hero h1{font-family:var(--font-display);font-size:clamp(2.4rem,4.5vw,3.5rem);font-weight:700;line-height:1.1;color:var(--black);letter-spacing:-.02em}
.hero h1 strong{font-weight:700;color:var(--red);text-decoration:none;background-image:linear-gradient(var(--gold),var(--gold));background-position:0 92%;background-repeat:repeat-x;background-size:0% 2px;padding-bottom:2px;transition:background-size .6s var(--ease) .8s}
.hero h1.animated strong{background-size:100% 2px}
.hero-sub{font-size:.95rem;color:var(--gray-500);line-height:1.6;max-width:520px}
.hero-actions{display:flex;gap:1rem;flex-wrap:wrap}
.hero-accred-bar{display:flex;gap:.75rem;margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--gray-200)}
.hero-accred-card{display:flex;align-items:center;gap:.6rem;padding:.6rem .9rem;background:var(--pure-white);border:1px solid var(--gray-200);border-radius:var(--radius-md);transition:all .3s var(--ease);box-shadow:0 2px 8px rgba(0,0,0,.04),0 0 0 0 rgba(26,107,26,0)}
.hero-accred-card:hover{border-color:rgba(26,107,26,.25);box-shadow:0 4px 16px rgba(26,107,26,.07),0 0 0 3px rgba(26,107,26,.04);transform:translateY(-1px)}
.hero-accred-card img{height:36px;width:auto;flex-shrink:0}
.hero-accred-card-text{display:flex;flex-direction:column;gap:.1rem}
.hero-accred-card-text strong{font-family:var(--font-body);font-size:.88rem;font-weight:600;color:var(--black);letter-spacing:.01em;line-height:1.2}
.hero-accred-card-text span{font-size:.72rem;font-weight:600;color:var(--green);text-transform:uppercase;letter-spacing:.08em;line-height:1}
.hero-visual{position:relative;width:100%}
.hero-visual-frame{position:relative;border-radius:16px;overflow:hidden;box-shadow:var(--shadow-lg);aspect-ratio:4/3;width:100%}
.hero-visual-frame img,.hero-visual-frame video{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;opacity:0;transition:opacity .6s var(--ease)}
.hero-visual-frame img.active,.hero-visual-frame video.active{opacity:1}

/* Hero guarantees (pill badges) */
.hero-guarantees{display:flex;gap:.6rem;flex-wrap:wrap}
.hero-guarantee{display:inline-flex;align-items:center;gap:.4rem;padding:.45rem .9rem;background:var(--green-light);border:1px solid rgba(26,107,26,.12);border-radius:100px;font-size:.78rem;font-weight:600;color:var(--green);transition:all .2s var(--ease)}
.hero-guarantee:hover{background:rgba(26,107,26,.1);border-color:rgba(26,107,26,.2)}
.hero-guarantee svg{width:14px;height:14px;flex-shrink:0}
.hero-sample-card{display:flex;align-items:center;gap:.85rem;text-decoration:none;padding:.75rem 1.25rem;background:var(--pure-white);border:1.5px solid var(--green);border-radius:var(--radius-lg);transition:all .25s var(--ease);width:100%;max-width:380px}
.hero-sample-card:hover{border-color:var(--green-dark);box-shadow:0 4px 16px rgba(26,107,26,.1);transform:translateY(-1px)}
.hero-sample-card svg{width:22px;height:22px;flex-shrink:0;color:var(--green)}
.hero-sample-card-text{display:flex;flex-direction:column;gap:.1rem}
.hero-sample-card-text strong{font-size:.9rem;font-weight:700;color:var(--black)}
.hero-sample-card-text span{font-size:.78rem;color:var(--gray-500)}

/* Hero form (form moved into hero) */
.hero .cta-form{background:var(--pure-white);border-radius:var(--radius-xl);padding:2rem;box-shadow:0 12px 48px rgba(10,18,9,.1),0 0 0 1px var(--gray-200)}

/* Showcase tagline, label + statement */
.hero-tagline{margin-top:1.5rem;text-align:center}
.hero-tagline-label{display:inline-flex;align-items:center;gap:.7rem;font-family:var(--font-body);font-size:.8rem;font-weight:600;color:var(--green);text-transform:uppercase;letter-spacing:.12em;margin-bottom:.8rem}
.hero-tagline-label::before,.hero-tagline-label::after{content:'';display:block;width:28px;height:1.5px;background:var(--gold);border-radius:1px}
.hero-tagline-statement{font-family:var(--font-display);font-size:clamp(1.7rem,3.5vw,2.4rem);color:var(--green-dark);line-height:1.2;letter-spacing:-.015em}
.hero-tagline-statement em{font-style:italic;color:var(--red)}

/* Showcase progress bar */
.showcase-progress{position:absolute;bottom:0;left:0;right:0;height:4px;background:rgba(255,255,255,.25);z-index:4}
.showcase-progress-bar{height:100%;width:0;background:var(--gold);border-radius:0 2px 2px 0;transition:none}
.showcase-progress-bar.running{transition:width 3s linear}

/* Showcase arrows */
.showcase-arrow{position:absolute;top:50%;transform:translateY(-50%);width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.7);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:3;opacity:.5;transition:opacity .3s var(--ease),background .2s;box-shadow:0 2px 10px rgba(0,0,0,.2)}
.showcase-arrow svg{width:20px;height:20px;color:var(--black)}
.showcase-arrow:hover{background:var(--pure-white);opacity:1}
.hero-visual-frame:hover .showcase-arrow{opacity:1}
.showcase-prev{left:.75rem}
.showcase-next{right:.75rem}

/* Showcase dots */
.showcase-dots{display:flex;justify-content:center;gap:.6rem;margin-top:1rem}
.showcase-dot{width:10px;height:10px;border-radius:50%;border:2px solid var(--gray-300);background:transparent;cursor:pointer;padding:0;transition:all .3s var(--ease)}
.showcase-dot.active{background:var(--green);border-color:var(--green);transform:scale(1.2)}
.showcase-dot:hover{border-color:var(--green-dark)}


/* ============================================================
   ACCREDITATION BAR (between hero and stats)
   ============================================================ */
.accred-bar{padding:1.5rem 5%;background:var(--pure-white);border-bottom:1px solid var(--gray-200)}
.accred-bar-inner{max-width:var(--max-w);margin:0 auto;display:flex;justify-content:center;gap:1.5rem;flex-wrap:wrap}

/* ============================================================
   PAIN POINTS / BENEFITS
   ============================================================ */
.pain-section{background:var(--gray-900);color:var(--pure-white);position:relative;overflow:hidden}
.pain-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-grid);margin-top:2.5rem;counter-reset:pain}
.pain-card{background:rgba(255,255,255,.03);border:1px solid rgba(212,168,85,.12);border-radius:var(--radius-lg);padding:2rem;transition:all .4s var(--ease);position:relative;overflow:hidden;counter-increment:pain;box-shadow:0 2px 16px rgba(0,0,0,.15)}
.pain-card::after{content:counter(pain,decimal-leading-zero);position:absolute;bottom:-.1rem;right:.75rem;font-family:var(--font-display);font-size:5rem;font-weight:800;color:rgba(255,255,255,.04);pointer-events:none;line-height:1}
.pain-card::before{content:'';position:absolute;top:0;left:0;width:100%;height:3px;background:linear-gradient(90deg,var(--gold),transparent);opacity:0;transition:opacity .3s}
.pain-card:hover{border-color:rgba(255,255,255,.12);background:rgba(255,255,255,.05);transform:translateY(-4px);box-shadow:0 12px 40px rgba(0,0,0,.2)}
.pain-card:hover::before{opacity:1}
.pain-card-icon{width:52px;height:52px;border-radius:var(--radius-lg);background:linear-gradient(135deg,rgba(212,168,85,.2),rgba(212,168,85,.08));border:1px solid rgba(212,168,85,.15);display:flex;align-items:center;justify-content:center;margin-bottom:1.25rem}
.pain-card-icon svg{width:24px;height:24px;color:var(--gold)}
.pain-card h3{font-family:var(--font-display);font-size:1.15rem;font-weight:700;color:var(--pure-white);margin-bottom:.6rem;line-height:1.3}
.pain-card p{font-size:.92rem;color:rgba(255,255,255,.75);line-height:1.7}

/* ============================================================
   PROCESS / HOW IT WORKS
   ============================================================ */
.process-section{background:var(--gray-50);background-image:repeating-linear-gradient(45deg,transparent,transparent 14px,rgba(26,107,26,.025) 14px,rgba(26,107,26,.025) 15px),repeating-linear-gradient(-45deg,transparent,transparent 14px,rgba(212,168,85,.02) 14px,rgba(212,168,85,.02) 15px);position:relative;overflow:hidden;border-top:1px solid rgba(26,107,26,.06);border-bottom:1px solid rgba(26,107,26,.06)}
.process-section::before{content:'';position:absolute;top:-20%;right:-10%;width:600px;height:600px;border-radius:50%;background:radial-gradient(circle,rgba(26,107,26,.05) 0%,transparent 60%);pointer-events:none}
.process-section::after{content:'';position:absolute;top:0;left:0;bottom:0;width:4px;background:linear-gradient(180deg,transparent 0%,var(--green) 20%,var(--gold) 50%,var(--green) 80%,transparent 100%);opacity:.4;pointer-events:none}
.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;margin-top:2.5rem;position:relative}
.process-grid::before{content:'';position:absolute;top:50%;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--green-light),var(--green),var(--green-light));opacity:.3;z-index:0;pointer-events:none}
.process-step{padding:2rem 1.75rem;position:relative;z-index:1;text-align:center;border:1px solid var(--gray-200);background:var(--pure-white);transition:all .3s var(--ease);border-radius:var(--radius-lg);overflow:visible;box-shadow:0 2px 12px rgba(10,18,9,.05)}
.process-step:hover{background:var(--gray-50);box-shadow:0 4px 20px rgba(10,18,9,.04)}
.process-step-num{font-size:.6rem;font-weight:700;color:var(--gold);letter-spacing:2px;text-transform:uppercase;margin-bottom:1rem}
.process-step-icon{width:60px;height:60px;border-radius:var(--radius-lg);background:linear-gradient(135deg,var(--green-light),rgba(26,107,26,.08));border:1px solid rgba(26,107,26,.1);display:flex;align-items:center;justify-content:center;margin:0 auto 1rem;transition:transform .3s var(--ease),box-shadow .3s var(--ease)}
.process-step:hover .process-step-icon{transform:scale(1.08);box-shadow:0 6px 20px rgba(26,107,26,.15)}
.process-step-icon svg{width:26px;height:26px;color:var(--green)}
.process-step:nth-child(2) .process-step-icon{background:linear-gradient(135deg,var(--gold-light),rgba(212,168,85,.08));border-color:rgba(212,168,85,.15)}
.process-step:nth-child(2) .process-step-icon svg{color:var(--gold)}
.process-step:nth-child(2) .process-step-num{color:var(--gold)}
.process-step:nth-child(3) .process-step-icon{background:linear-gradient(135deg,var(--red-light),rgba(196,66,48,.05));border-color:rgba(196,66,48,.1)}
.process-step:nth-child(3) .process-step-icon svg{color:var(--red)}
.process-step:nth-child(3) .process-step-num{color:var(--red)}
.process-step:nth-child(4) .process-step-icon{background:linear-gradient(135deg,rgba(74,144,217,.1),rgba(74,144,217,.03));border-color:rgba(74,144,217,.15)}
.process-step:nth-child(4) .process-step-icon svg{color:var(--blue)}
.process-step:nth-child(4) .process-step-num{color:var(--blue)}
.process-step h3,.process-step h4{font-family:var(--font-display);font-size:1.05rem;font-weight:700;color:var(--black);margin-bottom:.4rem}
.process-step p{font-size:.9rem;color:var(--gray-500);line-height:1.6}
.process-sample-link{display:inline-flex;align-items:center;gap:.4rem;margin-top:.6rem;font-size:.8rem;font-weight:600;color:var(--green);text-decoration:none;padding:.35rem .75rem;background:var(--green-light);border-radius:100px;transition:all .2s var(--ease)}
.process-sample-link:hover{background:rgba(26,107,26,.12);gap:.55rem}
.process-arrow{position:absolute;right:-12px;top:50%;transform:translateY(-50%);width:24px;height:24px;background:var(--green);border:none;border-radius:50%;display:flex;align-items:center;justify-content:center;z-index:2;box-shadow:0 2px 8px rgba(26,107,26,.2)}
.process-arrow svg{width:12px;height:12px;color:var(--pure-white)}

/* ============================================================
   SERVICES CARDS
   ============================================================ */
.services-section{background:linear-gradient(180deg,var(--pure-white) 0%,rgba(245,236,215,.35) 100%);border-top:1px solid var(--gray-200);border-bottom:1px solid var(--gray-200);position:relative;overflow:hidden}
.services-section::before{content:'';position:absolute;bottom:-15%;left:-8%;width:560px;height:560px;border-radius:50%;background:radial-gradient(circle,rgba(212,168,85,.09) 0%,transparent 60%);pointer-events:none}
.services-section::after{content:'';position:absolute;top:-10%;right:-5%;width:460px;height:460px;border-radius:50%;background:radial-gradient(circle,rgba(26,107,26,.06) 0%,transparent 60%);pointer-events:none}
.services-section > .section-inner{position:relative;z-index:1}
.services-grid{display:grid;grid-template-columns:1.15fr 1fr 1fr;gap:var(--space-grid);margin-top:2.5rem;align-items:stretch}
.services-grid-3{grid-template-columns:repeat(3,1fr)}
.svc-card{border:1px solid var(--gray-200);border-radius:var(--radius-lg);padding:2rem;transition:transform .4s var(--ease),box-shadow .4s var(--ease),border-color .4s var(--ease);background:var(--pure-white);position:relative;overflow:hidden;box-shadow:0 2px 16px rgba(10,18,9,.05);display:flex;flex-direction:column}
.svc-card::after{content:'';position:absolute;top:0;left:0;width:100%;height:3px;background:linear-gradient(90deg,var(--green),var(--green-light));opacity:0;transition:opacity .3s}
.svc-card:hover::after{opacity:1}
.svc-card:first-child{border-color:var(--green);border-width:2px;background:var(--green-light);box-shadow:0 4px 20px rgba(43,122,61,.1)}
.svc-card:first-child .svc-card-badge{display:inline-block}
.svc-card-badge{font-size:.6rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--green);background:var(--pure-white);padding:.25rem .65rem;border-radius:4px;margin-bottom:.75rem}
.svc-card:hover{border-color:var(--green);transform:translateY(-4px);box-shadow:0 16px 48px rgba(26,107,26,.12),0 0 0 1px rgba(26,107,26,.05)}
.svc-card-icon{width:48px;height:48px;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;margin-bottom:1.25rem}
.svc-card:nth-child(1) .svc-card-icon{background:linear-gradient(135deg,rgba(26,107,26,.15),rgba(26,107,26,.05));border:1px solid rgba(26,107,26,.1)}
.svc-card:nth-child(2) .svc-card-icon{background:linear-gradient(135deg,var(--red-light),rgba(196,66,48,.05));border:1px solid rgba(196,66,48,.1)}
.svc-card:nth-child(3) .svc-card-icon{background:linear-gradient(135deg,var(--gold-light),rgba(212,168,85,.05));border:1px solid rgba(212,168,85,.15)}
.svc-card-icon svg{width:24px;height:24px}
.svc-card:nth-child(1) .svc-card-icon svg{color:var(--green)}
.svc-card:nth-child(2) .svc-card-icon svg{color:var(--red)}
.svc-card:nth-child(3) .svc-card-icon svg{color:var(--gold)}
.svc-card h3{font-family:var(--font-display);font-size:1.2rem;font-weight:700;color:var(--black);margin-bottom:.6rem}
.svc-card p{font-size:.92rem;color:var(--gray-500);line-height:1.65;margin-bottom:1.5rem;flex:1}
.svc-link{font-size:.82rem;font-weight:600;color:var(--green);text-decoration:none;display:inline-flex;align-items:center;gap:.4rem;transition:gap .3s var(--ease)}
.svc-link:hover{gap:.7rem}
.svc-link svg{width:14px;height:14px}
.services-more,.faq-more{text-align:center;margin-top:2rem;font-size:.92rem;color:var(--gray-500)}
.services-more a,.faq-more a{color:var(--green);font-weight:600;text-decoration:none;transition:color .2s}
.services-more a:hover,.faq-more a:hover{color:var(--green-dark)}

/* ============================================================
   COMPARE SERVICES TABLE (collapsible)
   ============================================================ */
.compare-toggle-btn{display:inline-flex;align-items:center;gap:.5rem;background:none;border:2px solid var(--green);color:var(--green);font-family:var(--font-display);font-weight:600;font-size:.95rem;padding:.65rem 1.5rem;border-radius:var(--radius-md);cursor:pointer;transition:background .2s,color .2s,box-shadow .2s}
.compare-toggle-btn:hover{background:var(--green);color:var(--pure-white);box-shadow:var(--shadow-md)}
.compare-toggle-chevron{transition:transform .3s var(--ease)}
.compare-toggle-btn[aria-expanded="true"] .compare-toggle-chevron{transform:rotate(180deg)}
.compare-toggle-btn[aria-expanded="true"]{background:var(--green);color:var(--pure-white)}

.compare-panel{overflow:hidden;transition:max-height .5s var(--ease),opacity .4s;max-height:0;opacity:0}
.compare-panel.open{max-height:1200px;opacity:1}
.compare-panel[hidden]{display:block !important;max-height:0;opacity:0;pointer-events:none}

.compare-panel-inner{padding:2rem 0 .5rem}
.compare-subtitle{text-align:center;color:var(--gray-500);font-size:.92rem;margin-bottom:1.5rem;font-style:italic}

.compare-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:var(--radius-md);box-shadow:var(--shadow-md)}
.compare-table{width:100%;border-collapse:collapse;font-size:.85rem;min-width:700px}
.compare-table thead{background:var(--green-dark);color:var(--pure-white)}
.compare-table th{padding:.75rem .7rem;font-family:var(--font-display);font-weight:700;font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;text-align:center;white-space:nowrap}
.compare-table th:first-child{text-align:left;padding-left:1.2rem;border-radius:var(--radius-md) 0 0 0}
.compare-table th:last-child{border-radius:0 var(--radius-md) 0 0}
.compare-table th a{color:var(--pure-white);text-decoration:none;border-bottom:1px solid rgba(255,255,255,.3);transition:border-color .2s}
.compare-table th a:hover{border-color:var(--gold)}

.compare-table td{padding:.7rem .7rem;text-align:center;border-bottom:1px solid var(--gray-200);color:var(--gray-600);font-size:.84rem}
.compare-table td:first-child{text-align:left;font-weight:600;color:var(--gray-700);padding-left:1.2rem;white-space:nowrap}
.compare-table tbody tr:nth-child(even){background:var(--gray-50)}
.compare-table tbody tr:hover{background:rgba(34,85,34,.04)}

.cmp-yes{color:var(--green);font-weight:700;font-size:1.05rem}
.cmp-no{color:var(--gray-400);font-size:.85rem}

.compare-best-row td{font-weight:700;color:var(--green-dark);background:rgba(34,85,34,.06);border-bottom:none}
.compare-best-row td:first-child{border-radius:0 0 0 var(--radius-md)}
.compare-best-row td:last-child{border-radius:0 0 var(--radius-md) 0}

.compare-cta-row{display:flex;justify-content:center;gap:1rem;margin-top:1.5rem;flex-wrap:wrap}
.btn-outline{background:transparent;color:var(--green);border:2px solid var(--green);font-family:var(--font-display);font-weight:600;font-size:.88rem;padding:.6rem 1.3rem;border-radius:var(--radius-md);text-decoration:none;transition:background .2s,color .2s}
.btn-outline:hover{background:var(--green);color:var(--pure-white)}

@media(max-width:768px){
  .compare-table{font-size:.78rem}
  .compare-table th,.compare-table td{padding:.55rem .5rem}
  .compare-cta-row{flex-direction:column;align-items:center}
}

/* ============================================================
   WHY FOODGATE (trust section)
   ============================================================ */
.trust-section{background:linear-gradient(180deg,var(--gray-50) 0%,rgba(232,245,232,.4) 100%);border-top:1px solid var(--gray-200);border-bottom:1px solid var(--gray-200);position:relative;overflow:hidden}
.trust-section::before{content:'';position:absolute;top:10%;left:-5%;width:500px;height:500px;border-radius:50%;background:radial-gradient(circle,rgba(26,107,26,.04) 0%,transparent 65%);pointer-events:none}
.trust-section::after{content:'';position:absolute;bottom:-10%;right:-3%;width:400px;height:400px;border-radius:50%;background:radial-gradient(circle,rgba(212,168,85,.04) 0%,transparent 65%);pointer-events:none}
.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-grid);margin-top:2.5rem}
.trust-card{text-align:center;padding:2rem 1.5rem;border-radius:var(--radius-lg);border:1px solid var(--gray-200);transition:all .3s var(--ease);background:var(--pure-white);box-shadow:0 2px 16px rgba(10,18,9,.05);position:relative;overflow:hidden}
.trust-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;transform:scaleX(0);transition:transform .3s var(--ease);border-radius:2px 2px 0 0}
.trust-card:hover::before{transform:scaleX(1)}
.trust-card:nth-child(1)::before{background:var(--green)}
.trust-card:nth-child(2)::before{background:var(--gold)}
.trust-card:nth-child(3)::before{background:var(--red)}
.trust-card:nth-child(4)::before{background:var(--green-dark)}
.trust-card:hover{border-color:var(--green);transform:translateY(-3px);box-shadow:0 8px 30px rgba(26,107,26,.06)}
.trust-card-icon{width:60px;height:60px;border-radius:50%;background:linear-gradient(135deg,var(--green-light),rgba(26,107,26,.06));border:1.5px solid rgba(26,107,26,.1);display:flex;align-items:center;justify-content:center;margin:0 auto 1rem;box-shadow:0 4px 12px rgba(26,107,26,.08);transition:box-shadow .3s var(--ease)}
.trust-card:hover .trust-card-icon{box-shadow:0 6px 16px rgba(26,107,26,.12)}
.trust-card-icon svg{width:26px;height:26px;color:var(--green)}
.trust-card h3,.trust-card h4{font-family:var(--font-display);font-size:1.05rem;font-weight:700;color:var(--black);margin-bottom:.4rem}
.trust-card p{font-size:.9rem;color:var(--gray-500);line-height:1.6}

/* ============================================================
   SOCIAL PROOF / COMMITMENT
   ============================================================ */
.proof-section{background:linear-gradient(180deg,var(--pure-white) 0%,var(--gold-light) 100%);border-top:1px solid var(--gray-200);border-bottom:1px solid var(--gray-200);background-image:var(--dot-pattern);background-size:24px 24px;position:relative;overflow:hidden}
.proof-section::after{content:'';position:absolute;top:20%;right:-5%;width:450px;height:450px;border-radius:50%;background:radial-gradient(circle,rgba(26,107,26,.03) 0%,transparent 60%);pointer-events:none}
.proof-inner{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}
.proof-accred{display:flex;gap:2rem;flex-wrap:wrap;align-items:center;margin-top:1.5rem}
.proof-accred img{height:60px;width:auto;opacity:.8;transition:all .3s;filter:grayscale(.2)}
.proof-accred img:hover{opacity:1;filter:grayscale(0);transform:scale(1.05)}
.proof-commitments{display:flex;flex-direction:column;gap:1rem}
.proof-commit{display:flex;align-items:flex-start;gap:1rem;padding:1.25rem 1.5rem;background:var(--pure-white);border:1px solid var(--gray-200);border-radius:var(--radius-md);transition:all .3s var(--ease);position:relative;overflow:hidden}
.proof-commit:hover{box-shadow:0 4px 16px rgba(10,18,9,.04);border-color:var(--gray-300)}
.proof-commit-icon{width:44px;height:44px;border-radius:var(--radius-sm);background:linear-gradient(135deg,var(--green-light),rgba(26,107,26,.06));border:1px solid rgba(26,107,26,.1);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.proof-commit-icon svg{width:20px;height:20px;color:var(--green)}
.proof-commit h3,.proof-commit h4{font-size:.95rem;font-weight:600;color:var(--black);margin-bottom:.15rem}
.proof-commit p{font-size:.88rem;color:var(--gray-500);line-height:1.5}

/* ============================================================
   FAQ
   ============================================================ */
.faq-section{background:var(--white);background-image:var(--dot-pattern);background-size:24px 24px;position:relative;overflow:hidden}
.faq-section::before{content:'';position:absolute;top:-10%;right:-8%;width:600px;height:600px;border-radius:50%;background:radial-gradient(circle,rgba(26,107,26,.035) 0%,transparent 60%);pointer-events:none}
.faq-section::after{content:'';position:absolute;bottom:-15%;left:-5%;width:450px;height:450px;border-radius:50%;background:radial-gradient(circle,rgba(212,168,85,.03) 0%,transparent 60%);pointer-events:none}
.faq-deco{position:absolute;left:0;top:40%;font-family:var(--font-display);font-size:12rem;color:var(--green);opacity:.03;line-height:1;pointer-events:none}
.faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;margin-top:2rem;align-items:start}
.faq-grid-single{grid-template-columns:1fr}
.faq-list{display:flex;flex-direction:column;gap:.5rem;align-items:stretch}
.faq-list .faq-item.reveal{transition-delay:0s!important}
.faq-item{border:none;border-radius:var(--radius-lg);overflow:hidden;transition:all .3s var(--ease);background:var(--pure-white);box-shadow:0 1px 3px rgba(10,18,9,.06),0 0 0 1px rgba(10,18,9,.04);width:100%}
.faq-item:hover{box-shadow:0 3px 12px rgba(10,18,9,.08),0 0 0 1px rgba(10,18,9,.06)}
.faq-item.open{box-shadow:0 4px 20px rgba(26,107,26,.1),0 0 0 1.5px var(--green)}
.faq-question{padding:1rem 1.25rem;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:1rem;background:transparent;transition:background .2s;width:100%}
.faq-question:hover{background:var(--gray-50)}
.faq-question h3,.faq-question h4{font-size:.95rem;font-weight:600;color:var(--black);line-height:1.4}
.faq-question-icon{width:30px;height:30px;border-radius:50%;background:var(--green-light);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .3s var(--ease)}
.faq-item.open .faq-question-icon{background:var(--green);transform:rotate(45deg)}
.faq-question-icon svg{width:14px;height:14px;color:var(--green);transition:color .3s}
.faq-item.open .faq-question-icon svg{color:var(--pure-white)}
.faq-answer{max-height:0;overflow:hidden;transition:max-height .4s var(--ease)}
.faq-answer-inner{padding:0 1.25rem 1.25rem;font-size:.92rem;color:var(--gray-500);line-height:1.7}

/* ============================================================
   CTA FINAL
   ============================================================ */
.cta-final{background:var(--green-deeper);position:relative;overflow:hidden;padding:5rem 5%}
.cta-final::before{content:'';position:absolute;inset:0;opacity:.03;background-image:var(--grain);background-size:128px 128px;pointer-events:none}
.cta-final::after{content:'';position:absolute;top:-20%;right:-10%;width:700px;height:700px;border-radius:50%;background:radial-gradient(circle,rgba(212,168,85,.08) 0%,transparent 60%);pointer-events:none}
.cta-final-inner{max-width:900px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:start;position:relative;z-index:1}
.cta-final-text h2{font-family:var(--font-display);font-size:clamp(1.8rem,3.2vw,2.6rem);font-weight:700;color:var(--pure-white);line-height:1.15;margin-bottom:1rem}
.cta-final-text p{font-size:1rem;color:rgba(255,255,255,.75);line-height:1.7;margin-bottom:1.5rem}
.cta-final-guarantees{display:flex;flex-direction:column;gap:.6rem}
.cta-final-guarantee{display:flex;align-items:center;gap:.6rem;font-size:.82rem;color:rgba(255,255,255,.7)}
.cta-final-guarantee svg{width:16px;height:16px;color:var(--gold);flex-shrink:0}

/* CTA Form */
.cta-form{background:var(--pure-white);border-radius:var(--radius-xl);padding:2rem;box-shadow:var(--shadow-lg)}
.cta-form h3{font-family:var(--font-display);font-size:1.3rem;font-weight:700;margin-bottom:1.25rem;color:var(--black)}

/* ============================================================
   FORMS
   ============================================================ */
.form-group{margin-bottom:.85rem}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:.85rem}
.form-input{width:100%;padding:.75rem 1rem;background:var(--gray-50);border:1px solid var(--gray-200);border-radius:var(--radius-sm);color:var(--black);font-family:var(--font-body);font-size:.85rem;outline:none;transition:all .25s var(--ease)}
.form-input::placeholder{color:var(--gray-400)}
.form-input:focus{border-color:var(--green);background:var(--pure-white);box-shadow:0 0 0 3px rgba(26,107,26,.08),0 2px 8px rgba(26,107,26,.04)}
select.form-input{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%238a9a8a' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;background-color:var(--gray-50);cursor:pointer;padding-right:2.5rem}
textarea.form-input{resize:vertical;min-height:100px}
.form-submit{width:100%;padding:.85rem;background:var(--green);color:var(--pure-white);border:none;border-radius:100px;font-family:var(--font-body);font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s var(--ease);box-shadow:0 2px 8px rgba(43,122,61,.2)}
.form-submit:hover{background:var(--green-dark)}
.form-input:hover{border-color:var(--gray-300);background:var(--pure-white)}

/* ============================================================
   HERO ROI LINE
   ============================================================ */
.hero-roi{font-size:.82rem;color:var(--gray-600);margin-top:0;padding:.5rem .85rem;background:var(--red-light);border:1px solid rgba(196,66,48,.15);border-radius:var(--radius-sm)}
.hero-roi strong{color:var(--red);font-weight:700}

/* ============================================================
   SAMPLE REPORT BUTTON
   ============================================================ */
.btn-sample-report{display:inline-flex;align-items:center;gap:.6rem;padding:.55rem 1rem;background:var(--pure-white);border:1.5px solid var(--green);border-radius:var(--radius-md);text-decoration:none;color:var(--black);transition:all .3s var(--ease);box-shadow:0 2px 8px rgba(26,107,26,.06)}
.btn-sample-report:hover{border-color:var(--green-dark);box-shadow:0 4px 20px rgba(26,107,26,.15);transform:translateY(-2px)}
.btn-sample-report svg{color:var(--green);flex-shrink:0}
.btn-sample-report span{display:flex;flex-direction:column;gap:.1rem}
.btn-sample-report strong{font-family:var(--font-display);font-size:.88rem;font-weight:700}
.btn-sample-report small{font-size:.72rem;color:var(--gray-500)}

/* ============================================================
   FILE UPLOAD
   ============================================================ */
.form-upload-label{display:flex;align-items:center;gap:.5rem;padding:.6rem 1rem;border:1px dashed var(--gray-300);border-radius:var(--radius-sm);cursor:pointer;font-size:.8rem;color:var(--gray-500);transition:all .25s var(--ease)}
.form-upload-label:hover{border-color:var(--green);color:var(--green);background:var(--green-light)}
.form-upload-label svg{flex-shrink:0}
.form-upload-group.has-file .form-upload-label{border-color:var(--green);color:var(--green);background:var(--green-light)}

/* ============================================================
   GUARANTEES SECTION
   ============================================================ */
.guarantees-section{background:var(--green-deeper);position:relative;overflow:hidden}
.guarantees-section::before{content:'';position:absolute;inset:0;opacity:.03;background-image:var(--grain);background-size:128px 128px;pointer-events:none}
.guarantees-section::after{content:'';position:absolute;top:-20%;right:-10%;width:600px;height:600px;border-radius:50%;background:radial-gradient(circle,rgba(212,168,85,.08) 0%,transparent 60%);pointer-events:none}
.guarantees-section .section-label{color:var(--gold)}
.guarantees-section .section-title{color:var(--pure-white)}
.guarantees-section .section-desc{color:rgba(255,255,255,.7)}
.guarantees-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;position:relative;z-index:1}
.guarantee-card{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-lg);padding:2rem 1.5rem;position:relative;transition:all .4s var(--ease);text-align:left}
.guarantee-card:hover{transform:translateY(-4px);background:rgba(255,255,255,.1);border-color:rgba(212,168,85,.3);box-shadow:0 12px 40px rgba(0,0,0,.2)}
.guarantee-card::after{content:'';position:absolute;top:0;left:0;width:100%;height:3px;border-radius:var(--radius-lg) var(--radius-lg) 0 0;opacity:0;transition:opacity .3s}
.guarantee-card:hover::after{opacity:1}
.guarantee-card:nth-child(1)::after{background:var(--gold)}
.guarantee-card:nth-child(2)::after{background:var(--green-accent)}
.guarantee-card:nth-child(3)::after{background:var(--red-accent)}
.guarantee-icon{width:52px;height:52px;margin-bottom:1rem;display:flex;align-items:center;justify-content:center;background:rgba(212,168,85,.15);border:1px solid rgba(212,168,85,.2);border-radius:var(--radius-lg);color:var(--gold)}
.guarantee-icon svg{width:24px;height:24px}
.guarantee-stamp{display:inline-block;font-size:.6rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--gold);border:2px solid var(--gold);border-radius:100px;padding:.2rem .7rem;margin-bottom:.75rem;transition:all .3s var(--ease)}
.guarantee-card:hover .guarantee-stamp{background:var(--gold);color:var(--green-deeper)}
.guarantee-card h3{font-family:var(--font-display);font-size:1.05rem;font-weight:700;color:var(--pure-white);margin-bottom:.5rem}
.guarantee-card p{font-size:.85rem;color:rgba(255,255,255,.65);line-height:1.6}
@media(max-width:768px){.guarantees-grid{grid-template-columns:1fr}}

/* ============================================================
   WHAT SETS US APART
   ============================================================ */
.differentiators-section{background:linear-gradient(180deg,var(--pure-white) 0%,rgba(232,245,232,.55) 100%);background-image:var(--dot-pattern);background-size:24px 24px;position:relative;border-top:1px solid rgba(26,107,26,.08);border-bottom:1px solid rgba(26,107,26,.08)}
.differentiators-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-top:3rem}
.diff-card{background:var(--pure-white);border-radius:var(--radius-xl);padding:2.75rem 2rem 2.5rem;text-align:center;transition:all .45s var(--ease);box-shadow:0 8px 32px rgba(10,18,9,.08);border:1px solid rgba(26,107,26,.06);position:relative;overflow:hidden}
.diff-card::after{content:'';position:absolute;top:0;left:0;width:100%;height:6px;border-radius:var(--radius-xl) var(--radius-xl) 0 0}
.diff-card:nth-child(1)::after{background:linear-gradient(90deg,var(--green),var(--green-accent))}
.diff-card:nth-child(2)::after{background:linear-gradient(90deg,var(--gold),var(--gold-light))}
.diff-card:nth-child(3)::after{background:linear-gradient(90deg,var(--red),var(--red-accent))}
.diff-card:hover{transform:translateY(-8px);box-shadow:0 24px 56px rgba(10,18,9,.14)}
.diff-card:nth-child(1):hover{box-shadow:0 24px 56px rgba(26,107,26,.22);border-color:rgba(26,107,26,.2)}
.diff-card:nth-child(2):hover{box-shadow:0 24px 56px rgba(212,168,85,.22);border-color:rgba(212,168,85,.25)}
.diff-card:nth-child(3):hover{box-shadow:0 24px 56px rgba(196,66,48,.2);border-color:rgba(196,66,48,.2)}
.diff-icon{width:72px;height:72px;margin:0 auto 1.5rem;display:flex;align-items:center;justify-content:center;border-radius:18px;transition:transform .4s var(--ease),box-shadow .3s var(--ease)}
.diff-card:nth-child(1) .diff-icon{background:linear-gradient(135deg,var(--green-light),rgba(26,107,26,.16));color:var(--green);box-shadow:0 6px 18px rgba(26,107,26,.15)}
.diff-card:nth-child(2) .diff-icon{background:linear-gradient(135deg,var(--gold-light),rgba(212,168,85,.2));color:var(--gold);box-shadow:0 6px 18px rgba(212,168,85,.15)}
.diff-card:nth-child(3) .diff-icon{background:linear-gradient(135deg,var(--red-light),rgba(196,66,48,.14));color:var(--red);box-shadow:0 6px 18px rgba(196,66,48,.12)}
.diff-card:hover .diff-icon{transform:scale(1.12) rotate(-3deg)}
.diff-icon svg{width:32px;height:32px}
.diff-card h3{font-family:var(--font-display);font-size:1.3rem;font-weight:800;color:var(--green-dark);margin-bottom:.85rem;letter-spacing:-.01em}
.diff-card p{font-size:.95rem;color:var(--gray-500);line-height:1.7}
@media(max-width:768px){.differentiators-grid{grid-template-columns:1fr}}

/* ============================================================
   FOOTER
   ============================================================ */
.footer{background:var(--gray-900);padding:4rem 5% 0;color:var(--pure-white);position:relative;overflow:hidden}
.footer-wave{background:var(--green-deeper)}
.footer-wave svg{display:block;width:100%;height:auto}
.footer::before{content:'';position:absolute;inset:0;opacity:.02;background-image:var(--grain);background-size:128px 128px;pointer-events:none}
.footer-inner{max-width:var(--max-w);margin:0 auto;display:grid;grid-template-columns:1.5fr 1fr 1fr .8fr;gap:3rem;padding-bottom:3rem;position:relative;z-index:1}
.footer-brand{display:flex;flex-direction:column;gap:.75rem}
.footer-brand-top{display:flex;align-items:center;gap:.65rem}
.footer-brand-top img{height:32px;width:auto}
.footer-brand-name{font-family:var(--font-brand);font-size:1rem;letter-spacing:2px}
.footer-brand-name .fg{color:var(--green)}
.footer-brand-name .au{color:var(--red)}
.footer-brand p{font-size:.82rem;color:rgba(255,255,255,.6);line-height:1.6;max-width:280px}
.footer-col h4{font-size:.72rem;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,.65);margin-bottom:1.25rem}
.footer-col-links{list-style:none;display:flex;flex-direction:column;gap:.6rem}
.footer-col-links a{font-size:.85rem;color:rgba(255,255,255,.6);transition:color .2s}
.footer-col-links a:hover{color:var(--gold)}
.footer-social{display:flex;gap:.5rem;margin-top:1rem}
.footer-social a{width:36px;height:36px;border-radius:var(--radius-sm);background:rgba(255,255,255,.05);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.5);transition:all .2s}
.footer-social a:hover{background:rgba(255,255,255,.1);color:var(--gold)}
.footer-social a svg{width:18px;height:18px}
.footer-accred{display:flex;gap:1rem;flex-wrap:wrap;margin-top:1rem}
.footer-accred img{height:32px;width:auto;opacity:.4;filter:brightness(2);transition:opacity .2s}
.footer-accred img:hover{opacity:.7}
.footer-bottom{border-top:1px solid rgba(255,255,255,.06);padding:1.5rem 0;max-width:var(--max-w);margin:0 auto;display:flex;justify-content:space-between;align-items:center;font-size:.72rem;color:rgba(255,255,255,.6);position:relative;z-index:1}

/* ============================================================
   PAGE HEADER (service + inner pages)
   ============================================================ */
.page-header{padding:9rem 5% 4.5rem;background:linear-gradient(135deg,var(--gray-50) 0%,var(--white) 60%,var(--gray-50) 100%);border-bottom:1px solid var(--gray-200);position:relative;overflow:hidden;background-image:var(--dot-pattern);background-size:24px 24px}
.page-header-deco{position:absolute;right:5%;top:50%;transform:translateY(-50%);width:280px;height:280px;opacity:.04;color:var(--green);pointer-events:none}
.page-header-deco svg{width:100%;height:100%}
.page-header::before{content:'';position:absolute;top:0;right:0;width:50%;height:100%;background:radial-gradient(ellipse at 80% 30%,rgba(26,107,26,.05) 0%,transparent 60%);pointer-events:none}
.page-header::after{content:'';position:absolute;bottom:0;left:10%;width:300px;height:300px;border-radius:50%;background:radial-gradient(circle,rgba(212,168,85,.04) 0%,transparent 70%);pointer-events:none}
.page-header-inner{max-width:var(--max-w);margin:0 auto;position:relative;z-index:1}
.page-header-tag{display:inline-block;padding:.35rem .8rem;background:var(--green-light);color:var(--green);font-size:.7rem;font-weight:600;letter-spacing:1px;text-transform:uppercase;border-radius:100px;margin-bottom:1rem}
.page-header h1{font-family:var(--font-display);font-size:clamp(2.4rem,5vw,3.6rem);font-weight:700;color:var(--black);margin-bottom:.6rem;line-height:1.1;letter-spacing:-.02em}
.page-header h1 span{color:var(--red)}
.page-header p{font-size:1.05rem;color:var(--gray-500);max-width:600px;line-height:1.7}

/* ============================================================
   SERVICE PAGE SPECIFIC
   ============================================================ */
.svc-hero{padding:3rem 5% 2.5rem;background:var(--gray-50);border-bottom:1px solid var(--gray-200);background-image:var(--dot-pattern);background-size:24px 24px;position:relative;overflow:hidden;min-height:75vh;display:flex !important}
.svc-hero .svc-hero-inner{align-items:stretch !important;gap:0 !important;padding-bottom:.5rem;grid-template-columns:1fr !important;max-width:1100px !important;display:flex !important;flex-direction:column !important;flex:1;width:100%;margin:0 auto;padding-top:1rem}
.svc-hero .svc-hero-highlight{display:none !important}
/* Text container — prend toute la hauteur, bouton au fond */
.svc-hero .svc-hero-inner > div:first-child{display:flex !important;flex-direction:column !important;flex:1 !important;height:100%}
.svc-hero .svc-hero-inner > div:first-child > .reveal.rd3{margin-top:auto !important;padding-top:1.5rem}
/* H1 — XXXL gold */
.svc-hero h1{font-size:clamp(3.2rem,8vw,6.5rem) !important;margin-bottom:1rem !important;line-height:1 !important;color:#F5A623 !important;font-weight:800 !important;letter-spacing:-.035em !important}
.svc-hero[data-bg] h1{color:#F5A623 !important;text-shadow:0 4px 28px rgba(245,166,35,.3)}
/* Tagline — grosse */
.svc-hero-tagline{margin-bottom:1.1rem !important;font-size:clamp(1.3rem,2.4vw,1.85rem) !important;letter-spacing:.01em !important;font-weight:700 !important;color:rgba(255,255,255,.96) !important;line-height:1.25 !important}
/* Description — bien grande */
.svc-hero-inner > div > p{margin-bottom:1.2rem !important;font-size:clamp(1.1rem,1.6vw,1.35rem) !important;line-height:1.55 !important;color:rgba(255,255,255,.9) !important;max-width:780px}
/* Breadcrumb */
.svc-hero .breadcrumb{margin-bottom:1.5rem !important;font-size:.88rem !important}
/* Accred badges en bas de la carte */
.svc-hero-accred{margin-top:1.75rem !important}
/* CTA button plus grand */
.svc-hero .btn{padding:1.05rem 2rem !important;font-size:1.1rem !important;font-weight:800 !important}
.svc-hero h1{font-size:clamp(1.6rem,3vw,2.1rem) !important;margin-bottom:.35rem !important;line-height:1.12 !important}
.svc-hero-tagline{margin-bottom:.35rem !important;font-size:.74rem !important}
.svc-hero-inner > div > p{margin-bottom:.6rem !important;font-size:.85rem !important;line-height:1.45 !important}
.svc-hero .breadcrumb{margin-bottom:.45rem !important;font-size:.72rem !important}
.svc-hero-accred{margin-top:.5rem !important;padding:0 !important;font-size:.72rem !important}
.svc-hero .btn{padding:.65rem 1.2rem !important;font-size:.85rem !important}

/* ================================================
   SERVICE PAGES — Premium upgrade (Phase 5)
   Identifiable by .svc-hero[data-bg] existence (every service page)
   ================================================ */

/* Section titles : gold underline gradient */
body:has(.svc-hero[data-bg]) .section .section-title{position:relative;padding-bottom:.6rem;display:inline-block}
body:has(.svc-hero[data-bg]) .section .section-title::after{content:'';position:absolute;left:50%;bottom:0;width:60px;height:3px;background:linear-gradient(90deg,#0d4a0d 0%,#F5A623 50%,#0d4a0d 100%);transform:translateX(-50%);border-radius:2px}
body:has(.svc-hero[data-bg]) .section .section-label{margin-bottom:.5rem}

/* Comparison columns — premium */
body:has(.svc-hero[data-bg]) .comparison-col{border-radius:16px !important;padding:1.75rem 1.5rem !important;box-shadow:0 10px 28px rgba(10,18,9,.08),0 2px 6px rgba(10,18,9,.04);transition:all .35s ease;position:relative;overflow:hidden}
body:has(.svc-hero[data-bg]) .comparison-col::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#c04a3f,#d4a855)}
body:has(.svc-hero[data-bg]) .comparison-col--with::before{background:linear-gradient(90deg,#0d4a0d,#1B5E20)}
body:has(.svc-hero[data-bg]) .comparison-col:hover{transform:translateY(-4px);box-shadow:0 20px 46px rgba(10,18,9,.12),0 4px 10px rgba(10,18,9,.06)}
body:has(.svc-hero[data-bg]) .comparison-vs{background:linear-gradient(135deg,#0d4a0d 0%,#F5A623 100%) !important;box-shadow:0 8px 20px rgba(13,74,13,.25) !important;color:#fff !important;font-weight:800}

/* Who-cards — premium */
body:has(.svc-hero[data-bg]) .who-card{border-radius:14px !important;padding:1.5rem 1.25rem !important;background:#fff !important;border:1px solid rgba(10,18,9,.07) !important;box-shadow:0 8px 22px rgba(10,18,9,.06) !important;transition:all .35s ease;position:relative;overflow:hidden}
body:has(.svc-hero[data-bg]) .who-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#0d4a0d,#F5A623);opacity:0;transition:opacity .3s ease}
body:has(.svc-hero[data-bg]) .who-card:hover{transform:translateY(-4px);box-shadow:0 16px 36px rgba(13,74,13,.12);border-color:rgba(13,74,13,.2)}
body:has(.svc-hero[data-bg]) .who-card:hover::before{opacity:1}
body:has(.svc-hero[data-bg]) .who-card-icon{background:linear-gradient(135deg,rgba(13,74,13,.1),rgba(245,166,35,.08)) !important;border:1px solid rgba(13,74,13,.15) !important;width:50px !important;height:50px !important;border-radius:12px !important;margin-bottom:1rem !important}
body:has(.svc-hero[data-bg]) .who-card-icon svg{color:#0d4a0d !important}

/* Inspect-grid cards — premium */
body:has(.svc-hero[data-bg]) .inspect-card{border-radius:14px !important;padding:1.5rem !important;background:#fff !important;border:1px solid rgba(10,18,9,.07) !important;box-shadow:0 6px 18px rgba(10,18,9,.05) !important;transition:all .35s ease;position:relative;overflow:hidden}
body:has(.svc-hero[data-bg]) .inspect-card::before{content:'';position:absolute;top:0;left:0;bottom:0;width:3px;background:linear-gradient(180deg,#0d4a0d,#F5A623);opacity:0;transition:opacity .3s ease}
body:has(.svc-hero[data-bg]) .inspect-card:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(13,74,13,.12);border-color:rgba(13,74,13,.2)}
body:has(.svc-hero[data-bg]) .inspect-card:hover::before{opacity:1}

/* Stat cards — bigger more impact */
body:has(.svc-hero[data-bg]) .stat-card{border-radius:14px !important;padding:1.75rem 1.25rem !important;background:#fff !important;border:1px solid rgba(10,18,9,.07) !important;box-shadow:0 8px 22px rgba(10,18,9,.06) !important;text-align:center;transition:all .35s ease}
body:has(.svc-hero[data-bg]) .stat-card:hover{transform:translateY(-3px);box-shadow:0 16px 36px rgba(10,18,9,.1)}
body:has(.svc-hero[data-bg]) .stat-num{font-size:clamp(2.2rem,4vw,3rem) !important;font-weight:800 !important;letter-spacing:-.02em !important;margin-bottom:.5rem !important}

/* Related services cards */
body:has(.svc-hero[data-bg]) .related-svc-card{border-radius:14px !important;padding:1.5rem !important;box-shadow:0 6px 20px rgba(10,18,9,.06) !important;transition:all .35s ease;border:1px solid rgba(10,18,9,.07) !important}
body:has(.svc-hero[data-bg]) .related-svc-card:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(13,74,13,.12);border-color:rgba(13,74,13,.2)}

/* Why-section (dark grain) cards — premium */
body:has(.svc-hero[data-bg]) .why-section .why-card{background:rgba(255,255,255,.05) !important;border:1px solid rgba(255,255,255,.12) !important;border-radius:14px;padding:1.5rem !important;backdrop-filter:blur(8px);transition:all .3s ease;position:relative;overflow:hidden}
body:has(.svc-hero[data-bg]) .why-section .why-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,transparent,#F5A623,transparent);opacity:.5}
body:has(.svc-hero[data-bg]) .why-section .why-card:hover{background:rgba(255,255,255,.08) !important;border-color:rgba(245,166,35,.35) !important;transform:translateY(-3px)}

/* svc-cta final — premium gradient bg with accent */
body:has(.svc-hero[data-bg]) .svc-cta:not([data-bg]){background:linear-gradient(135deg,#0d4a0d 0%,#1B5E20 50%,#072e07 100%) !important;position:relative;overflow:hidden}
body:has(.svc-hero[data-bg]) .svc-cta:not([data-bg])::before{content:'' !important;position:absolute !important;inset:0 !important;background:radial-gradient(circle at 20% 30%,rgba(245,166,35,.15) 0%,transparent 50%),radial-gradient(circle at 80% 70%,rgba(26,107,26,.3) 0%,transparent 55%) !important;opacity:1 !important;pointer-events:none}
body:has(.svc-hero[data-bg]) .svc-cta > *{position:relative;z-index:1}

/* Section spacing on service pages */
body:has(.svc-hero[data-bg]) .section{padding-top:3.5rem;padding-bottom:3.5rem}
.svc-hero-inner{max-width:var(--max-w);margin:0 auto;display:grid;grid-template-columns:1.2fr .8fr;gap:3rem;align-items:center}
.svc-hero h1{font-family:var(--font-display);font-size:clamp(2.4rem,5vw,3.6rem);font-weight:700;color:var(--black);line-height:1.1;letter-spacing:-.02em}
.svc-hero-highlight{background:var(--pure-white);border:1px solid var(--gray-200);border-radius:var(--radius-lg);padding:1.75rem;display:flex;flex-direction:column;gap:1rem}
.svc-hero-highlight h3{font-size:.72rem;font-weight:600;color:var(--gray-400);letter-spacing:2px;text-transform:uppercase}
.svc-hero-highlight-item{display:flex;align-items:flex-start;gap:.75rem}
.svc-hero-highlight-icon{width:36px;height:36px;border-radius:var(--radius-sm);background:linear-gradient(135deg,var(--green-light),rgba(26,107,26,.06));border:1px solid rgba(26,107,26,.1);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.svc-hero-highlight-icon svg{width:18px;height:18px;color:var(--green)}
.svc-hero-highlight-item p{font-size:.82rem;color:var(--gray-600);line-height:1.5}
.svc-hero-highlight-item strong{color:var(--black);font-weight:600}

/* Who needs it */
.who-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem;margin-top:2.5rem}
.who-card{background:var(--gray-50);border:1px solid var(--gray-200);border-radius:var(--radius-md);padding:1.5rem;text-align:center;transition:all .3s var(--ease)}
.who-card:hover{border-color:var(--green);box-shadow:0 0 0 1px var(--green)}
.who-card-icon{width:48px;height:48px;border-radius:var(--radius-md);background:linear-gradient(135deg,var(--green-light),rgba(26,107,26,.06));border:1px solid rgba(26,107,26,.1);display:flex;align-items:center;justify-content:center;margin:0 auto .75rem}
.who-card-icon svg{width:22px;height:22px;color:var(--green)}
.who-card h3,.who-card h4{font-size:.88rem;font-weight:600;color:var(--black);margin-bottom:.3rem}
.who-card p{font-size:.88rem;color:var(--gray-500);line-height:1.5}

/* Why section (dark) */
.why-section{background:var(--gray-900);color:var(--pure-white);position:relative;overflow:hidden}
.why-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem;margin-top:2.5rem}
.why-card{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);border-radius:var(--radius-md);padding:1.5rem;display:flex;gap:1rem;align-items:flex-start;transition:all .3s var(--ease);position:relative;overflow:hidden}
.why-card:hover{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.1)}
.why-card-num{font-size:.6rem;font-weight:700;color:var(--gold);letter-spacing:1.5px;flex-shrink:0;padding-top:2px;position:relative;z-index:1}
.why-card::after{content:attr(data-num);position:absolute;right:.5rem;bottom:-.5rem;font-family:var(--font-display);font-size:5rem;font-weight:800;color:rgba(255,255,255,.03);pointer-events:none;line-height:1}
.why-card h3,.why-card h4{font-size:1rem;font-weight:600;color:var(--pure-white);margin-bottom:.3rem}
.why-card p{font-size:.9rem;color:rgba(255,255,255,.75);line-height:1.6}

/* Inspect grid */
.inspect-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;margin-top:2.5rem}
.inspect-card{background:var(--pure-white);border:1px solid var(--gray-200);border-radius:var(--radius-md);padding:1.75rem;transition:all .3s var(--ease)}
.inspect-card:hover{box-shadow:0 8px 30px rgba(10,18,9,.04);transform:translateY(-2px)}
.inspect-card-icon{width:48px;height:48px;border-radius:var(--radius-md);background:linear-gradient(135deg,var(--green-light),rgba(26,107,26,.06));border:1px solid rgba(26,107,26,.1);display:flex;align-items:center;justify-content:center;margin-bottom:1rem}
.inspect-card-icon svg{width:22px;height:22px;color:var(--green)}
.inspect-card h3,.inspect-card h4{font-size:1rem;font-weight:600;color:var(--black);margin-bottom:.5rem}
.inspect-card p{font-size:.92rem;color:var(--gray-500);line-height:1.65;margin-bottom:.75rem}
.inspect-card ul{list-style:none;display:flex;flex-direction:column;gap:.3rem}
.inspect-card li{font-size:.88rem;color:var(--gray-600);line-height:1.5;padding-left:1.2rem;position:relative}
.inspect-card li::before{content:'';position:absolute;left:0;top:7px;width:5px;height:5px;border-radius:50%;background:var(--gold)}

/* Process timeline (service pages) */
.process-timeline{display:flex;flex-direction:column;gap:0;margin-top:3rem;max-width:800px}
.process-timeline-step{display:grid;grid-template-columns:60px 1fr;gap:1.5rem;position:relative;padding-bottom:2.5rem}
.process-timeline-step:last-child{padding-bottom:0}
.process-timeline-line{position:absolute;left:29px;top:56px;width:2px;bottom:0;background:var(--gray-200)}
.process-timeline-step:last-child .process-timeline-line{display:none}
.process-timeline-num{width:60px;height:60px;border-radius:50%;background:var(--green);color:var(--pure-white);display:flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:700;flex-shrink:0;position:relative;z-index:1}
.process-timeline-content h3,.process-timeline-content h4{font-size:1rem;font-weight:600;color:var(--black);margin-bottom:.4rem;padding-top:.15rem}
.process-timeline-content p{font-size:.92rem;color:var(--gray-500);line-height:1.7}
.process-timeline-content ul{list-style:none;margin-top:.5rem;display:flex;flex-direction:column;gap:.3rem}
.process-timeline-content li{font-size:.9rem;color:var(--gray-600);line-height:1.5;padding-left:1.2rem;position:relative}
.process-timeline-content li::before{content:'';position:absolute;left:0;top:7px;width:5px;height:5px;border-radius:50%;background:var(--gold)}

/* Scope grid */
.scope-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:2.5rem}
.scope-card{background:var(--gray-50);border:1px solid var(--gray-200);border-radius:var(--radius-md);padding:1.75rem;transition:all .3s var(--ease)}
.scope-card:hover{box-shadow:0 8px 30px rgba(10,18,9,.04);border-color:var(--gray-300);transform:translateY(-2px)}
.scope-card-icon{width:48px;height:48px;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;margin-bottom:1rem}
.scope-card h3,.scope-card h4{font-size:.95rem;font-weight:600;color:var(--black);margin-bottom:.5rem}
.scope-card p{font-size:.9rem;color:var(--gray-500);line-height:1.6}

/* Icon color utilities */
.icon-green{background:var(--green-light)}.icon-green svg{color:var(--green)}
.icon-red{background:var(--red-light)}.icon-red svg{color:var(--red)}
.icon-gold{background:var(--gold-light)}.icon-gold svg{color:var(--gold)}

/* Stages flow */
.stages-flow{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:3rem}
.stage-card{padding:2rem;text-align:center;border:1px solid var(--gray-200);border-right:none;position:relative;transition:all .3s var(--ease)}
.stage-card:last-child{border-right:1px solid var(--gray-200)}
.stage-card:first-child{border-radius:12px 0 0 12px}
.stage-card:last-child{border-radius:0 12px 12px 0}
.stage-card:hover{background:var(--gray-50)}
.stage-num{font-size:.6rem;font-weight:700;color:var(--green);letter-spacing:2px;text-transform:uppercase;margin-bottom:.75rem}
.stage-card-icon{width:60px;height:60px;border-radius:var(--radius-lg);background:linear-gradient(135deg,var(--green-light),rgba(26,107,26,.06));border:1.5px solid rgba(26,107,26,.1);display:flex;align-items:center;justify-content:center;margin:0 auto .75rem}
.stage-card-icon svg{width:26px;height:26px;color:var(--green)}
.stage-card h3,.stage-card h4{font-family:var(--font-display);font-size:1.05rem;font-weight:700;color:var(--black);margin-bottom:.5rem}
.stage-card p{font-size:.9rem;color:var(--gray-500);line-height:1.6}
.stage-arrow{position:absolute;right:-12px;top:50%;transform:translateY(-50%);width:24px;height:24px;background:var(--pure-white);border:1px solid var(--gray-200);border-radius:50%;display:flex;align-items:center;justify-content:center;z-index:2}
.stage-arrow svg{width:12px;height:12px;color:var(--green)}

/* Monitor grid */
.monitor-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;margin-top:2.5rem}
.monitor-card{background:var(--pure-white);border:1px solid var(--gray-200);border-radius:var(--radius-md);padding:1.75rem;transition:all .3s var(--ease)}
.monitor-card:hover{box-shadow:0 8px 30px rgba(10,18,9,.04);transform:translateY(-2px)}
.monitor-card-icon{width:48px;height:48px;border-radius:var(--radius-md);background:linear-gradient(135deg,var(--green-light),rgba(26,107,26,.06));border:1px solid rgba(26,107,26,.1);display:flex;align-items:center;justify-content:center;margin-bottom:1rem}
.monitor-card-icon svg{width:22px;height:22px;color:var(--green)}
.monitor-card h3,.monitor-card h4{font-size:.95rem;font-weight:600;color:var(--black);margin-bottom:.5rem}
.monitor-card p{font-size:.9rem;color:var(--gray-500);line-height:1.6}

/* Advantages grid */
.adv-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;margin-top:2.5rem}
.adv-card{padding:1.75rem;border:1px solid var(--gray-200);border-radius:var(--radius-md);transition:all .3s var(--ease)}
.adv-card:hover{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold);transform:translateY(-2px)}
.adv-card-num{font-size:.6rem;font-weight:700;color:var(--gold);letter-spacing:1.5px;margin-bottom:.5rem}
.adv-card h3,.adv-card h4{font-size:.92rem;font-weight:600;color:var(--black);margin-bottom:.4rem}
.adv-card p{font-size:.9rem;color:var(--gray-500);line-height:1.6}

/* Markets badges */
.markets-badges{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:2rem}
.market-badge{padding:.55rem 1.2rem;background:var(--pure-white);border:1px solid var(--gray-200);border-radius:100px;font-size:.82rem;font-weight:600;color:var(--black);transition:all .2s var(--ease);display:inline-flex;align-items:center;gap:.4rem}
.market-badge::before{content:'\2022';color:var(--gold);font-size:1.2rem;line-height:1}
.market-badge:hover{border-color:var(--green);color:var(--green);background:var(--green-light)}

/* CTA Banner (service pages) */
.svc-cta{padding:5rem 5%;background:var(--green-deeper);text-align:center;position:relative;overflow:hidden}
.svc-cta::before{content:'';position:absolute;inset:0;opacity:.03;background-image:var(--grain);background-size:128px 128px;pointer-events:none}
.svc-cta::after{content:'';position:absolute;top:-30%;right:-10%;width:500px;height:500px;border-radius:50%;background:radial-gradient(circle,rgba(212,168,85,.08) 0%,transparent 60%);pointer-events:none}
.svc-cta h2{font-family:var(--font-display);font-size:clamp(1.5rem,3vw,2.2rem);font-weight:700;color:var(--pure-white);margin-bottom:.5rem;position:relative;z-index:1}
.svc-cta p{color:rgba(255,255,255,.75);font-size:1.05rem;margin-bottom:1.75rem;position:relative;z-index:1}

/* Sticky CTA (service pages) */
.sticky-cta{display:none!important}
.sticky-cta::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--gold),var(--green),var(--gold))}
.sticky-cta.visible{transform:translateY(0)}
.sticky-cta-inner{max-width:var(--max-w);margin:0 auto;padding:.85rem 5%;display:flex;justify-content:center;align-items:center;gap:1.25rem}
.sticky-cta span{font-size:.85rem;font-weight:500;color:rgba(255,255,255,.7);letter-spacing:.01em}
.sticky-cta .btn{padding:.55rem 1.75rem;font-size:.82rem;border-radius:100px}

/* ============================================================
   TEAM CARDS
   ============================================================ */
.team-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:2rem;margin-top:3rem}
.team-card{background:var(--pure-white);border:1px solid var(--gray-200);border-radius:var(--radius-lg);overflow:hidden;transition:all .4s var(--ease)}
.team-card:hover{box-shadow:0 12px 40px rgba(10,18,9,.06);transform:translateY(-4px)}
.team-card-img{height:280px;overflow:hidden;background:var(--gray-100);display:flex;align-items:center;justify-content:center;position:relative}
.team-card-img::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(26,107,26,.6) 100%);opacity:0;transition:opacity .4s var(--ease)}
.team-card:hover .team-card-img::after{opacity:1}
.team-card-img img{width:100%;height:100%;object-fit:cover;object-position:top;transition:transform .5s var(--ease)}
.team-card:hover .team-card-img img{transform:scale(1.05)}
.team-card-body{padding:1.5rem}
.team-card-body h3{font-family:var(--font-display);font-size:1.1rem;font-weight:700;color:var(--black);margin-bottom:.15rem}
.team-card-body .team-role{font-size:.82rem;font-weight:600;color:var(--green);margin-bottom:.75rem;letter-spacing:.3px}
.team-card-body ul{list-style:none;display:flex;flex-direction:column;gap:.4rem}
.team-card-body li{font-size:.88rem;color:var(--gray-600);line-height:1.5;padding-left:1.2rem;position:relative}
.team-card-body li::before{content:'';position:absolute;left:0;top:7px;width:5px;height:5px;border-radius:50%;background:var(--gold)}

/* Avatar placeholder */
.avatar-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--gray-100),var(--gray-200))}
.avatar-placeholder svg{width:64px;height:64px;opacity:.2;color:var(--gray-600)}

/* MVV Cards */
.mvv-section{background:var(--gray-900);color:var(--pure-white);position:relative;overflow:hidden}
.mvv-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:2rem;margin-top:3rem}
.mvv-card{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);border-radius:var(--radius-lg);padding:2rem;transition:all .3s var(--ease)}
.mvv-card:hover{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.1)}
.mvv-card h3{font-family:var(--font-display);font-size:1.15rem;font-weight:700;color:var(--gold);margin-bottom:1rem}
.mvv-card p{font-size:.95rem;color:rgba(255,255,255,.78);line-height:1.7}
.mvv-card ul{list-style:none;display:flex;flex-direction:column;gap:.6rem}
.mvv-card li{font-size:.92rem;color:rgba(255,255,255,.75);line-height:1.6;padding-left:1.2rem;position:relative}
.mvv-card li::before{content:'';position:absolute;left:0;top:8px;width:5px;height:5px;border-radius:50%;background:var(--gold)}

/* Story timeline */
.story-section{background:var(--white);background-image:var(--dot-pattern);background-size:24px 24px}
.story-items{display:flex;flex-direction:column;gap:2.5rem;margin-top:3rem;max-width:700px;position:relative;padding-left:6.5rem}
.story-items::before{content:'';position:absolute;left:5.5rem;top:0;bottom:0;width:2px;background:linear-gradient(180deg,var(--green),var(--gold));border-radius:2px}
.story-item{position:relative;padding-left:1.5rem}
.story-year{font-family:var(--font-display);font-size:1.3rem;color:var(--green);position:absolute;left:-5.5rem;top:.1rem;width:4rem;text-align:right}
.story-item::before{content:'';position:absolute;left:-.65rem;top:.45rem;width:10px;height:10px;border-radius:50%;background:var(--green);border:2px solid var(--pure-white);box-shadow:0 0 0 2px var(--green);z-index:1}
.story-item-content h3{font-size:1rem;font-weight:600;color:var(--black);margin-bottom:.3rem}
.story-item-content p{font-size:.92rem;color:var(--gray-500);line-height:1.6}

/* About, Stats strip */
.about-stats{background:var(--gray-50);border-top:1px solid var(--gray-200);border-bottom:1px solid var(--gray-200);background-image:var(--dot-pattern);background-size:24px 24px}
.about-stats .section-inner{padding-top:3rem;padding-bottom:3rem}
.about-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;text-align:center}
.about-stat{position:relative}
.about-stat:not(:last-child)::after{content:'';position:absolute;right:0;top:15%;height:70%;width:1px;background:var(--gray-200)}
.about-stat-number{font-family:var(--font-display);font-size:2.5rem;color:var(--green);line-height:1}
.about-stat-label{font-size:.88rem;color:var(--gray-500);margin-top:.5rem;line-height:1.4}

/* About, Team compact */
.section--team{background-image:var(--dot-pattern);background-size:24px 24px}
.section--team .team-grid{grid-template-columns:repeat(4,1fr)}
.section--team .team-card-img{height:auto;aspect-ratio:1/1;background:var(--pure-white)}
.section--team .team-card-img img{object-position:center}

/* ============================================================
   CONTACT PAGE
   ============================================================ */
/* Contact hero, form above-the-fold */
.contact-hero{padding:6.5rem 5% 3rem;background:var(--gray-50);background-image:var(--dot-pattern);background-size:24px 24px;position:relative;overflow:hidden}
.contact-hero-inner{max-width:var(--max-w);margin:0 auto;display:grid;grid-template-columns:1fr 1.2fr;gap:3rem;align-items:start}
.contact-hero h1{font-family:var(--font-display);font-size:clamp(1.8rem,4vw,2.8rem);font-weight:700;color:var(--black);line-height:1.15;margin:.75rem 0 .5rem}
.contact-hero-sub{font-size:1.05rem;color:var(--gray-500);line-height:1.6;max-width:420px}
.contact-info-list{display:flex;flex-direction:column;gap:1.25rem;margin-top:2rem}
.contact-info-item{display:flex;gap:1rem;align-items:flex-start}
.contact-info-icon{width:48px;height:48px;border-radius:var(--radius-lg);background:linear-gradient(135deg,var(--green-light),rgba(26,107,26,.06));border:1px solid rgba(26,107,26,.1);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.contact-info-icon svg{width:22px;height:22px;color:var(--green)}
.contact-info-item h4{font-size:.95rem;font-weight:600;color:var(--black);margin-bottom:.2rem}
.contact-info-item p{font-size:.9rem;color:var(--gray-500);line-height:1.5}
.contact-info-item a{color:var(--green);font-weight:500}
.contact-office-label{font-size:.95rem;font-weight:700;color:var(--green);display:flex;align-items:center;gap:.5rem;letter-spacing:.02em}
.contact-office-divider{border:none;border-top:1px solid rgba(26,107,26,.12);margin:1rem 0 .25rem}
.contact-form-wrap{background:var(--pure-white);border:none;border-radius:var(--radius-xl);padding:2.5rem;box-shadow:0 12px 48px rgba(10,18,9,.1),0 0 0 1px var(--gray-200)}
.contact-form-wrap h3{font-family:var(--font-display);font-size:1.35rem;font-weight:700;margin-bottom:.4rem}
.contact-form-wrap .sub{font-size:.95rem;color:var(--gray-500);margin-bottom:1.75rem}

/* ============================================================
   SVG WAVE DIVIDERS
   ============================================================ */
.wave-divider{position:relative;width:100%;overflow:hidden;line-height:0;margin:0;padding:0}
.wave-divider svg{display:block;width:100%;height:auto}

/* ============================================================
   STATS BANNER (between sections)
   ============================================================ */
.stats-banner{background:var(--gray-900);padding:2rem 5% 2.5rem;position:relative;overflow:hidden}
.roi-compare{display:flex;align-items:center;justify-content:center;gap:0;margin-top:2rem;position:relative;z-index:1;border-radius:var(--radius-lg);overflow:hidden;max-width:620px;margin-left:auto;margin-right:auto}
.roi-compare-bad,.roi-compare-good{flex:1;padding:1.1rem 1.5rem;display:flex;flex-direction:column;align-items:center;gap:.2rem}
.roi-compare-bad{background:rgba(212,56,13,.15)}
.roi-compare-good{background:rgba(26,107,26,.2)}
.roi-compare-label{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;opacity:.7;color:rgba(255,255,255,.7)}
.roi-compare-value{font-family:var(--font-display);font-size:1.6rem;font-weight:800;line-height:1.1}
.roi-compare-bad .roi-compare-value{color:var(--red-accent)}
.roi-compare-good .roi-compare-value{color:var(--green-accent)}
.roi-compare-desc{font-size:.75rem;color:rgba(255,255,255,.5);font-weight:400}
.roi-compare-arrow{display:flex;align-items:center;justify-content:center;width:52px;height:52px;background:var(--gold);border-radius:50%;flex-shrink:0;margin:0 -26px;z-index:2;color:var(--pure-white);box-shadow:0 4px 16px rgba(212,168,85,.35)}
.stats-banner::before{content:'';position:absolute;inset:0;opacity:.03;background-image:var(--grain);background-size:128px 128px;pointer-events:none}
.stats-banner::after{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--gold),var(--green),var(--gold));pointer-events:none}
.stats-banner-inner{max-width:var(--max-w);margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;position:relative;z-index:1}
.stats-banner-item{text-align:center;position:relative;padding:0 1rem}
.stats-banner-item:not(:last-child)::after{content:'';position:absolute;right:0;top:15%;height:70%;width:1px;background:rgba(255,255,255,.1)}
.stats-banner-value{font-family:var(--font-display);font-size:clamp(2rem,3.5vw,3rem);font-weight:700;color:var(--orange);line-height:1.2}
.stats-banner-value span{color:var(--orange)}
.stats-banner-label{font-size:.75rem;color:rgba(255,255,255,.5);margin-top:.4rem;font-weight:500;letter-spacing:.5px;text-transform:uppercase}

/* ============================================================
   REVEAL ANIMATIONS
   ============================================================ */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .45s var(--ease),transform .45s var(--ease)}
.reveal.visible{opacity:1;transform:none}
.rd1{transition-delay:.12s}
.rd2{transition-delay:.24s}
.rd3{transition-delay:.36s}
.rd4{transition-delay:.48s}
.rd5{transition-delay:.60s}

/* Fade-in from left */
.reveal-left{opacity:0;transform:translateX(-18px);transition:opacity .45s var(--ease),transform .45s var(--ease)}
.reveal-left.visible{opacity:1;transform:none}

/* Scale-in */
.reveal-scale{opacity:0;transform:scale(.96);transition:opacity .45s var(--ease),transform .45s var(--ease)}
.reveal-scale.visible{opacity:1;transform:none}

/* ============================================================
   BREADCRUMBS
   ============================================================ */
.breadcrumb{padding:.5rem 0;font-size:.78rem;color:var(--gray-400)}
.breadcrumb a{color:var(--gray-500);text-decoration:none;transition:all .2s;padding:.2rem .5rem;border-radius:4px}
.breadcrumb a:hover{color:var(--green);background:var(--green-light)}
.breadcrumb span{margin:0 .4rem;color:var(--gray-300)}

/* ============================================================
   FOOTER CTA
   ============================================================ */
.footer-cta{text-align:center;padding:3rem 0;border-bottom:1px solid rgba(255,255,255,.08);margin-bottom:3rem;position:relative}
.footer-cta::after{content:'';position:absolute;bottom:-1px;left:50%;transform:translateX(-50%);width:60px;height:3px;background:linear-gradient(90deg,var(--gold),var(--gold-light));border-radius:3px}
.footer-cta p{color:rgba(255,255,255,.7);margin-bottom:1rem;font-size:1rem}

/* ============================================================
   RELATED SERVICES (cross-links)
   ============================================================ */
.related-services{border-top:1px solid var(--gray-200)}
.related-services .section-label{text-align:center;display:block}
.related-services .section-title{text-align:center}
.related-services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:2.5rem}
.related-service-card{display:flex;flex-direction:column;padding:2rem;border-radius:var(--radius-lg);text-decoration:none;color:var(--gray-700);transition:all .3s var(--ease);background:var(--pure-white);box-shadow:var(--shadow-sm)}
.related-service-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-card)}
.related-service-card h3{font-size:1.15rem;font-weight:600;color:var(--gray-900);margin-bottom:.5rem;font-family:var(--font-display)}
.related-service-card p{font-size:.95rem;color:var(--gray-500);line-height:1.6;margin-bottom:1.25rem;flex:1}
.related-service-cta{display:inline-flex;align-items:center;gap:.4rem;font-size:.9rem;font-weight:600;color:var(--green);transition:gap .3s var(--ease)}
.related-service-card:hover .related-service-cta{gap:.7rem}
@media(max-width:768px){.related-services-grid{grid-template-columns:1fr}}

/* ============================================================
   FORM REASSURANCE
   ============================================================ */
.form-reassurance{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1rem;font-size:.78rem;color:var(--gray-400)}
.form-reassurance span{display:flex;align-items:center;gap:.3rem}
.form-reassurance svg{width:14px;height:14px;color:var(--green)}

/* ============================================================
   REDUCED MOTION
   ============================================================ */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  .reveal,.reveal-left,.reveal-scale{opacity:1;transform:none;filter:none}
}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media(max-width:1100px){
  .hero-inner{grid-template-columns:1fr;gap:3rem}
  .hero-visual{max-width:600px}
  .hero{padding-top:8rem}
  .cta-final-inner{grid-template-columns:1fr}
  .footer-inner{grid-template-columns:1fr 1fr}
}

@media(max-width:999px){
  .hero-inner{grid-template-columns:1fr;text-align:center}
  .hero-visual{max-width:600px;margin:0 auto}
  .hero-actions{justify-content:center}
  .hero-accred-bar{justify-content:center;flex-wrap:wrap}
  .footer-inner{grid-template-columns:repeat(2,1fr)}
}

@media(max-width:900px){
  .nav-links,.nav-cta,.lang-toggle{display:none}
  .nav-toggle{display:flex}
  .hero-accred-bar{gap:.6rem}
  .stats-banner-inner{grid-template-columns:1fr 1fr}
  .stats-banner-item:nth-child(2)::after{display:none}
  .pain-grid,.services-grid,.services-grid-3,.trust-grid{grid-template-columns:1fr!important}
  .process-grid{grid-template-columns:1fr 1fr;gap:1rem}
  .process-step{border-radius:var(--radius-lg)!important}
  .process-arrow{display:none}
  .proof-inner{grid-template-columns:1fr}
  .faq-grid{grid-template-columns:1fr}
  .svc-hero-inner{grid-template-columns:1fr}
  .who-grid{grid-template-columns:1fr 1fr}
  .why-grid,.inspect-grid,.monitor-grid{grid-template-columns:1fr}
  .scope-grid{grid-template-columns:1fr}
  .stages-flow{grid-template-columns:1fr}
  .stage-card{border-right:1px solid var(--gray-200)!important;border-radius:0!important}
  .stage-card:first-child{border-radius:12px 12px 0 0!important}
  .stage-card:last-child{border-radius:0 0 12px 12px!important}
  .stage-card:not(:last-child){border-bottom:none}
  .stage-arrow{display:none}
  .adv-grid{grid-template-columns:1fr}
  .contact-hero-inner{grid-template-columns:1fr}
  .contact-form-wrap{order:-1}
  .contact-hero-left{order:1;text-align:center}
  .contact-hero-sub{max-width:100%;margin:0 auto}
  .contact-info-list{justify-content:center}
  .mvv-grid{grid-template-columns:1fr 1fr}
  .team-grid{grid-template-columns:1fr}
  .about-stats-grid{grid-template-columns:repeat(2,1fr)}
  .about-stat:nth-child(2)::after{display:none}
  .footer-inner{grid-template-columns:1fr 1fr}
  .footer-brand{align-items:center}
  .footer-brand p{max-width:100%}
  .footer-social{justify-content:center}
  .footer-accred{justify-content:center}
  .footer-bottom{flex-direction:column;align-items:center;gap:.4rem}
  body{padding-bottom:56px}

  /* --- Mobile: Team grid 2-col tablet --- */
  .section--team .team-grid{grid-template-columns:repeat(2,1fr);gap:1.25rem}
  .section--team .team-card-img{height:auto;aspect-ratio:1/1}
  /* --- Mobile: Nav refinement --- */
  .nav{padding:.75rem 5%}
  /* --- Mobile: Touch active states --- */
  .btn:active{transform:scale(.96)!important;transition-duration:.08s!important}
  .faq-question:active{background:var(--gray-100)}
  .svc-card:active,.trust-card:active{transform:scale(.98);transition-duration:.1s}
  .nav-mobile-links a:active{color:var(--green);background:var(--green-light)}
}

@media(max-width:750px){
  .proof-inner{gap:2rem}
  .page-header{padding:7rem 5% 3rem}
  .svc-hero{padding:7rem 5% 3rem}
}

@media(max-width:550px){
  .stats-banner-inner{grid-template-columns:1fr 1fr}
  .about-stats-grid{grid-template-columns:1fr 1fr}
  .about-stat::after{display:none}
  .who-grid{grid-template-columns:1fr}
  .process-grid{grid-template-columns:1fr;gap:.75rem}
  .process-step{border-radius:var(--radius-lg)!important}
  .hero-accred-card img{height:36px}
  .hero-accred-card{padding:.65rem .85rem;gap:.65rem}
  .hero-accred-card-text strong{font-size:.78rem}
  .hero-accred-card-text span{font-size:.62rem}
  .form-row{grid-template-columns:1fr}
  .footer-inner{grid-template-columns:1fr;text-align:center}
  .stats-banner-item::after{display:none}
  .mvv-grid{grid-template-columns:1fr}

  /* --- Mobile: Typography tightening --- */
  .section-label{font-size:.7rem;margin-bottom:.5rem;gap:.5rem}
  .section-label::before{width:24px}
  .section-title{font-size:clamp(1.6rem,6vw,2.2rem);margin-bottom:.75rem;padding-bottom:.75rem}
  .section-title::after{width:36px;height:2.5px}

  /* --- Mobile: Grid gaps --- */
  .pain-grid,.services-grid,.trust-grid,.guarantees-grid,.faq-grid{gap:1rem}
  .proof-inner{gap:1.5rem}
  .mvv-grid{gap:1.25rem}

  /* --- Mobile: Team cards --- */
  .section--team .team-grid{grid-template-columns:1fr;gap:1rem}
  .section--team .team-card-img{height:auto;aspect-ratio:1/1;max-width:400px;margin:0 auto}
  .team-grid{gap:1.25rem}
  .team-card-body{padding:1.25rem}

  /* --- Mobile: CTA full-width --- */
  .hero-actions{flex-direction:column}
  .hero-actions .btn{width:100%;justify-content:center;padding:.95rem 2rem}
  .cta-final .btn,.svc-cta .btn{width:100%;justify-content:center}
  .hero-sample-card{max-width:100%}

  /* --- Mobile: Form touch targets --- */
  .form-input{padding:.85rem 1rem;font-size:.9rem;min-height:48px}
  textarea.form-input{min-height:120px}
  .cta-form .btn{width:100%;justify-content:center;min-height:48px}

  /* --- Mobile: FAQ accordion --- */
  .faq-question{padding:1.1rem 1rem;gap:.75rem}
  .faq-question h3,.faq-question h4{font-size:.9rem}
  .faq-answer-inner{padding:0 1rem 1.1rem;font-size:.88rem}
  .faq-list{gap:.6rem}

  /* --- Mobile: Stats banner --- */
  .stats-banner{padding:1.75rem 5% 2rem}
  .stats-banner-value{font-size:clamp(1.8rem,8vw,2.4rem)}
  .stats-banner-label{font-size:.7rem}
  .stats-banner-inner{gap:1.25rem}

  /* --- Mobile: Footer --- */
  .footer{padding:3rem 5% 0}
  .footer-inner{gap:2rem}
  .footer-col-links a{font-size:.82rem}
  .footer-bottom{padding:1.25rem 0;font-size:.68rem}
  .footer-cta{padding:2rem 0;margin-bottom:2rem}

  /* --- Mobile: Announce banner --- */
  .announce-banner{font-size:.72rem;padding:.45rem 2rem .45rem .75rem}
  .announce-banner-pill{font-size:.58rem;padding:.1rem .45rem}

  /* --- Mobile: Premium feel --- */
  .svc-card,.trust-card,.pain-card,.faq-item,.guarantee-card{border-radius:var(--radius-lg)}
  .team-card{border-radius:14px;box-shadow:none;border:1px solid var(--gray-200)}
  .svc-card,.trust-card,.guarantee-card{box-shadow:0 1px 8px rgba(10,18,9,.05)}

  /* --- Mobile: ROI compare --- */
  .roi-compare{flex-direction:column;border-radius:var(--radius-lg)}
  .roi-compare-bad,.roi-compare-good{width:100%;padding:1rem 1.25rem;flex-direction:row;justify-content:center;gap:.75rem}
  .roi-compare-arrow{margin:-20px 0;width:44px;height:44px;transform:rotate(90deg)}
  .roi-compare-value{font-size:1.3rem}
  .roi-compare-label{font-size:.6rem}

  /* --- Mobile: Floating consult button --- */
  .floating-consult{bottom:4.5rem;right:1rem;padding:.75rem;box-shadow:0 4px 16px rgba(26,107,26,.3)}
  .floating-consult svg{width:18px;height:18px}

  /* --- Mobile: Service hero tighter --- */
  .svc-hero{padding:5rem 5% 2rem!important}
  .svc-hero h1{font-size:clamp(1.6rem,6vw,2.2rem)}
  .svc-hero-tagline{font-size:clamp(1rem,3.5vw,1.3rem);margin-bottom:.75rem}
  .svc-hero .btn{width:100%;justify-content:center}

  /* --- Mobile: Page header tighter --- */
  .page-header{padding:5rem 5% 2rem!important}
  .page-header h1{font-size:clamp(1.6rem,6vw,2.2rem)}

  /* --- Mobile: Contact hero --- */
  .contact-hero{padding:5rem 5% 1.5rem}
  .contact-hero h1{font-size:clamp(1.5rem,5.5vw,2rem)}
  .contact-info-item{gap:.75rem}
  .contact-info-icon{width:40px;height:40px}
  .contact-info-icon svg{width:18px;height:18px}
  .contact-office-label{font-size:.85rem}

  /* --- Mobile: Team card bios --- */
  .team-card-body p{font-size:.85rem;line-height:1.65}
  .team-card-body .team-role{font-size:.78rem}

  /* --- Mobile: Stages flow timeline --- */
  .stages-flow{gap:.75rem}
  .stage-card{padding:1.25rem}
  .stage-card h3{font-size:1rem}
  .stage-card p,.stage-card li{font-size:.85rem;line-height:1.6}

  /* --- Mobile: CTA final section --- */
  .cta-final{padding:2.5rem 5%}
  .cta-final-text h2{font-size:clamp(1.4rem,5vw,1.8rem)}
  .cta-final-text p{font-size:.9rem}

  /* --- Mobile: Inline CTA --- */
  .inline-cta .btn{width:100%;justify-content:center}

  /* --- Mobile: Spotlight cards --- */
  .spotlight-card{padding:1.5rem 1.25rem}
  .spotlight-card h3{font-size:1rem}
  .spotlight-card p{font-size:.85rem;line-height:1.6}
  .spotlight-card-stat{font-size:.78rem}

  /* --- Mobile: Differentiator cards --- */
  .diff-card{padding:1.75rem 1.25rem}
  .diff-card h3{font-size:1.05rem}
  .diff-card p{font-size:.85rem;line-height:1.6}

  /* --- Mobile: Breadcrumb --- */
  .breadcrumb{font-size:.75rem;margin-bottom:.75rem}

  /* --- Mobile: Process steps compact --- */
  .process-step{padding:1.25rem 1rem}
  .process-step h3{font-size:.9rem}
  .process-step p{font-size:.82rem;line-height:1.6}
  .process-step-icon{width:48px;height:48px}
  .process-step-icon svg{width:22px;height:22px}

  /* --- Mobile: Contact form compact --- */
  .contact-form-wrap{padding:1.75rem 1.25rem}
  .contact-form-wrap h3{font-size:1.15rem;margin-bottom:.3rem}
  .contact-form-wrap .sub{font-size:.85rem;margin-bottom:1.25rem}
  .form-group{margin-bottom:.5rem}
  .form-row{gap:.5rem}
  .form-files-zone{padding:.75rem;font-size:.8rem}
  .form-consent{font-size:.75rem;margin:.75rem 0}
  .form-reassurance{gap:.75rem;font-size:.72rem;margin-top:.75rem}
  .form-submit .btn{font-size:.9rem}

  /* --- Mobile: Footer compact --- */
  .footer-col h4{font-size:.72rem;margin-bottom:.6rem}
  .footer-col-links{gap:.35rem}
  .footer-brand-name{font-size:1rem}
  .footer-brand p{font-size:.78rem;line-height:1.5}
  .footer-social a{width:36px;height:36px}
  .footer-accred img{height:36px}
  .footer-cta h3{font-size:1.1rem}

  /* --- Mobile: Menu overlay fix --- */
  .nav-mobile{overflow-y:auto}
  .nav-mobile-links{gap:0}
  .nav-mobile-links a{outline:none;border:none}
  .nav-mobile-links a:focus{outline:none}
  .nav-mobile-sub{gap:0}
  .nav-mobile-sub a{padding:.7rem 0 .7rem 1.2rem;font-size:.88rem}

  /* --- Mobile: Announce banner --- */
  .announce-banner{z-index:50}

  /* --- Mobile: Section subtitles --- */
  .section-subtitle,.hero-sub{font-size:.88rem;line-height:1.6}
  .pain-card p,.svc-card p{font-size:.84rem;line-height:1.6}

  /* --- Mobile: Inspect/scope cards --- */
  .inspect-card{padding:1.25rem 1rem}
  .inspect-card h3{font-size:.95rem}
  .inspect-card p{font-size:.82rem;line-height:1.55}
  .inspect-card li{font-size:.82rem;line-height:1.5}
  .inspect-card-icon{width:44px;height:44px;margin-bottom:.75rem}
  .scope-card{padding:1.25rem 1rem}

  /* --- Mobile: Guarantee cards --- */
  .guarantee-card{padding:1.5rem 1.25rem}
  .guarantee-card h3{font-size:.95rem}
  .guarantee-card p{font-size:.82rem;line-height:1.55}

  /* --- Mobile fixes: Nav --- */
  .nav{padding:.65rem 5%}
  .nav-brand{gap:.5rem}
  .nav-brand-name{font-size:1.1rem;letter-spacing:1.5px}
  .nav-brand-slogan{font-size:.72rem}
  .nav-brand-bar{height:32px}
  .nav-brand-logo{height:42px}
  .nav-mobile{padding:5rem 1.5rem 1.5rem}
  .nav-mobile-links a{padding:.85rem 0;font-size:1rem}
  .nav-mobile-cta{padding:.9rem;font-size:.95rem}

  /* --- Mobile fixes: Section spacing --- */
  .section,.proof-section,.faq-section{padding-top:2.5rem!important;padding-bottom:2.5rem!important}
  .pain-section,.trust-section,.guarantees-section{padding-top:2.75rem!important;padding-bottom:2.75rem!important}
  .hero{padding-top:5.5rem;padding-bottom:2rem}
  .cta-final{padding:3rem 5%}
  .svc-cta{padding:3rem 5%}

  /* --- Mobile fixes: Hero homepage --- */
  .hero h1{font-size:clamp(1.8rem,7vw,2.4rem)!important}
  .hero-accred-bar{gap:.5rem}

  /* --- Mobile fixes: Overflow pseudo-elements --- */
  .svc-cta::after,.cta-final::after,.pain-section::after,.trust-section::before,.trust-section::after,.proof-section::after,.faq-section::before,.faq-section::after{display:none!important}

  /* --- Mobile fixes: Service hero tagline --- */
  .svc-hero-tagline{font-size:clamp(1.1rem,4vw,1.4rem)}

  /* --- Mobile fixes: Compare table scroll hint --- */
  .compare-table-wrap{position:relative}
  .compare-table-wrap::after{content:'';position:absolute;top:0;right:0;bottom:0;width:32px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.85));pointer-events:none;border-radius:0 var(--radius-lg) var(--radius-lg) 0}
}

/* Extra small screens */
@media(max-width:400px){
  .nav-brand-slogan{display:none}
  .nav-brand-name{font-size:.95rem;letter-spacing:1px}
  /* .hero h1 sized via mobile-optimizations clamp() */
  .svc-hero h1{font-size:clamp(1.6rem,6vw,2rem)}
  .svc-hero-tagline{font-size:1.05rem}

  /* --- Extra small: Tighter layout --- */
  .hero{padding-top:5rem;padding-bottom:1.5rem}
  .section-title{font-size:clamp(1.4rem,5.5vw,1.8rem)}
  /* .section padding handled by mobile-optimizations block below */
  .hero-accred-bar{flex-direction:column;gap:.4rem}
  .hero-accred-card{width:100%;justify-content:center}
  .hero-accred-card img{height:30px}
  .hero-accred-card-text strong{font-size:.72rem}
  .hero-accred-card-text span{font-size:.58rem}
  .announce-banner-pill{display:none}
  .stats-banner-value{font-size:1.6rem}
  .team-card-img{height:180px}
  .roi-compare-value{font-size:1.1rem}
  .roi-compare-arrow{width:38px;height:38px;margin:-16px 0}
  .floating-consult{bottom:4rem;right:.75rem}
  .contact-info-icon{width:36px;height:36px}
  .process-step{padding:1rem .85rem}
  .process-step-icon{width:42px;height:42px}
}

/* ============================================================
   PREMIUM ANIMATIONS
   ============================================================ */

/* Hero word-by-word reveal */
.hero h1.animated{filter:none}
.word-reveal{display:inline-block;opacity:0;transform:translateY(20px);transition:opacity .5s var(--ease),transform .5s var(--ease);transition-delay:calc(var(--i) * .06s)}
.hero h1.animated .word-reveal{opacity:1;transform:translateY(0)}

/* Spotlight glow on pain section */
.pain-section::after{content:'';position:absolute;top:0;left:0;width:100%;height:100%;background:radial-gradient(600px circle at var(--mouse-x, 50%) var(--mouse-y, 50%),rgba(212,168,85,.06),transparent 60%);pointer-events:none;z-index:1;opacity:0;transition:opacity .3s}
.pain-section:hover::after{opacity:1}

/* 3D tilt on cards (will-change applied via JS on hover only) */

/* Enhanced reveal (GPU-friendly: transform + opacity only) */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .45s var(--ease),transform .45s var(--ease)}
.reveal.visible{opacity:1;transform:none}

.reveal-left{opacity:0;transform:translateX(-18px);transition:opacity .45s var(--ease),transform .45s var(--ease)}
.reveal-left.visible{opacity:1;transform:none}

.reveal-scale{opacity:0;transform:scale(.95);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.reveal-scale.visible{opacity:1;transform:scale(1)}

/* Gradient shimmer on hero accreditation cards */
.hero-accred-card{position:relative;overflow:hidden}
.hero-accred-card::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(26,107,26,.04),transparent);transition:left .6s var(--ease);pointer-events:none;z-index:1}
.hero-accred-card:hover::before{left:100%}

/* Reduced motion: disable all premium animations */
@media(prefers-reduced-motion:reduce){
  .word-reveal{opacity:1;transform:none;transition:none}
  .pain-section::after{display:none}
  .hero-accred-card::before{display:none}
  .reveal,.reveal-left,.reveal-scale{opacity:1;transform:none}
}

/* ============================================================
   LOGO CLOUD (trusted by)
   ============================================================ */
.logo-cloud{padding:2.5rem 5% 2rem;background:var(--pure-white);border-bottom:1px solid var(--gray-200);overflow:hidden;position:relative}
.logo-cloud-label{text-align:center;font-size:.75rem;letter-spacing:.15em;text-transform:uppercase;color:var(--gray-400);font-weight:600;margin-bottom:1.5rem}
.logo-cloud-track{display:flex;gap:3rem;align-items:center;animation:logoScroll 30s linear infinite;width:max-content}
.logo-cloud-track:hover{animation-play-state:paused}
.logo-cloud-item{flex-shrink:0;display:flex;align-items:center;gap:.6rem;padding:.6rem 1.2rem;border:1px solid var(--gray-200);border-radius:100px;background:var(--gray-50);transition:all .3s var(--ease);white-space:nowrap}
.logo-cloud-item:hover{border-color:var(--green);background:var(--green-light)}
.logo-cloud-item svg{width:20px;height:20px;color:var(--green);flex-shrink:0}
.logo-cloud-item span{font-size:.82rem;font-weight:600;color:var(--gray-600);letter-spacing:.01em}
@keyframes logoScroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.logo-cloud-track{animation:none;flex-wrap:wrap;justify-content:center;width:auto}}

/* ============================================================
   TESTIMONIALS
   ============================================================ */
.testimonials-section{background:linear-gradient(180deg,var(--pure-white) 0%,var(--gold-light) 100%);border-top:1px solid var(--gray-200);border-bottom:1px solid var(--gray-200);position:relative;overflow:hidden;background-image:var(--dot-pattern);background-size:24px 24px}
.testimonials-section::before{content:'';position:absolute;top:-10%;left:-5%;width:500px;height:500px;border-radius:50%;background:radial-gradient(circle,rgba(212,168,85,.06) 0%,transparent 60%);pointer-events:none}
.testimonials-grid{display:grid;grid-template-columns:1fr;gap:1.5rem;margin-top:2.5rem}
.testimonials-grid-2{grid-template-columns:1.1fr .9fr}
.testimonial-card{background:var(--pure-white);border:1px solid var(--gray-200);border-radius:var(--radius-lg);padding:2rem;position:relative;transition:all .4s var(--ease);display:flex;flex-direction:column}
.testimonial-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--gold),var(--gold-light));border-radius:var(--radius-lg) var(--radius-lg) 0 0}
.testimonial-card:hover{transform:translateY(-4px);box-shadow:0 12px 40px rgba(212,168,85,.12)}
.testimonial-stars{display:flex;gap:.15rem;margin-bottom:1rem}
.testimonial-stars svg{width:16px;height:16px;color:var(--gold);fill:var(--gold)}
.testimonial-quote{font-size:.9rem;color:var(--gray-600);line-height:1.7;font-style:italic;flex:1;margin-bottom:1.5rem;position:relative;padding-left:0}
.testimonial-quote::before{content:'\201C';font-family:var(--font-display);font-size:4.5rem;line-height:1;color:var(--gold);opacity:.5;position:absolute;top:-.6rem;left:0;pointer-events:none}
.testimonial-quote{padding-left:1.5rem}
.testimonial-author{display:flex;align-items:center;gap:.75rem;padding-top:1rem;border-top:1px solid var(--gray-100)}
.testimonial-avatar{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,var(--green-light),rgba(26,107,26,.15));display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:1.1rem;color:var(--green);font-weight:700;flex-shrink:0}
.testimonial-author-info{display:flex;flex-direction:column}
.testimonial-author-name{font-size:.85rem;font-weight:600;color:var(--black)}
.testimonial-author-role{font-size:.72rem;color:var(--gray-400);margin-top:.1rem}
.testimonial-badge{display:inline-flex;align-items:center;gap:.3rem;font-size:.65rem;font-weight:600;color:var(--green);background:var(--green-light);padding:.2rem .55rem;border-radius:100px;margin-top:.4rem;letter-spacing:.3px;text-transform:uppercase}
.testimonial-badge svg{width:10px;height:10px}

/* ============================================================
   PRODUCTS COVERED
   ============================================================ */
.products-section{background:var(--pure-white);position:relative;overflow:hidden}
.products-section::before{content:'';position:absolute;bottom:-15%;right:-5%;width:500px;height:500px;border-radius:50%;background:radial-gradient(circle,rgba(212,168,85,.04) 0%,transparent 60%);pointer-events:none}
.products-grid{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:2rem;justify-content:flex-start}
.product-pill{display:inline-flex;align-items:center;gap:.5rem;padding:.65rem 1.3rem;background:var(--gray-50);border:1px solid var(--gray-200);border-radius:100px;font-size:.85rem;font-weight:500;color:var(--gray-700);transition:all .3s var(--ease);cursor:default}
.product-pill:hover{border-color:var(--green);background:var(--green-light);color:var(--green);transform:translateY(-2px);box-shadow:0 4px 12px rgba(26,107,26,.08)}
.product-pill svg{width:18px;height:18px;flex-shrink:0}
.product-pill--fresh svg{color:var(--green)}
.product-pill--frozen svg{color:var(--blue)}
.product-pill--processed svg{color:var(--gold)}
.products-note{font-size:.82rem;color:var(--gray-400);margin-top:1.5rem;font-style:italic}

/* ============================================================
   SPOTLIGHT CARDS (Why FoodGate upgrade)
   ============================================================ */
.spotlight-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;margin-top:2.5rem}
.spotlight-card{background:var(--pure-white);border:1px solid var(--gray-200);border-radius:var(--radius-lg);padding:2rem;position:relative;overflow:hidden;transition:all .4s var(--ease)}
.spotlight-card::after{content:'';position:absolute;top:0;left:0;width:100%;height:100%;background:radial-gradient(600px circle at var(--mx,50%) var(--my,50%),rgba(26,107,26,.06),transparent 60%);pointer-events:none;opacity:0;transition:opacity .4s}
.spotlight-card:hover{border-color:rgba(26,107,26,.25);box-shadow:0 12px 40px rgba(10,18,9,.08);transform:translateY(-3px)}
.spotlight-card:hover::after{opacity:1}
.spotlight-card-icon{width:56px;height:56px;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;margin-bottom:1.25rem;position:relative;z-index:1}
.spotlight-card:nth-child(1) .spotlight-card-icon{background:linear-gradient(135deg,var(--green-light),rgba(26,107,26,.12));border:1.5px solid rgba(26,107,26,.15)}
.spotlight-card:nth-child(2) .spotlight-card-icon{background:linear-gradient(135deg,var(--gold-light),rgba(212,168,85,.15));border:1.5px solid rgba(212,168,85,.2)}
.spotlight-card:nth-child(3) .spotlight-card-icon{background:linear-gradient(135deg,var(--red-light),rgba(196,66,48,.08));border:1.5px solid rgba(196,66,48,.12)}
.spotlight-card:nth-child(4) .spotlight-card-icon{background:linear-gradient(135deg,var(--blue-light),rgba(74,144,217,.04));border:1.5px solid rgba(74,144,217,.12)}
.spotlight-card-icon svg{width:26px;height:26px;position:relative;z-index:1}
.spotlight-card:nth-child(1) .spotlight-card-icon svg{color:var(--green)}
.spotlight-card:nth-child(2) .spotlight-card-icon svg{color:var(--gold)}
.spotlight-card:nth-child(3) .spotlight-card-icon svg{color:var(--red)}
.spotlight-card:nth-child(4) .spotlight-card-icon svg{color:var(--blue)}
.spotlight-card h3{font-family:var(--font-display);font-size:1.15rem;font-weight:700;color:var(--black);margin-bottom:.5rem;position:relative;z-index:1}
.spotlight-card p{font-size:.85rem;color:var(--gray-500);line-height:1.7;position:relative;z-index:1}
.spotlight-card-stat{display:inline-flex;align-items:center;gap:.3rem;margin-top:.75rem;font-size:.72rem;font-weight:700;color:var(--green);letter-spacing:.5px;text-transform:uppercase;position:relative;z-index:1}
.spotlight-card-stat svg{width:14px;height:14px}

/* ============================================================
   BEFORE / AFTER COMPARISON
   ============================================================ */
.comparison-section{background:var(--gray-50);border-top:1px solid var(--gray-200);border-bottom:1px solid var(--gray-200);position:relative;overflow:hidden}
.comparison-grid{display:grid;grid-template-columns:1fr auto 1fr;gap:0;margin-top:2.5rem;align-items:stretch}
.comparison-col{padding:2rem;border-radius:var(--radius-lg);position:relative}
.comparison-col--without{background:var(--red-light);border:1px solid rgba(196,66,48,.15)}
.comparison-col--with{background:var(--green-light);border:1px solid rgba(26,107,26,.15)}
.comparison-col-tag{display:inline-flex;align-items:center;gap:.4rem;font-size:.7rem;font-weight:700;letter-spacing:1px;text-transform:uppercase;padding:.3rem .7rem;border-radius:100px;margin-bottom:1.25rem}
.comparison-col--without .comparison-col-tag{background:rgba(196,66,48,.12);color:var(--red)}
.comparison-col--with .comparison-col-tag{background:rgba(26,107,26,.12);color:var(--green)}
.comparison-col-tag svg{width:14px;height:14px}
.comparison-list{list-style:none;display:flex;flex-direction:column;gap:.75rem}
.comparison-list li{display:flex;align-items:flex-start;gap:.6rem;font-size:.85rem;line-height:1.55}
.comparison-col--without .comparison-list li{color:var(--gray-700)}
.comparison-col--with .comparison-list li{color:var(--gray-700)}
.comparison-list li svg{width:18px;height:18px;flex-shrink:0;margin-top:1px}
.comparison-col--without .comparison-list li svg{color:var(--red)}
.comparison-col--with .comparison-list li svg{color:var(--green)}
.comparison-divider{display:flex;align-items:center;justify-content:center;padding:0 1rem;position:relative}
.comparison-divider::before{content:'';position:absolute;top:0;bottom:0;left:50%;width:2px;background:linear-gradient(180deg,transparent,var(--gray-300),transparent)}
.comparison-vs{width:48px;height:48px;border-radius:50%;background:var(--gray-900);color:var(--pure-white);display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:700;letter-spacing:1px;position:relative;z-index:1;box-shadow:0 4px 16px rgba(0,0,0,.15)}

/* ============================================================
   SAMPLE REPORT PREVIEW
   ============================================================ */
.report-preview-section{background:var(--pure-white);border-top:1px solid var(--gray-200);position:relative;overflow:hidden}
.report-preview-inner{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}
.report-preview-mockup{background:var(--gray-50);border:1px solid var(--gray-200);border-radius:var(--radius-xl);padding:1.5rem;box-shadow:var(--shadow-lg);position:relative;overflow:hidden}
.report-preview-mockup::before{content:'';position:absolute;top:0;left:0;right:0;height:36px;background:var(--gray-100);border-bottom:1px solid var(--gray-200);border-radius:var(--radius-xl) var(--radius-xl) 0 0}
.report-preview-dots{position:absolute;top:12px;left:14px;display:flex;gap:6px;z-index:1}
.report-preview-dots span{width:8px;height:8px;border-radius:50%}
.report-preview-dots span:nth-child(1){background:#ff5f57}
.report-preview-dots span:nth-child(2){background:#ffbd2e}
.report-preview-dots span:nth-child(3){background:#28c840}
.report-preview-body{margin-top:1.5rem;display:flex;flex-direction:column;gap:1rem}
.report-line{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:var(--pure-white);border:1px solid var(--gray-200);border-radius:var(--radius-sm)}
.report-line-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}
.report-line-dot--pass{background:var(--green)}
.report-line-dot--warn{background:var(--gold)}
.report-line-dot--fail{background:var(--red)}
.report-line-label{font-size:.8rem;color:var(--gray-600);flex:1}
.report-line-status{font-size:.7rem;font-weight:700;letter-spacing:.5px;text-transform:uppercase;padding:.2rem .5rem;border-radius:4px}
.report-line-status--pass{color:var(--green);background:var(--green-light)}
.report-line-status--warn{color:#a67c00;background:var(--gold-light)}
.report-line-status--fail{color:var(--red);background:var(--red-light)}
.report-preview-features{display:flex;flex-direction:column;gap:1rem;margin-top:1.5rem}
.report-preview-feature{display:flex;align-items:flex-start;gap:.75rem}
.report-preview-feature-icon{width:36px;height:36px;border-radius:var(--radius-sm);background:var(--green-light);border:1px solid rgba(26,107,26,.1);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.report-preview-feature-icon svg{width:18px;height:18px;color:var(--green)}
.report-preview-feature h4{font-size:.88rem;font-weight:600;color:var(--black);margin-bottom:.15rem}
.report-preview-feature p{font-size:.8rem;color:var(--gray-500);line-height:1.5}

/* ============================================================
   INLINE CTA (between sections)
   ============================================================ */
.inline-cta{padding:2.5rem 5%;background:linear-gradient(135deg,var(--green),var(--green-dark));text-align:center;position:relative;overflow:hidden}
.inline-cta::before{content:'';position:absolute;inset:0;opacity:.04;background-image:var(--grain);background-size:128px 128px;pointer-events:none}
.inline-cta-inner{max-width:700px;margin:0 auto;position:relative;z-index:1}
.inline-cta p{color:rgba(255,255,255,.9);font-size:1rem;font-weight:500;margin-bottom:1rem}
.inline-cta .btn{background:var(--pure-white);color:var(--green-dark);font-weight:600}
.inline-cta .btn:hover{background:var(--gray-50);transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,.15)}

/* ============================================================
   CONTACT FAQ QUICK
   ============================================================ */
.contact-faq{padding:3rem 5%;background:var(--pure-white)}
.contact-faq-inner{max-width:var(--max-w);margin:0 auto}
.contact-faq-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-top:1.5rem}
.contact-faq-card{padding:1.25rem;background:var(--gray-50);border:1px solid var(--gray-200);border-radius:var(--radius-md);transition:all .3s var(--ease)}
.contact-faq-card:hover{border-color:var(--green);box-shadow:0 4px 16px rgba(26,107,26,.06)}
.contact-faq-card h4{font-size:.85rem;font-weight:600;color:var(--black);margin-bottom:.35rem}
.contact-faq-card p{font-size:.8rem;color:var(--gray-500);line-height:1.6}

/* ============================================================
   SERVICE COMPARISON MATRIX (homepage)
   ============================================================ */
.svc-matrix{background:var(--gray-50);border-top:1px solid var(--gray-200);border-bottom:1px solid var(--gray-200)}
.svc-matrix-table{width:100%;margin-top:2.5rem;border-collapse:separate;border-spacing:0;background:var(--pure-white);border:1px solid var(--gray-200);border-radius:var(--radius-lg);overflow:hidden;box-shadow:0 2px 12px rgba(0,0,0,.04)}
.svc-matrix-table thead th{background:var(--gray-900);color:var(--pure-white);font-size:.78rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase;padding:1rem 1.25rem;text-align:center;border-bottom:2px solid var(--green)}
.svc-matrix-table thead th:first-child{text-align:left;background:var(--gray-800);width:30%}
.svc-matrix-table thead th.svc-matrix-highlight{background:var(--green-dark);position:relative}
.svc-matrix-table thead th.svc-matrix-highlight::after{content:'Most Requested';position:absolute;top:-1.4rem;left:50%;transform:translateX(-50%);font-size:.6rem;padding:.15rem .5rem;background:var(--gold);color:var(--gray-900);border-radius:100px;white-space:nowrap;letter-spacing:.5px}
.svc-matrix-table tbody td{padding:.85rem 1.25rem;font-size:.84rem;color:var(--gray-600);border-bottom:1px solid var(--gray-100);text-align:center;vertical-align:middle}
.svc-matrix-table tbody td:first-child{text-align:left;font-weight:500;color:var(--black)}
.svc-matrix-table tbody tr:last-child td{border-bottom:none}
.svc-matrix-table tbody tr:hover{background:var(--gray-50)}
.svc-matrix-check{color:var(--green);font-weight:700;font-size:1.1rem}
.svc-matrix-dash{color:var(--gray-300)}
.svc-matrix-table tbody td.svc-matrix-col-highlight{background:rgba(26,107,26,.03)}
.svc-matrix-cta{display:flex;justify-content:center;margin-top:1.5rem;gap:1rem;flex-wrap:wrap}
.svc-matrix-cta a{font-size:.82rem}

/* ============================================================
   RESULTS / IMPACT STRIP (homepage)
   ============================================================ */
.results-section{background:var(--gray-900);color:var(--pure-white);position:relative;overflow:hidden}
.results-section::before{content:'';position:absolute;inset:0;opacity:.04;background-image:var(--grain);background-size:128px 128px;pointer-events:none}
.results-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-top:2.5rem;position:relative;z-index:1}
.result-card{text-align:center;padding:2rem 1.5rem;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);border-radius:var(--radius-lg);transition:all .3s var(--ease)}
.result-card:hover{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.1);transform:translateY(-3px)}
.result-card-icon{width:48px;height:48px;margin:0 auto .75rem;border-radius:50%;display:flex;align-items:center;justify-content:center}
.result-card:nth-child(1) .result-card-icon{background:rgba(196,66,48,.15)}
.result-card:nth-child(2) .result-card-icon{background:rgba(26,107,26,.15)}
.result-card:nth-child(3) .result-card-icon{background:rgba(212,168,85,.15)}
.result-card-icon svg{width:22px;height:22px}
.result-card:nth-child(1) .result-card-icon svg{color:var(--red)}
.result-card:nth-child(2) .result-card-icon svg{color:var(--green)}
.result-card:nth-child(3) .result-card-icon svg{color:var(--gold)}
.result-card-value{font-family:var(--font-display);font-size:2.2rem;font-weight:700;color:var(--pure-white);line-height:1;margin-bottom:.35rem}
.result-card-label{font-size:.82rem;color:rgba(255,255,255,.5);line-height:1.4}
.result-card-desc{font-size:.78rem;color:rgba(255,255,255,.35);margin-top:.5rem;line-height:1.5}

/* ============================================================
   SERVICE-SPECIFIC FAQ (service pages)
   ============================================================ */
.svc-faq{background:var(--gray-50);border-top:1px solid var(--gray-200);border-bottom:1px solid var(--gray-200)}
.svc-faq .faq-grid{margin-top:2rem}
.svc-faq .faq-list{display:flex;flex-direction:column;gap:0}
.svc-faq .faq-item{border-bottom:1px solid var(--gray-200)}
.svc-faq .faq-item:last-child{border-bottom:none}

/* ============================================================
   RESPONSIVE, NEW COMPONENTS
   ============================================================ */
@media(max-width:900px){
  .testimonials-grid,.testimonials-grid-2{grid-template-columns:1fr!important}
  .spotlight-grid{grid-template-columns:1fr}
  .comparison-grid{grid-template-columns:1fr;gap:1rem}
  .comparison-divider{padding:1rem 0}
  .comparison-divider::before{top:50%;bottom:auto;left:0;right:0;width:auto;height:2px;background:linear-gradient(90deg,transparent,var(--gray-300),transparent)}
  .comparison-vs{margin:0 auto}
  .report-preview-inner{grid-template-columns:1fr}
  .contact-faq-grid{grid-template-columns:1fr!important}
  .results-grid{grid-template-columns:1fr}
  .svc-matrix-table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .svc-matrix-table thead,.svc-matrix-table tbody,.svc-matrix-table tr,.svc-matrix-table td,.svc-matrix-table th{display:revert}
  .svc-faq .faq-grid{grid-template-columns:1fr}
}
@media(max-width:550px){
  .products-grid{justify-content:center}
  .about-stats-grid{grid-template-columns:1fr 1fr}
  .about-stat::after{display:none}
}

/* ── MOBILE FIXES FOR NEW COMPONENTS ── */
@media(max-width:768px){
  .hero-roi{font-size:.82rem;margin-top:.3rem}
  .btn-sample-report{padding:.6rem 1rem;gap:.5rem}
  .btn-sample-report strong{font-size:.82rem}
  .btn-sample-report small{font-size:.65rem}
  .guarantees-grid{grid-template-columns:1fr!important}
  .guarantee-card{padding:1.5rem 1.25rem}
}

/* ── LOGO MARQUEE (infinite scroll) ── */
.logo-cloud-track{display:flex;gap:3rem;animation:marquee 25s linear infinite;width:max-content}
.logo-cloud:hover .logo-cloud-track{animation-play-state:paused}
.logo-cloud{overflow:hidden;position:relative}
.logo-cloud::before,.logo-cloud::after{content:'';position:absolute;top:0;bottom:0;width:80px;z-index:2;pointer-events:none}
.logo-cloud::before{left:0;background:linear-gradient(to right,var(--gray-50),transparent)}
.logo-cloud::after{right:0;background:linear-gradient(to left,var(--gray-50),transparent)}
@keyframes marquee{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}

/* ── SERVICE CARD HOVER GLOW ── */
.svc-card{transition:all .4s var(--ease)}


/* ── STATS COUNTER ANIMATION ── */
.stats-banner-num[data-target]{transition:none}

/* ── GLASSMORPHISM PAIN CARDS ── */
.pain-card{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:rgba(255,255,255,.04)!important;border:1px solid rgba(212,168,85,.15)!important}
.pain-card:hover{background:rgba(255,255,255,.08)!important;border-color:rgba(212,168,85,.3)!important}

/* ── PROCESS TIMELINE HIGHLIGHT ── */
.process-step{transition:all .5s var(--ease)}
.process-step.step-active .process-step-num{color:var(--gold)}
.process-step.step-active .process-step-icon{border-color:var(--gold);box-shadow:0 0 20px rgba(212,168,85,.2)}

/* ── COMPARISON TABLE STICKY ── */
.compare-table thead th{position:sticky;top:0;background:var(--gray-900);z-index:2}
@media(max-width:768px){.compare-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.compare-table{min-width:700px}}

/* ── FLOATING CONSULT BUTTON ── */
.floating-consult{position:fixed;bottom:2rem;right:2rem;z-index:90;display:flex;align-items:center;gap:.5rem;background:var(--green);color:var(--pure-white);padding:.85rem 1.5rem;border-radius:50px;font-family:var(--font-body);font-size:.88rem;font-weight:600;text-decoration:none;box-shadow:0 4px 20px rgba(26,107,26,.35);transition:all .3s var(--ease);border:none;cursor:pointer}
.floating-consult:hover{background:var(--green-dark);transform:translateY(-2px);box-shadow:0 6px 25px rgba(26,107,26,.45)}
.floating-consult svg{width:20px;height:20px}
.floating-consult.hidden{opacity:0;pointer-events:none;transform:translateY(20px)}
@media(max-width:768px){.floating-consult span{display:none}.floating-consult{padding:.85rem}}

/* ── ANNOUNCEMENT BANNER ── */
.announce-banner{background:var(--gray-900);color:rgba(255,255,255,.85);text-align:center;padding:.55rem 2.5rem .55rem 1rem;font-family:var(--font-body);font-size:.8rem;position:relative;z-index:100;border-bottom:1.5px solid var(--gold);letter-spacing:.01em}
.announce-banner-pill{display:inline-block;background:var(--gold);color:var(--gray-900);font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;padding:.15rem .55rem;border-radius:50px;margin-right:.5rem;vertical-align:middle}
.announce-banner a{color:var(--gold);font-weight:600;text-decoration:none;margin-left:.4rem;border-bottom:1px solid rgba(212,168,85,.4);transition:border-color .2s}
.announce-banner a:hover{border-bottom-color:var(--gold)}
.announce-banner-close{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);background:none;border:none;color:rgba(255,255,255,.4);cursor:pointer;padding:.25rem;line-height:1;transition:color .2s}
.announce-banner-close:hover{color:rgba(255,255,255,.8)}
.announce-banner-close svg{width:14px;height:14px}

/* ── COOKIE BANNER ── */
.cookie-banner{position:fixed;bottom:0;left:0;right:0;background:var(--gray-900);color:var(--pure-white);padding:1.25rem 2rem;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;z-index:200;transform:translateY(100%);transition:transform .4s var(--ease);font-family:var(--font-body);font-size:.85rem;box-shadow:0 -4px 20px rgba(0,0,0,.15)}
.cookie-banner.visible{transform:translateY(0)}
.cookie-banner p{flex:1;line-height:1.5;color:rgba(255,255,255,.8)}
.cookie-banner p a{color:var(--gold);text-decoration:underline}
.cookie-banner-actions{display:flex;gap:.75rem;flex-shrink:0}
.cookie-banner .btn-accept{background:var(--green);color:var(--pure-white);border:none;padding:.6rem 1.25rem;border-radius:var(--radius-sm);font-weight:600;cursor:pointer;font-size:.82rem;transition:background .2s}
.cookie-banner .btn-accept:hover{background:var(--green-dark)}
.cookie-banner .btn-decline{background:none;color:rgba(255,255,255,.6);border:1px solid rgba(255,255,255,.2);padding:.6rem 1.25rem;border-radius:var(--radius-sm);font-weight:500;cursor:pointer;font-size:.82rem;transition:all .2s}
.cookie-banner .btn-decline:hover{color:var(--pure-white);border-color:rgba(255,255,255,.5)}
@media(max-width:600px){.cookie-banner{flex-direction:column;text-align:center;padding:1rem}.cookie-banner-actions{width:100%;justify-content:center}}

/* ── FAQ TABS ── */
.faq-tabs{display:flex;justify-content:center;gap:.5rem;margin-bottom:2rem;flex-wrap:wrap}
.faq-tab{background:var(--pure-white);border:1px solid var(--gray-200);padding:.55rem 1.2rem;border-radius:50px;font-family:var(--font-body);font-size:.82rem;font-weight:500;color:var(--gray-500);cursor:pointer;transition:all .3s var(--ease)}
.faq-tab:hover{border-color:var(--green);color:var(--green)}
.faq-tab.active{background:var(--green);color:var(--pure-white);border-color:var(--green)}

/* ============================================================
   SERVICES GRID 5-COLUMN (Home page)
   ============================================================ */
.services-grid-5{display:flex;gap:1rem;margin-top:2.5rem}
.services-grid-5 .svc-card{flex:1;min-width:0;padding:1.25rem}
.services-grid-5 .svc-card h3{font-size:.95rem}
.services-grid-5 .svc-card p{font-size:.82rem;margin-bottom:1rem;line-height:1.55}
.services-grid-5 .svc-card-icon{width:40px;height:40px;margin-bottom:1rem}
.services-grid-5 .svc-card-icon svg{width:20px;height:20px}
.services-grid-5 .svc-card:nth-child(4) .svc-card-icon{background:linear-gradient(135deg,rgba(26,107,26,.1),rgba(26,107,26,.03));border:1px solid rgba(26,107,26,.08)}
.services-grid-5 .svc-card:nth-child(4) .svc-card-icon svg{color:var(--green-dark)}
.services-grid-5 .svc-card:nth-child(5) .svc-card-icon{background:linear-gradient(135deg,var(--gray-100),rgba(107,123,107,.05));border:1px solid var(--gray-200)}
.services-grid-5 .svc-card:nth-child(5) .svc-card-icon svg{color:var(--gray-600)}
@media(max-width:900px){.services-grid-5{flex-wrap:wrap}.services-grid-5 .svc-card{flex:1 1 calc(33% - 1rem);min-width:200px}}
@media(max-width:600px){.services-grid-5 .svc-card{flex:1 1 100%}}

/* ============================================================
   OUR STORY (About page)
   ============================================================ */
.our-story-content{max-width:760px;margin-top:2.5rem}
.our-story-opening{position:relative;padding:2rem 2.5rem;background:linear-gradient(135deg,var(--green-light),rgba(26,107,26,.04));border-left:4px solid var(--green);border-radius:0 var(--radius-lg) var(--radius-lg) 0;margin-bottom:2.5rem}
.our-story-quote-mark{position:absolute;top:-.5rem;left:1rem;font-family:var(--font-display);font-size:5rem;color:var(--green);opacity:.15;line-height:1;pointer-events:none}
.our-story-question{font-family:var(--font-display);font-size:1.3rem;font-weight:600;color:var(--green-dark);line-height:1.4;font-style:italic}
.our-story-text p{font-size:1.05rem;color:var(--gray-600);line-height:1.8;margin-bottom:1.25rem}
.our-story-highlight{padding:1.5rem 2rem;background:var(--gold-light);border-radius:var(--radius-md);margin:2rem 0}
.our-story-highlight p{font-family:var(--font-display);font-size:1.2rem;font-weight:700;color:var(--green-dark);margin-bottom:0;text-align:center}

/* ============================================================
   TEAM, Avatars & Full-width Card (About page)
   ============================================================ */
.avatar-placeholder{width:100%;height:100%;min-height:200px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-lg);font-family:var(--font-display);font-weight:700;font-size:3rem;color:var(--pure-white);letter-spacing:2px}
.avatar-placeholder span{display:flex;align-items:center;justify-content:center;width:100px;height:100px;border-radius:50%;box-shadow:0 4px 20px rgba(0,0,0,.1)}
.avatar-nh{background:linear-gradient(135deg,var(--green),var(--green-dark))}
.avatar-nh span{background:rgba(255,255,255,.15)}
.avatar-ab{background:linear-gradient(135deg,var(--red),var(--red-dark))}
.avatar-ab span{background:rgba(255,255,255,.15)}
.avatar-cb{background:linear-gradient(135deg,var(--gold),#b8902e)}
.avatar-cb span{background:rgba(255,255,255,.15)}
.team-card-full{grid-column:1 / -1}
.team-card-img-wide{min-height:180px}
.team-group-placeholder{width:100%;height:100%;min-height:180px;background:linear-gradient(135deg,var(--gray-100),var(--green-light));display:flex;align-items:center;justify-content:center;border-radius:var(--radius-lg)}
.team-group-placeholder svg{width:72px;height:72px;color:var(--green);opacity:.35}


/* Service hero tagline (below H1 service name) */
.svc-hero-tagline{font-family:var(--font-display);font-size:clamp(1.3rem,2.8vw,1.8rem);font-weight:600;color:var(--gray-600);line-height:1.3;margin-top:.5rem;margin-bottom:0;letter-spacing:-.01em}
.svc-hero-tagline span{color:var(--green)}

/* Accreditation badges in service hero */
.svc-hero-accred{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;margin-top:1.2rem;padding:.75rem 1rem;background:var(--pure-white);border:1px solid var(--gray-200);border-radius:var(--radius-md);font-size:.82rem;color:var(--gray-500);font-weight:500;box-shadow:0 1px 4px rgba(0,0,0,.04)}
.svc-hero-accred img{border-radius:4px;padding:2px}

/* Stats grid (service pages) */
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;margin-top:2rem}
.stat-card{background:var(--pure-white);border-radius:var(--radius-lg);padding:2rem 1.5rem;text-align:center;box-shadow:0 2px 12px rgba(0,0,0,.06)}
.stat-num{font-family:var(--font-display);font-size:2.8rem;font-weight:800;line-height:1.1;margin-bottom:.5rem}
.stat-label{font-size:.92rem;color:var(--gray-500);line-height:1.5}

@media(max-width:900px){
  .stats-grid{grid-template-columns:repeat(2,1fr);gap:1rem}
}
@media(max-width:500px){
  .stats-grid{grid-template-columns:1fr}
  .stat-num{font-size:2.2rem}
  .svc-hero-accred{font-size:.75rem;gap:.4rem}
  .svc-hero-accred img{width:28px;height:28px}
}

/* ============================================================
   MOBILE CHANTIER, premium refinements (v41)
   Ne touche PAS au desktop. Tout est scopé mobile.
   ============================================================ */

/* Global neutres desktop, améliorent le mobile */
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}
:target{scroll-margin-top:90px}
a:focus-visible,button:focus-visible{outline:2px solid var(--green);outline-offset:3px;border-radius:4px}

/* Touch-only: tap highlight + feedback actif */
@media(hover:none){
  html{-webkit-tap-highlight-color:transparent}
  a:active,button:active{opacity:.85}
  .btn:active{transform:scale(.97)!important;transition-duration:.08s!important}
}

/* iOS safe-area : notch top + home indicator bottom */
@supports (padding:env(safe-area-inset-top)){
  .nav{padding-top:calc(.85rem + env(safe-area-inset-top,0));padding-bottom:.85rem}
  .nav-mobile{padding-top:calc(6rem + env(safe-area-inset-top,0));padding-bottom:calc(2rem + env(safe-area-inset-bottom,0))}
  .floating-consult{bottom:calc(4.5rem + env(safe-area-inset-bottom,0))}
  .sticky-cta{padding-bottom:calc(.75rem + env(safe-area-inset-bottom,0))}
}

/* Tablet portrait : grille intermédiaire pour who-grid */
@media(max-width:900px) and (min-width:551px){
  .who-grid{grid-template-columns:repeat(2,1fr)!important}
}

/* =====================================
   @media(max-width:900px), ajouts
   ===================================== */
@media(max-width:900px){
  /* Zéro zoom iOS au focus des inputs (font-size ≥16px requis par Safari) */
  .form-input,input[type=text],input[type=email],input[type=tel],input[type=url],input[type=search],textarea,select{font-size:16px!important}

  /* Nav burger : touch target 44×44 minimum */
  .nav-toggle{width:44px;height:44px;display:flex;align-items:center;justify-content:center}

  /* Nav mobile : backdrop + transition douce */
  .nav-mobile{backdrop-filter:blur(18px) saturate(1.2);-webkit-backdrop-filter:blur(18px) saturate(1.2);background:rgba(255,255,255,.94);transition:right .35s cubic-bezier(.32,.72,0,1)}
  .nav-mobile-links a{min-height:48px;padding:1rem 0;display:flex;align-items:center}

  /* Body scroll-lock quand menu ouvert */
  body.menu-open{overflow:hidden;position:fixed;width:100%;top:0;left:0}

  /* Override inline .who-grid si encore présent */
  .who-grid[style]{grid-template-columns:1fr 1fr!important}

  /* Nav mobile : lien page active */
  .nav-mobile-links a.active{color:var(--green);font-weight:600;border-left:3px solid var(--green);padding-left:1rem;margin-left:-1rem}
}

/* =====================================
   @media(max-width:768px), nouveau bloc unifiant
   ===================================== */
@media(max-width:768px){
  /* Typographie fluide unifiée */
  .hero h1{font-size:clamp(1.9rem,7vw,2.6rem);line-height:1.15;letter-spacing:-.02em}
  .section-title{font-size:clamp(1.55rem,5.5vw,2.1rem);line-height:1.2;letter-spacing:-.015em}
  .svc-hero h1,.page-header h1{font-size:clamp(1.7rem,6.5vw,2.3rem);line-height:1.2}
  .section-desc,.hero-sub{line-height:1.65;font-size:clamp(.92rem,2.4vw,1rem)}

  /* Espacements section systématiques */
  .section{padding-top:3rem;padding-bottom:3rem}
  .hero{padding-top:6.5rem;padding-bottom:2.5rem}

  /* Grilles qui n'ont PAS de règle mobile spécifique */
  .differentiators-grid,.guarantees-grid,.proof-inner{grid-template-columns:1fr!important;gap:1rem}
  .compare-grid,.adv-grid,.monitor-grid,.inspect-grid,.why-grid,.scope-grid{grid-template-columns:1fr!important;gap:1rem}

  /* Désactiver animations coûteuses en mobile */
  .pain-section::after{display:none}
  .word-reveal{opacity:1!important;transform:none!important;transition:none!important}
  .hero-accred-card::before{display:none}
  .logo-cloud-track{animation-duration:60s}
  img{content-visibility:auto}

  /* Touch targets renforcés */
  .footer-col-links a{display:inline-block;padding:.5rem 0;min-height:40px}
  .breadcrumb a{padding:.25rem .4rem;margin:-.25rem -.4rem;display:inline-block;min-height:32px}
  .faq-question{min-height:56px}

  /* Scroll horizontal : compare table avec snap */
  .compare-table-wrap{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scroll-padding:1rem}
  .compare-table-wrap table{min-width:520px}
  .compare-table td,.compare-table th{scroll-snap-align:start}

  /* Cards shadow plus subtile en mobile */
  .svc-card,.trust-card,.guarantee-card,.hero-sample-card{box-shadow:0 1px 12px rgba(10,18,9,.06)}

  /* Team photos : rendering plus net sur Retina */
  .section--team .team-card-img img{image-rendering:-webkit-optimize-contrast}

  /* Section-inner : enlever bord latéral inutile */
  .section-inner{padding-left:0;padding-right:0}
}

/* =====================================
   @media(max-width:550px), renforcements
   ===================================== */
@media(max-width:550px){
  /* Footer liens aérés */
  .footer-col-links{display:flex;flex-direction:column;gap:.15rem}
  .footer-col-links a{padding:.55rem 0;min-height:44px;display:inline-flex;align-items:center}
  .footer-col h4{margin-bottom:.5rem}

  /* Breadcrumb compact mais tappable */
  .breadcrumb{font-size:.82rem;flex-wrap:wrap;gap:.15rem}
  .breadcrumb a{padding:.35rem .5rem;margin:-.35rem -.25rem}

  /* Nav burger encore plus large */
  .nav-toggle{width:46px;height:46px}

  /* Who-card padding : éviter ligne trop serrée */
  .who-card[style]{padding:1.25rem!important}

  /* Process steps : meilleure hiérarchie verticale */
  .process-step{padding:1.25rem 1rem}
  .process-step-icon{width:44px;height:44px;margin-bottom:.75rem}

  /* Section padding compacté */
  .section{padding-top:2.5rem;padding-bottom:2.5rem}

  /* Heroshade accred bar : pas de débordement */
  .hero-accred-bar{padding:0 .25rem}

  /* Pain-card glassmorphism : adapter pour mobile */
  .pain-card{padding:1.25rem}

  /* Stats banner : respiration */
  .stats-banner-item{padding:.5rem .25rem}
}

/* =====================================
   @media(max-width:400px), tight
   ===================================== */
@media(max-width:400px){
  /* Container padding ultra-compact */
  .section{padding-left:4%;padding-right:4%}
  .hero{padding-left:4%;padding-right:4%}

  /* Footer en 1-col total */
  .footer-col{text-align:center}
  .footer-col-links a{padding:.6rem 0}

  /* Nav : logo un peu plus petit */
  .nav{padding-left:4%;padding-right:4%}
}

/* Device hover/mouse capable : laisser les animations premium (desktop inchangé) */

@media print{
  .nav,.nav-mobile,.sticky-cta,.grain::before,.footer::before,.cta-final::before,.svc-cta::before{display:none!important}
  body{background:#fff;color:#000}
  .section,.hero,.svc-hero,.cta-final,.footer{background:#fff!important;color:#000!important;padding:1rem 0}
  .btn,.nav-cta{border:1px solid #000;color:#000;background:transparent}
  a{color:#000;text-decoration:underline}
  .pain-card,.svc-card,.trust-card,.faq-item,.proof-commit{page-break-inside:avoid}
  .wave-divider,.stats-banner,.footer-wave{display:none!important}
  h1,h2,h3{page-break-after:avoid}
}

/* ============================================================
   HERO CAROUSEL, replaces the quote form on the homepage
   ============================================================ */
.hero-carousel{position:relative;width:100%;min-height:440px;height:100%;border-radius:var(--radius-xl);overflow:hidden;box-shadow:0 12px 48px rgba(10,18,9,.12),0 0 0 1px var(--gray-200);background:var(--gray-900);isolation:isolate}
.hero-carousel-slide{position:absolute;inset:0;opacity:0;transition:opacity 1.2s var(--ease);pointer-events:none}
.hero-carousel-slide.active{opacity:1;pointer-events:auto}
.hero-carousel-slide>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1);transition:transform 7s ease-out;will-change:transform}
.hero-carousel-slide.active>img{transform:scale(1.08)}
.hero-carousel-caption-bar{margin-top:.9rem;min-height:46px;display:flex;flex-direction:column;gap:.2rem;position:relative}
.hero-carousel-caption-item{position:absolute;inset:0;opacity:0;transform:translateY(6px);transition:opacity .45s var(--ease),transform .45s var(--ease);pointer-events:none}
.hero-carousel-caption-item.active{opacity:1;transform:translateY(0);pointer-events:auto}
.hero-carousel-caption-item strong{display:block;font-family:var(--font-display);font-size:1.1rem;font-weight:600;letter-spacing:-.01em;color:var(--black);line-height:1.25}
.hero-carousel-caption-item span{display:block;font-size:.82rem;color:var(--gray-500);letter-spacing:.01em;margin-top:.15rem}
.hero-carousel-dots{position:absolute;left:50%;bottom:1.25rem;transform:translateX(-50%);display:flex;gap:.45rem;z-index:3}
.hero-carousel-dot{width:22px;height:3px;border-radius:2px;border:none;padding:0;background:rgba(255,255,255,.35);cursor:pointer;transition:background .35s var(--ease),width .35s var(--ease)}
.hero-carousel-dot.active{background:#fff;width:38px}
.hero-carousel-dot:hover{background:rgba(255,255,255,.7)}
.hero-carousel-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:42px;height:42px;border-radius:50%;background:rgba(255,255,255,.18);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.28);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:.35;transition:opacity .35s var(--ease),background .3s var(--ease),border-color .3s var(--ease)}
.hero-carousel:hover .hero-carousel-arrow,.hero-carousel:focus-within .hero-carousel-arrow{opacity:1}
.hero-carousel-arrow:hover{background:rgba(255,255,255,.28);border-color:rgba(255,255,255,.4)}
.hero-carousel-arrow.prev{left:1rem}
.hero-carousel-arrow.next{right:1rem}
.hero-carousel-arrow:focus-visible{opacity:1;outline:2px solid #fff;outline-offset:2px}
@media (max-width:980px){
  .hero-carousel{min-height:340px}
  .hero-carousel-caption-item strong{font-size:1rem}
  .hero-carousel-caption-item span{font-size:.78rem}
}
@media (hover:none){
  .hero-carousel-arrow{opacity:1;background:rgba(255,255,255,.22)}
}
@media (prefers-reduced-motion:reduce){
  .hero-carousel-slide,.hero-carousel-slide>img,.hero-carousel-caption-item{transition:none!important;transform:none!important}
}

/* ============================================================
   ARABIC / RTL SUPPORT
   ============================================================ */
html[lang="ar"]{font-family:'Cairo','Tajawal','Noto Sans Arabic',system-ui,-apple-system,sans-serif}
html[lang="ar"] body{font-family:inherit}
html[lang="ar"] h1,html[lang="ar"] h2,html[lang="ar"] h3,html[lang="ar"] h4,html[lang="ar"] .section-title,html[lang="ar"] .hero h1,html[lang="ar"] .nav-brand{font-family:'Cairo','Tajawal','Noto Sans Arabic',system-ui,sans-serif;font-weight:700}
html[lang="ar"] .hero h1{letter-spacing:0}
html[lang="ar"] .nav-brand-slogan,html[lang="ar"] .section-label{letter-spacing:0}
/* RTL layout flips */
html[dir="rtl"] body{text-align:right}
html[dir="rtl"] .hero-inner{direction:rtl}
html[dir="rtl"] .nav-menu,html[dir="rtl"] .nav-mobile-menu,html[dir="rtl"] .footer-grid{direction:rtl}
html[dir="rtl"] .hero-accred-bar,html[dir="rtl"] .hero-guarantees{flex-direction:row-reverse}
html[dir="rtl"] .hero h1 strong{background-position:100% 92%}
html[dir="rtl"] .hero-sample-card svg,html[dir="rtl"] .hero-guarantee svg{margin-left:.4rem;margin-right:0}
html[dir="rtl"] .form-consent{text-align:right;flex-direction:row-reverse;justify-content:flex-end}
html[dir="rtl"] .form-submit{direction:rtl}
html[dir="rtl"] .hero-carousel-arrow.prev{left:auto;right:1rem}
html[dir="rtl"] .hero-carousel-arrow.next{right:auto;left:1rem}
html[dir="rtl"] .hero-carousel-arrow.prev svg{transform:scaleX(-1)}
html[dir="rtl"] .hero-carousel-arrow.next svg{transform:scaleX(-1)}
html[dir="rtl"] .btn svg,html[dir="rtl"] .nav-cta svg{transform:scaleX(-1)}
html[dir="rtl"] .announce-banner{direction:rtl}
html[dir="rtl"] .floating-consult{right:auto;left:1.5rem}
html[dir="rtl"] .breadcrumb{direction:rtl}
html[dir="rtl"] .lang-switch{direction:ltr}
html[dir="rtl"] .services-dropdown-menu,html[dir="rtl"] .nav-dropdown-menu{text-align:right}
html[dir="rtl"] ul{padding-right:0}
html[dir="rtl"] .section-desc,html[dir="rtl"] .hero-sub{text-align:right}
@media (max-width:980px){
  html[dir="rtl"] .hero-content,html[dir="rtl"] .hero-accred-bar,html[dir="rtl"] .hero-guarantees{text-align:right}
}

/* ============================================================
   FIXES 2026-04-21 — container + RTL completion + responsive
   ============================================================ */
.container{max-width:var(--max-w);margin:0 auto;padding:0 5%}

html[dir="rtl"] .nav-dropdown-menu svg,
html[dir="rtl"] .services-dropdown-menu svg,
html[dir="rtl"] .process-arrow svg,
html[dir="rtl"] .btn-sm svg{transform:scaleX(-1)}
html[dir="rtl"] .about-stat:not(:last-child)::after{right:auto;left:0}
html[dir="rtl"] .breadcrumb-separator,
html[dir="rtl"] .breadcrumb span{display:inline-block;transform:scaleX(-1)}

html[dir="rtl"] .proof-inner,
html[dir="rtl"] .cta-final-inner,
html[dir="rtl"] .contact-hero-inner,
html[dir="rtl"] .svc-hero-inner,
html[dir="rtl"] .footer-inner{direction:rtl}

html[dir="rtl"] .logo-cloud-track{animation-direction:reverse}

html[dir="rtl"] input::placeholder,
html[dir="rtl"] textarea::placeholder{text-align:right}

@media(max-width:768px){
  .pain-grid,.services-grid-3,.stages-flow,.results-grid{grid-template-columns:1fr}
}

/* MOBILE OPTIMIZATIONS 2026-04-21 - desktop layout untouched */
@media(max-width:768px){
  /* Sections breathe more */
  .section{padding-top:56px!important;padding-bottom:56px!important}
  .hero{padding-top:96px!important;padding-bottom:48px!important;min-height:auto}

  /* Hero compactness */
  .hero-inner{gap:32px}
  .hero h1{font-size:clamp(1.85rem,8vw,2.6rem);line-height:1.18;letter-spacing:-.01em}
  .hero-sub,.hero p{font-size:1rem;line-height:1.55}

  /* Section titles */
  .section-title{font-size:clamp(1.55rem,6vw,2rem);line-height:1.22;margin-bottom:.6rem}
  .section-desc{font-size:.95rem;line-height:1.55;max-width:100%}
  .section-label{font-size:.72rem;letter-spacing:.18em;margin-bottom:.65rem}

  /* Stats grids: 2 cols on tablet */
  .stats-banner-inner,.about-stats-grid{grid-template-columns:1fr 1fr;gap:1.5rem}

  /* Who-grid: stack to 1 column for readability */
  .who-grid{grid-template-columns:1fr;gap:1rem}

  /* Comparison: vertical stack with VS divider hidden */
  .comparison-grid{display:flex;flex-direction:column;gap:1rem}
  .comparison-divider{display:none}
  .comparison-col{padding:1.25rem}

  /* Inline CTA: stack vertically */
  .inline-cta-inner{flex-direction:column;text-align:center;gap:1rem;padding:1.25rem 1rem}

  /* Service matrix: horizontal scroll wrapper */
  .svc-matrix .section-inner{overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:.5rem}
  .svc-matrix-table{min-width:600px;font-size:.85rem}
  .svc-matrix-table th,.svc-matrix-table td{padding:.6rem .5rem}

  /* Buttons: 48px minimum tap target */
  .btn,.nav-cta,.nav-mobile-cta{min-height:48px;padding:.85rem 1.4rem;font-size:.95rem}
  .btn-sm{min-height:42px;padding:.7rem 1.1rem}

  /* Service hero: compact */
  .svc-hero{padding-top:5rem;padding-bottom:3rem}
  .svc-hero-inner{gap:2rem}
  .svc-hero h1{font-size:clamp(1.7rem,7vw,2.3rem);line-height:1.2}
  .svc-hero-tagline{font-size:1.05rem;line-height:1.4}
  .svc-hero-accred{flex-wrap:wrap;justify-content:center;gap:.4rem .75rem;font-size:.72rem;text-align:center}
  .svc-hero-accred span{flex-basis:100%;text-align:center;margin-top:.25rem}
  .svc-hero-highlight{padding:1.25rem}

  /* Cards padding tighter */
  .who-card,.why-card,.diff-card,.guarantee-card,.svc-card,.inspect-card,.team-card{padding:1.25rem}
  .why-card h3,.who-card h3,.inspect-card h3{font-size:1.05rem}
  .why-card p,.who-card p,.inspect-card p{font-size:.92rem;line-height:1.55}

  /* Process timeline: hide vertical line on mobile */
  .process-timeline-line{display:none}
  .process-timeline-step{padding-bottom:1.5rem}
  .process-timeline-num{width:36px;height:36px;font-size:.9rem}

  /* Footer: cleaner stack */
  .footer{padding-top:3rem}
  .footer-inner{grid-template-columns:1fr;gap:2rem;padding-bottom:2rem}
  .footer-cta{padding:1.5rem 1rem;gap:.85rem;flex-direction:column;text-align:center}
  .footer-bottom{flex-direction:column;gap:.75rem;text-align:center;padding:1.25rem 0}
  .footer-col h4{margin-bottom:.6rem}

  /* Form: prevent iOS zoom + better tap */
  form input,form select,form textarea{font-size:16px;min-height:48px;padding:.85rem 1rem}
  form textarea{min-height:120px}
  .form-row{grid-template-columns:1fr;gap:0}

  /* Contact hero: stack */
  .contact-hero-inner{grid-template-columns:1fr;gap:2rem}

  /* Cookie banner: more readable */
  .cookie-banner{padding:.85rem 1rem;font-size:.85rem}
  .cookie-banner p{font-size:.85rem;line-height:1.4}

  /* Floating consult: smaller, doesn't cover content */
  .floating-consult{bottom:1rem;right:1rem;padding:.75rem;border-radius:50%}
  html[dir="rtl"] .floating-consult{right:auto;left:1rem}

  /* Breadcrumb: smaller */
  .breadcrumb{font-size:.78rem}

  /* Page header */
  .page-header{padding-top:5rem;padding-bottom:2rem}
  .page-header h1{font-size:clamp(1.7rem,7vw,2.3rem)}
  .page-header-tag{font-size:.7rem}

  /* FAQ: better spacing */
  .faq-question{padding:1rem 1.25rem;min-height:56px}
  .faq-question h3{font-size:.98rem;line-height:1.35}
  .faq-answer-inner{padding:0 1.25rem 1rem;font-size:.92rem;line-height:1.55}

  /* Report preview: tighter */
  .report-preview{padding:1.25rem}
  .report-line{flex-direction:column;align-items:flex-start;gap:.25rem;padding:.65rem 0}
  .report-line-label{font-size:.85rem}
  .report-line-value{font-size:.85rem}

  /* SVC CTA */
  .svc-cta{padding:3rem 1.5rem}
  .svc-cta h2{font-size:clamp(1.5rem,6vw,2rem)}
  .svc-cta p{font-size:.95rem}

  /* Announce banner: more readable */
  .announce-banner{padding:.6rem 2.5rem .6rem 1rem;font-size:.78rem;line-height:1.4}
  html[dir="rtl"] .announce-banner{padding:.6rem 1rem .6rem 2.5rem}

  /* Stats cards */
  .stat-card,.about-stat{padding:1rem .5rem}
  .stat-num,.about-stat-number{font-size:clamp(1.6rem,7vw,2.4rem)}
  .stat-label,.about-stat-label{font-size:.78rem;line-height:1.35}

  /* Related services: tighter cards */
  .related-services-grid{grid-template-columns:1fr;gap:1rem}
  .related-service-card{padding:1.25rem}

  /* MVV */
  .mvv-grid{grid-template-columns:1fr;gap:1.25rem}

  /* Team grid */
  .team-grid{grid-template-columns:1fr;gap:1.5rem}
}

@media(max-width:480px){
  /* Tighter sections on phones */
  .section{padding-top:44px!important;padding-bottom:44px!important}
  .hero{padding-top:88px!important;padding-bottom:36px!important}

  /* Stats: 1 col on small phones */
  .stats-banner-inner{grid-template-columns:1fr;gap:1rem}

  /* Section title smaller */
  .section-title{font-size:clamp(1.4rem,6vw,1.8rem)}
  .hero h1{font-size:clamp(1.7rem,7.5vw,2.2rem)}

  /* Cards even tighter */
  .who-card,.why-card,.diff-card,.guarantee-card,.svc-card,.inspect-card{padding:1rem}

  /* SVC hero */
  .svc-hero{padding-top:4.5rem;padding-bottom:2.5rem}

  /* Page header */
  .page-header{padding-top:4.5rem;padding-bottom:1.5rem}
}

/* Small fix: prevent body horizontal scroll on any page */
html,body{overflow-x:hidden}

/* ============================================================
   READABILITY IMPROVEMENTS 2026-04-22
   Ciblé sur body text < 15px. Preserves all clamp()/headings/badges.
   ============================================================ */

/* Cards descriptions - body text le plus visible du site */
.svc-card p,
.services-grid .svc-card p,
.services-grid-5 .svc-card p,
.inspect-card p,
.pain-card p,
.trust-card p,
.process-step p,
.why-card p,
.who-card p,
.diff-card p{font-size:.98rem;line-height:1.65}

/* Garanties & sections conversion */
.guarantee-card p{font-size:.95rem;line-height:1.65}

/* Hero subtitle / tagline */
.hero-sub{font-size:1.02rem;line-height:1.6}

/* Témoignages */
.testimonial-quote{font-size:.98rem;line-height:1.7}

/* FAQ answers */
.faq-answer-inner{font-size:.98rem;line-height:1.65}

/* Team cards - descriptions équipe */
.team-card p{font-size:.95rem;line-height:1.65}

/* Footer - liens et texte brand */
.footer-col-links a{font-size:.92rem}
.footer-brand p{font-size:.9rem;line-height:1.55}
.footer-col h4{font-size:.82rem;letter-spacing:.14em}
.footer-bottom{font-size:.8rem}

/* Formulaires - consentement & indices */
.form-consent{font-size:.88rem;line-height:1.55}
.form-file-hint{font-size:.82rem}

/* Announce banner & cookie banner */
.announce-banner{font-size:.85rem}
.cookie-banner p{font-size:.88rem;line-height:1.5}

/* Breadcrumb - légèrement plus lisible */
.breadcrumb{font-size:.84rem}

/* Report preview body text */
.report-line-label{font-size:.88rem}
.report-line-value{font-size:.88rem}

/* CTA buttons - présence renforcée */
.btn{font-size:.95rem}

/* Proof commit descriptions */
.proof-commit p{font-size:.92rem}

/* ============================================================
   VISUAL ENRICHMENT 2026-04-23
   ============================================================ */

/* #1.1 SVC-HERO with background photo + dark overlay */
.svc-hero[data-bg]{position:relative;background-color:#0d4a0d;background-size:cover;background-position:center;overflow:hidden;isolation:isolate}
.svc-hero[data-bg]::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(13,74,13,0.86) 0%,rgba(27,94,32,0.82) 60%,rgba(7,46,7,0.90) 100%);z-index:0}
.svc-hero[data-bg] > *{position:relative;z-index:1}
.svc-hero[data-bg] h1,
.svc-hero[data-bg] .svc-hero-tagline,
.svc-hero[data-bg] .svc-hero-inner > div > p{color:#fff !important}
.svc-hero[data-bg] .breadcrumb,
.svc-hero[data-bg] .breadcrumb a{color:rgba(255,255,255,.85) !important}
.svc-hero[data-bg] .breadcrumb span{color:#F5A623 !important}
.svc-hero[data-bg] .svc-hero-tagline span{color:#F5A623 !important}
.svc-hero[data-bg] .svc-hero-accred{color:rgba(255,255,255,.75) !important}
.svc-hero[data-bg] .page-header-deco{opacity:.1}
.svc-hero[data-bg] .svc-hero-highlight{background:rgba(255,255,255,0.97) !important;color:#1C1C1C !important;border:1px solid rgba(245,166,35,0.4) !important;box-shadow:0 16px 40px rgba(0,0,0,.15)}
.svc-hero[data-bg] .svc-hero-highlight h3,
.svc-hero[data-bg] .svc-hero-highlight p,
.svc-hero[data-bg] .svc-hero-highlight strong{color:#1C1C1C !important}

.svc-hero[data-bg="pre-shipment"]{background-image:url('/svc-pre-shipment.jpg')}
.svc-hero[data-bg="facility-audit"]{background-image:url('/svc-facility-audit.jpg')}
.svc-hero[data-bg="during-production"]{background-image:url('/svc-during-production.jpg')}
.svc-hero[data-bg="end-to-end"]{background-image:url('/svc-end-to-end.jpg')}
.svc-hero[data-bg="co2"]{background-image:url('/svc-co2.jpg')}

/* #1.2 "On the ground" full-bleed quote section */
.on-the-ground{position:relative;min-height:420px;background-image:url('/team-inspectors.jpg');background-size:cover;background-position:center 30%;display:flex;align-items:center;justify-content:center;text-align:center;padding:72px 5%;overflow:hidden;isolation:isolate}
.on-the-ground::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(13,74,13,0.86),rgba(7,46,7,0.72));z-index:0}
.on-the-ground-inner{position:relative;z-index:1;max-width:900px}
.on-the-ground-label{font-size:.75rem;letter-spacing:.22em;text-transform:uppercase;color:#F5A623;font-weight:700;margin-bottom:1.25rem;display:inline-block;padding-bottom:.5rem;border-bottom:2px solid rgba(245,166,35,.5)}
.on-the-ground-quote{font-family:var(--font-display);font-size:clamp(1.6rem,3.5vw,2.4rem);color:#fff;font-weight:600;line-height:1.25;letter-spacing:-.02em;margin:0}
.on-the-ground-quote em{color:#F5A623;font-style:italic;font-weight:600}
.on-the-ground-sub{color:rgba(255,255,255,.75);font-size:.95rem;margin-top:1.25rem;letter-spacing:.05em;font-weight:500}

/* #1.3 Asymmetric differentiators */
.differentiators-grid{grid-template-columns:1.5fr 1fr 1fr !important;gap:1rem}
.differentiators-grid .diff-card:first-child{background:linear-gradient(140deg,#0d4a0d 0%,#1B5E20 100%) !important;color:#fff !important;border:none !important;padding:2.5rem 2.25rem !important;position:relative;overflow:hidden}
.differentiators-grid .diff-card:first-child::after{content:'';position:absolute;top:-30%;right:-20%;width:280px;height:280px;background:radial-gradient(circle,rgba(245,166,35,.22) 0%,transparent 65%);pointer-events:none}
.differentiators-grid .diff-card:first-child h3{color:#fff !important;font-size:1.4rem !important}
.differentiators-grid .diff-card:first-child p{color:rgba(255,255,255,.85) !important;font-size:1rem !important;line-height:1.7 !important}
.differentiators-grid .diff-card:first-child .diff-icon{background:rgba(245,166,35,.18) !important;color:#F5A623 !important;border-color:rgba(245,166,35,.3) !important}
.differentiators-grid .diff-card:first-child .diff-icon svg{color:#F5A623}
@media(max-width:900px){
  .differentiators-grid{grid-template-columns:1fr !important;gap:1rem}
  .differentiators-grid .diff-card:first-child{padding:2rem 1.5rem !important}
  .differentiators-grid .diff-card:first-child h3{font-size:1.2rem !important}
}

/* #1.4 Why-Egypt section with photo as clean full-bleed background (wide crop) */
.why-egypt-section[data-bg="why-egypt"]{position:relative;isolation:isolate;overflow:hidden;background:url('/why-egypt-port-wide.jpg') center/cover no-repeat}
.why-egypt-section[data-bg="why-egypt"]::before{content:'';position:absolute;top:0;right:0;bottom:0;left:0;border-radius:0;background:rgba(255,255,255,.82);z-index:0;pointer-events:none}
.why-egypt-section[data-bg="why-egypt"] > *{position:relative;z-index:1}
.why-egypt-section[data-bg="why-egypt"] .who-card{background:rgba(255,255,255,.96) !important;box-shadow:0 8px 28px rgba(10,18,9,.1),0 2px 6px rgba(10,18,9,.05);border:1px solid rgba(10,18,9,.06)}
.why-egypt-cards{max-width:1100px;margin:2.5rem auto 0}
@media(max-width:900px){
  .why-egypt-cards{grid-template-columns:1fr 1fr !important}
}
@media(max-width:600px){
  .why-egypt-cards{grid-template-columns:1fr !important}
}

/* Section callout inline badge (right of section-label) */
.section-label .section-callout{display:inline-block;margin-left:1rem;padding:.25rem .75rem;background:rgba(245,166,35,.15);border:1px solid rgba(245,166,35,.38);border-radius:100px;color:#c77a00;font-weight:700;letter-spacing:.1em;font-size:.62rem;vertical-align:middle;text-transform:uppercase}
html[dir="rtl"] .section-label .section-callout{margin-left:0;margin-right:1rem}
@media(max-width:600px){.section-label .section-callout{display:block;margin:.4rem 0 0 0;width:max-content}}

/* #1.6 Visual break full-bleed */
.visual-break{position:relative;min-height:260px;background-size:cover;background-position:center;display:flex;align-items:center;justify-content:center;overflow:hidden;isolation:isolate}
.visual-break::before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(13,74,13,0.78),rgba(7,46,7,0.62) 50%,rgba(13,74,13,0.78));z-index:0}
.visual-break-quote{position:relative;z-index:1;font-family:var(--font-display);font-size:clamp(1.35rem,2.8vw,2rem);color:#fff;font-weight:700;text-align:center;letter-spacing:-.01em;padding:2.5rem 5%;max-width:900px;line-height:1.3;margin:0}
.visual-break-quote em{color:#F5A623;font-style:italic;font-weight:600}
.visual-break[data-bg="pre-shipment-break"]{background-image:url('/svc-pre-shipment-break.jpg')}
.visual-break[data-bg="facility-audit-break"]{background-image:url('/svc-facility-audit-break.jpg')}
.visual-break[data-bg="during-production-break"]{background-image:url('/svc-during-production-break.jpg')}
.visual-break[data-bg="end-to-end-break"]{background-image:url('/svc-end-to-end-break.jpg')}
.visual-break[data-bg="co2-break"]{background-image:url('/svc-co2-break.jpg')}
/* Legacy keys kept for safety */
.visual-break[data-bg="packhouse"]{background-image:url('/svc-pre-shipment-break.jpg')}
.visual-break[data-bg="port"]{background-image:url('/svc-end-to-end-break.jpg')}
.visual-break[data-bg="container"]{background-image:url('/svc-facility-audit-break.jpg')}
.visual-break[data-bg="field"]{background-image:url('/svc-co2-break.jpg')}
@media(max-width:768px){
  .visual-break{min-height:200px}
  .visual-break-quote{font-size:clamp(1.1rem,4vw,1.5rem);padding:2rem 5%}
}

/* Safe baseline for report-preview image (sized so naked <img> doesn't overflow) */
.report-preview-image-wrap{display:flex;align-items:center;justify-content:center;padding:1.5rem 0;margin:0 auto;max-width:1080px}
.report-preview-image{display:block;width:100%;max-width:560px;height:auto;border-radius:12px;box-shadow:0 18px 42px rgba(10,18,9,.22),0 3px 10px rgba(10,18,9,.1)}

/* ============================================================
   VISUAL ENRICHMENT PHASE 3 — 2026-04-23 evening
   Hero home bg, differentiators cards 2-3, about story split,
   FAQ/Contact headers, report sample image
   ============================================================ */

/* HOME hero — clean photo bg + smooth gradient overlay + subtle vignette */
.hero[data-bg="home"]{position:relative;isolation:isolate;background-color:#f4f7f2;background-image:url('/home-hero-bg.jpg');background-size:cover;background-position:center;background-repeat:no-repeat}
.hero[data-bg="home"]::before{content:'';position:absolute;top:0;right:0;bottom:0;left:0;width:auto;height:auto;border-radius:0;background:linear-gradient(92deg,rgba(255,255,255,.94) 0%,rgba(255,255,255,.80) 32%,rgba(255,255,255,.42) 55%,rgba(255,255,255,.70) 100%);z-index:0;pointer-events:none}
.hero[data-bg="home"]::after{content:'' !important;display:block !important;position:absolute !important;inset:0;background:radial-gradient(ellipse at 50% 120%,rgba(13,74,13,.08) 0%,transparent 55%);z-index:0;pointer-events:none}
.hero[data-bg="home"] > *{position:relative;z-index:1}

/* HOME process visual-break between process and guarantees */
.process-visual-break{margin:3rem auto 0;max-width:1280px;min-height:220px;background-image:url('/svc-during-production-break.jpg');background-size:cover;background-position:center;border-radius:16px;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;isolation:isolate;padding:2rem 2rem}
.process-visual-break::before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(13,74,13,.85) 0%,rgba(7,46,7,.65) 50%,rgba(13,74,13,.85) 100%);z-index:0}
.process-visual-break-quote{position:relative;z-index:1;color:#fff;font-family:var(--font-display);font-size:clamp(1.2rem,2.6vw,1.8rem);font-weight:700;text-align:center;line-height:1.3;letter-spacing:-.01em;max-width:820px;margin:0}
.process-visual-break-quote em{color:#F5A623;font-style:italic;font-weight:600}
@media(max-width:900px){.process-visual-break{margin:2rem 1rem 0;min-height:170px}.process-visual-break-quote{font-size:1.1rem}}

/* ABOUT Our Story section with photo background */
.story-section[data-bg="story"]{position:relative;isolation:isolate;overflow:hidden;background:url('/team-collab.jpg') center/cover no-repeat !important}
.story-section[data-bg="story"]::before{content:'';position:absolute;top:0;right:0;bottom:0;left:0;border-radius:0;background:rgba(255,255,255,.88);z-index:0;pointer-events:none}
.story-section[data-bg="story"] > *{position:relative;z-index:1}
.story-section[data-bg="story"] .our-story-content{background:rgba(255,255,255,.92);border-radius:16px;padding:2rem 2.5rem;box-shadow:0 16px 40px rgba(10,18,9,.08);backdrop-filter:blur(4px);border:1px solid rgba(10,18,9,.05)}
@media(max-width:700px){.story-section[data-bg="story"] .our-story-content{padding:1.5rem 1.25rem}}

/* ABOUT svc-cta with team-collab bg — clean photo + uniform green overlay */
.svc-cta[data-bg="team-collab"]{position:relative;isolation:isolate;overflow:hidden;background:url('/team-collab.jpg') center/cover no-repeat}
.svc-cta[data-bg="team-collab"]::before{content:'';position:absolute;inset:0;background:rgba(13,74,13,.82);z-index:0;pointer-events:none}
.svc-cta[data-bg="team-collab"] > *{position:relative;z-index:1}

/* FAQ section with photo bg behind the accordions */
.faq-section[data-bg="faq-ambiance"]{position:relative;isolation:isolate;overflow:hidden;background:url('/faq-ambiance.jpg') center/cover no-repeat;background-attachment:fixed}
.faq-section[data-bg="faq-ambiance"]::before{content:'';position:absolute;top:0;right:0;bottom:0;left:0;border-radius:0;background:rgba(243,247,242,.9);z-index:0;pointer-events:none}
.faq-section[data-bg="faq-ambiance"] > *{position:relative;z-index:1}
.faq-section[data-bg="faq-ambiance"] .faq-item{background:rgba(255,255,255,.96) !important;box-shadow:0 6px 22px rgba(10,18,9,.08),0 1px 4px rgba(10,18,9,.04);border:1px solid rgba(10,18,9,.05);border-radius:12px;margin-bottom:.75rem}
@media(max-width:768px){.faq-section[data-bg="faq-ambiance"]{background-attachment:scroll}}
.page-header[data-bg="faq-ambiance"]::after{content:'';position:absolute;inset:0;background:linear-gradient(125deg,rgba(13,74,13,.88) 0%,rgba(27,94,32,.78) 50%,rgba(7,46,7,.86) 100%);z-index:-1;pointer-events:none}
.page-header[data-bg="faq-ambiance"] h1{color:#fff !important}
.page-header[data-bg="faq-ambiance"] p{color:rgba(255,255,255,.88) !important}
.page-header[data-bg="faq-ambiance"] .breadcrumb,
.page-header[data-bg="faq-ambiance"] .breadcrumb a{color:rgba(255,255,255,.82) !important}
.page-header[data-bg="faq-ambiance"] .breadcrumb span{color:#F5A623 !important}
.page-header[data-bg="faq-ambiance"] .page-header-tag{background:rgba(245,166,35,.18) !important;border:1px solid rgba(245,166,35,.4) !important;color:#F5A623 !important}
.page-header[data-bg="faq-ambiance"] .page-header-deco{opacity:.12;color:#fff}

/* FAQ clustering separators (between items 1-2, 3-5, 6-8) */
.faq-list .faq-item:nth-child(2),
.faq-list .faq-item:nth-child(5){position:relative;padding-bottom:2rem;margin-bottom:2rem}
.faq-list .faq-item:nth-child(2)::after,
.faq-list .faq-item:nth-child(5)::after{content:'';position:absolute;left:15%;right:15%;bottom:0;height:1px;background:linear-gradient(90deg,transparent,rgba(245,166,35,.55),transparent);pointer-events:none}

/* CONTACT hero section with photo as page background */
.contact-hero[data-bg="contact-ambiance"]{position:relative;isolation:isolate;overflow:hidden;background:url('/contact-ambiance.jpg') center/cover no-repeat !important;background-attachment:fixed}
.contact-hero[data-bg="contact-ambiance"]::before{content:'';position:absolute;top:0;right:0;bottom:0;left:0;border-radius:0;background:rgba(13,74,13,.75);z-index:0;pointer-events:none}
.contact-hero[data-bg="contact-ambiance"] > *{position:relative;z-index:1}
.contact-hero[data-bg="contact-ambiance"] h1{color:#fff !important}
.contact-hero[data-bg="contact-ambiance"] .breadcrumb,
.contact-hero[data-bg="contact-ambiance"] .breadcrumb a{color:rgba(255,255,255,.85) !important}
.contact-hero[data-bg="contact-ambiance"] .breadcrumb span{color:#F5A623 !important}
.contact-hero[data-bg="contact-ambiance"] .contact-info-list h3{color:#fff !important}
.contact-hero[data-bg="contact-ambiance"] .contact-info-list p,
.contact-hero[data-bg="contact-ambiance"] .contact-info-list a{color:rgba(255,255,255,.88) !important}
.contact-hero[data-bg="contact-ambiance"] .contact-info-list a:hover{color:#F5A623 !important}
.contact-hero[data-bg="contact-ambiance"] .contact-office-label{color:#F5A623 !important}
.contact-hero[data-bg="contact-ambiance"] .contact-office-divider{border-color:rgba(255,255,255,.2) !important}
.contact-hero[data-bg="contact-ambiance"] .contact-info-icon{color:#F5A623 !important}
.contact-hero[data-bg="contact-ambiance"] .contact-form-wrap{background:rgba(255,255,255,.98);border-radius:16px;box-shadow:0 22px 60px rgba(10,18,9,.28),0 4px 14px rgba(10,18,9,.12);padding:1.75rem}
@media(max-width:768px){.contact-hero[data-bg="contact-ambiance"]{background-attachment:scroll}}
.contact-page-header-label{font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:#F5A623;font-weight:700;margin-bottom:1.1rem;display:inline-block;padding-bottom:.4rem;border-bottom:2px solid rgba(245,166,35,.5)}
.contact-page-header-quote{font-family:var(--font-display);font-size:clamp(1.35rem,3vw,1.95rem);color:#fff;font-weight:600;line-height:1.3;letter-spacing:-.01em;margin:0}
.contact-page-header-quote em{color:#F5A623;font-style:italic;font-weight:600}
@media(max-width:768px){.contact-page-header{min-height:200px;padding:2rem 5% 1.5rem}}

/* REPORT sample image replaces HTML mockup on service pages */
.report-preview-image-wrap{display:flex;align-items:center;justify-content:center;padding:1rem 0}
.report-preview-image{display:block;width:100%;max-width:540px;height:auto;border-radius:12px;box-shadow:0 26px 60px rgba(10,18,9,.28),0 4px 14px rgba(10,18,9,.12);transform:rotate(-1.3deg);transition:transform .3s ease}
.report-preview-image:hover{transform:rotate(0) scale(1.02)}
@media(max-width:768px){.report-preview-image{transform:none;max-width:100%}.report-preview-image-wrap{padding:.5rem 0}}

/* ===== PHASE 4 — 12 FIXES (2026-04-24) ===== */

/* Hero home — polished layout (Phase 4 final) */
.hero[data-bg="home"]{padding:5.5rem 5% 3.5rem !important;align-items:center !important}
.hero[data-bg="home"] .hero-inner{grid-template-columns:1.2fr 0.72fr !important;gap:3.5rem !important;align-items:center !important;max-width:1320px !important}
.hero[data-bg="home"] .hero-content{min-height:0 !important;justify-content:flex-start !important;gap:1rem !important;max-width:640px}
.hero[data-bg="home"] .hero-content h1{font-size:clamp(2rem,4.2vw,3.2rem) !important;line-height:1.1 !important;margin:0 !important;letter-spacing:-.02em;max-width:100%}
.hero[data-bg="home"] .hero-content h1 strong{background:none !important;padding:0 !important;display:inline}
.hero[data-bg="home"] .hero-content h1 br{display:block}

/* Guarantees — 3 premium pills with colored icons in circles */
.hero[data-bg="home"] .hero-guarantees{margin:.35rem 0 .4rem !important;gap:.6rem !important;display:flex;flex-wrap:wrap}
.hero[data-bg="home"] .hero-guarantee{background:rgba(255,255,255,.96);border:1px solid rgba(26,107,26,.2);padding:.55rem 1.05rem .55rem .5rem;font-size:.84rem;font-weight:700;box-shadow:0 3px 10px rgba(10,18,9,.08);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;color:var(--green);display:inline-flex;align-items:center;gap:.55rem}
.hero[data-bg="home"] .hero-guarantee:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(10,18,9,.14);border-color:rgba(26,107,26,.35)}
.hero[data-bg="home"] .hero-guarantee svg{width:16px !important;height:16px !important;padding:4px;border-radius:50%;box-sizing:content-box}
.hero[data-bg="home"] .hero-guarantee:nth-child(1) svg{color:#0d4a0d;background:rgba(13,74,13,.1)}
.hero[data-bg="home"] .hero-guarantee:nth-child(2) svg{color:#F5A623;background:rgba(245,166,35,.12)}
.hero[data-bg="home"] .hero-guarantee:nth-child(3) svg{color:#c04a3f;background:rgba(192,74,63,.1)}

/* Accred cards — tight, gold-subtle accent */
.hero[data-bg="home"] .hero-accred-bar{margin-top:2.2rem !important;padding-top:1.1rem !important;border-top:1px solid rgba(10,18,9,.15) !important;gap:.55rem !important;position:relative}
.hero[data-bg="home"] .hero-accred-bar::before{content:'Accredited & certified';position:absolute;top:-9px;left:0;background:rgba(255,255,255,.95);padding:0 .6rem;font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);font-weight:800}
.hero[data-bg="home"] .hero-accred-card{padding:.55rem .8rem;background:rgba(255,255,255,.98);box-shadow:0 2px 10px rgba(10,18,9,.07);border:1px solid rgba(10,18,9,.07);transition:transform .25s ease,box-shadow .25s ease}
.hero[data-bg="home"] .hero-accred-card:hover{transform:translateY(-1px);box-shadow:0 6px 16px rgba(10,18,9,.12)}
.hero[data-bg="home"] .hero-accred-card img{height:32px}
.hero[data-bg="home"] .hero-accred-card-text strong{font-size:.82rem}
.hero[data-bg="home"] .hero-accred-card-text span{font-size:.66rem;color:var(--green)}

/* Form right column — premium card with gold/green gradient accent */
.hero-form-wrap{max-width:420px;margin-left:auto;width:100%;padding:1.75rem 1.5rem 1.5rem !important;border-radius:16px !important;box-shadow:0 28px 65px rgba(10,18,9,.22),0 3px 10px rgba(10,18,9,.08) !important;background:rgba(255,255,255,.98) !important;position:relative;overflow:hidden;backdrop-filter:blur(6px)}
.hero-form-wrap::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#0d4a0d 0%,#F5A623 55%,#0d4a0d 100%);z-index:1}
.hero-form-wrap::after{display:none !important}
.hero[data-bg="home"] .hero-form-wrap h3{font-size:1.2rem !important;margin:0 0 .2rem 0 !important;color:#0d4a0d !important;font-weight:800}
.hero[data-bg="home"] .hero-form-wrap .sub{font-size:.8rem !important;margin-bottom:.85rem !important;color:var(--gray-500)}
.hero[data-bg="home"] .hero-form-wrap .form-input{padding:.6rem .8rem !important;font-size:.82rem !important;margin-bottom:.5rem}
.hero[data-bg="home"] .hero-form-wrap .form-row{gap:.5rem !important;margin-bottom:0}
.hero[data-bg="home"] .hero-form-wrap textarea.form-input{min-height:56px !important}
.hero[data-bg="home"] .hero-form-wrap .form-submit{padding:.8rem !important;font-size:.92rem !important;background:linear-gradient(135deg,#0d4a0d 0%,#1B5E20 100%) !important;color:#fff !important;border-radius:10px !important;font-weight:700;letter-spacing:.01em;box-shadow:0 6px 16px rgba(13,74,13,.28);transition:all .25s ease;margin-top:.3rem !important}
.hero[data-bg="home"] .hero-form-wrap .form-submit:hover{background:linear-gradient(135deg,#1B5E20 0%,#0d4a0d 100%) !important;transform:translateY(-1px);box-shadow:0 10px 24px rgba(13,74,13,.38)}
.hero[data-bg="home"] .hero-form-wrap .form-consent{font-size:.72rem !important;margin-top:.35rem !important}
.hero[data-bg="home"] .hero-form-wrap .form-reassurance{font-size:.68rem !important;margin-top:.6rem !important;padding-top:.5rem;border-top:1px solid rgba(10,18,9,.06)}
.hero[data-bg="home"] .hero-form-wrap .form-files-zone{margin-bottom:.4rem !important}
.hero[data-bg="home"] .hero-form-wrap .form-file-add{padding:.5rem .75rem !important;font-size:.75rem !important}

@media(max-width:900px){
  .hero[data-bg="home"] .hero-inner{grid-template-columns:1fr !important;gap:2rem !important}
  .hero-form-wrap{max-width:100%;margin:0 auto}
  .hero[data-bg="home"] .hero-content{max-width:100%}
  .hero[data-bg="home"] .hero-accred-bar::before{position:static;background:none;display:block;margin-bottom:.4rem}
}

/* Phase 5 — Why Egypt : grid pattern + glow + grain noise + floating dots */
.why-egypt-section{background:#fcfdfa !important;background-image:linear-gradient(rgba(26,107,26,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(26,107,26,.08) 1px,transparent 1px) !important;background-size:44px 44px !important;position:relative;overflow:hidden;padding-top:5rem !important;padding-bottom:5rem !important}
.why-egypt-section::before{content:'';position:absolute;top:-10%;right:-8%;width:600px;height:600px;border-radius:50%;background:radial-gradient(circle,rgba(245,166,35,.3) 0%,rgba(245,166,35,.06) 40%,transparent 65%);pointer-events:none;z-index:0}
.why-egypt-section::after{content:'';position:absolute;bottom:-12%;left:-6%;width:500px;height:500px;border-radius:50%;background:radial-gradient(circle,rgba(26,107,26,.22) 0%,rgba(26,107,26,.04) 40%,transparent 65%);pointer-events:none;z-index:0}
.why-egypt-section > *{position:relative;z-index:1}
/* Floating decorative dots */
.why-egypt-section .section-inner::before{content:'';position:absolute;top:15%;right:8%;width:12px;height:12px;border-radius:50%;background:#F5A623;box-shadow:0 0 0 6px rgba(245,166,35,.2);pointer-events:none;animation:fga-float 4s ease-in-out infinite}
.why-egypt-section .section-inner::after{content:'';position:absolute;bottom:25%;left:5%;width:8px;height:8px;border-radius:50%;background:#0d4a0d;box-shadow:0 0 0 5px rgba(13,74,13,.18);pointer-events:none;animation:fga-float 5.5s ease-in-out infinite .5s}
@keyframes fga-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
.why-egypt-section .who-card{background:#ffffff !important;border:1px solid #e8e8dc !important;box-shadow:0 10px 28px rgba(10,18,9,.1),0 2px 6px rgba(10,18,9,.05) !important;transition:transform .25s ease,box-shadow .25s ease}
.why-egypt-section .who-card:hover{transform:translateY(-2px);box-shadow:0 16px 40px rgba(10,18,9,.14)}

/* Phase 5 — What Sets Us Apart : photo bg + duotone treatment vert→gold brand */
.differentiators-section[data-bg="what-sets"]{position:relative;isolation:isolate;overflow:hidden;padding-top:5.5rem !important;padding-bottom:5.5rem !important;background:#0d4a0d !important}
.differentiators-section[data-bg="what-sets"]::before{content:'';position:absolute;top:0;right:0;bottom:0;left:0;background:url('/product-flatlay-wide.jpg') center/cover no-repeat;filter:saturate(.65) contrast(1.05);z-index:-3}
.differentiators-section[data-bg="what-sets"]::after{content:'';position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,rgba(13,74,13,.85) 0%,rgba(27,94,32,.65) 45%,rgba(13,74,13,.72) 70%,rgba(7,46,7,.88) 100%);z-index:-2}
.differentiators-section[data-bg="what-sets"] > *{position:relative;z-index:1}
/* Subtle grain overlay for texture */
.differentiators-section[data-bg="what-sets"] .section-inner{position:relative}
.differentiators-section[data-bg="what-sets"] .section-inner::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background-image:radial-gradient(circle,rgba(255,255,255,.04) 1px,transparent 1px);background-size:3px 3px;pointer-events:none;z-index:0;mix-blend-mode:overlay}
/* Title & description : white on dark */
.differentiators-section[data-bg="what-sets"] .section-label{color:#F5A623 !important}
.differentiators-section[data-bg="what-sets"] .section-title{color:#ffffff !important}
.differentiators-section[data-bg="what-sets"] .section-title::after{background:linear-gradient(90deg,#F5A623 0%,#ffffff 50%,#F5A623 100%) !important}
.differentiators-section[data-bg="what-sets"] .section-desc{color:rgba(255,255,255,.82) !important}
/* Cards : solid white with strong shadow, pop from dark bg */
.differentiators-section[data-bg="what-sets"] .diff-card{background:#ffffff !important;border:none !important;box-shadow:0 20px 50px rgba(0,0,0,.3),0 4px 14px rgba(0,0,0,.15) !important;transition:transform .3s ease,box-shadow .3s ease}
.differentiators-section[data-bg="what-sets"] .diff-card:hover{transform:translateY(-4px);box-shadow:0 28px 65px rgba(0,0,0,.35),0 6px 18px rgba(0,0,0,.2) !important}
/* 3 cards identiques : pure white + green border-top (override Phase 2 forced styling) */
.differentiators-section[data-bg="what-sets"] .differentiators-grid{grid-template-columns:1fr 1fr 1fr !important;gap:1.5rem !important}
.differentiators-section[data-bg="what-sets"] .diff-card:first-child{background:#ffffff !important;color:inherit !important;border:none !important;padding:2rem 1.75rem !important;border-top:4px solid #F5A623 !important}
.differentiators-section[data-bg="what-sets"] .diff-card:first-child::after{display:none !important}
.differentiators-section[data-bg="what-sets"] .diff-card:first-child h3{color:var(--black) !important;font-size:1.2rem !important}
.differentiators-section[data-bg="what-sets"] .diff-card:first-child p{color:var(--gray-500) !important;font-size:.95rem !important;line-height:1.6 !important}
.differentiators-section[data-bg="what-sets"] .diff-card:first-child .diff-icon{background:rgba(245,166,35,.12) !important;color:#F5A623 !important;border-color:rgba(245,166,35,.2) !important}
.differentiators-section[data-bg="what-sets"] .diff-card:first-child .diff-icon svg{color:#F5A623}
.differentiators-section[data-bg="what-sets"] .diff-card:nth-child(2){border-top:4px solid #0d4a0d !important}
.differentiators-section[data-bg="what-sets"] .diff-card:nth-child(3){border-top:4px solid #c04a3f !important}

/* Phase 5 — How It Works : dots pattern + glows + BIG decorative step numbers */
.process-section{background:#f5f8f3 !important;background-image:radial-gradient(circle,rgba(26,107,26,.12) 1.2px,transparent 1.2px) !important;background-size:24px 24px !important;position:relative;overflow:hidden;padding-top:5rem !important;padding-bottom:5rem !important}
.process-section::before{content:'';position:absolute !important;top:-10% !important;right:-8% !important;width:680px !important;height:680px !important;border-radius:50% !important;background:radial-gradient(circle,rgba(26,107,26,.2) 0%,rgba(26,107,26,.04) 40%,transparent 65%) !important;pointer-events:none;z-index:0}
.process-section::after{content:'';position:absolute;bottom:-12%;left:-6%;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(245,166,35,.16) 0%,rgba(245,166,35,.04) 40%,transparent 65%);pointer-events:none;z-index:0}
.process-section > *{position:relative;z-index:1}
/* BIG transparent step numbers behind each step card */
.process-section .process-step{position:relative;overflow:hidden}
.process-section .process-step::before{content:attr(data-step-big);position:absolute;top:-20px;right:-10px;font-family:var(--font-display);font-size:9rem;font-weight:900;color:rgba(26,107,26,.06);pointer-events:none;line-height:1;letter-spacing:-.05em;z-index:0}
.process-section .process-step > *{position:relative;z-index:1}
.process-section .process-step:nth-child(1)::before{content:'01'}
.process-section .process-step:nth-child(2)::before{content:'02'}
.process-section .process-step:nth-child(3)::before{content:'03'}
.process-section .process-step:nth-child(4)::before{content:'04'}

/* Phase 5 — Services section : glows renforcés + geometric decoration */
.services-section{position:relative;overflow:hidden}
.services-section::before{width:720px !important;height:720px !important;background:radial-gradient(circle,rgba(245,166,35,.26) 0%,rgba(245,166,35,.05) 40%,transparent 65%) !important}
.services-section::after{width:600px !important;height:600px !important;background:radial-gradient(circle,rgba(26,107,26,.2) 0%,rgba(26,107,26,.05) 40%,transparent 65%) !important}
/* Decorative hexagon pattern accent (top-right faint) */
.services-section .section-inner::before{content:'';position:absolute;top:5%;right:3%;width:120px;height:120px;background-image:linear-gradient(30deg,rgba(245,166,35,.15) 12%,transparent 12.5%,transparent 87%,rgba(245,166,35,.15) 87.5%),linear-gradient(150deg,rgba(245,166,35,.15) 12%,transparent 12.5%,transparent 87%,rgba(245,166,35,.15) 87.5%),linear-gradient(30deg,rgba(245,166,35,.15) 12%,transparent 12.5%,transparent 87%,rgba(245,166,35,.15) 87.5%),linear-gradient(150deg,rgba(245,166,35,.15) 12%,transparent 12.5%,transparent 87%,rgba(245,166,35,.15) 87.5%);background-size:30px 52px;background-position:0 0,0 0,15px 26px,15px 26px;pointer-events:none;opacity:.7}

/* Section titles : reinforced gold underline with gradient */
.why-egypt-section .section-title,
.differentiators-section .section-title,
.process-section .section-title,
.services-section .section-title{position:relative;padding-bottom:.8rem;display:inline-block}
.why-egypt-section .section-title::after,
.differentiators-section .section-title::after,
.process-section .section-title::after,
.services-section .section-title::after{content:'';position:absolute;left:50%;bottom:0;width:64px;height:3px;background:linear-gradient(90deg,#0d4a0d 0%,#F5A623 50%,#0d4a0d 100%);transform:translateX(-50%);border-radius:2px}

/* Phase 5 — Differentiators "What Sets Us Apart" : light green gradient (no photo bg) */
.differentiators-section{background:linear-gradient(180deg,#f3f8f2 0%,#ffffff 100%) !important;position:relative}
.differentiators-section .diff-card:nth-child(2),
.differentiators-section .diff-card:nth-child(3){background:#ffffff !important;border:1px solid #e8e8dc !important;box-shadow:0 10px 28px rgba(10,18,9,.08),0 2px 6px rgba(10,18,9,.04) !important}

/* Phase 5 — Process steps : premium card redesign (clean, equal heights, no big nums) */
.process-section .process-grid{align-items:stretch !important;gap:1.5rem !important}
.process-section .process-step{background:#ffffff !important;padding:2rem 1.6rem !important;border-radius:16px !important;box-shadow:0 8px 24px rgba(10,18,9,.07),0 2px 6px rgba(10,18,9,.04) !important;border:1px solid rgba(10,18,9,.05) !important;position:relative !important;overflow:visible !important;transition:all .35s cubic-bezier(.4,0,.2,1) !important;text-align:left !important;display:flex !important;flex-direction:column !important;height:100% !important}
.process-section .process-step:hover{background:#ffffff !important;transform:translateY(-6px);box-shadow:0 20px 48px rgba(10,18,9,.12),0 4px 14px rgba(10,18,9,.06) !important;border-color:rgba(13,74,13,.15) !important}
/* Top colored accent bar per step */
.process-section .process-step::before{content:'' !important;position:absolute !important;top:0 !important;left:0 !important;right:0 !important;height:4px !important;border-radius:16px 16px 0 0 !important;background:linear-gradient(90deg,#0d4a0d,#1B5E20) !important;font-size:0 !important}
.process-section .process-step:nth-child(2)::before{background:linear-gradient(90deg,#F5A623,#d4a855) !important}
.process-section .process-step:nth-child(3)::before{background:linear-gradient(90deg,#0d4a0d,#F5A623) !important}
.process-section .process-step:nth-child(4)::before{background:linear-gradient(90deg,#c04a3f,#F5A623) !important}
/* Step number pill */
.process-section .process-step .process-step-num{display:inline-block !important;padding:.32rem .85rem !important;background:rgba(13,74,13,.08) !important;border-radius:100px !important;color:#0d4a0d !important;font-size:.62rem !important;letter-spacing:.2em !important;text-transform:uppercase !important;font-weight:800 !important;margin:.25rem 0 1rem 0 !important;align-self:flex-start}
.process-section .process-step:nth-child(2) .process-step-num{background:rgba(245,166,35,.14) !important;color:#b8770f !important}
.process-section .process-step:nth-child(3) .process-step-num{background:rgba(13,74,13,.08) !important;color:#0d4a0d !important}
.process-section .process-step:nth-child(4) .process-step-num{background:rgba(192,74,63,.1) !important;color:#c04a3f !important}
/* Icon — per-step color variation */
.process-section .process-step-icon{width:56px !important;height:56px !important;border-radius:12px !important;margin:0 0 1rem 0 !important;background:linear-gradient(135deg,rgba(13,74,13,.1),rgba(13,74,13,.04)) !important;border:1px solid rgba(13,74,13,.14) !important}
.process-section .process-step-icon svg{width:26px !important;height:26px !important;color:#0d4a0d !important}
.process-section .process-step:nth-child(2) .process-step-icon{background:linear-gradient(135deg,rgba(245,166,35,.14),rgba(245,166,35,.04)) !important;border-color:rgba(245,166,35,.2) !important}
.process-section .process-step:nth-child(2) .process-step-icon svg{color:#b8770f !important}
.process-section .process-step:nth-child(3) .process-step-icon{background:linear-gradient(135deg,rgba(13,74,13,.1),rgba(245,166,35,.06)) !important;border-color:rgba(13,74,13,.14) !important}
.process-section .process-step:nth-child(4) .process-step-icon{background:linear-gradient(135deg,rgba(192,74,63,.12),rgba(192,74,63,.03)) !important;border-color:rgba(192,74,63,.18) !important}
.process-section .process-step:nth-child(4) .process-step-icon svg{color:#c04a3f !important}
/* Title and description */
.process-section .process-step h3{font-size:1.15rem !important;color:var(--black) !important;margin-bottom:.5rem !important;font-weight:700 !important;line-height:1.25 !important;letter-spacing:-.015em}
.process-section .process-step p{font-size:.88rem !important;color:var(--gray-500) !important;line-height:1.6 !important;margin-bottom:.75rem;flex-grow:1}
/* Arrow between cards — visible gold circle */
.process-section .process-arrow{position:absolute !important;right:-16px !important;top:50% !important;transform:translateY(-50%) !important;width:32px !important;height:32px !important;background:#F5A623 !important;color:#fff !important;border-radius:50% !important;display:flex !important;align-items:center !important;justify-content:center !important;z-index:5 !important;box-shadow:0 6px 16px rgba(245,166,35,.45),0 2px 6px rgba(0,0,0,.1) !important;border:3px solid #fff !important}
.process-section .process-arrow svg{width:14px !important;height:14px !important;color:#fff !important;stroke-width:3 !important}
/* Remove BIG number decoration (redundant with STEP pill) */
.process-section .process-step:nth-child(1)::before,
.process-section .process-step:nth-child(2)::before,
.process-section .process-step:nth-child(3)::before,
.process-section .process-step:nth-child(4)::before{content:''}
/* Sample report link in step 3 */
.process-section .process-sample-link{display:inline-flex;align-items:center;gap:.35rem;font-size:.78rem;color:#0d4a0d;font-weight:700;text-decoration:none;padding:.42rem .75rem;background:rgba(13,74,13,.07);border-radius:6px;margin-top:auto;margin-bottom:0;transition:all .2s ease;align-self:flex-start}
.process-section .process-sample-link:hover{background:#0d4a0d;color:#fff}
.process-section .process-sample-link svg{width:13px;height:13px}
.process-section .section-label{color:#0d4a0d !important}
@media(max-width:900px){
  .process-section .process-arrow{display:none !important}
}


/* Fix 6 — Process-visual-break : photo hero-02-wide + overlay plus doux + plus de slogan */
.process-visual-break{margin:3rem auto 0 !important;max-width:1280px;min-height:180px !important;background-image:url('/hero-02-wide.jpg') !important;background-size:cover;background-position:center;border-radius:16px;position:relative;overflow:hidden;display:block !important;isolation:isolate;padding:0 !important}
.process-visual-break::before{background:rgba(13,74,13,.55) !important}

/* Fix 7 — Footer CTA compact */
.footer-cta{padding:1.25rem 0 !important}
.footer-cta::after{width:40px !important}

/* Fix 8 — Service pages svc-hero-highlight plus petite */
.svc-hero .svc-hero-inner{grid-template-columns:1.4fr 0.6fr !important;gap:2rem !important}
/* svc-hero-highlight — grid 2 colonnes (4 items en 2×2 au lieu de 4 lignes) */
.svc-hero-highlight{padding:.55rem .7rem .5rem !important;max-width:360px !important;width:fit-content;margin-left:auto;display:grid !important;grid-template-columns:auto auto !important;grid-template-rows:auto auto auto !important;gap:.2rem .6rem !important;border-radius:10px !important;background:linear-gradient(165deg,rgba(255,255,255,.99) 0%,rgba(253,249,236,.96) 100%) !important;border:1px solid rgba(255,255,255,.6) !important;box-shadow:0 10px 24px rgba(10,18,9,.16),0 2px 6px rgba(10,18,9,.05) !important;backdrop-filter:blur(8px);position:relative;overflow:hidden}
.svc-hero-highlight::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,#0d4a0d 0%,#F5A623 55%,#0d4a0d 100%);z-index:1}
.svc-hero-highlight::after{display:none !important}
.svc-hero-highlight h3{font-size:.46rem !important;letter-spacing:.18em !important;margin:0 !important;color:#F5A623 !important;font-weight:800 !important;display:inline-block !important;padding:.12rem .4rem !important;background:rgba(245,166,35,.12) !important;border:1px solid rgba(245,166,35,.25) !important;border-radius:100px !important;line-height:1 !important;grid-column:1/-1;justify-self:start;margin-bottom:.15rem !important}
.svc-hero-highlight-item{display:flex !important;gap:.25rem !important;padding:0 !important;border:none !important;align-items:flex-start !important}
.svc-hero-highlight-icon{width:14px !important;height:14px !important;border-radius:4px !important;background:linear-gradient(135deg,rgba(13,74,13,.14),rgba(245,166,35,.1)) !important;border:1px solid rgba(13,74,13,.2) !important;flex-shrink:0;margin-top:.08rem}
.svc-hero-highlight-icon svg{width:7px !important;height:7px !important;color:#0d4a0d !important;stroke-width:3.5 !important}
.svc-hero-highlight-item p{font-size:.58rem !important;line-height:1.25 !important;color:#4a5548 !important;margin:0}
.svc-hero-highlight-item strong{font-weight:800 !important;color:#0d4a0d !important}
@media(max-width:600px){.svc-hero-highlight{grid-template-columns:1fr !important}}

/* svc-hero-accred — premium redesign en 3 badges individuels */
.svc-hero-accred{display:flex !important;gap:.5rem !important;flex-wrap:wrap !important;margin-top:1.1rem !important;padding:0 !important;background:transparent !important;border:none !important;box-shadow:none !important;font-size:0 !important}
.svc-hero-accred picture{display:inline-flex;align-items:center;gap:.45rem;background:rgba(255,255,255,.95);border:1px solid rgba(10,18,9,.1);border-radius:8px;padding:.4rem .65rem;box-shadow:0 4px 12px rgba(10,18,9,.08);font-size:.72rem;color:#0d4a0d;font-weight:700;letter-spacing:.02em;transition:all .25s ease}
.svc-hero-accred picture:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(10,18,9,.12);border-color:rgba(245,166,35,.4)}
.svc-hero-accred picture img{height:24px !important;width:auto !important;border-radius:0 !important;padding:0 !important;flex-shrink:0}
.svc-hero-accred picture::after{font-size:.7rem;font-weight:800;color:#0d4a0d;letter-spacing:.06em;white-space:nowrap}
.svc-hero-accred picture:nth-of-type(1)::after{content:'ISO 17020'}
.svc-hero-accred picture:nth-of-type(2)::after{content:'ILAC-MRA'}
.svc-hero-accred picture:nth-of-type(3)::after{content:'EGAC'}
.svc-hero-accred > span{display:none !important}
.svc-hero[data-bg] .svc-hero-accred picture{background:rgba(255,255,255,.96) !important}
.svc-hero[data-bg] .svc-hero-accred picture::after{color:#0d4a0d !important}

/* Fix 9 — About Our Story full-screen width + overlay moins transparent */
.story-section[data-bg="story"]::before{background:rgba(255,255,255,.68) !important}
.story-section[data-bg="story"] .section-inner{max-width:1400px !important}
.story-section[data-bg="story"] .our-story-content{max-width:100% !important;width:100%;padding:2.25rem 2.5rem !important;margin:1rem 0 0 !important}
@media(max-width:768px){.story-section[data-bg="story"] .our-story-content{padding:1.5rem 1.25rem !important}}

/* Fix 10 — MVV section "Who We Are" reçoit le bg team-collab */
.mvv-section[data-bg="team-collab"]{position:relative;isolation:isolate;background:url('/team-collab.jpg') center/cover no-repeat !important;overflow:hidden}
.mvv-section[data-bg="team-collab"]::before{content:'' !important;position:absolute !important;top:0 !important;right:0 !important;bottom:0 !important;left:0 !important;border-radius:0 !important;background:rgba(13,74,13,.85) !important;z-index:0 !important;pointer-events:none !important;opacity:1 !important;background-image:none !important}
.mvv-section[data-bg="team-collab"] > *{position:relative;z-index:1}

/* Phase 5 — Footer CTA home "Speak to our adviser" avec même photo bg */
.footer-cta[data-bg="adviser"]{position:relative;isolation:isolate;overflow:hidden;background:url('/team-inspectors-wide.jpg') center/cover no-repeat !important}
.footer-cta[data-bg="adviser"]::before{content:'' !important;position:absolute !important;top:0 !important;right:0 !important;bottom:0 !important;left:0 !important;background:linear-gradient(135deg,rgba(13,74,13,.9) 0%,rgba(27,94,32,.78) 50%,rgba(7,46,7,.94) 100%) !important;z-index:0 !important;opacity:1 !important;pointer-events:none}
.footer-cta[data-bg="adviser"]::after{display:none !important}
.footer-cta[data-bg="adviser"] > *{position:relative;z-index:1}
.footer-cta[data-bg="adviser"] p{color:#fff !important}

/* ================================================
   FAQ v2 — Premium redesign (Phase 5)
   ================================================ */
.faq-header-v2{padding-top:4.5rem !important;padding-bottom:3rem !important}
.faq-header-v2 .page-header-inner{text-align:center;max-width:800px;margin:0 auto}
.faq-header-v2 h1{font-size:clamp(2rem,4vw,3rem) !important;font-weight:800 !important;letter-spacing:-.02em !important;margin:.8rem 0 !important}
.faq-header-v2 p{font-size:1rem !important}

.faq-section-v2{background:#edf4e8;background-image:radial-gradient(circle,rgba(26,107,26,.22) 1.4px,transparent 1.4px),radial-gradient(circle,rgba(245,166,35,.16) .9px,transparent .9px),linear-gradient(45deg,transparent 49%,rgba(26,107,26,.04) 49.5%,rgba(26,107,26,.04) 50.5%,transparent 51%);background-size:36px 36px,18px 18px,6px 6px;background-position:0 0,9px 9px,0 0;padding:4.5rem 5% !important;position:relative;overflow:hidden}
.faq-section-v2::before{content:'';position:absolute;top:-10%;right:-6%;width:500px;height:500px;border-radius:50%;background:radial-gradient(circle,rgba(245,166,35,.12) 0%,transparent 60%);pointer-events:none;z-index:0}
.faq-section-v2::after{content:'';position:absolute;bottom:-10%;left:-6%;width:440px;height:440px;border-radius:50%;background:radial-gradient(circle,rgba(26,107,26,.1) 0%,transparent 60%);pointer-events:none;z-index:0}
.faq-section-v2 > *{position:relative;z-index:1}

.faq-wrap-v2{max-width:820px;margin:0 auto}

.faq-category-v2{margin:2.5rem 0 1.1rem;padding-left:.2rem;display:flex;align-items:center;gap:1rem}
.faq-category-v2:first-child{margin-top:0}
.faq-category-v2::after{content:'';flex:1;height:1px;background:linear-gradient(90deg,rgba(13,74,13,.2) 0%,transparent 100%)}
.faq-cat-label{display:inline-flex;align-items:center;gap:.55rem;font-size:.7rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:#0d4a0d;padding:.45rem .95rem;background:rgba(13,74,13,.08);border-radius:100px;border:1px solid rgba(13,74,13,.15);box-shadow:0 2px 8px rgba(13,74,13,.06)}
.faq-category-v2:nth-of-type(2) .faq-cat-label{color:#b8770f;background:rgba(245,166,35,.12);border-color:rgba(245,166,35,.22);box-shadow:0 2px 8px rgba(245,166,35,.1)}
.faq-category-v2:nth-of-type(3) .faq-cat-label{color:#c04a3f;background:rgba(192,74,63,.08);border-color:rgba(192,74,63,.2);box-shadow:0 2px 8px rgba(192,74,63,.08)}
.faq-category-v2:nth-of-type(2)::after{background:linear-gradient(90deg,rgba(245,166,35,.22) 0%,transparent 100%)}
.faq-category-v2:nth-of-type(3)::after{background:linear-gradient(90deg,rgba(192,74,63,.2) 0%,transparent 100%)}
.faq-cat-dot{width:8px;height:8px;border-radius:50%;background:currentColor;box-shadow:0 0 0 3px currentColor;opacity:.95}
.faq-category-v2 .faq-cat-dot{opacity:1}
.faq-cat-dot{box-shadow:0 0 0 3px rgba(13,74,13,.15)}

.faq-item-v2{background:#ffffff;border:1px solid rgba(10,18,9,.1);border-radius:14px;margin-bottom:.85rem;overflow:hidden;box-shadow:0 10px 28px rgba(13,74,13,.1),0 2px 6px rgba(13,74,13,.05);transition:all .35s cubic-bezier(.4,0,.2,1);position:relative}
.faq-item-v2::before{content:'';position:absolute;top:0;left:0;bottom:0;width:4px;background:transparent;transition:background .35s ease}
.faq-item-v2::after{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent 0%,rgba(245,166,35,.6) 50%,transparent 100%);opacity:0;transition:opacity .35s ease}
.faq-item-v2:hover{border-color:rgba(13,74,13,.3);box-shadow:0 18px 40px rgba(13,74,13,.14),0 4px 10px rgba(13,74,13,.08);transform:translateY(-3px)}
.faq-item-v2:hover .faq-q-num{background:linear-gradient(135deg,rgba(13,74,13,.15) 0%,rgba(245,166,35,.15) 100%);border-color:rgba(13,74,13,.2)}
.faq-item-v2.open{box-shadow:0 24px 52px rgba(13,74,13,.18),0 6px 14px rgba(13,74,13,.1);border-color:rgba(13,74,13,.4);transform:translateY(-3px)}
.faq-item-v2.open::before{background:linear-gradient(180deg,#0d4a0d 0%,#F5A623 100%)}
.faq-item-v2.open::after{opacity:1}

.faq-question-v2{width:100%;display:flex;align-items:center;gap:1rem;padding:1.2rem 1.3rem;background:transparent;border:none;cursor:pointer;text-align:left;font-family:inherit;transition:all .3s ease;position:relative}
.faq-question-v2:hover{background:rgba(13,74,13,.02)}
.faq-question-v2:hover h3{color:#0d4a0d}
.faq-q-num{display:inline-flex;align-items:center;justify-content:center;min-width:46px;height:34px;padding:0 .65rem;background:linear-gradient(135deg,rgba(13,74,13,.08) 0%,rgba(245,166,35,.08) 100%);color:#0d4a0d;font-family:var(--font-display);font-size:.74rem;font-weight:800;letter-spacing:.04em;border-radius:8px;flex-shrink:0;border:1px solid rgba(13,74,13,.1);transition:all .35s cubic-bezier(.4,0,.2,1)}
.faq-item-v2.open .faq-q-num{background:linear-gradient(135deg,#0d4a0d 0%,#1B5E20 100%) !important;color:#fff !important;border-color:#0d4a0d !important;box-shadow:0 4px 12px rgba(13,74,13,.25);transform:scale(1.05)}
.faq-question-v2 h3{flex:1;font-family:var(--font-display);font-size:1.05rem;font-weight:700;color:var(--black);letter-spacing:-.01em;line-height:1.35;margin:0;transition:color .3s ease}
.faq-item-v2.open .faq-question-v2 h3{color:#0d4a0d}
.faq-toggle-v2{flex-shrink:0;width:36px;height:36px;border-radius:50%;background:rgba(13,74,13,.08);display:flex;align-items:center;justify-content:center;color:#0d4a0d;transition:all .35s cubic-bezier(.4,0,.2,1);border:1px solid transparent}
.faq-item-v2:hover .faq-toggle-v2{background:rgba(13,74,13,.12);border-color:rgba(13,74,13,.15)}
.faq-toggle-v2 svg{width:14px;height:14px;transition:transform .4s cubic-bezier(.4,0,.2,1)}
.faq-item-v2.open .faq-toggle-v2{background:linear-gradient(135deg,#0d4a0d 0%,#1B5E20 100%);color:#fff;border-color:#0d4a0d;box-shadow:0 4px 12px rgba(13,74,13,.3)}
.faq-item-v2.open .faq-toggle-v2 svg{transform:rotate(135deg)}

.faq-answer-v2{max-height:0;overflow:hidden;transition:max-height .45s cubic-bezier(.4,0,.2,1)}
.faq-item-v2.open .faq-answer-v2{max-height:600px}
.faq-answer-inner-v2{padding:.5rem 1.3rem 1.5rem calc(46px + 1rem + 1.3rem);font-size:.95rem;color:var(--gray-600);line-height:1.7;position:relative}
.faq-answer-inner-v2::before{content:'';position:absolute;top:0;left:calc(1.3rem + 10px);right:1.3rem;height:1px;background:linear-gradient(90deg,rgba(13,74,13,.15) 0%,rgba(245,166,35,.15) 30%,transparent 100%)}
.faq-item-v2.open .faq-answer-inner-v2{animation:faqAnswerSlide .5s cubic-bezier(.4,0,.2,1)}
@keyframes faqAnswerSlide{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}

@media(max-width:600px){
  .faq-question-v2{padding:1rem .9rem;gap:.7rem}
  .faq-q-num{min-width:40px;height:28px;font-size:.65rem}
  .faq-question-v2 h3{font-size:.92rem}
  .faq-answer-inner-v2{padding-left:calc(40px + .7rem + .9rem);padding-right:.9rem}
}

/* Category labels premium gradient */
.faq-category-v2 .faq-cat-label{background:linear-gradient(135deg,rgba(13,74,13,.14) 0%,rgba(13,74,13,.06) 100%) !important;border:1px solid rgba(13,74,13,.25) !important;color:#0d4a0d !important;box-shadow:0 4px 14px rgba(13,74,13,.12) !important}
.faq-category-v2:nth-of-type(2) .faq-cat-label{background:linear-gradient(135deg,rgba(245,166,35,.22) 0%,rgba(245,166,35,.1) 100%) !important;border-color:rgba(245,166,35,.4) !important;color:#b8770f !important;box-shadow:0 4px 14px rgba(245,166,35,.2) !important}
.faq-category-v2:nth-of-type(3) .faq-cat-label{background:linear-gradient(135deg,rgba(192,74,63,.18) 0%,rgba(192,74,63,.06) 100%) !important;border-color:rgba(192,74,63,.35) !important;color:#c04a3f !important;box-shadow:0 4px 14px rgba(192,74,63,.15) !important}

/* Default colored left-border permanent pour chaque card selon catégorie */
/* Cat 1 — vert */
.faq-wrap-v2 .faq-item-v2:nth-child(2),
.faq-wrap-v2 .faq-item-v2:nth-child(3),
.faq-wrap-v2 .faq-item-v2:nth-child(4){border-left:4px solid rgba(13,74,13,.5) !important}
.faq-wrap-v2 .faq-item-v2:nth-child(2):hover,
.faq-wrap-v2 .faq-item-v2:nth-child(3):hover,
.faq-wrap-v2 .faq-item-v2:nth-child(4):hover{border-left-color:#0d4a0d !important;box-shadow:0 18px 40px rgba(13,74,13,.2),0 4px 10px rgba(13,74,13,.1) !important}
/* Cat 2 — gold */
.faq-wrap-v2 .faq-item-v2:nth-child(6),
.faq-wrap-v2 .faq-item-v2:nth-child(7),
.faq-wrap-v2 .faq-item-v2:nth-child(8){border-left:4px solid rgba(245,166,35,.6) !important}
.faq-wrap-v2 .faq-item-v2:nth-child(6):hover,
.faq-wrap-v2 .faq-item-v2:nth-child(7):hover,
.faq-wrap-v2 .faq-item-v2:nth-child(8):hover{border-left-color:#F5A623 !important;box-shadow:0 18px 40px rgba(245,166,35,.22),0 4px 10px rgba(245,166,35,.12) !important}
/* Cat 3 — rouge */
.faq-wrap-v2 .faq-item-v2:nth-child(10),
.faq-wrap-v2 .faq-item-v2:nth-child(11){border-left:4px solid rgba(192,74,63,.55) !important}
.faq-wrap-v2 .faq-item-v2:nth-child(10):hover,
.faq-wrap-v2 .faq-item-v2:nth-child(11):hover{border-left-color:#c04a3f !important;box-shadow:0 18px 40px rgba(192,74,63,.22),0 4px 10px rgba(192,74,63,.12) !important}

/* Answer background color-tinted per category */
.faq-wrap-v2 .faq-item-v2:nth-child(2) .faq-answer-inner-v2,
.faq-wrap-v2 .faq-item-v2:nth-child(3) .faq-answer-inner-v2,
.faq-wrap-v2 .faq-item-v2:nth-child(4) .faq-answer-inner-v2{background:linear-gradient(180deg,rgba(13,74,13,.03) 0%,transparent 100%)}
.faq-wrap-v2 .faq-item-v2:nth-child(6) .faq-answer-inner-v2,
.faq-wrap-v2 .faq-item-v2:nth-child(7) .faq-answer-inner-v2,
.faq-wrap-v2 .faq-item-v2:nth-child(8) .faq-answer-inner-v2{background:linear-gradient(180deg,rgba(245,166,35,.05) 0%,transparent 100%)}
.faq-wrap-v2 .faq-item-v2:nth-child(10) .faq-answer-inner-v2,
.faq-wrap-v2 .faq-item-v2:nth-child(11) .faq-answer-inner-v2{background:linear-gradient(180deg,rgba(192,74,63,.04) 0%,transparent 100%)}

/* Color-coding par catégorie FAQ */
/* Cat 1 = Coverage (green) — items 2,3,4 */
.faq-wrap-v2 .faq-item-v2:nth-child(2) .faq-q-num,
.faq-wrap-v2 .faq-item-v2:nth-child(3) .faq-q-num,
.faq-wrap-v2 .faq-item-v2:nth-child(4) .faq-q-num{background:linear-gradient(135deg,rgba(13,74,13,.12) 0%,rgba(13,74,13,.06) 100%);color:#0d4a0d;border-color:rgba(13,74,13,.18)}
.faq-wrap-v2 .faq-item-v2:nth-child(2).open::before,
.faq-wrap-v2 .faq-item-v2:nth-child(3).open::before,
.faq-wrap-v2 .faq-item-v2:nth-child(4).open::before{background:linear-gradient(180deg,#0d4a0d 0%,#1B5E20 100%) !important}
/* Cat 2 = Quality (gold) — items 6,7,8 */
.faq-wrap-v2 .faq-item-v2:nth-child(6) .faq-q-num,
.faq-wrap-v2 .faq-item-v2:nth-child(7) .faq-q-num,
.faq-wrap-v2 .faq-item-v2:nth-child(8) .faq-q-num{background:linear-gradient(135deg,rgba(245,166,35,.18) 0%,rgba(245,166,35,.08) 100%) !important;color:#b8770f !important;border-color:rgba(245,166,35,.28) !important}
.faq-wrap-v2 .faq-item-v2:nth-child(6).open .faq-q-num,
.faq-wrap-v2 .faq-item-v2:nth-child(7).open .faq-q-num,
.faq-wrap-v2 .faq-item-v2:nth-child(8).open .faq-q-num{background:linear-gradient(135deg,#F5A623 0%,#d4a855 100%) !important;color:#fff !important;border-color:#F5A623 !important;box-shadow:0 4px 12px rgba(245,166,35,.3)}
.faq-wrap-v2 .faq-item-v2:nth-child(6).open::before,
.faq-wrap-v2 .faq-item-v2:nth-child(7).open::before,
.faq-wrap-v2 .faq-item-v2:nth-child(8).open::before{background:linear-gradient(180deg,#F5A623 0%,#d4a855 100%) !important}
.faq-wrap-v2 .faq-item-v2:nth-child(6).open .faq-toggle-v2,
.faq-wrap-v2 .faq-item-v2:nth-child(7).open .faq-toggle-v2,
.faq-wrap-v2 .faq-item-v2:nth-child(8).open .faq-toggle-v2{background:linear-gradient(135deg,#F5A623 0%,#d4a855 100%) !important;border-color:#F5A623 !important;box-shadow:0 4px 12px rgba(245,166,35,.3) !important}
.faq-wrap-v2 .faq-item-v2:nth-child(6).open .faq-question-v2 h3,
.faq-wrap-v2 .faq-item-v2:nth-child(7).open .faq-question-v2 h3,
.faq-wrap-v2 .faq-item-v2:nth-child(8).open .faq-question-v2 h3{color:#b8770f !important}
/* Cat 3 = Process (red) — items 10,11 */
.faq-wrap-v2 .faq-item-v2:nth-child(10) .faq-q-num,
.faq-wrap-v2 .faq-item-v2:nth-child(11) .faq-q-num{background:linear-gradient(135deg,rgba(192,74,63,.14) 0%,rgba(192,74,63,.06) 100%) !important;color:#c04a3f !important;border-color:rgba(192,74,63,.22) !important}
.faq-wrap-v2 .faq-item-v2:nth-child(10).open .faq-q-num,
.faq-wrap-v2 .faq-item-v2:nth-child(11).open .faq-q-num{background:linear-gradient(135deg,#c04a3f 0%,#a03a31 100%) !important;color:#fff !important;border-color:#c04a3f !important;box-shadow:0 4px 12px rgba(192,74,63,.3)}
.faq-wrap-v2 .faq-item-v2:nth-child(10).open::before,
.faq-wrap-v2 .faq-item-v2:nth-child(11).open::before{background:linear-gradient(180deg,#c04a3f 0%,#F5A623 100%) !important}
.faq-wrap-v2 .faq-item-v2:nth-child(10).open .faq-toggle-v2,
.faq-wrap-v2 .faq-item-v2:nth-child(11).open .faq-toggle-v2{background:linear-gradient(135deg,#c04a3f 0%,#a03a31 100%) !important;border-color:#c04a3f !important;box-shadow:0 4px 12px rgba(192,74,63,.3) !important}
.faq-wrap-v2 .faq-item-v2:nth-child(10).open .faq-question-v2 h3,
.faq-wrap-v2 .faq-item-v2:nth-child(11).open .faq-question-v2 h3{color:#c04a3f !important}

/* FAQ v2 inline-cta final "Still have questions?" — photo bg premium */
body .faq-section-v2 + .inline-cta,
.faq-section-v2 ~ .inline-cta{padding:3.5rem 5% !important;background:url('/team-inspectors-wide.jpg') center/cover no-repeat !important;position:relative;isolation:isolate;overflow:hidden}
.faq-section-v2 ~ .inline-cta::before{content:'' !important;position:absolute !important;top:0 !important;right:0 !important;bottom:0 !important;left:0 !important;width:100% !important;height:100% !important;background:linear-gradient(135deg,rgba(13,74,13,.88) 0%,rgba(27,94,32,.74) 50%,rgba(7,46,7,.92) 100%) !important;pointer-events:none;opacity:1 !important;z-index:0}
.faq-section-v2 ~ .inline-cta .inline-cta-inner{position:relative;z-index:1}
.faq-section-v2 ~ .inline-cta .inline-cta-inner::before{content:'💬';display:block;font-size:1.8rem;margin-bottom:.5rem}
.faq-section-v2 ~ .inline-cta p{font-size:1.1rem !important;font-weight:600 !important;color:#fff !important;margin-bottom:1.25rem !important}
.faq-section-v2 ~ .inline-cta .btn{background:#F5A623 !important;color:#0d4a0d !important;font-weight:800 !important;padding:.9rem 1.8rem !important;font-size:.95rem !important;box-shadow:0 10px 24px rgba(245,166,35,.35) !important}
.faq-section-v2 ~ .inline-cta .btn:hover{background:#fff !important;transform:translateY(-2px);box-shadow:0 14px 32px rgba(0,0,0,.25) !important}

/* Phase 5 — Team cards premium redesign */
.section--team{background:#fcfdfa !important;background-image:radial-gradient(circle,rgba(26,107,26,.12) 1.2px,transparent 1.2px) !important;background-size:24px 24px !important;padding-top:5rem !important;padding-bottom:5rem !important;position:relative;overflow:hidden}
.section--team::before{content:'';position:absolute;top:-10%;right:-6%;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(245,166,35,.12) 0%,transparent 65%);pointer-events:none;z-index:0}
.section--team::after{content:'';position:absolute;bottom:-10%;left:-6%;width:440px;height:440px;border-radius:50%;background:radial-gradient(circle,rgba(26,107,26,.1) 0%,transparent 65%);pointer-events:none;z-index:0}
.section--team > *{position:relative;z-index:1}
.section--team .team-grid{gap:1.5rem !important}

/* Card styling premium */
.section--team .team-card{background:#ffffff !important;border:1px solid rgba(10,18,9,.06) !important;border-radius:18px !important;box-shadow:0 10px 28px rgba(10,18,9,.07),0 2px 6px rgba(10,18,9,.04) !important;transition:all .4s cubic-bezier(.4,0,.2,1) !important;position:relative;overflow:hidden}
/* Top accent bar per card */
.section--team .team-card::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#0d4a0d 0%,#1B5E20 100%);z-index:2;border-radius:18px 18px 0 0}
.section--team .team-card:nth-child(2)::before{background:linear-gradient(90deg,#F5A623 0%,#d4a855 100%)}
.section--team .team-card:nth-child(3)::before{background:linear-gradient(90deg,#c04a3f 0%,#F5A623 100%)}
.section--team .team-card:nth-child(4)::before{background:linear-gradient(90deg,#0d4a0d 0%,#F5A623 100%)}
/* Hover */
.section--team .team-card:hover{transform:translateY(-8px) !important;box-shadow:0 24px 54px rgba(10,18,9,.14),0 6px 16px rgba(10,18,9,.08) !important;border-color:rgba(245,166,35,.35) !important}
/* Image */
.section--team .team-card-img{aspect-ratio:1/1 !important;height:auto !important;position:relative;overflow:hidden}
.section--team .team-card-img img{object-position:center center !important;width:100% !important;height:100% !important;object-fit:cover !important;transform:none !important}
.section--team .team-card-img::after{content:'';position:absolute !important;inset:0 !important;background:linear-gradient(180deg,transparent 55%,rgba(13,74,13,.7) 100%) !important;opacity:.6 !important;transition:opacity .4s ease}
.section--team .team-card:hover .team-card-img::after{opacity:.85 !important}
.section--team .team-card:hover .team-card-img img{transform:scale(1.08) !important}
/* Body */
.section--team .team-card-body{padding:1.5rem 1.4rem 1.6rem !important}
.section--team .team-card-body h3{font-size:1.2rem !important;font-weight:800 !important;color:var(--black) !important;margin-bottom:.3rem !important;letter-spacing:-.01em}
/* Role badge */
.section--team .team-role{display:inline-block !important;padding:.3rem .75rem !important;background:rgba(13,74,13,.08) !important;border-radius:100px !important;color:#0d4a0d !important;font-size:.68rem !important;letter-spacing:.16em !important;text-transform:uppercase !important;font-weight:800 !important;margin-bottom:.9rem !important}
.section--team .team-card:nth-child(2) .team-role{background:rgba(245,166,35,.14) !important;color:#b8770f !important}
.section--team .team-card:nth-child(3) .team-role{background:rgba(192,74,63,.1) !important;color:#c04a3f !important}
.section--team .team-card:nth-child(4) .team-role{background:rgba(13,74,13,.08) !important;color:#0d4a0d !important}
/* Description */
.section--team .team-card-body p{font-size:.88rem !important;color:var(--gray-500) !important;line-height:1.6 !important;margin-bottom:0}

/* Phase 5 — Request an Inspection CTA avec photo bg */
.svc-cta[data-bg="request-inspection"]{position:relative;isolation:isolate;overflow:hidden;background:url('/team-inspectors-wide.jpg') center/cover no-repeat !important}
.svc-cta[data-bg="request-inspection"]::before{content:'' !important;position:absolute !important;top:0 !important;right:0 !important;bottom:0 !important;left:0 !important;width:auto !important;height:auto !important;border-radius:0 !important;background:linear-gradient(135deg,rgba(13,74,13,.88) 0%,rgba(27,94,32,.72) 50%,rgba(7,46,7,.92) 100%) !important;z-index:0 !important;opacity:1 !important;background-image:linear-gradient(135deg,rgba(13,74,13,.88) 0%,rgba(27,94,32,.72) 50%,rgba(7,46,7,.92) 100%) !important}
.svc-cta[data-bg="request-inspection"]::after{display:none !important}
.svc-cta[data-bg="request-inspection"] > *{position:relative;z-index:1}

/* Phase 5 — MVV title "Who We Are" en gold premium */
.mvv-section[data-bg="team-collab"] .mvv-main-title{color:#F5A623 !important;font-size:clamp(2.4rem,4.8vw,3.6rem) !important;font-weight:800 !important;letter-spacing:-.02em !important;margin:0 auto 3rem !important;text-align:center;position:relative;display:block;padding-bottom:0 !important;border-bottom:none !important;text-shadow:0 2px 20px rgba(245,166,35,.15)}
.mvv-section[data-bg="team-collab"] .mvv-main-title::after{display:none !important}
.mvv-section[data-bg="team-collab"] .mvv-main-title::before{display:none !important}

/* Phase 5 — MVV cards PREMIUM RUSH : accent bars, numbered badges, icons, hover 3D */
.mvv-section[data-bg="team-collab"] .mvv-grid{gap:1.75rem !important}
.mvv-section[data-bg="team-collab"] .mvv-card{background:rgba(255,255,255,.97) !important;border:1px solid rgba(255,255,255,.5) !important;border-radius:18px !important;padding:2.25rem 1.75rem 2rem !important;box-shadow:0 18px 42px rgba(0,0,0,.25),0 3px 10px rgba(0,0,0,.12) !important;transition:all .4s cubic-bezier(.4,0,.2,1) !important;position:relative !important;overflow:hidden !important;backdrop-filter:blur(8px)}
/* Top accent bar per card */
.mvv-section[data-bg="team-collab"] .mvv-card::before{content:'' !important;position:absolute !important;top:0 !important;left:0 !important;right:0 !important;height:5px !important;border-radius:18px 18px 0 0 !important;background:linear-gradient(90deg,#0d4a0d 0%,#1B5E20 100%) !important;opacity:1 !important;z-index:1}
.mvv-section[data-bg="team-collab"] .mvv-card:nth-child(1)::before{background:linear-gradient(90deg,#0d4a0d 0%,#1B5E20 100%) !important}
.mvv-section[data-bg="team-collab"] .mvv-card:nth-child(2)::before{background:linear-gradient(90deg,#F5A623 0%,#d4a855 100%) !important}
.mvv-section[data-bg="team-collab"] .mvv-card:nth-child(3)::before{background:linear-gradient(90deg,#c04a3f 0%,#F5A623 100%) !important}
/* Numbered badge in top-right */
.mvv-section[data-bg="team-collab"] .mvv-card::after{content:'01';position:absolute;top:1.2rem;right:1.3rem;width:36px;height:36px;border-radius:50%;background:rgba(13,74,13,.08);color:#0d4a0d;font-family:var(--font-display);font-size:.82rem;font-weight:800;display:flex;align-items:center;justify-content:center;letter-spacing:.02em;border:1px solid rgba(13,74,13,.15);z-index:2}
.mvv-section[data-bg="team-collab"] .mvv-card:nth-child(2)::after{content:'02';background:rgba(245,166,35,.12);color:#b8770f;border-color:rgba(245,166,35,.2)}
.mvv-section[data-bg="team-collab"] .mvv-card:nth-child(3)::after{content:'03';background:rgba(192,74,63,.1);color:#c04a3f;border-color:rgba(192,74,63,.2)}
/* Hover premium */
.mvv-section[data-bg="team-collab"] .mvv-card:hover{background:#ffffff !important;transform:translateY(-6px) !important;box-shadow:0 30px 60px rgba(0,0,0,.32),0 6px 16px rgba(0,0,0,.16),0 0 0 1px rgba(245,166,35,.3) !important;border-color:rgba(245,166,35,.55) !important}
.mvv-section[data-bg="team-collab"] .mvv-card:hover::before{height:6px !important}
/* Title : bigger, accent underline */
.mvv-section[data-bg="team-collab"] .mvv-card h3{color:#0d4a0d !important;font-size:1.4rem !important;font-weight:800 !important;margin:.8rem 0 1rem 0 !important;padding-bottom:.6rem;border-bottom:2px solid rgba(245,166,35,.25);letter-spacing:-.01em;display:inline-block}
.mvv-section[data-bg="team-collab"] .mvv-card:nth-child(2) h3{color:#b8770f !important}
.mvv-section[data-bg="team-collab"] .mvv-card:nth-child(3) h3{color:#c04a3f !important}
/* Description / paragraph */
.mvv-section[data-bg="team-collab"] .mvv-card p{color:#4a5548 !important;font-size:.95rem !important;line-height:1.7 !important;margin:0}
/* Values list (card 3) : custom bullets */
.mvv-section[data-bg="team-collab"] .mvv-card ul{list-style:none;display:flex;flex-direction:column;gap:.75rem;padding:0;margin:0}
.mvv-section[data-bg="team-collab"] .mvv-card li{color:#4a5548 !important;font-size:.9rem !important;line-height:1.55 !important;padding:.55rem .8rem .55rem 2.2rem !important;position:relative;background:linear-gradient(90deg,rgba(245,166,35,.07) 0%,transparent 100%);border-radius:8px;border-left:2px solid rgba(245,166,35,.4)}
.mvv-section[data-bg="team-collab"] .mvv-card li::before{content:'✓' !important;position:absolute !important;left:.7rem !important;top:50% !important;transform:translateY(-50%) !important;width:auto !important;height:auto !important;border-radius:0 !important;background:none !important;color:#F5A623 !important;font-weight:900 !important;font-size:1rem !important;line-height:1}
.mvv-section[data-bg="team-collab"] .mvv-card li strong{color:#0d4a0d !important;font-weight:700}
/* Small deco — corner element */
.mvv-section[data-bg="team-collab"] .mvv-card > *{position:relative;z-index:2}

/* Fix 11 — FAQ : photo RETOUR sur le page-header, RETIRÉE de la section questions */
.page-header[data-bg="faq-ambiance"]{position:relative;isolation:isolate;overflow:hidden;padding-top:4rem !important;padding-bottom:2rem !important;background:url('/faq-ambiance.jpg') center/cover no-repeat}
.page-header[data-bg="faq-ambiance"]::before{content:'' !important;position:absolute !important;top:0 !important;right:0 !important;bottom:0 !important;left:0 !important;width:100% !important;height:100% !important;border-radius:0 !important;background:rgba(13,74,13,.82) !important;z-index:0 !important;pointer-events:none !important;opacity:1 !important}
.page-header[data-bg="faq-ambiance"] > *{position:relative;z-index:1}
.page-header[data-bg="faq-ambiance"]::after{display:none !important}
.page-header[data-bg="faq-ambiance"] h1{color:#fff !important;font-size:clamp(1.8rem,3.5vw,2.4rem) !important;margin:.5rem 0 .5rem !important}
.page-header[data-bg="faq-ambiance"] p{color:rgba(255,255,255,.88) !important;font-size:.95rem !important;margin:0 !important}
.page-header[data-bg="faq-ambiance"] .breadcrumb,
.page-header[data-bg="faq-ambiance"] .breadcrumb a{color:rgba(255,255,255,.82) !important}
.page-header[data-bg="faq-ambiance"] .breadcrumb span{color:#F5A623 !important}
.page-header[data-bg="faq-ambiance"] .page-header-tag{background:rgba(245,166,35,.18) !important;border:1px solid rgba(245,166,35,.4) !important;color:#F5A623 !important;margin-bottom:.5rem !important}
.page-header[data-bg="faq-ambiance"] .page-header-deco{opacity:.1;color:#fff}
/* reset FAQ section (pas de bg photo sur les accordions) */
.faq-section{background:var(--gray-50);background-image:var(--dot-pattern);background-size:24px 24px}

/* Fix 12 — Contact icons carrés blancs */
.contact-hero[data-bg="contact-ambiance"] .contact-info-icon{background:#ffffff !important;border:1px solid rgba(255,255,255,.8) !important;color:#0d4a0d !important;box-shadow:0 4px 12px rgba(10,18,9,.15)}
.contact-hero[data-bg="contact-ambiance"] .contact-info-icon svg{color:#0d4a0d !important}

/* =====================================================
   PHASE 7 — GROS CHANTIER MOBILE (v121)
   Touche UNIQUEMENT les écrans mobiles, PC intact.
   Breakpoints: 900 / 768 / 600 / 480 / 380.
   ===================================================== */

/* --- Disable decorative glow pseudo-circles on mobile (overflow invisible but coûte en GPU) --- */
@media(max-width:900px){
  .hero::after,
  .cta-final::after,
  .services-section::before,
  .services-section::after,
  .why-egypt-section::before,
  .why-egypt-section::after,
  .process-section::before,
  .process-section::after,
  .guarantees-section::before,
  .guarantees-section::after{display:none !important}
}

/* ===== svc-hero : CRITICAL FIX page-header-deco qui cassait la largeur du H1 ===== */
@media(max-width:900px){
  .svc-hero,.svc-hero[data-bg]{flex-direction:column !important;min-height:auto !important;padding:5.5rem 5% 2.5rem !important}
  .svc-hero .svc-hero-inner,.svc-hero[data-bg] .svc-hero-inner{width:100% !important;max-width:100% !important}
  .svc-hero .page-header-deco,.svc-hero[data-bg] .page-header-deco{display:none !important}
  .svc-hero h1,.svc-hero[data-bg] h1{font-size:clamp(2rem,7.5vw,2.8rem) !important;line-height:1.1 !important;margin-top:.5rem !important;max-width:100% !important;letter-spacing:-.02em !important}
  .svc-hero .svc-hero-tagline,.svc-hero[data-bg] .svc-hero-tagline{font-size:clamp(1rem,3.5vw,1.2rem) !important;line-height:1.4 !important;margin-bottom:1rem !important}
  .svc-hero .svc-hero-inner > div > p,.svc-hero[data-bg] .svc-hero-inner > div > p{font-size:.92rem !important;line-height:1.55 !important;max-width:100% !important;margin-bottom:1rem !important}
  .svc-hero .breadcrumb,.svc-hero[data-bg] .breadcrumb{font-size:.78rem !important;flex-wrap:wrap !important;line-height:1.4 !important}
  .svc-hero .svc-hero-highlight,.svc-hero[data-bg] .svc-hero-highlight{grid-template-columns:1fr 1fr !important;gap:.65rem !important;padding:.9rem !important;margin:1rem 0 !important}
  .svc-hero .svc-hero-highlight-item{padding:.5rem !important}
  .svc-hero .svc-hero-highlight-icon{width:32px !important;height:32px !important}
  .svc-hero .svc-hero-highlight h3{font-size:.78rem !important}
  .svc-hero .svc-hero-highlight p,.svc-hero .svc-hero-highlight strong{font-size:.7rem !important;line-height:1.3 !important}
  .svc-hero .svc-hero-accred,.svc-hero[data-bg] .svc-hero-accred{font-size:.72rem !important;flex-wrap:wrap !important;gap:.4rem !important;justify-content:flex-start !important}
  .svc-hero .svc-hero-cta,.svc-hero .btn,.svc-hero[data-bg] .btn{width:100% !important;max-width:320px !important;text-align:center !important;padding:.9rem 1.2rem !important;font-size:.95rem !important;justify-content:center !important}
}
@media(max-width:480px){
  .svc-hero,.svc-hero[data-bg]{padding:5rem 4.5% 2rem !important}
  .svc-hero .svc-hero-highlight,.svc-hero[data-bg] .svc-hero-highlight{grid-template-columns:1fr !important;gap:.5rem !important}
  .svc-hero h1,.svc-hero[data-bg] h1{font-size:clamp(1.8rem,8vw,2.3rem) !important}
}

/* ===== Hero home (#quote / .hero[data-bg="home"]) : form compact, padding tight ===== */
@media(max-width:900px){
  .hero,.hero[data-bg="home"]{min-height:auto !important;padding:5.25rem 5% 2rem !important}
  .hero .hero-inner,.hero[data-bg="home"] .hero-inner{gap:1.25rem !important;grid-template-columns:1fr !important}
  .hero h1,.hero[data-bg="home"] .hero-content h1{font-size:clamp(2.1rem,8vw,2.8rem) !important;line-height:1.1 !important;letter-spacing:-.02em !important;text-shadow:0 2px 12px rgba(245,166,35,.12) !important}
  .hero[data-bg="home"] .hero-content{max-width:100% !important;gap:.85rem !important}
  .hero-sub,.hero[data-bg="home"] .hero-content p{font-size:.95rem !important;line-height:1.55 !important;max-width:100% !important}
  /* Form wrap tighter */
  .hero[data-bg="home"] .hero-form-wrap{width:100% !important;max-width:100% !important;padding:1.25rem !important;border-radius:16px !important;box-shadow:0 10px 30px rgba(10,18,9,.12) !important}
  .hero[data-bg="home"] .hero-form-wrap h3{font-size:1.1rem !important;margin:0 0 .2rem !important}
  .hero[data-bg="home"] .hero-form-wrap .sub{font-size:.78rem !important;margin-bottom:.75rem !important}
  .hero[data-bg="home"] .hero-form-wrap .form-row{grid-template-columns:1fr !important;gap:.5rem !important}
  .hero[data-bg="home"] .hero-form-wrap .form-input{padding:.7rem .85rem !important;font-size:16px !important;border-radius:10px !important;margin-bottom:.5rem}
  .hero[data-bg="home"] .hero-form-wrap textarea.form-input{min-height:68px !important}
  .hero[data-bg="home"] .hero-form-wrap .form-submit{padding:.95rem 1.1rem !important;font-size:.95rem !important;width:100% !important;margin-top:.4rem !important}
  .hero[data-bg="home"] .hero-form-wrap .form-consent,.hero[data-bg="home"] .hero-form-wrap .form-reassurance{font-size:.7rem !important;line-height:1.4 !important}
  .hero[data-bg="home"] .hero-form-wrap .form-file-add{padding:.5rem .75rem !important;font-size:.72rem !important}
  /* Accred + guarantees pills */
  .hero[data-bg="home"] .hero-guarantees{gap:.45rem !important;margin:.3rem 0 .35rem !important;justify-content:center !important}
  .hero[data-bg="home"] .hero-guarantee{padding:.45rem .75rem .45rem .45rem !important;font-size:.78rem !important}
  .hero[data-bg="home"] .hero-guarantee svg{width:14px !important;height:14px !important;padding:3px !important}
  .hero[data-bg="home"] .hero-accred-bar{margin-top:1.5rem !important;padding-top:1rem !important;gap:.5rem !important;flex-wrap:wrap !important;justify-content:flex-start !important}
  .hero[data-bg="home"] .hero-accred-card{padding:.45rem .65rem !important}
  .hero[data-bg="home"] .hero-accred-card img{height:26px !important}
  .hero[data-bg="home"] .hero-accred-card-text strong{font-size:.75rem !important}
  .hero[data-bg="home"] .hero-accred-card-text span{font-size:.6rem !important}
}
@media(max-width:480px){
  .hero,.hero[data-bg="home"]{padding:5rem 4.5% 1.75rem !important}
  .hero h1,.hero[data-bg="home"] .hero-content h1{font-size:clamp(1.9rem,8.5vw,2.4rem) !important}
  .hero[data-bg="home"] .hero-form-wrap{padding:1.1rem !important}
}

/* ===== Section spacing général serré ===== */
@media(max-width:900px){
  .section{padding-top:2.75rem !important;padding-bottom:2.75rem !important}
  .section-title{font-size:clamp(1.65rem,6vw,2.1rem) !important;line-height:1.2 !important;letter-spacing:-.015em !important;margin-bottom:.5rem !important}
  .section-desc{font-size:.92rem !important;line-height:1.55 !important}
  .section-label{font-size:.72rem !important;letter-spacing:.15em !important;margin-bottom:.5rem !important}
}
@media(max-width:480px){
  .section{padding-top:2.25rem !important;padding-bottom:2.25rem !important;padding-left:5% !important;padding-right:5% !important}
}

/* ===== Services grid (homepage + services page) — 1-col propre ===== */
@media(max-width:768px){
  .services-grid-5,.services-grid{grid-template-columns:1fr !important;gap:.85rem !important;flex-direction:column !important}
  .services-grid-5 .svc-card,.services-grid .svc-card{flex:1 1 100% !important;width:100% !important;padding:1.35rem 1.25rem !important;min-height:auto !important}
  .svc-card h3{font-size:1.05rem !important;line-height:1.3 !important;margin-bottom:.4rem !important}
  .svc-card p{font-size:.88rem !important;line-height:1.55 !important}
  .svc-card .svc-icon,.svc-card .service-icon{width:44px !important;height:44px !important;margin-bottom:.6rem !important}
  .svc-card .svc-card-cta,.svc-card a{font-size:.85rem !important}
}

/* ===== Process section : stack + tighter ===== */
@media(max-width:900px){
  .process-grid,.process-steps{grid-template-columns:1fr !important;gap:.9rem !important}
  .process-step{padding:1.35rem 1.1rem !important}
  .process-step-icon,.process-step-number{width:42px !important;height:42px !important;font-size:1.05rem !important;margin-bottom:.65rem !important}
  .process-step h3{font-size:1.05rem !important;margin-bottom:.35rem !important}
  .process-step p{font-size:.85rem !important;line-height:1.55 !important}
}

/* ===== Guarantees grid : 1-col stack ===== */
@media(max-width:768px){
  .guarantees-grid{grid-template-columns:1fr !important;gap:.75rem !important}
  .guarantee-card{padding:1.2rem 1.1rem !important}
  .guarantee-card h3{font-size:.98rem !important}
  .guarantee-card p{font-size:.85rem !important;line-height:1.5 !important}
  .guarantees-section .section-title{font-size:clamp(1.6rem,5.5vw,2rem) !important}
}

/* ===== Differentiators (What Sets Us Apart) ===== */
@media(max-width:768px){
  .differentiators-grid{grid-template-columns:1fr !important;gap:1rem !important}
  .differentiators-grid .diff-card:first-child{padding:1.75rem 1.35rem !important}
  .differentiators-grid .diff-card:first-child h3{font-size:1.2rem !important}
  .differentiators-grid .diff-card:first-child p{font-size:.9rem !important;line-height:1.55 !important}
  .diff-card{padding:1.35rem 1.1rem !important}
  .diff-icon{width:42px !important;height:42px !important;margin-bottom:.55rem !important}
  .diff-card h3{font-size:1rem !important}
  .diff-card p{font-size:.85rem !important;line-height:1.55 !important}
}

/* ===== MVV — numbered cards ===== */
@media(max-width:900px){
  .mvv-section[data-bg="team-collab"] .mvv-grid{grid-template-columns:1fr !important;gap:1rem !important}
  .mvv-section[data-bg="team-collab"] .mvv-main-title{font-size:clamp(1.8rem,6.5vw,2.4rem) !important;margin-bottom:1.5rem !important}
  .mvv-section[data-bg="team-collab"] .mvv-card{padding:1.65rem 1.25rem 1.4rem !important}
  .mvv-section[data-bg="team-collab"] .mvv-card::after{width:30px !important;height:30px !important;font-size:.72rem !important;top:.9rem !important;right:.95rem !important}
  .mvv-section[data-bg="team-collab"] .mvv-card h3{font-size:1.15rem !important;margin-top:.4rem !important}
  .mvv-section[data-bg="team-collab"] .mvv-card p{font-size:.9rem !important;line-height:1.6 !important}
  .mvv-section[data-bg="team-collab"] .mvv-card li{font-size:.85rem !important;padding:.5rem .7rem .5rem 2rem !important}
}

/* ===== Meet the Team cards ===== */
@media(max-width:900px){
  .team-grid,.section--team .team-grid{grid-template-columns:1fr 1fr !important;gap:1rem !important}
  .team-card,.section--team .team-card{padding:0 !important}
  .team-card-img,.section--team .team-card-img{aspect-ratio:1/1 !important;width:100% !important;height:auto !important}
  .team-card-content,.section--team .team-card-content,.section--team .team-card > div:not(.team-card-img){padding:1rem .85rem !important}
  .team-card h3,.section--team .team-card h3{font-size:1rem !important;margin:.25rem 0 .15rem !important}
  .team-card .role-pill,.team-card .team-role,.section--team .team-card .role-pill{font-size:.7rem !important;padding:.2rem .55rem !important}
  .team-card p,.section--team .team-card p{font-size:.82rem !important;line-height:1.5 !important}
}
@media(max-width:480px){
  .team-grid,.section--team .team-grid{grid-template-columns:1fr !important;gap:1rem !important;max-width:340px !important;margin-left:auto !important;margin-right:auto !important}
  .team-card-img,.section--team .team-card-img{aspect-ratio:4/3 !important}
}

/* ===== FAQ v2 — categories + colored cards ===== */
@media(max-width:900px){
  .faq-v2-grid,.faq-category-grid{grid-template-columns:1fr !important;gap:.75rem !important}
  .faq-category{margin-bottom:1.5rem !important}
  .faq-category-title,.faq-category h2{font-size:1.15rem !important;margin-bottom:.75rem !important;padding-bottom:.4rem !important}
  .faq-item-v2{padding:1.1rem 1rem !important;border-radius:14px !important}
  .faq-item-v2 .faq-question-v2,.faq-item-v2 .faq-q{font-size:.95rem !important;line-height:1.35 !important;padding-right:28px !important}
  .faq-item-v2 .faq-answer-v2,.faq-item-v2 .faq-a{font-size:.88rem !important;line-height:1.6 !important}
  .faq-item-v2 .faq-badge,.faq-item-v2::before{font-size:.7rem !important}
  /* also old accordions */
  .faq-item{margin-bottom:.6rem !important}
  .faq-question{font-size:.95rem !important;padding:.95rem 1rem !important;min-height:52px !important}
  .faq-answer{font-size:.88rem !important;line-height:1.6 !important;padding:0 1rem 1rem !important}
}

/* ===== Inline CTA (photo bg) ===== */
@media(max-width:768px){
  .inline-cta,body .faq-section-v2 + .inline-cta,body .faq-section-v2 ~ .inline-cta{padding:2.25rem 5% !important;min-height:auto !important;border-radius:14px !important}
  body .inline-cta h2,body .faq-section-v2 ~ .inline-cta h2,.inline-cta-title{font-size:clamp(1.3rem,5vw,1.8rem) !important;line-height:1.25 !important}
  body .inline-cta p,body .faq-section-v2 ~ .inline-cta p{font-size:.9rem !important;line-height:1.55 !important;margin-bottom:1rem !important}
  body .inline-cta .btn,body .inline-cta a.btn,body .faq-section-v2 ~ .inline-cta .btn{padding:.85rem 1.2rem !important;font-size:.9rem !important;width:100% !important;max-width:300px !important}
}

/* ===== svc-cta (Request an Inspection on about/service pages) ===== */
@media(max-width:768px){
  .svc-cta[data-bg],.svc-cta{padding:2.25rem 5% !important;min-height:auto !important}
  .svc-cta h2{font-size:clamp(1.4rem,5.5vw,2rem) !important;line-height:1.2 !important}
  .svc-cta p{font-size:.92rem !important;line-height:1.55 !important;margin-bottom:1.25rem !important}
  .svc-cta .btn{width:100% !important;max-width:320px !important;padding:.95rem 1.2rem !important;font-size:.95rem !important}
}

/* ===== Our Story (about) ===== */
@media(max-width:768px){
  .story-section[data-bg="story"] .our-story-content{padding:1.4rem 1.2rem !important;border-radius:14px !important}
  .story-items{padding-left:0 !important;gap:1.5rem !important;margin-top:1.5rem !important}
  .story-item{padding-left:3.5rem !important}
  .story-item .story-year{font-size:.75rem !important}
  .story-item h3{font-size:1.05rem !important;line-height:1.25 !important;margin-bottom:.35rem !important}
  .story-item p{font-size:.88rem !important;line-height:1.6 !important}
}

/* ===== Page header (inc. data-bg variants) ===== */
@media(max-width:768px){
  .page-header,.page-header[data-bg]{padding:4.5rem 5% 1.75rem !important;min-height:auto !important}
  .page-header h1,.page-header[data-bg] h1{font-size:clamp(1.8rem,6.5vw,2.4rem) !important;line-height:1.15 !important;margin:.5rem 0 .5rem !important}
  .page-header p,.page-header[data-bg] p{font-size:.92rem !important;line-height:1.55 !important}
  .page-header .breadcrumb,.page-header[data-bg] .breadcrumb{font-size:.78rem !important;flex-wrap:wrap !important}
  .page-header .page-header-deco,.page-header[data-bg] .page-header-deco{opacity:.08 !important;width:140px !important;height:140px !important;right:-30px !important}
}

/* ===== Report sample image (service pages) ===== */
@media(max-width:768px){
  .report-sample-section,.report-preview-section{padding:2.5rem 5% !important}
  .report-preview-image,.report-sample-image{max-width:100% !important;transform:none !important;width:100% !important;border-radius:10px !important;box-shadow:0 8px 24px rgba(0,0,0,.14) !important}
  .report-preview-image-wrap,.report-sample-wrap{padding:0 !important}
}

/* ===== Contact page ===== */
@media(max-width:768px){
  .contact-page-header{padding:4rem 5% 1.25rem !important;min-height:auto !important}
  .contact-hero-grid,.contact-grid{grid-template-columns:1fr !important;gap:1.25rem !important}
  .contact-info{padding:1.25rem 1rem !important}
  .contact-info-item{padding:.85rem 0 !important}
  .contact-info-icon{width:40px !important;height:40px !important}
  .contact-info-text h4{font-size:.88rem !important}
  .contact-info-text p{font-size:.88rem !important}
  .contact-form{padding:1.4rem 1.15rem !important;border-radius:14px !important}
  .contact-form label{font-size:.85rem !important}
  .contact-form input,.contact-form textarea,.contact-form select{padding:.75rem .9rem !important;border-radius:10px !important}
  .contact-form button{padding:.95rem 1.1rem !important;width:100% !important}
}

/* ===== Footer compact mobile ===== */
@media(max-width:768px){
  .footer{padding:2.5rem 5% 1rem !important}
  .footer-inner,.footer-grid,.footer-columns{grid-template-columns:1fr 1fr !important;gap:1.25rem !important}
  .footer-col h4{font-size:.85rem !important;margin-bottom:.55rem !important;letter-spacing:.1em !important}
  .footer-col-links{gap:.1rem !important}
  .footer-col-links a{font-size:.85rem !important;padding:.35rem 0 !important;min-height:32px !important}
  .footer-brand{grid-column:1 / -1 !important;margin-bottom:.5rem !important}
  .footer-brand p{font-size:.88rem !important;line-height:1.55 !important}
  .footer-brand-top{flex-wrap:wrap !important;gap:.75rem !important}
  .footer-brand-name{font-size:1.1rem !important}
  .footer-bottom{flex-direction:column !important;gap:.5rem !important;text-align:center !important;padding-top:1.25rem !important}
  .footer-bottom p,.footer-legal{font-size:.78rem !important}
  .footer-social{gap:.65rem !important;justify-content:flex-start !important}
  .footer-social a,.footer-social svg{width:32px !important;height:32px !important}
  .footer-accred{gap:.5rem !important;flex-wrap:wrap !important}
  .footer-accred img{height:28px !important}
  .footer-cta{padding:1.5rem 1rem !important;margin-bottom:1.5rem !important;border-radius:14px !important}
  .footer-cta h3{font-size:1.1rem !important;line-height:1.3 !important}
  .footer-cta p{font-size:.88rem !important}
  .footer-cta .btn{width:100% !important;max-width:320px !important}
}
@media(max-width:480px){
  .footer-inner,.footer-grid,.footer-columns{grid-template-columns:1fr !important;gap:1rem !important}
  .footer-col{text-align:left}
  .footer-col-links a{padding:.4rem 0 !important}
}

/* ===== Announce banner ===== */
@media(max-width:768px){
  .announce-banner{font-size:.78rem !important;padding:.5rem 2.25rem .5rem .75rem !important;line-height:1.4 !important;text-align:center}
  .announce-banner-pill{font-size:.65rem !important;padding:.2rem .45rem !important;margin-right:.4rem !important}
  .announce-banner a{display:inline-block !important;margin-left:.25rem !important}
  .announce-banner-close{width:30px !important;height:30px !important;right:2px !important}
}

/* ===== Nav burger + lang toggle mobile ===== */
@media(max-width:900px){
  .nav{padding:.55rem 4.5% !important}
  .nav-logo img{height:36px !important}
  .nav-logo span,.nav-logo .nav-brand{font-size:1rem !important}
  .nav-mobile{padding:5.5rem 1.75rem 2rem !important;width:min(320px,85vw) !important}
  .nav-mobile-links a{font-size:1.05rem !important;padding:.85rem 0 !important}
  .nav-mobile-lang{margin-top:1.5rem !important;display:flex !important;justify-content:center !important;gap:.25rem !important;padding-top:1.25rem !important;border-top:1px solid rgba(0,0,0,.08)}
  .nav-mobile-lang a{padding:.5rem .85rem !important;font-size:.85rem !important;border-radius:8px !important;min-height:40px !important;display:inline-flex !important;align-items:center !important}
  .nav-mobile-lang a.active{background:var(--green) !important;color:#fff !important}
  .lang-toggle{display:none !important}
}

/* ===== RTL Arabic tweaks mobile ===== */
@media(max-width:900px){
  html[dir="rtl"] .svc-hero{text-align:right}
  html[dir="rtl"] .svc-hero .breadcrumb{flex-direction:row-reverse !important}
  html[dir="rtl"] .story-item{padding-left:0 !important;padding-right:3.5rem !important}
  html[dir="rtl"] .footer-col{text-align:right}
  html[dir="rtl"] .mvv-section[data-bg="team-collab"] .mvv-card::after{right:auto !important;left:.95rem !important}
  html[dir="rtl"] .mvv-section[data-bg="team-collab"] .mvv-card li{padding:.5rem 2rem .5rem .7rem !important;border-left:none !important;border-right:2px solid rgba(245,166,35,.4) !important}
  html[dir="rtl"] .mvv-section[data-bg="team-collab"] .mvv-card li::before{left:auto !important;right:.7rem !important}
}

/* ===== Touch-target amélioration globale ===== */
@media(max-width:900px){
  a.btn,button.btn,.btn{min-height:44px;display:inline-flex;align-items:center;justify-content:center}
  input[type="submit"],input[type="button"]{min-height:44px}
}

/* ===== Buttons sticky / floating ===== */
@media(max-width:768px){
  .sticky-cta,.floating-consult{bottom:.75rem !important;right:.75rem !important;padding:.75rem 1rem !important;font-size:.85rem !important;border-radius:28px !important;box-shadow:0 6px 20px rgba(13,74,13,.3) !important}
}

/* ===== Logo cloud (trust) — slower animation + smaller on mobile ===== */
@media(max-width:768px){
  .logo-cloud-track{animation-duration:45s !important;gap:2rem !important}
  .logo-cloud-track img{height:28px !important;max-height:28px !important;max-width:90px !important}
  .logo-cloud-section{padding:1.5rem 5% !important}
}

/* ===== Related services grid (bas des pages svc) ===== */
@media(max-width:768px){
  .related-services-grid{grid-template-columns:1fr !important;gap:.85rem !important}
  .related-service-card{padding:1.2rem 1.1rem !important}
  .related-service-card h3{font-size:1rem !important}
  .related-service-card p{font-size:.85rem !important;line-height:1.5 !important}
}

/* ===== Schema/JSON proof items, accreditation logos ===== */
@media(max-width:768px){
  .proof-inner,.accred-grid,.accred-row{grid-template-columns:repeat(2,1fr) !important;gap:.75rem !important}
  .accred-item{padding:.75rem !important}
  .accred-item img{max-height:32px !important}
  .accred-item span{font-size:.7rem !important}
}

/* ===== Reveal animations : désactiver sur petit écran pour éviter blocages ===== */
@media(max-width:480px){
  .reveal,.reveal.rd1,.reveal.rd2,.reveal.rd3,.reveal.rd4,.reveal.rd5{opacity:1 !important;transform:none !important;transition:none !important}
}

/* ===== Empêche le débordement horizontal global ===== */
@media(max-width:900px){
  html,body{max-width:100vw !important;overflow-x:hidden !important}
  img,video,iframe{max-width:100% !important;height:auto}
}

/* ===== 320px ultra-compact (Pixel old, iPhone SE 1) ===== */
@media(max-width:380px){
  .hero h1,.svc-hero h1,.page-header h1{font-size:1.65rem !important}
  .section-title{font-size:1.4rem !important}
  .section{padding-top:2rem !important;padding-bottom:2rem !important}
  .nav-logo img{height:32px !important}
  .svc-hero .btn,.hero form button,.svc-cta .btn{font-size:.88rem !important;padding:.85rem .9rem !important}
  .hero form,#quote form{padding:1rem !important}
}

/* =====================================================
   PHASE 7.1 — POLISH MOBILE v122 (retour Carl)
   Fixes: stats banner 2x2, why-us cards lisibles, team photos cadrage
   ===================================================== */

/* Fix 1 — Stats banner : 2x2 même sous 480px (au lieu de 1fr stacké) */
@media(max-width:480px){
  .stats-banner-inner{grid-template-columns:1fr 1fr !important;gap:.75rem !important}
  .stats-banner-item{padding:.85rem .25rem !important;text-align:center}
  .stats-banner-value{font-size:1.7rem !important;line-height:1.05 !important}
  .stats-banner-label{font-size:.72rem !important;line-height:1.3 !important;margin-top:.15rem !important;letter-spacing:.02em}
  /* Désactive les séparateurs verticaux qui ressortent mal en 2x2 */
  .stats-banner-item::after{display:none !important}
  /* Séparation visuelle propre entre rangée 1 et rangée 2 */
  .stats-banner-item:nth-child(1),.stats-banner-item:nth-child(2){border-bottom:1px solid rgba(255,255,255,.08);padding-bottom:1rem !important;margin-bottom:.1rem}
}
@media(max-width:380px){
  .stats-banner-value{font-size:1.5rem !important}
  .stats-banner-label{font-size:.68rem !important}
  .stats-banner-inner{gap:.5rem !important}
}

/* Fix 2 — Why us section (pages services) : cards lisibles + badges ronds gold.
   Utilise `body:has(.svc-hero[data-bg])` pour matcher la spécificité du rule existant. */
@media(max-width:900px){
  .why-grid,body:has(.svc-hero[data-bg]) .why-section .why-grid{grid-template-columns:1fr !important;gap:.85rem !important}
  body:has(.svc-hero[data-bg]) .why-section .why-card,.why-card{
    background:rgba(255,255,255,.08) !important;
    border:1px solid rgba(245,166,35,.22) !important;
    border-radius:14px !important;
    padding:1.35rem 1.2rem !important;
    backdrop-filter:blur(6px) !important;
    -webkit-backdrop-filter:blur(6px) !important;
    position:relative;
    overflow:hidden;
    display:flex !important;
    gap:.9rem !important;
    align-items:flex-start !important;
    box-shadow:0 6px 18px rgba(0,0,0,.18) !important
  }
  body:has(.svc-hero[data-bg]) .why-section .why-card::after,.why-card::after{display:none !important}
  body:has(.svc-hero[data-bg]) .why-section .why-card::before,.why-card::before{display:none !important}
  body:has(.svc-hero[data-bg]) .why-section .why-card .why-card-num,.why-card-num{
    flex:0 0 auto !important;
    font-size:.95rem !important;
    font-weight:800 !important;
    letter-spacing:0 !important;
    color:#0d4a0d !important;
    background:#F5A623 !important;
    width:34px !important;
    height:34px !important;
    min-width:34px !important;
    border-radius:50% !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    box-shadow:0 4px 12px rgba(245,166,35,.3) !important;
    margin:0 !important;
    padding:0 !important;
    line-height:1 !important
  }
  body:has(.svc-hero[data-bg]) .why-section .why-card-content,.why-card-content{flex:1 1 auto;min-width:0}
  body:has(.svc-hero[data-bg]) .why-section .why-card h3,.why-card h3{font-size:1.02rem !important;line-height:1.3 !important;margin:0 0 .4rem !important;color:#fff !important;font-weight:700 !important}
  body:has(.svc-hero[data-bg]) .why-section .why-card p,.why-card p{font-size:.88rem !important;line-height:1.55 !important;margin:0 !important;color:rgba(255,255,255,.85) !important}
  body:has(.svc-hero[data-bg]) .why-section,.why-section,.section.why-section,section.why-section{padding-top:2.5rem !important;padding-bottom:2.5rem !important}
  body:has(.svc-hero[data-bg]) .why-section .section-title,.why-section .section-title,body:has(.svc-hero[data-bg]) .why-section .section-label,.why-section .section-label{color:#fff !important}
}

/* Fix 3 — Team photos : ancrer vers le haut pour montrer les fronts (visages headshots) */
@media(max-width:900px){
  .section--team .team-card-img img{object-position:center 20% !important}
  /* Photo de groupe (inspectors) : center center reste plus flatteur */
  .section--team .team-card:nth-child(4) .team-card-img img,
  .section--team .team-card-img img[src*="team-inspectors"]{object-position:center center !important}
}

/* Fix 5 — PC svc-hero (5 pages services) : aligner sur le format mobile que Carl valide.
   - Deco SVG caché
   - Highlight "What You Get" visible en 2x2
   - H1 gold XXL (pas 33px)
   - Tagline, para, breadcrumb à tailles lisibles (pas .74rem/.85rem)
   - Layout stacké vertical (comme mobile)
   Target: min-width:901 (ne touche pas mobile qui est parfait) */
@media(min-width:901px){
  /* Kill the silly small-font overrides that were applied globally (lines 629-634) */
  .svc-hero,.svc-hero[data-bg]{
    padding:4rem 5% 3rem !important;
    min-height:auto !important;
    flex-direction:column !important
  }
  .svc-hero .svc-hero-inner,.svc-hero[data-bg] .svc-hero-inner{
    max-width:1200px !important;
    width:100% !important;
    grid-template-columns:1fr !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    gap:1.25rem !important;
    padding-top:0 !important;
    padding-bottom:0 !important
  }
  /* Hide le deco SVG qui prenait 280x280 sur la droite */
  .svc-hero .page-header-deco,.svc-hero[data-bg] .page-header-deco{display:none !important}
  /* Highlight "What You Get" : caché aussi sur PC (matche comportement mobile que Carl valide) */
  .svc-hero .svc-hero-highlight,.svc-hero[data-bg] .svc-hero-highlight{display:none !important}
  /* H1 gold XXL bien visible */
  .svc-hero h1,.svc-hero[data-bg] h1{
    font-size:clamp(3rem,5vw,4.5rem) !important;
    margin:0 0 .75rem !important;
    line-height:1.05 !important;
    color:#F5A623 !important;
    font-weight:800 !important;
    letter-spacing:-.025em !important;
    text-shadow:0 4px 28px rgba(245,166,35,.3);
    max-width:100%
  }
  /* Tagline lisible — sélecteur spécifique p.svc-hero-tagline pour battre .svc-hero-inner > div > p */
  .svc-hero-inner > div > p.svc-hero-tagline,
  .svc-hero[data-bg] .svc-hero-inner > div > p.svc-hero-tagline{
    margin:0 0 1rem !important;
    font-size:clamp(1.3rem,2vw,1.65rem) !important;
    font-weight:700 !important;
    line-height:1.25 !important;
    color:rgba(255,255,255,.96) !important;
    max-width:none !important
  }
  .svc-hero[data-bg] .svc-hero-inner > div > p.svc-hero-tagline span{color:#F5A623 !important}
  /* Paragraphe description lisible — sélecteur qui ne matche PAS le tagline */
  .svc-hero-inner > div > p:not(.svc-hero-tagline),
  .svc-hero[data-bg] .svc-hero-inner > div > p:not(.svc-hero-tagline){
    margin:0 0 1.5rem !important;
    font-size:clamp(1rem,1.2vw,1.15rem) !important;
    line-height:1.6 !important;
    color:rgba(255,255,255,.9) !important;
    max-width:780px
  }
  /* Breadcrumb normal */
  .svc-hero .breadcrumb,.svc-hero[data-bg] .breadcrumb{
    margin:0 0 1rem !important;
    font-size:.88rem !important
  }
  /* CTA button XL */
  .svc-hero .btn,.svc-hero[data-bg] .btn{
    padding:1rem 1.75rem !important;
    font-size:1rem !important;
    font-weight:700 !important;
    display:inline-flex !important;
    align-items:center !important;
    gap:.5rem
  }
  /* Accred row en bas */
  .svc-hero-accred,.svc-hero[data-bg] .svc-hero-accred{
    margin-top:1.5rem !important;
    padding-top:1.25rem !important;
    font-size:.85rem !important;
    color:rgba(255,255,255,.75) !important;
    display:flex !important;
    align-items:center !important;
    gap:.75rem !important;
    flex-wrap:wrap !important;
    border-top:1px solid rgba(255,255,255,.15) !important
  }
  .svc-hero-accred img{height:32px !important;width:auto !important}
  /* Page-header-deco kill même sur `.svc-hero[data-bg] > *` cascade */
  .svc-hero[data-bg] > .page-header-deco{display:none !important}
}

/* Fix 4 — What Sets Us Apart : 1 colonne sur mobile (bat le rule data-bg="what-sets" 3-col) */
@media(max-width:768px){
  .differentiators-section[data-bg="what-sets"] .differentiators-grid,
  body .differentiators-grid{grid-template-columns:1fr !important;gap:1rem !important}
  .differentiators-section[data-bg="what-sets"] .diff-card{padding:1.5rem 1.3rem !important}
  .differentiators-section[data-bg="what-sets"] .diff-card:first-child{padding:1.75rem 1.35rem !important}
  .differentiators-section[data-bg="what-sets"] .diff-card h3{font-size:1.05rem !important;line-height:1.3 !important}
  .differentiators-section[data-bg="what-sets"] .diff-card p{font-size:.88rem !important;line-height:1.55 !important}
  .differentiators-section[data-bg="what-sets"] .diff-icon{width:44px !important;height:44px !important;margin-bottom:.75rem !important}
  /* Pseudo décoratif du premier card (big gold glow corner) : réduire sur mobile */
  .differentiators-section[data-bg="what-sets"] .differentiators-grid .diff-card:first-child::after{width:180px !important;height:180px !important;top:-15% !important;right:-10% !important}
}

/* Fix 6 — Baisser le questionnaire hero home page : plus d'espace au-dessus + padding interne plus généreux */
@media(min-width:901px){
  /* Hero : un poil plus haut pour pousser les 2 colonnes vers le bas (centrage visuel dans la fenêtre) */
  .hero[data-bg="home"]{padding:7rem 5% 4rem !important}
  /* Card form : padding interne top/bot plus large pour que le h3 ne soit pas collé au haut de la carte */
  .hero[data-bg="home"] .hero-form-wrap{
    padding:2.5rem 1.75rem 2rem !important;
    align-self:center !important
  }
}

/* Fix 7 — CTA svc-hero (5 pages services) : gold premium avec texte vert, contraste fort sur fond dark */
.svc-hero .btn.btn-primary,
.svc-hero .btn-primary,
.svc-hero[data-bg] .btn.btn-primary,
.svc-hero[data-bg] .btn-primary{
  background:linear-gradient(135deg,#F5A623 0%,#e09a1a 50%,#d4870d 100%) !important;
  background-color:#F5A623 !important;
  color:#0d4a0d !important;
  border:none !important;
  font-weight:800 !important;
  letter-spacing:.01em !important;
  box-shadow:0 10px 28px rgba(245,166,35,.45),0 3px 10px rgba(245,166,35,.25),inset 0 1px 0 rgba(255,255,255,.35) !important;
  transition:all .3s cubic-bezier(.4,0,.2,1) !important;
  position:relative !important;
  overflow:hidden !important;
  text-shadow:none !important
}
.svc-hero .btn.btn-primary::before,
.svc-hero[data-bg] .btn.btn-primary::before{
  content:'' !important;
  position:absolute !important;
  top:0 !important;
  left:-100% !important;
  width:100% !important;
  height:100% !important;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent) !important;
  transition:left .6s ease !important
}
.svc-hero .btn.btn-primary:hover,
.svc-hero[data-bg] .btn.btn-primary:hover{
  background:linear-gradient(135deg,#ffb940 0%,#F5A623 50%,#e09a1a 100%) !important;
  background-color:#ffb940 !important;
  color:#0d4a0d !important;
  transform:translateY(-2px) !important;
  box-shadow:0 16px 40px rgba(245,166,35,.55),0 6px 14px rgba(245,166,35,.3),inset 0 1px 0 rgba(255,255,255,.5) !important
}
.svc-hero .btn.btn-primary:hover::before,
.svc-hero[data-bg] .btn.btn-primary:hover::before{left:100% !important}
.svc-hero .btn.btn-primary:active,
.svc-hero[data-bg] .btn.btn-primary:active{transform:translateY(0) !important;box-shadow:0 6px 16px rgba(245,166,35,.4) !important}
/* SVG icon inside btn : same dark green + slight wiggle on hover */
.svc-hero .btn.btn-primary svg,
.svc-hero[data-bg] .btn.btn-primary svg{color:#0d4a0d !important;stroke:#0d4a0d !important;transition:transform .25s ease !important;position:relative;z-index:1}
.svc-hero .btn.btn-primary:hover svg,
.svc-hero[data-bg] .btn.btn-primary:hover svg{transform:translateX(3px) !important}
.svc-hero .btn.btn-primary span,
.svc-hero[data-bg] .btn.btn-primary span{position:relative;z-index:1}

