:root{--navy:#0b2a4a;--navy2:#071c33;--gold:#c39a3d;--gold2:#f2c766;--text:#172033;--muted:#667085;--bg:#f7f8fb;--white:#fff;--shadow:0 18px 45px rgba(8,27,51,.11);--radius:22px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Arial,Helvetica,sans-serif;color:var(--text);background:var(--bg);line-height:1.55}a{text-decoration:none;color:inherit}.container{width:min(1180px,calc(100% - 32px));margin:auto}.site-header{position:sticky;top:0;z-index:50;background:#fff;box-shadow:0 1px 0 rgba(15,23,42,.08)}.nav-wrap{height:86px;display:flex;align-items:center;gap:28px}.brand{display:flex;align-items:center;flex:0 0 285px}.brand img{max-width:285px;max-height:68px;object-fit:contain}.main-nav{display:flex;align-items:center;gap:4px;margin-left:auto}.main-nav a{padding:22px 20px;font-weight:700;color:#1f2937}.main-nav a.active,.main-nav a:hover{background:linear-gradient(135deg,#ffc83d,#f4b726);color:#111827}.panel-btn{background:var(--navy);color:#fff;padding:12px 18px;border-radius:999px;font-weight:800;box-shadow:0 8px 22px rgba(11,42,74,.18)}.mobile-toggle{display:none;border:0;background:#fff;font-size:28px}.hero{position:relative;overflow:hidden;background:radial-gradient(circle at 70% 20%,rgba(242,199,102,.22),transparent 30%),linear-gradient(135deg,#f9fbff 0%,#eef4fb 100%);padding:82px 0 64px}.hero:before{content:"";position:absolute;inset:auto 0 0 0;height:110px;background:linear-gradient(90deg,rgba(11,42,74,.08),rgba(195,154,61,.15));}.hero-grid{position:relative;display:grid;grid-template-columns:1.1fr .9fr;gap:46px;align-items:center}.eyebrow{display:inline-flex;color:var(--gold);font-weight:900;letter-spacing:.08em;text-transform:uppercase;font-size:13px;margin-bottom:12px}.hero h1{font-size:clamp(44px,6vw,76px);line-height:.98;margin:0 0 20px;color:var(--navy2);letter-spacing:-2px}.hero h1 span{color:var(--gold)}.hero p{font-size:20px;color:#475467;max-width:650px}.search-box{display:flex;max-width:720px;background:#fff;border-radius:18px;box-shadow:var(--shadow);padding:8px;margin:34px 0 26px}.search-box input{flex:1;border:0;outline:0;font-size:17px;padding:0 18px}.search-box button{border:0;border-radius:14px;background:linear-gradient(135deg,var(--gold),#ffcf55);padding:16px 28px;font-weight:900;color:#111827;cursor:pointer}.hero-stats{display:flex;gap:14px;flex-wrap:wrap}.hero-stats div{background:#fff;border:1px solid #eef2f7;border-radius:16px;padding:14px 18px;min-width:130px}.hero-stats strong{display:block;color:var(--navy);font-size:24px}.hero-stats span{color:var(--muted);font-size:13px}.hero-card{display:flex;justify-content:center}.certificate-card{background:#fff;border-radius:28px;padding:34px;box-shadow:var(--shadow);border:1px solid #edf0f6;min-height:330px;display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden}.certificate-card:after{content:"🎓";position:absolute;right:-10px;bottom:-25px;font-size:130px;opacity:.08}.badge{display:inline-flex;align-self:flex-start;background:#0b2a4a;color:#fff;border-radius:999px;padding:8px 14px;font-weight:900;margin-bottom:20px}.certificate-card h2{font-size:34px;line-height:1.1;margin:0 0 14px;color:var(--navy)}.primary-link,.outline-btn,.contact-box a,.announce-box a,.read-more{display:inline-flex;align-items:center;justify-content:center;font-weight:900;color:var(--navy);border-bottom:2px solid var(--gold);width:max-content}.announcement{background:#fff}.announce-box{transform:translateY(-24px);background:linear-gradient(135deg,var(--navy),#123d6b);color:#fff;border-radius:24px;padding:24px 30px;display:flex;align-items:center;justify-content:space-between;box-shadow:var(--shadow)}.announce-box p{margin:4px 0 0;color:#d9e6f5}.announce-box a{background:#fff;color:var(--navy);padding:12px 18px;border-radius:999px;border:0}.section{padding:72px 0}.section-head{text-align:center;max-width:720px;margin:0 auto 38px}.section-head span{color:var(--gold);font-weight:900;text-transform:uppercase;font-size:13px;letter-spacing:.09em}.section-head h2{font-size:38px;line-height:1.1;margin:8px 0 10px;color:var(--navy)}.section-head p{color:var(--muted);font-size:17px}.row-between{display:flex;text-align:left;max-width:none;align-items:end;justify-content:space-between}.course-grid,.blog-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.course-card,.blog-card{background:#fff;border:1px solid #e8edf5;border-radius:var(--radius);padding:26px;box-shadow:0 10px 30px rgba(15,23,42,.05);transition:.2s}.course-card:hover,.blog-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.course-icon{width:56px;height:56px;border-radius:18px;background:#fff7df;display:grid;place-items:center;font-size:28px;margin-bottom:18px}.course-card h3{font-size:22px;color:var(--navy);margin:0 0 10px}.course-card p,.blog-card p{color:var(--muted)}.course-card a{font-weight:900;color:var(--gold)}.about-section{background:#fff}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:42px;align-items:center}.about-grid h2{font-size:42px;line-height:1.1;color:var(--navy);margin:0 0 18px}.about-grid p{color:var(--muted);font-size:18px}.feature-list{display:grid;gap:16px}.feature-list div{background:#f7f9fc;border:1px solid #e8edf5;border-radius:18px;padding:20px}.feature-list strong{display:block;color:var(--navy);font-size:18px}.feature-list span{color:var(--muted)}.blog-preview{background:#f7f8fb}.blog-grid{grid-template-columns:repeat(3,1fr)}.blog-list{grid-template-columns:repeat(3,1fr)}.blog-card{padding:0;overflow:hidden}.blog-card span,.blog-card h3,.blog-card h2,.blog-card p,.blog-card .meta,.blog-card .read-more{margin-left:22px;margin-right:22px}.blog-card span{display:inline-block;margin-top:20px;color:var(--gold);font-weight:900;font-size:13px;text-transform:uppercase}.blog-card h3,.blog-card h2{font-size:22px;line-height:1.2;color:var(--navy);margin-top:8px;margin-bottom:8px}.blog-card p{margin-bottom:22px}.meta{color:#8a94a6;font-size:13px;margin-bottom:10px}.read-more{margin-bottom:22px}.blog-img{height:175px;background:linear-gradient(135deg,#dbeafe,#fef3c7);position:relative}.blog-img:after{position:absolute;right:20px;bottom:14px;font-size:56px;opacity:.55}.bg1:after{content:"🚑"}.bg2:after{content:"📜"}.bg3:after{content:"💻"}.bg4:after{content:"⚕️"}.bg5:after{content:"👥"}.bg6:after{content:"🎓"}.contact-cta{padding-top:30px}.contact-box{text-align:center;background:linear-gradient(135deg,#0b2a4a,#123d6b);border-radius:28px;color:#fff;padding:54px 28px;box-shadow:var(--shadow)}.contact-box h2{font-size:38px;margin:0 0 10px}.contact-box p{color:#d7e5f3}.contact-box a{background:#fff;color:var(--navy);border:0;border-radius:999px;padding:14px 20px;margin:auto}.page-hero{background:linear-gradient(135deg,#eef4fb,#fff);padding:70px 0 46px}.page-hero h1{font-size:58px;color:var(--navy);margin:0}.page-hero p{font-size:19px;color:var(--muted)}.chat-fab{position:fixed;right:24px;bottom:24px;z-index:99;border:0;border-radius:999px;background:linear-gradient(135deg,var(--navy),#13416f);color:#fff;padding:15px 20px;font-weight:900;box-shadow:0 16px 40px rgba(11,42,74,.28);cursor:pointer}.chat-panel{display:none;position:fixed;right:24px;bottom:86px;width:360px;max-width:calc(100vw - 32px);height:510px;background:#fff;border-radius:24px;box-shadow:0 24px 80px rgba(8,27,51,.28);z-index:100;overflow:hidden;border:1px solid #e6ebf2}.chat-panel.open{display:flex;flex-direction:column}.chat-panel header{background:var(--navy);color:#fff;padding:18px;display:flex;justify-content:space-between;align-items:center}.chat-panel small{display:block;color:#cbdcf2}.chat-close{border:0;background:transparent;color:#fff;font-size:28px;cursor:pointer}.chat-body{flex:1;padding:16px;overflow:auto;background:#f7f9fc}.chat-system{text-align:center;background:#fff;border-radius:14px;padding:10px;color:#667085;font-size:13px;margin-bottom:12px}.chat-msg{display:flex;flex-direction:column;margin:9px 0;max-width:82%}.chat-msg span{padding:10px 12px;border-radius:15px;background:#fff;border:1px solid #e6ebf2}.chat-msg small{font-size:11px;color:#98a2b3;margin-top:3px}.chat-msg.admin{margin-left:auto;align-items:flex-end}.chat-msg.admin span{background:#0b2a4a;color:#fff}.chat-form{padding:12px;background:#fff;border-top:1px solid #edf0f6}.chat-form input{border:1px solid #d9e0ea;border-radius:12px;padding:12px;outline:0}.chat-form>input{width:100%;margin-bottom:8px}.chat-row{display:flex;gap:8px}.chat-row input{flex:1}.chat-row button{border:0;background:var(--gold);font-weight:900;border-radius:12px;padding:0 14px;cursor:pointer}.admin-login-body{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#0b2a4a,#123d6b)}.login-card{width:360px;background:#fff;border-radius:24px;padding:30px;box-shadow:var(--shadow);display:grid;gap:14px}.login-card img{max-width:240px;margin:auto}.login-card h1{text-align:center;color:var(--navy);font-size:24px}.login-card input{padding:13px;border:1px solid #d7deea;border-radius:12px}.login-card button{padding:14px;border:0;border-radius:12px;background:var(--gold);font-weight:900}.login-card small{text-align:center;color:#667085}.alert{background:#fee2e2;color:#991b1b;padding:10px;border-radius:12px}.support-admin{background:#eef2f7;min-height:100vh}.support-top{height:76px;background:#fff;border-bottom:1px solid #e5eaf2;display:flex;align-items:center;gap:14px;padding:0 22px}.support-top img{height:46px}.support-top span{display:block;color:#667085;font-size:13px}.support-top a{margin-left:auto;background:#0b2a4a;color:#fff;padding:10px 14px;border-radius:999px}.support-layout{display:grid;grid-template-columns:340px 1fr;height:calc(100vh - 76px)}.conversation-list{background:#fff;border-right:1px solid #e5eaf2;overflow:auto;padding:14px}.conv{width:100%;text-align:left;border:1px solid #edf0f6;background:#fff;border-radius:16px;padding:14px;margin-bottom:10px;cursor:pointer;position:relative}.conv.active,.conv:hover{border-color:var(--gold);background:#fffaf0}.conv strong,.conv span{display:block}.conv span{color:#667085;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.conv em{position:absolute;right:12px;top:12px;background:#ef4444;color:#fff;border-radius:999px;min-width:22px;height:22px;text-align:center;font-style:normal;font-size:12px;line-height:22px}.empty{color:#667085;padding:18px}.support-chat{display:flex;flex-direction:column}.support-chat-head{height:64px;background:#fff;border-bottom:1px solid #e5eaf2;padding:14px 22px}.support-chat-head span{display:block;color:#98a2b3;font-size:12px}.support-messages{flex:1;overflow:auto;padding:20px}.support-msg{max-width:70%;margin:10px 0;display:flex;flex-direction:column}.support-msg span{background:#fff;border:1px solid #e3e8ef;border-radius:16px;padding:12px}.support-msg.admin{margin-left:auto;align-items:flex-end}.support-msg.admin span{background:#0b2a4a;color:#fff}.support-msg small{color:#98a2b3;font-size:11px;margin-top:4px}.support-reply{display:flex;gap:10px;padding:16px;background:#fff;border-top:1px solid #e5eaf2}.support-reply input{flex:1;border:1px solid #d7deea;border-radius:14px;padding:14px}.support-reply button{border:0;border-radius:14px;background:var(--gold);font-weight:900;padding:0 24px}@media(max-width:960px){.nav-wrap{height:auto;min-height:78px;flex-wrap:wrap}.brand{flex:1 1 230px}.brand img{max-width:240px}.mobile-toggle{display:block}.main-nav{display:none;order:5;width:100%;flex-direction:column;align-items:stretch;margin-left:0}.main-nav.open{display:flex}.main-nav a{padding:14px}.panel-btn{display:none}.hero-grid,.about-grid{grid-template-columns:1fr}.course-grid,.blog-grid,.blog-list{grid-template-columns:1fr 1fr}.support-layout{grid-template-columns:1fr}.conversation-list{height:240px}.support-chat{height:calc(100vh - 316px)}}@media(max-width:640px){.hero{padding:54px 0}.hero h1{font-size:42px}.search-box{flex-direction:column}.search-box input{padding:15px}.course-grid,.blog-grid,.blog-list{grid-template-columns:1fr}.announce-box{flex-direction:column;align-items:flex-start;gap:16px}.row-between{display:block}.chat-panel{right:16px;bottom:78px}.chat-fab span{display:none}}


/* Footer */
.site-footer{
    background:#111827;
    color:#d1d5db;
    margin-top:70px;
    padding:56px 0 22px;
}
.footer-grid{
    display:grid;
    grid-template-columns:1.45fr .85fr .95fr 1.1fr;
    gap:34px;
    align-items:flex-start;
}
.footer-brand img{
    width:190px;
    height:auto;
    display:block;
    margin-bottom:18px;
    background:#fff;
    border-radius:14px;
    padding:8px 12px;
}
.footer-brand p,
.footer-contact p{
    color:#b8c0cc;
    line-height:1.7;
    margin:0 0 18px;
}
.footer-social{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
}
.footer-social a{
    color:#fff;
    text-decoration:none;
    border:1px solid rgba(255,255,255,.14);
    border-radius:999px;
    padding:8px 12px;
    font-size:13px;
}
.footer-col h3{
    color:#fff;
    font-size:16px;
    margin:0 0 16px;
}
.footer-col a{
    display:block;
    color:#cbd5e1;
    text-decoration:none;
    margin:0 0 11px;
    font-size:14px;
}
.footer-col a:hover,
.footer-social a:hover{
    color:#f2b84b;
}
.footer-cta{
    display:inline-flex !important;
    align-items:center;
    justify-content:center;
    background:#f2b84b;
    color:#111827 !important;
    padding:12px 16px;
    border-radius:12px;
    font-weight:700;
    margin-top:4px !important;
}
.footer-bottom{
    border-top:1px solid rgba(255,255,255,.1);
    margin-top:34px;
    padding-top:18px;
    display:flex;
    justify-content:space-between;
    gap:14px;
    color:#9ca3af;
    font-size:13px;
}
@media (max-width: 900px){
    .footer-grid{grid-template-columns:1fr 1fr;}
    .footer-bottom{flex-direction:column;}
}
@media (max-width: 560px){
    .site-footer{padding-top:40px;}
    .footer-grid{grid-template-columns:1fr;}
    .footer-brand img{width:170px;}
}


/* v4 page structure */
.home-hero{
    padding:86px 0 58px;
    background:
        radial-gradient(circle at 15% 20%, rgba(242,184,75,.22), transparent 28%),
        linear-gradient(135deg,#f8fafc 0%,#ffffff 45%,#f4f7fb 100%);
    border-bottom:1px solid #edf0f5;
}
.home-hero-grid{
    display:grid;
    grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);
    gap:42px;
    align-items:center;
}
.home-hero h1{
    font-size:55px;
    line-height:1.05;
    margin:16px 0 18px;
    letter-spacing:-1.8px;
    color:#111827;
}
.home-hero p{
    font-size:18px;
    color:#4b5563;
    max-width:720px;
    line-height:1.75;
}
.course-search{
    margin-top:28px;
    display:flex;
    gap:10px;
    background:#fff;
    border:1px solid #e5e7eb;
    box-shadow:0 18px 44px rgba(17,24,39,.09);
    padding:8px;
    border-radius:18px;
    max-width:760px;
}
.course-search input{
    flex:1;
    border:0;
    outline:0;
    padding:16px 18px;
    font-size:15px;
    min-width:0;
}
.course-search button{
    border:0;
    border-radius:14px;
    background:#f2b84b;
    color:#111827;
    padding:0 24px;
    font-weight:800;
    cursor:pointer;
}
.hero-actions{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    margin-top:22px;
}
.primary-link,.secondary-link{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:12px;
    padding:13px 18px;
    text-decoration:none;
    font-weight:800;
}
.primary-link{background:#111827;color:#fff;}
.secondary-link{background:#fff;color:#111827;border:1px solid #e5e7eb;}
.hero-card{
    background:#111827;
    color:#fff;
    border-radius:28px;
    padding:32px;
    box-shadow:0 24px 70px rgba(17,24,39,.22);
}
.hero-card strong{
    display:block;
    font-size:20px;
    margin-bottom:18px;
}
.hero-card ul{
    margin:0 0 20px;
    padding:0;
    list-style:none;
}
.hero-card li{
    padding:12px 0;
    border-bottom:1px solid rgba(255,255,255,.12);
    color:#e5e7eb;
}
.hero-card a{
    display:inline-flex;
    margin-top:8px;
    color:#111827;
    background:#f2b84b;
    padding:12px 16px;
    border-radius:12px;
    font-weight:800;
    text-decoration:none;
}
.compact-section{padding:30px 0;}
.home-stats{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:16px;
}
.home-stats div{
    background:#fff;
    border:1px solid #e8edf4;
    border-radius:18px;
    padding:22px;
    box-shadow:0 12px 30px rgba(15,23,42,.05);
}
.home-stats b{
    display:block;
    color:#111827;
    font-size:24px;
    margin-bottom:4px;
}
.home-stats span{color:#6b7280;}
.section-title{
    max-width:760px;
    margin-bottom:30px;
}
.section-title span,.eyebrow{
    color:#b98218;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.08em;
    font-size:12px;
}
.section-title h2,.split-block h2{
    margin:8px 0 10px;
    font-size:36px;
    line-height:1.15;
    color:#111827;
}
.section-title p,.split-block p{
    color:#5b6472;
    line-height:1.75;
}
.row-title{
    display:flex;
    align-items:end;
    justify-content:space-between;
    gap:20px;
    max-width:none;
}
.row-title a{
    color:#111827;
    font-weight:800;
    text-decoration:none;
}
.course-card-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:18px;
}
.course-card{
    text-decoration:none;
    background:#fff;
    border:1px solid #e8edf4;
    border-radius:20px;
    padding:24px;
    color:#111827;
    box-shadow:0 14px 34px rgba(15,23,42,.06);
}
.course-card span{
    display:inline-flex;
    width:38px;
    height:38px;
    border-radius:12px;
    align-items:center;
    justify-content:center;
    background:#fff7e6;
    color:#b98218;
    font-weight:900;
}
.course-card h3{
    margin:18px 0 10px;
}
.course-card p{
    color:#64748b;
    line-height:1.65;
}
.soft-section{
    background:#f8fafc;
}
.split-block{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:36px;
    align-items:center;
}
.steps{
    display:grid;
    gap:14px;
}
.steps div{
    display:flex;
    align-items:center;
    gap:14px;
    background:#fff;
    border:1px solid #e8edf4;
    border-radius:16px;
    padding:18px;
}
.steps b{
    width:42px;
    height:42px;
    border-radius:50%;
    background:#111827;
    color:#fff;
    display:inline-flex;
    align-items:center;
    justify-content:center;
}
.final-cta{
    padding-top:20px;
}
.final-cta-inner{
    background:linear-gradient(135deg,#111827,#1f2937);
    color:#fff;
    border-radius:28px;
    padding:34px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:22px;
}
.final-cta h2{margin:0 0 8px;font-size:30px;}
.final-cta p{margin:0;color:#d1d5db;}
.final-cta a{
    background:#f2b84b;
    color:#111827;
    border-radius:14px;
    padding:14px 18px;
    font-weight:900;
    text-decoration:none;
    white-space:nowrap;
}
.clean-hero{
    background:linear-gradient(135deg,#f8fafc,#fff);
    border-bottom:1px solid #edf0f5;
}
.content-layout,.contact-grid{
    display:grid;
    grid-template-columns:1fr .75fr;
    gap:30px;
    align-items:start;
}
.content-layout h2,.contact-card h2{
    font-size:34px;
    margin-top:0;
}
.content-layout p,.contact-card p{
    color:#4b5563;
    line-height:1.8;
}
.info-box,.contact-card{
    background:#fff;
    border:1px solid #e8edf4;
    border-radius:20px;
    padding:26px;
    box-shadow:0 14px 34px rgba(15,23,42,.06);
}
.info-box ul,.contact-card ul{
    margin:0;
    padding-left:20px;
    color:#4b5563;
    line-height:1.9;
}
.page-search{
    margin-left:auto;
    margin-right:auto;
}
.course-list{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:18px;
}
.course-list article{
    border:1px solid #e8edf4;
    background:#fff;
    border-radius:18px;
    padding:22px;
    box-shadow:0 12px 30px rgba(15,23,42,.05);
}
.course-list h2{
    font-size:21px;
    margin:0 0 10px;
}
.course-list p{
    color:#5b6472;
    line-height:1.65;
}
.course-list a{
    color:#b98218;
    font-weight:900;
    text-decoration:none;
}
@media (max-width: 980px){
    .home-hero-grid,.split-block,.content-layout,.contact-grid{grid-template-columns:1fr;}
    .home-stats,.course-card-grid{grid-template-columns:repeat(2,1fr);}
    .course-list{grid-template-columns:repeat(2,1fr);}
    .home-hero h1{font-size:42px;}
}
@media (max-width: 640px){
    .course-search{flex-direction:column;}
    .course-search button{padding:14px;}
    .home-stats,.course-card-grid,.course-list{grid-template-columns:1fr;}
    .final-cta-inner,.row-title{display:block;}
    .final-cta a{margin-top:18px;display:inline-flex;}
    .home-hero h1{font-size:34px;}
}


/* v5 home/course/chat adjustments */
.home-hero-simple{
    padding:72px 0 48px;
}
.home-hero-single{
    max-width:980px;
}
.home-hero-single h1{
    font-size:54px;
    max-width:900px;
}
.home-hero-single p{
    max-width:850px;
}
.hero-card{display:none !important;}
.course-directory{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:14px;
}
.directory-item{
    display:block;
    background:#fff;
    border:1px solid #e8edf4;
    border-radius:16px;
    padding:18px;
    text-decoration:none;
    color:#111827;
    box-shadow:0 10px 26px rgba(15,23,42,.05);
    transition:transform .15s ease, border-color .15s ease;
}
.directory-item:hover{
    transform:translateY(-2px);
    border-color:#f2b84b;
}
.directory-item small{
    display:block;
    color:#b98218;
    font-weight:800;
    font-size:11px;
    text-transform:uppercase;
    letter-spacing:.04em;
    margin-bottom:8px;
}
.directory-item strong{
    display:block;
    line-height:1.35;
    min-height:42px;
}
.directory-item span{
    display:block;
    color:#64748b;
    margin-top:12px;
    font-size:13px;
}
.letter-nav{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-bottom:30px;
    background:#f8fafc;
    padding:14px;
    border-radius:16px;
}
.letter-nav a{
    min-width:36px;
    height:36px;
    border-radius:10px;
    background:#fff;
    border:1px solid #e8edf4;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    color:#111827;
    text-decoration:none;
    font-weight:900;
}
.letter-block{
    margin-bottom:34px;
}
.letter-block h2{
    font-size:26px;
    border-bottom:1px solid #e8edf4;
    padding-bottom:10px;
    margin-bottom:18px;
}
.empty-result{
    background:#fff;
    border:1px solid #e8edf4;
    border-radius:16px;
    padding:22px;
}
.course-detail-hero p{
    max-width:900px;
}
.article-content h2{
    font-size:28px;
    margin:0 0 12px;
}
.article-content h2:not(:first-child){
    margin-top:30px;
}
.article-content p,.article-content li{
    color:#4b5563;
    line-height:1.8;
}
.article-content ul{
    padding-left:22px;
}
.chat-widget{
    position:fixed;
    right:24px;
    bottom:24px;
    z-index:9999;
    font-family:inherit;
}
.chat-fab{
    height:58px;
    min-width:58px;
    border:0;
    border-radius:999px;
    padding:0 22px 0 18px;
    background:#0b315d;
    color:#fff;
    display:flex;
    align-items:center;
    gap:10px;
    font-weight:900;
    box-shadow:0 18px 45px rgba(11,49,93,.28);
    cursor:pointer;
}
.chat-icon{
    width:22px;
    height:18px;
    border:2px solid #fff;
    border-radius:7px;
    position:relative;
    display:inline-block;
}
.chat-icon:after{
    content:'';
    position:absolute;
    left:4px;
    bottom:-7px;
    width:8px;
    height:8px;
    border-left:2px solid #fff;
    border-bottom:2px solid #fff;
    transform:skewY(-35deg);
    background:#0b315d;
}
.chat-dot{
    position:absolute;
    top:-3px;
    right:3px;
    width:12px;
    height:12px;
    border-radius:50%;
    background:#f2b84b;
    border:2px solid #fff;
    display:none;
}
.chat-widget.has-unread .chat-dot{
    display:block;
}
.chat-notice{
    position:absolute;
    right:0;
    bottom:72px;
    width:270px;
    background:#fff;
    border:1px solid #e8edf4;
    border-radius:18px;
    padding:14px 16px;
    box-shadow:0 18px 45px rgba(15,23,42,.18);
    opacity:0;
    transform:translateY(10px);
    pointer-events:none;
    transition:.2s ease;
}
.chat-notice.show{
    opacity:1;
    transform:translateY(0);
}
.chat-notice strong{
    display:block;
    color:#111827;
    margin-bottom:4px;
}
.chat-notice span{
    color:#4b5563;
    font-size:14px;
}
.chat-panel{
    position:absolute;
    right:0;
    bottom:72px;
    width:360px;
    max-width:calc(100vw - 32px);
    background:#fff;
    border-radius:22px;
    box-shadow:0 24px 70px rgba(15,23,42,.25);
    overflow:hidden;
    display:none;
    border:1px solid #e8edf4;
}
.chat-panel.open{
    display:block;
}
.chat-head{
    background:#0b315d;
    color:#fff;
    padding:16px;
    display:flex;
    justify-content:space-between;
    align-items:center;
}
.chat-head span{
    display:block;
    color:#dbeafe;
    font-size:12px;
}
.chat-close{
    border:0;
    background:rgba(255,255,255,.12);
    color:#fff;
    width:32px;
    height:32px;
    border-radius:50%;
    cursor:pointer;
}
.chat-messages{
    height:310px;
    overflow:auto;
    padding:16px;
    background:#f8fafc;
}
.chat-msg{
    margin-bottom:10px;
    display:flex;
    flex-direction:column;
}
.chat-msg span{
    padding:10px 12px;
    border-radius:14px;
    max-width:86%;
    line-height:1.45;
    font-size:14px;
}
.chat-msg small{
    color:#94a3b8;
    font-size:11px;
    margin-top:3px;
}
.chat-msg.admin span{
    background:#fff;
    color:#111827;
    border:1px solid #e8edf4;
}
.chat-msg.visitor{
    align-items:flex-end;
}
.chat-msg.visitor span{
    background:#0b315d;
    color:#fff;
}
.chat-form{
    padding:14px;
    display:grid;
    gap:8px;
}
.chat-form input,.chat-form textarea{
    width:100%;
    border:1px solid #e5e7eb;
    border-radius:12px;
    padding:11px 12px;
    outline:0;
    font:inherit;
}
.chat-form textarea{
    min-height:72px;
    resize:vertical;
}
.chat-form button{
    border:0;
    border-radius:12px;
    background:#f2b84b;
    color:#111827;
    font-weight:900;
    padding:12px;
    cursor:pointer;
}
@media(max-width:980px){
    .course-directory{grid-template-columns:repeat(2,1fr);}
    .home-hero-single h1{font-size:40px;}
}
@media(max-width:640px){
    .course-directory{grid-template-columns:1fr;}
    .chat-fab b{display:none;}
    .chat-fab{padding:0;width:58px;justify-content:center;}
    .chat-widget{right:16px;bottom:16px;}
}


/* v6 chat restore */
.chat-widget{
    position:fixed !important;
    right:24px !important;
    bottom:24px !important;
    z-index:9999 !important;
}
.chat-widget .chat-notice,
.chat-widget .chat-dot,
.chat-widget .chat-icon{
    display:none !important;
}
.chat-fab{
    height:auto !important;
    min-width:0 !important;
    border:0 !important;
    border-radius:999px !important;
    padding:14px 20px !important;
    background:#0b315d !important;
    color:#fff !important;
    display:flex !important;
    align-items:center !important;
    gap:8px !important;
    font-weight:900 !important;
    box-shadow:0 16px 38px rgba(11,49,93,.28) !important;
    cursor:pointer !important;
}
.chat-fab b{
    display:inline !important;
}
.chat-panel{
    position:absolute !important;
    right:0 !important;
    bottom:68px !important;
    width:360px !important;
    max-width:calc(100vw - 32px) !important;
    background:#fff !important;
    border-radius:20px !important;
    box-shadow:0 24px 70px rgba(15,23,42,.25) !important;
    overflow:hidden !important;
    display:none !important;
    border:1px solid #e8edf4 !important;
}
.chat-panel.open{
    display:block !important;
}
.chat-head{
    background:#0b315d !important;
    color:#fff !important;
    padding:16px !important;
    display:flex !important;
    justify-content:space-between !important;
    align-items:center !important;
}
.chat-head span{
    display:block !important;
    color:#dbeafe !important;
    font-size:12px !important;
}
.chat-close{
    border:0 !important;
    background:rgba(255,255,255,.12) !important;
    color:#fff !important;
    width:32px !important;
    height:32px !important;
    border-radius:50% !important;
    cursor:pointer !important;
}
.chat-messages{
    height:310px !important;
    overflow:auto !important;
    padding:16px !important;
    background:#f8fafc !important;
}
.chat-system{
    background:#fff7e6 !important;
    border:1px solid #f6d28a !important;
    color:#5b4210 !important;
    border-radius:12px !important;
    padding:10px 12px !important;
    margin-bottom:12px !important;
    font-size:14px !important;
}
.chat-msg{
    margin-bottom:10px !important;
    display:flex !important;
    flex-direction:column !important;
}
.chat-msg span{
    padding:10px 12px !important;
    border-radius:14px !important;
    max-width:86% !important;
    line-height:1.45 !important;
    font-size:14px !important;
}
.chat-msg small{
    color:#94a3b8 !important;
    font-size:11px !important;
    margin-top:3px !important;
}
.chat-msg.admin span{
    background:#fff !important;
    color:#111827 !important;
    border:1px solid #e8edf4 !important;
}
.chat-msg.visitor{
    align-items:flex-end !important;
}
.chat-msg.visitor span{
    background:#0b315d !important;
    color:#fff !important;
}
.chat-form{
    padding:14px !important;
    display:grid !important;
    gap:8px !important;
}
.chat-form input,.chat-form textarea{
    width:100% !important;
    border:1px solid #e5e7eb !important;
    border-radius:12px !important;
    padding:11px 12px !important;
    outline:0 !important;
    font:inherit !important;
}
.chat-form textarea{
    min-height:72px !important;
    resize:vertical !important;
}
.chat-form button{
    border:0 !important;
    border-radius:12px !important;
    background:#f2b84b !important;
    color:#111827 !important;
    font-weight:900 !important;
    padding:12px !important;
    cursor:pointer !important;
}
@media(max-width:640px){
    .chat-widget{right:16px !important;bottom:16px !important;}
    .chat-fab{padding:14px 16px !important;}
    .chat-fab b{display:inline !important;}
}


/* v7 visuals, blog, contact, chat fix */
.home-hero-sales{
    padding:76px 0 58px;
    background:linear-gradient(135deg,#f7fafc 0%,#ffffff 54%,#f7f0df 100%);
    border-bottom:1px solid #edf0f5;
}
.home-hero-sales-grid{
    display:grid;
    grid-template-columns:1fr 460px;
    gap:46px;
    align-items:center;
}
.home-hero-visual{
    position:relative;
    border-radius:30px;
    overflow:hidden;
    box-shadow:0 28px 80px rgba(15,23,42,.18);
    min-height:330px;
    background:#111827;
}
.home-hero-visual img{
    width:100%;
    height:390px;
    object-fit:cover;
    display:block;
    opacity:.92;
}
.visual-badge{
    position:absolute;
    left:22px;
    bottom:22px;
    background:#fff;
    color:#111827;
    font-weight:900;
    border-radius:14px;
    padding:12px 16px;
    box-shadow:0 12px 30px rgba(0,0,0,.18);
}
.image-cta-section,.contact-cta-image{
    background:#f8fafc;
}
.image-cta-grid{
    display:grid;
    grid-template-columns:420px 1fr;
    gap:40px;
    align-items:center;
}
.image-cta-grid img{
    width:100%;
    height:310px;
    object-fit:cover;
    border-radius:26px;
    box-shadow:0 18px 45px rgba(15,23,42,.13);
}
.blog-card-img{
    width:100%;
    height:185px;
    object-fit:cover;
    border-radius:16px;
    margin-bottom:16px;
    background:#e5e7eb;
}
.blog-detail-hero h1{
    max-width:950px;
}
.article-main-img{
    width:100%;
    height:360px;
    object-fit:cover;
    border-radius:22px;
    margin-bottom:28px;
    box-shadow:0 18px 45px rgba(15,23,42,.12);
}
.text-link-block{
    display:block;
    margin-top:16px;
    color:#0b315d;
    font-weight:900;
    text-decoration:none;
}
.contact-hero{
    padding:86px 0 78px;
    background:linear-gradient(135deg,#0b315d,#0f172a);
    color:#fff;
    text-align:center;
    position:relative;
    overflow:hidden;
}
.contact-hero:after{
    content:'';
    position:absolute;
    left:0;
    right:0;
    bottom:-1px;
    height:54px;
    background:linear-gradient(135deg,transparent 0%,transparent 45%,#fff 46%,#fff 100%);
}
.contact-hero h1{
    font-size:56px;
    margin:10px 0 12px;
}
.contact-hero p{
    color:#dbeafe;
    font-size:18px;
}
.contact-info-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:20px;
}
.contact-info-card{
    background:#fff;
    border:1px solid #e8edf4;
    box-shadow:0 14px 34px rgba(15,23,42,.08);
    border-radius:22px;
    padding:26px;
    text-decoration:none;
    color:#111827;
    text-align:center;
}
.contact-info-card strong{
    display:block;
    font-size:22px;
    margin-bottom:10px;
}
.contact-info-card span{
    color:#4b5563;
    line-height:1.6;
}
.contact-main-grid{
    display:grid;
    grid-template-columns:430px 1fr;
    gap:28px;
    align-items:stretch;
}
.contact-form{
    background:#fff;
    border:1px solid #e8edf4;
    border-radius:24px;
    padding:28px;
    box-shadow:0 16px 42px rgba(15,23,42,.09);
}
.contact-form h2{
    margin:0 0 8px;
    font-size:30px;
}
.contact-form p{
    color:#64748b;
    line-height:1.6;
}
.contact-form input,.contact-form textarea{
    width:100%;
    border:1px solid #e5e7eb;
    border-radius:13px;
    padding:13px 14px;
    margin-top:10px;
    font:inherit;
    outline:0;
}
.check-line{
    display:flex;
    gap:9px;
    align-items:center;
    color:#4b5563;
    font-size:14px;
    margin:13px 0;
}
.check-line input{
    width:auto;
    margin:0;
}
.contact-form button{
    width:100%;
    border:0;
    border-radius:13px;
    background:#f2b84b;
    color:#111827;
    padding:14px;
    font-weight:900;
    cursor:pointer;
}
.form-result{
    margin-top:12px;
    font-weight:700;
}
.form-result.ok{color:#15803d;}
.form-result.err{color:#b91c1c;}
.map-card{
    border-radius:24px;
    overflow:hidden;
    min-height:460px;
    box-shadow:0 16px 42px rgba(15,23,42,.09);
    border:1px solid #e8edf4;
}
.map-card iframe{
    width:100%;
    height:100%;
    min-height:460px;
    border:0;
}
.admin-mini-nav{
    display:flex;
    gap:10px;
    margin-left:auto;
}
.admin-mini-nav a{
    color:#fff;
    text-decoration:none;
    background:rgba(255,255,255,.12);
    border-radius:10px;
    padding:9px 12px;
    font-weight:800;
}
.leads-admin{
    padding:24px;
}
.lead-table{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:16px;
}
.lead-card{
    background:#fff;
    border:1px solid #e8edf4;
    border-radius:18px;
    padding:18px;
    color:#111827;
}
.lead-card div{
    display:flex;
    justify-content:space-between;
    gap:12px;
    border-bottom:1px solid #edf0f5;
    padding-bottom:10px;
    margin-bottom:10px;
}
.lead-card span{
    color:#64748b;
    font-size:12px;
}
.lead-card p{
    margin:8px 0;
}
.lead-message{
    background:#f8fafc;
    border-radius:12px;
    padding:10px;
}
.chat-panel{
    height:520px !important;
    max-height:calc(100vh - 120px) !important;
    display:none !important;
    flex-direction:column !important;
}
.chat-panel.open{
    display:flex !important;
}
.chat-head{
    flex:0 0 auto !important;
}
.chat-messages{
    flex:1 1 auto !important;
    min-height:0 !important;
    height:auto !important;
    overflow-y:auto !important;
}
.chat-form{
    flex:0 0 auto !important;
    background:#fff !important;
    border-top:1px solid #e8edf4 !important;
}
@media(max-width:980px){
    .home-hero-sales-grid,.image-cta-grid,.contact-main-grid{grid-template-columns:1fr;}
    .contact-info-grid,.lead-table{grid-template-columns:1fr;}
}
@media(max-width:640px){
    .contact-hero h1{font-size:38px;}
    .home-hero-visual img{height:260px;}
    .article-main-img{height:230px;}
}


/* v8 theme image pass */
.theme-visual-section{
    background:#fff;
}
.theme-visual-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:18px;
}
.theme-visual-grid img{
    width:100%;
    height:220px;
    object-fit:cover;
    border-radius:22px;
    box-shadow:0 16px 38px rgba(15,23,42,.12);
    border:1px solid #e8edf4;
    background:#f8fafc;
}
.home-hero-visual img,
.image-cta-grid img,
.blog-card-img,
.article-main-img{
    background:#f8fafc;
}
@media(max-width:900px){
    .theme-visual-grid{grid-template-columns:1fr 1fr;}
}
@media(max-width:560px){
    .theme-visual-grid{grid-template-columns:1fr;}
}


/* v12 2020 page images */
.home-hero-visual {
    min-height: 420px;
    background:#0f172a;
}
.home-hero-visual img {
    width:100%;
    height:420px;
    object-fit:cover;
    display:block;
}
.visual-badge {
    background:rgba(255,255,255,.96);
}
.home-image-band {
    padding-top: 12px;
    padding-bottom: 8px;
}
.home-image-band-grid {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:20px;
}
.home-image-band-grid img {
    width:100%;
    height:250px;
    object-fit:cover;
    border-radius:24px;
    display:block;
    box-shadow:0 18px 48px rgba(15,23,42,.12);
}
.about-visual-section {
    padding-top:8px;
}
.about-visual-grid {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:34px;
    align-items:center;
}
.about-visual-copy h2 {
    font-size:38px;
    line-height:1.14;
    margin:8px 0 14px;
}
.about-visual-copy p {
    color:#4b5563;
    line-height:1.85;
}
.about-visual-stack {
    display:grid;
    grid-template-columns:1fr .8fr;
    gap:18px;
    align-items:end;
}
.about-main-img,
.about-side-img,
.image-cta-grid img,
.blog-card-img,
.article-main-img {
    width:100%;
    object-fit:cover;
    display:block;
    border-radius:24px;
    box-shadow:0 18px 48px rgba(15,23,42,.12);
}
.about-main-img {
    height:500px;
}
.about-side-img {
    height:340px;
}
.contact-card-icon {
    width:64px;
    height:64px;
    object-fit:contain;
    display:block;
    margin:0 auto 12px;
}
.image-cta-grid img {
    height:320px;
}
.blog-card-img {
    height:210px;
}
.article-main-img {
    height:380px;
}
@media(max-width:980px) {
    .home-image-band-grid,
    .about-visual-grid,
    .about-visual-stack {
        grid-template-columns:1fr;
    }
    .about-main-img,
    .about-side-img,
    .home-image-band-grid img {
        height:260px;
    }
}


/* cPanel pack navbar tweak */
.main-nav{
    margin-left:auto;
}
@media (max-width: 980px){
    .nav-wrap{
        justify-content:space-between;
    }
}


/* v13 mobile + seo polish */
img{
    max-width:100%;
    height:auto;
}
body.menu-open{
    overflow:hidden;
}
.site-header{
    backdrop-filter:saturate(180%) blur(8px);
}
.nav-wrap{
    min-height:86px;
}
.main-nav a{
    border-radius:16px;
}
.home-hero-sales,
.page-hero,
.contact-hero{
    overflow:hidden;
}
.home-hero-sales-grid{
    grid-template-columns:minmax(0,1fr) minmax(320px,470px);
}
.home-hero-text h1,
.home-hero h1{
    word-break:break-word;
}
.home-stats,
.course-directory,
.blog-grid,
.contact-info-grid,
.contact-main-grid,
.footer-grid,
.home-image-band-grid,
.about-visual-grid,
.about-visual-stack{
    min-width:0;
}
.home-hero-text,
.home-hero-visual,
.blog-card,
.directory-item,
.contact-form,
.map-card,
.info-box,
.contact-info-card,
.lead-card{
    min-width:0;
}
.blog-card h2,
.directory-item strong,
.contact-info-card span,
.footer-col a,
.footer-brand p,
.footer-contact p,
.article-content p{
    overflow-wrap:anywhere;
}
.blog-card small{
    display:block;
    margin-bottom:10px;
}
.chat-widget{
    z-index:9999;
}
.chat-panel{
    max-width:calc(100vw - 20px) !important;
}
@media (max-width: 1100px){
    .container{
        width:min(1180px,calc(100% - 24px));
    }
    .nav-wrap{
        gap:18px;
    }
    .brand{
        flex:0 0 240px;
    }
    .brand img{
        max-width:230px;
    }
    .main-nav a{
        padding:18px 14px;
        font-size:15px;
    }
    .home-hero-sales-grid,
    .image-cta-grid,
    .about-visual-grid,
    .contact-main-grid{
        gap:24px;
    }
}
@media (max-width: 980px){
    .site-header{
        position:sticky;
    }
    .nav-wrap{
        min-height:74px;
        padding:10px 0;
        gap:12px;
    }
    .brand{
        flex:1 1 auto;
        min-width:0;
    }
    .brand img{
        max-width:190px;
        max-height:54px;
    }
    .mobile-toggle{
        display:inline-flex !important;
        align-items:center;
        justify-content:center;
        width:46px;
        height:46px;
        border-radius:14px;
        background:#f8fafc;
        border:1px solid #e5e7eb;
        font-size:24px;
        line-height:1;
        flex:0 0 auto;
    }
    .main-nav{
        display:none;
        width:100%;
        order:20;
        margin:6px 0 0;
        padding:10px;
        flex-direction:column;
        align-items:stretch;
        gap:6px;
        background:#fff;
        border:1px solid #e5e7eb;
        border-radius:20px;
        box-shadow:0 20px 44px rgba(15,23,42,.10);
    }
    .main-nav.open{
        display:flex !important;
    }
    .main-nav a{
        padding:14px 16px;
        font-size:16px;
    }
    .home-hero-sales{
        padding:52px 0 36px;
    }
    .home-hero-sales-grid{
        grid-template-columns:1fr;
    }
    .home-hero-visual{
        order:-1;
        min-height:auto;
    }
    .home-hero-visual img{
        height:300px;
    }
    .visual-badge{
        left:14px;
        right:14px;
        bottom:14px;
        font-size:14px;
    }
    .home-stats{
        grid-template-columns:repeat(2,1fr);
        gap:12px;
    }
    .course-directory{
        grid-template-columns:repeat(2,1fr);
        gap:12px;
    }
    .blog-grid.blog-list{
        grid-template-columns:repeat(2,1fr);
        gap:14px;
    }
    .home-image-band-grid{
        grid-template-columns:1fr;
    }
    .home-image-band-grid img{
        height:220px;
    }
    .about-visual-grid,
    .image-cta-grid,
    .contact-info-grid,
    .contact-main-grid,
    .footer-grid{
        grid-template-columns:1fr !important;
    }
    .about-visual-stack{
        grid-template-columns:1fr !important;
    }
    .about-main-img,
    .about-side-img,
    .image-cta-grid img,
    .article-main-img{
        height:260px !important;
    }
    .contact-hero{
        padding:58px 0 54px;
    }
    .contact-hero h1{
        font-size:40px;
    }
    .map-card,
    .map-card iframe{
        min-height:320px !important;
    }
    .footer-grid{
        gap:24px;
    }
    .footer-bottom{
        flex-direction:column;
        align-items:flex-start;
    }
}
@media (max-width: 640px){
    .container{
        width:calc(100% - 18px);
    }
    .site-header{
        top:0;
    }
    .nav-wrap{
        min-height:68px;
    }
    .brand img{
        max-width:170px;
        max-height:48px;
    }
    .home-hero h1,
    .home-hero-text h1{
        font-size:34px !important;
        line-height:1.06;
        letter-spacing:-1px;
    }
    .home-hero-text p,
    .page-hero p,
    .contact-hero p{
        font-size:15px;
        line-height:1.75;
    }
    .hero-actions{
        flex-direction:column;
        align-items:stretch;
    }
    .primary-link,
    .secondary-link{
        width:100%;
    }
    .home-stats{
        grid-template-columns:1fr;
    }
    .course-directory,
    .blog-grid.blog-list{
        grid-template-columns:1fr !important;
    }
    .directory-item{
        padding:16px;
    }
    .directory-item strong{
        min-height:unset;
    }
    .letter-nav{
        gap:6px;
        padding:10px;
    }
    .letter-nav a{
        min-width:32px;
        height:32px;
        font-size:13px;
    }
    .page-hero,
    .section{
        padding-top:46px;
        padding-bottom:46px;
    }
    .contact-hero h1{
        font-size:32px;
    }
    .contact-form,
    .contact-info-card,
    .info-box,
    .blog-card{
        padding:18px;
        border-radius:18px;
    }
    .blog-card-img{
        height:190px !important;
    }
    .chat-widget{
        right:12px !important;
        bottom:12px !important;
    }
    .chat-panel{
        right:0 !important;
        bottom:64px !important;
        width:min(360px, calc(100vw - 12px)) !important;
        height:min(520px, calc(100vh - 92px)) !important;
    }
    .chat-messages{
        padding:12px !important;
    }
    .chat-form{
        padding:12px !important;
    }
}
