/* CSS del curso maestro aprobado: valores originales; selectores aislados. */
:where(.ccp-template) .capsula-fpga-hero{
    width:100%;
    max-width:1240px;
    margin:0 auto;

    display:flex;
    align-items:center;
    justify-content:space-between;

    gap:55px;

    padding:70px 40px;

    background:transparent;

    color:#ffffff;

    box-sizing:border-box;
    overflow:visible;
}:where(.ccp-template) .capsula-fpga-copy{
    flex:1 1 46%;
    max-width:46%;
    min-width:320px;
}:where(.ccp-template) .capsula-fpga-title{
    margin:0 0 26px 0;

    font-size:46px;
    line-height:1.08;

    font-weight:800;
    letter-spacing:-0.8px;

    color:#ffffff;
}:where(.ccp-template) .capsula-fpga-title .blue{
    color:#198cff;

    text-shadow:
        0 0 14px rgba(25,140,255,.20);
}:where(.ccp-template) .capsula-fpga-sub{
    max-width:560px;

    margin:0 0 34px 0;

    font-size:17px;
    line-height:1.75;

    color:#d7e1ec;
}:where(.ccp-template) .capsula-fpga-features{
    display:flex;
    flex-wrap:nowrap;

    gap:0;

    margin-top:10px;
}:where(.ccp-template) .capsula-fpga-feature{
    position:relative;

    display:flex;
    align-items:center;

    gap:10px;

    padding:0 24px;

    color:#ffffff;

    font-size:15px;
    font-weight:700;

    white-space:nowrap;
}:where(.ccp-template) .capsula-fpga-feature:first-child{
    padding-left:0;
}:where(.ccp-template) .capsula-fpga-feature:not(:last-child)::after{
    content:"";

    position:absolute;

    right:0;
    top:50%;

    transform:translateY(-50%);

    width:1px;
    height:34px;

    background:rgba(72,131,187,.28);
}:where(.ccp-template) .capsula-fpga-feature svg{
    width:21px;
    height:21px;

    fill:none;
    stroke:#1e91ff;

    stroke-width:1.8;

    flex-shrink:0;
}:where(.ccp-template) .capsula-fpga-visual{
    position:relative;

    flex:1 1 54%;
    max-width:54%;

    min-width:320px;
    min-height:520px;

    display:flex;
    justify-content:flex-end;
    align-items:center;

    
    background:transparent !important;
    border:none !important;
    box-shadow:none !important;
    border-radius:0 !important;
}:where(.ccp-template) .capsula-fpga-visual::before{
    content:"";

    position:absolute;

    width:620px;
    height:620px;

    right:-20px;
    top:50%;

    transform:translateY(-50%);

    border-radius:50%;

    background:
        radial-gradient(
            circle,
            rgba(0,123,255,0.22) 0%,
            rgba(0,123,255,0.08) 36%,
            transparent 68%
        );

    filter:blur(22px);

    z-index:0;

    pointer-events:none;
}:where(.ccp-template) .capsula-fpga-board{
    position:relative;
    z-index:2;

    width:150%;
    max-width:980px;

    height:auto;

    display:block;

    transform:scale(1.24);
    transform-origin:center;

    background:transparent !important;

    border:none !important;
    box-shadow:none !important;
    border-radius:0 !important;

    filter:
        drop-shadow(0 0 14px rgba(0,140,255,.28))
        drop-shadow(0 0 34px rgba(0,100,255,.22))
        drop-shadow(0 32px 40px rgba(0,0,0,.44));

    transition:
        transform .3s ease,
        filter .3s ease;
}:where(.ccp-template) .capsula-fpga-board:hover{
    transform:scale(1.27) translateY(-3px);

    filter:
        drop-shadow(0 0 16px rgba(0,145,255,.34))
        drop-shadow(0 0 38px rgba(0,105,255,.26))
        drop-shadow(0 34px 42px rgba(0,0,0,.46));
}@media(max-width:1024px){

    .capsula-fpga-hero{
        gap:35px;
        padding:50px 28px;
    }:where(.ccp-template) .capsula-fpga-title{
        font-size:40px;
    }:where(.ccp-template) .capsula-fpga-copy{
        max-width:50%;
        flex-basis:50%;
    }:where(.ccp-template) .capsula-fpga-visual{
        max-width:50%;
        flex-basis:50%;

        min-height:400px;
    }:where(.ccp-template) .capsula-fpga-board{
        width:130%;
        max-width:760px;

        transform:scale(1.12);
    }:where(.ccp-template) .capsula-fpga-features{
        flex-wrap:wrap;
        gap:14px 0;
    }:where(.ccp-template) .capsula-fpga-visual::before{
        width:500px;
        height:500px;
    }
}@media(max-width:767px){

    .capsula-fpga-hero{
        flex-direction:column;

        gap:30px;

        padding:36px 18px 42px;
    }:where(.ccp-template) .capsula-fpga-copy,:where(.ccp-template) .capsula-fpga-visual{
        width:100%;
        max-width:100%;

        flex:1 1 100%;
    }:where(.ccp-template) .capsula-fpga-title{
        font-size:32px;
        line-height:1.13;
    }:where(.ccp-template) .capsula-fpga-sub{
        font-size:16px;
    }:where(.ccp-template) .capsula-fpga-features{
        flex-direction:column;

        gap:14px;

        align-items:flex-start;
    }:where(.ccp-template) .capsula-fpga-feature{
        padding:0;
    }:where(.ccp-template) .capsula-fpga-feature:not(:last-child)::after{
        display:none;
    }:where(.ccp-template) .capsula-fpga-visual{
        min-height:auto;
        justify-content:center;
    }:where(.ccp-template) .capsula-fpga-board{
        width:100%;
        max-width:560px;

        transform:none;
    }:where(.ccp-template) .capsula-fpga-board:hover{
        transform:translateY(-3px);
    }:where(.ccp-template) .capsula-fpga-visual::before{
        width:350px;
        height:350px;

        right:50%;

        transform:translate(50%,-50%);
    }
}:where(.ccp-template) .fpga-intro-section{
    position:relative;
    z-index:2;

    display:flex;
    align-items:center;
    justify-content:center;

    gap:60px;

    max-width:1100px;
    margin:0 auto;

    padding:55px 20px 65px;

    flex-wrap:wrap;

    color:#ffffff;
    background:transparent;
}:where(.ccp-template) .fpga-intro-text{
    position:relative;
    z-index:5;

    width:500px;
    max-width:100%;
}:where(.ccp-template) .fpga-intro-text h2{
    margin:0 0 25px;

    font-size:40px;
    line-height:1.2;
    font-weight:800;

    color:#ffffff;
}:where(.ccp-template) .fpga-intro-text p{
    margin:0 0 18px;

    font-size:18px;
    line-height:1.75;

    color:#d5dee7;
}:where(.ccp-template) .fpga-intro-text strong{
    color:#27a9ff;
}:where(.ccp-template) .fpga-intro-buttons{
    position:relative;
    z-index:999;

    display:flex;
    align-items:center;
    gap:14px;

    margin-top:28px;

    pointer-events:auto !important;
}:where(.ccp-template) .fpga-btn{
    position:relative;
    z-index:1000;

    min-width:172px;
    height:48px;

    padding:0 24px;

    display:inline-flex;
    align-items:center;
    justify-content:center;

    box-sizing:border-box;

    border-radius:8px;

    font-size:15px;
    font-weight:700;

    text-decoration:none !important;

    cursor:pointer !important;

    pointer-events:auto !important;

    transition:
        background .2s ease,
        border-color .2s ease,
        transform .2s ease,
        box-shadow .2s ease;
}:where(.ccp-template) .fpga-btn-inscripcion{
    color:#ffffff !important;

    background:#299df2;

    border:1px solid #299df2;

    box-shadow:
        0 8px 20px rgba(41,157,242,.16);
}:where(.ccp-template) .fpga-btn-inscripcion:hover{
    color:#ffffff !important;

    background:#168bff;

    border-color:#168bff;

    transform:translateY(-2px);

    box-shadow:
        0 10px 25px rgba(22,139,255,.24);
}:where(.ccp-template) .fpga-btn-brochure{
    color:#ffffff !important;

    background:transparent;

    border:1px solid #278bc9;
}:where(.ccp-template) .fpga-btn-brochure:hover{
    color:#ffffff !important;

    background:#10273a;

    border-color:#38a9ee;

    transform:translateY(-2px);
}:where(.ccp-template) .fpga-intro-image{
    position:relative;
    z-index:2;

    width:380px;
    max-width:100%;
}:where(.ccp-template) .fpga-intro-image img{
    display:block;

    width:100%;
    height:auto;

    border-radius:14px;

    border:1px solid rgba(39,169,255,.22);

    box-shadow:
        0 14px 32px rgba(0,0,0,.24);
}@media(max-width:768px){

    .fpga-intro-section{
        flex-direction:column;

        gap:32px;

        padding:35px 18px 45px;
    }:where(.ccp-template) .fpga-intro-text{
        width:100%;
    }:where(.ccp-template) .fpga-intro-text h2{
        font-size:30px;
    }:where(.ccp-template) .fpga-intro-text p{
        font-size:16px;
    }:where(.ccp-template) .fpga-intro-buttons{
        width:100%;

        flex-direction:column;
    }:where(.ccp-template) .fpga-btn{
        width:100%;
    }:where(.ccp-template) .fpga-intro-image{
        width:100%;
    }
}:where(.ccp-template) .fpga-accordion{
    width:100%;
    max-width:1100px;
    margin:40px auto;
    padding:0;
    font-family:Arial, sans-serif;
    box-sizing:border-box;
}:where(.ccp-template) .fpga-item{
    margin-bottom:14px;
    border-radius:14px;
    overflow:hidden;

    
    background:rgba(7,16,25,0.45);

    border:1px solid rgba(39,169,255,0.22);

    box-shadow:
        0 8px 24px rgba(0,0,0,0.12);

    transition:
        border-color .25s ease,
        box-shadow .25s ease;
}:where(.ccp-template) .fpga-item:hover{
    border-color:rgba(39,169,255,0.38);
}:where(.ccp-template) .fpga-item.active{
    border-color:rgba(39,169,255,0.42);

    box-shadow:
        0 10px 28px rgba(0,0,0,0.18);
}:where(.ccp-template) .fpga-title{
    width:100%;
    border:none;

    
    background:#102238;

    color:#ffffff;

    padding:20px 24px;

    font-size:21px;
    line-height:1.35;
    font-weight:700;

    text-align:left;

    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:20px;

    cursor:pointer;

    transition:
        background .25s ease,
        color .25s ease;

    box-sizing:border-box;
}:where(.ccp-template) .fpga-title:hover{
    background:#142c47;
}:where(.ccp-template) .fpga-title:focus{
    outline:2px solid rgba(39,169,255,0.55);
    outline-offset:-2px;
}:where(.ccp-template) .fpga-item.active .fpga-title{
    background:#12304d;
    color:#ffffff;
}:where(.ccp-template) .fpga-title span{
    flex:0 0 auto;

    font-size:28px;
    line-height:1;
    font-weight:400;

    color:#35afff;

    transition:
        transform .25s ease,
        color .25s ease;
}:where(.ccp-template) .fpga-item.active .fpga-title span{
    color:#ffffff;
}:where(.ccp-template) .fpga-content{
    display:none;

    
    background:rgba(7,16,25,0.72);

    padding:26px 32px 28px;

    color:#d5dee7;

    font-size:16px;
    line-height:1.75;

    border-top:1px solid rgba(39,169,255,0.16);

    box-sizing:border-box;
}:where(.ccp-template) .fpga-item.active .fpga-content{
    display:block;
}:where(.ccp-template) .fpga-content h3{
    margin:0 0 18px 0;

    font-size:19px;
    line-height:1.4;

    font-weight:700;

    color:#ffffff;
}:where(.ccp-template) .fpga-content ul{
    margin:0;
    padding-left:22px;
}:where(.ccp-template) .fpga-content li{
    margin-bottom:7px;
    padding-left:3px;

    color:#c8d5e1;
}:where(.ccp-template) .fpga-content li:last-child{
    margin-bottom:0;
}:where(.ccp-template) .fpga-content li::marker{
    color:#27a9ff;
}@media(max-width:768px){

    .fpga-accordion{
        margin:28px auto;
    }:where(.ccp-template) .fpga-item{
        margin-bottom:12px;
        border-radius:12px;
    }:where(.ccp-template) .fpga-title{
        font-size:17px;
        padding:17px 18px;
        gap:14px;
    }:where(.ccp-template) .fpga-title span{
        font-size:25px;
    }:where(.ccp-template) .fpga-content{
        font-size:15px;
        padding:22px 20px 24px;
    }:where(.ccp-template) .fpga-content h3{
        font-size:17px;
    }
}@media(max-width:480px){

    .fpga-accordion{
        margin:22px auto;
    }:where(.ccp-template) .fpga-title{
        font-size:15px;
        padding:15px 16px;
    }:where(.ccp-template) .fpga-title span{
        font-size:22px;
    }:where(.ccp-template) .fpga-content{
        padding:20px 17px;
        font-size:14px;
        line-height:1.7;
    }:where(.ccp-template) .fpga-content ul{
        padding-left:19px;
    }
}:where(.ccp-template) .capsula-final-cta{
    position:relative;

    width:100%;
    max-width:1100px;

    margin:70px auto 40px;

    padding:62px 34px;

    text-align:center;

    background:transparent;

    color:#ffffff;

    overflow:visible;
}:where(.ccp-template) .capsula-final-cta::before{
    content:"";

    position:absolute;

    inset:0;

    border-radius:28px;

    background:
        radial-gradient(
            ellipse at center,
            rgba(15,85,145,.18) 0%,
            rgba(10,45,78,.12) 38%,
            rgba(7,20,32,.05) 68%,
            transparent 100%
        );

    filter:blur(8px);

    pointer-events:none;
}:where(.ccp-template) .capsula-final-cta::after{
    content:"";

    position:absolute;

    left:8%;
    right:8%;
    top:18%;
    bottom:18%;

    border-radius:30px;

    background:
        linear-gradient(
            90deg,
            transparent 0%,
            rgba(20,105,175,.08) 20%,
            rgba(25,125,205,.11) 50%,
            rgba(20,105,175,.08) 80%,
            transparent 100%
        );

    filter:blur(20px);

    pointer-events:none;
}:where(.ccp-template) .capsula-final-content{
    position:relative;
    z-index:2;

    max-width:850px;
    margin:0 auto;
}:where(.ccp-template) .capsula-final-kicker{
    margin-bottom:14px;

    color:#299cff;

    font-size:12px;
    font-weight:800;

    letter-spacing:2px;

    text-transform:uppercase;
}:where(.ccp-template) .capsula-final-title{
    margin:0;

    color:#ffffff;

    font-size:42px;
    line-height:1.15;

    font-weight:800;

    letter-spacing:-.5px;

    text-shadow:
        0 0 14px rgba(30,135,255,.08);
}:where(.ccp-template) .capsula-final-text{
    max-width:680px;

    margin:20px auto 0;

    color:#c4d0dc;

    font-size:18px;
    line-height:1.7;
}:where(.ccp-template) .capsula-final-button{
    display:inline-flex;
    align-items:center;
    justify-content:center;

    min-width:230px;
    height:52px;

    margin-top:30px;

    padding:0 25px;

    border-radius:9px;

    border:1px solid rgba(45,155,255,.45);

    background:rgba(10,30,48,.28);

    color:#ffffff !important;

    font-size:14px;
    font-weight:700;

    text-decoration:none !important;

    transition:
        transform .2s ease,
        background .2s ease,
        border-color .2s ease,
        box-shadow .2s ease;
}:where(.ccp-template) .capsula-final-button:hover{
    transform:translateY(-2px);

    background:#168bff;

    border-color:#168bff;

    box-shadow:
        0 10px 26px rgba(22,139,255,.20);

    color:#ffffff !important;
}@media(max-width:768px){

    .capsula-final-cta{
        margin-top:50px;
        padding:46px 20px;
    }:where(.ccp-template) .capsula-final-title{
        font-size:31px;
    }:where(.ccp-template) .capsula-final-text{
        font-size:16px;
    }:where(.ccp-template) .capsula-final-button{
        width:100%;
        max-width:320px;
    }
}

/* Opciones compartidas; no afectan al curso maestro original. */
.ccp-template{overflow-x:clip}.ccp-template-main{padding:10px;display:flex;flex-direction:column;gap:20px}
.ccp-template .capsula-fpga-copy,.ccp-template .capsula-fpga-visual{min-width:0}
.ccp-template .ccp-no-image .capsula-fpga-copy,.ccp-template .ccp-no-image .fpga-intro-text{max-width:100%;width:100%;flex-basis:100%}
.ccp-template .ccp-image-left{flex-direction:row-reverse}
.ccp-template .ccp-size-small .capsula-fpga-board{width:110%;transform:scale(1)}
.ccp-template .ccp-size-large .capsula-fpga-board{width:170%;transform:scale(1.3)}
.ccp-template [hidden]{display:none!important}.ccp-template .ccp-template-projects,.ccp-template .ccp-template-extra{max-width:1100px;margin:40px auto}
.ccp-template .ccp-project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.ccp-template .ccp-project-grid iframe{border:0;width:100%;aspect-ratio:16/9}
.ccp-template .ccp-template-level{color:#27a9ff;font-weight:700}.ccp-template .capsula-fpga-sub{white-space:pre-line}
@media(max-width:1024px){.ccp-template .ccp-project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){.ccp-template .ccp-image-left{flex-direction:column}.ccp-template .ccp-size-small .capsula-fpga-board,.ccp-template .ccp-size-large .capsula-fpga-board{transform:none;width:100%}.ccp-template .ccp-project-grid{grid-template-columns:1fr}.ccp-template-main{padding:0}}
@media(prefers-reduced-motion:reduce){.ccp-template *{transition:none!important;animation:none!important}}
@media(max-width:768px){.ccp-template .ccp-image-left{flex-direction:column}}

/* Only the information row and complementary videos are adjusted. */
.ccp-template .capsula-fpga-features{flex-wrap:wrap;row-gap:12px}
.ccp-template .capsula-fpga-feature{max-width:100%;white-space:normal;min-width:0}
.ccp-template .capsula-fpga-feature svg{flex-shrink:0}
.ccp-template .capsula-fpga-feature span{overflow-wrap:anywhere}
.ccp-template .ccp-project-grid{max-width:1140px;margin-inline:auto;align-items:start}
.ccp-template .ccp-project-grid.ccp-video-count-1{grid-template-columns:minmax(0,560px);justify-content:center}
.ccp-template .ccp-project-grid.ccp-video-count-2{grid-template-columns:repeat(2,minmax(0,1fr));max-width:960px}
.ccp-template .ccp-project-grid article{min-width:0}
@media(max-width:767px){.ccp-template .ccp-project-grid.ccp-video-count-2,.ccp-template .ccp-project-grid.ccp-video-count-3{grid-template-columns:1fr}}
