/*!
 * CLI Immersion Program — program-specific page bundle
 * Version: 2026.06.10.1
 *
 * Extracted from the Classic Editor page. Cascade order intentionally preserved:
 * 1) former main inline style block
 * 2) former mobile-only update block
 * 3) former performance update block
 */
/*
 * This file remains Immersion-specific. The selectors no longer depend on the
 * legacy Immersion marker or numeric WordPress page IDs; shared primitives
 * live in cli-programs-base.css and cli-programs-components.css.
 */

/* === Former main inline style block === */
.cli-program--immersion, .cli-program--immersion *, .cli-program--immersion *::before, .cli-program--immersion *::after{margin:0;padding:0;box-sizing:border-box}
.cli-program--immersion{--ink:#1a1a1a;--body:#3a3a3a;--muted:#6b6b6b;--border:#e0ddd8;--sand:#f7f5f0;--cream:#faf9f6;--white:#ffffff;--accent:#c4463a;--accent-hover:#a83a30;--jade:#2a6b5a;--jade-light:#e8f2ee;--gold:#b8943e;--serif:"Fraunces",Georgia,"Times New Roman",serif;--sans:"Avenir","Avenir Next",-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;--max:1200px;--content-max:1120px;--radius:8px;--scroll-offset:55px;font-family:var(--sans);color:var(--body);line-height:1.7;font-size:17px;-webkit-font-smoothing:antialiased;overflow-x:clip}
.cli-program--immersion img{max-width:100%;height:auto;display:block}
.cli-program--immersion a{color:#1949AE;text-decoration:none;transition:color .2s}
.cli-program--immersion a:hover{color:#0f3278}
.cli-program--immersion .cli-anchor{display:block;position:relative;top:calc(-1*var(--scroll-offset));height:0;visibility:hidden;pointer-events:none}
.cli-program--immersion .cli-container{max-width:var(--content-max);margin:0 auto;padding:0 24px}
.cli-program--immersion .cli-btn{display:inline-block;padding:16px 36px;background:var(--accent);color:var(--white);font-family:var(--sans);font-weight:600;font-size:15px;letter-spacing:.5px;text-transform:uppercase;border-radius:var(--radius);border:none;cursor:pointer;transition:background .25s,transform .2s;text-decoration:none}
.cli-program--immersion .cli-btn:hover{background:var(--accent-hover);color:var(--white);transform:translateY(-1px)}
.cli-program--immersion .cli-btn-outline{background:transparent;color:var(--accent);border:2px solid var(--accent)}
.cli-program--immersion .cli-btn-outline:hover{background:var(--accent);color:var(--white)}
.cli-program--immersion .cli-section-label{font-family:var(--sans);font-weight:600;font-size:13px;letter-spacing:2px;text-transform:uppercase;color:var(--accent);margin-bottom:12px}
.cli-program--immersion .cli-section-title{font-family:var(--serif);font-size:42px;color:var(--ink);line-height:1.15;margin-bottom:20px}
.cli-program--immersion .cli-section-subtitle{font-size:19px;color:var(--muted);max-width:640px;line-height:1.6}


/* Immersion section eyebrow palette — 2026 color sequencing update */
.cli-program--immersion .cli-overview .cli-section-label,
.cli-program--immersion .cli-diff .cli-section-label{color:#789DB3}
.cli-program--immersion .cli-curriculum .cli-section-label,
.cli-program--immersion .cli-guilin .cli-section-label,
.cli-program--immersion .cli-pengyou .cli-section-label,
.cli-program--immersion .cli-student-video-header .cli-section-label{color:#17566B}
.cli-program--immersion .cli-daily .cli-section-label,
.cli-program--immersion .cli-activities .cli-section-label,
.cli-program--immersion .cli-faq .cli-section-label{color:#B36E70}
.cli-program--immersion .cli-included .cli-section-label{color:#92225B}
.cli-program--immersion .cli-housing .cli-section-label{color:#F1CB65}
.cli-program--immersion .cli-pricing .cli-section-label{color:#789DB3}

/* HERO */
.cli-program--immersion .cli-hero{position:relative;min-height:91vh;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#111}
.cli-program--immersion .cli-hero video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .28s ease;z-index:0;background:#111}
.cli-program--immersion .cli-hero video.cli-hero-video-active{opacity:1}
.cli-program--immersion .cli-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.15)0%,rgba(0,0,0,.55)100%);transition:background .3s ease}
.cli-program--immersion .cli-hero.is-video-only video.cli-hero-video-active{opacity:1}
.cli-program--immersion .cli-hero.is-video-only::after{background:linear-gradient(180deg,rgba(0,0,0,.02)0%,rgba(0,0,0,.12)100%)}
.cli-program--immersion .cli-hero-content{position:relative;z-index:2;text-align:center;padding:40px 24px;max-width:800px;transition:opacity .28s ease,visibility .28s ease,transform .28s ease}
.cli-program--immersion .cli-hero.is-video-only .cli-hero-content{opacity:0;visibility:hidden;pointer-events:none;transform:translateY(8px)}
.cli-program--immersion .cli-hero-content .cli-hero-badge{display:inline-block;padding:6px 18px;background:rgba(255,255,255,.15);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.25);border-radius:100px;color:#fff;font-size:13px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;margin-bottom:28px}
.cli-program--immersion .cli-hero h1{font-family:var(--serif);font-size:62px;color:#fff;line-height:1.08;margin-bottom:24px}
.cli-program--immersion .cli-hero h1 em{font-style:italic;color:#F1CB65}
.cli-program--immersion .cli-hero-sub{font-size:20px;color:rgba(255,255,255,.85);line-height:1.6;margin-bottom:36px;max-width:660px;margin-left:auto;margin-right:auto}
.cli-program--immersion .cli-hero-ctas{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}
.cli-program--immersion .cli-hero-ctas .cli-btn{font-size:14px}
.cli-program--immersion .cli-hero-ctas .cli-btn:not(.cli-btn-outline){display:inline-flex;align-items:center;justify-content:center;min-height:60px;padding-top:0;padding-bottom:0;line-height:1}
.cli-program--immersion .cli-hero-ctas .cli-btn-outline{color:#fff;border-color:rgba(255,255,255,.5)}
.cli-program--immersion .cli-hero-ctas .cli-btn-outline:hover{background:rgba(255,255,255,.15);color:#fff;border-color:#fff}



/* Hero controls group */
.cli-program--immersion .cli-hero-controls{position:absolute;right:32px;bottom:32px;z-index:3;display:flex;gap:8px;align-items:center;justify-content:center}
.cli-program--immersion .cli-hero-ctrl{width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.15);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.25);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .25s,transform .2s;color:#fff;padding:0}
.cli-program--immersion .cli-hero-ctrl:hover{background:rgba(255,255,255,.3);transform:translateY(-1px)}
.cli-program--immersion .cli-hero-ctrl:focus-visible, .cli-program--immersion .cli-hero-dot:focus-visible{outline:2px solid rgba(255,255,255,.8);outline-offset:3px}
.cli-program--immersion .cli-hero-ctrl svg{width:20px;height:20px}
.cli-program--immersion .cli-hero-ctrl--sound{width:48px;height:48px}
.cli-program--immersion .cli-hero-ctrl--sound svg{width:22px;height:22px}
.cli-program--immersion .cli-hero-ctrl--sound .sound-on{display:none}
.cli-program--immersion .cli-hero-ctrl--sound.unmuted .sound-off{display:none}
.cli-program--immersion .cli-hero-ctrl--sound.unmuted .sound-on{display:block}
.cli-program--immersion .cli-hero-ctrl--playpause .play-icon{display:none}
.cli-program--immersion .cli-hero-ctrl--playpause .pause-icon{display:block}
.cli-program--immersion .cli-hero-ctrl--playpause.paused .play-icon{display:block}
.cli-program--immersion .cli-hero-ctrl--playpause.paused .pause-icon{display:none}
.cli-program--immersion .cli-hero-ctrl--view .screen-show-icon{display:block}
.cli-program--immersion .cli-hero-ctrl--view .screen-restore-icon{display:none}
.cli-program--immersion .cli-hero-ctrl--view.is-video-only{background:rgba(255,255,255,.3)}
.cli-program--immersion .cli-hero-ctrl--view.is-video-only .screen-show-icon{display:none}
.cli-program--immersion .cli-hero-ctrl--view.is-video-only .screen-restore-icon{display:block}
.cli-program--immersion .cli-hero-dots{position:absolute;left:32px;bottom:32px;z-index:3;display:flex;gap:10px;align-items:center;justify-content:center}
.cli-program--immersion .cli-hero-dot{width:11px;height:11px;border-radius:50%;background:transparent;border:1.5px solid rgba(255,255,255,.82);cursor:pointer;padding:0;opacity:.9;transition:background .2s,border-color .2s,opacity .2s,transform .2s}
.cli-program--immersion .cli-hero-dot:hover{background:rgba(255,255,255,.55);opacity:1}
.cli-program--immersion .cli-hero-dot.active{background:#fff;border-color:#fff;opacity:1;transform:scale(1.15)}


/* STICKY NAV — updated: lighter weight, underline animation, ghost CTA */
.cli-program--immersion .cli-sticky-nav{position:sticky;top:0;z-index:100;background:var(--white);border-bottom:1px solid var(--border);transition:box-shadow .3s}
.cli-program--immersion .cli-sticky-nav.scrolled{box-shadow:0 2px 20px rgba(0,0,0,.06)}
.cli-program--immersion .cli-sticky-nav-inner{max-width:var(--content-max);margin:0 auto;padding:0 24px;display:flex;align-items:center;justify-content:space-between;height:56px;gap:12px}
.cli-program--immersion .cli-nav-links{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;flex:1}
.cli-program--immersion .cli-nav-links::-webkit-scrollbar{display:none}
.cli-program--immersion .cli-nav-links a{font-size:14.33px;font-weight:500;color:var(--muted);padding:6px 12px;border-radius:0;white-space:nowrap;transition:color .25s;text-decoration:none;letter-spacing:.32px;position:relative}
.cli-program--immersion .cli-nav-links a::after{content:"";position:absolute;left:12px;right:12px;bottom:0;height:2px;background:#17566B;border-radius:1px;transform:scaleX(0);transform-origin:center;transition:transform .3s cubic-bezier(.4,0,.2,1)}
.cli-program--immersion .cli-nav-links a:hover{color:var(--ink);background:transparent}
.cli-program--immersion .cli-nav-links a:hover::after{transform:scaleX(1)}
.cli-program--immersion .cli-nav-links a.active{color:#17566B;background:transparent}
.cli-program--immersion .cli-nav-links a.active::after{transform:scaleX(1)}
.cli-program--immersion .cli-nav-apply{padding:10px 24px;font-size:13px;letter-spacing:.42px;flex-shrink:0;background:transparent;color:var(--accent);border:1.5px solid var(--accent);transition:background .25s,color .25s,transform .2s}
.cli-program--immersion .cli-nav-apply:hover{background:var(--accent);color:var(--white);transform:translateY(-1px)}


/* Sticky nav underline palette — paired with section colors */
.cli-program--immersion .cli-nav-links a[data-toc="overview"]::after{background:#789DB3}
.cli-program--immersion .cli-nav-links a[data-toc="curriculum"]::after{background:#17566B}
.cli-program--immersion .cli-nav-links a[data-toc="daily-life"]::after{background:#B36E70}
.cli-program--immersion .cli-nav-links a[data-toc="included"]::after{background:#92225B}
.cli-program--immersion .cli-nav-links a[data-toc="housing"]::after{background:#F1CB65}
.cli-program--immersion .cli-nav-links a[data-toc="pricing"]::after{background:#789DB3}
.cli-program--immersion .cli-nav-links a[data-toc="guilin"]::after{background:#17566B}
.cli-program--immersion .cli-nav-links a[data-toc="faq"]::after{background:#B36E70}
.cli-program--immersion .cli-nav-links a[data-toc="overview"].active,
.cli-program--immersion .cli-nav-links a[data-toc="overview"]:hover{color:#789DB3}
.cli-program--immersion .cli-nav-links a[data-toc="curriculum"].active,
.cli-program--immersion .cli-nav-links a[data-toc="curriculum"]:hover{color:#17566B}
.cli-program--immersion .cli-nav-links a[data-toc="daily-life"].active,
.cli-program--immersion .cli-nav-links a[data-toc="daily-life"]:hover{color:#B36E70}
.cli-program--immersion .cli-nav-links a[data-toc="included"].active,
.cli-program--immersion .cli-nav-links a[data-toc="included"]:hover{color:#92225B}
.cli-program--immersion .cli-nav-links a[data-toc="housing"].active,
.cli-program--immersion .cli-nav-links a[data-toc="housing"]:hover{color:#F1CB65}
.cli-program--immersion .cli-nav-links a[data-toc="pricing"].active,
.cli-program--immersion .cli-nav-links a[data-toc="pricing"]:hover{color:#789DB3}
.cli-program--immersion .cli-nav-links a[data-toc="guilin"].active,
.cli-program--immersion .cli-nav-links a[data-toc="guilin"]:hover{color:#17566B}
.cli-program--immersion .cli-nav-links a[data-toc="faq"].active,
.cli-program--immersion .cli-nav-links a[data-toc="faq"]:hover{color:#B36E70}

/* BACK TO TOP */
.cli-program--immersion .cli-back-to-top{position:fixed;bottom:32px;right:32px;z-index:99;width:44px;height:44px;border-radius:50%;background:var(--cli-heading-color);color:#fff;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;pointer-events:none;transition:opacity .3s,transform .3s,background .2s;transform:translateY(10px);box-shadow:0 4px 16px rgba(0,0,0,.16)}
.cli-program--immersion .cli-back-to-top.visible{opacity:1;pointer-events:auto;transform:translateY(0)}
.cli-program--immersion .cli-back-to-top:hover{background:var(--accent)}
.cli-program--immersion .cli-back-to-top svg{width:20px;height:20px}

/* OVERVIEW */
.cli-program--immersion .cli-overview{padding:100px 0;background:var(--white)}
.cli-program--immersion .cli-overview-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.cli-program--immersion .cli-overview-img{border-radius:var(--radius);overflow:hidden;aspect-ratio:4/3}
.cli-program--immersion .cli-overview-img img{width:100%;height:100%;object-fit:cover}


/* STUDENT VIDEO / RELIABLE INSTAGRAM REEL IFRAME */
.cli-program--immersion .cli-student-video{padding:96px 0;background:var(--cream)}
.cli-program--immersion .cli-student-video-header{text-align:center;margin-bottom:46px}
.cli-program--immersion .cli-student-video-header .cli-section-subtitle{margin:0 auto;max-width:760px}
.cli-program--immersion .cli-student-video-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:34px;align-items:start;max-width:var(--content-max);margin:0 auto;padding:0 24px}
.cli-program--immersion .cli-instagram-card, .cli-program--immersion .cli-transcript-card{background:var(--white);border:1px solid var(--border);border-radius:18px;box-shadow:0 10px 30px rgba(0,0,0,.045);overflow:hidden}
.cli-program--immersion .cli-instagram-card{padding:18px;min-width:0}
.cli-program--immersion .cli-student-tour-embed{position:relative;width:100%;height:clamp(560px,72vw,720px);border-radius:12px;overflow:hidden;background:var(--sand)}
.cli-program--immersion .cli-student-tour-embed iframe{position:absolute;inset:0;width:100%!important;height:100%!important;border:0;margin:0!important;background:#fff}
.cli-program--immersion .cli-instagram-fallback{display:block;padding:14px 16px;text-align:center;font-size:13px;font-weight:600;color:var(--accent);background:var(--sand);border-radius:12px;margin-top:12px}
.cli-program--immersion .cli-instagram-fallback:hover{background:#f0ede6;color:var(--accent-hover)}
.cli-program--immersion .cli-transcript-card{padding:32px 30px 30px;min-width:0}
.cli-program--immersion .cli-transcript-card.is-expanded-equal-height{height:var(--cli-student-card-height,auto);max-height:var(--cli-student-card-height,none);display:flex;flex-direction:column;overflow:hidden}
.cli-program--immersion .cli-transcript-card.is-expanded-equal-height .cli-transcript-details{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}
.cli-program--immersion .cli-transcript-card.is-expanded-equal-height .cli-transcript-details summary{flex:0 0 auto}
.cli-program--immersion .cli-transcript-card.is-expanded-equal-height .cli-transcript-body{flex:0 0 auto;min-height:0;height:var(--cli-transcript-body-height,420px);max-height:var(--cli-transcript-body-height,420px);overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-gutter:stable}
.cli-program--immersion .cli-transcript-card h3{font-family:var(--serif);font-size:30px;color:var(--ink);line-height:1.15;margin-bottom:12px}
.cli-program--immersion .cli-transcript-intro{font-size:15px;color:var(--muted);line-height:1.65;margin-bottom:22px}
.cli-program--immersion .cli-transcript-details{border:1px solid var(--border);border-radius:14px;background:var(--sand);overflow:hidden}
.cli-program--immersion .cli-transcript-details summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:16px;cursor:pointer;padding:18px 20px;font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink);background:var(--white);transition:background .2s,color .2s}
.cli-program--immersion .cli-transcript-details summary::-webkit-details-marker{display:none}
.cli-program--immersion .cli-transcript-details summary::after{content:"Expand";flex-shrink:0;padding:6px 12px;border-radius:999px;background:var(--jade-light);color:var(--jade);font-family:var(--sans);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.cli-program--immersion .cli-transcript-details[open] summary::after{content:"Collapse"}
.cli-program--immersion .cli-transcript-details summary:hover{background:#fbfaf8;color:var(--jade)}
.cli-program--immersion .cli-transcript-details summary:focus-visible{outline:2px solid var(--jade);outline-offset:3px}
.cli-program--immersion .cli-transcript-body{max-height:560px;overflow-y:auto;overflow-x:hidden;padding:10px 20px 22px;background:var(--sand);overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-gutter:stable}
.cli-program--immersion .cli-transcript-line{display:grid;grid-template-columns:58px 1fr;gap:14px;padding:13px 0;border-bottom:1px solid rgba(0,0,0,.07);font-size:14px;line-height:1.62;color:var(--body)}
.cli-program--immersion .cli-transcript-line:last-child{border-bottom:none}
.cli-program--immersion .cli-transcript-time{font-size:12px;font-weight:700;color:var(--accent);font-variant-numeric:tabular-nums;line-height:1.7}
@media(max-width:900px){
  .cli-program--immersion .cli-student-video-grid{grid-template-columns:1fr;gap:24px}
  .cli-program--immersion .cli-transcript-card{padding:28px 24px 26px}
}
@media(max-width:520px){
  .cli-program--immersion .cli-student-video{padding:76px 0}
  .cli-program--immersion .cli-student-video-grid{padding:0 18px}
  .cli-program--immersion .cli-instagram-card{padding:12px;border-radius:16px}
  .cli-program--immersion .cli-transcript-card h3{font-size:25px}
  .cli-program--immersion .cli-transcript-details summary{align-items:flex-start;flex-direction:column;gap:10px}
  .cli-program--immersion .cli-transcript-body{max-height:520px;padding:8px 16px 18px}
  .cli-program--immersion .cli-transcript-line{grid-template-columns:1fr;gap:2px;font-size:13.5px}
}

/* DIFFERENTIATORS */
.cli-program--immersion .cli-diff{padding:100px 0;background:var(--sand)}
.cli-program--immersion .cli-diff-header{text-align:center;margin-bottom:60px}
.cli-program--immersion .cli-diff-header .cli-section-subtitle{margin:0 auto;max-width:760px}
.cli-program--immersion .cli-diff-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:28px;max-width:var(--content-max);margin:0 auto;padding:0 24px}
.cli-program--immersion .cli-diff-card{grid-column:span 2;background:var(--white);border-radius:14px;overflow:hidden;text-align:left;border:1px solid var(--border);transition:transform .25s,box-shadow .25s;display:flex;flex-direction:column;min-height:100%}
.cli-program--immersion .cli-diff-card:nth-child(4){grid-column:2/span 2}
.cli-program--immersion .cli-diff-card:nth-child(5){grid-column:4/span 2}
.cli-program--immersion .cli-diff-card:hover{transform:translateY(-4px);box-shadow:0 12px 40px rgba(0,0,0,.06)}
.cli-program--immersion .cli-diff-image{position:relative;overflow:hidden;aspect-ratio:16/10;background:var(--jade-light)}
.cli-program--immersion .cli-diff-image img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.cli-program--immersion .cli-diff-card:hover .cli-diff-image img{transform:scale(1.04)}
.cli-program--immersion .cli-diff-body{display:flex;flex-direction:column;flex:1;padding:30px 28px 32px}
.cli-program--immersion .cli-diff-rank{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;margin-bottom:18px;border-radius:50%;background:var(--jade-light);color:var(--jade);font-family:var(--sans);font-size:12px;font-weight:700;letter-spacing:.04em}
.cli-program--immersion .cli-diff-card h3{font-family:var(--serif);font-size:22px;color:var(--ink);line-height:1.2;margin-bottom:12px}
.cli-program--immersion .cli-diff-card p{font-size:15px;color:var(--muted);line-height:1.68}
.cli-program--immersion .cli-diff-card--wide p{font-size:15px}
@media(max-width:900px){
.cli-program--immersion .cli-diff-grid{grid-template-columns:1fr;gap:24px}
.cli-program--immersion .cli-diff-card, .cli-program--immersion .cli-diff-card:nth-child(4), .cli-program--immersion .cli-diff-card:nth-child(5){grid-column:1/-1!important}
.cli-program--immersion .cli-diff-body{padding:26px 24px 30px}
}
@media(max-width:520px){
.cli-program--immersion .cli-diff{padding:76px 0}
.cli-program--immersion .cli-diff-header{margin-bottom:42px}
.cli-program--immersion .cli-diff-grid{padding:0 18px}
.cli-program--immersion .cli-diff-card h3{font-size:20px}
}


/* TRUST BLOCK: integrated between What Sets Us Apart and The CLI Method */
body.cli-program-page--immersion #cli-trust-block{
  scroll-margin-top: 30px;
}

body.cli-program-page--immersion .cli-trust-block, body.cli-program-page--immersion .cli-trust-block *, body.cli-program-page--immersion .cli-trust-block *::before, body.cli-program-page--immersion .cli-trust-block *::after, body.cli-program-page--immersion .cli-trust-lb-overlay, body.cli-program-page--immersion .cli-trust-lb-overlay *, body.cli-program-page--immersion .cli-trust-lb-overlay *::before, body.cli-program-page--immersion .cli-trust-lb-overlay *::after{
  box-sizing: border-box !important;
}

body.cli-program-page--immersion .cli-trust-block{
  --tb-bg: #1a2836;
  --tb-bg-deep: #141e28;
  --tb-bg-accent: #1e3242;
  --tb-text: rgba(255,255,255,0.65);
  --tb-text-strong: #f0f5f6;
  --tb-gold: #f1cb65;
  --tb-star: #e8a84c;
  --tb-sep: rgba(255,255,255,0.08);
  --tb-ease: cubic-bezier(0.165, 0.84, 0.44, 1);
  --tb-font: "Avenir", "Avenir Next", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
  --tb-font-serif: "Fraunces", Georgia, "Times New Roman", serif;

  position: relative;
  width: 100% !important;
  overflow: hidden;
  padding: 78px 0;
  background: linear-gradient(135deg, var(--tb-bg-deep) 0%, var(--tb-bg) 40%, var(--tb-bg-accent) 100%);
  font-family: var(--tb-font);
  color: var(--tb-text);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

body.cli-program-page--immersion .cli-trust-block::before{
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 50% 80% at 15% 50%, rgba(42,107,90,0.18) 0%, transparent 70%),
    radial-gradient(ellipse 40% 60% at 85% 40%, rgba(241,203,101,0.04) 0%, transparent 60%);
  pointer-events: none;
}

body.cli-program-page--immersion .cli-trust-block__bg{
  position: absolute;
  inset: 0;
  background-image: url("https://studycli.org/wp-content/uploads/2026/03/homepage-trust-bar-001.jpg");
  background-size: cover;
  background-position: center 30%;
  opacity: 0.06;
  pointer-events: none;
  filter: grayscale(30%);
}

body.cli-program-page--immersion .cli-trust-container{
  position: relative;
  z-index: 1;
  width: 100% !important;
  max-width: 969px !important;
  margin: 0 auto !important;
  padding: 0 20px !important;
}

body.cli-program-page--immersion .cli-trust-header{
  text-align: center;
  margin-bottom: 46px;
}

body.cli-program-page--immersion .cli-trust-eyebrow{
  display: inline-block;
  margin-bottom: 16px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 2.4px;
  text-transform: uppercase;
  color: var(--tb-gold);
}

body.cli-program-page--immersion .cli-trust-headline{
  max-width: 640px;
  margin: 0 auto 20px;
  font-family: var(--tb-font-serif) !important;
  font-size: clamp(22px, 3vw, 32px);
  font-weight: 500 !important;
  line-height: 1.3;
  letter-spacing: -0.01em;
  color: var(--tb-text-strong) !important;
  text-transform: none !important;
}

body.cli-program-page--immersion .cli-trust-review{
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 8px 20px;
  border: 1px solid var(--tb-sep);
  border-radius: 100px;
  text-decoration: none;
  color: inherit;
  transition: border-color 0.3s, background 0.3s;
}

body.cli-program-page--immersion .cli-trust-review:hover{
  border-color: rgba(255,255,255,0.18);
  background: rgba(255,255,255,0.03);
}

body.cli-program-page--immersion .cli-trust-review:focus-visible, body.cli-program-page--immersion .cli-trust-face-btn:focus-visible, body.cli-program-page--immersion .cli-trust-stat:focus-visible, body.cli-program-page--immersion .cli-trust-lb-close:focus-visible, body.cli-program-page--immersion .cli-trust-lb-nav:focus-visible{
  outline: 3px solid rgba(241,203,101,0.9);
  outline-offset: 3px;
}

body.cli-program-page--immersion .cli-trust-review__stars{
  display: flex;
  gap: 2px;
  color: var(--tb-star);
}

body.cli-program-page--immersion .cli-trust-review__stars svg{
  width: 14px;
  height: 14px;
  flex: 0 0 auto;
}

body.cli-program-page--immersion .cli-trust-review__score{
  font-family: var(--tb-font-serif) !important;
  font-size: 15px;
  font-weight: 600 !important;
  color: var(--tb-text-strong);
}

body.cli-program-page--immersion .cli-trust-review__max, body.cli-program-page--immersion .cli-trust-review__source{
  font-size: 12px;
  color: var(--tb-text);
}

body.cli-program-page--immersion .cli-trust-review__max{
  font-weight: 300;
}

body.cli-program-page--immersion .cli-trust-review__source{
  font-weight: 400;
  letter-spacing: 0.02em;
}

body.cli-program-page--immersion .cli-trust-review__sep{
  width: 1px;
  height: 16px;
  background: var(--tb-sep);
}

body.cli-program-page--immersion .cli-trust-stats{
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  padding-top: 40px;
  border-top: 1px solid var(--tb-sep);
}

body.cli-program-page--immersion .cli-trust-stat{
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 0 16px;
  color: inherit;
  text-align: center;
  text-decoration: none;
  transition: opacity 0.25s ease;
}

body.cli-program-page--immersion .cli-trust-stat:hover{
  opacity: 0.75;
}

body.cli-program-page--immersion .cli-trust-stat + .cli-trust-stat::before{
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 1px;
  height: 48px;
  background: var(--tb-sep);
}

body.cli-program-page--immersion .cli-trust-stat__number{
  margin-bottom: 6px;
  font-family: var(--tb-font-serif) !important;
  font-size: clamp(32px, 4vw, 44px);
  font-weight: 600 !important;
  line-height: 1.1;
  color: var(--tb-text-strong);
  font-variant-numeric: tabular-nums;
}

body.cli-program-page--immersion .cli-trust-stat__label{
  font-size: 12px;
  font-weight: 300;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--tb-text);
}

body.cli-program-page--immersion .cli-trust-faces{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin-top: 40px;
  padding-top: 32px;
  border-top: 1px solid var(--tb-sep);
  width: 100%;
  max-width: 100%;
}

body.cli-program-page--immersion .cli-trust-faces__icons{
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 12px;
  min-width: 0;
  max-width: 100%;
}

body.cli-program-page--immersion .cli-trust-face-btn{
  display: block;
  width: 40px;
  height: 40px;
  padding: 0;
  border: none;
  border-radius: 50%;
  background: none;
  cursor: pointer;
  flex: 0 0 auto;
  transition: transform 0.3s var(--tb-ease);
}

body.cli-program-page--immersion .cli-trust-face-btn:hover{
  transform: scale(1.12);
}

body.cli-program-page--immersion .cli-trust-face{
  display: block;
  width: 40px !important;
  height: 40px !important;
  max-width: none !important;
  border: 2px solid rgba(255,255,255,0.12);
  border-radius: 50%;
  object-fit: cover;
  opacity: 0.85;
  filter: grayscale(10%);
  transition: opacity 0.3s;
}

body.cli-program-page--immersion .cli-trust-face-btn:hover .cli-trust-face{
  opacity: 1;
}

body.cli-program-page--immersion .cli-trust-faces__label{
  margin-left: 4px;
  flex: 0 1 auto;
  min-width: 0;
  font-size: 13px;
  font-weight: 300;
  color: var(--tb-text);
  text-align: center;
}

body.cli-program-page--immersion .cli-trust-faces__label strong{
  font-weight: 600;
  color: var(--tb-text-strong);
}

body.cli-program-page--immersion .cli-trust-lb-overlay{
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease;
  font-family: "Avenir", "Avenir Next", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
}

body.cli-program-page--immersion .cli-trust-lb-overlay.cli-trust-lb-open{
  opacity: 1;
  visibility: visible;
}

body.cli-program-page--immersion .cli-trust-lb-backdrop{
  position: absolute;
  inset: 0;
  background: rgba(10, 16, 22, 0.92);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

body.cli-program-page--immersion .cli-trust-lb-close, body.cli-program-page--immersion .cli-trust-lb-nav{
  position: absolute;
  z-index: 3;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  cursor: pointer;
  color: #ffffff;
  border: 1px solid rgba(255,255,255,0.18);
  background: rgba(255,255,255,0.10);
  transition: background 0.2s ease, transform 0.2s ease;
}

body.cli-program-page--immersion .cli-trust-lb-close:hover, body.cli-program-page--immersion .cli-trust-lb-nav:hover{
  background: rgba(255,255,255,0.20);
}

body.cli-program-page--immersion .cli-trust-lb-close{
  top: 20px;
  right: 20px;
  width: 44px;
  height: 44px;
}

body.cli-program-page--immersion .cli-trust-lb-close svg{
  width: 22px;
  height: 22px;
}

body.cli-program-page--immersion .cli-trust-lb-nav{
  top: 50%;
  transform: translateY(-50%);
  width: 48px;
  height: 48px;
}

body.cli-program-page--immersion .cli-trust-lb-nav svg{
  width: 24px;
  height: 24px;
}

body.cli-program-page--immersion .cli-trust-lb-prev{
  left: 20px;
}

body.cli-program-page--immersion .cli-trust-lb-next{
  right: 20px;
}

body.cli-program-page--immersion .cli-trust-lb-stage{
  position: relative;
  z-index: 2;
  max-width: 92vw;
  max-height: 86vh;
  display: flex;
  align-items: center;
  justify-content: center;
}

body.cli-program-page--immersion .cli-trust-lb-img{
  max-width: 100%;
  max-height: 86vh;
  object-fit: contain;
  border-radius: 8px;
  box-shadow: 0 20px 80px rgba(0,0,0,0.5);
  opacity: 1;
  transition: opacity 0.25s ease;
}

body.cli-program-page--immersion .cli-trust-lb-img.cli-trust-lb-loading{
  opacity: 0.3;
}

body.cli-program-page--immersion .cli-trust-lb-counter{
  position: absolute;
  left: 50%;
  bottom: 24px;
  transform: translateX(-50%);
  z-index: 3;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.04em;
  color: rgba(255,255,255,0.70);
}

body.cli-program-page--immersion .cli-trust-reveal{
  opacity: 0;
  transform: translateY(22px);
  transition:
    opacity 0.7s ease-out var(--tb-delay, 0s),
    transform 0.6s ease-out var(--tb-delay, 0s);
}

body.cli-program-page--immersion .cli-trust-reveal.cli-trust-revealed{
  opacity: 1 !important;
  transform: translateY(0) !important;
}

@media (max-width: 860px) {
  body.cli-program-page--immersion .cli-trust-block{
    padding: 62px 0;
  }

  body.cli-program-page--immersion .cli-trust-header{
    margin-bottom: 38px;
  }

  body.cli-program-page--immersion .cli-trust-stats{
    grid-template-columns: repeat(2, 1fr);
    gap: 32px 0;
    padding-top: 32px;
  }

  body.cli-program-page--immersion .cli-trust-stat + .cli-trust-stat::before{
    display: none;
  }

  body.cli-program-page--immersion .cli-trust-stat:nth-child(1), body.cli-program-page--immersion .cli-trust-stat:nth-child(2){
    padding-bottom: 28px;
    border-bottom: 1px solid var(--tb-sep);
  }
}

@media (max-width: 767px) {
  body.cli-program-page--immersion .cli-trust-faces{
    flex-direction: column;
    gap: 14px;
  }

  body.cli-program-page--immersion .cli-trust-faces__icons{
    width: 100%;
    max-width: 280px;
    justify-content: center;
    gap: 10px;
  }

  body.cli-program-page--immersion .cli-trust-faces__label{
    margin-left: 0;
    max-width: 100%;
    white-space: normal;
  }
}

@media (max-width: 640px) {
  body.cli-program-page--immersion .cli-trust-lb-prev{
    left: 10px;
  }

  body.cli-program-page--immersion .cli-trust-lb-next{
    right: 10px;
  }

  body.cli-program-page--immersion .cli-trust-lb-nav{
    width: 40px;
    height: 40px;
  }

  body.cli-program-page--immersion .cli-trust-lb-close{
    top: 14px;
    right: 14px;
    width: 40px;
    height: 40px;
  }

  body.cli-program-page--immersion .cli-trust-lb-stage{
    max-width: 96vw;
  }
}

@media (max-width: 480px) {
  body.cli-program-page--immersion .cli-trust-block{
    padding: 50px 0;
  }

  body.cli-program-page--immersion .cli-trust-container{
    padding: 0 16px !important;
  }

  body.cli-program-page--immersion .cli-trust-headline{
    font-size: 22px;
  }

  body.cli-program-page--immersion .cli-trust-review{
    gap: 8px;
    padding: 6px 14px;
  }

  body.cli-program-page--immersion .cli-trust-face-btn, body.cli-program-page--immersion .cli-trust-face{
    width: 34px !important;
    height: 34px !important;
  }

  body.cli-program-page--immersion .cli-trust-faces__icons{
    max-width: 230px;
    gap: 8px;
  }

  body.cli-program-page--immersion .cli-trust-faces__label{
    font-size: 12px;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.cli-program-page--immersion .cli-trust-reveal{
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }

  body.cli-program-page--immersion .cli-trust-review, body.cli-program-page--immersion .cli-trust-stat, body.cli-program-page--immersion .cli-trust-face-btn, body.cli-program-page--immersion .cli-trust-lb-overlay, body.cli-program-page--immersion .cli-trust-lb-img{
    transition: none !important;
  }

  body.cli-program-page--immersion .cli-trust-face-btn:hover, body.cli-program-page--immersion .cli-trust-review:hover, body.cli-program-page--immersion .cli-trust-stat:hover{
    transform: none !important;
  }
}

@media print {
  body.cli-program-page--immersion .cli-trust-block{
    background: #1a2836 !important;
  }

  body.cli-program-page--immersion .cli-trust-lb-overlay{
    display: none !important;
  }
}

/* Immersion-page integration safeguards */
.cli-program--immersion .cli-trust-block{
  margin: 0;
}

.cli-program--immersion .cli-trust-review, .cli-program--immersion .cli-trust-stat{
  color: inherit;
}

.cli-program--immersion .cli-trust-lb-img{
  width: auto;
  height: auto;
}

/* CURRICULUM */
.cli-program--immersion .cli-curriculum{padding:100px 0;background:var(--white)}
.cli-program--immersion .cli-curriculum-top{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;margin-bottom:72px}
.cli-program--immersion .cli-curriculum-img{position:relative;border-radius:var(--radius);overflow:hidden;aspect-ratio:3/2;background:#ddd}
.cli-program--immersion .cli-curriculum-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:1;transition:opacity .22s ease-in-out;will-change:opacity}
.cli-program--immersion .cli-curriculum-img .cli-curriculum-img-current{z-index:1}
.cli-program--immersion .cli-curriculum-img .cli-curriculum-img-next{z-index:2;opacity:0;pointer-events:none}
.cli-program--immersion .cli-curriculum-img.is-crossfading .cli-curriculum-img-next{opacity:1}
.cli-program--immersion .cli-curriculum-dots{position:absolute;left:50%;bottom:18px;z-index:3;display:flex;gap:10px;align-items:center;justify-content:center;transform:translateX(-50%)}
.cli-program--immersion .cli-curriculum-dot{width:11px;height:11px;border-radius:50%;background:transparent;border:1.5px solid rgba(255,255,255,.82);cursor:pointer;padding:0;opacity:.9;transition:background .2s,border-color .2s,opacity .2s,transform .2s}
.cli-program--immersion .cli-curriculum-dot:hover{background:rgba(255,255,255,.55);opacity:1}
.cli-program--immersion .cli-curriculum-dot.active{background:#fff;border-color:#fff;opacity:1;transform:scale(1.15)}
.cli-program--immersion .cli-curriculum-dot:focus-visible{outline:2px solid rgba(255,255,255,.8);outline-offset:3px}
@media(prefers-reduced-motion:reduce){
  .cli-program--immersion .cli-curriculum-img img{transition:none!important}
}
.cli-program--immersion .cli-method-list{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.cli-program--immersion .cli-method-item{padding:28px;background:var(--sand);border-radius:var(--radius);border-left:3px solid #18566B}
.cli-program--immersion .cli-method-item h4{font-family:var(--serif);font-size:19px;color:var(--ink);margin-bottom:8px}
.cli-program--immersion .cli-method-item p{font-size:15px;color:var(--muted);line-height:1.6}


/* CURRICULUM — testimonial video and detail CTA */
/* CURRICULUM — testimonial video (landscape) */
.cli-program--immersion .cli-curriculum-testimonial{display:grid;grid-template-columns:1.15fr 1fr;gap:56px;align-items:center;margin-top:80px;padding-top:72px;border-top:1px solid var(--border)}
.cli-program--immersion .cli-curriculum-video-wrap{position:relative;width:100%;border-radius:16px;overflow:hidden;background:#111;aspect-ratio:16/9;box-shadow:0 16px 48px rgba(0,0,0,.12)}
.cli-program--immersion .cli-curriculum-video-wrap video{width:100%;height:100%;object-fit:cover;display:block;background:#111}
.cli-program--immersion .cli-curriculum-video-play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.18);cursor:pointer;transition:opacity .22s ease,background .25s ease;z-index:2}
.cli-program--immersion .cli-curriculum-video-play:hover{background:rgba(0,0,0,.08)}
.cli-program--immersion .cli-curriculum-video-play.is-hidden{opacity:0;pointer-events:none}
.cli-program--immersion .cli-curriculum-video-play svg{width:64px;height:64px;filter:drop-shadow(0 2px 12px rgba(0,0,0,.3));transition:transform .2s ease}
.cli-program--immersion .cli-curriculum-video-play:hover svg{transform:scale(1.08)}
.cli-program--immersion .cli-curriculum-video-play:focus-visible{outline:2px solid rgba(255,255,255,.9);outline-offset:-8px}
.cli-program--immersion .cli-curriculum-testimonial-copy .cli-section-label{margin-bottom:14px}
.cli-program--immersion .cli-curriculum-testimonial-copy h3{font-family:var(--serif);font-size:34px;color:var(--ink);line-height:1.18;margin-bottom:18px}
.cli-program--immersion .cli-curriculum-testimonial-copy p{font-size:16px;color:var(--muted);line-height:1.7}
.cli-program--immersion .cli-curriculum-attribution{margin-top:18px;font-size:15px!important;color:var(--muted)!important}
.cli-program--immersion .cli-curriculum-attribution strong{color:var(--ink);font-weight:600}
.cli-program--immersion .cli-curriculum-detail-cta{margin-top:34px;display:flex;flex-wrap:wrap;gap:14px;align-items:center}
.cli-program--immersion .cli-curriculum-detail-cta .cli-btn-jade{display:inline-flex;align-items:center;gap:10px;padding:16px 32px;background:var(--jade);color:var(--white);font-family:var(--sans);font-weight:600;font-size:14px;letter-spacing:.5px;text-transform:uppercase;border-radius:var(--radius);text-decoration:none;transition:background .25s,transform .2s}
.cli-program--immersion .cli-curriculum-detail-cta .cli-btn-jade:hover{background:#1e5648;color:var(--white);transform:translateY(-1px)}
.cli-program--immersion .cli-curriculum-detail-cta .cli-btn-jade svg{width:18px;height:18px;flex:0 0 auto;transition:transform .2s}
.cli-program--immersion .cli-curriculum-detail-cta .cli-btn-jade:hover svg{transform:translateX(3px)}
@media(max-width:900px){
  .cli-program--immersion .cli-curriculum-testimonial{grid-template-columns:1fr;gap:36px;margin-top:56px;padding-top:52px}
  .cli-program--immersion .cli-curriculum-video-wrap{width:100%}
  .cli-program--immersion .cli-curriculum-testimonial-copy{text-align:left}
}
@media(max-width:520px){
  .cli-program--immersion .cli-curriculum-testimonial{margin-top:44px;padding-top:40px;gap:28px}
  .cli-program--immersion .cli-curriculum-video-wrap{width:100%}
  .cli-program--immersion .cli-curriculum-testimonial-copy h3{font-size:27px}
  .cli-program--immersion .cli-curriculum-detail-cta{align-items:stretch;flex-direction:column}
  .cli-program--immersion .cli-curriculum-detail-cta .cli-btn-jade, .cli-program--immersion .cli-curriculum-detail-cta .cli-btn-outline{justify-content:center;text-align:center;width:100%}
}

/* PHOTO SCROLL BANDS — manual swipe/scroll gallery */
.cli-program--immersion .cli-hscroll-wrapper{position:relative;margin:48px 0 12px;overflow:hidden}
.cli-program--immersion .cli-hscroll-manual{--cli-hscroll-gap:12px;display:flex;gap:var(--cli-hscroll-gap);overflow-x:auto;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;padding:0 var(--cli-hscroll-gap) 16px;scroll-padding-left:var(--cli-hscroll-gap);scrollbar-width:thin;scrollbar-color:var(--border) transparent;cursor:grab;overscroll-behavior-x:contain;user-select:none;scroll-behavior:auto}
.cli-program--immersion .cli-hscroll-manual:active, .cli-program--immersion .cli-hscroll-manual.is-dragging{cursor:grabbing}
.cli-program--immersion .cli-hscroll-manual.is-dragging, .cli-program--immersion .cli-hscroll-manual.is-gliding{scroll-snap-type:none}
.cli-program--immersion .cli-hscroll-manual::-webkit-scrollbar{height:6px}
.cli-program--immersion .cli-hscroll-manual::-webkit-scrollbar-track{background:transparent}
.cli-program--immersion .cli-hscroll-manual::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}
.cli-program--immersion .cli-hscroll-manual figure{flex:0 0 clamp(280px,38vw,460px);border-radius:10px;overflow:hidden;aspect-ratio:3/2;scroll-snap-align:start;cursor:grab;background:var(--sand)}
.cli-program--immersion .cli-hscroll-manual figure:first-child{margin-left:0}
.cli-program--immersion .cli-hscroll-manual figure:active, .cli-program--immersion .cli-hscroll-manual.is-dragging figure{cursor:grabbing}
.cli-program--immersion .cli-hscroll-manual figure img{width:100%;height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.16,1,.3,1);-webkit-user-drag:none;user-select:none;pointer-events:none}
.cli-program--immersion .cli-hscroll-manual figure:hover img{transform:scale(1.04)}
.cli-program--immersion .cli-hscroll-manual.is-dragging figure img, .cli-program--immersion .cli-hscroll-manual.is-gliding figure img{transform:none!important;transition:none!important}
.cli-program--immersion .cli-hscroll-hint{text-align:center;font-size:13px;color:var(--muted);margin-top:8px}
@media(max-width:640px){.cli-program--immersion .cli-hscroll-wrapper{margin:38px 0 8px}.cli-program--immersion .cli-hscroll-manual{--cli-hscroll-gap:10px;gap:var(--cli-hscroll-gap);padding:0 var(--cli-hscroll-gap) 14px;scroll-padding-left:var(--cli-hscroll-gap)}.cli-program--immersion .cli-hscroll-manual figure{flex-basis:clamp(260px,82vw,360px)}.cli-program--immersion .cli-hscroll-manual figure:first-child{margin-left:0}}
@media(prefers-reduced-motion:reduce){.cli-program--immersion .cli-hscroll-manual{scroll-behavior:auto}.cli-program--immersion .cli-hscroll-manual figure img{transition:none!important}.cli-program--immersion .cli-hscroll-manual figure:hover img{transform:none!important}}
.cli-program--immersion .cli-hscroll-wrapper--before-guilin{margin-bottom:0}
.cli-program--immersion .cli-hscroll-wrapper--before-guilin .cli-hscroll-manual{padding-bottom:var(--cli-hscroll-gap)}

/* DAILY LIFE */
.cli-program--immersion .cli-daily{padding:100px 0;background:var(--cream)}
.cli-program--immersion .cli-daily-header{text-align:center;margin-bottom:64px}
.cli-program--immersion .cli-daily-header .cli-section-subtitle{margin:0 auto}
.cli-program--immersion .cli-daily-note{max-width:780px;margin:28px auto 0;padding:22px 26px;background:var(--white);border:1px solid var(--border);border-left:3px solid var(--jade);border-radius:12px;box-shadow:0 8px 26px rgba(0,0,0,.035)}
.cli-program--immersion .cli-daily-note strong{display:block;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--jade);margin-bottom:7px}
.cli-program--immersion .cli-daily-note p{font-size:15px;color:var(--muted);line-height:1.65}
.cli-program--immersion .cli-timeline{max-width:700px;margin:0 auto;position:relative;padding-left:40px}
.cli-program--immersion .cli-timeline::before{content:"";position:absolute;left:12px;top:8px;bottom:8px;width:2px;background:var(--border)}
.cli-program--immersion .cli-timeline-item{position:relative;margin-bottom:36px}
.cli-program--immersion .cli-timeline-item::before{content:"";position:absolute;left:-33px;top:6px;width:12px;height:12px;border-radius:50%;background:var(--white);border:2px solid var(--jade)}
.cli-program--immersion .cli-timeline-time{font-size:13px;font-weight:700;color:var(--jade);text-transform:uppercase;letter-spacing:1px;margin-bottom:4px}
.cli-program--immersion .cli-timeline-label{font-family:var(--serif);font-size:20px;color:var(--ink);margin-bottom:4px}
.cli-program--immersion .cli-timeline-desc{font-size:15px;color:var(--muted);line-height:1.6}

/* ACTIVITIES */
.cli-program--immersion .cli-activities{padding:100px 0;background:var(--white)}
.cli-program--immersion .cli-activities-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.cli-program--immersion .cli-activities-collage{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.cli-program--immersion .cli-activities-item{position:relative;border-radius:var(--radius);overflow:hidden;background:var(--sand);cursor:pointer}
.cli-program--immersion .cli-activities-item img{width:100%;height:100%;aspect-ratio:1;object-fit:cover;transition:transform .45s cubic-bezier(.16,1,.3,1);display:block}
.cli-program--immersion .cli-activities-item:first-child{grid-row:span 2}
.cli-program--immersion .cli-activities-item:first-child img{aspect-ratio:auto;height:100%}
.cli-program--immersion .cli-activities-item::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.34) 0%,rgba(0,0,0,0) 54%);opacity:0;transition:opacity .25s ease;pointer-events:none}
.cli-program--immersion .cli-activities-item:hover::after, .cli-program--immersion .cli-activities-item:focus-visible::after{opacity:1}
.cli-program--immersion .cli-activities-item:hover img{transform:scale(1.04)}
.cli-program--immersion .cli-activities-item:focus-visible{outline:3px solid var(--jade);outline-offset:3px}
.cli-program--immersion .cli-activities-badge{position:absolute;left:14px;bottom:14px;z-index:2;display:inline-flex;align-items:center;gap:7px;padding:8px 14px;background:rgba(0,0,0,.56);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-radius:8px;color:#fff;font-family:var(--sans);font-size:13px;font-weight:600;letter-spacing:.01em;line-height:1;pointer-events:none}
.cli-program--immersion .cli-activities-badge svg{width:16px;height:16px;flex:0 0 auto}
.cli-program--immersion .cli-act-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.cli-program--immersion .cli-act-tag{padding:6px 16px;background:var(--sand);border-radius:100px;font-size:13px;font-weight:500;color:var(--body)}
.cli-program--immersion a.cli-act-tag{text-decoration:none}
.cli-program--immersion a.cli-act-tag:hover{color:var(--body);background:#f0ede6}
.cli-program--immersion a.cli-act-tag:focus-visible{outline:2px solid var(--jade);outline-offset:3px}

/* Activities lightbox */
body.cli-program-page--immersion .cli-activities-lb-overlay, body.cli-program-page--immersion .cli-activities-lb-overlay *, body.cli-program-page--immersion .cli-activities-lb-overlay *::before, body.cli-program-page--immersion .cli-activities-lb-overlay *::after{box-sizing:border-box!important}
body.cli-program-page--immersion .cli-activities-lb-overlay{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease;font-family:"Avenir","Avenir Next",-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif}
body.cli-program-page--immersion .cli-activities-lb-overlay.cli-activities-lb-open{opacity:1;visibility:visible}
body.cli-program-page--immersion .cli-activities-lb-backdrop{position:absolute;inset:0;background:rgba(10,16,22,.92);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
body.cli-program-page--immersion .cli-activities-lb-close, body.cli-program-page--immersion .cli-activities-lb-nav{position:absolute;z-index:3;display:flex;align-items:center;justify-content:center;border-radius:50%;cursor:pointer;color:#fff;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.10);transition:background .2s ease,transform .2s ease}
body.cli-program-page--immersion .cli-activities-lb-close:hover, body.cli-program-page--immersion .cli-activities-lb-nav:hover{background:rgba(255,255,255,.20)}
body.cli-program-page--immersion .cli-activities-lb-close{top:20px;right:20px;width:44px;height:44px}
body.cli-program-page--immersion .cli-activities-lb-close svg{width:22px;height:22px}
body.cli-program-page--immersion .cli-activities-lb-nav{top:50%;transform:translateY(-50%);width:48px;height:48px}
body.cli-program-page--immersion .cli-activities-lb-nav svg{width:24px;height:24px}
body.cli-program-page--immersion .cli-activities-lb-prev{left:20px}
body.cli-program-page--immersion .cli-activities-lb-next{right:20px}
body.cli-program-page--immersion .cli-activities-lb-close:focus-visible, body.cli-program-page--immersion .cli-activities-lb-nav:focus-visible{outline:3px solid rgba(255,255,255,.65);outline-offset:3px}
body.cli-program-page--immersion .cli-activities-lb-stage{position:relative;z-index:2;max-width:92vw;max-height:86vh;display:flex;align-items:center;justify-content:center}
body.cli-program-page--immersion .cli-activities-lb-img{max-width:100%;max-height:86vh;object-fit:contain;border-radius:8px;box-shadow:0 20px 80px rgba(0,0,0,.5);opacity:1;transition:opacity .25s ease}
body.cli-program-page--immersion .cli-activities-lb-img.cli-activities-lb-loading{opacity:.3}
body.cli-program-page--immersion .cli-activities-lb-counter{position:absolute;left:50%;bottom:24px;transform:translateX(-50%);z-index:3;font-size:13px;font-weight:600;letter-spacing:.04em;color:rgba(255,255,255,.72)}
@media(max-width:640px){
  body.cli-program-page--immersion .cli-activities-lb-prev{left:10px}
  body.cli-program-page--immersion .cli-activities-lb-next{right:10px}
  body.cli-program-page--immersion .cli-activities-lb-nav{width:40px;height:40px}
  body.cli-program-page--immersion .cli-activities-lb-close{top:14px;right:14px;width:40px;height:40px}
  body.cli-program-page--immersion .cli-activities-lb-stage{max-width:96vw}
}
@media(prefers-reduced-motion:reduce){
  body.cli-program-page--immersion .cli-activities-item img, body.cli-program-page--immersion .cli-activities-item::after, body.cli-program-page--immersion .cli-activities-lb-overlay, body.cli-program-page--immersion .cli-activities-lb-img{transition:none!important}
  body.cli-program-page--immersion .cli-activities-item:hover img{transform:none!important}
}

/* GO OVERSEAS TESTIMONIALS — replaces former Harry Mattison testimonial section */
/* ============================================================
   GO OVERSEAS TESTIMONIALS — Scoped to .cli-program--immersion .cli-go
   ============================================================ */

/* --- Section root --- */
.cli-program--immersion .cli-go{
  padding: 0;
  background: #F7F5F0 !important;
  overflow: hidden;
}

/* --- Header band --- */
.cli-program--immersion .cli-go-header{
  background: linear-gradient(135deg, #1a2836 0%, #1e3242 50%, #1a2836 100%);
  padding: 80px 24px 68px;
  text-align: center;
  position: relative;
  overflow: hidden;
}

.cli-program--immersion .cli-go-header::before{
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 50% 80% at 20% 50%, rgba(42,107,90,0.16) 0%, transparent 70%),
    radial-gradient(ellipse 40% 60% at 80% 40%, rgba(241,203,101,0.05) 0%, transparent 60%);
  pointer-events: none;
}

.cli-program--immersion .cli-go-header > *{
  position: relative;
  z-index: 1;
}

.cli-program--immersion .cli-go-eyebrow{
  display: inline-block;
  font-family: var(--sans) !important;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 2.4px;
  text-transform: uppercase;
  color: #f1cb65;
  margin-bottom: 18px;
}

.cli-program--immersion .cli-go-headline{
  font-family: var(--serif) !important;
  font-size: clamp(30px, 3.5vw, 44px);
  font-weight: 500 !important;
  line-height: 1.15;
  color: #f0f5f6 !important;
  margin: 0 auto 24px;
  max-width: 680px;
  letter-spacing: -0.015em;
}

.cli-program--immersion .cli-go-rating-link{
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 9px 22px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 100px;
  text-decoration: none;
  color: inherit;
  transition: border-color 0.3s, background 0.3s;
}

.cli-program--immersion .cli-go-rating-link:hover{
  border-color: rgba(255,255,255,0.24);
  background: rgba(255,255,255,0.04);
  color: inherit;
}

.cli-program--immersion .cli-go-stars{
  display: flex;
  gap: 2px;
  color: #e8a84c;
}

.cli-program--immersion .cli-go-stars svg{
  width: 15px;
  height: 15px;
}

.cli-program--immersion .cli-go-score{
  font-family: var(--serif) !important;
  font-size: 15px;
  font-weight: 600;
  color: #f0f5f6;
}

.cli-program--immersion .cli-go-score-max{
  font-weight: 300;
  color: rgba(255,255,255,0.5);
}

.cli-program--immersion .cli-go-sep{
  width: 1px;
  height: 16px;
  background: rgba(255,255,255,0.12);
}

.cli-program--immersion .cli-go-source{
  font-family: var(--sans) !important;
  font-size: 13px;
  font-weight: 400;
  color: rgba(255,255,255,0.6);
  letter-spacing: 0.02em;
}

/* --- Carousel wrapper --- */
.cli-program--immersion .cli-go-carousel-zone{
  background: #F7F5F0 !important;
  padding: 56px 0 72px;
  position: relative;
  isolation: isolate;
}

.cli-program--immersion .cli-go-carousel-zone::before{
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 100vw;
  transform: translateX(-50%);
  background: #F7F5F0 !important;
  z-index: -1;
  pointer-events: none;
}

.cli-program--immersion .cli-go-carousel-shell{
  max-width: var(--content-max);
  margin: 0 auto;
  padding: 0 24px;
  position: relative;
  background: #F7F5F0 !important;
}

.cli-program--immersion .cli-go-carousel{
  overflow: hidden;
  border-radius: 18px;
  background: #F7F5F0 !important;
  padding: 0;
  margin: 0 0 5px;
}

.cli-program--immersion .cli-go-track{
  display: flex;
  transition: transform 0.5s cubic-bezier(0.25, 1, 0.5, 1);
  cursor: grab;
  touch-action: pan-y;
  will-change: transform;
  -webkit-user-select: none;
  user-select: none;
  -webkit-user-drag: none;
  background: #F7F5F0 !important;
}

.cli-program--immersion .cli-go-track:active, .cli-program--immersion .cli-go-track.is-dragging{
  cursor: grabbing;
}

.cli-program--immersion .cli-go-track.is-dragging{
  transition: none;
}

/* --- Individual slide --- */
.cli-program--immersion .cli-go-slide{
  flex: 0 0 100%;
  width: 100%;
  min-width: 100%;
  max-width: 100%;
  padding: 0;
  background: #F7F5F0 !important;
}

.cli-program--immersion .cli-go-card{
  width: 100%;
  display: grid;
  grid-template-columns: 1fr 1.2fr;
  background: var(--white);
  border-radius: 18px;
  border: 1px solid var(--border);
  overflow: hidden;
  box-shadow:
    0 10px 28px -26px rgba(26,40,54,0.30),
    0 2px 10px -10px rgba(26,40,54,0.16),
    inset 0 1px 0 rgba(255,255,255,0.72);
  min-height: 420px;
}

/* --- Card image side --- */
.cli-program--immersion .cli-go-card-img{
  position: relative;
  overflow: hidden;
  background: var(--jade-light);
}

.cli-program--immersion .cli-go-card-img img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.cli-program--immersion .cli-go-card-img::after{
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(0,0,0,0.04) 0%, rgba(0,0,0,0.12) 100%);
  pointer-events: none;
}

/* --- Card content side --- */
.cli-program--immersion .cli-go-card-body{
  padding: 40px 40px 36px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.cli-program--immersion .cli-go-card-top{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
  flex-wrap: wrap;
}

.cli-program--immersion .cli-go-card-rating{
  display: inline-flex;
  align-items: center;
  gap: 3px;
  color: #e8a84c;
  font-size: 16px;
  letter-spacing: 2px;
  flex-shrink: 0;
}

.cli-program--immersion .cli-go-card-date{
  font-family: var(--sans) !important;
  font-size: 12px;
  font-weight: 500;
  color: var(--muted);
  letter-spacing: 0.02em;
}

.cli-program--immersion .cli-go-card-title{
  font-family: var(--serif) !important;
  font-size: clamp(20px, 1.8vw, 26px);
  font-weight: 500 !important;
  line-height: 1.22;
  color: var(--ink) !important;
  margin: 0 0 18px;
  letter-spacing: -0.01em;
}

.cli-program--immersion .cli-go-card-quote{
  font-family: var(--sans) !important;
  font-size: 15.5px;
  font-style: italic;
  line-height: 1.72;
  color: var(--body);
  margin: 0 0 24px;
  position: relative;
  flex: 1;
}

.cli-program--immersion .cli-go-card-quote::before{
  content: "“";
  font-family: var(--serif) !important;
  font-size: 56px;
  font-style: normal;
  color: var(--border);
  position: absolute;
  top: -18px;
  left: -4px;
  line-height: 1;
  pointer-events: none;
}

/* --- Attribution row --- */
.cli-program--immersion .cli-go-card-attr{
  padding-top: 20px;
  border-top: 1px solid var(--border);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}

.cli-program--immersion .cli-go-card-author{
  font-family: var(--sans) !important;
  font-size: 15px;
  font-weight: 600;
  color: var(--ink);
}

.cli-program--immersion .cli-go-card-meta{
  font-family: var(--sans) !important;
  font-size: 13px;
  font-weight: 400;
  color: var(--muted);
  margin-top: 3px;
}

.cli-program--immersion .cli-go-card-recommend{
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: var(--sans) !important;
  font-size: 12px;
  font-weight: 600;
  color: #2a6b5a;
  background: var(--jade-light);
  padding: 6px 14px;
  border-radius: 100px;
  flex-shrink: 0;
  letter-spacing: 0.01em;
}

.cli-program--immersion .cli-go-card-recommend svg{
  width: 14px;
  height: 14px;
  flex: 0 0 auto;
}

/* --- Navigation --- */
.cli-program--immersion .cli-go-nav{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  margin-top: 0px;
}

.cli-program--immersion .cli-go-btn{
  width: 46px;
  height: 46px;
  border-radius: 50%;
  border: 1.5px solid var(--border);
  background: var(--white);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: border-color 0.25s, color 0.25s, transform 0.2s;
  color: var(--muted);
  padding: 0;
  flex-shrink: 0;
}

.cli-program--immersion .cli-go-btn:hover{
  border-color: var(--jade);
  color: var(--jade);
  transform: translateY(-1px);
}

.cli-program--immersion .cli-go-btn:focus-visible{
  outline: 2px solid var(--jade);
  outline-offset: 3px;
}

.cli-program--immersion .cli-go-btn svg{
  width: 18px;
  height: 18px;
}

.cli-program--immersion .cli-go-dots{
  display: flex;
  gap: 7px;
  align-items: center;
}

.cli-program--immersion .cli-go-dot{
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--border);
  border: none;
  cursor: pointer;
  padding: 0;
  transition: background 0.25s, transform 0.25s;
}

.cli-program--immersion .cli-go-dot:hover{
  background: #b9b4ac;
}

.cli-program--immersion .cli-go-dot.active{
  background: var(--jade);
  transform: scale(1.3);
}

.cli-program--immersion .cli-go-dot:focus-visible{
  outline: 2px solid var(--jade);
  outline-offset: 3px;
}

/* --- Counter --- */
.cli-program--immersion .cli-go-counter{
  text-align: center;
  margin-top: 14px;
  font-family: var(--sans) !important;
  font-size: 13px;
  font-weight: 500;
  color: var(--muted);
  letter-spacing: 0.04em;
}

.cli-program--immersion .cli-go-counter strong{
  color: var(--ink);
  font-weight: 600;
}

/* --- Footer CTA --- */
.cli-program--immersion .cli-go-footer{
  text-align: center;
  padding: 0 24px 64px;
  background: #F7F5F0 !important;
  position: relative;
  isolation: isolate;
}

.cli-program--immersion .cli-go-footer::before{
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 100vw;
  transform: translateX(-50%);
  background: #F7F5F0 !important;
  z-index: -1;
  pointer-events: none;
}

.cli-program--immersion .cli-go-footer-note{
  max-width: 680px;
  margin: 0 auto 28px;
  font-family: var(--sans) !important;
  font-size: 16px;
  line-height: 1.7;
  color: var(--muted);
}

.cli-program--immersion .cli-go-footer-note strong{
  color: var(--ink);
  font-weight: 600;
}

.cli-program--immersion .cli-go-footer-note a{
  color: #1949AE;
  text-decoration: none;
  transition: color .2s;
}

.cli-program--immersion .cli-go-footer-note a:hover{
  color: #0f3278;
}

/* --- Responsive --- */
@media (max-width: 900px) {
  .cli-program--immersion .cli-go-header{
    padding: 64px 24px 52px;
  }

  .cli-program--immersion .cli-go-card{
    grid-template-columns: 1fr;
    min-height: auto;
  }

  .cli-program--immersion .cli-go-card-img{
    aspect-ratio: 16 / 8;
    max-height: 240px;
  }

  .cli-program--immersion .cli-go-card-body{
    padding: 32px 28px 28px;
  }

  .cli-program--immersion .cli-go-carousel-zone{
    padding: 40px 0 56px;
  }

  .cli-program--immersion .cli-go-dots{
    gap: 6px;
  }

  .cli-program--immersion .cli-go-dot{
    width: 8px;
    height: 8px;
  }
}

@media (max-width: 520px) {
  .cli-program--immersion .cli-go-header{
    padding: 52px 20px 44px;
  }

  .cli-program--immersion .cli-go-card-body{
    padding: 26px 22px 24px;
  }

  .cli-program--immersion .cli-go-card-title{
    font-size: 20px;
  }

  .cli-program--immersion .cli-go-card-quote{
    font-size: 14.5px;
  }

  .cli-program--immersion .cli-go-card-quote::before{
    font-size: 42px;
    top: -14px;
  }

  .cli-program--immersion .cli-go-carousel-shell{
    padding: 0 16px;
  }

  .cli-program--immersion .cli-go-nav{
    gap: 12px;
  }

  .cli-program--immersion .cli-go-btn{
    width: 40px;
    height: 40px;
  }

  .cli-program--immersion .cli-go-card-attr{
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
  }

  .cli-program--immersion .cli-go-footer{
    padding: 0 20px 52px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .cli-program--immersion .cli-go-track{
    transition: none !important;
  }

  .cli-program--immersion .cli-go-dot, .cli-program--immersion .cli-go-btn{
    transition: none !important;
  }
}

/* INCLUDED */
.cli-program--immersion .cli-included{padding:100px 0;background:var(--cream)}
.cli-program--immersion .cli-included-header{text-align:center;margin-bottom:56px}
.cli-program--immersion .cli-included-header .cli-section-subtitle{margin:0 auto}
.cli-program--immersion .cli-ip__inclusions{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border);border:1px solid var(--border);border-radius:16px;overflow:hidden;max-width:var(--content-max);margin:0 auto}
.cli-program--immersion .cli-ip__inclusion{background:var(--white);padding:36px 28px;transition:background .3s cubic-bezier(.165,.84,.44,1)}
.cli-program--immersion .cli-ip__inclusion:hover{background:#fbfaf8}
.cli-program--immersion .cli-ip__inclusion-icon{width:48px;height:48px;border-radius:12px;background:#fdf2f2;display:flex;align-items:center;justify-content:center;color:var(--accent);margin-bottom:20px}
.cli-program--immersion .cli-ip__inclusion-icon svg{width:24px;height:24px}
.cli-program--immersion .cli-ip__inclusion h4{font-family:var(--serif);font-size:20px;font-weight:500;color:var(--ink);margin-bottom:10px;line-height:1.3}
.cli-program--immersion .cli-ip__inclusion p{font-size:15px;line-height:1.65;color:var(--body)}
@media(max-width:900px){.cli-program--immersion .cli-ip__inclusions{grid-template-columns:repeat(2,1fr);max-width:calc(100% - 48px)}}
@media(max-width:560px){.cli-program--immersion .cli-ip__inclusions{grid-template-columns:1fr;max-width:calc(100% - 36px)}.cli-program--immersion .cli-ip__inclusion{padding:30px 24px}}


/* CLI Language Pledge bracelet lightbox */
body.cli-program-page--immersion .cli-bracelet-lb-overlay,
body.cli-program-page--immersion .cli-bracelet-lb-overlay *,
body.cli-program-page--immersion .cli-bracelet-lb-overlay *::before,
body.cli-program-page--immersion .cli-bracelet-lb-overlay *::after{
  box-sizing:border-box!important;
}
body.cli-program-page--immersion .cli-bracelet-lb-overlay{
  position:fixed;
  inset:0;
  z-index:99999;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:28px;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .22s ease,visibility .22s ease;
}
body.cli-program-page--immersion .cli-bracelet-lb-overlay.cli-bracelet-lb-open{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}
body.cli-program-page--immersion .cli-bracelet-lb-backdrop{
  position:absolute;
  inset:0;
  background:rgba(19,18,16,.84);
  backdrop-filter:blur(6px);
}
body.cli-program-page--immersion .cli-bracelet-lb-panel{
  position:relative;
  z-index:1;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:14px;
  max-width:min(920px,92vw);
  max-height:88vh;
}
body.cli-program-page--immersion .cli-bracelet-lb-title{
  margin:0;
  color:#fff;
  font-family:"Fraunces",Georgia,"Times New Roman",serif;
  font-size:clamp(20px,3vw,30px);
  font-weight:520;
  line-height:1.15;
  text-align:center;
  text-shadow:0 1px 8px rgba(0,0,0,.45);
}
body.cli-program-page--immersion .cli-bracelet-lb-img{
  display:block;
  max-width:100%;
  max-height:calc(88vh - 84px);
  width:auto;
  height:auto;
  border-radius:18px;
  background:#fff;
  box-shadow:0 26px 80px rgba(0,0,0,.42);
}
body.cli-program-page--immersion .cli-bracelet-lb-close{
  position:absolute;
  top:-18px;
  right:-18px;
  z-index:2;
  display:flex;
  align-items:center;
  justify-content:center;
  width:44px;
  height:44px;
  border:1px solid rgba(255,255,255,.25);
  border-radius:999px;
  background:rgba(0,0,0,.52);
  color:#fff;
  cursor:pointer;
  transition:background .18s ease,transform .18s ease,border-color .18s ease;
}
body.cli-program-page--immersion .cli-bracelet-lb-close:hover{
  background:rgba(0,0,0,.74);
  border-color:rgba(255,255,255,.45);
  transform:translateY(-1px);
}
body.cli-program-page--immersion .cli-bracelet-lb-close:focus-visible{
  outline:3px solid rgba(241,203,101,.92);
  outline-offset:4px;
}
body.cli-program-page--immersion .cli-bracelet-lb-close svg{
  width:22px;
  height:22px;
}
@media(max-width:640px){
  body.cli-program-page--immersion .cli-bracelet-lb-overlay{padding:18px;}
  body.cli-program-page--immersion .cli-bracelet-lb-close{top:10px;right:10px;}
  body.cli-program-page--immersion .cli-bracelet-lb-img{border-radius:14px;max-height:calc(88vh - 78px);}
}
@media(prefers-reduced-motion:reduce){
  body.cli-program-page--immersion .cli-bracelet-lb-overlay,
  body.cli-program-page--immersion .cli-bracelet-lb-close{transition:none!important;}
}

/* HOUSING */
.cli-program--immersion .cli-housing{padding:100px 0;background:var(--white)}
.cli-program--immersion .cli-housing-header{text-align:center;margin-bottom:56px}
.cli-program--immersion .cli-housing-header .cli-section-subtitle{margin:0 auto}
.cli-program--immersion .cli-housing-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:32px;max-width:var(--content-max);margin:0 auto;padding:0 24px}
.cli-program--immersion .cli-housing-card{background:var(--sand);border-radius:22px;border:1px solid var(--border);overflow:hidden;display:flex;flex-direction:column;box-shadow:0 10px 28px rgba(0,0,0,.045)}
.cli-program--immersion .cli-housing-image{width:100%;aspect-ratio:16/9;overflow:hidden;background:#ddd}
.cli-program--immersion .cli-housing-image img{width:100%;height:100%;object-fit:cover;display:block}
.cli-program--immersion .cli-housing-content{padding:30px 30px 28px}
.cli-program--immersion .cli-housing-kicker{font-size:12px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--accent);margin-bottom:10px}
.cli-program--immersion .cli-housing-card h3, .cli-program--immersion .cli-housing-card h4{font-family:var(--serif);font-size:22px;color:var(--ink);margin-bottom:14px;line-height:1.18}
.cli-program--immersion .cli-housing-summary{font-size:15px;color:var(--body);line-height:1.72;margin-bottom:18px}
.cli-program--immersion .cli-housing-points{list-style:none;padding:0;margin:0}
.cli-program--immersion .cli-housing-points li{position:relative;padding-left:30px;font-size:15px;color:var(--muted);line-height:1.65;margin:0 0 12px}
.cli-program--immersion .cli-housing-points li::before{content:"✓";position:absolute;left:0;top:0;color:var(--accent);font-weight:700;font-size:17px;line-height:1.4}
.cli-program--immersion .cli-housing-divider{height:1px;background:var(--border);margin:16px 0 18px}
.cli-program--immersion .cli-housing-features{display:flex;flex-wrap:wrap;gap:8px}
.cli-program--immersion .cli-housing-feat{font-size:12px;font-weight:600;padding:6px 12px;background:rgba(255,255,255,.72);border-radius:100px;color:#4a4a4a;border:1px solid #ebe7e1;line-height:1.2}
@media(max-width:640px){
  .cli-program--immersion .cli-housing-content{padding:24px 22px 22px}
  .cli-program--immersion .cli-housing-card h3, .cli-program--immersion .cli-housing-card h4{font-size:21px}
}


/* HOUSING LIGHTBOX — Browse button + overlay */
.cli-program--immersion .cli-housing-image{position:relative;cursor:pointer}
.cli-program--immersion .cli-housing-image::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.38) 0%,transparent 50%);opacity:0;transition:opacity .3s ease;pointer-events:none}
.cli-program--immersion .cli-housing-card:hover .cli-housing-image::after{opacity:1}
.cli-program--immersion .cli-housing-browse{position:absolute;bottom:14px;left:14px;z-index:2;display:inline-flex;align-items:center;gap:7px;padding:8px 16px;background:rgba(255,255,255,.92);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border:none;border-radius:100px;color:#2d2d2d;font-family:var(--sans);font-size:12.5px;font-weight:600;letter-spacing:.03em;cursor:pointer;opacity:0;transform:translateY(6px);transition:opacity .3s ease,transform .3s ease,background .2s ease;box-shadow:0 2px 10px rgba(0,0,0,.12)}
.cli-program--immersion .cli-housing-browse svg{width:15px;height:15px;flex:0 0 auto}
.cli-program--immersion .cli-housing-card:hover .cli-housing-browse{opacity:1;transform:translateY(0)}
.cli-program--immersion .cli-housing-browse:hover{background:#fff}
.cli-program--immersion .cli-housing-browse:focus-visible{outline:2px solid var(--jade);outline-offset:3px;opacity:1;transform:translateY(0)}
@media(max-width:900px){
  .cli-program--immersion .cli-housing-browse{opacity:1;transform:translateY(0)}
  .cli-program--immersion .cli-housing-image::after{opacity:1}
}

/* Housing lightbox overlay */
body.cli-program-page--immersion .cli-housing-lb-overlay, body.cli-program-page--immersion .cli-housing-lb-overlay *, body.cli-program-page--immersion .cli-housing-lb-overlay *::before, body.cli-program-page--immersion .cli-housing-lb-overlay *::after{box-sizing:border-box!important}
body.cli-program-page--immersion .cli-housing-lb-overlay{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease;font-family:"Avenir","Avenir Next",-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif}
body.cli-program-page--immersion .cli-housing-lb-overlay.cli-housing-lb-open{opacity:1;visibility:visible}
body.cli-program-page--immersion .cli-housing-lb-backdrop{position:absolute;inset:0;background:rgba(10,16,22,.94);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
body.cli-program-page--immersion .cli-housing-lb-close, body.cli-program-page--immersion .cli-housing-lb-nav{position:absolute;z-index:3;display:flex;align-items:center;justify-content:center;border-radius:50%;cursor:pointer;color:#fff;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.10);transition:background .2s ease,transform .2s ease}
body.cli-program-page--immersion .cli-housing-lb-close:hover, body.cli-program-page--immersion .cli-housing-lb-nav:hover{background:rgba(255,255,255,.20)}
body.cli-program-page--immersion .cli-housing-lb-close{top:20px;right:20px;width:44px;height:44px}
body.cli-program-page--immersion .cli-housing-lb-close svg{width:22px;height:22px}
body.cli-program-page--immersion .cli-housing-lb-nav{top:50%;transform:translateY(-50%);width:48px;height:48px}
body.cli-program-page--immersion .cli-housing-lb-nav svg{width:24px;height:24px}
body.cli-program-page--immersion .cli-housing-lb-prev{left:20px}
body.cli-program-page--immersion .cli-housing-lb-next{right:20px}
body.cli-program-page--immersion .cli-housing-lb-close:focus-visible, body.cli-program-page--immersion .cli-housing-lb-nav:focus-visible{outline:3px solid rgba(42,107,90,.9);outline-offset:3px}
body.cli-program-page--immersion .cli-housing-lb-stage{position:relative;z-index:2;max-width:88vw;max-height:78vh;display:flex;flex-direction:column;align-items:center;gap:18px}
body.cli-program-page--immersion .cli-housing-lb-main-img{max-width:100%;max-height:68vh;object-fit:contain;border-radius:8px;box-shadow:0 20px 80px rgba(0,0,0,.5);opacity:1;transition:opacity .25s ease}
body.cli-program-page--immersion .cli-housing-lb-main-img.cli-housing-lb-loading{opacity:.3}
body.cli-program-page--immersion .cli-housing-lb-info{position:absolute;top:20px;left:20px;z-index:3;display:flex;flex-direction:column;gap:4px}
body.cli-program-page--immersion .cli-housing-lb-title{font-family:"Fraunces",Georgia,"Times New Roman",serif;font-size:18px;font-weight:500;color:#fff;text-shadow:0 1px 6px rgba(0,0,0,.5)}
body.cli-program-page--immersion .cli-housing-lb-counter{font-size:12px;font-weight:600;letter-spacing:.06em;color:rgba(255,255,255,.6)}
body.cli-program-page--immersion .cli-housing-lb-thumbs{display:flex;gap:6px;align-items:center;justify-content:center;max-width:88vw;overflow-x:auto;padding:4px 0;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.2) transparent}
body.cli-program-page--immersion .cli-housing-lb-thumbs::-webkit-scrollbar{height:4px}
body.cli-program-page--immersion .cli-housing-lb-thumbs::-webkit-scrollbar-thumb{background:rgba(255,255,255,.25);border-radius:2px}
body.cli-program-page--immersion .cli-housing-lb-thumb{width:56px;height:40px;flex:0 0 56px;border-radius:5px;object-fit:cover;cursor:pointer;border:2px solid transparent;opacity:.5;transition:opacity .2s,border-color .2s,transform .2s}
body.cli-program-page--immersion .cli-housing-lb-thumb:hover{opacity:.8}
body.cli-program-page--immersion .cli-housing-lb-thumb.active{opacity:1;border-color:#fff;transform:scale(1.08)}
@media(max-width:640px){
  body.cli-program-page--immersion .cli-housing-lb-prev{left:10px}
  body.cli-program-page--immersion .cli-housing-lb-next{right:10px}
  body.cli-program-page--immersion .cli-housing-lb-nav{width:40px;height:40px}
  body.cli-program-page--immersion .cli-housing-lb-close{top:14px;right:14px;width:40px;height:40px}
  body.cli-program-page--immersion .cli-housing-lb-stage{max-width:96vw}
  body.cli-program-page--immersion .cli-housing-lb-thumb{width:44px;height:32px;flex:0 0 44px}
  body.cli-program-page--immersion .cli-housing-lb-title{font-size:15px}
}
@media(prefers-reduced-motion:reduce){
  body.cli-program-page--immersion .cli-housing-lb-overlay, body.cli-program-page--immersion .cli-housing-lb-main-img, body.cli-program-page--immersion .cli-housing-lb-thumb, body.cli-program-page--immersion .cli-housing-browse{transition:none!important}
}

/* PRICING */
.cli-program--immersion .cli-pricing{padding:100px 0;background:var(--cream)}
.cli-program--immersion .cli-pricing-header{text-align:center;margin-bottom:42px}
.cli-program--immersion .cli-pricing-header .cli-section-subtitle{margin:0 auto}
.cli-program--immersion .cli-pricing-shell{max-width:var(--content-max);margin:0 auto;padding:0 24px}
.cli-program--immersion .cli-pricing-toggle{display:inline-flex;align-items:center;justify-content:center;gap:4px;margin:0 auto 36px;padding:5px;background:var(--white);border:1px solid var(--border);border-radius:999px;box-shadow:0 4px 18px rgba(0,0,0,.04)}
.cli-program--immersion .cli-pricing-toggle-wrap{text-align:center}
.cli-program--immersion .cli-pricing-toggle button{appearance:none;border:0;background:transparent;color:var(--muted);font-family:var(--sans);font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:10px 18px;border-radius:999px;cursor:pointer;transition:background .22s,color .22s,box-shadow .22s}
.cli-program--immersion .cli-pricing-toggle button[aria-pressed="true"]{background:var(--jade);color:var(--white);box-shadow:0 3px 10px rgba(42,107,90,.18)}
.cli-program--immersion .cli-pricing-toggle button:focus-visible{outline:2px solid var(--jade);outline-offset:3px}
.cli-program--immersion .cli-pricing-panel[hidden]{display:none!important}
.cli-program--immersion .cli-pricing-panel{animation:cliPriceFade .28s ease both}
@keyframes cliPriceFade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}

.cli-program--immersion .cli-tuition-estimator{background:var(--white);border:1px solid var(--border);border-radius:16px;overflow:hidden;box-shadow:0 8px 32px rgba(0,0,0,.06);display:grid;grid-template-columns:1.1fr 1fr}
.cli-program--immersion .cli-est-controls{padding:40px 40px 36px;border-right:1px solid var(--border)}
.cli-program--immersion .cli-est-control+.cli-est-control{margin-top:32px}
.cli-program--immersion .cli-est-label{font-family:var(--sans);font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-bottom:14px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.cli-program--immersion .cli-est-label-value{font-family:var(--serif);font-size:1.35rem;font-weight:500;color:var(--ink);letter-spacing:-.01em;text-transform:none;white-space:nowrap}
.cli-program--immersion .cli-est-slider{-webkit-appearance:none;appearance:none;width:100%;height:6px;background:var(--border);border-radius:3px;outline:none;margin:8px 0 10px}
.cli-program--immersion .cli-est-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:22px;height:22px;background:var(--accent);border-radius:50%;cursor:pointer;border:3px solid var(--white);box-shadow:0 2px 8px rgba(196,70,58,.35);transition:transform .15s}
.cli-program--immersion .cli-est-slider::-webkit-slider-thumb:hover{transform:scale(1.12)}
.cli-program--immersion .cli-est-slider::-moz-range-thumb{width:22px;height:22px;background:var(--accent);border-radius:50%;cursor:pointer;border:3px solid var(--white);box-shadow:0 2px 8px rgba(196,70,58,.35)}
.cli-program--immersion .cli-est-slider:focus-visible::-webkit-slider-thumb{outline:2px solid var(--accent);outline-offset:3px}
.cli-program--immersion .cli-est-slider-range{display:flex;justify-content:space-between;font-size:11px;color:var(--muted);letter-spacing:.06em}
.cli-program--immersion .cli-est-housing{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.cli-program--immersion .cli-est-option{position:relative;cursor:pointer}
.cli-program--immersion .cli-est-option input[type="radio"]{position:absolute;opacity:0;pointer-events:none}
.cli-program--immersion .cli-est-option-card{display:block;padding:14px 16px;border:1.5px solid var(--border);border-radius:10px;background:var(--white);transition:border-color .2s,background .2s,box-shadow .2s;height:100%}
.cli-program--immersion .cli-est-option input[type="radio"]:checked+.cli-est-option-card{border-color:var(--accent);background:#fff8f7;box-shadow:0 2px 10px rgba(196,70,58,.08)}
.cli-program--immersion .cli-est-option input[type="radio"]:focus-visible+.cli-est-option-card{outline:2px solid var(--accent);outline-offset:2px}
.cli-program--immersion .cli-est-option:hover .cli-est-option-card{border-color:#b9b4ac}
.cli-program--immersion .cli-est-option-card strong{display:block;font-size:.94rem;font-weight:700;color:var(--ink);margin-bottom:2px;line-height:1.25}
.cli-program--immersion .cli-est-option-card span{font-size:.8rem;color:var(--muted);line-height:1.4}
.cli-program--immersion .cli-est-option-card[data-disabled="true"]{opacity:.42}
.cli-program--immersion .cli-est-result{padding:40px;background:linear-gradient(180deg,var(--cream) 0%,var(--sand) 100%);display:flex;flex-direction:column;justify-content:space-between;min-height:420px}
.cli-program--immersion .cli-est-price-label{font-size:11px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-bottom:10px}
.cli-program--immersion .cli-est-price-total{font-family:var(--serif);font-size:clamp(48px,6vw,68px);font-weight:500;color:var(--ink);line-height:1;letter-spacing:-.03em;transition:opacity .2s}
.cli-program--immersion .cli-est-price-total.is-updating{opacity:.3}
.cli-program--immersion .cli-est-currency{font-size:.45em;color:var(--muted);font-weight:400;margin-right:6px;vertical-align:.45em}
.cli-program--immersion .cli-est-per-week{margin-top:14px;font-size:.98rem;color:var(--body);font-weight:400}
.cli-program--immersion .cli-est-per-week strong{color:var(--ink);font-weight:700}
.cli-program--immersion .cli-est-unavailable{margin-top:14px;font-size:.88rem;color:var(--accent);font-weight:600;display:none}
.cli-program--immersion .cli-est-result[data-unavailable="true"] .cli-est-price-total, .cli-program--immersion .cli-est-result[data-unavailable="true"] .cli-est-per-week{opacity:.3}
.cli-program--immersion .cli-est-result[data-unavailable="true"] .cli-est-unavailable{display:block}
.cli-program--immersion .cli-est-includes{margin-top:28px;padding-top:24px;border-top:1px solid rgba(0,0,0,.08)}
.cli-program--immersion .cli-est-includes-label{font-size:11px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--muted);margin-bottom:12px}
.cli-program--immersion .cli-est-includes ul{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:6px 14px}
.cli-program--immersion .cli-est-includes li{font-size:.88rem;color:var(--body);padding-left:18px;position:relative;line-height:1.45}
.cli-program--immersion .cli-est-includes li::before{content:"";position:absolute;left:0;top:7px;width:10px;height:6px;border-left:2px solid var(--accent);border-bottom:2px solid var(--accent);transform:rotate(-45deg)}
.cli-program--immersion .cli-est-cta{margin-top:28px;display:flex;gap:10px;flex-wrap:wrap}
.cli-program--immersion .cli-est-cta .cli-btn{flex:1;min-width:140px;text-align:center;padding-left:20px;padding-right:20px;display:inline-flex;align-items:center;justify-content:center;line-height:1.18}
.cli-program--immersion .cli-est-cta .cli-btn-outline{background:var(--white)}
.cli-program--immersion .cli-est-cta .cli-btn-outline:hover{background:var(--accent);color:var(--white);border-color:var(--accent)}
.cli-program--immersion .cli-est-cta .cli-est-question-btn{flex-direction:column;gap:2px;white-space:normal}
.cli-program--immersion .cli-est-cta .cli-est-question-btn:hover{background:var(--cream);color:var(--accent);border-color:var(--accent)}
.cli-program--immersion .cli-est-cta .cli-est-question-btn:hover span{color:inherit}
.cli-program--immersion .cli-est-cta-note{margin-top:10px;font-size:12.5px;line-height:1.55;color:var(--muted)}

.cli-program--immersion .cli-plan-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:56px}
.cli-program--immersion .cli-plan-card{background:var(--white);border:1.5px solid var(--border);border-radius:14px;padding:32px 28px 28px;position:relative;transition:transform .25s,box-shadow .25s,border-color .25s;display:flex;flex-direction:column}
.cli-program--immersion .cli-plan-card:hover{transform:translateY(-3px);box-shadow:0 8px 28px rgba(0,0,0,.07);border-color:#b9b4ac}
.cli-program--immersion .cli-plan-card.featured{border-color:var(--accent);border-width:2px;background:linear-gradient(180deg,var(--white) 0%,#fff8f7 100%);box-shadow:0 10px 40px rgba(196,70,58,.08)}
.cli-program--immersion .cli-plan-badge{position:absolute;top:-12px;left:50%;transform:translateX(-50%);background:var(--accent);color:var(--white);font-size:10px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;padding:6px 14px;border-radius:100px;white-space:nowrap}
.cli-program--immersion .cli-plan-duration{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-bottom:10px}
.cli-program--immersion .cli-plan-card h3{font-family:var(--serif);font-size:1.55rem;font-weight:500;color:var(--ink);margin-bottom:8px;line-height:1.2}
.cli-program--immersion .cli-plan-persona{font-size:.93rem;color:var(--body);line-height:1.5;margin-bottom:24px;font-style:italic}
.cli-program--immersion .cli-plan-price{display:flex;align-items:baseline;gap:6px;margin-bottom:4px}
.cli-program--immersion .cli-plan-price-amt{font-family:var(--serif);font-size:2.4rem;font-weight:500;color:var(--ink);letter-spacing:-.02em;line-height:1}
.cli-program--immersion .cli-plan-price-unit{font-size:.9rem;color:var(--muted);font-weight:400}
.cli-program--immersion .cli-plan-weekly{font-size:.85rem;color:var(--muted);margin-bottom:22px;letter-spacing:.02em}
.cli-program--immersion .cli-plan-features{list-style:none;padding:0;margin:0 0 24px;font-size:.92rem;color:var(--body);line-height:1.6;flex:1}
.cli-program--immersion .cli-plan-features li{padding:6px 0 6px 22px;position:relative;border-bottom:1px solid rgba(0,0,0,.04)}
.cli-program--immersion .cli-plan-features li:last-child{border-bottom:none}
.cli-program--immersion .cli-plan-features li::before{content:"";position:absolute;left:0;top:13px;width:9px;height:5px;border-left:2px solid var(--accent);border-bottom:2px solid var(--accent);transform:rotate(-45deg)}
.cli-program--immersion .cli-plan-card .cli-btn{width:100%;padding:14px 20px;font-size:12px;text-align:center}
.cli-program--immersion .cli-table-panel{max-width:960px;margin:0 auto}
.cli-program--immersion .cli-tuition-table-wrap{padding:0;overflow-x:auto}
.cli-program--immersion .cli-tuition-table{width:100%;border-collapse:collapse;font-size:14px;background:var(--white);border-radius:12px;overflow:hidden;border:1px solid var(--border)}
.cli-program--immersion .cli-tuition-table thead th{background:var(--ink);color:#fff;padding:16px 14px;font-weight:600;font-size:13px;text-align:center;letter-spacing:.5px}
.cli-program--immersion .cli-tuition-table thead th:first-child{text-align:left}
.cli-program--immersion .cli-tuition-table tbody td{padding:13px 14px;border-bottom:1px solid var(--border);text-align:center;color:var(--body)}
.cli-program--immersion .cli-tuition-table tbody td:first-child{text-align:left;font-weight:600;color:var(--ink)}
.cli-program--immersion .cli-tuition-table tbody tr:hover{background:var(--sand)}
.cli-program--immersion .cli-tuition-table .table-group-header td{background:var(--sand);font-weight:700;font-size:12px;text-transform:uppercase;letter-spacing:1.5px;color:var(--jade);padding:10px 14px}
.cli-program--immersion .cli-pricing-notes{max-width:960px;margin:20px auto 0;font-size:13px;color:var(--muted);line-height:1.7}
.cli-program--immersion .cli-pricing-cta{text-align:center;margin-top:48px}
@media(max-width:900px){
.cli-program--immersion .cli-tuition-estimator{grid-template-columns:1fr}
.cli-program--immersion .cli-est-controls{border-right:none;border-bottom:1px solid var(--border);padding:32px 24px}
.cli-program--immersion .cli-est-result{padding:32px 24px;min-height:0}
.cli-program--immersion .cli-plan-grid{grid-template-columns:1fr;gap:18px}
}
@media(max-width:540px){
.cli-program--immersion .cli-pricing-shell{padding:0 18px}
.cli-program--immersion .cli-pricing-toggle{display:flex;flex-direction:column;border-radius:16px;align-items:stretch}
.cli-program--immersion .cli-pricing-toggle button{width:100%;border-radius:12px}
.cli-program--immersion .cli-est-housing{grid-template-columns:1fr}
.cli-program--immersion .cli-est-includes ul{grid-template-columns:1fr}
}

/* PENGYOU */
.cli-program--immersion .cli-pengyou{padding:100px 0;background:var(--white)}
.cli-program--immersion .cli-pengyou-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.cli-program--immersion .cli-pengyou-img{border-radius:var(--radius);overflow:hidden}
.cli-program--immersion .cli-pengyou-img img{width:100%;aspect-ratio:4/3;object-fit:cover}

/* FAQ */
.cli-program--immersion .cli-faq{padding:100px 0;background:var(--sand)}
.cli-program--immersion .cli-faq-header{text-align:center;margin-bottom:56px}
.cli-program--immersion .cli-faq-list{max-width:720px;margin:0 auto;padding:0 24px}
.cli-program--immersion .cli-faq-item{border-bottom:1px solid var(--border)}
.cli-program--immersion .cli-faq-q{display:flex;justify-content:space-between;align-items:center;padding:22px 0;cursor:pointer;gap:16px;font-family:var(--serif);font-size:19px;color:var(--ink);background:none;border:none;width:100%;text-align:left;font-weight:400;line-height:1.3}
.cli-program--immersion .cli-faq-q::after{content:"+";font-size:24px;color:var(--muted);flex-shrink:0;transition:transform .25s}
.cli-program--immersion .cli-faq-item.open .cli-faq-q::after{content:"−"}
.cli-program--immersion .cli-faq-a{max-height:0;overflow:hidden;transition:max-height .5s ease}
.cli-program--immersion .cli-faq-item.open .cli-faq-a{max-height:1200px}
.cli-program--immersion .cli-faq-a-inner{padding:0 0 22px;font-size:16.33px;color:var(--muted);line-height:1.7}
.cli-program--immersion .cli-faq-a-inner p + p{margin-top:12px}

/* FINAL CTA */
.cli-program--immersion .cli-final-cta{padding:100px 0;text-align:center;background:linear-gradient(135deg,var(--jade)0%,#1e5648 100%);color:#fff;position:relative;overflow:hidden}
.cli-program--immersion .cli-final-cta::before{content:"桂林山水甲天下";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:180px;font-weight:700;color:rgba(255,255,255,.04);white-space:nowrap;pointer-events:none}
.cli-program--immersion .cli-final-cta h2{font-family:var(--serif);font-size:48px;margin-bottom:16px;position:relative}
.cli-program--immersion .cli-final-cta p{font-size:19px;color:rgba(255,255,255,.8);margin-bottom:36px;max-width:560px;margin-left:auto;margin-right:auto;position:relative}
.cli-program--immersion .cli-final-cta .cli-btn{background:var(--white);color:var(--jade);font-size:15px;position:relative}
.cli-program--immersion .cli-final-cta .cli-btn:hover{background:var(--sand)}

/* CONTACT */
.cli-program--immersion .cli-contact{
  --contact-red: #cc3333;
  --contact-red-hover: #b82e2e;
  --contact-teal: #17566b;
  --contact-ink: #2d2d2d;
  --contact-body: #4a4a4a;
  --contact-muted: #8f8f8f;
  --contact-border: #dddddd;
  --contact-bg: #ffffff;
  --contact-bg-soft: #f7f6f4;
  --contact-radius-sm: 4px;
  --contact-radius-md: var(--radius);
  --contact-radius-lg: 18px;
  --contact-shadow: 0 12px 40px rgba(0,0,0,.06);
  position: relative;
  width: 100%;
  max-width: 100%;
  overflow-x: clip;
  background: var(--contact-bg);
  color: var(--contact-body);
  font-family: var(--sans);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

.cli-program--immersion .cli-contact__inner{
  width: min(var(--content-max), calc(100% - 32px));
  margin: 0 auto;
  padding: 72px 0 80px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 48px;
  align-items: start;
}

.cli-program--immersion .cli-contact__copy, .cli-program--immersion .cli-contact__card, .cli-program--immersion .cli-contact__form, .cli-program--immersion .cli-contact__form .wpforms-container, .cli-program--immersion .cli-contact__form .wpforms-container-full, .cli-program--immersion .cli-contact__form .wpforms-form, .cli-program--immersion .cli-contact__form .wpforms-field, .cli-program--immersion .cli-contact__form .choices, .cli-program--immersion .cli-contact__form .choices__inner{
  min-width: 0;
  max-width: 100%;
}

.cli-program--immersion .cli-contact__eyebrow{
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 20px;
  font-family: var(--sans) !important;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 2.4px;
  line-height: 1.4;
  text-transform: uppercase;
  color: var(--contact-red);
}

.cli-program--immersion .cli-contact__eyebrow::after{
  content: "";
  width: 48px;
  height: 1px;
  background: rgba(204,51,51,.25);
}

.cli-program--immersion .cli-contact__eyebrow-cn{
  font-family: var(--sans) !important;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: .14em;
  color: var(--contact-muted);
}

.cli-program--immersion .cli-contact__headline{
  margin: 0 0 22px;
  color: var(--contact-ink);
  font-family: var(--sans) !important;
  font-size: clamp(30px, 4vw, 44px);
  font-weight: 600;
  line-height: 1.16;
  letter-spacing: -.02em;
}

.cli-program--immersion .cli-contact__headline em{
  color: var(--contact-teal);
  font-style: italic;
  font-weight: 500;
}

.cli-program--immersion .cli-contact__subhead{
  max-width: 470px;
  margin: 0 0 28px;
  font-family: var(--sans) !important;
  font-size: 17px;
  line-height: 1.8;
  color: var(--contact-muted);
}

.cli-program--immersion .cli-contact__photo{
  margin: 0 0 28px;
  overflow: hidden;
  border-radius: var(--contact-radius-lg);
}

.cli-program--immersion .cli-contact__photo img{
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  border-radius: var(--contact-radius-lg);
}

.cli-program--immersion .cli-contact__divider{
  width: 48px;
  height: 1px;
  margin: 0 0 24px;
  background: var(--contact-border);
}

.cli-program--immersion .cli-contact__channels{
  display: flex;
  flex-wrap: wrap;
  gap: 12px 24px;
}

.cli-program--immersion .cli-contact__channel{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--contact-muted);
  text-decoration: none;
  font-family: var(--sans) !important;
  font-size: 13px;
  line-height: 1.5;
  transition: color .2s ease;
}

.cli-program--immersion .cli-contact__channel:hover{
  color: var(--contact-teal);
}

.cli-program--immersion .cli-contact__channel svg{
  width: 14px;
  height: 14px;
  flex: 0 0 auto;
}

.cli-program--immersion .cli-contact__card{
  position: relative;
  padding: 34px 24px 26px;
  background: var(--contact-bg-soft);
  border: 1px solid var(--contact-border);
  border-radius: var(--contact-radius-lg);
  box-shadow: 0 1px 3px rgba(0,0,0,.04);
  transition: box-shadow .25s, transform .25s;
}

.cli-program--immersion .cli-contact__card::before{
  content: "";
  position: absolute;
  top: 0;
  left: 24px;
  right: 24px;
  height: 2px;
  background: var(--contact-red);
  opacity: .72;
  border-radius: 0 0 2px 2px;
}

.cli-program--immersion .cli-contact__card-title{
  margin: 0 0 8px;
  color: var(--contact-ink);
  font-family: var(--sans) !important;
  font-size: 22px;
  font-weight: 600;
  line-height: 1.25;
}

.cli-program--immersion .cli-contact__card-subtitle{
  margin: 0 0 22px;
  color: var(--contact-muted);
  font-family: var(--sans) !important;
  font-size: 14px;
  line-height: 1.6;
}

.cli-program--immersion .cli-contact__alt-link{
  margin: 18px 0 0;
  padding-top: 12px;
  text-align: center;
  color: var(--contact-muted);
  font-family: var(--sans) !important;
  font-size: 13px;
  line-height: 1.5;
}

.cli-program--immersion .cli-contact__alt-link a{
  color: var(--contact-teal);
  text-decoration: underline;
  text-decoration-color: rgba(23,86,107,.25);
  text-underline-offset: 3px;
}

.cli-program--immersion .cli-contact__alt-link a:hover{
  color: var(--contact-teal);
  text-decoration-color: var(--contact-teal);
}

.cli-program--immersion .cli-contact__form .wpforms-container, .cli-program--immersion .cli-contact__form .wpforms-container-full, .cli-program--immersion .cli-contact__form .wpforms-form{
  margin: 0 !important;
}

.cli-program--immersion .cli-contact__form .wpforms-field-container{
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  gap: 18px 14px !important;
  margin: 0 !important;
  padding: 0 !important;
  align-items: start !important;
}

.cli-program--immersion .cli-contact__form #wpforms-13146-field_1-container{
  grid-column: 1 / 2 !important;
}

.cli-program--immersion .cli-contact__form #wpforms-13146-field_2-container{
  grid-column: 2 / 3 !important;
}

.cli-program--immersion .cli-contact__form #wpforms-13146-field_3-container, .cli-program--immersion .cli-contact__form #wpforms-13146-field_4-container, .cli-program--immersion .cli-contact__form #wpforms-13146-field_5-container, .cli-program--immersion .cli-contact__form .wpforms-field-textarea, .cli-program--immersion .cli-contact__form .wpforms-field-email, .cli-program--immersion .cli-contact__form .wpforms-field-select{
  grid-column: 1 / -1 !important;
}

.cli-program--immersion .cli-contact__form .wpforms-field{
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
}

.cli-program--immersion .cli-contact__form .wpforms-field-label{
  display: block !important;
  margin: 0 0 8px !important;
  color: var(--contact-muted) !important;
  font-family: var(--sans) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: .06em !important;
  line-height: 1.4 !important;
  text-transform: uppercase !important;
}

.cli-program--immersion .cli-contact__form .wpforms-required-label{
  margin-left: 2px !important;
  color: var(--contact-red) !important;
}

.cli-program--immersion .cli-contact__form input[type="text"], .cli-program--immersion .cli-contact__form input[type="email"], .cli-program--immersion .cli-contact__form input[type="tel"], .cli-program--immersion .cli-contact__form input[type="url"], .cli-program--immersion .cli-contact__form input[type="number"], .cli-program--immersion .cli-contact__form textarea, .cli-program--immersion .cli-contact__form select{
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  min-height: 48px !important;
  margin: 0 !important;
  padding: 12px 16px !important;
  background: #fff !important;
  border: 1px solid #d9d9d9 !important;
  border-radius: var(--contact-radius-md) !important;
  box-shadow: none !important;
  color: var(--contact-ink) !important;
  font-family: var(--sans) !important;
  font-size: 15px !important;
  line-height: 1.45 !important;
  outline: none !important;
  transition: border-color .2s ease, box-shadow .2s ease !important;
}

.cli-program--immersion .cli-contact__form textarea{
  min-height: 120px !important;
  resize: vertical !important;
  line-height: 1.6 !important;
}

.cli-program--immersion .cli-contact__form input::placeholder, .cli-program--immersion .cli-contact__form textarea::placeholder{
  color: #b8b8b8 !important;
  opacity: 1 !important;
}

.cli-program--immersion .cli-contact__form input:focus, .cli-program--immersion .cli-contact__form textarea:focus, .cli-program--immersion .cli-contact__form select:focus, .cli-program--immersion .cli-contact__form .choices__inner:focus-within{
  border-color: var(--jade) !important;
  box-shadow: 0 0 0 3px rgba(42,107,90,.10) !important;
}

.cli-program--immersion .cli-contact__form select{
  padding-right: 38px !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  background-image: url("data:image/svg+xml,%3Csvg width='12' height='7' viewBox='0 0 12 7' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L6 6L11 1' stroke='%23888888' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 14px center !important;
  background-size: 12px 7px !important;
}

.cli-program--immersion .cli-contact__form .choices{
  width: 100% !important;
  margin: 0 !important;
}

.cli-program--immersion .cli-contact__form .choices__inner{
  width: 100% !important;
  min-height: 48px !important;
  padding: 10px 38px 10px 16px !important;
  background: #fff !important;
  border: 1px solid #d9d9d9 !important;
  border-radius: var(--contact-radius-md) !important;
  color: var(--contact-ink) !important;
  font-family: var(--sans) !important;
  font-size: 15px !important;
  line-height: 1.45 !important;
  box-shadow: none !important;
}

.cli-program--immersion .cli-contact__form .choices[data-type*="select-one"]::after{
  right: 14px !important;
  margin-top: -3px !important;
  border-color: #888 transparent transparent transparent !important;
}

.cli-program--immersion .cli-contact__form .choices__list--single{
  padding: 0 !important;
}

.cli-program--immersion .cli-contact__form .choices__list--single .choices__item{
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
}

.cli-program--immersion .cli-contact__form .choices__list--dropdown, .cli-program--immersion .cli-contact__form .choices__list[aria-expanded]{
  z-index: 50 !important;
}

.cli-program--immersion .cli-contact__form .wpforms-submit-container{
  margin: 16px 0 0 !important;
  padding: 0 !important;
}

.cli-program--immersion .cli-contact__form button[type="submit"], .cli-program--immersion .cli-contact__form .wpforms-submit{
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 50px !important;
  padding: 14px 22px !important;
  border: 0 !important;
  border-radius: var(--contact-radius-sm) !important;
  background: var(--contact-red) !important;
  color: #fff !important;
  font-family: var(--sans) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  letter-spacing: .04em !important;
  line-height: 1.2 !important;
  text-transform: uppercase !important;
  box-shadow: none !important;
  cursor: pointer !important;
  transition: background .2s ease, transform .2s ease !important;
}

.cli-program--immersion .cli-contact__form button[type="submit"]:hover, .cli-program--immersion .cli-contact__form .wpforms-submit:hover{
  background: var(--contact-red-hover) !important;
  transform: translateY(-1px);
}

.cli-program--immersion .cli-contact__form .wpforms-error{
  margin-top: 6px !important;
  font-size: 12px !important;
}

.cli-program--immersion .cli-contact__form .wpforms-confirmation-container, .cli-program--immersion .cli-contact__form .wpforms-confirmation-container-full{
  position: relative !important;
  margin: 4px 0 0 !important;
  padding: 26px 24px 24px 60px !important;
  background: #fff !important;
  border: 1px solid rgba(42,107,90,.18) !important;
  border-left: 3px solid var(--jade) !important;
  border-radius: var(--contact-radius-lg) !important;
  box-shadow: 0 10px 28px rgba(26,40,54,.06) !important;
  color: var(--contact-body) !important;
  font-family: var(--sans) !important;
  text-align: left !important;
}

.cli-program--immersion .cli-contact__form .wpforms-confirmation-container::before, .cli-program--immersion .cli-contact__form .wpforms-confirmation-container-full::before{
  content: "✓";
  position: absolute;
  top: 27px;
  left: 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: var(--jade-light);
  color: var(--jade);
  font-family: var(--sans) !important;
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
}

.cli-program--immersion .cli-contact__form .wpforms-confirmation-container h1, .cli-program--immersion .cli-contact__form .wpforms-confirmation-container h2, .cli-program--immersion .cli-contact__form .wpforms-confirmation-container h3, .cli-program--immersion .cli-contact__form .wpforms-confirmation-container h4, .cli-program--immersion .cli-contact__form .wpforms-confirmation-container h5, .cli-program--immersion .cli-contact__form .wpforms-confirmation-container h6, .cli-program--immersion .cli-contact__form .wpforms-confirmation-container-full h1, .cli-program--immersion .cli-contact__form .wpforms-confirmation-container-full h2, .cli-program--immersion .cli-contact__form .wpforms-confirmation-container-full h3, .cli-program--immersion .cli-contact__form .wpforms-confirmation-container-full h4, .cli-program--immersion .cli-contact__form .wpforms-confirmation-container-full h5, .cli-program--immersion .cli-contact__form .wpforms-confirmation-container-full h6, .cli-program--immersion .cli-contact__form .wpforms-confirmation-container p:first-child strong:first-child, .cli-program--immersion .cli-contact__form .wpforms-confirmation-container p:first-child b:first-child, .cli-program--immersion .cli-contact__form .wpforms-confirmation-container-full p:first-child strong:first-child, .cli-program--immersion .cli-contact__form .wpforms-confirmation-container-full p:first-child b:first-child{
  display: block !important;
  margin: 0 0 7px !important;
  color: var(--contact-ink) !important;
  font-family: var(--sans) !important;
  font-size: 22px !important;
  font-weight: 600 !important;
  letter-spacing: -.01em !important;
  line-height: 1.25 !important;
  text-transform: none !important;
  font-style: normal !important;
}

.cli-program--immersion .cli-contact__form .wpforms-confirmation-container p, .cli-program--immersion .cli-contact__form .wpforms-confirmation-container-full p{
  margin: 0 0 10px !important;
  color: var(--contact-muted) !important;
  font-family: var(--sans) !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  line-height: 1.65 !important;
}

.cli-program--immersion .cli-contact__form .wpforms-confirmation-container p:last-child, .cli-program--immersion .cli-contact__form .wpforms-confirmation-container-full p:last-child{
  margin-bottom: 0 !important;
}

@media (max-width: 600px) {
  .cli-program--immersion .cli-contact__form .wpforms-confirmation-container, .cli-program--immersion .cli-contact__form .wpforms-confirmation-container-full{
    padding: 24px 20px 22px 54px !important;
  }

  .cli-program--immersion .cli-contact__form .wpforms-confirmation-container::before, .cli-program--immersion .cli-contact__form .wpforms-confirmation-container-full::before{
    left: 20px;
    top: 25px;
  }

  .cli-program--immersion .cli-contact__form .wpforms-confirmation-container h1, .cli-program--immersion .cli-contact__form .wpforms-confirmation-container h2, .cli-program--immersion .cli-contact__form .wpforms-confirmation-container h3, .cli-program--immersion .cli-contact__form .wpforms-confirmation-container h4, .cli-program--immersion .cli-contact__form .wpforms-confirmation-container h5, .cli-program--immersion .cli-contact__form .wpforms-confirmation-container h6, .cli-program--immersion .cli-contact__form .wpforms-confirmation-container-full h1, .cli-program--immersion .cli-contact__form .wpforms-confirmation-container-full h2, .cli-program--immersion .cli-contact__form .wpforms-confirmation-container-full h3, .cli-program--immersion .cli-contact__form .wpforms-confirmation-container-full h4, .cli-program--immersion .cli-contact__form .wpforms-confirmation-container-full h5, .cli-program--immersion .cli-contact__form .wpforms-confirmation-container-full h6, .cli-program--immersion .cli-contact__form .wpforms-confirmation-container p:first-child strong:first-child, .cli-program--immersion .cli-contact__form .wpforms-confirmation-container p:first-child b:first-child, .cli-program--immersion .cli-contact__form .wpforms-confirmation-container-full p:first-child strong:first-child, .cli-program--immersion .cli-contact__form .wpforms-confirmation-container-full p:first-child b:first-child{
    font-size: 20px !important;
  }
}



/* Match the live studycli.org contact-section typography exactly: Avenir display text, teal italic accent. */
.cli-program--immersion .cli-contact .cli-contact__headline, .cli-program--immersion .cli-contact .cli-contact__card-title, .cli-program--immersion .cli-contact .cli-contact__headline em{
  font-family: var(--sans) !important;
  font-optical-sizing: auto;
}

.cli-program--immersion .cli-contact .cli-contact__headline em{
  color: #17566B !important;
}

@media (min-width: 769px) {
  .cli-program--immersion .cli-contact__card:hover{
    box-shadow: var(--contact-shadow);
    transform: translateY(-2px);
  }
}

@media (max-width: 768px) {
  .cli-program--immersion .cli-contact__inner{
    grid-template-columns: minmax(0, 1fr);
    width: min(100%, calc(100% - 32px));
    padding: 56px 0 64px;
    gap: 30px;
  }

  .cli-program--immersion .cli-contact__headline{
    font-size: 34px;
    line-height: 1.2;
  }

  .cli-program--immersion .cli-contact__subhead{
    max-width: 100%;
    font-size: 16px;
  }

  .cli-program--immersion .cli-contact__photo{
    display: none !important;
    margin-bottom: 0;
  }

  .cli-program--immersion .cli-contact__card{
    padding: 30px 18px 24px;
  }

  .cli-program--immersion .cli-contact__card::before{
    left: 18px;
    right: 18px;
  }
}

@media (max-width: 600px) {
  .cli-program--immersion .cli-contact__form .wpforms-field-container{
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 18px !important;
  }

  .cli-program--immersion .cli-contact__form #wpforms-13146-field_1-container, .cli-program--immersion .cli-contact__form #wpforms-13146-field_2-container, .cli-program--immersion .cli-contact__form #wpforms-13146-field_3-container, .cli-program--immersion .cli-contact__form #wpforms-13146-field_4-container, .cli-program--immersion .cli-contact__form #wpforms-13146-field_5-container{
    grid-column: 1 / -1 !important;
  }

  .cli-program--immersion .cli-contact__form select, .cli-program--immersion .cli-contact__form .choices__inner{
    min-height: 48px !important;
    height: auto !important;
    line-height: 1.4 !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .cli-program--immersion .cli-contact *, .cli-program--immersion .cli-contact *::before, .cli-program--immersion .cli-contact *::after{
    transition: none !important;
    animation: none !important;
    scroll-behavior: auto !important;
  }
}

/* RESPONSIVE */
@media(max-width:900px){
.cli-program--immersion{--scroll-offset:55px}
.cli-program--immersion .cli-hero h1{font-size:38px}
.cli-program--immersion .cli-hero-sub{font-size:17px}
.cli-program--immersion .cli-section-title{font-size:32px}
.cli-program--immersion .cli-overview-grid, .cli-program--immersion .cli-curriculum-top, .cli-program--immersion .cli-activities-grid, .cli-program--immersion .cli-pengyou-grid{grid-template-columns:1fr;gap:36px}
.cli-program--immersion .cli-diff-grid{grid-template-columns:1fr}
.cli-program--immersion .cli-housing-grid{grid-template-columns:1fr}
.cli-program--immersion .cli-method-list{grid-template-columns:1fr}
.cli-program--immersion .cli-nav-apply{display:none}
.cli-program--immersion .cli-final-cta h2{font-size:34px}
.cli-program--immersion .cli-final-cta::before{font-size:80px}
.cli-program--immersion .cli-testimonial-quote{font-size:21px}
.cli-program--immersion .cli-hero-controls{right:20px;bottom:20px}
.cli-program--immersion .cli-hero-dots{left:20px;bottom:20px;gap:9px}
.cli-program--immersion .cli-hero-dot, .cli-program--immersion .cli-curriculum-dot{width:10px;height:10px}
.cli-program--immersion .cli-curriculum-dots{bottom:16px;gap:9px}
.cli-program--immersion .cli-hero-ctrl{width:38px;height:38px}
.cli-program--immersion .cli-hero-ctrl--sound{width:42px;height:42px}
.cli-program--immersion .cli-back-to-top{bottom:20px;right:20px}
}


/* TYPOGRAPHY ALIGNMENT PATCH
   Matches the homepage trust section's Fraunces/Avenir pairing and hardens
   the display-number/headline rules against inherited Oxygen/page styles. */
.cli-program--immersion .cli-trust-block{
  --tb-font: "Avenir", "Avenir Next", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif !important;
  --tb-font-serif: "Fraunces", Georgia, "Times New Roman", serif !important;
}

.cli-program--immersion .cli-trust-block, .cli-program--immersion .cli-trust-block p, .cli-program--immersion .cli-trust-block a, .cli-program--immersion .cli-trust-block button, .cli-program--immersion .cli-trust-block span:not(.cli-trust-stat__number):not(.cli-trust-review__score), .cli-program--immersion .cli-trust-lb-overlay, .cli-program--immersion .cli-trust-lb-overlay button, .cli-program--immersion .cli-trust-lb-overlay span{
  font-family: var(--sans) !important;
}

.cli-program--immersion .cli-trust-headline, .cli-program--immersion .cli-trust-stat__number, .cli-program--immersion .cli-trust-review__score{
  font-family: var(--serif) !important;
  font-optical-sizing: auto;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

.cli-program--immersion .cli-trust-stat__number{
  font-weight: 600 !important;
  font-variant-numeric: tabular-nums;
}

.cli-program--immersion .cli-trust-headline{
  font-weight: 500 !important;
}

/* Keep the same Fraunces display voice across the rest of the Immersion page. */
.cli-program--immersion .cli-hero h1, .cli-program--immersion .cli-section-title, .cli-program--immersion .cli-diff-card h3, .cli-program--immersion .cli-method-item h4, .cli-program--immersion .cli-timeline-label, .cli-program--immersion .cli-inc-body h4, .cli-program--immersion .cli-housing-card h3, .cli-program--immersion .cli-housing-card h4, .cli-program--immersion .cli-faq-q, .cli-program--immersion .cli-final-cta h2, .cli-program--immersion .cli-finaid-inner h3, .cli-program--immersion .cli-testimonial-quote, .cli-program--immersion .cli-trust-headline, .cli-program--immersion .cli-trust-stat__number, .cli-program--immersion .cli-trust-review__score{
  font-family: var(--serif) !important;
  font-optical-sizing: auto;
}

.cli-program--immersion, .cli-program--immersion p, .cli-program--immersion li, .cli-program--immersion a, .cli-program--immersion button, .cli-program--immersion input, .cli-program--immersion select, .cli-program--immersion textarea, .cli-program--immersion .cli-section-label, .cli-program--immersion .cli-section-subtitle, .cli-program--immersion .cli-btn, .cli-program--immersion .cli-nav-links a, .cli-program--immersion .cli-hero-sub, .cli-program--immersion .cli-hero-badge, .cli-program--immersion .cli-trust-eyebrow, .cli-program--immersion .cli-trust-stat__label, .cli-program--immersion .cli-trust-faces__label, .cli-program--immersion .cli-trust-review__max, .cli-program--immersion .cli-trust-review__source{
  font-family: var(--sans) !important;
}


/* HOMEPAGE TRUST TYPOGRAPHY HARD LOCK
   Directly mirrors the homepage trust-section number styling. */
.cli-program--immersion .cli-trust-block .cli-trust-stat__number, .cli-program--immersion .cli-trust-block a .cli-trust-stat__number, .cli-program--immersion .cli-trust-block span.cli-trust-stat__number{
  margin-bottom: 6px !important;
  font-family: "Fraunces", Georgia, "Times New Roman", serif !important;
  font-size: clamp(32px, 4vw, 44px) !important;
  font-weight: 600 !important;
  line-height: 1.1 !important;
  letter-spacing: 0 !important;
  color: var(--tb-text-strong) !important;
  font-variant-numeric: tabular-nums !important;
  font-optical-sizing: auto !important;
  -webkit-font-smoothing: antialiased !important;
  text-rendering: optimizeLegibility !important;
}

.cli-program--immersion .cli-trust-block .cli-trust-headline, .cli-program--immersion .cli-trust-block .cli-trust-review__score{
  font-family: "Fraunces", Georgia, "Times New Roman", serif !important;
  font-optical-sizing: auto !important;
}

.cli-program--immersion .cli-trust-block .cli-trust-eyebrow, .cli-program--immersion .cli-trust-block .cli-trust-stat__label, .cli-program--immersion .cli-trust-block .cli-trust-faces__label, .cli-program--immersion .cli-trust-block .cli-trust-review__max, .cli-program--immersion .cli-trust-block .cli-trust-review__source{
  font-family: "Avenir", "Avenir Next", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif !important;
}

/* SOFT EDITORIAL HEADING TYPOGRAPHY
   Permanent heading treatment for section H2s and the matching card/subsection
   heading system. */
.cli-program--immersion{
  --cli-heading-font:var(--serif);
  --cli-heading-weight:500;
  --cli-heading-style:normal;
  --cli-heading-tracking:-0.018em;
  --cli-heading-transform:none;
  --cli-heading-line:1.13;
  --cli-heading-color:#2f3133;
  --cli-heading-feature:"kern" 1;
}

.cli-program--immersion h2, .cli-program--immersion .cli-section-title, .cli-program--immersion .cli-final-cta h2, .cli-program--immersion .cli-contact__headline, .cli-program--immersion .cli-trust-headline, .cli-program--immersion h3, .cli-program--immersion .cli-diff-card h3, .cli-program--immersion .cli-finaid-inner h3, .cli-program--immersion .cli-contact__card-title, .cli-program--immersion .cli-method-item h4, .cli-program--immersion .cli-timeline-label, .cli-program--immersion .cli-inc-body h4, .cli-program--immersion .cli-housing-card h3, .cli-program--immersion .cli-housing-card h4, .cli-program--immersion .cli-faq-q{
  font-family:var(--cli-heading-font) !important;
  font-weight:var(--cli-heading-weight) !important;
  font-style:var(--cli-heading-style) !important;
  line-height:var(--cli-heading-line) !important;
  letter-spacing:var(--cli-heading-tracking) !important;
  text-transform:var(--cli-heading-transform) !important;
  font-feature-settings:var(--cli-heading-feature);
  text-wrap:balance;
  font-optical-sizing:auto;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}


.cli-program--immersion .cli-section-title, .cli-program--immersion .cli-diff-card h3, .cli-program--immersion .cli-finaid-inner h3, .cli-program--immersion .cli-contact__headline, .cli-program--immersion .cli-contact__card-title, .cli-program--immersion .cli-method-item h4, .cli-program--immersion .cli-timeline-label, .cli-program--immersion .cli-inc-body h4, .cli-program--immersion .cli-housing-card h3, .cli-program--immersion .cli-housing-card h4, .cli-program--immersion .cli-faq-q{
  color:var(--cli-heading-color) !important;
}

.cli-program--immersion .cli-section-title{
  font-size:clamp(34px,3.35vw,48px);
  color:var(--cli-heading-color) !important;
}

.cli-program--immersion .cli-diff-card h3, .cli-program--immersion .cli-housing-card h3, .cli-program--immersion .cli-housing-card h4{
  font-size:clamp(21px,1.65vw,24px);
}

.cli-program--immersion .cli-method-item h4, .cli-program--immersion .cli-inc-body h4, .cli-program--immersion .cli-timeline-label, .cli-program--immersion .cli-faq-q{
  font-size:clamp(19px,1.3vw,22px);
}

.cli-program--immersion .cli-finaid-inner h3, .cli-program--immersion .cli-contact__card-title{
  font-size:clamp(25px,2vw,30px);
}

.cli-program--immersion .cli-trust-headline{
  font-size:clamp(24px,3vw,34px) !important;
  letter-spacing:calc(var(--cli-heading-tracking) * .72) !important;
}

.cli-program--immersion .cli-final-cta h2{
  font-size:clamp(34px,3.6vw,52px) !important;
  color:#fff;
}

.cli-program--immersion .cli-contact__headline{
  letter-spacing:calc(var(--cli-heading-tracking) * .86) !important;
}

@media(max-width:900px){
  .cli-program--immersion .cli-section-title{
    font-size: clamp(30px, 8vw, 38px);
  }
  .cli-program--immersion .cli-final-cta h2{
    font-size: clamp(32px, 8vw, 40px) !important;
  }
}

/* Desktop Programs submenu: first-paint safe horizontal layout for /chinese-immersion/.
   Mirrors the intended final Oxygen menu state so delayed menu JS does not
   create a visible snap after first interaction. */

/* ============================================================
   LIFE IN GUILIN — Integrated lead section for the Guilin sticky nav
   Source: guilin-section.html
   ============================================================ */
/* ============================================================
   LIFE IN GUILIN — Immersion Program Section
   Namespace: .cli-guilin-
   Parent:    .cli-program--immersion
   ============================================================ */

/* ---------- Section root ---------- */
.cli-program--immersion .cli-guilin{ background: var(--white); }

/* ---------- Scroll-reveal ---------- */
body.cli-program-page--immersion .cli-guilin-reveal{
  opacity: 0;
  transform: translateY(28px);
  transition: opacity 0.7s cubic-bezier(0.165, 0.84, 0.44, 1),
              transform 0.65s cubic-bezier(0.165, 0.84, 0.44, 1);
}
body.cli-program-page--immersion .cli-guilin-reveal.cli-guilin-revealed{
  opacity: 1;
  transform: translateY(0);
}


/* ============================================================
   1. CINEMATIC HERO BANNER
   ============================================================ */
body.cli-program-page--immersion .cli-guilin__hero{
  position: relative;
  width: 100%;
  min-height: 72vh;
  max-height: 640px;
  overflow: hidden;
  display: flex;
  align-items: flex-end;
}

body.cli-program-page--immersion .cli-guilin__hero-img{
  position: absolute;
  inset: 0;
}

body.cli-program-page--immersion .cli-guilin__hero-img img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 40%;
  display: block;
}

body.cli-program-page--immersion .cli-guilin__hero-gradient{
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(
      to top,
      rgba(0, 0, 0, 0.62) 0%,
      rgba(0, 0, 0, 0.32) 30%,
      rgba(0, 0, 0, 0.06) 55%,
      transparent 100%
    );
  pointer-events: none;
}

body.cli-program-page--immersion .cli-guilin__hero-content{
  position: relative;
  z-index: 2;
  max-width: var(--content-max);
  width: 100%;
  margin: 0 auto;
  padding: 0 24px 56px;
}

body.cli-program-page--immersion .cli-guilin__hero-eyebrow{
  display: inline-block;
  font-family: var(--sans);
  font-size: 11.5px;
  font-weight: 600;
  letter-spacing: 2.2px;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.92);
  background: rgba(255, 255, 255, 0.14);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  padding: 7px 16px;
  border-radius: 100px;
  border: 1px solid rgba(255, 255, 255, 0.18);
  margin-bottom: 20px;
}

body.cli-program-page--immersion .cli-guilin__hero-title{
  font-family: var(--serif) !important;
  font-size: clamp(38px, 5.2vw, 58px);
  font-weight: 400;
  line-height: 1.08;
  color: #ffffff !important;
  margin: 0 0 18px;
  letter-spacing: -0.02em;
  text-shadow: 0 2px 16px rgba(0, 0, 0, 0.45);
  max-width: 600px;
}

body.cli-program-page--immersion .cli-guilin__hero-title em{
  font-style: italic;
  color: #F1CB65;
}

body.cli-program-page--immersion .cli-guilin__hero-sub{
  font-family: var(--sans);
  font-size: 17.5px;
  font-weight: 400;
  color: rgba(255, 255, 255, 0.88);
  line-height: 1.65;
  max-width: 480px;
  margin: 0;
  text-shadow: 0 1px 8px rgba(0, 0, 0, 0.35);
}


/* ============================================================
   2. EDITORIAL NARRATIVE — text + dual staggered photos
   ============================================================ */
body.cli-program-page--immersion .cli-guilin__narrative{
  padding: 96px 0 100px;
  background: var(--white);
}

body.cli-program-page--immersion .cli-guilin__narrative-grid{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 72px;
  align-items: center;
  max-width: var(--content-max);
  margin: 0 auto;
  padding: 0 24px;
}

body.cli-program-page--immersion .cli-guilin__narrative-text .cli-section-label{
  margin-bottom: 14px;
}

body.cli-program-page--immersion .cli-guilin__narrative-heading{
  font-family: var(--serif) !important;
  font-size: 38px;
  font-weight: 400;
  line-height: 1.15;
  color: var(--ink) !important;
  margin: 0 0 28px;
}

body.cli-program-page--immersion .cli-guilin__narrative-heading span{
  color: var(--accent);
}

body.cli-program-page--immersion .cli-guilin__narrative-text p{
  font-size: 16.5px;
  color: var(--body);
  line-height: 1.72;
  margin: 0 0 18px;
}

body.cli-program-page--immersion .cli-guilin__narrative-text p:last-of-type{
  margin-bottom: 0;
}

/* --- Dual staggered photos --- */
body.cli-program-page--immersion .cli-guilin__photos{
  position: relative;
  height: 480px;
  /* Ensure stacking context */
}

body.cli-program-page--immersion .cli-guilin__photo{
  position: absolute;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 16px 48px rgba(0, 0, 0, 0.12);
  transition: transform 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
}

body.cli-program-page--immersion .cli-guilin__photo img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

body.cli-program-page--immersion .cli-guilin__photo--back{
  width: 72%;
  height: 80%;
  top: 0;
  left: 0;
  z-index: 1;
}

body.cli-program-page--immersion .cli-guilin__photo--front{
  width: 60%;
  height: 68%;
  bottom: 0;
  right: 0;
  z-index: 2;
  box-shadow: 0 20px 56px rgba(0, 0, 0, 0.16);
}

body.cli-program-page--immersion .cli-guilin__photos:hover .cli-guilin__photo--back{
  transform: rotate(-1.5deg) translateX(-4px);
}

body.cli-program-page--immersion .cli-guilin__photos:hover .cli-guilin__photo--front{
  transform: rotate(1deg) translateX(4px);
}


/* ============================================================
   3. BENTO HIGHLIGHTS — asymmetric image mosaic
   ============================================================ */
body.cli-program-page--immersion .cli-guilin__bento{
  padding: 0 0 100px;
  background: var(--white);
}

body.cli-program-page--immersion .cli-guilin__bento-header{
  text-align: center;
  max-width: var(--content-max);
  margin: 0 auto 48px;
  padding: 0 24px;
}

body.cli-program-page--immersion .cli-guilin__bento-header .cli-section-subtitle{
  margin: 0 auto;
}

body.cli-program-page--immersion .cli-guilin__bento-grid{
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  grid-template-rows: 260px 260px;
  gap: 14px;
  max-width: var(--content-max);
  margin: 0 auto;
  padding: 0 24px;
}

body.cli-program-page--immersion .cli-guilin__bento-card{
  position: relative;
  border-radius: 14px;
  overflow: hidden;
  cursor: default;
}

body.cli-program-page--immersion .cli-guilin__bento-card img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.55s cubic-bezier(0.165, 0.84, 0.44, 1);
}

body.cli-program-page--immersion .cli-guilin__bento-card:hover img{
  transform: scale(1.04);
}

body.cli-program-page--immersion .cli-guilin__bento-card::after{
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to top,
    rgba(0, 0, 0, 0.52) 0%,
    rgba(0, 0, 0, 0.10) 50%,
    transparent 100%
  );
  pointer-events: none;
  transition: background 0.3s ease;
}

body.cli-program-page--immersion .cli-guilin__bento-card:hover::after{
  background: linear-gradient(
    to top,
    rgba(0, 0, 0, 0.58) 0%,
    rgba(0, 0, 0, 0.14) 50%,
    transparent 100%
  );
}

body.cli-program-page--immersion .cli-guilin__bento-label{
  position: absolute;
  left: 20px;
  bottom: 20px;
  z-index: 2;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

body.cli-program-page--immersion .cli-guilin__bento-label h4{
  font-family: var(--serif) !important;
  font-size: 20px;
  font-weight: 400;
  color: #ffffff !important;
  margin: 0;
  line-height: 1.2;
  text-shadow: 0 1px 6px rgba(0, 0, 0, 0.3);
}

body.cli-program-page--immersion .cli-guilin__bento-label span{
  font-family: var(--sans);
  font-size: 13px;
  font-weight: 400;
  color: rgba(255, 255, 255, 0.78);
  line-height: 1.45;
  text-shadow: 0 1px 4px rgba(0, 0, 0, 0.25);
}

/* Grid placement — desktop */
body.cli-program-page--immersion .cli-guilin__bento-card:nth-child(1){ grid-column: 1 / 6;   grid-row: 1 / 2; }   /* wide */
body.cli-program-page--immersion .cli-guilin__bento-card:nth-child(2){ grid-column: 6 / 9;   grid-row: 1 / 2; }   /* medium */
body.cli-program-page--immersion .cli-guilin__bento-card:nth-child(3){ grid-column: 9 / 13;  grid-row: 1 / 2; }   /* medium */
body.cli-program-page--immersion .cli-guilin__bento-card:nth-child(4){ grid-column: 1 / 4;   grid-row: 2 / 3; }   /* medium */
body.cli-program-page--immersion .cli-guilin__bento-card:nth-child(5){ grid-column: 4 / 8;   grid-row: 2 / 3; }   /* medium */
body.cli-program-page--immersion .cli-guilin__bento-card:nth-child(6){ grid-column: 8 / 13;  grid-row: 2 / 3; }   /* wide */


/* ============================================================
   4. PROVERB DIVIDER — Refined
   ============================================================ */
.cli-program--immersion .cli-guilin__proverb{
  position: relative;
  padding: 72px 24px;
  text-align: center;
  background: #1e2a34;
  overflow: hidden;
  isolation: isolate;
}

.cli-program--immersion .cli-guilin__proverb::before{
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 60% 100% at 50% 50%, rgba(42,107,90,0.10) 0%, transparent 70%),
    radial-gradient(ellipse 80% 50% at 50% 50%, rgba(241,203,101,0.04) 0%, transparent 60%);
  pointer-events: none;
  z-index: 0;
}

.cli-program--immersion .cli-guilin__proverb-inner{
  position: relative;
  z-index: 1;
  max-width: 640px;
  margin: 0 auto;
}

.cli-program--immersion .cli-guilin__proverb-rule{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  margin: 0 auto;
  max-width: 280px;
}

.cli-program--immersion .cli-guilin__proverb-rule::before, .cli-program--immersion .cli-guilin__proverb-rule::after{
  content: "";
  flex: 1;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(241,203,101,0.28), transparent);
}

.cli-program--immersion .cli-guilin__proverb-rule--top{
  margin-bottom: 32px;
}

.cli-program--immersion .cli-guilin__proverb-rule--bottom{
  margin-top: 32px;
}

.cli-program--immersion .cli-guilin__proverb-ornament{
  width: 6px;
  height: 6px;
  flex: 0 0 auto;
  background: rgba(241,203,101,0.35);
  transform: rotate(45deg);
  border-radius: 1px;
}

.cli-program--immersion .cli-guilin__proverb-chinese{
  font-family: var(--serif);
  font-size: clamp(26px, 3.2vw, 38px);
  font-weight: 400;
  color: rgba(255,255,255,0.92);
  letter-spacing: 0.14em;
  margin: 0 0 14px;
  line-height: 1.4;
}

.cli-program--immersion .cli-guilin__proverb-pinyin{
  font-family: var(--sans);
  font-size: 13.5px;
  font-weight: 400;
  font-style: italic;
  color: rgba(241,203,101,0.72);
  margin: 0 0 8px;
  line-height: 1.5;
  letter-spacing: 0.03em;
}

.cli-program--immersion .cli-guilin__proverb-english{
  font-family: var(--sans);
  font-size: 13.5px;
  font-weight: 400;
  color: rgba(255,255,255,0.42);
  letter-spacing: 0.04em;
  margin: 0;
  line-height: 1.5;
}

@media (max-width: 600px) {
  .cli-program--immersion .cli-guilin__proverb{
    padding: 56px 20px;
  }

  .cli-program--immersion .cli-guilin__proverb-rule--top{
    margin-bottom: 26px;
  }

  .cli-program--immersion .cli-guilin__proverb-rule--bottom{
    margin-top: 26px;
  }

  .cli-program--immersion .cli-guilin__proverb-rule{
    max-width: 200px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .cli-program--immersion .cli-guilin__proverb *{
    transition: none !important;
  }
}


/* ============================================================
   5. RESPONSIVE
   ============================================================ */

@media (max-width: 1024px) {
  body.cli-program-page--immersion .cli-guilin__bento-grid{
    grid-template-rows: 220px 220px;
    gap: 12px;
  }
}

@media (max-width: 900px) {
  /* Hero */
  body.cli-program-page--immersion .cli-guilin__hero{
    min-height: 56vh;
    max-height: 500px;
  }

  /* Narrative */
  body.cli-program-page--immersion .cli-guilin__narrative{ padding: 76px 0 80px; }

  body.cli-program-page--immersion .cli-guilin__narrative-grid{
    grid-template-columns: 1fr;
    gap: 48px;
  }

  body.cli-program-page--immersion .cli-guilin__narrative-heading{
    font-size: 32px;
  }

  body.cli-program-page--immersion .cli-guilin__photos{
    height: 380px;
    max-width: 520px;
    margin: 0 auto;
  }

  /* Bento → 2×3 */
  body.cli-program-page--immersion .cli-guilin__bento{ padding: 0 0 80px; }

  body.cli-program-page--immersion .cli-guilin__bento-grid{
    grid-template-columns: 1fr 1fr;
    grid-template-rows: repeat(3, 200px);
    gap: 12px;
  }

  body.cli-program-page--immersion .cli-guilin__bento-card:nth-child(1){ grid-column: 1 / 3; grid-row: 1; }
  body.cli-program-page--immersion .cli-guilin__bento-card:nth-child(2){ grid-column: 1; grid-row: 2; }
  body.cli-program-page--immersion .cli-guilin__bento-card:nth-child(3){ grid-column: 2; grid-row: 2; }
  body.cli-program-page--immersion .cli-guilin__bento-card:nth-child(4){ grid-column: 1; grid-row: 3; }
  body.cli-program-page--immersion .cli-guilin__bento-card:nth-child(5){ grid-column: 2; grid-row: 3; }
  body.cli-program-page--immersion .cli-guilin__bento-card:nth-child(6){ display: none; }
}

@media (max-width: 600px) {
  /* Hero */
  body.cli-program-page--immersion .cli-guilin__hero{
    min-height: 50vh;
    max-height: 440px;
  }

  body.cli-program-page--immersion .cli-guilin__hero-content{
    padding: 0 20px 40px;
  }

  body.cli-program-page--immersion .cli-guilin__hero-sub{
    font-size: 15.5px;
  }

  /* Narrative */
  body.cli-program-page--immersion .cli-guilin__narrative{ padding: 64px 0 68px; }

  body.cli-program-page--immersion .cli-guilin__narrative-grid{
    gap: 36px;
    padding: 0 20px;
  }

  body.cli-program-page--immersion .cli-guilin__narrative-heading{
    font-size: 28px;
    margin-bottom: 22px;
  }

  body.cli-program-page--immersion .cli-guilin__narrative-text p{
    font-size: 15.5px;
  }

  body.cli-program-page--immersion .cli-guilin__photos{
    height: 300px;
    max-width: 100%;
  }

  body.cli-program-page--immersion .cli-guilin__photo--back{
    width: 70%;
    height: 78%;
  }

  body.cli-program-page--immersion .cli-guilin__photo--front{
    width: 58%;
    height: 65%;
  }

  /* Bento */
  body.cli-program-page--immersion .cli-guilin__bento{ padding: 0 0 64px; }

  body.cli-program-page--immersion .cli-guilin__bento-header{ margin-bottom: 36px; }

  body.cli-program-page--immersion .cli-guilin__bento-grid{
    grid-template-rows: repeat(3, 180px);
    gap: 10px;
    padding: 0 20px;
  }

  body.cli-program-page--immersion .cli-guilin__bento-label h4{
    font-size: 17px;
  }

  body.cli-program-page--immersion .cli-guilin__bento-label span{
    font-size: 12px;
  }

  body.cli-program-page--immersion .cli-guilin__bento-label{
    left: 16px;
    bottom: 16px;
  }

  /* Proverb */
  body.cli-program-page--immersion .cli-guilin__proverb{
    padding: 44px 20px;
  }
}

@media (max-width: 420px) {
  body.cli-program-page--immersion .cli-guilin__hero-eyebrow{
    font-size: 10px;
    letter-spacing: 1.8px;
    padding: 6px 13px;
  }

  body.cli-program-page--immersion .cli-guilin__bento-grid{
    grid-template-columns: 1fr;
    grid-template-rows: repeat(5, 180px);
  }

  body.cli-program-page--immersion .cli-guilin__bento-card:nth-child(1){ grid-column: 1; grid-row: 1; }
  body.cli-program-page--immersion .cli-guilin__bento-card:nth-child(2){ grid-column: 1; grid-row: 2; }
  body.cli-program-page--immersion .cli-guilin__bento-card:nth-child(3){ grid-column: 1; grid-row: 3; }
  body.cli-program-page--immersion .cli-guilin__bento-card:nth-child(4){ grid-column: 1; grid-row: 4; }
  body.cli-program-page--immersion .cli-guilin__bento-card:nth-child(5){ grid-column: 1; grid-row: 5; }
}

/* ============================================================
   6. REDUCED MOTION
   ============================================================ */
@media (prefers-reduced-motion: reduce) {
  body.cli-program-page--immersion .cli-guilin-reveal{
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }

  body.cli-program-page--immersion .cli-guilin__bento-card img, body.cli-program-page--immersion .cli-guilin__bento-card::after, body.cli-program-page--immersion .cli-guilin__photo{
    transition: none !important;
  }

  body.cli-program-page--immersion .cli-guilin__bento-card:hover img{ transform: none; }

  body.cli-program-page--immersion .cli-guilin__photos:hover .cli-guilin__photo--back, body.cli-program-page--immersion .cli-guilin__photos:hover .cli-guilin__photo--front{
    transform: none;
  }
}

/* === Former mobile-only update block === */
@media (max-width: 767px) {
  /* HERO: hide video selector dots on mobile only */
  .cli-program--immersion .cli-hero-dots{
    display: none !important;
  }

  /* HERO: make the hero fill the usable mobile viewport beneath the site header.
     This places the sticky nav immediately below the first-screen fold instead of
     letting it appear partway through the initial mobile view. */
  .cli-program--immersion .cli-hero{
    --cli-mobile-site-header-height: 64px;
    min-height: calc(100svh - var(--cli-mobile-site-header-height)) !important;
    height: calc(100svh - var(--cli-mobile-site-header-height)) !important;
    max-height: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  @supports not (height: 1svh) {
    .cli-program--immersion .cli-hero{
      min-height: calc(100vh - var(--cli-mobile-site-header-height)) !important;
      height: calc(100vh - var(--cli-mobile-site-header-height)) !important;
    }
  }

  /* HERO: keep the video full-bleed within the taller mobile hero area */
  .cli-program--immersion .cli-hero video{
    width: 100% !important;
    height: 100% !important;
    min-width: 100% !important;
    min-height: 100% !important;
    object-fit: cover !important;
    object-position: center center !important;
    background: #111 !important;
  }

  /* HERO: compact the mobile overlay so the CTAs and controls do not collide */
  .cli-program--immersion .cli-hero-content{
    width: 100% !important;
    max-width: 100% !important;
    padding: 18px 22px 96px !important;
  }

  .cli-program--immersion .cli-hero-content .cli-hero-badge{
    max-width: calc(100vw - 44px) !important;
    margin-bottom: 18px !important;
    padding: 7px 16px !important;
    font-size: 12px !important;
    letter-spacing: .16em !important;
    line-height: 1.35 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  .cli-program--immersion .cli-hero h1{
    font-size: clamp(34px, 8.7vw, 38px) !important;
    line-height: 1.04 !important;
    margin-bottom: 18px !important;
  }

  .cli-program--immersion .cli-hero-sub{
    max-width: 370px !important;
    margin: 0 auto 22px !important;
    font-size: 16px !important;
    line-height: 1.52 !important;
  }

  .cli-program--immersion .cli-hero-ctas{
    gap: 10px !important;
    align-items: center !important;
  }

  .cli-program--immersion .cli-hero-ctas .cli-btn{
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 50px !important;
    padding: 0 18px !important;
    font-size: 12px !important;
    line-height: 1 !important;
    letter-spacing: .09em !important;
    white-space: nowrap !important;
  }

  /* HERO: center the screen/play/back-forward/sound controls horizontally */
  .cli-program--immersion .cli-hero-controls{
    left: 50% !important;
    right: auto !important;
    bottom: 22px !important;
    transform: translateX(-50%) !important;
    width: auto !important;
    max-width: calc(100vw - 28px) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-wrap: nowrap !important;
    gap: 7px !important;
  }

  .cli-program--immersion .cli-hero-ctrl{
    flex: 0 0 40px !important;
    width: 40px !important;
    height: 40px !important;
  }

  .cli-program--immersion .cli-hero-ctrl--sound{
    flex-basis: 42px !important;
    width: 42px !important;
    height: 42px !important;
  }

  .cli-program--immersion .cli-hero-ctrl svg{
    width: 18px !important;
    height: 18px !important;
  }

  .cli-program--immersion .cli-hero-ctrl--sound svg{
    width: 20px !important;
    height: 20px !important;
  }

  /* STICKY NAV: make the mobile scroll strip full-bleed without changing the original starting inset. */
  .cli-program--immersion .cli-nav-links{
    margin-left: -24px !important;
    margin-right: -24px !important;
    padding-left: 24px !important;
    padding-right: 24px !important;
    scroll-padding-left: 24px !important;
    scroll-padding-right: 24px !important;
    overscroll-behavior-x: contain;
    -webkit-overflow-scrolling: touch;
  }

  /* GUILIN BENTO: keep the Iconic Scenery image anchored to the top on mobile. */
  .cli-program--immersion .cli-guilin__bento-grid .cli-guilin__bento-card:first-child img{
    object-position: center top !important;
  }

  /* DATES & FEES: wider, balanced mobile toggle with contained active states */
  .cli-program--immersion .cli-pricing-toggle-wrap{
    display: flex !important;
    justify-content: center !important;
    text-align: center !important;
    padding: 0 4px !important;
  }

  .cli-program--immersion .cli-pricing-toggle{
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    align-items: stretch !important;
    width: min(100%, 420px) !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 6px !important;
    gap: 6px !important;
    background: var(--white) !important;
    border: 1px solid var(--border) !important;
    border-radius: 999px !important;
    box-shadow: 0 8px 24px rgba(0,0,0,.055) !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }

  .cli-program--immersion .cli-pricing-toggle button{
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 1 auto !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 48px !important;
    padding: 11px 12px !important;
    border-radius: 999px !important;
    line-height: 1.15 !important;
    text-align: center !important;
    white-space: normal !important;
    box-sizing: border-box !important;
  }

  .cli-program--immersion .cli-pricing-toggle button[aria-pressed="true"]{
    background: var(--jade) !important;
    color: var(--white) !important;
    box-shadow: none !important;
  }

  /* GUILIN NARRATIVE: force the two staggered photos to display on mobile */
  .cli-program--immersion .cli-guilin__photos{
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: relative !important;
    width: 100% !important;
    max-width: 100% !important;
    height: 300px !important;
    min-height: 300px !important;
    margin: 0 auto !important;
    overflow: visible !important;
  }

  .cli-program--immersion .cli-guilin__photo{
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: absolute !important;
    overflow: hidden !important;
    border-radius: 12px !important;
  }

  .cli-program--immersion .cli-guilin__photo--back{
    width: 70% !important;
    height: 78% !important;
    top: 0 !important;
    left: 0 !important;
    right: auto !important;
    bottom: auto !important;
    z-index: 1 !important;
  }

  .cli-program--immersion .cli-guilin__photo--front{
    width: 58% !important;
    height: 65% !important;
    top: auto !important;
    left: auto !important;
    right: 0 !important;
    bottom: 0 !important;
    z-index: 2 !important;
  }

  .cli-program--immersion .cli-guilin__photo img, .cli-program--immersion .cli-guilin__photo img[src*="two-women-sunset-overlook"], .cli-program--immersion .cli-guilin__photo img[src*="friends-chatting-mountain-viewpoint"]{
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
  }
}

@media (max-width: 390px) {
  /* Slightly tighter fit for standard/narrow iPhone screens */
  .cli-program--immersion .cli-hero{
    --cli-mobile-site-header-height: 62px;
  }

  .cli-program--immersion .cli-hero-content{
    padding: 16px 18px 90px !important;
  }

  .cli-program--immersion .cli-hero h1{
    font-size: clamp(32px, 8.8vw, 35px) !important;
    margin-bottom: 16px !important;
  }

  .cli-program--immersion .cli-hero-sub{
    max-width: 340px !important;
    margin-bottom: 20px !important;
    font-size: 15.5px !important;
  }

  .cli-program--immersion .cli-hero-ctas{
    gap: 8px !important;
  }

  .cli-program--immersion .cli-hero-ctas .cli-btn{
    min-height: 48px !important;
    padding: 0 15px !important;
    font-size: 11.5px !important;
    letter-spacing: .08em !important;
  }

  .cli-program--immersion .cli-hero-controls{
    bottom: 18px !important;
    gap: 6px !important;
  }

  .cli-program--immersion .cli-hero-ctrl{
    flex-basis: 38px !important;
    width: 38px !important;
    height: 38px !important;
  }

  .cli-program--immersion .cli-hero-ctrl--sound{
    flex-basis: 40px !important;
    width: 40px !important;
    height: 40px !important;
  }

  .cli-program--immersion .cli-pricing-toggle{
    width: 100% !important;
    padding: 5px !important;
    gap: 5px !important;
  }

  .cli-program--immersion .cli-pricing-toggle button{
    min-height: 44px !important;
    padding: 9px 8px !important;
    font-size: 10.5px !important;
    letter-spacing: .07em !important;
  }
}

/* === Former performance update block === */
.cli-program--immersion .cli-hero{
    background-color: #111;
  }

  .cli-program--immersion .cli-hero-poster{
    position: absolute;
    inset: 0;
    z-index: 1;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 1;
    visibility: visible;
    transition: opacity .35s ease, visibility .35s ease;
    pointer-events: none;
  }

  .cli-program--immersion .cli-hero video{
    z-index: 0;
    opacity: 0;
    transform: translateZ(0);
    transition: opacity .28s ease;
    background: #111;
  }

  .cli-program--immersion .cli-hero video.cli-hero-video-active{
    opacity: 1;
  }

  /* Keep the video CSS-visible for mobile autoplay reliability. The poster sits
     above it until canplay/playing, so the static image remains the visual LCP. */
  .cli-program--immersion .cli-hero.is-video-loading video.cli-hero-video-active{
    opacity: 1;
  }

  .cli-program--immersion .cli-hero::after{
    z-index: 2;
  }

  .cli-program--immersion .cli-hero-content{
    z-index: 3;
  }

  .cli-program--immersion .cli-hero-dots, .cli-program--immersion .cli-hero-controls{
    z-index: 4;
  }

  .cli-program--immersion .cli-hero.is-video-ready{
    background-image: none;
  }

  .cli-program--immersion .cli-hero.is-video-playing .cli-hero-poster,
  .cli-program--immersion .cli-hero[data-hero-video-state="video-playing"] .cli-hero-poster{
    opacity: 0;
    visibility: hidden;
  }

  .cli-program--immersion .cli-hero.is-video-ready video.cli-hero-video-active{
    opacity: 1;
  }

  .cli-program--immersion .cli-hero.is-video-ready.is-video-only video.cli-hero-video-active{
    opacity: 1;
  }

  .cli-program--immersion .cli-hero.is-video-ready::after{
    background: linear-gradient(
      180deg,
      rgba(0,0,0,.20) 0%,
      rgba(0,0,0,.58) 100%
    );
  }

  .cli-program--immersion .cli-hero.is-video-ready.is-video-only::after{
    background: linear-gradient(
      180deg,
      rgba(0,0,0,.04) 0%,
      rgba(0,0,0,.16) 100%
    );
  }

  .cli-program--immersion .cli-hero:not(.is-video-ready).is-video-only .cli-hero-poster{
    opacity: 1;
    visibility: visible;
  }

  /* Once the hero video has successfully played, keep the LCP poster hidden
     during manual next/previous source swaps. This prevents a brief cover-image
     flash while the next selected video reaches canplay/playing. */
  .cli-program--immersion .cli-hero.has-played-hero-video .cli-hero-poster,
  .cli-program--immersion .cli-hero.has-played-hero-video.is-video-only .cli-hero-poster,
  .cli-program--immersion .cli-hero.has-played-hero-video:not(.is-video-ready).is-video-only .cli-hero-poster{
    opacity: 0;
    visibility: hidden;
  }

  /* Keep the poster visible until the actual hero video is playing. This
     protects the poster as the LCP/fallback layer if autoplay is delayed or blocked. */

  .cli-program--immersion .cli-hero-ctrl[disabled]{
    cursor: not-allowed;
    opacity: .55;
  }

  .cli-program--immersion .cli-student-tour-embed--placeholder{
    display: block;
    background: var(--sand);
  }

  .cli-program--immersion .cli-instagram-placeholder{
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    overflow: hidden;
    background: #111;
  }

  .cli-program--immersion .cli-instagram-placeholder img{
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: .72;
  }

  .cli-program--immersion .cli-instagram-placeholder::after{
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(0,0,0,.18) 0%, rgba(0,0,0,.68) 100%);
    pointer-events: none;
  }

  .cli-program--immersion .cli-instagram-placeholder-content{
    position: relative;
    z-index: 2;
    max-width: 360px;
    padding: 28px;
    color: #fff;
  }

  .cli-program--immersion .cli-instagram-kicker{
    display: inline-block;
    margin-bottom: 10px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: #F1CB65;
  }

  .cli-program--immersion .cli-instagram-placeholder-title{
    font-family: var(--serif);
    font-size: 30px;
    line-height: 1.15;
    color: #fff;
    margin-bottom: 12px;
  }

  .cli-program--immersion .cli-instagram-placeholder-text{
    font-size: 14px;
    line-height: 1.6;
    color: rgba(255,255,255,.84);
    margin-bottom: 20px;
  }

  .cli-program--immersion .cli-instagram-load{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    padding: 0 22px;
    border: 1px solid rgba(255,255,255,.42);
    border-radius: 999px;
    background: rgba(255,255,255,.16);
    color: #fff;
    font-family: var(--sans);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    cursor: pointer;
    transition: background .2s ease, transform .2s ease, border-color .2s ease;
  }

  .cli-program--immersion .cli-instagram-load:hover{
    background: rgba(255,255,255,.28);
    border-color: rgba(255,255,255,.72);
    transform: translateY(-1px);
  }

  .cli-program--immersion .cli-instagram-load:focus-visible{
    outline: 3px solid rgba(241,203,101,.9);
    outline-offset: 4px;
  }

  @media (prefers-reduced-motion: reduce) {
    .cli-program--immersion .cli-hero-poster, .cli-program--immersion .cli-hero video, .cli-program--immersion .cli-instagram-load{
      transition: none !important;
    }
  }

/* CLI Immersion hero video top alignment START */
@media (min-width: 1009px) {
  body.cli-program-page--immersion .cli-program--immersion .cli-hero video,
  body.cli-program-page--immersion .cli-program--immersion .cli-hero #cli-hero-video {
    object-position: center 20% !important;
  }
}
/* CLI Immersion hero video top alignment END */

/* CLI Immersion hero cover image alignment START */
@media (min-width: 1009px) {
  body.cli-program-page--immersion .cli-program--immersion .cli-hero .cli-hero-poster {
    object-position: center 20% !important;
  }
}
/* CLI Immersion hero cover image alignment END */

/* CLI proverb image/font refinement 2026-05-31 */
body.cli-program-page--immersion .cli-program--immersion .cli-guilin__proverb{
  position: relative;
  overflow: hidden;
  background: linear-gradient(135deg, #141e28 0%, #1a2836 40%, #1e3242 100%);
}

body.cli-program-page--immersion .cli-program--immersion .cli-guilin__proverb::before{
  content: "";
  position: absolute;
  inset: 0;
  background-image: url("https://studycli.org/wp-content/uploads/2021/07/guilin-pagoda-002.jpg");
  background-size: cover;
  background-position: center 46%;
  opacity: 0.14;
  pointer-events: none;
  filter: grayscale(20%);
  z-index: 0;
}

body.cli-program-page--immersion .cli-program--immersion .cli-guilin__proverb::after{
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 50% 80% at 15% 50%, rgba(42,107,90,0.20) 0%, transparent 70%),
    radial-gradient(ellipse 40% 60% at 85% 40%, rgba(241,203,101,0.06) 0%, transparent 60%),
    linear-gradient(135deg, rgba(20,30,40,0.74) 0%, rgba(26,40,54,0.66) 42%, rgba(30,50,66,0.72) 100%);
  pointer-events: none;
  z-index: 0;
}

body.cli-program-page--immersion .cli-program--immersion .cli-guilin__proverb-inner{
  position: relative;
  z-index: 1;
}

body.cli-program-page--immersion .cli-program--immersion .cli-guilin__proverb-pinyin{
  font-size: 16.17px;
  font-style: normal;
}

body.cli-program-page--immersion .cli-program--immersion .cli-guilin__proverb-english{
  font-size: 16.17px;
  font-style: italic;
}
/* END CLI proverb image/font refinement */

/* ============================================================
   CLI Immersion polish layer — 2026-06
   Ported from #cli-online-polish-2026-06 / Study Abroad polish.
   Design-flow, aesthetics, and usability upgrades layered on
   top of the existing CLI design system. All rules are scoped
   to .cli-program--immersion and are additive only.
   Hero entrance choreography lives in immersion-critical.css
   so it is present at first paint.
   ============================================================ */

/* Smooth in-page anchor scrolling (respects reduced motion) */
@media (prefers-reduced-motion: no-preference) {
  html:has(.cli-program--immersion) {
    scroll-behavior: smooth;
  }
}

/* ------------------------------------------------------------
   1. HERO BADGE — gold "live" pulse dot
   ------------------------------------------------------------ */
.cli-program--immersion .cli-hero-badge {
  position: relative;
  padding-left: 34px !important;
}

.cli-program--immersion .cli-hero-badge::before {
  content: '';
  position: absolute;
  left: 16px;
  top: 50%;
  width: 7px;
  height: 7px;
  margin-top: -3.5px;
  border-radius: 50%;
  background: #F1CB65;
  box-shadow: 0 0 0 0 rgba(241,203,101,.55);
}

@media (prefers-reduced-motion: no-preference) {
  .cli-program--immersion .cli-hero-badge::before {
    animation: cliImmersionBadgePulse 2.6s cubic-bezier(.4,0,.6,1) infinite;
  }
}

@keyframes cliImmersionBadgePulse {
  0%   { box-shadow: 0 0 0 0 rgba(241,203,101,.55); }
  60%  { box-shadow: 0 0 0 9px rgba(241,203,101,0); }
  100% { box-shadow: 0 0 0 0 rgba(241,203,101,0); }
}

/* ------------------------------------------------------------
   2. STICKY NAV READING-PROGRESS BAR
   A 2px gradient bar under the sticky nav that fills as the
   reader moves through the page, sweeping the same five
   section-sequence colors used by the nav underlines and
   section eyebrows.
   ------------------------------------------------------------ */
.cli-program--immersion .cli-sticky-nav::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1px;
  height: 2px;
  background: linear-gradient(90deg,
    #789DB3 0%,
    #17566B 28%,
    #B36E70 52%,
    #92225B 76%,
    #F1CB65 100%);
  transform: scaleX(var(--cli-page-progress, 0));
  transform-origin: left center;
  pointer-events: none;
}

/* ------------------------------------------------------------
   3. UNIVERSAL SCROLL-REVEAL SYSTEM
   Lightweight rise-in applied to section headers and cards.
   Classes are removed by JS after the reveal completes so the
   original hover transitions are fully restored.
   ------------------------------------------------------------ */
.cli-program--immersion .cli-rv {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity .75s cubic-bezier(.165,.84,.44,1) var(--rv-d, 0s),
              transform .7s cubic-bezier(.165,.84,.44,1) var(--rv-d, 0s);
  will-change: opacity, transform;
}

.cli-program--immersion .cli-rv.cli-rv-in {
  opacity: 1;
  transform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {
  .cli-program--immersion .cli-rv {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}

/* ------------------------------------------------------------
   4. EDITORIAL EYEBROW TREATMENT
   Centered section labels gain short flanking rules in the
   section's own sequence color (inherited via currentColor).
   Left-aligned labels (overview, curriculum, activities,
   pengyou, transcript) are intentionally untouched.
   ------------------------------------------------------------ */
.cli-program--immersion .cli-diff-header .cli-section-label,
.cli-program--immersion .cli-daily-header .cli-section-label,
.cli-program--immersion .cli-included-header .cli-section-label,
.cli-program--immersion .cli-housing-header .cli-section-label,
.cli-program--immersion .cli-pricing-header .cli-section-label,
.cli-program--immersion .cli-student-video-header .cli-section-label,
.cli-program--immersion .cli-guilin__bento-header .cli-section-label,
.cli-program--immersion .cli-faq-header .cli-section-label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
}

.cli-program--immersion .cli-diff-header .cli-section-label::before,
.cli-program--immersion .cli-diff-header .cli-section-label::after,
.cli-program--immersion .cli-daily-header .cli-section-label::before,
.cli-program--immersion .cli-daily-header .cli-section-label::after,
.cli-program--immersion .cli-included-header .cli-section-label::before,
.cli-program--immersion .cli-included-header .cli-section-label::after,
.cli-program--immersion .cli-housing-header .cli-section-label::before,
.cli-program--immersion .cli-housing-header .cli-section-label::after,
.cli-program--immersion .cli-pricing-header .cli-section-label::before,
.cli-program--immersion .cli-pricing-header .cli-section-label::after,
.cli-program--immersion .cli-student-video-header .cli-section-label::before,
.cli-program--immersion .cli-student-video-header .cli-section-label::after,
.cli-program--immersion .cli-guilin__bento-header .cli-section-label::before,
.cli-program--immersion .cli-guilin__bento-header .cli-section-label::after,
.cli-program--immersion .cli-faq-header .cli-section-label::before,
.cli-program--immersion .cli-faq-header .cli-section-label::after {
  content: '';
  width: 34px;
  height: 1px;
  background: currentColor;
  opacity: .38;
}

/* ------------------------------------------------------------
   5. SECTION CARD HOVER POLISH
   Gentle lift/zoom parity with the source pages. Diff cards
   already match; this brings housing cards, method items, and
   inclusion cells in line.
   ------------------------------------------------------------ */
.cli-program--immersion .cli-housing-card {
  transition: transform .28s cubic-bezier(.165,.84,.44,1), box-shadow .28s cubic-bezier(.165,.84,.44,1);
}

.cli-program--immersion .cli-housing-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 44px rgba(0,0,0,.08);
}

.cli-program--immersion .cli-housing-image img {
  transition: transform .5s cubic-bezier(.16,1,.3,1);
}

.cli-program--immersion .cli-housing-card:hover .cli-housing-image img {
  transform: scale(1.04);
}

.cli-program--immersion .cli-method-item {
  transition: transform .25s cubic-bezier(.165,.84,.44,1), box-shadow .25s cubic-bezier(.165,.84,.44,1);
}

.cli-program--immersion .cli-method-item:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 26px rgba(0,0,0,.05);
}

.cli-program--immersion .cli-ip__inclusion {
  transition: background .3s cubic-bezier(.165,.84,.44,1), box-shadow .3s cubic-bezier(.165,.84,.44,1);
}

.cli-program--immersion .cli-ip__inclusion:hover {
  box-shadow: inset 0 0 0 1px rgba(42,107,90,.14);
}

/* ------------------------------------------------------------
   6. FAQ — rotating chevron + refined rhythm
   Replaces the older +/− glyph affordance. Open state uses the
   FAQ section's sequence color (#B36E70).
   ------------------------------------------------------------ */
.cli-program--immersion .cli-faq-q::after {
  content: '' !important;
  width: 11px;
  height: 11px;
  border-right: 2px solid var(--muted);
  border-bottom: 2px solid var(--muted);
  transform: rotate(45deg);
  margin-top: -4px;
  transition: transform .3s cubic-bezier(.165,.84,.44,1), border-color .25s, margin-top .3s;
}

.cli-program--immersion .cli-faq-item.open .cli-faq-q::after {
  content: '' !important;
  transform: rotate(225deg);
  margin-top: 4px;
  border-color: #B36E70;
}

.cli-program--immersion .cli-faq-q {
  transition: color .2s ease;
}

.cli-program--immersion .cli-faq-item.open .cli-faq-q {
  color: #B36E70 !important;
}

/* ------------------------------------------------------------
   7. PRICING + DATA POLISH — tabular figures
   ------------------------------------------------------------ */
.cli-program--immersion .cli-est-price-total,
.cli-program--immersion .cli-plan-price-amt {
  font-variant-numeric: tabular-nums;
}

/* ------------------------------------------------------------
   8. BUTTON + SELECTION POLISH
   ------------------------------------------------------------ */
.cli-program--immersion .cli-btn:not(.cli-btn-outline):hover {
  box-shadow: 0 8px 22px rgba(196,70,58,.28);
}

.cli-program--immersion ::selection {
  background: rgba(241,203,101,.45);
  color: #1a1a1a;
}

/* ------------------------------------------------------------
   Reduced-motion safety for the polish layer
   ------------------------------------------------------------ */
@media (prefers-reduced-motion: reduce) {
  .cli-program--immersion .cli-hero-badge::before {
    animation: none !important;
  }
  .cli-program--immersion .cli-housing-card,
  .cli-program--immersion .cli-housing-image img,
  .cli-program--immersion .cli-method-item,
  .cli-program--immersion .cli-faq-q::after {
    transition: none !important;
  }
  .cli-program--immersion .cli-housing-card:hover,
  .cli-program--immersion .cli-housing-card:hover .cli-housing-image img,
  .cli-program--immersion .cli-method-item:hover {
    transform: none !important;
  }
}
/* END CLI Immersion polish layer — 2026-06 */
/* ------------------------------------------------------------
   FONT SYSTEM UPDATE — final Custom Travel typography parity
   Applied to the Immersion Program bundle on 2026-06-13.

   Default: Avenir/Avenir Next for body, UI, navigation, hero title,
   and structural/card headings. Restore the original Fraunces editorial
   stack only for the Immersion page's main editorial titles, Guilin
   destination/editorial headings, final CTA heading, and trust emphasis.
   ------------------------------------------------------------ */
.cli-program--immersion{
  --cli-heading-font:'Avenir Next','Avenir',-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif;
  --serif:'Avenir Next','Avenir',-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif;
  --sans:'Avenir','Avenir Next',-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif;
  --cli-editorial-serif:'Fraunces',Georgia,'Times New Roman',serif;
}

.cli-program--immersion .cli-trust-block{
  --tb-font:'Avenir','Avenir Next',-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif !important;
  --tb-font-serif:'Fraunces',Georgia,'Times New Roman',serif !important;
}

/* Avenir/Avenir Next default for structural headings and title-like UI. */
.cli-program--immersion h1,
.cli-program--immersion h2,
.cli-program--immersion h3,
.cli-program--immersion h4,
.cli-program--immersion h5,
.cli-program--immersion h6,
.cli-program--immersion [class*='title'],
.cli-program--immersion [class*='headline'],
.cli-program--immersion .cli-hero h1,
.cli-program--immersion .cli-transcript-card h3,
.cli-program--immersion .cli-diff-card h3,
.cli-program--immersion .cli-go-score,
.cli-program--immersion .cli-go-card-title,
.cli-program--immersion .cli-method-item h4,
.cli-program--immersion .cli-curriculum-testimonial-copy h3,
.cli-program--immersion .cli-timeline-label,
.cli-program--immersion .cli-inc-body h4,
.cli-program--immersion .cli-ip__inclusion h4,
.cli-program--immersion .cli-housing-card h3,
.cli-program--immersion .cli-housing-card h4,
.cli-program--immersion .cli-plan-card h3,
.cli-program--immersion .cli-faq-q,
.cli-program--immersion .cli-contact__headline,
.cli-program--immersion .cli-contact__card-title,
.cli-program--immersion .cli-finaid-inner h3,
.cli-program--immersion .cli-testimonial-quote,
.cli-program--immersion .cli-instagram-placeholder-title,
.cli-program--immersion .cli-guilin__bento-label h4,
.cli-program--immersion .cli-guilin__proverb-chinese{
  font-family:'Avenir Next','Avenir',-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif !important;
}

/* Avenir body/UI stack. */
.cli-program--immersion,
.cli-program--immersion p,
.cli-program--immersion li,
.cli-program--immersion a,
.cli-program--immersion button:not(.cli-faq-q),
.cli-program--immersion input,
.cli-program--immersion select,
.cli-program--immersion textarea,
.cli-program--immersion .cli-section-label,
.cli-program--immersion .cli-section-subtitle,
.cli-program--immersion .cli-btn,
.cli-program--immersion .cli-nav-links a,
.cli-program--immersion .cli-hero-badge,
.cli-program--immersion .cli-hero-sub,
.cli-program--immersion .cli-trust-eyebrow,
.cli-program--immersion .cli-trust-stat__label,
.cli-program--immersion .cli-trust-faces__label,
.cli-program--immersion .cli-trust-review__max,
.cli-program--immersion .cli-trust-review__source,
.cli-program--immersion .cli-go-eyebrow,
.cli-program--immersion .cli-go-source,
.cli-program--immersion .cli-go-score-max,
.cli-program--immersion .cli-guilin__hero-eyebrow,
.cli-program--immersion .cli-guilin__hero-sub,
.cli-program--immersion .cli-guilin__proverb-pinyin,
.cli-program--immersion .cli-guilin__proverb-english{
  font-family:'Avenir','Avenir Next',-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif !important;
}

/* Restore original non-Avenir editorial font for main page-level titles. */
.cli-program--immersion .cli-section-title,
.cli-program--immersion .cli-go-headline,
.cli-program--immersion .cli-final-cta h2,
.cli-program--immersion .cli-guilin__hero-title,
.cli-program--immersion .cli-guilin__narrative-heading,
.cli-program--immersion .cli-form-legend,
.cli-program--immersion .cli-dest-feature-body h3,
.cli-program--immersion .cli-dest-card h4,
.cli-program--immersion .cli-dest-card .cli-dest-cn,
.cli-program--immersion .cli-dest-feature-body .cli-dest-cn{
  font-family:var(--cli-editorial-serif) !important;
  font-optical-sizing:auto !important;
}

/* Trust-block emphasis keeps the original Fraunces display voice. */
.cli-program--immersion .cli-trust-block .cli-trust-headline,
.cli-program--immersion .cli-trust-block .cli-trust-review__score{
  max-width:640px;
  font-family:'Fraunces',Georgia,'Times New Roman',serif !important;
  font-weight:500 !important;
  font-style:normal !important;
  line-height:1.13 !important;
  letter-spacing:-0.01296em !important;
  text-transform:none !important;
  color:var(--tb-text-strong) !important;
  font-feature-settings:'kern' 1 !important;
  text-wrap:balance;
  font-optical-sizing:auto !important;
  -webkit-font-smoothing:antialiased !important;
  text-rendering:optimizeLegibility !important;
}

.cli-program--immersion .cli-trust-block .cli-trust-stat__number,
.cli-program--immersion .cli-trust-block a .cli-trust-stat__number,
.cli-program--immersion .cli-trust-block span.cli-trust-stat__number{
  margin-bottom:6px !important;
  font-family:'Fraunces',Georgia,'Times New Roman',serif !important;
  font-size:clamp(32px,4vw,44px) !important;
  font-weight:600 !important;
  font-style:normal !important;
  line-height:1.1 !important;
  letter-spacing:0 !important;
  color:var(--tb-text-strong) !important;
  font-variant-numeric:tabular-nums !important;
  font-optical-sizing:auto !important;
  -webkit-font-smoothing:antialiased !important;
  text-rendering:optimizeLegibility !important;
}

.cli-program--immersion .cli-trust-block .cli-trust-eyebrow,
.cli-program--immersion .cli-trust-block .cli-trust-stat__label,
.cli-program--immersion .cli-trust-block .cli-trust-faces__label,
.cli-program--immersion .cli-trust-block .cli-trust-review__max,
.cli-program--immersion .cli-trust-block .cli-trust-review__source{
  font-family:'Avenir','Avenir Next',-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif !important;
}

/* HERO MAIN TITLE — restore original editorial Fraunces treatment
   Targeted final override for "Chinese Immersion, One-on-One". */
.cli-program--immersion .cli-hero h1,
.cli-immersion.cli-custom-travel-page .cli-hero h1{
  font-family:'Fraunces',Georgia,'Times New Roman',serif !important;
  font-size:clamp(44px,6.4vw,68px) !important;
  color:#fff !important;
  line-height:1.07 !important;
  letter-spacing:-.02em !important;
  margin-bottom:24px !important;
  font-optical-sizing:auto !important;
  -webkit-font-smoothing:antialiased !important;
  text-rendering:optimizeLegibility !important;
}

.cli-program--immersion .cli-hero h1 em,
.cli-immersion.cli-custom-travel-page .cli-hero h1 em{
  font-style:italic;
  color:#F1CB65;
}

@media (max-width:767px){
  .cli-program--immersion .cli-hero h1,
  .cli-immersion.cli-custom-travel-page .cli-hero h1{
    font-size:clamp(34px,8.7vw,40px) !important;
    line-height:1.06 !important;
    margin-bottom:18px !important;
  }
}

/* ------------------------------------------------------------
   TUITION FIGURES TYPOGRAPHY HARD LOCK — 2026.06.14
   Restores the original Fraunces/serif treatment for the dynamic
   tuition selector figures and pricing-card dollar amounts after
   the later Avenir title/UI override layer.
   ------------------------------------------------------------ */
.cli-immersion{
  --serif:'Fraunces',Georgia,'Times New Roman',serif;
  --sans:'Avenir','Avenir Next',-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif;
  font-family:var(--sans);
}

.cli-immersion .cli-est-label-value{
  font-family:var(--serif) !important;
  font-size:1.35rem;
  font-weight:500;
  color:var(--ink);
  letter-spacing:-.01em;
  text-transform:none;
  white-space:nowrap;
}

.cli-immersion .cli-est-price-total{
  font-family:var(--serif) !important;
  font-size:clamp(48px,6vw,68px);
  font-weight:500;
  color:var(--ink);
  line-height:1;
  letter-spacing:-.03em;
  transition:opacity .2s;
  font-variant-numeric:tabular-nums;
}

.cli-immersion .cli-est-currency{
  font-size:.45em;
  color:var(--muted);
  font-weight:400;
  margin-right:6px;
  vertical-align:.45em;
}

.cli-immersion .cli-plan-price-amt{
  font-family:var(--serif) !important;
  font-size:2.4rem;
  font-weight:500;
  color:var(--ink);
  letter-spacing:-.02em;
  line-height:1;
  font-variant-numeric:tabular-nums;
}

/* ------------------------------------------------------------
   HERO EYEBROW — match Learn Chinese Online editorial treatment
   2026.06.15
   Keeps existing Immersion eyebrow text; changes only the visual design
   from the frosted pill/pulse orb to gold text with flanking hairlines.
   ------------------------------------------------------------ */
.cli-program--immersion .cli-hero-content .cli-hero-badge{
  display:inline-flex !important;
  align-items:center !important;
  gap:14px !important;
  padding:0 !important;
  background:transparent !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  border:none !important;
  border-radius:0 !important;
  overflow:visible !important;
  text-overflow:clip !important;
  color:#F1CB65 !important;
  font-size:12px !important;
  font-weight:700 !important;
  letter-spacing:.24em !important;
  line-height:1.35 !important;
  text-transform:uppercase !important;
  white-space:nowrap !important;
}

.cli-program--immersion .cli-hero-content .cli-hero-badge::before,
.cli-program--immersion .cli-hero-content .cli-hero-badge::after{
  content:'' !important;
  display:block !important;
  width:42px !important;
  height:1px !important;
  flex:0 0 42px !important;
  position:static !important;
  top:auto !important;
  left:auto !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  transform:none !important;
  animation:none !important;
}

.cli-program--immersion .cli-hero-content .cli-hero-badge::before{
  background:linear-gradient(90deg,transparent,rgba(241,203,101,.55)) !important;
}

.cli-program--immersion .cli-hero-content .cli-hero-badge::after{
  background:linear-gradient(90deg,rgba(241,203,101,.55),transparent) !important;
}

.cli-program--immersion .cli-hero-content .cli-hero-badge-mobile{
  display:none !important;
}

@media (max-width:767px){
  .cli-program--immersion .cli-hero-content .cli-hero-badge{
    max-width:calc(100vw - 44px) !important;
    margin-bottom:18px !important;
    padding:0 !important;
    font-size:10.5px !important;
    letter-spacing:.18em !important;
    overflow:visible !important;
    text-overflow:clip !important;
    white-space:nowrap !important;
  }
  .cli-program--immersion .cli-hero-content .cli-hero-badge-desktop{
    display:none !important;
  }
  .cli-program--immersion .cli-hero-content .cli-hero-badge-mobile{
    display:inline !important;
  }
  .cli-program--immersion .cli-hero-content .cli-hero-badge::before,
  .cli-program--immersion .cli-hero-content .cli-hero-badge::after{
    width:26px !important;
    flex-basis:26px !important;
  }
}

