/*
Program Brain Academy - Main Theme Styles
Lightweight custom CSS. No frontend frameworks.
*/

:root{
    --pba-brand:#2f8ca9;
    --pba-brand-dark:#17667e;
    --pba-brand-soft:#eaf7fb;
    --pba-navy:#102f49;
    --pba-text:#1d2c35;
    --pba-muted:#667782;
    --pba-line:#e5edf1;
    --pba-soft:#f6fafc;
    --pba-white:#fff;
    --pba-green:#27b967;
    --pba-gold:#f2b94b;
    --pba-shadow:0 18px 50px rgba(16,47,73,.10);
    --pba-shadow-sm:0 9px 25px rgba(16,47,73,.08);
}

*,
*::before,
*::after{
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
    width:100%;
    max-width:100%;
    overflow-x:hidden;
    -webkit-text-size-adjust:100%;
    -ms-text-size-adjust:100%;
}

body{
    margin:0;
    width:100%;
    max-width:100%;
    overflow-x:hidden;
    color:var(--pba-text);
    background:#fff;
    font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
    -webkit-tap-highlight-color:transparent;
}

img{
    display:block;
    max-width:100%;
    height:auto;
}

a{
    color:inherit;
    text-decoration:none;
}

button,
input,
textarea,
select{
    font:inherit;
}

.pba-container{
    width:min(1160px,92%);
    margin-inline:auto;
}

.section{
    padding:88px 0;
}

.soft-section{
    padding:64px 0 24px;
    background:
        radial-gradient(circle at 10% 0%,rgba(47,140,169,.08),transparent 28%),
        linear-gradient(180deg,#fbfdfe,#f6fafc);
}

.skills-banner-section{
    padding:56px 0 20px;
    background:linear-gradient(180deg,#fff,var(--pba-soft));
}

.skills-banner-frame{
    position:relative;
    max-width:900px;
    margin:0 auto;
    overflow:hidden;
    border:1px solid var(--pba-line);
    border-radius:24px;
    background:#fff;
    box-shadow:var(--pba-shadow);
}

.skills-banner-frame::after{
    content:"";
    position:absolute;
    inset:-40% auto -40% -30%;
    width:18%;
    pointer-events:none;
    background:linear-gradient(90deg,transparent,rgba(255,255,255,.72),transparent);
    transform:skewX(-18deg);
    animation:pba-banner-shine 5.5s ease-in-out infinite;
}

.skills-banner-frame img{
    width:100%;
    aspect-ratio:3 / 2;
    object-fit:contain;
    animation:pba-banner-breathe 6s ease-in-out infinite;
    transition:filter .35s ease;
}

.skills-banner-frame:hover img{
    filter:saturate(1.06) contrast(1.02);
}

.banner-tech-icon{
    position:absolute;
    z-index:2;
    display:grid;
    place-items:center;
    width:52px;
    height:52px;
    border:1px solid rgba(255,255,255,.72);
    border-radius:16px;
    color:#fff;
    background:linear-gradient(145deg,rgba(16,47,73,.94),rgba(47,140,169,.9));
    box-shadow:0 10px 25px rgba(16,47,73,.22);
    font-size:13px;
    font-weight:900;
    letter-spacing:.04em;
    backdrop-filter:blur(8px);
    animation:pba-tech-orbit 4.8s ease-in-out infinite;
}

.banner-tech-code{
    top:6%;
    left:3%;
}

.banner-tech-chip{
    top:46%;
    right:2.5%;
    color:var(--pba-navy);
    background:linear-gradient(145deg,#ffd33d,#f2b94b);
    animation-delay:-1.6s;
}

.banner-tech-signal{
    right:5%;
    bottom:5%;
    grid-auto-flow:column;
    align-items:end;
    gap:3px;
    background:linear-gradient(145deg,#15aaa9,#17667e);
    animation-delay:-3.2s;
}

.banner-tech-signal i{
    display:block;
    width:4px;
    border-radius:4px;
    background:#fff;
}

.banner-tech-signal i:nth-child(1){height:9px}
.banner-tech-signal i:nth-child(2){height:17px}
.banner-tech-signal i:nth-child(3){height:25px}

@keyframes pba-banner-breathe{
    0%,100%{transform:scale(1)}
    50%{transform:scale(1.012)}
}

@keyframes pba-banner-shine{
    0%,28%{left:-30%;opacity:0}
    38%{opacity:.75}
    58%,100%{left:120%;opacity:0}
}

@keyframes pba-tech-orbit{
    0%,100%{transform:translateY(0) rotate(-2deg)}
    50%{transform:translateY(-8px) rotate(2deg)}
}

.site-header{
    position:sticky;
    top:0;
    z-index:999;
    background:rgba(255,255,255,.92);
    border-bottom:1px solid rgba(229,237,241,.9);
    backdrop-filter:blur(14px);
}

body.admin-bar .site-header{
    top:32px;
}

/* The live site injects a global !important top padding on main. */
body.home:not(.elementor-editor-active) > main{
    padding-top:0 !important;
}

.nav-shell{
    min-height:78px;
    display:flex;
    align-items:center;
    gap:24px;
}

.site-brand,
.footer-brand{
    display:flex;
    align-items:center;
    gap:12px;
    min-width:max-content;
}

.site-logo .custom-logo-link,
.footer-brand .custom-logo-link{
    display:block;
}

.site-logo img,
.footer-brand img{
    display:block;
    max-height:52px;
    max-width:220px;
    width:auto;
    border-radius:12px;
}

.footer-brand img{
    max-height:64px;
    transform:translateX(-28px);
}

.brand-since{
    color:var(--pba-brand-dark);
    font-size:13px;
    font-weight:900;
    line-height:1.2;
    white-space:nowrap;
}

.footer-brand .brand-since{
    margin-left:-28px;
    color:#fff;
}

.brand-mark{
    width:48px;
    height:48px;
    display:grid;
    place-items:center;
    border-radius:16px;
    color:#fff;
    font-size:20px;
    font-weight:900;
    background:linear-gradient(135deg,var(--pba-navy),var(--pba-brand));
    box-shadow:0 8px 22px rgba(47,140,169,.24);
}

.brand-copy{
    display:flex;
    flex-direction:column;
    line-height:1.05;
}

.brand-copy strong{
    color:var(--pba-navy);
    font-size:14px;
    letter-spacing:.04em;
}

.brand-copy small{
    color:var(--pba-brand);
    font-size:10px;
    font-weight:800;
    letter-spacing:.16em;
    margin-top:4px;
}

.brand-copy.light strong,
.brand-copy.light small{
    color:#fff;
}

.primary-nav{
    margin-left:auto;
}

.pba-menu{
    display:flex;
    align-items:center;
    gap:5px;
    list-style:none;
    padding:0;
    margin:0;
}

.pba-menu li{
    margin:0;
}

.pba-menu a{
    display:block;
    padding:10px 13px;
    border-radius:11px;
    color:#455762;
    font-size:14px;
    font-weight:750;
    transition:.2s ease;
}

.pba-menu a:hover{
    color:var(--pba-brand-dark);
    background:var(--pba-brand-soft);
}

.header-login{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:42px;
    padding:0 17px;
    border-radius:12px;
    color:#fff;
    font-weight:800;
    font-size:13px;
    background:linear-gradient(135deg,var(--pba-brand),var(--pba-brand-dark));
    box-shadow:0 8px 18px rgba(47,140,169,.2);
}

.menu-toggle{
    display:none;
    width:44px;
    height:44px;
    border:1px solid var(--pba-line);
    border-radius:12px;
    background:#fff;
    color:var(--pba-navy);
    font-size:22px;
    cursor:pointer;
}

.hero-section{
    --pba-hero-image:none;
    position:relative;
    min-height:650px;
    display:flex;
    align-items:center;
    overflow:hidden;
    color:#fff;
    background:
        linear-gradient(90deg,rgba(7,32,49,.96) 0%,rgba(12,54,77,.90) 48%,rgba(18,71,91,.72) 100%),
        var(--pba-hero-image);
    background-size:cover;
    background-position:center;
}

.hero-section::before{
    content:"";
    position:absolute;
    width:520px;
    height:520px;
    right:-140px;
    top:-170px;
    border-radius:50%;
    background:radial-gradient(circle,rgba(98,210,235,.25),transparent 68%);
    animation:pba-glow-drift 12s ease-in-out infinite alternate;
}

.hero-overlay{
    position:absolute;
    inset:0;
    background:
        linear-gradient(135deg,transparent 30%,rgba(47,140,169,.09)),
        radial-gradient(circle at 15% 80%,rgba(47,140,169,.16),transparent 35%);
}

.hero-grid{
    position:relative;
    z-index:2;
    display:grid;
    grid-template-columns:1.15fr .85fr;
    gap:56px;
    align-items:center;
    width:min(1160px,92%);
    padding:100px 0 115px;
}

.hero-copy h1{
    margin:0 0 22px;
    max-width:780px;
    color:#fff;
    font-size:clamp(46px,6vw,72px);
    line-height:1.02;
    letter-spacing:-.045em;
    animation:pba-rise-in .8s cubic-bezier(.22,1,.36,1) both;
}

.hero-copy h1 em{
    color:#84dff2;
    font-style:normal;
}

.hero-copy p{
    max-width:650px;
    margin:0 0 30px;
    color:#d8e7ee;
    font-size:18px;
    animation:pba-rise-in .8s .12s cubic-bezier(.22,1,.36,1) both;
}

.eyebrow{
    display:inline-flex;
    align-items:center;
    gap:10px;
    margin-bottom:22px;
    padding:8px 14px;
    border:1px solid rgba(255,255,255,.22);
    border-radius:999px;
    background:rgba(255,255,255,.08);
    color:#e6f8fc;
    font-size:13px;
    font-weight:800;
}

.eyebrow span{
    width:8px;
    height:8px;
    border-radius:50%;
    background:#60d597;
    box-shadow:0 0 0 5px rgba(96,213,151,.13);
}

.hero-actions{
    display:flex;
    gap:12px;
    flex-wrap:wrap;
    animation:pba-rise-in .8s .22s cubic-bezier(.22,1,.36,1) both;
}

.pba-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:48px;
    padding:0 22px;
    border-radius:14px;
    font-size:14px;
    font-weight:850;
    transition:.2s ease;
}

.pba-btn.primary{
    color:#fff;
    background:linear-gradient(135deg,#43aac8,var(--pba-brand-dark));
    box-shadow:0 12px 26px rgba(47,140,169,.25);
}

.pba-btn.primary:hover{
    transform:translateY(-2px);
}

.pba-btn.ghost{
    color:#fff;
    border:1px solid rgba(255,255,255,.25);
    background:rgba(255,255,255,.08);
}

.hero-card{
    padding:27px;
    border:1px solid rgba(255,255,255,.18);
    border-radius:26px;
    background:rgba(255,255,255,.10);
    backdrop-filter:blur(13px);
    box-shadow:0 24px 60px rgba(0,0,0,.22);
    animation:pba-float-in .9s .18s cubic-bezier(.22,1,.36,1) both;
}

.home .stats-card,
.home .skills-banner-frame,
.home .about-grid,
.home .testimonial-card,
.home .media-card,
.home .community-card,
.home .course-panel{
    transition:opacity .7s ease, transform .7s cubic-bezier(.22,1,.36,1), box-shadow .25s ease;
}

.home .pba-reveal{
    opacity:0;
    transform:translateY(28px);
}

.home .pba-reveal.is-visible{
    opacity:1;
    transform:translateY(0);
}

@keyframes pba-rise-in{
    from{opacity:0;transform:translateY(22px)}
    to{opacity:1;transform:translateY(0)}
}

@keyframes pba-float-in{
    from{opacity:0;transform:translateY(28px) scale(.97)}
    to{opacity:1;transform:translateY(0) scale(1)}
}

@keyframes pba-glow-drift{
    from{transform:translate3d(-18px,10px,0) scale(.96)}
    to{transform:translate3d(18px,-12px,0) scale(1.04)}
}

@media(prefers-reduced-motion:reduce){
    *,
    *::before,
    *::after{
        animation-duration:.01ms !important;
        animation-iteration-count:1 !important;
        scroll-behavior:auto !important;
        transition-duration:.01ms !important;
    }
}

.hero-card h2{
    margin:0 0 12px;
    color:#fff;
    font-size:19px;
}

.hero-feature{
    display:grid;
    grid-template-columns:44px 1fr;
    gap:13px;
    align-items:center;
    padding:14px 0;
    border-bottom:1px solid rgba(255,255,255,.14);
}

.hero-feature:last-child{
    border-bottom:0;
}

.hero-feature > span{
    width:44px;
    height:44px;
    display:grid;
    place-items:center;
    border-radius:13px;
    background:rgba(255,255,255,.11);
}

.hero-feature strong,
.hero-feature small{
    display:block;
}

.hero-feature strong{
    font-size:14px;
}

.hero-feature small{
    margin-top:2px;
    color:#cae0e8;
    font-size:12px;
}

.stats-section{
    position:relative;
    z-index:4;
    margin-top:-47px;
}

.stats-card{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    overflow:hidden;
    border:1px solid var(--pba-line);
    border-radius:24px;
    background:#fff;
    box-shadow:var(--pba-shadow);
}

.stat-item{
    position:relative;
    padding:31px 20px;
    text-align:center;
}

.stat-item:not(:last-child)::after{
    content:"";
    position:absolute;
    right:0;
    top:25%;
    width:1px;
    height:50%;
    background:var(--pba-line);
}

.stat-item strong,
.stat-item span{
    display:block;
}

.stat-item strong{
    margin-bottom:8px;
    color:var(--pba-brand);
    font-size:44px;
    line-height:1;
    letter-spacing:-.04em;
}

.stat-item span{
    color:var(--pba-muted);
    font-size:13px;
    font-weight:700;
}

.about-grid{
    display:grid;
    grid-template-columns:.9fr 1.1fr;
    gap:76px;
    align-items:center;
}

.founder-media{
    position:relative;
    max-width:480px;
    margin:auto;
}

.founder-media img,
.founder-placeholder{
    width:100%;
    aspect-ratio:4/4.35;
    border-radius:30px;
    box-shadow:var(--pba-shadow);
}

.founder-media img{
    object-fit:cover;
}

.founder-placeholder{
    display:flex;
    flex-direction:column;
    justify-content:flex-end;
    padding:28px;
    color:#fff;
    background:
        radial-gradient(circle at top right,rgba(130,224,242,.4),transparent 35%),
        linear-gradient(135deg,var(--pba-navy),var(--pba-brand));
}

.founder-placeholder span{
    font-size:13px;
    opacity:.8;
}

.founder-placeholder strong{
    font-size:28px;
}

.founder-badge{
    position:absolute;
    left:-30px;
    bottom:32px;
    width:220px;
    padding:16px 18px;
    border:1px solid rgba(229,237,241,.9);
    border-radius:18px;
    background:rgba(255,255,255,.95);
    box-shadow:var(--pba-shadow-sm);
}

.founder-badge strong,
.founder-badge small{
    display:block;
}

.founder-badge strong{
    color:var(--pba-navy);
    font-size:16px;
}

.founder-badge small{
    color:var(--pba-muted);
    font-size:11px;
}

.section-kicker{
    display:inline-flex;
    align-items:center;
    gap:9px;
    color:var(--pba-brand);
    font-size:12px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.1em;
}

.section-kicker::before{
    content:"";
    width:28px;
    height:2px;
    border-radius:999px;
    background:var(--pba-brand);
}

.about-content .since-label{
    margin:12px 0 0;
    color:var(--pba-brand-dark);
    font-size:18px;
    font-weight:900;
    letter-spacing:.02em;
}

.about-content h2,
.section-heading h2{
    color:var(--pba-navy);
    letter-spacing:-.035em;
}

.about-content h2{
    max-width:720px;
    margin:14px 0 20px;
    font-size:clamp(34px,4vw,50px);
    line-height:1.08;
}

.about-content p{
    max-width:670px;
    margin:0 0 26px;
    color:#53656f;
    font-size:16px;
}

.about-points{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px;
    margin-bottom:28px;
}

.about-points span{
    padding:13px 14px;
    border:1px solid var(--pba-line);
    border-radius:13px;
    background:#fff;
    color:#42545e;
    font-size:13px;
    font-weight:750;
}

.section-heading{
    max-width:760px;
    margin:0 auto 42px;
    text-align:center;
}

.section-heading .section-kicker{
    justify-content:center;
}

.section-heading h2{
    margin:9px 0 12px;
    font-size:clamp(32px,4vw,44px);
    line-height:1.1;
}

.section-heading p{
    margin:0;
    color:var(--pba-muted);
    font-size:14px;
}

.placement-section{
    background:#fff;
}

.placement-card{
    display:grid;
    grid-template-columns:minmax(260px, .8fr) 1.2fr;
    max-width:940px;
    margin:0 auto;
    overflow:hidden;
    border:1px solid var(--pba-line);
    border-radius:24px;
    background:linear-gradient(135deg,#fff 55%,var(--pba-brand-soft));
    box-shadow:var(--pba-shadow);
}

.placement-photo{
    position:relative;
    min-height:430px;
    overflow:hidden;
}

.placement-photo img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center 28%;
}

.placement-badge{
    position:absolute;
    top:20px;
    left:20px;
    padding:7px 15px;
    border-radius:999px;
    color:#fff;
    background:var(--pba-green);
    font-size:12px;
    font-weight:800;
    letter-spacing:.08em;
    text-transform:uppercase;
    box-shadow:0 6px 18px rgba(39,185,103,.28);
}

.placement-content{
    align-self:center;
    padding:42px;
}

.placement-label{
    margin:0 0 5px;
    color:var(--pba-brand-dark);
    font-size:12px;
    font-weight:800;
    letter-spacing:.12em;
    text-transform:uppercase;
}

.placement-content h3{
    margin:0;
    color:var(--pba-navy);
    font-size:clamp(30px,4vw,42px);
    line-height:1.15;
}

.placement-company{
    margin:10px 0 24px;
    color:var(--pba-brand-dark);
    font-size:14px;
    font-weight:800;
    line-height:1.45;
}

.placement-details{
    display:grid;
    grid-template-columns:1.5fr .7fr;
    gap:14px;
    margin:0 0 25px;
}

.placement-details div{
    padding:14px 16px;
    border:1px solid var(--pba-line);
    border-radius:14px;
    background:rgba(255,255,255,.8);
}

.placement-details dt{
    color:var(--pba-muted);
    font-size:10px;
    font-weight:800;
    letter-spacing:.1em;
    text-transform:uppercase;
}

.placement-details dd{
    margin:3px 0 0;
    color:var(--pba-navy);
    font-size:13px;
    font-weight:700;
    line-height:1.4;
}

.placement-content blockquote{
    margin:0;
    padding-left:18px;
    border-left:3px solid var(--pba-gold);
    color:#4f616a;
    font-size:14px;
    font-style:italic;
}

.testimonial-grid{
    display:grid;
    grid-auto-columns:minmax(260px,calc((100% - 40px) / 3));
    grid-auto-flow:column;
    gap:20px;
    overflow-x:auto;
    padding:4px 4px 18px;
    scroll-snap-type:x mandatory;
    overscroll-behavior-inline:contain;
}

.testimonial-card{
    position:relative;
    scroll-snap-align:start;
    overflow:hidden;
    padding:26px;
    border:1px solid var(--pba-line);
    border-radius:20px;
    background:#fff;
    box-shadow:var(--pba-shadow-sm);
}

.stars{
    margin-bottom:13px;
    color:#f5b839;
    letter-spacing:2px;
    font-size:13px;
}

.testimonial-card p{
    margin:0 0 22px;
    color:#4f616a;
    font-size:14px;
}

.student-name{
    display:flex;
    align-items:center;
    gap:11px;
}

.student-name > span{
    width:42px;
    height:42px;
    display:grid;
    place-items:center;
    border-radius:50%;
    color:var(--pba-brand-dark);
    background:var(--pba-brand-soft);
    font-weight:900;
}

.student-name strong,
.student-name small{
    display:block;
}

.student-name strong{
    color:var(--pba-navy);
    font-size:14px;
}

.student-name small{
    color:var(--pba-muted);
    font-size:11px;
}

.media-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,200px));
    justify-content:center;
    gap:14px;
    margin-top:28px;
}

.media-card{
    position:relative;
    overflow:hidden;
    border-radius:17px;
    color:#fff;
    background:
        radial-gradient(circle at 80% 10%,rgba(123,222,243,.28),transparent 35%),
        linear-gradient(145deg,#12374d,#1f7891);
    box-shadow:var(--pba-shadow-sm);
    transition:.2s ease;
}

.media-video{
    width:100%;
    aspect-ratio:9/16;
    background:#071f2e;
}

.media-video iframe{
    display:block;
    width:100%;
    height:100%;
    border:0;
}

.media-caption{
    display:flex;
    flex-direction:column;
    gap:2px;
    padding:14px 16px 16px;
    background:#12374d;
}

.media-card:hover{
    transform:translateY(-3px);
}

.media-icon{
    position:absolute;
    top:18px;
    right:18px;
    width:38px;
    height:38px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:#ff1948;
    font-size:13px;
}

.media-card strong{
    font-size:13px;
}

.media-card small{
    color:#c8e5ed;
    font-size:11px;
}

.community-grid{
    display:flex;
    justify-content:center;
    margin-top:38px;
}

.community-card{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    width:100%;
    max-width:580px;
    padding:20px 22px;
    border:1px solid var(--pba-line);
    border-radius:17px;
    background:#fff;
    box-shadow:var(--pba-shadow-sm);
}

.community-card strong,
.community-card small{
    display:block;
}

.community-card strong{
    color:var(--pba-navy);
    font-size:15px;
}

.community-card small{
    margin-top:3px;
    color:var(--pba-muted);
    font-size:11px;
}

.community-card a,
.disabled-link{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    min-width:64px;
    padding:9px 15px;
    border-radius:11px;
    text-align:center;
    font-size:12px;
    font-weight:850;
    white-space:nowrap;
}

.community-card a{
    color:#fff;
    background:#25c86c;
}

.disabled-link{
    color:#8ea0aa;
    background:#edf3f5;
}

.section.upcoming-events-section{
    padding-bottom:32px;
}

.section.past-events-section{
    padding-top:32px;
}

.course-panel{
    overflow:hidden;
    border:1px solid var(--pba-line);
    border-radius:22px;
    background:#fff;
    box-shadow:var(--pba-shadow);
}

.panel-heading{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:20px;
    padding:16px 20px;
    color:#fff;
    background:
        radial-gradient(circle at top right,rgba(112,219,240,.18),transparent 35%),
        linear-gradient(135deg,var(--pba-navy),var(--pba-brand-dark));
}

.panel-heading h3{
    margin:0;
    font-size:21px;
}

.panel-heading p{
    margin:4px 0 0;
    color:#d8e9ef;
    font-size:12px;
}

.panel-heading > span{
    padding:7px 11px;
    border-radius:999px;
    color:#dff7fb;
    background:rgba(255,255,255,.11);
    border:1px solid rgba(255,255,255,.13);
    font-size:11px;
    font-weight:800;
    white-space:nowrap;
}

.responsive-table{
    overflow-x:auto;
    padding:18px 20px 0;
}

table{
    width:100%;
    min-width:600px;
    border-collapse:collapse;
}

th{
    padding:12px 14px;
    text-align:left;
    color:#4e6975;
    background:#f3f8fa;
    border-bottom:1px solid var(--pba-line);
    font-size:10px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.06em;
}

td{
    padding:12px 14px;
    color:#40515b;
    border-bottom:1px solid #edf2f4;
    font-size:13px;
    vertical-align:middle;
}

tbody tr:last-child td{
    border-bottom:0;
}

td strong,
td small{
    display:block;
}

td strong{
    color:var(--pba-brand-dark);
}

td small{
    margin-top:2px;
    color:var(--pba-muted);
    font-size:10px;
}

.table-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:37px;
    padding:0 13px;
    border-radius:10px;
    color:#fff;
    background:#28b968;
    font-size:11px;
    font-weight:850;
    white-space:nowrap;
}

.fee-grid{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:18px;
    padding:20px 26px 0;
}

.fee-card{
    padding:20px;
    border-top:5px solid #FF6B6B;
    border-radius:14px;
    background:#fff;
    border:1px solid #f0f0f0;
    box-shadow:0 2px 12px rgba(0,0,0,.05);
    transition:transform .3s ease, box-shadow .3s ease;
    text-align:center;
}

.fee-card:hover{
    transform:translateY(-4px);
    box-shadow:0 6px 20px rgba(0,0,0,.12);
}

.fee-card h4{
    margin:0 0 12px;
    color:var(--pba-navy);
    font-size:14px;
    font-weight:700;
    line-height:1.4;
}

.fee-card .fee-amount{
    font-size:24px;
    font-weight:900;
    color:#FF6B6B;
}

.international-note{
    margin:24px 26px;
    padding:17px 18px;
    border:1px solid #f1dfa9;
    border-left:5px solid var(--pba-gold);
    border-radius:13px;
    background:#fffaf0;
}

.international-note strong{
    color:#765c0d;
    font-size:14px;
}

.international-note p{
    margin:3px 0 0;
    color:#725e26;
    font-size:12px;
}

.benefits-block{
    padding:0 26px 28px;
}

.benefits-block h3{
    margin:0 0 14px;
    color:var(--pba-navy);
    font-size:19px;
}

.benefits-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:11px;
}

.benefits-grid > div{
    display:flex;
    align-items:center;
    gap:10px;
    padding:12px 13px;
    border:1px solid var(--pba-line);
    border-radius:12px;
    background:#fbfdfe;
    color:#475861;
    font-size:12px;
    font-weight:700;
}

.benefits-grid span{
    width:26px;
    height:26px;
    display:grid;
    place-items:center;
    border-radius:8px;
    color:#148b49;
    background:#e8f8ef;
    font-weight:900;
}

.inner-hero{
    padding:90px 0 80px;
    color:#fff;
    background:
        radial-gradient(circle at 80% 0%,rgba(107,218,240,.22),transparent 28%),
        linear-gradient(135deg,var(--pba-navy),var(--pba-brand-dark));
}

.inner-hero span{
    color:#8ddff0;
    font-size:12px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.12em;
}

.inner-hero h1{
    margin:10px 0 12px;
    font-size:clamp(40px,5vw,58px);
    line-height:1.05;
    letter-spacing:-.04em;
}

.inner-hero p{
    max-width:670px;
    margin:0;
    color:#d4e7ed;
}

.tools-section{
    padding-top:48px;
    background:#f6fafc;
}

.tools-switcher{
    padding:36px 0 0;
    background:#f6fafc;
}

.tools-switcher-inner{
    display:flex;
    flex-wrap:wrap;
    gap:14px;
}

.tools-dropdown{
    position:relative;
    width:min(100%,270px);
    z-index:10;
}

.tools-dropdown summary{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    min-height:52px;
    padding:12px 18px;
    border:1px solid #cbdce4;
    border-radius:12px;
    background:#fff;
    color:var(--pba-navy);
    font-weight:800;
    cursor:pointer;
    list-style:none;
}

.tools-dropdown summary::-webkit-details-marker{display:none;}

.tools-dropdown summary::after{
    content:"";
    flex:none;
    width:9px;
    height:9px;
    margin-top:-4px;
    border-right:2px solid currentColor;
    border-bottom:2px solid currentColor;
    transform:rotate(45deg);
    transition:transform .2s ease, margin-top .2s ease;
}

.tools-dropdown[open] summary::after{
    margin-top:4px;
    transform:rotate(225deg);
}

.tools-dropdown[open] summary{
    border-color:var(--pba-brand-dark);
    color:var(--pba-brand-dark);
}

.tools-dropdown-menu{
    position:absolute;
    top:calc(100% + 8px);
    left:0;
    right:0;
    display:grid;
    gap:4px;
    max-height:350px;
    padding:8px;
    overflow-y:auto;
    border:1px solid var(--pba-line);
    border-radius:12px;
    background:#fff;
    box-shadow:var(--pba-shadow);
}

.tools-switch{
    width:100%;
    padding:11px 12px;
    border:0;
    border-radius:8px;
    background:transparent;
    color:var(--pba-navy);
    font-weight:750;
    text-align:left;
    cursor:pointer;
}

.tools-switch:hover,
.tools-switch.is-active{
    background:var(--pba-brand-dark);
    color:#fff;
}

.tools-switch:focus-visible,
.tools-dropdown summary:focus-visible{
    outline:3px solid var(--pba-brand);
    outline-offset:3px;
}

body:not(.elementor-editor-active) > main.tools-page{
    padding-top:0 !important;
}

.software-links-content{
    min-height:180px;
}

.software-links-content .entry-content a{
    overflow-wrap:anywhere;
}

.software-links-content .entry-content > p:first-child:empty{
    display:none;
}

.software-links-content h2{
    margin:0 0 16px;
    color:var(--pba-navy);
    font-size:24px;
}

.software-links-content h2:not(:first-child){
    margin-top:34px;
}

.software-links-content h3{
    margin:22px 0 10px;
    color:var(--pba-navy);
    font-size:18px;
}

.software-resource-list,
.software-hardware-list{
    display:grid;
    gap:10px;
    margin:0;
    padding:0;
    list-style:none;
}

.software-resource-list a,
.software-hardware-list li{
    display:block;
    padding:12px 15px;
    border:1px solid var(--pba-line);
    border-radius:10px;
    background:#f6fafc;
}

.software-resource-list a:hover{
    border-color:var(--pba-brand);
    background:#eaf7fb;
}

.study-materials-content{
    min-width:0;
}

.study-materials-section .pba-container{
    width:min(1440px,94%);
}

.study-panel-title{
    margin:0 0 28px;
    color:var(--pba-navy);
    font-size:clamp(28px,3vw,40px);
    line-height:1.15;
}

.study-steps{
    margin:0;
    padding-left:24px;
}

.study-steps li{
    padding-left:4px;
    margin-bottom:28px;
}

.study-steps li:last-child{
    margin-bottom:0;
}

.study-steps h3{
    margin:0 0 8px;
    color:var(--pba-navy);
    font-size:18px;
}

.study-steps p{
    margin:8px 0;
    color:#526873;
}

.study-materials-content a{
    color:var(--pba-brand-dark);
    text-decoration:underline;
    overflow-wrap:anywhere;
}

.study-materials-content pre{
    margin:12px 0;
    padding:14px;
    border-radius:10px;
    background:#102f49;
    color:#fff;
    white-space:pre-wrap;
    overflow-wrap:anywhere;
}

.study-materials-content :not(pre) > code{
    padding:2px 5px;
    border-radius:4px;
    background:#eef5f8;
    overflow-wrap:anywhere;
}

.study-source{
    padding-top:20px;
    border-top:1px solid var(--pba-line);
    color:#526873;
    font-size:14px;
}

.study-c-content h3{
    margin:0 0 12px;
    color:var(--pba-navy);
    font-size:20px;
}

.study-c-content h3:not(:first-of-type){
    margin-top:34px;
}

.study-c-content p{
    color:#526873;
}

.study-table-scroll{
    max-width:100%;
    margin:16px 0;
    overflow-x:auto;
}

.study-table{
    width:100%;
    border-collapse:collapse;
    font-size:14px;
    text-align:left;
}

.study-table th,
.study-table td{
    padding:10px 12px;
    border-bottom:1px solid var(--pba-line);
    vertical-align:top;
}

.study-table th{
    background:#eef6f9;
    color:var(--pba-navy);
}

.tools-layout{
    display:grid;
    grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);
    gap:48px;
    align-items:start;
}

.tools-kicker{
    color:var(--pba-brand-dark);
    font-size:13px;
    font-weight:800;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.tools-intro h2{
    margin:12px 0 16px;
    color:var(--pba-navy);
    font-size:clamp(30px,4vw,46px);
    line-height:1.12;
}

.tools-intro p{
    color:#526873;
}

.tools-formula{
    display:inline-block;
    margin:14px 0;
    padding:12px 20px;
    border-radius:12px;
    background:#e8f5f9;
    color:var(--pba-navy);
    font-size:25px;
    font-weight:800;
}

.tools-intro .tools-note{
    font-size:14px;
}

.ohms-card{
    padding:32px;
    border:1px solid var(--pba-line);
    border-radius:20px;
    background:#fff;
    box-shadow:var(--pba-shadow-sm);
}

.ohms-label,
.ohms-field label{
    display:block;
    margin-bottom:8px;
    color:var(--pba-navy);
    font-size:14px;
    font-weight:750;
}

.ohms-select,
.ohms-field input{
    width:100%;
    min-height:48px;
    padding:10px 13px;
    border:1px solid #cbdce4;
    border-radius:10px;
    background:#fff;
    color:var(--pba-text);
}

.ohms-select:focus-visible,
.ohms-field input:focus-visible,
.ohms-reset:focus-visible{
    outline:3px solid var(--pba-brand);
    outline-offset:2px;
}

.ohms-input-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px;
    margin-top:20px;
}

.i2c-mode-field{
    grid-column:1 / -1;
}

.i2c-guide{
    grid-column:1 / -1;
}

.i2c-guide h3{
    margin:0 0 16px;
    color:var(--pba-navy);
    font-size:clamp(22px,2.5vw,30px);
}

.i2c-guide h4{
    margin:28px 0 10px;
    color:var(--pba-navy);
    font-size:19px;
}

.i2c-guide p{
    color:#526873;
}

.i2c-step-lines{
    display:grid;
    gap:8px;
    margin:14px 0 22px;
}

.i2c-step-lines > div{
    padding:12px 14px;
    border-radius:8px;
    background:#eef6f9;
    color:var(--pba-navy);
    font-family:ui-monospace,SFMono-Regular,Consolas,monospace;
    font-size:15px;
    line-height:1.5;
    overflow-wrap:anywhere;
}

.i2c-memory{
    margin:22px 0 0;
    padding:16px;
    border-left:4px solid #dba32a;
    border-radius:8px;
    background:#fff8e5;
}

.smd-input-grid{
    grid-template-columns:1fr;
}

.ohms-error{
    margin:16px 0 0;
    color:#a12626;
    font-size:14px;
}

.ohms-actions{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:15px;
    margin-top:24px;
}

.ohms-reset{
    border:0;
    background:transparent;
    color:var(--pba-brand-dark);
    font-weight:750;
    cursor:pointer;
}

.ohms-results{
    margin-top:28px;
    padding-top:24px;
    border-top:1px solid var(--pba-line);
}

.ohms-results h3{
    margin:0 0 16px;
    color:var(--pba-navy);
}

.ohms-result-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
}

.ohms-result-grid > div{
    padding:14px;
    border-radius:12px;
    background:#f1f8fa;
}

.ohms-result-grid .tool-result-wide{
    grid-column:1 / -1;
}

.tool-result-wide strong{
    font-family:ui-monospace,SFMono-Regular,Consolas,monospace;
    font-size:16px;
    overflow-wrap:anywhere;
}

.ohms-result-grid small,
.ohms-result-grid strong{
    display:block;
}

.ohms-result-grid small{
    color:#526873;
}

.ohms-result-grid strong{
    color:var(--pba-navy);
    font-size:20px;
}

.ohms-results > p{
    margin:16px 0 0;
    color:#526873;
    font-size:14px;
}

.resistor-preview{
    display:flex;
    align-items:center;
    justify-content:center;
    margin:24px 0;
    min-height:78px;
}

.resistor-lead{
    width:16%;
    height:5px;
    background:#aab4bd;
}

.resistor-body{
    display:flex;
    justify-content:space-evenly;
    align-items:stretch;
    width:68%;
    max-width:290px;
    height:68px;
    border:2px solid #bdab86;
    border-radius:26px;
    background:#e9d9b7;
    box-shadow:inset 0 4px 8px rgba(83,65,35,.12);
    overflow:hidden;
}

.resistor-band{
    width:11px;
    box-shadow:0 0 0 1px rgba(0,0,0,.14);
}

.resistor-tolerance-band{
    margin-left:12px;
}

.resistor-band-fields{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px;
}

.resistor-band-field label{
    display:block;
    margin-bottom:7px;
    color:var(--pba-navy);
    font-size:13px;
    font-weight:750;
}

.resistor-results{
    margin-top:24px;
}

.resistor-results .ohms-result-grid strong{
    overflow-wrap:anywhere;
}

[hidden]{display:none !important;}

@media(max-width:768px){
    .tools-layout{grid-template-columns:1fr;gap:28px;}
    .ohms-card{padding:22px;}
}

@media(max-width:420px){
    .ohms-input-grid{grid-template-columns:1fr;}
    .resistor-band-fields{grid-template-columns:1fr;}
}

.content-main{
    min-height:65vh;
    padding:48px 0 16px;
    background:#f7fafc;
}

.content-card{
    padding:34px;
    border:1px solid var(--pba-line);
    border-radius:20px;
    background:#fff;
    box-shadow:var(--pba-shadow-sm);
}

.page-header h1{
    margin-top:0;
    color:var(--pba-navy);
    font-size:38px;
    line-height:1.1;
}

.entry-content{
    color:#465861;
}

.entry-content a{
    color:var(--pba-brand-dark);
    text-decoration:underline;
}

.entry-content img{
    border-radius:14px;
}

.single-featured{
    margin-bottom:24px;
}

.blog-list-item{
    padding:0 0 26px;
    margin:0 0 26px;
    border-bottom:1px solid var(--pba-line);
}

.blog-list-item h2{
    margin:0 0 7px;
}

.blog-list-item h2 a{
    color:var(--pba-navy);
}

.auth-shell{
    min-height:calc(100vh - 78px);
    display:flex;
    align-items:center;
    padding:65px 0;
    background:
        radial-gradient(circle at 10% 15%,rgba(47,140,169,.11),transparent 28%),
        #f5fafc;
}

.auth-grid{
    display:grid;
    grid-template-columns:.9fr 1.1fr;
    overflow:hidden;
    border:1px solid var(--pba-line);
    border-radius:26px;
    background:#fff;
    box-shadow:var(--pba-shadow);
}

.auth-brand-panel{
    padding:55px;
    color:#fff;
    background:
        radial-gradient(circle at 100% 0%,rgba(112,220,241,.25),transparent 32%),
        linear-gradient(145deg,#0f3349,#1b748c);
}

.auth-label{
    color:#8be0f0;
    font-size:11px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.12em;
}

.auth-brand-panel h1{
    margin:12px 0 14px;
    font-size:45px;
    line-height:1.06;
    letter-spacing:-.04em;
}

.auth-brand-panel p{
    color:#d3e7ed;
}

.auth-highlights{
    display:grid;
    gap:12px;
    margin-top:34px;
}

.auth-highlights span{
    padding:12px 13px;
    border:1px solid rgba(255,255,255,.11);
    border-radius:12px;
    background:rgba(255,255,255,.07);
    font-size:12px;
    font-weight:700;
}

.auth-form-panel{
    padding:55px;
}

.auth-form-panel h2{
    margin:0 0 5px;
    color:var(--pba-navy);
    font-size:30px;
}

.auth-form-panel > p{
    margin:0 0 24px;
    color:var(--pba-muted);
    font-size:13px;
}

.login-username,
.login-password,
.login-remember,
.login-submit{
    margin:0 0 16px;
}

.login-username label,
.login-password label{
    display:block;
    margin-bottom:7px;
    color:#465861;
    font-size:12px;
    font-weight:800;
}

.login-username input,
.login-password input,
.auth-form-panel input[type="text"],
.auth-form-panel input[type="email"],
.auth-form-panel input[type="password"]{
    width:100%;
    min-height:48px;
    padding:0 13px;
    border:1px solid #d9e5ea;
    border-radius:11px;
    outline:none;
    background:#fbfdfe;
}

.login-username input:focus,
.login-password input:focus,
.auth-form-panel input:focus{
    border-color:var(--pba-brand);
    box-shadow:0 0 0 3px rgba(47,140,169,.10);
}

.login-submit input{
    width:100%;
    min-height:48px;
    border:0;
    border-radius:11px;
    color:#fff;
    background:linear-gradient(135deg,var(--pba-brand),var(--pba-brand-dark));
    font-weight:850;
    cursor:pointer;
}

.login-remember{
    color:#576974;
    font-size:12px;
}

.auth-links{
    display:grid;
    gap:8px;
    margin-top:18px;
    padding-top:18px;
    border-top:1px solid var(--pba-line);
    color:var(--pba-muted);
    font-size:12px;
}

.auth-links a{
    color:var(--pba-brand-dark);
    font-weight:800;
}

.notice-box{
    padding:16px;
    border:1px solid #eadcae;
    border-radius:12px;
    background:#fffaf0;
    color:#66531e;
    font-size:12px;
}

.contact-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:18px;
}

.contact-card{
    padding:24px;
    border:1px solid var(--pba-line);
    border-radius:18px;
    background:#fff;
    box-shadow:var(--pba-shadow-sm);
}

.contact-card small,
.contact-card strong{
    display:block;
}

.contact-card small{
    color:var(--pba-brand);
    font-weight:850;
}

.contact-card strong{
    margin:8px 0 11px;
    color:var(--pba-navy);
    font-size:17px;
}

.contact-card a{
    color:var(--pba-brand-dark);
    font-size:12px;
    font-weight:850;
}

.contact-card span{
    color:var(--pba-muted);
    font-size:12px;
}

.contact-content{
    margin-top:24px;
}

.careers-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:18px;
}

.career-card{
    padding:28px;
    border:1px solid var(--pba-line);
    border-radius:18px;
    background:#fff;
    box-shadow:var(--pba-shadow-sm);
}

.career-card > span{
    color:var(--pba-brand);
    font-size:12px;
    font-weight:900;
}

.career-card h2{
    margin:10px 0 10px;
    color:var(--pba-navy);
    font-size:19px;
}

.career-card p{
    margin:0;
    color:var(--pba-muted);
    font-size:13px;
}

.careers-note{
    margin-top:24px;
}

.error-card{
    text-align:center;
}

.error-card > span{
    display:block;
    color:var(--pba-brand);
    font-size:90px;
    font-weight:900;
    line-height:1;
}

.site-footer{
    position:relative;
    overflow:hidden;
    margin-top:0;
    padding:60px 0 20px;
    color:#fff;
    background:#0e3348;
}

.site-footer::before{
    content:"";
    position:absolute;
    width:440px;
    height:440px;
    right:-190px;
    top:-210px;
    border-radius:50%;
    background:radial-gradient(circle,rgba(76,186,214,.28),transparent 70%);
}

.footer-grid{
    position:relative;
    z-index:1;
    display:grid;
    grid-template-columns:1.2fr .8fr;
    gap:70px;
}

.footer-about{
    max-width:480px;
    margin:18px 0 0;
    color:#bed2dc;
    font-size:13px;
}

.social-row{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-top:18px;
}

.social-row a{
    padding:8px 10px;
    border:1px solid rgba(255,255,255,.10);
    border-radius:10px;
    background:rgba(255,255,255,.08);
    font-size:11px;
    font-weight:750;
}

.footer-contact{
    justify-self:end;
}

.footer-contact h3{
    margin-top:0;
}

.footer-contact p{
    margin:7px 0;
    color:#c8d9e0;
    font-size:13px;
}

.footer-menu{
    list-style:none;
    padding:0;
    margin:15px 0 0;
}

.footer-menu li{
    margin:6px 0;
}

.footer-menu a{
    color:#c8d9e0;
    font-size:12px;
}

.footer-bottom{
    position:relative;
    z-index:1;
    display:flex;
    justify-content:space-between;
    gap:20px;
    flex-wrap:wrap;
    margin-top:42px;
    padding-top:18px;
    border-top:1px solid rgba(255,255,255,.12);
    color:#98b2be;
    font-size:10px;
}

.scroll-top{
    position:fixed;
    right:18px;
    bottom:18px;
    z-index:500;
    width:44px;
    height:44px;
    display:grid;
    place-items:center;
    border:0;
    border-radius:13px;
    color:#fff;
    background:linear-gradient(135deg,var(--pba-brand),var(--pba-brand-dark));
    box-shadow:0 10px 24px rgba(16,47,73,.22);
    cursor:pointer;
    opacity:0;
    visibility:hidden;
    transform:translateY(8px);
    transition:.2s ease;
}

.scroll-top.show{
    opacity:1;
    visibility:visible;
    transform:translateY(0);
}

/* WooCommerce compatibility */
.woocommerce .button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce a.button{
    border-radius:10px !important;
    color:#fff !important;
    background:var(--pba-brand-dark) !important;
}

.woocommerce input.input-text,
.woocommerce textarea,
.woocommerce select{
    border:1px solid var(--pba-line);
    border-radius:9px;
    padding:10px;
}

.woocommerce-message,
.woocommerce-info{
    border-top-color:var(--pba-brand) !important;
}

.woocommerce-message::before,
.woocommerce-info::before{
    color:var(--pba-brand) !important;
}

/* Tutor LMS compatibility */
.tutor-wrap,
.tutor-container{
    width:min(1160px,92%);
    max-width:1160px;
    margin-inline:auto;
}

.tutor-btn,
.tutor-btn-primary{
    border-radius:10px !important;
}

/* Syllabus Two-Column Layout */
.syllabus-wrapper{
    display:grid;
    grid-template-columns:280px 1fr;
    gap:32px;
    margin-top:32px;
}

.syllabus-sidebar{
    display:flex;
    flex-direction:column;
    gap:0;
}

.sidebar-download-card{
    margin-bottom:16px;
}

.syllabus-sidebar-download-btn{
    width:100%;
    justify-content:center;
    text-align:center;
    box-shadow:0 8px 20px rgba(47,140,169,.2);
}

.syllabus-panel-header{
    display:flex;
    justify-content:space-between;
    align-items:center;
    flex-wrap:wrap;
    gap:16px;
    margin-bottom:16px;
    padding-bottom:16px;
    border-bottom:1px solid var(--pba-line);
}

.syllabus-panel-download-btn{
    min-height:42px;
    padding:0 18px;
    font-size:13px;
    white-space:nowrap;
}

.topic-list{
    display:flex;
    flex-direction:column;
    gap:0;
}

.topic-btn{
    padding:16px 20px;
    margin:0;
    border:none;
    border-left:4px solid transparent;
    text-align:left;
    background:#f6fafc;
    color:var(--pba-text);
    font-size:15px;
    font-weight:600;
    cursor:pointer;
    transition:all .3s ease;
    border-radius:0;
}

.topic-btn:hover{
    background:#eaf7fb;
    border-left-color:var(--pba-brand);
}

.topic-btn.active{
    background:var(--pba-brand-soft);
    color:var(--pba-brand-dark);
    border-left-color:var(--pba-brand);
    font-weight:700;
}

.syllabus-content-area{
    position:relative;
}

.syllabus-panel{
    display:none;
    padding:28px;
    border:1px solid var(--pba-line);
    border-radius:16px;
    background:#fff;
    animation:fadeIn .3s ease;
}

.syllabus-panel.active{
    display:block;
}

@keyframes fadeIn{
    from{opacity:0;transform:translateY(10px)}
    to{opacity:1;transform:translateY(0)}
}

.syllabus-panel h3{
    margin:0 0 6px;
    color:var(--pba-navy);
    font-size:32px;
}

.course-description{
    margin:12px 0 20px;
    padding:16px;
    border-left:4px solid var(--pba-brand);
    background:var(--pba-brand-soft);
    border-radius:8px;
}

.course-description p{
    margin:0;
    color:var(--pba-brand-dark);
    font-size:18px;
    line-height:1.8;
}

.syllabus-panel h4{
    margin:24px 0 18px;
    color:var(--pba-navy);
    font-size:20px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.05em;
}

.topics-list{
    margin:0;
    padding-left:24px;
    list-style:none;
}

.topics-list li{
    position:relative;
    margin-bottom:14px;
    color:var(--pba-text);
    font-size:18px;
    line-height:1.8;
}

.topics-list li::before{
    content:"✓";
    position:absolute;
    left:-20px;
    color:var(--pba-brand);
    font-weight:800;
}

.module-item{
    margin-bottom:20px;
    padding-bottom:18px;
    border-bottom:1px solid var(--pba-line);
}

.module-item strong{
    color:var(--pba-brand-dark);
    font-weight:700;
    display:block;
    margin-bottom:14px;
    font-size:19px;
}

.module-item:last-child{
    border-bottom:none;
}

.module-topics{
    margin:0;
    padding-left:24px;
    list-style:none;
}

.module-topics li{
    position:relative;
    margin-bottom:12px;
    color:var(--pba-text);
    font-size:18px;
    line-height:1.8;
}

.module-topics li::before{
    content:"▸";
    position:absolute;
    left:-16px;
    color:var(--pba-brand);
    font-weight:800;
}

@media(max-width:980px){
    .testimonial-grid{
        grid-auto-columns:minmax(260px,calc((100% - 20px) / 2));
    }

    .syllabus-wrapper{
        grid-template-columns:1fr;
        gap:20px;
        margin-top:20px;
    }

    .syllabus-sidebar{
        background:transparent;
        padding:0;
        margin:0;
        border-bottom:none;
    }

    .topic-list{
        display:flex;
        flex-wrap:wrap;
        gap:8px 10px;
        padding:4px 0 12px 0;
    }

    .topic-btn{
        flex:0 0 auto;
        padding:8px 14px;
        font-size:13.5px;
        font-weight:650;
        border:1px solid var(--pba-line);
        border-radius:10px;
        background:#f6fafc;
        color:var(--pba-text);
        box-shadow:0 2px 5px rgba(0,0,0,0.03);
        transition:all .2s ease;
        display:inline-flex;
        align-items:center;
        justify-content:center;
        min-height:38px;
        text-align:center;
    }

    .topic-btn:hover{
        background:#eaf7fb;
        border-color:var(--pba-brand);
        color:var(--pba-brand-dark);
    }

    .topic-btn.active{
        background:var(--pba-brand);
        color:#fff;
        border-color:var(--pba-brand);
        font-weight:700;
        box-shadow:0 4px 12px rgba(47,140,169,0.3);
    }

    .syllabus-panel{
        padding:20px 16px;
        border-radius:14px;
    }

    .syllabus-panel h3{
        font-size:22px;
        line-height:1.25;
        margin-bottom:10px;
    }

    .course-description{
        margin:10px 0 16px;
        padding:14px;
    }

    .course-description p{
        font-size:15px;
        line-height:1.65;
    }

    .topics-list{
        padding-left:20px;
    }

    .topics-list li{
        font-size:15px;
        line-height:1.65;
        margin-bottom:10px;
    }

    .topics-list li::before{
        left:-18px;
    }

    .module-topics{
        padding-left:0;
    }

    .module-topics li{
        font-size:15px;
        line-height:1.6;
        padding-left:18px;
    }

    .module-topics li::before{
        left:0;
    }
}

@media(max-width:640px){
    .testimonial-grid{
        grid-auto-columns:minmax(240px,85%);
    }

    .skills-banner-section{
        padding:34px 0 4px;
    }

    .skills-banner-frame{
        border-radius:16px;
    }

    .banner-tech-icon{
        width:34px;
        height:34px;
        border-radius:10px;
        font-size:9px;
    }

    .banner-tech-signal i{
        width:3px;
        transform:scaleY(.7);
    }
}

.module-item{
    margin-bottom:18px;
    padding-bottom:14px;
    border-bottom:1px solid var(--pba-line);
}

/* One-to-one training pricing section */
.pba-pricing{
    padding:0 20px 40px;
}

.pricing-hero{
    position:relative;
    isolation:isolate;
    overflow:hidden;
    padding:46px 48px;
    border:1px solid rgba(255,255,255,.14);
    border-radius:24px;
    color:var(--pba-white);
    background:linear-gradient(135deg,var(--pba-navy) 0%,#155a72 58%,var(--pba-brand) 100%);
    box-shadow:0 20px 48px rgba(16,47,73,.18);
}

.pricing-hero::after{
    content:"";
    position:absolute;
    z-index:-1;
    width:320px;
    height:320px;
    right:-90px;
    top:-150px;
    border-radius:50%;
    background:rgba(255,255,255,.09);
}

.hero-kicker{
    display:inline-flex;
    padding:6px 12px;
    border:1px solid rgba(255,255,255,.28);
    border-radius:999px;
    color:#dff7ff;
    background:rgba(255,255,255,.10);
    font-size:12px;
    font-weight:750;
    letter-spacing:.06em;
    text-transform:uppercase;
}

.pricing-hero h1{
    max-width:820px;
    margin:18px 0 12px;
    color:var(--pba-white);
    font-size:clamp(30px,4vw,46px);
    line-height:1.14;
    letter-spacing:-1.2px;
}

.pricing-hero p{
    max-width:800px;
    margin:0;
    color:rgba(255,255,255,.84);
    font-size:16px;
    line-height:1.7;
}

.hero-meta{
    display:flex;
    flex-wrap:wrap;
    gap:9px;
    margin-top:24px;
}

.hero-meta span{
    padding:7px 11px;
    border:1px solid rgba(255,255,255,.18);
    border-radius:8px;
    color:#eefbff;
    background:rgba(7,38,57,.28);
    font-size:12px;
    font-weight:700;
}

.section-label{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:20px;
    margin:36px 0 14px;
    padding:0 4px 12px;
    border-bottom:2px solid rgba(47,140,169,.18);
}

.section-label h2{
    margin:0 0 3px;
    color:var(--pba-navy);
    font-size:23px;
    line-height:1.3;
}

.section-label p{
    margin:0;
    color:var(--pba-muted);
    font-size:14px;
}

.course-list{
    overflow:hidden;
    margin:0 0 28px;
    border:1px solid var(--pba-line);
    border-radius:18px;
    background:var(--pba-white);
    box-shadow:var(--pba-shadow-sm);
}

.course-group-label{
    padding:9px 22px;
    border-bottom:1px solid var(--pba-line);
    font-size:11px;
    font-weight:850;
    letter-spacing:.09em;
    text-transform:uppercase;
}

.course-group-label.electronics-group{
    color:#855510;
    background:linear-gradient(90deg,#fff5df,#fffaf0);
}

.course-group-label.embedded-group{
    color:#11617a;
    background:linear-gradient(90deg,#dff4fa,#eef9fc);
}

.course-item-electronics{
    background:#fffdfa;
}

.course-item-embedded{
    background:#fbfeff;
}

.course-item-electronics .course-index{
    color:#855510;
    background:#fff1d3;
}

.course-item-embedded .course-index{
    color:var(--pba-brand-dark);
    background:#dff3f9;
}

.module-item strong{
    color:var(--pba-brand-dark);
    font-weight:700;
    display:block;
    margin-bottom:10px;
    font-size:16px;
    line-height:1.4;
}

.module-topics li{
    position:relative;
    margin-bottom:8px;
    padding:2px 0 2px 20px;
    color:var(--pba-text);
    font-size:15px;
    line-height:1.6;
    border:none;
    border-radius:0;
    overflow:visible;
    box-shadow:none;
    background:transparent;
}

.module-topics li::before{
    content:"▸";
    position:absolute;
    left:0;
    top:2px;
    color:var(--pba-brand);
    font-weight:800;
}

.course-item{
    position:relative;
    display:grid;
    grid-template-columns:48px minmax(0,1fr) auto;
    align-items:center;
    gap:16px;
    padding:20px 22px;
    border-bottom:1px solid var(--pba-line);
    transition:background .2s ease, transform .2s ease;
}

.course-item:last-child{
    border-bottom:none;
}

.course-item:hover{
    background:#fbfdfe;
}

.course-item::before{
    content:"";
    position:absolute;
    left:0;
    top:0;
    bottom:0;
    width:3px;
    background:transparent;
    transition:background .2s ease;
}

.course-item:hover::before{
    background:var(--pba-brand);
}

.course-index{
    width:40px;
    height:40px;
    border-radius:12px;
    display:grid;
    place-items:center;
    background:var(--pba-brand-soft);
    color:var(--pba-brand-dark);
    font-size:13px;
    font-weight:800;
}

.course-copy{
    min-width:0;
}

.course-copy h3{
    margin:0 0 5px;
    font-size:16px;
    line-height:1.35;
    color:var(--pba-text);
}

.course-copy p{
    margin:0;
    font-size:13px;
    line-height:1.5;
    color:var(--pba-muted);
}

.course-side{
    display:flex;
    align-items:center;
    gap:14px;
}

.course-tag{
    padding:7px 10px;
    border-radius:999px;
    background:#fff8ed;
    color:#9a6419;
    font-size:11px;
    font-weight:800;
    white-space:nowrap;
}

.course-fee{
    min-width:108px;
    text-align:right;
    font-size:20px;
    font-weight:850;
    color:var(--pba-brand-dark);
    white-space:nowrap;
}

.pricing-note{
    display:grid;
    grid-template-columns:1.15fr .85fr;
    gap:18px;
    margin-top:22px;
    padding:0 20px 0;
}

.note-card{
    background:#fff;
    border:1px solid var(--pba-line);
    border-radius:18px;
    padding:22px;
}

.note-card h3{
    margin:0 0 10px;
    font-size:16px;
    color:var(--pba-brand-dark);
}

.note-card p{
    margin:0;
    color:var(--pba-muted);
    font-size:14px;
    line-height:1.65;
}

.feature-pills{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-top:12px;
}

.feature-pills span{
    padding:8px 10px;
    background:var(--pba-brand-soft);
    color:var(--pba-brand-dark);
    border-radius:9px;
    font-size:12px;
    font-weight:700;
}

.note-card.intl{
    position:relative;
    isolation:isolate;
    overflow:hidden;
    border-color:rgba(47,140,169,.34);
    background:linear-gradient(135deg,#e6f6fb 0%,#d5eef6 100%);
    box-shadow:0 12px 30px rgba(23,102,126,.10);
}

.note-card.intl::after{
    content:"";
    position:absolute;
    z-index:-1;
    width:150px;
    height:150px;
    right:-55px;
    bottom:-75px;
    border-radius:50%;
    background:rgba(47,140,169,.13);
}

.note-card.intl h3{
    color:#0e536c;
    font-size:18px;
}

.note-card.intl p{
    max-width:470px;
    color:#304f5d;
    font-size:15px;
    line-height:1.7;
}

.note-card.intl strong{
    display:inline-block;
    padding:1px 7px;
    border-radius:6px;
    color:#fff;
    background:var(--pba-brand-dark);
    font-weight:800;
}

@media(max-width:980px){
    .pba-pricing{
        padding:0;
    }

    .pricing-hero{
        padding:32px 24px;
        border-radius:20px;
    }

    .pricing-hero h1{
        font-size:clamp(22px, 5vw, 32px);
        line-height:1.2;
        letter-spacing:-.5px;
        word-break:break-word;
    }
}

@media(max-width:768px){
    .pba-pricing{
        padding:0;
    }

    .pricing-hero{
        padding:22px 18px;
        border-radius:18px;
    }

    .hero-kicker{
        font-size:11px;
        padding:5px 10px;
    }

    .pricing-hero h1{
        font-size:clamp(20px, 5.2vw, 26px);
        line-height:1.25;
        letter-spacing:-.4px;
        margin:12px 0 10px;
        word-break:break-word;
        overflow-wrap:break-word;
    }

    .pricing-hero p{
        font-size:14px;
        line-height:1.55;
    }

    .hero-meta{
        display:grid;
        grid-template-columns:repeat(2, 1fr);
        gap:6px;
        margin-top:16px;
    }

    .hero-meta span{
        text-align:center;
        font-size:11px;
        padding:6px 4px;
    }

    .section-label{
        display:flex;
        flex-direction:column;
        align-items:flex-start;
        gap:3px;
        margin:22px 0 10px;
        padding:0 4px;
    }

    .section-label h2{
        font-size:18px;
    }

    .section-label p{
        font-size:12.5px;
    }

    .course-list{
        border-radius:14px;
        margin:0 0 20px;
    }

    .course-item{
        grid-template-columns:36px minmax(0,1fr);
        gap:10px;
        padding:14px 12px;
    }

    .course-index{
        width:34px;
        height:34px;
        border-radius:9px;
        font-size:12px;
    }

    .course-copy h3{
        font-size:14px;
        line-height:1.3;
    }

    .course-copy p{
        font-size:12px;
        line-height:1.45;
    }

    .course-side{
        grid-column:1 / -1;
        display:flex;
        justify-content:space-between;
        align-items:center;
        gap:10px;
        margin-top:6px;
        padding-top:6px;
        border-top:1px dashed var(--pba-line);
    }

    .course-tag{
        font-size:10px;
        padding:4px 8px;
    }

    .course-fee{
        min-width:auto;
        text-align:right;
        font-size:16px;
    }

    .pricing-note{
        grid-template-columns:1fr;
        gap:14px;
        margin-top:16px;
        padding:0;
    }

    .note-card{
        border-radius:14px;
        padding:16px;
    }
}

@media(max-width:980px){
    .hero-grid,
    .about-grid,
    .placement-card,
    .auth-grid,
    .careers-grid,
    .community-grid,
    .benefits-grid,
    .footer-grid,
    .contact-grid{
        grid-template-columns:1fr;
    }

    .placement-photo{
        min-height:380px;
        max-height:520px;
    }

    .hero-grid{
        gap:32px;
        padding:50px 0 65px;
    }

    .hero-section{
        min-height:auto;
    }

    .hero-card{
        width:100%;
        max-width:100%;
        margin-top:20px;
    }

    .media-grid{
        grid-template-columns:repeat(2,minmax(0,200px));
    }

    .fee-grid{
        grid-template-columns:1fr;
    }

    .founder-badge{
        position:static;
        width:100%;
        margin-top:14px;
        box-shadow:var(--pba-shadow-sm);
    }
}

@media(max-width:860px){
    body.admin-bar .site-header{
        top:46px;
    }

    .menu-toggle{
        display:grid;
        place-items:center;
        margin-left:auto;
    }

    .primary-nav{
        display:none;
        position:absolute;
        top:78px;
        left:4%;
        right:4%;
        padding:12px;
        border:1px solid var(--pba-line);
        border-radius:17px;
        background:#fff;
        box-shadow:var(--pba-shadow);
    }

    .primary-nav.open{
        display:block;
    }

    .pba-menu{
        flex-direction:column;
        align-items:stretch;
    }

    .pba-menu a{
        padding:12px 13px;
    }

    .header-login{
        display:none;
    }

    .site-brand,
    .footer-brand{
        min-width:0;
    }

    .stats-card{
        grid-template-columns:1fr;
    }

    .stat-item:not(:last-child)::after{
        left:15%;
        right:15%;
        top:auto;
        bottom:0;
        width:70%;
        height:1px;
    }

    .community-grid,
    .benefits-grid,
    .footer-grid,
    .contact-grid,
    .careers-grid{
        grid-template-columns:1fr;
    }

    .footer-contact{
        justify-self:start;
    }

    .founder-badge{
        position:static;
        width:100%;
        margin-top:14px;
        box-shadow:var(--pba-shadow-sm);
    }

    .about-grid{
        grid-template-columns:1fr;
        gap:32px;
    }

    .hero-grid{
        grid-template-columns:1fr;
        gap:32px;
        padding:50px 0 65px;
    }

    .hero-section{
        min-height:auto;
    }
}

@media(max-width:768px){
    .pba-container{
        width:90%;
    }

    .hero-copy h1{
        font-size:clamp(26px, 7vw, 34px);
        line-height:1.15;
        word-break:break-word;
        overflow-wrap:break-word;
    }

    .hero-copy p{
        font-size:15px;
        line-height:1.6;
        margin-bottom:24px;
    }

    .hero-actions{
        display:flex;
        flex-direction:column;
        gap:12px;
        width:100%;
    }

    .pba-btn{
        width:100%;
        justify-content:center;
        text-align:center;
        min-height:46px;
    }

    .hero-card{
        padding:20px;
        border-radius:20px;
    }

    .community-card{
        flex-direction:column;
        align-items:stretch;
        gap:14px;
        padding:20px;
    }

    .community-card a,
    .community-card .disabled-link{
        width:100%;
        text-align:center;
        justify-content:center;
    }

    .careers-grid{
        grid-template-columns:1fr;
        gap:16px;
    }

    .career-card{
        padding:22px 18px;
        border-radius:16px;
    }

    .careers-note{
        margin-top:24px;
        padding:26px 20px;
        text-align:center;
        border-radius:18px;
    }

    .careers-note h2{
        font-size:22px;
        margin-bottom:8px;
    }

    .careers-note p{
        font-size:14px;
        line-height:1.6;
        margin-bottom:18px;
    }

    .careers-note .pba-btn{
        width:100%;
        justify-content:center;
        text-align:center;
    }

    .inner-hero{
        padding:52px 0 40px;
    }

    .inner-hero h1{
        font-size:clamp(25px, 6vw, 34px);
        line-height:1.15;
        word-break:break-word;
    }

    .footer-brand img{
        transform:none;
        max-width:180px;
    }

    .footer-brand .brand-since{
        margin-left:0;
    }
}

@media(max-width:480px){
    .site-brand{
        gap:7px;
    }

    .site-logo img{
        max-width:145px;
    }

    .site-brand .brand-since{
        font-size:10px;
    }
}

@media(max-width:600px){
    .section{
        padding:54px 0;
    }

    .site-footer{
        margin-top:40px;
    }

    .hero-grid{
        padding:44px 0 60px;
    }

    .stats-section{
        margin-top:-24px;
    }

    .stat-item{
        padding:22px 16px;
    }

    .stat-item strong{
        font-size:36px;
    }

    .about-points,
    .media-grid{
        grid-template-columns:1fr;
    }

    .media-grid{
        width:min(230px,100%);
        margin-right:auto;
        margin-left:auto;
    }

    .panel-heading{
        align-items:flex-start;
        flex-direction:column;
        padding:12px 16px;
    }

    .panel-heading h3{
        font-size:18px;
        margin-bottom:4px;
    }

    .fee-grid{
        grid-template-columns:1fr;
        gap:14px;
        padding:16px 16px 0;
    }

    .fee-card{
        padding:16px;
    }

    .section-heading{
        margin-bottom:28px;
    }

    .section-heading h2{
        font-size:26px;
    }

    .auth-brand-panel,
    .auth-form-panel{
        padding:28px 20px;
    }

    .auth-brand-panel h1{
        font-size:32px;
    }

    .content-card{
        padding:22px 18px;
    }
}

body{
    font-size:18px;
}

.brand-copy strong,
.pba-menu a,
.header-login,
.pba-btn,
.hero-feature strong,
.about-points span,
.testimonial-card p,
.student-name strong,
.community-card strong,
.contact-card a,
.career-card p,
.footer-contact p{
    font-size:16px;
}

.brand-copy small,
.hero-feature small,
.founder-badge small,
.student-name small,
.media-card small,
.community-card small,
.panel-heading p,
.international-note p,
.auth-form-panel > p,
.login-remember,
.auth-links,
.notice-box,
.contact-card span,
.footer-about,
.footer-menu a,
.social-row a{
    font-size:14px;
}

.eyebrow,
.section-kicker,
.stat-item span,
.media-card strong,
.community-card a,
.disabled-link,
.table-btn,
.career-card > span,
.auth-label,
.auth-highlights span,
.login-username label,
.login-password label,
.contact-card small{
    font-size:15px;
}

th,
td,
td small,
.footer-bottom{
    font-size:15px;
}

.section-heading p,
.about-content p,
.inner-hero p,
.entry-content,
.international-note strong,
.contact-card strong{
    font-size:18px;
}

.panel-heading > span,
.benefits-grid > div{
    font-size:15px;
}

.founder-placeholder span,
.stars,
.media-icon{
    font-size:16px;
}

.hero-card h2,
.benefits-block h3,
.career-card h2{
    font-size:21px;
}

.panel-heading h3{
    font-size:23px;
}

.auth-brand-panel h1{
    font-size:48px;
}

.auth-form-panel h2{
    font-size:32px;
}

@media(max-width:600px){
    body{
        font-size:17px;
    }

    .hero-copy p,
    .about-content p,
    .section-heading p,
    .inner-hero p,
    .entry-content,
    .footer-contact p{
        font-size:17px;
    }

    .pba-menu a,
    .pba-btn,
    .about-points span,
    .testimonial-card p,
    .community-card strong,
    .career-card p{
        font-size:15px;
    }
}

@media(max-width:600px){
    .study-materials-section .pba-container{
        width:calc(100% - 24px);
    }

    .study-materials-content{
        padding:22px 16px;
        border-radius:16px;
        font-size:15px;
        line-height:1.6;
    }

    .study-panel-title{
        margin-bottom:22px;
        font-size:clamp(25px,7vw,32px);
    }

    .study-c-content h3,
    .study-steps h3{
        font-size:18px;
        line-height:1.35;
    }

    .study-steps{
        padding-left:20px;
    }

    .study-steps li{
        padding-left:2px;
        margin-bottom:22px;
    }

    .study-materials-content pre{
        padding:12px;
        font-size:13px;
        line-height:1.5;
    }

    .study-table-scroll{
        overscroll-behavior-x:contain;
        -webkit-overflow-scrolling:touch;
    }

    .study-table{
        min-width:560px;
        font-size:13px;
    }

    .study-table th,
    .study-table td{
        padding:9px 10px;
    }

    .i2c-step-lines > div{
        padding:10px 11px;
        font-size:13px;
    }
}
