*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{font-family:'Inter','Be Vietnam Pro',sans-serif;font-size:16px;line-height:1.6;color:#333333;background:#fff;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{text-decoration:none;transition:.2s}ul{list-style:none}img{max-width:100%;height:auto;display:block}
/* Touch: remove 300ms tap delay on all interactive elements */
a,button,input,select,textarea,[role="button"]{touch-action:manipulation}
.container{max-width:1300px;margin:0 auto;padding:0 2rem}
:root{
  --p:#002da2;--pd:#002482;--pdd:#071530;--pl:#2166dd;--ps:#EBF3FF;--p100:#C4D9FF;
  --a:#F5A800;--ad:#CC8800;--al:#FFD000;--as:#FFF8DC;
  --w:#fff;--bg:#F3F8FF;--bg2:#EBF3FF;--border:#CCDEff;--borderl:#E0EEFF;
  --td:#07132A;--t:#1A2D52;--tm:#333333;--tl:#8FA3C2;
  --ok:#059669;--okbg:#ECFDF5;
  --gp:#002da2;
  --gpa:#002da2;
  --ga:linear-gradient(135deg,#F5A800,#FFD700);
  --sh:0 4px 24px rgba(0,45,162,.13);--shh:0 16px 48px rgba(0,45,162,.22);
  --r:10px;--rl:14px;--rxl:22px;--rf:9999px;
  --fd:'Be Vietnam Pro','Inter',sans-serif;--h1:88px;--h2:50px;--h3:34px;
}
/* BUTTONS */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;font-family:var(--fd);font-weight:700;font-size:.875rem;padding:11px 24px;border-radius:var(--rf);border:2px solid transparent;cursor:pointer;transition:.25s;text-decoration:none;white-space:nowrap;line-height:1;min-height:48px}
.btn-primary{background:var(--p);color:#fff;box-shadow:0 4px 16px rgba(0,45,162,.35)}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 28px rgba(0,45,162,.45);color:#fff;background:var(--pd)}
.btn-accent{background:var(--ga);color:var(--pdd);box-shadow:0 4px 16px rgba(245,168,0,.45)}
.btn-accent:hover{transform:translateY(-2px);color:var(--pdd)}
.btn-outline{background:rgba(255,255,255,.1);color:#fff;border-color:rgba(255,255,255,.45);backdrop-filter:blur(8px)}
.btn-outline:hover{background:#fff;color:var(--pd);border-color:#fff}
.btn-outline-p{background:transparent;color:var(--p);border-color:var(--p100)}
.btn-outline-p:hover{background:var(--p);color:#fff;border-color:var(--p)}
.btn-ghost{background:var(--ps);color:var(--p)}.btn-ghost:hover{background:var(--p);color:#fff}
.btn-lg{padding:14px 32px;font-size:1rem}.btn-sm{padding:8px 18px;font-size:.8rem}
/* SECTIONS */
.section{padding:5.5rem 0}.section-alt{background:var(--bg)}
.sec-tag{display:inline-flex;align-items:center;gap:.35rem;font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--p);background:var(--ps);border:1px solid var(--p100);padding:5px 14px;border-radius:var(--rf);margin-bottom:1rem}
.sec-tag::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--p);flex-shrink:0}
.sec-title{font-family:var(--fd);font-size:clamp(1.75rem,3vw,2.625rem);font-weight:800;color:var(--td);margin-bottom:.75rem;letter-spacing:-.03em;line-height:1.2}
.sec-title span{color:var(--p)}.sec-desc{font-size:1rem;color:#333333;max-width:620px;line-height:1.65}
.sec-hd.center{text-align:center}.sec-hd.center .sec-desc{margin:0 auto}
.view-all-wrap{text-align:center;margin-top:2.5rem}
/* ANIM */
[data-a]{opacity:0;transform:translateY(24px);transition:opacity .6s ease,transform .6s ease}
[data-a="r"]{transform:translateX(-24px)}[data-a="l"]{transform:translateX(24px)}
[data-a].in{opacity:1;transform:none}
[data-d="1"]{transition-delay:.1s}[data-d="2"]{transition-delay:.2s}[data-d="3"]{transition-delay:.3s}[data-d="4"]{transition-delay:.4s}
/* PAGE SWITCH */
.page-sec{display:none}.page-sec.active{display:block}
/* HEADER ROW 0 — ANNOUNCE */
.hdr-announce{background:#002da2;height:var(--h3);display:flex;align-items:center;overflow:hidden;border-bottom:1px solid rgba(255,255,255,.1)}
.hdr-announce .container{display:flex;align-items:center;justify-content:center;gap:1.25rem;flex-wrap:nowrap}
.ann-badge{background:var(--a);color:var(--pdd);font-size:.6rem;font-weight:700;padding:2px 7px;border-radius:3px;letter-spacing:.05em;flex-shrink:0}
.ann-text{font-size:.72rem;color:rgba(255,255,255,.92);font-weight:600;white-space:nowrap}
.ann-sep{color:rgba(255,255,255,.2);margin:0 .25rem}
.ann-link{font-size:.72rem;color:var(--al);font-weight:700;display:flex;align-items:center;gap:.3rem;text-decoration:none;white-space:nowrap}
.ann-link:hover{color:#fff}
/* HEADER ROW 1 */
.site-header{position:fixed;top:0;left:0;right:0;z-index:200;transition:transform .35s cubic-bezier(0.16, 1, 0.3, 1),box-shadow .3s ease}
.site-header.scrolled{transform:translateY(calc(-1 * (var(--h1) + var(--h3))));box-shadow:0 8px 24px rgba(12,30,64,.35)}
.site-header.scrolled .hdr-nav-bar{box-shadow:0 4px 20px rgba(12,30,64,.4)}
/* WordPress admin bar fix */
.admin-bar .site-header{top:32px}
@media screen and (max-width:782px){.admin-bar .site-header{top:46px}}
.nav-brand-scrolled{display:none!important}
/* Sub-sticky elements position adjustment when header is scrolled */
body.scrolled .prog-filter-wrap,
body.scrolled .re-filter-wrap,
body.scrolled .pd2-sticky,
body.scrolled .pgd-sticky{top:var(--h2)!important}
body.admin-bar.scrolled .prog-filter-wrap,
body.admin-bar.scrolled .re-filter-wrap,
body.admin-bar.scrolled .pd2-sticky,
body.admin-bar.scrolled .pgd-sticky{top:calc(var(--h2) + 32px)!important}
@media screen and (max-width:782px){
  body.scrolled .prog-filter-wrap,
  body.scrolled .re-filter-wrap,
  body.scrolled .pd2-sticky,
  body.scrolled .pgd-sticky{top:var(--h1)!important}
  body.admin-bar.scrolled .prog-filter-wrap,
  body.admin-bar.scrolled .re-filter-wrap,
  body.admin-bar.scrolled .pd2-sticky,
  body.admin-bar.scrolled .pgd-sticky{top:calc(var(--h1) + 46px)!important}
}
.hdr-logo-bar{background:#ffffff;border-bottom:1px solid #e2e8f0;height:var(--h1);display:flex;align-items:center;position:relative}
.hdr-logo-bar::after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--p),var(--a),var(--p));opacity:.4}
.hdr-logo-bar .container{display:flex;align-items:center;justify-content:space-between;width:100%}
.logo{display:flex;align-items:center;gap:.75rem;flex-shrink:0;text-decoration:none;max-height:var(--h1)}
.logo-custom{display:flex;align-items:center;padding:6px 14px;background:#ffffff;border-radius:8px;box-shadow:0 1px 4px rgba(0,45,162,.04);transition:.2s;max-height:calc(var(--h1) - 16px)}
.logo img,
.logo-custom img,
.gi-logo{height:46px!important;max-height:46px!important;width:auto!important;max-width:240px!important;object-fit:contain!important;display:block!important;flex-shrink:0}
.gi-logo-white{height:38px!important;max-height:38px!important;width:auto!important;display:block;filter:brightness(0) invert(1)}
.hdr-info-bar{display:flex;align-items:center;gap:2rem}
.hdr-info-item{display:flex;align-items:center;gap:.625rem;font-size:.8125rem;color:var(--tm);line-height:1.2}
.hdr-info-item i{color:var(--p);font-size:.85rem;width:30px;height:30px;border-radius:50%;background:var(--ps);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;text-align:center;box-sizing:border-box}
.hdr-info-item div{display:flex;flex-direction:column;justify-content:center}
.hdr-info-label{font-size:.65rem;color:var(--tl);margin-bottom:2px;line-height:1;display:block;font-weight:600;text-transform:uppercase;letter-spacing:.04em}
.hdr-info-item a{color:var(--td);font-weight:700;line-height:1.2}.hdr-info-item a:hover{color:var(--p)}
.hdr-right{display:flex;align-items:center;gap:.875rem;flex-shrink:0}
.hdr-social{display:flex;gap:.375rem;align-items:center}
.hdr-soc{width:34px;height:34px;min-width:34px;min-height:34px;border-radius:50%;background:var(--ps);border:1.5px solid var(--p100);display:flex;align-items:center;justify-content:center;color:var(--p);font-size:.8rem;transition:.2s;flex-shrink:0;align-self:center;box-sizing:border-box}
.hdr-soc:hover{background:var(--p);color:#fff;border-color:var(--p);transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,45,162,.3)}
.hdr-lang{display:flex;align-items:center;gap:.35rem;padding:5px 12px;border-radius:var(--rf);border:1px solid var(--border);background:var(--w);font-size:.75rem;font-weight:600;color:var(--tm);cursor:pointer;transition:.15s}
.hdr-lang:hover{border-color:var(--p);color:var(--p)}
/* HEADER ROW 2 */
.hdr-nav-bar{background:linear-gradient(90deg,#061329 0%,#0a2558 35%,#0e3ea6 65%,#061329 100%);height:var(--h2);display:flex;align-items:center;box-shadow:0 4px 20px rgba(6,19,41,.4);position:relative;z-index:250}
.hdr-nav-bar .container{display:flex;align-items:center;justify-content:space-between;width:100%}
.main-nav>ul{display:flex;align-items:center}
.main-nav>ul>li{position:relative}
.main-nav>ul>li>a{display:flex;align-items:center;gap:.3rem;padding:0 10px;height:var(--h2);font-size:.8rem;font-weight:600;color:rgba(255,255,255,.88);white-space:nowrap;transition:.15s;letter-spacing:-.01em}
.main-nav>ul>li>a .chev{font-size:8px;opacity:.7;transition:.2s}
.main-nav>ul>li:hover>a,.main-nav>ul>li.active>a{color:#fff;background:rgba(255,255,255,.12)}
.main-nav>ul>li.nav-eu>a{color:var(--al);font-weight:700}
.main-nav>ul>li:hover>a .chev{transform:rotate(180deg)}
/* DROPDOWN */
.nav-dd{position:absolute;top:100%;left:0;min-width:230px;background:var(--w);border-radius:0 0 var(--rl) var(--rl);border:1px solid var(--borderl);border-top:3px solid var(--a);box-shadow:var(--shh);opacity:0;visibility:hidden;transform:translateY(6px);transition:.2s;z-index:300}
.main-nav>ul>li:hover .nav-dd{opacity:1;visibility:visible;transform:translateY(0)}
.nav-dd li a{display:flex;align-items:center;gap:.625rem;padding:9px 16px;font-size:.8125rem;font-weight:500;color:var(--t);transition:.15s;border-bottom:1px solid var(--borderl)}
.nav-dd li:last-child a{border-bottom:none}
.nav-dd li a:hover{background:var(--ps);color:var(--p);padding-left:20px}
.nav-dd li a img{width:20px;height:15px;border-radius:2px;object-fit:cover;flex-shrink:0}
.dd-price{font-size:.7rem;color:var(--ad);font-weight:700;margin-left:auto;background:var(--as);padding:2px 6px;border-radius:4px;white-space:nowrap}
.nav-cta-wrap{display:flex;align-items:center;gap:.5rem;flex-shrink:0;margin-left:.5rem}
.nav-burger{display:none;width:36px;height:36px;border-radius:8px;background:rgba(255,255,255,.15);border:none;color:#fff;font-size:1.1rem;align-items:center;justify-content:center;cursor:pointer}
/* HERO */
.hero{margin-top:calc(var(--h1) + var(--h2) + var(--h3));padding-top:0;position:relative;overflow:hidden;background:var(--pdd)}
.hero-slider{position:relative;min-height:520px;display:flex;align-items:center;overflow:hidden}
.slide{position:absolute;inset:0;width:100%;height:100%;display:flex;align-items:center;opacity:0;visibility:hidden;transition:opacity .75s ease,visibility .75s ease;pointer-events:none;z-index:1}
.slide.active{opacity:1;visibility:visible;pointer-events:auto;z-index:2}
.slide-inner{display:grid;grid-template-columns:1fr 340px;gap:2.5rem;align-items:center;width:100%;padding:3rem 0 3.5rem}
.slide-content{position:relative;z-index:2;max-width:680px}
.slide-visual{position:relative;z-index:2}
.slide-panel{background:rgba(255,255,255,.09);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.16);border-radius:20px;padding:1.35rem;box-shadow:0 24px 48px rgba(0,0,0,.25),inset 0 1px 0 rgba(255,255,255,.14)}
.slide-panel-h{font-size:.68rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:rgba(255,255,255,.65);margin-bottom:1rem;padding-bottom:.65rem;border-bottom:1px solid rgba(255,255,255,.1);display:flex;align-items:center;gap:.4rem}
.slide-panel-row{display:flex;align-items:center;justify-content:space-between;padding:.5rem 0;border-bottom:1px solid rgba(255,255,255,.07)}
.slide-panel-row:last-of-type{border-bottom:none;padding-bottom:0}
.slide-panel-flag{display:flex;align-items:center;gap:.5rem;font-size:.8125rem;font-weight:600;color:rgba(255,255,255,.92)}
.slide-panel-flag img{width:22px;height:16px;border-radius:3px;box-shadow:0 1px 4px rgba(0,0,0,.3)}
.slide-panel-price{font-size:.72rem;font-weight:700;color:var(--al);background:rgba(212,165,32,.18);border:1px solid rgba(212,165,32,.25);padding:2px 9px;border-radius:4px;white-space:nowrap}
.slide-stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:.625rem;margin-bottom:.875rem}
.slide-stat-box{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.12);border-radius:10px;padding:.75rem .625rem;text-align:center}
.slide-stat-val{font-family:var(--fd);font-size:1.4rem;font-weight:800;color:#fff;line-height:1}
.slide-stat-lbl{font-size:.62rem;color:rgba(255,255,255,.6);margin-top:.25rem;line-height:1.3}
.slide-tag{display:inline-flex;align-items:center;gap:.4rem;font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--al);background:rgba(212,165,32,.18);border:1px solid rgba(212,165,32,.3);padding:5px 14px;border-radius:var(--rf);margin-bottom:1.25rem}
.slide-h1{font-family:var(--fd);font-size:clamp(2rem,4.2vw,3.5rem);font-weight:800;color:#fff;line-height:1.15;margin-bottom:1.15rem;letter-spacing:-.025em}
.slide-h1 em{font-style:normal;color:var(--al)}
.slide-desc{font-size:1.05rem;color:rgba(255,255,255,.85);line-height:1.65;margin-bottom:1.75rem;max-width:540px}
.slide-btns{display:flex;gap:1rem;flex-wrap:wrap}
.slide-badges{display:flex;gap:.75rem;margin-top:1.25rem;flex-wrap:wrap}
.badge{display:inline-flex;align-items:center;gap:.35rem;font-size:.72rem;font-weight:600;color:rgba(255,255,255,.9);background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);padding:5px 12px;border-radius:var(--rf);backdrop-filter:blur(8px)}
.badge i{font-size:11px}
.hero-arr{position:absolute;top:50%;transform:translateY(-50%);z-index:10;width:46px;height:46px;min-width:46px;min-height:46px;max-width:46px;max-height:46px;aspect-ratio:1/1;padding:0;margin:0;border-radius:50%;background:rgba(255,255,255,.18);border:1.5px solid rgba(255,255,255,.35);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:.25s;font-size:.875rem;box-sizing:border-box;flex-shrink:0;-webkit-appearance:none;appearance:none;outline:none}
.hero-arr:hover{background:var(--a);border-color:var(--a)}
#prev-btn{left:1.5rem}#next-btn{right:1.5rem}
.slider-dots{position:absolute;bottom:1.25rem;left:50%;transform:translateX(-50%);display:flex;gap:.5rem;z-index:10;align-items:center}
.dot{width:10px;height:10px;min-width:10px;min-height:0;max-height:10px;border-radius:50%;background:rgba(255,255,255,.35);border:none;padding:0;margin:0;cursor:pointer;transition:.3s;flex-shrink:0;display:flex;align-items:center;justify-content:center;-webkit-appearance:none;appearance:none;outline:none;overflow:hidden;box-sizing:border-box}
.dot.active{width:28px;min-width:28px;border-radius:5px;background:var(--al)}
@media(max-width:1024px){.slide-inner{grid-template-columns:1fr;gap:0;padding:2.5rem 0 3rem}.slide-visual{display:none}}
/* STATS */
.stats-bar{background:var(--w);border-top:1px solid var(--borderl);box-shadow:0 8px 32px rgba(23,87,209,.12);position:relative;z-index:5}
.stats-bar .container{display:grid;grid-template-columns:repeat(4,1fr)}
.stat-item{padding:1.5rem;text-align:center;position:relative}
.stat-item:not(:last-child)::after{content:'';position:absolute;right:0;top:20%;bottom:20%;width:1px;background:var(--border)}
.stat-n{font-family:var(--fd);font-size:2.375rem;font-weight:800;color:var(--p);line-height:1;letter-spacing:-.03em}
.stat-n sup{font-size:.55em;vertical-align:super}
.stat-l{font-size:.8rem;color:var(--tm);font-weight:500;margin-top:6px;display:flex;align-items:center;justify-content:center;gap:.35rem}
.stat-l i{font-size:11px;color:var(--p);opacity:.6}
/* PROGRAMS */
.prog-card{background:var(--w);border:1px solid var(--borderl);border-radius:var(--rl);overflow:hidden;box-shadow:0 2px 12px rgba(23,87,209,.07);transition:.3s;position:relative;display:flex;flex-direction:column}
.prog-card:hover{transform:translateY(-6px);box-shadow:var(--shh);border-color:var(--p100)}
.prog-badge{position:absolute;top:.875rem;right:.875rem;z-index:2;font-size:.65rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:3px 10px;border-radius:var(--rf)}
.b-hot{background:#FEE2E2;color:#DC2626;border:1px solid #FECACA}
.b-pop{background:var(--as);color:var(--ad);border:1px solid rgba(200,151,32,.25)}
.b-new{background:var(--okbg);color:var(--ok);border:1px solid #A7F3D0}
.prog-img{height:175px;background:var(--gp);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}
.prog-img i{font-size:3.5rem;color:rgba(255,255,255,.12)}
.prog-img-overlay{position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(7,19,42,.55))}
.prog-flag{position:absolute;bottom:.875rem;left:.875rem;display:flex;align-items:center;gap:.4rem;color:#fff;font-size:.8rem;font-weight:600;z-index:2}
.prog-flag img{width:24px;height:18px;border-radius:3px;box-shadow:0 2px 4px rgba(0,0,0,.3)}
.prog-body{padding:1.25rem;flex:1;display:flex;flex-direction:column}
.prog-type{display:inline-flex;align-items:center;gap:.25rem;font-size:.65rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--p);background:var(--ps);padding:3px 10px;border-radius:var(--rf);margin-bottom:.75rem;width:fit-content}
.prog-title{font-size:1.0625rem;font-weight:700;color:var(--td);margin-bottom:.5rem;line-height:1.35}
.prog-desc{font-size:.8125rem;color:var(--tm);line-height:1.6;margin-bottom:1rem;flex:1}
.prog-meta{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;padding:.875rem 0;border-top:1px solid var(--borderl);border-bottom:1px solid var(--borderl);margin-bottom:1rem}
.m-lbl{font-size:.65rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--tl);margin-bottom:3px}
.m-val{font-size:.875rem;font-weight:700;color:var(--td)}.m-val.hi{color:var(--p)}
.prog-footer{display:flex;align-items:center;justify-content:space-between;gap:.75rem}
.prog-link{font-size:.875rem;font-weight:600;color:var(--p);display:flex;align-items:center;gap:.35rem;transition:.15s}
.prog-link:hover{gap:.6rem}
.tabs{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:2.5rem}
.tab{display:flex;align-items:center;gap:.5rem;padding:9px 20px;font-size:.875rem;font-weight:600;color:var(--tm);background:var(--w);border:1.5px solid var(--border);border-radius:var(--rf);cursor:pointer;transition:.2s}
.tab img{width:22px;height:16px;border-radius:2px;object-fit:cover}
.tab-badge{font-size:.6rem;background:rgba(212,165,32,.15);color:var(--ad);padding:2px 6px;border-radius:4px;font-weight:700}
.tab:hover{color:var(--p);background:var(--ps);border-color:var(--p100)}
.tab.active{color:#fff;background:var(--gp);border-color:transparent;box-shadow:0 4px 14px rgba(24,71,170,.3)}
.tab.active .tab-badge{background:rgba(255,255,255,.2);color:#fff}
.tab-panel{display:none;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.tab-panel.active{display:grid}
@media(max-width:768px){.tab-panel.active{grid-template-columns:1fr}}
/* WHY US */
.why-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}
.why-feats{display:flex;flex-direction:column;gap:.875rem}
.feat{display:flex;gap:1rem;padding:1.25rem;background:var(--w);border:1px solid var(--borderl);border-radius:var(--rl);box-shadow:0 1px 4px rgba(23,87,209,.05);transition:.25s}
.feat:hover{box-shadow:var(--sh);border-color:var(--p100);transform:translateX(4px)}
.feat-icon{width:48px;height:48px;border-radius:var(--r);background:var(--gp);display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.25rem;flex-shrink:0;box-shadow:0 4px 14px rgba(24,71,170,.3)}
.feat-icon.ac{background:var(--ga);box-shadow:0 4px 14px rgba(200,151,32,.35)}
.feat-title{font-size:.9375rem;font-weight:700;color:var(--td);margin-bottom:3px}
.feat-desc{font-size:.8125rem;color:var(--tm);line-height:1.55}
.why-visual{position:relative}
.why-img-wrap{border-radius:var(--rxl);overflow:hidden;aspect-ratio:4/5;background:linear-gradient(135deg,#0C1E40,#1847AA 55%,#C8973A);display:flex;align-items:center;justify-content:center;box-shadow:0 24px 64px rgba(24,71,170,.25);position:relative}
.why-img-wrap i{font-size:8rem;color:rgba(255,255,255,.1)}
.float-card{position:absolute;background:var(--w);border-radius:var(--rl);padding:1rem 1.25rem;box-shadow:0 16px 48px rgba(24,71,170,.18);border:1px solid var(--borderl)}
.fc1{bottom:2rem;left:-2rem;animation:float 3s ease-in-out infinite alternate}
.fc2{top:2.5rem;right:-2rem;animation:float 3s ease-in-out infinite alternate .6s}
@keyframes float{0%{transform:translateY(0)}100%{transform:translateY(-8px)}}
.fc-n{font-family:var(--fd);font-size:1.5rem;font-weight:800;color:var(--p);line-height:1}
.fc-l{font-size:.75rem;color:var(--tm);font-weight:500;margin-top:2px}
.fc-icon{width:36px;height:36px;border-radius:8px;background:var(--ga);display:flex;align-items:center;justify-content:center;color:var(--pdd);font-size:16px;margin-bottom:.5rem}
/* PROJECTS */
.proj-hd{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;margin-bottom:2.5rem}
.proj-ctrl{display:flex;gap:.75rem}
.ctrl-btn{width:42px;height:42px;min-width:42px;min-height:42px;border-radius:50%;border:1.5px solid var(--border);background:var(--w);display:flex;align-items:center;justify-content:center;color:var(--tm);cursor:pointer;transition:.2s;font-size:.875rem;flex-shrink:0;-webkit-appearance:none;appearance:none;box-sizing:border-box;line-height:1;overflow:hidden;padding:0}
.ctrl-btn:hover{background:var(--p);border-color:var(--p);color:#fff;box-shadow:0 4px 12px rgba(23,87,209,.3)}
.proj-slider-wrap{overflow:hidden;padding:0.5rem 0.25rem 1.5rem;margin:-0.5rem -0.25rem -1.5rem}
.proj-track{display:flex;gap:1.5rem;transition:transform .5s cubic-bezier(.4,0,.2,1)}
.proj-card{flex:0 0 calc(33.333% - 1rem);background:var(--w);border:1px solid var(--borderl);border-radius:var(--rl);overflow:hidden;box-shadow:0 2px 12px rgba(23,87,209,.07);transition:.3s}
.proj-card:hover{transform:translateY(-4px);box-shadow:var(--shh);border-color:var(--p100)}
.proj-img{height:210px;display:flex;align-items:center;justify-content:center;position:relative}
.proj-img i{font-size:3rem;color:rgba(255,255,255,.2)}
.proj-status{position:absolute;top:.75rem;left:.75rem;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:3px 10px;border-radius:var(--rf)}
.s-open{background:var(--okbg);color:var(--ok);border:1px solid #6EE7B7}
.proj-body{padding:1.25rem}
.proj-loc{display:flex;align-items:center;gap:.35rem;font-size:.72rem;font-weight:700;color:var(--tm);text-transform:uppercase;letter-spacing:.06em;margin-bottom:.4rem}
.proj-title{font-size:1.0625rem;font-weight:700;color:var(--td);margin-bottom:.875rem;line-height:1.35}
.proj-meta{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;padding:.875rem 0;border-top:1px solid var(--borderl);border-bottom:1px solid var(--borderl);margin-bottom:.875rem}
.proj-footer{display:flex;align-items:center;justify-content:space-between}
/* TESTIMONIALS */
.testi-track{display:flex;gap:1.5rem;transition:transform .5s cubic-bezier(.4,0,.2,1)}
.testi-card{flex:0 0 calc(50% - .75rem);background:var(--w);border:1px solid var(--borderl);border-radius:var(--rl);padding:2rem;box-shadow:0 2px 12px rgba(23,87,209,.07);position:relative;transition:.25s}
.testi-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--gp);border-radius:var(--rl) var(--rl) 0 0}
.testi-card:hover{box-shadow:var(--sh);border-color:var(--p100)}
.stars{display:flex;gap:3px;margin-bottom:1rem}
.stars i{color:var(--a);font-size:13px}
.testi-quote{font-size:.9375rem;color:var(--t);line-height:1.65;margin-bottom:1.5rem;font-style:italic}
.testi-author{display:flex;align-items:center;gap:1rem;padding-top:1.25rem;border-top:1px solid var(--borderl)}
.av{width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.25rem;font-weight:700;color:#fff;flex-shrink:0;font-family:var(--fd)}
.a-name{font-weight:700;color:var(--td)}
.a-prog{font-size:.8125rem;color:var(--p);font-weight:500;display:flex;align-items:center;gap:.3rem}
.a-loc{font-size:.75rem;color:var(--tm);display:flex;align-items:center;gap:.3rem;margin-top:2px}
.testi-ctrl{display:flex;align-items:center;justify-content:center;gap:.75rem;margin-top:2rem}
.testi-dots{display:none !important}
@media(max-width:1100px){.why-grid{grid-template-columns:1fr}.why-visual{display:none}.proj-card{flex:0 0 calc(50% - .75rem)}.testi-card{flex:0 0 calc(100% - .75rem)}}
@media(max-width:768px){.proj-card{flex:0 0 calc(100% - .75rem)}}
/* TRUST STRIP (REMOVED) */
/* BLOG */
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.blog-card{background:var(--w);border:1px solid var(--borderl);border-radius:var(--rl);overflow:hidden;box-shadow:0 2px 12px rgba(23,87,209,.07);transition:.3s;display:flex;flex-direction:column}
.blog-card:hover{transform:translateY(-4px);box-shadow:var(--shh);border-color:var(--p100)}
.blog-img{height:195px;display:flex;align-items:center;justify-content:center;position:relative}
.blog-img i{font-size:2.5rem;color:rgba(255,255,255,.2)}
.blog-cat{position:absolute;bottom:.75rem;left:.75rem;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#fff;background:var(--p);padding:3px 10px;border-radius:var(--rf)}
.blog-body{padding:1.25rem;flex:1;display:flex;flex-direction:column}
.blog-meta{display:flex;gap:.75rem;font-size:.75rem;color:var(--tm);margin-bottom:.75rem}
.blog-meta span{display:flex;align-items:center;gap:.3rem}
.blog-title{font-size:1.0625rem;font-weight:700;color:var(--td);margin-bottom:.5rem;line-height:1.4;flex:1}
.blog-title a{color:inherit;transition:.15s}.blog-title a:hover{color:var(--p)}
.blog-ex{font-size:.8125rem;color:var(--tm);line-height:1.6;margin-bottom:1rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.blog-foot{display:flex;align-items:center;justify-content:space-between;padding-top:1rem;border-top:1px solid var(--borderl);margin-top:auto}
.blog-av{width:28px;height:28px;border-radius:50%;background:var(--gp);display:flex;align-items:center;justify-content:center;color:#fff;font-size:.7rem;font-weight:700}
.blog-aname{font-size:.75rem;font-weight:600;color:var(--td)}
.read-more{font-size:.8125rem;font-weight:600;color:var(--p);display:flex;align-items:center;gap:.25rem;transition:.15s}
.read-more:hover{gap:.5rem}
/* SHARE BUTTONS */
.post-share{display:flex;align-items:center;gap:.75rem;padding:1.25rem 0;border-top:1px solid var(--borderl);margin-top:1.5rem;flex-wrap:wrap}
.post-share span{font-size:.8rem;font-weight:700;color:var(--tm)}
.share-btn{width:40px;height:40px;min-width:40px;min-height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.9rem;color:#fff;transition:.25s;text-decoration:none;flex-shrink:0;-webkit-appearance:none;appearance:none;border:none;cursor:pointer;box-sizing:border-box;line-height:1;overflow:hidden}
.share-btn:hover{transform:translateY(-3px);box-shadow:0 6px 16px rgba(0,0,0,.18);color:#fff}
.share-fb{background:#1877F2}.share-tw{background:#000}.share-zl{background:#0068FF}.share-li{background:#0A66C2}.share-cp{background:var(--p)}
.share-fb{background:#1877F2}.share-tw{background:#000}.share-zl{background:#0068FF}.share-li{background:#0A66C2}.share-cp{background:var(--p)}
/* SIDEBAR BOX */
.sdb-box{background:var(--w);border:1.5px solid var(--borderl);border-radius:var(--rl);padding:1.25rem;margin-bottom:1.25rem}
.sdb-box h4{font-family:var(--fd);font-size:.875rem;font-weight:800;color:var(--td);margin-bottom:.875rem;display:flex;align-items:center;gap:.4rem}
.sdb-box h4 i{color:var(--p);font-size:.8rem}
/* BLOG CONSULT BOTTOM */
.blog-post-cta{background:var(--gpa);border-radius:var(--rl);padding:2rem;margin-top:2.5rem;display:grid;grid-template-columns:1fr auto;gap:1.5rem;align-items:center}
.blog-post-cta h3{font-family:var(--fd);font-size:1.125rem;font-weight:800;color:#fff;margin-bottom:.375rem}
.blog-post-cta p{font-size:.875rem;color:rgba(255,255,255,.7);line-height:1.55}
@media(max-width:640px){.blog-post-cta{grid-template-columns:1fr}}
/* CTA */
.cta-section{background:#002da2;padding:5rem 0;position:relative;overflow:hidden}
.cta-section::before{content:'';position:absolute;top:-200px;right:-100px;width:500px;height:500px;border-radius:50%;background:rgba(255,255,255,.04);pointer-events:none}
.cta-section::after{content:'';position:absolute;bottom:-100px;left:-100px;width:350px;height:350px;border-radius:50%;background:rgba(212,165,32,.12);pointer-events:none}
.cta-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center;position:relative;z-index:2}
.cta-label{display:flex;align-items:center;gap:.4rem;font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--al);margin-bottom:1rem}
.cta-title{font-family:var(--fd);font-size:clamp(1.75rem,3vw,2.75rem);font-weight:800;color:#fff;line-height:1.2;margin-bottom:1.25rem;letter-spacing:-.025em}
.cta-desc{font-size:1.0625rem;color:rgba(255,255,255,.8);line-height:1.65;margin-bottom:1.75rem}
.cta-feats{display:flex;flex-direction:column;gap:.75rem;margin-bottom:2rem}
.cta-feat{display:flex;align-items:center;gap:.75rem;font-size:.875rem;color:rgba(255,255,255,.9)}
.cta-feat i{color:var(--al);font-size:.9rem;flex-shrink:0}
.cta-btns{display:flex;gap:1rem;flex-wrap:wrap}
.form-card{background:#fff;border-radius:var(--rxl);padding:2rem;box-shadow:0 24px 64px rgba(0,45,162,.25)}
.form-card h3{font-size:1.25rem;font-weight:700;color:var(--td);margin-bottom:.25rem}
.form-card>p{font-size:.875rem;color:var(--tm);margin-bottom:1.5rem}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.form-group{margin-bottom:1rem}
.form-lbl{display:block;font-size:.875rem;font-weight:600;color:var(--td);margin-bottom:.4rem}
.form-ctrl{width:100%;padding:11px 14px;font-size:.875rem;font-family:'Inter','Be Vietnam Pro',sans-serif;color:var(--td);background:var(--bg);border:1.5px solid var(--border);border-radius:var(--r);outline:none;transition:.15s;appearance:none}
.form-ctrl:focus{border-color:var(--p);background:#fff;box-shadow:0 0 0 3px rgba(0,45,162,.1)}
.form-sel{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%236B7A99' stroke-width='2' d='M4 6l4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:16px;padding-right:36px;cursor:pointer}
/* FOOTER */
footer{color:rgba(255,255,255,.82);padding-top:0}
.foot-main{border-bottom:none;padding-bottom:0;background:#002da2}
.foot-grid{display:grid;grid-template-columns:1.8fr 1fr 1fr 1fr;gap:3rem}
.foot-logo-name{font-family:var(--fd);font-size:1.25rem;font-weight:800;color:#fff;letter-spacing:-.02em}
.foot-logo-tag{font-size:.6rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--al)}
.foot-desc{font-size:.8125rem;color:rgba(255,255,255,.92);line-height:1.65;margin:1rem 0}
.foot-contact{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.25rem}
.fc-item{display:flex;align-items:flex-start;gap:.625rem;font-size:.8125rem;color:rgba(255,255,255,.78)}
.fc-item i{color:var(--al);font-size:13px;margin-top:2px;flex-shrink:0}
.fc-item a{color:rgba(255,255,255,.88);transition:.15s}.fc-item a:hover{color:var(--al)}
.foot-social{display:flex;gap:.5rem;align-items:center}
.foot-soc-a{width:38px;height:38px;min-width:38px;min-height:38px;border-radius:50%;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.22);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.82);font-size:14px;transition:.2s;flex-shrink:0;align-self:center;box-sizing:border-box}
.foot-soc-a:hover{background:var(--a);border-color:var(--a);color:var(--pdd);transform:translateY(-3px);box-shadow:0 6px 16px rgba(212,165,32,.45)}
.foot-col h4{color:#fff;font-size:.8rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;margin-bottom:1.25rem;padding-bottom:.625rem;position:relative}
.foot-col h4::after{content:'';position:absolute;bottom:0;left:0;width:28px;height:2px;background:var(--al);border-radius:2px}
.foot-links{display:flex;flex-direction:column;gap:.625rem}
.foot-links a{font-size:.8125rem;color:rgba(255,255,255,.88);display:flex;align-items:center;gap:.4rem;transition:.15s}
.foot-links a:hover{color:#fff;gap:.65rem}
.foot-links a i{font-size:9px;opacity:.65}
.foot-bottom{padding:1.25rem 0;background:rgba(0,0,0,.25);width:100%;margin-top:0}
.foot-bottom .container{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1.5rem}
.foot-copy{font-size:.78rem;color:rgba(255,255,255,.75)}
.foot-certs{display:flex;gap:.75rem}
.foot-cert{padding:3px 10px;border-radius:var(--rf);border:1px solid rgba(255,255,255,.22);font-size:.65rem;font-weight:600;color:rgba(255,255,255,.65);text-transform:uppercase;letter-spacing:.06em}
.foot-legal{display:flex;align-items:center;gap:.85rem}
.foot-legal a{font-size:.78rem;color:rgba(255,255,255,.7);transition:.15s;text-decoration:none}.foot-legal a:hover{color:#fff}
.foot-google-badge:hover{transform:translateY(-2px);box-shadow:0 6px 18px rgba(0,0,0,.35)}
@media(max-width:991px){
  .foot-bottom .container{flex-direction:column;justify-content:center;text-align:center;gap:1rem}
  .foot-bottom-left,.foot-bottom-center,.foot-bottom-right{justify-content:center}
}
.btt{position:fixed;bottom:20px;right:33px;width:44px;height:44px;border-radius:50%;background:var(--p);color:#fff;border:none;cursor:pointer;font-size:.9rem;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 20px rgba(0,45,162,.38);z-index:998;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(12px);transition:all .3s ease;outline:none}
.btt.show{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}.btt:hover{background:#002482;transform:translateY(-3px);box-shadow:0 8px 24px rgba(0,45,162,.5)}.btt i{pointer-events:none}

.gi-fab-wrap{position:fixed;bottom:2.5rem;right:2rem;z-index:999;display:flex;flex-direction:column-reverse;align-items:center;gap:.625rem}
.gi-fab-toggle{width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,#e53935,#c62828);color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 22px rgba(229,57,53,.5),0 2px 8px rgba(0,0,0,.15);position:relative;outline:none;transition:transform .25s ease,background .25s ease}
.gi-fab-toggle:hover{transform:scale(1.06)}
.gi-fab-icon-default{font-size:1.35rem;display:flex;align-items:center;justify-content:center;transition:transform .3s ease,opacity .25s ease}
.gi-fab-icon-close{position:absolute;font-size:1.45rem;display:none;transition:transform .3s ease,opacity .25s ease}
.gi-fab-wrap.active .gi-fab-toggle{background:#c62828;box-shadow:0 6px 20px rgba(0,0,0,.35)}
.gi-fab-wrap.active .gi-fab-icon-default{display:none}
.gi-fab-wrap.active .gi-fab-icon-close{display:flex}
/* Pulsing wave rings */
.gi-fab-pulse{position:absolute;inset:-6px;border-radius:50%;border:2px solid rgba(229,57,53,.65);animation:giFabPulse 2s infinite ease-out;pointer-events:none}
.gi-fab-pulse-2{animation-delay:.75s}
.gi-fab-wrap.active .gi-fab-pulse{display:none}
@keyframes giFabPulse{
  0%{transform:scale(.95);opacity:1}
  100%{transform:scale(1.55);opacity:0}
}
/* Sub-menu buttons */
.gi-fab-menu{display:flex;flex-direction:column-reverse;align-items:center;gap:.625rem;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(16px) scale(.85);transition:opacity .25s ease,transform .25s cubic-bezier(0.16,1,0.3,1),visibility .25s}
.gi-fab-wrap.active .gi-fab-menu{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0) scale(1)}
.gi-fab-btn{width:46px;height:46px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.15rem;box-shadow:0 4px 14px rgba(0,0,0,.22);transition:transform .2s ease,box-shadow .2s ease;text-decoration:none;position:relative}
.gi-fab-btn:hover{transform:scale(1.12);color:#fff;box-shadow:0 6px 18px rgba(0,0,0,.3)}
.gi-fab-phone{background:linear-gradient(135deg,#F5A800,#FF9100)}
.gi-fab-zalo{background:linear-gradient(135deg,#0088FF,#0066FF)}
.gi-fab-messenger{background:linear-gradient(135deg,#0084FF,#00C6FF)}
.gi-fab-map{background:linear-gradient(135deg,#EA4335,#D32F2F)}
.gi-zalo-badge{font-size:.72rem;font-weight:900;letter-spacing:-.02em;font-family:sans-serif;line-height:1}
/* Tooltips */
.gi-fab-tooltip{position:absolute;right:56px;background:rgba(7,19,42,.92);color:#fff;padding:4px 10px;border-radius:6px;font-size:.75rem;font-weight:600;white-space:nowrap;pointer-events:none;opacity:0;transform:translateX(6px);transition:opacity .2s,transform .2s;box-shadow:0 2px 8px rgba(0,0,0,.2)}
.gi-fab-btn:hover .gi-fab-tooltip{opacity:1;transform:translateX(0)}
@media(max-width:768px){
  /* Floating contact speed-dial placed bottom-right */
  .gi-fab-wrap{bottom:calc(20px + env(safe-area-inset-bottom, 0px))!important;right:16px!important;z-index:9999!important}
  .gi-fab-toggle{width:52px;height:52px}
  .gi-fab-btn{width:44px;height:44px;font-size:1.05rem}
  .gi-fab-tooltip{display:none!important}
  
  /* Back-To-Top button placed bottom-left so it NEVER collides with or overlaps the contact FAB */
  .btt{bottom:calc(20px + env(safe-area-inset-bottom, 0px))!important;left:16px!important;right:auto!important;width:42px!important;height:42px!important;z-index:9990!important}
}
/* RESPONSIVE HEADER */
.mob-burger{display:none}
@media(max-width:1100px){.hdr-info-bar{display:none}.cta-grid{grid-template-columns:1fr}}
@media(max-width:768px){
  :root{--h1:60px;--h2:0px;--h3:0px}
  .hdr-announce{display:none!important}
  .hdr-nav-bar,.nav-burger{display:none!important}
  .main-nav,.nav-cta-wrap{display:none!important}
  .hdr-quick-nav,.hdr-right{display:none!important}

  /* Fixed sticky header on mobile, NEVER translated off screen */
  .site-header{position:fixed!important;top:0!important;left:0!important;right:0!important;z-index:999!important;transform:none!important;box-shadow:0 2px 12px rgba(0,25,80,.25)!important}
  .site-header.scrolled{transform:none!important;box-shadow:0 4px 20px rgba(0,25,80,.35)!important}
  .site-header.scrolled .hdr-nav-bar{display:none!important}

  /* Mobile single header bar: brand blue, 60px height */
  .hdr-logo-bar{height:60px!important;background:linear-gradient(135deg,#002da2 0%,#001a66 100%)!important;border-bottom:none!important;box-shadow:none!important;display:flex!important;align-items:center!important;transition:none!important}
  .hdr-logo-bar::after{display:none!important}
  .hdr-logo-bar .container{display:flex!important;align-items:center!important;justify-content:space-between!important;width:100%!important;padding:0 1rem!important}

  /* Logo: always visible on the left */
  .hdr-logo-bar .logo{display:inline-flex!important;align-items:center!important;background:transparent!important;padding:0!important;box-shadow:none!important;text-decoration:none!important;margin-right:auto!important}
  .hdr-logo-bar .logo img{max-height:38px!important;width:auto!important;background:#ffffff!important;padding:3px 8px!important;border-radius:6px!important;box-shadow:0 1px 4px rgba(0,0,0,.15)!important;filter:none!important}
  .hdr-logo-bar .logo-icon{background:linear-gradient(135deg,#FFD000 0%,#F5A800 100%)!important}
  .hdr-logo-bar .logo-text .name{color:#ffffff!important}
  .hdr-logo-bar .logo-text .tag{color:rgba(255,255,255,.8)!important}

  /* Mobile burger menu: clean button on the right */
  .mob-burger{display:flex!important;align-items:center!important;justify-content:center!important;width:42px!important;height:42px!important;min-width:42px!important;min-height:42px!important;border-radius:8px!important;background:rgba(255,255,255,.16)!important;border:1px solid rgba(255,255,255,.25)!important;color:#ffffff!important;font-size:1.25rem!important;cursor:pointer!important;margin-left:auto!important;padding:0!important;line-height:1!important;-webkit-appearance:none!important;appearance:none!important;outline:none!important}
  .mob-burger i{color:#ffffff!important;font-size:1.25rem!important;line-height:1!important}
  .mob-burger:hover,.mob-burger:active{background:rgba(255,255,255,.28)!important}

  /* Safe display of all animated elements on mobile */
  [data-a]{opacity:1!important;transform:none!important;transition:none!important}

  .stats-bar .container{grid-template-columns:repeat(2,1fr)}.blog-grid{grid-template-columns:1fr}.form-row{grid-template-columns:1fr}.foot-grid{grid-template-columns:1fr}.foot-bottom .container{flex-direction:column;text-align:center}.foot-cta-bar .container{flex-direction:column;text-align:center}.foot-cta-left{flex-direction:column;text-align:center}.foot-cta-btns{justify-content:center}.foot-nl-form{width:100%}.foot-nl-inp{width:100%;min-width:0}.trust-strip .container{flex-direction:column;gap:.75rem}.trust-strip-lbl{border-right:none;border-bottom:1px solid rgba(255,255,255,.2);padding-right:0;padding-bottom:.625rem;width:100%;text-align:center}
}
@media(max-width:480px){.container{padding:0 1.25rem}.section{padding:4rem 0}}
/* ══ MOBILE OPTIMIZATION ══ */
/* Announcement bar */
@media(max-width:600px){.hdr-announce .container{gap:.75rem}.ann-text:nth-child(3),.ann-sep:nth-child(4),.ann-text:nth-child(5),.ann-sep:nth-child(6){display:none}}
/* Hero */
@media(max-width:768px){.slide-h1{font-size:clamp(1.6rem,6vw,2.5rem)}.slide-desc{font-size:.9rem}.slide-btns{gap:.625rem}.slide-btns .btn{padding:10px 18px;font-size:.82rem}.slide-badges{gap:.4rem}.badge{font-size:.65rem;padding:4px 9px}}
/* Stats bar */
@media(max-width:480px){.stats-bar .stat-n{font-size:1.5rem}.stats-bar .stat-l{font-size:.62rem}}
/* Programs section */
@media(max-width:768px){.tab-nav{overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;flex-wrap:nowrap}.tab-nav::-webkit-scrollbar{display:none}}
/* Projects slider */
@media(max-width:480px){.proj-card{flex:0 0 calc(100% - .5rem)}}
/* Footer */
@media(max-width:480px){.foot-prefooter .container{grid-template-columns:1fr 1fr}.fpf-val{font-size:1.5rem}}
/* ── SUB-PAGE HERO ── */
.sp-hero{padding:calc(var(--h1) + var(--h2) + var(--h3) + 3rem) 0 3rem;background:var(--gpa);position:relative;overflow:hidden}
.sp-hero::after{content:'';position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.03'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E")}
.sp-hero-content{position:relative;z-index:2;display:flex;flex-direction:column;align-items:flex-start;gap:.75rem}
.sp-breadcrumb{display:inline-flex;align-items:center;flex-wrap:wrap;gap:.4rem;font-size:.8125rem;line-height:1.4;color:rgba(255,255,255,.65);margin-bottom:.5rem}
.sp-breadcrumb a{display:inline-flex;align-items:center;min-height:unset !important;height:auto !important;padding:0 !important;color:rgba(255,255,255,.8);text-decoration:none;transition:.15s;line-height:inherit}
.sp-breadcrumb a:hover{color:#fff;text-decoration:underline}
.sp-breadcrumb span{display:inline-flex;align-items:center;min-height:unset !important;height:auto !important;color:rgba(255,255,255,.45);line-height:inherit}
.sp-breadcrumb .bc-sep{color:rgba(255,255,255,.35);margin:0 2px}
.sp-breadcrumb .bc-current,.sp-breadcrumb span:last-child{color:var(--al, #FFD000);font-weight:600}
.sp-hero-h1{font-family:var(--fd);font-size:clamp(2rem,4vw,3rem);font-weight:800;color:#fff;letter-spacing:-.025em;line-height:1.2;margin:0}
.sp-hero-h1 em{font-style:normal;color:var(--al)}
.sp-hero-sub{font-size:1.05rem;color:rgba(255,255,255,.8);max-width:560px;line-height:1.6}
.sp-hero-tags{display:flex;gap:.5rem;flex-wrap:wrap}
.sp-hero-tag{display:inline-flex;align-items:center;gap:.3rem;font-size:.72rem;font-weight:600;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);color:rgba(255,255,255,.9);padding:4px 12px;border-radius:var(--rf);backdrop-filter:blur(6px)}
/* Sub-page heroes */
@media(max-width:768px){.sp-hero-sub{font-size:.9rem}.sp-hero-tags{gap:.375rem}.sp-hero-tag{font-size:.68rem;padding:3px 9px}}
/* Blog layout responsive */
@media(max-width:992px){
  .blog-layout{grid-template-columns:1fr !important;gap:2.5rem !important}
}
@media(max-width:768px){
  .blog-grid{grid-template-columns:1fr !important}
}
/* Program detail */
@media(max-width:768px){.pgd-layout{grid-template-columns:1fr}.pgd-hero-stats .pgd-hstat{padding:.75rem}.pgd-timeline::before{left:14px}}
/* Project detail */
@media(max-width:768px){.pd2-layout{grid-template-columns:1fr}.pd2-gallery{grid-template-columns:1fr;grid-template-rows:220px}.pd2-gal-sm{display:none}}
/* About */
@media(max-width:768px){.about-intro{grid-template-columns:1fr}.team-grid-6{grid-template-columns:1fr 1fr}.awards-grid{grid-template-columns:1fr}}
/* Contact */
@media(max-width:768px){.contact-hero-stats{grid-template-columns:1fr !important}}
/* Partners */
@media(max-width:480px){.partner-logo{padding:.625rem 1rem;font-size:.75rem}}
/* Touch targets — all interactive elements min 48px (WCAG 2.5.5) */
a,button{min-height:44px}
@media(max-width:768px){
  /* Tap targets 48px */
  .btn{min-height:48px;padding-left:20px;padding-right:20px}
  .btn-sm{min-height:44px}
  .pgd-nav-a,.pd2-snav a,.proj-tab,.pf-btn{min-height:48px;padding:0 14px}
  .bf-btn,.page-num{min-height:44px;min-width:44px}
  /* iOS: prevent auto-zoom on input focus (font-size must be ≥16px) */
  input,select,textarea{font-size:16px!important}
  /* Thumb zone: float CTA bottom-aligned, enough padding */
  .float-cta{bottom:1.5rem;right:1rem}
  .float-btn{width:52px;height:52px;font-size:1.25rem}
  /* Nav burger: bigger tap area */
  .nav-burger{min-width:48px;min-height:48px}
}
/* Print */
@media print{.site-header,.float-cta,.btt,.hdr-announce{display:none!important}}
/* ── NAV BUTTON PULSE ── */
.nav-cta-wrap .btn{animation:navPulse 2.5s ease-in-out infinite}
@keyframes navPulse{0%,100%{box-shadow:0 3px 14px rgba(245,196,0,.55)}50%{box-shadow:0 6px 28px rgba(245,196,0,.85),0 0 0 5px rgba(245,196,0,.15)}}
/* ── PROGRAMS PAGE ── */
.prog-hero{background:linear-gradient(135deg,#051026 0%,#09183d 50%,#002da2 100%);color:#fff;padding:calc(var(--h1) + var(--h2) + var(--h3) + 2.5rem) 0 2.5rem;position:relative;overflow:hidden}
.prog-hero::after{content:'';position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.03'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");pointer-events:none}
.prog-cover-bg{position:absolute;right:0;top:0;bottom:0;width:60%;pointer-events:none;z-index:1;overflow:hidden}
.prog-cover-glow{position:absolute;top:50%;right:10%;transform:translateY(-50%);width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(0,229,255,.2) 0%,rgba(1,79,249,.15) 50%,transparent 70%)}
.prog-cover-globe{position:absolute;inset:0;display:flex;align-items:center;justify-content:flex-end}
.prog-hero .container{position:relative;z-index:2}
.prog-hero h1{font-family:var(--fd);font-size:clamp(2rem,4vw,3rem);font-weight:800;margin:.75rem 0 .5rem;letter-spacing:-.025em;line-height:1.2}
.prog-hero h1 em{font-style:normal;color:var(--al)}
.prog-hero p{font-size:1.05rem;color:rgba(255,255,255,.8);max-width:560px;line-height:1.65}
.prog-filter-wrap{position:sticky;top:calc(var(--h1) + var(--h2) + var(--h3));z-index:40;background:var(--w);border-bottom:1.5px solid var(--border);padding:.75rem 0}
.prog-filter-bar{display:flex;flex-wrap:wrap;gap:.5rem;padding:1rem 0}
.pf-btn{display:inline-flex;align-items:center;gap:.4rem;padding:8px 18px;border-radius:var(--rf);border:1.5px solid var(--border);background:var(--w);font-size:.8rem;font-weight:600;color:var(--tm);cursor:pointer;transition:.2s;line-height:1}
.pf-btn .pf-count{font-size:.68rem;background:var(--border);color:var(--tl);padding:1px 6px;border-radius:var(--rf);font-weight:700;transition:.2s}
.pf-btn:hover{background:var(--ps);color:var(--p);border-color:var(--p100)}
.pf-btn.active{background:var(--p);color:#fff;border-color:var(--p);box-shadow:0 4px 14px rgba(23,87,209,.3)}
.pf-btn.active .pf-count{background:rgba(255,255,255,.2);color:#fff}
.pcard-group-hd{grid-column:1/-1;display:flex;align-items:center;gap:.75rem;padding:.5rem 0;margin-top:.5rem}
.pcard-group-hd h3{font-family:var(--fd);font-size:.875rem;font-weight:700;color:var(--td)}
.pcard-group-hd::before{content:'';flex:1;height:1px;background:var(--border)}
.pcard-group-hd::after{content:'';flex:4;height:1px;background:var(--border)}
.programs-layout{display:grid;grid-template-columns:1fr 300px;gap:2rem;align-items:start;padding-bottom:5rem}
.prog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.125rem}
.pcard{background:var(--w);border-radius:var(--rl);border:1.5px solid var(--border);padding:1.125rem;cursor:pointer;transition:.25s;position:relative;overflow:hidden}
.pcard:hover{transform:translateY(-4px);box-shadow:var(--shh);border-color:var(--p100)}
.pcard-hot{position:absolute;top:.7rem;right:.7rem;background:linear-gradient(135deg,#E53935,#FF7043);color:#fff;font-size:.6rem;font-weight:700;padding:2px 7px;border-radius:var(--rf);letter-spacing:.06em;text-transform:uppercase}
.pcard-flag{width:52px;height:38px;border-radius:6px;object-fit:cover;margin-bottom:.75rem;box-shadow:0 2px 8px rgba(0,0,0,.12)}
.pcard-type{font-size:.66rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--p);margin-bottom:.25rem}
.pcard-name{font-family:var(--fd);font-size:.9375rem;font-weight:800;color:var(--td);margin-bottom:.2rem;line-height:1.2}
.pcard-sub{font-size:.76rem;color:var(--tm);margin-bottom:.75rem;line-height:1.4}
.pcard-meta{display:flex;flex-direction:column;gap:.3rem;margin-bottom:.875rem}
.pcard-meta-row{display:flex;align-items:center;gap:.45rem;font-size:.74rem;color:var(--tm)}
.pcard-meta-row i{color:var(--p);width:13px;text-align:center;font-size:.68rem;flex-shrink:0}
.pcard-price{font-family:var(--fd);font-size:1.05rem;font-weight:800;color:var(--ok);margin-bottom:.875rem}
.pcard-footer{display:flex;gap:.45rem}
.pcard-footer .btn{flex:1;justify-content:center;font-size:.75rem;padding:8px 10px}
/* Consult side */
.consult-side{position:sticky;top:calc(var(--h1) + var(--h2) + var(--h3) + 1rem)}
.csb-box{background:var(--w);border-radius:var(--rl);border:1.5px solid var(--border);padding:1.375rem;margin-bottom:1.25rem}
.csb-box.dark{background:var(--gpa);border-color:transparent}
.csb-title{font-family:var(--fd);font-size:.9375rem;font-weight:800;color:var(--td);margin-bottom:.875rem;display:flex;align-items:center;gap:.45rem}
.csb-title i{color:var(--p)}
.csb-box.dark .csb-title{color:#fff}.csb-box.dark .csb-title i{color:var(--al)}
.csb-form .frm-g{margin-bottom:.65rem}
.csb-form .frm-lbl{font-size:.73rem;font-weight:600;color:var(--tm);display:block;margin-bottom:.3rem}
.csb-form .frm-inp,.csb-form select,.csb-form textarea{width:100%;padding:9px 12px;border:1.5px solid var(--border);border-radius:var(--r);font-size:.81rem;color:var(--t);outline:none;transition:.2s;background:var(--w);font-family:inherit;resize:none}
.csb-form .frm-inp:focus,.csb-form select:focus,.csb-form textarea:focus{border-color:var(--p);box-shadow:0 0 0 3px rgba(23,87,209,.1)}
.csb-trust{display:flex;flex-direction:column;gap:.4rem;margin-top:.75rem}
.csb-trust-row{display:flex;align-items:center;gap:.4rem;font-size:.73rem;color:var(--tm)}
.csb-trust-row i{color:var(--ok);font-size:.65rem}
.prog-count-bar{font-size:.8125rem;color:var(--tm);margin-bottom:.875rem;font-weight:500}
.prog-count-bar strong{color:var(--p)}
@media(max-width:1020px){.programs-layout{grid-template-columns:1fr !important;gap:2.5rem !important}.consult-side{position:static}.prog-grid{grid-template-columns:repeat(2,1fr) !important}}
@media(max-width:900px){.prog-filter-wrap{top:62px!important;padding:.5rem 0 !important}.prog-filter-bar{display:flex!important;gap:.5rem!important;flex-wrap:nowrap!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch;padding-bottom:4px;scrollbar-width:none}.prog-filter-bar::-webkit-scrollbar{display:none}.pf-btn{flex-shrink:0!important;padding:7px 14px!important;font-size:.78rem!important;white-space:nowrap!important}}
@media(max-width:640px){.prog-grid{grid-template-columns:1fr !important;gap:1.25rem !important}}
/* ── PROJECT TABS ── */
.proj-tabs{display:flex;gap:0;overflow-x:auto}
.proj-tab{display:flex;align-items:center;gap:.4rem;padding:.75rem 1.25rem;font-size:.8125rem;font-weight:700;color:var(--tm);background:none;border:none;border-bottom:3px solid transparent;cursor:pointer;transition:.2s;white-space:nowrap;font-family:inherit}
.proj-tab img{width:18px;height:13px;object-fit:cover}
.proj-tab:hover{color:var(--p)}
.proj-tab.active{color:var(--p);border-bottom-color:var(--p)}
/* ── REAL ESTATE PAGE ── */
.re-hero{background:linear-gradient(135deg,#07132A 0%,#0C2240 55%,#1847AA 100%);color:#fff;padding:calc(var(--h1) + var(--h2) + var(--h3) + 2.5rem) 0 2.5rem;position:relative;overflow:hidden}
.re-hero::after{content:'';position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.03'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");pointer-events:none}
.re-hero .container{position:relative;z-index:2}
.re-hero h1{font-family:var(--fd);font-size:clamp(1.85rem,4vw,3.25rem);font-weight:800;margin:.75rem 0 .5rem;letter-spacing:-.025em;line-height:1.2}
.re-hero h1 em{font-style:normal;color:var(--al)}
.re-hero p{font-size:1.05rem;color:rgba(255,255,255,.8);max-width:600px;line-height:1.65}
.re-stats-bar{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);border-radius:var(--rl);padding:1.25rem 2rem;margin-top:2rem}
.re-stat-num{font-family:var(--fd);font-size:1.75rem;font-weight:800;color:var(--al);line-height:1.1}
.re-stat-lbl{font-size:.78rem;color:rgba(255,255,255,.7);margin-top:.25rem}
.re-filter-wrap{background:#fff;border-bottom:1px solid var(--borderl);position:sticky;top:calc(var(--h1) + var(--h2) + var(--h3));z-index:90;padding:.875rem 0}
.re-filter-bar{display:flex;align-items:center;gap:.625rem;flex-wrap:wrap}
.re-filter-btn{display:inline-flex;align-items:center;padding:8px 20px;border-radius:var(--rf);font-size:.8125rem;font-weight:700;text-decoration:none;transition:.2s;background:var(--bg);color:var(--t);border:1.5px solid var(--borderl)}
.re-filter-btn:hover{border-color:var(--p);color:var(--p)}
.re-filter-btn.active{background:var(--p);color:#fff;border-color:var(--p);box-shadow:0 4px 14px rgba(23,87,209,.25)}
.re-layout{display:grid;grid-template-columns:1fr 340px;gap:2.5rem;align-items:start}
.re-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.75rem}
.recard{background:#fff;border-radius:var(--rl);border:1.5px solid var(--borderl);overflow:hidden;box-shadow:0 4px 16px rgba(23,87,209,.06);display:flex;flex-direction:column;transition:transform .25s,box-shadow .25s}
.recard:hover{transform:translateY(-4px);box-shadow:var(--shh);border-color:var(--p100)}
.recard-img{height:190px;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}
.recard-badge{position:absolute;top:.875rem;left:.875rem;background:var(--p);color:#fff;font-size:.68rem;font-weight:800;padding:4px 10px;border-radius:var(--rf);text-transform:uppercase}
.recard-badge.new-badge{background:linear-gradient(135deg,#E53935,#FF7043);color:#fff}
.recard-body{padding:1.35rem;display:flex;flex-direction:column;flex-grow:1}
.recard-location{font-size:.72rem;font-weight:700;color:var(--p);text-transform:uppercase;letter-spacing:.08em;margin-bottom:.35rem}
.recard-location i{margin-right:4px}
.recard-name{font-family:var(--fd);font-size:1.0625rem;font-weight:800;color:var(--td);line-height:1.35;margin-bottom:.5rem}
.recard-name a{color:inherit;text-decoration:none}
.recard-dev{font-size:.825rem;color:var(--tm);line-height:1.5;margin-bottom:1rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.recard-price{font-family:var(--fd);font-size:1.15rem;font-weight:800;color:var(--ok);margin-bottom:.75rem}
.recard-feats{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1.125rem}
.recard-feat{font-size:.72rem;background:var(--ps);color:var(--p);padding:3px 10px;border-radius:var(--rf);font-weight:600}
.recard-footer{display:flex;gap:.625rem}
.re-why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin:2rem 0}
.re-why-card{background:var(--ps);border-radius:var(--rl);padding:1.25rem;text-align:center;border:1px solid var(--p100)}
.re-why-icon{width:44px;height:44px;border-radius:50%;background:var(--gp);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1rem;margin:0 auto .75rem}
.re-why-title{font-family:var(--fd);font-size:.875rem;font-weight:700;color:var(--td);margin-bottom:.25rem}
.re-why-desc{font-size:.76rem;color:var(--tm);line-height:1.5}
@media(max-width:1020px){
  .re-layout{grid-template-columns:1fr !important;gap:2.5rem !important}
}
@media(max-width:768px){
  .re-hero{padding:calc(var(--h1) + var(--h2) + var(--h3) + 1.25rem) 0 2.25rem}
  .re-stats-bar{grid-template-columns:repeat(2,1fr) !important;gap:1rem !important;padding:1rem 1.25rem !important;margin-top:1.5rem}
  .re-stat-num{font-size:1.4rem}
  .re-stat-lbl{font-size:.72rem}
  .re-filter-wrap{padding:.625rem 0}
  .re-filter-bar{display:flex!important;gap:.5rem!important;flex-wrap:nowrap!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch;padding-bottom:4px;scrollbar-width:none}
  .re-filter-bar::-webkit-scrollbar{display:none}
  .re-filter-btn{flex-shrink:0!important;padding:7px 14px!important;font-size:.78rem!important;white-space:nowrap!important}
  .re-grid{grid-template-columns:1fr !important;gap:1.25rem !important}
  .re-why-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:480px){
  .re-hero h1{font-size:1.75rem}
  .re-stats-bar{grid-template-columns:repeat(2,1fr) !important;gap:.75rem !important;padding:.875rem 1rem !important}
  .re-stat-num{font-size:1.25rem}
  .re-stat-lbl{font-size:.68rem}
  .recard-body{padding:1.125rem}
  .recard-name{font-size:1rem}
  .recard-footer{gap:.5rem}
}
/* ── SHARED SUB-FOOTER ── */
#sub-footer{background:var(--pdd);color:#fff;display:none}
#sub-footer.visible{display:block}
.sf-main{padding:3rem 0 2rem}
.sf-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:2.5rem}
.sf-brand-wrap .sf-logo-row{display:flex;align-items:center;gap:.75rem;margin-bottom:.875rem}
.sf-logo-box{width:40px;height:40px;background:var(--gp);border-radius:10px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1rem;font-weight:900;font-family:var(--fd);flex-shrink:0}
.sf-brand-name{font-family:var(--fd);font-size:1rem;font-weight:800;color:#fff}
.sf-brand-tag{font-size:.7rem;color:rgba(255,255,255,.45)}
.sf-desc{font-size:.78rem;color:rgba(255,255,255,.5);line-height:1.65;margin-bottom:1.25rem}
.sf-contact-list{display:flex;flex-direction:column;gap:.5rem}
.sf-contact-item{display:flex;align-items:center;gap:.5rem;font-size:.76rem;color:rgba(255,255,255,.6)}
.sf-contact-item i{color:var(--al);width:14px;text-align:center;font-size:.7rem}
.sf-contact-item a{color:rgba(255,255,255,.75);transition:.15s}.sf-contact-item a:hover{color:#fff}
.sf-col h5{font-family:var(--fd);font-size:.8rem;font-weight:700;color:rgba(255,255,255,.5);text-transform:uppercase;letter-spacing:.09em;margin-bottom:.875rem;padding-bottom:.5rem;border-bottom:1px solid rgba(255,255,255,.08)}
.sf-col a{display:flex;align-items:center;gap:.4rem;font-size:.78rem;color:rgba(255,255,255,.55);padding:.25rem 0;transition:.15s}
.sf-col a:hover{color:#fff}.sf-col a i{font-size:.55rem;color:var(--al)}
.sf-bottom-bar{border-top:1px solid rgba(255,255,255,.08);padding:1rem 0}
.sf-bottom-bar .container{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem}
.sf-copy{font-size:.72rem;color:rgba(255,255,255,.3)}
.sf-legal{display:flex;gap:1.25rem}.sf-legal a{font-size:.72rem;color:rgba(255,255,255,.3)}.sf-legal a:hover{color:rgba(255,255,255,.6)}
.sf-certs{display:flex;gap:.5rem}
.sf-cert{font-size:.6rem;font-weight:700;letter-spacing:.06em;color:rgba(255,255,255,.3);padding:2px 8px;border:1px solid rgba(255,255,255,.1);border-radius:var(--rf);text-transform:uppercase}
@media(max-width:900px){.sf-grid{grid-template-columns:1fr 1fr;gap:2rem}}
@media(max-width:560px){.sf-grid{grid-template-columns:1fr}.sf-bottom-bar .container{flex-direction:column;text-align:center}}
/* ── HOME BLOG 4-COLUMN ── */
#home-blog-grid{grid-template-columns:repeat(4,1fr)}
@media(max-width:1100px){#home-blog-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){#home-blog-grid{grid-template-columns:1fr}}
/* ── CONTACT PAGE ── */
.contact-hero-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem;margin:2.5rem 0}
.chs-card{background:var(--w);border:1.5px solid var(--borderl);border-radius:var(--rl);padding:1.5rem 1.25rem;text-align:center;box-shadow:var(--sh);transition:.3s;text-decoration:none;color:inherit;display:block}
.chs-card:hover{transform:translateY(-4px);box-shadow:var(--shh);border-color:var(--p100)}
.chs-icon{width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.2rem;color:#fff;margin:0 auto .875rem}
.chs-icon.blue{background:var(--p)}.chs-icon.gold{background:var(--ga)}.chs-icon.green{background:var(--ok)}.chs-icon.purple,.chs-icon.navy{background:#002da2}
.chs-val{font-family:var(--fd);font-size:1.0625rem;font-weight:800;color:var(--td)}
.chs-val a{color:var(--p)}.chs-val a:hover{color:var(--pd)}
.chs-note{font-size:.75rem;color:var(--tl);margin-top:.25rem}
.chs-arrow{display:none}
.contact-main-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start}
.contact-form-wrap{background:var(--w);border:1.5px solid var(--borderl);border-radius:var(--rl);padding:2rem;box-shadow:var(--sh)}
.contact-form-wrap h3{font-family:var(--fd);font-size:1.25rem;font-weight:800;color:var(--td);margin-bottom:.25rem}
.contact-form-wrap > p{font-size:.875rem;color:var(--tm);margin-bottom:1.5rem}
.cf-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.cf-group{margin-bottom:.875rem}
.cf-lbl{display:block;font-size:.8125rem;font-weight:600;color:var(--td);margin-bottom:.35rem}
.cf-lbl span{color:#DC2626}
.cf-inp{width:100%;padding:10px 13px;font-size:.875rem;font-family:inherit;color:var(--td);background:var(--bg);border:1.5px solid var(--border);border-radius:var(--r);outline:none;transition:.15s;appearance:none}
.cf-inp:focus{border-color:var(--p);background:#fff;box-shadow:0 0 0 3px rgba(0,45,162,.1)}
.cf-sel{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%236B7A99' stroke-width='2' d='M4 6l4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:16px;padding-right:36px;cursor:pointer}
.cf-submit{width:100%;padding:13px;font-size:.9375rem;margin-top:.25rem;display:flex;align-items:center;justify-content:center;gap:.5rem}
.cf-success{display:none;background:var(--okbg);border:1px solid #6EE7B7;border-radius:var(--r);padding:1rem 1.25rem;font-size:.875rem;color:var(--ok);font-weight:600;margin-bottom:.75rem;align-items:center;gap:.625rem}
.cf-success.show{display:flex}
.office-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;margin-bottom:2rem}
.office-card{background:var(--w);border:1.5px solid var(--borderl);border-radius:var(--rl);overflow:hidden;box-shadow:var(--sh);transition:.3s}
.office-card:hover{box-shadow:var(--shh);border-color:var(--p100);transform:translateY(-3px)}
.office-thumb-wrap{height:180px;position:relative;overflow:hidden;background:#071530}
.office-img-top{width:100%;height:100%;object-fit:cover;display:block;transition:.3s}
.office-card:hover .office-img-top{transform:scale(1.04)}
.office-map-ph{height:180px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;font-size:3rem}
.office-map-overlay{position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,rgba(0,45,162,.75) 100%)}
.office-map-lbl{position:absolute;bottom:.75rem;left:.75rem;background:rgba(0,45,162,.9);backdrop-filter:blur(6px);color:#fff;font-size:.7rem;font-weight:700;padding:4px 12px;border-radius:var(--rf);border:1px solid rgba(255,255,255,.2);z-index:2}
.office-body{padding:1.25rem}
.office-city-tag{font-size:.65rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--p);margin-bottom:.25rem}
.office-name{font-family:var(--fd);font-size:1.0625rem;font-weight:800;color:var(--td);margin-bottom:.5rem;line-height:1.3}
.office-meta{display:flex;flex-direction:column;gap:.4rem}
.office-meta-row{display:flex;align-items:flex-start;gap:.5rem;font-size:.8rem;color:var(--tm);line-height:1.45}
.office-meta-row i{color:var(--p);width:16px;text-align:center;font-size:.8rem;flex-shrink:0;margin-top:2px}
.office-action-btn{display:inline-flex;align-items:center;gap:.4rem;font-size:.75rem;font-weight:700;color:var(--p);background:var(--ps);padding:6px 14px;border-radius:var(--rf);border:1px solid var(--p100);margin-top:.75rem;transition:.2s;text-decoration:none}
.office-action-btn:hover{background:var(--p);color:#fff;border-color:var(--p)}

/* ── COMPACT OFFICE LIST (RIGHT HALF ON CONTACT PAGE) ── */
.office-list-compact{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.5rem}
.office-card-compact{background:var(--w);border:1.5px solid var(--borderl);border-radius:14px;overflow:hidden;box-shadow:0 2px 10px rgba(0,0,0,.04);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;display:flex;align-items:stretch;position:relative}
.office-card-compact:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,45,162,.12);border-color:#002da2}
.office-compact-thumb{width:165px;min-width:165px;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;color:#fff;font-size:2rem;padding:0;flex-shrink:0;overflow:hidden;background:#071530}
.office-compact-thumb img{width:100%!important;height:100%!important;object-fit:cover!important;position:absolute!important;inset:0!important;max-width:none!important;max-height:none!important;display:block!important;transition:transform .3s ease}
.office-card-compact:hover .office-compact-thumb img{transform:scale(1.06)}
.office-compact-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 40%,rgba(0,0,0,0.7) 100%);pointer-events:none;z-index:1}
.office-compact-city{position:absolute;bottom:8px;left:50%;transform:translateX(-50%);background:rgba(0,0,0,.7);backdrop-filter:blur(4px);color:#fff;font-size:.7rem;font-weight:700;padding:3px 10px;border-radius:999px;white-space:nowrap;letter-spacing:.03em;z-index:2;box-shadow:0 2px 6px rgba(0,0,0,.3)}
.office-compact-body{padding:.85rem 1.15rem;flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center}
.office-compact-tag{font-size:.65rem;font-weight:700;color:var(--p);text-transform:uppercase;letter-spacing:.06em;margin-bottom:.2rem}
.office-compact-title{font-family:var(--fd);font-size:.975rem;font-weight:800;color:var(--td);margin-bottom:.35rem;line-height:1.25}
.office-compact-meta{display:flex;flex-direction:column;gap:.25rem;font-size:.8rem;color:#475569;line-height:1.4}
.office-compact-meta-row{display:flex;align-items:flex-start;gap:.4rem}
.office-compact-meta-row i{color:var(--p);width:14px;text-align:center;font-size:.78rem;margin-top:2px;flex-shrink:0}
.office-compact-foot{display:flex;align-items:center;justify-content:space-between;margin-top:.45rem;padding-top:.45rem;border-top:1px dashed #e2e8f0;font-size:.75rem;color:#64748b;flex-wrap:wrap;gap:.4rem}
.office-compact-map{color:var(--p);font-weight:700;text-decoration:none;display:inline-flex;align-items:center;gap:.3rem;padding:3px 8px;background:var(--ps);border-radius:4px;transition:.15s}
.office-compact-map:hover{background:#002da2;color:#fff}
@media(max-width:768px){
  .office-compact-thumb{width:130px;min-width:130px}
}
@media(max-width:560px){
  .office-card-compact{flex-direction:column}
  .office-compact-thumb{width:100%!important;min-width:100%!important;height:140px!important}
  .office-compact-title{font-size:.92rem}
}
.social-contact-row{display:grid;grid-template-columns:repeat(3,1fr);gap:.625rem;margin-top:1rem}
.soc-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:10px 8px;border-radius:var(--rf);font-size:.8125rem;font-weight:700;border:none;cursor:pointer;transition:.2s;text-decoration:none;white-space:nowrap}
.soc-btn.fb{background:#1877F2;color:#fff}.soc-btn.fb:hover{background:#1565C0;color:#fff}
.soc-btn.zalo{background:linear-gradient(135deg,#0068FF,#0096FF);color:#fff}.soc-btn.zalo:hover{background:#0054CC;color:#fff}
.soc-btn.yt{background:#FF0000;color:#fff}.soc-btn.yt:hover{background:#CC0000;color:#fff}
@media(max-width:480px){
  .social-contact-row{gap:.35rem}
  .soc-btn{padding:8px 6px;font-size:.72rem;gap:.3rem}
}
@media(max-width:900px){.contact-main-grid{grid-template-columns:1fr}.office-grid{grid-template-columns:1fr}}
@media(max-width:768px){
  .contact-hero-stats{grid-template-columns:1fr !important;gap:.75rem !important;margin:1.5rem 0 2rem !important}
  .chs-card{display:flex !important;align-items:center !important;text-align:left !important;padding:1.1rem 1.25rem !important;gap:1.1rem !important;border-radius:14px !important}
  .chs-card:hover{transform:translateY(-2px) !important}
  .chs-icon{margin:0 !important;flex-shrink:0 !important;width:48px !important;height:48px !important;font-size:1.2rem !important}
  .chs-card-info{flex:1 1 auto !important;min-width:0 !important}
  .chs-val{font-size:1.05rem !important;font-weight:800 !important;line-height:1.3 !important;color:var(--td) !important;word-break:break-word !important}
  .chs-note{font-size:.8rem !important;color:var(--tl) !important;margin-top:2px !important}
  .chs-arrow{display:flex !important;align-items:center !important;color:#94a3b8 !important;font-size:.95rem !important;flex-shrink:0 !important;padding-left:.5rem !important;transition:transform .2s ease,color .2s ease}
  .chs-card:hover .chs-arrow{transform:translateX(3px) !important;color:var(--p) !important}
}
@media(max-width:560px){.cf-row{grid-template-columns:1fr}}
/* ── PROJECT DETAIL PAGE (Vietnamese Real Estate Style) ── */
.pd2-hero-bar{padding:calc(var(--h1) + var(--h2) + var(--h3) + 1.5rem) 0 0;background:#07132A}
.pd2-gallery{display:grid;grid-template-columns:1.7fr 1fr;grid-template-rows:270px 135px;gap:5px;border-radius:var(--rl);overflow:hidden}
.pd2-gal-main{grid-row:1/3;position:relative;cursor:pointer;overflow:hidden}
.pd2-gal-sm{position:relative;cursor:pointer;overflow:hidden}
.pd2-gal-ph{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:4rem;position:absolute;inset:0}
.pd2-gal-badge{position:absolute;top:.75rem;left:.75rem;background:var(--ga);color:var(--pdd);font-size:.65rem;font-weight:700;padding:4px 12px;border-radius:var(--rf);text-transform:uppercase;letter-spacing:.07em;z-index:2}
.pd2-gal-count{position:absolute;bottom:.75rem;right:.75rem;background:rgba(0,0,0,.6);color:#fff;font-size:.72rem;font-weight:600;padding:4px 12px;border-radius:var(--rf);backdrop-filter:blur(4px);z-index:2}
.pd2-sticky{position:sticky;top:calc(var(--h1) + var(--h2) + var(--h3));z-index:45;background:var(--w);border-bottom:2px solid var(--border)}
.pd2-sticky .container{display:flex;align-items:center;justify-content:space-between;height:48px;gap:1rem}
.pd2-snav{display:flex;gap:0;flex:1;overflow-x:auto;scrollbar-width:none;height:100%}
.pd2-snav::-webkit-scrollbar{display:none}
.pd2-snav a{padding:0 14px;height:48px;display:flex;align-items:center;font-size:.8rem;font-weight:600;color:var(--tm);white-space:nowrap;border-bottom:3px solid transparent;margin-bottom:-2px;transition:.2s;text-decoration:none}
.pd2-snav a.active,.pd2-snav a:hover{color:var(--p);border-bottom-color:var(--p)}
.pd2-sticky-price{font-family:var(--fd);font-size:.9375rem;font-weight:800;color:var(--ok);flex-shrink:0;white-space:nowrap}
.pd2-layout{display:grid;grid-template-columns:1fr 330px;gap:2rem;padding:2rem 0 5rem;align-items:start}
.pd2-sec{margin-bottom:2.5rem;scroll-margin-top:calc(var(--h1) + var(--h2) + var(--h3) + 55px)}
.pd2-sec-title{font-family:var(--fd);font-size:1.125rem;font-weight:800;color:var(--td);margin-bottom:1.125rem;display:flex;align-items:center;gap:.5rem;padding-bottom:.75rem;border-bottom:2px solid var(--borderl)}
.pd2-sec-title i{color:var(--p)}
.pd2-kpi{display:grid;grid-template-columns:repeat(4,1fr);gap:.875rem;margin-bottom:1.5rem}
.pd2-kpi-item{background:var(--ps);border:1px solid var(--p100);border-radius:var(--r);padding:.875rem;text-align:center}
.pd2-kpi-val{font-family:var(--fd);font-size:1.25rem;font-weight:800;color:var(--p);line-height:1}
.pd2-kpi-lbl{font-size:.65rem;color:var(--tm);margin-top:.25rem;font-weight:500}
.pd2-amenity-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.625rem}
.pd2-amenity{display:flex;align-items:center;gap:.5rem;padding:.625rem .875rem;background:var(--bg);border:1px solid var(--borderl);border-radius:var(--r);font-size:.8rem;color:var(--t);transition:.2s}
.pd2-amenity:hover{background:var(--ps);border-color:var(--p100)}
.pd2-amenity i{color:var(--p);width:14px;text-align:center;flex-shrink:0;font-size:.8rem}
.pd2-floor-grid{display:grid;grid-template-columns:1fr 1fr;gap:.875rem}
.pd2-floor-card{background:var(--w);border:1.5px solid var(--border);border-radius:var(--rl);padding:1.125rem;cursor:pointer;transition:.2s}
.pd2-floor-card:hover,.pd2-floor-card.active{border-color:var(--p);background:var(--ps);box-shadow:0 4px 14px rgba(23,87,209,.12)}
.pd2-floor-icon{width:44px;height:44px;border-radius:var(--r);background:var(--gp);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1rem;margin-bottom:.625rem}
.pd2-floor-type{font-family:var(--fd);font-size:.875rem;font-weight:800;color:var(--td);margin-bottom:.2rem}
.pd2-floor-meta{font-size:.76rem;color:var(--tm);line-height:1.5}
.pd2-price-tbl{width:100%;border-collapse:collapse;font-size:.82rem}
.pd2-price-tbl th{background:var(--gpa);color:#fff;padding:.7rem 1rem;text-align:left;font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.pd2-price-tbl th:first-child{border-radius:var(--r) 0 0 0}.pd2-price-tbl th:last-child{border-radius:0 var(--r) 0 0}
.pd2-price-tbl td{padding:.7rem 1rem;border-bottom:1px solid var(--borderl);color:var(--t)}
.pd2-price-tbl tr:hover td{background:var(--ps)}
.pd2-price-tbl tr:last-child td{border-bottom:none}
.pd2-price-hl{font-weight:700;color:var(--ok)}
.pd2-progress{height:5px;background:var(--border);border-radius:var(--rf);margin-top:.35rem;overflow:hidden}
.pd2-progress-fill{height:100%;background:var(--gp);border-radius:var(--rf)}
.pd2-dev{display:flex;gap:1rem;align-items:flex-start;padding:1.125rem;background:var(--ps);border:1px solid var(--p100);border-radius:var(--rl);margin-bottom:1.25rem}
.pd2-dev-logo{width:52px;height:52px;border-radius:var(--r);background:var(--gp);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.9rem;font-weight:900;flex-shrink:0;font-family:var(--fd)}
.pd2-dev-name{font-family:var(--fd);font-size:.9375rem;font-weight:800;color:var(--td);margin-bottom:.2rem}
.pd2-dev-desc{font-size:.78rem;color:var(--tm);line-height:1.5}
.pd2-map-ph{height:220px;border-radius:var(--rl);background:var(--gpa);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;color:rgba(255,255,255,.6);font-size:.875rem;margin-bottom:1.5rem;overflow:hidden;position:relative}
.pd2-map-ph i{font-size:2.5rem;color:rgba(255,255,255,.3)}
.pd2-map-pin{position:absolute;top:50%;left:50%;transform:translate(-50%,-60%);width:44px;height:44px;border-radius:50% 50% 50% 0;transform:translate(-50%,-50%) rotate(-45deg);background:var(--a);box-shadow:0 4px 16px rgba(212,165,32,.5)}
.pd2-sidebar-price-box{background:linear-gradient(135deg,#07132A 0%,#1847AA 100%);border-radius:var(--rl);padding:1.5rem;margin-bottom:1.25rem}
.pd2-sb-from{font-size:.65rem;text-transform:uppercase;letter-spacing:.09em;color:rgba(255,255,255,.5);margin-bottom:.2rem}
.pd2-sb-price{font-family:var(--fd);font-size:1.875rem;font-weight:800;color:#fff;line-height:1.1;margin-bottom:.2rem}
.pd2-sb-note{font-size:.72rem;color:rgba(255,255,255,.5);margin-bottom:1rem}
.pd2-inq-form input,.pd2-inq-form select{width:100%;padding:9px 11px;border:1.5px solid rgba(255,255,255,.15);border-radius:var(--r);font-size:.81rem;color:#fff;background:rgba(255,255,255,.12);font-family:inherit;outline:none;margin-bottom:.5rem;transition:.2s}
.pd2-inq-form input:focus,.pd2-inq-form select:focus{border-color:var(--al);background:rgba(255,255,255,.18)}
.pd2-inq-form input::placeholder{color:rgba(255,255,255,.4)}
.pd2-inq-form select option{background:#0b1e3a;color:#fff}
.csb-form select,.csb-form select option{background:#0b1e3a;color:#fff}
.csb-form select{width:100%;padding:9px 12px;border:1.5px solid rgba(255,255,255,.18);border-radius:var(--r);font-size:.81rem;color:#fff;font-family:inherit;outline:none}
.pd2-info-box{background:var(--w);border:1px solid var(--borderl);border-radius:var(--rl);padding:1.25rem;margin-bottom:1.25rem;box-shadow:var(--sh)}
.pd2-info-row{display:flex;justify-content:space-between;align-items:center;padding:.45rem 0;border-bottom:1px solid var(--borderl);font-size:.81rem;gap:.5rem}
.pd2-info-row:last-child{border-bottom:none}
.pd2-info-lbl{color:var(--tl);font-weight:500}.pd2-info-val{color:var(--td);font-weight:700;text-align:right}
.pd2-tag{display:inline-flex;align-items:center;gap:.2rem;font-size:.68rem;font-weight:600;padding:3px 9px;border-radius:var(--rf);background:var(--ps);color:var(--p);border:1px solid var(--p100);margin:.15rem}
@media(max-width:1020px){.pd2-layout{grid-template-columns:1fr}.pd2-kpi{grid-template-columns:repeat(2,1fr)}.pd2-gallery{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.pd2-gallery{grid-template-columns:1fr;grid-template-rows:240px}.pd2-gal-sm{display:none}.pd2-amenity-grid{grid-template-columns:1fr 1fr}.pd2-floor-grid{grid-template-columns:1fr}}
/* ── PROGRAM DETAIL v2 ── */
.pgd-hero{padding:calc(var(--h1) + var(--h2) + var(--h3) + 2.5rem) 0 0;background:var(--pdd);position:relative;overflow:hidden;min-height:calc(var(--h1) + var(--h2) + var(--h3) + 220px)}
.pgd-hero::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 70% 50%,rgba(31,95,216,.3) 0%,transparent 60%)}
.pgd-hero-inner{position:relative;z-index:2;padding-top:1.5rem;padding-bottom:0}
.pgd-hero-tag{display:inline-flex;align-items:center;gap:.4rem;font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--al);background:rgba(212,165,32,.18);border:1px solid rgba(212,165,32,.3);padding:5px 14px;border-radius:var(--rf);margin-bottom:1rem}
.pgd-h1{font-family:var(--fd);font-size:clamp(2rem,4vw,3rem);font-weight:800;color:#fff;margin-bottom:.75rem;line-height:1.15;letter-spacing:-.025em}
.pgd-h1 em{font-style:normal;color:var(--al)}
.pgd-sub{font-size:1.05rem;color:rgba(255,255,255,.8);max-width:640px;line-height:1.65;margin-bottom:0}
.pgd-hero-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:0;background:rgba(255,255,255,.06);border-top:1px solid rgba(255,255,255,.1);margin-top:2.5rem}
.pgd-hstat{padding:1.125rem 1.5rem;border-right:1px solid rgba(255,255,255,.1);text-align:center}
.pgd-hstat:last-child{border-right:none}
.pgd-hstat-val{font-family:var(--fd);font-size:1.5rem;font-weight:800;color:var(--al);line-height:1;margin-bottom:.2rem}
.pgd-hstat-lbl{font-size:.68rem;color:rgba(255,255,255,.5)}
.pgd-sticky{position:sticky;top:calc(var(--h1) + var(--h2) + var(--h3));z-index:40;background:var(--w);border-bottom:2px solid var(--border)}
.pgd-sticky .container{display:flex;align-items:center;height:48px;gap:0;overflow-x:auto;scrollbar-width:none}
.pgd-sticky .container::-webkit-scrollbar{display:none}
.pgd-nav-a{padding:0 14px;height:48px;display:flex;align-items:center;font-size:.8rem;font-weight:600;color:var(--tm);white-space:nowrap;border-bottom:3px solid transparent;margin-bottom:-2px;transition:.2s;text-decoration:none}
.pgd-nav-a:hover,.pgd-nav-a.active{color:var(--p);border-bottom-color:var(--p)}
.pgd-layout{display:grid;grid-template-columns:1fr 310px;gap:2.5rem;padding:2.5rem 0 5rem;align-items:start}
.pgd-sec{margin-bottom:3rem;scroll-margin-top:calc(var(--h1) + var(--h2) + var(--h3) + 56px)}
.pgd-sec-title{font-family:var(--fd);font-size:1.25rem;font-weight:800;color:var(--td);margin-bottom:1.375rem;display:flex;align-items:center;gap:.625rem;padding-bottom:.875rem;border-bottom:2px solid var(--borderl)}
.pgd-sec-title i{color:var(--p)}
.pgd-highlight-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem;margin-bottom:1.5rem}
.pgd-hl{background:var(--ps);border:1.5px solid var(--p100);border-radius:var(--rl);padding:1.35rem 1.25rem;transition:.25s}
.pgd-hl:hover{border-color:var(--p);box-shadow:0 4px 16px rgba(23,87,209,.1)}
.pgd-hl-icon{width:44px;height:44px;border-radius:var(--r);background:var(--gp);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1rem;margin-bottom:.75rem;flex-shrink:0}
.pgd-hl-icon.gold{background:var(--ga);color:var(--pdd)}
.pgd-hl-title{font-family:var(--fd);font-size:1.0625rem;font-weight:800;color:var(--td);margin-bottom:.35rem}
.pgd-hl-desc{font-size:1rem;color:#333333;line-height:1.6}
.pgd-check-list{display:flex;flex-direction:column;gap:.5rem}
.pgd-chk{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem 1rem;background:var(--w);border:1px solid var(--borderl);border-radius:var(--r);font-size:.875rem;color:var(--t);transition:.2s}
.pgd-chk:hover{border-color:var(--p100);background:var(--ps)}
.pgd-chk-dot{width:22px;height:22px;border-radius:50%;background:var(--okbg);border:1.5px solid #6EE7B7;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:.1em}
.pgd-chk-dot i{color:var(--ok);font-size:.6rem}
.pgd-timeline{display:flex;flex-direction:column;gap:0;position:relative}
.pgd-timeline::before{content:'';position:absolute;left:19px;top:24px;bottom:24px;width:2px;background:linear-gradient(to bottom,var(--p),var(--a));z-index:0}
.pgd-tl-step{display:flex;gap:1.25rem;padding:1rem 0;position:relative;z-index:1;align-items:flex-start}
.pgd-tl-dot{width:40px;height:40px;border-radius:50%;background:var(--w);border:2.5px solid var(--p);color:var(--p);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:.8rem;flex-shrink:0;font-family:var(--fd);box-shadow:0 2px 8px rgba(23,87,209,.2)}
.pgd-tl-dot.done{background:var(--ga);border-color:var(--a);color:var(--pdd)}
.pgd-tl-body{padding-top:.5rem;flex:1}
.pgd-tl-name{font-family:var(--fd);font-size:.9375rem;font-weight:700;color:var(--td);margin-bottom:.2rem}
.pgd-tl-desc{font-size:1rem;color:#333333;line-height:1.6}
.pgd-tl-time{display:inline-flex;align-items:center;gap:.3rem;font-size:.68rem;font-weight:700;color:var(--p);background:var(--ps);border:1px solid var(--p100);padding:2px 8px;border-radius:var(--rf);margin-top:.3rem}
.pgd-compare-wrap{overflow-x:auto;border-radius:var(--rl);border:1px solid var(--borderl);box-shadow:var(--sh)}
.pgd-compare-tbl{width:100%;border-collapse:collapse;font-size:.82rem;min-width:520px}
.pgd-compare-tbl th{padding:.75rem 1rem;text-align:left;font-weight:700;font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;background:var(--bg);color:var(--td)}
.pgd-compare-tbl th.hi-col{background:var(--gpa);color:#fff}
.pgd-compare-tbl td{padding:.7rem 1rem;border-top:1px solid var(--borderl);color:var(--t)}
.pgd-compare-tbl td.hi-col{background:var(--ps);font-weight:700;color:var(--p)}
.pgd-compare-tbl .ck{color:var(--ok)}.pgd-compare-tbl .cx{color:#DC2626}
.pgd-faq{display:flex;flex-direction:column;gap:.5rem}
.pgd-faq-item{border:1.5px solid var(--border);border-radius:var(--r);overflow:hidden;transition:.2s}
.pgd-faq-item.open{border-color:var(--p100);box-shadow:0 2px 10px rgba(23,87,209,.08)}
.pgd-faq-q{display:flex;align-items:center;justify-content:space-between;padding:.875rem 1.125rem;cursor:pointer;font-size:.875rem;font-weight:600;color:var(--td);gap:.75rem;background:var(--w);user-select:none}
.pgd-faq-q:hover{background:var(--ps)}
.pgd-faq-item.open .pgd-faq-q{background:var(--ps);color:var(--p)}
.pgd-faq-chev{font-size:.7rem;color:var(--tl);transition:.3s;flex-shrink:0}
.pgd-faq-item.open .pgd-faq-chev{transform:rotate(180deg);color:var(--p)}
.pgd-faq-a{display:none;padding:.875rem 1.125rem 1rem;font-size:1rem;color:#333333;line-height:1.65;border-top:1px solid var(--borderl)}
.pgd-faq-item.open .pgd-faq-a{display:block}
.pgd-sb-cta{background:var(--gpa);border-radius:var(--rl);padding:1.5rem;margin-bottom:1.125rem;text-align:center}
.pgd-sb-hotline{font-family:var(--fd);font-size:1.375rem;font-weight:800;color:var(--al);margin:.375rem 0 .25rem}
.pgd-sb-info{background:var(--w);border:1px solid var(--borderl);border-radius:var(--rl);padding:1.25rem;margin-bottom:1.125rem;box-shadow:var(--sh)}
.pgd-sb-pair{display:flex;justify-content:space-between;padding:.45rem 0;border-bottom:1px solid var(--borderl);font-size:.81rem;gap:.5rem}
.pgd-sb-pair:last-child{border-bottom:none}
.pgd-sb-key{color:var(--tl);font-weight:500}.pgd-sb-val{color:var(--td);font-weight:700;text-align:right}
.pgd-sim-card{display:flex;gap:.75rem;padding:.75rem;border:1.5px solid var(--borderl);border-radius:var(--r);cursor:pointer;transition:.2s;margin-bottom:.5rem}
.pgd-sim-card:hover{border-color:var(--p100);background:var(--ps);transform:translateX(3px)}
.pgd-sim-flag{width:38px;height:26px;border-radius:3px;object-fit:cover;flex-shrink:0;align-self:center}
.pgd-sim-name{font-size:.82rem;font-weight:700;color:var(--td)}
.pgd-sim-type{font-size:.72rem;color:var(--tm)}
.pgd-sim-price{font-size:.72rem;font-weight:700;color:var(--ok);margin-top:1px}
/* Related projects sidebar block */
.pgd-rel-proj-item{display:flex;gap:.75rem;cursor:pointer;padding:.625rem;border-radius:var(--r);background:var(--bg);transition:.2s;margin-bottom:.375rem;text-decoration:none}
.pgd-rel-proj-item:hover{background:var(--ps)}
.pgd-rel-proj-item:last-child{margin-bottom:0}
.pgd-rel-proj-thumb{width:48px;height:40px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:1.25rem;flex-shrink:0;overflow:hidden}
.pgd-rel-proj-thumb img{width:100%;height:100%;object-fit:cover}
.pgd-rel-proj-name{font-size:.78rem;font-weight:700;color:var(--td);line-height:1.3;margin-bottom:2px}
.pgd-rel-proj-sub{font-size:.7rem;color:var(--tm)}
.pgd-trust{background:var(--as);border:1px solid rgba(212,165,32,.3);border-radius:var(--rl);padding:1.125rem;margin-bottom:1.125rem}
.pgd-trust h5{font-family:var(--fd);font-size:.82rem;font-weight:700;color:var(--ad);margin-bottom:.75rem;display:flex;align-items:center;gap:.4rem}
.pgd-trust-row{display:flex;align-items:center;gap:.5rem;font-size:.78rem;color:var(--t);padding:.25rem 0}
.pgd-trust-row i{color:var(--ok);flex-shrink:0;font-size:.75rem}
@media(max-width:1020px){.pgd-layout{grid-template-columns:1fr}.pgd-hero-stats{grid-template-columns:repeat(2,1fr)}.pgd-highlight-grid{grid-template-columns:1fr}}
@media(max-width:560px){.pgd-hero-stats{grid-template-columns:1fr 1fr}.pgd-compare-tbl{font-size:.75rem}}

/* ══ LOGO ICON ══ */
.logo-icon{width:48px;height:48px;background:linear-gradient(135deg,#1847AA 0%,#1F5FD8 60%,#2B73F0 100%);border-radius:13px;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 6px 20px rgba(24,71,170,.4),0 0 0 3px rgba(255,255,255,.9),inset 0 1px 0 rgba(255,255,255,.25);position:relative;overflow:hidden;transition:.3s}
.logo-icon::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.15) 0%,transparent 60%)}
.logo-icon svg{position:relative;z-index:1}
.logo:hover .logo-icon{transform:translateY(-2px);box-shadow:0 10px 28px rgba(24,71,170,.5),0 0 0 3px rgba(255,255,255,.9)}
.logo-text .name{font-family:var(--fd);font-size:1.125rem;font-weight:900;color:var(--pdd);letter-spacing:-.03em;display:block;line-height:1.2}
.logo-text .tag{font-size:.625rem;font-weight:600;color:var(--tl);letter-spacing:.08em;text-transform:uppercase;display:block}

/* ══ NAV IMPROVEMENTS ══ */
.dd-price{display:inline-flex!important;font-size:.68rem;color:var(--al);font-weight:700;margin-left:auto;background:rgba(212,165,32,.15);padding:2px 6px;border-radius:4px;white-space:nowrap}
.hdr-nav-bar{background:linear-gradient(90deg,#0C1E40 0%,#1847AA 50%,#0C1E40 100%);box-shadow:0 4px 16px rgba(12,30,64,.4)}
.main-nav>ul>li>a{font-size:.78rem;padding:0 9px;letter-spacing:-.01em}
.main-nav>ul>li:hover>a,.main-nav>ul>li.active>a{background:rgba(255,255,255,.14);border-radius:0}
.nav-dd{min-width:260px;background:var(--pdd);border:none;border-top:2px solid var(--a);box-shadow:0 16px 48px rgba(12,30,64,.5)}
.nav-dd li a{color:rgba(255,255,255,.8);border-bottom:1px solid rgba(255,255,255,.06);padding:10px 16px}
.nav-dd li a:hover{background:rgba(255,255,255,.1);color:#fff;padding-left:22px}
.nav-dd li a img{border:1px solid rgba(255,255,255,.2)}
.nav-cta-wrap .btn{font-size:.8rem;padding:0 18px;letter-spacing:.01em;min-height:38px;height:38px;line-height:1}
.nav-cta-wrap .btn-sm{min-height:38px;height:38px}

/* ══ BLOG LIST PAGINATION ══ */
.blog-item{transition:.2s}.blog-item.hidden{display:none!important}
.blog-pg-btn{width:38px;height:38px;border-radius:9px;display:flex;align-items:center;justify-content:center;font-size:.8125rem;font-weight:700;color:var(--tm);border:1.5px solid var(--border);background:var(--w);cursor:pointer;transition:.2s}
.blog-pg-btn:hover,.blog-pg-btn.active{background:var(--p);color:#fff;border-color:var(--p);box-shadow:0 4px 12px rgba(23,87,209,.3)}

/* ══ FOOTER REDESIGN — Blue as Main ══ */
.foot-cta-bar{background:linear-gradient(135deg,#D4A520 0%,#F0C040 50%,#D4A520 100%);padding:2rem 0}
.foot-cta-bar .container{display:flex;align-items:center;justify-content:space-between;gap:2rem;flex-wrap:wrap}
.foot-cta-left{display:flex;align-items:center;gap:1.25rem}
.foot-cta-icon{width:54px;height:54px;background:rgba(12,30,64,.18);border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:1.25rem;color:#0C1E40;flex-shrink:0}
.foot-cta-h{font-family:var(--fd);font-size:1.25rem;font-weight:800;color:#0C1E40;line-height:1.2}
.foot-cta-s{font-size:.8rem;color:rgba(12,30,64,.7);margin-top:.2rem}
.foot-cta-btns{display:flex;gap:.75rem;flex-wrap:wrap;align-items:center}
.foot-nl-form{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}
.foot-nl-inp{flex:1;min-width:220px;padding:11px 16px;border:2px solid rgba(12,30,64,.3);border-radius:var(--r);font-size:.875rem;color:#0C1E40;background:rgba(255,255,255,.9);font-family:inherit;outline:none;transition:.2s}
.foot-nl-inp:focus{border-color:#0C1E40;background:#fff;box-shadow:0 0 0 3px rgba(12,30,64,.15)}
.foot-nl-inp::placeholder{color:rgba(12,30,64,.45)}
.foot-prefooter{background:linear-gradient(135deg,#1847AA 0%,#1a55d5 60%,#1053C8 100%);border-top:1px solid rgba(255,255,255,.15)}
.foot-prefooter .container{display:grid;grid-template-columns:repeat(4,1fr);gap:0;padding-top:2rem;padding-bottom:2rem}
.blog .trust-strip, .blog .foot-prefooter,
.single-post .trust-strip, .single-post .foot-prefooter,
.category .trust-strip, .category .foot-prefooter,
.tag .trust-strip, .tag .foot-prefooter,
.page-template-page-blog .trust-strip, .page-template-page-blog .foot-prefooter {display:none!important}
.fpf-stat{text-align:center;padding:1.25rem;border-right:1px solid rgba(255,255,255,.15)}
.fpf-stat:last-child{border-right:none}
.fpf-val{font-family:var(--fd);font-size:2rem;font-weight:900;color:#fff;line-height:1;letter-spacing:-.04em}
.fpf-val span{color:var(--al)}
.fpf-lbl{font-size:.72rem;color:rgba(255,255,255,.88);margin-top:.35rem;letter-spacing:.04em}
.foot-main{background:linear-gradient(180deg,#1244A0 0%,#0e3a90 50%,#0b2d78 100%)}
.foot-desc{font-size:.8125rem;color:rgba(255,255,255,.92);line-height:1.65;margin:1rem 0}
.foot-links a{font-size:.8125rem;color:rgba(255,255,255,.88);display:flex;align-items:center;gap:.4rem;transition:.15s}
.foot-links a:hover{color:#fff;gap:.65rem}
.foot-copy{font-size:.75rem;color:rgba(255,255,255,.82)}
.foot-cert{padding:3px 10px;border-radius:var(--rf);border:1px solid rgba(255,255,255,.3);font-size:.65rem;font-weight:600;color:rgba(255,255,255,.85);text-transform:uppercase;letter-spacing:.06em}
.foot-legal a{font-size:.75rem;color:rgba(255,255,255,.75);transition:.15s}.foot-legal a:hover{color:#fff}
.foot-soc-a{width:38px;height:38px;min-width:38px;min-height:38px;border-radius:50%;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.22);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.82);font-size:14px;transition:.2s;flex-shrink:0;align-self:center;box-sizing:border-box}
.foot-soc-a:hover{background:var(--a);border-color:var(--a);color:var(--pdd);transform:translateY(-3px);box-shadow:0 6px 16px rgba(212,165,32,.45)}
.foot-col h4{color:#fff;font-size:.8rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;margin-bottom:1.25rem;padding-bottom:.625rem;position:relative}
.foot-col h4::after{content:'';position:absolute;bottom:0;left:0;width:28px;height:2px;background:var(--al);border-radius:2px}
.foot-bottom{padding:1.25rem 0;background:rgba(0,0,0,.2)}
@media(max-width:768px){.foot-prefooter .container{grid-template-columns:repeat(2,1fr)}.foot-cta-bar .container{flex-direction:column;text-align:center}.foot-cta-left{flex-direction:column;text-align:center}.foot-nl-form{width:100%}.foot-nl-inp{width:100%;min-width:0}}

/* ══ UTILITY PAGES (Assess / Passport / Compare) ══ */
.assess-wrap{max-width:760px;margin:0 auto}
.assess-prog{display:flex;align-items:center;gap:.75rem;margin-bottom:2.5rem}
.assess-step{display:flex;align-items:center;gap:.4rem;font-size:.72rem;font-weight:700;color:var(--tl);letter-spacing:.04em;text-transform:uppercase}
.assess-step.done{color:var(--ok)}.assess-step.active{color:var(--p)}
.assess-step-dot{width:24px;height:24px;border-radius:50%;background:var(--bg);border:2px solid var(--borderl);display:flex;align-items:center;justify-content:center;font-size:.65rem;font-weight:800;color:var(--tl);flex-shrink:0;transition:.2s}
.assess-step.active .assess-step-dot{background:var(--p);border-color:var(--p);color:#fff}
.assess-step.done .assess-step-dot{background:var(--ok);border-color:var(--ok);color:#fff}
.assess-prog-line{flex:1;height:2px;background:var(--borderl);border-radius:2px;min-width:20px}
.assess-prog-line.done{background:var(--ok)}
.assess-q{font-family:var(--fd);font-size:1.25rem;font-weight:800;color:var(--td);margin-bottom:1.5rem;letter-spacing:-.025em}
.assess-q em{font-style:normal;color:var(--p)}
.assess-opts{display:grid;grid-template-columns:repeat(2,1fr);gap:.875rem;margin-bottom:2rem}
.assess-opt{display:flex;align-items:center;gap:1rem;padding:1.125rem 1.25rem;border:2px solid var(--borderl);border-radius:var(--rl);background:var(--w);cursor:pointer;transition:.2s;position:relative}
.assess-opt:hover{border-color:var(--p100);background:var(--ps)}
.assess-opt.selected{border-color:var(--p);background:var(--ps)}
.assess-opt-icon{width:44px;height:44px;border-radius:12px;background:var(--bg);display:flex;align-items:center;justify-content:center;font-size:1.25rem;flex-shrink:0}
.assess-opt-lbl{font-size:.9375rem;font-weight:700;color:var(--td)}
.assess-opt-sub{font-size:.75rem;color:var(--tl);margin-top:.125rem}
.assess-opt-check{position:absolute;top:.625rem;right:.625rem;width:20px;height:20px;border-radius:50%;background:var(--p);display:flex;align-items:center;justify-content:center;color:#fff;font-size:.6rem;opacity:0;transition:.2s}
.assess-opt.selected .assess-opt-check{opacity:1}
.assess-nav{display:flex;align-items:center;justify-content:space-between;margin-top:1rem}
.assess-nav .btn{gap:.4rem}
.assess-result{display:none}
.assess-result.show{display:block}
.assess-result-hd{background:var(--gpa);border-radius:var(--rl);padding:2rem;text-align:center;margin-bottom:2rem}
.assess-result-score{font-family:var(--fd);font-size:3rem;font-weight:900;color:var(--al);line-height:1}
.assess-matches{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:2rem}
.assess-match{background:var(--w);border:1.5px solid var(--borderl);border-radius:var(--rl);padding:1.25rem;text-align:center;cursor:pointer;transition:.2s;position:relative}
.assess-match:hover{border-color:var(--p);box-shadow:var(--sh)}
.assess-match-rank{position:absolute;top:.75rem;right:.75rem;width:24px;height:24px;border-radius:50%;font-size:.6rem;font-weight:800;display:flex;align-items:center;justify-content:center}
.assess-match-rank.r1{background:var(--al);color:var(--pdd)}.assess-match-rank.r2{background:rgba(148,163,184,.3);color:var(--td)}.assess-match-rank.r3{background:rgba(180,120,60,.2);color:var(--td)}
.assess-match-flag{width:48px;height:36px;border-radius:6px;margin:0 auto .625rem;object-fit:cover}
.assess-match-name{font-size:.9rem;font-weight:700;color:var(--td);margin-bottom:.25rem}
.assess-match-invest{font-size:.75rem;font-weight:700;color:var(--p)}
.assess-match-bar-wrap{height:6px;background:var(--bg);border-radius:3px;margin:.75rem 0 .25rem}
.assess-match-bar{height:100%;border-radius:3px;background:linear-gradient(90deg,var(--p),var(--a))}
.pp-vi-banner{background:linear-gradient(135deg,var(--ps),rgba(24,71,170,.06));border:1.5px solid var(--p100);border-radius:var(--rl);padding:1.5rem 2rem;margin-bottom:2rem;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;flex-wrap:wrap}
.pp-filter-tabs{display:flex;gap:.5rem;flex-wrap:wrap}
.pp-filter-tab{padding:6px 16px;border-radius:var(--rf);border:1.5px solid var(--borderl);background:var(--w);font-size:.78rem;font-weight:600;color:var(--tm);cursor:pointer;transition:.2s}
.pp-filter-tab.active{background:var(--p);border-color:var(--p);color:#fff}
.pp-table-wrap{border-radius:var(--rl);overflow:hidden;border:1px solid var(--borderl);box-shadow:var(--sh)}
.pp-table{width:100%;border-collapse:collapse}
.pp-table thead th{background:var(--pdd);color:rgba(255,255,255,.9);font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:.875rem 1rem;text-align:left;white-space:nowrap}
.pp-table thead th:first-child{width:60px;text-align:center}
.pp-table tbody tr{border-bottom:1px solid var(--borderl);transition:.15s}
.pp-table tbody tr:hover{background:var(--ps)}
.pp-table tbody tr.highlight{background:rgba(212,165,32,.07);border-left:3px solid var(--al)}
.pp-table td{padding:.875rem 1rem;vertical-align:middle}
.pp-rank{width:44px;height:44px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-family:var(--fd);font-size:1rem;font-weight:900;margin:0 auto}
.pp-rank.top5{background:linear-gradient(135deg,var(--al),#f0c040);color:var(--pdd)}.pp-rank.top20{background:rgba(148,163,184,.18);color:var(--td)}.pp-rank.top50{background:var(--bg);color:var(--tl)}.pp-rank.low{background:transparent;color:var(--tl);font-size:.875rem}
.pp-country{display:flex;align-items:center;gap:.75rem}.pp-country img{width:36px;height:27px;border-radius:4px;box-shadow:0 1px 4px rgba(0,0,0,.12);object-fit:cover;flex-shrink:0}.pp-country-name{font-size:.9rem;font-weight:700;color:var(--td)}
.pp-vf{font-family:var(--fd);font-size:1.125rem;font-weight:800;color:var(--p)}
.pp-bar-wrap{display:flex;align-items:center;gap:.5rem}.pp-bar{height:8px;border-radius:4px;background:linear-gradient(90deg,var(--p),var(--a));min-width:4px}
.pp-tag{display:inline-flex;align-items:center;gap:.3rem;font-size:.65rem;font-weight:700;padding:2px 8px;border-radius:var(--rf)}
.pp-tag.g1{background:rgba(5,150,105,.15);color:#059669}.pp-tag.g2{background:rgba(24,71,170,.12);color:var(--p)}.pp-tag.g3{background:rgba(212,165,32,.15);color:var(--ad)}.pp-tag.g4{background:rgba(239,68,68,.1);color:#ef4444}
.cmp-sel-wrap{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:1.5rem}
.cmp-sel-card{background:var(--w);border:2px dashed var(--borderl);border-radius:var(--rl);padding:1.5rem;text-align:center;cursor:pointer;transition:.2s;position:relative;min-height:120px;display:flex;flex-direction:column;align-items:center;justify-content:center}
.cmp-sel-card:hover{border-color:var(--p100)}.cmp-sel-card.filled{border-style:solid;border-color:var(--p100)}
.cmp-sel-placeholder{color:var(--tl);font-size:.875rem}.cmp-sel-placeholder i{font-size:2rem;display:block;margin-bottom:.5rem;color:var(--borderl)}
.cmp-sel-flag{width:56px;height:42px;border-radius:8px;margin:0 auto .625rem;object-fit:cover}
.cmp-sel-name{font-size:.9375rem;font-weight:800;color:var(--td)}.cmp-sel-type{font-size:.7rem;font-weight:600;color:var(--tl);margin-top:.125rem}
.cmp-remove{position:absolute;top:.5rem;right:.5rem;width:24px;height:24px;border-radius:50%;background:rgba(239,68,68,.15);color:#ef4444;border:none;cursor:pointer;font-size:.7rem;display:flex;align-items:center;justify-content:center;transition:.2s}
.cmp-remove:hover{background:#ef4444;color:#fff}
.cmp-prog-dd{position:absolute;top:0;left:0;right:0;background:var(--w);border:2px solid var(--p);border-radius:var(--rl);overflow-y:auto;z-index:10;box-shadow:var(--shh);display:none;max-height:300px}
.cmp-prog-dd.open{display:block}
.cmp-prog-dd-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;cursor:pointer;border-bottom:1px solid var(--borderl);transition:.15s;text-align:left}
.cmp-prog-dd-item:hover{background:var(--ps)}.cmp-prog-dd-item img{width:28px;height:21px;border-radius:3px;object-fit:cover;flex-shrink:0}.cmp-prog-dd-item .name{font-size:.8125rem;font-weight:700;color:var(--td)}.cmp-prog-dd-item .price{font-size:.7rem;color:var(--p);font-weight:700}
.cmp-table-wrap{overflow-x:auto;border-radius:var(--rl);border:1px solid var(--borderl);box-shadow:var(--sh)}
.cmp-table{width:100%;border-collapse:collapse;min-width:480px}
.cmp-table .cmp-th-prog{background:var(--pdd);color:#fff;padding:1rem 1.25rem;font-size:.8125rem;font-weight:700;text-align:center}
.cmp-table .cmp-th-prog:first-child{text-align:left;font-size:.65rem;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.6)}
.cmp-flag{width:32px;height:24px;border-radius:4px;margin:0 auto .375rem;display:block;object-fit:cover}
.cmp-table tr:nth-child(even){background:var(--bg)}.cmp-table tr:hover{background:var(--ps)}
.cmp-table td{padding:.875rem 1.25rem;border-bottom:1px solid var(--borderl);vertical-align:middle}
.cmp-table td:first-child{font-size:.8125rem;font-weight:700;color:var(--tl);white-space:nowrap}
.cmp-table td:not(:first-child){text-align:center;font-size:.875rem;font-weight:600;color:var(--td)}
.cmp-best-badge{display:inline-flex;align-items:center;gap:.3rem;font-size:.6rem;font-weight:700;background:linear-gradient(135deg,var(--al),#f0c040);color:var(--pdd);padding:2px 7px;border-radius:var(--rf);margin-left:.375rem;vertical-align:middle}
.cmp-meter{height:8px;border-radius:4px;background:var(--borderl);overflow:hidden;margin:.25rem auto;max-width:80px}
.cmp-meter-fill{height:100%;border-radius:4px;background:linear-gradient(90deg,var(--p),var(--a))}
.cmp-empty{text-align:center;padding:4rem 2rem;color:var(--tl)}
@media(max-width:768px){.assess-opts{grid-template-columns:1fr}.assess-matches{grid-template-columns:1fr}.pp-table thead th:nth-child(n+4){display:none}.pp-table td:nth-child(n+4){display:none}.cmp-sel-wrap{grid-template-columns:1fr}}

/* ══════════════════════════════════════
   MOBILE-FIRST RESPONSIVE SYSTEM
   Breakpoints: 1024 | 768 | 480 | 320
══════════════════════════════════════ */

/* ── 1024px: Tablet landscape ── */
@media(max-width:1024px){
  .pgd-hero-stats{grid-template-columns:repeat(2,1fr)}
  .pgd-layout{grid-template-columns:1fr 280px;gap:2rem}
  .pd2-layout{grid-template-columns:1fr 260px;gap:2rem}
  .sp-layout{grid-template-columns:1fr 300px;gap:2rem}
  .about-intro{gap:2rem}
}

/* ── 768px: Tablet portrait (existing expanded) ── */
@media(max-width:768px){
  /* Typography: body readable without zoom */
  body{font-size:16px}
  h1,h2{letter-spacing:-.02em}
  .sec-title{font-size:clamp(1.5rem,5vw,2rem)}
  /* Sections: less vertical padding on mobile */
  .section{padding:3.5rem 0}
  /* Cards / grids → single column */
  .pgd-highlight-grid{grid-template-columns:1fr 1fr}
  .pgd-layout{grid-template-columns:1fr;gap:1.5rem}
  .pgd-layout>aside{order:2}
  .pd2-layout{grid-template-columns:1fr;gap:1.5rem}
  .sp-layout{grid-template-columns:1fr}
  .sp-layout>aside{display:none}
  /* Program stats: 2 cols on mobile */
  .pgd-hero-stats{grid-template-columns:1fr 1fr}
  .pgd-hstat{padding:.875rem 1rem}
  /* Hero fonts */
  .pgd-h1{font-size:clamp(1.6rem,6vw,2.5rem)}
  .sp-hero-h1{font-size:clamp(1.6rem,6vw,2.5rem)}
  /* Sticky nav: scrollable, larger taps, calculated offsets for mobile */
  .pgd-sticky,.pd2-sticky{top:calc(var(--h1) + var(--h3)) !important;z-index:150 !important}
  body.scrolled .pgd-sticky,body.scrolled .pd2-sticky{top:var(--h1) !important}
  .admin-bar .pgd-sticky,.admin-bar .pd2-sticky{top:calc(var(--h1) + var(--h3) + 46px) !important}
  body.admin-bar.scrolled .pgd-sticky,body.admin-bar.scrolled .pd2-sticky{top:calc(var(--h1) + 46px) !important}
  /* KPI row: 2 cols */
  .pd2-kpi{grid-template-columns:1fr 1fr;gap:.625rem;min-width:0}
  .pd2-kpi-item{min-width:0;word-break:break-word;padding:.65rem .5rem}
  .pd2-kpi-val{font-family:var(--fd);font-size:1.05rem;word-break:break-word}
  .pd2-kpi-lbl{font-size:.62rem}
  .pd2-hero-bar .pd2-badge, .pd2-hero-bar .pd2-status{font-size:.62rem !important;padding:3px 8px !important}
  .pd2-price-box{text-align:left !important;margin-top:.75rem;width:100%;display:flex;align-items:baseline;gap:.75rem}
  .pd2-price-box div:first-child{font-size:.72rem !important;margin-bottom:0 !important}
  .pd2-price-box div:last-child{font-size:1.5rem !important}
  .pd2-price-tbl{min-width:560px}
  /* Contact grid */
  .contact-main-grid{grid-template-columns:1fr}
  /* Footer stat row: 2 cols */
  .fpf-stat{padding:.875rem .5rem}
}

/* ── 480px: Large phone ── */
@media(max-width:480px){
  .container{padding:0 1rem}
  .section{padding:2.75rem 0}
  /* Hero stats: 2 cols stays, smaller padding */
  .pgd-hero-stats{grid-template-columns:1fr 1fr}
  .pgd-hstat-val{font-size:1.2rem}
  /* Blog pagination: bigger tap */
  .blog-pg-btn{width:44px;height:44px}
  /* Prog highlight: single col on small */
  .pgd-highlight-grid{grid-template-columns:1fr}
  /* Buttons: full-width on small screens in forms */
  .pd2-inq-form .btn,.cf-submit{width:100%}
  /* Float CTA: always on thumb zone */
  .float-cta{bottom:1rem;right:.75rem}
  /* No horizontal overflow */
  .blog-layout{overflow-x:hidden}
  .pgd-hero-stats{flex-wrap:wrap}
}

/* ── 320px: Very small phone ── */
@media(max-width:360px){
  .container{padding:0 .875rem}
  .btn-lg{font-size:.875rem;padding:12px 20px}
  .pgd-hstat-val{font-size:1.1rem}
  .hdr-announce{font-size:.65rem}
  .sp-hero-h1,.pgd-h1{font-size:clamp(1.4rem,7vw,2rem)}
}

/* ── Forms: mobile-optimized inputs ── */
.cf-inp,.pd2-inq-form input,.pd2-inq-form select,.pd2-inq-form textarea,.csb-form input,.csb-form select{
  min-height:48px;
  padding:10px 14px;
  font-size:1rem;
  line-height:1.4;
  border-radius:var(--r);
}
.cf-inp:focus,.pd2-inq-form input:focus,.pd2-inq-form select:focus{outline:2px solid var(--p);outline-offset:1px}
@media(max-width:768px){
  .cf-row{grid-template-columns:1fr}
  .pd2-inq-form input,.pd2-inq-form select,.csb-form input,.csb-form select{font-size:16px}
}

/* ── No horizontal scroll guarantee ── */
html,body{max-width:100%;overflow-x:hidden}
.container{min-width:0}

/* ── Fixed header clearance — belt-and-suspenders ── */
/* Ensures any page content below the hero also clears the fixed header */
.sp-hero,.prog-hero,.re-hero,.pgd-hero,.pd2-hero-bar,.story-detail-hero{
  scroll-margin-top:calc(var(--h1) + var(--h2) + var(--h3));
}
/* Admin-bar-aware hero padding boost */
.admin-bar .sp-hero{padding-top:calc(var(--h1) + var(--h2) + var(--h3) + 32px + 3rem)}
.admin-bar .prog-hero,.admin-bar .re-hero,.admin-bar .story-detail-hero{padding-top:calc(var(--h1) + var(--h2) + var(--h3) + 32px + 2.5rem)}
.admin-bar .pgd-hero{padding-top:calc(var(--h1) + var(--h2) + var(--h3) + 32px + 2.5rem)}
.admin-bar .pd2-hero-bar{padding-top:calc(var(--h1) + var(--h2) + var(--h3) + 32px + 1.5rem)}
.admin-bar .hero{margin-top:calc(var(--h1) + var(--h2) + var(--h3) + 32px);padding-top:0}
@media screen and (max-width:782px){
  .admin-bar .sp-hero{padding-top:calc(var(--h1) + var(--h2) + var(--h3) + 46px + 3rem)}
  .admin-bar .prog-hero,.admin-bar .re-hero,.admin-bar .story-detail-hero{padding-top:calc(var(--h1) + var(--h2) + var(--h3) + 46px + 2.5rem)}
  .admin-bar .pgd-hero{padding-top:calc(var(--h1) + var(--h2) + var(--h3) + 46px + 2.5rem)}
  .admin-bar .pd2-hero-bar{padding-top:calc(var(--h1) + var(--h2) + var(--h3) + 46px + 1.5rem)}
  .admin-bar .hero{margin-top:calc(var(--h1) + var(--h2) + var(--h3) + 46px);padding-top:0}
}

/* ── Content visibility: paint off-screen sections lazily ── */
.section,.pgd-sec,.pd2-sec{content-visibility:auto;contain-intrinsic-size:0 400px}

/* ══ MOBILE DRAWER ══════════════════════════════════════ */
.mob-overlay{position:fixed;inset:0;background:rgba(7,19,42,.7);z-index:250;opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s;backdrop-filter:blur(3px)}
.mob-overlay.open{opacity:1;visibility:visible}
.mob-drawer{position:fixed;top:0;left:0;bottom:0;width:min(320px,88vw);background:linear-gradient(180deg,#0C1E40 0%,#07132A 100%);z-index:260;transform:translateX(-100%);transition:transform .35s cubic-bezier(.4,0,.2,1);overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column}
.mob-drawer.open{transform:translateX(0)}
.mob-drawer-hd{display:flex;align-items:center;justify-content:space-between;padding:1.125rem 1.25rem;border-bottom:1px solid rgba(255,255,255,.08);flex-shrink:0}
.mob-drawer-logo{display:flex;align-items:center;gap:.625rem;text-decoration:none}
.mob-drawer-logo-name{font-family:var(--fd);font-size:1rem;font-weight:800;color:#fff;line-height:1}
.mob-drawer-logo-tag{font-size:.55rem;color:var(--al);letter-spacing:.08em;text-transform:uppercase}
.mob-close{width:36px;height:36px;border-radius:8px;background:rgba(255,255,255,.1);border:none;color:#fff;font-size:1rem;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:.2s;flex-shrink:0}
.mob-close:hover{background:rgba(255,255,255,.2)}
.mob-nav{flex:1;padding:1rem 0}
.mob-nav-item{display:block;padding:.875rem 1.25rem;font-size:.875rem;font-weight:600;color:rgba(255,255,255,.8);text-decoration:none;border-bottom:1px solid rgba(255,255,255,.05);display:flex;align-items:center;gap:.75rem;transition:.15s}
.mob-nav-item:hover,.mob-nav-item.active{color:#fff;background:rgba(255,255,255,.08);padding-left:1.5rem}
.mob-nav-item i{width:18px;text-align:center;font-size:.85rem;color:var(--al);flex-shrink:0}
.mob-nav-section{padding:.625rem 1.25rem .25rem;font-size:.6rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.3)}
.mob-nav-sub{background:rgba(0,0,0,.2)}
.mob-nav-sub .mob-nav-item{padding-left:2.25rem;font-size:.82rem;font-weight:500;color:rgba(255,255,255,.65);border-bottom-color:rgba(255,255,255,.03)}
.mob-nav-sub .mob-nav-item:hover{color:#fff;padding-left:2.5rem}
.mob-nav-sub .mob-nav-item i{font-size:.7rem;color:var(--tl)}
.mob-cta-bar{padding:1.25rem;border-top:1px solid rgba(255,255,255,.08);flex-shrink:0;display:flex;flex-direction:column;gap:.625rem}
.mob-cta-phone{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.875rem;background:linear-gradient(135deg,#FFB800,#FFD700);border-radius:var(--r);font-family:var(--fd);font-size:1rem;font-weight:900;color:#0C1E40;text-decoration:none;transition:.15s}
.mob-cta-phone:hover{transform:translateY(-1px);box-shadow:0 6px 20px rgba(255,184,0,.5);color:#0C1E40}
.mob-cta-consult{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem;background:rgba(255,255,255,.1);border:1.5px solid rgba(255,255,255,.2);border-radius:var(--r);font-size:.875rem;font-weight:700;color:#fff;text-decoration:none;transition:.15s}
.mob-cta-consult:hover{background:rgba(255,255,255,.18);color:#fff}
.mob-cta-bar .mob-social{display:flex;gap:.5rem;justify-content:center;align-items:center;padding-top:.375rem}
.mob-cta-bar .mob-social a{width:36px;height:36px;min-width:36px;min-height:36px;border-radius:50%;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.7);font-size:.8rem;transition:.2s;text-decoration:none;flex-shrink:0;align-self:center;box-sizing:border-box}
.mob-cta-bar .mob-social a:hover{background:var(--a);border-color:var(--a);color:var(--pdd)}

/* ══ SC TRUST STRIP ══════════════════════════════════ */
.sc-trust{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;background:linear-gradient(135deg,var(--ps),rgba(24,71,170,.06));border:1px solid var(--p100);border-radius:var(--rl);padding:1.25rem 2rem;margin:2.5rem 0}
.sc-trust-item{display:flex;align-items:center;gap:.5rem;font-size:.8125rem;font-weight:600;color:var(--td);padding:.5rem 1.5rem;white-space:nowrap}
.sc-trust-item i{font-size:.95rem}
.sc-trust-sep{width:1px;height:32px;background:var(--borderl);flex-shrink:0}
@media(max-width:768px){
  .sc-trust{display:grid;grid-template-columns:repeat(2,1fr);padding:1rem .75rem;gap:.75rem .5rem;text-align:left}
  .sc-trust-sep{display:none}
  .sc-trust-item{padding:0;white-space:normal;font-size:.78rem;line-height:1.3;display:flex;align-items:center;gap:.45rem}
  .sc-trust-item i{font-size:.9rem;flex-shrink:0}
}

/* ══ SUCCESS STORY CARDS (sc-*) ══════════════════════ */
.sc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-bottom:2.5rem}
.sc-card{background:var(--w);border:1px solid var(--borderl);border-radius:var(--rl);overflow:hidden;display:flex;flex-direction:column;text-decoration:none;color:inherit;transition:.3s;box-shadow:0 2px 12px rgba(23,87,209,.07)}
.sc-card:hover{transform:translateY(-6px);box-shadow:var(--shh);border-color:var(--p100)}
.sc-img{height:160px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}
.sc-prog-badge{position:absolute;bottom:.75rem;left:.75rem;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:3px 10px;border-radius:var(--rf);background:rgba(24,71,170,.7);color:#fff;backdrop-filter:blur(4px)}
.sc-body{padding:1.25rem;flex:1;display:flex;flex-direction:column}
.sc-meta{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.625rem}
.sc-cat{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--p);background:var(--ps);padding:3px 10px;border-radius:var(--rf)}
.sc-date{font-size:.72rem;color:var(--tl)}
.sc-title{font-size:.9375rem;font-weight:700;color:var(--td);margin-bottom:.625rem;line-height:1.4;flex:1}
.sc-title em{color:var(--p);font-style:normal}
.sc-excerpt{font-size:.8125rem;color:var(--tm);line-height:1.6;margin-bottom:1rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.sc-footer{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding-top:.875rem;border-top:1px solid var(--borderl);margin-top:auto}
.sc-author{display:flex;align-items:center;gap:.5rem;font-size:.75rem;color:var(--tm);min-width:0}
.sc-av{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:800;color:#fff;flex-shrink:0;font-family:var(--fd)}
.sc-result{display:inline-flex;align-items:center;gap:.3rem;font-size:.7rem;font-weight:700;color:#059669;white-space:nowrap}
.sc-stats{display:grid;grid-template-columns:repeat(4,1fr);background:var(--ps);border:1px solid var(--p100);border-radius:var(--rl);padding:1.5rem;margin:2.5rem 0}
.sc-stat{text-align:center;position:relative}
.sc-stat:not(:last-child)::after{content:'';position:absolute;right:0;top:15%;bottom:15%;width:1px;background:var(--border)}
.sc-stat-n{display:block;font-family:var(--fd);font-size:2rem;font-weight:800;color:var(--p);line-height:1;letter-spacing:-.03em}
.sc-stat-l{display:block;font-size:.75rem;color:var(--tm);font-weight:500;margin-top:4px}
.sc-archive-layout{display:grid;grid-template-columns:1fr 300px;gap:2.5rem;align-items:start}
.sc-archive-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem}
.sc-featured{border-radius:var(--rl);overflow:hidden;margin-bottom:1.5rem;display:grid;grid-template-columns:1fr 1.2fr;background:var(--w);border:1px solid var(--borderl);box-shadow:var(--sh);text-decoration:none;color:inherit;transition:.3s}
.sc-featured:hover{transform:translateY(-3px);box-shadow:var(--shh)}
.sc-feat-img{min-height:240px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}
.sc-feat-body{padding:2rem;display:flex;flex-direction:column;justify-content:center}
.sc-feat-tag{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--a);background:var(--as);padding:4px 12px;border-radius:var(--rf);display:inline-flex;align-items:center;gap:.35rem;width:fit-content;margin-bottom:1rem;border:1px solid rgba(200,151,32,.2)}
.sc-feat-title{font-family:var(--fd);font-size:1.25rem;font-weight:800;color:var(--td);margin-bottom:.75rem;line-height:1.35}
.sc-feat-title em{color:var(--p);font-style:normal}
.sc-feat-excerpt{font-size:.875rem;color:var(--tm);line-height:1.65;margin-bottom:1.25rem}
.sc-feat-author{display:flex;align-items:center;gap:.625rem;padding-top:1rem;border-top:1px solid var(--borderl)}
.story-detail-layout{display:grid;grid-template-columns:1fr 300px;gap:2.5rem;padding:3.5rem 0 5rem;align-items:start}
.story-content{font-size:.9375rem;line-height:1.8;color:var(--t)}
.story-content p{margin-bottom:1.25rem}
.story-content blockquote{background:var(--ps);border-left:4px solid var(--p);padding:1rem 1.5rem;border-radius:0 var(--r) var(--r) 0;margin:1.5rem 0;font-style:italic;color:var(--td)}
.story-timeline{position:relative;padding-left:2rem}
.story-timeline::before{content:'';position:absolute;left:.5rem;top:.5rem;bottom:.5rem;width:2px;background:var(--gp);border-radius:2px}
.story-tl-item{position:relative;margin-bottom:1.5rem}
.story-tl-dot{position:absolute;left:-2rem;top:.25rem;width:20px;height:20px;border-radius:50%;background:var(--gp);display:flex;align-items:center;justify-content:center;color:#fff;font-size:.55rem;flex-shrink:0}
.story-tl-title{font-weight:700;color:var(--td);margin-bottom:.375rem;font-size:.9375rem}
.story-tl-desc{font-size:.875rem;color:var(--tm);line-height:1.55}
.story-tl-time{font-size:.72rem;font-weight:700;color:var(--p);margin-bottom:.25rem}
@media(max-width:900px){
  .story-filter-wrap{top:62px !important}
  .sc-archive-layout{grid-template-columns:1fr;gap:1.5rem}
  .sc-archive-layout>aside,
  .sc-archive-layout>div:last-child{display:none !important}
  .sc-archive-layout>div:first-child{min-width:0;width:100%}
  .sc-featured{grid-template-columns:1fr}
  .story-detail-layout{grid-template-columns:1fr;padding:2.5rem 0 4rem}
  .story-detail-layout>aside,
  .story-detail-layout>div:last-child{display:none !important}
}
@media(max-width:768px){.sc-grid{grid-template-columns:1fr}.sc-archive-grid{grid-template-columns:1fr}}
@media(max-width:480px){.sc-stats{grid-template-columns:repeat(2,1fr)}.sc-stat:nth-child(2)::after{display:none}}
/* ══ SUCCESS STORIES (legacy story-card) ════════════ */
.story-card{background:var(--w);border:1px solid var(--borderl);border-radius:var(--rl);overflow:hidden;box-shadow:0 2px 12px rgba(23,87,209,.07);transition:.3s;display:flex;flex-direction:column}
.story-card:hover{transform:translateY(-5px);box-shadow:var(--shh);border-color:var(--p100)}
.story-card-top{padding:1.5rem;background:var(--gpa);position:relative;min-height:130px}
.story-card-top::after{content:'"';position:absolute;top:.5rem;right:1rem;font-size:5rem;color:rgba(255,255,255,.08);font-family:Georgia,serif;line-height:1}
.story-av{width:60px;height:60px;border-radius:50%;background:var(--ga);display:flex;align-items:center;justify-content:center;font-family:var(--fd);font-size:1.5rem;font-weight:800;color:var(--pdd);border:3px solid rgba(255,255,255,.3);margin-bottom:.75rem}
.story-name{font-family:var(--fd);font-size:1rem;font-weight:800;color:#fff;margin-bottom:.2rem}
.story-prog{font-size:.78rem;color:var(--al);font-weight:600;display:flex;align-items:center;gap:.35rem}
.story-card-body{padding:1.25rem;flex:1;display:flex;flex-direction:column}
.story-quote{font-size:.875rem;color:var(--tm);line-height:1.65;flex:1;margin-bottom:1rem;font-style:italic}
.story-meta{display:flex;gap:.5rem;flex-wrap:wrap}
.story-badge{font-size:.65rem;font-weight:700;padding:3px 9px;border-radius:var(--rf);background:var(--okbg);color:var(--ok);border:1px solid #A7F3D0}
.story-badge.gold{background:var(--as);color:var(--ad);border-color:rgba(212,165,32,.25)}
.story-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
@media(max-width:1024px){.story-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.story-grid{grid-template-columns:1fr}}
/* Single story detail */
.story-detail-hero{padding:calc(var(--h1) + var(--h2) + var(--h3) + 2.5rem) 0 2.5rem;background:var(--gpa);position:relative;overflow:hidden}
.story-detail-hero::after{content:'';position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.03'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E")}
.story-detail-av{width:80px;height:80px;border-radius:50%;background:var(--ga);display:flex;align-items:center;justify-content:center;font-family:var(--fd);font-size:2rem;font-weight:800;color:var(--pdd);border:4px solid rgba(255,255,255,.25);margin-bottom:1rem}
.story-result-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;margin:2rem 0}
.story-result-item{background:var(--gpa);border-radius:var(--rl);padding:1.25rem;text-align:center;border:1px solid rgba(255,255,255,.08)}
.story-result-val{font-family:var(--fd);font-size:1.5rem;font-weight:800;color:var(--al);margin-bottom:.25rem}
.story-result-lbl{font-size:.75rem;color:rgba(255,255,255,.6);text-transform:uppercase;letter-spacing:.06em}
@media(max-width:768px){.story-result-grid{grid-template-columns:1fr 1fr}}

/* ══ ADDITIONAL RESPONSIVE FIXES ═══════════════════════ */
/* Single-post/story sidebar hide on mobile */
@media(max-width:900px){
  .single-gi_story aside,.single aside,.single-gi_project aside{display:none}
  .single-gi_story article,.single article,.single-gi_project .pd2-layout>div:first-child{grid-column:1/-1}
}
/* Stats bar: 2 cols on phone */
@media(max-width:480px){
  .stats-bar .container{grid-template-columns:repeat(2,1fr)}
  .stat-item:nth-child(2)::after{display:none}
}
/* Hero slider: smaller padding & responsive arrows */
@media(max-width:480px){
  .slide-content{padding:3rem 46px 2.5rem !important}
  .hero-arr{width:40px !important;height:40px !important;min-width:40px !important;min-height:40px !important;max-width:40px !important;max-height:40px !important;aspect-ratio:1/1 !important;padding:0 !important;margin:0 !important;font-size:.8rem !important;box-sizing:border-box !important;flex-shrink:0 !important;-webkit-appearance:none !important;appearance:none !important}
  #prev-btn{left:.5rem !important}#next-btn{right:.5rem !important}
  .slider-dots{bottom:1.25rem}
}
@media(min-width:481px) and (max-width:768px){
  .slide-content{padding-left:52px !important;padding-right:52px !important}
  .hero-arr{width:44px !important;height:44px !important;min-width:44px !important;min-height:44px !important;max-width:44px !important;max-height:44px !important;aspect-ratio:1/1 !important;padding:0 !important;margin:0 !important;box-sizing:border-box !important;flex-shrink:0 !important;-webkit-appearance:none !important;appearance:none !important}
  #prev-btn{left:.75rem !important}#next-btn{right:.75rem !important}
}
/* Tabs: scroll on mobile */
@media(max-width:768px){
  .tabs{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding-bottom:.25rem}
  .tabs::-webkit-scrollbar{display:none}
  .tab{flex-shrink:0}
  /* Programs grid: 2 col on tablet, 1 on phone */
  .tab-panel.active{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:480px){.tab-panel.active{grid-template-columns:1fr}}
/* Why us visual: hide on tablet portrait */
@media(max-width:900px){.why-visual{display:none}.why-grid{grid-template-columns:1fr}}
/* Float cards: hide on mobile to avoid overlap */
@media(max-width:600px){.float-card{display:none}}
/* Footer grid: 2 cols on tablet */
@media(max-width:860px) and (min-width:481px){.foot-grid{grid-template-columns:1fr 1fr;gap:2rem}}
/* CTA grid: stack on mobile */
@media(max-width:768px){
  .cta-grid{grid-template-columns:1fr}
  .form-card{padding:1.5rem}
  .cta-btns .btn{width:100%;justify-content:center}
}
/* Announcement bar hide 2nd message on mobile */
@media(max-width:480px){
  .hdr-announce .container{gap:.5rem}
  .ann-sep,.ann-text:nth-of-type(2){display:none}
}
/* Blog grid: ensure 1 col on small mobile */
@media(max-width:480px){.blog-grid{grid-template-columns:1fr;gap:1rem}}
/* Project detail inline sidebar: move above content */
@media(max-width:768px){
  .pd2-layout>aside{order:-1}
  .pd2-sidebar-price-box{padding:1rem}
  .pd2-gallery{grid-template-rows:200px;grid-template-columns:1fr}
}

/* PARTNERS - HOMEPAGE & ABOUT */
.partners-section{padding:3.5rem 0;background:var(--bg);border-top:1px solid var(--borderl)}
.partners-logos{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:.875rem;margin-top:2rem}
.partner-logo{display:flex;align-items:center;justify-content:center;gap:.6rem;padding:.9rem 1.625rem;background:var(--w);border:none!important;border-radius:12px;font-size:.875rem;font-weight:700;color:var(--td);transition:.25s;white-space:nowrap;box-shadow:0 4px 14px rgba(0,0,0,.06)}
.partner-logo:hover{color:var(--p);background:var(--w);transform:translateY(-3px);box-shadow:0 8px 24px rgba(0,0,0,.12)}
.partner-logo .pl-flag{font-size:1.15rem}

/* Single article 2-col → 1 col */
@media(max-width:768px){
  .single-layout-2col{grid-template-columns:1fr!important}
  .partners-logos{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding-bottom:.5rem}
  .partners-logos::-webkit-scrollbar{display:none}
  .partner-logo{flex-shrink:0}
}
/* Success story grid on mobile */
@media(max-width:480px){.story-grid{grid-template-columns:1fr}.partner-logo{padding:.625rem 1rem;font-size:.75rem}}
/* Program filter bar scroll on mobile */
@media(max-width:600px){
  .prog-filter-bar{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding-bottom:.5rem}
  .prog-filter-bar::-webkit-scrollbar{display:none}
  .pf-btn{flex-shrink:0}
}
/* Back-to-top: smaller on mobile, don't overlap float CTA or contact widget */
@media(max-width:768px){
  .btt{bottom:calc(20px + env(safe-area-inset-bottom, 0px))!important;left:16px!important;right:auto!important;width:42px!important;height:42px!important}
  .float-cta{bottom:5rem;right:.875rem}
}
/* Prevent text overflow globally */
h1,h2,h3,h4,h5{overflow-wrap:break-word;word-break:break-word}
/* Ensure images never overflow */
img,video,iframe,embed,object{max-width:100%}

/* BLOG PAGE STYLES */
.blog-filter{display:flex;align-items:center;gap:.625rem;flex-wrap:wrap;margin-bottom:2rem}
.bf-btn{display:inline-flex;align-items:center;white-space:nowrap;flex-shrink:0}
@media(max-width:900px){
  .blog-filter{
    display:flex !important;
    gap:.5rem !important;
    flex-wrap:nowrap !important;
    overflow-x:auto !important;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    padding-bottom:6px;
    margin-bottom:1.5rem !important;
  }
  .blog-filter::-webkit-scrollbar{display:none}
  .bf-btn{
    padding:7px 14px !important;
    font-size:.78rem !important;
    flex-shrink:0 !important;
  }
}
.blog-layout{display:grid;grid-template-columns:1fr 340px;gap:2.5rem;align-items:start}
.blog-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.75rem}
.single-layout-2col{display:grid;grid-template-columns:1fr 300px;gap:2.5rem;align-items:start}

@media(max-width:768px){
  .blog-layout{grid-template-columns:1fr !important;gap:2rem !important}
  .blog-grid{grid-template-columns:1fr !important;gap:1.25rem !important}
  .single-layout-2col{grid-template-columns:1fr !important;gap:2rem !important}
  .single-layout-2col>aside{position:static !important;top:auto !important;width:100% !important}
  .blog-sidebar{position:static !important;top:auto !important;width:100% !important}
}
.blog-main-content{min-width:0}
.blog-sidebar{position:sticky;top:calc(var(--h1) + var(--h2) + var(--h3) + 1.5rem);display:flex;flex-direction:column;gap:1.5rem}
.blog-card-img{height:180px;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}
.blog-card-img .img-icon{font-size:3.5rem;color:rgba(255,255,255,.25)}
.blog-card-cat{position:absolute;top:.875rem;left:.875rem;font-size:.65rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;padding:3px 10px;border-radius:var(--rf);background:var(--p);color:#fff}
.blog-card-body{padding:1.35rem;display:flex;flex-direction:column;flex-grow:1}
.blog-card-meta{display:flex;align-items:center;gap:.875rem;font-size:.72rem;color:var(--tl);margin-bottom:.625rem}
.blog-card-meta i{font-size:10px;color:var(--p);opacity:.6}
.blog-card-title{font-family:var(--fd);font-size:1rem;font-weight:700;color:var(--td);line-height:1.4;margin-bottom:.5rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.blog-card-title:hover{color:var(--p)}
.blog-card-excerpt{font-size:.8125rem;color:var(--tm);line-height:1.6;flex:1;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:1rem}
.blog-card-foot{display:flex;align-items:center;justify-content:space-between;padding-top:.875rem;border-top:1px solid var(--borderl)}
.blog-card-author{display:flex;align-items:center;gap:.5rem;font-size:.75rem;color:var(--tm);font-weight:500}
.blog-author-av{width:26px;height:26px;border-radius:50%;background:var(--gp);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.6rem;font-weight:700;flex-shrink:0}
.blog-read-more{font-size:.75rem;font-weight:700;color:var(--p);display:flex;align-items:center;gap:.3rem;transition:.2s}
.blog-read-more:hover{gap:.6rem;color:var(--pl)}

.blog-featured{display:grid;grid-template-columns:1.4fr 1fr;border-radius:var(--rl);overflow:hidden;border:1px solid var(--borderl);box-shadow:var(--sh);background:var(--w);transition:.3s;cursor:pointer}
.blog-featured:hover{transform:translateY(-4px);box-shadow:var(--shh)}
.blog-feat-img{background:var(--gpa);display:flex;align-items:center;justify-content:center;position:relative;min-height:260px}
@media(max-width:640px){.blog-featured{grid-template-columns:1fr}.blog-feat-img{min-height:180px}}
.blog-feat-img .feat-icon{font-size:5rem;opacity:.12;color:#fff}
.blog-feat-cat{position:absolute;top:1rem;left:1rem;font-size:.65rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;padding:4px 12px;border-radius:var(--rf);background:var(--a);color:var(--pdd)}
.blog-feat-body{padding:2rem 1.75rem;display:flex;flex-direction:column;justify-content:center}
.blog-feat-tag{font-size:.72rem;font-weight:700;color:var(--p);text-transform:uppercase;letter-spacing:.08em;margin-bottom:.5rem}
.blog-feat-title{font-family:var(--fd);font-size:1.5rem;font-weight:800;color:var(--td);line-height:1.3;margin-bottom:.875rem;letter-spacing:-.025em}
.blog-feat-title:hover{color:var(--p)}
.blog-feat-excerpt{font-size:.875rem;color:var(--tm);line-height:1.65;margin-bottom:1.25rem}

.blog-sdb-box{background:var(--w);border:1px solid var(--borderl);border-radius:var(--rl);padding:1.5rem;margin-bottom:1.5rem;box-shadow:var(--sh)}
.blog-sdb-box h4{font-family:var(--fd);font-size:.9rem;font-weight:700;color:var(--td);margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--borderl);display:flex;align-items:center;gap:.5rem}
.blog-sdb-box h4 i{color:var(--p)}
.cat-list{display:flex;flex-direction:column;gap:.375rem}
.cat-item{display:flex;align-items:center;justify-content:space-between;padding:.5rem .75rem;border-radius:8px;cursor:pointer;transition:.15s;font-size:.8125rem;color:var(--t);font-weight:500;text-decoration:none}
.cat-item:hover,.cat-item.active{background:var(--ps);color:var(--p)}
.cat-count{font-size:.7rem;background:var(--p100);color:var(--p);padding:2px 8px;border-radius:var(--rf);font-weight:700}
.pop-list{display:flex;flex-direction:column;gap:.875rem}
.pop-item{display:flex;gap:.875rem;cursor:pointer;padding-bottom:.875rem;border-bottom:1px solid var(--borderl);text-decoration:none;color:inherit}
.pop-item:last-child{border-bottom:none;padding-bottom:0}
.pop-item:hover .pop-title{color:var(--p)}
.pop-thumb{width:64px;height:50px;border-radius:8px;background:var(--gpa);flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:1.25rem;opacity:.4;color:#fff;overflow:hidden}
.pop-title{font-size:.8rem;font-weight:700;color:var(--td);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;transition:.2s}
.pop-date{font-size:.7rem;color:var(--tl);margin-top:.25rem}
.newsletter-box{background:var(--gpa);border-radius:var(--rl);padding:1.5rem;text-align:center}
.newsletter-box h4{color:#fff;font-family:var(--fd);font-size:1rem;font-weight:700;margin-bottom:.375rem}
.newsletter-box p{color:rgba(255,255,255,.75);font-size:.78rem;margin-bottom:1rem;line-height:1.5}
.nl-inp{width:100%;padding:10px 14px;border-radius:var(--rf);border:none;font-size:.8125rem;margin-bottom:.625rem;outline:none}

.pagination{display:flex;align-items:center;gap:.45rem;margin-top:2.5rem;justify-content:center;flex-wrap:wrap}
.page-num{min-width:38px;height:38px;padding:0 9px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;font-size:.875rem;font-weight:700;color:var(--td);border:1.5px solid var(--border);background:#fff;cursor:pointer;transition:.2s;text-decoration:none;box-shadow:0 2px 6px rgba(0,0,0,.03);box-sizing:border-box}
.page-num:hover{background:var(--ps);color:#002da2;border-color:#002da2;transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,45,162,.15)}
.page-num.active{background:#002da2!important;color:#fff!important;border-color:#002da2!important;box-shadow:0 4px 14px rgba(0,45,162,.35)}
.page-num.disabled{opacity:.35;cursor:not-allowed;pointer-events:none;background:#f8fafc;border-color:#e2e8f0;color:#94a3b8}
.page-num.dots{border:none;background:transparent;box-shadow:none;cursor:default;color:var(--tl)}
.page-num.nav-btn{font-size:.8rem}

/* ── TEAM SQUIRCLE AVATAR & 38 MEMBER GRID ── */
.team-grid-auto{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem}
.team-card2{background:var(--w);border:1.5px solid var(--borderl);border-radius:20px;padding:2rem 1.25rem;text-align:center;box-shadow:var(--sh);transition:.3s;display:flex;flex-direction:column;align-items:center}
.team-card2:hover{transform:translateY(-5px);box-shadow:var(--shh);border-color:var(--p100)}
.team-squircle-av{width:140px;height:140px;border-radius:22px;object-fit:cover;margin:0 auto 1.25rem;display:flex;align-items:center;justify-content:center;background:#002da2;color:#fff;font-family:var(--fd);font-size:2.25rem;font-weight:800;border:2.5px solid #e0eeff;box-shadow:0 8px 24px rgba(0,45,162,.16);transition:.25s;flex-shrink:0}
.team-card2:hover .team-squircle-av{transform:scale(1.05);box-shadow:0 12px 30px rgba(0,45,162,.26);border-color:var(--p)}
.team-card-name{font-family:var(--fd);font-weight:800;color:var(--td);font-size:1.0625rem;text-align:center;margin-bottom:.25rem;line-height:1.3}
.team-card-role{font-size:.75rem;font-weight:700;color:var(--p);text-align:center;text-transform:uppercase;letter-spacing:.06em;margin-bottom:.75rem;line-height:1.3}
.team-card-bio{font-size:1rem;color:#333333;line-height:1.6;text-align:center}
@media(max-width:1100px){.team-grid-auto{grid-template-columns:repeat(3,1fr)}}
@media(max-width:768px){
  .team-grid-auto{grid-template-columns:repeat(2,1fr);gap:1rem}
  .team-grid-auto, .team-card2{opacity:1!important;transform:none!important}
}
@media(max-width:480px){.team-grid-auto{grid-template-columns:repeat(2,1fr);gap:.625rem}.team-squircle-av{width:80px;height:80px}.team-card-name{font-size:.82rem}.team-card-role{font-size:.7rem}}

/* ── 6-COLUMN GLOBAL PARTNERS GRID & SLIDER ── */
.partners-grid-6{display:grid;grid-template-columns:repeat(6,1fr);gap:1.25rem;margin-top:2.5rem;align-items:stretch}
.partner-logo-card{background:#ffffff;border:none!important;border-radius:16px;padding:1.5rem 1rem;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:135px;box-shadow:0 4px 20px rgba(0,0,0,.08),0 1px 4px rgba(0,0,0,.04);transition:.3s;text-decoration:none}
.partner-logo-card:hover{transform:translateY(-5px);box-shadow:0 14px 34px rgba(0,0,0,.13);background:#ffffff}
.partner-logo-card img{max-height:85px;max-width:92%;object-fit:contain;transition:.25s;display:block}
.partner-logo-card:hover img{transform:scale(1.06)}
.partner-logo-card .partner-name{font-size:.875rem;font-weight:700;color:var(--td);margin-top:.875rem;text-align:center;line-height:1.3}
@media(max-width:1200px){.partners-grid-6{grid-template-columns:repeat(4,1fr)}}
@media(max-width:900px){.partners-grid-6{grid-template-columns:repeat(3,1fr)}}
@media(max-width:640px){
  .partners-grid-6{grid-template-columns:repeat(2,1fr);gap:.75rem}
  .partner-logo-card{min-height:90px;padding:.75rem .5rem;border-radius:12px}
  .partner-logo-card img{max-height:48px;max-width:85%}
  .partner-logo-card .partner-name{font-size:.72rem;margin-top:.4rem}
}

/* ── ABOUT US 4 STATS CARDS (MOCKUP SPEC) ── */
.about-stats-wrapper {
  position: relative;
  margin-top: -48px;
  z-index: 10;
  padding: 0 1rem;
  margin-bottom: 3.5rem;
}
.about-stats-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.25rem;
  max-width: 1140px;
  margin: 0 auto;
}
.about-stat-card {
  background: #ffffff;
  border: 1.5px solid #204db5;
  border-radius: 16px;
  padding: 1.85rem 1rem;
  text-align: center;
  box-shadow: 0 10px 30px rgba(0, 45, 162, 0.08), 0 2px 6px rgba(0, 0, 0, 0.04);
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.about-stat-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 16px 36px rgba(0, 45, 162, 0.16);
  border-color: #002da2;
}
.about-stat-card-num {
  font-family: var(--fd, sans-serif);
  font-size: 2.6rem;
  font-weight: 800;
  color: #072b6b;
  line-height: 1.15;
  margin-bottom: 0.5rem;
  letter-spacing: -0.02em;
}
.about-stat-card-lbl {
  font-size: 0.95rem;
  font-weight: 700;
  color: #334155;
  line-height: 1.35;
}
@media (max-width: 992px) {
  .about-stats-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
  }
  .about-stats-wrapper {
    margin-top: -32px;
    margin-bottom: 2.5rem;
  }
  .about-stat-card-num {
    font-size: 2.2rem;
  }
}
@media (max-width: 480px) {
  .about-stats-grid {
    grid-template-columns: 1fr 1fr;
    gap: 0.75rem;
  }
  .about-stat-card {
    padding: 1.25rem 0.5rem;
    border-radius: 12px;
  }
  .about-stat-card-num {
    font-size: 1.75rem;
  }
  .about-stat-card-lbl {
    font-size: 0.8rem;
  }
}

/* ════════════════════════════════════════════════════════════════════════════
   GOLDEN IMMI: EXTENDED STYLES (EVENTS, HEADER ROW 1, VKA FAB, CERTIFICATES)
   ════════════════════════════════════════════════════════════════════════════ */

/* ── 1. HEADER ROW 1 WHITE FRAME QUICK NAVIGATION ── */
.hdr-quick-nav {
  display: flex;
  align-items: center;
  gap: 1.15rem;
  background: #ffffff;
  border: 1.5px solid #e2e8f0;
  border-radius: 999px;
  padding: 6px 20px;
  box-shadow: 0 2px 8px rgba(0, 45, 162, 0.05);
}
.hdr-quick-link {
  font-size: 0.85rem;
  font-weight: 700;
  color: #1e293b;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  transition: color 0.15s ease;
  white-space: nowrap;
}
.hdr-quick-link:hover,
.hdr-quick-link.active {
  color: #002da2;
}
.hdr-quick-sep {
  color: #cbd5e1;
  font-weight: 300;
  user-select: none;
}
.hdr-quick-dd-wrap {
  position: relative;
}
.hdr-quick-dd-trigger {
  cursor: pointer;
}
.hdr-quick-dd {
  position: absolute;
  top: calc(100% + 12px);
  right: 0;
  min-width: 240px;
  background: #ffffff;
  border-radius: 12px;
  border: 1px solid #e2e8f0;
  border-top: 3px solid #D4A520;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.12);
  list-style: none;
  padding: 6px 0;
  margin: 0;
  opacity: 0;
  visibility: hidden;
  transform: translateY(8px);
  transition: all 0.2s ease;
  z-index: 300;
}
.hdr-quick-dd-wrap:hover .hdr-quick-dd {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.hdr-quick-dd li a {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  padding: 9px 16px;
  font-size: 0.825rem;
  font-weight: 600;
  color: #334155;
  text-decoration: none;
  transition: background 0.15s, color 0.15s;
}
.hdr-quick-dd li a:hover {
  background: #f0f4ff;
  color: #002da2;
  padding-left: 20px;
}
@media (max-width: 992px) {
  .hdr-quick-nav {
    display: none;
  }
}

/* ── 2. TOPBAR ANNOUNCEMENT TICKER ── */
.ann-ticker-wrap {
  display: inline-block;
  overflow: hidden;
  vertical-align: middle;
  max-width: 650px;
  white-space: nowrap;
}
.ann-ticker-track {
  display: inline-flex;
  align-items: center;
  gap: 0.875rem;
}

/* ── 3. LANGUAGE SWITCHER ── */
.hdr-lang-wrap {
  position: relative;
}
.hdr-lang {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: #ffffff;
  border: 1px solid #cbd5e1;
  border-radius: 999px;
  padding: 5px 12px;
  font-size: 0.78rem;
  font-weight: 700;
  color: #1e293b;
  cursor: pointer;
  transition: all 0.2s ease;
}
.hdr-lang:hover {
  border-color: #002da2;
  color: #002da2;
}
.hdr-lang-menu {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  min-width: 150px;
  background: #ffffff;
  border-radius: 10px;
  border: 1px solid #e2e8f0;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
  padding: 4px;
  opacity: 0;
  visibility: hidden;
  transform: translateY(6px);
  transition: all 0.2s ease;
  z-index: 300;
}
.hdr-lang-wrap.open .hdr-lang-menu,
.hdr-lang-wrap:hover .hdr-lang-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.lang-item {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  background: transparent;
  border: none;
  border-radius: 6px;
  font-size: 0.8rem;
  font-weight: 600;
  color: #334155;
  text-align: left;
  cursor: pointer;
  transition: background 0.15s, color 0.15s;
}
.lang-item img {
  width: 18px;
  height: 13px;
  border-radius: 2px;
}
.lang-item:hover,
.lang-item.active {
  background: #f0f4ff;
  color: #002da2;
}

/* ── 4. FLOATING CALL WIDGET (vka-wrapper + <i class="icon-cps-vka-menu"></i>) ── */
.vka-wrapper {
  position: fixed;
  bottom: 78px;
  right: 20px;
  z-index: 9999;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  pointer-events: none;
}
@media (max-width: 768px) {
  .vka-wrapper {
    bottom: calc(72px + env(safe-area-inset-bottom, 0px));
    right: 16px;
  }
}
.vka-menu-items {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 10px;
  margin-bottom: 12px;
  opacity: 0;
  visibility: hidden;
  transform: translateY(15px);
  transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  pointer-events: none;
}
.vka-wrapper.open .vka-menu-items {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  pointer-events: auto;
}
.vka-item {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
  cursor: pointer;
  transition: transform 0.2s ease;
}
.vka-item:hover {
  transform: translateX(-4px);
}
.vka-item-label {
  background: #ffffff;
  color: #0f172a;
  font-size: 0.8rem;
  font-weight: 700;
  padding: 6px 14px;
  border-radius: 999px;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.12);
  border: 1px solid #e2e8f0;
  white-space: nowrap;
}
.vka-item-circle {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #ffffff;
  font-size: 1.1rem;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.2);
}
.vka-phone .vka-item-circle {
  background: linear-gradient(135deg, #ef4444, #dc2626);
}
.vka-zalo .vka-item-circle {
  background: #0068FF;
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: -0.02em;
}
.vka-messenger .vka-item-circle {
  background: linear-gradient(135deg, #00B2FE, #006AFF);
}
.vka-map .vka-item-circle {
  background: linear-gradient(135deg, #10b981, #059669);
}
.vka-consult .vka-item-circle {
  background: linear-gradient(135deg, #D4A520, #F0C040);
  color: #0C1E40;
}
.vka-viber .vka-item-circle {
  background: linear-gradient(135deg, #7360f2, #59267c);
  color: #fff;
  font-size: 1.25rem;
}
.vka-whatsapp .vka-item-circle {
  background: linear-gradient(135deg, #25d366, #128c7e);
  color: #fff;
  font-size: 1.25rem;
}

/* Call Trigger Ring Animations */
.vka-call-trigger {
  position: relative;
  width: 70px;
  height: 70px;
  cursor: pointer;
  pointer-events: auto;
}
.vka-phonering-alo-alo {
  position: relative;
  width: 100%;
  height: 100%;
}
.vka-phonering-alo-ph-circle {
  width: 70px;
  height: 70px;
  top: 0;
  left: 0;
  position: absolute;
  background-color: transparent;
  border-radius: 100%;
  border: 2px solid #ef4444;
  opacity: 0.6;
  animation: vka-alo-circle-anim 1.2s infinite ease-in-out;
  transition: all 0.5s;
  transform-origin: 50% 50%;
}
.vka-phonering-alo-ph-circle-fill {
  width: 54px;
  height: 54px;
  top: 8px;
  left: 8px;
  position: absolute;
  background-color: rgba(239, 68, 68, 0.25);
  border-radius: 100%;
  border: 2px solid transparent;
  animation: vka-alo-circle-fill-anim 2.3s infinite ease-in-out;
  transition: all 0.5s;
  transform-origin: 50% 50%;
}
.vka-phonering-alo-ph-img-circle {
  width: 44px;
  height: 44px;
  top: 11px;
  left: 11px;
  position: absolute;
  background: #c01d2e;
  border-radius: 100%;
  border: 2px solid transparent;
  display: flex;
  align-items: center;
  justify-content: center;
  animation: vka-alo-circle-img-anim 1.2s infinite ease-in-out;
  box-shadow: 0 4px 16px rgba(192, 29, 46, 0.55);
  color: #fff;
  cursor: pointer;
  z-index: 10;
  transition: background 0.3s ease;
}
.vka-wrapper.open .vka-phonering-alo-ph-img-circle {
  background: #0C1E40 !important;
  animation: none !important;
}

/* Icon class requested by user: icon-cps-vka-menu */
.icon-cps-vka-menu {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  position: relative;
}
.icon-cps-vka-menu .vka-icon-default {
  display: block;
  width: 100%;
  height: 100%;
  transition: transform 0.3s ease, opacity 0.25s ease;
}
.icon-cps-vka-menu .vka-icon-close {
  display: none;
  width: 20px;
  height: 20px;
  transition: transform 0.3s ease, opacity 0.25s ease;
}
.vka-wrapper.open .icon-cps-vka-menu .vka-icon-default {
  display: none !important;
}
.vka-wrapper.open .icon-cps-vka-menu .vka-icon-close {
  display: block !important;
  transform: rotate(90deg);
}

@keyframes vka-alo-circle-anim {
  0% { transform: rotate(0) scale(0.6) skew(1deg); opacity: 0.3; }
  30% { transform: rotate(0) scale(0.8) skew(1deg); opacity: 0.6; }
  100% { transform: rotate(0) scale(1.3) skew(1deg); opacity: 0; }
}
@keyframes vka-alo-circle-fill-anim {
  0% { transform: rotate(0) scale(0.7) skew(1deg); opacity: 0.3; }
  50% { transform: rotate(0) scale(1) skew(1deg); opacity: 0.6; }
  100% { transform: rotate(0) scale(0.7) skew(1deg); opacity: 0.3; }
}
@keyframes vka-alo-circle-img-anim {
  0% { transform: rotate(0) scale(1) skew(1deg); }
  10% { transform: rotate(-25deg) scale(1) skew(1deg); }
  20% { transform: rotate(25deg) scale(1) skew(1deg); }
  30% { transform: rotate(-25deg) scale(1) skew(1deg); }
  40% { transform: rotate(25deg) scale(1) skew(1deg); }
  50% { transform: rotate(0) scale(1) skew(1deg); }
  100% { transform: rotate(0) scale(1) skew(1deg); }
}

/* ── 5. GOLDEN CERTIFICATE CARDS (VỀ CHÚNG TÔI) ── */
.certificates-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: 1.5rem;
}
.gi-certificate-card {
  background: #ffffff;
  border-radius: 16px;
  padding: 12px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06);
  border: 1.5px solid #e2e8f0;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
  position: relative;
}
.gi-certificate-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 14px 32px rgba(212, 165, 32, 0.18);
  border-color: #D4A520;
}
.gi-cert-inner {
  border: 1.5px solid #D4A520;
  border-radius: 12px;
  padding: 1.5rem;
  background: linear-gradient(135deg, #ffffff 0%, #fffdf7 100%);
  display: flex;
  flex-direction: column;
  height: 100%;
  position: relative;
}
.gi-cert-inner::before {
  content: '✦';
  position: absolute;
  top: 6px;
  left: 8px;
  font-size: 10px;
  color: #D4A520;
  opacity: 0.7;
}
.gi-cert-inner::after {
  content: '✦';
  position: absolute;
  top: 6px;
  right: 8px;
  font-size: 10px;
  color: #D4A520;
  opacity: 0.7;
}
.gi-cert-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 1rem;
}
.gi-cert-tag {
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #b45309;
  background: rgba(245, 158, 11, 0.12);
  padding: 3px 10px;
  border-radius: 999px;
}
.gi-cert-seal {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: linear-gradient(135deg, #D4A520, #F0C040);
  color: #0C1E40;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
  box-shadow: 0 2px 8px rgba(212, 165, 32, 0.35);
}
.gi-cert-title {
  font-family: var(--fd, sans-serif);
  font-size: 1.05rem;
  font-weight: 800;
  color: #0f172a;
  line-height: 1.35;
  margin-bottom: 0.5rem;
}
.gi-cert-org {
  font-size: 0.825rem;
  color: #64748b;
  line-height: 1.5;
  margin-bottom: 1.25rem;
}
.gi-cert-footer {
  margin-top: auto;
  padding-top: 0.875rem;
  border-top: 1px dashed #e2e8f0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 0.75rem;
}
.gi-cert-id {
  font-family: monospace;
  color: #94a3b8;
  font-weight: 600;
}
.gi-cert-status {
  color: #059669;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

/* Certificate Image Preview & Zoom in Card */
.gi-cert-img-wrap {
  margin: 0.75rem 0 1rem;
  border-radius: 8px;
  overflow: hidden;
  border: 1px solid #e2e8f0;
  background: #f8fafc;
  position: relative;
  cursor: pointer;
  aspect-ratio: 16 / 10;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: inset 0 0 0 1px rgba(0,0,0,0.02);
}
.gi-cert-preview-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}
.gi-cert-img-wrap:hover .gi-cert-preview-img {
  transform: scale(1.05);
}
.gi-cert-zoom-overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 45, 162, 0.68);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
  color: #ffffff;
  font-size: 0.8rem;
  font-weight: 700;
  opacity: 0;
  transition: opacity 0.25s ease;
  backdrop-filter: blur(2px);
}
.gi-cert-img-wrap:hover .gi-cert-zoom-overlay {
  opacity: 1;
}
.gi-cert-zoom-overlay i {
  font-size: 1.25rem;
  color: #ffd000;
}

/* Certificate Lightbox Modal */
.gi-cert-modal {
  position: fixed;
  inset: 0;
  z-index: 10005;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease;
  padding: 1.5rem;
}
.gi-cert-modal.active {
  opacity: 1;
  visibility: visible;
}
.gi-cert-modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(7, 19, 42, 0.85);
  backdrop-filter: blur(8px);
}
.gi-cert-modal-dialog {
  position: relative;
  z-index: 2;
  max-width: 850px;
  width: 100%;
  max-height: 90vh;
  background: #ffffff;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5);
  border: 2px solid #D4A520;
  display: flex;
  flex-direction: column;
  transform: scale(0.92);
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}
.gi-cert-modal.active .gi-cert-modal-dialog {
  transform: scale(1);
}
.gi-cert-modal-close {
  position: absolute;
  top: 12px;
  right: 14px;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.6);
  color: #ffffff;
  border: none;
  font-size: 22px;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 10;
  transition: background 0.2s ease, transform 0.2s ease;
}
.gi-cert-modal-close:hover {
  background: #dc2626;
  transform: scale(1.08);
}
.gi-cert-modal-body {
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  background: #07132a;
  padding: 1.5rem;
}
.gi-cert-modal-body img {
  max-height: 65vh;
  max-width: 100%;
  object-fit: contain;
  border-radius: 8px;
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.5);
}
.gi-cert-modal-info {
  width: 100%;
  background: #ffffff;
  padding: 1.25rem 1.5rem;
  border-top: 1px solid #e2e8f0;
}
.gi-cert-modal-info h4 {
  font-size: 1.1rem;
  font-weight: 800;
  color: #002da2;
  margin: 0 0 4px;
}
.gi-cert-modal-info p {
  font-size: 0.85rem;
  color: #64748b;
  margin: 0;
}

/* ── 6. PARTNERS INFINITE SMOOTH SCROLL TRACK ── */
.partners-logos-slider {
  overflow: hidden;
  position: relative;
  width: 100%;
  padding: 1.5rem 0;
}
.partners-logos-slider::before,
.partners-logos-slider::after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  width: 60px;
  z-index: 2;
  pointer-events: none;
}
.partners-logos-slider::before {
  left: 0;
  background: linear-gradient(90deg, #f8fafc 0%, transparent 100%);
}
.partners-logos-slider::after {
  right: 0;
  background: linear-gradient(-90deg, #f8fafc 0%, transparent 100%);
}
.partners-track {
  display: flex;
  gap: 1.25rem;
  width: max-content;
  animation: partners-scroll 35s linear infinite;
}
.partners-track:hover {
  animation-play-state: paused;
}
@keyframes partners-scroll {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

@media(max-width:768px){
  .partners-logos-slider {
    padding: 1rem 0;
    overflow: visible;
  }
  .partners-logos-slider::before,
  .partners-logos-slider::after {
    display: none !important;
  }
  .partners-track {
    animation: none !important;
    width: 100% !important;
    max-width: 100% !important;
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 0.875rem !important;
  }
  .partner-clone {
    display: none !important;
  }
  .partner-logo {
    flex: 0 1 calc(50% - 0.5rem) !important;
    max-width: calc(50% - 0.5rem) !important;
    box-sizing: border-box !important;
    justify-content: center !important;
    padding: 0.875rem 0.625rem !important;
    font-size: 0.78rem !important;
  }
}
@media(max-width:420px){
  .partner-logo {
    flex: 0 1 100% !important;
    max-width: 280px !important;
  }
}

/* ── 7. PASSPORT UPGRADE BANNER & PATHWAY CARDS ── */
.pp-vi-banner {
  background: linear-gradient(135deg, #f0f6ff 0%, #e6efff 100%);
  border: 1.5px solid #bfdbfe;
  border-radius: 18px;
  padding: 1.75rem 2rem;
  margin-bottom: 2.25rem;
  box-shadow: 0 4px 16px rgba(0, 45, 162, 0.06);
}
.pp-vi-info {
  display: flex;
  align-items: center;
  gap: 1.25rem;
  margin-bottom: 1.5rem;
}
.pp-vi-flag {
  width: 54px;
  height: 40px;
  border-radius: 8px;
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.15);
  object-fit: cover;
  flex-shrink: 0;
}
.pp-vi-label {
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #002da2;
  margin-bottom: 2px;
}
.pp-vi-rank {
  font-family: var(--fd, sans-serif);
  font-size: 1.25rem;
  font-weight: 800;
  color: #0f172a;
}
.pp-vi-rank-val {
  color: #dc2626;
  font-size: 1.4rem;
}
.pp-vi-limitation {
  font-size: 0.85rem;
  color: #64748b;
  margin-top: 4px;
}
.pp-upgrade-action {
  border-top: 1px dashed #cbd5e1;
  padding-top: 1.25rem;
}
.pp-upgrade-title {
  font-size: 0.875rem;
  color: #1e293b;
  margin-bottom: 1rem;
}
.pp-upgrade-cards {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 1rem;
}
.pp-pathway-card {
  display: flex;
  align-items: center;
  gap: 0.875rem;
  background: #ffffff;
  border: 1.5px solid #e2e8f0;
  border-radius: 12px;
  padding: 10px 14px;
  text-decoration: none;
  transition: all 0.2s ease;
  position: relative;
}
.pp-pathway-card:hover {
  border-color: #002da2;
  transform: translateY(-2px);
  box-shadow: 0 6px 16px rgba(0, 45, 162, 0.1);
}
.pp-pathway-card img {
  width: 28px;
  height: 21px;
  border-radius: 3px;
  flex-shrink: 0;
  box-shadow: 0 1px 4px rgba(0,0,0,0.1);
}
.pp-path-title {
  font-size: 0.825rem;
  font-weight: 700;
  color: #0f172a;
  line-height: 1.3;
}
.pp-path-meta {
  font-size: 0.72rem;
  color: #002da2;
  font-weight: 600;
}
.pp-path-badge {
  font-size: 0.65rem;
  background: #dcfce7;
  color: #166534;
  padding: 2px 6px;
  border-radius: 4px;
  margin-left: auto;
  font-weight: 700;
  white-space: nowrap;
}

/* ── 8. EVENT STYLES (ARCHIVE & SINGLE) ── */
.event-card {
  background: #ffffff;
  border-radius: 14px;
  overflow: hidden;
  border: 1px solid #e2e8f0;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.05);
  transition: all 0.25s ease;
  display: flex;
  flex-direction: column;
}
.event-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 28px rgba(0, 45, 162, 0.12);
  border-color: #93c5fd;
}
.event-badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.badge-upcoming {
  background: #059669;
  color: #ffffff;
}
.badge-ended {
  background: #64748b;
  color: #ffffff;
}
.badge-format {
  background: rgba(15, 23, 42, 0.75);
  color: #ffffff;
}

/* Countdown Box */
.event-countdown-box {
  background: linear-gradient(135deg, #0C1E40 0%, #1847AA 100%);
  border-radius: 16px;
  padding: 1.5rem;
  color: #ffffff;
  box-shadow: 0 10px 30px rgba(0, 45, 162, 0.25);
  margin-bottom: 2rem;
  text-align: center;
}
.event-countdown-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0.75rem;
  margin: 1.25rem 0;
}
.countdown-digit-box {
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 10px;
  padding: 0.75rem 0.25rem;
}
.countdown-digit {
  font-family: var(--fd, sans-serif);
  font-size: 1.8rem;
  font-weight: 800;
  color: #FFD700;
  line-height: 1;
}
.countdown-lbl {
  font-size: 0.65rem;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.75);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-top: 4px;
}

/* Timeline & Agenda */
.event-timeline {
  position: relative;
  padding-left: 2rem;
  margin: 1.5rem 0;
}
.event-timeline::before {
  content: '';
  position: absolute;
  top: 8px;
  bottom: 8px;
  left: 7px;
  width: 2px;
  background: #e2e8f0;
}
.timeline-item {
  position: relative;
  margin-bottom: 1.5rem;
}
.timeline-item:last-child {
  margin-bottom: 0;
}
.timeline-dot {
  position: absolute;
  left: -2rem;
  top: 4px;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: #002da2;
  border: 3px solid #ffffff;
  box-shadow: 0 0 0 2px #002da2;
}
.timeline-time {
  font-size: 0.75rem;
  font-weight: 800;
  color: #002da2;
  text-transform: uppercase;
  margin-bottom: 2px;
}
.timeline-title {
  font-size: 0.95rem;
  font-weight: 700;
  color: #0f172a;
}
.timeline-desc {
  font-size: 0.825rem;
  color: #64748b;
  margin-top: 2px;
}

/* Speaker Cards */
.event-speakers-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 1.25rem;
  margin-top: 1.25rem;
}
.event-speaker-card {
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 14px;
  padding: 1.25rem;
  display: flex;
  align-items: center;
  gap: 1rem;
}
.speaker-av {
  width: 56px;
  height: 56px;
  border-radius: 14px;
  object-fit: cover;
  flex-shrink: 0;
  background: var(--gp);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.1rem;
  font-weight: 800;
}

/* ── 9. STRICT FOOTER BACKGROUND OVERRIDE ── */
.foot-main {
  background: #002da2 !important;
}
.foot-prefooter .container {
  padding-top: 1.25rem !important;
  padding-bottom: 1.25rem !important;
}

/* ── 10. EVENTS ARCHIVE PAGE (MOCKUP PDF PAGES 7-8 / IMAGES 3, 4, 5) ── */
.gi-events-page-wrap {
  background: #f8fafc;
  min-height: 100vh;
  padding-bottom: 5rem;
  margin-top: calc(var(--h1) + var(--h2) + var(--h3));
}
.admin-bar .gi-events-page-wrap {
  margin-top: calc(var(--h1) + var(--h2) + var(--h3) + 32px);
}
@media screen and (max-width: 782px) {
  .admin-bar .gi-events-page-wrap {
    margin-top: calc(var(--h1) + var(--h2) + var(--h3) + 46px);
  }
}

/* Hero Section */
.ge-hero-sec {
  background: linear-gradient(180deg, #051026 0%, #071739 100%);
  position: relative;
  overflow: hidden;
  padding: 4.5rem 0 3.5rem;
  text-align: center;
  color: #fff;
}
.ge-hero-grid-bg {
  position: absolute;
  inset: 0;
  background-image: 
    linear-gradient(rgba(255, 255, 255, 0.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.04) 1px, transparent 1px);
  background-size: 36px 36px;
  pointer-events: none;
}
.ge-hero-container {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.ge-hero-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(217, 119, 6, 0.15);
  border: 1px solid rgba(245, 158, 11, 0.35);
  color: #F59E0B;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  padding: 6px 18px;
  border-radius: 999px;
  margin-bottom: 1.25rem;
  text-transform: uppercase;
}
.ge-badge-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #F59E0B;
}
.ge-hero-title {
  font-family: var(--fd, Georgia, serif);
  font-size: clamp(2rem, 4.5vw, 3.25rem);
  font-weight: 900;
  color: #ffffff;
  line-height: 1.2;
  margin: 0 0 1rem;
}
.ge-title-gold {
  color: #F59E0B;
  font-style: italic;
  font-weight: 700;
}
.ge-hero-sub {
  font-size: clamp(0.95rem, 2vw, 1.125rem);
  color: rgba(255, 255, 255, 0.82);
  max-width: 680px;
  line-height: 1.6;
  margin: 0 0 2rem;
}
.ge-hero-stats {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.85rem;
}
.ge-stat-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(15, 23, 42, 0.65);
  border: 1px solid rgba(255, 255, 255, 0.12);
  padding: 8px 16px;
  border-radius: 999px;
  font-size: 0.84rem;
  font-weight: 700;
  color: #e2e8f0;
  backdrop-filter: blur(4px);
}
.ge-stat-pill .text-gold { color: #F59E0B; }
.ge-stat-pill .text-blue { color: #38bdf8; }
.ge-stat-pill .text-green { color: #34d399; }

/* Filter Bar */
.ge-main-content {
  margin-top: 2rem;
}
.ge-filter-bar {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 16px;
  padding: 10px 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 1rem;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.03);
  margin-bottom: 2rem;
}
.ge-filter-left {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-wrap: wrap;
}
.ge-filter-lbl {
  font-size: 0.8rem;
  font-weight: 800;
  color: #64748b;
  letter-spacing: 0.05em;
  margin-right: 4px;
}
.ge-tab-btn {
  background: transparent;
  border: 1px solid transparent;
  border-radius: 999px;
  padding: 7px 18px;
  font-size: 0.85rem;
  font-weight: 700;
  color: #475569;
  cursor: pointer;
  transition: all 0.2s ease;
}
.ge-tab-btn:hover {
  background: #f1f5f9;
  color: #0f172a;
}
.ge-tab-btn.active {
  background: #0b1f48;
  color: #ffffff;
  box-shadow: 0 2px 8px rgba(11, 31, 72, 0.25);
}
.ge-filter-right .ge-count-text {
  font-size: 0.85rem;
  color: #64748b;
}
.ge-count-text strong {
  color: #002da2;
  font-weight: 800;
}

/* Featured Event Card */
.ge-featured-wrap {
  margin-bottom: 3.5rem;
}
.ge-featured-card {
  background: linear-gradient(135deg, #071938 0%, #0d2e6b 40%, #1554c0 100%);
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 16px 44px rgba(7, 25, 56, 0.28);
  display: grid;
  grid-template-columns: 1.25fr 0.75fr;
  color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.12);
  position: relative;
}
.ge-featured-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, rgba(255, 215, 0, 0.6), transparent);
  pointer-events: none;
}
.ge-fc-left {
  padding: 2.75rem 2.5rem;
  display: flex;
  flex-direction: column;
}
.ge-badge-status {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 0.75rem;
  font-weight: 800;
  padding: 4px 12px;
  border-radius: 999px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.ge-badge-status.upcoming {
  background: rgba(16, 185, 129, 0.2);
  border: 1px solid rgba(16, 185, 129, 0.4);
  color: #34d399;
}
.ge-badge-status.past {
  background: #f1f5f9;
  border: 1px solid #cbd5e1;
  color: #64748b;
}
.ge-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: currentColor;
}
.ge-fc-subbadge {
  color: #F59E0B;
  font-size: 0.85rem;
  font-weight: 800;
  letter-spacing: 0.05em;
  margin: 1rem 0 0.5rem;
}
.ge-fc-title {
  font-family: var(--fd, Georgia, serif);
  font-size: clamp(1.8rem, 3.2vw, 2.35rem);
  font-weight: 900;
  line-height: 1.25;
  margin: 0 0 1rem;
}
.ge-fc-title a {
  color: #ffffff;
  text-decoration: none;
  transition: color 0.2s ease;
}
.ge-fc-title a:hover {
  color: #F59E0B;
}
.ge-fc-desc {
  color: rgba(255, 255, 255, 0.82);
  font-size: 0.95rem;
  line-height: 1.6;
  margin: 0 0 1.5rem;
}
.ge-fc-meta-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-bottom: 2rem;
}
.ge-fc-meta-item {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.12);
  padding: 6px 14px;
  border-radius: 999px;
  font-size: 0.82rem;
  color: #e2e8f0;
}
.ge-fc-meta-item i {
  color: #F59E0B;
}
.ge-fc-actions {
  display: flex;
  align-items: center;
  gap: 1rem;
  flex-wrap: wrap;
  margin-top: auto;
}
.btn-ge-gold {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #F59E0B;
  color: #0b1f48 !important;
  font-weight: 800;
  font-size: 0.92rem;
  padding: 12px 24px;
  border-radius: 999px;
  text-decoration: none;
  transition: all 0.25s ease;
  box-shadow: 0 4px 14px rgba(245, 158, 11, 0.35);
}
.btn-ge-gold:hover {
  background: #d97706;
  transform: translateY(-2px);
  box-shadow: 0 6px 18px rgba(245, 158, 11, 0.45);
}
.btn-ge-navy {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.25);
  color: #ffffff !important;
  font-weight: 700;
  font-size: 0.92rem;
  padding: 11px 22px;
  border-radius: 999px;
  text-decoration: none;
  transition: all 0.2s ease;
}
.btn-ge-navy:hover {
  background: rgba(255, 255, 255, 0.16);
  border-color: rgba(255, 255, 255, 0.45);
}

/* Right Column of Featured Card */
.ge-fc-right {
  position: relative;
  background-size: cover;
  background-position: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 2.5rem;
  overflow: hidden;
}
.ge-fc-watermark {
  position: absolute;
  bottom: -25px;
  right: -10px;
  font-family: var(--fd, sans-serif);
  font-size: 9rem;
  font-weight: 900;
  color: rgba(11, 31, 72, 0.06);
  line-height: 1;
  pointer-events: none;
  user-select: none;
}
.ge-fc-globe {
  margin-bottom: 1.75rem;
  position: relative;
  z-index: 2;
  filter: drop-shadow(0 4px 12px rgba(217, 119, 6, 0.2));
}
.ge-fc-tags-cloud {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.6rem;
  position: relative;
  z-index: 2;
}
.ge-tag-pill {
  background: rgba(255, 255, 255, 0.85);
  color: #0b1f48;
  font-size: 0.78rem;
  font-weight: 800;
  padding: 6px 14px;
  border-radius: 999px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}

/* Sections: Sắp Diễn Ra & Đã Diễn Ra */
.ge-sec-block {
  margin-bottom: 3.5rem;
}
.ge-sec-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 1.5rem;
  border-bottom: 1px solid #e2e8f0;
  padding-bottom: 0.85rem;
}
.ge-sec-title {
  font-size: 1.35rem;
  font-weight: 800;
  color: #0f172a;
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0;
}
.ge-sec-badge {
  font-size: 0.82rem;
  font-weight: 700;
  color: #64748b;
  background: #e2e8f0;
  padding: 3px 10px;
  border-radius: 999px;
}

/* Grids */
.ge-cards-grid {
  display: grid;
  gap: 1.75rem;
}
.ge-grid-2 {
  grid-template-columns: repeat(2, 1fr);
}
.ge-grid-3 {
  grid-template-columns: repeat(3, 1fr);
}

/* Card Styling */
.ge-card {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.04);
  display: flex;
  flex-direction: column;
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}
.ge-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.08);
  border-color: #cbd5e1;
}
.ge-card-thumb-wrap {
  position: relative;
  height: 200px;
  overflow: hidden;
  background: #0f172a;
}
.ge-card-thumb-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease;
}
.ge-card:hover .ge-card-thumb-img {
  transform: scale(1.04);
}
.ge-card-thumb-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.1) 0%, rgba(0, 0, 0, 0.7) 100%);
}
.ge-card-thumb-overlay.past-overlay {
  background: linear-gradient(180deg, rgba(15, 23, 42, 0.2) 0%, rgba(15, 23, 42, 0.8) 100%);
}
.ge-thumb-badge {
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 2;
  font-size: 0.7rem !important;
  padding: 3px 10px !important;
}
.ge-thumb-date-bar {
  position: absolute;
  bottom: 12px;
  left: 14px;
  z-index: 2;
  color: #ffffff;
  font-size: 0.82rem;
  font-weight: 700;
  display: flex;
  align-items: center;
  gap: 6px;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.6);
}
.ge-card-body {
  padding: 1.5rem;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}
.ge-card-cat {
  font-size: 0.75rem;
  font-weight: 800;
  color: #002da2;
  letter-spacing: 0.05em;
  margin-bottom: 0.5rem;
}
.ge-card-title {
  font-size: 1.12rem;
  font-weight: 800;
  line-height: 1.4;
  margin: 0 0 0.85rem;
}
.ge-card-title a {
  color: #0f172a;
  text-decoration: none;
  transition: color 0.2s ease;
}
.ge-card-title a:hover {
  color: #002da2;
}
.ge-card-meta {
  display: flex;
  flex-direction: column;
  gap: 4px;
  font-size: 0.84rem;
  color: #64748b;
  margin-bottom: 1rem;
}
.ge-meta-line {
  display: flex;
  align-items: center;
  gap: 6px;
}
.ge-meta-line i {
  width: 14px;
  color: #94a3b8;
}
.ge-card-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin-bottom: 1.25rem;
}
.ge-tag-sm {
  background: #f1f5f9;
  color: #475569;
  font-size: 0.72rem;
  font-weight: 700;
  padding: 3px 8px;
  border-radius: 6px;
}
.ge-card-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-top: 1rem;
  border-top: 1px solid #f1f5f9;
  margin-top: auto;
}
.ge-foot-detail {
  font-size: 0.82rem;
  font-weight: 800;
  color: #0f172a;
  text-decoration: none;
  display: flex;
  align-items: center;
  gap: 5px;
  transition: color 0.2s ease;
}
.ge-foot-detail:hover {
  color: #002da2;
}
.ge-foot-status {
  font-size: 0.78rem;
  font-weight: 700;
  display: flex;
  align-items: center;
  gap: 5px;
}
.ge-foot-status.upcoming {
  color: #059669;
}
.ge-foot-status.past {
  color: #94a3b8;
}

/* Bottom CTA Banner */
.ge-cta-banner {
  background: linear-gradient(135deg, #071b40 0%, #0c2b64 100%);
  border-radius: 20px;
  position: relative;
  overflow: hidden;
  box-shadow: 0 12px 32px rgba(7, 27, 64, 0.16);
  padding: 3.5rem 2rem;
  text-align: center;
  color: #ffffff;
  margin-top: 2rem;
}
.ge-cta-banner::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: 
    linear-gradient(rgba(255, 255, 255, 0.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.04) 1px, transparent 1px);
  background-size: 32px 32px;
  pointer-events: none;
}
.ge-cta-inner {
  position: relative;
  z-index: 2;
  max-width: 660px;
  margin: 0 auto;
}
.ge-cta-title {
  font-family: var(--fd, Georgia, serif);
  font-size: clamp(1.6rem, 3vw, 2.2rem);
  font-weight: 900;
  margin: 0 0 0.85rem;
  color: #ffffff;
}
.ge-cta-sub {
  font-size: 0.98rem;
  color: rgba(255, 255, 255, 0.85);
  line-height: 1.6;
  margin: 0 0 1.75rem;
}
.ge-cta-buttons {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1rem;
  flex-wrap: wrap;
}

/* Responsive */
@media (max-width: 991px) {
  .ge-featured-card {
    grid-template-columns: 1fr;
  }
  .ge-fc-right {
    min-height: 240px;
  }
  .ge-grid-2, .ge-grid-3 {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 640px) {
  .ge-grid-2, .ge-grid-3 {
    grid-template-columns: 1fr;
  }
  .ge-fc-left {
    padding: 1.75rem 1.25rem;
  }
  .ge-filter-bar {
    flex-direction: column;
    align-items: stretch;
  }
  .ge-filter-left {
    justify-content: center;
  }
  .ge-filter-right {
    text-align: center;
  }
}

/* ── GI EVENT CARD & HOME EVENTS SECTION ── */
.gi-home-events-sec {
  background: #f8fafc;
  padding: 5rem 0;
  position: relative;
}
.gi-home-events-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 2rem;
  margin-bottom: 2.75rem;
}
.gi-home-events-header .sec-tag {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: #ebf3ff;
  border: 1px solid #c4d9ff;
  color: #002da2;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  padding: 5px 14px;
  border-radius: 999px;
  text-transform: uppercase;
  margin-bottom: 0.75rem;
}
.gi-home-events-header .sec-title {
  font-size: clamp(1.75rem, 3.5vw, 2.35rem);
  font-weight: 800;
  color: #07132a;
  line-height: 1.25;
  margin: 0 0 0.5rem;
}
.gi-home-events-header .sec-title span {
  color: #002da2;
  position: relative;
}
.gi-home-events-header .sec-desc {
  font-size: 0.95rem;
  color: #52688a;
  margin: 0;
  max-width: 580px;
}
.gi-view-all-events-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-weight: 700;
  font-size: 0.88rem;
  padding: 10px 22px;
  border-radius: 999px;
  border: 1.5px solid #002da2;
  color: #002da2;
  background: #fff;
  transition: all 0.25s ease;
  white-space: nowrap;
  box-shadow: 0 2px 8px rgba(0, 45, 162, 0.08);
  text-decoration: none;
}
.gi-view-all-events-btn:hover {
  background: #002da2;
  color: #fff !important;
  transform: translateY(-2px);
  box-shadow: 0 6px 18px rgba(0, 45, 162, 0.2);
}

.gi-events-grid,
.ged-related-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.75rem;
}

/* Card Container */
.gi-event-card {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 18px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  box-shadow: 0 4px 20px rgba(0, 45, 162, 0.06);
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.3s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.3s ease;
  cursor: pointer;
  position: relative;
  height: 100%;
}
.gi-event-card:hover {
  transform: translateY(-7px);
  box-shadow: 0 16px 36px rgba(0, 45, 162, 0.13);
  border-color: #93c5fd;
}

/* Thumbnail Area */
.gi-event-img-wrap {
  position: relative;
  height: 220px;
  width: 100%;
  overflow: hidden;
  background: #071739;
}
.gi-event-thumb {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.5s cubic-bezier(0.2, 0.8, 0.2, 1);
}
.gi-event-card:hover .gi-event-thumb {
  transform: scale(1.06);
}
.gi-event-img-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(7, 23, 57, 0.15) 0%, rgba(7, 23, 57, 0.65) 100%);
  pointer-events: none;
}

/* Date Box (Top-Left) */
.gi-event-date-box {
  position: absolute;
  top: 14px;
  left: 14px;
  z-index: 3;
  background: #ffffff;
  border-radius: 12px;
  padding: 6px 12px;
  text-align: center;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.18);
  border: 1px solid rgba(255, 255, 255, 0.8);
  min-width: 54px;
}
.gi-edb-day {
  display: block;
  font-size: 1.35rem;
  font-weight: 900;
  line-height: 1;
  color: #002da2;
  font-family: var(--f);
}
.gi-edb-month {
  display: block;
  font-size: 0.65rem;
  font-weight: 800;
  color: #64748b;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  margin-top: 3px;
}

/* Format Pill (Top-Right) */
.gi-event-format-pill {
  position: absolute;
  top: 14px;
  right: 14px;
  z-index: 3;
  background: rgba(7, 19, 42, 0.75);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  color: #ffffff;
  font-size: 0.72rem;
  font-weight: 700;
  padding: 5px 12px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.25);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
  display: flex;
  align-items: center;
  gap: 5px;
}
.gi-event-format-pill i {
  color: #38bdf8;
}

/* Status Pill (Bottom-Left) */
.gi-event-cat-badge {
  position: absolute;
  bottom: 14px;
  left: 14px;
  z-index: 3;
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  color: #059669;
  font-size: 0.72rem;
  font-weight: 800;
  padding: 4px 12px;
  border-radius: 999px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
  display: inline-flex;
  align-items: center;
  gap: 6px;
  letter-spacing: 0.02em;
}
.gi-event-card.is-past .gi-event-cat-badge {
  color: #64748b;
}

.gi-status-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #10b981;
  display: inline-block;
}
.gi-status-dot.pulse {
  box-shadow: 0 0 0 0 rgba(16, 185, 129, 0.7);
  animation: giDotPulse 1.8s infinite;
}
.gi-status-dot.past {
  background: #94a3b8;
}

@keyframes giDotPulse {
  0% {
    transform: scale(0.95);
    box-shadow: 0 0 0 0 rgba(16, 185, 129, 0.7);
  }
  70% {
    transform: scale(1);
    box-shadow: 0 0 0 6px rgba(16, 185, 129, 0);
  }
  100% {
    transform: scale(0.95);
    box-shadow: 0 0 0 0 rgba(16, 185, 129, 0);
  }
}

/* Card Body */
.gi-event-body {
  padding: 1.5rem;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  background: #ffffff;
}

/* Meta: Time & Location */
.gi-event-meta {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-bottom: 0.85rem;
}
.gi-meta-item {
  display: flex;
  align-items: center;
  gap: 7px;
  font-size: 0.82rem;
  color: #52688a;
  font-weight: 600;
}
.gi-meta-item i {
  color: #d97706;
  width: 14px;
  text-align: center;
  font-size: 0.82rem;
}

/* Title */
.gi-event-title {
  font-size: 1.125rem;
  font-weight: 800;
  line-height: 1.4;
  margin: 0 0 0.65rem;
  min-height: 2.8rem;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.gi-event-title a {
  color: #07132a;
  text-decoration: none;
  transition: color 0.2s ease;
}
.gi-event-card:hover .gi-event-title a,
.gi-event-title a:hover {
  color: #002da2;
}

/* Excerpt */
.gi-event-excerpt {
  font-size: 0.86rem;
  color: #64748b;
  line-height: 1.55;
  margin: 0 0 1.25rem;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* Footer Action */
.gi-event-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding-top: 1rem;
  border-top: 1px solid #f1f5f9;
  margin-top: auto;
}
.gi-event-perk {
  display: flex;
  align-items: center;
  gap: 5px;
  font-size: 0.75rem;
  font-weight: 700;
  color: #059669;
}
.gi-event-perk i {
  font-size: 0.8rem;
}
.gi-event-card.is-past .gi-event-perk {
  color: #94a3b8;
}

.gi-event-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 16px;
  font-size: 0.8rem;
  font-weight: 800;
  border-radius: 999px;
  text-decoration: none;
  transition: all 0.25s ease;
  white-space: nowrap;
}
.gi-event-btn.btn-gold {
  background: linear-gradient(135deg, #f59e0b, #d97706);
  color: #0b1f48 !important;
  box-shadow: 0 3px 10px rgba(217, 119, 6, 0.28);
}
.gi-event-card:hover .gi-event-btn.btn-gold,
.gi-event-btn.btn-gold:hover {
  background: #d97706;
  transform: translateY(-2px);
  box-shadow: 0 6px 16px rgba(217, 119, 6, 0.4);
}
.gi-event-btn.btn-secondary {
  background: #f1f5f9;
  color: #334155 !important;
  border: 1px solid #cbd5e1;
}
.gi-event-btn.btn-secondary:hover {
  background: #e2e8f0;
  color: #0f172a !important;
}

/* Responsive Grid */
@media (max-width: 991px) {
  .gi-events-grid,
  .ged-related-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5rem;
  }
}
@media (max-width: 640px) {
  .gi-home-events-header {
    flex-direction: column;
    align-items: flex-start;
    gap: 1.25rem;
  }
  .gi-events-grid,
  .ged-related-grid {
    grid-template-columns: 1fr;
    gap: 1.25rem;
  }
  .gi-event-img-wrap {
    height: 190px;
  }
}

/* ── 11. SINGLE EVENT DETAIL PAGE (MOCKUP PDF SCREENSHOTS 1 & 2) ── */
.gi-event-detail-page {
  background: #ffffff;
  overflow-x: hidden;
  margin-top: calc(var(--h1) + var(--h2) + var(--h3));
}
.admin-bar .gi-event-detail-page {
  margin-top: calc(var(--h1) + var(--h2) + var(--h3) + 32px);
}
@media screen and (max-width: 782px) {
  .admin-bar .gi-event-detail-page {
    margin-top: calc(var(--h1) + var(--h2) + var(--h3) + 46px);
  }
}

/* Top Marquee Ticker */
.ged-top-ticker {
  background: #061536;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  height: 38px;
  display: flex;
  align-items: center;
  overflow: hidden;
  position: relative;
  z-index: 5;
}
.ged-ticker-track {
  display: flex;
  align-items: center;
  gap: 2rem;
  white-space: nowrap;
  animation: gedTicker 40s linear infinite;
  padding-left: 100%;
}
.ged-top-ticker:hover .ged-ticker-track {
  animation-play-state: paused;
}
@keyframes gedTicker {
  0% { transform: translateX(0); }
  100% { transform: translateX(-100%); }
}
.ged-top-ticker .ann-item {
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  color: rgba(255, 255, 255, 0.85);
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.ged-top-ticker .ann-item.text-gold {
  color: #F5A800;
}
.ged-top-ticker .ann-sep {
  color: rgba(255, 255, 255, 0.25);
  font-weight: 900;
}

/* Hero Section */
.ged-hero-sec {
  background: linear-gradient(180deg, #071e54 0%, #002da2 100%);
  position: relative;
  overflow: hidden;
  padding: 4rem 0 5rem;
  color: #ffffff;
}
.ged-hero-bg-grid {
  position: absolute;
  inset: 0;
  background-image: 
    linear-gradient(rgba(255, 255, 255, 0.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.04) 1px, transparent 1px);
  background-size: 36px 36px;
  pointer-events: none;
}
.ged-hero-container {
  position: relative;
  z-index: 2;
}
.ged-hero-layout {
  display: grid;
  grid-template-columns: 1.25fr 0.75fr;
  gap: 3.5rem;
  align-items: start;
}

/* Left Column */
.ged-top-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.25);
  color: #F5A800;
  font-weight: 800;
  font-size: 0.78rem;
  padding: 6px 18px;
  border-radius: 999px;
  margin-bottom: 1.25rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.ged-top-pill-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #F5A800;
}

/* Stacked Display Title */
.ged-stacked-title {
  display: flex;
  flex-direction: column;
  line-height: 1.05;
  font-family: var(--fd, Georgia, serif);
  margin-bottom: 1.5rem;
}
.ged-st-w {
  font-size: clamp(2.5rem, 5.5vw, 4.5rem);
  font-weight: 900;
  color: #ffffff;
  letter-spacing: -0.01em;
}
.ged-st-g {
  font-size: clamp(2.5rem, 5.5vw, 4.5rem);
  font-weight: 800;
  color: #F5A800;
  font-style: italic;
  letter-spacing: -0.01em;
}
.ged-h1-single {
  font-family: var(--fd, Georgia, serif);
  font-size: clamp(2.2rem, 4vw, 3.2rem);
  font-weight: 900;
  color: #ffffff;
  line-height: 1.2;
  margin: 0 0 1.5rem;
}
.ged-hero-desc {
  font-size: 1.05rem;
  color: rgba(255, 255, 255, 0.85);
  line-height: 1.65;
  margin: 0 0 1.5rem;
  max-width: 640px;
}
.ged-quick-meta {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 1.5rem;
  color: #ffffff;
  font-size: 0.88rem;
}
.ged-qm-item {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.ged-qm-sep {
  color: rgba(255, 255, 255, 0.35);
}
.ged-hero-tags {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 2rem;
}
.ged-htag-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.15);
  padding: 6px 14px;
  border-radius: 999px;
  font-size: 0.82rem;
  color: #e2e8f0;
  font-weight: 600;
  width: fit-content;
}
.ged-htag-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #F5A800;
}
.ged-hero-actions {
  display: flex;
  align-items: center;
  gap: 1rem;
  flex-wrap: wrap;
}
.btn-ged-gold {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #F5A800;
  color: #071e54 !important;
  font-weight: 800;
  font-size: 0.95rem;
  padding: 13px 28px;
  border-radius: 999px;
  text-decoration: none;
  box-shadow: 0 4px 16px rgba(245, 168, 0, 0.4);
  transition: transform 0.2s, box-shadow 0.2s;
}
.btn-ged-gold:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 22px rgba(245, 168, 0, 0.5);
}
.btn-ged-outline {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: transparent;
  color: #ffffff !important;
  border: 1.5px solid rgba(255, 255, 255, 0.45);
  font-weight: 700;
  font-size: 0.95rem;
  padding: 12px 26px;
  border-radius: 999px;
  text-decoration: none;
  transition: all 0.2s;
}
.btn-ged-outline:hover {
  background: rgba(255, 255, 255, 0.15);
  border-color: #ffffff;
}

/* Right Column: Sticky Info Glass Card */
.ged-info-card {
  background: rgba(7, 27, 64, 0.88);
  border: 1.5px solid rgba(255, 255, 255, 0.16);
  border-radius: 20px;
  padding: 26px;
  color: #ffffff;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.25);
  backdrop-filter: blur(10px);
  position: sticky;
  top: calc(var(--h1) + var(--h2) + var(--h3) + 20px);
  z-index: 10;
  transition: top 0.3s ease;
}
.admin-bar .ged-info-card {
  top: calc(var(--h1) + var(--h2) + var(--h3) + 52px);
}
body.scrolled .ged-info-card {
  top: calc(var(--h2) + 20px);
}
body.admin-bar.scrolled .ged-info-card {
  top: calc(var(--h2) + 52px);
}
@media (max-width: 991px) {
  .ged-info-card {
    position: static;
  }
}
.ged-ic-header {
  font-size: 0.85rem;
  font-weight: 800;
  color: #F5A800;
  letter-spacing: 0.06em;
  margin-bottom: 1.25rem;
  display: flex;
  align-items: center;
  gap: 8px;
  text-transform: uppercase;
}
.ged-ic-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #F5A800;
}
.ged-ic-list {
  display: flex;
  flex-direction: column;
  gap: 14px;
  margin-bottom: 1.5rem;
}
.ged-ic-item {
  display: flex;
  align-items: flex-start;
  gap: 14px;
}
.ged-ic-icon {
  width: 38px;
  height: 38px;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.12);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #F5A800;
  font-size: 1rem;
  flex-shrink: 0;
}
.ged-ic-text {
  flex-grow: 1;
}
.ged-ic-lbl {
  font-size: 0.7rem;
  font-weight: 800;
  color: rgba(255, 255, 255, 0.55);
  letter-spacing: 0.05em;
  text-transform: uppercase;
  margin-bottom: 2px;
}
.ged-ic-val {
  font-size: 0.95rem;
  font-weight: 800;
  color: #ffffff;
  line-height: 1.3;
}
.ged-ic-sub {
  font-size: 0.78rem;
  color: rgba(255, 255, 255, 0.65);
  margin-top: 1px;
}

/* Countdown */
.ged-cd-wrap {
  border-top: 1px solid rgba(255, 255, 255, 0.12);
  padding-top: 1.25rem;
  margin-bottom: 1.25rem;
  text-align: center;
}
.ged-cd-lbl {
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  color: rgba(255, 255, 255, 0.7);
  margin-bottom: 0.85rem;
  text-transform: uppercase;
}
.ged-info-card .event-countdown-box {
  background: rgba(0, 18, 55, 0.45);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 14px;
  padding: 0.85rem 0.6rem;
  box-shadow: none;
  margin-bottom: 0.5rem;
}
.ged-cd-box {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 6px;
}
.ged-cd-box .cd-unit {
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 10px;
  padding: 8px 6px;
  min-width: 52px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.ged-cd-box .cd-num {
  font-family: var(--fd, sans-serif);
  font-size: 1.35rem;
  font-weight: 800;
  color: #F5A800;
  line-height: 1;
}
.ged-cd-box .cd-lbl {
  font-size: 0.62rem;
  font-weight: 700;
  color: rgba(255, 255, 255, 0.7);
  letter-spacing: 0.05em;
  text-transform: uppercase;
  margin-top: 4px;
}
.ged-cd-box .cd-colon {
  font-size: 1.15rem;
  font-weight: 800;
  color: #F5A800;
  padding-bottom: 12px;
}
.btn-ged-register {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  box-sizing: border-box;
  background: #F5A800;
  color: #071e54 !important;
  font-weight: 900;
  font-size: 1rem;
  padding: 14px;
  border-radius: 999px;
  text-decoration: none;
  box-shadow: 0 4px 16px rgba(245, 168, 0, 0.4);
  transition: transform 0.2s, box-shadow 0.2s;
}
.btn-ged-register:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(245, 168, 0, 0.5);
}

/* Sections Common */
.ged-section {
  padding: 4.5rem 0;
}
.ged-sec-header.center {
  text-align: center;
  max-width: 680px;
  margin: 0 auto 3rem;
}
.ged-sec-tag {
  display: inline-block;
  font-size: 0.75rem;
  font-weight: 800;
  color: #002da2;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-bottom: 0.5rem;
  background: #e0eeff;
  padding: 4px 12px;
  border-radius: 999px;
}
.ged-sec-title {
  font-family: var(--fd, Georgia, serif);
  font-size: clamp(1.8rem, 3vw, 2.4rem);
  font-weight: 900;
  color: #0f172a;
  margin: 0 0 0.75rem;
}
.ged-sec-desc {
  font-size: 0.98rem;
  color: #64748b;
  line-height: 1.6;
}

/* Timeline */
.ged-timeline-wrap {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
.ged-tl-item {
  display: grid;
  grid-template-columns: 120px 36px 1fr;
  gap: 1rem;
  align-items: flex-start;
}
.ged-tl-time {
  font-size: 0.85rem;
  font-weight: 800;
  color: #002da2;
  text-align: right;
  padding-top: 4px;
}
.ged-tl-line-node {
  position: relative;
  height: 100%;
  display: flex;
  justify-content: center;
}
.ged-tl-line-node::before {
  content: "";
  position: absolute;
  top: 12px;
  bottom: -24px;
  width: 2px;
  background: #cbd5e1;
}
.ged-tl-item:last-child .ged-tl-line-node::before {
  display: none;
}
.ged-tl-dot {
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: #002da2;
  border: 3px solid #ffffff;
  box-shadow: 0 0 0 2px #002da2;
  position: relative;
  z-index: 2;
  margin-top: 5px;
}
.ged-tl-content {
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  padding: 14px 18px;
}
.ged-tl-title {
  font-size: 1.05rem;
  font-weight: 800;
  color: #0f172a;
  margin: 0 0 4px;
}
.ged-tl-desc {
  font-size: 0.88rem;
  color: #64748b;
  line-height: 1.5;
  margin: 0;
}

/* Speakers Grid */
.ged-speakers-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.5rem;
}
.ged-spk-card {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.04);
  text-align: center;
}
.ged-spk-header {
  background: linear-gradient(135deg, #071e54, #0b2b68);
  padding: 2rem 1rem 1rem;
  display: flex;
  justify-content: center;
}
.ged-spk-avatar-wrap {
  width: 84px;
  height: 84px;
  border-radius: 50%;
  border: 3px solid #F5A800;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}
.ged-spk-avatar {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.ged-spk-avatar-placeholder {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2rem;
  color: #071e54;
  background: #e2e8f0;
}
.ged-spk-body {
  padding: 1.25rem 1rem 1.5rem;
}
.ged-spk-name {
  font-size: 1.05rem;
  font-weight: 800;
  color: #0f172a;
  margin: 0 0 4px;
}
.ged-spk-role {
  font-size: 0.82rem;
  font-weight: 700;
  color: #002da2;
  margin-bottom: 2px;
}
.ged-spk-org {
  font-size: 0.78rem;
  color: #64748b;
  margin-bottom: 10px;
}
.ged-spk-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  justify-content: center;
}
.ged-spk-tag {
  background: #f1f5f9;
  color: #475569;
  font-size: 0.7rem;
  font-weight: 700;
  padding: 2px 8px;
  border-radius: 4px;
}

/* Places Grid */
.ged-places-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
}
.ged-place-card {
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 16px;
  padding: 1.75rem;
  display: flex;
  flex-direction: column;
}
.ged-notes-card {
  background: linear-gradient(135deg, #071e54, #0b2b68) !important;
  color: #fff;
  border-color: rgba(255, 255, 255, 0.1) !important;
}
.ged-pc-top {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 1.25rem;
}
.ged-pc-icon {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  background: #e0eeff;
  color: #002da2;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.25rem;
  flex-shrink: 0;
}
.ged-pc-icon.blue {
  background: #e0f2fe;
  color: #0284c7;
}
.ged-pc-icon.gold {
  background: rgba(245, 168, 0, 0.2);
  color: #F5A800;
}
.ged-pc-badge {
  font-size: 0.7rem;
  font-weight: 800;
  color: #002da2;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}
.ged-pc-badge.blue {
  color: #0284c7;
}
.ged-pc-badge.gold {
  color: #F5A800;
}
.ged-pc-title {
  font-size: 1.12rem;
  font-weight: 800;
  color: #0f172a;
  margin: 2px 0;
}
.ged-pc-title.text-white {
  color: #ffffff;
}
.ged-pc-sub {
  font-size: 0.8rem;
  color: #64748b;
  margin: 0;
}
.ged-pc-sub.text-light {
  color: rgba(255, 255, 255, 0.7);
}
.ged-pc-rows {
  display: flex;
  flex-direction: column;
  gap: 10px;
  font-size: 0.85rem;
}
.ged-pc-lbl {
  font-weight: 700;
  color: #64748b;
  display: block;
  margin-bottom: 2px;
  font-size: 0.75rem;
}
.ged-pc-val {
  color: #1e293b;
  line-height: 1.4;
}
.ged-notes-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
  font-size: 0.88rem;
}
.ged-notes-list li {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  line-height: 1.45;
  color: rgba(255, 255, 255, 0.9);
}

/* Perks Comparison */
.ged-perks-compare-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.75rem;
}
.ged-perk-col {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 16px;
  padding: 2rem;
  display: flex;
  flex-direction: column;
}
.ged-perk-col.highlight {
  border-color: #002da2;
  box-shadow: 0 8px 24px rgba(0, 45, 162, 0.08);
  position: relative;
}
.ged-perk-badge {
  position: absolute;
  top: -12px;
  right: 20px;
  background: #F5A800;
  color: #071e54;
  font-size: 0.72rem;
  font-weight: 900;
  padding: 3px 12px;
  border-radius: 999px;
}
.ged-perk-icon {
  width: 46px;
  height: 46px;
  border-radius: 12px;
  background: #e0eeff;
  color: #002da2;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.3rem;
  margin-bottom: 1rem;
}
.ged-perk-icon.blue {
  background: #e0f2fe;
  color: #0284c7;
}
.ged-perk-title {
  font-size: 1.25rem;
  font-weight: 800;
  color: #0f172a;
  margin: 0 0 4px;
}
.ged-perk-sub {
  font-size: 0.88rem;
  color: #64748b;
  margin: 0 0 1.25rem;
  line-height: 1.5;
}
.ged-perk-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.ged-perk-list li {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 0.92rem;
  color: #1e293b;
}

/* Registration Box */
.ged-register-box {
  background: linear-gradient(135deg, #071e54 0%, #0c2b64 100%);
  border-radius: 24px;
  padding: 3.5rem;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3rem;
  color: #ffffff;
  box-shadow: 0 16px 48px rgba(7, 30, 84, 0.25);
}
.ged-reg-tag {
  display: inline-block;
  font-size: 0.75rem;
  font-weight: 800;
  color: #F5A800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-bottom: 0.5rem;
}
.ged-reg-title {
  font-family: var(--fd, Georgia, serif);
  font-size: clamp(1.8rem, 3vw, 2.5rem);
  font-weight: 900;
  color: #ffffff;
  margin: 0 0 1rem;
}
.ged-reg-title .text-gold {
  color: #F5A800;
}
.ged-reg-desc {
  font-size: 0.95rem;
  color: rgba(255, 255, 255, 0.82);
  line-height: 1.6;
  margin-bottom: 2rem;
}
.ged-reg-perks-list {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}
.ged-rpl-item {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  font-size: 0.88rem;
}
.ged-rpl-item i {
  font-size: 1.25rem;
  margin-top: 2px;
}
.ged-rpl-item strong {
  color: #ffffff;
  display: block;
  font-size: 0.95rem;
  margin-bottom: 2px;
}
.ged-rpl-item p {
  color: rgba(255, 255, 255, 0.7);
  margin: 0;
  line-height: 1.4;
}
.ged-event-form {
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 18px;
  padding: 2rem;
  backdrop-filter: blur(8px);
}
.ged-form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
}
.ged-fg-group {
  margin-bottom: 1rem;
}
.ged-fg-group label {
  display: block;
  font-size: 0.8rem;
  font-weight: 700;
  color: rgba(255, 255, 255, 0.85);
  margin-bottom: 6px;
}
.ged-fg-group input, .ged-fg-group select {
  width: 100%;
  box-sizing: border-box;
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 8px;
  padding: 10px 14px;
  font-size: 0.9rem;
  color: #ffffff;
  outline: none;
  transition: border-color 0.2s;
}
.ged-fg-group input:focus, .ged-fg-group select:focus {
  border-color: #F5A800;
}
.ged-fg-group select option {
  background: #071e54;
  color: #ffffff;
}
.btn-ged-submit {
  width: 100%;
  background: #F5A800;
  color: #071e54;
  border: none;
  font-weight: 900;
  font-size: 1rem;
  padding: 14px;
  border-radius: 999px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  box-shadow: 0 4px 16px rgba(245, 168, 0, 0.4);
  margin-top: 0.5rem;
  transition: transform 0.2s, box-shadow 0.2s;
}
.btn-ged-submit:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(245, 168, 0, 0.5);
}
.ged-form-footer-note {
  text-align: center;
  font-size: 0.75rem;
  color: rgba(255, 255, 255, 0.6);
  margin-top: 10px;
}

/* Stats Bar */
.ged-stats-bar {
  background: #002da2;
  border-radius: 16px;
  padding: 1.75rem;
  display: flex;
  align-items: center;
  justify-content: space-around;
  color: #ffffff;
  margin-bottom: 2.5rem;
  flex-wrap: wrap;
  gap: 1rem;
}
.ged-sb-item {
  text-align: center;
}
.ged-sb-num {
  font-size: 2rem;
  font-weight: 900;
  color: #F5A800;
  display: block;
  line-height: 1;
  margin-bottom: 4px;
  font-family: var(--fd);
}
.ged-sb-lbl {
  font-size: 0.85rem;
  font-weight: 700;
  color: rgba(255, 255, 255, 0.9);
}
.ged-sb-sep {
  width: 1px;
  height: 40px;
  background: rgba(255, 255, 255, 0.2);
}
.ged-benefits-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
}
.ged-benefit-card {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 16px;
  padding: 1.75rem;
}
.ged-bc-icon {
  width: 44px;
  height: 44px;
  border-radius: 10px;
  background: #e0eeff;
  color: #002da2;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.25rem;
  margin-bottom: 1rem;
}
.ged-bc-title {
  font-size: 1.05rem;
  font-weight: 800;
  color: #0f172a;
  margin: 0 0 6px;
}
.ged-bc-desc {
  font-size: 0.85rem;
  color: #64748b;
  line-height: 1.5;
  margin: 0;
}

/* Related Events Grid */
.ged-related-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
}

/* Responsive */
@media (max-width: 991px) {
  .ged-hero-layout {
    grid-template-columns: 1fr;
    gap: 2.5rem;
  }
  .ged-speakers-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .ged-places-grid, .ged-benefits-grid, .ged-related-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .ged-register-box {
    grid-template-columns: 1fr;
    padding: 2.5rem 1.75rem;
  }
}
@media (max-width: 640px) {
  .ged-speakers-grid, .ged-places-grid, .ged-benefits-grid, .ged-related-grid, .ged-perks-compare-grid {
    grid-template-columns: 1fr;
  }
  .ged-form-grid {
    grid-template-columns: 1fr;
  }
  .ged-tl-item {
    grid-template-columns: 80px 24px 1fr;
    gap: 0.5rem;
  }
  .ged-sb-sep {
    display: none;
  }
}

/* ═════════════════════════════════════════════════════════════════════
   FEATURED EVENT CARDS & HOMEPAGE EVENTS SECTION
   ═════════════════════════════════════════════════════════════════════ */
.gi-home-events-sec {
  background: #f8fafc;
  position: relative;
  overflow: hidden;
}
.gi-home-events-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 2rem;
  margin-bottom: 2.75rem;
  flex-wrap: wrap;
}
.gi-view-all-events-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 24px;
  border-radius: 999px;
  border: 1.5px solid #002da2;
  background: #ffffff;
  color: #002da2;
  font-weight: 700;
  font-size: 0.875rem;
  text-decoration: none;
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
  box-shadow: 0 2px 8px rgba(0, 45, 162, 0.08);
  flex-shrink: 0;
}
.gi-view-all-events-btn:hover {
  background: #002da2;
  color: #ffffff;
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(0, 45, 162, 0.25);
}
.gi-view-all-events-btn i {
  transition: transform 0.2s ease;
}
.gi-view-all-events-btn:hover i {
  transform: translateX(4px);
}

/* Event Grid: 3 columns */
.gi-events-grid,
.ged-related-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
}

/* Event Card Component */
.gi-event-card {
  background: #ffffff;
  border-radius: 18px;
  overflow: hidden;
  border: 1.5px solid #e2e8f0;
  display: flex;
  flex-direction: column;
  transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1);
  box-shadow: 0 4px 20px rgba(0, 45, 162, 0.05);
  cursor: pointer;
  position: relative;
}
.gi-event-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 16px 36px rgba(0, 45, 162, 0.12);
  border-color: #C4D9FF;
}

/* Image Wrap */
.gi-event-img-wrap {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: #07132a;
}
.gi-event-thumb {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.45s cubic-bezier(0.16, 1, 0.3, 1);
}
.gi-event-card:hover .gi-event-thumb {
  transform: scale(1.06);
}
.gi-event-img-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(7, 19, 42, 0.2) 0%, rgba(7, 19, 42, 0.65) 100%);
  pointer-events: none;
}

/* Date Box (Top Left) */
.gi-event-date-box {
  position: absolute;
  top: 14px;
  left: 14px;
  background: rgba(7, 19, 42, 0.85);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 10px;
  padding: 6px 12px;
  text-align: center;
  color: #ffffff;
  min-width: 52px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
  z-index: 2;
}
.gi-edb-day {
  font-size: 1.35rem;
  font-weight: 900;
  line-height: 1;
  color: #ffd000;
  font-family: var(--fd, sans-serif);
  display: block;
}
.gi-edb-month {
  font-size: 0.65rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  opacity: 0.9;
  margin-top: 2px;
  display: block;
}

/* Format Pill (Top Right) */
.gi-event-format-pill {
  position: absolute;
  top: 14px;
  right: 14px;
  background: rgba(255, 255, 255, 0.94);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  color: #002da2;
  font-size: 0.72rem;
  font-weight: 800;
  padding: 5px 12px;
  border-radius: 999px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  display: inline-flex;
  align-items: center;
  gap: 5px;
  z-index: 2;
}

/* Status Badge (Bottom Left of Image) */
.gi-event-cat-badge {
  position: absolute;
  bottom: 14px;
  left: 14px;
  background: rgba(7, 19, 42, 0.78);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  color: #ffffff;
  font-size: 0.68rem;
  font-weight: 700;
  padding: 4px 10px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.15);
  display: inline-flex;
  align-items: center;
  gap: 6px;
  z-index: 2;
}
.gi-status-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  display: inline-block;
}
.gi-status-dot.pulse {
  background: #10b981;
  box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.35);
  animation: gi-pulse-dot 1.8s infinite;
}
.gi-status-dot.past {
  background: #94a3b8;
}
@keyframes gi-pulse-dot {
  0% { box-shadow: 0 0 0 0 rgba(16, 185, 129, 0.7); }
  70% { box-shadow: 0 0 0 6px rgba(16, 185, 129, 0); }
  100% { box-shadow: 0 0 0 0 rgba(16, 185, 129, 0); }
}

/* Content Body */
.gi-event-body {
  padding: 1.5rem;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}
.gi-event-meta {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 0.75rem;
  font-size: 0.78rem;
  color: #64748b;
  flex-wrap: wrap;
}
.gi-meta-item {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}
.gi-meta-item i {
  color: #002da2;
  font-size: 0.8rem;
}
.gi-event-title {
  font-family: var(--fd, sans-serif);
  font-size: 1.15rem;
  font-weight: 800;
  color: #07132a;
  line-height: 1.4;
  margin: 0 0 0.75rem;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.gi-event-title a {
  color: inherit;
  text-decoration: none;
  transition: color 0.2s ease;
}
.gi-event-card:hover .gi-event-title a {
  color: #002da2;
}
.gi-event-excerpt {
  font-size: 0.85rem;
  color: #475569;
  line-height: 1.6;
  margin-bottom: 1.5rem;
  flex-grow: 1;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* Footer of Card */
.gi-event-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding-top: 1rem;
  border-top: 1px solid #f1f5f9;
  margin-top: auto;
}
.gi-event-perk {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 0.75rem;
  font-weight: 700;
  color: #059669;
  background: #ecfdf5;
  padding: 4px 10px;
  border-radius: 6px;
}
.gi-event-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 18px;
  border-radius: 999px;
  font-size: 0.82rem;
  font-weight: 700;
  text-decoration: none;
  transition: all 0.25s ease;
}
.gi-event-btn.btn-gold {
  background: linear-gradient(135deg, #F5A800, #FFD000);
  color: #07132a;
  box-shadow: 0 3px 10px rgba(245, 168, 0, 0.3);
}
.gi-event-btn.btn-gold:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 16px rgba(245, 168, 0, 0.45);
  color: #07132a;
}
.gi-event-btn.btn-secondary {
  background: #f1f5f9;
  color: #475569;
}
.gi-event-btn.btn-secondary:hover {
  background: #e2e8f0;
  color: #0f172a;
}

/* Responsive Grid */
@media (max-width: 1024px) {
  .gi-events-grid,
  .ged-related-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5rem;
  }
}
@media (max-width: 640px) {
  .gi-events-grid,
  .ged-related-grid {
    grid-template-columns: 1fr;
  }
  .gi-home-events-header {
    flex-direction: column;
    align-items: flex-start;
    gap: 1.25rem;
    margin-bottom: 2rem;
  }
}

/* ── UI/UX REFINEMENTS (Feedback 2026) ── */

/* 1. Card Titles, Meta & Description Ellipsis / Text Clamping */
.ge-card-title,
.proj-card-title,
.prog-title,
.blog-title,
.recard-name,
.hblog-item .blog-title {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  word-break: break-word;
  line-height: 1.4;
}
.ge-card-title a,
.proj-card-title a,
.prog-title a,
.blog-title a {
  display: inline;
}

.ge-meta-line,
.ge-card-cat,
.proj-card-loc,
.prog-desc,
.recard-loc {
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}

.ge-card-tags {
  display: flex;
  flex-wrap: nowrap;
  overflow: hidden;
  gap: 4px;
}
.ge-card-tags .ge-tag-sm {
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
  max-width: 140px;
  flex-shrink: 0;
}

/* 2. Unified Entry Content Typography Reset */
.entry-content,
.entry-content * {
  font-family: var(--fb, 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif);
}
.entry-content {
  color: #334155;
  line-height: 1.8;
  font-size: 0.98rem;
}
.entry-content p {
  margin-bottom: 1.15rem;
}
.entry-content strong,
.entry-content b {
  color: var(--td, #07132a);
  font-weight: 700;
}
.entry-content h2,
.entry-content h3,
.entry-content h4 {
  font-family: var(--fd, 'Be Vietnam Pro', sans-serif);
  color: var(--td, #07132a);
  font-weight: 800;
  margin-top: 1.5rem;
  margin-bottom: 0.75rem;
  letter-spacing: -0.02em;
}
.entry-content ul,
.entry-content ol {
  padding-left: 1.5rem;
  margin-bottom: 1.25rem;
}
.entry-content li {
  margin-bottom: 0.35rem;
}

/* 3. Project Detail 3 Indicators Contrast */
.pd2-sec .pd2-stat-lbl,
.pd2-sec-indicator-lbl {
  color: #475569 !important;
  font-weight: 700 !important;
  font-size: 0.72rem !important;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

/* 4. Google Preferred Source Badge Hover */
.foot-google-badge:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 18px rgba(0,0,0,.35) !important;
}

/* ══ 5. LAPTOP & MULTI-DEVICE IMAGE & ICON STANDARDIZATION ══ */
/* Header Logo: strict containment across all devices */
.site-header .logo,
.site-header .logo-custom {
  max-height: var(--h1, 88px) !important;
  display: flex !important;
  align-items: center !important;
}
.site-header .logo img,
.site-header .logo-custom img,
.site-header .gi-logo {
  height: 46px !important;
  max-height: 46px !important;
  width: auto !important;
  max-width: 240px !important;
  object-fit: contain !important;
  display: block !important;
  flex-shrink: 0 !important;
}

/* Laptop Navigation Adaptation (1024px – 1366px screens) */
@media (min-width: 993px) and (max-width: 1280px) {
  .hdr-quick-nav {
    padding: 5px 12px !important;
    gap: 0.65rem !important;
  }
  .hdr-quick-link {
    font-size: 0.78rem !important;
  }
  .main-nav > ul > li > a {
    padding: 0 7px !important;
    font-size: 0.76rem !important;
  }
  .nav-cta-wrap .btn {
    padding: 0 12px !important;
    font-size: 0.76rem !important;
  }
}

/* Flag Icons: strict aspect ratio and object-fit */
.lang-flag-icon,
.hdr-lang img,
.lang-item img,
.slide-panel-flag img,
.prog-flag img,
.pcard-flag,
.re-card-flag img,
.pl-flag img {
  width: 20px !important;
  height: 15px !important;
  min-width: 20px !important;
  max-width: 20px !important;
  max-height: 15px !important;
  object-fit: cover !important;
  border-radius: 2px !important;
  flex-shrink: 0 !important;
  display: inline-block !important;
}

/* Circular Buttons: strict 1:1 aspect ratio across all devices */
.hero-arr,
.btt,
.gi-fab-toggle,
.gi-fab-btn,
.hdr-soc,
.foot-soc-a,
.foot-cta-icon {
  aspect-ratio: 1 / 1 !important;
  flex-shrink: 0 !important;
  box-sizing: border-box !important;
}

/* Partner Logos: clean centering and containment */
.partner-logo img {
  max-height: 42px !important;
  max-width: 150px !important;
  width: auto !important;
  object-fit: contain !important;
  display: block !important;
}
.partner-logo-card img {
  max-height: 75px !important;
  max-width: 90% !important;
  width: auto !important;
  object-fit: contain !important;
  display: block !important;
  margin: 0 auto !important;
}

/* Team Squircle Avatars: perfect squircle ratio */
img.team-squircle-av,
.team-squircle-av img {
  width: 130px !important;
  height: 130px !important;
  min-width: 130px !important;
  min-height: 130px !important;
  border-radius: 22px !important;
  object-fit: cover !important;
  aspect-ratio: 1 / 1 !important;
  display: block !important;
}
@media (max-width: 480px) {
  img.team-squircle-av,
  .team-squircle-av img {
    width: 80px !important;
    height: 80px !important;
    min-width: 80px !important;
    min-height: 80px !important;
    border-radius: 16px !important;
  }
}

/* Program, Project & Story Cover Images: prevent stretch or squeeze */
.prog-img img,
.proj-img img,
.pcard-img img,
.story-card-img img,
.blog-img img,
.blog-item img,
.re-card-img img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}




