
  :root{
    --ink:#283388;
    --pink:#FF3D81;
    --violet:#7B2FF7;
    --yellow:#FFD23F;
    --mint:#00D9A3;
    --cloud:#FFF9F0;
    --pink-soft:#FFE1ED;
    --orange:#FF7A29;
  }
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    font-family:'Plus Jakarta Sans', sans-serif;
    color:var(--ink);
    background:var(--cloud);
    overflow-x:hidden;
  }
  h1,h2,h3,h4,.display-font{
    font-family:'Baloo 2', sans-serif;
  }
  /* ===== NAVBAR ===== */
  .navbar-uready{
    background:var(--cloud);
    border-bottom:3px solid var(--ink);
    padding:.6rem 0;
  }
  .navbar-uready .navbar-brand{
    font-family:'Baloo 2', sans-serif;
    font-weight:800;
    font-size:1.6rem;
    color:var(--ink) !important;
  }
  .navbar-logo{
    width:220px;
    max-width:100%;
    height:auto;
  }
  @media (max-width:575px){
    .navbar-logo{ width:150px; }
  }
  .navbar-uready .navbar-brand span{color:var(--pink);}
  .navbar-uready .nav-link{
    font-weight:600;
    color:var(--ink) !important;
    margin:0 .4rem;
    position:relative;
  }
  .navbar-uready .nav-link:hover{color:var(--pink) !important;}
  .btn-register{
    background:#ec1a3b;
    color:#fff !important;
    font-weight:700;
    border-radius:999px;
    padding:.55rem 1.4rem;
    border:2px solid var(--ink);
    box-shadow:3px 3px 0 var(--ink);
    transition:transform .15s ease, box-shadow .15s ease;
    white-space:nowrap;
  }
  .btn-register:hover{
    transform:translate(-2px,-2px);
    box-shadow:5px 5px 0 var(--ink);
    background: var(--yellow);
    color: var(--ink);
  }
  .btn-register:active{transform:translate(0,0); box-shadow:1px 1px 0 var(--ink);}

  .btn-outline-uready{
    border:2px solid var(--ink);
    border-radius:999px;
    font-weight:700;
    padding:.55rem 1.4rem;
    background:transparent;
    color:var(--ink);
  }
  .btn-outline-uready:hover{background:var(--ink); color:var(--cloud);}

  /* ===== HERO ===== */
  .hero{
    position:relative;
    background:linear-gradient(135deg, var(--violet) 0%, var(--pink) 55%, var(--yellow) 100%);
    padding-top:7rem;
    padding-bottom:6rem;
    overflow:hidden;
  }

.hero .position-relative {
    z-index: 999;
}
  @media (max-width:575px){
    .hero{ padding-top:5.5rem; padding-bottom:3.5rem; }
  }
  .hero::before, .hero::after{
    content:"";
    position:absolute;
    border-radius:50%;
    filter:blur(0px);
  }
  .hero::before{
    width:260px;height:260px;
    background:var(--yellow);
    top:-80px; right:-60px;
    opacity:.55;
  }
  .hero::after{
    width:180px;height:180px;
    background:var(--mint);
    bottom:-60px; left:-40px;
    opacity:.5;
  }
  img{ max-width: 100%; }

  .logoMainU{
    width: 100%;
    max-width: 550px;
    margin-top: 25px;
  }
  .logoUcta{
    width: 100%;
    max-width: 430px;
    margin: auto;
    margin-bottom: 20px;
      position: relative;
      z-index: 999;
  }
  @media (max-width: 991px){
    .logoMainU{ max-width: 380px; margin-top: 10px; }
  }
  @media (max-width: 576px){
    .logoMainU{ max-width: 280px; }
    .logoUcta{ max-width: 260px; }
  }

  .hero-title-2{
    font-family:'Baloo 2', sans-serif;
    font-weight:800;
    font-size:clamp(1rem, 4vw, 2.5rem);
      line-height: 1.3em;
    color:#fff;
    text-shadow:4px 4px 0 rgba(20,20,43,.25);
    margin-top:15px;
      text-transform: uppercase;
  }
  .hero-sub{
    font-size:1.15rem;
    font-weight:500;
    color:#fff;
    max-width:530px;
  }
  .info-pill{
    background:rgba(255,255,255,.92);
    border:2px solid var(--ink);
    border-radius:16px;
    padding:1rem 1.2rem;
    box-shadow:5px 5px 0 var(--ink);
  }
  .info-pill .row-item{
    display:flex; align-items:center; gap:.6rem;
    font-weight:700;
    margin-bottom:.4rem;
  }
  .info-pill .row-item i{color:var(--pink); font-size:1.2rem;}
  .info-pill .row-item:last-child{margin-bottom:0;}

  /* countdown */
  .countdown-wrap{
    display:flex; gap:.7rem; flex-wrap:wrap;
  }
  .countdown-box{
    background:var(--ink);
    color:var(--yellow);
    border-radius:14px;
    width:78px;
    padding:.6rem .3rem;
    text-align:center;
    font-family:'Space Mono', monospace;
    border:2px solid var(--ink);
    box-shadow:3px 3px 0 rgba(0,0,0,.25);
  }
  .countdown-box .num{font-size:1.7rem; font-weight:700; line-height:1;}
  .countdown-box .lbl{font-size:.65rem; letter-spacing:.1em; color:var(--pink-soft);}

/* video - khung điện thoại kiểu viền mảnh, notch dạng viên thuốc ở giữa */
.phone-frame {
    position: relative;
    max-width: 880px;
    margin: 0 auto;
    background: linear-gradient(160deg,#1b1e2a,#0d0f16);
    border-radius: 30px;
    padding: 20px 18px 24px;
    box-shadow: 0 24px 50px rgba(0,0,0,.35), inset 0 0 0 1px rgba(255,255,255,.08);
    border: 3px solid #2b2f3d;
}
.phone-frame .video-facade {
    max-width: 100%;
    margin: 0;
    border-radius: 18px;
    box-shadow: none;
}
.phone-frame__notch {
    position: absolute;
    top: 8px;
    left: 50%;
    transform: translateX(-50%);
    width: 120px;
    height: 18px;
    border-radius: 20px;
    background: #0a0b10;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.06);
    z-index: 3;
}
.phone-frame__notch::after {
    content: '';
    position: absolute;
    right: 14px;
    top: 50%;
    transform: translateY(-50%);
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #232734;
}

@media(max-width: 768px) {
    .phone-frame {
        border-radius: 22px;
        padding: 16px 12px 18px;
    }
    .phone-frame__notch {
        width: 90px;
        height: 14px;
    }
}

/* ---- Video teaser ---- */
.video-facade {
    position: relative;
    max-width: 900px;
    margin: 0 auto;
    aspect-ratio: 16/9;
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 20px 45px rgba(0,0,0,.3);
    cursor: pointer;
    background: #000;
}
.video-facade img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: .85;
    transition: transform .5s cubic-bezier(.22,.68,0,1.1), opacity .4s ease;
}
.video-facade:hover img {
    opacity: .7;
    transform: scale(1.05);
}
.video-facade__play {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}
.video-facade__play span {
    width: 84px;
    height: 84px;
    border-radius: 50%;
    background: #ec1a3b;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 8px 30px rgba(236,26,59,.45);
    transition: transform .45s cubic-bezier(.34,1.56,.64,1),
                background-color .35s ease,
                box-shadow .35s ease;
}
.video-facade:hover .video-facade__play span {
    transform: scale(1.15);
    background: #c9142f;
    box-shadow: 0 10px 36px rgba(236,26,59,.6);
}
.video-facade:active .video-facade__play span {
    transform: scale(1.0);
}

/* Tam giác play kiểu YouTube, vẽ thuần CSS */
.video-facade__triangle {
    display: inline-block;
    width: 0;
    height: 0;
    margin-left: 6px;
    border-style: solid;
    border-width: 13px 0 13px 22px;
    border-color: transparent transparent transparent #fff;
    transition: transform .3s ease;
}
.video-facade:hover .video-facade__triangle {
    transform: scale(1.05);
}

.video-facade iframe {
    width: 100%;
    height: 100%;
    border: 0;
}

.card-photo {
    position: relative;
    width: 100%;
    aspect-ratio: 3 / 2;
    overflow: hidden;
}
.card-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;   /* ảnh sẽ lấp đầy khung, cắt phần dư, không méo */
    object-position: center; /* căn giữa vùng ảnh được hiển thị */
    display: block;
}
    
  /* ===== SECTION GENERIC ===== */
  section{padding:5rem 0;}
  .eyebrow{
    display:inline-block;
    font-family:'Space Mono', monospace;
    font-size:.9rem;
    letter-spacing:.15em;
    text-transform:uppercase;
    background:var(--pink-soft);
    color:var(--pink);
    border-radius:999px;
    padding:.3rem .9rem;
    font-weight:700;
    margin-bottom:.8rem;
  }
  .section-title{
    font-weight:800;
    font-size:clamp(1.8rem,3.4vw,2.6rem);
  }

  /* sticker card */
  .sticker-card{
    background:#fff;
    border:2.5px solid var(--ink);
    border-radius:22px;
    padding:1.8rem;
    box-shadow:6px 6px 0 var(--ink);
    height:100%;
    transition:transform .2s ease, box-shadow .2s ease;
  }
  .sticker-card:hover{transform:translateY(-6px); box-shadow:9px 9px 0 var(--ink);}
  .sticker-card .icon-badge{
    width:56px;height:56px;
    border-radius:16px;
    display:flex; align-items:center; justify-content:center;
    font-size:1.5rem;
    color:#fff;
    margin-bottom:1rem;
    border:2px solid var(--ink);
  }
  .bg-pink-solid{background:var(--pink);}
  .bg-violet-solid{background:var(--violet);}
  .bg-mint-solid{background:var(--mint);}
  .bg-yellow-solid{background:var(--yellow); color:var(--ink) !important;}
  .bg-orange-solid{background:var(--orange);}

  /* audience section bg */
  .section-alt{background:linear-gradient(135deg, #1B2266 0%, var(--ink) 45%, #3A2E8C 100%); color:var(--cloud);}
  .section-alt .eyebrow{background:rgba(255,255,255,.12); color:var(--yellow);}
  .section-alt .sticker-card{
    background:#1F1F3D;
    border-color:rgba(255,255,255,.25);
    box-shadow:6px 6px 0 rgba(0,0,0,.35);
    color:var(--cloud);
  }
  .section-alt .sticker-card:hover{box-shadow:9px 9px 0 rgba(0,0,0,.4);}

  /* audience cards (Danh cho ai) */
  .audience-card{
    position:relative;
    display:flex;
    gap:1.6rem;
    align-items:flex-start;
    border:3px solid var(--ink);
    border-radius:28px;
    padding:2.4rem 2.2rem 2.4rem 2.1rem;
    height:100%;
    overflow:hidden;
    box-shadow:8px 8px 0 rgba(0,0,0,.35);
    transition:transform .25s ease, box-shadow .25s ease;
  }
  .audience-card--orange{
    background:linear-gradient(150deg, #FF7A29 0%, #FF9A52 55%, #FFC08A 100%);
  }
  .audience-card--mint{
    background:linear-gradient(150deg, #00D9A3 0%, #3CE8BE 55%, #8FF3D8 100%);
  }
  .audience-card::before{
    content:attr(data-index);
    position:absolute;
    top:-1rem; right:.4rem;
    font-family:'Baloo 2', sans-serif;
    font-weight:800;
    font-size:7rem;
    line-height:1;
    color:rgba(255,255,255,.18);
    -webkit-text-stroke:1.5px rgba(255,255,255,.3);
    pointer-events:none;
  }
  .audience-card:hover{
    transform:translateY(-8px);
    box-shadow:11px 11px 0 rgba(0,0,0,.4);
  }
  .audience-card .icon-badge{
    flex:0 0 auto;
    width:84px;height:84px;
    border-radius:22px;
    display:flex; align-items:center; justify-content:center;
    font-size:2.2rem;
    color:#fff;
    background:rgba(0,0,0,.18);
    border:3px solid var(--ink);
    box-shadow:0 0 0 6px rgba(255,255,255,.35);
  }
  .audience-card .audience-body{position:relative; z-index:1;}
  .audience-card .audience-tag{
    display:inline-block;
    font-family:'Space Mono', monospace;
    font-weight:700;
    font-size:.9rem;
    letter-spacing:.06em;
    text-transform:uppercase;
    color:var(--ink);
    background:rgba(255,255,255,.55);
    border:1.5px solid var(--ink);
    border-radius:999px;
    padding:.25rem .8rem;
    margin-bottom:.7rem;
  }
  .audience-card h4{
    font-size:1.4rem;
    font-weight:800;
    color:var(--ink);
    margin-bottom:.6rem;
  }
  .audience-card p{
    color:rgba(40,51,136,.85);
    font-size:1.05rem;
    margin-bottom:0;
  }
  @media (max-width:767px){
    .audience-card{padding:1.9rem; gap:1.2rem;}
    .audience-card .icon-badge{width:68px;height:68px; font-size:1.8rem;}
    .audience-card h4{font-size:1.2rem;}
    .audience-card::before{font-size:5rem;}
  }

  /* trai nghiem */
  .experience-card{
    border:2.5px solid var(--ink);
    border-radius:22px;
    overflow:hidden;
    background:#fff;
    box-shadow:6px 6px 0 var(--ink);
    height:100%;
  }
  .experience-card .card-top{
    padding:1.6rem 1.6rem 0 1.6rem;
  }
  .experience-card .tag-strip{
    display:flex; flex-wrap:wrap; gap:.5rem; padding:0 1.6rem 1.6rem 1.6rem;
  }
  .tag-chip{
    background:var(--pink-soft);
    color:var(--pink);
    font-weight:700;
    font-size:.78rem;
    border-radius:999px;
    padding:.3rem .8rem;
    border:1.5px solid var(--pink);
  }
  /* schedule / ticket timeline */
  .schedule-list{
    border:2.5px solid var(--ink);
    border-radius:22px;
    background:#fff;
    box-shadow:6px 6px 0 var(--yellow);
    overflow:hidden;
  }
  .schedule-row{
    display:flex;
    align-items:center;
    gap:1.2rem;
    padding:1.05rem 1.6rem;
    border-bottom:2px dashed rgba(20,20,43,.18);
  }
  .schedule-row:last-child{border-bottom:none;}
  .schedule-time{
    font-family:'Space Mono', monospace;
    font-weight:700;
    background:var(--ink);
    color:var(--yellow);
    border-radius:10px;
    padding:.4rem .7rem;
    font-size:.85rem;
    min-width:132px;
    text-align:center;
    flex-shrink:0;
  }
  .schedule-activity{font-weight:600;
        color:var(--ink);
    }

  /* benefits */
  .benefit-card{
    background:#fff;
    border:2.5px solid var(--ink);
    border-radius:22px;
    padding:1.6rem;
    height:100%;
    box-shadow:6px 6px 0 var(--ink);
    position:relative;
    overflow:hidden;
    cursor:pointer;
    transition:transform .35s cubic-bezier(.2,.8,.2,1), box-shadow .35s cubic-bezier(.2,.8,.2,1);
    /* scroll-reveal starting state */
    opacity:0;
    transform:translateY(28px);
  }
  .benefit-card.in-view{
    animation:benefitReveal .6s cubic-bezier(.2,.8,.2,1) forwards;
  }
  @keyframes benefitReveal{
    to{opacity:1; transform:translateY(0);}
  }
  .benefit-card::before{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(120deg, transparent 30%, rgba(255,255,255,.55) 50%, transparent 70%);
    transform:translateX(-120%);
    pointer-events:none;
  }
  .benefit-card:hover::before,
  .benefit-card.auto-active::before{
    animation:benefitSheen .9s ease forwards;
  }
  @keyframes benefitSheen{
    to{transform:translateX(120%);}
  }
  .benefit-card:hover,
  .benefit-card.auto-active{
    transform:translateY(-8px) rotate(-.6deg);
    box-shadow:10px 10px 0 var(--ink);
  }
  .benefit-card:hover h5,
  .benefit-card.auto-active h5{
    color:var(--pink);
  }
  .benefit-card h5{
    transition:color .25s ease;
  }
  .benefit-card .icon-badge{
    width:52px;height:52px;
    border-radius:14px;
    display:flex;align-items:center;justify-content:center;
    font-size:1.4rem;color:#fff;
    margin-bottom:.9rem;
    border:2px solid var(--ink);
    transition:transform .45s cubic-bezier(.34,1.56,.64,1);
  }
  .benefit-card:hover .icon-badge,
  .benefit-card.auto-active .icon-badge{
    transform:rotate(-10deg) scale(1.12);
    animation:iconWiggle .6s ease .1s;
  }
  @keyframes iconWiggle{
    0%,100%{transform:rotate(-10deg) scale(1.12);}
    30%{transform:rotate(8deg) scale(1.15);}
    60%{transform:rotate(-6deg) scale(1.1);}
  }
  @media (prefers-reduced-motion: reduce){
    .benefit-card, .benefit-card .icon-badge, .benefit-card::before{
      animation:none !important;
      transition:none !important;
      opacity:1 !important;
      transform:none !important;
    }
  }
  /* final CTA */
  .final-cta{
    background:linear-gradient(120deg, var(--pink), var(--violet));
    border-radius:32px;
    padding:3.5rem 2rem;
    color:#fff;
    text-align:center;
    position:relative;
    overflow:hidden;
    border:3px solid var(--ink);
  }
  .final-cta::before{
    content:"";
    position:absolute; width:220px;height:220px;border-radius:50%;
    background:var(--yellow); opacity:.35; top:-90px; left:-70px;
  }
  .final-cta h2{
    font-size:clamp(2.4rem,5.5vw,4rem) !important;
  }
  .final-cta .fs-5{
    font-size:1.5rem !important;
    font-weight:700;
  }
  .final-cta p{
    font-size:1.2rem;
  }
  .btn-cta-final{
    background:var(--yellow);
    color:var(--ink);
    font-weight:800;
    font-size:1.15rem;
    border-radius:999px;
    padding:.9rem 2.6rem;
    border:2px solid var(--ink);
    box-shadow:4px 4px 0 var(--ink);
    transition:transform .15s ease, box-shadow .15s ease;
  }
  .btn-cta-final:hover{
    transform:translate(-2px,-2px);
    box-shadow:6px 6px 0 var(--ink);
    background:#fff;
    color:var(--ink);
  }
  .btn-cta-final:active{
    transform:translate(0,0);
    box-shadow:1px 1px 0 var(--ink);
  }

  /* footer */

#footer {
    background:#28327F ;
    padding:70px 0 0;
    color:#fff;
}

.copyRight {
    color:#fff;
    text-align: center;
    background:#121d6e;
    padding:20px 0;
    margin-top:70px;
}

.copyRight .container {
    opacity: 0.6;
}

#footer ul {
    margin:0;
    padding:0;
}

#footer li {
    margin-top:10px;
    list-style: none;
}

#footer .icon {
    color:#f7c04d;
    margin-right:20px;
    width:18px;
    font-size: 18px;
    display: inline-block;
    text-align: center;
}

#footer .icon img{
    max-width: 100%;
}

#footer #footer a,
#footer a:link,
#footer a:active,
#footer a:visited {
    color:#fff;
    text-decoration: none;
}

#footer a:hover,
#footer a:focus {
    color:#f7c04d;
}

#footer .title {
    font-weight: bold;
    text-transform: uppercase;
    margin-bottom: 10px;
    font-size: 18px;
}

  /* modal form */
  .modal-content-uready{
    border-radius:24px;
    border:2.5px solid var(--ink);
  }
  .modal-header-uready{
    background:var(--yellow);
    border-radius:22px 22px 0 0;
    border-bottom:2.5px solid var(--ink);
  }
  .form-label{font-weight:700; font-size:.9rem;}
  .form-control, .form-select{
    border-radius:12px;
    border:2px solid var(--ink);
    padding:.6rem .9rem;
  }
  .form-control:focus, .form-select:focus{
    border-color:var(--pink);
    box-shadow:0 0 0 .2rem rgba(255,61,129,.2);
  }
  .btn-submit-form{
    background:var(--pink);
    color:#fff;
    font-weight:700;
    border-radius:999px;
    padding:.7rem 1.6rem;
    border:2px solid var(--ink);
    box-shadow:4px 4px 0 var(--ink);
    width:100%;
  }
  .btn-submit-form:hover{color:#fff;}
  .success-icon{
    width:74px;height:74px;
    border-radius:50%;
    background:var(--mint);
    display:flex;align-items:center;justify-content:center;
    font-size:2rem;color:#fff;
    border:2.5px solid var(--ink);
    margin:0 auto 1rem;
  }

  @media (max-width:576px){
    .countdown-box{width:64px;}
    .schedule-row{flex-direction:column; align-items:flex-start; gap:.4rem;}
  }
