/*
Theme Name: Grit Academy Education Mall
Theme URI: https://blanding.kr
Author: 비랜딩 (blanding.kr)
Description: 그릿 아카데미 온라인 강의 및 컨설팅 쇼핑몰 테마
Version: 2.4.14
Text Domain: grit-academy
*/

:root {
  --navy: #090b0e;
  --navy-2: #171b21;
  --blue: #826637;
  --sky: #f3eee4;
  --gold: #d7b66d;
  --ink: #111317;
  --muted: #6b7077;
  --line: #d9d6cf;
  --surface: #f3f2ef;
  --white: #fff;
  --shell: 1240px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; overflow-x: clip; }
body { margin: 0; overflow-x: clip; color: var(--ink); background: #fff; font-family: Pretendard, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; font-size: 16px; line-height: 1.6; word-break: keep-all; }
body.menu-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
button, input { font: inherit; }

/* 2.4.0 refinement: readable UI in Pretendard, display faces only on brand headlines. */
.mall-hero h1, .page-hero h1, .course-hero h1, .commerce-hero h1, .expertise-copy h2, .mall-heading h2 { font-family: "IBM Plex Sans KR", Pretendard, sans-serif; }

/* Full-width institutional header. */
.brand-row.site-shell { width: 100%; max-width: none; padding-inline: clamp(24px, 2.4vw, 42px); }
.brand { width: 190px; justify-content: flex-start; }
.brand img { width: 178px; transform: none; object-fit: contain; }
.category-bar__inner.site-shell { width: 100%; max-width: none; padding: 0; }
.menu-toggle { flex-basis: clamp(170px, 15vw, 220px); padding-left: clamp(24px, 2.4vw, 42px); }
.nav-menu { gap: clamp(18px, 2.5vw, 44px); }
.classroom-link { flex: 0 0 172px; gap: 10px; padding: 0 19px; color: #f4f1e9; background: #12161b; border-left: 1px solid #3a3324; border-bottom: 3px solid var(--gold); }
.classroom-link svg { width: 23px; height: 23px; color: var(--gold); }
.classroom-link > span { display: grid; gap: 0; color: inherit; font-size: 14px; line-height: 1.2; }
.classroom-link small { color: #9b9fa5; font-size: 8px; font-weight: 600; letter-spacing: .14em; }
.classroom-link b { margin-left: auto; color: var(--gold); font-size: 18px; font-weight: 400; }
.classroom-link:hover { color: #111317; background: var(--gold); }
.classroom-link:hover svg, .classroom-link:hover b, .classroom-link:hover small { color: #111317; }

/* Desktop and mobile full-menu drawer. */
.mobile-drawer { position: fixed; z-index: 102; top: 0; bottom: 0; left: 0; width: min(88vw, 410px); display: flex; flex-direction: column; padding: 28px 30px; color: #eef0f3; background: #0c0f13; border-right: 1px solid #3d3421; transform: translateX(-102%); transition: transform .25s ease; }
.mobile-drawer.is-open { transform: translateX(0); }
.mobile-drawer__head { display: flex; justify-content: space-between; align-items: center; padding-bottom: 22px; border-bottom: 1px solid #3d4249; }
.mobile-drawer__head strong { color: var(--gold); font-size: 13px; letter-spacing: .12em; }
.mobile-drawer__head button { border: 0; color: #fff; background: transparent; font-size: 30px; cursor: pointer; }
.mobile-drawer > a { padding: 17px 3px; border-bottom: 1px solid #272c32; font-size: 15px; font-weight: 600; }
.mobile-drawer > a:hover { padding-left: 9px; color: var(--gold); }
.drawer-backdrop { position: fixed; z-index: 101; inset: 0; display: block; background: rgb(0 0 0 / 64%); opacity: 0; pointer-events: none; transition: opacity .25s ease; }
.drawer-backdrop.is-open { opacity: 1; pointer-events: auto; }

/* Edge-to-edge, accessible three-slide hero. */
.mall-hero { position: relative; width: 100%; padding: 0; overflow: hidden; background: #0a0d11; }
.mall-hero__viewport { position: relative; min-height: clamp(560px, 62vw, 720px); }
.mall-hero__slide { position: absolute; inset: 0; display: grid; opacity: 0; visibility: hidden; transform: scale(1.015); transition: opacity .65s ease, transform 1.2s ease, visibility .65s; }
.mall-hero__slide.is-active { z-index: 1; opacity: 1; visibility: visible; transform: scale(1); }
.mall-hero__slide::after { position: absolute; inset: 0; background: linear-gradient(90deg, rgb(4 6 9 / 98%) 0%, rgb(4 6 9 / 91%) 40%, rgb(4 6 9 / 38%) 70%, rgb(4 6 9 / 28%) 100%); content: ""; }
.mall-hero__background { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; filter: saturate(.72) contrast(1.08); }
.mall-hero__inner { position: relative; z-index: 2; display: flex; align-items: center; width: min(calc(100% - 80px), 1420px); padding: 72px 0 110px; }
.mall-hero__copy { width: min(710px, 58vw); padding: 0; }
.mall-hero h1 { font-size: clamp(46px, 5vw, 74px); }
.mall-hero__controls { position: absolute; z-index: 4; right: 0; bottom: 0; left: 0; display: flex; width: min(calc(100% - 80px), 1420px); height: 78px; align-items: center; gap: 18px; color: #fff; border-top: 1px solid rgb(255 255 255 / 18%); }
.mall-hero__controls > button { display: grid; width: 38px; height: 38px; place-items: center; border: 1px solid rgb(255 255 255 / 28%); color: #fff; background: transparent; cursor: pointer; }
.mall-hero__dots { display: flex; gap: 7px; }
.mall-hero__dots button { width: 28px; height: 3px; padding: 0; border: 0; background: rgb(255 255 255 / 31%); cursor: pointer; }
.mall-hero__dots button.is-active { background: var(--gold); }
.mall-hero__controls > span { margin-left: auto; color: #a7adb5; font-size: 11px; letter-spacing: .08em; }
.mall-hero__controls > span strong { color: var(--gold); font-size: 15px; }

/* Purpose-built WooCommerce cart. */
.woocommerce-cart .commerce-content { display: grid; grid-template-columns: minmax(0, 1fr) 390px; gap: 32px 42px; align-items: start; max-width: 1320px; }
.woocommerce-cart .woocommerce-notices-wrapper { grid-column: 1 / -1; }
.woocommerce-cart form.woocommerce-cart-form { min-width: 0; }
.woocommerce-cart table.shop_table { border: 0; border-top: 2px solid #111317; }
.woocommerce-cart table.shop_table thead th { padding: 18px 15px; color: #3d4248; background: #f1f0ec; border: 0; letter-spacing: .02em; }
.woocommerce-cart table.shop_table td { padding: 22px 15px; border-bottom: 1px solid #dedbd4; border-top: 0; }
.woocommerce-cart .product-thumbnail img { width: 100px; aspect-ratio: 4 / 3; object-fit: cover; background: #0c0f13; }
.woocommerce-cart .product-name a { color: #101318; font-size: 15px; font-weight: 700; line-height: 1.5; }
.woocommerce-cart .product-price, .woocommerce-cart .product-subtotal { color: #343a41; font-weight: 650; white-space: nowrap; }
.woocommerce-cart .product-remove a.remove { display: grid; width: 30px; height: 30px; place-items: center; color: #777 !important; border: 1px solid #d2cec6; border-radius: 0; font-size: 18px; }
.woocommerce-cart .product-remove a.remove:hover { color: #fff !important; background: #111317; }
.woocommerce-cart .quantity .qty { width: 68px; min-height: 44px; color: #111317; background: #fff; }
.woocommerce-cart td.actions { padding: 18px 0 !important; }
.woocommerce-cart td.actions .coupon { display: flex; gap: 7px; }
.woocommerce-cart td.actions .coupon .input-text { width: 180px !important; min-height: 46px; padding: 0 13px !important; border: 1px solid #cecac2; }
.woocommerce-cart td.actions .button { min-height: 46px; padding-inline: 20px !important; }
.woocommerce-cart .cart-collaterals { width: 100%; }
.woocommerce-cart .cart-collaterals .cart_totals { width: 100%; float: none; padding: 29px; color: #fff; background: #0d1014; border: 0; border-top: 4px solid var(--gold); }
.woocommerce-cart .cart-collaterals .cart_totals h2 { padding-bottom: 18px; border-bottom: 1px solid #34383e; color: #fff; font-size: 24px; }
.woocommerce-cart .cart-collaterals .shop_table { border-top: 0; }
.woocommerce-cart .cart-collaterals .shop_table th, .woocommerce-cart .cart-collaterals .shop_table td { color: #d5d9de; background: transparent; border-color: #34383e; }
.woocommerce-cart .order-total strong { color: var(--gold); font-size: 21px; }
.woocommerce-cart .wc-proceed-to-checkout { padding-bottom: 0; }
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button { display: flex; min-height: 60px; align-items: center; justify-content: center; margin: 18px 0 0; color: #111317 !important; background: var(--gold) !important; font-size: 16px; font-weight: 800; }
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover { color: #fff !important; background: #765f32 !important; }
.woocommerce-cart .cart-empty { padding: 54px; text-align: center; background: #f3f1ec; border-top: 3px solid #111317; }

.footer-logo img { width: 185px; height: auto; filter: grayscale(1) brightness(0) invert(1); opacity: 1; }

/* 2.4.13 - keep the dark academy manifesto readable on every page state. */
.grit-about__manifesto h2 { color: #f0ca7a !important; }
.grit-about__manifesto > p:not(.eyebrow) { color: #d8dde3; }

@media (max-width: 1050px) {
  .nav-menu { gap: 18px; padding-inline: 14px; }
  .nav-menu a { font-size: 13px; }
  .classroom-link { flex-basis: 152px; }
  .woocommerce-cart .commerce-content { grid-template-columns: 1fr 330px; gap: 28px; }
}
@media (max-width: 760px) {
  .brand-row.site-shell { padding-inline: 18px; }
  .brand { width: 175px; }
  .brand img { width: 165px; }
  .mall-hero__viewport { min-height: 610px; }
  .mall-hero__slide::after { background: linear-gradient(180deg, rgb(4 6 9 / 58%) 0%, rgb(4 6 9 / 92%) 54%, #040609 100%); }
  .mall-hero__background { object-position: 67% center; }
  .mall-hero__inner { width: calc(100% - 40px); align-items: flex-end; padding: 90px 0 112px; }
  .mall-hero__copy { width: 100%; }
  .mall-hero h1 { font-size: clamp(38px, 11vw, 48px); }
  .mall-hero__controls { width: calc(100% - 40px); height: 66px; }
  .woocommerce-cart .commerce-content { display: block; width: calc(100% - 32px); }
  .woocommerce-cart .cart-collaterals { margin-top: 28px; }
  .woocommerce-cart table.shop_table_responsive tr { padding: 12px 0; }
  .woocommerce-cart table.shop_table_responsive td { min-height: 44px; }
}

.grit-contact { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); margin:20px 0 10px; border-top:3px solid #111317; border-right:1px solid #d4d0c8; border-bottom:1px solid #d4d0c8; border-left:1px solid #d4d0c8; }
.grit-contact__info { padding:40px 36px; color:#eef0f3; background:#0b0e12; }
.grit-contact__info > p { margin:0 0 10px!important; color:var(--gold); font-size:10px!important; font-weight:700; letter-spacing:.14em; }
.grit-contact__info h2 { margin:0 0 18px!important; padding:0!important; color:#fff!important; border:0!important; font-size:31px!important; }
.grit-contact__info > span { color:#9aa2ab; font-size:13px; line-height:1.75; }
.grit-contact__info dl { margin:38px 0 0; border-top:1px solid #30353b; }
.grit-contact__info dl div { display:grid; grid-template-columns:34px 1fr; gap:12px; padding:17px 0; border-bottom:1px solid #30353b; }
.grit-contact__info dt { color:var(--gold); font-size:10px; }
.grit-contact__info dd { margin:0; }
.grit-contact__info dd strong,.grit-contact__info dd span { display:block; }
.grit-contact__info dd strong { color:#fff; font-size:13px; }
.grit-contact__info dd span { margin-top:3px; color:#777f88; font-size:10px; }
.grit-contact__form { padding:38px 40px; background:#f5f3ee; }
.grit-contact__form label { display:block; margin-bottom:17px; }
.grit-contact__form label > span { display:block; margin-bottom:6px; color:#444c55; font-size:11px; font-weight:700; }
.grit-contact__form input,.grit-contact__form select,.grit-contact__form textarea { width:100%; min-height:48px; padding:10px 12px; border:1px solid #c8c4bb; border-radius:0; background:#fff; font:inherit; font-size:13px; }
.grit-contact__form textarea { resize:vertical; line-height:1.65; }
.grit-contact__row { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.grit-contact__consent { display:flex!important; align-items:flex-start; gap:9px; }
.grit-contact__consent input { flex:0 0 auto; width:16px; min-height:16px; margin-top:3px; }
.grit-contact__consent span { margin:0!important; color:#6d737a!important; font-size:11px!important; font-weight:500!important; }
.grit-contact__honeypot { position:absolute!important; left:-9999px!important; }
.grit-contact__form button { display:flex; width:100%; min-height:54px; align-items:center; justify-content:space-between; padding:0 19px; color:#fff; border:0; background:#111317; font:inherit; font-size:13px; font-weight:700; cursor:pointer; }
.grit-contact__form button span { color:var(--gold); font-size:18px; }
.grit-contact__notice { margin:0 0 20px!important; padding:14px 16px; font-size:12px!important; }
.grit-contact__notice.is-success { color:#24533a; background:#e8f5ec; border-left:3px solid #3c8b59; }
.grit-contact__notice.is-error { color:#7e2828; background:#f9e9e9; border-left:3px solid #a43e3e; }

@media(max-width:760px){.grit-contact{grid-template-columns:1fr}.grit-contact__info,.grit-contact__form{padding:28px 21px}.grit-contact__row{grid-template-columns:1fr}}
.site-shell { width: min(calc(100% - 48px), var(--shell)); margin-inline: auto; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; z-index: 9999; top: 10px; left: 10px; padding: 10px 16px; background: #fff; transform: translateY(-200%); }
.skip-link:focus { transform: translateY(0); }

/* Header */
.utility-bar { height: 34px; color: #777f88; background: #f5f6f8; border-bottom: 1px solid #eceff2; font-size: 12px; }
.utility-bar__inner { height: 100%; display: flex; align-items: center; justify-content: space-between; }
.utility-bar p { margin: 0; display: flex; align-items: center; gap: 15px; }
.utility-bar p strong { color: var(--navy); letter-spacing: .06em; }
.utility-bar nav { display: flex; height: 100%; align-items: center; }
.utility-bar nav a { padding: 0 11px; border-right: 1px solid #d9dde2; line-height: 1; }
.utility-bar nav a:last-child { padding-right: 0; border: 0; }
.site-header { position: relative; z-index: 50; background: #fff; }
.brand-row { min-height: 104px; display: grid; grid-template-columns: 185px minmax(320px, 540px) 210px; gap: 44px; align-items: center; justify-content: space-between; }
.brand { width: 172px; height: 80px; display: flex; align-items: center; overflow: hidden; }
.brand img { width: 172px; height: 80px; object-fit: contain; transform: scale(1.55); }
.header-search { height: 46px; display: grid; grid-template-columns: 1fr 48px; border: 2px solid var(--navy); border-radius: 3px; overflow: hidden; }
.header-search input { min-width: 0; border: 0; padding: 0 18px; outline: 0; color: var(--ink); font-size: 14px; }
.header-search input::placeholder { color: #9ba3ac; }
.header-search button { border: 0; background: #fff; color: var(--navy); font-size: 28px; line-height: 1; cursor: pointer; }
.quick-menu { display: flex; justify-content: flex-end; gap: 22px; }
.quick-menu a { position: relative; display: grid; justify-items: center; gap: 2px; min-width: 55px; color: #4f5965; }
.quick-menu__icon { width: 25px; height: 25px; color: var(--navy); }
.quick-menu strong { font-size: 12px; font-weight: 500; }
.quick-menu i { position: absolute; top: -7px; right: 0; min-width: 18px; height: 18px; padding: 0 4px; border-radius: 10px; color: #fff; background: var(--blue); font-size: 10px; font-style: normal; text-align: center; line-height: 18px; }
.category-bar { border-top: 1px solid #eaedf0; border-bottom: 1px solid #cfd5dc; box-shadow: 0 2px 7px rgb(15 28 45 / 6%); }
.category-bar__inner { height: 58px; display: flex; align-items: stretch; }
.menu-toggle { flex: 0 0 145px; display: flex; align-items: center; justify-content: flex-start; gap: 13px; border: 0; border-left: 1px solid #dfe3e8; border-right: 1px solid #dfe3e8; padding: 0 20px; background: #fff; color: var(--ink); cursor: pointer; }
.menu-toggle i, .menu-toggle i::before, .menu-toggle i::after { width: 18px; height: 2px; display: block; background: var(--navy); content: ""; }
.menu-toggle i { position: relative; }
.menu-toggle i::before { position: absolute; top: -6px; }
.menu-toggle i::after { position: absolute; top: 6px; }
.menu-toggle span { font-size: 14px; font-weight: 600; }
.main-navigation { flex: 1; }
.nav-menu { height: 100%; display: flex; align-items: center; justify-content: center; gap: clamp(23px, 3vw, 50px); list-style: none; padding: 0 20px; margin: 0; }
.nav-menu a { position: relative; display: flex; height: 58px; align-items: center; font-size: 15px; font-weight: 600; }
.nav-menu a::after { position: absolute; right: 0; bottom: -1px; left: 0; height: 3px; background: var(--blue); content: ""; transform: scaleX(0); transition: .2s ease; }
.nav-menu a:hover::after { transform: scaleX(1); }
.classroom-link { flex: 0 0 145px; display: flex; align-items: center; justify-content: center; gap: 15px; color: #fff; background: var(--navy); font-size: 14px; font-weight: 600; }
.classroom-link span { color: var(--gold); }
.mobile-drawer, .drawer-backdrop { display: none; }

/* Shared */
.button { min-height: 48px; display: inline-flex; align-items: center; justify-content: center; padding: 0 25px; border: 1px solid transparent; font-size: 14px; font-weight: 700; transition: .2s ease; }
.button--white { color: var(--navy); background: #fff; }
.button--white:hover { color: #fff; background: var(--blue); }
.button--dark { color: #fff; background: var(--navy); }
.button--dark:hover { background: var(--blue); }
.button--line { border-color: #bac2cb; background: #fff; }
.button--full { width: 100%; }
.mall-section { padding: 88px 0; }
.mall-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 30px; margin-bottom: 30px; }
.mall-heading p { margin: 0 0 7px; color: var(--blue); font-size: 12px; font-weight: 700; letter-spacing: .14em; }
.mall-heading h2 { margin: 0; color: var(--ink); font-size: clamp(25px, 2.2vw, 34px); line-height: 1.25; letter-spacing: -.045em; }
.mall-heading > a { padding-bottom: 3px; color: #56616d; font-size: 14px; }
.mall-heading > a span { margin-left: 10px; color: var(--blue); }

/* Main promo */
.mall-hero { padding: 24px 0 0; background: #f2f5f8; }
.mall-hero__frame { position: relative; height: 468px; display: grid; grid-template-columns: 54% 46%; overflow: hidden; color: #fff; background: var(--navy); }
.mall-hero__frame::before { position: absolute; z-index: 2; inset: 0; pointer-events: none; background: linear-gradient(90deg, rgb(4 16 35 / 100%) 0%, rgb(4 16 35 / 94%) 38%, rgb(4 16 35 / 20%) 72%, transparent 100%); content: ""; }
.mall-hero__copy { position: relative; z-index: 3; align-self: center; padding-left: 66px; }
.promo-chip { width: fit-content; margin: 0 0 20px; padding: 7px 12px; border: 1px solid rgb(255 255 255 / 35%); border-radius: 20px; background: rgb(255 255 255 / 7%); font-size: 12px; }
.promo-overline { margin: 0 0 12px; color: #a9c9ff; font-size: 11px; font-weight: 600; letter-spacing: .16em; }
.mall-hero h1 { margin: 0; max-width: 570px; font-size: clamp(38px, 4vw, 58px); line-height: 1.18; letter-spacing: -.06em; }
.mall-hero h1 em { color: var(--gold); font-style: normal; }
.mall-hero__copy > p:not(.promo-chip):not(.promo-overline) { margin: 21px 0 0; color: #d9e1ec; font-size: 16px; line-height: 1.75; }
.mall-hero__actions { display: flex; align-items: center; gap: 26px; margin-top: 30px; }
.hero-plain-link { font-size: 14px; font-weight: 600; }
.hero-plain-link span { margin-left: 13px; color: var(--gold); }
.mall-hero__visual { position: relative; height: 100%; overflow: hidden; }
.mall-hero__visual img { width: 100%; height: 100%; object-fit: cover; }
.hero-stamp { position: absolute; right: 42px; bottom: 37px; width: 108px; height: 108px; display: grid; align-content: center; justify-items: center; border: 1px solid rgb(255 255 255 / 55%); border-radius: 50%; color: #fff; background: rgb(6 18 39 / 62%); backdrop-filter: blur(4px); line-height: 1.1; }
.hero-stamp span, .hero-stamp small { font-size: 9px; letter-spacing: .14em; }
.hero-stamp strong { margin: 5px 0; color: var(--gold); font-size: 22px; }
.hero-counter { position: absolute; z-index: 4; right: 20px; bottom: 20px; display: flex; align-items: center; gap: 8px; font-size: 11px; }
.hero-counter span { width: 50px; height: 1px; background: rgb(255 255 255 / 40%); }

/* Shortcuts */
.shortcut-strip { background: #f2f5f8; padding: 18px 0 0; }
.shortcut-strip__grid { display: grid; grid-template-columns: repeat(4,1fr); background: #fff; border: 1px solid #dfe4e9; }
.shortcut-strip a { position: relative; min-height: 92px; display: grid; grid-template-columns: 38px 1fr 24px; grid-template-rows: 1fr 1fr; align-items: center; padding: 18px 18px; border-right: 1px solid #e2e6eb; }
.shortcut-strip a:last-child { border-right: 0; }
.shortcut-strip a > span { grid-row: 1 / 3; align-self: center; color: #a8b0b9; font-size: 11px; }
.shortcut-strip strong { align-self: end; font-size: 16px; }
.shortcut-strip small { align-self: start; color: #79838d; font-size: 12px; }
.shortcut-strip i { grid-column: 3; grid-row: 1 / 3; color: var(--blue); font-style: normal; }
.shortcut-strip a:hover strong { color: var(--blue); }

/* Product cards */
.product-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; }
.product-card { min-width: 0; }
.product-card__visual { position: relative; height: 292px; display: flex; flex-direction: column; justify-content: flex-end; overflow: hidden; padding: 24px; color: #fff; background: var(--navy); }
.product-card__visual::before, .product-card__visual::after { position: absolute; content: ""; border-radius: 50%; }
.product-card__visual::before { width: 220px; height: 220px; top: -90px; right: -105px; border: 1px solid rgb(255 255 255 / 25%); }
.product-card__visual::after { width: 135px; height: 135px; top: -48px; right: -62px; background: rgb(255 255 255 / 10%); }
.product-card--2 .product-card__visual { background: #16487f; }
.product-card--3 .product-card__visual { background: #1c2431; }
.product-card--4 .product-card__visual { background: #1668e8; }
.product-card__visual small { position: relative; z-index: 1; margin-bottom: 7px; color: #bcd1ec; font-size: 12px; }
.product-card__visual > strong { position: relative; z-index: 1; max-width: 210px; font-size: 24px; line-height: 1.35; letter-spacing: -.04em; }
.product-card__visual > i { position: absolute; top: 24px; left: 24px; color: rgb(255 255 255 / 28%); font-size: 13px; font-style: normal; font-weight: 700; line-height: 1.1; letter-spacing: .08em; }
.product-badge { position: absolute; z-index: 2; top: 18px; right: 18px; padding: 4px 8px; color: #fff; background: #e04848; font-size: 9px; font-weight: 700; }
.product-card__body { padding: 19px 3px 0; }
.product-card__body > p { display: flex; align-items: center; gap: 9px; margin: 0 0 8px; color: #818b96; font-size: 12px; }
.product-card__body > p span { padding: 2px 7px; color: var(--blue); background: var(--sky); font-size: 10px; }
.product-card__body h3 { min-height: 52px; margin: 0; font-size: 17px; line-height: 1.5; letter-spacing: -.025em; }
.product-card__body h3 a:hover { color: var(--blue); }
.product-card__body > div { display: flex; align-items: center; justify-content: space-between; margin-top: 14px; padding-top: 14px; border-top: 1px solid #e2e6ea; }
.product-card__body > div strong { font-size: 15px; }
.product-card__body > div a { width: 27px; height: 27px; display: grid; place-items: center; border: 1px solid #cbd1d7; color: #6e7883; }
.product-card--consult { min-height: 292px; display: flex; flex-direction: column; justify-content: center; padding: 30px; color: #fff; background: var(--blue); }
.product-card--consult span { font-size: 11px; letter-spacing: .12em; }
.product-card--consult strong { margin: 20px 0; font-size: 27px; line-height: 1.35; }
.product-card--consult p { margin: 0; font-size: 13px; }

/* Program banners */
.event-section { background: var(--surface); }
.event-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.event-banner { position: relative; min-height: 208px; overflow: hidden; padding: 34px 38px; color: #fff; }
.event-banner::before { position: absolute; right: -30px; bottom: -70px; width: 250px; height: 250px; border: 50px solid rgb(255 255 255 / 8%); border-radius: 50%; content: ""; }
.event-banner--dark { background: #0b1a2c; }
.event-banner--blue { background: #1b61bd; }
.event-banner small { display: block; color: #9fbbe0; font-size: 11px; font-weight: 600; letter-spacing: .15em; }
.event-banner strong { display: block; margin: 14px 0 20px; font-size: 25px; line-height: 1.4; letter-spacing: -.035em; }
.event-banner > span { font-size: 13px; }
.event-banner i { position: absolute; right: 33px; top: 24px; color: rgb(255 255 255 / 25%); font-size: 64px; font-style: normal; font-weight: 700; }

/* Content */
.insight-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 22px; }
.insight-thumb { position: relative; height: 170px; display: grid; place-content: center; justify-items: center; overflow: hidden; color: #fff; background: #1a293c; }
.insight-thumb::before { position: absolute; inset: 16px; border: 1px solid rgb(255 255 255 / 17%); content: ""; }
.insight-thumb::after { position: absolute; width: 100px; height: 100px; right: -30px; bottom: -35px; border: 18px solid rgb(255 255 255 / 6%); border-radius: 50%; content: ""; }
.insight-thumb--2 { background: #245d91; }
.insight-thumb--3 { background: #262a31; }
.insight-thumb--4 { background: #375570; }
.insight-thumb span { position: relative; z-index: 1; color: #9dc8ff; font-size: 10px; letter-spacing: .16em; }
.insight-thumb strong { position: relative; z-index: 1; margin-top: 8px; font-size: 24px; }
.insight-grid > a > p { min-height: 50px; margin: 15px 0 8px; font-size: 15px; font-weight: 600; line-height: 1.6; }
.insight-grid > a > small { color: #8b949d; font-size: 10px; letter-spacing: .06em; }

/* Expertise */
.expertise-section { padding: 88px 0; color: #fff; background: var(--navy); }
.expertise-wrap { display: grid; grid-template-columns: 300px 1fr; gap: 76px; }
.expertise-copy > p { margin: 0 0 14px; color: #82b2f4; font-size: 11px; letter-spacing: .14em; }
.expertise-copy h2 { margin: 0 0 22px; font-size: 31px; line-height: 1.35; letter-spacing: -.04em; }
.expertise-copy > span { color: #aebccc; font-size: 14px; line-height: 1.7; }
.expertise-grid { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid rgb(255 255 255 / 18%); border-left: 1px solid rgb(255 255 255 / 18%); }
.expertise-grid a { min-height: 150px; display: grid; grid-template-columns: 42px 1fr auto; grid-template-rows: auto auto; align-content: center; padding: 25px 30px; border-right: 1px solid rgb(255 255 255 / 18%); border-bottom: 1px solid rgb(255 255 255 / 18%); transition: .2s ease; }
.expertise-grid a:hover { background: var(--blue); }
.expertise-grid small { grid-row: 1/3; color: #72849a; }
.expertise-grid strong { font-size: 20px; }
.expertise-grid p { margin: 5px 0 0; color: #aebccc; font-size: 12px; }
.expertise-grid span { grid-column: 3; grid-row: 1/3; align-self: center; color: #8eadcf; font-size: 11px; }

/* Community and support */
.community-section { padding-bottom: 70px; }
.community-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 45px; }
.board-head { display: flex; align-items: center; justify-content: space-between; padding-bottom: 17px; border-bottom: 2px solid var(--ink); }
.board-head h2 { margin: 0; font-size: 24px; }
.board-head a { color: #707a84; font-size: 12px; }
.board-block ul { list-style: none; padding: 10px 0 0; margin: 0; }
.board-block li { min-height: 46px; display: flex; align-items: center; justify-content: space-between; gap: 30px; border-bottom: 1px solid #e3e7eb; font-size: 13px; }
.board-block li a { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.board-block time { flex: 0 0 auto; color: #969ea6; font-size: 11px; }
.review-message { position: relative; min-height: 194px; padding: 28px 32px; background: var(--surface); overflow: hidden; }
.review-message::after { position: absolute; right: -35px; bottom: -50px; width: 180px; height: 180px; border: 35px solid #e7edf4; border-radius: 50%; content: ""; }
.review-message strong { font-size: 20px; line-height: 1.45; }
.review-message p { margin: 12px 0 16px; color: #737e89; font-size: 12px; }
.review-message a { position: relative; z-index: 1; color: var(--blue); font-size: 12px; font-weight: 600; }
.support-section { padding: 42px 0; border-top: 1px solid #dfe4e8; background: #f6f8fa; }
.support-grid { display: grid; grid-template-columns: 340px 1fr; align-items: center; gap: 45px; }
.support-call { padding-right: 42px; border-right: 1px solid #dce1e6; }
.support-call p { margin: 0; color: #5e6974; font-size: 13px; }
.support-call a { display: block; color: var(--navy); font-size: 31px; font-weight: 700; letter-spacing: -.03em; }
.support-call span { color: #929aa2; font-size: 11px; }
.support-links { display: grid; grid-template-columns: repeat(4,1fr); }
.support-links a { min-height: 86px; display: grid; grid-template-columns: 44px 1fr; grid-template-rows: 1fr 1fr; align-items: center; padding: 12px 20px; border-right: 1px solid #dde2e6; }
.support-links a:last-child { border: 0; }
.support-links b { grid-row: 1/3; font-size: 24px; color: var(--navy); }
.support-links strong { align-self: end; font-size: 14px; }
.support-links span { align-self: start; color: #8a939c; font-size: 10px; }

/* Footer */
.site-footer { color: #aeb6c0; background: #20262d; }
.footer-nav { min-height: 57px; display: flex; align-items: center; gap: 28px; border-bottom: 1px solid #3a4149; font-size: 12px; }
.footer-nav strong { color: #fff; }
.footer-main { min-height: 190px; display: grid; grid-template-columns: 175px 1fr 190px; gap: 38px; align-items: center; }
.footer-logo img { width: 140px; height: 74px; object-fit: contain; filter: grayscale(1) brightness(2.6); opacity: .82; }
.footer-logo p { margin: 3px 0 0; color: #7e8994; font-size: 10px; letter-spacing: .12em; }
.footer-info { font-size: 11px; line-height: 1.9; }
.footer-info p { margin: 0; }
.footer-info p span { margin-left: 13px; }
.footer-info a { margin-right: 12px; }
.footer-info small { display: block; margin-top: 12px; color: #747e88; }
.footer-blog { position: relative; min-height: 92px; padding: 17px 20px; border: 1px solid #444c55; }
.footer-blog span { color: #6ac36b; font-size: 9px; letter-spacing: .12em; }
.footer-blog strong { display: block; margin-top: 5px; color: #fff; font-size: 13px; }
.footer-blog i { position: absolute; right: 16px; top: 14px; font-style: normal; }

/* Interior pages and LMS */
.page-hero, .course-hero { padding: 74px 0; color: #fff; background: var(--navy); }
.page-hero__grid, .course-hero__grid { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 70px; }
.eyebrow { margin: 0 0 14px; color: #77acf2; font-size: 11px; font-weight: 700; letter-spacing: .14em; }
.page-hero h1, .course-hero h1 { margin: 0; font-size: clamp(38px, 4vw, 56px); line-height: 1.2; letter-spacing: -.05em; }
.page-hero__grid > p, .course-hero__copy > p:not(.eyebrow) { color: #c1ccd9; }
.section { padding: 80px 0; }
.catalog-filter { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 28px; }
.catalog-filter a { padding: 9px 18px; border: 1px solid #d6dce2; color: #66717c; font-size: 13px; }
.catalog-filter a.is-active { color: #fff; border-color: var(--navy); background: var(--navy); }
.catalog-meta { display: flex; justify-content: space-between; padding: 17px 0; border-top: 2px solid var(--ink); border-bottom: 1px solid #dce1e6; color: #707a84; font-size: 13px; }
.catalog-meta p { margin: 0; }
.catalog-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 30px 24px; margin-top: 30px; }
.catalog-card { border: 1px solid #dfe4e8; background: #fff; }
.catalog-card__visual { height: 230px; display: flex; flex-direction: column; justify-content: flex-end; padding: 24px; color: #fff; background: var(--navy); }
.catalog-card__visual span { font-size: 11px; color: #8cb9f5; }
.catalog-card__visual strong { margin-top: auto; font-size: 28px; line-height: 1; }
.catalog-card__visual small { font-size: 10px; color: #7f91a6; }
.catalog-card__body { padding: 22px; }
.catalog-card__meta { color: var(--blue); font-size: 11px; }
.catalog-card__body h2 { min-height: 54px; font-size: 19px; line-height: 1.45; }
.catalog-card__body > p:not(.catalog-card__meta) { min-height: 48px; color: #737d88; font-size: 13px; }
.catalog-card__foot { display: flex; justify-content: space-between; padding-top: 16px; border-top: 1px solid #e2e6ea; font-size: 13px; }
.course-hero__grid { align-items: stretch; }
.course-hero__copy { align-self: center; }
.course-hero__facts { display: grid; grid-template-columns: repeat(3,1fr); gap: 1px; margin-top: 30px; background: rgb(255 255 255 / 14%); }
.course-hero__facts div { padding: 15px; background: var(--navy); }
.course-hero__facts span, .course-hero__facts strong { display: block; }
.course-hero__facts span { color: #89a1bc; font-size: 10px; }
.course-hero__facts strong { margin-top: 5px; font-size: 14px; }
.course-purchase { padding: 34px; color: var(--ink); background: #fff; }
.course-purchase__label { margin: 0; color: #7b8793; font-size: 10px; letter-spacing: .12em; }
.course-price { margin-top: 18px; font-size: 25px; font-weight: 700; }
.course-purchase > p:not(.course-purchase__label) { color: #747e89; font-size: 13px; }
.course-purchase ul { padding: 16px 0 0 18px; color: #65707b; font-size: 12px; }
.course-content__grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 70px; }
.course-description h2, .curriculum h2 { margin: 0 0 22px; font-size: 29px; }
.entry-content { color: #606b76; }
.curriculum__head { display: flex; justify-content: space-between; align-items: flex-end; border-bottom: 2px solid var(--ink); }
.curriculum__head span { padding-bottom: 22px; color: #8b959f; font-size: 11px; }
.curriculum ol { list-style: none; padding: 0; margin: 0; }
.curriculum li { min-height: 68px; display: grid; grid-template-columns: 45px 1fr auto; align-items: center; border-bottom: 1px solid #dfe4e8; }
.curriculum li > span { color: #9aa3ac; font-size: 11px; }
.curriculum li strong { font-size: 14px; }
.curriculum li small { color: #8b959e; font-size: 10px; }
.empty-state { padding: 40px; text-align: center; background: var(--surface); }
.empty-state--large { margin-top: 30px; }
.entry-content a { color: var(--blue); }
.woocommerce, .site-main > article, .archive .site-main { width: min(calc(100% - 48px), var(--shell)); margin: 55px auto 80px; }
.woocommerce button.button, .woocommerce a.button, .woocommerce input.button { color: #fff !important; background: var(--navy) !important; border-radius: 0 !important; }
.woocommerce form .form-row input.input-text { min-height: 44px; border: 1px solid #d7dce2; padding: 8px 12px; }

@media (min-width: 1121px) {
  .site-header.is-scrolled .category-bar { position: fixed; z-index: 80; top: 0; right: 0; left: 0; background: #fff; }
}

/* 2.4.7 — crisp vector identity and structured information in the hero visual field. */
.brand img {
  width: 218px;
  height: auto;
  max-width: 100%;
  transform: none;
  filter: none;
}

.footer-logo img {
  width: 205px;
  height: auto;
  filter: invert(1) grayscale(1) brightness(1.65);
  opacity: .96;
}

.mall-hero__inner {
  justify-content: space-between;
  gap: 48px;
}

.hero-brief {
  position: relative;
  width: 260px;
  margin: -34px 12px 0 auto;
  padding: 25px 25px 23px;
  color: #f5f2eb;
  border: 1px solid rgb(215 182 109 / 55%);
  background: linear-gradient(145deg, rgb(8 11 15 / 84%), rgb(8 11 15 / 62%));
  box-shadow: 0 22px 60px rgb(0 0 0 / 28%);
  backdrop-filter: blur(8px);
}

.hero-brief::before {
  position: absolute;
  top: -1px;
  left: -1px;
  width: 66px;
  height: 3px;
  background: var(--gold);
  content: "";
}

.hero-brief > span {
  display: block;
  color: var(--gold);
  font-family: "IBM Plex Sans KR", Pretendard, sans-serif;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .16em;
}

.hero-brief > strong {
  display: block;
  margin-top: 17px;
  font-family: "IBM Plex Sans KR", Pretendard, sans-serif;
  font-size: 22px;
  letter-spacing: -.035em;
}

.hero-brief > p {
  margin: 10px 0 19px;
  color: #b9bec5;
  font-size: 13px;
  line-height: 1.75;
}

.hero-brief > div {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  padding-top: 15px;
  border-top: 1px solid rgb(255 255 255 / 14%);
}

.hero-brief i {
  padding: 5px 7px;
  color: #d8d5cd;
  border: 1px solid rgb(255 255 255 / 18%);
  font-size: 8px;
  font-style: normal;
  font-weight: 700;
  letter-spacing: .1em;
}

@media (min-width: 1121px) {
  .brand-row { grid-template-columns: 228px minmax(320px, 540px) 210px; }
  .brand { width: 228px; }
  .brand img { width: 218px; }
}

@media (min-width: 761px) and (max-width: 1120px) {
  .brand { width: 190px; }
  .brand img { width: 180px; }
  .hero-brief { width: 225px; margin-right: 0; padding: 21px; }
  .hero-brief > strong { font-size: 19px; }
}

@media (max-width: 760px) {
  .brand { width: 176px; }
  .brand img { width: 168px; }
  .footer-logo img { width: 180px; }
  .hero-brief { display: none; }
}

@media (max-width: 1120px) {
  .brand-row { grid-template-columns: 165px 1fr 170px; gap: 22px; }
  .nav-menu { gap: 24px; }
  .nav-menu li:nth-last-child(-n+2) { display: none; }
  .product-grid { grid-template-columns: repeat(3,1fr); }
  .product-card--consult { display: flex; }
  .support-grid { grid-template-columns: 290px 1fr; }
  .support-links a { padding: 10px; }
}

@media (max-width: 820px) {
  .site-shell { width: min(calc(100% - 32px), var(--shell)); }
  .utility-bar p span, .header-search, .main-navigation, .classroom-link { display: none; }
  .utility-bar nav a:nth-child(n+3) { display: none; }
  .brand-row { min-height: 82px; display: flex; justify-content: space-between; }
  .brand, .brand img { width: 145px; height: 67px; }
  .quick-menu { gap: 15px; }
  .category-bar__inner { height: 50px; }
  .menu-toggle { flex-basis: 132px; margin-left: -1px; }
  .category-bar__inner::after { content: "국가정보원 · 경호처 · 기업 · 유학"; align-self: center; margin-left: 20px; color: #737d87; font-size: 12px; }
  .category-bar__inner::after { min-width: 0; flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .mobile-drawer { position: fixed; z-index: 101; top: 0; bottom: 0; left: 0; width: min(88vw, 360px); display: flex; flex-direction: column; padding: 24px; background: #fff; transform: translateX(-102%); transition: transform .25s ease; }
  .mobile-drawer.is-open { transform: translateX(0); }
  .mobile-drawer__head { display: flex; justify-content: space-between; align-items: center; padding-bottom: 20px; border-bottom: 2px solid var(--navy); }
  .mobile-drawer__head button { border: 0; background: none; font-size: 28px; cursor: pointer; }
  .mobile-drawer > a { padding: 15px 2px; border-bottom: 1px solid #e1e5e9; font-size: 15px; font-weight: 600; }
  .drawer-backdrop { position: fixed; z-index: 100; inset: 0; display: block; background: rgb(4 14 27 / 55%); opacity: 0; visibility: hidden; transition: .2s; }
  .drawer-backdrop.is-open { opacity: 1; visibility: visible; }
  .mall-hero__frame { height: auto; min-height: 500px; grid-template-columns: 1fr; }
  .mall-hero__frame::before { background: linear-gradient(90deg, rgb(4 16 35 / 97%), rgb(4 16 35 / 72%)); }
  .mall-hero__copy { grid-area: 1/1; align-self: center; padding: 60px 44px; }
  .mall-hero__visual { grid-area: 1/1; }
  .mall-hero__visual img { opacity: .75; }
  .shortcut-strip__grid { grid-template-columns: 1fr 1fr; }
  .shortcut-strip a:nth-child(2) { border-right: 0; }
  .shortcut-strip a:nth-child(-n+2) { border-bottom: 1px solid #e2e6eb; }
  .product-grid, .insight-grid { grid-template-columns: repeat(2,1fr); }
  .product-card--consult { display: flex; }
  .event-grid, .community-grid { grid-template-columns: 1fr; }
  .expertise-wrap { grid-template-columns: 1fr; gap: 35px; }
  .support-grid { grid-template-columns: 1fr; }
  .support-call { padding-right: 0; border: 0; }
  .support-links { border-top: 1px solid #dce1e6; padding-top: 20px; }
  .footer-main { grid-template-columns: 150px 1fr; }
  .footer-blog { display: none; }
  .page-hero__grid, .course-hero__grid, .course-content__grid { grid-template-columns: 1fr; gap: 35px; }
  .catalog-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 560px) {
  body { font-size: 15px; }
  .site-shell { width: min(calc(100% - 24px), var(--shell)); }
  .utility-bar { display: none; }
  .brand-row { min-height: 72px; }
  .brand, .brand img { width: 130px; height: 60px; }
  .quick-menu a:first-child { display: none; }
  .quick-menu strong { font-size: 10px; }
  .category-bar__inner::after { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .mall-hero { padding-top: 12px; }
  .mall-hero__frame { min-height: 525px; }
  .mall-hero__copy { padding: 50px 26px; }
  .mall-hero h1 { font-size: 40px; }
  .mall-hero__copy > p:not(.promo-chip):not(.promo-overline) { font-size: 14px; }
  .mall-hero__actions { align-items: flex-start; flex-direction: column; gap: 15px; }
  .hero-stamp { display: none; }
  .shortcut-strip a { min-height: 82px; grid-template-columns: 28px 1fr 18px; padding: 13px 11px; }
  .shortcut-strip strong { font-size: 14px; }
  .shortcut-strip small { font-size: 10px; }
  .mall-section { padding: 62px 0; }
  .mall-heading { align-items: flex-start; }
  .mall-heading > a { display: none; }
  .product-grid, .insight-grid { grid-template-columns: 1fr; }
  .product-card__visual { height: 255px; }
  .product-card--consult { min-height: 230px; }
  .event-banner { min-height: 220px; padding: 30px 25px; }
  .event-banner strong { font-size: 22px; }
  .expertise-grid { grid-template-columns: 1fr; }
  .expertise-grid a { min-height: 128px; padding: 20px; }
  .community-grid { gap: 55px; }
  .support-links { grid-template-columns: 1fr 1fr; }
  .support-links a:nth-child(2) { border-right: 0; }
  .support-links a:nth-child(-n+2) { border-bottom: 1px solid #dce1e6; }
  .footer-nav { flex-wrap: wrap; gap: 10px 19px; padding-block: 14px; }
  .footer-main { grid-template-columns: 1fr; gap: 10px; padding: 27px 0 34px; }
  .footer-logo img { width: 120px; height: 60px; }
  .footer-info p span { display: block; margin-left: 0; }
  .catalog-meta { align-items: flex-start; flex-direction: column; gap: 5px; }
  .catalog-grid { grid-template-columns: 1fr; }
  .course-hero__facts { grid-template-columns: 1fr; }
  .curriculum li { grid-template-columns: 38px 1fr; padding: 12px 0; }
  .curriculum li small { grid-column: 2; }
}

/* Course detail purchase flow */
.course-product-link { display: block; margin-top: 15px; color: #56616d; font-size: 12px; text-align: center; }
.course-product-link:hover { color: var(--blue); }
.course-demo-link { display: grid; grid-template-columns: 34px 1fr auto; align-items: center; gap: 11px; min-height: 58px; margin-top: 10px; padding: 10px 13px; color: var(--navy); background: #f2f6fb; border-left: 3px solid var(--blue); }
.course-demo-link > svg { width: 29px; height: 29px; color: var(--blue); }
.course-demo-link span small, .course-demo-link span strong { display: block; }
.course-demo-link span small { color: #6e7b89; font-size: 9px; font-weight: 500; }
.course-demo-link span strong { margin-top: 1px; font-size: 13px; font-weight: 600; }
.course-demo-link > i { color: var(--blue); font-style: normal; font-size: 18px; }
.course-tabs { position: sticky; z-index: 35; top: 58px; border-bottom: 1px solid #dce1e6; background: #fff; }
.course-tabs .site-shell { display: flex; }
.course-tabs a { min-width: 170px; padding: 20px 26px; border-left: 1px solid #e3e7eb; color: #68737e; font-size: 14px; text-align: center; }
.course-tabs a:last-child { border-right: 1px solid #e3e7eb; }
.course-tabs a:hover { color: #fff; background: var(--navy); }
.course-description, .curriculum { scroll-margin-top: 145px; }
.curriculum li small a { display: inline-block; margin-left: 9px; padding-left: 9px; color: var(--blue); border-left: 1px solid #cdd5dd; font-weight: 600; }
.course-demo-section { scroll-margin-top: 115px; padding: 78px 0; color: #fff; background: var(--navy); }
.course-demo-section__grid { display: grid; grid-template-columns: minmax(0, .78fr) minmax(420px, 1.22fr); align-items: center; gap: 74px; }
.course-demo-section__copy .eyebrow { color: #7db2f4; }
.course-demo-section__copy h2 { margin: 8px 0 18px; color: #fff; font-size: 36px; font-weight: 600; letter-spacing: -.045em; line-height: 1.24; }
.course-demo-section__copy > p:not(.eyebrow) { max-width: 540px; margin: 0; color: #b4c1cf; font-size: 14px; line-height: 1.75; }
.course-demo-section__copy dl { margin: 28px 0 24px; border-top: 1px solid rgb(255 255 255 / 16%); }
.course-demo-section__copy dl > div { display: grid; grid-template-columns: 86px 1fr; gap: 15px; padding: 12px 0; border-bottom: 1px solid rgb(255 255 255 / 16%); }
.course-demo-section__copy dt { color: #8498ad; font-size: 11px; }
.course-demo-section__copy dd { margin: 0; color: #eef4fa; font-size: 12px; }
.course-demo-section__copy .button { gap: 18px; }
.course-demo-section__copy .button span { color: var(--blue); font-size: 18px; }
.course-demo-screen { position: relative; display: block; aspect-ratio: 16/9; overflow: hidden; color: #fff; background: #020813; border: 1px solid rgb(255 255 255 / 20%); }
.course-demo-screen::after { position: absolute; inset: 0; background: linear-gradient(0deg, rgb(1 7 17 / 76%), transparent 62%); content: ""; }
.course-demo-screen > img { width: 100%; height: 100%; object-fit: cover; opacity: .7; transition: transform .28s ease, opacity .28s ease; }
.course-demo-screen:hover > img { transform: scale(1.02); opacity: .85; }
.course-demo-screen > span { position: absolute; z-index: 2; top: 50%; left: 50%; display: grid; justify-items: center; gap: 8px; transform: translate(-50%,-50%); }
.course-demo-screen > span svg { width: 64px; height: 64px; color: #fff; filter: drop-shadow(0 5px 16px rgb(0 0 0 / 28%)); }
.course-demo-screen > span strong { font-size: 10px; letter-spacing: .15em; }
.course-demo-screen > small { position: absolute; z-index: 2; right: 22px; bottom: 19px; left: 22px; overflow: hidden; color: #fff; font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
.course-guide { scroll-margin-top: 115px; padding: 76px 0; color: #fff; background: #f3f6f9; }
.course-guide__grid { display: grid; grid-template-columns: 300px 1fr; gap: 70px; align-items: start; }
.course-guide__grid > div { padding: 32px; color: #fff; background: var(--navy); }
.course-guide__grid h2 { margin: 0; font-size: 27px; line-height: 1.4; }
.course-guide ol { display: grid; grid-template-columns: 1fr 1fr; list-style: none; margin: 0; padding: 0; border-top: 1px solid #cfd6dd; border-left: 1px solid #cfd6dd; }
.course-guide li { min-height: 142px; padding: 25px; color: var(--ink); border-right: 1px solid #cfd6dd; border-bottom: 1px solid #cfd6dd; background: #fff; }
.course-guide li span { color: var(--blue); font-size: 10px; }
.course-guide li strong { display: block; margin-top: 8px; font-size: 17px; }
.course-guide li p { margin: 5px 0 0; color: #78828d; font-size: 12px; }

/* WooCommerce education-store screens */
.commerce-hero { padding: 52px 0; color: #fff; background: var(--navy); }
.commerce-hero__inner { display: flex; align-items: flex-end; justify-content: space-between; gap: 45px; }
.commerce-hero p { margin: 0 0 8px; color: #7fb0f0; font-size: 10px; font-weight: 700; letter-spacing: .15em; }
.commerce-hero h1 { margin: 0; font-size: 37px; letter-spacing: -.045em; }
.commerce-hero span { max-width: 430px; color: #b7c3d1; font-size: 14px; }
.commerce-content { margin-top: 55px !important; }
.woocommerce .woocommerce-breadcrumb { margin-bottom: 24px; color: #89939e; font-size: 11px; }
.woocommerce .woocommerce-breadcrumb a { color: #55616d; }
.woocommerce div.product { display: grid; grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr); gap: 58px; }
.woocommerce div.product div.images, .woocommerce div.product div.summary { width: auto; float: none; margin: 0; }
.woocommerce div.product div.images .woocommerce-product-gallery__wrapper { background: var(--navy); }
.woocommerce div.product div.images img { aspect-ratio: 4/3; object-fit: cover; }
.woocommerce div.product .summary { padding: 12px 0 0; }
.woocommerce div.product .product_title { margin: 0 0 18px; font-size: clamp(30px, 3.2vw, 45px); line-height: 1.25; letter-spacing: -.055em; }
.woocommerce div.product p.price, .woocommerce div.product span.price { margin: 0 0 22px; color: var(--navy); font-size: 27px; font-weight: 700; }
.woocommerce-product-details__short-description { padding: 18px 0; border-top: 1px solid #dfe4e8; color: #69747f; font-size: 14px; }
.woocommerce div.product form.cart { display: flex; margin: 22px 0 0; padding-top: 22px; border-top: 1px solid #dfe4e8; }
.woocommerce .quantity .qty { min-height: 50px; border: 1px solid #cfd5dc; }
.woocommerce div.product form.cart .button { min-height: 50px; flex: 1; margin-left: 8px; background: var(--blue) !important; }
.woocommerce div.product .product_meta { margin-top: 20px; color: #8b949d; font-size: 11px; }
.grit-product-benefits { margin-top: 22px; padding: 20px; background: #f3f6f9; }
.grit-product-benefits p { margin: 0; }
.grit-product-benefits p strong, .grit-product-benefits p span { display: block; }
.grit-product-benefits p strong { color: var(--navy); font-size: 14px; }
.grit-product-benefits p span { margin-top: 4px; color: #7c8792; font-size: 12px; }
.grit-product-benefits ul { display: flex; gap: 8px; list-style: none; margin: 15px 0 0; padding: 0; }
.grit-product-benefits li { padding: 4px 8px; color: #36689f; background: #e6f1ff; font-size: 10px; }
.woocommerce div.product .woocommerce-tabs { grid-column: 1/-1; margin-top: 35px; }
.woocommerce div.product .woocommerce-tabs ul.tabs { display: flex; padding: 0; margin: 0; border-top: 2px solid var(--ink); }
.woocommerce div.product .woocommerce-tabs ul.tabs::before, .woocommerce div.product .woocommerce-tabs ul.tabs li::before, .woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { flex: 1; margin: 0; padding: 0; border: 0; border-radius: 0; background: #fff; text-align: center; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { width: 100%; padding: 17px; border-right: 1px solid #dfe4e8; color: #69737d; font-weight: 500; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: #fff; background: var(--navy); }
.woocommerce div.product .woocommerce-tabs .panel { padding: 28px 0; color: #626d78; font-size: 14px; }
.related.products { grid-column: 1/-1; }

/* Cart and checkout */
.woocommerce-cart .page-hero, .woocommerce-checkout .page-hero, .woocommerce-account .page-hero { padding: 52px 0; }
.woocommerce-cart .page-hero h1, .woocommerce-checkout .page-hero h1, .woocommerce-account .page-hero h1 { font-size: 40px; }
.woocommerce table.shop_table { border: 1px solid #dce1e6; border-radius: 0; border-collapse: collapse; }
.woocommerce table.shop_table th { padding: 15px; color: #5e6974; background: #f5f7f9; font-size: 12px; }
.woocommerce table.shop_table td { padding: 17px 15px; border-top-color: #e0e5e9; font-size: 13px; }
.woocommerce-cart .cart-collaterals .cart_totals { width: 410px; padding: 25px; border: 1px solid #dce1e6; }
.woocommerce-cart .cart-collaterals .cart_totals h2 { margin-top: 0; font-size: 22px; }
.woocommerce .cart .button, .woocommerce .cart input.button { min-height: 44px; }
.woocommerce-checkout .woocommerce { max-width: 1100px; }
.woocommerce-checkout form.checkout { display: grid; grid-template-columns: minmax(0, 1fr) 430px; gap: 24px 42px; align-items: start; }
.woocommerce-checkout form.checkout > h3, .woocommerce-checkout #customer_details { grid-column: 1; }
.woocommerce-checkout #customer_details { width: 100%; }
.woocommerce-checkout #customer_details .col-1, .woocommerce-checkout #customer_details .col-2 { width: 100%; float: none; }
.woocommerce-checkout #customer_details .col-2 { display: none; }
.woocommerce-checkout #order_review_heading { grid-column: 2; grid-row: 1; margin: 0; padding: 22px 24px 0; border: 1px solid #dce1e6; border-bottom: 0; font-size: 20px; }
.woocommerce-checkout #order_review { grid-column: 2; grid-row: 2 / span 3; padding: 10px 24px 24px; border: 1px solid #dce1e6; border-top: 0; background: #fff; }
.woocommerce-checkout form.checkout > h3 { margin: 0; padding-bottom: 18px; border-bottom: 2px solid var(--ink); font-size: 22px; }
.woocommerce form .form-row { margin-bottom: 15px; }
.woocommerce form .form-row label { margin-bottom: 5px; color: #59646f; font-size: 12px; font-weight: 600; }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row .select2-selection { min-height: 48px; border: 1px solid #cfd6dd; border-radius: 0; padding: 10px 13px; background: #fff; }
.woocommerce-checkout #payment { border-radius: 0; background: #f3f6f9; }
.woocommerce-checkout #payment ul.payment_methods { padding: 18px; }
.woocommerce-checkout #payment ul.payment_methods li { padding: 7px 0; color: #34404c; font-size: 13px; }
.woocommerce-checkout #payment div.payment_box { border-radius: 0; color: #65717d; background: #fff; font-size: 12px; }
.woocommerce-checkout #payment div.payment_box::before { border-bottom-color: #fff; }
.woocommerce #payment #place_order { width: 100%; min-height: 54px; margin-top: 12px; background: var(--blue) !important; font-size: 15px; }
.woocommerce-form-coupon-toggle .woocommerce-info, .woocommerce-info { border-top-color: var(--blue); background: #eef5fe; }
.woocommerce-info::before { color: var(--blue); }

/* My page */
.woocommerce-account .prose-page { margin-top: 42px; }
.woocommerce-account.logged-in .woocommerce { display: grid; grid-template-columns: 245px minmax(0, 1fr); gap: 0 42px; }
.grit-account-welcome { grid-column: 1/-1; margin-bottom: 28px; padding: 28px 32px; color: #fff; background: var(--navy); }
.grit-account-welcome p { margin: 0 0 8px; color: #83b5f6; font-size: 10px; font-weight: 700; letter-spacing: .14em; }
.grit-account-welcome h2 { margin: 0; color: #fff; font-size: 28px; letter-spacing: -.04em; }
.grit-account-welcome span { display: block; margin-top: 6px; color: #aebdce; font-size: 12px; }
.woocommerce-account .woocommerce-MyAccount-navigation { width: auto; float: none; }
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none; padding: 0; margin: 0; border-top: 2px solid var(--ink); }
.woocommerce-account .woocommerce-MyAccount-navigation li { border-bottom: 1px solid #dce1e6; }
.woocommerce-account .woocommerce-MyAccount-navigation a { display: flex; align-items: center; min-height: 50px; padding: 0 15px; color: #5f6a75; font-size: 13px; }
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a { color: #fff; background: var(--blue); font-weight: 600; }
.woocommerce-account .woocommerce-MyAccount-content { width: auto; min-width: 0; float: none; }
.woocommerce-account .woocommerce-MyAccount-content > p:first-child { margin-top: 0; }
.woocommerce-account .woocommerce-MyAccount-content a { color: var(--blue); }
.woocommerce-account .addresses .title h3 { font-size: 20px; }
.woocommerce-account .bl-lms-account { --ink: var(--navy) !important; --mint: var(--blue) !important; }
.woocommerce-account .bl-lms-account__head > p, .woocommerce-account .bl-lms-account__eyebrow { color: var(--blue) !important; font-family: inherit !important; }
.woocommerce-account .bl-lms-account__head h2 { font-size: 32px !important; }
.woocommerce-account .bl-lms-account__grid { gap: 18px !important; }
.woocommerce-account .bl-lms-account__card { border-radius: 0 !important; box-shadow: none !important; }
.woocommerce-account .bl-lms-account__body { padding: 20px !important; }
.woocommerce-account .bl-lms-account__progress i, .woocommerce-account .bl-lms-account__progress i b, .woocommerce-account .bl-lms-account__button { border-radius: 0 !important; }
.woocommerce-account .bl-lms-account__progress i b { background: var(--blue) !important; }
.woocommerce-account .bl-lms-account__button { background: var(--navy) !important; }
.woocommerce-account .bl-lms-account__button span { color: var(--gold) !important; }
.woocommerce-account:not(.logged-in) #customer_login { display: grid; grid-template-columns: 1fr 1fr; gap: 35px; }
.woocommerce-account:not(.logged-in) #customer_login::before, .woocommerce-account:not(.logged-in) #customer_login::after { display: none; }
.woocommerce-account:not(.logged-in) #customer_login .col-1, .woocommerce-account:not(.logged-in) #customer_login .col-2 { width: auto; float: none; padding: 28px; border: 1px solid #dce1e6; }
.woocommerce-account:not(.logged-in) #customer_login h2 { margin-top: 0; font-size: 24px; }
.woocommerce-account form.login, .woocommerce-account form.register { margin: 0; padding: 0; border: 0; }
.woocommerce-account form .woocommerce-form-login__submit, .woocommerce-account form .woocommerce-form-register__submit { min-width: 140px; min-height: 48px; }

/* Branded LMS player overrides */
body.bl-lms-console-body-class { --class-blue: #1768e8; background: #07101c; font-family: "IBM Plex Sans KR", sans-serif; }
body.bl-lms-console-body-class .bl-lms-console-header { background: var(--navy); border-bottom-color: #24364d; }
body.bl-lms-console-body-class .bl-lms-back-db-btn { border-radius: 0; color: var(--navy) !important; background: #fff; }
body.bl-lms-console-body-class .bl-lms-back-db-btn:hover { color: #fff !important; background: var(--class-blue); }
body.bl-lms-console-body-class .bl-prog-text strong { color: #83b6fb; }
body.bl-lms-console-body-class .bl-prog-bar-wrap { border-radius: 0; background: #31435b; }
body.bl-lms-console-body-class .bl-prog-bar-fill { border-radius: 0; background: var(--class-blue); }
body.bl-lms-console-body-class .bl-lms-console-content { background: #0b1421; }
body.bl-lms-console-body-class .bl-lms-video-container { border-radius: 0; border: 1px solid #26364a; box-shadow: none; }
body.bl-lms-console-body-class .bl-lms-console-navigation { border-radius: 0 !important; background: var(--navy) !important; box-shadow: none !important; }
body.bl-lms-console-body-class #bl-lms-complete-btn { border-radius: 0 !important; background: var(--class-blue) !important; }
body.bl-lms-console-body-class .bl-lms-console-navigation .bl-btn-secondary { border-radius: 0 !important; }
body.bl-lms-console-body-class .bl-lms-console-tabs-wrap { border-radius: 0; }
body.bl-lms-console-body-class .bl-console-tab-btn.active { border-bottom-color: var(--class-blue); }
body.bl-lms-console-body-class #bl-lms-note-textarea { border-radius: 0; }
body.bl-lms-console-body-class .bl-lms-console-sidebar { background: #111e2e; border-left-color: #26364a; }
body.bl-lms-console-body-class .bl-sidebar-title, body.bl-lms-console-body-class .bl-sidebar-playlist li { border-color: #26364a; }
body.bl-lms-console-body-class .bl-lessons-qty, body.bl-lms-console-body-class .bl-playing-badge { border-radius: 0; }
body.bl-lms-console-body-class .bl-playing-badge { background: var(--class-blue); }
body.bl-lms-console-body-class .bl-sidebar-playlist li.bl-current-playing { box-shadow: inset 3px 0 0 var(--class-blue); background: #07111f; }

@media (max-width: 900px) {
  .course-tabs { top: 0; }
  .course-guide__grid { grid-template-columns: 1fr; gap: 22px; }
  .course-demo-section__grid { grid-template-columns: 1fr; gap: 34px; }
  .course-demo-section__copy { max-width: 680px; }
  .woocommerce div.product { grid-template-columns: 1fr; gap: 32px; }
  .woocommerce-checkout form.checkout { grid-template-columns: 1fr; }
  .woocommerce-checkout form.checkout > h3, .woocommerce-checkout #customer_details, .woocommerce-checkout #order_review_heading, .woocommerce-checkout #order_review { grid-column: 1; grid-row: auto; }
  .woocommerce-checkout #order_review_heading { margin-top: 24px; }
  .woocommerce-account.logged-in .woocommerce { grid-template-columns: 205px minmax(0,1fr); gap: 0 25px; }
}

@media (max-width: 700px) {
  .course-tabs .site-shell { width: 100%; }
  .course-tabs a { min-width: 0; flex: 1; padding: 15px 6px; font-size: 11px; }
  .course-guide ol { grid-template-columns: 1fr; }
  .course-demo-section { padding: 54px 0; }
  .course-demo-section__grid { gap: 28px; }
  .course-demo-section__copy h2 { font-size: 29px; }
  .course-demo-section__copy dl > div { grid-template-columns: 72px 1fr; }
  .course-demo-screen { width: calc(100% + 16px); margin-left: -8px; }
  .commerce-hero { padding: 38px 0; }
  .commerce-hero__inner { align-items: flex-start; flex-direction: column; gap: 12px; }
  .commerce-hero h1 { font-size: 31px; }
  .commerce-content { margin-top: 35px !important; }
  .woocommerce div.product .product_title { font-size: 31px; }
  .grit-product-benefits ul { flex-wrap: wrap; }
  .woocommerce-cart .cart-collaterals .cart_totals { width: 100%; }
  .woocommerce-account.logged-in .woocommerce { display: block; }
  .woocommerce-account .woocommerce-MyAccount-navigation { margin-bottom: 28px; }
  .woocommerce-account .woocommerce-MyAccount-navigation ul { display: flex; overflow-x: auto; border-bottom: 1px solid #dce1e6; }
  .woocommerce-account .woocommerce-MyAccount-navigation li { flex: 0 0 auto; border-bottom: 0; }
  .woocommerce-account .woocommerce-MyAccount-navigation a { min-height: 44px; padding: 0 13px; }
  .woocommerce-account:not(.logged-in) #customer_login { grid-template-columns: 1fr; }
  .woocommerce-account:not(.logged-in) #customer_login .col-1, .woocommerce-account:not(.logged-in) #customer_login .col-2 { padding: 22px 18px; }
  .grit-account-welcome { padding: 24px 20px; }
  body.bl-lms-console-body-class .bl-lms-console-header { height: auto; min-height: 68px; padding: 10px 14px; }
  body.bl-lms-console-body-class .bl-lms-breadcrumbs, body.bl-lms-console-body-class .bl-lms-header-right { display: none; }
  body.bl-lms-console-body-class .bl-lms-console-main-container { height: calc(100vh - 68px); }
  body.bl-lms-console-body-class .bl-lms-console-content { padding: 12px; }
  body.bl-lms-console-body-class .bl-lms-console-sidebar { width: 100%; max-height: 280px; }
  body.bl-lms-console-body-class .bl-lms-console-navigation { gap: 8px; padding: 12px !important; }
  body.bl-lms-console-body-class .bl-lms-console-navigation .bl-btn { padding: 9px 10px !important; font-size: 11px !important; }
}

/* Final cascade layer for the 2.4.0 header, slider and cart redesign. */
.brand-row.site-shell { width: 100%; max-width: none; padding-inline: clamp(24px, 2.4vw, 42px); }
.brand { width: 190px; justify-content: flex-start; }
.brand img { width: 178px; transform: none; object-fit: contain; }
.category-bar__inner.site-shell { width: 100%; max-width: none; padding: 0; }
.menu-toggle { flex-basis: clamp(170px, 15vw, 220px); padding-left: clamp(24px, 2.4vw, 42px); }
.classroom-link { flex: 0 0 172px; gap: 10px; padding: 0 19px; color: #f4f1e9; background: #12161b; border-left: 1px solid #3a3324; border-bottom: 3px solid var(--gold); }
.classroom-link svg { width: 23px; height: 23px; color: var(--gold); }
.classroom-link > span { display: grid; gap: 0; color: inherit; font-size: 14px; line-height: 1.2; }
.classroom-link small { color: #9b9fa5; font-size: 8px; font-weight: 600; letter-spacing: .14em; }
.classroom-link b { margin-left: auto; color: var(--gold); font-size: 18px; font-weight: 400; }
.classroom-link:hover { color: #111317; background: var(--gold); }
.mobile-drawer { position: fixed; z-index: 102; top: 0; bottom: 0; left: 0; width: min(88vw, 410px); display: flex; flex-direction: column; padding: 28px 30px; color: #eef0f3; background: #0c0f13; border-right: 1px solid #3d3421; transform: translateX(-102%); transition: transform .25s ease; }
.mobile-drawer.is-open { transform: translateX(0); }
.drawer-backdrop { position: fixed; z-index: 101; inset: 0; display: block; background: rgb(0 0 0 / 64%); opacity: 0; pointer-events: none; transition: opacity .25s ease; }
.drawer-backdrop.is-open { opacity: 1; pointer-events: auto; }
.mall-hero { position: relative; width: 100%; padding: 0; overflow: hidden; background: #0a0d11; }
.mall-hero__viewport { position: relative; min-height: clamp(560px, 62vw, 720px); }
.mall-hero__slide { position: absolute; inset: 0; display: grid; opacity: 0; visibility: hidden; transform: scale(1.015); transition: opacity .65s ease, transform 1.2s ease, visibility .65s; }
.mall-hero__slide.is-active { z-index: 1; opacity: 1; visibility: visible; transform: scale(1); }
.mall-hero__slide::after { position: absolute; inset: 0; background: linear-gradient(90deg, rgb(4 6 9 / 98%) 0%, rgb(4 6 9 / 91%) 40%, rgb(4 6 9 / 38%) 70%, rgb(4 6 9 / 28%) 100%); content: ""; }
.mall-hero__background { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; filter: saturate(.72) contrast(1.08); }
.mall-hero__inner { position: relative; z-index: 2; display: flex; align-items: center; width: min(calc(100% - 80px), 1420px); padding: 72px 0 110px; }
.mall-hero__copy { width: min(710px, 58vw); padding: 0; }
.mall-hero h1 { font-size: clamp(46px, 5vw, 74px); }
.mall-hero__controls { position: absolute; z-index: 4; right: 0; bottom: 0; left: 0; display: flex; width: min(calc(100% - 80px), 1420px); height: 78px; align-items: center; gap: 18px; color: #fff; border-top: 1px solid rgb(255 255 255 / 18%); }
.woocommerce-cart .commerce-content { display: grid; grid-template-columns: minmax(0, 1fr) 390px; gap: 32px 42px; align-items: start; max-width: 1320px; }
.woocommerce-cart .cart-collaterals .cart_totals { width: 100%; float: none; color: #fff; background: #0d1014; border-top: 4px solid var(--gold); }
.woocommerce-cart .cart-collaterals .cart_totals h2 { color: #fff; }
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button { color: #111317 !important; background: var(--gold) !important; }
.footer-logo img { width: 185px; height: auto; filter: grayscale(1) brightness(0) invert(1); opacity: 1; }
@media (max-width: 760px) {
  .brand-row.site-shell { padding-inline: 18px; }
  .mall-hero__viewport { min-height: 610px; }
  .mall-hero__slide::after { background: linear-gradient(180deg, rgb(4 6 9 / 58%) 0%, rgb(4 6 9 / 92%) 54%, #040609 100%); }
  .mall-hero__background { object-position: 67% center; }
  .mall-hero__inner { width: calc(100% - 40px); align-items: flex-end; padding: 90px 0 112px; }
  .mall-hero__copy { width: 100%; }
  .mall-hero h1 { font-size: clamp(38px, 11vw, 48px); }
  .mall-hero__controls { width: calc(100% - 40px); height: 66px; }
  .woocommerce-cart .commerce-content { display: block; width: calc(100% - 32px); }
}

/* 2.3.0 — Intelligence editorial art direction */
body { background: #fbfaf7; }
.utility-bar { color: #8f949b; background: #080a0d; border-bottom-color: #22262c; }
.utility-bar p strong { color: var(--gold); }
.utility-bar nav a { border-right-color: #2b3037; }
.brand-row { min-height: 112px; }
.brand { width: 188px; }
.brand img { width: 188px; filter: contrast(1.08); }
.header-search { border-color: #171b20; background: #fff; }
.header-search button { color: #171b20; }
.quick-menu__icon { color: #171b20; }
.quick-menu i { color: #111317; background: var(--gold); }
.category-bar { border-color: #242930; background: #0b0e12; box-shadow: 0 9px 24px rgb(0 0 0 / 12%); }
.menu-toggle { border-color: #2b3037; color: #f0eee9; background: #0b0e12; }
.menu-toggle i, .menu-toggle i::before, .menu-toggle i::after { background: var(--gold); }
.nav-menu { gap: clamp(18px, 2.3vw, 36px); }
.nav-menu a { color: #e5e4df; font-size: 14px; font-weight: 500; }
.nav-menu a::after { background: var(--gold); }
.classroom-link { color: #111317; background: var(--gold); font-weight: 700; }
.classroom-link span { color: #111317; }

.mall-hero { padding-top: 28px; background: #161a1f; }
.mall-hero__frame { height: 510px; background: #07090c; border: 1px solid #2a2f36; }
.mall-hero__frame::before { background: linear-gradient(90deg, #06080b 0%, rgb(6 8 11 / 97%) 43%, rgb(6 8 11 / 45%) 68%, rgb(6 8 11 / 7%) 100%); }
.mall-hero__copy { padding-left: 72px; }
.promo-chip { border-color: rgb(215 182 109 / 45%); color: #d9c596; background: rgb(215 182 109 / 8%); }
.promo-overline { color: #999eA6; }
.mall-hero h1 { max-width: 620px; font-size: clamp(42px, 4.15vw, 62px); font-weight: 600; letter-spacing: -.065em; }
.mall-hero h1 em { color: var(--gold); }
.mall-hero__copy > p:not(.promo-chip):not(.promo-overline) { color: #b8bdc4; }
.mall-hero__visual { grid-column: 2; }
.mall-hero__visual img { object-position: 62% center; filter: saturate(.68) contrast(1.08); }
.hero-stamp { border-color: rgb(215 182 109 / 55%); background: rgb(7 9 12 / 74%); }
.hero-counter { color: #d7d7d3; }
.shortcut-strip { padding-top: 0; background: #161a1f; }
.shortcut-strip__grid { border-color: #30353c; background: #0d1014; }
.shortcut-strip a { border-right-color: #30353c; }
.shortcut-strip a > span, .shortcut-strip small { color: #777d85; }
.shortcut-strip strong { color: #e8e7e2; font-weight: 500; }
.shortcut-strip i { color: var(--gold); }
.shortcut-strip a:hover { background: #171b20; }
.shortcut-strip a:hover strong { color: var(--gold); }

.mall-heading p, .eyebrow { color: #826637; }
.mall-heading h2 { font-weight: 600; }
.mall-heading > a span { color: #826637; }
.product-card__visual { background: #11151a; }
.product-card--2 .product-card__visual { background: #20252b; }
.product-card--3 .product-card__visual { background: #0a0c0f; }
.product-card--4 .product-card__visual { background: #34302a; }
.product-card__visual small { color: #aeb2b8; }
.product-badge { color: #111317; background: var(--gold); }
.product-card--consult { background: #171b20; border-top: 3px solid var(--gold); }
.product-card--consult span { color: var(--gold); }
.event-banner--dark { background: #0b0e12; }
.event-banner--blue { background: #4a3c29; }
.event-banner small { color: #d6c18e; }
.event-banner::before { border-color: rgb(215 182 109 / 9%); }
.insight-thumb { background: #14181d; }
.insight-thumb--2 { background: #272c32; }
.insight-thumb--3 { background: #090b0e; }
.insight-thumb--4 { background: #3a342b; }
.insight-thumb span { color: #d1b875; }
.expertise-section { background: #090b0e; }
.expertise-copy > p { color: var(--gold); }
.expertise-grid a:hover { color: #111317; background: var(--gold); }
.expertise-grid a:hover p, .expertise-grid a:hover span, .expertise-grid a:hover small { color: #34302a; }
.review-message { border-left: 3px solid var(--gold); }
.support-call a { color: #111317; }
.site-footer { background: #0b0d10; }

.page-hero, .course-hero, .commerce-hero { position: relative; overflow: hidden; background: #0a0c0f; }
.page-hero::after, .course-hero::after, .commerce-hero::after { position: absolute; top: -150px; right: -90px; width: 430px; height: 430px; border: 1px solid rgb(215 182 109 / 17%); border-radius: 50%; content: ""; }
.page-hero__grid, .course-hero__grid, .commerce-hero__inner { position: relative; z-index: 1; }
.course-purchase { border-top: 3px solid var(--gold); }
.course-demo-link { background: #f5f1e8; }
.course-demo-section { background: #090b0e; }
.course-demo-section__copy .eyebrow, .commerce-hero p, .grit-account-welcome p { color: var(--gold); }
.course-guide { background: #f1f0ec; }
.grit-product-benefits { background: #f1f0ec; }
.grit-product-benefits li { color: #554521; background: #eee4cf; }
.woocommerce-checkout #payment { background: #f1f0ec; }
.woocommerce-form-coupon-toggle .woocommerce-info, .woocommerce-info { border-top-color: var(--gold); background: #f5f1e8; }
.grit-account-welcome { border-top: 3px solid var(--gold); background: #0b0e12; }
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a { color: #111317; background: var(--gold); }

.grit-about__lead { max-width: 880px; margin: 0 0 56px; font-size: 22px; line-height: 1.75; letter-spacing: -.025em; }
.grit-about__manifesto { margin: 56px 0; padding: 44px; color: #ecebe6; background: #0b0e12; border-left: 3px solid var(--gold); }
.grit-about__manifesto h2 { margin-top: 0; color: var(--gold); }
.grit-values { display: grid; grid-template-columns: repeat(4, 1fr); margin: 42px 0 68px; border-top: 1px solid #cfcac0; border-left: 1px solid #cfcac0; }
.grit-values > div { min-height: 170px; padding: 26px; border-right: 1px solid #cfcac0; border-bottom: 1px solid #cfcac0; }
.grit-values span { color: #947540; font-size: 11px; letter-spacing: .12em; }
.grit-values strong { display: block; margin-top: 12px; font-size: 21px; }
.grit-values p { color: #747980; font-size: 13px; }
.grit-faculty { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 35px; border-top: 2px solid #111317; }
.grit-faculty article { padding: 28px 24px; border-right: 1px solid #d6d2ca; border-bottom: 1px solid #d6d2ca; }
.grit-faculty article:nth-child(3n+1) { border-left: 1px solid #d6d2ca; }
.grit-faculty small { color: #8a6c37; letter-spacing: .1em; }
.grit-faculty h3 { margin: 8px 0 14px; font-size: 21px; }
.grit-faculty p { margin: 0; color: #6c7178; font-size: 13px; line-height: 1.75; }
.grit-resource-grid { display: grid; grid-template-columns: repeat(3, 1fr); margin: 40px 0; border-top: 2px solid #111317; }
.grit-resource-grid article { min-height: 240px; padding: 30px; border-right: 1px solid #d6d2ca; border-bottom: 1px solid #d6d2ca; }
.grit-resource-grid article:first-child { border-left: 1px solid #d6d2ca; }
.grit-resource-grid span { color: #8a6c37; font-size: 11px; letter-spacing: .12em; }
.grit-resource-grid h2 { margin: 14px 0 12px; font-size: 24px; }
.grit-resource-grid p { color: #6d7279; font-size: 14px; }
.grit-empty-panel { margin-top: 34px; padding: 34px; border: 1px solid #d6d2ca; background: #f4f2ed; }
.grit-empty-panel strong { display: block; font-size: 19px; }
.grit-empty-panel p { margin-bottom: 0; color: #70757b; }
.grit-faq { margin-top: 38px; border-top: 2px solid #111317; }
.grit-faq details { border-bottom: 1px solid #d6d2ca; }
.grit-faq summary { position: relative; padding: 22px 48px 22px 4px; cursor: pointer; font-size: 17px; font-weight: 600; list-style: none; }
.grit-faq summary::after { position: absolute; right: 8px; color: #8a6c37; content: "+"; }
.grit-faq details[open] summary::after { content: "−"; }
.grit-faq details p { margin: 0; padding: 0 44px 24px 4px; color: #697078; line-height: 1.75; }

body.bl-lms-console-body-class { --class-blue: #b18b49; background: #07090c; }
body.bl-lms-console-body-class .bl-lms-console-content { background: #0a0d11; }
body.bl-lms-console-body-class .bl-lms-console-sidebar { background: #101419; border-left-color: #2a3037; }
body.bl-lms-console-body-class .bl-prog-text strong { color: var(--gold); }

@media (max-width: 900px) {
  .nav-menu { gap: 16px; }
  .nav-menu a { font-size: 12px; }
  .mall-hero__frame { height: 480px; grid-template-columns: 60% 40%; }
  .mall-hero__copy { padding-left: 44px; }
  .grit-values { grid-template-columns: 1fr 1fr; }
  .grit-faculty, .grit-resource-grid { grid-template-columns: 1fr 1fr; }
  .grit-faculty article:nth-child(3n+1) { border-left: 0; }
  .grit-faculty article:nth-child(2n+1) { border-left: 1px solid #d6d2ca; }
}

@media (max-width: 700px) {
  .brand-row { min-height: 78px; }
  .mall-hero { padding-top: 0; }
  .mall-hero__frame { height: auto; min-height: 590px; grid-template-columns: 1fr; }
  .mall-hero__visual { position: absolute; inset: 0; grid-column: auto; opacity: .55; }
  .mall-hero__frame::before { background: linear-gradient(180deg, rgb(6 8 11 / 95%) 0%, rgb(6 8 11 / 78%) 64%, rgb(6 8 11 / 93%) 100%); }
  .mall-hero__copy { align-self: end; padding: 96px 25px 72px; }
  .mall-hero h1 { font-size: 40px; }
  .mall-hero__copy > p:not(.promo-chip):not(.promo-overline) br { display: none; }
  .hero-stamp, .hero-counter { display: none; }
  .shortcut-strip__grid { border-top: 0; }
  .grit-about__lead { font-size: 18px; }
  .grit-about__manifesto { padding: 27px 22px; }
  .grit-values, .grit-faculty, .grit-resource-grid { grid-template-columns: 1fr; }
  .grit-faculty article, .grit-faculty article:nth-child(2n+1), .grit-faculty article:nth-child(3n+1) { border-left: 1px solid #d6d2ca; }
}

/* WooCommerce Cart & Checkout Blocks */
.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout { margin: 52px auto 82px; }
.wc-block-components-sidebar-layout { align-items: flex-start; gap: 54px; }
.wc-block-components-sidebar-layout .wc-block-components-main { width: calc(64% - 27px); padding-right: 0; }
.wc-block-components-sidebar-layout .wc-block-components-sidebar { position: sticky; top: 28px; width: calc(36% - 27px); margin: 0; padding: 28px; border: 1px solid #d2cec5; border-top: 3px solid var(--gold); background: #f3f1ec; }
.wc-block-components-checkout-step { padding: 28px 0; border-top: 1px solid #d6d2ca; }
.wc-block-components-checkout-step:first-child { border-top: 2px solid #111317; }
.wc-block-components-checkout-step__heading { margin-bottom: 20px; }
.wc-block-components-checkout-step__title { font-size: 22px; font-weight: 600; letter-spacing: -.03em; }
.wc-block-components-text-input input, .wc-block-components-combobox .wc-block-components-combobox-control input.components-combobox-control__input { border-color: #bbb7ae !important; border-radius: 0 !important; background: #fff !important; }
.wc-block-components-radio-control { border: 1px solid #d3cfc6; border-radius: 0 !important; }
.wc-block-components-radio-control-accordion-option { border-bottom: 1px solid #ddd9d1 !important; }
.wc-block-components-radio-control-accordion-option:last-child { border-bottom: 0 !important; }
.wc-block-components-radio-control__option-checked { background: #f2ede2 !important; }
.wc-block-components-radio-control__option-checked::after { background: var(--gold) !important; }
.wc-block-checkout__terms, .wc-block-checkout__terms a { color: #70747a; font-size: 12px; }
.wc-block-components-button.wc-block-components-checkout-place-order-button { min-height: 58px; border: 0; border-radius: 0; color: #fff; background: #0b0e12; font-size: 15px; font-weight: 700; }
.wc-block-components-button.wc-block-components-checkout-place-order-button:hover { color: #111317; background: var(--gold); }
.wc-block-components-order-summary__button-text, .wc-block-components-totals-item__label { font-weight: 600; }
.wc-block-components-product-name { color: #111317; font-weight: 600; }
.wc-block-components-totals-footer-item { border-top: 2px solid #111317; }
.wc-block-cart__submit-button { min-height: 56px; border-radius: 0 !important; color: #fff !important; background: #0b0e12 !important; }
.wc-block-cart__submit-button:hover { color: #111317 !important; background: var(--gold) !important; }

@media (max-width: 900px) {
  .wc-block-components-sidebar-layout { display: block; }
  .wc-block-components-sidebar-layout .wc-block-components-main, .wc-block-components-sidebar-layout .wc-block-components-sidebar { width: 100%; }
  .wc-block-components-sidebar-layout .wc-block-components-sidebar { position: static; margin-top: 30px; }
}

@media (max-width: 700px) {
  .wp-block-woocommerce-cart, .wp-block-woocommerce-checkout { margin: 28px auto 56px; }
  .wc-block-components-sidebar-layout .wc-block-components-sidebar { padding: 20px 16px; }
  .wc-block-components-checkout-step { padding: 22px 0; }
  .wc-block-components-checkout-step__title { font-size: 19px; }
}

/* Must remain last: override the legacy one-slide rules retained for backwards compatibility. */
.brand-row.site-shell { width:100%;max-width:none;padding-inline:clamp(24px,2.4vw,42px) }.brand{width:190px;justify-content:flex-start}.brand img{width:178px;transform:none;object-fit:contain}.category-bar__inner.site-shell{width:100%;max-width:none;padding:0}.menu-toggle{flex-basis:clamp(170px,15vw,220px);padding-left:clamp(24px,2.4vw,42px)}
.classroom-link{flex:0 0 172px;gap:10px;padding:0 19px;color:#f4f1e9;background:#12161b;border-left:1px solid #3a3324;border-bottom:3px solid var(--gold)}.classroom-link svg{width:23px;height:23px;color:var(--gold)}.classroom-link>span{display:grid;color:inherit;font-size:14px;line-height:1.2}.classroom-link small{color:#9b9fa5;font-size:8px;letter-spacing:.14em}.classroom-link b{margin-left:auto;color:var(--gold);font-size:18px}.classroom-link:hover{color:#111317;background:var(--gold)}
.mobile-drawer{position:fixed;z-index:102;top:0;bottom:0;left:0;width:min(88vw,410px);display:flex;flex-direction:column;padding:28px 30px;color:#eef0f3;background:#0c0f13;border-right:1px solid #3d3421;transform:translateX(-102%);transition:transform .25s ease}.mobile-drawer.is-open{transform:translateX(0)}.drawer-backdrop{position:fixed;z-index:101;inset:0;display:block;background:rgb(0 0 0 / 64%);opacity:0;pointer-events:none;transition:opacity .25s ease}.drawer-backdrop.is-open{opacity:1;pointer-events:auto}
.mall-hero{position:relative;width:100%;padding:0;background:#0a0d11}.mall-hero__viewport{position:relative;min-height:clamp(560px,62vw,720px)}.mall-hero__slide{position:absolute;inset:0;display:grid;opacity:0;visibility:hidden;transform:scale(1.015);transition:opacity .65s ease,transform 1.2s ease,visibility .65s}.mall-hero__slide.is-active{z-index:1;opacity:1;visibility:visible;transform:scale(1)}.mall-hero__slide::after{position:absolute;inset:0;background:linear-gradient(90deg,rgb(4 6 9 / 98%) 0%,rgb(4 6 9 / 91%) 40%,rgb(4 6 9 / 38%) 70%,rgb(4 6 9 / 28%) 100%);content:""}.mall-hero__background{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.72) contrast(1.08)}.mall-hero__inner{position:relative;z-index:2;display:flex;align-items:center;width:min(calc(100% - 80px),1420px);padding:72px 0 110px}.mall-hero__copy{width:min(710px,58vw);padding:0}.mall-hero h1{font-size:clamp(46px,5vw,74px)}.mall-hero__controls{position:absolute;z-index:4;right:0;bottom:0;left:0;display:flex;width:min(calc(100% - 80px),1420px);height:78px;align-items:center;gap:18px;color:#fff;border-top:1px solid rgb(255 255 255 / 18%)}
.woocommerce-cart .commerce-content{display:grid;grid-template-columns:minmax(0,1fr) 390px;gap:32px 42px;align-items:start;max-width:1320px}.woocommerce-cart .cart-collaterals .cart_totals{width:100%;float:none;color:#fff;background:#0d1014;border-top:4px solid var(--gold)}.woocommerce-cart .cart-collaterals .cart_totals h2{color:#fff}.woocommerce-cart .wc-proceed-to-checkout a.checkout-button{color:#111317!important;background:var(--gold)!important}.footer-logo img{width:185px;height:auto;filter:grayscale(1) brightness(0) invert(1);opacity:1}
@media(max-width:760px){.brand-row.site-shell{padding-inline:18px}.mall-hero__viewport{min-height:610px}.mall-hero__slide::after{background:linear-gradient(180deg,rgb(4 6 9 / 58%) 0%,rgb(4 6 9 / 92%) 54%,#040609 100%)}.mall-hero__background{object-position:67% center}.mall-hero__inner{width:calc(100% - 40px);align-items:flex-end;padding:90px 0 112px}.mall-hero__copy{width:100%;padding:0}.mall-hero h1{font-size:clamp(38px,11vw,48px)}.mall-hero__controls{width:calc(100% - 40px);height:66px}.woocommerce-cart .commerce-content{display:block;width:calc(100% - 32px)}}

/* Editorial boards and service pages. */
.grit-board,.grit-case-grid,.grit-faq-layout{margin-top:58px;margin-bottom:90px}.grit-board__head{display:flex;justify-content:space-between;padding:0 4px 15px;border-bottom:2px solid #111317;color:#70757b;font-size:11px}.grit-board__list article{display:grid;grid-template-columns:58px minmax(0,1fr) 40px;align-items:center;gap:22px;min-height:135px;padding:23px 8px;border-bottom:1px solid #d8d4cc}.grit-board__list article>span{color:#b18d45;font-size:12px}.grit-board__list small{color:#8a8f95;font-size:10px}.grit-board__list h2{margin:7px 0 4px;font-size:20px;letter-spacing:-.03em}.grit-board__list p{margin:0;color:#767c83;font-size:12px}.grit-board__list article>a{display:grid;width:38px;height:38px;place-items:center;border:1px solid #c7c3ba}.grit-board__empty{padding:65px;text-align:center;background:#f2f0eb}.grit-case-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:2px solid #111317;border-left:1px solid #d6d2ca}.grit-case-grid>a{position:relative;min-height:330px;padding:30px;border-right:1px solid #d6d2ca;border-bottom:1px solid #d6d2ca;background:#fff}.grit-case-grid>a:hover{color:#fff;background:#0c0f13}.grit-case-grid>a>span{color:#b18d45;font-size:12px}.grit-case-grid small{display:block;margin-top:54px;color:#8b9096;font-size:9px;letter-spacing:.1em}.grit-case-grid h2{margin:12px 0;font-size:22px;line-height:1.4;letter-spacing:-.035em}.grit-case-grid p{color:#797f86;font-size:12px}.grit-case-grid b{position:absolute;right:28px;bottom:26px;color:#a37d34;font-size:11px}.grit-faq-layout{display:grid;grid-template-columns:290px minmax(0,1fr);gap:68px}.grit-faq-layout aside{padding:30px 0;border-top:3px solid #111317}.grit-faq-layout aside>p{color:#a37d34;font-size:10px;letter-spacing:.14em}.grit-faq-layout aside h2{font-size:25px;line-height:1.45}.grit-faq-layout aside a{display:block;margin-top:38px;font-size:12px;font-weight:700}.grit-faq-content details{border-bottom:1px solid #d7d3cb}.grit-faq-content details:first-child{border-top:2px solid #111317}.grit-faq-content summary{padding:23px 8px;cursor:pointer;font-size:16px;font-weight:700;list-style:none}.grit-faq-content summary::before{margin-right:17px;color:#b18d45;content:"Q"}.grit-faq-content details>div,.grit-faq-content details>p{margin:0;padding:0 40px 24px;color:#6f757c;font-size:13px;line-height:1.8}.grit-faq-content .wp-block-details{margin:0}
@media(max-width:800px){.grit-case-grid{grid-template-columns:1fr}.grit-case-grid>a{min-height:270px}.grit-faq-layout{grid-template-columns:1fr;gap:25px}.grit-board__list article{grid-template-columns:36px minmax(0,1fr);gap:12px}.grit-board__list article>a{display:none}.grit-board__list p{display:none}}

/* Visual QA corrections. */
.mall-hero__copy,.mall-hero__copy h1,.mall-hero__copy .hero-plain-link{color:#fff}.brand img{width:190px;max-width:none;transform:translateX(-34px) scale(1.55);transform-origin:left center}
@media(max-width:760px){.brand img{transform:translateX(-30px) scale(1.45)}}

.woocommerce-notices-wrapper .woocommerce-error,.woocommerce-notices-wrapper .woocommerce-info,.woocommerce-notices-wrapper .woocommerce-message{margin-bottom:22px!important;padding:17px 19px 17px 48px!important;border:1px solid #d4d0c8;border-top:3px solid #111317;background:#f5f3ee}.woocommerce-notices-wrapper .woocommerce-error{display:grid;gap:10px;border-top-color:#9e2d2d;list-style:none}.woocommerce-notices-wrapper .woocommerce-error li{display:flex;align-items:center;justify-content:space-between;gap:18px}.woocommerce-notices-wrapper a.button{float:none!important;flex:0 0 auto;min-height:38px;padding:0 14px!important;line-height:38px!important}
@media(max-width:600px){.woocommerce-notices-wrapper .woocommerce-error li{align-items:flex-start;flex-direction:column}.woocommerce-notices-wrapper a.button{width:100%;justify-content:center}}

.footer-logo img{width:175px;height:104px;padding:12px;background:#fff;object-fit:contain;filter:none;opacity:1}

/* 2.4.1 — one shared content line across header, hero and commerce pages. */
.brand-row.site-shell,
.category-bar__inner.site-shell,
.mall-hero__inner,
.mall-hero__controls {
  width: min(calc(100% - 48px), var(--shell));
  max-width: var(--shell);
  margin-inline: auto;
}

.brand-row.site-shell,
.category-bar__inner.site-shell { padding-inline: 0; }
.menu-toggle { flex: 0 0 160px; padding-inline: 20px; }
.classroom-link { flex-basis: 172px; }

.woocommerce-account .prose-page,
.woocommerce-cart .commerce-content,
.woocommerce-checkout .commerce-content {
  width: min(calc(100% - 48px), var(--shell));
  max-width: var(--shell);
  margin-inline: auto;
}

.woocommerce-account .bl-lms-auth {
  width: 100%;
  max-width: none;
  margin-inline: 0;
}

.woocommerce-account .prose-page > .entry-content > .woocommerce {
  width: 100%;
  margin-inline: 0;
}

@media (max-width: 760px) {
  .site-shell { width: calc(100% - 32px); }

  .brand-row.site-shell,
  .category-bar__inner.site-shell {
    width: 100%;
    max-width: none;
  }

  .brand-row.site-shell { padding-inline: 16px; }
  .mall-hero__inner,
  .mall-hero__controls { width: calc(100% - 32px); }
  .woocommerce-account .prose-page,
  .woocommerce-cart .commerce-content,
  .woocommerce-checkout .commerce-content { width: calc(100% - 32px); }
}

/* 2.4.1 — cropped identity asset, functional whole-site menu and readable subpages. */
.brand img { width: 190px; height: auto; max-width: 100%; object-fit: contain; transform: none; }
.footer-logo img { width: 175px; height: auto; padding: 0; background: transparent; object-fit: contain; filter: brightness(0) invert(1); }

.mobile-drawer { width: min(92vw, 680px); padding: 34px 38px 38px; overflow-y: auto; }
.mobile-drawer__head { align-items: flex-start; }
.mobile-drawer__head div span,
.mobile-drawer__head div strong { display: block; }
.mobile-drawer__head div span { margin-bottom: 4px; color: #888f98; font-size: 9px; font-weight: 700; letter-spacing: .16em; }
.mobile-drawer__head div strong { color: var(--gold); font-size: 19px; letter-spacing: -.02em; }
.mobile-drawer__intro { max-width: 520px; margin: 24px 0 28px; color: #969da6; font-size: 13px; line-height: 1.75; }
.mobile-drawer__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid #30353b; border-left: 1px solid #30353b; }
.mobile-drawer__grid section { min-width: 0; border-right: 1px solid #30353b; }
.mobile-drawer__grid section > p { margin: 0; padding: 15px 16px; color: var(--gold); border-bottom: 1px solid #30353b; font-size: 9px; font-weight: 700; letter-spacing: .14em; }
.mobile-drawer__grid a { display: block; min-height: 105px; padding: 19px 16px; border-bottom: 1px solid #30353b; transition: background .2s ease; }
.mobile-drawer__grid a strong,
.mobile-drawer__grid a span { display: block; }
.mobile-drawer__grid a strong { color: #f4f2ed; font-size: 15px; }
.mobile-drawer__grid a span { margin-top: 7px; color: #777f88; font-size: 10px; line-height: 1.55; }
.mobile-drawer__grid a:hover { background: #171b20; }
.mobile-drawer__grid a:hover strong { color: var(--gold); }
.mobile-drawer__actions { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 24px; }
.mobile-drawer__actions a { display: flex; min-height: 52px; align-items: center; justify-content: space-between; padding: 0 17px; color: #111317; background: var(--gold); font-size: 13px; font-weight: 700; }
.mobile-drawer__actions a + a { color: #eef0f3; background: #1a1f25; }

.page-template-default:not(.woocommerce-page) .prose-page { margin-top: 0; margin-bottom: 0; }
.page-template-default:not(.woocommerce-page) .prose-page .entry-content { max-width: 900px; padding: 68px 0 96px; color: #434b54; font-size: 18px; line-height: 1.95; letter-spacing: -.012em; }
.page-template-default:not(.woocommerce-page) .prose-page .entry-content > p:first-child { margin-top: 0; color: #343c45; font-size: 22px; line-height: 1.8; }
.page-template-default:not(.woocommerce-page) .prose-page .entry-content p { margin: 0 0 28px; }
.page-template-default:not(.woocommerce-page) .prose-page .entry-content h2 { margin: 72px 0 24px; padding-top: 22px; color: #111317; border-top: 2px solid #111317; font-size: 30px; line-height: 1.35; letter-spacing: -.04em; }
.page-template-default:not(.woocommerce-page) .prose-page .entry-content h3 { margin: 48px 0 18px; color: #111317; font-size: 23px; line-height: 1.4; letter-spacing: -.03em; }
.page-template-default:not(.woocommerce-page) .prose-page .entry-content ul,
.page-template-default:not(.woocommerce-page) .prose-page .entry-content ol { margin: 24px 0 34px; padding-left: 1.35em; }
.page-template-default:not(.woocommerce-page) .prose-page .entry-content li { margin-bottom: 10px; }
.page-template-default:not(.woocommerce-page) .prose-page .entry-content blockquote { margin: 44px 0; padding: 28px 32px; color: #e9e8e3; background: #0b0e12; border-left: 4px solid var(--gold); }
.page-template-default:not(.woocommerce-page) .prose-page .entry-content > .grit-contact { width: min(calc(100vw - 48px), var(--shell)); max-width: var(--shell); }
.site-header.is-scrolled .category-bar { background: #0b0e12; }

@media (max-width: 760px) {
  .site-main > article.site-shell { width: calc(100% - 32px); }
  .brand img { width: 174px; transform: none; }
  .mobile-drawer { width: min(92vw, 410px); padding: 25px 22px 28px; }
  .mobile-drawer__grid { grid-template-columns: 1fr; }
  .mobile-drawer__grid section > p { padding: 11px 13px; }
  .mobile-drawer__grid a { min-height: 0; padding: 14px 13px; }
  .mobile-drawer__grid a span { display: none; }
  .mobile-drawer__actions { grid-template-columns: 1fr; }
  .page-template-default:not(.woocommerce-page) .prose-page .entry-content { max-width: none; padding: 42px 0 68px; font-size: 16px; line-height: 1.85; }
  .page-template-default:not(.woocommerce-page) .prose-page .entry-content > p:first-child { font-size: 18px; line-height: 1.75; }
  .page-template-default:not(.woocommerce-page) .prose-page .entry-content h2 { margin-top: 52px; font-size: 25px; }
  .page-template-default:not(.woocommerce-page) .prose-page .entry-content > .grit-contact { width: 100%; }
}

/* 2.4.2 — stronger header identity and a hero that starts flush under navigation. */
.mall-home .mall-hero {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

.mall-home .mall-hero__viewport {
  margin-top: 0 !important;
}

.mall-home .mall-hero__slide,
.mall-home .mall-hero__background {
  top: 0;
}

@media (min-width: 1121px) {
  .brand-row {
    grid-template-columns: 260px minmax(320px, 540px) 210px;
  }

  .brand {
    width: 260px;
    overflow: visible;
  }

  .brand img {
    width: 250px;
    max-width: none;
  }
}

@media (min-width: 761px) and (max-width: 1120px) {
  .brand {
    width: 205px;
    overflow: visible;
  }

  .brand img {
    width: 195px;
    max-width: none;
  }
}

@media (max-width: 760px) {
  .brand {
    width: 200px;
    overflow: visible;
  }

  .brand img {
    width: 190px;
    max-width: none;
  }
}

/* 2.4.11 — verified reviews, resource commerce and scroll-led brand proof. */
.grit-metrics {
  color: #f4f1e9;
  background: #0d1014;
  border-top: 1px solid #292e35;
  border-bottom: 1px solid #292e35;
}
.grit-metrics__grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.grit-metrics__grid > div { position: relative; min-height: 176px; padding: 33px 30px 27px; border-right: 1px solid #292e35; }
.grit-metrics__grid > div:first-child { border-left: 1px solid #292e35; }
.grit-metrics strong { display: block; color: var(--gold); font-family: "IBM Plex Sans KR", sans-serif; font-size: 54px; font-weight: 500; line-height: 1; letter-spacing: -.055em; }
.grit-metrics span { display: block; margin-top: 15px; color: #eef0f2; font-size: 14px; font-weight: 600; }
.grit-metrics small { position: absolute; right: 25px; bottom: 22px; color: #666e78; font-size: 8px; letter-spacing: .16em; }
.grit-metrics__grid > div::after { position: absolute; right: 0; bottom: -1px; left: 0; height: 2px; background: var(--gold); content: ""; transform: scaleX(0); transform-origin: left; transition: transform .85s cubic-bezier(.2,.75,.2,1); }
.has-grit-motion .grit-metrics__grid > div { opacity: .28; transform: translateY(18px); transition: opacity .7s ease, transform .7s cubic-bezier(.2,.75,.2,1); }
.has-grit-motion .grit-metrics__grid > div.is-counted { opacity: 1; transform: translateY(0); }
.grit-metrics__grid > div.is-counted::after { transform: scaleX(1); }
.grit-metrics__grid > div:nth-child(2) { transition-delay: .08s; }
.grit-metrics__grid > div:nth-child(3) { transition-delay: .16s; }
.grit-metrics__grid > div:nth-child(4) { transition-delay: .24s; }

.grit-signature { padding: 116px 0 128px; color: #e9e9e6; background: #090c10; overflow: clip; }
.grit-signature__head { display: grid; grid-template-columns: 1.3fr .7fr; gap: 80px; align-items: end; margin-bottom: 78px; }
.grit-signature__head p:first-child { margin: 0 0 20px; color: var(--gold); font-size: 11px; font-weight: 700; letter-spacing: .19em; }
.grit-signature__head h2 { max-width: 790px; margin: 0; color: #fff; font-family: "IBM Plex Sans KR", sans-serif; font-size: 48px; font-weight: 600; line-height: 1.26; letter-spacing: -.045em; }
.grit-signature__head > p { margin: 0 0 4px; color: #8f969f; font-size: 15px; line-height: 1.85; }
.has-grit-motion .grit-signature__head > div,.has-grit-motion .grit-signature__head > p { opacity: 0; transform: translateY(26px); transition: opacity .8s ease, transform .9s cubic-bezier(.2,.7,.2,1); }
.has-grit-motion .grit-signature__head.is-visible > div,.has-grit-motion .grit-signature__head.is-visible > p { opacity: 1; transform: translateY(0); }
.has-grit-motion .grit-signature__head.is-visible > p { transition-delay: .16s; }
.grit-signature__list { border-top: 1px solid #2f343b; }
.grit-signature__item { display: grid; grid-template-columns: minmax(0,1.12fr) minmax(360px,.88fr); min-height: 540px; border-bottom: 1px solid #2f343b; }
.has-grit-motion .grit-signature__item { opacity: 0; transform: translateY(34px); transition: opacity .82s ease, transform .95s cubic-bezier(.2,.7,.2,1); }
.has-grit-motion .grit-signature__item.is-visible { opacity: 1; transform: translateY(0); }
.grit-signature__item.is-reverse { grid-template-columns: minmax(360px,.88fr) minmax(0,1.12fr); }
.grit-signature__item.is-reverse .grit-signature__visual { order: 2; }
.grit-signature__item.is-reverse .grit-signature__copy { order: 1; border-left: 0; border-right: 1px solid #2f343b; }
.grit-signature__visual { position: relative; min-width: 0; overflow: hidden; background: #12161b; }
.grit-signature__visual::after { position: absolute; inset: 0; background: linear-gradient(135deg,transparent 48%,rgb(7 9 12 / 62%)); content: ""; }
.grit-signature__visual img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.62) contrast(1.08); transform: scale(1.09) translate3d(0,24px,0); transition: transform 1.25s cubic-bezier(.2,.65,.2,1),filter 1s ease; }
.grit-signature__item.is-visible .grit-signature__visual img { filter: saturate(.82) contrast(1.08); transform: scale(1.02) translate3d(0,0,0); }
.grit-signature__copy { display: flex; flex-direction: column; justify-content: center; padding: 64px 62px; border-left: 1px solid #2f343b; }
.grit-signature__copy > span { color: var(--gold); font-size: 9px; font-weight: 700; letter-spacing: .17em; }
.grit-signature__copy h3 { margin: 23px 0 22px; color: #fff; font-family: "IBM Plex Sans KR", sans-serif; font-size: 37px; font-weight: 600; line-height: 1.35; letter-spacing: -.04em; }
.grit-signature__copy p { margin: 0; color: #9ba1a9; font-size: 14px; line-height: 1.85; }
.grit-signature__copy ul { margin: 34px 0 0; padding: 0; border-top: 1px solid #30353c; list-style: none; }
.grit-signature__copy li { padding: 12px 0; color: #d3d5d8; border-bottom: 1px solid #30353c; font-size: 12px; }
.grit-signature__copy li::before { margin-right: 12px; color: var(--gold); content: "—"; }
.has-grit-motion .grit-signature__copy > * { opacity: 0; transform: translateY(15px); transition: opacity .55s ease, transform .7s cubic-bezier(.2,.7,.2,1); }
.has-grit-motion .grit-signature__item.is-visible .grit-signature__copy > * { opacity: 1; transform: translateY(0); }
.has-grit-motion .grit-signature__item.is-visible .grit-signature__copy > :nth-child(2) { transition-delay: .09s; }
.has-grit-motion .grit-signature__item.is-visible .grit-signature__copy > :nth-child(3) { transition-delay: .17s; }
.has-grit-motion .grit-signature__item.is-visible .grit-signature__copy > :nth-child(4) { transition-delay: .25s; }
.mall-hero__slide.is-active .mall-hero__background { animation: grit-hero-drift 8s ease-out both; }
.mall-hero__slide.is-active .hero-brief { animation: grit-brief-arrive .8s .2s cubic-bezier(.2,.75,.2,1) both; }
@keyframes grit-hero-drift { from { transform: scale(1.045) translate3d(8px,0,0); } to { transform: scale(1) translate3d(0,0,0); } }
@keyframes grit-brief-arrive { from { opacity: 0; transform: translate3d(24px,12px,0); } to { opacity: 1; transform: translate3d(0,0,0); } }

.grit-review-intro,.resource-store-intro { display: grid; grid-template-columns: 1fr 1fr; gap: 90px; align-items: end; padding-top: 76px; padding-bottom: 74px; border-bottom: 1px solid #d8d4cc; }
.grit-review-intro > div > p,.resource-store-intro > div > span { display: block; margin: 0 0 15px; color: #9b7734; font-size: 10px; font-weight: 700; letter-spacing: .17em; }
.grit-review-intro h2,.resource-store-intro h2 { margin: 0; font-family: "IBM Plex Sans KR", sans-serif; font-size: 37px; line-height: 1.38; letter-spacing: -.04em; }
.grit-review-intro > p,.resource-store-intro > p { max-width: 560px; margin: 0; color: #687079; font-size: 15px; line-height: 1.9; }
.grit-section-line { display: flex; align-items: center; justify-content: space-between; padding-bottom: 17px; border-bottom: 2px solid #111317; }
.grit-section-line h2 { margin: 0; font-size: 23px; letter-spacing: -.035em; }
.grit-section-line span { color: #9a7735; font-size: 9px; font-weight: 700; letter-spacing: .14em; }
.grit-student-reviews,.resource-catalog { padding-top: 74px; padding-bottom: 100px; }
.grit-student-review-grid { display: grid; grid-template-columns: repeat(3,1fr); border-left: 1px solid #d7d3cb; }
.grit-student-review-grid article { min-height: 350px; padding: 30px; border-right: 1px solid #d7d3cb; border-bottom: 1px solid #d7d3cb; }
.grit-student-review-grid article > header { display: flex; justify-content: space-between; color: #a47e34; font-size: 12px; letter-spacing: .08em; }
.grit-student-review-grid article > header small { color: #969ca2; font-size: 9px; }
.grit-student-review-grid h3 { margin: 42px 0 17px; font-size: 21px; line-height: 1.45; letter-spacing: -.025em; }
.grit-student-review-grid article > div { color: #687079; font-size: 13px; line-height: 1.8; }
.grit-student-review-grid article > footer { margin-top: 35px; padding-top: 18px; border-top: 1px solid #e0ddd6; }
.grit-student-review-grid article > footer strong,.grit-student-review-grid article > footer span { display: block; }
.grit-student-review-grid article > footer strong { font-size: 12px; }
.grit-student-review-grid article > footer span { margin-top: 4px; color: #93989e; font-size: 9px; }
.grit-review-empty { min-height: 280px; padding: 54px 44px; background: #f1f0ec; }
.grit-review-empty > span { color: #ad8944; font-size: 11px; }
.grit-review-empty h3 { margin: 46px 0 9px; font-size: 25px; }
.grit-review-empty p { margin: 0; color: #747a81; font-size: 13px; }
.grit-review-write { padding: 95px 0; color: #e6e7e9; background: #0b0e12; }
.grit-review-write__grid { display: grid; grid-template-columns: .72fr 1.28fr; gap: 90px; }
.grit-review-write__grid > div:first-child > p { margin: 0 0 18px; color: var(--gold); font-size: 10px; font-weight: 700; letter-spacing: .17em; }
.grit-review-write h2 { margin: 0 0 22px; color: #fff; font-family: "IBM Plex Sans KR", sans-serif; font-size: 41px; line-height: 1.3; letter-spacing: -.04em; }
.grit-review-write__grid > div:first-child > span { display: block; max-width: 360px; color: #858d96; font-size: 13px; line-height: 1.8; }
.grit-review-form { display: grid; grid-template-columns: 1fr 1fr; gap: 21px 18px; }
.grit-review-form label { display: block; }
.grit-review-form label:nth-of-type(n+3) { grid-column: 1/-1; }
.grit-review-form label > span { display: block; margin-bottom: 8px; color: #bfc4ca; font-size: 11px; font-weight: 600; }
.grit-review-form input,.grit-review-form select,.grit-review-form textarea { width: 100%; min-height: 51px; padding: 13px 15px; color: #edf0f2; background: #14181d; border: 1px solid #363c44; border-radius: 0; outline: 0; }
.grit-review-form textarea { resize: vertical; }
.grit-review-form input:focus,.grit-review-form select:focus,.grit-review-form textarea:focus { border-color: var(--gold); box-shadow: 0 0 0 2px rgb(215 182 109 / 15%); }
.grit-review-form button { grid-column: 1/-1; min-height: 54px; color: #111317; background: var(--gold); border: 0; font-weight: 700; cursor: pointer; }
.grit-form-notice { margin-bottom: 19px; padding: 14px 16px; border-left: 3px solid var(--gold); background: #171b20; font-size: 12px; }
.grit-form-notice.is-error { border-left-color: #c95d5d; }
.grit-review-gate { min-height: 230px; padding: 42px; color: #181b20; background: #f2f0eb; }
.grit-review-gate h3 { margin: 0 0 9px; font-size: 24px; }
.grit-review-gate p { margin: 0 0 35px; color: #6d747c; font-size: 13px; }
.grit-review-gate a { color: #8a672a; font-size: 12px; font-weight: 700; }
.grit-review-news-link { display: flex; min-height: 96px; align-items: center; justify-content: space-between; }
.grit-review-news-link p { margin: 0; color: #6b727a; font-size: 13px; }
.grit-review-news-link a { font-size: 12px; font-weight: 700; }
.review-message--student small { display: block; margin-bottom: 13px; color: #a37a2f; letter-spacing: .1em; }

.resource-product-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 44px 22px; padding-top: 35px; }
.resource-product-grid article { min-width: 0; }
.resource-product__visual { position: relative; aspect-ratio: 1/1.05; display: flex; align-items: center; justify-content: center; color: #f4f1e9; background: #10141a; overflow: hidden; }
.resource-product__visual img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.resource-product__visual > span { font-family: "IBM Plex Sans KR", sans-serif; font-size: 29px; font-weight: 600; line-height: 1.25; letter-spacing: -.03em; }
.resource-product__visual small { position: absolute; top: 18px; left: 18px; padding: 6px 8px; color: #15181c; background: var(--gold); font-size: 8px; font-weight: 700; letter-spacing: .1em; }
.resource-product-grid article:hover .resource-product__visual img { transform: scale(1.035); }
.resource-product__body { padding: 22px 3px 0; }
.resource-product__body > p { margin: 0; color: #a17c36; font-size: 9px; font-weight: 700; letter-spacing: .12em; }
.resource-product__body h3 { margin: 8px 0 11px; font-size: 20px; line-height: 1.45; }
.resource-product__body > span { display: block; min-height: 43px; color: #7b8188; font-size: 12px; line-height: 1.75; }
.resource-product__body footer { display: flex; align-items: center; justify-content: space-between; margin-top: 18px; padding-top: 15px; border-top: 1px solid #d9d5cd; }
.resource-product__body footer strong { font-size: 15px; }
.resource-product__body footer a { font-size: 11px; font-weight: 700; }
.resource-empty { min-height: 390px; padding: 58px; background: #f1f0ec; }
.resource-empty > p { margin: 0; color: #a17c36; font-size: 9px; font-weight: 700; letter-spacing: .15em; }
.resource-empty h3 { margin: 72px 0 13px; font-size: 30px; }
.resource-empty > span { color: #747b83; font-size: 13px; }
.resource-empty > div { display: flex; gap: 10px; margin-top: 34px; }
.resource-empty a { display: inline-flex; min-height: 48px; align-items: center; padding: 0 18px; color: #fff; background: #111317; font-size: 11px; font-weight: 700; }
.resource-empty a + a { color: #111317; background: transparent; border: 1px solid #bbb7af; }
.resource-store-guide { padding: 0 0 100px; }
.resource-store-guide .site-shell { display: grid; grid-template-columns: repeat(3,1fr); border-top: 2px solid #111317; border-left: 1px solid #d7d3cb; }
.resource-store-guide article { min-height: 210px; padding: 28px; border-right: 1px solid #d7d3cb; border-bottom: 1px solid #d7d3cb; }
.resource-store-guide article > span { color: #a17c36; font-size: 10px; }
.resource-store-guide h3 { margin: 42px 0 8px; font-size: 20px; }
.resource-store-guide p { margin: 0; color: #777e85; font-size: 12px; line-height: 1.75; }

.grit-registration-consents { margin: 22px 0 6px; padding: 17px 18px; background: #f2f0eb; border-top: 2px solid #171a1e; }
.woocommerce-account .bl-lms-auth__grid { display: block !important; }
.woocommerce-account .bl-lms-auth__panel.is-active { width: min(100%, 860px) !important; max-width: 860px !important; margin-inline: auto !important; }
.grit-consent-row { margin: 0 0 12px !important; }
.grit-consent-row label { display: flex; align-items: flex-start; gap: 9px; cursor: pointer; }
.grit-consent-row input { flex: 0 0 auto; width: 16px !important; min-height: 16px !important; margin-top: 3px; }
.grit-consent-row span { color: #4f565e; font-size: 11px; line-height: 1.65; }
.grit-consent-row b { color: #9a3f32; }
.grit-consent-row a { color: #7f5e25; text-decoration: underline; text-underline-offset: 2px; }
.grit-consent-help { margin: 8px 0 0 !important; padding-top: 10px; color: #858b91; border-top: 1px solid #d8d4cc; font-size: 9px; }

/* Preserve the original black logo artwork in the footer instead of filtering it. */
.footer-logo { width: 215px; padding: 12px 14px; background: #fff; border: 1px solid #3e444c; }
.footer-logo img { width: 185px; height: auto; padding: 0; background: #fff; filter: none; mix-blend-mode: normal; opacity: 1; }

@media (prefers-reduced-motion: reduce) {
  .grit-signature__visual img,.has-grit-motion .grit-signature__head > div,.has-grit-motion .grit-signature__head > p,.has-grit-motion .grit-signature__item,.has-grit-motion .grit-signature__copy > *,.has-grit-motion .grit-metrics__grid > div { opacity: 1; transform: none; transition: none; }
  .mall-hero__slide.is-active .mall-hero__background,.mall-hero__slide.is-active .hero-brief { animation: none; }
}
@media (max-width: 900px) {
  .grit-metrics__grid { grid-template-columns: 1fr 1fr; }
  .grit-metrics__grid > div:nth-child(3) { border-left: 1px solid #292e35; border-top: 1px solid #292e35; }
  .grit-metrics__grid > div:nth-child(4) { border-top: 1px solid #292e35; }
  .grit-signature__head,.grit-review-intro,.resource-store-intro,.grit-review-write__grid { grid-template-columns: 1fr; gap: 28px; }
  .grit-signature__item,.grit-signature__item.is-reverse { grid-template-columns: 1fr; }
  .grit-signature__item.is-reverse .grit-signature__visual,.grit-signature__item.is-reverse .grit-signature__copy { order: initial; }
  .grit-signature__visual { min-height: 410px; }
  .grit-signature__copy,.grit-signature__item.is-reverse .grit-signature__copy { border: 0; border-top: 1px solid #2f343b; }
  .grit-student-review-grid,.resource-product-grid,.resource-store-guide .site-shell { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 600px) {
  .grit-metrics__grid > div { min-height: 135px; padding: 24px 18px; }
  .grit-metrics strong { font-size: 40px; }
  .grit-metrics span { margin-top: 11px; font-size: 12px; }
  .grit-metrics small { right: 15px; bottom: 14px; font-size: 7px; }
  .grit-signature { padding: 72px 0 82px; }
  .grit-signature__head { margin-bottom: 47px; }
  .grit-signature__head h2 { font-size: 33px; line-height: 1.35; }
  .grit-signature__head > p { font-size: 13px; }
  .grit-signature__visual { min-height: 270px; }
  .grit-signature__copy { padding: 38px 21px 46px; }
  .grit-signature__copy h3 { font-size: 29px; }
  .grit-review-intro,.resource-store-intro { padding-top: 50px; padding-bottom: 48px; }
  .grit-review-intro h2,.resource-store-intro h2 { font-size: 29px; }
  .grit-student-reviews,.resource-catalog { padding-top: 52px; padding-bottom: 68px; }
  .grit-student-review-grid,.resource-product-grid,.resource-store-guide .site-shell { grid-template-columns: 1fr; }
  .grit-student-review-grid article { min-height: 300px; }
  .grit-review-write { padding: 65px 0; }
  .grit-review-write h2 { font-size: 32px; }
  .grit-review-form { grid-template-columns: 1fr; }
  .grit-review-form label { grid-column: 1/-1; }
  .grit-review-news-link { align-items: flex-start; flex-direction: column; justify-content: center; gap: 9px; }
  .resource-empty { min-height: 360px; padding: 35px 24px; }
  .resource-empty h3 { margin-top: 65px; font-size: 25px; }
  .resource-empty > div { flex-direction: column; }
  .resource-empty a { justify-content: center; }
  .footer-logo { width: 190px; padding: 10px 12px; }
  .footer-logo img { width: 164px; }
}

/* 2.4.4 — render the light footer mark cleanly on the dark footer surface. */
.footer-logo {
  isolation: isolate;
}

.footer-logo img {
  width: 190px;
  height: auto;
  padding: 0;
  background: transparent;
  filter: invert(1) grayscale(1) contrast(1.2);
  mix-blend-mode: screen;
  opacity: .94;
}

@media (max-width: 760px) {
  .footer-logo img {
    width: 165px;
  }
}

/* 2.4.6 — keep the desktop sticky navigation legible over every page. */
@media (min-width: 1121px) {
  body .site-header.is-scrolled .category-bar,
  body .site-header.is-scrolled .category-bar__inner,
  body .site-header.is-scrolled .main-navigation {
    color: #f5f2eb;
    background: #0b0e12 !important;
  }

  body .site-header.is-scrolled .category-bar {
    border-top: 1px solid #252a31;
    border-bottom: 1px solid #353b43;
    box-shadow: 0 12px 28px rgb(0 0 0 / 28%);
  }

  body .site-header.is-scrolled .nav-menu a {
    color: #f5f2eb !important;
    font-weight: 600;
    text-shadow: 0 1px 0 rgb(0 0 0 / 32%);
  }

  body .site-header.is-scrolled .nav-menu a:hover,
  body .site-header.is-scrolled .nav-menu a:focus-visible {
    color: #e4c36f !important;
  }

  body .site-header.is-scrolled .menu-toggle {
    color: #fff !important;
    background: #0b0e12 !important;
    border-right-color: #353b43;
  }

  body .site-header.is-scrolled .classroom-link {
    color: #111317 !important;
    background: #d7b66d !important;
    border-color: #d7b66d;
    box-shadow: inset 0 -3px 0 rgb(17 19 23 / 18%);
  }

  body .site-header.is-scrolled .classroom-link svg,
  body .site-header.is-scrolled .classroom-link small,
  body .site-header.is-scrolled .classroom-link b {
    color: #111317 !important;
  }
}

/* 2.4.7 final cascade — vector identity sizing. */
.brand img {
  width: 218px;
  height: auto;
  max-width: 100%;
  transform: none;
  filter: none;
}

.footer-logo img {
  width: 205px;
  height: auto;
  filter: invert(1) grayscale(1) brightness(1.65);
  mix-blend-mode: normal;
  opacity: .96;
}

@media (min-width: 1121px) {
  .brand-row { grid-template-columns: 228px minmax(320px, 540px) 210px; }
  .brand { width: 228px; }
  .brand img { width: 218px; }
}

@media (min-width: 761px) and (max-width: 1120px) {
  .brand { width: 190px; }
  .brand img { width: 180px; }
}

@media (max-width: 760px) {
  .brand { width: 176px; }
  .brand img { width: 168px; }
  .footer-logo img { width: 180px; }
}

/* 2.4.10 — official circular GRIT seal paired with the established wordmark. */
.brand img,
.footer-logo img {
  object-fit: contain;
  image-rendering: auto;
}

/* 2.4.11 final cascade — keep the supplied original artwork unchanged. */
.footer-logo {
  width: 215px;
  padding: 12px 14px;
  background: #fff;
  border: 1px solid #3e444c;
}
.footer-logo img {
  width: 185px;
  height: auto;
  padding: 0;
  background: #fff;
  filter: none !important;
  mix-blend-mode: normal;
  opacity: 1;
}
@media (min-width: 901px) {
  .footer-main { grid-template-columns: 240px minmax(0, 1fr) 190px; }
}
@media (min-width: 761px) and (max-width: 900px) {
  .footer-main { grid-template-columns: 215px minmax(0, 1fr); }
}
@media (max-width: 760px) {
  .footer-logo { width: 190px; padding: 10px 12px; }
  .footer-logo img { width: 164px; }
}
