/* =========================================================
   YHE Corporate / Public & Student Brand Layer
   SPRINT 15.2 + 15.3 Public Experience
   ========================================================= */

:root{
    --yhe-dark:#1B292B;
    --yhe-bg:#F5EFE6;
    --yhe-green:#5FA081;
    --yhe-accent:#E7FE41;
    --yhe-blue:#3D6063;
    --yhe-success:#7DBE98;
    --yhe-warning:#EACB70;
    --yhe-danger:#D97B7B;
    --yhe-info:#7DA8BE;
    --yhe-text:#1F2A2C;
    --yhe-text-soft:#5E6A6C;
    --yhe-text-light:#8A9597;
    --yhe-surface:#FFFFFF;
    --yhe-surface-soft:#FAF7F2;
    --yhe-border:#E8E3DA;
    --yhe-radius-sm:10px;
    --yhe-radius-md:16px;
    --yhe-radius-lg:24px;
    --yhe-shadow-sm:0 2px 10px rgba(0,0,0,.04);
    --yhe-shadow-md:0 8px 24px rgba(0,0,0,.06);
    --yhe-shadow-lg:0 20px 48px rgba(0,0,0,.08);
    --yhe-transition:.25s ease;

    --yhe-ink:var(--yhe-dark);
    --yhe-muted:var(--yhe-text-soft);
    --yhe-soft:var(--yhe-surface-soft);
}

body{
    background:var(--yhe-bg);
    color:var(--yhe-text);
    line-height:1.6;
	
	min-height:100vh;
    display:flex;
    flex-direction:column;
}

main{
    flex: 1;
}

.navbar{
    letter-spacing:.01em;
}

.btn{
    border-radius:999px;
}

.card{
    border-radius:var(--yhe-radius-md);
}

.table th{
    font-size:.78rem;
    text-transform:uppercase;
    letter-spacing:.05em;
    color:var(--yhe-muted);
}

.alert{
    border-radius:1rem;
}

.form-control,
.form-select{
    border-radius:.9rem;
    border-color:var(--yhe-border);
    padding:.85rem 1rem;
}

.form-control:focus,
.form-select:focus{
    border-color:var(--yhe-green);
    box-shadow:0 0 0 4px rgba(95,160,129,.15);
}

/* =========================================================
   Public Navbar
   ========================================================= */

.yhe-navbar{
    background:rgba(245,239,230,.9);
    backdrop-filter:blur(14px);
    -webkit-backdrop-filter:blur(14px);
    border-bottom:1px solid rgba(27,41,43,.07);
    padding:.85rem 0;
    transition:all .25s ease;
}

.yhe-navbar .container{
    gap:1rem;
}

.yhe-logo{
    display:inline-flex;
    align-items:center;
    text-decoration:none;
}

.yhe-logo img{
    height:46px;
    width:auto;
    display:block;
}

.yhe-nav-link{
    color:var(--yhe-dark);
    font-weight:600;
    padding:.65rem .9rem !important;
    border-radius:14px;
    transition:all .2s ease;
}

.yhe-nav-link:hover,
.yhe-nav-link:focus{
    background:rgba(95,160,129,.1);
    color:var(--yhe-green);
}

.btn-yhe-outline{
    border:1px solid rgba(27,41,43,.14);
    background:rgba(255,255,255,.75);
    color:var(--yhe-dark);
    border-radius:999px;
    padding:.62rem 1rem;
    font-weight:700;
    transition:all .2s ease;
}

.btn-yhe-outline:hover,
.btn-yhe-outline:focus{
    background:var(--yhe-dark);
    border-color:var(--yhe-dark);
    color:#fff;
    transform:translateY(-1px);
}

.btn-yhe{
    background:var(--yhe-dark);
    color:#fff;
    border:1px solid var(--yhe-dark);
    border-radius:999px;
    padding:.62rem 1.05rem;
    font-weight:700;
    box-shadow:0 10px 22px rgba(27,41,43,.14);
    transition:all .2s ease;
}

.btn-yhe:hover,
.btn-yhe:focus{
    background:var(--yhe-blue);
    border-color:var(--yhe-blue);
    color:#fff;
    transform:translateY(-1px);
}

.btn-dark{
    background:var(--yhe-dark);
    border-color:var(--yhe-dark);
}

.btn-outline-dark:hover{
    background:var(--yhe-dark);
    border-color:var(--yhe-dark);
}

/* =========================================================
   Hero / Public Sections
   ========================================================= */

.yhe-section{
    padding:clamp(2.5rem,6vw,5rem) 0;
}

.yhe-hero{
    background:
        linear-gradient(135deg, rgba(245,239,230,.96), rgba(255,255,255,.92)),
        radial-gradient(circle at top right, rgba(231,254,65,.28), transparent 26rem);
    border:1px solid var(--yhe-border);
    border-radius:2rem;
    padding:clamp(2rem,5vw,5rem);
    box-shadow:var(--yhe-shadow-sm);
}

.yhe-kicker{
    color:var(--yhe-green);
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.08em;
    font-size:.78rem;
}

.yhe-alert{
    border:none;
    border-radius:18px;
    padding:1rem 1.25rem;
}

/* =========================================================
   SPRINT 15.3.5 — Continuity screens
   login / mi-proceso / recuperar-acceso / activar
   ========================================================= */

.yhe-continuity-section{
    background:
        radial-gradient(circle at top left, rgba(231,254,65,.18), transparent 28rem),
        linear-gradient(180deg, rgba(245,239,230,.9), rgba(250,247,242,.94));
}

.yhe-continuity-shell{
    background:rgba(255,255,255,.78);
    border:1px solid rgba(232,227,218,.9);
    border-radius:32px;
    padding:clamp(1.5rem,4vw,3rem);
    box-shadow:var(--yhe-shadow-md);
    overflow:hidden;
}

.yhe-continuity-header{
    max-width:760px;
}

.yhe-continuity-copy,
.yhe-auth-card,
.yhe-lookup-card,
.yhe-status-card,
.yhe-process-timeline,
.yhe-activation-card{
    position:relative;
}

.yhe-auth-card,
.yhe-lookup-card,
.yhe-status-card,
.yhe-activation-card{
    background:rgba(255,255,255,.92);
    border:1px solid var(--yhe-border);
    border-radius:28px;
    box-shadow:var(--yhe-shadow-sm);
    padding:clamp(1.5rem,4vw,2.25rem);
}

.yhe-auth-card{
    max-width:560px;
    margin-left:auto;
}

.yhe-lookup-card,
.yhe-status-card,
.yhe-process-timeline,
.yhe-activation-card{
    max-width:820px;
}

.yhe-continuity-points{
    display:grid;
    gap:.9rem;
    margin-top:1.5rem;
}

.yhe-continuity-point{
    display:flex;
    gap:.8rem;
    align-items:flex-start;
    background:rgba(255,255,255,.62);
    border:1px solid rgba(232,227,218,.9);
    border-radius:18px;
    padding:.9rem 1rem;
}

.yhe-continuity-point span{
    display:inline-grid;
    place-items:center;
    width:26px;
    height:26px;
    flex:0 0 26px;
    border-radius:999px;
    background:rgba(95,160,129,.14);
    color:var(--yhe-green);
    font-weight:800;
}

.yhe-continuity-point p{
    margin:0;
    color:var(--yhe-text-soft);
}

.yhe-continuity-note{
    background:rgba(231,254,65,.22);
    border:1px solid rgba(27,41,43,.08);
    border-radius:22px;
    padding:1rem 1.1rem;
    color:var(--yhe-dark);
    font-weight:600;
}

.yhe-auth-links{
    display:flex;
    gap:.85rem;
    flex-wrap:wrap;
    font-size:.94rem;
}

.yhe-auth-links a{
    color:var(--yhe-blue);
    font-weight:700;
    text-decoration:none;
}

.yhe-auth-links a:hover{
    color:var(--yhe-green);
    text-decoration:underline;
}

.yhe-status-card__top{
    display:flex;
    justify-content:space-between;
    gap:1rem;
    align-items:flex-start;
    margin-bottom:1rem;
}

.yhe-status-pill{
    display:inline-flex;
    align-items:center;
    border-radius:999px;
    background:rgba(95,160,129,.12);
    color:var(--yhe-green);
    padding:.45rem .8rem;
    font-size:.84rem;
    font-weight:800;
}

.yhe-process-timeline{
    display:grid;
    gap:.85rem;
}

.yhe-process-step{
    display:flex;
    align-items:center;
    gap:1rem;
    background:rgba(255,255,255,.72);
    border:1px solid var(--yhe-border);
    border-radius:22px;
    padding:1rem;
    transition:var(--yhe-transition);
}

.yhe-process-step.is-reached{
    background:linear-gradient(135deg, rgba(95,160,129,.12), rgba(255,255,255,.9));
    border-color:rgba(95,160,129,.28);
}

.yhe-process-step__marker{
    display:inline-grid;
    place-items:center;
    width:42px;
    height:42px;
    flex:0 0 42px;
    border-radius:999px;
    background:rgba(27,41,43,.08);
    color:var(--yhe-dark);
    font-weight:800;
}

.yhe-process-step.is-reached .yhe-process-step__marker{
    background:var(--yhe-green);
    color:#fff;
}

.yhe-process-step__content{
    display:flex;
    flex-direction:column;
    gap:.15rem;
}

.yhe-process-step__content span{
    color:var(--yhe-text-soft);
    font-size:.92rem;
}

.yhe-activation-card{
    max-width:720px;
}

.yhe-activation-icon{
    width:72px;
    height:72px;
    display:inline-grid;
    place-items:center;
    border-radius:999px;
    margin-bottom:1rem;
    font-size:2rem;
    font-weight:900;
}

.yhe-activation-icon.is-success{
    background:rgba(95,160,129,.16);
    color:var(--yhe-green);
}

.yhe-activation-icon.is-warning{
    background:rgba(234,203,112,.22);
    color:#9f7a20;
}

/* =========================================================
   Responsive
   ========================================================= */

@media(max-width:991.98px){
    .yhe-logo img{
        height:40px;
    }

    .yhe-navbar .navbar-collapse{
        padding-top:1rem;
    }

    .yhe-navbar .navbar-nav{
        align-items:stretch !important;
        gap:.35rem;
    }

    .yhe-nav-link,
    .btn-yhe,
    .btn-yhe-outline{
        width:100%;
        justify-content:center;
        text-align:center;
    }

    .yhe-auth-card{
        max-width:none;
        margin-left:0;
    }
}

@media(max-width:768px){
    .table-responsive{
        border-radius:1rem;
    }

    .container{
        padding-left:1rem;
        padding-right:1rem;
    }

    .display-4{
        font-size:2.2rem;
    }

    .yhe-continuity-shell,
    .yhe-auth-card,
    .yhe-lookup-card,
    .yhe-status-card,
    .yhe-activation-card{
        border-radius:24px;
    }

    .yhe-process-step{
        align-items:flex-start;
    }
}

/* =========================================================
   SPRINT 15.3.2 — Hero Panel
   ========================================================= */

.yhe-home-hero{
    position:relative;
    overflow:hidden;
}
/*
.yhe-home-hero::before{
    content:"";
    position:absolute;
    width:22rem;
    height:22rem;
    right:-8rem;
    top:-8rem;
    background:rgba(231,254,65,.24);
    border-radius:999px;
    filter:blur(8px);
    pointer-events:none;
}
*/

.yhe-home-hero::before{
    content:"";
    position:absolute;

    width:88rem;
    height:88rem;

    right:-1rem;
    top:-20rem;

    background-image:url("/assets/img/brand/yhe-symbol-dark.png");
    background-repeat:no-repeat;
    background-position:center;
    background-size:contain;

    opacity:.02;

    pointer-events:none;
    z-index:0;
}

.yhe-hero-title span{
    display:block;
    color:var(--yhe-green);
}

.yhe-hero-copy{
    color:var(--yhe-text-soft);
    max-width:38rem;
}

.yhe-hero-panel{
    position:relative;
    z-index:1;
    background:var(--yhe-dark);
    color:#fff;
    border-radius:2rem;
    padding:clamp(1.75rem,4vw,3rem);
    box-shadow:0 28px 70px rgba(27,41,43,.22);
    overflow:hidden;
}

/*
.yhe-hero-panel::after{
    content:"";
    position:absolute;
    right:-5rem;
    bottom:-5rem;
    width:16rem;
    height:16rem;
    background:rgba(231,254,65,.18);
    border-radius:999px;
    pointer-events:none;
}
*/

.yhe-hero-panel h2{
    color:#fff;
    position:relative;
    z-index:1;
}

.yhe-hero-panel-badge{
    position:relative;
    z-index:1;
    display:inline-flex;
    align-items:center;
    padding:.4rem .75rem;
    margin-bottom:1.5rem;
    border-radius:999px;
    background:rgba(231,254,65,.14);
    color:var(--yhe-accent);
    border:1px solid rgba(231,254,65,.28);
    font-size:.78rem;
    font-weight:800;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.yhe-hero-panel-copy{
    position:relative;
    z-index:1;
    color:rgba(255,255,255,.86) !important;
    font-size:1.02rem;
}

.yhe-hero-mini-grid{
    position:relative;
    z-index:1;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:.75rem;
}

.yhe-hero-mini-grid div{
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.12);
    border-radius:1rem;
    padding:.85rem 1rem;
    font-weight:700;
    color:#fff;
}

.btn-yhe-accent{
    position:relative;
    z-index:1;
    background:var(--yhe-accent);
    color:var(--yhe-dark);
    border:1px solid var(--yhe-accent);
    border-radius:999px;
    padding:.85rem 1.1rem;
    font-weight:800;
    box-shadow:0 14px 28px rgba(231,254,65,.16);
}

.btn-yhe-accent:hover,
.btn-yhe-accent:focus{
    background:#dff23e;
    border-color:#dff23e;
    color:var(--yhe-dark);
    transform:translateY(-1px);
}


/* =========================================================
   SPRINT 15.3.2 — Hero Trust Pills
   ========================================================= */

.yhe-hero-trust{
    margin-top:1.25rem;
}

.yhe-trust-pill{
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:3rem;
    padding:.75rem 1rem;
    border-radius:999px;
    background:rgba(255,255,255,.72);
    border:1px solid rgba(27,41,43,.08);
    color:var(--yhe-dark);
    font-size:.86rem;
    font-weight:800;
    letter-spacing:.01em;
    box-shadow:0 10px 24px rgba(27,41,43,.05);
    transition:all .22s ease;
}

.yhe-trust-pill:hover{
    transform:translateY(-2px);
    background:rgba(231,254,65,.38);
    border-color:rgba(231,254,65,.72);
}

.yhe-trust-pill::before{
    content:"✓";
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:1.25rem;
    height:1.25rem;
    margin-right:.45rem;
    border-radius:999px;
    background:var(--yhe-green);
    color:#fff;
    font-size:.72rem;
    font-weight:900;
}

/* =========================================================
   SPRINT 15.3.3 — Plans
   ========================================================= */

.yhe-plan-card{

    position:relative;

    background:#fff;

    border:1px solid rgba(27,41,43,.08);

    border-radius:2rem;

    padding:2rem;

    height:100%;

    overflow:hidden;

    box-shadow:0 18px 40px rgba(27,41,43,.06);

    transition:
        transform .22s ease,
        box-shadow .22s ease,
        border-color .22s ease;

}

.yhe-plan-card:hover{

    transform:translateY(-4px);

    box-shadow:0 30px 60px rgba(27,41,43,.12);

    border-color:rgba(95,160,129,.22);

}

.yhe-plan-card.featured{

    background:linear-gradient(
        135deg,
        rgba(255,255,255,.96),
        rgba(245,239,230,.95)
    );

    border-color:rgba(231,254,65,.55);

}

.yhe-plan-badge{

    display:inline-flex;

    align-items:center;

    padding:.45rem .85rem;

    border-radius:999px;

    background:rgba(231,254,65,.22);

    color:var(--yhe-dark);

    font-size:.75rem;

    font-weight:800;

    letter-spacing:.08em;

    text-transform:uppercase;

    margin-bottom:1rem;

}

.yhe-plan-title{

    font-size:1.8rem;

    font-weight:800;

    margin-bottom:.75rem;

    color:var(--yhe-dark);

}

.yhe-plan-copy{

    color:var(--yhe-text-soft);

    margin-bottom:1.5rem;

    line-height:1.7;

}

.yhe-plan-price{

    display:flex;

    align-items:flex-end;

    gap:.35rem;

    margin-bottom:1.5rem;

}

.yhe-plan-price strong{

    font-size:3rem;

    line-height:1;

    color:var(--yhe-dark);

}

.yhe-plan-price span{

    color:var(--yhe-text-soft);

    margin-bottom:.35rem;

}

.yhe-plan-features{

    display:flex;

    flex-direction:column;

    gap:.9rem;

    margin-bottom:2rem;

}

.yhe-plan-feature{

    display:flex;

    align-items:flex-start;

    gap:.75rem;

    color:var(--yhe-text);

}

.yhe-plan-feature::before{

    content:"✓";

    flex-shrink:0;

    width:1.35rem;

    height:1.35rem;

    border-radius:999px;

    display:flex;

    align-items:center;

    justify-content:center;

    background:rgba(95,160,129,.14);

    color:var(--yhe-green);

    font-size:.75rem;

    font-weight:900;

}

/* =========================================================
   SPRINT 15.3.4 — Trial Class
   ========================================================= */

.yhe-trial-layout{

    display:grid;

    grid-template-columns:
        minmax(0,1fr)
        minmax(340px,480px);

    gap:2rem;

    align-items:start;

}

.yhe-trial-panel{

    background:linear-gradient(
        145deg,
        rgba(255,255,255,.96),
        rgba(245,239,230,.92)
    );

    border:1px solid rgba(27,41,43,.08);

    border-radius:2rem;

    padding:clamp(1.5rem,4vw,3rem);

    box-shadow:0 24px 54px rgba(27,41,43,.08);

}

.yhe-trial-panel h1,
.yhe-trial-panel h2{

    color:var(--yhe-dark);

}

.yhe-trial-copy{

    color:var(--yhe-text-soft);

    line-height:1.8;

}

.yhe-trial-benefits{

    display:grid;

    grid-template-columns:repeat(2,minmax(0,1fr));

    gap:1rem;

    margin-top:2rem;

}

.yhe-trial-benefit{

    background:#fff;

    border:1px solid rgba(27,41,43,.06);

    border-radius:1.25rem;

    padding:1rem;

    font-weight:700;

    box-shadow:0 10px 22px rgba(27,41,43,.04);

}

.yhe-trial-benefit small{

    display:block;

    margin-top:.35rem;

    color:var(--yhe-text-soft);

    font-weight:500;

}

.yhe-trial-form{

    background:#fff;

    border:1px solid rgba(27,41,43,.08);

    border-radius:2rem;

    padding:clamp(1.5rem,4vw,2.5rem);

    box-shadow:0 22px 52px rgba(27,41,43,.08);

}

@media(max-width:991.98px){

    .yhe-trial-layout{

        grid-template-columns:1fr;

    }

}

/* =========================================================
   SPRINT 15.3.3 — Plans Intro
   ========================================================= */

.yhe-plans-intro{
    max-width:760px;
    position:relative;
}

.yhe-plans-intro .yhe-kicker{
    background:rgba(231,254,65,.5);
    color:var(--yhe-dark);
    border:1px solid rgba(27,41,43,.08);
    border-radius:999px;
    padding:.42rem .85rem;
    font-size:.78rem;
    font-weight:900;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.yhe-plans-intro h1{
    color:var(--yhe-dark);
    letter-spacing:-.035em;
}

.yhe-plans-intro .lead{
    color:var(--yhe-text-soft) !important;
    max-width:620px;
    margin-left:auto;
    margin-right:auto;
}

.yhe-plans-meta{
    display:flex;
    flex-wrap:wrap;
    gap:.75rem;
}

.yhe-plans-meta span{
    display:inline-flex;
    align-items:center;
    gap:.45rem;
    padding:.55rem .9rem;
    border-radius:999px;
    background:#fff;
    border:1px solid rgba(27,41,43,.08);
    color:var(--yhe-dark);
    font-size:.84rem;
    font-weight:800;
    box-shadow:0 10px 22px rgba(27,41,43,.04);
}

.yhe-plans-meta span::before{
    content:"✓";
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:1.2rem;
    height:1.2rem;
    border-radius:999px;
    background:rgba(95,160,129,.14);
    color:var(--yhe-green);
    font-size:.68rem;
    font-weight:900;
}

/* =========================================================
   SPRINT 15.3.4 — Trial Header
   ========================================================= */

.yhe-trial-header{
    max-width:720px;
}

.yhe-trial-header h1{
    color:var(--yhe-dark);
    letter-spacing:-.03em;
    line-height:1.05;
}

.yhe-trial-copy{
    color:var(--yhe-text-soft);
    font-size:1.05rem;
    line-height:1.8;
    max-width:620px;
}

/*
  Todo lo que encontraras en tu proceso
*/

.yhe-home-included-section {
    background:
        radial-gradient(circle at top left, rgba(231, 254, 65, 0.08), transparent 32%),
        linear-gradient(180deg, #F5EFE6 0%, #ffffff 100%);
}

.yhe-section-heading {
    max-width: 760px;
}

.yhe-included-card {
    height: 100%;
    padding: 1.6rem;
    border-radius: 28px;
    background: rgba(255, 255, 255, 0.78);
    border: 1px solid rgba(27, 41, 43, 0.08);
    box-shadow: 0 18px 45px rgba(27, 41, 43, 0.08);
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.yhe-included-card:hover {
    transform: translateY(-4px);
    border-color: rgba(95, 160, 129, 0.32);
    box-shadow: 0 24px 60px rgba(27, 41, 43, 0.12);
}

.yhe-included-icon {
    width: 48px;
    height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 18px;
    background: rgba(95, 160, 129, 0.13);
    font-size: 1.35rem;
    margin-bottom: 1.1rem;
}

.yhe-included-card h3 {
    font-size: 1.05rem;
    /* font-weight: 800; */
    color: #1B292B;
    margin-bottom: .65rem;
}

.yhe-included-card p {
    color: rgba(27, 41, 43, 0.72) !important;
    line-height: 1.65;
    margin-bottom: 0;
}

.yhe-included-card-accent {
    background:
        linear-gradient(135deg, rgba(27, 41, 43, 0.96), rgba(61, 96, 99, 0.96));
    border-color: rgba(231, 254, 65, 0.18);
}

.yhe-included-card-accent h3,
.yhe-included-card-accent p {
    color: rgba(255, 255, 255, 0.9) !important;
}

.yhe-included-card-accent .yhe-included-icon {
    background: rgba(231, 254, 65, 0.16);
}

.yhe-home-demo-section {
    background:
        radial-gradient(circle at 85% 15%, rgba(231, 254, 65, 0.14), transparent 30%),
        linear-gradient(180deg, #ffffff 0%, #F5EFE6 100%);
}

.yhe-demo-box {
    position: relative;
    overflow: hidden;
    border-radius: 36px;
    padding: clamp(2rem, 5vw, 4rem);
    background:
        linear-gradient(135deg, rgba(27, 41, 43, 0.98), rgba(61, 96, 99, 0.94));
    color: #fff;
    box-shadow: 0 28px 80px rgba(27, 41, 43, 0.22);
}
/*
.yhe-demo-box::before {
    content: "";
    position: absolute;
    inset: auto -12% -36% auto;
    width: 420px;
    height: 420px;
    border-radius: 50%;
    background: rgba(231, 254, 65, 0.12);
    filter: blur(8px);
}
*/

.yhe-demo-box::before{
    content:"";
    position:absolute;

    width:88rem;
    height:88rem;

    right:-1rem;
    top:-22rem;

    background-image:url("/assets/img/brand/yhe-symbol-lime.png");
    background-repeat:no-repeat;
    background-position:center;
    background-size:contain;

    opacity:.04;

    pointer-events:none;
    z-index:0;
}
.yhe-demo-box > .row {
    position: relative;
    z-index: 1;
}

.yhe-kicker-light {
    background: rgba(255, 255, 255, 0.1);
    color: rgba(255, 255, 255, 0.86);
    border-color: rgba(255, 255, 255, 0.18);
}

.yhe-demo-box h2,
.yhe-demo-box .lead {
    color: #fff !important;
}

.yhe-demo-box .lead {
    max-width: 720px;
    color: rgba(255, 255, 255, 0.82) !important;
    line-height: 1.7;
}

.yhe-demo-benefit {
    height: 100%;
    display: flex;
    align-items: center;
    gap: .75rem;
    padding: .9rem 1rem;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.08);
    color: rgba(255, 255, 255, 0.9);
    border: 1px solid rgba(255, 255, 255, 0.12);
}

.yhe-demo-benefit span {
    width: 26px;
    height: 26px;
    flex: 0 0 26px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: rgba(231, 254, 65, 0.18);
    color: #E7FE41;
    font-weight: 800;
}

.yhe-demo-card {
    padding: 2rem;
    border-radius: 28px;
    background: rgba(245, 239, 230, 0.95);
    color: #1B292B;
    box-shadow: 0 24px 65px rgba(0, 0, 0, 0.18);
}

.yhe-demo-card-label {
    display: inline-flex;
    margin-bottom: 1rem;
    padding: .4rem .75rem;
    border-radius: 999px;
    background: rgba(95, 160, 129, 0.14);
    color: #3D6063;
    font-size: .78rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .08em;
}

.yhe-demo-card h3 {
    font-size: clamp(1.35rem, 2.5vw, 1.85rem);
    font-weight: 800;
    line-height: 1.2;
    margin-bottom: 1rem;
    color: #1B292B;
}

.yhe-demo-card p {
    color: rgba(27, 41, 43, 0.76) !important;
    line-height: 1.65;
    margin-bottom: 1.25rem;
}

.yhe-demo-mini {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
}

.yhe-demo-mini span {
    display: inline-flex;
    padding: .45rem .7rem;
    border-radius: 999px;
    background: rgba(95, 160, 129, 0.13);
    color: #1B292B;
    font-size: .82rem;
    font-weight: 700;
}


.yhe-trial-page {
    background:
        radial-gradient(circle at top left, rgba(231, 254, 65, 0.08), transparent 34%),
        linear-gradient(180deg, #F5EFE6 0%, #ffffff 100%);
}

.yhe-trial-header {
    text-align: center;
}

.yhe-trial-copy {
    max-width: 680px;
    margin: 0 auto;
    color: rgba(27, 41, 43, 0.74) !important;
    font-size: 1.12rem;
    line-height: 1.75;
}

.yhe-trial-card {
    border-radius: 32px;
    background: rgba(255, 255, 255, 0.86);
    border: 1px solid rgba(27, 41, 43, 0.08);
    box-shadow: 0 24px 70px rgba(27, 41, 43, 0.10);
}

.yhe-form-intro {
    padding: 1rem 1.15rem;
    border-radius: 22px;
    background: rgba(95, 160, 129, 0.10);
}

.yhe-form-intro p {
    color: rgba(27, 41, 43, 0.70) !important;
}

.yhe-footer {
    position: relative;
    overflow: hidden;
    background:
        linear-gradient(180deg, #142224 0%, #1B292B 100%);
}

.yhe-footer::before {
    content: "";
    position: absolute;
    inset: auto -120px -140px auto;
    width: 520px;
    height: 520px;

    background:
        url('/assets/img/brand/yhe-symbol-dark.png')
        no-repeat center/contain;

    opacity: .045;
    pointer-events: none;
}


.yhe-footer {
    position: relative;
    overflow: hidden;
    padding:
        clamp(4rem, 8vw, 4rem)
        0
        2rem;

    background:
        linear-gradient(
            180deg,
            #142224 0%,
            #1B292B 100%
        );

    color: rgba(255,255,255,.82);
}

.yhe-footer::before{
    content:"";
    position:absolute;

    right:-180px;
    bottom:-220px;

    width:620px;
    height:620px;

    background:
        url('/assets/img/branding/symbols/yhe-symbol-soft-green.png')
        no-repeat center/contain;

    opacity:.045;

    pointer-events:none;
}

.yhe-footer::after{
    content:"";
    position:absolute;

    inset:0;

    background:
        radial-gradient(
            circle at top left,
            rgba(231,254,65,.06),
            transparent 28%
        );

    pointer-events:none;
}

.yhe-footer .container{
    position:relative;
    z-index:1;
}

.yhe-footer-logo{
    width:min(260px, 100%);
    height:auto;
}

.yhe-footer-title{
    max-width:420px;
    font-size:clamp(1.2rem, 2.0vw, 1.6rem);
    font-weight:400;
    line-height:1.2;

    color:#fff;

    margin-bottom:1rem;
}

.yhe-footer-copy{
    max-width:460px;

    color:rgba(255,255,255,.72) !important;

    line-height:1.8;

    margin-bottom:1.5rem;
}

.yhe-footer-badge{
    display:inline-flex;

    padding:.65rem 1rem;

    border-radius:999px;

    background:rgba(255,255,255,.08);

    border:1px solid rgba(255,255,255,.08);

    color:rgba(255,255,255,.82);

    font-size:.82rem;
    font-weight:700;
    letter-spacing:.04em;
}

.yhe-footer h3{
    font-size:.95rem;
    font-weight:800;

    color:#fff;

    margin-bottom:1.25rem;
}

.yhe-footer ul{
    list-style:none;
    padding:0;
    margin:0;
}

.yhe-footer li + li{
    margin-top:.75rem;
}

.yhe-footer a{
    color:rgba(255,255,255,.68);

    text-decoration:none;

    transition:
        color .2s ease,
        opacity .2s ease;
}

.yhe-footer a:hover{
    color:#E7FE41;
}

.yhe-footer-contact p{
    color:rgba(255,255,255,.7);
}

.yhe-footer-bottom{
    margin-top:3rem;
    padding-top:1.5rem;
    border-top:1px solid rgba(255,255,255,.08);
    color:rgba(255,255,255,.48);
    font-size:.92rem;
}

.yhe-student-day-card {
    border-radius: 1.4rem;
    border: 1px solid rgba(27, 41, 43, 0.08);
    transition: transform .18s ease, box-shadow .18s ease;
}

.yhe-student-day-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 18px 45px rgba(27, 41, 43, 0.10);
}

.yhe-student-day-card .card-body {
    padding: 1.35rem;
}

.yhe-student-meta-box {
    padding: .85rem 1rem;
    border-radius: 1rem;
    background: rgba(245, 239, 230, 0.72);
}

.yhe-program-recorded-box {
    padding: .95rem 1rem;
    border-radius: 1rem;
    background: rgba(95, 160, 129, 0.10);
    border: 1px solid rgba(95, 160, 129, 0.18);
}