
    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
    :root {
      --navy: #14252E; --gold: #E8724A; --gold-light: #F6C9A0;
      --white: #FFFFFF;
      --gray-100: #F2F2EE; --gray-200: #E4E4DE;
      --gray-300: #CCCCC6; --gray-400: #A0A09A; --gray-600: #6B6B66;
      --teal: #0B9E8A; --teal-bg: #E8F8F5;
      --coral: #E8724A; --coral-bg: #FCEEE8;
      --green: #2D7A50; --green-bg: #E6F4ED;
    }
    html { scroll-behavior: smooth; }
    body { font-family: 'Poppins', sans-serif; background: #F8F4EF; color: var(--navy); -webkit-font-smoothing: antialiased; overflow-x: hidden; }
    h1,h2,h3,h4,h5 { font-family: 'Lilita One', serif; line-height: 1.2; }
    a { text-decoration: none; color: inherit; }
    img { max-width: 100%; display: block; }
    ::-webkit-scrollbar { width: 5px; }
    ::-webkit-scrollbar-track { background: #F2F2EE; }
    ::-webkit-scrollbar-thumb { background: #A0A09A; border-radius: 4px; }
    .he-container { max-width: 1280px; margin: 0 auto; padding: 0 40px; }
    @media(max-width:600px){.he-container{padding:0 22px;}.article-inner{padding:40px 22px 56px !important;}.hero-text{padding:28px 22px !important;}}

    /* Navbar */
    @keyframes vl-dd-fade{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}
    nav{position:fixed;top:0;left:0;right:0;z-index:1000;height:152px;background:rgba(255,255,255,0.97);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--gray-200);display:flex;align-items:center;}
    .vl-inner{max-width:1340px;margin:0 auto;padding:0 40px;height:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;}
    .vl-logo img{height:76px;width:auto;display:block;}
    .vl-items{display:flex;list-style:none;gap:2px;align-items:center;flex:1;justify-content:center;}
    .vl-item{position:relative;}
    .vl-item-btn{background:none;border:none;padding:10px 16px;font-family:'Poppins',sans-serif;font-size:16px;font-weight:500;color:var(--gray-600);cursor:pointer;transition:color 0.2s;border-bottom:2px solid transparent;display:flex;align-items:center;gap:4px;white-space:nowrap;}
    .vl-item-btn:hover{color:var(--gold);}
    .vl-item-btn.active{color:var(--navy);border-bottom:2px solid var(--gold);}
    .vl-arrow{font-size:8px;opacity:0.5;}
    .vl-dd{display:none;position:absolute;top:100%;left:50%;transform:translateX(-50%);background:#fff;border:1px solid var(--gray-200);box-shadow:0 16px 48px rgba(13,27,42,0.13);min-width:240px;padding:8px 0;z-index:200;animation:vl-dd-fade 0.15s ease;}
    .vl-item:hover .vl-dd{display:block;}
    .vl-dl{display:block;text-align:left;background:none;border:none;padding:10px 20px;cursor:pointer;transition:background 0.15s;font-family:'Poppins',sans-serif;text-decoration:none;color:inherit;width:100%;}
    .vl-dl:hover{background:#F8F4EF;}
    .vl-dl-name{font-size:14.5px;font-weight:600;color:var(--navy);}
    .vl-dl-sub{font-size:12px;color:var(--gray-400);margin-top:2px;}
    .vl-right{display:flex;align-items:center;gap:10px;}
    .vl-lang{display:flex;gap:4px;align-items:center;margin-left:8px;}
    .vl-lb{background:transparent;color:var(--gray-600);border:1px solid var(--gray-300);padding:4px 8px;font-size:11px;font-weight:700;cursor:pointer;letter-spacing:0.5px;transition:all 0.2s;font-family:'Poppins',sans-serif;}
    .vl-cta-btn{background:var(--navy);color:#fff;border:none;padding:12px 22px;font-size:15px;font-weight:700;cursor:pointer;letter-spacing:0.2px;transition:all 0.2s;font-family:'Poppins',sans-serif;white-space:nowrap;text-decoration:none;display:inline-block;}
    .vl-cta-btn:hover{background:var(--gold);}
    /* footer responsive */
    @media(max-width:768px){.footer-grid{grid-template-columns:1fr 1fr !important;gap:24px !important;}}
    .vl-hbg{display:none;background:none;border:none;flex-direction:column;gap:5px;padding:4px;cursor:pointer;}
    .vl-hbg span{width:24px;height:2px;background:var(--navy);display:block;}
    .vl-mob{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;border-top:1px solid var(--gray-200);padding:16px 20px 24px;max-height:calc(100vh - 88px);overflow-y:auto;box-shadow:0 16px 48px rgba(13,27,42,0.13);box-sizing:border-box;}
    .vl-mob.open{display:block;}
    .vl-mob-link{display:block;text-align:left;background:none;border:none;padding:13px 0;font-family:'Poppins',sans-serif;font-size:17px;font-weight:600;color:var(--navy);border-bottom:1px solid var(--gray-100);cursor:pointer;text-decoration:none;width:100%;}
    .vl-mob-langs{display:flex;gap:8px;margin-top:20px;}
    .vl-mob-lb{flex:1;padding:10px;font-size:13px;font-weight:700;cursor:pointer;background:var(--gray-100);color:var(--navy);border:none;font-family:'Poppins',sans-serif;}
    .vl-mob-cta{display:block;width:100%;background:var(--navy);color:#fff;border:none;padding:15px;font-size:15px;font-weight:700;margin-top:12px;font-family:'Poppins',sans-serif;cursor:pointer;text-decoration:none;text-align:center;}
    @media(max-width:900px){.vl-items,.vl-right{display:none;}.vl-hbg{display:flex;}nav{height:88px;}.vl-logo img{height:50px;}.page-wrap{padding-top:88px;}}
    @media(max-width:600px){.page-hero{padding:0 20px;}}

    /* Page */
    .page-wrap { padding-top: 152px; }
    .section-tag { font-size: 11px; font-weight: 700; letter-spacing: 2.5px; text-transform: uppercase; color: var(--gold); display: inline-block; margin-bottom: 14px; }

    /* Hero */
    .page-hero { background: #F8F4EF; padding: 0 40px; height: 320px; text-align: center; position: relative; overflow: hidden; display: flex; flex-direction: column; align-items: center; justify-content: center; }
    .page-hero .bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
    .page-hero-overlay { position: absolute; inset: 0; background: rgba(248,244,239,0.72); }
    .page-hero-inner { position: relative; }
    .page-hero h1 { font-family: 'Lilita One', serif; font-size: clamp(28px,4vw,52px); font-weight: 700; color: var(--navy); margin-bottom: 14px; line-height: 1.1; }
    .page-hero p { font-size: 16px; color: var(--gray-600); font-weight: 300; max-width: 500px; margin: 0 auto; line-height: 1.5; }

    /* Intro */
    .exp-intro { background: #fff; padding: 48px 0; border-bottom: 1px solid var(--gray-200); }
    .exp-intro p { font-size: 16.5px; color: var(--gray-600); line-height: 1.9; font-weight: 300; font-style: italic; max-width: 820px; margin: 0 auto; text-align: center; }

    /* Filter bar */
    .filter-bar { background: #fff; border-bottom: 1px solid var(--gray-200); position: sticky; top: 152px; z-index: 100; }
    @media(max-width:900px){.filter-bar{top:88px;}}
    .filter-tabs { display: flex; gap: 0; overflow-x: auto; }
    .filter-tab { background: none; border: none; padding: 18px 22px; font-size: 14px; font-weight: 600; cursor: pointer; white-space: nowrap; color: var(--gray-600); border-bottom: 2.5px solid transparent; transition: all 0.2s; font-family: 'Poppins', sans-serif; }
    .filter-tab.active { color: var(--teal); border-bottom: 2.5px solid var(--teal); }

    /* Programs */
    .programs-section { background: #F8F4EF; padding: 48px 0; }
    .programs-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; }
    @media(max-width:900px){ .programs-grid { grid-template-columns: repeat(2,1fr); } }
    @media(max-width:560px){ .programs-grid { grid-template-columns: 1fr; } }
    .prog-card { background: #fff; box-shadow: 0 1px 4px rgba(0,0,0,0.05); transition: all 0.25s; border: 1px solid var(--gray-100); display: flex; flex-direction: column; }
    .prog-card:hover { transform: translateY(-4px); box-shadow: 0 12px 32px rgba(0,0,0,0.10); }
    .prog-card-top { padding: 24px 24px 20px; flex: 1; }
    .prog-type { font-size: 11px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; display: block; margin-bottom: 10px; }
    .prog-name { font-family: 'Lilita One', serif; font-size: 21px; font-weight: 700; color: var(--navy); margin-bottom: 10px; line-height: 1.2; }
    .prog-desc { font-size: 14px; color: var(--gray-600); line-height: 1.75; font-weight: 300; }
    .prog-card-bottom { padding: 20px 24px 24px; display: flex; gap: 10px; }
    .prog-btn-contact { flex: 1; color: #fff; border: none; padding: 12px; font-size: 13px; font-weight: 700; cursor: pointer; transition: opacity 0.2s; font-family: 'Poppins', sans-serif; text-decoration: none; display: flex; align-items: center; justify-content: center; }
    .prog-btn-contact:hover { opacity: 0.85; }
    .prog-btn-more { flex: 1; background: transparent; border: 1.5px solid currentColor; padding: 12px; font-size: 13px; font-weight: 600; cursor: pointer; transition: all 0.2s; font-family: 'Poppins', sans-serif; text-decoration: none; display: flex; align-items: center; justify-content: center; }

    /* Detail view */
    .prog-detail { display: grid; grid-template-columns: 1fr 1.4fr; gap: 36px; max-width: 1000px; margin: 0 auto; }
    @media(max-width:760px){ .prog-detail { grid-template-columns: 1fr; } }
    .prog-detail-card { background: #fff; box-shadow: 0 1px 4px rgba(0,0,0,0.05); border: 1px solid var(--gray-100); display: flex; flex-direction: column; }
    .prog-detail-top { padding: 28px 28px 24px; flex: 1; }
    .prog-detail-bottom { padding: 22px 28px 28px; }
    .prog-detail-info { background: #fff; padding: 36px 40px; box-shadow: 0 1px 4px rgba(0,0,0,0.05); border: 1px solid var(--gray-100); }
    .prog-detail-info h3 { font-family: 'Lilita One', serif; font-size: 24px; font-weight: 700; color: var(--navy); margin-bottom: 20px; line-height: 1.2; }
    .prog-detail-info p { font-size: 14.5px; color: var(--gray-600); font-weight: 300; line-height: 1.85; margin-bottom: 10px; }
    .prog-detail-info strong { font-weight: 700; }

    /* CTA section */
    .exp-cta { background: #fff; padding: 64px 40px; text-align: center; border-top: 1px solid var(--gray-200); }
    .exp-cta h3 { font-family: 'Lilita One', serif; font-size: 26px; font-weight: 700; margin-bottom: 14px; }
    .exp-cta p { font-size: 15px; color: var(--gray-600); margin-bottom: 32px; max-width: 460px; margin-left: auto; margin-right: auto; font-weight: 300; line-height: 1.7; }
    .btn-primary { background: var(--navy); color: #fff; border: none; padding: 15px 36px; font-size: 15px; font-weight: 700; cursor: pointer; transition: background 0.2s; font-family: 'Poppins', sans-serif; text-decoration: none; display: inline-block; letter-spacing: 0.3px; }
    .btn-primary:hover { background: var(--gold); }

    /* Footer */
    footer { background: var(--navy); color: #fff; padding-top: 0; }
    .footer-grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr 0.8fr; gap: 32px; padding: 24px 0; border-bottom: 1px solid rgba(255,255,255,0.08); }
    .footer-brand { text-align: center; display: flex; flex-direction: column; justify-content: center; align-items: center; }
    .footer-tagline { color: rgba(255,255,255,0.4); font-size: 16px; line-height: 1.9; font-weight: 300; margin-bottom: 22px; }
    .footer-socials { display: flex; gap: 10px; justify-content: center; }
    .footer-soc-wrap { position: relative; }
    .footer-soc-btn { width: 50px; height: 50px; border: 1px solid rgba(255,255,255,0.15); display: flex; align-items: center; justify-content: center; color: rgba(255,255,255,0.45); transition: all 0.2s; text-decoration: none; }
    .footer-soc-btn:hover { background: var(--gold); border-color: var(--gold); color: #fff; }
    .footer-soc-tip { position: absolute; bottom: calc(100% + 7px); left: 50%; transform: translateX(-50%) translateY(4px); background: rgba(255,255,255,0.95); color: #1a2340; font-size: 11px; font-weight: 600; white-space: nowrap; padding: 4px 9px; letter-spacing: 0.2px; pointer-events: none; opacity: 0; transition: opacity 0.15s ease, transform 0.15s ease; font-family: 'Poppins', sans-serif; }
    .footer-col-heading { font-size: 11px; font-family: 'Poppins', sans-serif; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; color: rgba(255,255,255,0.35); margin-bottom: 20px; }
    .footer-col-links { list-style: none; display: flex; flex-direction: column; gap: 11px; }
    .footer-col-links a { font-size: 14px; color: rgba(255,255,255,0.55); font-weight: 400; transition: color 0.2s; text-decoration: none; }
    .footer-col-links a:hover { color: var(--gold); }
    .footer-bottom { padding: 20px 0; display: flex; justify-content: space-between; align-items: center; }
    .footer-copy { font-size: 13px; color: rgba(255,255,255,0.25); font-weight: 300; }
  