:root{--ink:#111317;--paper:#f7f5f0;--white:#fff;--red:#d71920;--red-dark:#a70f15;--gold:#d6a84b;--muted:#626873;--line:#dedbd4;--max:1180px;--shadow:0 22px 60px rgba(17,19,23,.13)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:400 1rem/1.7 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button,a{touch-action:manipulation}.skip{position:absolute;left:-9999px}.skip:focus{left:1rem;top:1rem;z-index:99;background:#fff;padding:.7rem 1rem}.wrap{width:min(var(--max),calc(100% - 2rem));margin:auto}.topbar{background:#0c0d10;color:#fff;font-size:.82rem;letter-spacing:.04em}.topbar .wrap{display:flex;justify-content:space-between;gap:1rem;padding:.48rem 0}.header{position:sticky;top:0;z-index:20;background:rgba(247,245,240,.94);backdrop-filter:blur(14px);border-bottom:1px solid rgba(17,19,23,.09)}.nav{min-height:80px;display:flex;align-items:center;justify-content:space-between;gap:2rem}.brand{display:flex;align-items:center;gap:.75rem;font:900 1.2rem/1 Arial Black,Impact,sans-serif;letter-spacing:.07em}.mark{display:grid;place-items:center;width:43px;height:43px;border-radius:50%;background:var(--red);color:#fff;font-size:1.45rem;box-shadow:inset 0 0 0 4px #fff,inset 0 0 0 6px var(--red)}.links{display:flex;align-items:center;gap:1.2rem;font-size:.9rem;font-weight:750}.links a:hover,.links a:focus{color:var(--red)}.button{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:48px;padding:.72rem 1.15rem;border-radius:4px;background:var(--red);color:#fff;font-weight:850;text-transform:uppercase;letter-spacing:.04em;border:2px solid var(--red);transition:.2s}.button:hover,.button:focus{background:var(--red-dark);border-color:var(--red-dark);transform:translateY(-1px)}.button.alt{background:transparent;color:inherit;border-color:currentColor}.menu{display:none;border:0;background:transparent;font-size:1.5rem}.hero{position:relative;min-height:680px;display:grid;align-items:end;background:#17191e;color:#fff;overflow:hidden}.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,9,11,.9) 0%,rgba(8,9,11,.56) 48%,rgba(8,9,11,.18)),var(--hero) center/cover no-repeat}.hero:after{content:"";position:absolute;left:0;right:0;bottom:0;height:8px;background:linear-gradient(90deg,var(--red) 0 68%,var(--gold) 68%)}.hero .wrap{position:relative;padding:7rem 0 6rem}.eyebrow{display:inline-flex;align-items:center;gap:.6rem;margin:0 0 1rem;color:var(--gold);font-weight:850;text-transform:uppercase;letter-spacing:.14em;font-size:.82rem}.eyebrow:before{content:"";width:38px;height:3px;background:currentColor}.hero h1,.page-hero h1{max-width:850px;margin:0;font:900 clamp(3.2rem,8vw,7rem)/.9 Arial Black,Impact,sans-serif;letter-spacing:-.035em;text-transform:uppercase}.hero p{max-width:650px;font-size:clamp(1.08rem,2vw,1.35rem);color:#ececec}.actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.7rem}.stats{margin-top:-1px;background:#111317;color:#fff}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr)}.stat{padding:1.5rem;border-right:1px solid #303238}.stat:last-child{border:0}.stat strong{display:block;color:var(--gold);font:900 1.8rem Arial Black,Impact,sans-serif}.section{padding:5.5rem 0}.section.white{background:#fff}.section.dark{background:#111317;color:#fff}.section.red{background:var(--red);color:#fff}.section-head{max-width:760px;margin-bottom:2.5rem}.section-head h2,.split h2{margin:.2rem 0 1rem;font:900 clamp(2.2rem,5vw,4rem)/1 Arial Black,Impact,sans-serif;text-transform:uppercase;letter-spacing:-.025em}.section-head p,.split p{color:var(--muted);font-size:1.06rem}.dark .section-head p,.dark .split p{color:#bfc2c8}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}.card{background:#fff;border:1px solid var(--line);box-shadow:0 12px 34px rgba(17,19,23,.06);overflow:hidden}.dark .card{background:#1b1d22;border-color:#303238}.card img{width:100%;aspect-ratio:4/3;object-fit:cover}.card-body{padding:1.5rem}.card h3{margin:0 0 .55rem;font:900 1.35rem/1.1 Arial Black,Impact,sans-serif;text-transform:uppercase}.card p{margin:0;color:var(--muted)}.dark .card p{color:#bfc2c8}.split{display:grid;grid-template-columns:1.05fr .95fr;gap:4rem;align-items:center}.media{position:relative}.media img{width:100%;min-height:480px;object-fit:cover;box-shadow:var(--shadow)}.media:after{content:"";position:absolute;width:35%;height:35%;right:-14px;bottom:-14px;border-right:8px solid var(--red);border-bottom:8px solid var(--red)}.page-hero{padding:8rem 0 5rem;background:#111317;color:#fff;border-bottom:8px solid var(--red)}.page-hero p{max-width:720px;font-size:1.2rem;color:#c8cbd0}.list{display:grid;gap:.8rem;padding:0;list-style:none}.list li{padding:1rem 1rem 1rem 1.2rem;background:#fff;border-left:5px solid var(--red);box-shadow:0 8px 20px rgba(17,19,23,.05)}.dark .list li{background:#1d2025}.locations{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.location{padding:1.6rem;background:#fff;border-top:6px solid var(--red);box-shadow:var(--shadow)}.location h3{margin:.2rem 0 .6rem;font:900 1.35rem Arial Black,Impact,sans-serif;text-transform:uppercase}.location address{font-style:normal;color:var(--muted)}.schedule-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.schedule-grid img{width:100%;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow)}.cta{display:flex;justify-content:space-between;gap:2rem;align-items:center}.cta h2{margin:0;font:900 clamp(2rem,5vw,4rem)/1 Arial Black,Impact,sans-serif;text-transform:uppercase}.footer{background:#090a0c;color:#b9bdc5;padding:4rem 0 2rem}.footer-grid{display:grid;grid-template-columns:1.3fr repeat(3,1fr);gap:2rem}.footer h3{color:#fff;font-size:1rem;text-transform:uppercase}.footer a:hover{color:#fff}.legal{border-top:1px solid #292c31;margin-top:3rem;padding-top:1.5rem;display:flex;justify-content:space-between;gap:1rem;font-size:.85rem}.prose{max-width:820px}.prose h2{font:900 1.8rem Arial Black,Impact,sans-serif;text-transform:uppercase;margin-top:2rem}.prose a{color:var(--red);text-decoration:underline}.note{padding:1rem 1.2rem;background:#fff3d4;border-left:5px solid var(--gold)}
@media(max-width:900px){.menu{display:block}.links{display:none;position:absolute;left:0;right:0;top:80px;background:var(--paper);padding:1rem;flex-direction:column;align-items:stretch;border-bottom:1px solid var(--line)}.links.open{display:flex}.hero{min-height:600px}.stat-grid{grid-template-columns:repeat(2,1fr)}.stat:nth-child(2){border-right:0}.split{grid-template-columns:1fr;gap:2rem}.grid3,.locations,.schedule-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}.cta{align-items:flex-start;flex-direction:column}}
@media(max-width:560px){.topbar{display:none}.nav{min-height:68px}.links{top:68px}.brand{font-size:.98rem}.hero .wrap{padding:5rem 0}.hero h1,.page-hero h1{font-size:2.8rem}.section{padding:4rem 0}.stat-grid{grid-template-columns:1fr}.stat{border-right:0;border-bottom:1px solid #303238}.footer-grid{grid-template-columns:1fr}.legal{flex-direction:column}.media img{min-height:320px}}
/* MORUMBI_BRAND_SCHEDULE_V1 */
.brand .brand-logo{display:block;width:auto;height:54px;object-fit:contain}.footer .brand-logo{height:64px;filter:brightness(0) invert(1)}.schedule-hero{background:#0b0c0e;color:#fff;padding:clamp(4.5rem,9vw,8.5rem) 0 4.5rem;overflow:hidden;position:relative}.schedule-hero:after{background:linear-gradient(135deg,transparent 45%,rgba(210,26,34,.32));content:"";inset:0;pointer-events:none;position:absolute}.schedule-hero .wrap{position:relative;z-index:1}.schedule-hero h1{font-size:clamp(3rem,7.6vw,7rem);letter-spacing:-.065em;line-height:.88;margin:.35rem 0 1.5rem;max-width:950px;text-transform:uppercase}.schedule-hero p:last-child{color:#d7d7d7;font-size:1.12rem;max-width:650px}.schedule-app-section{background:#f2f2f0;padding:clamp(2.5rem,6vw,5rem) 0}.schedule-app{background:#fff;border:1px solid #d8d8d5;box-shadow:0 24px 60px rgba(0,0,0,.08);padding:clamp(1.25rem,3vw,2.5rem)}.schedule-toolbar{align-items:end;display:flex;gap:2rem;justify-content:space-between}.schedule-tabs{display:flex;flex-wrap:wrap;gap:.55rem}.schedule-tabs button{background:#fff;border:1px solid #b8b8b5;color:#161719;cursor:pointer;font:700 .92rem/1.2 inherit;padding:.85rem 1.15rem}.schedule-tabs button[aria-selected="true"]{background:#17181a;border-color:#17181a;color:#fff}.schedule-filter{display:grid;gap:.4rem;min-width:190px}.schedule-filter label{font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.schedule-filter select{background:#fff;border:1px solid #aaa;font:inherit;padding:.78rem}.schedule-location-card{align-items:center;border-bottom:1px solid #ddd;display:flex;gap:1.5rem;justify-content:space-between;margin:1.75rem 0 0;padding:0 0 1.3rem}.schedule-location-card h2{font-size:clamp(1.6rem,3vw,2.35rem);margin:0}.schedule-location-card p{color:#646568;margin:.25rem 0 0}.schedule-location-card a{font-weight:800;text-decoration:underline}.schedule-status{padding:2rem 0;text-align:center}.schedule-days{display:grid;gap:1.1rem;margin-top:1.35rem}.schedule-day{border-top:3px solid #17181a;display:grid;gap:1rem;grid-template-columns:170px 1fr;padding-top:1.15rem}.schedule-day-heading p{color:#696a6d;margin:.2rem 0}.schedule-day-heading h3{font-size:1.35rem;margin:0}.schedule-slot-list{display:grid;gap:.65rem}.schedule-slot{align-items:center;background:#f7f7f5;border:1px solid #dededb;display:grid;gap:1rem;grid-template-columns:105px 1fr auto;padding:1rem}.schedule-slot-time{font-size:1.05rem;font-weight:900}.schedule-slot h4{font-size:1rem;margin:0}.schedule-slot p{color:#696a6d;font-size:.86rem;margin:.2rem 0 0}.slot-book{background:#cf1f2a;border:0;color:#fff;cursor:pointer;font:800 .78rem/1 inherit;letter-spacing:.05em;padding:.8rem 1rem;text-transform:uppercase}.slot-book:hover,.slot-book:focus-visible{background:#a9151e}.schedule-empty,.schedule-error{background:#fff5f4;border-left:4px solid #cf1f2a;padding:1rem}.schedule-note .split{align-items:start}.schedule-points{display:grid;gap:.8rem}.schedule-points p{border-top:1px solid #ccc;display:grid;gap:.25rem;margin:0;padding-top:.85rem}.schedule-points span{color:#666}.booking-dialog{border:0;box-shadow:0 24px 80px rgba(0,0,0,.35);max-height:90vh;max-width:680px;padding:clamp(1.4rem,4vw,2.6rem);width:calc(100% - 2rem)}.booking-dialog::backdrop{background:rgba(0,0,0,.72)}.dialog-close{background:transparent;border:0;cursor:pointer;font-size:2rem;line-height:1;position:absolute;right:1rem;top:.7rem}.booking-dialog h2{font-size:clamp(1.8rem,4vw,3rem);margin:.25rem 0}.booking-selection{background:#f2f2f0;border-left:4px solid #cf1f2a;padding:1rem}.form-grid{display:grid;gap:1rem;grid-template-columns:1fr 1fr}.form-grid label{display:grid;font-size:.84rem;font-weight:800;gap:.35rem}.form-grid input{border:1px solid #aaa;font:inherit;padding:.75rem}.consent{align-items:start;display:flex;font-size:.82rem;gap:.6rem;margin:1.2rem 0}.booking-error{background:#fff2f1;border-left:4px solid #cf1f2a;padding:.8rem}.booking-submit{border:0;cursor:pointer;width:100%}.booking-submit[disabled]{cursor:wait;opacity:.65}.booking-success{text-align:center}.booking-success .button{border:0;cursor:pointer;margin-top:1rem}.brand .mark{display:none}@media(max-width:760px){.brand .brand-logo{height:42px}.footer .brand-logo{height:52px}.schedule-toolbar{align-items:stretch;flex-direction:column}.schedule-filter{min-width:0}.schedule-day{grid-template-columns:1fr}.schedule-slot{grid-template-columns:85px 1fr}.slot-book{grid-column:1/-1}.form-grid{grid-template-columns:1fr}.booking-dialog{max-height:94vh;overflow:auto}.schedule-hero h1{letter-spacing:-.045em}}

/* MORUMBI_CHALLENGE_NAV_SHIMMER_V1 */
.links a.button[href="/morumbi/6-week-challenge/"]{
    position:relative;
    isolation:isolate;
    overflow:hidden;
    background:linear-gradient(135deg,#c8131a 0%,#ed343b 52%,#b80d14 100%);
    border-color:#d71920;
    box-shadow:0 7px 20px rgba(215,25,32,.28);
    animation:morumbi-challenge-glow 4.2s ease-in-out infinite;
}
.links a.button[href="/morumbi/6-week-challenge/"]::before{
    content:"";
    position:absolute;
    z-index:0;
    top:-70%;
    bottom:-70%;
    left:-45%;
    width:32%;
    pointer-events:none;
    background:linear-gradient(
        90deg,
        transparent,
        rgba(255,255,255,.78),
        transparent
    );
    transform:skewX(-20deg) translateX(-350%);
    animation:morumbi-challenge-shine 4.2s ease-in-out infinite;
}
.links a.button[href="/morumbi/6-week-challenge/"]:hover,
.links a.button[href="/morumbi/6-week-challenge/"]:focus-visible{
    background:linear-gradient(135deg,#ad0e14 0%,#db2028 52%,#920a0f 100%);
    border-color:#ad0e14;
    box-shadow:0 9px 25px rgba(215,25,32,.38);
}
@keyframes morumbi-challenge-shine{
    0%,58%{transform:skewX(-20deg) translateX(-350%)}
    78%,100%{transform:skewX(-20deg) translateX(650%)}
}
@keyframes morumbi-challenge-glow{
    0%,100%{box-shadow:0 7px 20px rgba(215,25,32,.25)}
    50%{box-shadow:0 8px 27px rgba(215,25,32,.44)}
}
@media (prefers-reduced-motion:reduce){
    .links a.button[href="/morumbi/6-week-challenge/"],
    .links a.button[href="/morumbi/6-week-challenge/"]::before{
        animation:none;
    }
}