:root{
  --red:#70151f;
  --red-2:#a51f2d;
  --red-3:#c63b45;
  --velvet:#3c0710;
  --dark:#0f1113;
  --charcoal:#17191b;
  --ink:#241f1f;
  --cream:#efe1bf;
  --paper:#f4ead4;
  --gold:#c99a43;
  --gold-light:#f2d58b;
  --rose:#c7aaa0;
  --white:#fff;
  --max:1180px;
  --radius:28px;
  --radius-sm:16px;
  --shadow:0 24px 80px rgba(0,0,0,.35);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper);line-height:1.6}
body:before{content:"";position:fixed;inset:0;z-index:-3;background:radial-gradient(circle at 15% 10%,rgba(242,213,139,.28),transparent 34%),radial-gradient(circle at 85% 20%,rgba(112,21,31,.18),transparent 36%),linear-gradient(135deg,#fcf4df,#ead6ad 44%,#f5ead3);}
body:after{content:"";position:fixed;inset:0;z-index:-2;pointer-events:none;opacity:.08;background-image:linear-gradient(90deg,rgba(0,0,0,.65) 1px,transparent 1px),linear-gradient(rgba(0,0,0,.45) 1px,transparent 1px);background-size:80px 80px}
img{max-width:100%;display:block}
a{color:inherit}.skip-link{position:absolute;left:-999px;top:.5rem;background:#fff;color:#000;padding:.75rem 1rem;z-index:999}.skip-link:focus{left:.5rem}.container{width:min(100% - 2rem,var(--max));margin-inline:auto}.section{padding:clamp(4.5rem,8vw,7.5rem) 0;position:relative}.section-label,.eyebrow{font-family:"Barlow Condensed",sans-serif;font-weight:900;text-transform:uppercase;letter-spacing:.16em;color:var(--red-2);margin:0 0 .75rem}.hero .eyebrow{color:var(--gold-light)}.section h2{font-family:Cinzel,Playfair Display,serif;font-weight:800;font-size:clamp(2.2rem,5vw,4.5rem);line-height:1.02;margin:0}.section h3{font-family:Playfair Display,serif;font-size:clamp(1.45rem,2.5vw,2.2rem);line-height:1.08;margin:0 0 .8rem}.subheading{margin:3rem 0 1.25rem!important;font-family:Cinzel,serif!important;color:var(--gold-light);text-transform:uppercase;letter-spacing:.08em;font-size:1.45rem!important}.lead{font-size:clamp(1.12rem,1.8vw,1.35rem);max-width:62ch}.center{text-align:center}.section-intro{max-width:68ch;margin:1rem auto 0}.site-header{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem clamp(1rem,3vw,2rem);background:rgba(15,17,19,.9);color:#fff;backdrop-filter:blur(16px);border-bottom:1px solid rgba(242,213,139,.22);box-shadow:0 12px 30px rgba(0,0,0,.2)}.brand{text-decoration:none;display:grid;line-height:1}.brand-kicker{font-family:"Barlow Condensed";font-weight:900;color:var(--gold-light);font-size:.9rem;letter-spacing:.08em;text-transform:uppercase}.brand-main{font-family:Playfair Display,serif;font-style:italic;font-weight:700;font-size:1.65rem}.brand-place{font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.75)}.nav{display:flex;align-items:center;gap:1rem;font-weight:800}.nav a{text-decoration:none;opacity:.88}.nav a:hover{opacity:1;color:var(--gold-light)}.nav-cta{background:linear-gradient(135deg,var(--red-2),var(--red-3));padding:.72rem 1rem;border-radius:999px;box-shadow:0 10px 30px rgba(198,59,69,.35);border:1px solid rgba(242,213,139,.2)}.nav-toggle{display:none;background:transparent;color:#fff;border:1px solid rgba(255,255,255,.35);border-radius:999px;padding:.6rem 1rem;font-weight:900}
.button{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;font-weight:900;border-radius:999px;padding:1rem 1.35rem;transition:.2s transform,.2s box-shadow,.2s background;letter-spacing:.01em}.button:hover{transform:translateY(-2px)}.primary{background:linear-gradient(135deg,var(--red-2),#d84250);color:#fff;box-shadow:0 16px 38px rgba(112,21,31,.35);border:1px solid rgba(255,255,255,.1)}.secondary{background:transparent;color:var(--dark);border:2px solid currentColor}.light{color:#fff}.hero{min-height:94svh;color:#fff;background:radial-gradient(circle at 74% 12%,rgba(242,213,139,.22),transparent 24%),linear-gradient(115deg,#08090a 0%,#1a0c0e 45%,#070809 100%);display:grid;align-items:center;overflow:hidden}.hero:before{content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(90deg,rgba(0,0,0,.88),rgba(0,0,0,.5) 48%,rgba(0,0,0,.78)),url('assets/generated/suivez-le-guide-theatre.png');background-size:cover;background-position:center;opacity:.48;filter:saturate(.9) contrast(1.05)}.hero:after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(0,0,0,.2),rgba(0,0,0,.86)),radial-gradient(ellipse at 52% 0%,transparent 0 28%,rgba(0,0,0,.55) 78%)}.curtain-top{position:absolute;inset:0 0 auto 0;height:190px;z-index:2;background:radial-gradient(ellipse at 50% -20%,rgba(242,213,139,.5),transparent 45%),linear-gradient(135deg,#270307,#6e101a 45%,#2b0408);clip-path:polygon(0 0,100% 0,100% 44%,86% 50%,76% 40%,65% 54%,50% 38%,36% 54%,24% 40%,13% 50%,0 44%);box-shadow:0 14px 34px rgba(0,0,0,.45)}.hero-grid{position:relative;z-index:3;display:grid;grid-template-columns:1fr .95fr;gap:clamp(2rem,5vw,4.5rem);align-items:center}.hero h1{font-family:Cinzel,Playfair Display,serif;font-size:clamp(3.3rem,8vw,7.8rem);line-height:.9;text-transform:uppercase;letter-spacing:.01em;margin:.2rem 0 1rem;text-shadow:0 6px 0 rgba(0,0,0,.35),0 0 30px rgba(201,154,67,.2)}.hero h1 span{display:block;color:var(--gold-light);text-shadow:0 3px 0 rgba(112,21,31,.7),0 0 38px rgba(242,213,139,.34)}.hero-actions{display:flex;gap:1rem;flex-wrap:wrap;margin:2rem 0}.hero .secondary{color:#fff}.quick-facts{list-style:none;padding:0;margin:2rem 0 0;display:grid;gap:.7rem}.quick-facts li{display:flex;gap:1rem;align-items:baseline;background:rgba(255,255,255,.1);border:1px solid rgba(242,213,139,.2);border-radius:999px;padding:.65rem 1rem;box-shadow:inset 0 0 0 1px rgba(255,255,255,.03)}.quick-facts strong{font-family:"Barlow Condensed";font-size:1.25rem;text-transform:uppercase;color:var(--gold-light);min-width:150px}.hero-posters{display:grid;grid-template-columns:1fr 1fr;gap:1rem;align-items:center}.hero-posters img{border-radius:24px;box-shadow:var(--shadow);border:7px solid rgba(242,213,139,.16);height:min(74svh,680px);width:100%;object-fit:cover}.poster-one{transform:rotate(-2deg) translateY(1rem)}.poster-two{transform:rotate(2deg) translateY(-1rem)}.split{display:grid;grid-template-columns:.78fr 1fr;gap:3rem;align-items:start}.intro{background:#fffdf8}.intro-text{font-size:1.08rem}.show-grid{display:grid;gap:2.5rem;margin-top:3rem}.show-card{display:grid;grid-template-columns:.88fr 1.12fr;gap:0;background:#fff;border-radius:var(--radius);overflow:hidden;box-shadow:0 18px 65px rgba(25,28,27,.18);border:1px solid rgba(201,154,67,.24)}.show-card:nth-child(even){grid-template-columns:1.12fr .88fr}.show-card:nth-child(even) .show-media{order:2}.show-media{background:#000}.show-media img{height:100%;min-height:660px;width:100%;object-fit:cover;filter:saturate(1.05) contrast(1.02)}.show-content{padding:clamp(1.5rem,4vw,3rem);align-self:center}.date-pill{display:inline-flex;background:var(--dark);color:#fff;border-radius:999px;padding:.48rem .9rem;font-weight:900;text-transform:uppercase;font-size:.84rem;letter-spacing:.04em;margin:0 0 1rem;border:1px solid rgba(242,213,139,.22)}.guide .date-pill,.around-card:nth-child(2) .date-pill{background:var(--red)}.credits{background:linear-gradient(135deg,#fbf1d7,#ead3a3);border-left:5px solid var(--gold);border-radius:0 var(--radius-sm) var(--radius-sm) 0;padding:1rem;margin:1.4rem 0}.cast,.artist-card details{border-top:1px solid rgba(0,0,0,.1);border-bottom:1px solid rgba(0,0,0,.1);padding:.75rem 0;margin:1rem 0 1.5rem}.cast summary,.notes-grid summary,.artist-card summary{cursor:pointer;font-weight:900}.pass-band{background:linear-gradient(135deg,var(--gold),#ebd488);padding:3rem 0;box-shadow:inset 0 18px 45px rgba(255,255,255,.25)}.pass-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:center}.pass-prices{display:grid;gap:.8rem}.pass-prices div{display:flex;justify-content:space-between;align-items:center;background:rgba(255,255,255,.55);border:1px solid rgba(255,255,255,.55);border-radius:18px;padding:1rem 1.2rem;font-weight:900}.pass-prices strong{font-size:2rem;font-family:Cinzel,serif}.artists{background:linear-gradient(135deg,var(--charcoal),#090a0c 66%,#25050a);color:#fff;overflow:hidden}.artists:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 10%,rgba(201,154,67,.18),transparent 30%),radial-gradient(circle at 80% 0,rgba(198,59,69,.18),transparent 34%);pointer-events:none}.artists .container{position:relative}.artists .section-label,.artists .role{color:var(--gold-light)}.artist-panel{margin-top:2.5rem}.artist-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}.technical-grid{grid-template-columns:repeat(2,1fr);max-width:820px}.artist-card{background:rgba(255,255,255,.075);border:1px solid rgba(242,213,139,.2);border-radius:var(--radius);overflow:hidden;box-shadow:0 18px 60px rgba(0,0,0,.25);display:grid}.artist-card.wide{grid-template-columns:340px 1fr;max-width:920px;margin-inline:auto}.artist-card img{width:100%;height:330px;object-fit:cover;object-position:center top}.artist-card.wide img{height:100%;min-height:360px}.artist-card>div{padding:1.35rem}.artist-card h3{margin:.2rem 0 .55rem;color:#fff}.artist-card p{color:rgba(255,255,255,.84)}.artist-card details p{color:rgba(255,255,255,.78)}.role{font-weight:900;margin:0;text-transform:uppercase;font-size:.82rem;letter-spacing:.08em}.ticketing{background:#fffdf8}.ticket-actions{display:flex;justify-content:center;gap:1rem;flex-wrap:wrap;margin:1.8rem 0 3rem}.pricing-layout{display:grid;grid-template-columns:1.25fr .75fr;gap:2rem}.pricing-card,.info-card,.notes-grid details,.around-card{background:var(--paper);border-radius:var(--radius);padding:clamp(1rem,3vw,2rem);box-shadow:0 14px 45px rgba(25,28,27,.1);border:1px solid rgba(201,154,67,.18)}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;min-width:560px}th{background:var(--dark);color:#fff;text-align:left;text-transform:uppercase;letter-spacing:.06em}th,td{padding:.75rem;border-bottom:1px solid rgba(0,0,0,.08)}td:last-child{text-align:right;font-weight:900}.gold td{background:rgba(201,154,67,.3)}.rose td{background:rgba(199,170,160,.34)}.info-card a{word-break:break-word}.notes-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1rem}.autour{background:linear-gradient(180deg,#fffdf8,var(--paper))}.around-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;margin-top:2rem}.around-card{overflow:hidden;padding:0;background:#fff}.around-card img{height:520px;width:100%;object-fit:cover}.around-card>div{padding:1.35rem}.dedication{font-family:Playfair Display,serif;font-style:italic;color:var(--red);font-weight:700}.support{background:linear-gradient(135deg,var(--red),#35050b);color:#fff;position:relative;overflow:hidden}.support:before{content:"";position:absolute;inset:0;background:url('assets/generated/une-nuit-offenbach-theatre.png') center/cover;opacity:.12;filter:grayscale(.2)}.support-grid{position:relative;display:grid;grid-template-columns:1fr .75fr;gap:2rem;align-items:center}.support .section-label{color:var(--gold-light)}.support-list{list-style:none;padding:0;margin:0;display:grid;gap:1rem}.support-list li{font-family:Playfair Display,serif;font-size:1.45rem;background:rgba(255,255,255,.12);padding:1rem 1.2rem;border-radius:18px;border:1px solid rgba(242,213,139,.18)}.support-list li:before{content:"> ";font-family:Cinzel;color:var(--gold-light);font-weight:900}.site-footer{background:#090a0c;color:#fff;padding:4rem 0 6rem}.footer-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr 1fr;gap:2rem}.site-footer h2,.site-footer h3{font-family:Cinzel,serif;font-size:1.25rem;margin:0 0 .75rem;color:var(--gold-light)}.site-footer a{color:var(--gold-light)}.sticky-cta{position:fixed;left:50%;bottom:1rem;transform:translateX(-50%);z-index:45;display:none;align-items:center;gap:1rem;background:rgba(15,17,19,.95);color:#fff;border:1px solid rgba(242,213,139,.22);padding:.55rem .65rem .55rem 1rem;border-radius:999px;box-shadow:0 12px 35px rgba(0,0,0,.25);backdrop-filter:blur(14px)}.sticky-cta a{background:var(--red-2);border-radius:999px;padding:.75rem 1rem;text-decoration:none;font-weight:900}.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}.reveal.is-visible{opacity:1;transform:translateY(0)}
@media(max-width:1080px){.artist-grid{grid-template-columns:repeat(2,1fr)}.hero-grid{grid-template-columns:1fr}.hero-posters{max-width:720px}.hero-posters img{height:520px}.hero{padding-top:5rem}}
@media(max-width:920px){.nav-toggle{display:block}.nav{position:absolute;right:1rem;top:calc(100% + .5rem);background:var(--dark);border:1px solid rgba(255,255,255,.15);border-radius:20px;padding:1rem;display:none;flex-direction:column;align-items:stretch;min-width:230px}.nav.is-open{display:flex}.split,.show-card,.show-card:nth-child(even),.pass-grid,.pricing-layout,.around-grid,.support-grid,.footer-grid,.artist-card.wide{grid-template-columns:1fr}.show-card:nth-child(even) .show-media{order:0}.show-media img{min-height:420px}.notes-grid{grid-template-columns:1fr}.quick-facts li{border-radius:18px;align-items:flex-start;flex-direction:column;gap:.2rem}.quick-facts strong{min-width:auto}.sticky-cta{display:flex}.hero h1{text-shadow:3px 5px 0 rgba(0,0,0,.55)}.artist-card.wide img{min-height:0;height:360px}}
@media(max-width:650px){.container{width:min(100% - 1.1rem,var(--max))}.hero-actions,.ticket-actions{flex-direction:column}.button{width:100%}.section{padding:3.2rem 0}.site-header{padding:.65rem .8rem}.brand-main{font-size:1.32rem}.hero h1{font-size:3.4rem}.hero-posters{grid-template-columns:1fr 1fr;gap:.5rem}.hero-posters img{height:360px;border-width:4px;border-radius:16px}.quick-facts{font-size:.92rem}.show-content{padding:1.1rem}.artist-grid,.technical-grid{grid-template-columns:1fr}.artist-card img{height:380px}.around-card img{height:430px}.site-footer{padding-bottom:7rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{transition:none;opacity:1;transform:none}}


/* Correctifs de structure : billets visibles, introduction visuelle, pages artistes */
.ticket-posters{align-items:stretch}.hero-ticket-link{position:relative;display:grid;text-decoration:none;color:#fff;background:#101010;border-radius:28px;overflow:hidden;box-shadow:var(--shadow);border:2px solid rgba(242,213,139,.55);isolation:isolate;min-height:min(74svh,680px)}.hero-ticket-link:before,.spectacle-ticket:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 45%,rgba(0,0,0,.86));z-index:1;pointer-events:none}.hero-ticket-link img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;z-index:0;transition:transform .35s ease,filter .35s ease}.hero-ticket-link:hover img{transform:scale(1.04);filter:saturate(1.18) contrast(1.08)}.hero-ticket-link strong{position:absolute;z-index:2;left:1rem;right:1rem;bottom:1.1rem;font-family:Cinzel,serif;text-transform:uppercase;font-size:clamp(1.15rem,2vw,1.8rem);line-height:1.05;text-shadow:0 3px 16px rgba(0,0,0,.85)}.ticket-stub{position:absolute;z-index:2;top:1rem;left:1rem;background:rgba(15,17,19,.78);color:var(--gold-light);border:1px solid rgba(242,213,139,.55);border-radius:999px;padding:.48rem .75rem;font-family:"Barlow Condensed";font-size:1.05rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.ticket-launch{position:relative;z-index:4;margin-top:-4rem;padding:0 0 2rem}.ticket-launch-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}.spectacle-ticket{position:relative;display:grid;grid-template-columns:120px 1fr;gap:1.2rem;align-items:center;min-height:190px;padding:1.4rem 1.6rem 1.4rem 0;text-decoration:none;color:#fff;border-radius:28px;overflow:hidden;box-shadow:0 24px 70px rgba(0,0,0,.28);border:1px solid rgba(242,213,139,.45);background:#111}.spectacle-ticket:after{content:"";position:absolute;inset:0;background-size:cover;background-position:center;opacity:.55;z-index:0;transition:transform .35s ease,opacity .35s ease}.spectacle-ticket:hover:after{transform:scale(1.04);opacity:.72}.offenbach-ticket:after{background-image:url('assets/generated/une-nuit-offenbach-theatre.png')}.guide-ticket:after{background-image:url('assets/generated/suivez-le-guide-theatre.png')}.ticket-side{position:relative;z-index:2;align-self:stretch;display:grid;place-items:center;writing-mode:vertical-rl;transform:rotate(180deg);font-family:"Barlow Condensed";font-weight:900;text-transform:uppercase;letter-spacing:.18em;color:var(--gold-light);border-left:2px dashed rgba(242,213,139,.55);background:rgba(0,0,0,.42)}.ticket-date,.spectacle-ticket strong,.spectacle-ticket em{position:relative;z-index:2;grid-column:2}.ticket-date{font-family:"Barlow Condensed";font-weight:900;text-transform:uppercase;letter-spacing:.12em;color:var(--gold-light);font-size:1.1rem}.spectacle-ticket strong{font-family:Cinzel,serif;text-transform:uppercase;font-size:clamp(1.65rem,3.3vw,2.7rem);line-height:1}.spectacle-ticket em{font-family:Playfair Display,serif;font-size:1.2rem;color:#fff}.intro-visual-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:3rem;align-items:center}.intro-copy p:not(.section-label){font-size:1.08rem}.operetta-stage{min-height:560px;border-radius:var(--radius);position:relative;overflow:hidden;background:radial-gradient(circle at 50% 25%,rgba(242,213,139,.28),transparent 30%),linear-gradient(135deg,#150608,#050506);box-shadow:var(--shadow);border:1px solid rgba(201,154,67,.34)}.stage-curtain{position:absolute;inset:0;z-index:3;pointer-events:none;background:linear-gradient(90deg,rgba(68,4,12,.92) 0 8%,transparent 20% 80%,rgba(68,4,12,.92) 92% 100%),radial-gradient(ellipse at 50% -10%,rgba(201,154,67,.44),transparent 35%);box-shadow:inset 0 0 0 2px rgba(242,213,139,.18),inset 0 26px 60px rgba(112,21,31,.8)}.stage-img{position:absolute;object-fit:cover;border:5px solid rgba(242,213,139,.36);box-shadow:0 20px 50px rgba(0,0,0,.5)}.stage-img-left{left:7%;top:15%;width:43%;height:68%;transform:rotate(-5deg);object-position:center}.stage-img-right{right:7%;top:9%;width:48%;height:74%;transform:rotate(4deg);object-position:center}.stage-caption{position:absolute;z-index:4;left:2rem;right:2rem;bottom:1.6rem;text-align:center;background:rgba(7,8,9,.72);border:1px solid rgba(242,213,139,.34);border-radius:20px;padding:1rem;color:#fff;backdrop-filter:blur(8px)}.stage-caption span{display:block;font-family:"Barlow Condensed";text-transform:uppercase;letter-spacing:.14em;color:var(--gold-light);font-weight:900}.stage-caption strong{font-family:Cinzel,serif;text-transform:uppercase;font-size:1.45rem}.artist-more{display:inline-flex;margin-top:.75rem;color:var(--gold-light);font-weight:900;text-decoration:none;border-bottom:2px solid rgba(242,213,139,.55);padding-bottom:.15rem}.artist-more:hover{color:#fff;border-color:#fff}.costume-visual,.artist-page-placeholder{height:330px;display:grid;place-items:center;text-align:center;font-family:Cinzel,serif;text-transform:uppercase;letter-spacing:.08em;font-size:1.7rem;color:var(--gold-light);background:radial-gradient(circle at 30% 20%,rgba(242,213,139,.18),transparent 36%),linear-gradient(135deg,#5f1019,#0d0e10);}.artist-page{background:#0b0b0c;color:#fff}.artist-hero{min-height:72svh;display:grid;align-items:center;color:#fff;background:radial-gradient(circle at 75% 10%,rgba(201,154,67,.22),transparent 32%),linear-gradient(135deg,#08090a,#3a0710 62%,#090909);overflow:hidden}.artist-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.7),rgba(0,0,0,.2)),url('assets/generated/suivez-le-guide-theatre.png') center/cover;opacity:.18;filter:blur(2px) saturate(.7)}.artist-hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:380px 1fr;gap:3rem;align-items:center}.artist-portrait-frame{border:8px solid rgba(242,213,139,.24);border-radius:34px;overflow:hidden;box-shadow:var(--shadow);background:#111}.artist-portrait-frame img{height:520px;width:100%;object-fit:cover;object-position:center top}.artist-page-placeholder{height:520px}.artist-hero h1{font-family:Cinzel,serif;text-transform:uppercase;font-size:clamp(2.7rem,6vw,6rem);line-height:.95;margin:.3rem 0;color:#fff;text-shadow:0 6px 25px rgba(0,0,0,.45)}.artist-page-role{font-family:Playfair Display,serif;font-size:clamp(1.25rem,2vw,1.75rem);color:var(--gold-light);margin:0 0 1.4rem}.artist-page-actions{display:flex;gap:1rem;flex-wrap:wrap}.artist-bio-section{background:linear-gradient(180deg,#fffdf8,var(--paper));color:var(--ink)}.bio-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:2rem;align-items:start}.bio-card{background:#fff;border-radius:var(--radius);box-shadow:0 18px 65px rgba(25,28,27,.13);border:1px solid rgba(201,154,67,.22);padding:clamp(1.3rem,4vw,3rem);font-size:1.05rem}.bio-card p{margin:0 0 1rem}.bio-aside{position:sticky;top:92px;background:linear-gradient(135deg,var(--velvet),var(--dark));color:#fff;border:1px solid rgba(242,213,139,.25);border-radius:var(--radius);padding:1.5rem;box-shadow:0 18px 60px rgba(0,0,0,.18)}.bio-aside h2{font-family:Cinzel,serif;font-size:1.35rem;color:var(--gold-light);margin-top:0}.artist-footer{padding-bottom:4rem}
@media(max-width:1080px){.intro-visual-grid,.artist-hero-grid,.bio-layout{grid-template-columns:1fr}.ticket-launch-grid{grid-template-columns:1fr}.ticket-launch{margin-top:-2rem}.operetta-stage{min-height:500px}.artist-portrait-frame{max-width:460px}.bio-aside{position:static}.hero-ticket-link{min-height:520px}}
@media(max-width:650px){.spectacle-ticket{grid-template-columns:70px 1fr;min-height:160px;padding:1rem 1rem 1rem 0}.ticket-side{font-size:.85rem}.spectacle-ticket strong{font-size:1.55rem}.operetta-stage{min-height:430px}.stage-img-left{left:5%;width:50%;height:60%}.stage-img-right{right:5%;width:54%;height:64%;top:18%}.stage-caption{left:.8rem;right:.8rem;bottom:.8rem}.artist-hero h1{font-size:2.6rem}.artist-portrait-frame img,.artist-page-placeholder{height:430px}.artist-page-actions{flex-direction:column}.hero-ticket-link{min-height:360px}}

/* Logo officiel dans les en-tetes - dimensions natives 152 x 70 px */
.brand-logo{display:flex;align-items:center;line-height:normal;width:152px;min-width:152px;flex:0 0 152px}
.brand-logo img{display:block;width:152px;height:70px;max-width:none;object-fit:contain;object-position:left center}


/* Artist external media cards */
.artist-links-panel{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid rgba(181,155,76,.38)}
.artist-links-panel h2{margin:0 0 .65rem;font-family:"Cinzel",serif;font-size:1.15rem;color:#f4dd9b}
.artist-links-intro{margin:0 0 1rem;color:rgba(255,255,255,.78);font-size:.93rem;line-height:1.55}
.artist-links-grid{display:flex;flex-wrap:wrap;gap:.55rem}
.artist-link-card{display:inline-grid;grid-template-columns:36px minmax(105px,auto) 14px;align-items:center;gap:.55rem;min-height:48px;padding:.42rem .58rem;border:1px solid rgba(255,255,255,.18);border-radius:10px;color:#fff;text-decoration:none;overflow:hidden;position:relative;transition:transform .2s ease,filter .2s ease,box-shadow .2s ease;box-shadow:0 5px 14px rgba(0,0,0,.22)}
.artist-link-card:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.17),transparent 55%);pointer-events:none}
.artist-link-card:hover,.artist-link-card:focus-visible{transform:translateY(-2px) scale(1.02);filter:saturate(1.12) brightness(1.08);box-shadow:0 9px 20px rgba(0,0,0,.32);outline:none}
.artist-link-visual{width:36px;height:36px;display:grid;place-items:center;border-radius:8px;background:rgba(255,255,255,.94);box-shadow:0 3px 9px rgba(0,0,0,.22)}
.artist-link-visual svg{width:21px;height:21px;fill:currentColor}
.artist-link-text{display:flex;min-width:0;flex-direction:column;line-height:1.12}
.artist-link-text small{font-size:.61rem;letter-spacing:.09em;text-transform:uppercase;color:rgba(255,255,255,.76);margin-bottom:.15rem}
.artist-link-text strong{font-size:.79rem;color:#fff;white-space:normal}
.artist-link-arrow{font-size:.9rem;color:#fff;opacity:.85}
.platform-facebook{background:linear-gradient(135deg,#1877f2,#0d4fa8)}
.platform-facebook .artist-link-visual{color:#1877f2}
.platform-instagram{background:linear-gradient(135deg,#f58529,#dd2a7b 48%,#8134af 72%,#515bd4)}
.platform-instagram .artist-link-visual{color:#c52f82}
.platform-youtube{background:linear-gradient(135deg,#ff0033,#a90020)}
.platform-youtube .artist-link-visual{color:#ff0033}
.platform-spotify{background:linear-gradient(135deg,#1db954,#087b35)}
.platform-spotify .artist-link-visual{color:#1db954}
.platform-site{background:linear-gradient(135deg,#a62939,#5f0f1b)}
.platform-site .artist-link-visual{color:#8b1e2d}
@media (max-width:760px){.artist-links-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.artist-link-card{grid-template-columns:34px minmax(0,1fr) 12px;min-height:46px}.artist-link-visual{width:34px;height:34px}.artist-link-text strong{font-size:.74rem}}
@media (max-width:480px){.artist-links-grid{grid-template-columns:1fr}}
