/*
Theme Name: Pelissard
Theme URI: https://pelissard.ma
Author: Pelissard
Author URI: https://pelissard.ma
Description: Premium one-page corporate theme for Pelissard — Moroccan distributor of beauty, hygiene, household cleaning, small beauty electrical equipment, and outdoor & storage products. Modern, elegant, minimalist, B2B.
Version: 1.4.0
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: pelissard
Tags: one-page, business, corporate, minimal, custom-logo, custom-colors, custom-menu, featured-images, translation-ready
*/

/* ---------- Design tokens ---------- */
:root{
  --bg:#FAF8F5;
  --fg:#1A1A1A;
  --muted:#6B6B6B;
  --line:rgba(26,26,26,.12);
  --accent:#8B6F47;       /* warm bronze */
  --accent-2:#C9A87C;
  --card:#FFFFFF;
  --maxw:1240px;
  --radius:14px;
  --shadow:0 10px 40px -20px rgba(0,0,0,.25);
  --font-display:'Cormorant Garamond', Georgia, serif;
  --font-sans:'Inter', system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
}

/* ---------- Reset ---------- */
*,*::before,*::after{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family:var(--font-sans);
  font-size:16px;line-height:1.6;color:var(--fg);background:var(--bg);
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none;transition:opacity .2s ease}
a:hover{opacity:.7}
h1,h2,h3,h4{font-family:var(--font-display);font-weight:500;line-height:1.1;letter-spacing:-.01em;margin:0 0 .5em}
h1{font-size:clamp(2.5rem,6vw,5rem)}
h2{font-size:clamp(2rem,4vw,3.25rem)}
h3{font-size:1.5rem}
p{margin:0 0 1em;color:var(--muted)}
.container{max-width:var(--maxw);margin:0 auto;padding:0 24px}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;align-items:center;gap:.5rem;
  padding:14px 28px;border-radius:999px;
  font-weight:500;font-size:.9rem;letter-spacing:.02em;
  background:var(--fg);color:var(--bg);border:1px solid var(--fg);
  transition:all .25s ease;cursor:pointer;
}
.btn:hover{background:transparent;color:var(--fg);opacity:1}
.btn-ghost{background:transparent;color:var(--fg)}
.btn-ghost:hover{background:var(--fg);color:var(--bg)}

/* ---------- Header Base (Legacy - Overridden at the bottom) ---------- */
.site-header{
  position:sticky;top:0;z-index:50;
  background:rgba(250,248,245,.85);backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line);
}
.nav{display:flex;align-items:center;justify-content:space-between;padding:18px 0}
.brand{font-family:var(--font-display);font-size:1.6rem;letter-spacing:.04em}
.nav ul{list-style:none;display:flex;gap:32px;margin:0;padding:0}
.nav ul a{font-size:.9rem;color:var(--fg)}
.nav-toggle{display:none;background:none;border:0;font-size:1.5rem;cursor:pointer}
@media (max-width:860px){
  .nav ul{display:none;position:absolute;top:100%;left:0;right:0;background:var(--bg);flex-direction:column;padding:20px 24px;border-bottom:1px solid var(--line)}
  .nav ul.open{display:flex}
  .nav-toggle{display:block}
}

/* ---------- Hero ---------- */
.hero{
  min-height:calc(100vh - 80px);
  display:flex;align-items:center;
  padding:80px 0;
  background:linear-gradient(180deg,var(--bg) 0%, #F2EDE6 100%);
}
.hero .eyebrow{font-size:.8rem;letter-spacing:.25em;text-transform:uppercase;color:var(--accent);}
.hero h1{max-width:14ch}
.hero .lede{max-width:52ch;font-size:1.125rem;margin-top:24px}
.hero-actions{margin-top:40px;display:flex;gap:14px;flex-wrap:wrap}

/* ---------- Sections ---------- */
section{padding:120px 0;border-top:1px solid var(--line)}
.section-head{max-width:720px;margin-bottom:64px}
.section-head .eyebrow{font-size:.75rem;letter-spacing:.25em;text-transform:uppercase;color:var(--accent);display:block}

/* ---------- Divisions grid ---------- */
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px}
.card{
  background:var(--card);border:1px solid var(--line);border-radius:var(--radius);
  padding:36px 32px;transition:transform .3s ease,box-shadow .3s ease;
}
.card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.card h3{margin-bottom:12px}
.card p{margin:0;font-size:.95rem}
.card .num{font-family:var(--font-display);color:var(--accent);font-size:1.25rem;display:block;margin-bottom:20px}

/* ---------- About ---------- */
.about{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
@media (max-width:860px){.about{grid-template-columns:1fr;gap:40px}}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:48px}
.stat .n{font-family:var(--font-display);font-size:3rem;color:var(--accent);line-height:1}
.stat .l{font-size:.85rem;color:var(--muted);margin-top:8px;display:block}

/* ---------- Contact ---------- */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px}
@media (max-width:860px){.contact-grid{grid-template-columns:1fr}}
.contact-info p{color:var(--fg)}
.contact-info .label{font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-bottom:6px;display:block}
.map{border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);min-height:360px}
.map iframe{width:100%;height:100%;border:0;display:block;min-height:360px}

/* ---------- Footer ---------- */
.site-footer{padding:60px 0 32px;border-top:1px solid var(--line);background:#F2EDE6}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:48px;margin-bottom:48px}
@media (max-width:860px){.footer-grid{grid-template-columns:1fr;gap:32px}}
.site-footer h4{font-family:var(--font-sans);font-size:.8rem;letter-spacing:.2em;text-transform:uppercase;color:var(--fg);margin-bottom:16px}
.site-footer ul{list-style:none;padding:0;margin:0}
.site-footer li{margin-bottom:8px;font-size:.9rem;color:var(--muted)}
.copyright{padding-top:24px;border-top:1px solid var(--line);font-size:.8rem;color:var(--muted);display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px}

/* ---------- Reveal ---------- */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s ease,transform .8s ease}
.reveal.in{opacity:1;transform:none}

/* ===== Logo grids (Marques & Partenaires) ===== */
.logo-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(180px,1fr));
  gap:1px;
  background:rgba(0,0,0,.08);
  border:1px solid rgba(0,0,0,.08);
  margin-top:40px;
}
.logo-cell{
  background:#fff;
  aspect-ratio:1/1;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:24px;
  text-decoration:none;
  color:inherit;
  transition:transform .4s ease, background .3s ease;
}
.logo-cell:hover{ background:#fafafa; transform:translateY(-2px); }
.logo-cell img{
  max-width:80%;
  max-height:70%;
  object-fit:contain;
  filter:none;
  transition:filter .3s ease, opacity .3s ease;
}
.logo-grid-mono .logo-cell img{
  filter:grayscale(100%);
  opacity:.65;
}
.logo-grid-mono .logo-cell:hover img{
  filter:grayscale(0);
  opacity:1;
}
.logo-text{
  font-family:var(--font-display, 'Cormorant Garamond', serif);
  font-size:1.5rem;
  color:var(--fg,#1a1a1a);
}
.logo-cat{
  margin-top:8px;
  font-size:.65rem;
  letter-spacing:.25em;
  text-transform:uppercase;
  color:var(--muted,#888);
}

/* ===================================================================
   v1.2 — Sections matching the React template
=================================================================== */

/* Eyebrow row */
.eyebrow-row{display:flex;align-items:center;gap:14px;margin-bottom:18px}
.eyebrow-row.eyebrow-center{justify-content:center}
.eyebrow-row .line{display:block;height:1px;width:40px;background:var(--accent-2)}
.eyebrow-row .eyebrow{font-size:.7rem;letter-spacing:.4em;text-transform:uppercase;color:var(--muted)}
.eyebrow-row .eyebrow.light{color:rgba(255,255,255,.6)}
h2 em{font-style:italic;color:var(--accent)}

/* HERO cinematic */
.hero-cinematic{
  position:relative;background-size:cover;background-position:center;
  min-height:calc(100vh - 80px);display:flex;align-items:flex-end;
  padding:120px 0 80px;overflow:hidden;
}
.hero-cinematic .hero-inner{position:relative;z-index:2;width:100%}
.hero-cinematic .hero-title{font-size:clamp(2.6rem,7vw,5.5rem);max-width:14ch;margin-bottom:0}
.hero-cinematic .hero-title em{font-style:italic;color:var(--accent)}
.hero-cinematic .lede{max-width:36rem;font-size:1.1rem;margin-top:28px;color:rgba(26,26,26,.7)}
.hero-shape{position:absolute;border-radius:50%;border:1px solid rgba(139,111,71,.45);pointer-events:none}
.shape-circle{top:22%;right:8%;width:160px;height:160px;animation:float 12s ease-in-out infinite}
.shape-square{bottom:18%;left:6%;width:96px;height:96px;border-radius:0;transform:rotate(12deg);border-color:rgba(26,26,26,.15);animation:float 14s ease-in-out infinite reverse}
@keyframes float{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-22px) rotate(8deg)}}
.hero-scroll{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);font-size:.65rem;letter-spacing:.4em;text-transform:uppercase;color:rgba(26,26,26,.5);z-index:2}

/* About Section */
.section-about{padding:140px 0;border-top:1px solid var(--line)}
.section-about .about{grid-template-columns:5fr 7fr;gap:60px;align-items:center}
.about-media{position:relative}
.about-media img{aspect-ratio:3/4;object-fit:cover;border-radius:4px;width:100%}
.about-badge{position:absolute;top:-22px;right:-28px;background:rgba(255,255,255,.85);backdrop-filter:blur(10px);border:1px solid var(--line);border-radius:10px;padding:14px 20px;font-family:var(--font-display);font-size:1.25rem;box-shadow:var(--shadow);max-width:240px;line-height:1.25}
@media(max-width:860px){.about-badge{position:static;margin-top:-30px;display:inline-block}}
.section-about h2{font-size:clamp(2rem,4.2vw,3.6rem);margin-top:14px}
.section-about p{color:var(--muted);font-size:1.05rem;line-height:1.75;max-width:38rem}

/* Section heads */
.section-head-row{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:64px; max-width: 100%;}
.section-head-row h2{max-width:18ch;margin:0}
.section-head-center{text-align:center;max-width:760px;margin:0 auto 64px}

.link-arrow{
    font-size: .9rem;
    font-weight: 500;
    color: var(--fg);
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding-bottom: 2px;
    border-bottom: 1px solid rgba(26,26,26,.3);
    transition: all .2s ease;
}
.link-arrow:hover{
    color: var(--accent);
    border-bottom-color: var(--accent);
    opacity: 1;
}

/* Divisions grid */
.section-divisions{background:linear-gradient(180deg,#F5EFE7 0%,#F0E8DC 100%);border-top:1px solid var(--line)}
.div-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}
@media(min-width:1024px){.div-grid{grid-template-columns:repeat(3,1fr)}}
.div-card{position:relative;aspect-ratio:4/5;overflow:hidden;border-radius:4px;background:#000;transition:transform .35s ease, box-shadow .35s ease}
.div-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.div-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.2s ease}
.div-card:hover img{transform:scale(1.06)}
.div-overlay{position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,rgba(20,20,20,.25) 60%,rgba(20,20,20,.92) 100%)}
.div-num{position:absolute;top:18px;right:18px;background:rgba(255,255,255,.8);backdrop-filter:blur(8px);border-radius:999px;padding:4px 12px;font-size:.65rem;letter-spacing:.25em;text-transform:uppercase;z-index:2;color:var(--fg)}
.div-body{position:absolute;inset:auto 0 0 0;padding:28px;color:#fff;z-index:2}
.div-body .div-tag{display:block;color:var(--accent-2);font-size:.65rem;letter-spacing:.3em;text-transform:uppercase;margin-bottom:8px}
.div-body h3{color:#fff;font-size:1.6rem;margin:0}
.div-body p{margin:10px 0 0;color:rgba(255,255,255,.75);font-size:.9rem;max-width:28ch;opacity:0;transform:translateY(8px);transition:opacity .45s ease, transform .45s ease}
.div-card:hover .div-body p{opacity:1;transform:none}

/* Brands intro section */
.section-brands{padding:140px 0;border-top:1px solid var(--line)}

/* Why */
.section-why{background:#F4EFE7;padding:140px 0;border-top:1px solid var(--line)}
.why-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1px;background:rgba(0,0,0,.08);border:1px solid rgba(0,0,0,.08)}
@media(min-width:1024px){.why-grid{grid-template-columns:repeat(3,1fr)}}
.why-card{background:#fff;padding:40px;position:relative;transition:background .25s ease;min-height:240px}
.why-card:hover{background:#FAF8F5}
.why-dot{display:block;width:34px;height:34px;border-radius:50%;background:radial-gradient(circle at 30% 30%, var(--accent-2), var(--accent));margin-bottom:24px}
.why-card h3{font-size:1.5rem;margin-bottom:10px;margin-top: 20px;}
.why-card p{font-size:.95rem;margin:0}
.why-index{position:absolute;bottom:24px;left:40px;font-size:.65rem;letter-spacing:.3em;text-transform:uppercase;color:rgba(26,26,26,.3)}

/* Numbers Base Styling (Legacy) */
.section-numbers{position:relative;background:#1A1A1A;color:#FAF8F5;padding:140px 0;overflow:hidden;border-top:none}
.section-numbers h2.light{color:#FAF8F5;font-size:clamp(2rem,4vw,3.4rem)}
.num-glow{position:absolute;border-radius:50%;filter:blur(120px);pointer-events:none}
.num-glow-top{top:-160px;left:50%;transform:translateX(-50%);width:700px;height:500px;background:rgba(201,168,124,.18)}
.num-glow-bottom{bottom:-80px;right:-80px;width:400px;height:400px;background:rgba(201,168,124,.12)}
.num-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:40px;margin-top:60px;text-align:center;position:relative;z-index:2}
@media(min-width:768px){.num-grid{grid-template-columns:repeat(4,1fr)}}
.num-value{font-family:var(--font-display);font-size:clamp(3rem,6vw,4.5rem);color:var(--accent-2);line-height:1}
.num-label{margin-top:14px;font-size:.7rem;letter-spacing:.3em;text-transform:uppercase;color:rgba(255,255,255,.6)}

/* Partners */
.section-partners{padding:140px 0;border-top:1px solid var(--line)}

/* Contact */
.section-contact{padding:140px 0;border-top:1px solid var(--line)}
.section-contact .contact-grid{gap:64px}
.contact-lede{color:var(--muted);max-width:32rem}
.contact-list{list-style:none;padding:0;margin:48px 0 0;display:grid;gap:22px}
.contact-list li{display:flex;align-items:flex-start;gap:18px}
.ci-label{display:block;font-size:.7rem;letter-spacing:.3em;text-transform:uppercase;color:var(--muted);margin-bottom:4px}
.ci-value{font-size:1.05rem;color:var(--fg)}
.contact-form{background:rgba(255,255,255,.6);border:1px solid var(--line);border-radius:18px;padding:36px;backdrop-filter:blur(10px);display:grid;gap:22px}
.contact-form .field{position:relative}
.contact-form input,.contact-form textarea{
  width:100%;background:transparent;border:0;border-bottom:1px solid rgba(26,26,26,.2);
  padding:24px 0 8px;outline:none;font:inherit;color:var(--fg);transition:border-color .2s ease;
}
.contact-form textarea{resize:vertical;min-height:90px}
.contact-form input:focus,.contact-form textarea:focus{border-color:var(--accent)}
.contact-form label{position:absolute;left:0;top:4px;font-size:.7rem;letter-spacing:.3em;text-transform:uppercase;color:var(--muted);transition:all .2s ease;pointer-events:none}
.contact-form input:placeholder-shown + label,
.contact-form textarea:placeholder-shown + label{top:24px;font-size:.95rem;letter-spacing:0;text-transform:none;color:var(--muted)}
.contact-form input:focus + label,
.contact-form textarea:focus + label{top:4px;font-size:.7rem;letter-spacing:.3em;text-transform:uppercase;color:var(--accent)}
.btn-full{width:100%;justify-content:center;padding:18px}
.form-success{padding:12px 16px;border-radius:8px;background:rgba(139,111,71,.12);color:var(--accent);font-size:.9rem}
.section-contact .map{margin-top:64px;border-radius:18px;aspect-ratio:21/7;min-height:auto;overflow:hidden;border:1px solid var(--line)}
.section-contact .map iframe{filter:grayscale(40%) contrast(1.05);min-height:0;height:100%}

/* ===================================================================
   v1.3 — Inner page templates matching the React template
=================================================================== */

/* Page hero */
.page-hero{padding:180px 0 60px;border-top:none;background:linear-gradient(180deg,var(--bg) 0%, #F5EFE7 100%)}
.page-hero-title{font-size:clamp(2.6rem,6vw,5.25rem);max-width:22ch;margin:6px 0 0}
.page-hero-title em{font-style:italic;color:var(--accent)}
.page-hero-lede{max-width:42rem;margin-top:32px;font-size:1.1rem;color:var(--muted);line-height:1.7}

/* Alternating rows */
.section-alt{padding:120px 0;border-top:1px solid var(--line)}
.alt-row{display:grid;grid-template-columns:7fr 5fr;gap:60px;align-items:center;margin-bottom:96px}
.alt-row:last-child{margin-bottom:0}
.alt-row.alt-reverse{grid-template-columns:5fr 7fr}
.alt-row.alt-reverse .alt-media{order:2}
.alt-row.alt-reverse .alt-body{order:1}
@media(max-width:860px){.alt-row,.alt-row.alt-reverse{grid-template-columns:1fr;gap:32px;margin-bottom:64px}.alt-row.alt-reverse .alt-media{order:0}.alt-row.alt-reverse .alt-body{order:0}}
.alt-media-inner{position:relative;overflow:hidden;border-radius:4px;aspect-ratio:5/4}
.alt-media-inner img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.2s ease}
.alt-row:hover .alt-media-inner img{transform:scale(1.05)}
.alt-body .div-tag{font-size:.65rem;letter-spacing:.3em;text-transform:uppercase;color:var(--accent);margin-bottom:14px}
.alt-body h2{font-size:clamp(1.8rem,3.4vw,3rem);margin:0 0 18px}
.alt-body p{font-size:1rem;line-height:1.75;margin-bottom:28px}

/* À propos page */
.section-about-page{padding:80px 0 140px;border-top:1px solid var(--line)}
.about-page-grid{display:grid;grid-template-columns:7fr 5fr;gap:80px;align-items:flex-start}
@media(max-width:860px){.about-page-grid{grid-template-columns:1fr;gap:40px}}
.about-page-media img{aspect-ratio:4/5;width:100%;object-fit:cover;border-radius:4px}
.about-page-body{padding-top:40px;display:grid;gap:24px}
.about-page-body p{font-size:1.1rem;line-height:1.8;color:var(--muted)}

/* Quote section */
.section-quote{padding:160px 0;border-top:1px solid var(--line)}
.quote-wrap{max-width:880px}
.quote-wrap .eyebrow{font-size:.7rem;letter-spacing:.4em;text-transform:uppercase;color:var(--muted);display:block;margin-bottom:24px}
.quote-wrap .quote{font-family:var(--font-display);font-size:clamp(1.6rem,3.4vw,3rem);line-height:1.2;color:var(--fg);margin:0}
.quote-sign{margin-top:40px;font-size:.75rem;letter-spacing:.3em;text-transform:uppercase;color:var(--muted)}

/* Brands page */
.section-brands-page{padding:40px 0 140px}
.section-brands-page .logo-grid{margin-top:0}
.brands-foot{text-align:center;margin-top:60px;font-style:italic;color:var(--muted);font-size:.95rem}

/* Contact page */
.section-contact-page{padding:80px 0 140px;border-top:1px solid var(--line)}
.contact-page-grid{display:grid;grid-template-columns:5fr 7fr;gap:60px;align-items:flex-start;margin-bottom:80px}
@media(max-width:860px){.contact-page-grid{grid-template-columns:1fr;gap:40px}}
.contact-cards{display:grid;gap:18px}
.ci-card{display:flex;align-items:flex-start;gap:20px;background:rgba(255,255,255,.6);border:1px solid var(--line);border-radius:18px;padding:22px 24px;backdrop-filter:blur(10px);transition:transform .3s ease, box-shadow .3s ease}
.ci-card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
.ci-card .ci-label{display:block;font-size:.65rem;letter-spacing:.3em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.ci-card .ci-value{font-size:1.02rem;color:var(--fg);line-height:1.5;display:block}
.contact-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:22px}
@media(max-width:600px){.contact-form .form-row{grid-template-columns:1fr}}
.map-wide{aspect-ratio:21/8;border-radius:18px;overflow:hidden;border:1px solid var(--line);min-height:auto}
.map-wide iframe{width:100%;height:100%;border:0;filter:grayscale(40%) contrast(1.05);min-height:0}

/* ===== v1.4 overrides ===== */
.logo-cell{ position:relative; overflow:hidden; }
.logo-cell .logo-img{
  transition:opacity .4s ease, transform .4s ease, filter .4s ease;
  display:flex; align-items:center; justify-content:center;
  max-width:80%; max-height:70%; object-fit:contain;
}
.logo-cell .logo-hover{
  position:absolute; inset:0;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap:6px; padding:16px; text-align:center;
  background:#0f0f0f; color:#f5f0e0;
  opacity:0; transition:opacity .4s ease;
  pointer-events:none;
}
.logo-cell:hover .logo-hover{ opacity:1; }
.logo-cell:hover .logo-img{ opacity:0; transform:scale(.96); }
.logo-hover .logo-name{
  font-family:var(--font-display,'Cormorant Garamond',serif);
  font-size:1.35rem; line-height:1.1;
}
.logo-hover .logo-cat{
  font-size:.62rem; letter-spacing:.3em; text-transform:uppercase;
  color:oklch(72% .11 80); margin-top:6px;
}
.logo-cell > .logo-cat{ display:none; }
.logo-grid-mono .logo-cell .logo-img{ filter:grayscale(100%); opacity:.7; }
.logo-grid-mono .logo-cell:hover .logo-img{ filter:grayscale(0); opacity:0; }

.section-head-row > div{ flex:1 1 320px; min-width:0; }
.section-head-row .link-arrow{
  flex:0 0 auto;
  margin-left:auto;
  white-space:nowrap;
}
@media (max-width: 720px){
  .section-head-row{ align-items:flex-start; }
  .section-head-row .link-arrow{ margin-left:0; }
}

.footer-logo img{
  max-height:64px; width:auto; height:auto;
  filter:brightness(0) invert(1);
  opacity:.95;
}
.site-footer .custom-logo-link{ display:inline-block; }

/* Custom SVGs and Icons styling */
.ci-icon{
  width:44px; height:44px; border-radius:999px;
  background:rgba(201,168,76,.12); color:oklch(72% .11 80) !important;
  display:flex; align-items:center; justify-content:center;
  flex-shrink:0;
}
.ci-icon svg{ width:20px; height:20px; }

.why-custom-icon {
  display: block;
  width: 42px;
  height: 42px;
  object-fit: contain;
  margin-bottom: 24px;
  color: oklch(72% .11 80) !important;
}


/* ===================================================================
   AJUSTEMENTS DE DÉPLOIEMENT (Hero, Header Transparent & Centrage Chiffres)
=================================================================== */

/* --- 1. CONFIGURATION DU HERO CINEMATIC --- */
.hero-cinematic {
  padding: 0 0 80px !important; 
  align-items: center !important; 
}
.hero-cinematic .hero-title {
  font-size: 80px;
  width: 100%;
  max-width: 1000px !important; 
  margin-bottom: 0;
  line-height: 1.1;
}

/* --- 2. HEADER PREMIUM COLLANT & TRANSPARENT (EFFET FLOU) --- */
html {
  overflow: visible !important; 
}
body {
  overflow-x: hidden !important; 
}
.site-header {
  position: -webkit-sticky; 
  position: sticky;
  top: 0;
  z-index: 100; 
  background: rgba(250, 248, 245, 0.85) !important; /* Maintien de l'effet transparent */
  backdrop-filter: blur(14px) !important;            /* Effet flou arrière-plan */
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.02); 
  padding: 12px 0;
  border-bottom: none !important;
}
.nav {
  display: flex;
  align-items: center;
  justify-content: flex-start; 
  position: relative; 
  min-height: 60px;
}
.nav .brand, 
.nav .custom-logo-link {
  position: static;
  transform: none;
  display: flex;
  align-items: center;
}
.nav img.custom-logo {
  max-height: 42px;
  width: auto;
}
.nav ul.primary-menu {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  list-style: none;
  display: flex;
  gap: 60px;
  margin: 0;
  padding: 0;
}
.nav ul.primary-menu a {
  font-size: 0.95rem;
  font-weight: 400;
  color: var(--fg);
  text-decoration: none;
  transition: color 0.3s ease;
  white-space: nowrap; 
}
.nav ul.primary-menu a:hover,
.nav ul.primary-menu .current-menu-item > a {
  color: var(--accent);
}
.nav-toggle {
  display: none;
  background: none;
  border: 0;
  font-size: 1.8rem;
  cursor: pointer;
  color: var(--fg);
  padding: 0;
}

/* --- 3. ALIGNEMENT ET CENTRAGE DE LA SECTION CHIFFRES (ABOUT PAGE) --- */
.section-numbers {
  padding: 100px 0 !important; /* Espacement équilibré et condensé */
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.section-numbers .num-grid {
  margin-top: 0 !important; /* Suppression de la marge asymétrique du haut */
  width: 100%;
}
.section-numbers .section-head + .num-grid {
  margin-top: 60px !important; /* Conserve l'espace sur la home s'il y a un en-tête */
}

/* --- 4. ALIGNEMENTS ET CORRECTIONS STRUCTURELLES FINALES --- */
.eyebrow-row {
  flex-direction: row-reverse;
  justify-content: flex-end;
}
.eyebrow-row.eyebrow-center {
  justify-content: center;
}
.section-head.section-head-row {
  max-width: 100% !important;
  width: 100% !important;
}
.why-card p {
  margin-top: 16px !important;
  line-height: 1.6;
}


/* --- 5. GRILLES LOGOS ET COMPORTEMENT MOBILE (< 860px) --- */
@media screen and (max-width: 860px) {
  /* Grille des Marques forcée sur 3 Colonnes */
  .container .logo-grid {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 1px !important;
  }
  .container .logo-grid .logo-cell {
    min-width: unset !important;
    width: 100% !important;
    padding: 12px !important;
    aspect-ratio: 1 / 1 !important;
  }
  .container .logo-grid .logo-hover .logo-name {
    font-size: 0.75rem !important;
  }
  .container .logo-grid .logo-hover .logo-cat {
    display: none !important;
  }

  /* Gestion des grilles globales sur 1 colonne */
  .section-about .about,
  .alt-row, 
  .alt-row.alt-reverse,
  .about-page-grid,
  .contact-page-grid {
    display: flex;
    flex-direction: column;
    gap: 40px;
  }
  .about-media {
    width: 100%;
  }
  .about-badge {
    position: relative;
    top: 0;
    right: 0;
    margin-top: -30px;
    display: inline-block;
  }

  /* Correction Titre Hero Cinematic Mobile */
  .hero-cinematic .hero-title {
    font-size: clamp(1.8rem, 7vw, 2.5rem) !important; 
    max-width: 100% !important; 
    word-wrap: normal !important; 
    word-break: normal !important;
    overflow-wrap: normal !important;
  }
  
  /* Menu Mobile transparent / flouté */
  .nav {
    justify-content: space-between; 
  }
  .nav-toggle {
    display: block;
  }
  .nav ul.primary-menu {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    transform: none;
    display: none;
    background: rgba(250, 248, 245, 0.96) !important;
    backdrop-filter: blur(14px);
    flex-direction: column;
    padding: 24px;
    gap: 20px;
    border-bottom: 1px solid var(--line);
    box-shadow: var(--shadow);
  }
  .nav ul.primary-menu.open {
    display: flex;
  }
}