
  :root{
    --noir: #1f0719;
    --aubergine: #331e2e;
    --mauve: #4a3344;
    --mauve-clair: #9a7e93;
    --ivoire: #f6f1e9;
    --ivoire-deep: #ede4d3;
    --gris: #8d7d78;
    --blanc: #fffdfa;
  }
  *{box-sizing:border-box; margin:0; padding:0;}
  html{scroll-behavior:smooth;}
  body{
    background:var(--ivoire);
    color:var(--noir);
    font-family:'Inter', sans-serif;
    font-size:16px;
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
  }
  h1,h2,h3,h4,.serif{font-family:'Fraunces', serif;}
  h1,h2,h3{font-weight:500; line-height:1.05; letter-spacing:-0.01em;}
  em{font-style:italic; color:var(--mauve-clair);}
  a{color:inherit; text-decoration:none;}
  img{display:block; max-width:100%;}
  .wrap{max-width:1240px; margin:0 auto; padding:0 40px;}
  .label{
    font-size:11.5px; text-transform:uppercase; letter-spacing:0.16em;
    font-weight:600; color:var(--gris);
  }
  .hairline{height:1px; background:rgba(28,13,19,0.14); border:none;}
  .reveal{opacity:0; transform:translateY(18px); transition:opacity .8s cubic-bezier(.2,.7,.3,1), transform .8s cubic-bezier(.2,.7,.3,1);}
  .reveal.in{opacity:1; transform:translateY(0);}

  /* ---------- HEADER ---------- */
  header{
    position:sticky; top:0; z-index:300;
    background:rgba(246,241,233,0.94);
    border-bottom:1px solid rgba(28,13,19,0.1);
  }
  .nav{display:flex; align-items:center; justify-content:space-between; padding:22px 0;}
  .logo-mark{height:30px; width:auto;}
  .nav-links{display:flex; align-items:center; gap:44px;}
  .nav-links a:not(.cta-link){
    font-size:11.5px; letter-spacing:0.14em; text-transform:uppercase; font-weight:600;
    position:relative; padding-bottom:3px;
  }
  .nav-links a:not(.cta-link)::after{
    content:''; position:absolute; left:0; bottom:0; width:0; height:1px; background:var(--mauve-clair);
    transition:width .25s ease;
  }
  .nav-links a:not(.cta-link):hover::after{width:100%;}
  .cta-link{
    font-size:11.5px; letter-spacing:0.1em; text-transform:uppercase; font-weight:600;
    border:1px solid var(--noir); padding:11px 22px; border-radius:100px;
    transition:background .25s ease, color .25s ease;
  }
  .cta-link:hover{background:var(--noir); color:var(--ivoire);}
  .burger{display:none; flex-direction:column; gap:5px; cursor:pointer; background:none; border:none;}
  .burger span{width:24px; height:1.5px; background:var(--noir);}

  /* ---------- HERO ---------- */
  .hero{padding:130px 0 90px;}
  .hero .label{display:flex; align-items:center; gap:10px; margin-bottom:30px;}
  .hero .label .ln{width:36px; height:1px; background:var(--mauve-clair);}
  .hero h1{font-size:clamp(38px, 5.6vw, 78px); max-width:16ch; margin-bottom:38px;}
  .hero-row{display:grid; grid-template-columns:1.5fr 1fr; gap:60px; align-items:end;}
  .hero-lead{font-size:18px; color:#4a3c40; max-width:38ch; margin-bottom:34px;}
  .hero-ctas{display:flex; align-items:center; gap:30px;}
  .btn-fill{
    font-size:11.5px; letter-spacing:0.1em; text-transform:uppercase; font-weight:600;
    background:var(--noir); color:var(--ivoire); padding:16px 30px; border-radius:100px;
    display:inline-block; transition:background .25s ease;
  }
  .btn-fill:hover{background:var(--mauve-clair);}
  .link-arrow{font-size:13px; font-weight:600; border-bottom:1px solid var(--noir); padding-bottom:2px;}
  .hero-side{display:flex; flex-direction:column; align-items:flex-end; text-align:right; gap:18px;}
  .hero-side p{font-size:14.5px; color:var(--gris); max-width:26ch;}

  /* ---------- MARQUEE ---------- */
  .marquee-band{background:var(--noir); padding:22px 0; overflow:hidden; white-space:nowrap;}
  .marquee-track{display:inline-flex; animation:scroll 52s linear infinite;}
  .marquee-track span{
    font-family:'Fraunces', serif; font-style:italic; font-size:20px; color:var(--ivoire);
    padding:0 34px; opacity:0.85; white-space:nowrap;
  }
  .marquee-track span.dot{font-style:normal; color:var(--mauve-clair); opacity:1;}
  @keyframes scroll{from{transform:translateX(0);} to{transform:translateX(-50%);}}

  /* ---------- SECTION ---------- */
  section{padding:110px 0;}
  .section-head{margin-bottom:64px;}
  .section-head h2{font-size:clamp(30px, 3.4vw, 46px); max-width:16ch;}

  /* ---------- DIFFERENCE ---------- */
  .diff-grid{display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center;}
  .diff-grid p{font-size:17px; color:#4a3c40; max-width:42ch; margin-bottom:22px;}
  .stat-row{display:flex; flex-direction:column;}
  .stat-item{padding:26px 0; display:flex; align-items:baseline; justify-content:space-between; gap:20px;}
  .stat-item .n{font-family:'Fraunces', serif; font-size:44px; font-weight:500; white-space:nowrap;}
  .stat-item .d{font-size:13.5px; color:var(--gris); text-align:right; max-width:26ch;}

  /* ---------- EXPERTISE LIST ---------- */
  .exp-row{
    display:grid; grid-template-columns:90px 1.3fr 1.4fr 140px; gap:36px; align-items:center;
    padding:44px 0; border-top:1px solid rgba(28,13,19,0.14); transition:background .3s ease;
  }
  .exp-row:last-child{border-bottom:1px solid rgba(28,13,19,0.14);}
  .exp-row:hover{background:rgba(169,130,90,0.06);}
  .exp-num{font-family:'Fraunces', serif; font-style:italic; font-size:16px; color:var(--mauve-clair);}
  .exp-title h3{font-size:clamp(24px,2.4vw,32px);}
  .exp-desc p{font-size:15px; color:#4a3c40; margin-bottom:10px;}
  .exp-desc .tags{font-size:12.5px; color:var(--gris);}
  .exp-link{
    justify-self:end; font-size:12px; letter-spacing:0.08em; text-transform:uppercase; font-weight:600;
    display:inline-flex; align-items:center; gap:8px; white-space:nowrap;
  }
  .exp-link svg{width:13px; height:13px; transition:transform .2s ease;}
  .exp-row:hover .exp-link svg{transform:translateX(4px);}

  /* ---------- POUR QUI / STATEMENT ---------- */
  .statement{background:var(--ivoire-deep); text-align:center;}
  .statement blockquote{
    font-family:'Fraunces', serif; font-style:italic; font-weight:400;
    font-size:clamp(24px,3.4vw,40px); max-width:22ch; margin:0 auto; line-height:1.35;
  }
  .statement blockquote em{color:var(--noir);}

  /* ---------- REALISATIONS ---------- */
  .real-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:6px;}
  .real-card{position:relative;}
  .real-visual{
    aspect-ratio:3/4; background:linear-gradient(160deg, var(--aubergine), var(--noir));
    display:flex; align-items:flex-end; padding:26px; position:relative; overflow:hidden;
  }
  .real-visual::after{
    content:''; position:absolute; inset:0;
    background:radial-gradient(circle at 30% 20%, rgba(169,130,90,0.25), transparent 60%);
  }
  .real-visual .real-tag{
    position:relative; z-index:1; font-size:11px; letter-spacing:0.12em; text-transform:uppercase;
    color:var(--mauve-clair); font-weight:600;
  }
  .real-visual.has-photo{background:var(--noir);}
  .real-cycle{position:absolute; inset:0;}
  .real-cycle img{
    position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
    opacity:0; transition:opacity 1.1s ease;
    filter:saturate(0.92) contrast(1.02);
  }
  .real-cycle img.active{opacity:1;}
  .real-visual.has-photo::after{
    background:linear-gradient(0deg, rgba(31,7,25,0.88) 0%, rgba(31,7,25,0.15) 45%, rgba(31,7,25,0.35) 100%);
  }
  .real-visual.has-photo .real-tag{color:var(--ivoire);}

  .real-overlay-top{
    position:absolute; top:0; left:0; right:0; z-index:3; padding:22px 130px 46px 24px;
    background:linear-gradient(180deg, rgba(20,8,16,0.85) 0%, rgba(20,8,16,0.4) 55%, transparent 100%);
  }
  .real-overlay-top h4{color:var(--ivoire); font-size:19px; margin-bottom:5px; font-weight:600; text-shadow:0 1px 6px rgba(0,0,0,0.35);}
  .real-overlay-top .real-client-name{
    font-family:'Fraunces',serif; font-style:italic; font-weight:700; font-size:13px; color:var(--ivoire); line-height:1.4;
    text-shadow:0 1px 6px rgba(0,0,0,0.35);
  }
  .light-photo .real-cycle img{object-fit:contain; padding:22px;}
  .light-photo .real-overlay-top{
    background:linear-gradient(180deg, rgba(255,255,255,0.94) 0%, rgba(255,255,255,0.45) 55%, transparent 100%);
  }
  .light-photo .real-overlay-top h4{color:var(--noir);}
  .light-photo .real-overlay-top .real-client-name{color:var(--mauve);}

  .real-visual.light-photo{background:#ffffff;}
  .real-visual.light-photo::after{
    background:linear-gradient(0deg, rgba(255,255,255,0.92) 0%, transparent 22%);
  }
  .real-visual.light-photo .real-tag{
    color:var(--noir); background:rgba(255,255,255,0.92); padding:5px 12px;
    border-radius:100px; box-shadow:0 2px 8px rgba(0,0,0,0.08);
  }

  .real-logo-badge{
    position:absolute; top:16px; right:16px; z-index:4;
    width:104px; height:60px; border-radius:10px; background:#ffffff;
    display:flex; align-items:center; justify-content:center; overflow:hidden;
    box-shadow:0 4px 14px rgba(0,0,0,0.22); padding:9px; box-sizing:border-box;
  }
  .real-logo-badge img{
    position:static !important; width:100% !important; height:100% !important; object-fit:contain !important;
    inset:auto !important; padding:0; filter:none; box-sizing:border-box; max-width:100%; max-height:100%;
  }
  .real-client{
    display:flex; align-items:center; gap:8px; margin-bottom:10px;
  }
  .real-client-name{
    font-family:'Fraunces',serif; font-style:italic; font-size:13px; color:var(--mauve-clair);
    line-height:1.4;
  }
  .real-body{padding:22px 4px;}
  .real-body h4{font-size:19px; margin-bottom:8px; font-weight:500;}
  .real-body p{font-size:13.5px; color:var(--gris);}

  /* ---------- CTA BAND ---------- */
  .cta-band{background:var(--noir); color:var(--ivoire); text-align:center; padding:130px 0;}
  .cta-band .label{color:var(--mauve-clair); justify-content:center; display:flex; margin-bottom:26px;}
  .cta-band h2{font-size:clamp(32px,4.6vw,58px); max-width:16ch; margin:0 auto 40px; color:var(--ivoire);}
  .cta-band .btn-fill{background:var(--mauve-clair); color:var(--noir);}
  .cta-band .btn-fill:hover{background:var(--ivoire);}

  /* ---------- FOOTER ---------- */
  footer{padding:70px 0 30px;}
  .footer-top{display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:40px; padding-bottom:60px;}
  .footer-logo img{height:26px; margin-bottom:18px;}
  .footer-desc{font-size:13.5px; color:var(--gris); max-width:30ch;}
  .footer-col a{display:block; font-size:14px; color:var(--noir); margin-bottom:12px;}
  .footer-col a:hover{color:var(--mauve-clair);}
  .footer-bottom{
    padding-top:26px; display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px;
    font-size:11.5px; letter-spacing:0.06em; text-transform:uppercase; color:var(--gris);
  }

  /* ---------- RESPONSIVE ---------- */
  @media (max-width:900px){
    .nav-links{
      position:fixed; top:73px; left:0; right:0; bottom:0; background:var(--ivoire);
      flex-direction:column; align-items:flex-start; padding:40px; gap:28px;
      transform:translateX(100%); transition:transform .3s ease; border-top:1px solid rgba(28,13,19,0.1);
    }
    .nav-links.open{transform:translateX(0);}
    .nav-links a:not(.cta-link){font-size:15px;}
    .burger{display:flex;}
    .hero-row{grid-template-columns:1fr; gap:36px;}
    .hero-side{align-items:flex-start; text-align:left;}
    .diff-grid{grid-template-columns:1fr; gap:40px;}
    .exp-row{grid-template-columns:1fr; gap:14px; padding:32px 0;}
    .exp-link{justify-self:start;}
    .real-grid{grid-template-columns:1fr; gap:30px;}
    .footer-top{grid-template-columns:1fr 1fr; gap:30px;}
    section{padding:70px 0;}
    .hero{padding:60px 0 60px;}
  }
  @media (max-width:520px){
    .wrap{padding:0 22px;}
    .footer-top{grid-template-columns:1fr;}
  }
  @media (prefers-reduced-motion: reduce){
    *{animation-duration:0.001ms !important; transition-duration:0.001ms !important;}
  }

  /* ---------- GRAIN TEXTURE ---------- */
  .grain{
    position:fixed; inset:0; z-index:999; pointer-events:none;
    opacity:0.035; mix-blend-mode:multiply;
  }

  /* ---------- HERO FULL HEIGHT ---------- */
  .hero{
    min-height:78vh; display:flex; flex-direction:column; justify-content:center;
    padding:110px 0; position:relative;
  }
  .scroll-cue{
    position:absolute; left:40px; bottom:36px; display:flex; align-items:center; gap:12px;
    font-size:11px; letter-spacing:0.14em; text-transform:uppercase; color:var(--gris);
  }
  .scroll-cue .line{width:1px; height:34px; background:var(--gris); position:relative; overflow:hidden;}
  .scroll-cue .line::after{
    content:''; position:absolute; top:-100%; left:0; width:100%; height:100%; background:var(--mauve-clair);
    animation:scrollcue 2.2s ease-in-out infinite;
  }
  @keyframes scrollcue{0%{top:-100%;} 50%{top:0%;} 100%{top:100%;}}

  /* ---------- HEADER SCROLLED ---------- */
  header.scrolled{box-shadow:0 1px 0 rgba(31,7,25,0.08);}

  /* ---------- MAGNETIC BUTTON ---------- */
  .btn-fill, .cta-link{will-change:transform;}

  /* ---------- REALISATIONS GRAIN ---------- */
  .real-visual{background-blend-mode:normal;}
  .real-visual .grain-local{position:absolute; inset:0; opacity:0.05; mix-blend-mode:overlay;}
  .real-card{overflow:hidden;}
  .real-visual{transition:transform .5s cubic-bezier(.2,.7,.3,1);}
  .real-card:hover .real-visual{transform:scale(1.03);}

  /* ---------- MINIMAL MENU TOGGLE ---------- */
  .menu-toggle{
    display:flex; align-items:center; gap:14px; background:none; border:none; cursor:pointer;
  }
  .menu-toggle-label{
    font-size:11.5px; letter-spacing:0.14em; text-transform:uppercase; font-weight:600; color:var(--noir);
  }
  .menu-icon{display:flex; flex-direction:column; gap:5px; width:26px;}
  .menu-icon span{display:block; width:100%; height:1.5px; background:var(--noir); transition:transform .3s ease, opacity .3s ease;}
  .menu-toggle.open .menu-icon span:first-child{transform:translateY(3.25px) rotate(45deg);}
  .menu-toggle.open .menu-icon span:last-child{transform:translateY(-3.25px) rotate(-45deg);}

  /* ---------- FULLSCREEN MENU OVERLAY ---------- */
  .menu-overlay{
    position:fixed; inset:0; z-index:200; background:var(--noir); color:var(--ivoire);
    display:flex; flex-direction:column; justify-content:space-between;
    padding:130px 40px 60px; opacity:0; visibility:hidden; transform:translateY(-12px);
    transition:opacity .4s ease, transform .4s ease, visibility 0s linear .4s;
  }
  .menu-overlay.open{opacity:1; visibility:visible; transform:translateY(0); transition:opacity .4s ease, transform .4s ease;}
  .menu-overlay-links{display:flex; flex-direction:column; gap:6px;}
  .menu-overlay-links a{
    font-family:'Fraunces', serif; font-size:clamp(34px,6vw,64px); font-weight:400;
    color:var(--ivoire); padding:14px 0; display:flex; align-items:baseline; gap:22px;
    border-top:1px solid rgba(246,241,233,0.15); transition:opacity .25s ease, padding-left .25s ease;
  }
  .menu-overlay-links a:last-child{border-bottom:1px solid rgba(246,241,233,0.15);}
  .menu-overlay-links a:hover{opacity:0.6; padding-left:14px;}
  .mo-num{font-family:'Inter',sans-serif; font-size:13px; color:var(--mauve-clair); letter-spacing:0.06em;}
  .menu-overlay-foot{display:flex; gap:30px; font-size:13px; color:var(--mauve-clair); flex-wrap:wrap;}

  /* ---------- STORY PANELS ---------- */
  .story-panel{
    display:grid; grid-template-columns:0.6fr 1fr; min-height:38vh; align-items:stretch;
  }
  .story-reverse{direction:rtl;}
  .story-reverse .story-text{direction:ltr;}
  .story-visual{
    position:relative; overflow:hidden;
    background:linear-gradient(160deg, var(--aubergine), var(--noir));
    display:flex; align-items:flex-end; padding:30px;
  }
  .story-visual::after{
    content:''; position:absolute; inset:0;
    background:radial-gradient(circle at 25% 15%, rgba(154,126,147,0.35), transparent 55%);
  }
  .story-num{
    position:relative; z-index:1; font-family:'Fraunces',serif; font-style:italic; font-weight:400;
    font-size:clamp(40px,5.5vw,80px); color:rgba(246,241,233,0.18); line-height:1;
  }
  .story-text{
    display:flex; flex-direction:column; justify-content:center; align-items:flex-start; padding:50px 70px;
  }
  .story-text h3{font-size:clamp(26px,2.8vw,38px); margin-bottom:18px;}
  .story-text p{font-size:16px; color:#4a3c40; max-width:32ch; margin-bottom:24px;}

  @media (max-width:900px){
    .story-panel, .story-reverse{grid-template-columns:1fr; direction:ltr; min-height:auto;}
    .story-visual{padding:26px; min-height:140px;}
    .story-text{padding:32px 24px;}
    .menu-overlay{padding:110px 24px 40px;}
    .menu-overlay-links a{font-size:clamp(28px,9vw,40px);}
  }

  /* ---------- INNER PAGE HERO ---------- */
  .page-hero{padding:130px 0 100px;}
  .page-hero .label{margin-bottom:26px;}
  .page-hero h1{font-size:clamp(36px,5.2vw,68px); max-width:18ch; margin-bottom:26px;}
  .page-hero p{font-size:18px; color:#4a3c40; max-width:44ch;}
  .breadcrumb{font-size:11.5px; letter-spacing:0.1em; text-transform:uppercase; color:var(--gris); margin-bottom:30px;}
  .breadcrumb a{color:var(--gris);}
  .breadcrumb a:hover{color:var(--noir);}

  /* ---------- CONTENT BLOCKS ---------- */
  .content-block{padding:90px 0; border-top:1px solid rgba(28,13,19,0.1);}
  .content-grid{display:grid; grid-template-columns:0.9fr 1.4fr; gap:80px;}
  .content-grid h2{font-size:clamp(26px,2.8vw,38px); max-width:14ch; margin-bottom:0;}
  .content-body p{font-size:16.5px; color:#4a3c40; max-width:56ch; margin-bottom:20px;}
  .content-list{margin-top:30px;}
  .content-list-item{
    display:grid; grid-template-columns:60px 1fr; gap:24px; padding:26px 0;
    border-top:1px solid rgba(28,13,19,0.12);
  }
  .content-list-item:last-child{border-bottom:1px solid rgba(28,13,19,0.12);}
  .content-list-item .cli-num{font-family:'Fraunces',serif; font-style:italic; color:var(--mauve-clair); font-size:15px;}
  .content-list-item h4{font-size:19px; font-weight:500; margin-bottom:8px;}
  .content-list-item p{font-size:14.5px; color:var(--gris); max-width:52ch;}

  /* ---------- CONTACT FORM ---------- */
  .contact-grid{display:grid; grid-template-columns:0.8fr 1.2fr; gap:80px; align-items:start;}
  .contact-info h2{font-size:clamp(28px,3vw,40px); margin-bottom:24px; max-width:12ch;}
  .contact-info p{font-size:16px; color:#4a3c40; margin-bottom:34px; max-width:36ch;}
  .contact-detail{display:flex; flex-direction:column; gap:18px; margin-bottom:40px;}
  .contact-detail a, .contact-detail span{
    font-size:15px; padding-bottom:14px; border-bottom:1px solid rgba(28,13,19,0.12); display:block;
  }
  .contact-detail .cd-label{font-size:11px; letter-spacing:0.1em; text-transform:uppercase; color:var(--gris); display:block; margin-bottom:4px;}

  .form-field{margin-bottom:26px;}
  .form-field label{
    display:block; font-size:11.5px; letter-spacing:0.1em; text-transform:uppercase; font-weight:600;
    color:var(--gris); margin-bottom:10px;
  }
  .form-field input, .form-field textarea, .form-field select{
    width:100%; border:none; border-bottom:1px solid rgba(28,13,19,0.25); background:transparent;
    padding:12px 2px; font-family:'Inter',sans-serif; font-size:16px; color:var(--noir);
    transition:border-color .2s ease;
  }
  .form-field input:focus, .form-field textarea:focus, .form-field select:focus{
    outline:none; border-color:var(--noir);
  }
  .form-field textarea{resize:vertical; min-height:110px;}
  .form-row{display:grid; grid-template-columns:1fr 1fr; gap:24px;}
  .form-note{font-size:12.5px; color:var(--gris); margin-top:-10px; margin-bottom:26px;}

  /* ---------- REALISATIONS FULL GRID ---------- */
  .real-grid-full{display:grid; grid-template-columns:repeat(2,1fr); gap:6px;}
  .real-grid-full .real-visual{aspect-ratio:16/11;}

  @media (max-width:900px){
    .content-grid{grid-template-columns:1fr; gap:30px;}
    .contact-grid{grid-template-columns:1fr; gap:50px;}
    .form-row{grid-template-columns:1fr;}
    .real-grid-full{grid-template-columns:1fr;}
    .page-hero{padding:120px 0 50px;}
  }

  /* ---------- LIGHTBOX ---------- */
  .real-visual{cursor:zoom-in;}
  .lightbox{
    position:fixed; inset:0; z-index:500;
    background:radial-gradient(ellipse at 50% 40%, rgba(51,30,46,0.97) 0%, rgba(15,5,11,0.99) 100%);
    backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px);
    display:flex; align-items:center; justify-content:center;
    opacity:0; visibility:hidden; transition:opacity .45s cubic-bezier(.2,.7,.2,1), visibility 0s linear .45s;
  }
  .lightbox.open{opacity:1; visibility:visible; transition:opacity .45s cubic-bezier(.2,.7,.2,1);}
  .lightbox-stage{
    max-width:82vw; max-height:74vh; display:flex; align-items:center; justify-content:center;
    position:relative;
  }
  .lightbox-stage img{
    max-width:82vw; max-height:74vh; object-fit:contain; border-radius:2px;
    box-shadow:0 40px 100px rgba(0,0,0,0.55), 0 4px 24px rgba(0,0,0,0.35);
    opacity:0; transform:scale(0.985); transition:opacity .4s cubic-bezier(.2,.7,.2,1), transform .4s cubic-bezier(.2,.7,.2,1);
  }
  .lightbox-stage img.in{opacity:1; transform:scale(1);}
  .lightbox-close, .lightbox-prev, .lightbox-next{
    position:absolute; background:transparent; border:1px solid rgba(246,241,233,0.3);
    color:var(--ivoire); border-radius:100px; cursor:pointer; display:flex; align-items:center; justify-content:center;
    transition:border-color .25s ease, background .25s ease, transform .25s ease;
  }
  .lightbox-close:hover, .lightbox-prev:hover, .lightbox-next:hover{
    border-color:var(--mauve-clair); background:rgba(154,126,147,0.12); transform:translateY(-50%) scale(1.06);
  }
  .lightbox-close:hover{transform:scale(1.06);}
  .lightbox-close{top:32px; right:32px; width:42px; height:42px; font-size:19px; font-weight:300;}
  .lightbox-prev, .lightbox-next{top:50%; transform:translateY(-50%); width:52px; height:52px;}
  .lightbox-prev{left:32px;}
  .lightbox-next{right:32px;}
  .lightbox-prev svg, .lightbox-next svg{width:17px; height:17px;}
  .lightbox-caption-wrap{
    position:absolute; left:0; right:0; bottom:34px; text-align:center;
    display:flex; flex-direction:column; align-items:center; gap:12px;
  }
  .lightbox-caption{
    font-family:'Fraunces',serif; font-style:italic; font-weight:400; color:var(--ivoire);
    font-size:17px; padding:0 90px; letter-spacing:0.01em;
  }
  .lightbox-rule{width:28px; height:1px; background:var(--mauve-clair); opacity:0.7;}
  .lightbox-counter{
    position:absolute; top:36px; left:36px; font-family:'Inter',sans-serif; font-size:11px;
    letter-spacing:0.14em; color:var(--mauve-clair); text-transform:uppercase;
  }
  .lightbox-dots{display:flex; gap:7px;}
  .lightbox-dots span{
    width:5px; height:5px; border-radius:50%; background:rgba(246,241,233,0.3);
    transition:background .25s ease, transform .25s ease; cursor:pointer;
  }
  .lightbox-dots span.active{background:var(--mauve-clair); transform:scale(1.3);}
  @media (max-width:640px){
    .lightbox-prev, .lightbox-next{width:40px; height:40px;}
    .lightbox-prev{left:10px;} .lightbox-next{right:10px;}
    .lightbox-close{top:14px; right:14px; width:38px; height:38px;}
    .lightbox-counter{top:18px; left:18px;}
    .lightbox-caption{font-size:14px; padding:0 46px;}
    .lightbox-caption-wrap{bottom:18px; gap:8px;}
    .lightbox-stage img{max-width:92vw; max-height:70vh;}
    .real-logo-badge{width:70px; height:42px; top:12px; right:12px; padding:6px;}
    .real-overlay-top{padding:16px 90px 34px 16px;}
    .real-overlay-top h4{font-size:16px;}
  }

  /* ---------- TRUST LOGOS BAND ---------- */
  .trust-band{background:var(--ivoire); padding:70px 0 60px;}
  .trust-band .label{font-size:16px; font-weight:700; letter-spacing:0.12em; color:var(--noir);}
  .trust-marquee{margin-top:36px; overflow:hidden; white-space:nowrap; position:relative;}
  .trust-marquee::before, .trust-marquee::after{
    content:''; position:absolute; top:0; bottom:0; width:80px; z-index:2; pointer-events:none;
  }
  .trust-marquee::before{left:0; background:linear-gradient(90deg, var(--ivoire), transparent);}
  .trust-marquee::after{right:0; background:linear-gradient(270deg, var(--ivoire), transparent);}
  .trust-track{display:inline-flex; align-items:center; animation:scroll 42s linear infinite;}
  .trust-track img{
    height:42px; width:auto; object-fit:contain; margin:0 46px;
    opacity:0.82; filter:grayscale(15%); transition:opacity .25s ease, filter .25s ease;
  }
  .trust-track img:hover{opacity:1; filter:grayscale(0%);}
  @media (max-width:640px){
    .trust-band{padding:50px 0 40px;}
    .trust-track img{height:32px; margin:0 28px;}
  }
