:root{--bg:#080808;--panel:#121212;--text:#f4f1ea;--muted:#b6b1a8;--gold:#ddbd77;--red:#c9212b;--line:#32302c}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.65 Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;max-width:100%;height:auto}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.03;letter-spacing:-.045em}h1{font-size:clamp(3.7rem,7.3vw,7.8rem);text-transform:uppercase;font-weight:900;margin-bottom:28px}h2{font-size:clamp(2.6rem,4.5vw,4.5rem);font-weight:800}h3{font-size:1.75rem}p{color:var(--muted);max-width:65ch}em{font-style:normal;color:var(--gold)}.wrap{width:min(1280px,90%);margin:auto}.eyebrow{text-transform:uppercase;letter-spacing:.17em;font-size:.75rem;font-weight:700;color:var(--gold);margin-bottom:24px}.header{height:100px;border-bottom:1px solid var(--line);background:#080808f5;position:relative;z-index:10}.header-inner{height:100%;display:flex;align-items:center;gap:30px}.brand{display:flex;align-items:center;gap:13px;margin-right:auto;line-height:1.15;font-size:.9rem;letter-spacing:.08em;font-weight:700}.brand img{width:54px;height:64px;object-fit:contain}.brand small{display:block;color:var(--gold);font-size:.7rem;margin-top:6px;letter-spacing:.18em}.nav{display:flex;align-items:center;gap:28px;font-size:.88rem}.nav a:hover,.nav [aria-current]{color:var(--gold)}.button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:12px 23px;background:var(--red);color:white;border:1px solid var(--red);font-size:.875rem;font-weight:700;cursor:pointer;transition:background .2s}.button:hover{background:#a81721}.button.outline{background:transparent;border-color:#70634a;color:var(--text)}.button.outline:hover{background:#292319}.actions{display:flex;flex-wrap:wrap;gap:12px}.hero{min-height:680px;display:grid;grid-template-columns:1.08fr 1fr;gap:20px;align-items:center;padding:65px 0 55px}.hero p{font-size:1.08rem;max-width:43ch}.hero-art{position:relative;align-self:stretch;display:flex;align-items:center;justify-content:center}.hero-art img{width:100%;position:relative}.hero-art:before{content:'';position:absolute;width:88%;height:88%;border:1px solid #665436;transform:rotate(-8deg)}.hero-art:after{content:'L’ÉNERGIE DU COLLECTIF';position:absolute;bottom:12px;left:10%;color:var(--gold);font-size:.75rem;letter-spacing:.22em}.band{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:25px 0}.band .wrap{display:flex;justify-content:space-between;gap:20px;font-size:.8rem;letter-spacing:.13em;text-transform:uppercase}.menu-toggle{display:none}.skip{position:absolute;top:-100px;left:15px;z-index:99;background:var(--gold);color:#000;padding:12px}.skip:focus{top:10px}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:5px}section{padding:100px 0}.split{display:grid;grid-template-columns:1fr 1fr;gap:80px}.section-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:40px}.section-head h2{margin-bottom:0}.section-head p{max-width:35ch;margin-bottom:0}.photo{width:100%;aspect-ratio:1.4;object-fit:cover}.caption{font-size:.75rem;color:var(--muted);margin-top:10px}.quote{font-size:1.6rem;line-height:1.4;color:var(--text);border-left:2px solid var(--gold);padding-left:24px;margin:30px 0}.groups{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.group{background:var(--panel);padding:36px}.number{color:var(--gold);font-size:.8rem;letter-spacing:.13em;display:block;margin-bottom:44px}.group h3{text-transform:uppercase;font-size:2.3rem}.group p{margin-bottom:0}.dark-panel{background:var(--panel)}.funding{display:grid;grid-template-columns:repeat(5,1fr);gap:25px}.funding article{border-top:1px solid var(--gold);padding-top:20px}.funding h3{font-size:1.25rem;letter-spacing:-.02em;margin:18px 0 12px}.funding p{font-size:.92rem}.project-list{border-top:1px solid var(--line)}.project{display:grid;grid-template-columns:190px 1fr auto;gap:32px;padding:32px 0;border-bottom:1px solid var(--line);align-items:center}.project h3{margin-bottom:12px}.project p{margin:0}.project-date{color:var(--gold);font-size:.9rem}.pill{font-size:.75rem;color:var(--muted);display:block;margin-top:8px}.support-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.support-card{padding:38px;background:var(--panel);border:1px solid var(--line)}.support-card.primary{border-top:3px solid var(--red)}.support-card h3{font-size:2rem}.support-card .number{margin-bottom:25px}.support-card p{min-height:80px}.small{font-size:.85rem}.support-status{color:var(--muted);font-size:.8rem;margin:14px 0 0;min-height:0!important}.partners-box{border:1px solid var(--line);padding:44px;display:flex;justify-content:space-between;align-items:center;gap:30px}.partners-box p{margin-bottom:0}.contact{background:#b51e27;padding:65px 0}.contact .wrap{display:flex;justify-content:space-between;align-items:center;gap:30px}.contact h2{font-size:3.1rem;margin-bottom:16px}.contact p{color:#ffe4e1}.contact a.email{font-size:clamp(.9rem,1.7vw,1.4rem);border-bottom:1px solid #f3c7c4;overflow-wrap:anywhere}.contact .button{background:#080808;border-color:#080808}.footer{padding:35px 0}.footer .wrap{display:flex;align-items:center;justify-content:space-between;gap:30px;font-size:.8rem;color:var(--muted)}.socials{display:flex;gap:24px}.footer-brand{display:flex;align-items:center;gap:16px}.footer-brand img{width:50px}.partner-hero{padding:85px 0 75px;display:grid;grid-template-columns:1.3fr .7fr;gap:70px;align-items:center}.partner-hero h1{font-size:clamp(3.3rem,6.5vw,6.5rem)}.partner-hero img{max-height:330px;margin:auto}.levels{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.level{border:1px solid var(--line);padding:28px 24px;background:var(--panel);display:flex;flex-direction:column}.level:last-child{border-color:var(--gold)}.level h3{font-size:1.65rem;text-transform:uppercase}.price{color:var(--gold);font-size:1.5rem;line-height:1.4}.level ul{list-style:none;padding:0;margin:25px 0 35px;color:var(--muted);font-size:.9rem;flex:1}.level li{padding:10px 0;border-bottom:1px solid var(--line)}.level li:before{content:'+';color:var(--gold);margin-right:8px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.steps h3{font-size:1.5rem}.steps .number{margin-bottom:20px}.faq{max-width:900px;margin:auto}.faq details{border-bottom:1px solid var(--line);padding:24px 0}.faq summary{cursor:pointer;font-weight:700;font-size:1.1rem}.faq details p{padding-top:18px;margin:0}.widget{margin-top:24px}.widget iframe{width:100%;height:760px;border:0;background:white}.partner-logos{display:flex;flex-wrap:wrap;gap:24px}.partner-logo{padding:24px;border:1px solid var(--line)}.partner-logo img{width:150px;height:90px;object-fit:contain}dialog{background:var(--panel);color:var(--text);border:1px solid var(--gold);max-width:min(500px,90vw);padding:35px}dialog::backdrop{background:#000b}dialog h2{font-size:2rem}dialog .close{float:right;border:0;background:none;color:var(--text);font-size:1.5rem;cursor:pointer}body:has(dialog[open]){overflow:hidden}[hidden]{display:none!important}
@media(max-width:900px){.nav{gap:15px}.hero{min-height:600px}.split{gap:35px}.funding{grid-template-columns:repeat(3,1fr)}.levels{grid-template-columns:1fr 1fr}.project{grid-template-columns:140px 1fr}.project .button{grid-column:2;justify-self:start}.group{padding:24px}.group h3{font-size:1.7rem}.partner-hero{gap:25px}}
@media(max-width:650px){.header{height:80px}.brand img{width:42px;height:52px}.header-inner{gap:12px}.header-inner>.button{display:none}.menu-toggle{display:block;padding:8px 12px;background:none;color:var(--text);border:1px solid var(--line)}.nav{display:none;position:absolute;top:80px;left:0;right:0;background:#101010;padding:22px 5%;border-bottom:1px solid var(--gold);align-items:start;flex-direction:column}.nav.open{display:flex}.hero{display:flex;flex-direction:column;padding:50px 0 45px;gap:35px}.hero h1{font-size:clamp(3rem,12vw,4.5rem)}.hero-art{min-height:240px;width:100%;align-self:center;margin:10px 0 20px}.hero-art img{max-width:450px}.hero-art:after{bottom:-22px}.hero-art:before{height:95%}.hero .eyebrow{font-size:.68rem}.band .wrap{flex-wrap:wrap;justify-content:center;font-size:.7rem;gap:12px 22px}.band .wrap span:last-child{display:none}section{padding:64px 0}.split,.groups,.support-grid,.steps{grid-template-columns:1fr}.split{gap:32px}.section-head{display:block}.section-head p{margin-top:24px}.number{margin-bottom:24px}.funding{grid-template-columns:1fr 1fr;gap:22px}.project{grid-template-columns:1fr;gap:16px}.project .button{grid-column:auto}.project-date{display:flex;justify-content:space-between;gap:15px}.pill{margin:0}.support-card{padding:28px}.support-card p{min-height:0}.partners-box{padding:28px;align-items:start;flex-direction:column}.contact .wrap,.footer .wrap{flex-direction:column;align-items:start}.contact h2{font-size:2.6rem}.partner-hero{grid-template-columns:1fr;padding:50px 0}.partner-hero img{max-height:200px}.levels{grid-template-columns:1fr}.level ul{margin:12px 0 25px}.socials{flex-wrap:wrap}.actions .button{flex:1;white-space:nowrap}.group h3{font-size:2.3rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.hero-art img{height:auto;object-fit:contain}.partner-hero>img{width:min(100%,330px);height:auto;max-height:none;object-fit:contain}@media(max-width:650px){.partner-hero>img{width:200px;height:auto}}

.brand-banner{background:#000;border-bottom:1px solid var(--line);padding:25px 5%;display:flex;justify-content:center}.brand-banner img{width:min(600px,100%);height:auto;object-fit:contain}.hero{min-height:0;padding:65px 0;gap:55px}.hero h1{font-size:clamp(3.6rem,6.3vw,6.4rem)}.hero-photo{position:relative;align-self:stretch;min-height:380px}.hero-photo img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:55% center}.hero-photo span{position:absolute;bottom:0;left:0;right:0;padding:50px 22px 18px;background:linear-gradient(transparent,#000c);font-size:.7rem;letter-spacing:.15em;color:#eee}@media(max-width:650px){.brand-banner{padding:22px 5%}.brand-banner img{width:100%;height:auto}.hero{gap:25px;padding:38px 0}.hero h1{font-size:clamp(3rem,12vw,4.5rem)}.hero-photo{width:100%;min-height:270px;align-self:auto}}

.group .company-title{font-size:clamp(1.25rem,2.1vw,1.85rem);overflow-wrap:anywhere}@media(max-width:650px){.group .company-title{font-size:clamp(1.25rem,6vw,2rem)}}

.group .company-title{text-transform:none}
.band .wrap span.company-name{text-transform:none}

/* DANZA × TMS Studio — logos preserved, never cropped. */
.brand-banner{gap:36px;align-items:center}.tms-banner{display:flex;flex-direction:column;gap:10px;align-items:center;max-width:140px;text-align:center;flex-shrink:0}.tms-banner img{width:105px;height:auto;object-fit:contain}.tms-banner span{font-size:.75rem;color:var(--gold);line-height:1.4}.tms-banner small{color:var(--muted);font-size:.75rem}.studio-pair{display:flex;align-items:center;gap:18px;margin:24px 0 30px}.studio-mark{flex:1;min-width:0;display:flex;justify-content:center;align-items:center}.studio-mark img{width:100%;height:auto;max-width:240px;object-fit:contain}.studio-cross{color:var(--gold);font-size:1.25rem}.group .studio-pair{gap:12px;min-height:76px}.group .studio-mark img{max-width:135px}.group-link{display:inline-block;color:var(--gold);border-bottom:1px solid #72633f;margin-top:24px;font-size:.9rem}.mega-hero{padding:55px 0 75px}.back-link{display:inline-block;color:var(--muted);font-size:.85rem;border-bottom:1px solid var(--line);margin-bottom:36px}.mega-hero h1{font-size:clamp(3.2rem,6vw,6.3rem)}.mega-intro{font-size:1.15rem}.mega-hero>.studio-pair{max-width:590px;gap:40px;margin:36px 0}.mega-hero .studio-mark img{max-width:250px}.mega-values article{padding:24px 0;border-top:1px solid var(--line)}.mega-values .number{margin-bottom:14px}.mega-values h3{font-size:1.5rem}.nav{gap:20px}
@media(max-width:1050px) and (min-width:651px){.header-inner{gap:15px}.nav{gap:12px;font-size:.8rem}.brand{font-size:.8rem}.header-inner>.button{padding:12px 15px}}
@media(max-width:650px){.brand-banner{gap:18px;padding:22px 5%;flex-wrap:nowrap}.brand-banner>img{width:calc(100% - 96px);min-width:0}.tms-banner{max-width:78px}.tms-banner img{width:72px}.tms-banner span,.tms-banner small{font-size:.65rem}.mega-hero{padding:35px 0 50px}.mega-hero>.studio-pair{gap:20px}.nav{gap:20px}}
/* Logos: common visual height with original aspect ratios. */
.studio-pair{--logo-height:130px;gap:30px;align-items:center;max-width:none}.studio-mark{flex:0 0 auto;height:var(--logo-height);width:auto;overflow:hidden}.studio-mark:first-child img{height:var(--logo-height);width:auto;max-width:none}.studio-mark:last-child{width:calc(var(--logo-height)*1.76);position:relative}.studio-mark:last-child img{position:absolute;left:calc(var(--logo-height)*-.116);top:calc(var(--logo-height)*-.152);height:calc(var(--logo-height)*1.344);width:auto;max-width:none}.mega-hero>.studio-pair{--logo-height:130px;max-width:none;gap:30px}.mega-hero .studio-mark img{max-width:none}.group .studio-pair{--logo-height:38px;gap:12px;min-height:0}.group .studio-mark img{max-width:none}.group .studio-mark:last-child img{height:calc(var(--logo-height)*1.344)}
.brand-banner{gap:35px;padding:35px 5%;align-items:flex-end}.brand-banner>img{width:auto;height:190px;max-width:50%;object-fit:contain}.tms-banner{max-width:none;flex-direction:row;align-items:flex-end;text-align:left;gap:20px}.tms-banner .tms-logo-frame{width:334px;height:190px;overflow:hidden;position:relative;flex:none}.tms-banner .tms-logo-frame img{position:absolute;left:-22px;top:-29px;width:auto;height:255px;max-width:none;object-fit:contain}.tms-banner span{font-size:.95rem;line-height:1.5;max-width:150px;margin-bottom:16px}.tms-banner small{font-size:.9rem;color:var(--muted)}
@media(max-width:1100px){.brand-banner>img{height:150px}.tms-banner .tms-logo-frame{width:264px;height:150px}.tms-banner .tms-logo-frame img{height:202px;left:-17px;top:-23px}.tms-banner{gap:12px}.tms-banner span{font-size:.85rem;max-width:135px}.tms-banner small{font-size:.85rem}}
@media(max-width:650px){.brand-banner{gap:24px;flex-wrap:wrap;padding:25px 5%}.brand-banner>img{height:130px;width:auto;max-width:100%;min-width:0}.tms-banner{max-width:100%;gap:16px;align-items:flex-end}.tms-banner .tms-logo-frame{height:130px;width:229px;max-width:60vw}.tms-banner .tms-logo-frame img{height:175px;left:-15px;top:-20px}.tms-banner span,.tms-banner small{font-size:.8rem}.tms-banner span{max-width:115px;margin-bottom:10px}.mega-hero>.studio-pair{--logo-height:65px;gap:18px}.studio-pair{--logo-height:65px}.group .studio-pair{--logo-height:50px}}

.brand-banner{--banner-logo-height:190px}
.danza-logo-frame{height:var(--banner-logo-height);width:calc(var(--banner-logo-height)*2.38);position:relative;overflow:hidden;flex:none}
.danza-logo-frame img{position:absolute;height:calc(var(--banner-logo-height)*1.228);width:auto;max-width:none;left:calc(var(--banner-logo-height)*-.228);top:calc(var(--banner-logo-height)*-.1295)}
.tms-banner span{margin-bottom:0}
@media(max-width:1100px){.brand-banner{--banner-logo-height:150px}}
@media(max-width:650px){.brand-banner{--banner-logo-height:130px}}
/* Align the large lettering; subtitles keep their natural position below. */
.brand-banner{--tms-visual-height:calc(var(--banner-logo-height)*.84);align-items:flex-start}
.tms-banner{align-items:flex-end}
.tms-banner .tms-logo-frame{width:calc(var(--tms-visual-height)*1.76);height:var(--banner-logo-height);max-width:none}
.tms-banner .tms-logo-frame img{height:calc(var(--tms-visual-height)*1.344);left:calc(var(--tms-visual-height)*-.116);top:calc(var(--tms-visual-height)*-.152)}
.studio-pair,.mega-hero>.studio-pair{align-items:flex-start}
.studio-mark:last-child{height:calc(var(--logo-height)*1.21);width:calc(var(--logo-height)*2.13)}
.studio-mark:last-child img,.group .studio-mark:last-child img{height:calc(var(--logo-height)*1.626);left:calc(var(--logo-height)*-.14);top:calc(var(--logo-height)*-.184)}
.studio-pair>.cross{align-self:center}

/* Homepage: a discreet text credit for the Mega Crew partnership. */
.brand-banner{align-items:flex-end;justify-content:center;gap:28px}
.brand-banner .tms-banner{flex:none;margin-bottom:4px}
.brand-banner .tms-banner span,.brand-banner .tms-banner small{font-size:.78rem;line-height:1.5;font-weight:400;color:var(--muted)}
.brand-banner .tms-banner span{max-width:165px;margin:0}
@media(max-width:650px){.brand-banner{gap:12px}.brand-banner .tms-banner{width:100%;margin:0;text-align:center;justify-content:center}.brand-banner .tms-banner span{max-width:none}.brand-banner .tms-banner br{display:none}.brand-banner .tms-banner small::before{content:" "}}
@media(min-width:651px){.brand-banner .tms-banner{margin-bottom:-5px}}
/* Credit baseline follows DANZA lettering, excluding the Project signature. */
@media(min-width:651px){.brand-banner .tms-banner{margin-bottom:calc(var(--banner-logo-height)*.305 - 5px)}}
/* Keep navigation accessible while scrolling on every page. */
.header{position:sticky;top:0;z-index:100;background:var(--bg)}
@media(max-width:650px){html{scroll-padding-top:80px}.nav{max-height:calc(100dvh - 80px);overflow-y:auto}}

.company-menu{position:relative}.company-toggle{border:0;background:none;color:inherit;padding:12px 0;font:inherit;cursor:pointer;white-space:nowrap}.company-toggle:hover,.company-toggle[aria-expanded="true"]{color:var(--gold)}.company-toggle span{font-size:.75em;margin-left:5px}.company-links{position:absolute;top:100%;left:-18px;min-width:225px;padding:10px;background:var(--panel);border:1px solid var(--line);box-shadow:0 12px 24px #0008}.company-links a{display:block;padding:12px;white-space:nowrap}.company-links a:hover{background:#25221b}
@media(max-width:650px){.company-menu{width:100%}.company-toggle{padding:0}.company-links{position:static;box-shadow:none;margin-top:12px;min-width:0;border-left:2px solid var(--gold);border-top:0;border-right:0;border-bottom:0}}

.company-projects{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px}.company-project{border:1px solid var(--line);background:var(--panel);padding:30px}.company-project .eyebrow{display:block;margin:15px 0 20px;font-size:.7rem}.event-mark{height:110px;width:100%;object-fit:contain;margin-bottom:25px}.season-note{margin-top:30px;border-left:2px solid var(--gold);padding-left:20px}@media(max-width:650px){.company-projects{grid-template-columns:1fr}}

.project-event-logo{width:180px;height:90px;object-fit:contain;object-position:left center;margin-bottom:18px}.company-project .event-mark{max-width:280px;margin-left:auto;margin-right:auto}

.mega-team-photo{margin:0;max-width:430px;justify-self:center;width:100%}.mega-team-photo img{width:100%;height:auto;border:1px solid var(--line)}

.project{grid-template-columns:190px 1fr}@media(max-width:650px){.project{grid-template-columns:1fr}}

.brochure-pages{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:40px 0}.brochure-pages figure{margin:0}.brochure-pages img{width:100%;height:auto;display:block}.brochure-pages figcaption{font-size:13px;color:var(--muted);padding-top:8px}.socials{flex-wrap:wrap}@media(max-width:650px){.brochure-pages{grid-template-columns:1fr}}

.support-grid{align-items:start}.support-card{padding:28px}.support-card .number{margin-bottom:16px}.support-card h3{margin-bottom:16px}.support-card p{min-height:0;margin-bottom:20px}.support-card .support-status{margin-bottom:0}
