/* =========================================================================
   SanyasArt — Design System v2 (DA définitive, pilotée par les œuvres)
   « Au-delà de la toile — Art coloré, ethnique & féminin »
   Écrin : ivoire · ocre doré · encre · or  |  Accents : spectre des toiles
   ========================================================================= */

:root{
  /* Écrin / chrome */
  --paper:#FFFFFF;
  --ivory:#FCF8F0;
  --ivory-2:#F6EEDF;
  --sand:#EFE3C9;          /* fond ocre doux */
  --ink:#171310;           /* noir chaud */
  --ink-2:#2C2620;
  --muted:#7C7264;
  --line:#E7DCC6;
  --line-soft:#F0E8D8;
  --gold:#C29A45;
  --gold-deep:#9C7426;
  --gold-light:#E2C879;
  --grad-gold:linear-gradient(120deg,#E2C879 0%,#C29A45 48%,#9C7426 100%);
  /* Spectre artistique (extrait des œuvres) */
  --turq:#12B5A6;
  --emerald:#1E9E6A;
  --magenta:#E0317F;
  --coral:#EF5B4C;
  --orange:#F2812C;
  --amber:#F4B62B;
  --cobalt:#2E5BD0;
  --violet:#7B3FA0;
  /* Couleurs de collection */
  --c-femme:#9C7426;
  --c-trop:#1E9E6A;
  --c-fruit:#EF5B4C;
  --c-ceram:#12B5A6;
  --c-abstract:#7B3FA0;
  /* Typo */
  --serif:'Cormorant Garamond','Times New Roman',Georgia,serif;
  --sans:'Jost',-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif;
  --script:'Great Vibes','Snell Roundhand',cursive;
  /* Mesures */
  --container:1280px;
  --radius:14px;--radius-s:9px;
  --shadow-soft:0 26px 64px -30px rgba(23,16,8,.40);
  --shadow-card:0 16px 40px -24px rgba(23,16,8,.34);
  --ease:cubic-bezier(.22,.61,.36,1);
  --header-h:84px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ivory);color:var(--ink-2);font-family:var(--sans);font-weight:300;
  font-size:clamp(15px,1.04vw,17px);line-height:1.72;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.skip-link{position:fixed;left:1rem;top:1rem;z-index:9999;background:var(--ink);color:#fff;padding:.75rem 1rem;border-radius:999px;transform:translateY(-180%);transition:.25s var(--ease);box-shadow:var(--shadow-card)}.skip-link:focus{transform:none}
button{font-family:inherit;cursor:pointer}
::selection{background:rgba(224,49,127,.16)}

/* Typographie */
h1,h2,h3,h4{font-family:var(--serif);color:var(--ink);font-weight:600;line-height:1.04;margin:0 0 .36em;text-wrap:balance}
h1{font-size:clamp(2.3rem,4.4vw,3.95rem);letter-spacing:-.02em}
h2{font-size:clamp(1.75rem,2.9vw,2.65rem);letter-spacing:-.016em}
h3{font-size:clamp(1.2rem,1.85vw,1.6rem)}
p{margin:0 0 1.1em}
.lead{font-size:clamp(1rem,1.26vw,1.14rem);color:var(--ink-2);font-weight:300;line-height:1.82}
.script{font-family:var(--script);font-weight:400;color:var(--gold-deep);line-height:1}
.gold-text{background:var(--grad-gold);-webkit-background-clip:text;background-clip:text;color:transparent}
.kicker{display:inline-flex;align-items:center;gap:.7rem;font-size:.74rem;font-weight:500;letter-spacing:.3em;
  text-transform:uppercase;color:var(--gold-deep);margin:0 0 1.1rem}
.kicker::before{content:"";width:30px;height:1px;background:var(--gold)}
.kicker.center{justify-content:center}.kicker.center::after{content:"";width:30px;height:1px;background:var(--gold)}
.dot-sep{display:flex;align-items:center;justify-content:center;gap:1rem;margin:2.2rem 0}
.dot-sep::before,.dot-sep::after{content:"";height:1px;width:min(120px,16vw);background:linear-gradient(90deg,transparent,var(--gold))}
.dot-sep::after{background:linear-gradient(90deg,var(--gold),transparent)}
.dot-sep i{width:7px;height:7px;border-radius:50%;background:var(--gold)}

/* Layout */
.container{width:min(var(--container),92vw);margin-inline:auto}
.section{padding:clamp(4rem,7.5vw,7rem) 0}
.section.tight{padding:clamp(3rem,5vw,4.4rem) 0}
.bg-paper{background:var(--paper)}.bg-ivory2{background:var(--ivory-2)}.bg-sand{background:var(--sand)}
.center{text-align:center}
.sec-head{max-width:680px;margin:0 auto clamp(2.2rem,4vw,3.4rem)}
.sec-head.left{margin-left:0;text-align:left}

/* Boutons */
.btn{display:inline-flex;align-items:center;gap:.6rem;font-weight:500;font-size:.78rem;letter-spacing:.15em;
  text-transform:uppercase;padding:1.02rem 2rem;border-radius:100px;border:1px solid transparent;transition:.45s var(--ease);white-space:nowrap;line-height:1}
.btn svg{width:16px;height:16px}
.btn--gold{background:var(--grad-gold);color:#2c2106;box-shadow:0 14px 30px -14px rgba(156,116,38,.7)}
.btn--gold:hover{transform:translateY(-3px);box-shadow:0 22px 40px -16px rgba(156,116,38,.8)}
.btn--ink{background:var(--ink);color:var(--ivory)}.btn--ink:hover{background:#000;transform:translateY(-3px)}
.btn--ghost{background:transparent;border-color:var(--gold);color:var(--gold-deep)}.btn--ghost:hover{background:var(--gold);color:#2c2106}
.btn--light{background:#fff;border-color:var(--line);color:var(--ink)}.btn--light:hover{border-color:var(--gold);color:var(--gold-deep)}
.link-gold{display:inline-flex;align-items:center;gap:.5rem;font-weight:500;color:var(--ink);text-transform:uppercase;font-size:.78rem;letter-spacing:.14em}
.link-gold span:first-child{position:relative;padding-bottom:3px}
.link-gold span:first-child::after{content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:.4s var(--ease)}
.link-gold:hover span:first-child::after{transform:scaleX(1)}
.link-gold .arr{color:var(--gold-deep);transition:.4s var(--ease)}.link-gold:hover .arr{transform:translateX(6px)}

/* Header */
.site-header{position:fixed;inset:0 0 auto 0;z-index:60;height:var(--header-h);display:flex;align-items:center;
  transition:.45s var(--ease);background:rgba(252,248,240,.62);backdrop-filter:blur(10px)}
.site-header.scrolled{height:70px;background:rgba(255,255,255,.94);box-shadow:0 10px 30px -20px rgba(23,16,8,.4);border-bottom:1px solid var(--line-soft)}
.header-inner{width:min(var(--container),94vw);margin-inline:auto;display:flex;align-items:center;justify-content:space-between;gap:1.5rem}
.brand{display:flex;align-items:baseline;gap:.1rem}
.brand .word{font-family:var(--script);font-size:2rem;line-height:.8;color:var(--ink)}
.brand .word b{font-weight:400;background:var(--grad-gold);-webkit-background-clip:text;background-clip:text;color:transparent}
.nav{display:flex;align-items:center;gap:2rem}
.nav a{font-size:.82rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink);position:relative;padding:.3rem 0}
.nav a::after{content:"";position:absolute;left:0;bottom:-2px;width:100%;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:center;transition:.4s var(--ease)}
.nav a:hover::after,.nav a.active::after{transform:scaleX(1)}.nav a.active{color:var(--gold-deep)}
.header-tools{display:flex;align-items:center;gap:1.1rem}
.lang{display:flex;align-items:center;gap:.35rem;font-size:.78rem;color:var(--muted)}
.lang button{background:none;border:none;color:var(--muted);font-size:.78rem;padding:.2rem;transition:.3s}
.lang button.on{color:var(--ink);font-weight:600}.lang button:hover{color:var(--gold-deep)}
.lang i{width:1px;height:12px;background:var(--line)}
.burger{display:none;flex-direction:column;gap:5px;background:none;border:none;padding:6px}
.burger span{width:24px;height:2px;background:var(--ink);transition:.35s var(--ease)}
.mobile-menu{position:fixed;inset:0;z-index:55;background:rgba(252,248,240,.98);backdrop-filter:blur(8px);
  display:flex;flex-direction:column;justify-content:center;align-items:center;gap:1.3rem;opacity:0;visibility:hidden;transition:.5s var(--ease)}
.mobile-menu.open{opacity:1;visibility:visible}
.mobile-menu a{font-family:var(--serif);font-size:2rem;color:var(--ink)}.mobile-menu a:hover{color:var(--gold-deep)}
.mobile-menu .socials{display:flex;gap:1.1rem;margin-top:1rem}

/* Hero */
.hero{position:relative;min-height:90vh;display:flex;align-items:center;padding-top:var(--header-h);overflow:hidden}
.hero::before{content:"";position:absolute;inset:0;background:
  radial-gradient(52% 46% at 82% 32%,rgba(194,154,69,.14),transparent 70%),
  radial-gradient(44% 44% at 14% 76%,rgba(224,49,127,.05),transparent 70%);pointer-events:none}
.hero-grid{display:flex;flex-direction:column;align-items:center;text-align:center;gap:clamp(2.2rem,4vw,3.4rem);position:relative;z-index:2;width:100%}
.hero-copy{max-width:72rem;margin-inline:auto}
.hero-copy .kicker{margin-bottom:.78rem}
.hero-copy .hero-sub{font-family:var(--script);font-size:clamp(1.9rem,2.6vw,2.45rem);color:var(--gold-deep);line-height:.9;margin:.08rem 0 .62rem;display:block;transform:translateX(1px)}
.hero-copy h1{font-size:clamp(2.3rem,5vw,4.2rem);line-height:1.02;letter-spacing:-.028em;max-width:none;margin:0 auto .32em;text-wrap:balance}
.hero-copy h1 .hero-title-gap{display:inline-block;width:.2em;min-width:.2em}
.hero-copy .lead{max-width:46rem;margin:0 auto 1.7rem;font-size:clamp(1rem,1.2vw,1.12rem);line-height:1.86}
.hero-cta{display:flex;flex-wrap:wrap;gap:.9rem;align-items:center;justify-content:center}
.hero-meta{display:flex;gap:clamp(2rem,5vw,3.4rem);margin-top:2.2rem;flex-wrap:wrap;justify-content:center}
.hero-meta .m b{font-family:var(--serif);font-size:1.46rem;color:var(--ink);font-weight:600;line-height:1;display:block}
.hero-meta .m span{font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-top:.36rem;display:block}
.hero-art{position:relative;width:100%;max-width:clamp(300px,38vw,400px);margin-inline:auto}
.hero-frame{position:relative;border-radius:240px 240px 18px 18px;overflow:hidden;box-shadow:var(--shadow-soft);border:1px solid var(--line);aspect-ratio:5/6;background:#fff}
.hero-frame img{width:100%;height:100%;object-fit:cover;object-position:center 34%}
.hero-frame::after{content:"";position:absolute;inset:12px;border:1px solid rgba(226,200,121,.55);border-radius:228px 228px 10px 10px;pointer-events:none}
.hero-badge{position:absolute;bottom:18px;left:-14px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-card);
  border-radius:100px;padding:.62rem 1.05rem;display:flex;align-items:center;gap:.55rem;font-size:.72rem;letter-spacing:.05em}
.hero-badge i{width:8px;height:8px;border-radius:50%;background:var(--turq)}
.scroll-hint{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);z-index:2;font-size:.66rem;letter-spacing:.26em;text-transform:uppercase;color:var(--muted);display:flex;flex-direction:column;align-items:center;gap:.5rem}
.scroll-hint::after{content:"";width:1px;height:34px;background:linear-gradient(var(--gold),transparent);animation:drop 1.8s var(--ease) infinite}
@keyframes drop{0%{transform:scaleY(.2);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}50.1%{transform-origin:bottom}100%{transform:scaleY(.2);transform-origin:bottom}}

/* Collections strip */
.collections{display:grid;grid-template-columns:repeat(3,1fr);gap:1.45rem}
.col-card{position:relative;border-radius:var(--radius);overflow:hidden;aspect-ratio:1/1;display:block;box-shadow:var(--shadow-card)}
.col-card img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease)}
.col-card:hover img{transform:scale(1.06)}
.col-card::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(20,14,8,.8),rgba(20,14,8,.05) 56%);transition:.4s}
.col-card .lab{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:1.45rem;color:#fff}
.col-card .lab h3{color:#fff;margin:0 0 .18rem;font-size:1.46rem;line-height:1.02}
.col-card .lab span{font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;opacity:.86}
.col-card .lab .n{display:inline-block;margin-top:.56rem;font-size:.68rem;letter-spacing:.1em;border:1px solid rgba(255,255,255,.4);border-radius:100px;padding:.2rem .68rem}

/* Work cards (œuvres) */
.featured-home .container{max-width:1180px}
.featured-home .sec-head{margin-bottom:1.25rem}
.work-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;align-items:start}
.work-grid.cols4{grid-template-columns:repeat(4,1fr)}
.featured-home .work-grid{grid-template-columns:repeat(3,1fr);justify-content:center;gap:1.5rem;max-width:1040px;margin-inline:auto}
.featured-home .work-card .img{aspect-ratio:1/1}
.featured-home .work-card .cap h3{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.work-card{position:relative;background:#fff;border:1px solid var(--line);border-radius:22px;overflow:hidden;
  box-shadow:0 10px 28px -26px rgba(23,16,8,.42);transition:.45s var(--ease);display:block}
.work-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-card);border-color:rgba(194,154,69,.48)}
.work-card .img{position:relative;aspect-ratio:4/4.65;overflow:hidden;background:var(--sand)}
.work-card .img img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease),filter .6s var(--ease)}
.work-card:hover .img img{transform:scale(1.04);filter:saturate(1.02)}
.work-card .overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(20,14,8,.5),transparent 52%);opacity:0;transition:.45s;display:flex;align-items:flex-end;padding:1rem}
.work-card:hover .overlay{opacity:1}
.work-card .overlay .view{color:#fff;font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;display:flex;align-items:center;gap:.45rem}
.work-card .cap{padding:.95rem 1.05rem 1rem}
.work-card .col-tag{font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-deep);display:block;margin-bottom:.3rem}
.work-card .cap h3{font-size:1.16rem;margin-bottom:.12rem;line-height:1.08}
.work-card .cap .meta{font-size:.76rem;color:var(--muted)}
.work-card .cap .price{font-family:var(--serif);color:var(--ink);font-size:1.06rem;font-weight:600;margin-top:.45rem}
.work-card .cap .price small{font-family:var(--sans);font-weight:400;color:var(--muted);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase}
.badge{position:absolute;top:.82rem;left:.82rem;z-index:3;font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;
  padding:.34rem .68rem;border-radius:100px;background:rgba(255,255,255,.94);backdrop-filter:blur(4px);font-weight:500;display:inline-flex;align-items:center;gap:.38rem}
.badge i{width:6px;height:6px;border-radius:50%}
.badge--avail{color:#0a7d72}.badge--avail i{background:var(--turq)}
.badge--sold{color:#8a8178}.badge--sold i{background:#bcb3a6}
.badge--reserved{color:var(--gold-deep)}.badge--reserved i{background:var(--gold)}
.badge--private{color:var(--violet)}.badge--private i{background:var(--violet)}
.serie-tag{position:absolute;top:.82rem;right:.82rem;z-index:3;font-size:.6rem;letter-spacing:.1em;background:rgba(20,14,8,.7);color:#fff;border-radius:100px;padding:.28rem .54rem}
.shot-count{position:absolute;top:.82rem;right:.82rem;z-index:3;display:inline-flex;align-items:center;gap:.28rem;font-size:.6rem;font-weight:500;background:rgba(20,14,8,.62);color:#fff;border-radius:100px;padding:.28rem .52rem;backdrop-filter:blur(4px)}
.shot-count svg{width:12px;height:12px}

/* Filterbar */
.filterbar{display:flex;flex-wrap:wrap;gap:.55rem;justify-content:center;margin-bottom:2.4rem}
.filterbar button{background:#fff;border:1px solid var(--line);color:var(--ink-2);border-radius:100px;padding:.58rem 1.25rem;
  font-size:.75rem;letter-spacing:.09em;text-transform:uppercase;transition:.4s var(--ease)}
.filterbar button:hover{border-color:var(--gold)}
.filterbar button.active{background:var(--ink);color:var(--ivory);border-color:var(--ink)}

/* Split */
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2.3rem,4.6vw,4.8rem);align-items:center}
.split.rev .split-media{order:2}
.split-copy{max-width:35rem}
.artist-section .split{grid-template-columns:1.05fr .95fr;gap:clamp(2.6rem,5vw,5.4rem)}
.artist-section .split-copy{max-width:29rem}
.artist-section .split-copy h2{font-size:clamp(2.1rem,3vw,2.7rem);max-width:none}
.artist-section .split-copy .lead{font-size:clamp(1.06rem,1.2vw,1.14rem);line-height:1.78;max-width:27rem}
.artist-section .split-copy p:last-of-type{max-width:29rem;line-height:1.84}
.custom-section .split{grid-template-columns:.92fr 1.08fr;gap:clamp(2.3rem,5vw,5.6rem)}
.custom-section .split-copy{max-width:29rem}
.custom-section .split-copy h2{font-size:clamp(2.1rem,3vw,2.7rem);max-width:none}
.custom-section .split-copy .lead{max-width:28rem}
.split-copy h2{font-size:clamp(2.2rem,3.2vw,2.85rem);line-height:1.02;letter-spacing:-.022em;max-width:none;margin-bottom:.35em;text-wrap:balance}
.split-copy .lead{max-width:30rem;line-height:1.86}
.split-media{position:relative}
.split-media .frame{border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow-soft);aspect-ratio:4/5;background:#fff}
.split-media .frame img{width:100%;height:100%;object-fit:cover}
.split-media .frame.frame--contain{padding:0;background:linear-gradient(135deg,#fff,var(--ivory));display:flex;align-items:center;justify-content:center}
.split-media .frame.frame--contain img{object-fit:cover;background:var(--paper);width:100%;height:100%}
.split-media .frame.land{aspect-ratio:4/3}
.split-media .tag{position:absolute;bottom:-18px;right:-18px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-card);border-radius:var(--radius-s);padding:.95rem 1.2rem;font-family:var(--serif);font-size:1.06rem;color:var(--ink)}
.split-media .tag span{display:block;font-family:var(--sans);font-size:.64rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-deep);margin-bottom:.2rem}
.feature-list{list-style:none;padding:0;margin:1.25rem 0 1.8rem;max-width:33rem}
.feature-list li{display:flex;gap:.85rem;align-items:flex-start;padding:.38rem 0;line-height:1.72}
.feature-list li svg{width:18px;height:18px;color:var(--gold-deep);flex:0 0 auto;margin-top:4px}

/* Instagram */
.instagram-section .container{max-width:1160px}
.instagram-section .sec-head{margin-bottom:1.35rem}
.ig-strip{display:grid;grid-template-columns:repeat(5,1fr);gap:.85rem;max-width:980px;margin:0 auto}
.ig-strip a{position:relative;overflow:hidden;border-radius:12px;aspect-ratio:1}
.ig-strip img{width:100%;height:100%;object-fit:cover;transition:.7s var(--ease)}
.ig-strip a::after{content:"";position:absolute;inset:0;background:rgba(224,49,127,0);transition:.4s}
.ig-strip a:hover img{transform:scale(1.08)}.ig-strip a:hover::after{background:rgba(224,49,127,.14)}
@media(max-width:900px){.ig-strip{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.ig-strip{grid-template-columns:repeat(3,1fr)}}
.custom-media .frame{aspect-ratio:4/3}
.custom-media .frame.frame--contain img{object-fit:cover;object-position:center}
.custom-media .custom-note{position:static;max-width:none;margin-top:2.1rem;background:rgba(255,255,255,.96);border:1px solid var(--line);box-shadow:var(--shadow-soft);border-radius:18px;padding:1rem 1.15rem;font-size:.92rem;line-height:1.7;color:var(--ink-2)}
.custom-media .tag{position:relative;bottom:auto;right:auto;display:block;width:max-content;max-width:min(260px,92%);margin:-1.15rem clamp(1rem,3vw,1.8rem) 1.15rem auto;z-index:5}
.custom-media .custom-note{margin-top:0}
.custom-media .custom-note::before{content:"Histoire de la pièce";display:block;font-family:var(--sans);font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-deep);margin-bottom:.4rem}
.artist-copy h2{max-width:none}
.final-cta-premium{position:relative;overflow:hidden}
.final-cta-premium::before{content:"";position:absolute;inset:0;background:radial-gradient(42% 60% at 18% 50%,rgba(194,154,69,.11),transparent 70%),radial-gradient(44% 64% at 82% 50%,rgba(224,49,127,.06),transparent 72%);pointer-events:none}
.final-cta-premium .container{position:relative;background:linear-gradient(135deg,rgba(255,255,255,.82),rgba(250,242,228,.92));border:1px solid var(--line);border-radius:34px;padding:clamp(2.2rem,5vw,4rem) clamp(1.4rem,4vw,3rem);box-shadow:var(--shadow-soft)}
.final-cta-premium h2{font-size:clamp(2.4rem,3.9vw,3.5rem);line-height:1.02;letter-spacing:-.032em;text-wrap:balance}
.final-cta-premium .lead{font-size:clamp(1.02rem,1.25vw,1.14rem);line-height:1.84}

/* Page hero */
.page-hero{padding:calc(var(--header-h) + 3.2rem) 0 2.2rem;text-align:center;position:relative;overflow:hidden}
.page-hero::before{content:"";position:absolute;inset:0;background:radial-gradient(60% 70% at 50% 0,rgba(194,154,69,.14),transparent 70%)}
.page-hero>*{position:relative}
.breadcrumb{font-size:.76rem;letter-spacing:.06em;color:var(--muted);margin-bottom:1.3rem}
.breadcrumb a:hover{color:var(--gold-deep)}.breadcrumb span{color:var(--gold-deep)}

/* Fiche œuvre */
.aw-story{max-width:760px;margin:0 auto;text-align:center}
.aw-story .kicker{justify-content:center}
.aw-story h2{margin-bottom:1rem}
.aw-story p{font-size:clamp(1.02rem,1.5vw,1.18rem);color:var(--ink-2);line-height:1.8}
.aw-story p+p{margin-top:1rem}
.aw-emotion{font-family:var(--serif);font-style:italic;font-size:clamp(1.2rem,2vw,1.5rem);color:var(--gold-deep);line-height:1.4;margin:.2rem 0 1.1rem}
.artwork{display:grid;grid-template-columns:1.04fr .96fr;gap:clamp(2rem,4vw,4rem);align-items:start}

/* Galerie premium (miniatures verticales + scène + zoom) */
.aw-gallery2{display:grid;grid-template-columns:84px 1fr;gap:1rem;align-items:start}
.aw-gallery2.single{grid-template-columns:1fr}
.aw-gallery2.single .aw-thumbs-col,.aw-gallery2.single .aw-arrow{display:none}
.aw-thumbs-col{display:flex;flex-direction:column;gap:.7rem;max-height:560px;overflow:auto;padding:2px;scrollbar-width:thin}
.aw-thumbs-col::-webkit-scrollbar{width:4px}.aw-thumbs-col::-webkit-scrollbar-thumb{background:var(--line);border-radius:4px}
.awt{border:1px solid var(--line);border-radius:11px;overflow:hidden;padding:0;background:#fff;width:100%;aspect-ratio:1;cursor:pointer;transition:.35s var(--ease);position:relative}
.awt img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.awt:hover{border-color:var(--gold);transform:translateY(-2px)}
.awt:hover img{transform:scale(1.08)}
.awt.on{border-color:var(--gold);box-shadow:0 0 0 2px rgba(194,154,69,.3)}
.aw-stage{position:relative;display:flex;align-items:center}
.aw-main2{position:relative;flex:1;margin:0;border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow-soft);background:#fff;aspect-ratio:4/5;cursor:zoom-in}
.aw-main2 .aw-main-img{width:100%;height:100%;object-fit:cover;transition:transform .55s var(--ease),opacity .25s var(--ease);will-change:transform}
.aw-main2.zooming .aw-main-img{transform:scale(1.7)}
.aw-main-img.swap{opacity:0}
.aw-fszoom{position:absolute;top:.9rem;right:.9rem;z-index:3;width:42px;height:42px;border:0;border-radius:50%;background:rgba(255,255,255,.92);color:var(--ink);display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-card);cursor:pointer;transition:.35s var(--ease)}
.aw-fszoom svg{width:18px;height:18px}
.aw-fszoom:hover{background:var(--grad-gold);color:#2c2106;transform:scale(1.06)}
.aw-counter{position:absolute;bottom:.9rem;right:.9rem;z-index:3;background:rgba(20,14,8,.62);color:#fff;border-radius:100px;padding:.25rem .7rem;font-size:.72rem;letter-spacing:.06em;backdrop-filter:blur(4px)}
.aw-counter b{font-weight:600}
.aw-arrow{position:absolute;z-index:4;top:50%;transform:translateY(-50%);width:44px;height:44px;border:1px solid var(--line);border-radius:50%;background:rgba(255,255,255,.92);color:var(--ink);display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:var(--shadow-card);opacity:0;transition:.35s var(--ease)}
.aw-arrow svg{width:20px;height:20px}
.aw-arrow.prev{left:-10px}.aw-arrow.next{right:-10px}
.aw-stage:hover .aw-arrow{opacity:1}
.aw-arrow:hover{background:var(--grad-gold);color:#2c2106;border-color:transparent}
.aw-arrow.prev:hover{transform:translateY(-50%) translateX(-2px)}.aw-arrow.next:hover{transform:translateY(-50%) translateX(2px)}

/* Lightbox plein écran premium */
.aw-lb{position:fixed;inset:0;z-index:120;background:rgba(12,9,6,.94);backdrop-filter:blur(8px);display:grid;grid-template-columns:auto 1fr auto;grid-template-rows:1fr auto;align-items:center;justify-items:center;gap:.5rem;padding:clamp(1rem,3vw,2.5rem);opacity:0;visibility:hidden;transition:opacity .4s var(--ease),visibility .4s var(--ease)}
.aw-lb.open{opacity:1;visibility:visible}
.aw-lb-stage{grid-column:2;grid-row:1;display:flex;align-items:center;justify-content:center;max-width:100%;max-height:100%;overflow:hidden}
.aw-lb-img{max-width:88vw;max-height:78vh;border-radius:8px;box-shadow:0 30px 90px -30px rgba(0,0,0,.85);cursor:zoom-in;transition:opacity .25s var(--ease),transform .35s var(--ease);transform:scale(.98)}
.aw-lb.open .aw-lb-img{transform:scale(1)}
.aw-lb-img.swap{opacity:0}
.aw-lb-img.zoom{cursor:zoom-out;transform:scale(2.1)}
.aw-lb-close{grid-column:3;grid-row:1;align-self:start}
.aw-lb-close,.aw-lb-arrow{width:52px;height:52px;border:1px solid rgba(255,255,255,.25);border-radius:50%;background:rgba(255,255,255,.1);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:.3s var(--ease);z-index:3}
.aw-lb-close svg,.aw-lb-arrow svg{width:22px;height:22px}
.aw-lb-arrow.prev{grid-column:1;grid-row:1}.aw-lb-arrow.next{grid-column:3;grid-row:1;align-self:center}
.aw-lb-close:hover,.aw-lb-arrow:hover{background:var(--grad-gold);color:#2c2106;border-color:transparent;transform:scale(1.05)}
.aw-lb-strip{grid-column:1 / -1;grid-row:2;display:flex;gap:.6rem;justify-content:center;flex-wrap:nowrap;overflow-x:auto;max-width:92vw;padding:.4rem}
.aw-lb-strip button{flex:0 0 auto;width:64px;height:64px;border:1px solid rgba(255,255,255,.25);border-radius:9px;overflow:hidden;padding:0;background:none;cursor:pointer;opacity:.6;transition:.3s var(--ease)}
.aw-lb-strip button img{width:100%;height:100%;object-fit:cover}
.aw-lb-strip button:hover{opacity:1}
.aw-lb-strip button.on{opacity:1;border-color:var(--gold);box-shadow:0 0 0 2px rgba(194,154,69,.45)}
.aw-lb-counter{position:fixed;top:clamp(1rem,3vw,2.5rem);left:50%;transform:translateX(-50%);color:rgba(255,255,255,.75);font-size:.8rem;letter-spacing:.1em}
@media(max-width:760px){
  .aw-gallery2{grid-template-columns:1fr}
  .aw-thumbs-col{flex-direction:row;max-height:none;overflow-x:auto;order:2;margin-top:.7rem}
  .awt{width:70px;flex:0 0 auto}
  .aw-arrow{opacity:1}
  .aw-lb-img{max-width:94vw;max-height:70vh}
}
.aw-gallery .main{border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow-soft);background:#fff;cursor:zoom-in;position:relative;aspect-ratio:4/5}
.aw-gallery .main img{width:100%;height:100%;object-fit:cover}
.aw-zoom{position:absolute;top:1rem;right:1rem;background:rgba(255,255,255,.92);border-radius:50%;width:42px;height:42px;display:flex;align-items:center;justify-content:center;color:var(--ink);box-shadow:var(--shadow-card)}
.aw-thumbs{display:flex;gap:.8rem;margin-top:.9rem}
.aw-thumbs button{border:1px solid var(--line);border-radius:10px;overflow:hidden;padding:0;background:#fff;width:84px;height:84px;transition:.4s var(--ease)}
.aw-thumbs button img{width:100%;height:100%;object-fit:cover}
.aw-thumbs button.on{border-color:var(--gold);box-shadow:0 0 0 2px rgba(194,154,69,.25)}
.aw-info .cat{font-size:.74rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-deep);margin-bottom:.8rem}
.aw-info h1{font-size:clamp(2.2rem,4vw,3.1rem);margin-bottom:.4rem}
.aw-info .sub{font-family:var(--script);font-size:1.6rem;color:var(--gold-deep);margin-bottom:1.3rem}
.aw-specs{list-style:none;padding:0;margin:1.5rem 0;border-top:1px solid var(--line)}
.aw-specs li{display:flex;justify-content:space-between;gap:1rem;padding:.82rem 0;border-bottom:1px solid var(--line)}
.aw-specs li span:first-child{color:var(--muted);font-size:.78rem;letter-spacing:.07em;text-transform:uppercase}
.aw-buy{display:flex;flex-direction:column;gap:1rem;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.6rem;margin-top:1.5rem}
.aw-buy .row{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.aw-buy .cta-row{display:flex;gap:.8rem;flex-wrap:wrap}
.aw-buy .note{font-size:.8rem;color:var(--muted);display:flex;gap:.5rem;align-items:center;margin:0}
.aw-buy .note svg{width:16px;height:16px;color:var(--gold-deep);flex:0 0 auto}

/* À propos */
.about-hero{display:grid;grid-template-columns:.82fr 1.18fr;gap:clamp(2rem,5vw,4.5rem);align-items:center}
.about-portrait{position:relative;border-radius:220px 220px 16px 16px;overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow-soft);aspect-ratio:4/5}
.about-portrait img{width:100%;height:100%;object-fit:cover}
.signature{font-family:var(--script);font-size:3rem;color:var(--gold-deep);line-height:.8;margin-top:.6rem}
.quote{font-family:var(--serif);font-size:clamp(1.6rem,3vw,2.4rem);font-style:italic;color:var(--ink);line-height:1.32;max-width:20ch;margin:0 auto;text-align:center}
.quote .mark{color:var(--gold);font-size:1.4em;font-style:normal}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1.4rem;text-align:center}
.stats .s b{font-family:var(--serif);font-size:clamp(2.1rem,3.6vw,2.9rem);color:var(--gold-deep);display:block;line-height:1}
.stats .s span{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.atelier-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem}
.atelier-grid .frame{border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);aspect-ratio:1}
.atelier-grid .frame img{width:100%;height:100%;object-fit:cover}

/* Contact */
.contact-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(2rem,5vw,4rem);align-items:start}
.form-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:clamp(1.6rem,3vw,2.6rem);box-shadow:var(--shadow-card)}
.field{margin-bottom:1.25rem}
.field label{display:block;font-size:.73rem;letter-spacing:.13em;text-transform:uppercase;color:var(--muted);margin-bottom:.5rem}
.field input,.field textarea,.field select{width:100%;background:var(--ivory);border:1px solid var(--line);border-radius:10px;padding:.92rem 1.05rem;font-family:var(--sans);font-size:.96rem;color:var(--ink);transition:.3s;font-weight:300}
.field textarea{min-height:140px;resize:vertical}
.field input:focus,.field textarea:focus,.field select:focus{outline:none;border-color:var(--gold);background:#fff;box-shadow:0 0 0 3px rgba(194,154,69,.14)}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem}
.form-note{font-size:.77rem;color:var(--muted);display:flex;gap:.5rem;align-items:flex-start;margin-top:.4rem}
.form-success{display:none;text-align:center;padding:2rem 1rem}
.form-success.show{display:block;animation:fadeUp .6s var(--ease)}
.form-success .ok{width:70px;height:70px;border-radius:50%;background:var(--grad-gold);display:flex;align-items:center;justify-content:center;margin:0 auto 1.2rem;color:#fff}
.contact-info .info-block{display:flex;gap:1rem;align-items:flex-start;padding:1.15rem 0;border-bottom:1px solid var(--line)}
.contact-info .info-block .ic{width:46px;height:46px;flex:0 0 auto;border-radius:50%;border:1px solid var(--gold);color:var(--gold-deep);display:flex;align-items:center;justify-content:center}
.contact-info .info-block h4{font-family:var(--sans);font-size:.74rem;letter-spacing:.15em;text-transform:uppercase;color:var(--muted);margin:0 0 .25rem;font-weight:500}
.contact-info .info-block p{margin:0;color:var(--ink)}
.buy-options{background:var(--sand);border:1px solid var(--line);border-radius:var(--radius);padding:1.6rem;margin-top:1.6rem}
.buy-options h4{font-family:var(--serif);font-size:1.3rem;margin-bottom:.5rem}

/* Social */
.soc{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;border:1px solid var(--line);color:var(--ink);transition:.4s var(--ease)}
.soc svg{width:18px;height:18px}
.soc:hover{background:var(--grad-gold);color:#2c2106;border-color:transparent;transform:translateY(-3px)}
.soc.on-dark{border-color:rgba(255,255,255,.22);color:#fff}.soc.on-dark:hover{color:#2c2106}

/* Footer */
.site-footer{background:var(--ink);color:#cfc6b6;position:relative;overflow:hidden}
.site-footer::before{content:"";position:absolute;inset:0;background:
  radial-gradient(40% 60% at 10% 15%,rgba(224,49,127,.10),transparent 70%),
  radial-gradient(40% 60% at 88% 85%,rgba(18,181,166,.10),transparent 70%);pointer-events:none}
.footer-top{position:relative;display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:2.2rem;padding:clamp(3.2rem,6vw,4.6rem) 0 3rem}
.footer-brand .word{font-family:var(--script);font-size:2.6rem;color:#fff;line-height:.8;display:block;margin-bottom:.8rem}
.footer-brand .word b{font-weight:400;background:var(--grad-gold);-webkit-background-clip:text;background-clip:text;color:transparent}
.footer-brand p{color:#a89f8f;font-size:.92rem;max-width:34ch}
.footer-col h4{font-size:.73rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-light);margin:0 0 1.1rem}
.footer-col a{display:block;color:#bdb3a3;padding:.33rem 0;font-size:.92rem;transition:.3s}
.footer-col a:hover{color:#fff;padding-left:6px}
.footer-socials{display:flex;gap:.6rem;margin-top:1.1rem}
.footer-bottom{position:relative;border-top:1px solid rgba(255,255,255,.1);padding:1.4rem 0;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;font-size:.8rem;color:#8c8475}
.footer-bottom a:hover{color:#fff}

/* Lightbox */
.lightbox{position:fixed;inset:0;z-index:90;background:rgba(12,9,6,.93);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:4vw;opacity:0;visibility:hidden;transition:.4s var(--ease)}
.lightbox.open{opacity:1;visibility:visible}
.lightbox img{max-width:90vw;max-height:86vh;border-radius:8px;box-shadow:0 30px 80px -30px rgba(0,0,0,.8)}
.lightbox .close,.lightbox .nav{position:absolute;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.25);color:#fff;border-radius:50%;width:52px;height:52px;display:flex;align-items:center;justify-content:center;transition:.3s;font-size:1.4rem}
.lightbox .close:hover,.lightbox .nav:hover{background:var(--grad-gold);color:#2c2106;border-color:transparent}
.lightbox .close{top:3vh;right:3vw}.lightbox .nav.prev{left:3vw;top:50%;transform:translateY(-50%)}.lightbox .nav.next{right:3vw;top:50%;transform:translateY(-50%)}

/* Reveal */
.reveal{opacity:0;transform:translateY(28px)}
.reveal.in{opacity:1;transform:none;transition:opacity .9s var(--ease),transform .9s var(--ease)}
.reveal.d1{transition-delay:.08s}.reveal.d2{transition-delay:.16s}.reveal.d3{transition-delay:.24s}.reveal.d4{transition-delay:.32s}
@keyframes fadeUp{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}

/* Responsive */
@media(max-width:1024px){
  .nav{display:none}.burger{display:flex}
  .hero-grid{gap:clamp(2rem,6vw,3rem)}.hero-art{max-width:420px;margin:0 auto;width:100%}
  .hero-copy{max-width:46rem;margin:0 auto;text-align:center}
  .hero-copy h1{max-width:none}
  .collections{grid-template-columns:1fr 1fr}
  .work-grid,.work-grid.cols4{grid-template-columns:1fr 1fr}
  .featured-home .work-grid{grid-template-columns:repeat(2,minmax(0,300px))}
  .split{grid-template-columns:1fr}.split.rev .split-media{order:0}
  .split-copy{max-width:40rem}
  .artist-section .split,.custom-section .split{grid-template-columns:1fr}
  .artwork{grid-template-columns:1fr}
  .about-hero{grid-template-columns:1fr;text-align:center}.about-portrait{max-width:400px;margin:0 auto}
  .contact-grid{grid-template-columns:1fr}.footer-top{grid-template-columns:1fr 1fr}
  .stats{grid-template-columns:repeat(2,1fr);gap:2rem}.atelier-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){
  :root{--header-h:68px}
  .collections,.work-grid,.work-grid.cols4{grid-template-columns:1fr}
  .featured-home .work-grid{grid-template-columns:1fr}
  .footer-top{grid-template-columns:1fr}.field-row{grid-template-columns:1fr}
  .btn{width:100%;justify-content:center}.hero-cta .btn{width:100%}
  .stats{grid-template-columns:1fr 1fr}.atelier-grid{grid-template-columns:1fr}
  .hero{min-height:auto;padding-bottom:3rem}
  .hero-copy h1{font-size:clamp(1.9rem,8.5vw,3rem);max-width:none}
  .hero-copy .hero-sub{font-size:clamp(1.65rem,9vw,2.1rem)}
  .hero-meta{gap:1rem}
  .split-copy h2{font-size:clamp(2.05rem,10vw,2.75rem);max-width:unset}
  .custom-media .custom-note{position:static;max-width:none;margin-top:0}
  .custom-media .tag{margin:-.8rem auto 1rem}
  .ig-strip{grid-template-columns:repeat(2,1fr)}
  p,.lead,.aw-story p,.contact-info p,.legal-page p,.legal-page li,.cart-line p,.empty-state p,.success-panel p{ text-align:left; hyphens:none; }
}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}

/* ---- Correctifs ---- */
.hero-grid>*,.split>*,.about-hero>*,.contact-grid>*,.artwork>*{min-width:0}
.form-note svg{width:16px;height:16px;flex:0 0 auto;margin-top:2px}
.form-success .ok svg{width:32px;height:32px}
.contact-info .info-block .ic svg{width:20px;height:20px}
p,h1,h2,h3,.lead{overflow-wrap:break-word}
p,.lead,.aw-story p,.contact-info p,.legal-page p,.legal-page li,.cart-line p,.empty-state p,.success-panel p{ text-align:justify; text-justify:inter-word; hyphens:auto; }
/* =====================================================================
   Composition éditoriale CENTRÉE (hero · artiste · sur-mesure)
   Harmonie : titres, paragraphes, signature, boutons et stats centrés
   ===================================================================== */
.hero-copy,.artist-section .split-copy,.custom-section .split-copy{ text-align:center; }
/* Kicker centré, filet doré des deux côtés */
.hero-copy .kicker,.artist-section .split-copy .kicker,.custom-section .split-copy .kicker{ justify-content:center; }
.hero-copy .kicker::after,.artist-section .split-copy .kicker::after,.custom-section .split-copy .kicker::after{ content:""; width:30px; height:1px; background:var(--gold); }
/* Paragraphes centrés (ni justifiés ni coupés) */
.hero-copy .lead,.artist-section .split-copy .lead,.artist-section .split-copy p,.custom-section .split-copy .lead,.custom-section .split-copy p{ text-align:center; text-justify:auto; hyphens:none; text-wrap:pretty; margin-inline:auto; }
/* Boutons, signature et statistiques centrés */
.hero-cta,.hero-meta{ justify-content:center; }
.artist-copy .signature{ display:block; text-align:center; }
/* Liste d'étapes : bloc centré, texte interne aligné à gauche (lisibilité) */
.custom-section .split-copy .feature-list{ margin-inline:auto; max-width:26rem; text-align:left; }
/* Mesures de lecture confortables */
.hero-copy .lead{ max-width:46rem; }
.artist-section .split-copy .lead,.custom-section .split-copy .lead,.artist-section .split-copy p:last-of-type{ max-width:100%; }
.feature-list li span,.contact-grid .lead,.legal-page p{ max-width:100%; }
/* Indice de défilement masqué (hero recomposé centré) */
.scroll-hint{ display:none; }
/* Blocs déjà centrés (entêtes de section, CTA final) conservés */
.sec-head.center .lead,.page-hero .lead,.final-cta-premium .lead{ text-align:center; hyphens:none; text-wrap:pretty; }

/* ---- Correctifs anti-débordement (gouttières garanties) ---- */
*{min-width:0}
html,body{overflow-x:hidden}
img{max-width:100%}
.container{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:clamp(18px,4vw,40px)}
.header-inner{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:clamp(18px,4vw,40px)}
.kicker{flex-wrap:wrap}

/* =========================================================================
   SanyasArt — Boutique complète (panier, paiement, légal)
   ========================================================================= */
.cart-link{display:inline-flex;align-items:center;gap:.45rem;border:1px solid var(--line);border-radius:100px;padding:.55rem .75rem .55rem 1rem;background:rgba(255,255,255,.62);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink);transition:.35s var(--ease)}
.cart-link:hover{border-color:var(--gold);background:#fff;transform:translateY(-2px)}
.cart-link strong,.mobile-cart-link small{min-width:22px;height:22px;border-radius:50%;background:var(--grad-gold);color:#2c2106;display:inline-flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:600}.cart-link strong.is-empty,.mobile-cart-link small.is-empty{background:var(--line);color:var(--muted)}
.work-actions{padding:0 1.2rem 1.2rem}.btn-mini{width:100%;justify-content:center;padding:.78rem 1rem;font-size:.68rem}.btn-mini.is-added{background:var(--ink);color:#fff}.btn-mini:disabled{opacity:.72;cursor:not-allowed;transform:none!important}
.shop-card{display:flex;flex-direction:column}.shop-card-link{display:block;flex:1}.shop-toast{position:fixed;right:clamp(16px,3vw,34px);bottom:clamp(16px,3vw,34px);z-index:120;background:var(--ink);color:#fff;border:1px solid rgba(226,200,121,.35);box-shadow:0 22px 50px -24px rgba(0,0,0,.75);border-radius:100px;padding:.9rem 1.25rem;font-size:.88rem;opacity:0;transform:translateY(16px);pointer-events:none;transition:.35s var(--ease)}.shop-toast.show{opacity:1;transform:none}
.cart-layout,.checkout-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);gap:clamp(1.5rem,4vw,3rem);align-items:start}.cart-lines{display:grid;gap:1rem}.cart-line{display:grid;grid-template-columns:132px minmax(0,1fr) auto;gap:1.1rem;align-items:center;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1rem;box-shadow:0 12px 32px -28px rgba(23,16,8,.45)}.cart-line img{width:132px;aspect-ratio:1;object-fit:cover;border-radius:10px}.cart-line h3{font-size:1.45rem;margin:.1rem 0}.cart-line p{margin:.2rem 0;color:var(--muted);font-size:.9rem}.cart-line strong{font-family:var(--serif);font-size:1.35rem;color:var(--ink)}.link-button{background:none;border:none;padding:0;margin-top:.25rem;color:var(--gold-deep);font-size:.78rem;letter-spacing:.12em;text-transform:uppercase}.link-button:hover{text-decoration:underline}
.cart-summary{position:sticky;top:calc(var(--header-h) + 1rem);background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.45rem;box-shadow:var(--shadow-card)}.cart-summary h3{font-size:1.55rem}.summary-row{display:flex;justify-content:space-between;gap:1rem;padding:.82rem 0;border-top:1px solid var(--line);align-items:center}.summary-row.total{font-size:1.15rem;color:var(--ink);border-top-color:var(--gold)}.summary-row.total strong{font-family:var(--serif);font-size:1.55rem}.secure-note,.trust-box{font-size:.86rem;color:var(--muted);background:var(--ivory);border:1px solid var(--line-soft);border-radius:12px;padding:1rem;margin:1rem 0}.trust-box{background:linear-gradient(135deg,rgba(30,158,106,.08),rgba(18,181,166,.08));color:var(--ink-2)}
.empty-state,.success-panel{max-width:760px;margin:0 auto;text-align:center;background:#fff;border:1px solid var(--line);border-radius:calc(var(--radius) + 6px);padding:clamp(2rem,6vw,4rem);box-shadow:var(--shadow-soft);position:relative;overflow:hidden}.empty-state::before,.success-panel::before{content:"";position:absolute;inset:0;background:radial-gradient(60% 80% at 50% 0,rgba(30,158,106,.12),transparent 65%),radial-gradient(50% 70% at 100% 80%,rgba(224,49,127,.08),transparent 70%);pointer-events:none}.empty-state>*,.success-panel>*{position:relative}.success-section{min-height:76vh;display:flex;align-items:center;padding-top:calc(var(--header-h) + 3rem)}.ok-mark{width:82px;height:82px;margin:0 auto 1.3rem;border-radius:50%;background:var(--grad-gold);color:#2c2106;display:flex;align-items:center;justify-content:center;font-size:2.4rem;font-family:var(--serif);box-shadow:0 20px 40px -22px rgba(156,116,38,.8)}.ok-mark svg{width:38px;height:38px;display:block}.ok-mark.warn{background:linear-gradient(120deg,#fff1bf,#d5962d);font-weight:700}.order-box{max-width:520px;margin:2rem auto;background:var(--ivory);border:1px solid var(--line);border-radius:var(--radius);padding:1.3rem;text-align:left}.not-found{background:linear-gradient(135deg,#fff,#f7efe0)}
.checkout-form .lead{font-size:1rem}.mini-line{display:grid;grid-template-columns:62px minmax(0,1fr) auto;gap:.8rem;align-items:center;padding:.75rem 0;border-top:1px solid var(--line)}.mini-line img{width:62px;aspect-ratio:1;object-fit:cover;border-radius:9px}.mini-line span{font-weight:500;color:var(--ink)}.mini-line small{display:block;color:var(--muted);font-weight:300}.mini-line strong{font-family:var(--serif);color:var(--ink)}
.legal-page{max-width:880px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:clamp(1.6rem,4vw,3rem);box-shadow:var(--shadow-card)}.legal-page h2{margin-top:1.4rem;font-size:1.7rem}.legal-page h2:first-child{margin-top:0}.legal-page a{color:var(--gold-deep);font-weight:500}.legal-page ul{padding-left:1.2rem}.hidden-field{display:none!important}
.aw-price{font-family:var(--serif);font-size:1.9rem;color:var(--ink);font-weight:600}.aw-price small{font-family:var(--sans);font-weight:400;color:var(--muted);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}.aw-zoom{font-family:var(--sans);font-size:1.2rem}.filterbar button[data-filter="available"]{border-color:rgba(18,181,166,.35)}
body::after{content:"";position:fixed;inset:auto auto 0 0;width:45vw;height:45vw;max-width:520px;max-height:520px;background:radial-gradient(circle at 0 100%,rgba(30,158,106,.045),transparent 70%);pointer-events:none;z-index:-1}
@media(max-width:1024px){.cart-layout,.checkout-layout{grid-template-columns:1fr}.cart-summary{position:relative;top:auto}.cart-link span{display:none}}
@media(max-width:620px){.cart-line{grid-template-columns:86px 1fr;align-items:start}.cart-line img{width:86px}.cart-line>strong{grid-column:2;font-size:1.15rem}.shop-toast{left:16px;right:16px;text-align:center}.work-actions{padding:.2rem 1rem 1rem}.cart-summary{padding:1.1rem}.mini-line{grid-template-columns:54px 1fr}.mobile-cart-link{font-family:var(--serif)!important;font-size:2rem!important}.header-tools{gap:.55rem}.cart-link{padding:.48rem}.cart-link strong{min-width:24px}}

/* ---- Correctifs visuels (liens contact, icônes SVG) ---- */
a.info-block{text-decoration:none;color:inherit;transition:.3s var(--ease)}
a.info-block:hover{transform:translateX(3px)}
a.info-block:hover .ic{background:var(--grad-gold);border-color:transparent;color:#2c2106}
a.info-block:hover p{color:var(--gold-deep)}
.contact-info .info-block .ic{transition:.3s var(--ease)}
.lightbox .close svg,.lightbox .nav svg{width:22px;height:22px}
.aw-zoom svg{width:20px;height:20px}
.aw-zoom{display:flex;align-items:center;justify-content:center}

/* =========================================================================
   SanyasArt — Animations premium (identité conservée, respect reduced-motion)
   ========================================================================= */
@keyframes awCardIn{from{opacity:0;transform:translateY(22px) scale(.985)}to{opacity:1;transform:none}}
@keyframes awSheen{to{transform:translateX(130%)}}
@keyframes awDot{0%,100%{box-shadow:0 0 0 0 rgba(18,181,166,.5)}50%{box-shadow:0 0 0 5px rgba(18,181,166,0)}}
/* Entrée en cascade des œuvres */
.work-grid .work-card{animation:awCardIn .6s var(--ease) both}
.work-grid .work-card:nth-child(2){animation-delay:.05s}
.work-grid .work-card:nth-child(3){animation-delay:.1s}
.work-grid .work-card:nth-child(4){animation-delay:.15s}
.work-grid .work-card:nth-child(5){animation-delay:.2s}
.work-grid .work-card:nth-child(6){animation-delay:.25s}
.work-grid .work-card:nth-child(7){animation-delay:.3s}
.work-grid .work-card:nth-child(n+8){animation-delay:.34s}
/* Image carte : zoom doux + légère vibrance au survol */
.work-card .img img{transition:transform .9s var(--ease),filter .6s var(--ease)}
.work-card:hover .img img{filter:saturate(1.06) contrast(1.02)}
.work-card .cap h3{transition:color .35s var(--ease)}
.work-card:hover .cap h3{color:var(--gold-deep)}
/* Boutons : reflet doux + retour tactile */
.btn--gold{position:relative;overflow:hidden}
.btn--gold::after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 32%,rgba(255,255,255,.38) 50%,transparent 68%);transform:translateX(-130%);pointer-events:none}
.btn--gold:hover::after{animation:awSheen .85s var(--ease)}
.btn:active{transform:translateY(-1px) scale(.99)}
/* Pastille « disponible » : pulsation discrète */
.badge--avail i{animation:awDot 2.6s ease-in-out infinite}
/* Présence élégante des sections au scroll (renfort) */
.reveal{will-change:opacity,transform}
.sec-head.reveal h2{transition:opacity .9s var(--ease) .05s,transform .9s var(--ease) .05s}
/* Accessibilité : focus clavier visible et soigné */
a:focus-visible,button:focus-visible,.btn:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:6px}
/* Liens du footer : léger glissement déjà présent, on ajoute la douceur */
.footer-col a{transition:color .3s var(--ease),padding-left .3s var(--ease)}
/* Mini bouton ajout panier : confirmation visuelle */
.btn-mini.is-added{position:relative}
@media(hover:none){.aw-arrow{opacity:1}}

/* =========================================================================
   Correctif hero accueil — photo à droite, plus grande sur desktop
   ========================================================================= */
@media(min-width:1025px){
  .hero{min-height:88vh;padding-bottom:clamp(1.5rem,3vw,3rem)}
  .hero-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(360px,.74fr);align-items:center;justify-content:center;gap:clamp(2rem,3.5vw,4rem);text-align:center;max-width:1320px}
  .hero-copy{max-width:760px;margin-inline:auto;text-align:center;justify-self:center}
  .hero-copy .kicker{justify-content:center}
  .hero-copy .kicker::after{content:"";width:30px;height:1px;background:var(--gold)}
  .hero-copy .hero-sub{font-size:clamp(1.75rem,2.15vw,2.25rem);margin:.1rem 0 .55rem;transform:none}
  .hero-copy h1{font-size:clamp(2.35rem,2.95vw,3.35rem);line-height:1.02;letter-spacing:-.026em;max-width:none;margin:0 auto .45em;white-space:nowrap;text-wrap:nowrap}
  .hero-copy h1 br{display:none}
  .hero-copy .lead{max-width:46rem;margin:0 auto 1.65rem;text-align:justify;text-align-last:center;text-justify:inter-word;hyphens:auto}
  .hero-cta,.hero-meta{justify-content:center}
  .hero-meta{margin-top:2rem}
  .hero-art{justify-self:center;width:100%;max-width:clamp(360px,27vw,500px);margin:0}
  .hero-frame{aspect-ratio:4/5;border-radius:230px 230px 18px 18px}
  .hero-frame img{object-position:center 34%}
  .hero-frame::after{border-radius:218px 218px 10px 10px}
  .hero-badge{bottom:18px;left:50%;transform:translateX(-50%);padding:.64rem 1.08rem;font-size:.73rem;white-space:nowrap}
}
@media(min-width:1025px) and (max-width:1180px){
  .hero-grid{grid-template-columns:minmax(0,1fr) minmax(320px,.72fr);gap:1.6rem}
  .hero-copy h1{font-size:clamp(2rem,3.1vw,2.3rem)}
  .hero-copy .lead{max-width:42rem;font-size:1rem}
  .hero-art{max-width:340px}
  .hero-cta{gap:.7rem}
  .hero-cta .btn{padding:.95rem 1.45rem;letter-spacing:.12em}
}
@media(min-width:1380px){
  .hero-grid{max-width:1400px;grid-template-columns:minmax(700px,1.08fr) minmax(390px,.74fr)}
  .hero-art{max-width:520px}
}
@media(max-width:1024px){
  .hero-grid{display:flex;flex-direction:column;align-items:center;text-align:center}
}

/* =========================================================================
   Effets premium — boutons, photos cliquables, photos fixes
   Design : mouvement doux, éclat doré, profondeur et respect accessibilité
   ========================================================================= */
.btn{position:relative;overflow:hidden;isolation:isolate;will-change:transform,box-shadow;transition:transform .42s var(--ease),box-shadow .42s var(--ease),border-color .42s var(--ease),background .42s var(--ease),color .42s var(--ease)}
.btn::before{content:"";position:absolute;inset:1px;border-radius:inherit;background:radial-gradient(80% 130% at 18% 0%,rgba(255,255,255,.38),transparent 42%),linear-gradient(120deg,rgba(226,200,121,.18),rgba(18,181,166,.10),rgba(224,49,127,.08));opacity:0;transform:scale(.96);transition:opacity .45s var(--ease),transform .45s var(--ease);pointer-events:none}
.btn:not(.btn--gold)::after{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(115deg,transparent 28%,rgba(255,255,255,.42) 50%,transparent 70%);transform:translateX(-125%);transition:transform .85s var(--ease);pointer-events:none}
.btn svg{transition:transform .42s var(--ease)}
.btn:hover{transform:translateY(-4px);box-shadow:0 22px 42px -24px rgba(23,16,8,.45)}
.btn:hover::before{opacity:1;transform:scale(1)}
.btn:not(.btn--gold):hover::after{transform:translateX(125%)}
.btn:hover svg{transform:translateX(4px)}
.btn--gold{box-shadow:0 16px 34px -16px rgba(156,116,38,.74),inset 0 1px 0 rgba(255,255,255,.32)}
.btn--gold::after{background:linear-gradient(115deg,transparent 24%,rgba(255,255,255,.52) 48%,rgba(255,255,255,.18) 54%,transparent 72%)}
.btn--gold:hover{box-shadow:0 26px 52px -20px rgba(156,116,38,.82),0 0 0 1px rgba(226,200,121,.28),inset 0 1px 0 rgba(255,255,255,.36)}
.btn--ghost,.btn--light{box-shadow:inset 0 0 0 1px rgba(194,154,69,.10)}
.btn--ghost:hover,.btn--light:hover{border-color:rgba(156,116,38,.75);background:#fff;color:var(--gold-deep)}
.btn--ink:hover{box-shadow:0 24px 45px -24px rgba(0,0,0,.65),0 0 0 1px rgba(226,200,121,.22)}
.filterbar button,.cart-link,.soc,.aw-fszoom,.aw-arrow,.aw-lb-close,.aw-lb-arrow{will-change:transform,box-shadow;transition:transform .38s var(--ease),box-shadow .38s var(--ease),border-color .38s var(--ease),background .38s var(--ease),color .38s var(--ease)}
.filterbar button:hover,.cart-link:hover,.aw-fszoom:hover,.aw-arrow:hover,.aw-lb-close:hover,.aw-lb-arrow:hover{box-shadow:0 16px 32px -22px rgba(23,16,8,.45)}

/* Photos cliquables / interactives : zoom artistique + lueur de survol */
.col-card,.work-card,.ig-strip a,.awt,.aw-thumbs button,.aw-lb-strip button,.aw-main2,.aw-gallery .main{position:relative;isolation:isolate;transform:translateZ(0);will-change:transform,box-shadow,filter}
.col-card::before,.work-card .img::before,.ig-strip a::before,.awt::before,.aw-thumbs button::before,.aw-lb-strip button::before,.aw-main2::before,.aw-gallery .main::before{content:"";position:absolute;inset:0;z-index:2;background:linear-gradient(115deg,transparent 24%,rgba(255,255,255,.34) 45%,rgba(226,200,121,.18) 52%,transparent 70%);transform:translateX(-125%);transition:transform .9s var(--ease);pointer-events:none;mix-blend-mode:screen}
.work-card .img::after,.ig-strip a::after,.aw-main2::after,.aw-gallery .main::after{content:"";position:absolute;inset:0;z-index:1;background:radial-gradient(80% 80% at 50% 18%,rgba(255,255,255,.10),transparent 46%),linear-gradient(to top,rgba(23,16,8,.18),transparent 54%);opacity:.42;transition:opacity .55s var(--ease);pointer-events:none}
.col-card,.work-card{transition:transform .55s var(--ease),box-shadow .55s var(--ease),border-color .55s var(--ease)}
.col-card img,.work-card .img img,.ig-strip img,.awt img,.aw-thumbs button img,.aw-lb-strip button img,.aw-main-img,.aw-gallery .main img{transition:transform 1s var(--ease),filter .75s var(--ease),opacity .25s var(--ease);will-change:transform,filter}
@media(hover:hover){
  .col-card:hover,.work-card:hover{transform:translateY(-8px) scale(1.012);box-shadow:0 28px 62px -34px rgba(23,16,8,.48),0 0 0 1px rgba(194,154,69,.30)}
  .col-card:hover::before,.work-card:hover .img::before,.ig-strip a:hover::before,.awt:hover::before,.aw-thumbs button:hover::before,.aw-lb-strip button:hover::before,.aw-main2:hover::before,.aw-gallery .main:hover::before{transform:translateX(125%)}
  .col-card:hover img,.work-card:hover .img img,.ig-strip a:hover img,.awt:hover img,.aw-thumbs button:hover img,.aw-lb-strip button:hover img{transform:scale(1.085);filter:saturate(1.14) contrast(1.045) brightness(1.02)}
  .work-card:hover .img::after,.ig-strip a:hover::after,.aw-main2:hover::after,.aw-gallery .main:hover::after{opacity:.66}
  .ig-strip a:hover{transform:translateY(-5px) rotate(.35deg);box-shadow:0 24px 46px -28px rgba(23,16,8,.42)}
  .awt:hover,.aw-thumbs button:hover,.aw-lb-strip button:hover{transform:translateY(-3px) scale(1.025);box-shadow:0 16px 30px -22px rgba(23,16,8,.45)}
  .aw-main2:not(.zooming):hover .aw-main-img,.aw-gallery .main:hover img{transform:scale(1.035);filter:saturate(1.08) contrast(1.03)}
}

/* Photos fixes / non cliquables : effet galerie renforcé, relief et lumière douce */
.hero-frame,.split-media .frame,.about-portrait,.atelier-grid .frame{position:relative;isolation:isolate;transform:translateZ(0);transition:transform .82s var(--ease),box-shadow .82s var(--ease),border-color .82s var(--ease),filter .82s var(--ease)}
.hero-frame::before,.split-media .frame::before,.about-portrait::before,.atelier-grid .frame::before{content:"";position:absolute;inset:0;z-index:1;background:radial-gradient(58% 52% at 22% 14%,rgba(255,255,255,.42),transparent 60%),radial-gradient(52% 64% at 86% 84%,rgba(194,154,69,.34),transparent 72%),linear-gradient(135deg,rgba(18,181,166,.10),transparent 44%,rgba(224,49,127,.08));opacity:.62;transition:opacity .82s var(--ease),transform .82s var(--ease),filter .82s var(--ease);pointer-events:none;mix-blend-mode:soft-light}
.hero-frame img,.split-media .frame img,.about-portrait img,.atelier-grid .frame img{transition:transform 1.25s var(--ease),filter .9s var(--ease);will-change:transform,filter}
@media(hover:hover){
  .hero-frame:hover,.split-media .frame:hover,.about-portrait:hover,.atelier-grid .frame:hover{transform:translateY(-10px);border-color:rgba(194,154,69,.72);box-shadow:0 46px 92px -36px rgba(23,16,8,.58),0 0 0 1px rgba(226,200,121,.34),0 0 42px -26px rgba(194,154,69,.55)}
  .hero-frame:hover::before,.split-media .frame:hover::before,.about-portrait:hover::before,.atelier-grid .frame:hover::before{opacity:.95;transform:scale(1.045);filter:saturate(1.2) brightness(1.04)}
  .hero-frame:hover img,.split-media .frame:hover img,.about-portrait:hover img,.atelier-grid .frame:hover img{transform:scale(1.052);filter:saturate(1.16) contrast(1.06) brightness(1.035)}
}

/* =========================================================================
   Sur-mesure — lecture alignée + étapes éditoriales premium
   ========================================================================= */
.custom-section .split-copy{max-width:min(42rem,100%);text-align:left}
.custom-section .split-copy .kicker{justify-content:flex-start}
.custom-section .split-copy .kicker::after{content:"";width:30px;height:1px;background:var(--gold)}
.custom-section .split-copy h2{text-align:left;max-width:11ch;margin-left:0;margin-right:0}
.custom-section .split-copy .lead{max-width:38rem;margin:0 0 2.05rem;text-align:left;text-align-last:auto;text-justify:auto;hyphens:none;line-height:1.82}
.custom-section .split-copy p{margin-left:0;margin-right:0;text-align:left;text-align-last:auto;hyphens:none}
.custom-section .split-copy .feature-list{max-width:39rem;margin:0 0 2.35rem;padding:0;text-align:left;display:grid;gap:1.05rem}
.custom-section .feature-list li{display:grid;grid-template-columns:1.55rem minmax(0,1fr);gap:.82rem;align-items:start;padding:.15rem 0 .98rem;border-bottom:1px solid rgba(194,154,69,.18);line-height:1.55}
.custom-section .feature-list li:last-child{border-bottom:0;padding-bottom:0}
.custom-section .feature-list li svg{width:19px;height:19px;margin-top:.28rem;color:var(--gold-deep);filter:drop-shadow(0 5px 10px rgba(156,116,38,.18))}
.custom-section .feature-list .step-body{display:block;min-width:0}
.custom-section .feature-list .step-title{display:block;font-family:var(--serif);font-size:1.34rem;min-height:1.6rem;font-weight:600;line-height:1.18;color:var(--gold-deep);letter-spacing:.01em;margin:0 0 .3rem;background:linear-gradient(120deg,var(--gold-light),var(--gold-deep));-webkit-background-clip:text;background-clip:text;color:transparent}
.custom-section .feature-list .step-desc{display:block;color:var(--ink-2);font-size:clamp(.98rem,1.08vw,1.06rem);font-weight:300;line-height:1.72;text-align:left;text-wrap:pretty}
.custom-section .split-copy > .btn{display:flex;width:max-content;max-width:100%;justify-content:center;margin:.75rem auto 0}
@media(min-width:1025px){
  .custom-section .container{max-width:1500px}
  .custom-section .split{grid-template-columns:minmax(0,1.18fr) minmax(360px,.82fr);gap:clamp(2.2rem,4vw,5rem)}
  .custom-section .split-copy{max-width:820px}
  .custom-section .split-copy h2{font-size:clamp(1.45rem,1.75vw,2.1rem);line-height:1.05;letter-spacing:-.018em;white-space:nowrap;text-wrap:nowrap;max-width:none}
}
@media(max-width:1024px){
  .custom-section .split-copy{margin-inline:auto;text-align:left}
  .custom-section .split-copy .kicker{justify-content:center}
  .custom-section .split-copy h2{text-align:center;max-width:none;margin-inline:auto;white-space:normal;text-wrap:balance}
  .custom-section .split-copy .lead{margin-inline:auto;text-align:left;max-width:38rem}
  .custom-section .split-copy .feature-list{margin-inline:auto;max-width:38rem}
}

/* =========================================================================
   Cartouches photos premium — plus légers que les grands rectangles blancs
   ========================================================================= */
.split-media .tag{
  isolation:isolate;
  overflow:hidden;
  min-width:clamp(142px,11vw,182px);
  padding:.76rem 1.02rem .84rem 1.34rem;
  background:linear-gradient(135deg,rgba(255,255,255,.72),rgba(252,248,240,.48));
  backdrop-filter:blur(16px) saturate(1.12);
  -webkit-backdrop-filter:blur(16px) saturate(1.12);
  border:1px solid rgba(194,154,69,.46);
  border-radius:28px 28px 28px 10px;
  box-shadow:0 24px 50px -31px rgba(23,16,8,.48),0 0 0 1px rgba(255,255,255,.42) inset;
  font-size:clamp(1rem,1.14vw,1.12rem);
  line-height:1.18;
}
.split-media:not(.custom-media) .tag{right:-12px;bottom:-14px}
.split-media .tag::before{content:"";position:absolute;left:.78rem;top:.7rem;bottom:.7rem;width:2px;border-radius:999px;background:var(--grad-gold);opacity:.9;pointer-events:none}
.split-media .tag::after{content:"";position:absolute;inset:0;background:radial-gradient(72% 90% at 8% 0%,rgba(226,200,121,.20),transparent 62%),linear-gradient(120deg,rgba(255,255,255,.24),transparent 54%);pointer-events:none;z-index:-1}
.split-media .tag span{font-size:.58rem;letter-spacing:.23em;color:var(--gold-deep);margin-bottom:.32rem}
.custom-media .tag{max-width:min(230px,90%);margin:-1rem clamp(.9rem,2.4vw,1.45rem) 1.25rem auto}
@media(max-width:560px){
  .split-media .tag{min-width:0;max-width:90%;padding:.72rem 1rem .78rem 1.3rem;border-radius:24px 24px 24px 9px}
  .custom-media .tag{margin:-.65rem auto 1rem}
  .custom-section .split-copy > .btn{width:100%}
  .custom-section .feature-list .step-title{font-size:1.25rem;min-height:1.5rem}
}

/* =========================================================================
   Harmonie finale — mêmes tailles de grands titres sur le site public
   ========================================================================= */
:root{--title-site:clamp(1.8rem,2.52vw,2.5rem)}
.hero-copy h1 .hero-title-gap{display:inline-block;width:.26em;min-width:.26em;overflow:hidden;vertical-align:baseline}
.hero-copy h1,
.page-hero h1,
.about-hero h1,
.sec-head h2,
.split-copy h2,
.artist-section .split-copy h2,
.custom-section .split-copy h2,
.aw-story h2,
.aw-info h1,
.final-cta-premium h2,
.section > .container.center > h2,
.empty-state h1,
.success-panel h1{
  font-size:var(--title-site);
  line-height:1.04;
  letter-spacing:-.02em;
}
.custom-section .split-copy .lead,
.custom-section .feature-list .step-desc{
  text-align:justify;
  text-align-last:left;
  text-justify:inter-word;
  hyphens:auto;
}
.custom-section .split-copy > .btn{
  position:relative;
  left:min(19.5rem,50%);
  transform:translateX(-50%);
  margin:.75rem 0 0;
}
.custom-section .split-copy > .btn:hover{transform:translateX(-50%) translateY(-4px)}
.custom-section .split-copy > .btn:active{transform:translateX(-50%) translateY(-1px) scale(.99)}
@media(min-width:1025px){
  .custom-section .split{grid-template-columns:minmax(0,1.32fr) minmax(300px,.68fr)}
  .custom-section .split-copy{max-width:900px}
  .custom-section .split-copy h2{font-size:var(--title-site);white-space:nowrap;text-wrap:nowrap;max-width:none}
}
@media(max-width:560px){
  :root{--title-site:clamp(1.9rem,8.4vw,2.35rem)}
  .custom-section .split-copy > .btn{left:auto;transform:none;margin:.75rem auto 0;width:100%}
  .custom-section .split-copy > .btn:hover,
  .custom-section .split-copy > .btn:active{transform:none}
}


/* =========================================================================
   Section Événements / Agenda (page d'accueil)
   ========================================================================= */
.events-section .event-card{
  display:grid;
  grid-template-columns:minmax(0,.74fr) minmax(0,1.26fr);
  gap:clamp(1.4rem,3vw,2.8rem);
  align-items:stretch;
  max-width:960px;
  margin:2.4rem auto 0;
  background:linear-gradient(135deg,rgba(255,255,255,.92),rgba(252,248,240,.7));
  border:1px solid rgba(194,154,69,.30);
  border-radius:26px;
  padding:clamp(1rem,1.8vw,1.6rem);
  box-shadow:0 30px 60px -34px rgba(60,40,10,.5);
}
.events-section .event-poster{
  position:relative;overflow:hidden;border-radius:18px;isolation:isolate;
  box-shadow:0 18px 40px -22px rgba(60,40,10,.65);
}
.events-section .event-poster img{
  width:100%;height:100%;object-fit:cover;display:block;aspect-ratio:3/4;
  transition:transform .7s var(--ease),filter .7s var(--ease);
}
.events-section .event-poster::after{
  content:"";position:absolute;inset:0;z-index:2;pointer-events:none;
  background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.36) 50%,transparent 70%);
  transform:translateX(-130%);transition:transform 1s var(--ease);
}
.events-section .event-card:hover .event-poster img{transform:scale(1.06) rotate(.4deg);filter:saturate(1.12) contrast(1.04)}
.events-section .event-card:hover .event-poster::after{transform:translateX(130%)}
.events-section .event-body{display:flex;flex-direction:column;justify-content:center;gap:.85rem;padding:.4rem .6rem}
.events-section .event-body h3{font-size:clamp(1.45rem,2.3vw,1.95rem);margin:0}
.events-section .event-meta{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.55rem 1.4rem}
.events-section .event-meta li{display:inline-flex;align-items:center;gap:.5rem;font-weight:500;color:var(--ink);font-size:.96rem}
.events-section .event-meta svg{width:19px;height:19px;color:var(--gold-deep);flex:0 0 auto}
.events-section .event-body p{margin:0;color:var(--ink-2);line-height:1.8}
.events-section .event-body .btn{align-self:flex-start;margin-top:.5rem}
@media(max-width:760px){
  .events-section .event-card{grid-template-columns:1fr;max-width:430px}
  .events-section .event-poster img{max-height:520px}
  .events-section .event-body{text-align:left}
  .events-section .event-body .btn{align-self:stretch;justify-content:center}
}
@media(prefers-reduced-motion:reduce){
  .events-section .event-card:hover .event-poster img{transform:none;filter:none}
  .events-section .event-poster::after{display:none}
}
