@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;1,400&family=Italianno&display=swap');
:root{--ink:#171513;--ivory:#f5f0e8;--paper:#fbf8f2;--orange:#d9692b;--wine:#8e2432;--sand:#c9a77b;--muted:#6d665e;--white:#fff;--line:rgba(23,21,19,.16);--serif:"Cormorant Garamond",Georgia,serif;--sans:"DM Sans",Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.6}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}.wrap{width:min(1180px,calc(100% - 48px));margin:auto}.skip-link{position:fixed;top:-100px;left:16px;background:#fff;padding:12px;z-index:100}.skip-link:focus{top:16px}.site-header{position:absolute;z-index:20;top:0;left:0;width:100%;height:88px;padding:0 max(24px,calc((100% - 1180px)/2));display:flex;align-items:center;justify-content:space-between;color:#fff;border-bottom:1px solid rgba(255,255,255,.22)}.brand{display:flex;align-items:center;gap:12px;font-weight:600;letter-spacing:.02em}.brand img{width:52px;height:34px;object-fit:contain}.site-header nav{display:flex;align-items:center;gap:28px;font-size:14px}.site-header nav>a:not(.nav-cta):hover{color:#f0a16e}.nav-cta{border:1px solid rgba(255,255,255,.55);padding:10px 18px;border-radius:999px}.menu-toggle{display:none;background:none;color:#fff;border:1px solid rgba(255,255,255,.5);border-radius:999px;padding:8px 14px}.hero{height:min(900px,100vh);min-height:720px;position:relative;color:#fff;display:flex;align-items:flex-end}.hero-media,.hero-shade{position:absolute;inset:0}.hero-media img{width:100%;height:100%;object-fit:cover;object-position:center 32%}.hero-shade{background:linear-gradient(90deg,rgba(14,11,10,.84) 0%,rgba(14,11,10,.44) 48%,rgba(14,11,10,.14) 100%),linear-gradient(0deg,rgba(14,11,10,.45),transparent 45%)}.hero-content{position:relative;padding-bottom:105px}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:12px;font-weight:700;margin:0 0 20px}.eyebrow.dark{color:var(--orange)}h1,h2,h3{font-family:var(--serif);line-height:1.05;margin:0}h1{font-size:clamp(62px,9vw,126px);letter-spacing:-.055em;max-width:1000px}h1 em{font-weight:500;color:#f2b68f}.hero-lead{font-size:19px;max-width:510px;margin:26px 0 32px}.actions{display:flex;gap:12px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;padding:14px 22px;border-radius:999px;font-weight:700;font-size:14px;border:1px solid transparent;cursor:pointer}.button.primary{background:var(--orange);color:#fff}.button.primary:hover{background:#bd5523}.button.ghost{border-color:rgba(255,255,255,.6)}.button.ghost:hover{background:#fff;color:var(--ink)}.scroll-cue{position:absolute;right:max(24px,calc((100% - 1180px)/2));bottom:32px;font-size:13px;display:flex;gap:14px}.feature-event{background:var(--orange);color:#fff;padding:52px 0}.event-grid{display:grid;grid-template-columns:160px 1fr 1.2fr;gap:54px;align-items:center}.date-block{display:flex;align-items:center;gap:12px;border-right:1px solid rgba(255,255,255,.35)}.date-block>span{font:600 74px/1 var(--serif)}.date-block small{text-transform:uppercase;letter-spacing:.12em}.event-grid h2{font-size:42px}.event-grid p{margin:12px 0 0}.event-details{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;align-items:end}.event-details p{font-size:13px}.event-details strong{font-size:17px}.text-link{grid-column:1/-1;font-weight:700;margin-top:6px}.section{padding:120px 0}.section-heading{display:grid;grid-template-columns:1.4fr .8fr;gap:70px;align-items:end;margin-bottom:54px}.section-heading h2,.schedule h2,.contact h2{font-size:clamp(44px,6vw,76px);letter-spacing:-.04em}.section-heading>p{color:var(--muted);margin:0}.course-grid{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:16px}.course-card{min-height:330px;padding:34px;border-radius:4px;display:flex;flex-direction:column;justify-content:flex-end;position:relative;overflow:hidden}.course-card h3{font-size:35px;margin:8px 0 12px}.course-card p{margin:0 0 25px}.course-card a{font-weight:700;font-size:14px}.course-card>span,.course-card>div>span{text-transform:uppercase;letter-spacing:.14em;font-size:11px;font-weight:700}.image-card{grid-row:span 2;min-height:676px;color:#fff;padding:0}.image-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.image-card:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 35%,rgba(17,12,10,.88))}.image-card>div{position:relative;z-index:1;padding:38px}.coral{background:#dc7045;color:#fff}.sand{background:#d6b98d}.wine{background:var(--wine);color:#fff}.line-icon{font-size:55px;margin-bottom:auto;line-height:1}.schedule{background:var(--ink);color:#fff}.schedule-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:100px}.muted{color:#bbb2a8;max-width:430px;margin:24px 0 35px}.schedule-list article{display:grid;grid-template-columns:150px 1fr;gap:20px;padding:24px 0;border-top:1px solid rgba(255,255,255,.17)}.schedule-list article:last-child{border-bottom:1px solid rgba(255,255,255,.17)}.schedule-list time{text-transform:uppercase;letter-spacing:.12em;font-size:12px;color:#d59d78;font-weight:700}.schedule-list div{display:flex;justify-content:space-between;gap:20px}.schedule-list span{color:#bcb4ac}.agenda-list{border-top:1px solid var(--line)}.agenda-list article{display:grid;grid-template-columns:150px 1fr 50px;gap:36px;padding:32px 0;border-bottom:1px solid var(--line);align-items:center}.agenda-list time{display:flex;align-items:center;gap:14px}.agenda-list time strong{font:600 50px/1 var(--serif)}.agenda-list time span{text-transform:uppercase;font-size:11px;line-height:1.4;letter-spacing:.11em}.agenda-list h3{font-size:29px;margin:6px 0}.agenda-list p{margin:0;color:var(--muted)}.agenda-list article>a{font-size:28px}.pill{display:inline-block;background:#e3d8c8;padding:4px 9px;border-radius:999px;font-size:10px;text-transform:uppercase;letter-spacing:.12em;font-weight:700}.pill.accent{background:#f2c3aa}.story{background:var(--wine);color:#fff}.story-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}.story-photo{position:relative}.story-photo img{width:100%;aspect-ratio:4/5;object-fit:cover}.story-photo span{position:absolute;right:-42px;bottom:50px;background:var(--orange);width:110px;height:110px;border-radius:50%;display:grid;place-items:center;font:600 17px var(--serif);transform:rotate(-8deg)}.story h2{font-size:clamp(46px,6vw,74px);letter-spacing:-.04em;margin-bottom:30px}.story p{color:#ead8d3}.story blockquote{margin:35px 0 0;padding:25px 0;border-top:1px solid rgba(255,255,255,.3);font:500 23px/1.4 var(--serif);color:#f1b696}.shows{background:var(--ivory)}.show-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:16px}.show-grid article{position:relative;overflow:hidden;background:#222;aspect-ratio:4/5}.show-grid .show-main{aspect-ratio:auto}.show-grid img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.show-grid article:hover img{transform:scale(1.03)}.show-grid article:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 55%,rgba(0,0,0,.8))}.show-grid article div{position:absolute;z-index:2;bottom:26px;left:26px;color:#fff}.show-grid span{font-size:12px;letter-spacing:.13em}.show-grid h3{font-size:30px;margin-top:5px}.contact{background:#22201d;color:#fff}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px}.contact-grid>div>p{color:#c8c0b6;max-width:500px}.contact dl{margin-top:45px}.contact dl>div{display:grid;grid-template-columns:140px 1fr;padding:16px 0;border-top:1px solid rgba(255,255,255,.15)}.contact dt{text-transform:uppercase;letter-spacing:.1em;font-size:11px;color:#d59d78}.contact dd{margin:0}.contact-form{background:var(--ivory);color:var(--ink);padding:38px}.contact-form label{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.1em;font-weight:700;margin-bottom:20px}.contact-form input,.contact-form select,.contact-form textarea{display:block;width:100%;border:0;border-bottom:1px solid #9d9488;background:transparent;padding:10px 0;font:16px var(--sans);border-radius:0}.contact-form textarea{resize:vertical}.contact-form small{display:block;color:var(--muted);margin-top:16px;text-transform:none;letter-spacing:0}.contact-form .button{border:0}footer{background:#0f0e0d;color:#fff;padding:70px 0 25px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:60px}.footer-grid>div{display:flex;flex-direction:column;align-items:flex-start;gap:9px}.footer-grid a,.footer-grid span{color:#9e978f;font-size:14px}.footer-brand img{height:46px;width:auto;object-fit:contain;margin-bottom:8px}.footer-brand strong{font:600 25px var(--serif)}.footnote{border-top:1px solid rgba(255,255,255,.14);margin-top:55px;padding-top:20px;display:flex;justify-content:space-between;color:#776f67;font-size:12px}
@media(max-width:900px){.site-header nav{display:none;position:absolute;top:88px;left:0;right:0;background:var(--ink);padding:24px;flex-direction:column;align-items:stretch}.site-header nav.open{display:flex}.menu-toggle{display:block}.event-grid,.section-heading,.schedule-grid,.story-grid,.contact-grid{grid-template-columns:1fr}.event-grid{gap:25px}.event-details{grid-template-columns:repeat(3,1fr)}.date-block{border:0}.course-grid{grid-template-columns:1fr 1fr}.image-card{grid-column:span 2;grid-row:auto;min-height:550px}.schedule-grid,.story-grid,.contact-grid{gap:60px}.show-grid{grid-template-columns:1.5fr 1fr}.show-grid article:last-child{display:none}.story-photo span{right:20px}.section{padding:90px 0}}
@media(max-width:600px){.wrap{width:min(100% - 30px,1180px)}.site-header{height:74px;padding:0 15px}.site-header nav{top:74px}.brand img{width:42px}h1{font-size:58px}.hero{min-height:680px}.hero-content{padding-bottom:80px}.hero-media img{object-position:56% center}.feature-event{padding:42px 0}.event-grid h2{font-size:34px}.event-details{grid-template-columns:1fr 1fr}.event-details p:last-of-type{display:none}.section{padding:72px 0}.section-heading{gap:20px;margin-bottom:36px}.section-heading h2,.schedule h2,.contact h2{font-size:44px}.course-grid{grid-template-columns:1fr}.image-card{grid-column:auto;min-height:470px}.course-card{min-height:310px}.schedule-list article{grid-template-columns:95px 1fr}.schedule-list div{display:block}.schedule-list span{display:block}.agenda-list article{grid-template-columns:90px 1fr 26px;gap:14px}.agenda-list time{display:block}.agenda-list time strong{font-size:39px}.agenda-list h3{font-size:23px}.agenda-list p{display:none}.story-grid{gap:45px}.story h2{font-size:45px}.show-grid{grid-template-columns:1fr}.show-grid article,.show-grid .show-main{aspect-ratio:4/5}.show-grid article:nth-child(n+2){display:none}.contact-form{padding:25px}.contact dl>div{grid-template-columns:105px 1fr}.footer-grid{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}.footnote{display:block}.scroll-cue{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.site-header.solid{position:relative;background:var(--ink)}.site-header nav a.active{color:#f0a16e}.subhero{height:720px;position:relative;color:#fff;display:flex;align-items:flex-end}.subhero>img,.subhero-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.subhero-shade{background:linear-gradient(90deg,rgba(12,10,9,.88),rgba(12,10,9,.3)),linear-gradient(0deg,rgba(12,10,9,.6),transparent)}.subhero .wrap{position:relative;padding-bottom:80px}.subhero h1,.artist-hero h1{font-size:clamp(60px,8vw,110px)}.subhero>div>p:last-child,.artist-hero p{font-size:20px}.teacher-grid{display:grid;grid-template-columns:1fr .8fr;gap:100px;align-items:center}.teacher-grid h2,.bio-grid h2{font-size:clamp(48px,6vw,78px)}.teacher-grid>img{width:100%;aspect-ratio:4/5;object-fit:cover}.large-copy{font:500 24px/1.5 var(--serif)}.dark-link{color:var(--orange);display:inline-block;margin-top:20px}.date-chips{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.date-chips span{padding:24px;border:1px solid var(--line);font:500 20px var(--serif);background:#fff}.center-action{text-align:center;margin-top:50px}.center-action p{color:var(--muted)}.artist-hero{background:var(--wine);color:#fff;padding:90px 0}.artist-hero-grid{display:grid;grid-template-columns:1fr .85fr;align-items:center;gap:90px}.artist-hero img{width:100%;height:650px;object-fit:cover;object-position:center top}.artist-hero .button{margin-top:24px}.bio-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:100px}.artist-bio p:not(.eyebrow){color:var(--muted)}.stage-dates{display:flex;flex-wrap:wrap;gap:8px}.stage-dates span{border:1px solid rgba(255,255,255,.3);border-radius:999px;padding:8px 13px;font-size:12px}.schedule-list>.button{margin-top:30px}.quote-card{background:var(--orange);color:#fff;padding:50px;min-height:420px;display:flex;flex-direction:column;justify-content:flex-end}.quote-card>span{margin-bottom:auto;text-transform:uppercase;letter-spacing:.16em;font-size:12px}.quote-card strong{font:600 43px/1.1 var(--serif)}.quote-card p{color:#fff}.inner-page footer{padding-top:25px}
@media(max-width:900px){.teacher-grid,.artist-hero-grid,.bio-grid{grid-template-columns:1fr;gap:50px}.artist-hero img{height:550px}.date-chips{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.subhero{height:620px}.subhero h1,.artist-hero h1{font-size:52px}.subhero .wrap{padding-bottom:50px}.artist-hero{padding:60px 0}.artist-hero img{height:440px}.date-chips{grid-template-columns:1fr}.date-chips span{padding:18px}.quote-card{min-height:340px;padding:32px}.quote-card strong{font-size:36px}}
.agenda-more{text-align:center;margin-top:42px}.life-hero{background:linear-gradient(110deg,rgba(18,13,11,.9),rgba(18,13,11,.25)),url('assets/agenda/ete-01.jpg') center 42%/cover;color:#fff;min-height:700px;display:flex;align-items:flex-end;padding:90px 0}.life-hero h1{font-size:clamp(64px,9vw,118px)}.life-hero p:not(.eyebrow){font-size:20px;max-width:560px;margin:25px 0 32px}.life-intro{background:var(--orange);color:#fff;padding:100px 0}.life-intro-grid{display:grid;grid-template-columns:.45fr 1fr .8fr;gap:60px}.life-intro h2{font-size:clamp(48px,6vw,76px)}.life-intro-grid>p:last-child{margin:0}.gallery-section{overflow:hidden}.gallery-section.alt{background:var(--wine);color:#fff}.gallery-head{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:36px}.gallery-head h2{font-size:clamp(42px,6vw,72px)}.gallery-head p{max-width:600px;color:var(--muted)}.gallery-section.alt .gallery-head p{color:#e2cbc5}.gallery-head>span{font:500 17px var(--serif);letter-spacing:.1em}.slider{position:relative;width:min(1400px,calc(100% - 48px));margin:auto;aspect-ratio:16/8.5;background:#111;touch-action:pan-y;outline-offset:5px}.slides,.slide{position:absolute;inset:0;margin:0}.slide{opacity:0;visibility:hidden;transition:opacity .5s}.slide.active{opacity:1;visibility:visible}.slide img{width:100%;height:100%;object-fit:cover}.portrait-slider .slide img{object-fit:contain;background:#111}.slider-button{position:absolute;top:50%;transform:translateY(-50%);width:54px;height:54px;border:0;border-radius:50%;background:rgba(255,255,255,.92);font-size:22px;cursor:pointer;box-shadow:0 4px 25px rgba(0,0,0,.18)}.slider-button:hover{background:var(--orange);color:#fff}.slider-button.prev{left:22px}.slider-button.next{right:22px}.slider-status{position:absolute;right:22px;bottom:20px;background:rgba(10,9,8,.75);color:#fff;padding:7px 13px;border-radius:999px;font-size:12px}.life-cta{background:var(--ink);color:#fff;text-align:center;padding:110px 0}.life-cta h2{font-size:clamp(50px,7vw,88px);margin:0 0 35px}
@media(max-width:900px){.life-intro-grid{grid-template-columns:1fr;gap:25px}.slider{width:calc(100% - 30px);aspect-ratio:4/3}.site-header nav{overflow-y:auto;max-height:calc(100vh - 88px)}}
@media(max-width:600px){.life-hero{min-height:620px;padding:65px 0}.life-hero h1{font-size:54px}.gallery-head{display:block}.gallery-head>span{display:none}.slider{width:100%;aspect-ratio:4/5}.slider-button{width:44px;height:44px}.slider-button.prev{left:12px}.slider-button.next{right:12px}.life-intro{padding:72px 0}.life-cta{padding:80px 0}.full-agenda article{grid-template-columns:76px 1fr 24px}}
.gallery-section .slide{background:#111}.gallery-section .slide img{object-fit:contain;background:#111}@media(max-width:600px){.gallery-section .slider{aspect-ratio:4/3}}
.site-header nav{gap:18px;font-size:13px}.partners-hero{background:var(--wine);color:#fff;padding:120px 0 90px}.partners-hero h1{font-size:clamp(64px,9vw,118px)}.partners-hero>div>p:last-child{max-width:620px;font-size:20px}.senovilla-feature{background:var(--ivory);padding:120px 0}.senovilla-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:90px;align-items:center}.senovilla-copy>img{width:180px;max-height:90px;object-fit:contain;object-position:left;margin-bottom:42px}.senovilla-copy h2{font-size:clamp(45px,5vw,68px);margin-bottom:28px}.outline-dark{border-color:var(--ink);color:var(--ink)}.shoe-gallery{display:grid;grid-template-columns:1.15fr .85fr;grid-template-rows:1fr 1fr;gap:10px}.shoe-gallery img{width:100%;height:100%;object-fit:cover;min-height:230px}.shoe-gallery img:first-child{grid-row:1/3}.partner-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.partner-card{background:#fff;border:1px solid var(--line);padding:22px;transition:transform .25s,box-shadow .25s}.partner-card:hover{transform:translateY(-5px);box-shadow:0 18px 50px rgba(23,21,19,.09)}.partner-card>div{height:210px;background:#f2eee8;display:grid;place-items:center;margin-bottom:25px;overflow:hidden}.partner-card img{max-width:82%;max-height:82%;object-fit:contain}.partner-card span{font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:var(--orange);font-weight:700}.partner-card h3{font-size:26px;margin:8px 0 28px}.partner-card b{font-size:13px}.partners-cta{background:var(--ink);color:#fff;text-align:center;padding:100px 0}.partners-cta h2{font-size:clamp(45px,6vw,72px)}.partners-cta>div>p:not(.eyebrow){color:#bbb2a8;margin:18px auto 30px}

/* Bandeau déroulant des actualités */
.news-carousel{position:relative;color:#fff;overflow:hidden}.news-track{display:grid}.news-slide{grid-area:1/1;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .55s ease;min-height:500px;display:flex;align-items:center;padding:58px 0 70px}.news-slide.active{opacity:1;visibility:visible;pointer-events:auto}.news-slide-trials{background:var(--orange)}.news-slide-anniversary{background:var(--wine)}.news-grid{display:grid;grid-template-columns:290px 1fr;gap:64px;align-items:center}.news-poster{display:block;justify-self:center;box-shadow:0 18px 45px rgba(48,20,8,.28);transition:transform .25s}.news-poster:hover{transform:translateY(-4px)}.news-poster img{width:250px;max-height:370px;object-fit:cover}.news-copy h2{font-size:clamp(42px,5vw,68px);max-width:820px}.news-intro{font-size:18px;max-width:800px;margin:20px 0}.news-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;border-top:1px solid rgba(255,255,255,.32);border-bottom:1px solid rgba(255,255,255,.32);margin:24px 0 18px;padding:18px 0}.news-facts p{margin:0}.news-place{margin:0 0 22px}.news-button{background:#fff;color:var(--orange)}.news-button:hover{background:var(--ink);color:#fff}.news-controls{position:absolute;z-index:4;right:max(24px,calc((100% - 1180px)/2));bottom:20px;display:flex;align-items:center;gap:12px}.news-arrow{width:34px;height:34px;border:1px solid rgba(255,255,255,.55);border-radius:50%;background:transparent;color:#fff;cursor:pointer}.news-arrow:hover{background:#fff;color:var(--ink)}.news-dots{display:flex;gap:7px}.news-dots button{width:8px;height:8px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.45);cursor:pointer}.news-dots button.active{width:24px;border-radius:999px;background:#fff}

@media(max-width:900px){.news-grid{grid-template-columns:210px 1fr;gap:34px}.news-poster img{width:190px}.news-facts{grid-template-columns:1fr;gap:10px}.news-facts p{font-size:14px}.news-slide{min-height:560px}}
@media(max-width:600px){.news-slide{min-height:0;padding:42px 0 76px}.news-grid{grid-template-columns:1fr;gap:28px}.news-poster img{width:180px;max-height:270px}.news-copy h2{font-size:40px}.news-intro{font-size:16px}.news-facts{margin:20px 0 16px;padding:15px 0}.news-slide-anniversary .event-grid{display:grid;grid-template-columns:1fr;gap:28px}.news-slide-anniversary .date-block{border-right:0;border-bottom:1px solid rgba(255,255,255,.35);padding-bottom:20px}.news-slide-anniversary .event-details{grid-template-columns:1fr 1fr}.news-controls{right:15px;bottom:18px}}

.news-slide-castanets{background:var(--wine)}.news-dates{margin:18px 0 0;max-width:850px}.news-prices{display:flex;gap:45px;margin:0 0 22px}.news-prices p{margin:0}.news-slide-castanets .news-button{color:var(--wine)}
.news-slide-samantha{background:#123847}.news-slide-samantha .news-button{color:#123847}.news-facts-two{grid-template-columns:repeat(2,1fr)}
@media(max-width:600px){.news-prices{display:grid;gap:10px}.news-slide-castanets .news-poster img{max-height:270px}}

/* Photo en filigrane derrière les horaires des cours du lundi */
#horaires.schedule{position:relative;isolation:isolate;background:#171513;overflow:hidden}
#horaires.schedule:before{content:"";position:absolute;z-index:-2;inset:0;background:url('assets/horaires-filigrane-jel-8118.jpg') center 40%/cover no-repeat;opacity:.38}
#horaires.schedule:after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,rgba(23,21,19,.88) 0%,rgba(23,21,19,.62) 48%,rgba(23,21,19,.74) 100%)}

/* Quatre affiches de spectacles sur une même ligne */
.show-grid{grid-template-columns:1.4fr repeat(3,1fr)}
@media(max-width:900px){.show-grid{grid-template-columns:1.5fr 1fr}.show-grid article:nth-child(n+3){display:none}}
@media(max-width:600px){.show-grid{grid-template-columns:1fr}.show-grid article:nth-child(n+2){display:none}}

.show-grid article:after{pointer-events:none}.show-link{position:absolute;z-index:4;inset:0}.spectacle-gallery-hero{background:var(--wine);color:#fff;padding:110px 0 90px}.spectacle-gallery-hero h1{font-size:clamp(60px,8vw,108px)}.spectacle-gallery-hero p:last-child{font-size:20px;max-width:620px}.spectacle-gallery-section{background:var(--ivory);padding:100px 0}.spectacle-gallery-heading{display:grid;grid-template-columns:1fr .7fr;gap:70px;align-items:end;margin-bottom:42px}.spectacle-gallery-heading h2{font-size:clamp(46px,6vw,76px)}.spectacle-gallery-heading>p{color:var(--muted);margin:0}.spectacle-slider{aspect-ratio:3/2;background:#0d0c0b}.spectacle-slider .slide img{object-fit:contain;background:#0d0c0b}
@media(max-width:700px){.spectacle-gallery-hero{padding:70px 0 60px}.spectacle-gallery-hero h1{font-size:52px}.spectacle-gallery-section{padding:70px 0}.spectacle-gallery-heading{grid-template-columns:1fr;gap:20px}.spectacle-slider{width:100%;aspect-ratio:4/3}}
.rojo-vivo-hero{background:#8f241d}
.flamenca-for-ever-hero{background:#205667}
.lunares-hero{background:#b58b54}
.story-photo img{object-position:center center}

/* Mise en valeur de la signature complète Cœur de Jasmin */
.brand{padding:10px 16px 10px 12px;border:1px solid rgba(240,161,110,.42);border-radius:4px;background:rgba(12,11,10,.64);box-shadow:0 8px 28px rgba(0,0,0,.2);backdrop-filter:blur(5px)}
.brand img{width:250px;height:auto;max-height:48px;object-fit:contain}
.brand span{display:none}
@media(max-width:600px){.brand{padding:8px 11px}.brand img{width:205px;max-height:40px}}

/* Logo libre : apparition douce et respiration lumineuse */
.brand{padding:0;border:0;border-radius:0;background:none;box-shadow:none;backdrop-filter:none;animation:brand-reveal .9s cubic-bezier(.2,.75,.25,1) both}
.brand img{width:270px;max-height:52px;filter:drop-shadow(0 3px 9px rgba(0,0,0,.72));animation:brand-glow 6s ease-in-out 1s infinite;transition:transform .35s ease,filter .35s ease}
.brand:hover img{transform:translateY(-2px) scale(1.02);filter:drop-shadow(0 5px 13px rgba(0,0,0,.78)) drop-shadow(0 0 8px rgba(240,161,110,.3))}
@keyframes brand-reveal{from{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}
@keyframes brand-glow{0%,100%{filter:drop-shadow(0 3px 9px rgba(0,0,0,.72))}50%{filter:drop-shadow(0 4px 11px rgba(0,0,0,.78)) drop-shadow(0 0 7px rgba(240,161,110,.22))}}
@media(max-width:600px){.brand{padding:0}.brand img{width:210px;max-height:41px}}
@media(prefers-reduced-motion:reduce){.brand,.brand img{animation:none}.brand:hover img{transform:none}}

/* En-tête fixe : le logo accompagne la navigation sur toutes les pages */
.site-header,.site-header.solid{position:fixed;top:0;left:0;right:0;background:linear-gradient(180deg,rgba(15,14,13,.9),rgba(15,14,13,.68));backdrop-filter:blur(8px);box-shadow:0 1px 0 rgba(255,255,255,.1)}
.inner-page{padding-top:88px}
section[id]{scroll-margin-top:88px}
@media(max-width:600px){.inner-page{padding-top:74px}section[id]{scroll-margin-top:74px}}
@media(max-width:900px){.senovilla-grid{grid-template-columns:1fr;gap:60px}.partner-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.partners-hero{padding:80px 0 65px}.partners-hero h1{font-size:53px}.senovilla-feature{padding:75px 0}.shoe-gallery{grid-template-columns:1fr 1fr}.shoe-gallery img{min-height:150px}.partner-grid{grid-template-columns:1fr}.partner-card>div{height:180px}.senovilla-copy .actions{align-items:stretch;flex-direction:column}}
.site-header{border-bottom:0}.site-header .brand img{width:310px;height:auto;max-height:64px;object-fit:contain}.site-header .brand span{display:none}@media(max-width:1280px){.site-header nav{display:none;position:absolute;top:88px;left:0;right:0;background:var(--ink);padding:24px;flex-direction:column;align-items:stretch;max-height:calc(100vh - 88px);overflow-y:auto}.site-header nav.open{display:flex}.menu-toggle{display:block}}@media(max-width:600px){.site-header .brand img{width:220px;max-height:48px}.site-header nav{top:74px;max-height:calc(100vh - 74px)}}
main h1,main h2,main h3{font-family:var(--serif);font-weight:400}main h1{font-size:clamp(52px,7vw,100px)!important;letter-spacing:-.035em}main h2{font-size:clamp(38px,4.8vw,64px)!important;letter-spacing:-.025em}main h3{font-weight:400}@media(max-width:600px){main h1{font-size:50px!important}main h2{font-size:39px!important}}
main h1::first-line{font-family:"Italianno",cursive;font-weight:400;letter-spacing:0}main h1 em{font-family:var(--serif);font-weight:400}@media(max-width:600px){main h1::first-line{font-size:1.08em}}

/* Tous les spectacles restent accessibles sur tablette et mobile. */
@media(max-width:900px){.show-grid article,.show-grid article:nth-child(n+2),.show-grid article:nth-child(n+3),.show-grid article:last-child{display:block}.show-grid .show-main{aspect-ratio:4/5}}
@media(max-width:600px){.show-grid article,.show-grid article:nth-child(n+2){display:block}.site-header .brand img{width:min(220px,calc(100vw - 105px))}main h1{font-size:clamp(43px,14vw,50px)!important}}

/* Actualité anniversaire : diaporama du spectacle du 5 septembre 2026 */
.news-slide-celebration{background:#512d46}
.news-grid-celebration{grid-template-columns:minmax(320px,460px) 1fr}
.news-photo-slider.slider{width:100%;margin:0;aspect-ratio:4/3;background:#24141f;box-shadow:0 18px 45px rgba(25,8,20,.32)}
.news-photo-slider .slide img{object-fit:contain;background:#24141f}
.news-photo-slider .slider-button{width:46px;height:46px}
.news-photo-slider .slider-button.prev{left:14px}
.news-photo-slider .slider-button.next{right:14px}
.news-celebration-copy{max-width:650px;margin:24px 0 0;padding-top:22px;border-top:1px solid rgba(255,255,255,.3);font-size:17px}
@media(max-width:900px){.news-grid-celebration{grid-template-columns:minmax(260px,360px) 1fr}.news-photo-slider.slider{aspect-ratio:4/3}}
@media(max-width:600px){.news-grid-celebration{grid-template-columns:1fr}.news-photo-slider.slider{width:100%;aspect-ratio:4/3}.news-photo-slider .slider-button{width:42px;height:42px}.news-celebration-copy{font-size:16px}}

/* Photo de groupe en filigrane dans la section Notre histoire */
.story{position:relative;isolation:isolate;overflow:hidden;background:#7f2331}
.story:before{content:"";position:absolute;z-index:-2;inset:0;background:url('assets/histoire-groupe-filigrane.jpg') center/contain no-repeat;opacity:.58}
.story:after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,rgba(95,23,37,.48),rgba(95,23,37,.83) 54%,rgba(95,23,37,.96))}
.story-grid{grid-template-columns:1fr;min-height:590px}
.story-copy{width:min(620px,100%);margin-left:auto;text-shadow:0 2px 12px rgba(22,5,10,.38)}
@media(max-width:900px){.story:before{background-position:center;background-size:contain;opacity:.48}.story:after{background:rgba(95,23,37,.82)}.story-grid{min-height:540px}.story-copy{margin-left:0}}
@media(max-width:600px){.story:before{background-position:center;background-size:contain;opacity:.4}.story:after{background:rgba(95,23,37,.87)}.story-grid{min-height:0}.story-copy{text-shadow:0 2px 10px rgba(22,5,10,.48)}}

/* Protection dissuasive des photographies */
main img,.hero-media,.story,#horaires,.life-hero,.subhero,.slider,.shoe-gallery{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
main img{-webkit-user-drag:none;user-drag:none}
@media print{main img{visibility:hidden!important}.hero-media,.story:before,#horaires:before,.life-hero,.subhero>img{display:none!important}}
.form-trap{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}

/* Actualités compactes et navigation immédiatement visible sur téléphone */
@media(max-width:600px){
  .news-slide{min-height:0;padding:78px 0 28px;align-items:flex-start}
  .news-controls{top:17px;bottom:auto;left:50%;right:auto;transform:translateX(-50%);gap:10px;width:max-content}
  .news-arrow{width:40px;height:40px;font-size:18px}
  .news-dots{gap:6px}
  .news-dots button{width:7px;height:7px}
  .news-dots button.active{width:22px}
  .news-grid,.news-grid-celebration{grid-template-columns:1fr;gap:14px}
  .news-poster img{width:auto;height:clamp(210px,34svh,280px);max-height:280px;object-fit:contain}
  .news-copy .eyebrow{font-size:10px;margin-bottom:8px}
  .news-copy h2{font-size:32px!important;line-height:1}
  .news-intro{font-size:13.5px;line-height:1.45;margin:10px 0}
  .news-dates{font-size:12.5px;line-height:1.4;margin:10px 0 0}
  .news-facts{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:10px 0;padding:10px 0}
  .news-facts-two{grid-template-columns:repeat(2,minmax(0,1fr))}
  .news-facts p{font-size:11px;line-height:1.35}
  .news-facts strong{font-size:12px}
  .news-prices{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0 0 12px}
  .news-prices p{font-size:11.5px;line-height:1.4}
  .news-place{font-size:12px;line-height:1.4;margin:0 0 12px}
  .news-button{padding:10px 15px;font-size:12px}
  .news-photo-slider.slider{width:min(280px,100%);margin:auto;aspect-ratio:4/3}
  .news-photo-slider .slider-button{width:38px;height:38px}
  .news-celebration-copy{font-size:13.5px;line-height:1.45;margin:12px 0 0;padding-top:12px}
}
@media(max-width:600px) and (max-height:720px){
  .news-slide{padding-top:70px;padding-bottom:22px}
  .news-controls{top:13px}
  .news-poster img{height:clamp(180px,30svh,220px);max-height:220px}
  .news-copy h2{font-size:29px!important}
  .news-intro{font-size:12.5px}
  .news-photo-slider.slider{width:min(235px,100%)}
}

/* Le spectacle des 25 ans devient une section indépendante du carrousel. */
.anniversary-showcase{background:#512d46;color:#fff;padding:58px 0 70px}
.anniversary-heading{display:grid;grid-template-columns:1fr auto;gap:40px;align-items:end;margin-bottom:28px}
.anniversary-heading .eyebrow{margin-bottom:8px}
.anniversary-heading h2{font-size:clamp(38px,5vw,64px)!important}
.anniversary-heading>p{max-width:360px;margin:0 0 7px;color:#eadde6;font-size:15px}
.anniversary-slider.slider{width:min(1500px,calc(100% - 32px));height:min(76vh,860px);min-height:560px;aspect-ratio:auto;margin:auto;background:#24141f;box-shadow:0 22px 55px rgba(25,8,20,.32)}
.anniversary-slider .slide img{object-fit:contain;background:#24141f}
@media(max-width:900px){.anniversary-showcase{padding:48px 0 55px}.anniversary-heading{grid-template-columns:1fr;gap:8px}.anniversary-slider.slider{width:calc(100% - 24px);height:min(72vh,720px);min-height:500px}}
@media(max-width:600px){.anniversary-showcase{padding:38px 0 44px}.anniversary-heading{margin-bottom:18px}.anniversary-heading h2{font-size:36px!important}.anniversary-heading>p{font-size:13px}.anniversary-slider.slider{width:100%;height:72svh;min-height:480px;max-height:680px;aspect-ratio:auto}.anniversary-slider .slider-button{width:44px;height:44px}.anniversary-slider .slider-button.prev{left:12px}.anniversary-slider .slider-button.next{right:12px}}
@media(min-width:901px){
  .anniversary-showcase{background:#512d46!important}
  .anniversary-heading{
    position:relative;
    isolation:isolate;
    background:#512d46!important;
    color:#fff!important;
    padding-top:8px;
  }
  .anniversary-heading::before{
    content:"";
    position:absolute;
    inset:0 50%;
    z-index:-1;
    width:100vw;
    margin-left:-50vw;
    margin-right:-50vw;
    background:#512d46;
  }
  .anniversary-heading h2,
  .anniversary-heading .eyebrow{color:#fff!important}
  .anniversary-heading>p{color:#eadde6!important}
  .anniversary-slider.slider{
    width:min(900px,62vw);
    height:min(46vh,500px);
    min-height:330px;
  }
}
