*,*::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.5;color:#1A2D52;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:#1C6CE0;--pd:#1657B8;--pdd:#0C1E40;--pl:#4D88F5;--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:#52688A;--tl:#8FA3C2;
  --ok:#059669;--okbg:#ECFDF5;
  --gp:linear-gradient(135deg,#1657B8,#2268E0);
  --gpa:linear-gradient(135deg,#0C1E40 0%,#1847AA 60%,#2268E0 100%);
  --ga:linear-gradient(135deg,#F5A800,#FFD700);
  --sh:0 4px 24px rgba(23,87,209,.13);--shh:0 16px 48px rgba(23,87,209,.22);
  --r:10px;--rl:14px;--rxl:22px;--rf:9999px;
  --fd:'Be Vietnam Pro','Inter',sans-serif;--h1:68px;--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(--gp);color:#fff;box-shadow:0 4px 16px rgba(24,71,170,.35)}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 28px rgba(24,71,170,.45);color:#fff}
.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:1.0625rem;color:var(--tm);max-width:580px;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:linear-gradient(90deg,#07132A 0%,#1847AA 50%,#07132A 100%);height:var(--h3);display:flex;align-items:center;overflow:hidden;border-bottom:1px solid rgba(255,255,255,.08)}
.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,.88);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:.3s}
.site-header.scrolled .hdr-logo-bar{box-shadow:0 4px 20px rgba(23,87,209,.15)}
/* WordPress admin bar fix */
.admin-bar .site-header{top:32px}
@media screen and (max-width:782px){.admin-bar .site-header{top:46px}}
.hdr-logo-bar{background:linear-gradient(105deg,#ffffff 0%,#f0f6ff 100%);border-bottom:2px solid var(--p100);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:.35}
.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}
.gi-logo{height:46px;width:auto;display:block;flex-shrink:0}
.gi-logo-white{height:38px;width:auto;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:.5rem;font-size:.8125rem;color:var(--tm)}
.hdr-info-item i{color:var(--p);font-size:.875rem;width:16px;text-align:center}
.hdr-info-label{font-size:.65rem;color:var(--tl);margin-bottom:1px;line-height:1;display:block}
.hdr-info-item a{color:var(--td);font-weight:600}.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(23,87,209,.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:var(--pd);height:var(--h2);display:flex;align-items:center}
.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{padding-top:calc(var(--h1) + var(--h2) + var(--h3));position:relative;overflow:hidden}
.hero-slider{position:relative;min-height:calc(100vh - var(--h1) - var(--h2) - var(--h3) - 90px)}
.slide{position:absolute;inset:0;display:flex;align-items:center;opacity:0;transition:opacity .75s ease;pointer-events:none}
.slide.active{opacity:1;position:relative;pointer-events:auto}
.slide-content{position:relative;z-index:2;max-width:680px;padding:5rem 0 4rem}
.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(2.2rem,5vw,3.75rem);font-weight:800;color:#fff;line-height:1.15;margin-bottom:1.25rem;letter-spacing:-.025em}
.slide-h1 em{font-style:normal;color:var(--al)}
.slide-desc{font-size:1.1rem;color:rgba(255,255,255,.85);line-height:1.65;margin-bottom:2rem;max-width:560px}
.slide-btns{display:flex;gap:1rem;flex-wrap:wrap}
.slide-badges{display:flex;gap:.75rem;margin-top:1.5rem;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;border-radius:50%;background:rgba(255,255,255,.15);border:1.5px solid rgba(255,255,255,.3);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:.25s;font-size:.875rem}
.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:2rem;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)}
/* 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}
.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:flex;gap:.5rem}
@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 */
.trust-strip{background:linear-gradient(135deg,#0f2a6e 0%,#1847AA 60%,#1053C8 100%);padding:1.125rem 0;border-top:3px solid var(--al)}
.trust-strip .container{display:flex;align-items:center;gap:1.5rem}
.trust-strip-lbl{font-size:.65rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--al);white-space:nowrap;flex-shrink:0;border-right:1px solid rgba(255,255,255,.2);padding-right:1.5rem}
.trust-strip-items{display:flex;align-items:center;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;flex:1}
.trust-strip-items::-webkit-scrollbar{display:none}
.trust-item{display:flex;align-items:center;gap:.45rem;padding:.375rem 1.25rem;font-size:.8rem;font-weight:700;color:rgba(255,255,255,.92);white-space:nowrap;flex-shrink:0}
.trust-item i{font-size:.875rem;color:var(--al)}
.trust-sep{width:1px;height:20px;background:rgba(255,255,255,.18);flex-shrink:0}
/* 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:var(--gpa);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(24,71,170,.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(23,87,209,.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:1px solid rgba(255,255,255,.12);padding-bottom:3rem;background:linear-gradient(180deg,#1244A0 0%,#0e3a90 50%,#0b2d78 100%)}
.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,.2)}
.foot-bottom .container{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem}
.foot-copy{font-size:.75rem;color:rgba(255,255,255,.82)}
.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;gap:1.25rem}
.foot-legal a{font-size:.75rem;color:rgba(255,255,255,.55);transition:.15s}.foot-legal a:hover{color:#fff}
/* FLOAT + BTT */
.btt{position:fixed;bottom:2rem;right:2rem;width:44px;height:44px;border-radius:50%;background:var(--p);color:#fff;border:none;cursor:pointer;font-size:.875rem;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 28px rgba(23,87,209,.4);z-index:100;opacity:0;transform:translateY(12px);transition:.3s}
.btt.show{opacity:1;transform:translateY(0)}.btt:hover{background:var(--pdd);transform:translateY(-3px)}
.float-cta{position:fixed;bottom:5.5rem;right:2rem;display:flex;flex-direction:column;gap:.5rem;z-index:100}
.float-btn{width:46px;height:46px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.1rem;box-shadow:0 4px 18px rgba(0,0,0,.25);transition:.25s;text-decoration:none}
.float-btn:hover{transform:scale(1.1) translateY(-2px);color:#fff}
.float-zalo{background:linear-gradient(135deg,#0068FF,#0096FF)}.float-phone{background:var(--gp)}
/* RESPONSIVE HEADER */
@media(max-width:1100px){.hdr-info-bar{display:none}.cta-grid{grid-template-columns:1fr}}
@media(max-width:768px){.main-nav,.nav-cta-wrap{display:none}.nav-burger{display:flex}.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:flex;align-items:center;gap:.5rem;font-size:.8rem;color:rgba(255,255,255,.6)}
.sp-breadcrumb a{color:rgba(255,255,255,.7)}.sp-breadcrumb a:hover{color:#fff}
.sp-breadcrumb span{color:rgba(255,255,255,.4)}
.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 */
@media(max-width:768px){.blog-layout{grid-template-columns:1fr}.blog-layout>div:last-child{display:none}.blog-grid{grid-template-columns:1fr}}
/* 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 1fr}}
/* 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:var(--gpa);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-hero .container{position:relative;z-index:2}
.prog-hero .sp-breadcrumb a{color:rgba(255,255,255,.6)}.prog-hero .sp-breadcrumb span{color:rgba(255,255,255,.4)}
.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);margin:0 -2rem;padding:0 2rem}
.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}.consult-side{position:static}.prog-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.prog-grid{grid-template-columns:1fr}.prog-filter-bar{gap:.35rem}.pf-btn{padding:7px 14px;font-size:.75rem}}
/* ── 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(2rem,4vw,3rem);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:flex;gap:2rem;flex-wrap:wrap;margin-top:1.5rem}
.re-stat-num{font-family:var(--fd);font-size:1.5rem;font-weight:800;color:var(--al);line-height:1}
.re-stat-lbl{font-size:.7rem;color:rgba(255,255,255,.5);margin-top:.2rem;text-transform:uppercase;letter-spacing:.07em}
.re-layout{display:grid;grid-template-columns:1fr 300px;gap:2rem;padding:2rem 0 4rem;align-items:start}
.re-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.375rem}
.recard{background:var(--w);border-radius:var(--rl);border:1.5px solid var(--border);overflow:hidden;transition:.25s;cursor:pointer}
.recard:hover{transform:translateY(-4px);box-shadow:var(--shh);border-color:var(--p100)}
.recard-img{height:175px;position:relative;display:flex;align-items:center;justify-content:center;font-size:4rem;color:rgba(255,255,255,.2)}
.recard-badge{position:absolute;top:.75rem;left:.75rem;background:var(--ga);color:var(--pdd);font-size:.62rem;font-weight:700;padding:3px 9px;border-radius:var(--rf);text-transform:uppercase;letter-spacing:.06em}
.recard-badge.new-badge{background:linear-gradient(135deg,#E53935,#FF7043);color:#fff}
.recard-body{padding:1.125rem}
.recard-location{font-size:.68rem;font-weight:700;color:var(--p);text-transform:uppercase;letter-spacing:.08em;margin-bottom:.25rem}
.recard-location i{font-size:.62rem;margin-right:.25rem}
.recard-name{font-family:var(--fd);font-size:.9375rem;font-weight:800;color:var(--td);margin-bottom:.2rem;line-height:1.25}
.recard-dev{font-size:.75rem;color:var(--tm);margin-bottom:.75rem}
.recard-price{font-family:var(--fd);font-size:1.05rem;font-weight:800;color:var(--ok);margin-bottom:.625rem}
.recard-feats{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:.875rem}
.recard-feat{font-size:.68rem;background:var(--ps);color:var(--p);padding:3px 9px;border-radius:var(--rf);font-weight:600}
.recard-footer{display:flex;gap:.5rem}
.recard-footer .btn{flex:1;justify-content:center;font-size:.74rem;padding:8px 10px}
.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}}
@media(max-width:640px){.re-grid{grid-template-columns:1fr}.re-stats-bar{gap:1.25rem}.re-why-grid{grid-template-columns:1fr 1fr}}
/* ── 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}
.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(--gp)}.chs-icon.gold{background:var(--ga)}.chs-icon.green{background:linear-gradient(135deg,#059669,#10b981)}.chs-icon.purple{background:linear-gradient(135deg,#7C3AED,#8B5CF6)}
.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}
.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(23,87,209,.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-map-ph{height:160px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;font-size:3rem}
.office-map-overlay{position:absolute;inset:0;background:rgba(0,0,0,.2)}
.office-map-lbl{position:absolute;bottom:.625rem;left:.75rem;background:rgba(0,0,0,.55);backdrop-filter:blur(6px);color:#fff;font-size:.7rem;font-weight:700;padding:3px 10px;border-radius:var(--rf)}
.office-body{padding:1.125rem}
.office-city-tag{font-size:.65rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--p);margin-bottom:.2rem}
.office-name{font-family:var(--fd);font-size:.9375rem;font-weight:800;color:var(--td);margin-bottom:.5rem;line-height:1.3}
.office-meta{display:flex;flex-direction:column;gap:.3rem}
.office-meta-row{display:flex;align-items:center;gap:.5rem;font-size:.78rem;color:var(--tm)}
.office-meta-row i{color:var(--p);width:14px;text-align:center;font-size:.7rem;flex-shrink:0}
.social-contact-row{display:flex;gap:.625rem;margin-top:1.5rem;flex-wrap:wrap}
.soc-btn{display:flex;align-items:center;gap:.5rem;padding:9px 18px;border-radius:var(--rf);font-size:.8125rem;font-weight:700;border:none;cursor:pointer;transition:.2s;text-decoration:none}
.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:900px){.contact-hero-stats{grid-template-columns:repeat(2,1fr)}.contact-main-grid{grid-template-columns:1fr}.office-grid{grid-template-columns:1fr}}
@media(max-width:560px){.cf-row{grid-template-columns:1fr}.contact-hero-stats{grid-template-columns:1fr 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:1rem;margin-bottom:1.5rem}
.pgd-hl{background:var(--ps);border:1.5px solid var(--p100);border-radius:var(--rl);padding:1.125rem;transition:.25s}
.pgd-hl:hover{border-color:var(--p);box-shadow:0 4px 16px rgba(23,87,209,.1)}
.pgd-hl-icon{width:40px;height:40px;border-radius:var(--r);background:var(--gp);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.9rem;margin-bottom:.625rem;flex-shrink:0}
.pgd-hl-icon.gold{background:var(--ga);color:var(--pdd)}
.pgd-hl-title{font-family:var(--fd);font-size:.875rem;font-weight:800;color:var(--td);margin-bottom:.2rem}
.pgd-hl-desc{font-size:.78rem;color:var(--tm);line-height:1.5}
.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:.8125rem;color:var(--tm);line-height:1.55}
.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:.85rem;color:var(--tm);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}
.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 */
  .pgd-sticky,.pd2-sticky{top:calc(var(--h1)+var(--h2)+var(--h3))}
  /* KPI row: 2 cols */
  .pd2-kpi{grid-template-columns:1fr 1fr}
  /* 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{padding-top:calc(var(--h1)+var(--h2)+var(--h3)+32px)}
@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{padding-top:calc(var(--h1)+var(--h2)+var(--h3)+46px)}
}

/* ── 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)}

/* ══ 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){.sc-archive-layout{grid-template-columns:1fr}.sc-archive-layout>div:last-child{display:none}.sc-featured{grid-template-columns:1fr}.story-detail-layout{grid-template-columns:1fr;padding:2.5rem 0 4rem}.story-detail-layout>div:last-child{display:none}}
@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}}

/* PARTNERS SECTION */
.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:.5rem;padding:.875rem 1.625rem;background:var(--w);border:1.5px solid var(--borderl);border-radius:var(--r);font-size:.8rem;font-weight:700;color:var(--td);transition:.25s;white-space:nowrap;box-shadow:0 2px 8px rgba(23,87,209,.05);cursor:default}
.partner-logo:hover{border-color:var(--p);color:var(--p);background:var(--ps);transform:translateY(-2px);box-shadow:var(--sh)}
.partner-logo .pl-flag{font-size:1.1rem}

/* ══ 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 */
@media(max-width:480px){
  .slide-content{padding:3rem 0 2.5rem}
  .hero-arr{width:38px;height:38px;font-size:.75rem}
  #prev-btn{left:.75rem}#next-btn{right:.75rem}
  .slider-dots{bottom:1.25rem}
}
/* 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}
}
/* Single article 2-col → 1 col */
@media(max-width:768px){
  .single-layout-2col{grid-template-columns:1fr!important}
}
/* Success story grid on mobile */
@media(max-width:480px){.story-grid{grid-template-columns:1fr}}
/* Partner logos scroll */
@media(max-width:768px){
  .partners-logos{flex-wrap:nowrap!important;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .partners-logos::-webkit-scrollbar{display:none}
  .partner-logo{flex-shrink:0}
}
/* 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 */
@media(max-width:768px){
  .btt{bottom:1.5rem;right:1rem;width:40px;height:40px}
  .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%}
