:root{
  --red:#ee4540; --red-dark:#c8302b; --red-soft:#fff0ef; --red-50:#fef6f5;
  --green:#2ecc71; --green-dark:#1a9c54; --green-soft:#edfcf2; --green-50:#f3fef7;
  --ink:#0f0f10; --ink-2:#2a2a2c; --ink-3:#5e5e64; --ink-4:#9a9aa2;
  --line:#ebebef; --line-2:#f4f4f7;
  --bg:#fff; --cream:#f7f2ea; --cream-2:#fbf8f3;

  /* SUBJECT COLORS (for course cards) */
  --sj-business:#c8302b;    --sj-business-bg:#fff0ef;
  --sj-finance:#047857;     --sj-finance-bg:#d1fae5;
  --sj-computing:#1d4ed8;   --sj-computing-bg:#dbeafe;
  --sj-health:#be185d;      --sj-health-bg:#fce7f3;
  --sj-psychology:#7c3aed;  --sj-psychology-bg:#ede9fe;
  --sj-law:#4338ca;         --sj-law-bg:#e0e7ff;
  --sj-hospitality:#0e7490; --sj-hospitality-bg:#cffafe;
  --sj-education:#a16207;   --sj-education-bg:#fef3c7;
  --sj-marketing:#b45309;   --sj-marketing-bg:#fed7aa;
  --sj-engineering:#374151; --sj-engineering-bg:#e5e7eb;
  --sj-creative:#9d174d;    --sj-creative-bg:#fbcfe8;
  --sj-project:#1e40af;     --sj-project-bg:#dbeafe;
  --sj-supply:#0f766e;      --sj-supply-bg:#ccfbf1;
  --sj-hr:#059669;          --sj-hr-bg:#d1fae5;
  --sj-sport:#c2410c;       --sj-sport-bg:#ffedd5;
  --sj-mba:#a16207;         --sj-mba-bg:#fef3c7;
  --sj-general:#4b5563;     --sj-general-bg:#f3f4f6;

  /* LEVEL COLORS */
  --lv-foundation:#059669;     --lv-foundation-bg:#d1fae5;
  --lv-undergraduate:#1d4ed8;  --lv-undergraduate-bg:#dbeafe;
  --lv-topup:#7c3aed;          --lv-topup-bg:#ede9fe;
  --lv-postgraduate:#c2410c;   --lv-postgraduate-bg:#ffedd5;
  --lv-mba:#a16207;            --lv-mba-bg:#fef3c7;
  --lv-other:#6b7280;          --lv-other-bg:#f3f4f6;

  --serif:'Fraunces',Georgia,serif;
  --sans:'Manrope',-apple-system,BlinkMacSystemFont,system-ui,sans-serif;
  --radius:14px; --radius-lg:20px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:var(--sans);color:var(--ink);background:var(--bg);line-height:1.6;-webkit-font-smoothing:antialiased;font-size:16px}
body.nav-open{overflow:hidden}
img{max-width:100%;display:block}
a{color:var(--red-dark);text-decoration:none;transition:color .18s}
a:hover{color:var(--red)}
button{font-family:inherit}
h1,h2,h3,h4{font-family:var(--serif);font-weight:700;line-height:1.1;color:var(--ink);letter-spacing:-.02em}
h1{font-weight:800}
h3{font-size:1.3rem;font-family:var(--sans);font-weight:700;letter-spacing:-.01em}
p{color:var(--ink-2)}
.container{max-width:1240px;margin:0 auto;padding:0 24px}
.eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:2.2px;color:var(--red)}
.eyebrow::before{content:'';width:24px;height:2px;background:var(--red);display:block}

/* NAV */
.nav{position:sticky;top:0;background:rgba(255,255,255,.96);backdrop-filter:saturate(180%) blur(14px);-webkit-backdrop-filter:saturate(180%) blur(14px);border-bottom:1px solid var(--line);z-index:100}
.nav-inner{max-width:1240px;margin:0 auto;padding:14px 24px;display:flex;align-items:center;gap:24px}
.brand{display:block;flex-shrink:0}
.brand img{height:40px;width:auto;max-width:220px;object-fit:contain;display:block}
.nav-links{display:flex;gap:30px;margin-left:auto;align-items:center}
.nav-links a{color:var(--ink-2);font-weight:600;font-size:.92rem;transition:color .18s}
.nav-links a:hover{color:var(--red)}
.nav-cta{margin-left:6px}
.mobile-apply{display:none}
.burger{display:none;background:none;border:0;width:44px;height:44px;cursor:pointer;margin-left:auto;padding:12px;border-radius:8px;align-items:center;justify-content:center;flex-direction:column;gap:5px}
.burger span{display:block;width:20px;height:2px;background:var(--ink);border-radius:2px;transition:.25s ease;margin:0 auto}
.burger.active span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.burger.active span:nth-child(2){opacity:0;transform:scaleX(0)}
.burger.active span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* BUTTONS */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 26px;border-radius:100px;font-weight:700;font-size:.92rem;border:0;cursor:pointer;transition:all .2s;font-family:inherit;text-align:center;line-height:1.2;white-space:nowrap}
.btn-red{background:var(--red);color:#fff;box-shadow:0 4px 14px -4px rgba(238,69,64,.4)}
.btn-red:hover{background:var(--red-dark);color:#fff;transform:translateY(-1px);box-shadow:0 8px 20px -6px rgba(200,48,43,.5)}
.btn-ink{background:var(--ink);color:#fff}
.btn-ink:hover{background:var(--ink-2);color:#fff;transform:translateY(-1px)}
.btn-ghost{background:transparent;color:var(--ink);border:1.5px solid var(--line)}
.btn-ghost:hover{border-color:var(--ink);background:var(--ink);color:#fff}
.btn-lg{padding:17px 34px;font-size:1rem}
.btn-block{display:flex;width:100%}

/* HERO - ASYMMETRIC, NOT BLOG-LIKE */
.hero{padding:70px 0 90px;background:var(--bg);position:relative;overflow:hidden}
.hero-accent{position:absolute;top:-80px;right:-80px;width:380px;height:380px;border-radius:50%;background:radial-gradient(circle,var(--red-soft) 0%,transparent 70%);pointer-events:none;z-index:0}
.hero-grid{position:relative;display:grid;grid-template-columns:1.2fr 1fr;gap:60px;align-items:center;z-index:1}
.hero-tag{display:inline-flex;align-items:center;gap:10px;background:var(--green-soft);color:var(--green-dark);padding:8px 14px 8px 10px;border-radius:100px;font-size:.78rem;font-weight:700;margin-bottom:24px}
.hero-tag .dot{width:8px;height:8px;background:var(--green);border-radius:50%;animation:pulse 2s ease-in-out infinite}
@keyframes pulse{50%{opacity:.4;transform:scale(.85)}}
.hero h1{font-size:clamp(2.6rem,6.5vw,5.2rem);line-height:.98;margin-bottom:26px;font-weight:800;letter-spacing:-.035em}
.hero h1 em{font-style:italic;color:var(--red);font-weight:500}
.hero .lead{font-size:1.15rem;color:var(--ink-2);margin-bottom:36px;max-width:540px;line-height:1.55}
.hero-ctas{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-bottom:48px}
.hero-meta{display:grid;grid-template-columns:repeat(3,auto);gap:40px;padding-top:32px;border-top:1px solid var(--line);justify-content:start}
.hero-meta div strong{font-family:var(--serif);display:block;font-size:2.2rem;font-weight:700;color:var(--ink);line-height:1;letter-spacing:-.02em}
.hero-meta div span{font-size:.82rem;color:var(--ink-3);margin-top:6px;display:block}

.hero-visual{position:relative;aspect-ratio:4/5}
.hero-img{width:100%;height:100%;border-radius:12px;overflow:hidden;background:var(--cream)}
.hero-img img{width:100%;height:100%;object-fit:cover;display:block}
.hero-stamp{position:absolute;top:20px;left:20px;background:#fff;color:var(--ink);padding:12px 18px;border-radius:100px;font-size:.76rem;font-weight:700;z-index:2;box-shadow:0 8px 24px -8px rgba(0,0,0,.2);display:flex;align-items:center;gap:8px}
.hero-stamp::before{content:'';width:8px;height:8px;background:#10b981;border-radius:50%;box-shadow:0 0 0 3px rgba(16,185,129,.2)}
.hero-float{position:absolute;bottom:-28px;left:-28px;background:#fff;padding:20px 22px;border-radius:14px;box-shadow:0 20px 50px -18px rgba(0,0,0,.2);z-index:3;max-width:240px}
.hero-float .stars{color:var(--red);font-size:.85rem;letter-spacing:2px;margin-bottom:8px}
.hero-float p{font-family:var(--serif);font-style:italic;font-size:.98rem;line-height:1.35;color:var(--ink);margin-bottom:10px}
.hero-float small{font-size:.76rem;color:var(--ink-3);font-weight:600}

/* SECTIONS — careful spacing */
section{padding:110px 0}
section+section{padding-top:0}
section.plus{padding-top:110px}
.bg-cream{background:var(--cream-2)}
.bg-ink{background:var(--ink);color:#fff}
.bg-ink h2,.bg-ink h3{color:#fff}
.bg-ink p{color:rgba(255,255,255,.75)}
.bg-ink .eyebrow{color:var(--red)}

.sec-head{max-width:720px;margin:0 auto 64px;text-align:center}
.sec-head .eyebrow{margin-bottom:18px}
.sec-head h2{font-size:clamp(2rem,4vw,3.2rem);line-height:1.04;letter-spacing:-.025em}
.sec-head p{font-size:1.08rem;color:var(--ink-3);margin-top:16px;line-height:1.6}

/* STATS STRIP — the sharp break after hero */
.stats-strip{background:var(--ink);color:#fff;padding:50px 0}
.stats-strip .container{display:grid;grid-template-columns:repeat(4,1fr);gap:32px;align-items:center}
.stat-item{text-align:center;padding:0 20px;border-left:1px solid rgba(255,255,255,.15)}
.stat-item:first-child{border-left:0}
.stat-item strong{display:block;font-family:var(--serif);font-size:2.6rem;font-weight:700;color:var(--red);line-height:1;margin-bottom:6px}
.stat-item span{font-size:.82rem;color:rgba(255,255,255,.7);letter-spacing:.3px}

/* VALUES — asymmetric big cards */
.values-grid{display:grid;grid-template-columns:repeat(3, 1fr);gap:20px;}
.val{padding:44px 36px;border-radius:var(--radius-lg);background:#fff;border:1px solid var(--line);position:relative;overflow:hidden;transition:all .3s}
.val:hover{border-color:var(--red);transform:translateY(-4px);box-shadow:0 20px 50px -20px rgba(0,0,0,.1)}
.val-1{background:var(--ink);color:#fff;border-color:var(--ink);grid-row:span 1}
.val-1 h3,.val-1:hover{color:#fff}
.val-1 p{color:rgba(255,255,255,.7)}
.val-1 .val-num{color:var(--red)}
.val-num{font-family:var(--serif);font-size:.9rem;color:var(--red);font-weight:700;margin-bottom:20px;letter-spacing:2px}
.val h3{font-family:var(--serif);font-size:1.8rem;font-weight:700;margin-bottom:14px;letter-spacing:-.02em}
.val p{font-size:.96rem;line-height:1.65;color:var(--ink-3)}
.val-1 p{color:rgba(255,255,255,.75)}

/* SERVICES */
.services{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
.service{padding-top:36px;border-top:2px solid var(--ink)}
.service-num{font-family:var(--serif);font-size:2.6rem;color:var(--red);font-weight:700;margin-bottom:14px;line-height:1}
.service h3{font-family:var(--serif);font-size:1.5rem;margin-bottom:12px}
.service p{color:var(--ink-3);line-height:1.65}

/* JOURNEY — arrows + gradient */
.journey-list{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;gap:0;align-items:start}
.j-step{padding:0 10px;text-align:center}
.j-step-num{display:inline-flex;width:48px;height:48px;border-radius:50%;align-items:center;justify-content:center;font-weight:800;font-family:var(--serif);font-size:1.15rem;margin-bottom:20px;color:#fff;transition:transform .3s}
.j-step:hover .j-step-num{transform:scale(1.12)}
.s1 .j-step-num{background:#1d4ed8}
.s2 .j-step-num{background:#0d9488}
.s3 .j-step-num{background:#16a34a}
.s4 .j-step-num{background:#10b981}
.j-step h3{font-family:var(--serif);font-size:1.25rem;margin-bottom:8px}
.j-step p{color:var(--ink-3);font-size:.92rem;line-height:1.55}
.j-arrow{display:flex;align-items:center;justify-content:center;padding-top:14px}
.j-arrow-h{width:36px;height:16px;display:block}
.j-arrow-v{display:none}
.journey-list > .j-arrow:nth-child(2) svg path{stroke:#1d92c8}
.journey-list > .j-arrow:nth-child(4) svg path{stroke:#0d9488}
.journey-list > .j-arrow:nth-child(6) svg path{stroke:#13a06b}

/* DUAL CTA */
.dual{display:grid;grid-template-columns:1fr 1fr;gap:2px;background:var(--line);border-radius:var(--radius-lg);overflow:hidden}
.dual-card{padding:60px 48px;background:#fff}
.dual-student{background:var(--ink);color:#fff}
.dual-agent{background:var(--red);color:#fff}
.dual-card .k{font-size:.76rem;font-weight:700;text-transform:uppercase;letter-spacing:2px;margin-bottom:20px;opacity:.75}
.dual-card h3{color:inherit;font-family:var(--serif);font-size:1.85rem;margin-bottom:14px;line-height:1.1}
.dual-card p{opacity:.92;margin-bottom:26px;max-width:380px;line-height:1.6;color:inherit}
.dual-card .btn{background:#fff;color:var(--ink)}
.dual-agent .btn{color:var(--red)}

/* TESTIMONIALS */
.testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.testi{background:#fff;padding:32px;border-radius:var(--radius-lg);border:1px solid var(--line);transition:transform .25s,box-shadow .25s}
.testi:hover{transform:translateY(-4px);box-shadow:0 20px 40px -20px rgba(0,0,0,.12)}
.testi .stars{color:var(--red);font-size:.95rem;letter-spacing:3px;margin-bottom:16px}
.testi p{font-family:var(--serif);font-size:1.05rem;line-height:1.5;color:var(--ink);margin-bottom:22px;font-weight:500}
.testi-who{display:flex;align-items:center;gap:12px;padding-top:18px;border-top:1px solid var(--line)}
.testi-av{width:42px;height:42px;border-radius:50%;background:var(--red-soft);color:var(--red-dark);display:flex;align-items:center;justify-content:center;font-weight:700;font-family:var(--serif);font-size:.9rem}
.testi-who strong{display:block;font-size:.92rem}
.testi-who span{font-size:.78rem;color:var(--ink-3)}

/* FAQ */
.faq{max-width:780px;margin:0 auto}
.faq details{border-bottom:1px solid var(--line);padding:22px 0;cursor:pointer}
.faq details:first-child{border-top:1px solid var(--line)}
.faq summary{font-family:var(--serif);font-size:1.18rem;font-weight:700;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:20px;color:var(--ink)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:'+';font-size:1.6rem;color:var(--red);font-weight:300;flex-shrink:0;line-height:1;transition:transform .2s}
.faq details[open] summary::after{content:'−';transform:rotate(180deg)}
.faq details p{margin-top:14px;color:var(--ink-3);font-size:.98rem;line-height:1.65}

/* FORMS */
.form-page{padding:40px 0 80px;background:var(--cream-2)}
.form-card{max-width:680px;margin:0 auto;background:#fff;border-radius:var(--radius-lg);padding:40px;box-shadow:0 2px 0 var(--line)}
.form-card h1{font-size:2rem;margin-bottom:8px;letter-spacing:-.02em}
.form-card .lead{color:var(--ink-3);margin-bottom:28px;font-size:1.02rem}
.progress-track{height:6px;background:var(--line);border-radius:100px;overflow:hidden;margin-bottom:28px}
.progress-fill{height:100%;background:var(--red);border-radius:100px;transition:width .4s;width:14%}
.step-panel{display:none;animation:fade .35s ease}
.step-panel.active{display:block}
@keyframes fade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.step-q{font-family:var(--serif);font-size:1.45rem;font-weight:700;color:var(--ink);margin-bottom:20px;letter-spacing:-.02em}
.field{margin-bottom:20px}
.field label{display:block;font-weight:600;margin-bottom:8px;font-size:.88rem;color:var(--ink)}
.field input,.field select,.field textarea{width:100%;padding:14px 16px;border:1.5px solid var(--line);border-radius:10px;font-size:1rem;font-family:inherit;background:#fff;transition:all .2s;color:var(--ink);-webkit-appearance:none}
.field input:focus,.field select:focus,.field textarea:focus{outline:0;border-color:var(--red);box-shadow:0 0 0 3px var(--red-soft)}
.field textarea{resize:vertical;min-height:120px}
.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.choice-grid.cols-1{grid-template-columns:1fr}
.choice{padding:16px 18px;border:1.5px solid var(--line);border-radius:12px;cursor:pointer;font-weight:600;background:#fff;transition:all .15s;font-size:.94rem;display:flex;align-items:center;gap:12px;color:var(--ink);line-height:1.35}
.choice:hover{border-color:var(--ink);background:var(--cream-2)}
.choice.selected{border-color:var(--red);background:var(--red-soft)}
.choice.selected::before{content:'●';margin-left:auto;color:var(--red);font-size:1rem}
.form-nav{display:flex;justify-content:space-between;margin-top:30px;gap:12px}
.alert-warn{background:var(--red-soft);border-left:3px solid var(--red);padding:14px 18px;border-radius:10px;margin-top:16px;font-size:.92rem;color:var(--red-dark);display:none}
.alert-warn.show{display:block}
.phone-row{display:grid;grid-template-columns:118px 1fr;gap:10px}
.checkbox-row{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;background:var(--cream-2);border-radius:10px;font-size:.88rem;color:var(--ink-3);margin-top:18px}
.checkbox-row input{margin-top:3px;width:18px;height:18px;accent-color:var(--red);flex-shrink:0}
.success-card{text-align:center;padding:50px 30px}
.success-card .check{width:80px;height:80px;background:var(--red);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:2.4rem;margin:0 auto 24px}

/* APPLY PAGE BENEFITS */
.apply-top{padding:40px 0 20px;background:var(--cream-2)}
.apply-head{max-width:680px;margin:0 auto 28px;text-align:center}
.apply-head h1{font-size:clamp(1.9rem,4vw,2.8rem);margin-bottom:10px;letter-spacing:-.02em}
.apply-head h1 em{font-style:italic;color:var(--red);font-weight:500}
.apply-head .sub{font-size:1.02rem;color:var(--ink-3)}
.trust-row{display:flex;justify-content:center;gap:28px;margin-bottom:36px;flex-wrap:wrap}
.trust-row div{display:flex;align-items:center;gap:8px;font-size:.85rem;color:var(--ink-2);font-weight:600}
.trust-row .ok{width:18px;height:18px;background:#10b981;color:#fff;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:.7rem;flex-shrink:0}
.benefits{max-width:680px;margin:0 auto 30px;display:grid;grid-template-columns:1fr 1fr;gap:14px}
.benefit{display:flex;align-items:flex-start;gap:14px;padding:16px;background:#fff;border-radius:12px;border:1px solid var(--line)}
.benefit-ico{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.2rem;flex-shrink:0}
.bi-1{background:#d1fae5;color:#047857}
.bi-2{background:#dbeafe;color:#1d4ed8}
.bi-3{background:#fef3c7;color:#a16207}
.bi-4{background:var(--red-soft);color:var(--red-dark)}
.bi-5{background:#ede9fe;color:#7c3aed}
.bi-6{background:#ffedd5;color:#c2410c}
.benefit strong{display:block;font-size:.92rem;color:var(--ink);margin-bottom:2px;font-weight:700}
.benefit span{font-size:.8rem;color:var(--ink-3);line-height:1.4}

/* COURSES PAGE */
.crs-hero{padding:60px 0 30px;background:var(--bg)}
.crs-hero h1{font-size:clamp(2.2rem,5vw,4rem);margin-bottom:14px;letter-spacing:-.03em}
.crs-hero h1 em{font-style:italic;color:var(--red);font-weight:500}
.crs-hero .lead{font-size:1.08rem;color:var(--ink-3);max-width:620px;line-height:1.6}

.filter-section{padding:10px 0 80px}
.tab-bar{border-bottom:1px solid var(--line);margin-bottom:22px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.tab-bar::-webkit-scrollbar{display:none}
.tab-row{display:flex;gap:2px;min-width:max-content;padding-bottom:1px}
.tab{padding:16px 20px;background:none;border:0;font-family:var(--sans);font-size:.93rem;font-weight:600;color:var(--ink-3);cursor:pointer;white-space:nowrap;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .2s}
.tab:hover{color:var(--ink)}
.tab.active{color:var(--ink);border-bottom-color:var(--red)}
.tab .count{display:inline-block;margin-left:6px;padding:2px 8px;border-radius:100px;background:var(--cream);font-size:.7rem;color:var(--ink-3);font-weight:700}
.tab.active .count{background:var(--red);color:#fff}

.filters{display:grid;grid-template-columns:1.5fr repeat(4,1fr) auto;gap:10px;margin-bottom:18px;align-items:center}
.search-wrap{position:relative}
.search-ico{position:absolute;left:18px;top:50%;transform:translateY(-50%);font-size:1rem;opacity:.5;pointer-events:none}
#searchBox{width:100%;padding:12px 18px 12px 44px;border:1.5px solid var(--line);border-radius:10px;font-size:.94rem;font-family:inherit;background:var(--cream-2);transition:all .2s;color:var(--ink)}
#searchBox:focus{outline:0;border-color:var(--red);background:#fff;box-shadow:0 0 0 3px var(--red-soft)}
.fselect{padding:12px 14px;border:1.5px solid var(--line);border-radius:10px;font-family:inherit;font-size:.88rem;font-weight:600;background:#fff;color:var(--ink);cursor:pointer;-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path fill='none' stroke='%235e5e64' stroke-width='2' d='M1 1l5 5 5-5'/></svg>");background-repeat:no-repeat;background-position:right 14px center;padding-right:36px}
.fselect:focus{outline:0;border-color:var(--red)}
.btn-reset{padding:12px 18px;background:none;border:1.5px solid var(--line);border-radius:10px;color:var(--ink-3);font-size:.86rem;font-weight:600;cursor:pointer;transition:all .2s}
.btn-reset:hover{border-color:var(--ink);color:var(--ink)}
.result-line{font-size:.88rem;color:var(--ink-3);margin-bottom:26px;display:flex;align-items:center;gap:10px}
.result-line strong{color:var(--ink);font-weight:700}

/* COURSE CARDS — subject colored, subtle ticket elements */
.course-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px}
.ticket{background:#fff;border-radius:var(--radius-lg);position:relative;transition:all .3s;border:1px solid var(--line);display:flex;flex-direction:column;overflow:hidden}
.ticket:hover{transform:translateY(-4px);box-shadow:0 20px 40px -18px rgba(0,0,0,.15);border-color:transparent}
.ticket-head{padding:20px 22px 14px;display:flex;justify-content:space-between;align-items:flex-start;gap:10px;border-bottom:1px dashed var(--line)}
.ticket-cat-badge{display:inline-block;padding:5px 10px;border-radius:6px;font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:1px}
.ticket-stamp{display:inline-block;padding:5px 10px;border-radius:6px;font-size:.66rem;font-weight:800;text-transform:uppercase;letter-spacing:1px;border:1.5px dashed;flex-shrink:0;white-space:nowrap}
.lv-foundation{color:var(--lv-foundation);background:var(--lv-foundation-bg);border-color:var(--lv-foundation)}
.lv-undergraduate{color:var(--lv-undergraduate);background:var(--lv-undergraduate-bg);border-color:var(--lv-undergraduate)}
.lv-topup{color:var(--lv-topup);background:var(--lv-topup-bg);border-color:var(--lv-topup)}
.lv-postgraduate{color:var(--lv-postgraduate);background:var(--lv-postgraduate-bg);border-color:var(--lv-postgraduate)}
.lv-mba{color:var(--lv-mba);background:var(--lv-mba-bg);border-color:var(--lv-mba)}
.lv-other{color:var(--lv-other);background:var(--lv-other-bg);border-color:var(--lv-other)}
.ticket-title{padding:20px 22px 14px;font-family:var(--serif);font-size:1.18rem;font-weight:700;line-height:1.25;color:var(--ink);letter-spacing:-.01em;flex:1}
.ticket-meta{padding:0 22px 20px;display:flex;flex-direction:column;gap:8px}
.ticket-row{display:flex;align-items:flex-start;gap:10px;font-size:.84rem;color:var(--ink-2)}
.ticket-row .k{font-weight:700;color:var(--ink-3);min-width:72px;font-size:.72rem;text-transform:uppercase;letter-spacing:.8px;padding-top:2px;flex-shrink:0}
.ticket-row .v{color:var(--ink);line-height:1.45;font-weight:500}
.ticket-cta{display:flex;align-items:center;justify-content:space-between;padding:16px 22px;background:var(--cream-2);font-weight:700;font-size:.88rem;color:var(--ink);transition:all .2s;border-top:1px dashed var(--line);margin-top:auto}
.ticket-cta:hover{background:var(--red);color:#fff}
.ticket-cta .arrow{transition:transform .2s}
.ticket-cta:hover .arrow{transform:translateX(4px)}

.empty-state{text-align:center;padding:70px 20px}
.empty-state h3{font-family:var(--serif);font-size:1.5rem;margin:14px 0 8px}
.empty-state p{color:var(--ink-3);margin-bottom:20px}

.cta-banner{margin-top:70px;background:var(--ink);color:#fff;padding:60px 48px;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:space-between;gap:36px;flex-wrap:wrap}
.cta-banner h2{color:#fff;margin-bottom:10px;font-size:1.8rem}
.cta-banner p{color:rgba(255,255,255,.7);max-width:540px}
.cta-banner .btn{background:var(--red);color:#fff}

/* ABOUT PAGE */
.about-hero{padding:70px 0 40px;background:var(--bg)}
.about-hero h1{font-size:clamp(2.4rem,5.5vw,4.4rem);margin-bottom:18px;letter-spacing:-.03em;max-width:900px}
.about-hero h1 em{font-style:italic;color:var(--red);font-weight:500}
.about-hero .lead{font-size:1.15rem;color:var(--ink-3);max-width:620px;line-height:1.6}

.story{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.story-img{aspect-ratio:4/5;border-radius:12px;overflow:hidden;background:var(--cream)}
.story-img img{width:100%;height:100%;object-fit:cover}
.story h2{margin-bottom:18px}
.story p{font-size:1.02rem;line-height:1.7;margin-bottom:16px;color:var(--ink-2)}

.timeline{position:relative;max-width:780px;margin:0 auto}
.timeline::before{content:'';position:absolute;left:32px;top:0;bottom:0;width:2px;background:var(--line)}
.tl-item{position:relative;padding-left:80px;padding-bottom:44px}
.tl-item:last-child{padding-bottom:0}
.tl-dot{position:absolute;left:24px;top:4px;width:18px;height:18px;border-radius:50%;background:var(--red);border:3px solid #fff;box-shadow:0 0 0 2px var(--red)}
.tl-year{font-family:var(--serif);font-size:1.3rem;font-weight:700;color:var(--red);margin-bottom:6px}
.tl-item h3{font-family:var(--serif);font-size:1.3rem;margin-bottom:8px}
.tl-item p{color:var(--ink-3);line-height:1.6}

.promises{display:grid;grid-template-columns:1fr 1fr;gap:2px;background:var(--line);border-radius:var(--radius-lg);overflow:hidden;max-width:940px;margin:0 auto}
.promise{padding:40px 36px;background:#fff}
.promise.do{background:#fff}
.promise.dont{background:var(--cream-2)}
.promise .k{display:inline-flex;align-items:center;gap:8px;font-size:.76rem;font-weight:800;text-transform:uppercase;letter-spacing:1.5px;padding:6px 12px;border-radius:100px;margin-bottom:20px}
.promise.do .k{background:#d1fae5;color:#047857}
.promise.dont .k{background:var(--red-soft);color:var(--red-dark)}
.promise ul{list-style:none;padding:0}
.promise li{padding:12px 0;border-bottom:1px solid var(--line);font-size:.96rem;line-height:1.5;color:var(--ink-2);display:flex;align-items:flex-start;gap:10px}
.promise li:last-child{border-bottom:0}
.promise li::before{content:'';width:18px;height:18px;border-radius:50%;flex-shrink:0;margin-top:3px;display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:800;color:#fff}
.promise.do li::before{content:'✓';background:#10b981}
.promise.dont li::before{content:'×';background:var(--red);font-size:.9rem}

/* FOOTER */
.foot{background:#0f0f10;color:#fff;padding:70px 0 24px;margin-top:0}
.foot-inner{max-width:1240px;margin:0 auto;padding:0 24px}
.foot-cols{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.4fr;gap:48px;margin-bottom:48px;padding-bottom:40px;border-bottom:1px solid rgba(255,255,255,.1)}
.foot-logo{height:46px;width:auto;max-width:240px;margin-bottom:20px;display:block;object-fit:contain;border-radius:4px; border: 1px solid white}
.foot-tagline{color:var(--red);font-family:var(--serif);font-size:.98rem;font-style:italic;margin-bottom:20px;font-weight:500}
.foot-addr{color:rgba(255,255,255,.55);font-size:.88rem;line-height:1.75;margin-bottom:16px}
.foot-contact{display:flex;flex-direction:column;gap:4px}
.foot-contact a{color:rgba(255,255,255,.85);font-size:.9rem}
.foot-contact a:hover{color:var(--red)}
.foot-col h4{color:#fff;font-size:.74rem;margin-bottom:20px;font-family:var(--sans);font-weight:700;text-transform:uppercase;letter-spacing:2px}
.foot-col a{display:block;color:rgba(255,255,255,.55);font-size:.92rem;margin-bottom:11px}
.foot-col a:hover{color:var(--red)}
.foot-col .muted{color:rgba(255,255,255,.5);font-size:.88rem;line-height:1.7}
.foot-bottom p{color:rgba(255,255,255,.35);font-size:.76rem;text-align:center;line-height:1.75}

.head-logo{border-radius:4px;}

/* RESPONSIVE */
@media(max-width:980px){
  .burger{display:flex}
  .nav-cta{display:none}
  .nav{position:sticky;top:0}
  .nav-links{display:none;position:fixed;top:var(--nav-h,64px);left:0;right:0;height:calc(100vh - var(--nav-h,64px));height:calc(100dvh - var(--nav-h,64px));background:#fff;flex-direction:column;padding:20px 24px 40px;gap:0;align-items:stretch;overflow-y:auto;-webkit-overflow-scrolling:touch;border-top:1px solid var(--line);z-index:99}
  .nav-links.open{display:flex}
  .nav-links a{padding:18px 4px;font-size:1.1rem;border-bottom:1px solid var(--line-2);color:var(--ink);flex-shrink:0}
  .nav-links .mobile-apply{display:flex;align-items:center;justify-content:center;margin-top:24px;background:var(--red);color:#fff;padding:18px;text-align:center;border-radius:100px;font-weight:700;border-bottom:0;box-shadow:0 4px 14px -4px rgba(238,69,64,.4);flex-shrink:0}
  .nav-links .mobile-apply:hover{color:#fff}
  .hero{padding:40px 0 60px}
  .hero-grid{grid-template-columns:1fr;gap:50px}
  .hero-visual{max-width:440px;margin:0 auto;aspect-ratio:4/4}
  .hero-float{bottom:-20px;left:-10px}
  .hero-accent{top:-120px;right:-120px;width:280px;height:280px}
  section{padding:70px 0}
  .values-grid,.services,.dual,.testi-grid,.foot-cols,.story,.promises{grid-template-columns:1fr;gap:24px}
  .journey-list{grid-template-columns:1fr;gap:0;justify-items:center;text-align:center}
  .j-arrow{padding:10px 0}
  .j-arrow-h{display:none}
  .j-arrow-v{display:block;width:16px;height:36px}
  .stats-strip .container{grid-template-columns:repeat(2,1fr);gap:24px}
  .stat-item:nth-child(3){border-left:0}
  .filters{grid-template-columns:1fr 1fr;gap:10px}
  .filters .search-wrap{grid-column:1/-1}
  .filters .btn-reset{grid-column:1/-1}
  .timeline::before{left:18px}
  .tl-item{padding-left:56px}
  .tl-dot{left:10px}
}
@media(max-width:640px){
  .brand img{height:34px;max-width:160px}
  .hero{padding:32px 0 50px}
  .hero h1{font-size:2.3rem}
  .hero .lead{font-size:1.02rem;margin-bottom:28px}
  .hero-ctas{margin-bottom:36px}
  .hero-meta{grid-template-columns:repeat(3,1fr);gap:16px}
  .hero-meta div strong{font-size:1.6rem}
  .hero-meta div span{font-size:.74rem}
  .hero-float{position:relative;bottom:auto;left:auto;margin:16px auto 0;max-width:100%}
  .stats-strip{padding:36px 0}
  .stats-strip .container{grid-template-columns:1fr 1fr;gap:20px}
  .stat-item{padding:0 8px}
  .stat-item strong{font-size:1.8rem}
  .form-card{padding:26px 20px;border-radius:16px}
  .form-card h1{font-size:1.5rem}
  .step-q{font-size:1.15rem}
  .phone-row{grid-template-columns:96px 1fr}
  .course-grid{grid-template-columns:1fr;gap:16px}
  .crs-hero{padding:36px 0 18px}
  .tab{padding:14px 14px;font-size:.86rem}
  .filters{grid-template-columns:1fr;gap:10px}
  .benefits{grid-template-columns:1fr;gap:10px}
  .cta-banner{padding:40px 24px;text-align:center;justify-content:center;flex-direction:column}
  .val{padding:32px 24px}
  .dual-card{padding:40px 28px}
  .testi{padding:26px}
  .foot-cols{grid-template-columns:1fr;gap:36px;margin-bottom:32px;padding-bottom:32px}
  .sec-head{margin-bottom:44px}
  .trust-row{gap:18px}
  .trust-row div{font-size:.8rem}
  .tl-item h3{font-size:1.15rem}
}

.testi-carousel-wrap {
  position: relative;
  display: flex;
  align-items: center;
  gap: 8px;
}
.testi-carousel {
  display: flex;
  gap: 20px;
  overflow-x: auto;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  cursor: grab;
  padding: 8px 0;
  flex: 1;
  min-width: 0;
}
.testi-carousel::-webkit-scrollbar { display: none; }
.testi-carousel.dragging { cursor: grabbing; scroll-behavior: auto; }
.testi-carousel .testi {

  flex: 0 0 calc((100% - 40px) / 3);

  box-sizing: border-box;

}
.testi-arrow {
  flex-shrink: 0;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: 1.5px solid var(--navy, #1a1a2e);
  background: #fff;
  color: var(--navy, #1a1a2e);
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background .2s, color .2s;
  z-index: 2;
}
.testi-arrow:hover {
  background: var(--navy, #1a1a2e);
  color: #fff;
}

@media (max-width: 900px) {
  .testi-carousel .testi { min-width: calc(50% - 10px); }
}
@media (max-width: 600px) {
  .testi-carousel .testi { min-width: 85%; }
  .testi-arrow { width: 32px; height: 32px; font-size: 18px; }
}

@media(max-width:880px){
  .contact-grid{
    grid-template-columns:1fr!important
  }
}
