

    /* ── Hero buttons ── */

    .hero-prog-btns { display: flex; gap: 1rem; flex-wrap: wrap; margin-top: 2.5rem; }

    .hero-prog-btns a { display: flex; align-items: center; gap: 0.625rem; font: 700 0.6875rem/1 var(--font-b); letter-spacing: 0.125rem; text-transform: uppercase; padding: 0.875rem 1.75rem; border-radius:0; text-decoration: none; transition: all var(--t); }

    .btn-event { background: var(--gold); color: var(--onyx); }

    .btn-event:hover { background: var(--gold-d); }

    .btn-corner { background: rgba(255,255,255,0.12); color: #fff; border: 0.0625rem solid rgba(255,255,255,0.3); }

    .btn-corner:hover { background: rgba(255,255,255,0.22); }



    /* ── Intro selector ── */

    .prog-selector { padding: clamp(4rem,8vw,6.25rem) 0; text-align: center; background: var(--white); }

    .prog-selector__title { font: 400 clamp(1.75rem,4vw,3.25rem)/1.05 var(--font-d); letter-spacing: 0.125rem; margin-bottom: 1rem; }

    .prog-selector__sub { font: 400 1rem/1.7 var(--font-b); color: var(--ink-3); max-width: 35rem; margin: 0 auto 3.5rem; }

    .prog-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; max-width: 53.75rem; margin: 0 auto; }

    .prog-card { position: relative; border-radius:0; overflow: hidden; text-decoration: none; min-height: 22.5rem; display: flex; flex-direction: column; justify-content: flex-end; }

    .prog-card__bg { position: absolute; inset: 0; }

    .prog-card__bg img { width: 100%; height: 100%; object-fit: cover; display: block; }

    .prog-card__bg iframe { width: 177.78%; height: 100%; position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); border: 0; pointer-events: none; }

    .prog-card__overlay { position: absolute; inset: 0; }

    .prog-card--dark .prog-card__overlay { background:var(--onyx); }

    .prog-card--light .prog-card__overlay { background:var(--onyx); }

    .prog-card__body { position: relative; z-index: 2; padding: 2.25rem 2rem; }

    .prog-card__num { font: 700 0.625rem/1 var(--font-b); letter-spacing: 0.1875rem; text-transform: uppercase; margin-bottom: 0.625rem; }

    .prog-card--dark .prog-card__num { color: var(--gold); }

    .prog-card--light .prog-card__num { color: var(--gold-d); }

    .prog-card__name { font: 400 clamp(1.75rem,3.5vw,2.75rem)/1 var(--font-d); letter-spacing: 0.125rem; margin-bottom: 0.5rem; }

    .prog-card--dark .prog-card__name { color: #fff; }

    .prog-card--light .prog-card__name { color: var(--onyx); }

    .prog-card__type { font: 600 0.625rem/1 var(--font-b); letter-spacing: 0.125rem; text-transform: uppercase; margin-bottom: 1.25rem; }

    .prog-card--dark .prog-card__type { color: rgba(255,255,255,0.55); }

    .prog-card--light .prog-card__type { color: var(--ink-3); }

    .prog-card__cta { display: inline-flex; align-items: center; gap: 0.5rem; font: 700 0.625rem/1 var(--font-b); letter-spacing: 0.125rem; text-transform: uppercase; padding: 0.625rem 1.375rem; border-radius:0; transition: all 0.2s; }

    .prog-card--dark .prog-card__cta { background: var(--gold); color: var(--onyx); }

    .prog-card--dark .prog-card__cta:hover { background: var(--gold-d); }

    .prog-card--light .prog-card__cta { background: var(--onyx); color: #fff; }

    .prog-card--light .prog-card__cta:hover { background: #1a1510; }



    /* ── Program detail sections ── */

    .prog-detail { padding: clamp(5rem,10vw,8.125rem) 0; }

    .prog-detail--dark { background: var(--onyx); }

    .prog-detail--light { background: var(--cream); }



    /* Visual banner inside detail */

    .prog-banner { width: 100%; height: clamp(15rem,30vw,26.25rem); position: relative; overflow: hidden; margin-bottom: clamp(3.5rem,7vw,6rem); }

    .prog-banner iframe { position: absolute; top: 50%; left: 50%; width: 177.78vh; min-width: 100%; min-height: 100%; transform: translate(-50%,-50%); border: 0; pointer-events: none; }

    .prog-banner img { width: 100%; height: 100%; object-fit: cover; display: block; }

    .prog-banner__overlay { position: absolute; inset: 0; }

    .prog-banner__label { position: absolute; bottom: 2rem; left: clamp(2rem,5vw,5rem); z-index: 2; }

    .prog-banner__badge { display: inline-flex; align-items: center; gap: 0.5rem; font: 800 0.625rem/1 var(--font-b); letter-spacing: 0.125rem; text-transform: uppercase; padding: 0.375rem 1rem; border-radius:0; margin-bottom: 0.75rem; }

    .prog-detail--dark .prog-banner__badge { background: var(--gold); color: var(--onyx); }

    .prog-detail--light .prog-banner__badge { background: var(--onyx); color: #fff; }

    .prog-banner__badge::before { content:''; width:0.375rem; height:0.375rem; border-radius:0; animation: bdot 1.4s infinite; }

    .prog-detail--dark .prog-banner__badge::before { background: var(--onyx); }

    .prog-detail--light .prog-banner__badge::before { background: var(--gold); }

    @keyframes bdot { 0%,100%{opacity:1;transform:scale(1)} 50%{opacity:.35;transform:scale(1.4)} }

    .prog-banner__title { font: 400 clamp(2.5rem,6vw,5rem)/0.95 var(--font-d); letter-spacing: 0.1875rem; color: #fff; }

    .prog-detail--light .prog-banner__title { color: var(--onyx); }

    .prog-banner__title span { color: var(--gold); }

    .prog-detail--light .prog-banner__title span { color: var(--gold-d); }



    /* 3-column info grid */

    .prog-cols { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 0.125rem; background: rgba(255,255,255,0.06); border-radius:0; overflow: hidden; margin: 0 clamp(1.5rem,5vw,5rem); }

    .prog-detail--light .prog-cols { background: rgba(10,8,3,0.06); }

    .prog-col { padding: clamp(2rem,4vw,3.5rem) clamp(1.5rem,3vw,2.5rem); }

    .prog-detail--dark .prog-col { background: rgba(255,255,255,0.04); }

    .prog-detail--light .prog-col { background: rgba(255,255,255,0.6); }

    .prog-col__icon { font-size: 2rem; margin-bottom: 1.25rem; }

    .prog-col__title { font: 700 0.6875rem/1 var(--font-b); letter-spacing: 0.125rem; text-transform: uppercase; margin-bottom: 1rem; }

    .prog-detail--dark .prog-col__title { color: var(--gold); }

    .prog-detail--light .prog-col__title { color: var(--gold-d); }

    .prog-col__list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 0.625rem; }

    .prog-col__list li { font: 400 0.875rem/1.6 var(--font-b); display: flex; align-items: flex-start; gap: 0.625rem; }

    .prog-detail--dark .prog-col__list li { color: rgba(255,255,255,0.75); }

    .prog-detail--light .prog-col__list li { color: var(--ink-2); }

    .prog-col__list li::before { content: '→'; flex-shrink: 0; font-weight: 700; }

    .prog-detail--dark .prog-col__list li::before { color: var(--gold); }

    .prog-detail--light .prog-col__list li::before { color: var(--gold-d); }



    /* CTA inside detail */

    .prog-cta { text-align: center; padding: clamp(3rem,6vw,5rem) clamp(1.5rem,5vw,5rem) 0; }

    .prog-cta__desc { font: 400 0.9375rem/1.7 var(--font-b); max-width: 30rem; margin: 0 auto 2rem; }

    .prog-detail--dark .prog-cta__desc { color: rgba(255,255,255,0.6); }

    .prog-detail--light .prog-cta__desc { color: var(--ink-3); }

    .prog-cta__mail { margin-top: 1rem; font: 400 0.8125rem/1 var(--font-b); letter-spacing: 0.0625rem; opacity: .5; }

    .prog-detail--dark .prog-cta__mail { color: #fff; }

    .prog-detail--light .prog-cta__mail a { color: var(--gold-d); }



    /* Quote strip inside LOVE EVENT */

    .prog-quote { display: grid; grid-template-columns: 1fr 1fr; gap: 0; margin-top: clamp(3.5rem,7vw,6rem); }

    .prog-quote__copy { padding: clamp(2.5rem,5vw,4.5rem) clamp(2rem,5vw,5rem); display: flex; align-items: center; }

    .prog-quote__copy blockquote { border-left: 0.1875rem solid var(--gold); padding-left: 1.75rem; margin: 0; }

    .prog-quote__copy p { font: 400 clamp(1.125rem,2.2vw,1.75rem)/1.4 var(--font-d); color: #fff; letter-spacing: 0.0625rem; margin-bottom: 1rem; }

    .prog-quote__copy cite { font: 700 0.625rem/1 var(--font-b); letter-spacing: 0.125rem; text-transform: uppercase; color: var(--gold); }

    .prog-quote__img { overflow: hidden; max-height: 23.75rem; }

    .prog-quote__img img { width: 100%; height: 100%; object-fit: cover; display: block; }



    /* Why section */

    .why-list { display: grid; grid-template-columns: repeat(auto-fit,minmax(13.75rem,1fr)); gap: 1.75rem; margin-top: 3.5rem; }

    .why-card { padding: 2.25rem 1.75rem; border-radius:0; border: 0.0625rem solid var(--border); }

    .why-card__icon { font-size: 2rem; margin-bottom: 1rem; }

    .why-card__title { font: 700 0.875rem/1.2 var(--font-b); letter-spacing: 0.0625rem; text-transform: uppercase; margin-bottom: 0.625rem; }

    .why-card__text { font: 400 0.875rem/1.7 var(--font-b); color: var(--ink-3); }



    @media(max-width:51.25rem){

      .prog-cards { grid-template-columns: 1fr; }

      .prog-cols { grid-template-columns: 1fr; margin: 0 clamp(1rem,4vw,2rem); }

      .prog-quote { grid-template-columns: 1fr; }

      .prog-quote__img { max-height: 16.25rem; }

    }

  