/* =========================================================
   SCHMITT RAVALEMENT - HOME PREMIUM V2
   À charger après style.css uniquement sur la page d'accueil
   ========================================================= */
.home-premium {
  background:
    radial-gradient(circle at 12% 8%, rgba(200,164,106,.22), transparent 28vw),
    radial-gradient(circle at 85% 14%, rgba(143,93,63,.16), transparent 30vw),
    linear-gradient(180deg, #171512 0 780px, #f3ece2 780px 100%);
  overflow-x: hidden;
}
.home-premium .site-header:not(.is-scrolled) {
  background: linear-gradient(180deg, rgba(10,8,6,.54), rgba(10,8,6,0));
  border-bottom-color: transparent;
}
.home-premium .site-header:not(.is-scrolled) .main-nav a,
.home-premium .site-header:not(.is-scrolled) .brand { color: #fff; }
.home-premium .site-header:not(.is-scrolled) .brand small { color: rgba(255,255,255,.62); }
.scroll-meter{position:fixed;z-index:999;left:0;top:0;width:100%;height:3px;background:rgba(255,255,255,.08)}
.scroll-meter span{display:block;width:0;height:100%;background:linear-gradient(90deg,var(--sr-sand),#fff0bf,var(--sr-clay));box-shadow:0 0 18px rgba(200,164,106,.7)}
/* Hero */
.cinema-hero{position:relative;min-height:100svh;padding:150px 0 0;color:#fff;overflow:hidden;isolation:isolate}
.hero-noise{position:absolute;inset:0;opacity:.28;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 250 250' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.34'/%3E%3C/svg%3E");mix-blend-mode:soft-light}
.cinema-hero::before{content:"";position:absolute;inset:-20% -10% auto -10%;height:78%;background:radial-gradient(circle at 50% 25%, rgba(255,245,217,.15), transparent 27%),linear-gradient(120deg,rgba(200,164,106,.18),transparent 42%,rgba(143,93,63,.18));filter:blur(8px);z-index:-2}
.cinema-hero::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:190px;background:linear-gradient(180deg,rgba(23,21,18,0),#f3ece2 78%);z-index:-1}
.hero-orb{position:absolute;border-radius:50%;filter:blur(20px);opacity:.65;pointer-events:none;will-change:transform}.orb-a{width:32vw;height:32vw;left:-10vw;top:18vh;background:rgba(200,164,106,.24)}.orb-b{width:24vw;height:24vw;right:-6vw;top:8vh;background:rgba(143,93,63,.28)}
.cinema-grid{display:grid;grid-template-columns:minmax(0,1.03fr) minmax(390px,.82fr);align-items:center;gap:clamp(28px,5vw,82px);min-height:calc(100svh - 210px)}
.cinema-copy{position:relative;z-index:2}.cinema-copy h1{margin:18px 0 24px;font-family:Manrope,Inter,sans-serif;font-size:clamp(52px,8vw,122px);line-height:.86;letter-spacing:-.075em;max-width:980px;text-wrap:balance}.cinema-copy h1 span{display:block;overflow:hidden;transform:translateY(32px);opacity:0;filter:blur(10px);animation:heroLine .9s cubic-bezier(.18,1,.28,1) forwards}.cinema-copy h1 span:nth-child(2){animation-delay:.13s}.cinema-copy h1 span:nth-child(3){animation-delay:.26s}.cinema-copy p{max-width:720px;color:rgba(255,255,255,.76);font-size:clamp(17px,1.5vw,21px);line-height:1.75;opacity:0;transform:translateY(20px);animation:heroText .75s ease .48s forwards}.cinematic-buttons,.hero-trust-row{opacity:0;transform:translateY(20px);animation:heroText .75s ease .62s forwards}.hero-trust-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}.hero-trust-row span{display:flex;gap:10px;align-items:center;padding:10px 13px;border:1px solid rgba(255,255,255,.16);border-radius:999px;background:rgba(255,255,255,.07);backdrop-filter:blur(16px);color:rgba(255,255,255,.72);font-size:13px}.hero-trust-row strong{color:#fff}.hero-bottom-strip{position:relative;display:flex;gap:28px;white-space:nowrap;overflow:hidden;padding:22px 0;margin-top:40px;border-top:1px solid rgba(255,255,255,.1);border-bottom:1px solid rgba(255,255,255,.08);color:rgba(255,255,255,.36);font-weight:900;letter-spacing:.24em;font-size:12px}.hero-bottom-strip span{animation:marquee 22s linear infinite;min-width:max-content}
@keyframes heroLine{to{transform:translateY(0);opacity:1;filter:blur(0)}}@keyframes heroText{to{transform:translateY(0);opacity:1}}@keyframes marquee{to{transform:translateX(-120%)}}
/* 3D facade visual */
.facade-stage{position:relative;min-height:620px;perspective:1200px;transform-style:preserve-3d;will-change:transform}.stage-depth{position:absolute;border-radius:38px;inset:14% 0 8% 4%;border:1px solid rgba(255,255,255,.13);background:linear-gradient(135deg,rgba(255,255,255,.08),rgba(255,255,255,.02));box-shadow:0 40px 110px rgba(0,0,0,.34);transform:translateZ(-30px) rotate(-4deg)}.depth-2{inset:6% 10% 18% -2%;transform:translateZ(-70px) rotate(5deg);opacity:.62}.facade-building{position:absolute;inset:6% 8% 4% 8%;border-radius:42px;background:linear-gradient(135deg,#f6ead7,#c9a06c 56%,#7b5137);box-shadow:0 46px 120px rgba(0,0,0,.38),inset 0 1px 0 rgba(255,255,255,.5);overflow:hidden;transform:rotateY(-8deg) rotateX(4deg) translateZ(40px)}.facade-building::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.22),transparent 38%,rgba(0,0,0,.2)),repeating-linear-gradient(0deg,rgba(70,45,30,.11) 0 1px,transparent 1px 46px);mix-blend-mode:multiply;opacity:.62}.building-top{position:absolute;top:0;left:0;right:0;height:24%;background:linear-gradient(135deg,#2a211b,#5c3b2a);clip-path:polygon(0 0,100% 0,88% 100%,10% 100%)}.window,.door{position:absolute;background:linear-gradient(135deg,#231b16,#554134);border:1px solid rgba(255,255,255,.22);box-shadow:inset 10px 0 24px rgba(255,255,255,.08);border-radius:14px}.window{width:20%;height:17%}.w1{left:17%;top:34%}.w2{right:17%;top:34%}.w3{left:17%;top:58%}.w4{right:17%;top:58%}.door{left:41%;bottom:0;width:18%;height:27%;border-radius:18px 18px 0 0}.scaffold-line{position:absolute;left:8%;right:8%;height:2px;background:rgba(255,255,255,.34);box-shadow:0 0 18px rgba(255,255,255,.16)}.s1{top:31%}.s2{top:55%}.s3{top:80%}.stage-label{position:absolute;z-index:4;max-width:270px;padding:16px;border-radius:20px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(20px);box-shadow:0 24px 60px rgba(0,0,0,.24);color:#fff}.stage-label strong{display:block}.stage-label span{display:block;margin-top:5px;color:rgba(255,255,255,.65);font-size:13px;line-height:1.45}.label-top{right:0;top:16%}.label-bottom{left:0;bottom:12%}
/* Dashboard */
.proof-dashboard{position:relative;margin-top:-34px;z-index:4}.dashboard-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.dash-card{padding:26px;border-radius:28px;background:rgba(255,255,255,.78);border:1px solid rgba(255,255,255,.54);box-shadow:0 24px 70px rgba(21,18,15,.1);backdrop-filter:blur(18px)}.dash-card strong{display:block;font-size:clamp(28px,4vw,52px);line-height:1;color:var(--sr-dark);letter-spacing:-.07em}.dash-card span{display:block;margin-top:10px;color:var(--sr-muted);font-weight:800}
/* Signature */
.signature-section{background:linear-gradient(180deg,#f3ece2,#fff9f0)}.signature-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(34px,6vw,92px);align-items:center}.signature-media{position:relative;min-height:560px}.material-slab{position:absolute;border-radius:36px;box-shadow:0 35px 90px rgba(21,18,15,.16);border:1px solid rgba(255,255,255,.46)}.slab-a{inset:9% 28% 18% 0;background:linear-gradient(135deg,#e8d7be,#aa7650);transform:rotate(-8deg)}.slab-b{inset:18% 6% 7% 22%;background:linear-gradient(135deg,#faf2e6,#c8a46a 58%,#7b4f35);transform:rotate(7deg)}.slab-c{inset:0 16% 54% 24%;background:linear-gradient(135deg,#32251d,#8f5d3f);transform:rotate(3deg)}.material-slab::after{content:"";position:absolute;inset:0;border-radius:inherit;background-image:radial-gradient(circle at 24% 30%,rgba(255,255,255,.3),transparent 16%),repeating-linear-gradient(90deg,rgba(255,255,255,.08) 0 1px,transparent 1px 22px);mix-blend-mode:soft-light}.corner-note{position:absolute;left:6%;bottom:8%;padding:18px 20px;border-radius:24px;background:#171512;color:#fff;box-shadow:0 20px 60px rgba(21,18,15,.28)}.corner-note span{display:block;color:rgba(255,255,255,.58);font-size:13px}.corner-note strong{font-size:26px;letter-spacing:-.05em}.precision-list{display:grid;gap:14px;margin-top:28px}.precision-list div{display:grid;grid-template-columns:56px 1fr;gap:0 18px;padding:18px;border-radius:24px;border:1px solid var(--sr-line);background:rgba(255,255,255,.7)}.precision-list span{grid-row:1/3;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:#171512;color:#fff;font-weight:900}.precision-list strong{font-size:18px}.precision-list p{margin:4px 0 0;color:var(--sr-muted)}
/* Sticky services rail */
.sticky-services{position:relative;padding:100px 0;background:#171512;color:#fff;overflow:clip}.sticky-services::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 15% 20%,rgba(200,164,106,.18),transparent 34%),radial-gradient(circle at 86% 55%,rgba(143,93,63,.18),transparent 34%)}.sticky-intro{position:relative;z-index:2;display:grid;grid-template-columns:.9fr 1fr;gap:36px;align-items:end;margin-bottom:44px}.sticky-intro p{color:rgba(255,255,255,.68);font-size:18px;line-height:1.75}.sticky-intro h2{color:#fff;max-width:760px}.service-rail-wrap{position:relative;z-index:2;overflow:hidden}.service-rail{display:flex;gap:18px;width:max-content;will-change:transform;padding:10px max(18px,calc((100vw - 1180px)/2)) 24px}.home-service-card{width:min(420px,82vw);min-height:430px;display:flex;flex-direction:column;justify-content:space-between;padding:30px;border-radius:34px;background:linear-gradient(150deg,rgba(255,255,255,.14),rgba(255,255,255,.05));border:1px solid rgba(255,255,255,.14);box-shadow:0 30px 80px rgba(0,0,0,.22);transition:transform .25s ease,border-color .25s ease,background .25s ease}.home-service-card:hover{transform:translateY(-10px) rotate(-1deg);border-color:rgba(200,164,106,.44);background:linear-gradient(150deg,rgba(255,255,255,.18),rgba(255,255,255,.07))}.home-service-card .service-num{font-size:13px;letter-spacing:.2em;color:var(--sr-sand);font-weight:900}.home-service-card h3{color:#fff;font-size:clamp(24px,3vw,38px);line-height:1;letter-spacing:-.055em;margin:24px 0 14px}.home-service-card p{color:rgba(255,255,255,.68);line-height:1.7}.home-service-card a{color:#fff;font-weight:900}.home-service-card .card-line{height:1px;background:linear-gradient(90deg,var(--sr-sand),transparent);margin-top:26px}
/* Before after */
.before-after-section{background:#fff9f0}.before-grid{display:grid;grid-template-columns:.82fr 1.1fr;gap:clamp(34px,6vw,86px);align-items:center}.ba-slider{position:relative;min-height:560px;border-radius:42px;overflow:hidden;box-shadow:0 36px 110px rgba(21,18,15,.18);border:1px solid rgba(255,255,255,.8);--split:50%}.ba-img{position:absolute;inset:0}.ba-before{background:linear-gradient(135deg,#6b6259,#2e2b27),repeating-linear-gradient(0deg,rgba(255,255,255,.07) 0 1px,transparent 1px 42px)}.ba-after{clip-path:inset(0 calc(100% - var(--split)) 0 0);background:linear-gradient(135deg,#f4e5ce,#c89f67 56%,#805139),repeating-linear-gradient(0deg,rgba(255,255,255,.12) 0 1px,transparent 1px 42px)}.ba-img::before{content:"";position:absolute;inset:10%;border-radius:28px;border:1px solid rgba(255,255,255,.35);background:linear-gradient(180deg,rgba(0,0,0,.16),transparent)}.ba-img span{position:absolute;top:24px;left:24px;z-index:2;padding:9px 13px;border-radius:999px;background:rgba(0,0,0,.34);color:#fff;font-weight:900;font-size:13px;backdrop-filter:blur(12px)}.ba-after span{left:auto;right:24px;background:rgba(255,255,255,.28)}.ba-handle{position:absolute;z-index:4;top:0;bottom:0;left:var(--split);width:3px;transform:translateX(-50%);border:0;background:#fff;cursor:ew-resize;box-shadow:0 0 30px rgba(255,255,255,.7)}.ba-handle i{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:54px;height:54px;border-radius:50%;background:#fff;box-shadow:0 18px 42px rgba(21,18,15,.28)}.ba-handle i::before{content:"↔";position:absolute;inset:0;display:grid;place-items:center;color:#171512;font-weight:900}
/* Process */
.process-cinema{background:linear-gradient(180deg,#f3ece2,#efe5d7)}.process-grid{display:grid;grid-template-columns:.78fr 1fr;gap:clamp(36px,6vw,90px);align-items:start}.process-sticky{position:sticky;top:120px}.timeline-cards{display:grid;gap:18px}.timeline-cards article{position:relative;padding:34px;border-radius:32px;background:rgba(255,255,255,.72);border:1px solid rgba(255,255,255,.8);box-shadow:0 20px 70px rgba(21,18,15,.09);opacity:.48;transform:translateX(18px) scale(.98);transition:opacity .4s ease,transform .4s ease,background .4s ease}.timeline-cards article.is-active{opacity:1;transform:translateX(0) scale(1);background:#fff}.timeline-cards span{display:inline-grid;place-items:center;width:46px;height:46px;border-radius:50%;background:#171512;color:#fff;font-weight:900}.timeline-cards h3{margin:20px 0 8px;font-size:30px;letter-spacing:-.055em}.timeline-cards p{color:var(--sr-muted);line-height:1.7;margin:0}
/* Why */
.why-premium{background:#fff9f0}.why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.why-card{position:relative;overflow:hidden;padding:28px;border-radius:32px;background:#fff;border:1px solid var(--sr-line);box-shadow:0 18px 55px rgba(21,18,15,.08);transition:transform .22s ease,box-shadow .22s ease}.why-card::before{content:"";position:absolute;inset:auto -20% -40% -20%;height:60%;background:radial-gradient(circle,rgba(200,164,106,.18),transparent 60%);opacity:0;transition:.25s}.why-card:hover{transform:translateY(-8px);box-shadow:0 30px 86px rgba(21,18,15,.14)}.why-card:hover::before{opacity:1}.why-card b{display:block;color:var(--sr-sand);font-size:13px;letter-spacing:.18em}.why-card h3{font-size:24px;letter-spacing:-.04em}.why-card p{color:var(--sr-muted);line-height:1.7}
/* Map */
.local-map-section{background:#171512;color:#fff}.local-map-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(34px,6vw,86px);align-items:center}.map-visual{position:relative;min-height:520px;border-radius:44px;overflow:hidden;background:radial-gradient(circle at 50% 50%,rgba(200,164,106,.28),transparent 24%),linear-gradient(135deg,#2a211b,#171512);border:1px solid rgba(255,255,255,.12);box-shadow:0 36px 110px rgba(0,0,0,.32)}.map-visual::before{content:"";position:absolute;inset:10%;border:1px solid rgba(255,255,255,.12);border-radius:38% 62% 44% 56%;transform:rotate(-8deg)}.map-visual::after{content:"";position:absolute;inset:22%;border:1px dashed rgba(200,164,106,.38);border-radius:62% 38% 57% 43%;animation:slowSpin 18s linear infinite}.pin{position:absolute;padding:9px 12px;border-radius:999px;background:#fff;color:#171512;font-size:12px;font-weight:900;box-shadow:0 18px 48px rgba(0,0,0,.24)}.pin::before{content:"";position:absolute;left:50%;top:50%;width:10px;height:10px;border-radius:50%;background:var(--sr-sand);transform:translate(-50%,-50%);animation:pulse 2.4s ease infinite;z-index:-1}.p1{left:44%;top:47%}.p2{left:55%;top:58%}.p3{left:28%;top:28%}.p4{right:22%;top:39%}.p5{right:18%;bottom:24%}@keyframes slowSpin{to{transform:rotate(360deg)}}@keyframes pulse{0%,100%{box-shadow:0 0 0 0 rgba(200,164,106,.6)}50%{box-shadow:0 0 0 26px rgba(200,164,106,0)}}.local-map-section h2{color:#fff}.local-map-section .lead{color:rgba(255,255,255,.72)}.premium-cloud a{background:rgba(255,255,255,.08);color:#fff;border-color:rgba(255,255,255,.12)}.premium-cloud a:hover{background:#fff;color:#171512}
/* Testimonials */
.testimonials-premium{background:#f3ece2}.testimonial-orbit{display:grid;grid-template-columns:1.1fr .9fr 1.1fr;gap:16px}.premium-testimonial{padding:30px;border-radius:34px;background:#fff;border:1px solid var(--sr-line);box-shadow:0 22px 70px rgba(21,18,15,.08);min-height:280px;display:flex;flex-direction:column;justify-content:space-between}.premium-testimonial:nth-child(2){transform:translateY(34px);background:#171512;color:#fff}.premium-testimonial:nth-child(2) p{color:rgba(255,255,255,.72)}.premium-testimonial .stars{color:var(--sr-sand);letter-spacing:.12em}.premium-testimonial p{font-size:18px;line-height:1.75;color:var(--sr-muted)}.premium-testimonial cite{font-style:normal;font-weight:900}
/* FAQ / CTA */
.faq-premium{background:#fff9f0}.faq-more{text-align:center;margin-top:24px}.final-cta{background:#fff9f0}.final-cta-card{position:relative;overflow:hidden;display:grid;grid-template-columns:1fr auto;gap:32px;align-items:center;padding:clamp(28px,5vw,58px);border-radius:44px;background:linear-gradient(135deg,#171512,#35251d);color:#fff;box-shadow:0 36px 110px rgba(21,18,15,.22)}.final-cta-card::after{content:"";position:absolute;right:-10%;top:-35%;width:480px;height:480px;border-radius:50%;background:radial-gradient(circle,rgba(200,164,106,.28),transparent 64%)}.final-cta-card h2{color:#fff;max-width:780px}.final-cta-card p{color:rgba(255,255,255,.7);max-width:660px}.final-actions{position:relative;z-index:2;display:flex;flex-direction:column;gap:12px;min-width:250px}
/* Enhanced reveals */
.reveal-zoom,.reveal-parallax{opacity:0;transform:translateY(36px) scale(.96);transition:opacity .75s ease,transform .75s cubic-bezier(.18,1,.28,1)}.reveal-zoom.is-visible,.reveal-parallax.is-visible{opacity:1;transform:translateY(0) scale(1)}.magnetic{will-change:transform}.btn{transition:transform .2s ease,box-shadow .2s ease,background .2s ease,color .2s ease}
/* Responsive */
@media (max-width:1120px){.cinema-grid,.signature-grid,.before-grid,.process-grid,.local-map-grid{grid-template-columns:1fr}.cinema-grid{min-height:auto}.facade-stage{min-height:520px;max-width:620px;margin:0 auto}.dashboard-grid{grid-template-columns:repeat(2,1fr)}.sticky-intro{grid-template-columns:1fr}.process-sticky{position:static}.why-grid{grid-template-columns:repeat(2,1fr)}.testimonial-orbit{grid-template-columns:1fr}.premium-testimonial:nth-child(2){transform:none}.final-cta-card{grid-template-columns:1fr}.final-actions{flex-direction:row;flex-wrap:wrap}.sticky-services{padding:80px 0}.service-rail{overflow-x:auto;width:100%;scroll-snap-type:x mandatory;padding-inline:18px}.home-service-card{scroll-snap-align:start}}
@media (max-width:720px){.home-premium{background:linear-gradient(180deg,#171512 0 660px,#f3ece2 660px)}.cinema-hero{padding-top:112px;min-height:auto}.cinema-copy h1{font-size:clamp(43px,15vw,72px)}.cinema-copy p{font-size:16px}.hero-trust-row{display:grid}.facade-stage{min-height:390px}.facade-building{border-radius:28px;inset:4% 4% 2% 4%}.stage-label{display:none}.hero-bottom-strip{font-size:10px;margin-top:10px}.dashboard-grid{grid-template-columns:1fr}.dash-card{padding:22px}.signature-media{min-height:380px}.precision-list div{grid-template-columns:1fr}.precision-list span{margin-bottom:12px}.before-grid{gap:28px}.ba-slider{min-height:390px;border-radius:30px}.timeline-cards article{padding:24px}.why-grid{grid-template-columns:1fr}.map-visual{min-height:380px;border-radius:30px}.pin{font-size:10px;padding:7px 9px}.final-actions{flex-direction:column}.final-actions .btn{width:100%}.sticky-services{padding:66px 0}.home-service-card{min-height:370px}.scroll-meter{height:2px}.hero-orb{display:none}}
@media (prefers-reduced-motion:reduce){.cinema-copy h1 span,.cinema-copy p,.cinematic-buttons,.hero-trust-row{animation:none;opacity:1;transform:none;filter:none}.hero-bottom-strip span,.map-visual::after,.pin::before{animation:none}.facade-stage,.home-service-card,.timeline-cards article,.why-card{transform:none!important}.reveal-zoom,.reveal-parallax{opacity:1;transform:none}}




/* =========================================================
   HERO PHOTO PREMIUM - SCHMITT RAVALEMENT
   Corrige le hero actuel et supprime l'effet fausse maison
========================================================= */

.cinema-hero-photo {
  position: relative;
  min-height: 100svh;
  overflow: hidden;
  padding: clamp(120px, 12vw, 178px) 0 clamp(72px, 8vw, 110px);
  background:
    radial-gradient(circle at 12% 18%, rgba(200, 164, 106, 0.20), transparent 34%),
    radial-gradient(circle at 88% 18%, rgba(143, 93, 63, 0.14), transparent 32%),
    linear-gradient(180deg, #f4ecdf 0%, #e8ddcf 100%);
  color: #1f1a17;
}

.cinema-hero-photo::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: 0.18;
  background-image:
    linear-gradient(rgba(31, 26, 23, 0.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(31, 26, 23, 0.05) 1px, transparent 1px);
  background-size: 28px 28px;
  mask-image: linear-gradient(180deg, black 0%, transparent 88%);
}

.cinema-hero-photo .hero-noise {
  opacity: 0.18;
}

.cinema-hero-photo .hero-orb {
  position: absolute;
  width: clamp(280px, 36vw, 680px);
  aspect-ratio: 1;
  border-radius: 999px;
  filter: blur(42px);
  pointer-events: none;
}

.cinema-hero-photo .orb-a {
  left: -12%;
  top: 4%;
  background: rgba(200, 164, 106, 0.38);
}

.cinema-hero-photo .orb-b {
  right: -14%;
  top: 8%;
  background: rgba(143, 93, 63, 0.22);
}

.cinema-grid-photo {
  position: relative;
  z-index: 3;
  display: grid;
  grid-template-columns: minmax(0, 1.02fr) minmax(420px, 0.98fr);
  align-items: center;
  gap: clamp(38px, 5.8vw, 88px);
}

.cinema-hero-photo .cinema-copy {
  max-width: 780px;
}

.cinema-hero-photo .eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 13px;
  margin-bottom: clamp(18px, 2vw, 24px);
  color: #8f6734;
  font-size: clamp(0.72rem, 0.8vw, 0.86rem);
  font-weight: 850;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.cinema-hero-photo .eyebrow::before {
  content: "";
  width: 34px;
  height: 1px;
  background: rgba(143, 103, 52, 0.58);
}

.cinema-hero-photo h1 {
  margin: 0 0 clamp(20px, 2vw, 28px);
  color: #1f1a17;
  font-size: clamp(3.05rem, 6.8vw, 6.75rem);
  line-height: 0.93;
  letter-spacing: -0.065em;
  max-width: 9.7ch;
  text-wrap: balance;
}

.cinema-hero-photo h1 span {
  display: block;
}

.cinema-hero-photo .cinema-copy p {
  max-width: 690px;
  margin: 0 0 clamp(26px, 3vw, 34px);
  color: #5f564e;
  font-size: clamp(1rem, 1.18vw, 1.14rem);
  line-height: 1.82;
}

.cinema-hero-photo .hero-cta {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-bottom: clamp(24px, 3vw, 34px);
}

.cinema-hero-photo .btn-primary {
  background: linear-gradient(135deg, #c89d5a 0%, #a9793d 100%);
  color: #1f1a17;
  box-shadow: 0 14px 34px rgba(169, 121, 61, 0.26);
}

.cinema-hero-photo .btn-primary:hover {
  box-shadow: 0 18px 44px rgba(169, 121, 61, 0.34);
}

.cinema-hero-photo .btn-secondary {
  color: #1f1a17;
  background: rgba(255, 255, 255, 0.58);
  border: 1px solid rgba(31, 26, 23, 0.12);
  backdrop-filter: blur(10px);
}

.cinema-hero-photo .btn-secondary:hover {
  background: rgba(255, 255, 255, 0.82);
  border-color: rgba(31, 26, 23, 0.22);
}

.cinema-hero-photo .hero-trust-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.cinema-hero-photo .hero-trust-row span {
  display: inline-flex;
  align-items: center;
  min-height: 42px;
  padding: 0 15px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.48);
  border: 1px solid rgba(31, 26, 23, 0.07);
  color: #5f564e;
  font-size: 0.92rem;
  font-weight: 650;
  backdrop-filter: blur(8px);
}

.cinema-hero-photo .hero-trust-row strong {
  margin-right: 8px;
  color: #8f6734;
}

/* Image hero */
.hero-photo-stage {
  position: relative;
  min-height: clamp(520px, 48vw, 670px);
  perspective: 1200px;
}

.hero-photo-frame {
  position: relative;
  width: 100%;
  height: clamp(520px, 48vw, 670px);
  overflow: hidden;
  border-radius: clamp(24px, 2.2vw, 34px);
  background: #d8d0c4;
  border: 1px solid rgba(255, 255, 255, 0.58);
  box-shadow:
    0 32px 80px rgba(31, 26, 23, 0.18),
    inset 0 1px 0 rgba(255, 255, 255, 0.58);
  transform: rotateX(0deg) rotateY(-3deg);
  transform-origin: center;
}

.hero-photo-frame::before {
  content: "";
  position: absolute;
  inset: 14px;
  z-index: 2;
  border: 1px solid rgba(255, 255, 255, 0.44);
  border-radius: clamp(18px, 1.8vw, 26px);
  pointer-events: none;
}

.hero-photo-frame::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 3;
  pointer-events: none;
  background:
    linear-gradient(180deg, rgba(20, 16, 12, 0.02) 0%, rgba(20, 16, 12, 0.18) 100%),
    radial-gradient(circle at 30% 10%, rgba(255, 255, 255, 0.28), transparent 32%);
}

.hero-photo-frame img {
  position: relative;
  z-index: 1;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.015);
}

.hero-photo-badge,
.hero-floating-card {
  position: absolute;
  z-index: 5;
  background: rgba(255, 255, 255, 0.78);
  border: 1px solid rgba(31, 26, 23, 0.09);
  box-shadow: 0 22px 48px rgba(31, 26, 23, 0.14);
  backdrop-filter: blur(14px);
}

.hero-photo-badge {
  top: 24px;
  left: 24px;
  padding: 11px 17px;
  border-radius: 999px;
  color: #1f1a17;
  font-size: 0.86rem;
  font-weight: 850;
}

.hero-floating-card {
  width: min(270px, 78%);
  border-radius: 22px;
  padding: 17px 19px;
}

.hero-floating-card strong {
  display: block;
  margin-bottom: 6px;
  color: #1f1a17;
  font-size: 0.98rem;
  line-height: 1.25;
}

.hero-floating-card span {
  display: block;
  color: #5f564e;
  font-size: 0.9rem;
  line-height: 1.52;
}

.hero-floating-card-top {
  right: -18px;
  top: 86px;
}

.hero-floating-card-bottom {
  left: -18px;
  bottom: 42px;
}

.cinema-hero-photo .hero-bottom-strip {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 18px;
  z-index: 4;
  display: flex;
  gap: 10px;
  width: min(1320px, calc(100% - 40px));
  margin: 0 auto;
  overflow-x: auto;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}

.cinema-hero-photo .hero-bottom-strip::-webkit-scrollbar {
  display: none;
}

.cinema-hero-photo .hero-bottom-strip span {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 999px;
  color: rgba(31, 26, 23, 0.72);
  background: rgba(255, 255, 255, 0.44);
  border: 1px solid rgba(31, 26, 23, 0.06);
  font-size: 0.83rem;
  font-weight: 750;
  letter-spacing: 0.04em;
  backdrop-filter: blur(8px);
}

@media (hover: hover) and (pointer: fine) {
  .hero-photo-frame {
    transition: transform 0.5s ease, box-shadow 0.5s ease;
  }

  .hero-photo-stage:hover .hero-photo-frame {
    transform: rotateX(0deg) rotateY(0deg) translateY(-4px);
    box-shadow:
      0 38px 92px rgba(31, 26, 23, 0.21),
      inset 0 1px 0 rgba(255, 255, 255, 0.58);
  }
}

@media (max-width: 1120px) {
  .cinema-hero-photo {
    min-height: auto;
  }

  .cinema-grid-photo {
    grid-template-columns: 1fr;
  }

  .cinema-hero-photo h1 {
    max-width: 11ch;
  }

  .hero-photo-stage {
    min-height: auto;
  }

  .hero-photo-frame {
    height: clamp(430px, 62vw, 600px);
    transform: none;
  }

  .hero-floating-card-top {
    right: 20px;
    top: 76px;
  }

  .hero-floating-card-bottom {
    left: 20px;
    bottom: 26px;
  }

  .cinema-hero-photo .hero-bottom-strip {
    position: relative;
    bottom: auto;
    margin-top: 34px;
  }
}

@media (max-width: 767px) {
  .cinema-hero-photo {
    padding: 104px 0 54px;
  }

  .cinema-grid-photo {
    width: min(100% - 28px, 1320px);
    gap: 34px;
  }

  .cinema-hero-photo .eyebrow {
    align-items: flex-start;
    font-size: 0.7rem;
    line-height: 1.45;
    letter-spacing: 0.13em;
  }

  .cinema-hero-photo .eyebrow::before {
    width: 24px;
    margin-top: 8px;
  }

  .cinema-hero-photo h1 {
    max-width: none;
    font-size: clamp(2.72rem, 13vw, 4.25rem);
    line-height: 0.96;
    letter-spacing: -0.055em;
  }

  .cinema-hero-photo .cinema-copy p {
    font-size: 1rem;
    line-height: 1.72;
  }

  .cinema-hero-photo .hero-cta {
    flex-direction: column;
  }

  .cinema-hero-photo .hero-cta .btn {
    width: 100%;
  }

  .cinema-hero-photo .hero-trust-row {
    gap: 8px;
  }

  .cinema-hero-photo .hero-trust-row span {
    width: 100%;
    justify-content: center;
    text-align: center;
  }

  .hero-photo-frame {
    height: 360px;
    min-height: 360px;
    border-radius: 22px;
  }

  .hero-photo-badge {
    top: 14px;
    left: 14px;
    padding: 9px 13px;
    font-size: 0.78rem;
  }

  .hero-floating-card {
    position: static;
    width: 100%;
    max-width: none;
    margin-top: 12px;
  }

  .cinema-hero-photo .hero-bottom-strip {
    width: min(100% - 28px, 1320px);
    margin-top: 26px;
  }
}

/* =========================================================
   HERO COMMUNES MARQUEE - Défilement fluide et propre
========================================================= */

.cinema-hero-photo .hero-bottom-strip {
  display: none !important;
}

.cinema-hero-photo .hero-bottom-marquee {
  position: relative;
  z-index: 5;
  width: min(1280px, calc(100% - 32px));
  margin: clamp(38px, 5vw, 62px) auto 0;
  padding: 18px 0 0;
  overflow: hidden;
  border-top: 1px solid rgba(31, 26, 23, 0.08);
  mask-image: linear-gradient(
    90deg,
    transparent 0%,
    black 9%,
    black 91%,
    transparent 100%
  );
  -webkit-mask-image: linear-gradient(
    90deg,
    transparent 0%,
    black 9%,
    black 91%,
    transparent 100%
  );
}

.cinema-hero-photo .hero-bottom-marquee-track {
  display: flex;
  width: max-content;
  gap: 10px;
  will-change: transform;
  animation: srHeroMarquee 34s linear infinite;
}

.cinema-hero-photo .hero-bottom-marquee:hover .hero-bottom-marquee-track {
  animation-play-state: paused;
}

.cinema-hero-photo .hero-bottom-marquee-group {
  display: flex;
  align-items: center;
  gap: 10px;
  flex: 0 0 auto;
}

.cinema-hero-photo .hero-bottom-marquee span {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 0 18px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.64);
  border: 1px solid rgba(31, 26, 23, 0.08);
  box-shadow: 0 10px 24px rgba(31, 26, 23, 0.04);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  color: rgba(31, 26, 23, 0.72);
  font-size: 0.82rem;
  font-weight: 850;
  line-height: 1;
  letter-spacing: 0.055em;
  text-transform: uppercase;
  white-space: nowrap;
}

@keyframes srHeroMarquee {
  from {
    transform: translate3d(0, 0, 0);
  }

  to {
    transform: translate3d(calc(-50% - 5px), 0, 0);
  }
}

/* Tablette */
@media (max-width: 1024px) {
  .cinema-hero-photo .hero-bottom-marquee {
    width: calc(100% - 28px);
    margin-top: 34px;
    padding-top: 16px;
  }

  .cinema-hero-photo .hero-bottom-marquee-track {
    animation-duration: 30s;
  }

  .cinema-hero-photo .hero-bottom-marquee span {
    min-height: 40px;
    padding: 0 15px;
    font-size: 0.76rem;
  }
}

/* Mobile */
@media (max-width: 767px) {
  .cinema-hero-photo .hero-bottom-marquee {
    width: calc(100% - 24px);
    margin-top: 30px;
    padding-top: 14px;
    mask-image: linear-gradient(
      90deg,
      transparent 0%,
      black 14%,
      black 86%,
      transparent 100%
    );
    -webkit-mask-image: linear-gradient(
      90deg,
      transparent 0%,
      black 14%,
      black 86%,
      transparent 100%
    );
  }

  .cinema-hero-photo .hero-bottom-marquee-track {
    gap: 8px;
    animation-duration: 26s;
  }

  .cinema-hero-photo .hero-bottom-marquee-group {
    gap: 8px;
  }

  .cinema-hero-photo .hero-bottom-marquee span {
    min-height: 38px;
    padding: 0 13px;
    font-size: 0.7rem;
    letter-spacing: 0.04em;
  }
}

/* Accessibilité : réduit les animations si l’utilisateur le demande */
@media (prefers-reduced-motion: reduce) {
  .cinema-hero-photo .hero-bottom-marquee-track {
    animation: none;
    transform: none;
  }

  .cinema-hero-photo .hero-bottom-marquee {
    overflow-x: auto;
    mask-image: none;
    -webkit-mask-image: none;
  }
}

/* =========================================================
   SIGNATURE SECTION - Cartes photos métier
========================================================= */

.signature-photo-stack {
  position: relative;
  min-height: clamp(520px, 44vw, 660px);
  display: block;
  perspective: 1200px;
}

.signature-photo-stack .material-slab {
  display: none !important;
}

.signature-photo-card {
  position: absolute;
  overflow: hidden;
  border-radius: 28px;
  background: #d8d0c4;
  border: 1px solid rgba(255, 255, 255, 0.58);
  box-shadow:
    0 28px 70px rgba(31, 26, 23, 0.16),
    inset 0 1px 0 rgba(255, 255, 255, 0.5);
  transform-origin: center;
  isolation: isolate;
}

.signature-photo-card::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  background:
    linear-gradient(180deg, rgba(20, 16, 12, 0.02) 0%, rgba(20, 16, 12, 0.42) 100%);
}

.signature-photo-card img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  transform: scale(1.04);
  transition: transform 0.8s ease;
}

.signature-photo-card:hover img {
  transform: scale(1.1);
}

.signature-photo-card div {
  position: absolute;
  left: 18px;
  right: 18px;
  bottom: 18px;
  z-index: 3;
  display: flex;
  align-items: center;
  gap: 12px;
}

.signature-photo-card div span {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.82);
  color: #8f6734;
  font-size: 0.78rem;
  font-weight: 900;
  backdrop-filter: blur(10px);
}

.signature-photo-card div strong {
  color: #fff;
  font-size: clamp(1rem, 1.4vw, 1.35rem);
  line-height: 1.1;
  letter-spacing: -0.04em;
  text-shadow: 0 8px 22px rgba(0, 0, 0, 0.24);
}

.signature-photo-card-main {
  z-index: 3;
  right: 4%;
  top: 4%;
  width: min(430px, 72%);
  height: clamp(310px, 31vw, 440px);
  transform: rotate(3deg);
}

.signature-photo-card-left {
  z-index: 2;
  left: 2%;
  top: 18%;
  width: min(360px, 62%);
  height: clamp(250px, 25vw, 360px);
  transform: rotate(-7deg);
  opacity: 0.92;
}

.signature-photo-card-bottom {
  z-index: 4;
  left: 16%;
  bottom: 4%;
  width: min(380px, 66%);
  height: clamp(230px, 23vw, 330px);
  transform: rotate(-2deg);
}

.corner-note-photo {
  z-index: 6;
  left: 11%;
  bottom: 15%;
  background: rgba(31, 26, 23, 0.92);
  color: #fff;
}

@media (hover: hover) and (pointer: fine) {
  .signature-photo-card {
    transition:
      transform 0.5s ease,
      box-shadow 0.5s ease,
      opacity 0.5s ease;
  }

  .signature-photo-card-main:hover {
    transform: rotate(0deg) translateY(-6px);
  }

  .signature-photo-card-left:hover {
    transform: rotate(-3deg) translateY(-6px);
    opacity: 1;
  }

  .signature-photo-card-bottom:hover {
    transform: rotate(0deg) translateY(-6px);
  }
}

@media (max-width: 1024px) {
  .signature-photo-stack {
    min-height: 560px;
  }

  .signature-photo-card-main {
    right: 0;
    width: 72%;
  }

  .signature-photo-card-left {
    left: 0;
    width: 58%;
  }

  .signature-photo-card-bottom {
    left: 18%;
    width: 62%;
  }
}

@media (max-width: 767px) {
  .signature-photo-stack {
    min-height: auto;
    display: grid;
    gap: 14px;
  }

  .signature-photo-card {
    position: relative;
    inset: auto;
    width: 100%;
    height: 230px;
    transform: none !important;
    border-radius: 22px;
  }

  .signature-photo-card-left,
  .signature-photo-card-main,
  .signature-photo-card-bottom {
    width: 100%;
    height: 230px;
    opacity: 1;
  }

  .corner-note-photo {
    position: relative;
    left: auto;
    bottom: auto;
    width: fit-content;
    margin-top: 2px;
  }
}

/* =========================================================
   FIX RADIUS CARTES PHOTOS SIGNATURE
   Garde les coins arrondis même au hover
========================================================= */

.signature-photo-card {
  border-radius: 28px !important;
  overflow: hidden !important;
  clip-path: inset(0 round 28px) !important;
  isolation: isolate !important;
  backface-visibility: hidden !important;
  transform-style: preserve-3d;
}

.signature-photo-card img {
  border-radius: inherit !important;
  overflow: hidden !important;
  backface-visibility: hidden !important;
  transform-origin: center center !important;
}

/* Les overlays doivent aussi respecter l'arrondi */
.signature-photo-card::before,
.signature-photo-card::after {
  border-radius: inherit !important;
  overflow: hidden !important;
  pointer-events: none;
}

/* Hover : on garde le même radius même avec scale/rotate */
.signature-photo-card:hover {
  border-radius: 28px !important;
  overflow: hidden !important;
  clip-path: inset(0 round 28px) !important;
}

.signature-photo-card:hover img {
  border-radius: inherit !important;
}

/* Si le navigateur rend mal le clip-path avec les rotations */
@supports (-webkit-mask-image: linear-gradient(#000, #000)) {
  .signature-photo-card {
    -webkit-mask-image: -webkit-radial-gradient(white, black) !important;
  }
}

/* Mobile */
@media (max-width: 767px) {
  .signature-photo-card {
    border-radius: 22px !important;
    clip-path: inset(0 round 22px) !important;
  }

  .signature-photo-card:hover {
    border-radius: 22px !important;
    clip-path: inset(0 round 22px) !important;
  }
}

/* =========================================================
   SIGNATURE PHOTO CARDS - Badges numéros premium homogènes
========================================================= */

.signature-photo-card > div:not(.signature-photo-caption) {
  all: unset !important;
}

.signature-step {
  position: absolute;
  top: 18px;
  left: 18px;
  z-index: 6;
  display: inline-grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border-radius: 999px;
  background:
    radial-gradient(circle at 30% 25%, rgba(255,255,255,0.9), transparent 38%),
    rgba(255, 255, 255, 0.82);
  border: 1px solid rgba(255,255,255,0.68);
  box-shadow:
    0 14px 30px rgba(31, 26, 23, 0.16),
    inset 0 1px 0 rgba(255,255,255,0.7);
  color: #8f6734;
  font-size: 0.82rem;
  font-weight: 950;
  letter-spacing: -0.03em;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

.signature-photo-caption {
  position: absolute !important;
  left: 18px !important;
  right: 18px !important;
  bottom: 18px !important;
  z-index: 5 !important;
  display: block !important;
  padding: 16px 17px !important;
  border-radius: 20px !important;
  background: rgba(31, 26, 23, 0.78) !important;
  border: 1px solid rgba(255,255,255,0.12) !important;
  box-shadow: 0 18px 36px rgba(31, 26, 23, 0.22) !important;
  backdrop-filter: blur(14px) !important;
  -webkit-backdrop-filter: blur(14px) !important;
}

.signature-photo-caption strong {
  display: block !important;
  margin: 0 0 6px !important;
  color: #ffffff !important;
  font-size: clamp(1rem, 1.35vw, 1.28rem) !important;
  line-height: 1.08 !important;
  letter-spacing: -0.04em !important;
  text-shadow: none !important;
}

.signature-photo-caption small {
  display: block !important;
  color: rgba(255,255,255,0.76) !important;
  font-size: 0.84rem !important;
  line-height: 1.42 !important;
  font-weight: 600 !important;
}

.signature-photo-card::after {
  background:
    linear-gradient(180deg, rgba(20, 16, 12, 0.02) 0%, rgba(20, 16, 12, 0.55) 100%) !important;
}

.signature-photo-card {
  border-radius: 28px !important;
  overflow: hidden !important;
  clip-path: inset(0 round 28px) !important;
}

.signature-photo-card img {
  border-radius: inherit !important;
}

@media (max-width: 767px) {
  .signature-step {
    top: 14px;
    left: 14px;
    width: 40px;
    height: 40px;
    font-size: 0.78rem;
  }

  .signature-photo-caption {
    left: 14px !important;
    right: 14px !important;
    bottom: 14px !important;
    padding: 14px 15px !important;
    border-radius: 18px !important;
  }

  .signature-photo-caption small {
    font-size: 0.8rem !important;
  }

  .signature-photo-card {
    border-radius: 22px !important;
    clip-path: inset(0 round 22px) !important;
  }
}

/* =========================================================
   FIX SIGNATURE STACK - légendes visibles + stack premium
========================================================= */

.signature-photo-stack {
  min-height: clamp(620px, 52vw, 760px) !important;
}

/* On garde les cartes superposées, mais avec un chevauchement plus propre */
.signature-photo-card-main {
  z-index: 3 !important;
  right: 0 !important;
  top: 0 !important;
  width: min(520px, 78%) !important;
  height: clamp(360px, 34vw, 500px) !important;
  transform: rotate(2.2deg) !important;
}

.signature-photo-card-left {
  z-index: 2 !important;
  left: 0 !important;
  top: 19% !important;
  width: min(360px, 54%) !important;
  height: clamp(330px, 30vw, 430px) !important;
  transform: rotate(-6deg) !important;
  opacity: 0.96 !important;
}

.signature-photo-card-bottom {
  z-index: 4 !important;
  left: 16% !important;
  bottom: 0 !important;
  width: min(500px, 76%) !important;
  height: clamp(300px, 29vw, 420px) !important;
  transform: rotate(-1.8deg) !important;
}

/* Badges toujours au-dessus */
.signature-step {
  z-index: 12 !important;
}

/* Base des captions */
.signature-photo-caption {
  z-index: 11 !important;
  width: auto !important;
  max-width: min(330px, calc(100% - 36px)) !important;
  border-radius: 20px !important;
  background: rgba(31, 26, 23, 0.82) !important;
  border: 1px solid rgba(255,255,255,0.14) !important;
  box-shadow: 0 18px 44px rgba(31, 26, 23, 0.26) !important;
}

/* Carte 01 : légende placée en haut à droite pour éviter la carte 03 */
.signature-photo-card-main .signature-photo-caption {
  top: 22px !important;
  right: 22px !important;
  bottom: auto !important;
  left: auto !important;
  max-width: 300px !important;
}

/* Comme le badge 01 est à gauche, la caption reste lisible à droite */
.signature-photo-card-main .signature-step {
  top: 22px !important;
  left: 22px !important;
}

/* Carte 02 : légende remontée et compacte, pas cachée par la carte 03 */
.signature-photo-card-left .signature-photo-caption {
  left: 20px !important;
  right: auto !important;
  bottom: 96px !important;
  top: auto !important;
  max-width: 260px !important;
  padding: 14px 15px !important;
}

/* Carte 02 : badge visible */
.signature-photo-card-left .signature-step {
  top: 22px !important;
  left: 22px !important;
}

/* Carte 03 : légende principale, bien visible */
.signature-photo-card-bottom .signature-photo-caption {
  left: 22px !important;
  right: 22px !important;
  bottom: 22px !important;
  top: auto !important;
  max-width: none !important;
  padding: 18px 20px !important;
}

/* Carte 03 : badge en haut à gauche, pas sur la caption */
.signature-photo-card-bottom .signature-step {
  top: 22px !important;
  left: 22px !important;
}

/* Texte un peu plus propre */
.signature-photo-caption strong {
  font-size: clamp(1rem, 1.28vw, 1.28rem) !important;
}

.signature-photo-caption small {
  font-size: 0.82rem !important;
}

/* La carte 02 ne doit pas prendre trop de place avec un texte immense */
.signature-photo-card-left .signature-photo-caption small {
  display: none !important;
}

/* Hover sans casser les z-index */
@media (hover: hover) and (pointer: fine) {
  .signature-photo-card-main:hover {
    z-index: 8 !important;
    transform: rotate(0deg) translateY(-6px) !important;
  }

  .signature-photo-card-left:hover {
    z-index: 8 !important;
    transform: rotate(-2deg) translateY(-6px) !important;
  }

  .signature-photo-card-bottom:hover {
    z-index: 8 !important;
    transform: rotate(0deg) translateY(-6px) !important;
  }
}

/* Tablette : on réduit l'empilement */
@media (max-width: 1024px) {
  .signature-photo-stack {
    min-height: 680px !important;
  }

  .signature-photo-card-main {
    width: 76% !important;
    height: 420px !important;
  }

  .signature-photo-card-left {
    width: 56% !important;
    height: 360px !important;
    top: 24% !important;
  }

  .signature-photo-card-bottom {
    width: 74% !important;
    height: 360px !important;
    left: 14% !important;
  }

  .signature-photo-card-main .signature-photo-caption {
    max-width: 280px !important;
  }
}

/* Mobile : plus d'empilement, tout devient lisible en cartes verticales */
@media (max-width: 767px) {
  .signature-photo-stack {
    min-height: auto !important;
    display: grid !important;
    gap: 16px !important;
  }

  .signature-photo-card-main,
  .signature-photo-card-left,
  .signature-photo-card-bottom {
    position: relative !important;
    inset: auto !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    bottom: auto !important;
    width: 100% !important;
    height: 260px !important;
    transform: none !important;
    opacity: 1 !important;
  }

  .signature-photo-caption,
  .signature-photo-card-main .signature-photo-caption,
  .signature-photo-card-left .signature-photo-caption,
  .signature-photo-card-bottom .signature-photo-caption {
    left: 14px !important;
    right: 14px !important;
    bottom: 14px !important;
    top: auto !important;
    max-width: none !important;
    padding: 14px 15px !important;
  }

  .signature-photo-card-left .signature-photo-caption small {
    display: block !important;
  }

  .signature-step,
  .signature-photo-card-main .signature-step,
  .signature-photo-card-left .signature-step,
  .signature-photo-card-bottom .signature-step {
    top: 14px !important;
    left: 14px !important;
  }
}



/* =========================================================
   SERVICES CINEMA V2 - Scroll vertical -> horizontal
   Nouvelle section isolée, ne dépend plus de .sticky-services
========================================================= */

.sr-services-cinema {
  --sr-services-distance: 1400px;
  position: relative;
  height: calc(100svh + var(--sr-services-distance));
  min-height: 1500px;
  background:
    radial-gradient(circle at 20% 8%, rgba(200, 164, 106, 0.11), transparent 34%),
    radial-gradient(circle at 88% 18%, rgba(143, 93, 63, 0.12), transparent 30%),
    linear-gradient(180deg, #211b15 0%, #15110d 100%);
  color: #fff;
  overflow: clip;
}

.sr-services-cinema::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: 0.18;
  pointer-events: none;
  background-image:
    linear-gradient(rgba(255,255,255,0.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.04) 1px, transparent 1px);
  background-size: 34px 34px;
}

.sr-services-sticky {
  position: sticky;
  top: 0;
  z-index: 2;
  height: 100svh;
  min-height: 760px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  overflow: hidden;
  padding: clamp(90px, 9vw, 130px) 0 clamp(60px, 6vw, 90px);
}

.sr-services-head {
  position: relative;
  z-index: 3;
  width: min(1180px, calc(100% - 32px));
  margin: 0 auto clamp(42px, 5vw, 72px);
  display: grid;
  grid-template-columns: minmax(0, 0.78fr) minmax(0, 1.22fr);
  gap: clamp(32px, 6vw, 90px);
  align-items: end;
}

.sr-services-head .eyebrow {
  color: #c89d5a !important;
}

.sr-services-small {
  max-width: 420px;
  margin: 18px 0 0;
  color: rgba(255,255,255,0.48);
  line-height: 1.7;
}

.sr-services-head h2 {
  max-width: 760px;
  margin: 0 0 18px;
  color: #fff;
  font-size: clamp(2.1rem, 4vw, 4.2rem);
  line-height: 1.02;
  letter-spacing: -0.055em;
}

.sr-services-head p {
  max-width: 690px;
  margin: 0;
  color: rgba(255,255,255,0.62);
  font-size: clamp(1rem, 1.1vw, 1.1rem);
  line-height: 1.75;
}

.sr-services-viewport {
  position: relative;
  z-index: 3;
  width: 100%;
  overflow: hidden;
  padding-left: max(24px, calc((100vw - 1180px) / 2));
  padding-right: max(24px, calc((100vw - 1180px) / 2));
}

.sr-services-viewport::before,
.sr-services-viewport::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  z-index: 5;
  width: max(42px, calc((100vw - 1180px) / 2));
  pointer-events: none;
}

.sr-services-viewport::before {
  left: 0;
  background: linear-gradient(90deg, #211b15 0%, rgba(33, 27, 21, 0) 100%);
}

.sr-services-viewport::after {
  right: 0;
  background: linear-gradient(270deg, #15110d 0%, rgba(21, 17, 13, 0) 100%);
}

.sr-services-track {
  display: flex;
  align-items: stretch;
  gap: 22px;
  width: max-content;
  min-width: max-content;
  transform: translate3d(0, 0, 0);
  will-change: transform;
}

/* Cartes injectées par data.js */
.sr-services-track > * {
  flex: 0 0 clamp(320px, 27vw, 410px) !important;
  width: clamp(320px, 27vw, 410px) !important;
  min-width: clamp(320px, 27vw, 410px) !important;
  min-height: 330px;
}

/* Si tes cartes utilisent une classe service-card */
.sr-services-track .service-card,
.sr-services-track article,
.sr-services-track a {
  border-radius: 28px !important;
}

/* Progression discrète */
.sr-services-progress {
  position: relative;
  z-index: 3;
  width: min(1180px, calc(100% - 32px));
  height: 2px;
  margin: clamp(32px, 4vw, 52px) auto 0;
  background: rgba(255,255,255,0.12);
  overflow: hidden;
  border-radius: 999px;
}

.sr-services-progress span {
  display: block;
  width: 0%;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #c89d5a, #f0d59e);
}

/* Tablette : on abandonne le sticky horizontal */
@media (max-width: 1024px) {
  .sr-services-cinema {
    height: auto !important;
    min-height: 0 !important;
    padding: clamp(74px, 10vw, 110px) 0 !important;
    overflow: hidden;
  }

  .sr-services-sticky {
    position: relative !important;
    top: auto !important;
    height: auto !important;
    min-height: 0 !important;
    display: block;
    padding: 0;
  }

  .sr-services-head {
    width: min(100% - 28px, 760px);
    display: block;
    margin-bottom: 34px;
  }

  .sr-services-head .eyebrow {
    display: inline-flex;
    margin-bottom: 14px;
  }

  .sr-services-small {
    margin: 0 0 24px;
  }

  .sr-services-head h2 {
    margin-bottom: 16px;
  }

  .sr-services-viewport {
    width: min(100% - 28px, 760px);
    margin: 0 auto;
    padding: 0;
    overflow: visible;
  }

  .sr-services-track {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    width: 100%;
    min-width: 0;
    transform: none !important;
  }

  .sr-services-track > * {
    width: 100% !important;
    min-width: 0 !important;
    flex: none !important;
    min-height: auto;
  }

  .sr-services-viewport::before,
  .sr-services-viewport::after,
  .sr-services-progress {
    display: none;
  }
}

/* Mobile : 1 colonne */
@media (max-width: 767px) {
  .sr-services-cinema {
    padding: 64px 0 !important;
  }

  .sr-services-head,
  .sr-services-viewport {
    width: min(100% - 24px, 560px);
  }

  .sr-services-track {
    grid-template-columns: 1fr;
    gap: 14px;
  }
}

/* =========================================================
   FIX SERVICES HOVER - carte au premier plan, non coupée
========================================================= */

/* Les parents ne doivent pas couper la carte au survol */
.sr-services-cinema,
.sr-services-sticky,
.sr-services-viewport,
.sr-services-track {
  overflow: visible !important;
}

/* On garde la section propre visuellement */
.sr-services-cinema {
  overflow-x: clip !important;
  overflow-y: visible !important;
}

/* On ajoute de l’espace autour du rail pour que le hover respire */
.sr-services-viewport {
  padding-top: 34px !important;
  padding-bottom: 44px !important;
}

/* Le rail doit permettre aux cartes de passer devant */
.sr-services-track {
  position: relative !important;
  z-index: 10 !important;
}

/* Toutes les cartes restent dans un plan normal */
.sr-services-track > *,
.sr-services-track article,
.sr-services-track a {
  position: relative !important;
  z-index: 1 !important;
  overflow: hidden !important;
  border-radius: 28px !important;
  clip-path: none !important;
  transform-origin: center center !important;
}

/* Au survol : la carte passe vraiment au-dessus des autres */
@media (hover: hover) and (pointer: fine) {
  .sr-services-track > *:hover,
  .sr-services-track article:hover,
  .sr-services-track a:hover {
    z-index: 80 !important;
    overflow: hidden !important;
    border-radius: 28px !important;
    transform: translateY(-14px) scale(1.025) !important;
    box-shadow:
      0 38px 90px rgba(0, 0, 0, 0.36),
      0 0 0 1px rgba(200, 164, 106, 0.28),
      inset 0 1px 0 rgba(255, 255, 255, 0.10) !important;
  }
}

/* Les pseudo-éléments internes respectent le radius */
.sr-services-track > *::before,
.sr-services-track > *::after,
.sr-services-track article::before,
.sr-services-track article::after,
.sr-services-track a::before,
.sr-services-track a::after {
  border-radius: inherit !important;
}

/* Les fades gauche/droite ne doivent pas passer au-dessus de la carte hover */
.sr-services-viewport::before,
.sr-services-viewport::after {
  z-index: 4 !important;
}

.sr-services-track {
  z-index: 8 !important;
}

/* Mobile/tablette : pas d’effet hover agressif */
@media (max-width: 1024px) {
  .sr-services-cinema,
  .sr-services-sticky,
  .sr-services-viewport,
  .sr-services-track {
    overflow: visible !important;
  }

  .sr-services-viewport {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  .sr-services-track > *,
  .sr-services-track article,
  .sr-services-track a {
    transform: none !important;
    border-radius: 24px !important;
  }
}


/* =========================================================
   HERO - Ambiance recalée sur le logo Schmitt
   Blanc cassé + anthracite doux + halo vert discret
========================================================= */

.cinema-hero-photo {
  background:
    radial-gradient(circle at 16% 18%, rgba(217, 240, 33, 0.075), transparent 28%),
    radial-gradient(circle at 82% 22%, rgba(43, 36, 34, 0.12), transparent 34%),
    linear-gradient(115deg, #f8f7f1 0%, #eee9df 52%, #d9d0c5 100%) !important;
}

.cinema-hero-photo::after {
  opacity: 0.11 !important;
}

/* On évite les anciennes orbes trop dorées */
.cinema-hero-photo .orb-a {
  background: rgba(217, 240, 33, 0.18) !important;
  opacity: 0.42 !important;
}

.cinema-hero-photo .orb-b {
  background: rgba(43, 36, 34, 0.18) !important;
  opacity: 0.38 !important;
}

/* Titre plus profond, moins brun/beige */
.cinema-hero-photo h1 {
  color: #171211 !important;
}

/* Texte un peu plus net */
.cinema-hero-photo .cinema-copy p {
  color: rgba(33, 27, 25, 0.68) !important;
}

/* Eyebrow plus marque, mais pas fluo */
.cinema-hero-photo .eyebrow {
  color: #514643 !important;
}

.cinema-hero-photo .eyebrow::before {
  background: rgba(81, 70, 67, 0.55) !important;
}

/* CTA principal parfaitement raccord logo */
.cinema-hero-photo .btn-primary {
  color: #171211 !important;
  background:
    radial-gradient(circle at 28% 22%, rgba(255, 255, 255, 0.55), transparent 34%),
    linear-gradient(135deg, #d9f021 0%, #eefd55 100%) !important;
  box-shadow:
    0 18px 42px rgba(217, 240, 33, 0.28),
    inset 0 1px 0 rgba(255, 255, 255, 0.55) !important;
}

/* CTA secondaire plus premium */
.cinema-hero-photo .btn-secondary {
  color: #171211 !important;
  background: rgba(255, 255, 255, 0.76) !important;
  border: 1px solid rgba(43, 36, 34, 0.12) !important;
  box-shadow: 0 14px 34px rgba(43, 36, 34, 0.07) !important;
}

/* Badges sous le hero */
.cinema-hero-photo .hero-trust-row span {
  background: rgba(255, 255, 255, 0.68) !important;
  border-color: rgba(43, 36, 34, 0.10) !important;
  color: rgba(43, 36, 34, 0.74) !important;
}

.cinema-hero-photo .hero-trust-row strong {
  color: #514643 !important;
}

/* Cartes flottantes sur l'image */
.hero-photo-badge,
.hero-floating-card {
  background: rgba(255, 255, 255, 0.82) !important;
  border: 1px solid rgba(43, 36, 34, 0.11) !important;
  box-shadow: 0 22px 50px rgba(43, 36, 34, 0.13) !important;
}

.hero-photo-badge {
  color: #171211 !important;
}

.hero-floating-card strong {
  color: #171211 !important;
}

.hero-floating-card span {
  color: rgba(43, 36, 34, 0.68) !important;
}

