
:root{
    --fs-orange:#f39a18;
    --fs-orange-deep:#d97900;
    --fs-ink:#090b0e;
    --fs-ink-2:#11151a;
    --fs-cream:#f5f2eb;
    --fs-white:#fff;
    --fs-muted:#9da5ad;
    --fs-line:rgba(255,255,255,.12);
    --fs-max:1280px;
    --fs-pad:clamp(22px,5vw,72px);
}
.fs-cine,*[class^="fs-"],*[class*=" fs-"]{box-sizing:border-box}
.fs-cine{margin:0;background:var(--fs-ink);color:#fff;font-family:Arial,Helvetica,sans-serif;overflow:hidden}
.fs-cine img{max-width:100%;display:block}
.fs-cine a{text-decoration:none;color:inherit}
.fs-shell{width:min(100%,var(--fs-max));margin:auto;padding-left:var(--fs-pad);padding-right:var(--fs-pad)}
.fs-section{position:relative}
.fs-label{display:inline-flex;align-items:center;gap:10px;font-size:clamp(11px,.8vw,13px);font-weight:800;letter-spacing:.15em;color:var(--fs-orange)}
.fs-label:before{content:"";width:32px;height:2px;background:currentColor}
.fs-label.dark{color:#9b5806}
.fs-cine h1,.fs-cine h2,.fs-cine h3,.fs-cine p{margin-top:0}
.fs-cine h2{font-size:clamp(42px,6vw,88px);line-height:.88;letter-spacing:-.055em;margin:14px 0 28px}
.fs-cine h2 em{font-style:normal;color:var(--fs-orange)}
.fs-btn{display:inline-flex;align-items:center;justify-content:center;gap:18px;min-height:58px;padding:0 24px;border:1px solid transparent;font-size:13px;font-weight:800;letter-spacing:.05em;transition:.28s}
.fs-btn span{font-size:20px}
.fs-btn-primary{background:var(--fs-orange);color:#0b0c0e}
.fs-btn-primary:hover{background:#ffad31;transform:translateY(-2px)}
.fs-btn-ghost{border-color:rgba(255,255,255,.25);background:rgba(0,0,0,.18)}
.fs-btn-ghost:hover{border-color:var(--fs-orange)}
.fs-btn-light{background:#fff;color:#111}
.fs-section-head{display:grid;grid-template-columns:1.4fr .75fr;gap:60px;align-items:end;margin-bottom:54px}
.fs-section-head>p{color:#71777c;font-size:17px;line-height:1.65;margin-bottom:8px}

/* HERO */
.fs-hero{position:relative;min-height:820px;background:#080a0c;display:flex;align-items:stretch}
.fs-hero-media{position:absolute;inset:0}
.fs-hero-media img{width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.8) contrast(1.05)}
.fs-hero-media:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,8,10,.96) 0%,rgba(7,8,10,.77) 42%,rgba(7,8,10,.26) 72%),linear-gradient(0deg,#080a0c 0%,transparent 35%)}
.fs-film-grain{position:absolute;inset:0;pointer-events:none;opacity:.12;background-image:radial-gradient(rgba(255,255,255,.55) .7px,transparent .8px);background-size:5px 5px;mix-blend-mode:soft-light;animation:fsGrain 10s linear infinite}
@keyframes fsGrain{to{background-position:43px 26px}}
.fs-timecode{position:absolute;top:24px;right:30px;z-index:3;font:700 10px/1 monospace;letter-spacing:.14em;color:rgba(255,255,255,.52)}
.fs-hero-inner{position:relative;z-index:3;width:100%;padding-top:110px;padding-bottom:100px;display:grid;grid-template-columns:1fr 320px;gap:70px;align-items:center}
.fs-hero-copy{max-width:850px}
.fs-kicker{font-size:12px;font-weight:800;letter-spacing:.17em;color:#f6b85e;margin-bottom:22px}
.fs-hero h1{font-size:clamp(62px,8.2vw,126px);line-height:.78;letter-spacing:-.072em;margin:0;text-transform:uppercase}
.fs-hero h1 em{font-style:normal;color:var(--fs-orange)}
.fs-hero-lead{font-size:clamp(19px,1.8vw,27px);line-height:1.35;max-width:650px;color:#e7e3db;margin:28px 0 30px}
.fs-hero-meta{display:flex;gap:0;border-top:1px solid var(--fs-line);border-bottom:1px solid var(--fs-line);max-width:720px;margin:32px 0}
.fs-hero-meta div{position:relative;flex:1;padding:18px 18px 17px;border-right:1px solid var(--fs-line)}
.fs-hero-meta div:last-child{border-right:0}
.fs-hero-meta span{position:absolute;top:8px;right:9px;color:#5d646c;font-size:10px}
.fs-hero-meta b{display:block;font-size:16px}
.fs-hero-meta small{display:block;margin-top:4px;color:#8b949d;font-size:11px}
.fs-hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.fs-section-nav{align-self:center;border-top:3px solid var(--fs-orange);background:rgba(9,11,14,.74);backdrop-filter:blur(12px)}
.fs-section-nav a{display:flex;align-items:center;gap:14px;min-height:64px;padding:0 18px;border-bottom:1px solid var(--fs-line);font-size:13px;font-weight:700;transition:.25s}
.fs-section-nav a:hover{background:rgba(243,154,24,.11);padding-left:23px}
.fs-section-nav span{color:var(--fs-orange);font:700 10px monospace}
.fs-scoreline{position:absolute;left:0;right:0;bottom:26px;height:50px;opacity:.38}
.fs-scoreline i{position:absolute;left:0;right:0;height:1px;background:rgba(255,255,255,.25)}
.fs-scoreline i:nth-child(1){top:5px}.fs-scoreline i:nth-child(2){top:15px}.fs-scoreline i:nth-child(3){top:25px}.fs-scoreline i:nth-child(4){top:35px}.fs-scoreline i:nth-child(5){top:45px}
.fs-scoreline .note{position:absolute;color:var(--fs-orange);font-size:21px;line-height:1}
.fs-scoreline .n1{left:18%;top:10px}.fs-scoreline .n2{left:33%;top:30px}.fs-scoreline .n3{left:66%;top:0}.fs-scoreline .n4{left:79%;top:20px}

/* PROGRAM */
.fs-program{padding:115px 0;background:#0c0f13}
.fs-program-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:70px;align-items:start}
.fs-program-copy>p{font-size:17px;line-height:1.7;color:#b1b8bf;max-width:720px}
.fs-program-copy .fs-intro{font-size:22px;color:#fff;line-height:1.52}
.fs-program-points{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#30343a;margin:42px 0 26px}
.fs-program-points article{background:#11151a;padding:25px 20px;min-height:190px}
.fs-program-points span{color:var(--fs-orange);font:700 11px monospace}
.fs-program-points b{display:block;font-size:18px;margin:18px 0 8px}
.fs-program-points p{color:#8e979f;font-size:13px!important;line-height:1.55!important}
.fs-resolution{display:inline-block;border:1px solid rgba(243,154,24,.35);color:#c7cbd0;padding:9px 12px;font-size:11px;letter-spacing:.05em}
.fs-form-card{position:sticky;top:110px;background:#f4f2ec;color:#111;padding:34px;border-top:6px solid var(--fs-orange);box-shadow:0 28px 60px rgba(0,0,0,.24)}
.fs-form-head span{font-size:11px;color:#a45c00;font-weight:800;letter-spacing:.13em}
.fs-form-head h3{font-size:40px;letter-spacing:-.04em;margin:8px 0}
.fs-form-head p{color:#5e6266;line-height:1.5;margin-bottom:24px}
.fs-elementor-form{color:#111}
.fs-elementor-form input,.fs-elementor-form select,.fs-elementor-form textarea{font-size:16px!important}

/* STUDY */
.fs-study{padding:120px 0;background:#f4f2ec;color:#0c0e10}
.fs-study h2 em{color:#7f4b0a}
.fs-study-head>p{color:#656a6f}
.fs-semester-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:22px}
.fs-semester-radio{position:absolute;opacity:0;pointer-events:none}
.fs-semester-tabs label{appearance:none;border:1px solid #c9c4b9;background:transparent;color:#2b2d2f;padding:13px 18px;font-size:13px;font-weight:800;cursor:pointer;transition:.25s;user-select:none}
.fs-semester-tabs label:hover{background:#e2ddd3;border-color:#a49e93}
#fs-sem-1:checked ~ .fs-semester-tabs label[for="fs-sem-1"],
#fs-sem-2:checked ~ .fs-semester-tabs label[for="fs-sem-2"],
#fs-sem-3:checked ~ .fs-semester-tabs label[for="fs-sem-3"],
#fs-sem-4:checked ~ .fs-semester-tabs label[for="fs-sem-4"]{background:#111;color:#fff;border-color:#111}
.fs-semesters{position:relative}
.fs-semester{display:none;grid-template-columns:110px 220px 1fr;gap:30px;align-items:start;border-top:1px solid #cbc6bb;padding:34px 0 0}
#fs-sem-1:checked ~ .fs-semesters [data-semester-panel="1"],
#fs-sem-2:checked ~ .fs-semesters [data-semester-panel="2"],
#fs-sem-3:checked ~ .fs-semesters [data-semester-panel="3"],
#fs-sem-4:checked ~ .fs-semesters [data-semester-panel="4"]{display:grid}
.fs-semester-number{font-size:74px;line-height:.8;font-weight:900;color:#d4cec1;letter-spacing:-.07em}
.fs-semester>div:nth-child(2)>span{color:#9e6217;font-size:10px;font-weight:900;letter-spacing:.13em}
.fs-semester h3{font-size:31px;margin:8px 0}
.fs-semester ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.fs-semester li{position:relative;background:#e6e1d7;padding:15px 17px;min-height:52px;font-size:14px;line-height:1.35}
.fs-semester li.featured{background:#111;color:#fff;border-left:4px solid var(--fs-orange)}

/* PROCESS */
.fs-process{min-height:780px;background:#080a0c;display:flex;align-items:center}
.fs-process-image{position:absolute;inset:0}
.fs-process-image img{width:100%;height:100%;object-fit:cover;filter:grayscale(.2) saturate(.65) brightness(.42)}
.fs-process-image:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,10,12,.96),rgba(8,10,12,.67) 60%,rgba(8,10,12,.34))}
.fs-process-shell{position:relative;z-index:2;padding-top:100px;padding-bottom:100px}
.fs-process-track{display:grid;grid-template-columns:repeat(6,1fr);margin-top:65px;border-top:1px solid rgba(255,255,255,.2)}
.fs-process-track article{position:relative;padding:24px 14px 20px;border-right:1px solid rgba(255,255,255,.12)}
.fs-process-track article:before{content:"";position:absolute;top:-5px;left:12px;width:9px;height:9px;border-radius:50%;background:var(--fs-orange)}
.fs-process-track span{color:#737c84;font:700 10px monospace}
.fs-process-track b{display:block;font-size:18px;margin:13px 0 5px}
.fs-process-track small{color:#7f8992;font-size:11px}
.fs-timeline{display:flex;align-items:center;gap:8px;margin-top:60px;color:#737b83;font:700 9px monospace}
.fs-timeline i{height:25px;width:1px;background:#5e646a}
.fs-timeline i:nth-of-type(3){height:44px;background:var(--fs-orange)}
.fs-timeline span:first-child{margin-right:auto}.fs-timeline span:last-child{margin-left:auto}

/* PROFILE */
.fs-profile{padding:120px 0;background:#fff;color:#101214}
.fs-profile h2 em{color:#a76510}
.fs-profile-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:54px}
.fs-profile-photo{position:relative;min-height:580px;background:#111;overflow:hidden}
.fs-profile-photo img{width:100%;height:100%;object-fit:cover;filter:saturate(.75)}
.fs-photo-caption{position:absolute;left:0;right:0;bottom:0;padding:16px 18px;background:rgba(9,10,12,.85);color:#fff;font-size:10px;letter-spacing:.15em}
.fs-capabilities{display:grid;gap:1px;background:#dedbd4}
.fs-capabilities article{display:grid;grid-template-columns:66px 1fr;gap:18px;background:#f2efe8;padding:30px}
.fs-capabilities span{color:#a4630d;font:800 12px monospace}
.fs-capabilities h3{font-size:24px;margin:0 0 8px;letter-spacing:-.03em}
.fs-capabilities p{color:#62676b;line-height:1.6;margin:0}

/* FACILITIES */
.fs-facilities{padding:120px 0;background:#0d1014}
.fs-facilities .fs-section-head>p{color:#959da5}
.fs-facility-collage{display:grid;grid-template-columns:1.3fr .7fr;grid-template-rows:310px 310px;gap:12px}
.fs-facility-collage figure{position:relative;margin:0;overflow:hidden;background:#111}
.fs-facility-collage figure.large{grid-row:1/3}
.fs-facility-collage img{width:100%;height:100%;object-fit:cover;filter:saturate(.72);transition:.6s}
.fs-facility-collage figure:hover img{transform:scale(1.025);filter:saturate(.9)}
.fs-facility-collage figcaption{position:absolute;left:14px;bottom:14px;background:#090b0e;color:#fff;padding:8px 11px;font-size:10px;font-weight:800;letter-spacing:.1em}

/* MEDIA */
.fs-media{padding:110px 0;background:#f1eee7;color:#101214}
.fs-media h2 em{color:#a76510}
.fs-media-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:60px;align-items:center}
.fs-media-grid>div>p{color:#62676b;font-size:17px;line-height:1.65;margin-bottom:28px}
.fs-vimeo-card{background:#111;border-top:5px solid var(--fs-orange);box-shadow:0 24px 55px rgba(0,0,0,.16)}
.fs-vimeo-frame{position:relative;width:100%;aspect-ratio:16/9;background:#000;overflow:hidden}
.fs-vimeo-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.fs-vimeo-caption{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 18px;background:#111;color:#fff}
.fs-vimeo-caption span{color:var(--fs-orange);font:800 10px/1 monospace;letter-spacing:.12em}
.fs-vimeo-caption b{font-size:16px;letter-spacing:-.02em}

/* CTA + PAYMENTS */
.fs-cta{background:var(--fs-orange);color:#0b0c0e;padding:80px 0}
.fs-cta .fs-label{color:#593200}
.fs-cta .fs-label:before{background:#593200}
.fs-cta h2{font-size:clamp(38px,5.6vw,76px);margin-bottom:0}
.fs-cta h2 em{color:#fff}
.fs-cta-inner{display:grid;grid-template-columns:1fr auto;gap:50px;align-items:end}
.fs-payments{padding:72px 0;background:#efebe2;color:#111}
.fs-payment-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#cbc5b9;margin-top:24px}
.fs-payment-grid article{background:#f7f4ee;padding:25px 20px}
.fs-payment-grid span{color:#9d631a;font:800 10px monospace}
.fs-payment-grid b{display:block;margin-top:18px;font-size:18px}

/* REVEAL */
.fs-cine [data-reveal]{opacity:0;transform:translateY(18px);transition:.7s cubic-bezier(.2,.7,.2,1)}
.fs-cine [data-reveal].is-visible{opacity:1;transform:none}

/* RESPONSIVE */
@media(max-width:1050px){
    .fs-hero-inner{grid-template-columns:1fr;gap:45px;padding-top:90px}
    .fs-section-nav{display:grid;grid-template-columns:repeat(2,1fr)}
    .fs-program-grid,.fs-profile-grid,.fs-media-grid{grid-template-columns:1fr}
    .fs-form-card{position:relative;top:auto}
    .fs-program-points{grid-template-columns:1fr 1fr}
    .fs-semester{grid-template-columns:90px 180px 1fr}
    .fs-process-track{grid-template-columns:repeat(3,1fr)}
    .fs-process-track article:nth-child(-n+3){border-bottom:1px solid rgba(255,255,255,.12)}
}
@media(max-width:760px){
    .fs-section-head{grid-template-columns:1fr;gap:8px}
    .fs-hero{min-height:auto}
    .fs-hero-inner{padding-top:70px;padding-bottom:100px}
    .fs-hero h1{font-size:clamp(48px,15vw,76px);line-height:.82}
    .fs-hero-lead{font-size:18px}
    .fs-hero-meta{display:grid;grid-template-columns:1fr}
    .fs-hero-meta div{border-right:0;border-bottom:1px solid var(--fs-line)}
    .fs-hero-meta div:last-child{border-bottom:0}
    .fs-section-nav{grid-template-columns:1fr}
    .fs-program,.fs-study,.fs-profile,.fs-facilities,.fs-media{padding-top:84px;padding-bottom:84px}
    .fs-program-points{grid-template-columns:1fr}
    .fs-semester-tabs{display:grid;grid-template-columns:1fr 1fr}
    .fs-semester{grid-template-columns:1fr;gap:12px}
    .fs-semester-number{font-size:54px}
    .fs-semester ul{grid-template-columns:1fr}
    .fs-process{min-height:auto}
    .fs-process-shell{padding-top:85px;padding-bottom:85px}
    .fs-process-track{grid-template-columns:1fr 1fr}
    .fs-process-track article{min-height:120px}
    .fs-profile-photo{min-height:420px}
    .fs-facility-collage{grid-template-columns:1fr;grid-template-rows:360px 240px 240px}
    .fs-facility-collage figure.large{grid-row:auto}
    .fs-vimeo-card{min-height:0}
    .fs-cta-inner{grid-template-columns:1fr;align-items:start}
    .fs-payment-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:430px){
    .fs-btn{width:100%}
    .fs-semester-tabs{grid-template-columns:1fr}
    .fs-payment-grid{grid-template-columns:1fr}
    .fs-process-track{grid-template-columns:1fr}
    .fs-vimeo-caption{align-items:flex-start;flex-direction:column}
}
@media(prefers-reduced-motion:reduce){
    .fs-film-grain{animation:none}
    .fs-facility-collage img,.fs-video-card>img{transition:none}
}

.fs-semester-radio:focus-visible + .fs-semester-radio + .fs-semester-radio + .fs-semester-radio + .fs-semester-tabs label,
.fs-semester-tabs label:focus-visible{outline:3px solid rgba(243,154,24,.45);outline-offset:3px}


/* =========================================================
   V1.3 — PLAN DE ESTUDIOS / TRES EJES
   Inspirado en la estructura visual suministrada:
   cuatro semestres visibles + tres áreas de enfoque.
   ========================================================= */

.fs-study{
    background:#f6f6f7;
    color:#11151a;
    padding:108px 0 118px;
}
.fs-curriculum-head{
    text-align:center;
    max-width:880px;
    margin:0 auto 34px;
}
.fs-curriculum-head .fs-label{
    justify-content:center;
}
.fs-curriculum-head h2{
    margin:15px 0 16px;
    font-size:clamp(48px,6vw,82px);
    line-height:.92;
    letter-spacing:-.055em;
}
.fs-curriculum-head h2 em{
    font-style:normal;
    color:#3549c9;
}
.fs-curriculum-head>p{
    max-width:760px;
    margin:0 auto;
    color:#60666d;
    font-size:16px;
    line-height:1.65;
}

.fs-track-filters{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px;
    max-width:760px;
    margin:38px auto 10px;
}
.fs-track-pill{
    min-height:48px;
    border:0;
    border-radius:12px;
    padding:0 18px;
    font-size:18px;
    font-weight:800;
    cursor:pointer;
    transition:transform .25s ease,box-shadow .25s ease,opacity .25s ease;
}
.fs-track-pill:hover{
    transform:translateY(-2px);
}
.fs-track-pill.is-active{
    box-shadow:0 0 0 4px rgba(53,73,201,.12),0 10px 26px rgba(35,45,127,.14);
}
.fs-track-arr{
    background:#d5d7f0;
    color:#171a25;
}
.fs-track-comp{
    background:#565bd1;
    color:#fff;
}
.fs-track-film{
    background:#232d7f;
    color:#fff;
}
.fs-track-help{
    text-align:center;
    color:#7d8288!important;
    font-size:12px!important;
    margin:0 auto 38px!important;
}

.fs-curriculum-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:26px;
    align-items:start;
}
.fs-curriculum-semester h3{
    margin:0 0 15px;
    text-align:center;
    font-size:22px;
    line-height:1.1;
    letter-spacing:-.03em;
}
.fs-curriculum-semester ul{
    list-style:none;
    padding:0;
    margin:0;
    display:grid;
    gap:7px;
}
.fs-subject{
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:42px;
    padding:8px 11px;
    text-align:center;
    border-radius:7px;
    font-size:12px;
    line-height:1.16;
    font-weight:500;
    transition:opacity .28s ease,transform .28s ease,filter .28s ease,box-shadow .28s ease;
}
.fs-subject-base{
    background:#ececed;
    color:#22262b;
}
.fs-subject-arr{
    background:#d5d7f0;
    color:#181b25;
}
.fs-subject-comp{
    background:#565bd1;
    color:#fff;
}
.fs-subject-film{
    background:#232d7f;
    color:#fff;
}

/* Filter states */
.fs-curriculum-grid[data-active-track] .fs-subject{
    opacity:.24;
    filter:saturate(.35);
}
.fs-curriculum-grid[data-active-track="arrangements"] .fs-subject[data-track="arrangements"],
.fs-curriculum-grid[data-active-track="composition"] .fs-subject[data-track="composition"],
.fs-curriculum-grid[data-active-track="filmscoring"] .fs-subject[data-track="filmscoring"]{
    opacity:1;
    filter:none;
    transform:translateY(-2px);
    box-shadow:0 8px 20px rgba(35,45,127,.16);
}
.fs-curriculum-grid[data-active-track] .fs-subject-base{
    opacity:.35;
}

.fs-curriculum-legend{
    display:flex;
    justify-content:center;
    flex-wrap:wrap;
    gap:18px 26px;
    margin-top:34px;
    color:#6b7076;
    font-size:11px;
}
.fs-curriculum-legend span{
    display:flex;
    align-items:center;
    gap:7px;
}
.fs-curriculum-legend i{
    width:12px;
    height:12px;
    border-radius:3px;
    display:inline-block;
}
.fs-curriculum-legend .arr{background:#d5d7f0}
.fs-curriculum-legend .comp{background:#565bd1}
.fs-curriculum-legend .film{background:#232d7f}
.fs-curriculum-legend .base{background:#ececed;border:1px solid #d7d7d9}

@media(max-width:1000px){
    .fs-curriculum-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:34px 22px;
    }
}
@media(max-width:700px){
    .fs-study{
        padding:82px 0 90px;
    }
    .fs-track-filters{
        grid-template-columns:1fr;
        max-width:420px;
    }
    .fs-track-pill{
        min-height:50px;
        font-size:17px;
    }
    .fs-curriculum-grid{
        grid-template-columns:1fr;
        gap:34px;
        max-width:520px;
        margin:auto;
    }
    .fs-curriculum-semester h3{
        font-size:24px;
    }
    .fs-subject{
        min-height:46px;
        font-size:13px;
    }
}


/* =========================================================
   V1.4 — PLAN DE ESTUDIOS / PALETA ALINEADA AL DISEÑO GENERAL
   Negro / crema / naranja / ámbar / cobre.
   ========================================================= */

.fs-study{
    background:#f4f2ec;
    color:#11151a;
}
.fs-curriculum-head h2 em{
    color:var(--fs-orange);
}
.fs-curriculum-head>p{
    color:#666b72;
}
.fs-track-help{
    color:#7f878f!important;
}

/* Paleta del programa */
.fs-track-arr{
    background:#f3ddbc;   /* arena / ámbar claro */
    color:#2d2216;
}
.fs-track-comp{
    background:#f39a18;   /* naranja principal */
    color:#11151a;
}
.fs-track-film{
    background:#8a5310;   /* cobre profundo */
    color:#fff6ea;
}
.fs-track-pill.is-active{
    box-shadow:0 0 0 4px rgba(243,154,24,.14),0 12px 30px rgba(121,71,8,.18);
}

.fs-subject-base{
    background:#ebe6dc;
    color:#23262a;
}
.fs-subject-arr{
    background:#f3ddbc;
    color:#2d2216;
}
.fs-subject-comp{
    background:#f39a18;
    color:#11151a;
}
.fs-subject-film{
    background:#8a5310;
    color:#fff6ea;
}

/* Estados del filtro */
.fs-curriculum-grid[data-active-track] .fs-subject{
    opacity:.26;
    filter:saturate(.4);
}
.fs-curriculum-grid[data-active-track] .fs-subject-base{
    opacity:.34;
}
.fs-curriculum-grid[data-active-track="arrangements"] .fs-subject[data-track="arrangements"],
.fs-curriculum-grid[data-active-track="composition"] .fs-subject[data-track="composition"],
.fs-curriculum-grid[data-active-track="filmscoring"] .fs-subject[data-track="filmscoring"]{
    opacity:1;
    filter:none;
    transform:translateY(-2px);
    box-shadow:0 10px 24px rgba(95,61,16,.18);
}

.fs-curriculum-legend{
    color:#696e74;
}
.fs-curriculum-legend .arr{background:#f3ddbc}
.fs-curriculum-legend .comp{background:#f39a18}
.fs-curriculum-legend .film{background:#8a5310}
.fs-curriculum-legend .base{background:#ebe6dc;border:1px solid #d8d1c5}


/* =========================================================
   V1.5 — INTEGRACIÓN REAL CON EL TEMA DE WORDPRESS
   Full bleed + formulario Elementor 10613.
   ========================================================= */

/*
 * El tema institucional limita el área de contenido.
 * Este breakout hace que SOLO nuestra landing vuelva al ancho
 * completo del viewport, sin modificar el header ni el footer.
 */
body.fs-cine-tv-page .fs-cine{
    position:relative!important;
    left:50%!important;
    width:100vw!important;
    max-width:100vw!important;
    margin-left:-50vw!important;
    margin-right:-50vw!important;
    overflow-x:clip!important;
}

/* Las secciones pintan de borde a borde; .fs-shell sigue limitando
   el contenido interno a la medida editorial del diseño. */
body.fs-cine-tv-page .fs-cine > section{
    width:100%!important;
    max-width:none!important;
    margin-left:0!important;
    margin-right:0!important;
}

/* Evita restricciones heredadas por builders/tema sobre nuestro main. */
body.fs-cine-tv-page .fs-cine,
body.fs-cine-tv-page .fs-cine .fs-section{
    padding-left:0;
    padding-right:0;
}

/* Mantener una separación limpia respecto al header institucional. */
body.fs-cine-tv-page .fs-hero{
    margin-top:0!important;
}

/* ---------------------------------------------------------
   FORMULARIO ELEMENTOR REAL — TEMPLATE 10613
   --------------------------------------------------------- */

/* Quitamos la tarjeta crema duplicada. Elementor ya trae su propia interfaz. */
body.fs-cine-tv-page .fs-form-card{
    position:sticky;
    top:120px;
    min-width:0;
    padding:0!important;
    background:transparent!important;
    color:inherit!important;
    border:0!important;
    border-top:5px solid var(--fs-orange)!important;
    box-shadow:0 24px 52px rgba(0,0,0,.18)!important;
}

/* Etiqueta mínima de integración, sin repetir "Inscríbete aquí". */
body.fs-cine-tv-page .fs-form-badge{
    display:flex;
    align-items:center;
    min-height:38px;
    padding:0 14px;
    background:#11151a;
    color:#f3a333;
    font-size:10px;
    font-weight:900;
    letter-spacing:.13em;
}

/* Elementor no debe mantener anchos máximos internos heredados. */
body.fs-cine-tv-page .fs-elementor-form{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    overflow:visible;
}
body.fs-cine-tv-page .fs-elementor-form > .elementor,
body.fs-cine-tv-page .fs-elementor-form .elementor-section,
body.fs-cine-tv-page .fs-elementor-form .elementor-container,
body.fs-cine-tv-page .fs-elementor-form .e-con,
body.fs-cine-tv-page .fs-elementor-form .e-con-inner{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
}

/* Evita márgenes externos del template que rompan la columna. */
body.fs-cine-tv-page .fs-elementor-form > .elementor{
    margin:0!important;
}
body.fs-cine-tv-page .fs-elementor-form .elementor-section-wrap{
    width:100%!important;
}

/* Campos y selects: lectura correcta dentro de la columna. */
body.fs-cine-tv-page .fs-elementor-form input,
body.fs-cine-tv-page .fs-elementor-form select,
body.fs-cine-tv-page .fs-elementor-form textarea{
    max-width:100%!important;
    box-sizing:border-box!important;
}

/* El formulario puede crecer en altura sin cortar sus últimos campos. */
body.fs-cine-tv-page .fs-program-grid{
    align-items:start;
}
body.fs-cine-tv-page .fs-form-card,
body.fs-cine-tv-page .fs-elementor-form{
    height:auto!important;
    max-height:none!important;
}

/* Más aire para equilibrar el formulario real, que es más alto
   que el mockup del prototipo. */
body.fs-cine-tv-page .fs-program{
    padding-top:clamp(90px,8vw,125px);
    padding-bottom:clamp(105px,9vw,145px);
}
body.fs-cine-tv-page .fs-program-grid{
    grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);
    gap:clamp(44px,5vw,76px);
}
body.fs-cine-tv-page .fs-program-copy{
    padding-top:12px;
}

/* Mantener la lectura del texto mientras el formulario es alto. */
body.fs-cine-tv-page .fs-program-copy>p{
    max-width:680px;
}

/* ---------------------------------------------------------
   Compatibilidad con barras de administración / responsive
   --------------------------------------------------------- */
@media(max-width:1100px){
    body.fs-cine-tv-page .fs-program-grid{
        grid-template-columns:1fr;
    }
    body.fs-cine-tv-page .fs-form-card{
        position:relative;
        top:auto;
        width:min(100%,720px);
        margin:0 auto;
    }
}

@media(max-width:782px){
    body.fs-cine-tv-page .fs-cine{
        /* WordPress admin bar no altera el cálculo del breakout. */
        width:100vw!important;
        max-width:100vw!important;
    }
    body.fs-cine-tv-page .fs-form-badge{
        min-height:36px;
        font-size:9px;
    }
}

@supports not (overflow:clip){
    body.fs-cine-tv-page .fs-cine{
        overflow-x:hidden!important;
    }
}


/* =========================================================
   V1.6 — CORRECCIÓN DE COLOR EN TÍTULOS SOBRE FONDO OSCURO
   El tema activo estaba heredando gris oscuro en H1/H2.
   ========================================================= */

/* HERO */
body.fs-cine-tv-page .fs-hero h1,
body.fs-cine-tv-page .fs-hero h1 span{
    color:#ffffff!important;
    -webkit-text-fill-color:#ffffff!important;
}
body.fs-cine-tv-page .fs-hero h1 em{
    color:var(--fs-orange)!important;
    -webkit-text-fill-color:var(--fs-orange)!important;
}

/* SOBRE EL PROGRAMA */
body.fs-cine-tv-page .fs-program h2{
    color:#ffffff!important;
    -webkit-text-fill-color:#ffffff!important;
}
body.fs-cine-tv-page .fs-program h2 em{
    color:var(--fs-orange)!important;
    -webkit-text-fill-color:var(--fs-orange)!important;
}

/* DE LA PARTITURA A LA IMAGEN */
body.fs-cine-tv-page .fs-process h2{
    color:#ffffff!important;
    -webkit-text-fill-color:#ffffff!important;
}
body.fs-cine-tv-page .fs-process h2 em{
    color:var(--fs-orange)!important;
    -webkit-text-fill-color:var(--fs-orange)!important;
}

/* INSTALACIONES */
body.fs-cine-tv-page .fs-facilities h2{
    color:#ffffff!important;
    -webkit-text-fill-color:#ffffff!important;
}
body.fs-cine-tv-page .fs-facilities h2 em{
    color:var(--fs-orange)!important;
    -webkit-text-fill-color:var(--fs-orange)!important;
}

/* Textos secundarios sobre fondos oscuros también quedan legibles */
body.fs-cine-tv-page .fs-program .fs-intro{
    color:#ffffff!important;
}
body.fs-cine-tv-page .fs-program-copy>p:not(.fs-intro),
body.fs-cine-tv-page .fs-facilities .fs-section-head>p{
    color:#b9c0c7!important;
}

/* Mantener títulos de secciones claras en oscuro */
body.fs-cine-tv-page .fs-study h2,
body.fs-cine-tv-page .fs-profile h2,
body.fs-cine-tv-page .fs-media h2{
    color:#11151a!important;
    -webkit-text-fill-color:#11151a!important;
}
body.fs-cine-tv-page .fs-study h2 em,
body.fs-cine-tv-page .fs-profile h2 em,
body.fs-cine-tv-page .fs-media h2 em{
    -webkit-text-fill-color:currentColor!important;
}

/* CTA naranja: base oscura y énfasis blanco */
body.fs-cine-tv-page .fs-cta h2{
    color:#0b0c0e!important;
    -webkit-text-fill-color:#0b0c0e!important;
}
body.fs-cine-tv-page .fs-cta h2 em{
    color:#ffffff!important;
    -webkit-text-fill-color:#ffffff!important;
}
