:root{
  --bk-blue:#173f78;--bk-blue2:#24599a;--bk-gold:#b9801d;--bk-ink:#27323d;
  --bk-muted:#64717d;--bk-soft:#f6f8fb;--bk-line:#e2e7ec;--bk-white:#fff;
  --bk-shadow:0 12px 34px rgba(27,56,91,.08);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#fff;color:var(--bk-ink);font-family:Arial,Helvetica,sans-serif;line-height:1.68}
a{color:var(--bk-blue)}
.bk-wrap{width:min(1080px,calc(100% - 40px));margin:auto}
.bk-header{border-bottom:1px solid var(--bk-line);background:#fff;position:relative;z-index:10}
.bk-header .bk-wrap{min-height:68px;display:flex;justify-content:space-between;align-items:center;gap:22px}
.bk-brand{font-weight:700;color:var(--bk-blue);text-decoration:none;font-size:18px}
.bk-nav{display:flex;gap:17px;flex-wrap:wrap}.bk-nav a{text-decoration:none;color:#45525e;font-size:14px}
.bk-hero{padding:52px 0 40px;background:linear-gradient(180deg,#fafcff 0%,#fff 100%);border-bottom:1px solid var(--bk-line)}
.bk-eyebrow{text-transform:uppercase;letter-spacing:.07em;font-size:12px;font-weight:700;color:var(--bk-gold)}
h1{font-size:44px;line-height:1.12;color:var(--bk-blue);margin:8px 0 14px}
h2{font-size:28px;line-height:1.25;color:var(--bk-blue)}
h3{color:#354553}
.bk-lead{font-size:20px;max-width:820px;color:#4e5b67;margin:0}
.bk-main{padding:42px 0 62px}
.bk-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px}
.bk-card{border:1px solid var(--bk-line);border-radius:12px;background:#fff;padding:20px;box-shadow:0 2px 10px rgba(20,47,78,.03)}
.bk-card.soft{background:var(--bk-soft)}.bk-card h2,.bk-card h3{margin-top:0}
.bk-card-link{display:block;text-decoration:none;color:var(--bk-blue);transition:transform .15s ease,box-shadow .15s ease}
.bk-card-link:hover{transform:translateY(-2px);box-shadow:var(--bk-shadow)}
.bk-btn{display:inline-block;border:1px solid var(--bk-blue);border-radius:9px;padding:11px 16px;text-decoration:none;font-weight:700;color:var(--bk-blue);background:#fff;cursor:pointer;font-size:15px}
.bk-btn.primary{background:var(--bk-blue);color:#fff}.bk-btn.gold{background:#fff8e9;border-color:#c18a25;color:#765311}
.bk-actions{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}
.bk-answer{background:var(--bk-soft);border-left:4px solid var(--bk-blue);padding:20px 22px;border-radius:0 10px 10px 0;margin:22px 0}
.bk-section{margin:40px 0}.bk-section:first-child{margin-top:0}
.bk-article{max-width:800px}.bk-article p{font-size:17px}
.bk-breadcrumbs{padding:16px 0 0;color:var(--bk-muted);font-size:13px}.bk-breadcrumbs a{text-decoration:none}
.bk-footer{background:var(--bk-soft);border-top:1px solid var(--bk-line);padding:27px 0;color:var(--bk-muted);font-size:14px}
.bk-footer-links{display:flex;gap:15px;flex-wrap:wrap;margin-bottom:8px}.bk-footer a{text-decoration:none;font-weight:600}
.bk-pill{display:inline-block;background:#eef4fb;border:1px solid #dbe8f7;color:var(--bk-blue);padding:5px 9px;border-radius:999px;font-size:12px;font-weight:700}
.bk-progress{height:10px;background:#edf0f3;border-radius:999px;overflow:hidden}.bk-progress>span{display:block;height:100%;background:var(--bk-blue);width:0}
.bk-muted{color:var(--bk-muted)}.bk-small{font-size:13px}.bk-center{text-align:center}
.bk-form label{display:block;font-weight:700;margin:13px 0 6px}.bk-form input,.bk-form select,.bk-form textarea{width:100%;padding:11px 12px;border:1px solid #cfd7df;border-radius:8px;font:inherit;background:#fff}
.bk-form textarea{min-height:120px}.bk-form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.bk-notice{padding:15px 17px;border-radius:9px;background:#f3f7fc;border:1px solid #dbe6f2;margin:18px 0}
.bk-success{background:#eff9f2;border-color:#cfe8d6}.bk-error{background:#fff3f3;border-color:#edcece}
.bk-profile{display:grid;grid-template-columns:110px 1fr;gap:20px;align-items:start}.bk-avatar{width:100px;height:100px;border-radius:50%;background:linear-gradient(135deg,#edf3fa,#fff5dc);display:flex;align-items:center;justify-content:center;color:var(--bk-blue);font-size:28px;font-weight:700;border:1px solid var(--bk-line)}
.bk-player{border:1px solid var(--bk-line);border-radius:16px;padding:28px;box-shadow:var(--bk-shadow);background:#fff}
.bk-player-line{font-size:25px;line-height:1.45;color:var(--bk-blue);min-height:110px;display:flex;align-items:center;justify-content:center;text-align:center;padding:14px}
.bk-time{font-size:34px;font-weight:700;color:var(--bk-blue);font-variant-numeric:tabular-nums}
.bk-choice{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:16px 0}.bk-choice button{padding:14px;border:1px solid var(--bk-line);border-radius:10px;background:#fff;cursor:pointer;font-weight:700;color:var(--bk-blue)}
.bk-choice button.active{background:var(--bk-blue);color:#fff;border-color:var(--bk-blue)}
.bk-course-day{display:flex;gap:14px;align-items:flex-start}.bk-num{min-width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--bk-blue);color:#fff;font-weight:700}
.bk-daily-thought{font-size:27px;line-height:1.45;color:var(--bk-blue);font-weight:600}
.bk-table{width:100%;border-collapse:collapse}.bk-table th,.bk-table td{border-bottom:1px solid var(--bk-line);padding:12px 9px;text-align:left;vertical-align:top}.bk-table th{color:var(--bk-blue)}
.bk-sticky-cta{position:fixed;left:50%;bottom:14px;transform:translateX(-50%);z-index:90;display:flex;gap:8px;padding:9px;background:rgba(255,255,255,.96);border:1px solid var(--bk-line);border-radius:14px;box-shadow:var(--bk-shadow);backdrop-filter:blur(10px)}
.bk-sticky-cta a{white-space:nowrap}
@media(max-width:720px){
  h1{font-size:35px}.bk-lead{font-size:18px}.bk-header .bk-wrap{display:block;padding:14px 0}.bk-nav{margin-top:9px;gap:12px}
  .bk-form-row{grid-template-columns:1fr}.bk-profile{grid-template-columns:1fr}.bk-avatar{width:84px;height:84px}.bk-player-line{font-size:21px}
  .bk-sticky-cta{width:calc(100% - 20px);justify-content:center;bottom:8px}.bk-sticky-cta .bk-btn{padding:9px 10px;font-size:12px}
}

/* V8 unified portal additions */
.bk-nav-start{display:inline-block;padding:8px 12px;border-radius:8px;background:var(--bk-blue);color:#fff!important;text-decoration:none;font-size:13px;font-weight:700}
.bk-footer-grid{display:grid;grid-template-columns:1.4fr repeat(4,1fr);gap:24px}.bk-footer-stack{display:flex;flex-direction:column;gap:6px;margin-top:8px}.bk-footer-stack a{font-weight:500}.bk-footer-bottom{border-top:1px solid var(--bk-line);margin-top:24px;padding-top:16px;font-size:12px}
.bk-split{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(260px,.75fr);gap:28px;align-items:start}.bk-aside{position:sticky;top:20px}.bk-stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px}.bk-stat{border:1px solid var(--bk-line);border-radius:10px;padding:14px;background:var(--bk-soft);text-align:center}.bk-stat strong{display:block;font-size:26px;color:var(--bk-blue)}
.bk-filter{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;align-items:end}.bk-filter label{font-weight:700;font-size:13px}.bk-filter select,.bk-filter input{width:100%;padding:10px;border:1px solid #cfd7df;border-radius:8px;background:#fff}.bk-event-meta{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}.bk-remaining{font-size:13px;font-weight:700;color:#496650}.bk-teacher-mini{display:flex;gap:12px;align-items:center;margin:15px 0}.bk-avatar.small{width:50px;height:50px;font-size:15px;min-width:50px}
.bk-practice-ring{width:132px;height:132px;border-radius:50%;margin:10px auto;display:flex;align-items:center;justify-content:center;background:conic-gradient(var(--bk-blue) var(--pct,0%),#edf1f5 0);position:relative}.bk-practice-ring:after{content:"";position:absolute;width:103px;height:103px;background:#fff;border-radius:50%}.bk-practice-ring span{position:relative;z-index:2;font-weight:700;color:var(--bk-blue);font-size:22px}.bk-install{display:none}.bk-install.show{display:inline-block}.bk-archive-day{padding:16px 0;border-bottom:1px solid var(--bk-line)}
.bk-home-portal{margin:28px auto;padding:28px;border:1px solid var(--bk-line);border-radius:16px;background:linear-gradient(135deg,#f7faff,#fffaf0);box-shadow:var(--bk-shadow)}.bk-home-portal h2{margin-top:0}.bk-home-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.bk-home-actions a{text-align:center}
@media(max-width:900px){.bk-footer-grid{grid-template-columns:repeat(2,1fr)}.bk-split{grid-template-columns:1fr}.bk-aside{position:static}.bk-filter{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){.bk-nav-start{margin-top:10px}.bk-footer-grid{grid-template-columns:1fr 1fr}.bk-filter{grid-template-columns:1fr}.bk-home-actions{grid-template-columns:1fr}}

/* BKPH V8.12.37 GOLD OUTLINE DESIGN START
   Public portal visual alignment. Content and functionality unchanged.
*/
:root{
  --bk-gold:#d4af37;
  --bk-coral:#e9757b;
  --bk-coral-dark:#d85f68;
  --bk-burgundy:#5b1f29;
  --bk-cream:#fffdf8;
}

body{
  background:
    radial-gradient(circle at 78% 2%,rgba(246,210,132,.11),transparent 28rem),
    linear-gradient(180deg,#fffefa,#fffdf8) !important;
}

.bk-hero{
  background:transparent !important;
  padding-top:14px !important;
  padding-bottom:14px !important;
}

.bk-hero > .bk-wrap,
.bk-main > .bk-wrap{
  background:rgba(255,254,250,.97);
  border:1.1px solid rgba(212,175,55,.85);
  border-radius:17px;
  box-shadow:0 8px 24px rgba(91,31,41,.045);
  padding:clamp(24px,4vw,42px);
  box-sizing:border-box;
}

.bk-card,
.bk-notice,
.bk-profile,
.bk-centre-card{
  border:1px solid rgba(212,175,55,.8) !important;
  border-radius:15px !important;
  background:#fffefa !important;
  box-shadow:0 5px 18px rgba(91,31,41,.035);
}

.bk-card{
  transition:transform .18s ease,box-shadow .18s ease;
}
.bk-card:hover{
  transform:translateY(-2px);
  box-shadow:0 10px 25px rgba(91,31,41,.07);
}

.bk-hero h1,
.bk-main h1,
.bk-main h2,
.bk-main h3{
  color:var(--bk-burgundy) !important;
}

.bk-btn,
a.bk-btn,
button.bk-btn{
  background:var(--bk-coral) !important;
  color:#fff !important;
  border:1px solid var(--bk-coral) !important;
  border-radius:9px !important;
}

.bk-btn:hover,
a.bk-btn:hover,
button.bk-btn:hover{
  background:var(--bk-coral-dark) !important;
  color:#fff !important;
}

.bk-btn:not(.primary){
  background:#fffdfa !important;
  color:var(--bk-burgundy) !important;
  border-color:var(--bk-gold) !important;
}

.bk-btn.primary{
  background:var(--bk-coral) !important;
  color:#fff !important;
}

.bk-pill,
.bk-eyebrow{
  color:#a96627 !important;
}

@media(max-width:720px){
  .bk-hero{padding:8px 0 !important}
  .bk-hero > .bk-wrap,
  .bk-main > .bk-wrap{
    width:calc(100% - 16px);
    border-radius:14px;
    padding:22px 18px;
  }
}
/* BKPH V8.12.37 GOLD OUTLINE DESIGN END */

/* BKPH V8.12.49 TYPOGRAPHY + SPACING POLISH START */
.bk-main,.bk-hero{font-size:18px;line-height:1.68}
.bk-main p,.bk-hero p{line-height:1.68}
.bk-lead{font-size:clamp(1.08rem,1.5vw,1.22rem)!important;line-height:1.62!important;max-width:68ch}
.bk-main h1,.bk-hero h1{line-height:1.12;margin-top:0;margin-bottom:.55em;letter-spacing:-.018em}
.bk-main h2,.bk-hero h2{line-height:1.18;margin-top:0;margin-bottom:.62em;letter-spacing:-.012em}
.bk-main h3,.bk-hero h3{line-height:1.25;margin-top:0;margin-bottom:.55em}
.bk-main p+p,.bk-hero p+p{margin-top:.82em}
.bk-main ul,.bk-main ol{line-height:1.68}
.bk-main li+li{margin-top:.35em}
.bk-hero>.bk-wrap,.bk-main>.bk-wrap{padding:clamp(30px,4.4vw,52px)}
.bk-card,.bk-player,.bk-notice,.bk-profile,.bk-centre-card{padding:clamp(22px,2.5vw,28px)}
.bk-card p:last-child,.bk-notice p:last-child,.bk-profile p:last-child,.bk-centre-card p:last-child{margin-bottom:0}
.bk-section{margin-top:clamp(26px,4vw,44px);margin-bottom:clamp(26px,4vw,44px)}
.bk-grid{gap:clamp(18px,2.5vw,26px)}
.bk-btn,a.bk-btn,button.bk-btn{min-height:44px;display:inline-flex;align-items:center;justify-content:center;line-height:1.25;padding:.72rem 1.05rem}
@media(max-width:720px){
  .bk-main,.bk-hero{font-size:18px;line-height:1.66}
  .bk-hero>.bk-wrap,.bk-main>.bk-wrap{padding:26px 20px}
  .bk-card,.bk-player,.bk-notice,.bk-profile,.bk-centre-card{padding:22px 20px}
}
/* BKPH V8.12.49 TYPOGRAPHY + SPACING POLISH END */

/* BKPH V8.12.56 PORTAL FOOTER VISUAL HARMONY */
#bk-public-footer-v810,
.bk-site-footer-v811,
footer.footer,
.site-footer{
  border-top:1.5px solid #c7a34a!important;
  background:#fff9ee!important;
  color:#4f4741!important;
}