/*
 * components.css — Gentologie Média
 */

/* BASE */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{font-size:16px;scroll-behavior:smooth;-webkit-font-smoothing:antialiased;}
body{font-family:var(--font-sans);font-size:var(--text-body);line-height:var(--leading-relaxed);color:var(--text-on-dark);background:var(--bg-site);overflow-x:hidden;}
img,video{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
button{cursor:pointer;font-family:var(--font-sans);border:none;background:none;}
address{font-style:normal;}
.gm-hp{position:absolute;left:-9999px;opacity:0;pointer-events:none;}

/* Fix icône menu nav */
.wp-block-navigation img,
.wp-block-navigation-item img,
.wp-block-navigation .wp-block-image img {
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
  background: transparent !important;
  display: inline-block !important;
}

/* SCROLL PROGRESS */
#gm-progress{position:fixed;top:0;left:0;height:2px;background:var(--accent);z-index:1000;width:0;transition:width .1s linear;pointer-events:none;}

/* TOPBAR */
.topbar{background:var(--bg-topbar);border-bottom:1px solid var(--color-bronze-500);padding:0 var(--section-padding-x);height:var(--topbar-height);display:flex;align-items:center;justify-content:space-between;position:relative;z-index:100;}
.topbar__location{font-size:var(--text-xs);letter-spacing:.2em;text-transform:uppercase;color:var(--color-cream-100);}
.topbar__nav{display:flex;align-items:center;gap:var(--space-5);}
.topbar__links{display:flex;gap:var(--space-4);align-items:center;list-style:none;}
.topbar__links li{display:flex;align-items:center;}
.topbar__links a,.topbar__lang-link{font-size:var(--text-xs);letter-spacing:.16em;text-transform:uppercase;color:var(--color-cream-100);transition:color var(--duration-fast);}
.topbar__links a:hover,.topbar__lang-link:hover{color:var(--accent);}
.topbar__sep{color:var(--color-bronze-400);padding:0 2px;}
.topbar__lang{display:flex;gap:var(--space-3);align-items:center;}
.topbar__lang-link.is-active{color:var(--accent);}
.topbar__lang-link {color: var(--accent);}
.topbar__lang-link:hover {color: var(--color-cream-100);}

/* NAV */
.site-header{position:sticky;top:0;z-index:99;}
.nav{background:var(--bg-nav);padding:0 var(--section-padding-x);height:var(--nav-height);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--color-bronze-400);transition:background var(--duration-slow),box-shadow var(--duration-slow);}
.nav--scrolled{background:rgba(9,21,34,.92);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom-color:var(--color-bronze-500);box-shadow:0 2px 40px rgba(0,0,0,.45);}
.nav__logo{display:flex;align-items:center;flex-shrink:0;}
.nav__logo img{height:36px;width:auto;}
.nav__logo-text{font-family:var(--font-serif);font-size:14px;letter-spacing:.18em;color:var(--text-on-dark);text-transform:uppercase;}
.nav__logo-text b{color:var(--accent);font-weight:var(--weight-regular);}
.nav__menu-wrap{display:flex;align-items:center;}
.nav__links,ul.nav__links{display:flex;gap:var(--space-8);align-items:center;list-style:none;}
.nav__links a,.nav__links .nav__link{font-size:var(--text-sm);letter-spacing:.2em;text-transform:uppercase;color:var(--color-cream-100);transition:color var(--duration-fast);padding:var(--space-5) 0;display:block;white-space:nowrap;}
.nav__links a:hover,.nav__links .current-menu-item>a,.nav__links .current-page-ancestor>a{color:var(--accent);}
.nav__links .nav__link--cta,.nav__links .menu-item--cta>a{color:var(--accent)!important;border:1px solid var(--color-bronze-400);padding:var(--space-2) var(--space-5)!important;transition:background var(--duration-fast),color var(--duration-fast),border-color var(--duration-fast)!important;}
.nav__links .nav__link--cta:hover,.nav__links .menu-item--cta>a:hover{background:var(--accent);color:var(--color-dark-600)!important;border-color:var(--accent);}
.nav-item--lang{display:flex;gap:var(--space-2);align-items:center;}
.nav-lang{font-size:var(--text-xs);letter-spacing:.2em;text-transform:uppercase;color:var(--color-cream-500);transition:color var(--duration-fast);}
.nav-lang.is-active,.nav-lang:hover{color:var(--accent);}
.nav__toggle{display:none;flex-direction:column;gap:5px;padding:var(--space-2);cursor:pointer;}
.nav__toggle-bar{display:block;width:22px;height:1px;background:var(--text-on-dark);transition:transform var(--duration-base),opacity var(--duration-fast);}

/* MEGA-MENU */
.nav__item--has-children{position:relative;}
.mega-menu{position:absolute;top:calc(100% + 1px);left:50%;width:580px;background:var(--color-dark-500);border:1px solid var(--color-bronze-400);border-top:2px solid var(--accent);padding:var(--space-6);display:grid;grid-template-columns:1fr 1fr;gap:2px;opacity:0;pointer-events:none;transform:translateX(-50%) translateY(10px);transition:opacity .28s var(--ease-default),transform .28s var(--ease-default);box-shadow:0 24px 64px rgba(0,0,0,.55);z-index:40;}
.nav__item--has-children:hover .mega-menu{opacity:1;pointer-events:all;transform:translateX(-50%) translateY(0);}
.mega-menu__item{background:var(--color-dark-700);padding:var(--space-5);display:block;border-left:2px solid transparent;transition:background var(--duration-fast),border-color var(--duration-fast);}
.mega-menu__item:hover{background:var(--color-bronze-600);border-left-color:var(--accent);}
.mega-menu__tag{font-size:var(--text-2xs);letter-spacing:.25em;text-transform:uppercase;color:var(--accent);margin-bottom:var(--space-2);}
.mega-menu__name{font-family:var(--font-serif);font-size:var(--text-xl);color:var(--text-on-dark);font-weight:var(--weight-regular);margin-bottom:var(--space-2);}
.mega-menu__desc{font-size:var(--text-xs);color:var(--color-cream-500);line-height:var(--leading-relaxed);font-weight:var(--weight-light);}

/* SECTIONS */
.sect{padding:var(--section-padding-y) var(--section-padding-x);}
.sect--dark{background:var(--bg-section-dark);color:var(--text-on-dark);}
.sect--mid{background:var(--bg-section-mid);color:var(--text-on-dark);}
.sect--alt{background:var(--bg-section-alt);color:var(--text-on-dark);}
.sect--light{background:var(--bg-section-light);color:var(--text-on-light);}
.sect__head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-10);margin-bottom:var(--section-header-mb);flex-wrap:wrap;}
.sect__intro{font-size:var(--text-lg);line-height:var(--leading-loose);font-weight:var(--weight-light);max-width:400px;margin-left:auto;}
.sect--light .sect__intro{color:var(--color-ink-500);}
.sect--dark .sect__intro,.sect--alt .sect__intro,.sect--mid .sect__intro{color:var(--color-cream-400);}

/* LABEL / EYEBROW */
.label{font-size:var(--label-size);letter-spacing:var(--tracking-ultra);text-transform:uppercase;color:var(--label-color);display:flex;align-items:center;gap:var(--space-4);flex-shrink:0;}
.label::after{content:'';width:44px;height:1px;background:var(--accent);opacity:.4;}
.eyebrow{font-size:var(--text-sm);letter-spacing:var(--tracking-ultra);text-transform:uppercase;color:var(--accent);}

/* RÈGLE */
.rule{width:44px;height:2px;background:var(--accent);}
.rule--center{margin:0 auto;}

/* BOUTONS */
.btn{display:inline-block;font-family:var(--font-ui);font-size:var(--text-sm);font-weight:var(--weight-medium);letter-spacing:var(--tracking-widest);text-transform:uppercase;padding:var(--btn-padding-y) var(--btn-padding-x);transition:all var(--duration-base) var(--ease-default);text-align:center;cursor:pointer;border:none;}
.btn--primary{background:var(--accent);color:var(--color-dark-600);}
.btn--primary:hover{background:var(--accent-hover);transform:translateY(-1px);}
.btn--outline{background:transparent;color:var(--text-on-dark);border:1px solid rgba(255,245,230,.2);}
.btn--outline:hover{border-color:var(--accent);color:var(--accent);}
.btn--outline-bronze{background:transparent;color:var(--accent);border:1px solid var(--color-bronze-400);}
.btn--outline-bronze:hover{background:var(--accent);color:var(--color-dark-600);}
.btn--ghost{background:transparent;color:var(--color-ink-500);border:1px solid var(--color-ink-100);}
.btn--ghost:hover{border-color:var(--color-ink-300);color:var(--color-ink-700);}
.btn--full{width:100%;display:block;}

/* LIEN ÉDITORIAL */
.edito-link{display:inline-block;font-size:var(--text-sm);letter-spacing:var(--tracking-widest);text-transform:uppercase;color:var(--accent);border-bottom:1px solid var(--color-bronze-400);padding-bottom:2px;transition:border-color var(--duration-fast);}
.edito-link:hover{border-color:var(--accent);}

/* PLACEHOLDER IMAGE */
.gm-img-placeholder{background:var(--bg-card-dark);display:flex;align-items:center;justify-content:center;width:100%;height:100%;min-height:200px;}
.gm-img-placeholder span{font-size:var(--text-xs);letter-spacing:.2em;text-transform:uppercase;color:var(--color-cream-600);}

/* PAGE HERO */
.page-hero{background:var(--bg-section-dark);padding:clamp(3.5rem,6vw,5rem) var(--section-padding-x) clamp(3rem,5vw,4rem);border-bottom:1px solid var(--color-bronze-400);position:relative;overflow:hidden;}
.page-hero__inner{position:relative;z-index:1;max-width:760px;}
.page-hero__title{font-family:var(--font-serif);font-size:var(--text-6xl);font-weight:var(--weight-regular);line-height:var(--leading-tight);color:var(--text-on-dark);margin:var(--space-5) 0 var(--space-6);}
.page-hero__title em{font-style:italic;color:var(--color-cream-300);}
.page-hero__sub{font-size:var(--text-lg);line-height:var(--leading-loose);color:var(--color-cream-400);font-weight:var(--weight-light);max-width:560px;}
.page-hero__link{color:var(--accent);border-bottom:1px solid var(--color-bronze-400);}

/* HERO ACCUEIL */
/* HERO — règles originales préservées exactement */
.hero { position: relative; }
.hero__bg { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; opacity: 0.03; z-index: 0; pointer-events: none; }
.hero__inner { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: center; }
.hero__bg svg { width: 500px; height: auto; display: block; }
.hero__title { font-family: var(--font-serif); font-size: var(--text-6xl); font-weight: var(--weight-regular); line-height: var(--leading-tight); color: var(--text-on-dark); max-width: 840px; margin: 0 auto var(--space-7); }
.hero__title em { font-style: italic; color: var(--color-cream-300); }
.hero__lead { font-size: var(--text-lg); line-height: var(--leading-loose); color: var(--color-cream-400); max-width: 460px; margin: 0 auto var(--space-12); font-weight: var(--weight-light); }
.hero__btns { display: flex; gap: var(--space-3); justify-content: center; flex-wrap: wrap; }
.eyebrow { margin: var(--space-8) 0 var(--space-6); opacity: 0; animation: gm-up .7s ease .35s forwards; }

/* MARQUEE */
.marquee{background:var(--accent);padding:10px 0;overflow:hidden;white-space:nowrap;}
.marquee__track{display:inline-flex;animation:gm-marquee var(--marquee-speed) linear infinite;}
.marquee__item{font-size:var(--text-xs);letter-spacing:var(--tracking-ultra);text-transform:uppercase;color:var(--color-dark-600);padding:0 var(--space-10);font-weight:var(--weight-medium);}
.marquee__dot{color:rgba(11,25,41,.3);padding:0 var(--space-4);}

/* SERVICES GRID */
.services-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:rgba(0,0,0,.1);}
.service-card{padding:clamp(2rem,3.5vw,2.75rem) clamp(1.25rem,2vw,1.75rem);background:var(--bg-section-light);position:relative;overflow:hidden;transition:background var(--duration-base);}
.service-card::after{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform var(--duration-slow);}
.service-card:hover::after{transform:scaleX(1);}
.service-card:hover{background:#f5edd8;}
.service-card__num{font-family:var(--font-serif);font-size:clamp(2rem,4vw,3rem);color:var(--accent);line-height:1;margin-bottom:var(--space-5);opacity:.3;}
.service-card__title{font-family:var(--font-serif);font-size:var(--text-2xl);margin-bottom:var(--space-3);font-weight:var(--weight-regular);color:var(--color-ink-900);}
.service-card__desc{font-size:var(--text-body);line-height:var(--leading-relaxed);font-weight:var(--weight-light);color:var(--color-ink-500);}

/* BRANDS GRID */
.brands-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:2px;background:var(--color-bronze-400);}
.brands-stack{display:flex;flex-direction:column;gap:2px;}
.brand-card{background:var(--bg-card-dark);padding:var(--card-padding);display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden;transition:background var(--duration-base);flex:1;}
.brand-card:hover{background:#0d1e30;}
.brand-card--hero{min-height:520px;}
.brand-card__bar{position:absolute;top:0;left:0;right:0;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform var(--duration-slow);}
.brand-card:hover .brand-card__bar{transform:scaleX(1);}
.brand-card__content{flex:1;display:flex;flex-direction:column;gap:var(--space-3);margin-bottom:var(--space-7);}
.brand-card__accent{position:absolute;bottom:-24px;right:-12px;font-family:var(--font-serif);font-weight:var(--weight-semi);color:var(--color-bronze-700);pointer-events:none;line-height:1;}
.brand-card--hero .brand-card__accent{font-size:220px;}
.brand-card:not(.brand-card--hero) .brand-card__accent{font-size:100px;}
.brand-card__num{font-size:var(--text-xs);letter-spacing:var(--tracking-wider);color:var(--color-bronze-300);margin-bottom:var(--space-5);font-family:var(--font-serif);}
.brand-card__tag{font-size:var(--text-2xs);letter-spacing:var(--tracking-ultra);text-transform:uppercase;color:var(--accent);margin-bottom:var(--space-4);}
.brand-card__name{font-family:var(--font-serif);font-weight:var(--weight-regular);color:var(--text-on-dark);line-height:var(--leading-snug);margin-bottom:var(--space-4);}
.brand-card--hero .brand-card__name{font-size:var(--text-5xl);}
.brand-card:not(.brand-card--hero) .brand-card__name{font-size:var(--text-3xl);}
.brand-card__desc{font-size:var(--text-body);line-height:var(--leading-relaxed);color:var(--color-cream-400);font-weight:var(--weight-light);margin-bottom:var(--space-7);flex:1;}
.brand-card--hero .brand-card__desc{font-size:var(--text-lg);max-width:340px;}
.brand-card__link{font-size:var(--text-xs);letter-spacing:var(--tracking-widest);text-transform:uppercase;color:var(--accent);border-bottom:1px solid var(--color-bronze-400);padding-bottom:3px;align-self:flex-start;transition:border-color var(--duration-fast);}
.brand-card__link:hover{border-color:var(--accent);}

/* STATS */
.stats-bar{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--bg-section-dark);}
.stat{background:var(--bg-section-light);padding:clamp(2.5rem,5vw,4rem) var(--space-7);text-align:center;}
.stat__num{font-family:var(--font-serif);font-size:clamp(3rem,6vw,5rem);color:var(--color-ink-900);line-height:1;margin-bottom:var(--space-3);font-weight:var(--weight-regular);}
.stat__label{font-size:var(--text-xs);letter-spacing:var(--tracking-widest);text-transform:uppercase;color:var(--color-ink-300);}

/* CLIENTS */
.clients-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;}
.client-cell{background:var(--bg-card-dark);padding:var(--space-8) var(--space-6);display:flex;align-items:center;justify-content:center;min-height:96px;transition:background var(--duration-fast);}
.client-cell:hover{background:#0d1e30;}
.client-cell__name{font-family:var(--font-serif);font-size:var(--text-xl);color:var(--color-cream-500);letter-spacing:var(--tracking-wide);text-align:center;font-weight:var(--weight-regular);transition:color var(--duration-fast);}
.client-cell:hover .client-cell__name{color:var(--color-cream-300);}
.client-cell__name--feat{color:var(--color-bronze-300);font-size:var(--text-2xl);max-width: 50%;}
.client-cell:hover .client-cell__name--feat{color:var(--accent);}
.clients-note{margin-top:var(--space-6);font-size:var(--text-xs);letter-spacing:var(--tracking-wider);text-transform:uppercase;color:var(--color-cream-600);}

/* CTA */
.cta-sect{background:var(--bg-section-dark);padding:clamp(5rem,8vw,7rem) var(--section-padding-x);text-align:center;position:relative;overflow:hidden;border-top:1px solid var(--color-bronze-400);}
.cta-sect::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 60% 50% at 50% 110%,var(--color-bronze-600),transparent 65%);pointer-events:none;}
.cta-sect__inner{position:relative;}
.cta-sect__eyebrow{font-size:var(--text-sm);letter-spacing:var(--tracking-ultra);text-transform:uppercase;color:var(--accent);margin-bottom:var(--space-5);}
.cta-sect__title{font-family:var(--font-serif);font-size:var(--text-5xl);color:var(--text-on-dark);margin-bottom:var(--space-4);font-weight:var(--weight-regular);line-height:var(--leading-snug);}
.cta-sect__sub{font-size:var(--text-sm);letter-spacing:var(--tracking-wider);text-transform:uppercase;color:var(--color-cream-500);margin-bottom:var(--space-10);}
.cta-sect__email{margin-top:var(--space-8);}
.cta-sect__email a{font-family:var(--font-serif);font-size:var(--text-2xl);color:var(--color-cream-500);transition:color var(--duration-fast);}
.cta-sect__email a:hover{color:var(--accent);}

/* FOOTER */
.footer__main{background:var(--bg-footer);padding:clamp(3.5rem,5vw,4.5rem) var(--section-padding-x) clamp(3rem,4vw,3.5rem);display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:clamp(2.5rem,4vw,3.5rem);border-top:1px solid var(--color-bronze-400);}
.footer__logo{font-family:var(--font-serif);font-size:13px;letter-spacing:var(--tracking-wider);color:var(--text-on-dark);text-transform:uppercase;display:block;margin-bottom:var(--space-5);}
.footer__logo b{color:var(--accent);font-weight:var(--weight-regular);}
.footer__logo img{height:28px;width:auto;margin-bottom:var(--space-5);}
.footer__about{font-size:var(--text-body);line-height:var(--leading-relaxed);color:var(--color-cream-100);font-weight:var(--weight-light);max-width:220px;margin-bottom:var(--space-6);}
.footer__socials{display:flex;gap:var(--space-4);flex-wrap:wrap;}
.footer__social-link{font-size:var(--text-xs);letter-spacing:var(--tracking-wider);color:var(color-cream-100);text-transform:uppercase;transition:color var(--duration-fast);}
.footer__social-link:hover{color:var(--accent);}
.footer__col-title{font-size:var(--text-xs);letter-spacing:var(--tracking-ultra);text-transform:uppercase;color:var(--accent);margin-bottom:var(--space-5);}
.footer__links{list-style:none;}
.footer__links li{margin-bottom:var(--space-3);}
.footer__links a{font-size:var(--text-body);color:var(--color-cream-100);letter-spacing:var(--tracking-wide);transition:color var(--duration-fast);}
.footer__links a:hover{color:rgba(255,245,230,.6);}
.footer__links-email{margin-top:var(--space-5)!important;}
.footer__bar{background:var(--bg-footer-bar);padding:var(--space-4) var(--section-padding-x);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--space-3);}
.footer__copy{font-size:var(--text-xs);color:var(--color-cream-600);letter-spacing:var(--tracking-wide);}
.footer__legal{display:flex;gap:var(--space-6);flex-wrap:wrap;}
.footer__legal a{font-size:var(--text-xs);color:var(--color-cream-600);letter-spacing:var(--tracking-wide);transition:color var(--duration-fast);}
.footer__legal a:hover{color:var(--color-cream-300);}

/* FORMULAIRES */
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4) var(--space-5);}
.form-group{display:flex;flex-direction:column;gap:var(--space-2);}
.form-group--full{grid-column:1/-1;}
.form-label{font-size:var(--text-xs);letter-spacing:var(--tracking-ultra);text-transform:uppercase;color:var(--accent);}
.form-input{background:rgba(9,21,34,.5);border:1px solid var(--color-bronze-500);color:var(--text-on-dark);font-family:var(--font-sans);font-size:var(--text-body);padding:var(--input-padding-y) var(--input-padding-x);outline:none;transition:border-color var(--duration-fast);width:100%);}
.form-input:focus{border-color:var(--accent);}
.form-input::placeholder{color:var(--color-cream-600);}
textarea.form-input{resize:vertical;min-height:140px;line-height:var(--leading-relaxed);}
select.form-input{cursor:pointer;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%239C5336' opacity='.6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;background-size:10px;}
.form-note{font-size:var(--text-xs);color:var(--color-cream-600);letter-spacing:var(--tracking-wide);margin-top:var(--space-4);line-height:var(--leading-relaxed);}
.contact-form__success{background:var(--color-bronze-600);border:1px solid var(--color-bronze-400);color:var(--text-on-dark);padding:var(--space-4) var(--space-6);margin-bottom:var(--space-6);}

/* CONTACT INFOS */
.contact-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:2px;background:var(--color-bronze-400);margin-top:2px;}
.contact-info{background:var(--bg-section-dark);padding:var(--card-padding);}
.contact-form{background:var(--bg-section-mid);padding:var(--card-padding);}
.contact-form__title{font-family:var(--font-serif);font-size:var(--text-4xl);color:var(--text-on-dark);font-weight:var(--weight-regular);margin-bottom:var(--space-2);}
.contact-form__sub{font-size:var(--text-body);color:var(--color-cream-400);font-weight:var(--weight-light);margin-bottom:var(--space-8);}
.contact-info__block{margin-bottom:var(--space-10);padding-bottom:var(--space-10);border-bottom:1px solid var(--color-bronze-500);}
.contact-info__block:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0;}
.contact-info__label{font-size:var(--text-xs);letter-spacing:var(--tracking-ultra);text-transform:uppercase;color:var(--accent);margin-bottom:var(--space-4);}
/* Emails en grille 2 colonnes */
.contact-info__emails{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-5) var(--space-8);margin-top:var(--space-4);}
.contact-info__email-row{display:flex;flex-direction:column;gap:var(--space-1);}
.contact-info__email-type{font-size:var(--text-xs);letter-spacing:var(--tracking-wider);text-transform:uppercase;color:var(--color-cream-600);}
.contact-info__email-addr{font-family:var(--font-serif);font-size:var(--text-xl);color:var(--accent);transition:opacity var(--duration-fast);word-break:break-all;}
.contact-info__email-addr:hover{opacity:.75;}
.contact-info__address{font-family:var(--font-serif);font-size:var(--text-2xl);color:var(--text-on-dark);line-height:var(--leading-snug);margin-bottom:var(--space-3);}
.contact-info__note{font-size:var(--text-body);color:var(--color-cream-500);font-weight:var(--weight-light);line-height:var(--leading-relaxed);max-width:380px;}
.contact-info__socials{display:flex;flex-direction:column;gap:var(--space-3);margin-top:var(--space-5);}
.location-badge{display:inline-flex;align-items:center;gap:var(--space-3);background:var(--color-bronze-600);border:1px solid var(--color-bronze-400);padding:var(--space-3) var(--space-5);margin-top:var(--space-5);}
.location-badge__dot{width:6px;height:6px;border-radius:50%;background:var(--accent);flex-shrink:0;}
.location-badge__text{font-size:var(--text-sm);letter-spacing:var(--tracking-wider);text-transform:uppercase;color:var(--color-cream-400);}
.map-placeholder{background:var(--bg-section-alt);height:220px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-4);border-top:1px solid var(--color-bronze-400);}
.map-placeholder__city{font-family:var(--font-serif);font-size:var(--text-4xl);color:var(--text-on-dark);opacity:.2;}
.map-placeholder__sub{font-size:var(--text-xs);letter-spacing:var(--tracking-ultra);text-transform:uppercase;color:var(--color-cream-600);}

/* SCROLL REVEAL */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .72s cubic-bezier(.76,0,.24,1),transform .72s cubic-bezier(.76,0,.24,1);}
.reveal--visible{opacity:1;transform:translateY(0);}

/* ANIMATIONS */
@keyframes gm-up{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes gm-fade{from{opacity:0}to{opacity:1}}
@keyframes gm-marquee{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}

/* RESPONSIVE TABLETTE ≤ 1024px */
@media(max-width:1024px){
  .services-grid{grid-template-columns:repeat(2,1fr);}
  .stats-bar{grid-template-columns:repeat(2,1fr);}
  .brands-grid{grid-template-columns:1fr;}
  .brands-stack{flex-direction:row;flex-wrap:wrap;}
  .brands-stack .brand-card{min-width:240px;flex:1;}
  .footer__main{grid-template-columns:1fr 1fr;}
  .contact-grid{grid-template-columns:1fr;}
  .contact-info__emails{grid-template-columns:1fr 1fr;}
}

/* RESPONSIVE MOBILE ≤ 768px */
@media(max-width:768px){
  .topbar{display:none;}
  .nav{padding:0 var(--space-5);}
  .nav__links{display:none;}
  .nav__toggle{display:flex;}
  .nav__menu-wrap--open .nav__links{display:flex!important;flex-direction:column;position:fixed;top:var(--nav-height);left:0;right:0;bottom:0;background:var(--bg-nav);padding:var(--space-8) var(--space-6);gap:var(--space-6);z-index:40;overflow-y:auto;border-top:1px solid var(--color-bronze-400);}
  .nav__menu-wrap--open .nav__links a{font-size:var(--text-lg);padding:var(--space-3) 0;}
  /* Hero */
  .hero{padding:var(--space-16) var(--space-5) var(--space-12);}
  .hero::before{font-size:55vw;}
  .hero__title{font-size:clamp(2rem,8vw,3rem);}
  .hero__lead{font-size:var(--text-body);max-width:100%;}
  .hero__btns{flex-direction:column;align-items:center;}
  .hero__btns .btn{width:100%;max-width:320px;}
  /* Page hero */
  .page-hero{padding:var(--space-12) var(--space-5) var(--space-8);}
  .page-hero__title{font-size:clamp(2rem,8vw,2.8rem);}
  .page-hero__sub{font-size:var(--text-body);}
  /* Sections */
  .sect{padding:var(--space-12) var(--space-5);}
  .sect__head{flex-direction:column;gap:var(--space-4);}
  .sect__intro{margin-left:0;max-width:100%;font-size:var(--text-body);}
  /* Grilles */
  .services-grid{grid-template-columns:1fr;}
  .clients-grid{grid-template-columns:repeat(2,1fr);}
  .stats-bar{grid-template-columns:repeat(2,1fr);}
  .brands-stack{flex-direction:column;}
  /* Footer */
  .footer__main{grid-template-columns:1fr;gap:var(--space-8);}
  .footer__bar{flex-direction:column;text-align:center;}
  /* Contact */
  .contact-grid{grid-template-columns:1fr;}
  .contact-info__emails{grid-template-columns:1fr;}
  .form-grid{grid-template-columns:1fr;}
  /* CTA */
  .cta-sect__title{font-size:clamp(1.75rem,7vw,2.5rem);}
}
