/* Portada fotográfica con foco en la persona y texto breve en ambos formatos. */
.hero{height:min(880px,100svh);min-height:720px;color:var(--ink);background:#eadccc}.hero-photo{inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 100%;filter:none;animation:none;transform:none;translate:none!important}.hero:after{display:none}.hero-copy{top:22%;left:6%;right:auto;width:44%;max-width:520px;text-align:left}.hero-copy h1{font-size:clamp(60px,6.4vw,92px);line-height:1.02;margin:0 0 20px;text-shadow:none}.hero-copy>.hero-description{display:block!important;color:var(--ink)!important;font-size:16px;line-height:1.6;margin:0 0 26px}.hero-copy .text-button{background:var(--ink);color:var(--paper);border:1px solid var(--ink);backdrop-filter:none;font-size:12px;padding:15px 22px;gap:0;box-shadow:0 6px 25px #253d4815}.hero-copy .text-button:hover{background:#426675;transform:translateY(-2px)}.hero-copy .text-button>span:empty,.pill>span:empty,.class-item b:empty{display:none}.hero .marquee,.closing .marquee,.video-toggle,.hero-top,.hero-bottom{display:none}header{color:var(--ink)}header>.light{background:var(--ink);color:var(--paper)}.arrow-icon{display:none}.arrows button,.week-nav button{width:auto;min-width:65px;height:35px;padding:0 12px;border-radius:20px;background:transparent;box-shadow:none;font-size:10px;letter-spacing:.02em}.arrows{gap:7px}.week-nav{gap:12px}.week-nav h3{font-size:18px}.class-item b{display:none}.text-button{gap:0}.pill{justify-content:center;gap:0}.footer-main .text-button{padding-bottom:9px}.hero-copy h1 br{display:block}
@media(max-width:1000px){.hero-copy h1{font-size:70px}.hero-copy{top:20%}.week-nav h3{font-size:15px}}
@media(max-width:650px){.hero{height:780px;min-height:0;max-height:none;background:#e8d7c6}.hero-photo{inset:0;width:100%;height:100%;object-fit:cover;object-position:100% 100%;mask-image:none;-webkit-mask-image:none}.hero-copy{top:116px;left:7%;width:86%;max-width:none}.hero-copy h1{font-size:51px;line-height:1;margin:0 0 15px}.hero-copy>.hero-description{font-size:13px;line-height:1.6;margin:0 0 19px;max-width:230px}.hero-copy .text-button{font-size:11px;padding:13px 19px}.arrows{position:static;justify-content:flex-start;margin:23px 0 0}.arrows button{min-width:68px;height:33px;padding:0 13px}.stories .arrows{position:static}.week-nav{gap:6px}.week-nav h3{font-size:12px;letter-spacing:-.02em;text-align:center}.week-nav button{min-width:53px;font-size:9px;padding:0 8px}.closing-copy h2{font-size:57px}.closing{height:620px}.class-item{grid-template-columns:1fr}.class-item p,.class-item small{grid-column:1}}
@media(max-width:370px){.hero-copy h1{font-size:47px}.hero{height:760px}}

/* Un solo color por título y controles de acabado editorial. */
h1 em,h2 em,h3 em,.section-heading h2 em,.stories .section-heading h2 em{color:inherit}
.pill,.hero-copy .text-button,.footer-main .text-button{--button-bg:var(--ink);--button-fg:var(--paper);position:relative;isolation:isolate;display:inline-flex;align-items:center;justify-content:center;min-height:49px;padding:17px 27px;border:1px solid var(--button-bg);border-radius:2px;background:var(--button-bg);color:var(--button-fg);font-size:10px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;line-height:1.4;box-shadow:3px 3px 0 #253d4825;transition:background .3s,color .3s,box-shadow .3s,transform .3s}
.pill:before,.hero-copy .text-button:before,.footer-main .text-button:before{content:'';position:absolute;inset:4px;border:1px solid currentColor;opacity:.25;pointer-events:none;transition:inset .3s,opacity .3s}
.pill.light,.featured .pill,.footer-main .text-button{--button-bg:var(--paper);--button-fg:var(--ink)}
header>.light{--button-bg:var(--ink);--button-fg:var(--paper)}
.pill:hover,.hero-copy .text-button:hover,.footer-main .text-button:hover{background:var(--button-bg);color:var(--button-fg);transform:translate(-2px,-2px);box-shadow:5px 5px 0 #253d4835}
.pill:hover:before,.hero-copy .text-button:hover:before,.footer-main .text-button:hover:before{inset:6px;opacity:.65}
.pill:active,.hero-copy .text-button:active,.footer-main .text-button:active{transform:translate(1px,1px);box-shadow:1px 1px 0 #253d4825}
.price-card .pill{padding-inline:15px}.featured .pill{box-shadow:3px 3px 0 #ffffff25}.featured .pill:hover{box-shadow:5px 5px 0 #ffffff40}
.arrows button,.week-nav button{border-radius:0;border:0;border-bottom:1px solid currentColor;background:transparent;box-shadow:none;min-width:0;height:35px;padding:0 5px;font-size:9px;letter-spacing:.08em;text-transform:uppercase;transition:opacity .2s,background .2s}
.arrows button:hover,.week-nav button:hover:not(:disabled){background:#253d480a;transform:none;box-shadow:none}.stories .arrows button:hover{background:#ffffff12}.arrows{gap:20px}
.session{border-radius:2px;border:1px solid #253d4818;border-left:3px solid transparent;box-shadow:none}.session:hover:not(:disabled){border-color:#253d4850;border-left-color:var(--ink);transform:translateY(-2px)}
.day-tabs button{border-radius:2px;border:1px solid #253d4820}.day-tabs button[aria-pressed="true"]{border-color:var(--ink)}.day-column h4{border-radius:0}.floating-card .card-link{font-size:9px;letter-spacing:.12em;border-bottom:1px solid var(--ink);width:fit-content;padding-bottom:6px}
@media(max-width:650px){.hero-copy .text-button{padding:16px 21px;font-size:9px;min-height:46px}.arrows button,.week-nav button{border-radius:0;min-width:0;padding:0 4px}.arrows{gap:22px}.week-nav button{font-size:8px;letter-spacing:.03em}.footer-main .text-button{padding:13px 15px;font-size:8px;min-height:46px}}
