@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Playfair+Display:ital,wght@0,600;0,700;1,600&display=swap');
:root{--night:#080d1d;--paper:#f7f2e8;--gold:#f0a33b;--red:#c9483a;--ink:#171717;--muted:#787269;--line:rgba(247,242,232,.16)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 'DM Sans',sans-serif}a{color:inherit;text-decoration:none}button{font:inherit}.site-head{position:absolute;z-index:10;top:0;left:0;width:100%;display:flex;align-items:center;justify-content:space-between;padding:18px 5vw;color:#fff;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:13px;font-weight:600}.brand img{width:60px;height:60px;object-fit:contain}.brand small{display:block;color:#cbd0dd;font-size:.65rem;letter-spacing:.22em;text-transform:uppercase}.site-head nav{display:flex;align-items:center;gap:25px;font-size:.88rem}.site-head nav>a{opacity:.86}.site-head nav>a:hover{color:var(--gold);opacity:1}.lang{display:flex;border:1px solid #ffffff66;border-radius:99px;padding:3px}.lang button{border:0;background:transparent;color:#fff;padding:5px 8px;border-radius:99px;cursor:pointer;font-size:.75rem}.lang button.active{background:#fff;color:var(--night)}
.hero{min-height:100svh;color:#fff;display:grid;grid-template-columns:1.1fr .9fr;align-items:end;padding:155px 5vw 72px;position:relative;overflow:hidden;background:var(--night) url('photo-hero.jpg') center 34%/cover no-repeat}.hero:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#050815f2 0%,#050815c7 38%,#05081547 72%,#05081588 100%)}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#080d1dcc,transparent 45%)}.hero-copy,.hero-card{position:relative;z-index:2}.hero-copy{max-width:820px}.eyebrow{text-transform:uppercase;letter-spacing:.22em;color:var(--gold);font-size:.77rem;font-weight:600}.hero h1{font:700 clamp(4rem,9vw,8.8rem)/.78 'Playfair Display',serif;letter-spacing:-.06em;margin:22px 0 34px}.hero h1 span{display:block;font-style:italic;color:var(--gold);font-size:.74em;margin-left:.4em}.hero p{max-width:610px;color:#e2e4ea;font-size:clamp(1rem,1.4vw,1.25rem);text-shadow:0 2px 18px #000}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:34px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 22px;border:1px solid #ffffff73;font-weight:600;font-size:.9rem;transition:.25s}.btn.primary{background:var(--gold);color:var(--night);border-color:var(--gold)}.btn:hover{transform:translateY(-2px)}.hero-card{justify-self:end;width:min(100%,430px);border:1px solid var(--line);background:#080d1db8;backdrop-filter:blur(12px);padding:28px}.hero-card .num{font:3rem/1 'Playfair Display',serif;color:var(--gold)}.hero-card h2{font:1.8rem 'Playfair Display',serif;margin:8px 0}.hero-card p{font-size:.93rem;color:#d5d9e4}.mini-link,.text-link{display:inline-block;margin-top:20px;border-bottom:1px solid currentColor;color:var(--gold);font-size:.88rem;font-weight:600}.ticker{background:var(--gold);overflow:hidden;white-space:nowrap;padding:12px 0;text-transform:uppercase;font-weight:600;letter-spacing:.16em;font-size:.75rem}.ticker div{display:inline-block;animation:run 28s linear infinite}.ticker span{margin:0 28px}@keyframes run{to{transform:translateX(-50%)}}
section{padding:100px 5vw}.section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:48px}.section-head h2,.page-title{font:700 clamp(2.6rem,5vw,5rem)/.95 'Playfair Display',serif;letter-spacing:-.04em;margin:0}.section-head p{max-width:430px;color:var(--muted);margin:0}.show-grid{display:grid;grid-template-columns:1.35fr .825fr .825fr;gap:18px}.show{min-height:470px;padding:28px;color:#fff;display:flex;flex-direction:column;justify-content:flex-end;position:relative;overflow:hidden;background:linear-gradient(145deg,#111a31,#16121b)}.show:nth-child(2){background:linear-gradient(145deg,#9d3129,#35141b)}.show:nth-child(3){background:linear-gradient(145deg,#2f5661,#11192b)}.show:before{content:'';position:absolute;width:280px;height:280px;border:1px solid #ffffff2e;border-radius:50%;top:45px;right:-80px}.show>*{position:relative}.tag{font-size:.7rem;text-transform:uppercase;letter-spacing:.16em;color:var(--gold)}.show h3{font:600 clamp(2rem,3.5vw,4rem)/1 'Playfair Display',serif;margin:10px 0}.show p{color:#d7d8dc;font-size:.92rem}.show-actions{display:flex;justify-content:space-between;gap:20px;margin-top:28px}.show-actions .text-link{color:var(--ink);margin:0}.creations-callout{background:var(--red);color:#fff;display:grid;grid-template-columns:1fr auto;align-items:center;gap:40px;padding-top:65px;padding-bottom:65px}.creations-callout h2{font:600 clamp(2.6rem,5vw,5rem)/.95 'Playfair Display',serif;margin:0}.creations-callout p{max-width:620px;color:#f5dddd}.manifesto{background:var(--night);color:#fff;display:grid;grid-template-columns:.8fr 1.2fr;gap:10vw}.manifesto blockquote{font:600 clamp(2.5rem,5vw,5.6rem)/1.02 'Playfair Display',serif;margin:0}.manifesto blockquote em{color:var(--gold)}.manifesto-copy p{color:#c6cad4;font-size:1.05rem}.signature{font:italic 1.5rem 'Playfair Display',serif;margin-top:32px}.manifesto .btn{margin-top:28px}.transmission{display:grid;grid-template-columns:1fr 1fr;gap:18px;background:#ece5d8}.panel{padding:48px;min-height:390px;background:var(--paper);display:flex;flex-direction:column;justify-content:space-between}.panel.dark{background:var(--red);color:#fff}.panel h3{font:600 2.6rem/1 'Playfair Display',serif;margin:24px 0 12px}.panel a{font-weight:600;border-bottom:1px solid;align-self:flex-start}.contact{background:var(--gold);display:grid;grid-template-columns:1.05fr .95fr;gap:50px;align-items:end}.contact h2{font:600 clamp(3rem,7vw,7.5rem)/.86 'Playfair Display',serif;letter-spacing:-.05em;margin:0}.contact-info{border-left:1px solid #080d1d59;padding-left:35px}.contact-block+.contact-block{margin-top:22px}.contact-label{display:block;font-weight:600}.contact-info a{display:block;font-size:1.08rem;margin:5px 0;text-decoration:underline;text-underline-offset:4px}.contact-info small{display:block;margin-top:24px;text-transform:uppercase;letter-spacing:.13em}footer{background:var(--night);color:#bbc0cd;padding:34px 5vw;display:flex;justify-content:space-between;gap:25px;font-size:.82rem}
.subpage .site-head{position:relative;background:var(--night)}.page-hero{background:var(--night);color:#fff;padding-top:105px}.page-hero p{max-width:700px;color:#c6cad4;font-size:1.1rem}.back{display:inline-block;color:var(--gold);margin-bottom:32px;font-weight:600}.catalogue{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.catalogue-card{background:#fff;padding:38px;min-height:280px;border-top:6px solid var(--gold)}.catalogue-card h2,.team-card h2{font:600 2.2rem/1.05 'Playfair Display',serif;margin:14px 0}.catalogue-card p,.team-card p{color:var(--muted)}.creation-zone{background:var(--red);color:#fff}.creation-zone .catalogue-card{background:#080d1d40;border-color:#fff}.creation-zone .catalogue-card p{color:#f4dfdd}.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.team-card{background:#fff;padding:34px;min-height:300px;display:flex;flex-direction:column;justify-content:flex-end;border-bottom:5px solid var(--gold)}.portrait-slot{height:165px;margin:-34px -34px 28px;background:linear-gradient(145deg,#1c2945,#6c2a2a);display:grid;place-items:center;color:#ffffffb8;font:italic 1rem 'Playfair Display',serif}.role{color:var(--red);font-weight:600;text-transform:uppercase;letter-spacing:.12em;font-size:.73rem}
[data-it]{display:none}body.it [data-fr]{display:none}body.it [data-it]{display:initial}.show [data-it],.show [data-fr],.panel [data-it],.panel [data-fr],.catalogue-card [data-it],.catalogue-card [data-fr],.team-card [data-it],.team-card [data-fr]{display:none}body:not(.it) :is(.show,.panel,.catalogue-card,.team-card) [data-fr],body.it :is(.show,.panel,.catalogue-card,.team-card) [data-it]{display:block}
@media(max-width:900px){.site-head nav>a{display:none}.hero{grid-template-columns:1fr;gap:55px;background-position:center top}.hero-card{justify-self:start}.show-grid{grid-template-columns:1fr 1fr}.show:first-child{grid-column:1/-1}.manifesto,.contact{grid-template-columns:1fr}.transmission{grid-template-columns:1fr}.contact-info{border:0;border-top:1px solid #080d1d59;padding:25px 0 0}.catalogue,.team-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.site-head{padding:12px 20px}.brand img{width:48px;height:48px}.brand small{display:none}.hero{padding:125px 20px 48px;background-position:53% top}.hero:before{background:linear-gradient(0deg,#050815fa 0%,#050815ad 63%,#05081533 100%)}.hero h1{font-size:4.1rem}.hero h1 span{margin-left:.12em}.actions{flex-direction:column}.btn{width:100%}section{padding:72px 20px}.section-head{display:block}.section-head p{margin-top:22px}.show-grid,.catalogue,.team-grid{grid-template-columns:1fr}.show:first-child{grid-column:auto}.show{min-height:390px}.show-actions{flex-direction:column}.creations-callout{grid-template-columns:1fr}.manifesto{gap:48px}.panel{padding:32px}.contact{padding-top:80px}footer{flex-direction:column}.page-hero{padding-top:75px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.ticker div{animation:none}.btn{transition:none}}

/* Enrichissement éditorial du répertoire */
.show{min-height:510px;padding:0;display:flex;flex-direction:column}.show:before{display:none}.show-photo{width:100%;height:255px;object-fit:cover;display:block}.show-body{padding:26px;display:flex;flex:1;flex-direction:column;justify-content:flex-end}.show-actions{display:flex;justify-content:center;margin-top:34px}.repertoire-button{display:inline-flex;align-items:center;justify-content:center;background:var(--night);color:#fff;padding:22px 42px;min-height:72px;font-weight:600;font-size:1.15rem;border:2px solid var(--gold);box-shadow:8px 8px 0 var(--gold);transition:.2s}.repertoire-button:hover{transform:translate(-2px,-2px);box-shadow:11px 11px 0 var(--gold)}
.contact{grid-template-columns:.8fr 1.2fr}.contact-grid{display:grid;grid-template-columns:1fr;gap:12px}.contact-block{padding:18px 20px;border:1px solid #080d1d38;min-height:0}.contact-block+.contact-block{margin-top:0}
.catalogue{gap:24px}.catalogue-card{padding:0;overflow:hidden}.catalogue-photo{width:100%;height:360px;object-fit:cover;display:block}.catalogue-content{padding:34px;display:flex;flex-direction:column;min-height:320px}.catalogue-meta{display:grid;gap:8px;margin:20px 0}.catalogue-meta span{display:block}.catalogue-footer{display:grid;grid-template-columns:minmax(175px,.75fr) 1.25fr;align-items:start;gap:24px;margin-top:auto;padding-top:22px;border-top:1px solid #0000001a}.catalogue-genre{display:flex;align-items:baseline;gap:12px;font-weight:600}.catalogue-genre .tag{flex:0 0 auto}.partner-logos{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:12px;margin:0;padding:0;border:0}.partner-logos img{width:auto;height:42px;max-width:105px;object-fit:contain}.creation-card{display:grid;grid-template-columns:.75fr 1.25fr;background:#080d1d40;border-top:6px solid #fff;overflow:hidden}.creation-card>img{width:100%;height:100%;min-height:400px;object-fit:cover}.creation-copy{padding:40px}.collab-button{display:inline-flex;margin-top:20px;padding:12px 17px;border:1px solid #fff;color:#fff;font-weight:600}
@media(max-width:900px){.contact-grid{grid-template-columns:1fr}.creation-card{grid-template-columns:1fr}}
@media(max-width:620px){.show{min-height:440px}.show-photo{height:230px}.repertoire-button{width:100%;padding:19px 22px;font-size:1rem}.catalogue-photo{height:260px}.partner-logos img{height:42px;max-width:115px}.creation-card>img{min-height:300px}.creation-copy{padding:28px}}
.crop-don-quichotte{object-position:50% 37%}.crop-dame-maxim{object-position:50% 42%}.crop-malade-home{object-position:50% 2%}.crop-malade-repertoire{object-position:50% 36%}.crop-maure{object-position:50% 42%}.crop-sortie{object-position:50% 36%}
@media(max-width:620px){.crop-don-quichotte{object-position:50% 32%}.crop-dame-maxim{object-position:50% 40%}.crop-malade-home{object-position:50% 2%}.crop-malade-repertoire{object-position:50% 36%}.crop-maure{object-position:50% 42%}.crop-sortie{object-position:50% 32%}}

/* Équipe artistique */
.team-page .page-hero{padding-bottom:82px}.team-section{padding-top:84px;padding-bottom:92px}.team-section-head{display:flex;align-items:flex-start;gap:24px;margin-bottom:42px}.team-index{font:italic 1.15rem 'Playfair Display',serif;color:var(--red);border-top:2px solid currentColor;padding-top:7px;min-width:44px}.team-section-head h2{font:600 clamp(2.6rem,5vw,4.8rem)/.96 'Playfair Display',serif;letter-spacing:-.04em;margin:0}.team-section-head p{margin:13px 0 0;color:var(--muted)}.team-page .team-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:18px}.team-page .team-card{padding:0;min-height:0;display:block;border:0;background:#fff;box-shadow:0 12px 34px #080d1d12}.team-portrait{width:100%;aspect-ratio:4/5;display:block;object-fit:cover;object-position:center 28%;filter:saturate(.92);transition:transform .35s,filter .35s}.team-card{overflow:hidden}.team-card:hover .team-portrait{transform:scale(1.025);filter:saturate(1)}.team-card-copy{padding:22px 20px 25px;border-top:4px solid var(--gold)}.team-card h3{font:600 1.55rem/1.05 'Playfair Display',serif;margin:0}.team-card-copy p{margin:10px 0 0;color:var(--muted);font-size:.9rem;line-height:1.45}.permanent-team{background:#ece5d8}.permanent-team .team-card{background:var(--night);color:#fff}.permanent-team .team-card-copy{border-color:var(--gold)}.permanent-team .team-card-copy p{color:#c9ced9}.permanent-team .team-index{color:var(--gold)}.permanent-team .team-section-head p{color:#676158}.directors-team{background:var(--paper)}.team-page .team-grid-directors{grid-template-columns:repeat(3,minmax(0,1fr));max-width:1120px}.team-grid-directors .team-portrait{aspect-ratio:4/4.4}.associates-team{background:var(--night);color:#fff}.associates-team .team-index{color:var(--gold)}.team-page .team-grid-associates{grid-template-columns:repeat(4,minmax(0,1fr))}.associates-team .team-card{background:#11182a;color:#fff}.associates-team .team-card-copy p{color:#c3c8d4}.crop-berenice{object-position:50% 22%}.crop-carlo{object-position:50% 30%}.crop-elena{object-position:50% 18%}.crop-tibor{object-position:50% 20%}.crop-tom{object-position:50% 28%}.crop-erwan{object-position:50% 25%}
@media(max-width:1100px){.team-page .team-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.team-page .team-grid-associates{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:720px){.team-page .team-grid,.team-page .team-grid-directors,.team-page .team-grid-associates{grid-template-columns:repeat(2,minmax(0,1fr))}.team-card h3{font-size:1.35rem}}
@media(max-width:460px){.team-page .team-grid,.team-page .team-grid-directors,.team-page .team-grid-associates{grid-template-columns:1fr}.team-section-head{gap:14px}.team-card h3{font-size:1.6rem}.team-portrait{aspect-ratio:4/4.6}}
@media(max-width:620px){.catalogue-content{min-height:0}.catalogue-footer{grid-template-columns:1fr}.catalogue-genre{align-items:flex-start}.partner-logos{justify-content:flex-start}.partner-logos img{height:38px;max-width:105px}}

/* Activités pédagogiques */
.aidas-partner{display:flex;align-items:center;gap:14px;margin:20px 0;font-weight:600;color:var(--red)}.aidas-partner img{width:62px;height:62px;object-fit:contain;border-radius:50%}.panel-project{display:grid;gap:15px;justify-items:start}.panel-contact-button{display:inline-flex!important;align-items:center;min-height:45px;padding:0 18px;border:1px solid #fff!important;background:#fff;color:var(--red);font-weight:600}.contact-title{display:flex;flex-direction:column;align-items:flex-start}.contact-title>img{width:min(210px,52%);height:auto;margin:0 auto 28px;display:block}.classes-hero-grid{display:grid;grid-template-columns:1fr auto;align-items:center;gap:50px}.classes-aidas-logo{width:145px;height:145px;object-fit:contain;border-radius:50%;background:#fff}.classes-section{background:var(--paper)}.schedule-wrap{overflow-x:auto;background:#fff;border-top:6px solid var(--gold)}.schedule-table{width:100%;border-collapse:collapse;min-width:760px}.schedule-table th,.schedule-table td{text-align:left;padding:17px 20px;border-bottom:1px solid #00000017}.schedule-table th{background:var(--night);color:#fff;font-size:.78rem;text-transform:uppercase;letter-spacing:.1em}.schedule-table td:first-child{font-weight:600;color:var(--red)}.holiday-section{background:#ece5d8}.holiday-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.holiday-card{background:#fff;padding:38px;border-top:6px solid var(--gold)}.holiday-card.highlight{background:var(--night);color:#fff}.holiday-card h3{font:600 clamp(2rem,3vw,3rem)/1 'Playfair Display',serif;margin:14px 0 24px}.holiday-card p{color:var(--muted)}.holiday-card.highlight .tag{color:var(--gold)}.holiday-card ul{list-style:none;padding:0;margin:0}.holiday-card li{padding:9px 0;border-bottom:1px solid #ffffff1f}.classes-info{background:var(--gold);display:grid;grid-template-columns:1fr 1fr;gap:50px}.classes-info h2{font:600 clamp(2rem,4vw,4rem)/1 'Playfair Display',serif;margin:16px 0}.classes-contact-button{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:0 22px;background:var(--night);color:#fff;font-weight:600;margin-top:18px}.classes-phone{display:block;margin-top:14px;font-weight:600;text-decoration:underline;text-underline-offset:4px}
@media(max-width:900px){.classes-info{grid-template-columns:1fr}.classes-hero-grid{grid-template-columns:1fr}.classes-aidas-logo{width:105px;height:105px}.holiday-grid{grid-template-columns:1fr}}
@media(max-width:620px){.contact-title>img{width:150px;margin-bottom:22px}.aidas-partner{align-items:flex-start}.classes-info{gap:34px}.holiday-card{padding:28px}}

/* Réseaux sociaux */
.brand-cluster{display:flex;align-items:center;gap:18px}.social-links{display:flex;gap:7px}.social-links a{width:35px;height:35px;display:grid;place-items:center;border:1px solid #ffffff5c;border-radius:50%;transition:.2s}.social-links a:hover,.social-links a:focus-visible{color:var(--night);background:var(--gold);border-color:var(--gold);transform:translateY(-2px)}.social-links svg{width:17px;height:17px;fill:currentColor}.social-links rect,.social-links circle{fill:none;stroke:currentColor;stroke-width:1.8}.social-links .social-dot{fill:currentColor;stroke:none}
@media(max-width:620px){.brand-cluster{gap:10px}.brand span{display:none}.social-links{gap:5px}.social-links a{width:32px;height:32px}}
