/* ================================================
   STUDIO CONQUÉRANT — Main Stylesheet v2
   ================================================ */

body {
  background: var(--noir);
  color: var(--blanc);
  font-family: var(--font-body);
  font-weight: 300;
  overflow-x: hidden;
  font-size: 15px;
  line-height: 1.6;
}
body::after {
  content: '';
  position: fixed; inset: 0;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.035'/%3E%3C/svg%3E");
  pointer-events: none; z-index: 9999; opacity: 0.5;
}

/* ── TYPOGRAPHY ── */
h1,.h1 { font-family:var(--font-display);font-weight:300;font-size:clamp(52px,6vw,86px);line-height:1.05; }
h2,.h2 { font-family:var(--font-display);font-weight:300;font-size:clamp(38px,4vw,60px);line-height:1.1; }
h3,.h3 { font-family:var(--font-display);font-weight:600;font-size:clamp(22px,2.2vw,28px);line-height:1.2; }
h1 em,h2 em,h3 em { font-style:italic;color:var(--or-clair); }

.overline {
  display:flex;align-items:center;gap:14px;
  font-size:10px;font-weight:600;letter-spacing:0.38em;text-transform:uppercase;
  color:var(--or);margin-bottom:24px;
}
.overline::before { content:'';display:block;width:30px;height:1px;background:var(--or);flex-shrink:0; }
.overline--center { justify-content:center; }
.overline--center::before { display:none; }

/* ── BUTTONS ── */
.btn {
  display:inline-flex;align-items:center;gap:10px;
  font-family:var(--font-body);font-size:11px;font-weight:600;
  letter-spacing:0.2em;text-transform:uppercase;
  transition:all var(--t-fast) var(--ease);cursor:pointer;white-space:nowrap;
}
.btn-gold { color:var(--noir);background:var(--or);padding:16px 40px;border:1px solid var(--or); }
.btn-gold:hover { background:var(--or-clair);border-color:var(--or-clair);transform:translateY(-1px); }
.btn-outline { color:var(--or);background:transparent;padding:15px 36px;border:1px solid var(--or-ligne); }
.btn-outline:hover { background:var(--or-pale);border-color:var(--or); }
.btn-ghost { color:var(--gris-clair);background:none;padding:0;font-size:11px; }
.btn-ghost .arrow { font-size:15px;transition:transform var(--t-fast) var(--ease); }
.btn-ghost:hover { color:var(--or); }
.btn-ghost:hover .arrow { transform:translateX(5px); }

/* ── ORNEMENT ── */
.ornement { display:flex;align-items:center;justify-content:center;gap:18px;margin-bottom:40px; }
.ornement-line { width:80px;height:1px;background:linear-gradient(to right,transparent,rgba(171,140,82,.5)); }
.ornement-line.r { background:linear-gradient(to left,transparent,rgba(171,140,82,.5)); }
.ornement-diamond { width:7px;height:7px;background:var(--or);transform:rotate(45deg); }
.divider { border:none;border-top:1px solid var(--ligne);margin:0; }

/* ── REVEAL ── */
.reveal { opacity:0;transform:translateY(28px);transition:opacity var(--t-slow) var(--ease),transform var(--t-slow) var(--ease); }
.reveal.visible { opacity:1;transform:translateY(0); }
.reveal-delay-1 { transition-delay:.1s; }
.reveal-delay-2 { transition-delay:.2s; }
.reveal-delay-3 { transition-delay:.3s; }

/* ══════════════════════════
   NAV
══════════════════════════ */
.nav {
  position:fixed;top:0;left:0;right:0;z-index:100;
  display:grid;
  grid-template-columns: auto 1fr auto;
  align-items:center;
  gap:24px;
  padding:20px var(--pad-x);
  transition:background var(--t-mid),border-color var(--t-mid);
  background:linear-gradient(to bottom,rgba(10,10,10,.97) 0%,transparent 100%);
}
.nav.scrolled { background:rgba(10,10,10,.97);border-bottom:1px solid var(--ligne); }

.nav-logo { font-family:var(--font-display);font-size:18px;font-weight:600;letter-spacing:.32em;text-transform:uppercase;color:var(--blanc);flex-shrink:0;white-space:nowrap; }
.nav-logo span { color:var(--or); }

.nav-center { display:flex;gap:32px;justify-content:center;align-items:center; }
.nav-center a { font-size:11px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--gris-clair);transition:color var(--t-fast);white-space:nowrap; }
.nav-center a:hover,.nav-center a.active { color:var(--or); }

.nav-right { display:flex;align-items:center;gap:16px;justify-content:flex-end; }

/* Hamburger */
.nav-hamburger { display:none;flex-direction:column;gap:5px;padding:6px;background:none;border:none;cursor:pointer; }
.nav-hamburger span { display:block;width:24px;height:1px;background:var(--blanc);transition:all var(--t-fast); }

/* Mobile nav */
.nav-mobile {
  display:none;position:fixed;inset:0;background:rgba(10,10,10,.99);
  z-index:99;flex-direction:column;align-items:center;justify-content:center;gap:28px;
}
.nav-mobile.open { display:flex; }
.nav-mobile a:not(.btn) { font-family:var(--font-display);font-size:40px;font-weight:300;color:var(--blanc);letter-spacing:.08em;transition:color var(--t-fast); }
.nav-mobile a:not(.btn):hover { color:var(--or); }
.nav-mobile .btn-gold { font-size:11px;letter-spacing:.18em; }
.nav-mobile-divider { width:1px;height:28px;background:rgba(255,255,255,.1); }
.nav-mobile-lang { display:flex;border:1px solid rgba(255,255,255,.15);margin-top:12px;overflow:hidden; }
.nav-mobile-lang a { font-family:var(--font-body);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--gris-clair);padding:10px 22px;transition:all var(--t-fast); }
.nav-mobile-lang a.active { color:var(--or);background:var(--or-pale); }
.nav-mobile-lang span { width:1px;background:rgba(255,255,255,.12);display:block; }

/* ══════════════════════════
   PAGE HERO (pages internes)
══════════════════════════ */
.page-hero { padding:160px var(--pad-x) 72px;border-bottom:1px solid var(--ligne); }
.page-hero h1 { margin-top:16px; }

/* ══════════════════════════
   FOOTER — redesigned
══════════════════════════ */
.footer { background:var(--noir-doux);border-top:1px solid var(--ligne); }

.footer-top {
  padding:72px var(--pad-x) 52px;
  display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:60px;
  border-bottom:1px solid var(--ligne);
}
.footer-logo { font-family:var(--font-display);font-size:20px;font-weight:600;letter-spacing:.3em;text-transform:uppercase;color:var(--blanc);display:block;margin-bottom:14px; }
.footer-logo span { color:var(--or); }
.footer-tagline { font-size:13px;font-weight:300;color:var(--gris);line-height:1.8;max-width:220px; }

.footer-col-title { font-size:10px;font-weight:600;letter-spacing:.3em;text-transform:uppercase;color:var(--or);margin-bottom:18px; }
.footer-col-links { display:flex;flex-direction:column;gap:12px; }
.footer-col-links a { font-size:13px;font-weight:300;color:var(--gris-clair);transition:color var(--t-fast);letter-spacing:.02em; }
.footer-col-links a:hover { color:var(--or); }

.footer-contact-item { margin-bottom:14px; }
.footer-contact-label { font-size:9.5px;font-weight:600;letter-spacing:.25em;text-transform:uppercase;color:var(--gris);margin-bottom:4px; }
.footer-contact-value { font-size:13px;font-weight:300;color:var(--gris-clair); }
.footer-contact-value a { color:var(--or);transition:color var(--t-fast); }
.footer-contact-value a:hover { color:var(--or-clair); }

.footer-bottom { padding:22px var(--pad-x);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px; }
.footer-copy { font-size:11px;color:var(--gris);letter-spacing:.08em; }
.footer-legal { display:flex;gap:28px; }
.footer-legal a { font-size:11px;font-weight:400;letter-spacing:.1em;color:var(--gris);transition:color var(--t-fast); }
.footer-legal a:hover { color:var(--or); }

/* ══════════════════════════
   HOME HERO
══════════════════════════ */
.hero {
  min-height:100vh;display:grid;grid-template-columns:1fr 1fr;
  align-items:center;padding:120px var(--pad-x) 80px;gap:60px;
  position:relative;overflow:hidden;
}
.hero::before { content:'';position:absolute;top:-10%;right:-5%;width:700px;height:700px;background:radial-gradient(circle,rgba(171,140,82,.055) 0%,transparent 65%);pointer-events:none; }
.hero::after { content:'';position:absolute;left:var(--pad-x);top:140px;bottom:80px;width:1px;background:linear-gradient(to bottom,transparent,rgba(171,140,82,.25),transparent); }

.hero-content { z-index:2;padding-left:24px; }
.hero-content h1 { margin-top:16px;margin-bottom:28px; }
.hero-desc { font-size:15px;font-weight:300;line-height:1.9;color:var(--gris-clair);max-width:460px;margin-bottom:48px; }
.hero-desc strong { color:var(--blanc);font-weight:400; }
.hero-btns { display:flex;gap:28px;align-items:center;flex-wrap:wrap; }

.hero-visual { position:relative;height:75vh;display:flex;align-items:center;justify-content:center; }
.hero-img-wrap { width:100%;height:100%;background:linear-gradient(145deg,#181818,#0e0e0e);border:1px solid var(--ligne);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden; }
.hero-img-wrap img { width:100%;height:100%;object-fit:cover; }
.hero-img-wrap::before { content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 60% 40%,rgba(171,140,82,.07) 0%,transparent 60%);pointer-events:none;z-index:1; }
.hero-badge { position:absolute;bottom:-20px;left:-20px;background:var(--noir-doux);border:1px solid rgba(171,140,82,.25);padding:18px 26px;z-index:3; }
.hero-badge-num { font-family:var(--font-display);font-size:34px;font-weight:300;color:var(--or);line-height:1; }
.hero-badge-txt { font-size:10px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--gris);margin-top:4px; }

/* Stats */
.stats-strip { border-top:1px solid var(--ligne);border-bottom:1px solid var(--ligne);padding:0 var(--pad-x);display:grid;grid-template-columns:repeat(4,1fr); }
.stat-item { padding:36px 0;display:flex;flex-direction:column;gap:7px; }
.stat-item+.stat-item { border-left:1px solid var(--ligne);padding-left:48px; }
.stat-num { font-family:var(--font-display);font-size:40px;font-weight:300;color:var(--or);line-height:1; }
.stat-label { font-size:10px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--gris); }

/* Logos — infinite auto-scroll marquee */
.logos-strip {
  padding:22px 0;
  border-bottom:1px solid var(--ligne);
  overflow:hidden;
  position:relative;
}
/* Fade edges */
.logos-strip::before,
.logos-strip::after {
  content:'';
  position:absolute;top:0;bottom:0;width:80px;z-index:2;pointer-events:none;
}
.logos-strip::before { left:0;background:linear-gradient(to right,var(--noir) 0%,transparent 100%); }
.logos-strip::after  { right:0;background:linear-gradient(to left,var(--noir) 0%,transparent 100%); }

.logos-track {
  display:flex;
  gap:72px;
  width:max-content;
  animation: marquee 28s linear infinite;
  will-change: transform;
}
.logos-track:hover { animation-play-state:paused; }

@keyframes marquee {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-33.333%); }
}

.logo-name {
  font-family:var(--font-display);font-size:15px;font-weight:600;
  letter-spacing:.22em;color:rgba(255,255,255,.18);text-transform:uppercase;
  white-space:nowrap;transition:color var(--t-mid);user-select:none;
}
.logo-name:hover { color:rgba(171,140,82,.5); }

/* Hide old elements if still present */
.logos-label,.logos-sep,.logos-list { display:none; }

/* Problem */
.section-problem { padding:var(--pad-y) var(--pad-x);display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center; }
.problem-text { font-size:15px;font-weight:300;line-height:2;color:var(--gris-clair); }
.problem-text strong { color:var(--blanc);font-weight:400; }
.problem-text p+p { margin-top:22px; }
.problem-visual { aspect-ratio:4/3;background:var(--noir-card);border:1px solid var(--ligne);overflow:hidden;display:flex;align-items:center;justify-content:center; }
.problem-visual img { width:100%;height:100%;object-fit:cover; }

/* Expertise */
.section-expertise { background:var(--noir-doux);padding:var(--pad-y) var(--pad-x); }
.expertise-top { display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:56px;flex-wrap:wrap;gap:28px; }
.expertise-pills { display:flex;gap:8px;flex-wrap:wrap; }
.pill { font-size:10px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--gris-clair);border:1px solid rgba(255,255,255,.1);padding:9px 18px;cursor:pointer;transition:all var(--t-fast);background:none;font-family:var(--font-body); }
.pill:hover,.pill.active { color:var(--or);border-color:rgba(171,140,82,.45);background:var(--or-pale); }
.expertise-grid { display:grid;grid-template-columns:repeat(4,1fr);gap:var(--gap); }
.exp-card { background:var(--noir);padding:52px 36px 48px;position:relative;overflow:hidden;transition:background var(--t-mid); }
.exp-card::after { content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:linear-gradient(to right,var(--or),transparent);transform:scaleX(0);transform-origin:left;transition:transform var(--t-mid); }
.exp-card:hover { background:rgba(171,140,82,.025); }
.exp-card:hover::after { transform:scaleX(1); }
.exp-num { font-family:var(--font-display);font-size:12px;font-weight:600;letter-spacing:.3em;color:var(--or);opacity:.5;margin-bottom:32px; }
.exp-title { font-family:var(--font-display);font-size:24px;font-weight:600;color:var(--blanc);margin-bottom:8px; }
.exp-sub { font-size:10px;font-weight:600;letter-spacing:.26em;text-transform:uppercase;color:var(--or);margin-bottom:22px; }
.exp-text { font-size:13px;font-weight:300;line-height:1.95;color:var(--gris); }
.exp-arrow { position:absolute;bottom:32px;right:32px;font-size:18px;color:rgba(171,140,82,.25);transition:all var(--t-fast); }
.exp-card:hover .exp-arrow { color:var(--or);transform:translate(3px,-3px); }

/* Diff + Idéal */
.section-diff { padding:var(--pad-y) var(--pad-x);display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:start; }
.diff-cols { display:grid;grid-template-columns:1fr 1fr;gap:44px;margin-top:48px; }
.diff-col-title { font-size:10px;font-weight:600;letter-spacing:.28em;text-transform:uppercase;color:var(--or);margin-bottom:18px;padding-bottom:12px;border-bottom:1px solid var(--ligne-or); }
.diff-list { display:flex;flex-direction:column;gap:13px; }
.diff-list li { font-size:13px;font-weight:300;line-height:1.7;color:var(--gris-clair);padding-left:16px;position:relative; }
.diff-list li::before { content:'—';position:absolute;left:0;color:rgba(171,140,82,.5);font-size:10px; }
.ideal-label { font-family:var(--font-display);font-size:30px;font-weight:300;line-height:1.3;margin-bottom:8px; }
.ideal-label em { font-style:italic;color:var(--or-clair); }
.ideal-sub { font-size:12px;font-weight:300;color:var(--gris);margin-bottom:28px; }
.ideal-list { border-top:1px solid var(--ligne); }
.ideal-item { padding:18px 0;border-bottom:1px solid var(--ligne);display:flex;align-items:flex-start;gap:16px; }
.ideal-dot { width:6px;height:6px;background:var(--or);transform:rotate(45deg);flex-shrink:0;margin-top:7px; }
.ideal-item-text { font-size:14px;font-weight:300;line-height:1.6;color:var(--gris-clair); }

/* Work */
.section-work { padding:60px var(--pad-x) var(--pad-y);background:var(--noir-doux); }
.work-header { display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:48px;flex-wrap:wrap;gap:20px; }
.work-grid { display:grid;grid-template-columns:1.5fr 1fr 1fr;grid-template-rows:340px 260px;gap:var(--gap); }
.work-item { position:relative;overflow:hidden;background:#181818;cursor:pointer; }
.work-item:first-child { grid-row:span 2; }
.work-img { width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease); }
.work-item:hover .work-img { transform:scale(1.04); }
.work-placeholder { width:100%;height:100%;background:linear-gradient(145deg,#1c1c1c,#131313);display:flex;align-items:center;justify-content:center; }
.work-placeholder span { font-family:var(--font-display);font-size:11px;letter-spacing:.3em;color:rgba(255,255,255,.06);text-transform:uppercase; }
.work-overlay { position:absolute;inset:0;background:linear-gradient(to top,rgba(10,10,10,.92) 0%,transparent 55%);opacity:0;transition:opacity var(--t-mid);display:flex;flex-direction:column;justify-content:flex-end;padding:32px; }
.work-item:hover .work-overlay { opacity:1; }
.work-type { font-size:9px;font-weight:600;letter-spacing:.28em;text-transform:uppercase;color:var(--or);margin-bottom:8px; }
.work-name { font-family:var(--font-display);font-size:26px;font-weight:600;color:var(--blanc); }

/* Process */
.section-process { padding:var(--pad-y) var(--pad-x); }
.process-header { text-align:center;margin-bottom:84px; }
.process-track { display:grid;grid-template-columns:repeat(4,1fr);position:relative; }
.process-track::before { content:'';position:absolute;top:27px;left:calc(12.5% + 10px);right:calc(12.5% + 10px);height:1px;background:linear-gradient(to right,var(--or) 0%,rgba(171,140,82,.15) 100%); }
.p-step { display:flex;flex-direction:column;align-items:center;text-align:center;padding:0 16px; }
.p-num { width:54px;height:54px;border:1px solid rgba(171,140,82,.35);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:20px;font-weight:600;color:var(--or);background:var(--noir);position:relative;z-index:2;margin-bottom:28px;transition:border-color var(--t-fast),background var(--t-fast); }
.p-step:hover .p-num { background:var(--or-pale);border-color:var(--or); }
.p-title { font-family:var(--font-display);font-size:22px;font-weight:600;color:var(--blanc);margin-bottom:16px; }
.p-items { font-size:12px;font-weight:300;line-height:2.2;color:var(--gris); }
.p-items li::before { content:'— ';color:rgba(171,140,82,.4); }

/* CTA */
.section-cta { padding:var(--pad-y) var(--pad-x);text-align:center;position:relative;overflow:hidden;background:var(--noir-doux); }
.section-cta::before { content:'';position:absolute;inset:0;background:radial-gradient(ellipse at center 40%,rgba(171,140,82,.065) 0%,transparent 60%); }
.cta-frame { position:absolute;top:40px;left:40px;right:40px;bottom:40px;border:1px solid var(--ligne);pointer-events:none; }
.cta-frame::before,.cta-frame::after { content:'';position:absolute;width:22px;height:22px;border-color:rgba(171,140,82,.4);border-style:solid; }
.cta-frame::before { top:-1px;left:-1px;border-width:2px 0 0 2px; }
.cta-frame::after { bottom:-1px;right:-1px;border-width:0 2px 2px 0; }
.cta-inner { position:relative;z-index:2; }
.cta-eyebrow { font-size:10px;font-weight:600;letter-spacing:.38em;text-transform:uppercase;color:var(--or);margin-bottom:20px; }
.cta-title { font-family:var(--font-display);font-size:clamp(44px,5vw,70px);font-weight:300;line-height:1.1;color:var(--blanc);margin-bottom:24px;max-width:680px;margin-left:auto;margin-right:auto; }
.cta-title em { font-style:italic;color:var(--or-clair); }
.cta-sub { font-size:15px;font-weight:300;color:var(--gris-clair);max-width:460px;margin:0 auto 48px;line-height:1.9; }
.cta-sub strong { color:var(--blanc);font-weight:400; }

/* ══════════════════════════
   REALISATIONS
══════════════════════════ */
.section-portfolio { padding:60px var(--pad-x) var(--pad-y); }
.portfolio-filter { display:flex;gap:8px;margin-bottom:48px;flex-wrap:wrap; }
.portfolio-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gap); }
.portfolio-item { position:relative;overflow:hidden;aspect-ratio:4/5;background:#181818;cursor:pointer; }
.portfolio-img { width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease); }
.portfolio-item:hover .portfolio-img { transform:scale(1.04); }
.portfolio-overlay { position:absolute;inset:0;background:linear-gradient(to top,rgba(10,10,10,.93) 0%,transparent 55%);opacity:0;transition:opacity var(--t-mid);display:flex;flex-direction:column;justify-content:flex-end;padding:32px; }
.portfolio-item:hover .portfolio-overlay { opacity:1; }

/* ══════════════════════════
   PROJET TEMPLATE
══════════════════════════ */
.project-hero { min-height:70vh;display:flex;align-items:flex-end;padding:140px var(--pad-x) 72px;position:relative;overflow:hidden;background:var(--noir-card); }
.project-hero-bg { position:absolute;inset:0;background:linear-gradient(145deg,#1a1a1a,#0e0e0e); }
.project-hero-img { position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.5; }
.project-hero-overlay { position:absolute;inset:0;background:linear-gradient(to top,rgba(10,10,10,.9) 0%,rgba(10,10,10,.3) 60%,transparent 100%); }
.project-hero-content { position:relative;z-index:2;display:grid;grid-template-columns:1fr auto;gap:60px;align-items:flex-end;width:100%; }
.project-category { font-size:10px;font-weight:600;letter-spacing:.4em;text-transform:uppercase;color:var(--or);margin-bottom:20px; }
.project-title { font-family:var(--font-display);font-size:clamp(52px,6vw,92px);font-weight:300;line-height:1;color:var(--blanc); }
.project-title em { font-style:italic;color:var(--or-clair); }
.project-meta { display:flex;flex-direction:column;gap:18px;min-width:220px;padding-left:48px;border-left:1px solid var(--ligne-or); }
.meta-label { font-size:9px;font-weight:600;letter-spacing:.3em;text-transform:uppercase;color:var(--gris);margin-bottom:4px; }
.meta-value { font-size:13px;font-weight:400;color:var(--gris-clair); }
.project-intro { padding:var(--pad-y) var(--pad-x);display:grid;grid-template-columns:1fr 1.4fr;gap:100px;align-items:start; }
.project-intro-title { font-family:var(--font-display);font-size:clamp(32px,3vw,48px);font-weight:300;line-height:1.2; }
.project-body { font-size:15px;font-weight:300;line-height:2;color:var(--gris-clair); }
.project-body p+p { margin-top:20px; }
.project-body strong { color:var(--blanc);font-weight:400; }
.project-gallery { padding:0 var(--pad-x) var(--pad-y); }
.gallery-grid-2 { display:grid;grid-template-columns:1fr 1fr;gap:var(--gap);margin-bottom:var(--gap); }
.gallery-grid-3 { display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gap); }
.gallery-full { width:100%;margin-bottom:var(--gap); }
.gallery-img { width:100%;aspect-ratio:4/3;object-fit:cover;display:block;background:var(--noir-card); }
.gallery-img-tall { aspect-ratio:3/4; }
.gallery-img-wide { aspect-ratio:16/9; }
.project-deliverables { padding:var(--pad-y) var(--pad-x);background:var(--noir-doux);display:grid;grid-template-columns:1fr 2fr;gap:80px;align-items:start; }
.deliverables-list { display:flex;flex-direction:column;gap:0;margin-top:40px; }
.deliverable-item { padding:16px 0;border-bottom:1px solid var(--ligne);font-size:13px;font-weight:400;color:var(--gris-clair);display:flex;align-items:center;gap:14px; }
.deliverable-item:first-child { border-top:1px solid var(--ligne); }
.deliverable-item::before { content:'';width:5px;height:5px;background:var(--or);transform:rotate(45deg);flex-shrink:0; }
.project-next { padding:var(--pad-y) var(--pad-x);display:grid;grid-template-columns:1fr 1fr;gap:var(--gap); }
.next-card { position:relative;overflow:hidden;aspect-ratio:16/9;background:var(--noir-card);display:block;cursor:pointer; }
.next-card-overlay { position:absolute;inset:0;background:linear-gradient(to top,rgba(10,10,10,.88) 0%,transparent 55%);display:flex;flex-direction:column;justify-content:flex-end;padding:32px;transition:background var(--t-mid); }
.next-card:hover .next-card-overlay { background:linear-gradient(to top,rgba(10,10,10,.95) 0%,transparent 60%); }
.next-label { font-size:9px;font-weight:600;letter-spacing:.32em;text-transform:uppercase;color:var(--or);margin-bottom:8px; }
.next-title { font-family:var(--font-display);font-size:26px;font-weight:600;color:var(--blanc); }

/* ══════════════════════════
   CONTACT
══════════════════════════ */
.section-contact { padding:60px var(--pad-x) var(--pad-y);display:grid;grid-template-columns:1fr 1.4fr;gap:100px;align-items:start; }
.contact-info h2 { margin-top:16px;margin-bottom:28px; }
.contact-intro { font-size:15px;font-weight:300;line-height:2;color:var(--gris-clair);margin-bottom:48px; }
.contact-direct { display:flex;flex-direction:column;gap:24px; }
.contact-direct-label { font-size:9.5px;font-weight:600;letter-spacing:.28em;text-transform:uppercase;color:var(--gris);margin-bottom:5px; }
.contact-direct-value { font-family:var(--font-display);font-size:18px;font-weight:400;color:var(--or);transition:color var(--t-fast); }
.contact-direct-value:hover { color:var(--or-clair); }
.contact-form-wrap { background:var(--noir-doux);border:1px solid var(--ligne);padding:56px 52px; }
.form-title { font-family:var(--font-display);font-size:28px;font-weight:600;color:var(--blanc);margin-bottom:6px; }
.form-subtitle { font-size:12px;font-weight:300;color:var(--gris);margin-bottom:40px; }
.form-grid { display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px; }
.form-group { display:flex;flex-direction:column;gap:8px; }
.form-group.full { grid-column:span 2; }
.form-label { font-size:9.5px;font-weight:600;letter-spacing:.28em;text-transform:uppercase;color:var(--gris); }
.form-input,.form-select,.form-textarea { background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.1);color:var(--blanc);font-family:var(--font-body);font-size:14px;font-weight:300;padding:14px 16px;transition:border-color var(--t-fast),background var(--t-fast);outline:none;width:100%;-webkit-appearance:none; }
.form-input:focus,.form-select:focus,.form-textarea:focus { border-color:rgba(171,140,82,.5);background:rgba(171,140,82,.03); }
.form-textarea { resize:vertical;min-height:120px; }
.form-select option { background:var(--noir-doux);color:var(--blanc); }
.form-radio-group { display:flex;flex-direction:column;gap:10px;margin-top:4px; }
.form-radio { display:flex;align-items:center;gap:12px;font-size:13px;font-weight:300;color:var(--gris-clair);cursor:pointer; }
.form-radio input[type="radio"] { display:none; }
.radio-custom { width:16px;height:16px;border:1px solid rgba(255,255,255,.2);background:transparent;position:relative;flex-shrink:0;transition:border-color var(--t-fast); }
.form-radio input[type="radio"]:checked+.radio-custom { border-color:var(--or); }
.form-radio input[type="radio"]:checked+.radio-custom::after { content:'';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:8px;height:8px;background:var(--or); }
.form-checkbox { display:flex;align-items:flex-start;gap:14px;font-size:12px;font-weight:300;color:var(--gris);line-height:1.6;cursor:pointer;margin-top:8px; }
.form-checkbox input[type="checkbox"] { display:none; }
.checkbox-custom { width:16px;height:16px;flex-shrink:0;border:1px solid rgba(255,255,255,.2);background:transparent;margin-top:1px;position:relative;transition:border-color var(--t-fast); }
.form-checkbox input[type="checkbox"]:checked+.checkbox-custom { border-color:var(--or);background:var(--or); }
.form-checkbox input[type="checkbox"]:checked+.checkbox-custom::after { content:'✓';position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:10px;color:var(--noir);font-weight:700; }
.form-checkbox a { color:var(--or);text-decoration:underline; }
.form-submit { margin-top:32px;width:100%;justify-content:center; }
.form-success { display:none;text-align:center;padding:40px; }
.form-success.show { display:block; }
.form-success-icon { font-size:48px;color:var(--or);margin-bottom:20px;font-family:var(--font-display); }
.form-success h3 { font-family:var(--font-display);font-size:28px;color:var(--blanc);margin-bottom:12px; }
.form-success p { font-size:14px;color:var(--gris-clair); }

/* ══════════════════════════
   LEGAL
══════════════════════════ */
.section-legal { padding:60px var(--pad-x) var(--pad-y);max-width:840px; }
.legal-section { margin-bottom:48px; }
.legal-section h2 { font-family:var(--font-display);font-size:22px;font-weight:600;color:var(--blanc);margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--ligne); }
.legal-section p,.legal-section li { font-size:14px;font-weight:300;line-height:1.95;color:var(--gris-clair); }
.legal-section p+p { margin-top:14px; }
.legal-section ul { padding-left:20px;margin-top:12px; }
.legal-section ul li { list-style:disc;margin-bottom:8px; }
.legal-section a { color:var(--or);transition:color var(--t-fast); }
.legal-section a:hover { color:var(--or-clair); }

/* ══════════════════════════
   RESPONSIVE 1200px — nav collapse
══════════════════════════ */
@media (max-width:1200px) {
  .nav {
    grid-template-columns: 1fr auto;
  }
  .nav-center { display:none; }
  .nav-right { display:none; } /* CTA hidden on mobile — access via mobile menu */
  .nav-hamburger { display:flex; }
}

/* ══════════════════════════
   RESPONSIVE 1024px
══════════════════════════ */
@media (max-width:1024px) {
  .hero { grid-template-columns:1fr;padding-top:130px;min-height:auto; }
  .hero::after { display:none; }
  .hero-content { padding-left:0; }
  .hero-visual { height:55vw;max-height:480px; }
  .stats-strip { grid-template-columns:1fr 1fr; }
  .stat-item:nth-child(3) { border-left:none;padding-left:0;border-top:1px solid var(--ligne);padding-top:32px; }
  .stat-item:nth-child(4) { border-top:1px solid var(--ligne);padding-top:32px; }
  .section-problem { grid-template-columns:1fr;gap:52px; }
  .expertise-grid { grid-template-columns:1fr 1fr; }
  .section-diff { grid-template-columns:1fr;gap:60px; }
  .work-grid { grid-template-columns:1fr 1fr;grid-template-rows:auto; }
  .work-item:first-child { grid-row:span 1; }
  .process-track { grid-template-columns:1fr 1fr;gap:48px; }
  .process-track::before { display:none; }
  .section-contact { grid-template-columns:1fr;gap:52px; }
  .project-hero-content { grid-template-columns:1fr; }
  .project-meta { border-left:none;border-top:1px solid var(--ligne-or);padding-left:0;padding-top:24px;flex-direction:row;flex-wrap:wrap; }
  .project-intro { grid-template-columns:1fr;gap:40px; }
  .project-deliverables { grid-template-columns:1fr;gap:40px; }
  .project-next { grid-template-columns:1fr; }
  .portfolio-grid { grid-template-columns:1fr 1fr; }
  .footer-top { grid-template-columns:1fr 1fr;gap:40px; }
}

/* ══════════════════════════
   RESPONSIVE 640px
══════════════════════════ */
@media (max-width:640px) {
  :root { --pad-x:20px;--pad-y:64px; }
  .nav { padding:18px var(--pad-x); }
  .nav-logo { font-size:15px;letter-spacing:.25em; }
  .overline { font-size:9px;letter-spacing:.3em; }
  .hero { padding:100px var(--pad-x) 60px;gap:40px; }
  .hero-visual { height:62vw;min-height:260px; }
  .hero-badge { bottom:-12px;left:-12px;padding:14px 18px; }
  .hero-badge-num { font-size:26px; }
  .hero-btns { flex-direction:column;align-items:stretch;gap:14px; }
  .btn-gold { justify-content:center; }
  .stat-item+.stat-item { padding-left:20px; }
  /* logos marquee handles mobile natively — no override needed */
  .expertise-grid { grid-template-columns:1fr; }
  .work-grid { grid-template-columns:1fr; }
  .work-item:first-child { grid-row:span 1; }
  .process-track { grid-template-columns:1fr; }
  .gallery-grid-2,.gallery-grid-3 { grid-template-columns:1fr; }
  .diff-cols { grid-template-columns:1fr; }
  .cta-frame { display:none; }
  .form-grid { grid-template-columns:1fr; }
  .form-group.full { grid-column:span 1; }
  .contact-form-wrap { padding:32px 20px; }
  .portfolio-grid { grid-template-columns:1fr; }
  .footer-top { grid-template-columns:1fr;gap:32px;padding:48px var(--pad-x) 36px; }
  .footer-bottom { flex-direction:column;align-items:flex-start;gap:12px; }
  .section-legal { padding:48px var(--pad-x) 64px; }
}
