/* La Compañía Estable — an editorial stage, grounded in the existing identity. */
:root{--coral:#ef6a5b;--paper:#f5f1ec;--ink:#111011;--rule:rgba(245,241,236,.22);--gutter:clamp(24px,7vw,112px)}
html{scroll-padding-top:100px}body{line-height:1.6}h1,h2,h3{text-wrap:balance}p{text-wrap:pretty}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid currentColor;outline-offset:5px}button,a.button{min-height:46px}.label,.section-label,.eyebrow,.back,.button,.year,.count,.jump,.archive-filters button{font-size:12px;line-height:1.5}.button{font-size:13px;letter-spacing:.065em}.skip-link{position:fixed;left:20px;top:-100px;background:var(--paper);color:var(--ink);padding:14px;z-index:100}.skip-link:focus{top:12px}.nav{position:relative;height:92px;background:var(--ink);padding:0 var(--gutter);z-index:20}.nav .brand{font-size:11px}.nav .brand i{width:76px;height:58px;background-size:142px auto}.nav .brand-wordmark,.nav .brand>span{display:block}.menu-toggle{width:52px;height:48px;display:grid;place-content:center;gap:7px;background:transparent;border:1px solid #746a67;color:var(--paper);cursor:pointer}.menu-toggle span{width:23px;height:1px;background:currentColor;display:block}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}.menu-panel{position:absolute;top:92px;right:var(--gutter);z-index:30;width:min(420px,calc(100vw - 48px));padding:20px 30px;background:var(--paper);color:var(--ink);box-shadow:0 22px 60px #0006;visibility:hidden;opacity:0;pointer-events:none;transform:translateY(-8px);transition:opacity .2s,transform .2s,visibility .2s}.menu-panel.is-open{visibility:visible;opacity:1;pointer-events:auto;transform:none}.menu-panel a{display:flex;justify-content:space-between;padding:15px 0;border-bottom:1px solid #c8c0ba;font:500 26px/1.2 'Playfair Display',serif}.menu-panel a:last-child{border:0}.menu-panel a:hover{color:#9b382d}.page{overflow:clip}.section{padding:100px var(--gutter)}
.nav .brand{display:inline-flex;align-items:center;gap:13px;min-width:0;min-height:70px}.nav .brand-lockup{position:relative;display:block;width:83px;height:54px;overflow:hidden;flex:none}.nav .brand-lockup img{position:absolute;display:block;width:129px;max-width:none;height:auto;left:-23px;top:-2px}.nav .brand-wordmark{display:flex;flex-direction:column;justify-content:center;gap:1px;min-width:0;height:48px;border-left:1px solid rgba(245,241,236,.45);padding-left:13px;font-family:'DM Mono',monospace;line-height:1;text-transform:uppercase}.nav .brand-wordmark small,.nav .brand-wordmark strong,.nav .brand-wordmark b{display:block;white-space:nowrap;font-weight:500}.nav .brand-wordmark small{color:var(--coral);font-size:9px;letter-spacing:.32em}.nav .brand-wordmark strong{color:var(--paper);font-size:12px;letter-spacing:.075em}.nav .brand-wordmark b{color:var(--coral);font-size:12px;letter-spacing:.14em}.nav .brand:focus-visible{outline:2px solid var(--coral);outline-offset:3px}
@media(max-width:760px){.nav .brand{min-height:64px;gap:7px}.nav .brand-lockup{width:72px;height:46px}.nav .brand-lockup img{width:115px;left:-21px;top:-2px}.nav .brand-wordmark{height:42px;padding-left:8px;gap:1px}.nav .brand-wordmark small{font-size:7px;letter-spacing:.24em}.nav .brand-wordmark strong{font-size:10px;letter-spacing:.045em}.nav .brand-wordmark b{font-size:10px;letter-spacing:.09em}}
body[data-page=home] .hero{min-height:680px;height:calc(100svh - 92px);max-height:900px;padding:70px var(--gutter);grid-template-columns:1.12fr .88fr;align-items:end;background:linear-gradient(90deg,#111011 0%,#111011e8 24%,#1110114d 63%,#11101118 100%),url('./como-les-guste-limpia.png') right 37%/auto 115% no-repeat}
body[data-page=home] .hero{isolation:isolate;overflow:hidden;background:#111011}body[data-page=home] .hero-video{position:absolute;inset:0;z-index:0;width:100%;height:100%;object-fit:cover;object-position:center;pointer-events:none}body[data-page=home] .hero::after{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,#111011f2 0%,#111011d9 30%,#11101173 64%,#11101157 100%),linear-gradient(0deg,#111011b5 0%,transparent 56%)}body[data-page=home] .hero>:not(.hero-video){position:relative;z-index:2}@media(max-width:760px){body[data-page=home] .hero::after{background:linear-gradient(0deg,#111011 5%,#111011e6 43%,#1110112e 100%)}}@media(prefers-reduced-motion:reduce){body[data-page=home] .hero-video{display:none}}
body[data-page=home] h1{font-size:clamp(76px,9.2vw,148px);line-height:.99;letter-spacing:-.055em;margin:24px 0}.hero-copy{max-width:440px;font-size:17px}.hero .actions .button:first-child{background:var(--coral);color:var(--ink)}.hero-card{border:0;border-top:1px solid #f5f1ec88;padding:22px 0 0;background:transparent;backdrop-filter:none;width:230px}.hero-card strong{font-size:25px}.hero-card p{font-size:12px}.dot{box-shadow:none}.ticker{padding:15px var(--gutter);font-size:12px;background:var(--ink);color:#c7beb8;border-bottom:1px solid var(--rule);white-space:normal}.ticker-track{display:flex;justify-content:space-between;gap:20px;animation:none}.intro{grid-template-columns:.8fr 1.2fr;gap:8vw}.intro h2,.archive-head h2,.touring h2,.contact h2{line-height:1.08;letter-spacing:-.045em}.intro .section-label,.intro .label,.touring .section-label{color:#a13b31}.intro .statement{font-size:clamp(27px,3vw,43px);line-height:1.25}.fact-row small,.facts small{font-size:12px;line-height:1.5}.feature{background:#302337;grid-template-columns:1.08fr .92fr}.feature-image{min-height:620px;background-position:50% 32%}.feature-body h2{line-height:1.02;font-size:clamp(50px,5.5vw,86px)}.feature-meta{font-size:12px;line-height:1.8}.feature-question{border-left:2px solid var(--coral);padding:4px 0 4px 22px;margin:12px 0 24px;font:italic 26px/1.35 'Playfair Display',serif;color:var(--paper)}
.archive-head{margin-bottom:46px}.archive-grid{gap:0;border-top:1px solid var(--rule);counter-reset:production}.production{grid-column:span 12;min-height:132px;padding:26px 0;border:0;border-bottom:1px solid var(--rule);display:grid;grid-template-columns:50px 1fr 200px;align-items:center;gap:22px;counter-increment:production;overflow:visible}.production:before{content:counter(production,decimal-leading-zero);position:static;background:none!important;opacity:1;color:var(--coral);font:12px 'DM Mono',monospace;transition:none}.production:hover:before{transform:none}.production h3{font-size:clamp(28px,3.8vw,54px);line-height:1.15}.production p{font-size:12px;line-height:1.6;margin:0;text-align:right}.archive-filters button{padding:11px 22px}.touring{gap:9vw}.touring .button{border-color:#8f362d;color:var(--ink)}.tour-list span:first-child{font-size:12px}.tour-list span:last-child{font-size:20px}.director{grid-template-columns:.85fr 1.15fr;align-items:center;gap:9vw}.director-photo{margin:0;position:relative}.director-photo img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center 30%}.director-photo figcaption{font:12px/1.6 'DM Mono',monospace;color:var(--muted);padding-top:14px}.director h2{line-height:1.05}.contact{min-height:430px;gap:52px}.contact h2 em{color:var(--ink)}.contact h2{font-size:clamp(45px,6vw,86px)}footer{font-size:12px;line-height:1.7;padding:30px var(--gutter)}
body[data-page=director] .hero{min-height:650px;background:var(--ink);grid-template-columns:1fr 1fr}.copy{padding:75px var(--gutter)}.copy h1{font-size:clamp(72px,8.5vw,132px);line-height:1.05;letter-spacing:-.055em}.portrait{min-height:650px;background-position:55% 25%;background-image:linear-gradient(90deg,var(--ink),transparent 18%),url('./pedro-salazar-retrato.png')}.profile-subnav{display:flex;flex-wrap:wrap;gap:14px 30px;border-top:1px solid var(--rule);margin-top:36px;padding-top:20px;font-size:14px}.profile-subnav a{border-bottom:1px solid var(--coral);padding-bottom:5px}.split,.cv,.selected{padding:100px var(--gutter)}h2{line-height:1.08}.lead{line-height:1.3}.cvhead{gap:60px}.entry h3{line-height:1.2}.entry .year{font-size:12px}.work span,.work p{font-size:12px;line-height:1.7}.work h3{line-height:1.12}.selected .works{border-left:0;gap:0 36px}.selected .work{border-right:0;padding:25px 0;min-height:155px}.selected h2{line-height:1.1}.closing .button{color:var(--ink)}
.direction{padding:100px var(--gutter);background:#211e20}.direction-heading{display:grid;grid-template-columns:1fr 1fr;gap:7vw;align-items:end;margin-bottom:65px}.direction-heading p{max-width:500px;color:#cfc7c2;margin-bottom:0}.direction h2{max-width:600px}.case{display:grid;grid-template-columns:.72fr 1.28fr;gap:8vw;padding:48px 0;border-top:1px solid var(--rule)}.case-index{display:block;color:var(--coral);font:12px 'DM Mono';margin-bottom:20px}.case h3{font:500 clamp(38px,4.4vw,66px)/1.1 'Playfair Display';letter-spacing:-.045em;margin:0 0 15px}.case .question{font:italic 23px/1.35 'Playfair Display';color:#dfb6ab;max-width:290px}.case-steps{display:grid;grid-template-columns:1fr 1fr;gap:24px 30px}.case-steps h4{font:12px/1.5 'DM Mono';letter-spacing:.06em;text-transform:uppercase;color:var(--coral);margin:0 0 10px}.case-steps p{color:#d2cac5;font-size:16px;line-height:1.65;margin:0}.source-link{display:inline-flex;min-height:44px;align-items:center;gap:12px;font-size:14px;text-decoration:underline;text-underline-offset:6px;margin-top:24px}.editorial-note{font-size:13px;color:#bbb2ae;max-width:760px;margin:16px 0 0}
body[data-page=repertory] .hero{background:var(--ink);padding:80px var(--gutter) 65px;min-height:430px;border-bottom:1px solid var(--rule)}body[data-page=repertory] .hero h1{font-size:clamp(65px,9vw,130px);line-height:1.03;letter-spacing:-.055em;max-width:1000px}body[data-page=repertory] .hero p{max-width:650px}.jump{padding:20px var(--gutter);font-size:13px}.jump a{min-height:44px;display:inline-flex;align-items:center}.column{padding:65px clamp(24px,5vw,80px)}.column h2{line-height:1.1}.opera h2,.theatre h2{color:var(--paper)}.column-heading{border-top:2px solid var(--coral);padding-top:25px;align-items:center}.column .work{padding:25px 0;position:relative}.column .work:hover{padding-left:0}.column .work:hover h3{color:inherit}.column .work h3{font-size:clamp(27px,2.8vw,42px)}.count{font-size:12px;white-space:nowrap}.archive .column{scroll-margin-top:25px}.closing{padding:80px var(--gutter)}.closing h2{line-height:1.1;font-size:clamp(38px,4.5vw,68px)}
@media(min-width:1600px){.section,.split,.cv,.selected,.direction{padding-left:max(112px,calc((100vw - 1380px)/2));padding-right:max(112px,calc((100vw - 1380px)/2))}}
@media(max-width:760px){.nav{height:76px;padding:0 24px}.nav .brand{font-size:9px;letter-spacing:.05em;gap:5px}.nav .brand i{width:60px;height:45px;background-size:112px auto}.menu-panel{top:76px;right:24px}.section,.split,.cv,.selected,.direction{padding:66px 24px}.intro,.director,.direction-heading,.case{grid-template-columns:1fr;gap:32px}body[data-page=home] .hero{height:auto;max-height:none;min-height:790px;padding:320px 24px 38px;display:block;background:linear-gradient(0deg,#111011 5%,#111011e8 40%,#11101100 85%),url('./como-les-guste-limpia.png') 60% top/auto 580px no-repeat}body[data-page=home] h1{font-size:clamp(65px,16vw,100px);margin:14px 0 22px}.hero-copy{font-size:16px}.hero-card{display:none}.ticker-track{font-size:11px;flex-wrap:wrap;gap:8px 20px}.ticker-track span:last-child{display:none}.intro h2{font-size:45px}.fact-row{grid-template-columns:repeat(3,1fr);gap:10px}.feature{grid-template-columns:1fr}.feature-image{min-height:420px}.feature-body{padding:48px 24px}.feature-body h2{font-size:58px}.production{grid-template-columns:28px 1fr;gap:8px 15px;padding:25px 0;min-height:130px}.production p{grid-column:2;text-align:left}.production h3{font-size:34px}.director-photo img{max-height:470px;object-position:50% 26%}.contact{gap:35px;min-height:400px}.contact h2{font-size:47px}body[data-page=director] .hero{min-height:0;display:flex;flex-direction:column-reverse}.portrait{min-height:440px;background-position:55% 25%;background-image:linear-gradient(0deg,var(--ink),transparent 35%),url('./pedro-salazar-retrato.png')}.copy{min-height:0;padding:10px 24px 52px}.copy h1{font-size:76px;margin:20px 0}.copy p{font-size:16px}.profile-subnav{gap:14px 24px}.direction-heading{margin-bottom:35px}.case{gap:28px;padding:34px 0}.case-steps{gap:24px}.case h3{font-size:47px}.case .question{max-width:none}.works{grid-template-columns:1fr 1fr}.selected .work h3{font-size:27px}.cvhead{gap:28px;margin-bottom:35px}.entry{gap:12px}.entry h3{font-size:29px}body[data-page=repertory] .hero{min-height:0;padding:55px 24px 45px}body[data-page=repertory] .hero h1{font-size:clamp(48px,12.8vw,76px)}.column-heading{gap:12px}.column h2{font-size:62px}.column{padding:50px 24px}.closing{padding:60px 24px}.facts{gap:14px}.contact-bottom,footer{display:block}.contact-bottom .button{margin-top:24px}}
@media(max-width:380px){.case-steps{grid-template-columns:1fr}.nav .brand>span{font-size:8px}.copy h1{font-size:65px}}
.nav .brand>span>span{display:inline}.hero .eyebrow{color:#ff9a8d}body[data-page=repertory] .hero h1{letter-spacing:-.035em}.hero-card{background:#111011eF;padding:22px;border-top-color:var(--coral)}
.contact-address{display:inline-flex;align-items:center;min-height:44px;margin-top:12px;border-bottom:1px solid currentColor;color:inherit;font-size:14px;line-height:1.45}.contact-address:hover{color:var(--paper)}
.director-photo{background:var(--ink)}.director-photo::after{content:'';position:absolute;inset:0 0 33px;pointer-events:none;background:linear-gradient(0deg,#111011 0%,#11101118 55%,#11101144 100%),linear-gradient(90deg,#11101188,transparent 25%,transparent 75%,#11101188)}.feature-image{background-image:linear-gradient(0deg,#111011 0%,#11101120 65%),linear-gradient(90deg,#11101177,transparent 35%,#11101166),url('./como-les-guste-limpia.png')}.portrait{background-image:linear-gradient(0deg,#111011,transparent 50%),linear-gradient(90deg,#111011,transparent 35%,#11101166),url('./pedro-salazar-retrato.png')}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
.portrait-wrap{margin:0;display:flex;flex-direction:column;background:var(--ink)}.portrait-wrap figcaption{padding:12px var(--gutter) 16px;font:12px/1.6 'DM Mono',monospace;color:var(--muted)}@media(max-width:760px){.portrait-wrap figcaption{padding:10px 24px 16px}}
.nav .brand>span.brand-wordmark{display:flex;align-items:center;min-width:0;height:58px;padding-left:12px}.nav .brand>span.brand-wordmark>span.brand-wordmark-crop{position:relative;display:block;flex:none;width:147px;height:55px;overflow:hidden}.brand-wordmark-crop img{position:absolute;display:block;width:177px;max-width:none;height:auto;left:-20px;top:-20px}
@media(max-width:760px){.nav .brand>span.brand-wordmark{height:48px;padding-left:8px}.nav .brand>span.brand-wordmark>span.brand-wordmark-crop{width:118px;height:45px}.brand-wordmark-crop img{width:142px;left:-16px;top:-16px}}
.nav .brand-lockup{height:48px}
@media(max-width:760px){.nav .brand-lockup{height:43px}}

/* Keep the hero copy comfortably clear of the information strip. */
body[data-page=home] .hero-copy{margin-bottom:40px}
body[data-page=home] .ticker{padding-top:18px;padding-bottom:18px}
@media(max-width:760px){body[data-page=home] .hero-copy{margin-bottom:28px}body[data-page=home] .ticker{padding-top:16px;padding-bottom:16px}}

/* Current production: let the stage image dissolve into the reading area. */
body[data-page=home] .feature{background:#111011}
body[data-page=home] .feature-image{background-image:linear-gradient(90deg,rgba(17,16,17,0) 34%,rgba(17,16,17,.28) 57%,rgba(17,16,17,.78) 82%,#111011 100%),url('./como-les-guste-limpia.png')}
body[data-page=home] .feature-body{background:linear-gradient(90deg,#111011 0%,#111011 100%)}
@media(max-width:760px){body[data-page=home] .feature-image{background-image:linear-gradient(0deg,#111011 0%,rgba(17,16,17,.58) 30%,transparent 64%),url('./como-les-guste-limpia.png')}}
/* Shared header layout must not depend on a page's inline styles. */
nav.nav{--coral:#ef6a5b;--paper:#f5f1ec;--ink:#111011;--gutter:clamp(24px,7vw,112px);display:flex;align-items:center;justify-content:space-between;gap:20px;box-sizing:border-box;width:100%;border-bottom:1px solid rgba(245,241,236,.18)}
nav.nav .brand,nav.nav .brand *,nav.nav .menu-toggle{box-sizing:border-box}
nav.nav .brand{font-family:'DM Mono',monospace;font-weight:500;line-height:1.25;letter-spacing:.1em;text-transform:uppercase}
nav.nav .brand-lockup{color:var(--coral)}
nav.nav .menu-toggle{font:400 16px/1.6 'DM Sans',sans-serif;letter-spacing:normal}
.menu-panel{--coral:#ef6a5b;--paper:#f5f1ec;--ink:#111011;--gutter:clamp(24px,7vw,112px)}
.nav a.brand,.menu-panel a.menu-brand{text-decoration:none;color:var(--paper)}
.nav .menu-toggle{flex:0 0 52px;box-sizing:border-box}
.nav .brand>span.brand-wordmark{align-items:flex-start;box-sizing:border-box;gap:3px}
.nav .brand-wordmark small{font-size:11px}.nav .brand-wordmark strong,.nav .brand-wordmark b{font-size:15px}
@media(max-width:760px){.nav .brand-wordmark small{font-size:9px}.nav .brand-wordmark strong,.nav .brand-wordmark b{font-size:12px}.nav .brand>span.brand-wordmark{gap:2px}}
.whatsapp-bubble{position:fixed;right:max(24px,env(safe-area-inset-right));bottom:max(24px,env(safe-area-inset-bottom));z-index:40;display:flex;align-items:center;justify-content:center;width:60px;height:60px;box-sizing:border-box;border-radius:50%;background:#25d366;color:#fff!important;box-shadow:0 5px 18px #0003;text-decoration:none;transition:background .2s,transform .2s}
.whatsapp-bubble svg{display:block;width:32px;height:32px}.whatsapp-bubble:hover{background:#128c4a;transform:translateY(-2px)}.whatsapp-bubble:focus-visible{outline:3px solid #fff;outline-offset:4px;box-shadow:0 0 0 7px #128c4a}
@media(max-width:760px){.whatsapp-bubble{width:54px;height:54px;right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom))}.whatsapp-bubble svg{width:29px;height:29px}}
@media(prefers-reduced-motion:reduce){.whatsapp-bubble{transition:none}.whatsapp-bubble:hover{transform:none}}
