:root {
  --la-navy-950: #071a33;
  --la-navy-900: #0a2342;
  --la-blue-700: #174ea6;
  --la-blue-600: #2563c5;
  --la-blue-100: #eaf2ff;
  --la-ink: #172033;
  --la-muted: #657187;
  --la-line: #dfe7f2;
  --la-surface: #f6f9fd;
  --la-white: #fff;
  --la-radius: 16px;
  --la-shadow: 0 16px 45px rgba(10, 35, 66, .10);
}

.la-hero { position: relative; overflow: hidden; padding: clamp(3.5rem, 8vw, 7rem) clamp(1.25rem, 5vw, 5rem); border-radius: 0 0 28px 28px; color: var(--la-white); background: radial-gradient(circle at 82% 20%, rgba(61, 139, 255, .30), transparent 30%), linear-gradient(125deg, var(--la-navy-950), #0e3768 60%, #174ea6); }
.la-hero::after { content: "§"; position: absolute; right: 7%; top: 50%; transform: translateY(-52%); font-family: Georgia, serif; font-size: clamp(9rem, 25vw, 22rem); line-height: 1; opacity: .055; }
.la-hero > * { position: relative; z-index: 1; max-width: 780px; }
.la-eyebrow, .la-kicker { display: block; margin-bottom: .8rem; color: #9fc4ff; font-size: .78rem; font-weight: 750; letter-spacing: .13em; text-transform: uppercase; }
.la-hero h1 { margin: 0 0 1rem; color: var(--la-white); font-family: Georgia, 'Times New Roman', serif; font-size: clamp(2.5rem, 6vw, 5.2rem); font-weight: 600; line-height: 1.03; letter-spacing: -.035em; }
.la-hero p { max-width: 680px; margin: 0; color: #dbe9ff; font-size: clamp(1rem, 2vw, 1.2rem); line-height: 1.75; }
.la-hero-actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 2rem; }
.la-button { display: inline-flex; align-items: center; justify-content: center; min-height: 46px; padding: .72rem 1.2rem; border: 1px solid #73a9ff; border-radius: 8px; color: #071a33 !important; background: #fff; font-weight: 700; text-decoration: none !important; transition: transform .2s ease, box-shadow .2s ease; }
.la-button:hover { transform: translateY(-2px); box-shadow: 0 10px 25px rgba(0,0,0,.18); }
.la-button-ghost { color: #fff !important; background: transparent; }
.la-section { padding: clamp(3rem, 7vw, 6rem) 0; }
.la-section-head { display: flex; align-items: end; justify-content: space-between; gap: 2rem; margin-bottom: 2rem; padding-bottom: 1.25rem; border-bottom: 1px solid var(--la-line); }
.la-section-head h2 { margin: 0; color: var(--la-navy-900); font-family: Georgia, 'Times New Roman', serif; font-size: clamp(2rem, 4vw, 3rem); letter-spacing: -.025em; }
.la-section-head p { max-width: 410px; margin: 0; color: var(--la-muted); }
.la-kicker { color: var(--la-blue-700); }
.la-card-grid, .la-resource-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.1rem; }
.la-subject-card, .la-resource-card { display: flex; flex-direction: column; min-height: 245px; padding: 1.55rem; border: 1px solid var(--la-line); border-radius: var(--la-radius); color: var(--la-ink) !important; background: var(--la-white); box-shadow: 0 1px 0 rgba(10,35,66,.03); text-decoration: none !important; transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease; }
.la-subject-card:hover, .la-resource-card:hover { transform: translateY(-4px); border-color: #a9c9f8; box-shadow: var(--la-shadow); }
.la-card-number { color: var(--la-blue-600); font-size: .8rem; font-weight: 800; letter-spacing: .12em; }
.la-subject-card h3, .la-resource-card h3 { margin: 1.2rem 0 .65rem; color: var(--la-navy-900); font-family: Georgia, 'Times New Roman', serif; font-size: 1.38rem; line-height: 1.25; }
.la-subject-card p, .la-resource-card p { color: var(--la-muted); line-height: 1.65; }
.la-card-link { margin-top: auto; color: var(--la-blue-700); font-weight: 750; }
.la-stats { display: grid; grid-template-columns: repeat(4, 1fr); overflow: hidden; margin: 1rem 0 5rem; border: 1px solid var(--la-line); border-radius: var(--la-radius); background: var(--la-surface); }
.la-stats div { padding: 1.6rem; border-right: 1px solid var(--la-line); }
.la-stats div:last-child { border: 0; }
.la-stats strong, .la-stats span { display: block; }
.la-stats strong { color: var(--la-navy-900); font-family: Georgia, serif; font-size: 2.2rem; }
.la-stats span { color: var(--la-muted); font-size: .88rem; }
.la-resource-type { align-self: flex-start; padding: .32rem .55rem; border-radius: 999px; color: var(--la-blue-700); background: var(--la-blue-100); font-size: .72rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.la-resource-card h3 a { color: inherit; text-decoration: none; }
.la-resource-meta { display: flex; justify-content: space-between; gap: 1rem; margin-top: auto; padding-top: 1rem; border-top: 1px solid var(--la-line); color: var(--la-muted); font-size: .82rem; }
.la-resource-meta a { color: var(--la-blue-700); font-weight: 750; text-decoration: none; }
.la-reference-panel { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin: 0 0 2rem; padding: 1.4rem; border-left: 4px solid var(--la-blue-600); border-radius: 0 var(--la-radius) var(--la-radius) 0; background: var(--la-surface); }
.la-reference-panel .la-kicker { grid-column: 1 / -1; margin: 0; }
.la-reference-panel span, .la-reference-panel strong { display: block; }
.la-reference-panel span { color: var(--la-muted); font-size: .75rem; text-transform: uppercase; letter-spacing: .06em; }
.la-reference-panel strong { margin-top: .2rem; color: var(--la-navy-900); }
.la-empty { grid-column: 1 / -1; padding: 2rem; border: 1px dashed #a9bad0; border-radius: var(--la-radius); text-align: center; background: var(--la-surface); }
.la-empty h3 { color: var(--la-navy-900); }

@media (max-width: 860px) {
  .la-card-grid, .la-resource-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .la-stats { grid-template-columns: repeat(2, 1fr); }
  .la-stats div:nth-child(2) { border-right: 0; }
  .la-stats div:nth-child(-n+2) { border-bottom: 1px solid var(--la-line); }
}
@media (max-width: 560px) {
  .la-hero { margin-inline: -1rem; border-radius: 0 0 22px 22px; }
  .la-section-head { align-items: flex-start; flex-direction: column; gap: .65rem; }
  .la-card-grid, .la-resource-grid, .la-reference-panel { grid-template-columns: 1fr; }
  .la-stats { grid-template-columns: 1fr; }
  .la-stats div { border-right: 0; border-bottom: 1px solid var(--la-line); }
}

/* Version 1.18: judgment sections, yearly papers, PDF syllabus and content protection */
.la-home-intro { padding-inline: clamp(1.25rem,6vw,6rem); }
.la-home-intro .la-home-section-title,.la-home-intro .la-home-section-title h2 { text-align: center; }
.la-content-protected,.la-content-protected * { -webkit-user-select: none; user-select: none; -webkit-touch-callout: none; }
.la-content-protected input,.la-content-protected textarea,.la-content-protected select,.la-content-protected [contenteditable="true"] { -webkit-user-select: text; user-select: text; }
.la-content-protected img,.la-content-protected a { -webkit-user-drag: none; user-drag: none; }
.la-aibe-paths.la-aibe-paths-three { grid-template-columns: repeat(3,minmax(0,1fr)); width: min(90%,1180px); }
.la-aibe-paths-three a { min-height: 235px; }
.la-pdf-viewer { width: min(90%,1180px); margin: clamp(1rem,2vw,1.75rem) auto 3rem; }
.la-pdf-viewer object { display: block; width: 100%; height: min(88vh,1200px); min-height: 760px; border: 1px solid #a9c2df; background: #eef5ff; box-shadow: 0 10px 30px rgba(10,35,66,.08); }
.la-pdf-open { display: inline-flex; margin-top: .8rem; color: #fff !important; background: #174ea6; }
.la-judgment-sections { width: min(80%,1180px); margin: 0 auto; }
.la-judgment-section { padding-top: clamp(1rem,2vw,1.6rem); }
.la-judgment-section + .la-judgment-section { margin-top: 1.2rem; padding-top: 1.8rem; border-top: 2px solid #174ea6; }
.la-yearly-browser { width: min(80%,1180px); margin: clamp(1rem,2vw,1.7rem) auto 3rem; }
.la-yearly-breadcrumb { display: flex; flex-wrap: wrap; align-items: center; gap: .55rem; margin-bottom: 1rem; padding: .8rem 1rem; border: 1px solid #c3d5e9; background: #eef5ff; }
.la-yearly-breadcrumb a { color: #174ea6; font-weight: 750; }
.la-yearly-list { display: grid; gap: .7rem; }
.la-yearly-card { display: flex; align-items: center; justify-content: space-between; gap: 1rem; min-height: 84px; padding: 1rem 1.2rem; border: 1px solid #a9c2df; border-left: 4px solid #397bd4; border-radius: 7px; color: #0a2342 !important; background: #fff; text-decoration: none !important; box-shadow: 0 5px 16px rgba(10,35,66,.05); }
.la-yearly-card:hover { border-color: #397bd4; background: #f3f8ff; transform: translateX(3px); }
.la-yearly-card h3 { margin: 0; color: #0a2342; font-family: Georgia,serif; font-size: 1.2rem; }
.la-yearly-card p { margin: .3rem 0 0; color: #657187; font-size: .82rem; }
.la-yearly-card strong { color: #174ea6; white-space: nowrap; }
.la-breadcrumb-bar { display: flex; flex-wrap: wrap; align-items: center; gap: .55rem; width: min(80%,1180px); margin: clamp(1rem,2vw,1.6rem) auto; padding: .8rem 1rem; border: 1px solid #bfd2e8; background: #eef5ff; color: #536a82; }
.la-breadcrumb-bar a { color: #174ea6; font-weight: 750; text-decoration: underline; text-underline-offset: 2px; }
.la-breadcrumb-bar strong { color: #0a3265; font-weight: 800; }
.la-breadcrumb-bar span { color: #74879b; }
@media (max-width: 900px) {
  .la-aibe-paths.la-aibe-paths-three { grid-template-columns: 1fr; width: min(100% - 2rem,1180px); }
  .la-judgment-sections,.la-yearly-browser,.la-pdf-viewer,.la-breadcrumb-bar { width: min(100% - 2rem,1180px); }
}
@media (max-width: 560px) {
  .la-pdf-viewer object { height: 78vh; min-height: 540px; }
  .la-yearly-card { align-items: flex-start; flex-direction: column; }
}
@media (prefers-reduced-motion: reduce) { .la-subject-card, .la-resource-card, .la-button { transition: none; } }

/* Homepage */
.la-home { color: var(--la-ink); }
.la-home-hero { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(320px, .85fr); align-items: center; min-height: 650px; overflow: hidden; padding: clamp(4rem, 8vw, 7.5rem) clamp(1.25rem, 6vw, 6rem); border-radius: 0 0 30px 30px; color: #fff; background: linear-gradient(120deg, #06172d 0%, #0a2a53 55%, #174ea6 100%); }
.la-home-hero-copy { position: relative; z-index: 2; max-width: 760px; }
.la-home-badge { display: inline-flex; align-items: center; gap: .55rem; margin-bottom: 1.5rem; color: #c9ddfb; font-size: .78rem; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
.la-home-badge span { width: 7px; height: 7px; border-radius: 50%; background: #64b5ff; box-shadow: 0 0 0 5px rgba(100,181,255,.12); }
.la-home-hero h1 { margin: 0; color: #fff; font-family: Georgia, 'Times New Roman', serif; font-size: clamp(3.1rem, 7vw, 6.3rem); font-weight: 500; line-height: .98; letter-spacing: -.055em; }
.la-home-hero h1 em { color: #9fc4ff; font-style: normal; }
.la-home-hero-copy > p { max-width: 660px; margin: 1.65rem 0 0; color: #d6e4f7; font-size: clamp(1.05rem, 2vw, 1.22rem); line-height: 1.75; }
.la-text-link { display: inline-flex; align-items: center; gap: .4rem; padding: .72rem .35rem; color: #fff !important; font-weight: 700; text-decoration: none !important; }
.la-home-hero-visual { position: relative; width: min(35vw, 470px); aspect-ratio: 1; justify-self: center; }
.la-law-mark { position: absolute; inset: 50% auto auto 50%; transform: translate(-50%, -50%); font-family: Georgia, serif; font-size: clamp(9rem, 22vw, 19rem); line-height: 1; color: rgba(255,255,255,.11); }
.la-orbit { position: absolute; inset: 8%; border: 1px solid rgba(159,196,255,.26); border-radius: 50%; }
.la-orbit-two { inset: 23%; }
.la-orbit-three { inset: 38%; }
.la-orbit span { position: absolute; display: grid; place-items: center; width: 64px; height: 64px; border: 1px solid rgba(255,255,255,.25); border-radius: 50%; color: #fff; background: rgba(9,40,80,.82); backdrop-filter: blur(5px); font-size: .72rem; font-weight: 750; }
.la-orbit-one span { right: 3%; top: 8%; }
.la-orbit-two span { left: -6%; bottom: 18%; }
.la-orbit-three span { right: -14%; bottom: 4%; }
.la-trust-strip { display: grid; grid-template-columns: repeat(3, 1fr); border: 1px solid var(--la-line); border-top: 0; border-radius: 0 0 16px 16px; background: #fff; }
.la-trust-strip > div { display: flex; align-items: center; gap: .8rem; padding: 1.35rem 1.6rem; border-right: 1px solid var(--la-line); }
.la-trust-strip > div:last-child { border: 0; }
.la-check { display: grid; place-items: center; flex: 0 0 28px; height: 28px; border-radius: 50%; color: var(--la-blue-700); background: var(--la-blue-100); font-weight: 800; }
.la-trust-strip p, .la-trust-strip strong, .la-trust-strip small { display: block; margin: 0; }
.la-trust-strip strong { color: var(--la-navy-900); font-size: .9rem; }
.la-trust-strip small { margin-top: .15rem; color: var(--la-muted); }
.la-home-section { display: flex; align-items: end; justify-content: space-between; gap: 3rem; padding: clamp(4.5rem, 9vw, 8rem) 0 2.4rem; }
.la-home-section-title h2, .la-quality-section h2, .la-home-cta h2 { margin: 0; color: var(--la-navy-900); font-family: Georgia, 'Times New Roman', serif; font-size: clamp(2.35rem, 5vw, 4.25rem); font-weight: 500; line-height: 1.07; letter-spacing: -.04em; }
.la-home-section-copy { max-width: 470px; color: var(--la-muted); line-height: 1.75; }
.la-inline-link { display: inline-block; margin-top: .5rem; color: var(--la-blue-700) !important; font-weight: 750; text-decoration: none !important; }
.la-home-subjects { padding-bottom: 2rem; }
.la-resource-heading { padding-bottom: 2rem; }
.la-resource-paths { border-top: 1px solid var(--la-line); }
.la-resource-paths > a { display: grid; grid-template-columns: 58px minmax(0, 1fr) auto; align-items: center; gap: 1.4rem; padding: 1.5rem .25rem; border-bottom: 1px solid var(--la-line); color: inherit !important; text-decoration: none !important; transition: padding .2s ease, background .2s ease; }
.la-resource-paths > a:hover { padding-inline: 1rem; background: var(--la-surface); }
.la-path-icon { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 12px; color: var(--la-blue-700); background: var(--la-blue-100); font-size: .78rem; font-weight: 800; }
.la-resource-paths h3 { margin: 0 0 .25rem; color: var(--la-navy-900); font-family: Georgia, serif; font-size: 1.35rem; }
.la-resource-paths p { margin: 0; color: var(--la-muted); }
.la-resource-paths > a > strong { color: #b1c2d8; font-family: Georgia, serif; font-size: 2rem; font-weight: 500; }
.la-quality-section { display: grid; grid-template-columns: minmax(260px, .75fr) minmax(0, 1.25fr); align-items: center; gap: clamp(2rem, 7vw, 7rem); margin-top: clamp(5rem, 10vw, 9rem); padding: clamp(3rem, 7vw, 6rem); border-radius: 24px; color: #dbe9ff; background: linear-gradient(135deg, #071a33, #0d376b); }
.la-quality-mark { display: grid; place-items: center; aspect-ratio: 1; border: 1px solid rgba(255,255,255,.16); border-radius: 50%; color: rgba(255,255,255,.12); font-family: Georgia, serif; font-size: clamp(5rem, 13vw, 11rem); letter-spacing: -.08em; }
.la-quality-section h2 { color: #fff; }
.la-quality-section p { max-width: 680px; color: #c3d5ed; line-height: 1.75; }
.la-quality-points { display: flex; flex-wrap: wrap; gap: .6rem; margin-top: 1.5rem; }
.la-quality-points span { padding: .55rem .75rem; border: 1px solid rgba(255,255,255,.16); border-radius: 7px; color: #e7f0ff; font-size: .8rem; }
.la-latest-head { padding-bottom: 2rem; }
.la-home-cta { display: flex; align-items: center; justify-content: space-between; gap: 2rem; margin-top: clamp(5rem, 9vw, 8rem); padding: clamp(2rem, 5vw, 4rem); border: 1px solid #b8d3fa; border-radius: 20px; background: linear-gradient(110deg, #eaf2ff, #f8fbff); }
.la-home-cta h2 { font-size: clamp(2rem, 4vw, 3.5rem); }
.la-home-cta p { margin-bottom: 0; color: var(--la-muted); }
.la-home-cta .la-button { color: #fff !important; background: var(--la-blue-700); white-space: nowrap; }
.la-home-disclaimer { max-width: 850px; margin: 2rem auto 0; padding-bottom: 2rem; color: var(--la-muted); font-size: .78rem; line-height: 1.6; text-align: center; }

@media (max-width: 900px) {
  .la-home-hero { grid-template-columns: 1fr; min-height: auto; }
  .la-home-hero-visual { display: none; }
  .la-trust-strip { grid-template-columns: 1fr; }
  .la-trust-strip > div { border-right: 0; border-bottom: 1px solid var(--la-line); }
  .la-home-section, .la-home-cta { align-items: flex-start; flex-direction: column; }
  .la-quality-section { grid-template-columns: 1fr; }
  .la-quality-mark { display: none; }
}
@media (max-width: 560px) {
  .la-home-hero { margin-inline: -1rem; padding-top: 4rem; padding-bottom: 4rem; }
  .la-resource-paths > a { grid-template-columns: 48px minmax(0, 1fr); }
  .la-resource-paths > a > strong { display: none; }
  .la-quality-section { margin-inline: -1rem; border-radius: 0; }
}

/* Portal navigation */
.la-portal-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 1rem; padding-bottom: 3rem; }
.la-portal-card { grid-column: span 2; display: flex; flex-direction: column; min-height: 260px; padding: 1.7rem; border: 1px solid var(--la-line); border-radius: 18px; color: var(--la-ink) !important; background: #fff; text-decoration: none !important; transition: transform .2s ease, box-shadow .2s ease; }
.la-portal-card:first-child, .la-portal-card:nth-child(2) { grid-column: span 3; }
.la-portal-card:hover { transform: translateY(-4px); box-shadow: var(--la-shadow); }
.la-portal-card > span { color: var(--la-blue-600); font-size: .78rem; font-weight: 800; letter-spacing: .12em; }
.la-portal-card h3 { margin: 2rem 0 .6rem; color: var(--la-navy-900); font-family: Georgia, serif; font-size: 1.7rem; }
.la-portal-card p { color: var(--la-muted); line-height: 1.65; }
.la-portal-card b { margin-top: auto; color: var(--la-blue-700); }
.la-portal-featured { color: #fff !important; background: linear-gradient(135deg, #071a33, #174ea6); }
.la-portal-featured h3, .la-portal-featured b { color: #fff; }
.la-portal-featured p { color: #dbe9ff; }
.la-portal-hero { padding: clamp(3rem, 7vw, 6rem) clamp(1.25rem, 5vw, 5rem); border-radius: 0 0 24px 24px; color: #dbe9ff; background: linear-gradient(125deg, #071a33, #174ea6); }
.la-portal-hero h1 { margin: 0 0 1rem; color: #fff; font-family: Georgia, serif; font-size: clamp(2.7rem, 6vw, 5rem); }
.la-portal-hero p { max-width: 740px; margin: 0; font-size: 1.1rem; line-height: 1.7; }

/* Subject landing page */
.la-subject-template { width: min(1180px, calc(100% - 2rem)); margin: 0 auto; }
.la-subject-hero { position: relative; overflow: hidden; padding: clamp(3.5rem, 8vw, 7rem) clamp(1.5rem, 6vw, 5rem); border-radius: 0 0 28px 28px; color: #dbe9ff; background: radial-gradient(circle at 85% 20%, rgba(93,157,255,.35), transparent 28%), linear-gradient(125deg, #06172d, #0c3568 65%, #174ea6); }
.la-subject-hero span { color: #9fc4ff; font-size: .78rem; font-weight: 750; letter-spacing: .1em; text-transform: uppercase; }
.la-subject-hero h1 { max-width: 850px; margin: 1rem 0; color: #fff; font-family: Georgia, serif; font-size: clamp(2.05rem, 4.5vw, 3.9rem); line-height: 1.08; }
.la-subject-hero p { max-width: 720px; margin: 0; line-height: 1.7; }
.la-subject-index { display: flex; flex-wrap: wrap; gap: .55rem; margin: 1.5rem 0 3rem; padding: 1.2rem; border: 1px solid var(--la-line); border-radius: 14px; background: #fff; }
.la-subject-index strong { width: 100%; color: var(--la-navy-900); }
.la-subject-index a { padding: .42rem .62rem; border-radius: 6px; color: var(--la-blue-700); background: var(--la-blue-100); font-size: .78rem; font-weight: 700; text-decoration: none; }
.la-subject-sections > section { display: grid; grid-template-columns: 70px minmax(0, 1fr); gap: 1.5rem; padding: clamp(2.2rem, 5vw, 4rem) 0; border-bottom: 1px solid var(--la-line); scroll-margin-top: 100px; }
.la-section-number { color: #b4c4d8; font-family: Georgia, serif; font-size: 2rem; }
.la-section-content h2 { margin: 0 0 1.4rem; color: var(--la-navy-900); font-family: Georgia, serif; font-size: clamp(1.8rem, 4vw, 2.7rem); }
.la-section-content h2 small { display: inline-block; margin-left: .6rem; color: var(--la-blue-700); font-family: inherit; font-size: .85rem; }
.la-subject-empty { padding: 1rem 1.2rem; border-left: 3px solid #a9c9f8; color: var(--la-muted); background: var(--la-surface); }
.la-subject-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .7rem; }
.la-subject-links a { display: flex; justify-content: space-between; gap: 1rem; padding: 1rem; border: 1px solid var(--la-line); border-radius: 10px; color: var(--la-navy-900); text-decoration: none; }
.la-subject-links b { color: var(--la-blue-700); white-space: nowrap; }
.la-units details { margin-bottom: .65rem; border: 1px solid var(--la-line); border-radius: 10px; background: #fff; }
.la-units summary { padding: 1rem 1.2rem; color: var(--la-navy-900); font-weight: 750; cursor: pointer; }
.la-units details > div { margin: 0 1rem 1rem; }
.la-download { display: inline-flex; padding: .8rem 1.1rem; border-radius: 8px; color: #fff !important; background: var(--la-blue-700); font-weight: 750; text-decoration: none !important; }

@media (max-width: 900px) {
  .la-portal-grid { grid-template-columns: repeat(2, 1fr); }
  .la-portal-card, .la-portal-card:first-child, .la-portal-card:nth-child(2) { grid-column: span 1; }
}
@media (max-width: 560px) {
  .la-portal-grid, .la-subject-links { grid-template-columns: 1fr; }
  .la-subject-sections > section { grid-template-columns: 1fr; gap: .5rem; }
}

/* Version 1.3: compact layout */
.la-home-hero { min-height: 500px; padding-block: clamp(3.25rem, 6vw, 5rem); }
.la-home-hero h1 { font-size: clamp(2.8rem, 6vw, 5.5rem); }
.la-home-section { padding: clamp(2.75rem, 5vw, 4.5rem) 0 1.6rem; }
.la-section { padding: clamp(2.4rem, 5vw, 4rem) 0; }
.la-hero { padding-block: clamp(3rem, 6vw, 4.75rem); }
.la-portal-hero { padding-block: clamp(2.75rem, 5vw, 4.25rem); }
.la-subject-hero { padding-block: clamp(3rem, 6vw, 4.75rem); }
.la-subject-card, .la-resource-card { min-height: 210px; padding: 1.3rem; }
.la-subject-card h3, .la-resource-card h3 { margin-top: .9rem; }
.la-stats { margin-bottom: 2.5rem; }
.la-stats div { padding: 1.2rem 1.4rem; }
.la-quality-section { gap: clamp(2rem, 5vw, 4rem); margin-top: clamp(3rem, 6vw, 5rem); padding: clamp(2.5rem, 5vw, 4rem); }
.la-home-cta { margin-top: clamp(3rem, 6vw, 5rem); padding: clamp(1.8rem, 4vw, 3rem); }
.la-subject-index { margin: 1rem 0 1.5rem; padding: 1rem; }
.la-subject-sections > section { padding: clamp(1.8rem, 4vw, 3rem) 0; }
.la-portal-hero + .la-resource-grid { margin-top: 2rem; }

/* Interactive learning explorer */
.la-explorer { display: grid; grid-template-columns: minmax(360px, .95fr) minmax(360px, 1.05fr); align-items: center; gap: clamp(2rem, 5vw, 5rem); padding: .5rem 0 1.5rem; }
.la-explorer-wheel { text-align: center; }
.la-wheel-shell { position:relative; width:min(100%,520px); aspect-ratio:1; margin:auto; isolation:isolate; }
.la-explorer-wheel svg { position:relative; z-index:1; display: block; width:100%; height: auto; margin: auto; overflow: visible; filter: drop-shadow(0 18px 28px rgba(10,35,66,.14)); }
.la-wheel-ring { fill: #071a33; stroke: #fff; stroke-width: 8; }
.la-wheel-option { cursor: pointer; outline: none; }
.la-wheel-option path { fill: #0d3768; stroke: #2b67aa; stroke-width: 2; transition: fill .25s ease, filter .25s ease; }
.la-wheel-option:nth-of-type(even) path { fill: #0a2c57; }
.la-wheel-option:hover path, .la-wheel-option:focus path { fill: #1c5fb4; }
.la-wheel-option.is-active path { fill: #2563c5; filter: drop-shadow(0 0 12px rgba(115,169,255,.6)); }
.la-wheel-option text { fill: #dbe9ff; font-family: Inter, Arial, sans-serif; font-size: 16px; font-weight: 750; text-anchor: middle; pointer-events: none; }
.la-wheel-option.is-active text { fill: #fff; }
.la-wheel-centre { fill: #fff; stroke: #9fc4ff; stroke-width: 5; filter: drop-shadow(0 8px 16px rgba(0,0,0,.2)); }
.la-wheel-centre-text { fill: #0a2342; font-family: Georgia, serif; font-size: 18px; font-weight: 700; letter-spacing: .08em; text-anchor: middle; pointer-events: none; }
.la-wheel-help { margin: .7rem 0 0; color: var(--la-muted); font-size: .8rem; }
.la-explorer-panels { min-height: 390px; display: flex; align-items: center; }
.la-explorer-panel { width: 100%; padding: clamp(1.8rem, 4vw, 3rem); border: 1px solid var(--la-line); border-radius: 20px; background: linear-gradient(145deg, #fff, #f6f9fd); box-shadow: 0 18px 50px rgba(10,35,66,.09); animation: laPanelIn .28s ease both; }
.la-explorer-panel[hidden] { display: none !important; }
.la-explorer-panel h3 { margin: .2rem 0 .8rem; color: var(--la-navy-900); font-family: Georgia, serif; font-size: clamp(2rem, 4vw, 3.2rem); }
.la-explorer-panel > p { color: var(--la-muted); font-size: 1.02rem; line-height: 1.7; }
.la-explorer-panel ul { display: grid; gap: .55rem; margin: 1.25rem 0 1.6rem; padding: 0; list-style: none; }
.la-explorer-panel li { position: relative; padding-left: 1.4rem; color: var(--la-ink); }
.la-explorer-panel li::before { content: "✓"; position: absolute; left: 0; color: var(--la-blue-600); font-weight: 800; }
.la-explorer-panel > a { display: inline-flex; align-items: center; gap: .7rem; padding: .75rem 1rem; border-radius: 8px; color: #fff !important; background: var(--la-blue-700); font-weight: 750; text-decoration: none !important; }
.la-explorer-panel > a:hover { background: #0a3c83; }
@keyframes laPanelIn { from { opacity: 0; transform: translateX(10px); } to { opacity: 1; transform: none; } }

@media (max-width: 900px) {
  .la-explorer { grid-template-columns: 1fr; gap: 1.25rem; }
  .la-explorer-wheel svg { width: min(100%, 460px); }
  .la-explorer-panels { min-height: 0; }
}
@media (max-width: 560px) {
  .la-home-hero { padding-block: 3.25rem; }
  .la-trust-strip > div { padding: 1rem 1.15rem; }
  .la-home-section { padding-top: 2.5rem; }
  .la-explorer { padding-bottom: .5rem; }
  .la-explorer-panel { padding: 1.4rem; }
  .la-wheel-option text { font-size: 14px; }
}
@media (prefers-reduced-motion: reduce) {
  .la-wheel-option path { transition: none; }
  .la-explorer-panel { animation: none; }
}

/* Version 1.4: first-screen composition and refined infographics */
.la-home-hero { min-height: 390px; padding-block: clamp(2.25rem, 4vw, 3.5rem); }
.la-home-hero h1 { font-size: clamp(2.7rem, 5.4vw, 4.9rem); }
.la-home-hero-copy > p { margin-top: 1.15rem; }
.la-home-hero-visual { width: min(38vw, 500px); aspect-ratio: auto; }
.la-knowledge-map { display: block; width: 100%; height: auto; overflow: visible; }
.la-map-lines path, .la-map-lines circle { fill: none; stroke: rgba(159,196,255,.28); stroke-width: 2; stroke-dasharray: 6 8; }
.la-map-node circle { fill: rgba(9,39,76,.94); stroke: rgba(159,196,255,.62); stroke-width: 2; }
.la-map-node text { fill: #e7f1ff; font-family: Inter, Arial, sans-serif; font-size: 10px; font-weight: 750; letter-spacing: .06em; text-anchor: middle; }
.la-map-core circle { fill: rgba(23,78,166,.96); stroke: #9fc4ff; stroke-width: 3; filter: drop-shadow(0 10px 22px rgba(0,0,0,.25)); }
.la-map-core path { fill: none; stroke: #fff; stroke-width: 4; stroke-linecap: round; stroke-linejoin: round; }
.la-map-core text { fill: #dceaff; font-family: Inter, Arial, sans-serif; font-size: 9px; font-weight: 750; letter-spacing: .08em; text-anchor: middle; }
.la-map-node-one, .la-map-node-three { animation: laMapFloat 5s ease-in-out infinite; }
.la-map-node-two, .la-map-node-four { animation: laMapFloat 5s ease-in-out -2.5s infinite; }
@keyframes laMapFloat { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-5px); } }

.la-trust-strip { gap: .7rem; padding: .7rem; border: 1px solid var(--la-line); border-top: 0; background: #f8fbff; }
.la-trust-strip > div { min-height: 72px; padding: .85rem 1.1rem; border: 1px solid #e1eaf5 !important; border-radius: 11px; background: #fff; box-shadow: 0 5px 14px rgba(10,35,66,.045); }
.la-principle-icon { display: grid; place-items: center; flex: 0 0 38px; width: 38px; height: 38px; border-radius: 10px; color: var(--la-blue-700); background: linear-gradient(145deg, #eaf2ff, #f7faff); }
.la-principle-icon svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.la-trust-strip strong { font-size: .92rem; }
.la-trust-strip small { font-size: .76rem; }
.la-home-intro { padding: clamp(2.2rem, 4vw, 3.3rem) 0 1rem; }
.la-explorer { padding-top: 0; padding-bottom: 1rem; }
.la-quality-section { margin-top: clamp(2.5rem, 4vw, 3.75rem); }
.la-home-cta { margin-top: clamp(2.5rem, 4vw, 3.75rem); }

.la-quality-visual { display: grid; align-content: center; }
.la-quality-step { display: flex; align-items: center; gap: 1rem; padding: 1.05rem 1.15rem; border: 1px solid rgba(159,196,255,.24); border-radius: 13px; background: rgba(255,255,255,.065); box-shadow: inset 0 1px rgba(255,255,255,.06); }
.la-quality-step > span { display: grid; place-items: center; flex: 0 0 42px; height: 42px; border-radius: 50%; color: #bcd6ff; background: rgba(37,99,197,.32); font-size: .76rem; font-weight: 800; }
.la-quality-step b, .la-quality-step small { display: block; }
.la-quality-step b { color: #fff; font-size: .95rem; }
.la-quality-step small { margin-top: .2rem; color: #9fb5d1; font-size: .73rem; }
.la-quality-visual > i { width: 2px; height: 22px; margin: 0 0 0 2.45rem; background: linear-gradient(#5d94df, rgba(93,148,223,.22)); }
.la-quality-step-final > span { font-size: 1rem; }

@media (max-width: 900px) {
  .la-home-hero { min-height: 360px; }
  .la-home-hero-visual { display: block; width: min(82vw, 430px); margin-top: 1.25rem; }
}
@media (max-width: 560px) {
  .la-home-hero { min-height: auto; padding-block: 2.75rem; }
  .la-home-hero-visual { width: 100%; }
  .la-trust-strip { padding: .55rem; }
  .la-trust-strip > div { min-height: 66px; padding: .75rem .9rem; }
  .la-home-intro { padding-top: 2rem; }
}
@media (prefers-reduced-motion: reduce) {
  .la-map-node-one, .la-map-node-two, .la-map-node-three, .la-map-node-four { animation: none; }
}

/* Version 1.5: orbiting hero map, Bezier field and 40/60 explorer */
.la-home-hero { position: relative; isolation: isolate; border-radius: 0; }
.la-home-hero-copy, .la-home-hero-visual { position: relative; z-index: 2; }
.la-hero-beziers { position: absolute; z-index: 0; inset: 0; width: 100%; height: 100%; pointer-events: none; opacity: .78; }
.la-bezier { fill: none; stroke: rgba(115,169,255,.16); stroke-width: 1.5; stroke-dasharray: 10 16; vector-effect: non-scaling-stroke; animation: laBezierFlow 14s linear infinite; }
.la-bezier-two { stroke: rgba(159,196,255,.11); animation-duration: 18s; animation-direction: reverse; }
.la-bezier-three { stroke: rgba(65,132,225,.14); animation-duration: 21s; }
.la-bezier-light { fill: #bcd6ff; filter: drop-shadow(0 0 8px #73a9ff); }
.la-light-two { fill: #5d94df; }
@keyframes laBezierFlow { to { stroke-dashoffset: -260; } }

.la-knowledge-map { filter: drop-shadow(0 18px 28px rgba(0,0,0,.18)); }
.la-map-orbiting { transform-box: view-box; transform-origin: 250px 195px; animation: laMapOrbit 24s linear infinite; }
.la-map-node { transform-box: view-box; animation: laMapCounterOrbit 24s linear infinite !important; }
.la-map-node-one { transform-origin: 112px 89px; }
.la-map-node-two { transform-origin: 390px 88px; }
.la-map-node-three { transform-origin: 103px 300px; }
.la-map-node-four { transform-origin: 397px 300px; }
.la-map-node circle { fill: rgba(7,31,62,.96); stroke: #8eb8f4; stroke-width: 2.2; filter: drop-shadow(0 7px 10px rgba(0,0,0,.22)); }
.la-map-node-one circle, .la-map-node-four circle { fill: rgba(15,61,117,.98); }
.la-map-node text { font-size: 10.5px; text-shadow: 0 1px 2px rgba(0,0,0,.3); }
.la-map-lines circle { stroke: rgba(159,196,255,.38); stroke-dasharray: 3 7; }
.la-map-lines path { stroke: rgba(115,169,255,.34); stroke-dasharray: none; }
.la-map-core circle { fill: url(#laBookGlow); stroke: #d7e7ff; stroke-width: 3.5; }
@keyframes laMapOrbit { to { transform: rotate(360deg); } }
@keyframes laMapCounterOrbit { to { transform: rotate(-360deg); } }

.la-home-intro { display: block; text-align: center; }
.la-home-intro .la-home-section-title { width: 100%; }
.la-home-intro h2 { white-space: nowrap; }
.la-explorer { grid-template-columns: minmax(330px, 2fr) minmax(0, 3fr); gap: clamp(1rem, 2vw, 1.75rem); }
.la-explorer-wheel svg { width: min(100%, 450px); }
.la-explorer-panels { min-height: 360px; }
.la-explorer-panel { padding: clamp(1.75rem, 3vw, 2.6rem); }

@media (max-width: 900px) {
  .la-home-intro h2 { white-space: normal; }
  .la-explorer { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
  .la-home-hero { margin-inline: -1rem; }
  .la-hero-beziers { opacity: .55; }
}
@media (prefers-reduced-motion: reduce) {
  .la-bezier, .la-map-orbiting, .la-map-node { animation: none !important; }
  .la-bezier-light { display: none; }
}

/* Version 1.6: six-node orbit, compact global rhythm and Semester V visual */
.la-bezier-four { stroke: rgba(114,185,255,.18); animation-duration: 16s; filter: drop-shadow(0 0 4px rgba(66,140,235,.25)); }
.la-bezier-five { stroke: rgba(198,221,255,.1); animation-duration: 24s; animation-direction: reverse; }
.la-light-three { fill: #dceaff; filter: drop-shadow(0 0 10px #8eb8f4); }
.la-home-hero::before { content: ""; position: absolute; z-index: 0; inset: 0; background: radial-gradient(circle at 76% 38%, rgba(54,123,214,.16), transparent 26%), radial-gradient(circle at 25% 80%, rgba(115,169,255,.08), transparent 31%); pointer-events: none; animation: laHeroAura 10s ease-in-out infinite alternate; }
@keyframes laHeroAura { to { opacity: .62; transform: scale(1.04); } }

.la-map-node-one { transform-origin: 250px 50px; }
.la-map-node-two { transform-origin: 375.6px 122.5px; }
.la-map-node-three { transform-origin: 375.6px 267.5px; }
.la-map-node-four { transform-origin: 250px 340px; }
.la-map-node-five { transform-origin: 124.4px 267.5px; }
.la-map-node-six { transform-origin: 124.4px 122.5px; }
.la-map-node-five, .la-map-node-six { transform-box: view-box; animation: laMapCounterOrbit 24s linear infinite !important; }
.la-map-node circle { fill: url(#laNodeGlow); stroke-width: 1.8; }
.la-map-node-one circle, .la-map-node-three circle, .la-map-node-five circle { stroke: #9fc4ff; }
.la-map-node-two circle, .la-map-node-four circle, .la-map-node-six circle { stroke: #5d94df; }
.la-map-inner-track { stroke: rgba(159,196,255,.15) !important; stroke-dasharray: 2 10 !important; }
.la-map-core circle { filter: drop-shadow(0 0 18px rgba(115,169,255,.33)) drop-shadow(0 12px 20px rgba(0,0,0,.24)); }

/* Shared compact spacing across plugin pages */
.la-section { padding-block: clamp(1.8rem, 3.5vw, 3rem); }
.la-section-head { margin-bottom: 1.35rem; padding-bottom: .9rem; }
.la-hero, .la-portal-hero, .la-subject-hero { padding-block: clamp(2.5rem, 4.5vw, 3.8rem); }
.la-hero-actions { margin-top: 1.35rem; }
.la-card-grid, .la-resource-grid { gap: .85rem; }
.la-subject-card, .la-resource-card { min-height: 190px; padding: 1.15rem; }
.la-subject-card h3, .la-resource-card h3 { margin: .75rem 0 .45rem; }
.la-stats { margin: .5rem 0 1.75rem; }
.la-reference-panel { margin-bottom: 1.25rem; padding: 1.1rem; }
.la-portal-hero + .la-resource-grid { margin-top: 1.25rem; }
.la-quality-section, .la-home-cta { margin-top: clamp(2rem, 3.5vw, 3rem); }
.la-subject-index { margin-block: .8rem 1rem; }
.la-subject-sections > section { padding-block: clamp(1.5rem, 3vw, 2.3rem); }
.la-section-content h2 { margin-bottom: 1rem; }

/* Semester V hero infographic */
.la-semester-hero { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(330px, .85fr); align-items: center; gap: clamp(1.5rem, 4vw, 4rem); }
.la-semester-hero::after { display: none; }
.la-semester-hero > * { max-width: none; }
.la-semester-visual { position: relative; z-index: 1; }
.la-semester-visual svg { display: block; width: min(100%, 535px); margin-inline: auto; filter: drop-shadow(0 15px 24px rgba(0,0,0,.18)); }
.la-semester-links circle, .la-semester-links path { fill: none; stroke: rgba(159,196,255,.32); stroke-width: 2; stroke-dasharray: 4 7; }
.la-semester-node circle { fill: rgba(7,31,62,.95); stroke: #8eb8f4; stroke-width: 2; }
.la-semester-node text { fill: #e8f1ff; font-family: Inter, Arial, sans-serif; font-size: 10px; font-weight: 750; text-anchor: middle; }
.la-semester-core circle { fill: url(#laSemesterGlow); stroke: #d7e7ff; stroke-width: 3; filter: drop-shadow(0 0 16px rgba(115,169,255,.35)); }
.la-semester-core text { fill: #fff; font-family: Georgia, serif; font-size: 16px; font-weight: 700; text-anchor: middle; }
.la-semester-core .la-semester-count { fill: #dbe9ff; font-family: Inter, Arial, sans-serif; font-size: 10px; letter-spacing: .08em; }
.la-semester-node { animation: laSemesterPulse 4s ease-in-out infinite; transform-box: fill-box; transform-origin: center; }
.la-semester-node:nth-of-type(even) { animation-delay: -2s; }
@keyframes laSemesterPulse { 50% { transform: scale(1.045); opacity: .86; } }

/* Full-width subject hero, contained reading column */
.la-subject-template { width: 100%; max-width: none; margin: 0; padding: 0; }
.la-subject-page { width: 100%; }
.la-subject-hero { width: 100%; border-radius: 0; }
.la-subject-index, .la-subject-sections { width: min(1180px, calc(100% - 2rem)); margin-inline: auto; }

@media (max-width: 900px) {
  .la-semester-hero { grid-template-columns: 1fr; }
  .la-semester-visual svg { width: min(100%, 390px); }
}
@media (max-width: 560px) {
  .la-semester-visual { display: none; }
  .la-section, .la-subject-sections > section { padding-block: 1.5rem; }
}
@media (prefers-reduced-motion: reduce) {
  .la-home-hero::before, .la-map-node-five, .la-map-node-six, .la-semester-node { animation: none !important; }
}

/* Version 1.7: refined learning map, semester cards and site footer */

.la-map-core .la-book-fill { fill: rgba(7,26,51,.2); stroke: #fff; stroke-width: 2.6; }
.la-map-core .la-book-line { fill: none; stroke: #dbe9ff; stroke-width: 2; }
.la-map-core .la-book-mark { fill: #dbe9ff; stroke: none; }
.la-map-core .la-map-curved-text { fill: #f4f8ff; font-family: Inter, Arial, sans-serif; font-size: 11px; font-weight: 800; letter-spacing: .025em; }
.la-book-icon { transform: translateY(-4px); }

.la-semester-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.la-semester-card { position: relative; overflow: hidden; min-height: 178px; border-color: #d7e3f3; background: linear-gradient(145deg,#fff 0 72%,#edf4ff); }
.la-semester-card::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 4px; background: linear-gradient(#174ea6,#73a9ff); transform: scaleY(.38); transform-origin: top; transition: transform .25s ease; }
.la-semester-card:hover::before { transform: scaleY(1); }
.la-semester-card .la-card-number { color: #657187; font-size: .7rem; letter-spacing: .12em; }

.la-dashboard-subject { position: relative; isolation: isolate; overflow: hidden; min-height: 168px; padding: 1.1rem 1.2rem; border: 1px solid #397bd4; background: linear-gradient(138deg,#0b376d,#174ea6); box-shadow: 0 8px 22px rgba(10,35,66,.12); }
.la-dashboard-subject::before { content: ""; position: absolute; z-index: -1; top: -52px; right: -45px; width: 135px; height: 135px; border-radius: 50%; background: radial-gradient(circle,#d9e9ff 0 40%,transparent 41%), repeating-radial-gradient(circle,transparent 0 12px,rgba(23,78,166,.08) 13px 14px); transition: transform .3s ease; }
.la-dashboard-subject:hover { border-color: #9fc4ff; background: linear-gradient(138deg,#0a2d59,#1e5db8); box-shadow: 0 16px 34px rgba(10,35,66,.18); transform: translateY(-3px); }
.la-dashboard-subject:hover::before { transform: scale(1.12) rotate(10deg); }
.la-subject-card-head { display: flex; align-items: center; justify-content: space-between; }
.la-subject-arrow { display: grid; place-items: center; width: 30px; height: 30px; border: 1px solid rgba(255,255,255,.45); border-radius: 50%; color: #fff; background: rgba(255,255,255,.1); }
.la-dashboard-subject .la-card-number { color: #aecdF5; }
.la-dashboard-subject h3 { margin: .65rem 0 .35rem; color: #fff; font-family: Inter,Arial,sans-serif; font-size: 1.18rem; font-weight: 750; }
.la-dashboard-subject p { margin: 0 0 .65rem; color: #d7e6f8; font-size: .84rem; line-height: 1.5; }
.la-dashboard-subject .la-card-link { color: #fff; font-size: .82rem; }
.la-subject-features { display: flex; flex-wrap: wrap; gap: .35rem; margin: .75rem 0; }
.la-subject-features span { padding: .22rem .48rem; border-radius: 4px; color: #31506f; background: #edf4ff; font-size: .7rem; font-weight: 700; }

.la-section-content { line-height: 1.75; }
.la-section-content h2, .la-section-content h3, .la-section-content h4 { color: #0a2342; }
.la-section-content ul, .la-section-content ol { padding-left: 1.35rem; }
.la-section-content blockquote { margin: 1rem 0; padding: .8rem 1rem; border-left: 4px solid #174ea6; background: #f3f7fc; }
.la-section-content table { width: 100%; border-collapse: collapse; }
.la-section-content th, .la-section-content td { padding: .65rem; border: 1px solid #dfe7f2; text-align: left; }

#colophon.site-footer { display: none !important; }
.la-site-footer { margin-top: clamp(2rem,4vw,3.5rem); color: #b8c9de; background: linear-gradient(135deg,#06172d,#0a2342 65%,#0d3261); }
.la-footer-grid { display: grid; grid-template-columns: 1.6fr repeat(3,1fr); gap: clamp(1.5rem,4vw,3.5rem); width: min(1180px,calc(100% - 2rem)); margin-inline: auto; padding: clamp(2.5rem,5vw,4rem) 0 2.2rem; }
.la-footer-name { color: #fff; font-family: Georgia,serif; font-size: 1.65rem; font-weight: 700; text-decoration: none; }
.la-footer-name span { color: #73a9ff; }
.la-footer-brand p { max-width: 340px; margin: .9rem 0; line-height: 1.65; }
.la-footer-note { color: #91a9c4; font-size: .78rem; text-transform: uppercase; letter-spacing: .07em; }
.la-site-footer h2 { margin: 0 0 .9rem; color: #fff; font-family: Inter,Arial,sans-serif; font-size: .82rem; text-transform: uppercase; letter-spacing: .09em; }
.la-site-footer ul { margin: 0; padding: 0; list-style: none; }
.la-site-footer li + li { margin-top: .48rem; }
.la-site-footer nav a { color: #c8d7e9; font-size: .9rem; text-decoration: none; }
.la-site-footer nav a:hover { color: #fff; }
.la-footer-bottom { display: flex; justify-content: space-between; gap: 1rem; width: min(1180px,calc(100% - 2rem)); margin-inline: auto; padding: 1.05rem 0; border-top: 1px solid rgba(255,255,255,.12); color: #91a9c4; font-size: .8rem; }
.la-policy { width: min(860px,calc(100% - 2rem)); margin: 0 auto; padding: clamp(2.25rem,5vw,4rem) 0; }
.la-policy h1 { margin-bottom: .7rem; }
.la-policy-lead { color: #4f6075; font-size: 1.12rem; line-height: 1.7; }
.la-policy section { padding: 1rem 0; border-bottom: 1px solid #e3eaf3; }
.la-policy section h2 { margin: 0 0 .45rem; font-size: 1.35rem; }
.la-policy-note { margin-top: 1.2rem; color: #657187; font-size: .82rem; }

@media (max-width: 900px) {
  .la-semester-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .la-footer-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 560px) {
  .la-semester-grid, .la-footer-grid { grid-template-columns: 1fr; }
  .la-footer-bottom { flex-direction: column; }
}
@media (prefers-reduced-motion: reduce) {
  .la-bezier { animation: none; }
}

/* Version 1.8: consistent portal chrome and practical-skills pathway */
.la-plugin-page .entry-header { display: none; }
.la-plugin-page .content-area { margin-top: 0; margin-bottom: 0; }
.la-plugin-page .entry-content { margin-top: 0; }
.la-plugin-page .la-portal-hero { min-height: 0; margin-top: 0; padding-block: clamp(2.5rem,4.5vw,3.8rem); border-radius: 0; }
.la-plugin-page .la-portal-hero + .la-resource-grid,
.la-plugin-page .la-portal-hero + .la-section { margin-top: 0; }
.la-aibe-section { border-bottom: 1px solid #dfe7f2; }

.la-skills-section { display: grid; grid-template-columns: minmax(280px,.82fr) minmax(0,1.18fr); gap: clamp(2rem,5vw,4.5rem); align-items: center; margin-top: clamp(2rem,3.5vw,3rem); padding: clamp(2.2rem,4.5vw,3.8rem); border: 1px solid #d8e5f5; background: linear-gradient(145deg,#f8fbff,#edf5ff); }
.la-skills-intro h2 { margin: .35rem 0 1rem; color: #0a2342; font-family: Georgia,serif; font-size: clamp(2rem,4vw,3.5rem); line-height: 1.1; }
.la-skills-intro > p { color: #4e6178; line-height: 1.7; }
.la-skills-support { margin-top: 1.1rem; padding-left: 1rem; border-left: 3px solid #2563c5; color: #172033 !important; font-weight: 600; }
.la-skills-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .75rem; }
.la-skills-grid article { position: relative; min-height: 190px; padding: 1.15rem; border: 1px solid #d6e3f3; background: rgba(255,255,255,.88); box-shadow: 0 8px 22px rgba(10,35,66,.055); transition: transform .22s ease,border-color .22s ease,box-shadow .22s ease; }
.la-skills-grid article:hover { transform: translateY(-3px); border-color: #8eb8f4; box-shadow: 0 14px 30px rgba(10,35,66,.1); }
.la-skills-grid article > span { position: absolute; top: 1rem; right: 1rem; color: #9aacbf; font-size: .7rem; font-weight: 800; letter-spacing: .1em; }
.la-skills-grid svg { width: 34px; height: 34px; margin-bottom: .85rem; fill: none; stroke: #174ea6; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.la-skills-grid h3 { margin: 0 0 .45rem; color: #0a2342; font-family: Georgia,serif; font-size: 1.22rem; }
.la-skills-grid p { margin: 0; color: #657187; font-size: .86rem; line-height: 1.6; }

@media (max-width: 900px) { .la-skills-section { grid-template-columns: 1fr; } }
@media (max-width: 560px) { .la-skills-grid { grid-template-columns: 1fr; } }

/* Version 1.9: compact record lists, About, Contact and Important Bare Acts */
.la-menu-contact > a { padding: .62rem 1rem !important; border-radius: 7px; color: #fff !important; background: #174ea6; }
.la-menu-contact > a:hover { background: #0a3c83; }

.la-resource-grid, .la-record-list, .la-subject-links { display: grid; grid-template-columns: 1fr; gap: .55rem; width: 100%; }
.la-record-row, .la-subject-links a { display: flex; align-items: center; justify-content: space-between; gap: 1.25rem; min-height: 72px; padding: .85rem 1rem; border: 1px solid #b9cbe0; border-radius: 7px; color: #172033 !important; background: #fff; text-decoration: none !important; transition: border-color .18s ease,background .18s ease,transform .18s ease; }
.la-record-row:hover, .la-subject-links a:hover { border-color: #4f83c7; background: #f7faff; transform: translateX(2px); }
.la-record-row h3 { margin: 0; color: #0a2342; font-family: Georgia,serif; font-size: 1.05rem; }
.la-record-row p { display: flex; flex-wrap: wrap; gap: .45rem 1rem; margin: .28rem 0 0; color: #657187; font-size: .78rem; }
.la-record-row p span + span::before { content: "·"; margin-right: 1rem; }
.la-record-row strong, .la-subject-links b { flex: 0 0 auto; color: #174ea6; font-size: .85rem; white-space: nowrap; }
.la-subject-links a { min-height: 66px; }
.la-subject-links a span { font-weight: 650; }

.la-about-hero, .la-contact-hero { display: grid; grid-template-columns: minmax(0,1.3fr) minmax(240px,.7fr); align-items: center; gap: 2rem; padding: clamp(3rem,6vw,5.5rem); color: #fff; background: linear-gradient(130deg,#06172d,#0a3265 68%,#174ea6); }
.la-about-hero h1, .la-contact-hero h1 { max-width: 850px; margin: .45rem 0 1rem; color: #fff; font-family: Georgia,serif; font-size: clamp(2.7rem,6vw,5rem); line-height: 1.04; }
.la-about-hero p, .la-contact-hero p { max-width: 760px; margin: 0; color: #d7e6f8; font-size: 1.08rem; line-height: 1.75; }
.la-about-seal { display: grid; place-items: center; width: 230px; height: 230px; margin-inline: auto; border: 1px solid rgba(255,255,255,.28); border-radius: 50%; box-shadow: inset 0 0 0 14px rgba(255,255,255,.04),0 18px 40px rgba(0,0,0,.2); }
.la-about-seal span { color: #fff; font-family: Georgia,serif; font-size: 4rem; line-height: 1; }
.la-about-seal small { margin-top: -4rem; color: #aecdF5; font-size: .62rem; letter-spacing: .12em; }
.la-about-story { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(2rem,6vw,6rem); padding: clamp(2.5rem,5vw,4.5rem) 0; border-bottom: 1px solid #dfe7f2; }
.la-about-story > div:first-child { align-self: start; text-align: left; }
.la-about-story > div:first-child .la-kicker,
.la-about-story > div:first-child h2 { margin-left: 0; text-align: left; }
.la-about-story h2, .la-about-vision h2 { margin: .4rem 0 0; color: #0a2342; font-family: Georgia,serif; font-size: clamp(2rem,4vw,3.4rem); line-height: 1.12; }
.la-about-story p, .la-about-vision p { color: #52657b; line-height: 1.8; }
.la-about-values { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: .75rem; padding: clamp(2rem,4vw,3.5rem) 0; }
.la-about-values article { padding: 1.25rem; border: 1px solid #cfdded; background: linear-gradient(145deg,#fff,#f5f9ff); }
.la-about-values span { color: #174ea6; font-size: .7rem; font-weight: 800; letter-spacing: .1em; }
.la-about-values h3 { margin: .8rem 0 .5rem; color: #0a2342; font-family: Georgia,serif; font-size: 1.2rem; }
.la-about-values p { margin: 0; color: #657187; font-size: .86rem; line-height: 1.65; }
.la-about-vision { margin-bottom: 2rem; padding: clamp(2.25rem,5vw,4rem); border-left: 5px solid #2563c5; background: #eef5ff; }
.la-about-vision p { max-width: 820px; }

.la-contact-mark { position: relative; display: grid; place-items: center; width: 210px; height: 210px; margin-inline: auto; border: 1px solid rgba(255,255,255,.2); border-radius: 50%; }
.la-contact-mark span { color: #fff; font-family: Georgia,serif; font-size: 3.5rem; }
.la-contact-mark i { position: absolute; inset: 18px; border: 1px dashed rgba(159,196,255,.34); border-radius: 50%; animation: laMapOrbit 18s linear infinite; }
.la-contact-mark i:nth-of-type(2) { inset: 42px; animation-direction: reverse; animation-duration: 12s; }
.la-contact-mark i:nth-of-type(3) { inset: -8px; border-style: solid; opacity: .22; }
.la-contact-layout { display: grid; grid-template-columns: minmax(240px,.7fr) minmax(0,1.3fr); gap: clamp(1.5rem,4vw,3.5rem); padding: clamp(2.25rem,5vw,4rem) 0; }
.la-contact-layout aside { padding: 1.5rem; color: #dbe9ff; background: #0a2342; }
.la-contact-layout aside h2 { margin-top: 0; color: #fff; font-family: Georgia,serif; }
.la-contact-layout aside p,.la-contact-layout aside li { color: #b8c9de; }
.la-contact-layout aside ul { padding-left: 1.2rem; }
.la-contact-layout aside a { color: #8eb8f4; overflow-wrap: anywhere; }
.la-contact-card { padding: clamp(1.4rem,3vw,2.2rem); border: 1px solid #c8d8ea; background: #fff; box-shadow: 0 12px 30px rgba(10,35,66,.07); }
.la-contact-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .9rem; }
.la-contact-fields p { margin: 0; }
.la-contact-fields label { display: block; margin-bottom: .35rem; color: #0a2342; font-size: .83rem; font-weight: 700; }
.la-contact-fields label b { color: #b42318; }
.la-contact-fields input,.la-contact-fields select,.la-contact-fields textarea,.la-act-filters input,.la-act-filters select { width: 100%; padding: .7rem .75rem; border: 1px solid #aebfd3; border-radius: 5px; background: #fff; }
.la-field-wide { grid-column: 1/-1; }
.la-contact-card button { margin-top: 1rem; border: 0; cursor: pointer; }
.la-honeypot { position: absolute !important; left: -9999px !important; }
.la-form-notice { margin-bottom: 1rem; padding: .8rem 1rem; border-left: 4px solid; }
.la-form-notice.is-success { border-color: #16803c; background: #edf9f1; }
.la-form-notice.is-error { border-color: #b42318; background: #fff1f0; }

.la-act-browser { display: grid; grid-template-columns: 245px minmax(0,1fr); gap: clamp(1.25rem,3vw,2.5rem); padding: clamp(2rem,4vw,3.5rem) 0; }
.la-act-filters { align-self: start; position: sticky; top: 100px; padding: 1.15rem; border: 1px solid #b9cbe0; background: #f6f9fd; }
.la-act-filters h2 { margin: 0 0 1rem; color: #0a2342; font-family: Georgia,serif; font-size: 1.35rem; }
.la-act-filters label { display: block; margin: .8rem 0 .3rem; color: #172033; font-size: .78rem; font-weight: 750; }
.la-act-filters .la-button { width: 100%; margin: 1rem 0 .7rem; border: 0; }
.la-contact-card button.la-button,
.la-act-filters button.la-button { background: #4f8fda !important; border-color: #4f8fda !important; color: #fff !important; }
.la-contact-card button.la-button:hover,
.la-contact-card button.la-button:focus,
.la-act-filters button.la-button:hover,
.la-act-filters button.la-button:focus { background: #174ea6 !important; border-color: #174ea6 !important; color: #fff !important; }
.la-act-filters form > a { display: block; color: #174ea6; font-size: .8rem; text-align: center; }
.la-act-provisions { margin-top: 2rem; padding-top: 1.5rem; border-top: 1px solid #c8d8ea; }

@media (max-width: 900px) { .la-about-hero,.la-contact-hero,.la-about-story,.la-contact-layout { grid-template-columns: 1fr; } .la-about-values { grid-template-columns: repeat(2,minmax(0,1fr)); } .la-act-browser { grid-template-columns: 1fr; } .la-act-filters { position: static; } }
@media (max-width: 560px) { .la-about-values,.la-contact-fields { grid-template-columns: 1fr; } .la-field-wide { grid-column: auto; } .la-record-row { align-items: flex-start; } }

/* Version 1.12: themed navigation and refined semester/subject layouts */
.main-navigation .sub-menu,
.header-navigation .menu .sub-menu,
.header-menu-container ul ul,
#masthead .sub-menu { border-color: #397bd4 !important; background: #0a3265 !important; box-shadow: 0 14px 30px rgba(7,26,51,.24) !important; }
.main-navigation .sub-menu a,
.header-navigation .menu .sub-menu a,
.header-menu-container ul ul a,
#masthead .sub-menu a { color: #eef5ff !important; background: transparent !important; }
.main-navigation .sub-menu a:hover,
.main-navigation .sub-menu a:focus,
.header-navigation .menu .sub-menu a:hover,
.header-navigation .menu .sub-menu a:focus,
.header-menu-container ul ul a:hover,
.header-menu-container ul ul a:focus,
#masthead .sub-menu a:hover,
#masthead .sub-menu a:focus { color: #fff !important; background: #174ea6 !important; }
.main-navigation .sub-menu,
.header-navigation .menu .sub-menu,
.header-menu-container ul ul,
#masthead .sub-menu { overflow: visible !important; border: 1px solid #4f82c6 !important; border-radius: 0 0 9px 9px !important; background: linear-gradient(180deg,#164b88 0%,#0a3265 55%,#08294f 100%) !important; box-shadow: inset 0 1px 0 rgba(255,255,255,.22),inset 0 -1px 0 rgba(0,0,0,.2),0 16px 30px rgba(7,26,51,.28) !important; }
.main-navigation .sub-menu .sub-menu,
.header-navigation .menu .sub-menu .sub-menu,
.header-menu-container ul ul ul,
#masthead .sub-menu .sub-menu { z-index: 99999 !important; top: 0 !important; left: 100% !important; border-radius: 0 9px 9px 9px !important; }
.main-navigation .sub-menu li,
.header-navigation .menu .sub-menu li,
.header-menu-container ul ul li,
#masthead .sub-menu li { border-bottom: 1px solid rgba(159,190,229,.2) !important; }
.main-navigation .sub-menu li:last-child,
.header-navigation .menu .sub-menu li:last-child,
.header-menu-container ul ul li:last-child,
#masthead .sub-menu li:last-child { border-bottom: 0 !important; }
.main-navigation .sub-menu a,
.header-navigation .menu .sub-menu a,
.header-menu-container ul ul a,
#masthead .sub-menu a { padding-top: .85rem !important; padding-bottom: .85rem !important; text-shadow: 0 1px 1px rgba(0,0,0,.25); box-shadow: inset 0 1px 0 rgba(255,255,255,.035); transition: background .18s ease,box-shadow .18s ease !important; }
.main-navigation .sub-menu a:hover,
.main-navigation .sub-menu a:focus,
.header-navigation .menu .sub-menu a:hover,
.header-navigation .menu .sub-menu a:focus,
.header-menu-container ul ul a:hover,
.header-menu-container ul ul a:focus,
#masthead .sub-menu a:hover,
#masthead .sub-menu a:focus { background: linear-gradient(180deg,#2e75cf,#174ea6) !important; box-shadow: inset 0 1px 0 rgba(255,255,255,.3),inset 4px 0 #8fc0ff !important; }
.la-units .la-subject-links { width: calc(100% - .75rem); }
.la-units .la-subject-links a { box-sizing: border-box; width: 100%; min-height: 66px; padding: .7rem .9rem; }

/* Version 1.13: Legal Updates editorial layout */
.la-legal-updates-page { padding: clamp(1.5rem,3vw,2.75rem) 0 3rem; }
.la-update-section + .la-update-section { margin-top: clamp(2rem,4vw,3.5rem); padding-top: clamp(1.75rem,3vw,2.5rem); border-top: 2px solid #174ea6; }
.la-update-heading { display: flex; align-items: end; justify-content: space-between; gap: 1rem; margin-bottom: 1.15rem; }
.la-update-heading .la-kicker { margin: 0 0 .35rem; }
.la-update-heading h2 { margin: 0; color: #081f3c; font-family: Georgia,serif; font-size: clamp(2rem,4vw,3.15rem); line-height: 1.08; }
.la-top-stories-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: clamp(.9rem,2vw,1.35rem); }
.la-top-story-card { overflow: hidden; border: 1px solid #b8cce4; border-radius: 10px; color: #13283f !important; background: #fff; box-shadow: 0 8px 22px rgba(10,50,101,.08); text-decoration: none !important; transition: transform .2s ease,border-color .2s ease,box-shadow .2s ease; }
.la-top-story-card:hover { transform: translateY(-3px); border-color: #397bd4; box-shadow: 0 14px 28px rgba(10,50,101,.14); }
.la-update-image { overflow: hidden; background: linear-gradient(135deg,#e9f2ff,#c9dcf4); }
.la-top-story-card .la-update-image { aspect-ratio: 16/9; border-bottom: 3px solid #397bd4; }
.la-update-image img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .3s ease; }
.la-top-story-card:hover .la-update-image img { transform: scale(1.025); }
.la-update-placeholder { display: grid; place-items: center; align-content: center; width: 100%; height: 100%; min-height: 120px; color: #174ea6; background: radial-gradient(circle at 25% 15%,#f8fbff,#dceaff 72%); }
.la-update-placeholder svg { width: 54px; fill: none; stroke: currentColor; stroke-width: 2; }
.la-update-placeholder small { margin-top: .35rem; color: #0a3265; font-size: .58rem; font-weight: 850; letter-spacing: .14em; }
.la-top-story-body { padding: 1rem 1.05rem 1.1rem; }
.la-top-story-body > span,.la-update-date { color: #59728d; font-size: .72rem; font-weight: 700; }
.la-top-story-body h3 { margin: .42rem 0 .85rem; color: #081f3c; font-family: Georgia,serif; font-size: clamp(1.05rem,1.5vw,1.3rem); line-height: 1.35; }
.la-top-story-body strong { color: #174ea6; font-size: .78rem; }
.la-recent-updates-list { display: grid; gap: .75rem; }
.la-recent-update-row { display: grid; grid-template-columns: minmax(170px,24%) minmax(0,1fr) auto; align-items: center; gap: 1.25rem; min-height: 140px; overflow: hidden; border: 1px solid #9fb9d7; border-left: 5px solid #397bd4; border-radius: 8px; color: #13283f !important; background: #f8fbff; text-decoration: none !important; transition: border-color .18s ease,background .18s ease,transform .18s ease; }
.la-recent-update-row:hover { transform: translateX(2px); border-color: #397bd4; background: #eef5ff; }
.la-recent-update-row .la-update-image { align-self: stretch; min-height: 140px; }
.la-recent-update-copy { padding: .85rem 0; }
.la-recent-update-copy h3 { margin: .3rem 0 .45rem; color: #081f3c; font-family: Georgia,serif; font-size: clamp(1.1rem,2vw,1.45rem); line-height: 1.3; }
.la-recent-update-copy p { margin: 0; color: #526980; font-size: .88rem; line-height: 1.55; }
.la-update-read { padding-right: 1.25rem; color: #174ea6; font-size: .82rem; white-space: nowrap; }
@media (max-width: 800px) { .la-top-stories-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } .la-recent-update-row { grid-template-columns: 150px minmax(0,1fr); } .la-update-read { display: none; } }
@media (max-width: 560px) { .la-top-stories-grid { grid-template-columns: 1fr; } .la-recent-update-row { grid-template-columns: 110px minmax(0,1fr); gap: .8rem; min-height: 112px; } .la-recent-update-row .la-update-image { min-height: 112px; } .la-recent-update-copy { padding: .65rem .65rem .65rem 0; } .la-recent-update-copy p { display: none; } }

/* Version 1.14: tighter page rhythm and centred portal content */
.la-plugin-page .la-portal-hero { padding-block: clamp(1.9rem,3.2vw,2.8rem); }
.la-plugin-page .la-hero,
.la-plugin-page .la-subject-hero { padding-block: clamp(2rem,3.5vw,3rem); }
.la-plugin-page .la-portal-hero h1 { margin-bottom: .65rem; }
.la-plugin-page .la-portal-hero p { line-height: 1.55; }
.la-plugin-page .la-section { padding-block: clamp(1.3rem,2.4vw,2rem); }
.la-plugin-page .la-section-head { margin-bottom: .9rem; padding-bottom: .65rem; }

.la-dashboard-subject::before { z-index: -1; top: -78px; right: -72px; width: 170px; height: 170px; border: 1px solid rgba(174,205,245,.24); background: rgba(142,184,244,.12); }
.la-dashboard-subject:hover::before { background: rgba(142,184,244,.18); }
.la-dashboard-subject .la-subject-arrow { border-color: rgba(202,224,255,.52); color: #f5f9ff; background: rgba(47,113,201,.72); box-shadow: 0 4px 12px rgba(4,30,63,.2); }

.la-about-story { display: block; width: min(1180px,calc(100% - 2rem)); margin: clamp(1.5rem,3vw,2.5rem) auto; padding: clamp(2rem,4vw,3.2rem); border: 0; border-left: 5px solid #2563c5; background: #eef5ff; }
.la-about-story > .la-kicker { margin: 0 0 .4rem; text-align: left; }
.la-about-story h2 { max-width: 780px; margin: 0 0 1rem; text-align: left; }
.la-about-story-copy { max-width: 900px; }
.la-about-story-copy p { margin: 0; }
.la-about-story-copy p + p { margin-top: .8rem; }

.la-resource-grid--la_judgment,
.la-aibe-section { width: min(80%,1180px); margin-inline: auto; }
.la-plugin-page .la-portal-hero + .la-resource-grid--la_judgment { margin-top: clamp(1.1rem,2vw,1.6rem); }
.la-aibe-section:first-of-type { padding-top: clamp(1.25rem,2.2vw,1.8rem); }

.la-act-browser { width: min(80%,1180px); margin-inline: auto; padding-block: clamp(1.25rem,2.4vw,2rem); }
.la-act-results { min-width: 0; }

.la-legal-updates-page { padding-top: clamp(.75rem,1.5vw,1.3rem); }
.la-update-heading { display: block; margin-bottom: .85rem; text-align: left; }
.la-update-heading h2 { text-align: left; }
.la-update-section + .la-update-section { margin-top: clamp(1.25rem,2.4vw,2rem); padding-top: clamp(.8rem,1.4vw,1.2rem); }

@media (max-width: 900px) {
  .la-resource-grid--la_judgment,
  .la-aibe-section,
  .la-act-browser { width: min(100% - 2rem,1180px); }
}
@media (max-width: 560px) {
  .la-about-story { width: calc(100% - 2rem); padding: 1.35rem; }
}

/* Version 1.15: member accounts, Mock AIBE, Turnstile and refined header */
.la-legal-updates-page { width: min(80%,1180px); margin-inline: auto; }
.la-turnstile { margin-top: .2rem; }

.site-main-header-wrap .site-header-row-container-inner > .site-container,
.site-header-row-container-inner > .site-container { padding-top: .3rem !important; padding-bottom: .3rem !important; }
.main-navigation .primary-menu-container > ul,
.header-navigation .menu { align-items: center; gap: .22rem; padding: .28rem; border: 1px solid #c5d8ee; border-radius: 12px; background: linear-gradient(180deg,#f8fbff,#eaf3ff); box-shadow: inset 0 1px 0 #fff,0 5px 16px rgba(10,50,101,.08); }
.main-navigation .primary-menu-container > ul > li > a,
.header-navigation .menu > li > a { min-height: 42px; padding: .62rem .9rem !important; border-radius: 8px; color: #163657 !important; font-size: .84rem; font-weight: 750; transition: color .18s ease,background .18s ease,box-shadow .18s ease; }
.main-navigation .primary-menu-container > ul > li > a:hover,
.main-navigation .primary-menu-container > ul > li.current-menu-item > a,
.main-navigation .primary-menu-container > ul > li.current-menu-ancestor > a,
.header-navigation .menu > li > a:hover,
.header-navigation .menu > li.current-menu-item > a,
.header-navigation .menu > li.current-menu-ancestor > a { color: #fff !important; background: linear-gradient(180deg,#397bd4,#174ea6); box-shadow: inset 0 1px 0 rgba(255,255,255,.35),0 5px 12px rgba(23,78,166,.2); }
.la-menu-contact > a { color: #174ea6 !important; background: #fff !important; border: 1px solid #7aa9e5 !important; }
.la-menu-signin > a { color: #fff !important; background: linear-gradient(180deg,#397bd4,#174ea6) !important; box-shadow: 0 5px 12px rgba(23,78,166,.2); }

.la-aibe-paths { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; width: min(80%,1100px); margin: clamp(1.5rem,3vw,2.5rem) auto; }
.la-aibe-paths a { display: flex; flex-direction: column; min-height: 250px; padding: clamp(1.5rem,3vw,2.2rem); border: 1px solid #b9cde5; border-radius: 14px; color: #172033 !important; background: linear-gradient(145deg,#fff,#eef5ff); text-decoration: none !important; box-shadow: 0 10px 28px rgba(10,35,66,.07); transition: transform .2s ease,border-color .2s ease,box-shadow .2s ease; }
.la-aibe-paths a:hover { transform: translateY(-3px); border-color: #397bd4; box-shadow: 0 16px 34px rgba(10,35,66,.12); }
.la-aibe-paths span { color: #397bd4; font-size: .72rem; font-weight: 850; letter-spacing: .12em; }
.la-aibe-paths h2 { margin: 1.2rem 0 .65rem; color: #0a2342; font-family: Georgia,serif; font-size: clamp(1.6rem,3vw,2.25rem); }
.la-aibe-paths p { color: #586b81; line-height: 1.65; }
.la-aibe-paths strong { margin-top: auto; color: #174ea6; }

.la-login-required,.la-mock-start,.la-mock-exam,.la-result-shell,.la-account-shell { width: min(1000px,calc(100% - 2rem)); margin: clamp(1.5rem,3vw,2.75rem) auto; }
.la-login-required { padding: clamp(1.5rem,4vw,3rem); border-left: 5px solid #2563c5; background: #eef5ff; }
.la-mock-start { display: grid; grid-template-columns: minmax(0,1.15fr) minmax(280px,.85fr); gap: 1.25rem; align-items: stretch; }
.la-mock-rules,.la-mock-options { padding: clamp(1.4rem,3vw,2.2rem); border: 1px solid #c4d6eb; border-radius: 12px; background: #fff; }
.la-mock-rules h2 { margin: .3rem 0 .8rem; color: #0a2342; font-family: Georgia,serif; font-size: 2rem; }
.la-mock-rules li { margin-bottom: .55rem; color: #526980; }
.la-mock-options { display: grid; gap: .8rem; background: #f4f8fd; }
.la-mock-options label { cursor: pointer; }
.la-mock-options label > input { position: absolute; opacity: 0; }
.la-mock-options label > span { display: flex; justify-content: space-between; padding: 1rem; border: 1px solid #aec5df; border-radius: 8px; background: #fff; }
.la-mock-options input:checked + span { border-color: #174ea6; background: #eaf2ff; box-shadow: inset 4px 0 #174ea6; }
.la-mock-options small { color: #657187; }
.la-mock-exam > header { position: sticky; z-index: 10; top: 0; display: flex; align-items: center; justify-content: space-between; gap: .75rem; padding: .65rem .9rem; color: #fff; background: linear-gradient(120deg,#071a33,#174ea6); box-shadow: 0 8px 20px rgba(7,26,51,.16); }
.la-mock-exam > header .la-kicker { margin-bottom: .15rem; font-size: .66rem; }
.la-mock-exam > header h1 { margin: 0; font-size: clamp(1.25rem,2.2vw,1.55rem); line-height: 1.05; }
.la-mock-exam > header .la-exam-timer { line-height: 1.1; }
.la-mock-exam > header .la-exam-timer strong { font-size: 1.12rem; }
.la-mock-exam h1 { margin: 0; color: #fff; font-family: Georgia,serif; font-size: 2rem; }
.la-exam-timer { text-align: right; }
.la-exam-timer small,.la-exam-timer strong { display: block; }
.la-exam-timer strong { font-size: 1.5rem; font-variant-numeric: tabular-nums; }
.la-mock-questions { display: grid; gap: 1rem; padding: 1rem 0; }
.la-mock-questions fieldset { margin: 0; padding: 1.2rem; border: 1px solid #b8cce4; border-radius: 10px; background: #fff; }
.la-mock-questions legend { display: flex; align-items: flex-start; gap: .75rem; width: 100%; padding: 0 .3rem; color: #0a2342; font-family: Georgia,serif; font-size: 1.12rem; font-weight: 700; line-height: 1.5; }
.la-mock-questions legend > span { display: grid; place-items: center; flex: 0 0 30px; height: 30px; border-radius: 50%; color: #fff; background: #174ea6; font-family: Inter,Arial,sans-serif; font-size: .75rem; }
.la-mock-choices { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .55rem; margin-top: .8rem; }
.la-mock-choices label { cursor: pointer; }
.la-mock-choices input { position: absolute; opacity: 0; }
.la-mock-choices label > span { display: flex; gap: .65rem; min-height: 52px; padding: .75rem; border: 1px solid #cfdaE8; border-radius: 7px; color: #354a61; background: #f9fbfe; }
.la-mock-choices label > span b { color: #174ea6; }
.la-mock-choices input:checked + span { border-color: #174ea6; color: #0a2342; background: #eaf2ff; box-shadow: inset 3px 0 #174ea6; }
.la-submit-exam { margin-bottom: 2rem; color: #fff !important; background: #174ea6; }
.la-result-shell { display: grid; grid-template-columns: 230px minmax(0,1fr); gap: clamp(1.5rem,4vw,3rem); align-items: center; padding: clamp(1.8rem,4vw,3.2rem); border: 1px solid #b7cce4; border-top: 6px solid #174ea6; background: linear-gradient(145deg,#fff,#f1f7ff); box-shadow: 0 15px 40px rgba(10,35,66,.1); }
.la-result-shell.is-pass { border-top-color: #16803c; }
.la-result-shell.is-fail { border-top-color: #b54708; }
.la-result-badge { display: grid; place-items: center; align-content: center; width: 210px; height: 210px; border: 12px solid #d9e8fa; border-radius: 50%; color: #0a2342; background: #fff; box-shadow: inset 0 0 0 2px #397bd4; }
.la-result-badge span { font-family: Georgia,serif; font-size: 3rem; }
.la-result-badge small { color: #526980; font-weight: 800; text-transform: uppercase; }
.la-result-shell h1 { margin: .25rem 0 .65rem; color: #0a2342; font-family: Georgia,serif; }
.la-result-shell dl { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); margin: 1.3rem 0; border: 1px solid #cbd9e9; }
.la-result-shell dl div { padding: .75rem; border-right: 1px solid #cbd9e9; }
.la-result-shell dl div:last-child { border: 0; }
.la-result-shell dt { color: #657187; font-size: .7rem; text-transform: uppercase; }
.la-result-shell dd { margin: .25rem 0 0; color: #0a2342; font-weight: 750; }

.la-account-shell { display: grid; grid-template-columns: minmax(0,.8fr) minmax(340px,1.2fr); gap: clamp(1.5rem,4vw,3rem); align-items: center; }
.la-account-intro > .la-kicker,.la-member-card > .la-kicker { margin: 0 0 .4rem !important; }
.la-account-intro > h1,.la-member-card > h1 { margin: 0 0 .8rem !important; color: #0a2342; font-family: Georgia,serif; font-size: clamp(2.2rem,4vw,3.7rem); line-height: 1.08; }
.la-account-card { padding: clamp(1.4rem,3vw,2.2rem); border: 1px solid #bed0e5; border-radius: 14px; background: #fff; box-shadow: 0 14px 36px rgba(10,35,66,.09); }
.la-account-tabs { display: grid; grid-template-columns: repeat(2,1fr); margin-bottom: 1rem; padding: .25rem; border-radius: 8px; background: #eaf2ff; }
.la-account-tabs button { padding: .7rem; border: 0; border-radius: 6px; color: #49627d; background: transparent; font-weight: 750; cursor: pointer; }
.la-account-tabs button.is-active { color: #fff; background: #174ea6; }
.la-account-form { display: none; gap: .8rem; }
.la-account-form.is-active { display: grid; }
.la-account-form[data-la-account-panel="register"],.la-profile-card .la-account-form { grid-template-columns: repeat(2,minmax(0,1fr)); }
.la-account-form label { color: #0a2342; font-size: .8rem; font-weight: 750; }
.la-account-form label small { display: block; margin-top: .3rem; color: #657187; font-size: .7rem; font-weight: 500; }
.la-account-form .la-optional { display: inline; margin-left: .2rem; color: #657187; font-size: .72rem; font-weight: 500; }
.la-account-form input { width: 100%; margin-top: .35rem; padding: .75rem; border: 1px solid #afc2d8; border-radius: 6px; }
.la-account-identity { grid-column: 1/-1; display: grid; grid-template-columns: 82px minmax(0,1fr); gap: 1rem; align-items: center; margin-bottom: .25rem; padding: 1rem; border: 1px solid #c5d5e8; border-radius: 10px; background: linear-gradient(135deg,#f8fbff,#edf4ff); }
.la-account-user-icon { display: grid; place-items: center; width: 82px; height: 82px; border-radius: 10px; color: #fff; background: linear-gradient(145deg,#397bd4,#0a3265); box-shadow: 0 8px 18px rgba(23,78,166,.2); }
.la-account-user-icon svg { width: 48px; height: 48px; fill: none; stroke: currentColor; stroke-width: 2.7; stroke-linecap: round; }
.la-account-identity-details { display: flex; flex-direction: column; justify-content: center; gap: .35rem; min-width: 0; }
.la-account-identity-details p { display: grid; grid-template-columns: 90px minmax(0,1fr); align-items: baseline; gap: .65rem; min-height: 0; margin: 0 !important; padding: 0 !important; }
.la-account-identity-details p span { color: #657187; font-size: .77rem; font-weight: 700; }
.la-account-identity-details p strong { color: #0a2342; font-size: 1rem; overflow-wrap: anywhere; }
.la-account-form .la-button { width: 100%; color: #fff !important; background: #397bd4; border: 0; }
.la-account-form[data-la-account-panel="register"] > .la-button,.la-profile-card .la-account-actions { grid-column: 1/-1; }
.la-social-divider { display: flex; align-items: center; gap: .8rem; margin: 1.1rem 0; color: #657187; }
.la-social-divider::before,.la-social-divider::after { content: ""; flex: 1; height: 1px; background: #d8e2ee; }
.la-social-buttons { display: grid; gap: .65rem; }
.la-social-buttons a { display: flex; align-items: center; justify-content: center; gap: .7rem; padding: .75rem; border: 1px solid #b8c8da; border-radius: 6px; color: #21384f !important; text-decoration: none !important; }
.la-social-buttons b { display: grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; color: #fff; background: #2776e8; }
.la-member-card { grid-column: 1/-1; max-width: 760px; margin-inline: auto; }
.la-account-actions { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .75rem; margin-top: .8rem; }
.la-account-actions .la-button { display: flex; align-items: center; justify-content: center; min-height: 46px; padding: .7rem .85rem; text-align: center; text-decoration: none !important; }
.la-text-button { color: #174ea6; font-weight: 750; }

@media (max-width: 900px) {
  .la-legal-updates-page,.la-aibe-paths { width: min(100% - 2rem,1180px); }
  .la-account-shell,.la-mock-start,.la-result-shell { grid-template-columns: 1fr; }
  .la-result-badge { width: 170px; height: 170px; }
  .la-result-shell dl { grid-template-columns: repeat(2,1fr); }
}
@media (max-width: 560px) {
	.la-account-form[data-la-account-panel="register"],.la-profile-card .la-account-form { grid-template-columns: 1fr; }
	.la-account-form[data-la-account-panel="register"] > .la-button,.la-profile-card .la-account-actions { grid-column: auto; }
	.la-account-identity { grid-column: auto; grid-template-columns: 68px minmax(0,1fr); }
	.la-account-user-icon { width: 68px; height: 68px; }
	.la-account-actions { grid-template-columns: 1fr; }
  .main-navigation .primary-menu-container > ul,.header-navigation .menu { padding: 0; border: 0; background: transparent; box-shadow: none; }
  .la-aibe-paths,.la-mock-choices { grid-template-columns: 1fr; }
  .la-result-shell dl { grid-template-columns: 1fr; }
  .la-result-shell dl div { border-right: 0; border-bottom: 1px solid #cbd9e9; }
}

/* Version 1.16: header polish, AIBE homepage feature and answer review */
@media (min-width: 901px) {
  .site-branding { margin-left: -14px; }
}
.main-navigation .primary-menu-container > ul,
.header-navigation .menu { border-color: #9fbadc; background: linear-gradient(180deg,#dceafd,#c9ddf6); box-shadow: inset 0 1px 0 rgba(255,255,255,.9),0 6px 17px rgba(10,50,101,.12); }
.main-navigation .primary-menu-container > ul > li.la-menu-contact > a,
.main-navigation .primary-menu-container > ul > li.la-menu-signin > a,
.header-navigation .menu > li.la-menu-contact > a,
.header-navigation .menu > li.la-menu-signin > a { color: #163657 !important; border: 0 !important; background: transparent !important; box-shadow: none !important; }
.main-navigation .primary-menu-container > ul > li.la-menu-contact > a:hover,
.main-navigation .primary-menu-container > ul > li.la-menu-contact.current-menu-item > a,
.main-navigation .primary-menu-container > ul > li.la-menu-signin > a:hover,
.main-navigation .primary-menu-container > ul > li.la-menu-signin.current-menu-item > a,
.header-navigation .menu > li.la-menu-contact > a:hover,
.header-navigation .menu > li.la-menu-contact.current-menu-item > a,
.header-navigation .menu > li.la-menu-signin > a:hover,
.header-navigation .menu > li.la-menu-signin.current-menu-item > a { color: #fff !important; background: linear-gradient(180deg,#397bd4,#174ea6) !important; box-shadow: inset 0 1px 0 rgba(255,255,255,.35),0 5px 12px rgba(23,78,166,.2) !important; }

.la-home-aibe { position: relative; isolation: isolate; overflow: hidden; margin-top: clamp(2rem,4vw,3.5rem); padding: clamp(2.5rem,5vw,4.5rem); color: #dbe9ff; background: radial-gradient(circle at 12% 28%,rgba(41,105,193,.22),transparent 28%),radial-gradient(circle at 88% 25%,rgba(70,130,215,.18),transparent 25%),linear-gradient(135deg,#04142b,#082d5b 62%,#0a3e7d); }
.la-aibe-bg { position: absolute; z-index: -1; inset: 0; opacity: .3; }
.la-aibe-bg svg { width: 100%; height: 100%; }
.la-aibe-bg path { fill: none; stroke: #5f9ce7; stroke-width: 1.2; stroke-dasharray: 6 12; }
.la-home-aibe-head { max-width: 850px; margin: 0 auto 1.7rem; text-align: center; }
.la-aibe-badge { display: inline-block; padding: .55rem 1.2rem; border: 1px solid #eab94e; border-radius: 999px; color: #f4c761; font-size: .72rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.la-home-aibe-head h2 { margin: 1rem 0 .55rem; color: #fff; font-family: Georgia,serif; font-size: clamp(2.35rem,5vw,4.2rem); line-height: 1.05; }
.la-home-aibe-head p { max-width: 720px; margin: 0 auto; color: #c8d9ee; font-size: 1.05rem; line-height: 1.65; }
.la-home-aibe-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1rem; max-width: 1120px; margin-inline: auto; }
.la-home-aibe-grid > a { display: flex; flex-direction: column; align-items: center; min-height: 330px; padding: 1.45rem; border: 1px solid rgba(159,196,255,.5); border-radius: 15px; color: #fff !important; background: linear-gradient(145deg,rgba(20,73,140,.7),rgba(5,31,65,.82)); text-align: center; text-decoration: none !important; box-shadow: inset 0 1px 0 rgba(255,255,255,.08); transition: transform .2s ease,border-color .2s ease,background .2s ease; }
.la-home-aibe-grid > a:hover { transform: translateY(-4px); border-color: #79aff5; background: linear-gradient(145deg,rgba(28,92,177,.82),rgba(7,42,85,.9)); }
.la-aibe-icon { display: grid; place-items: center; width: 92px; height: 92px; margin-bottom: 1rem; border: 1px solid rgba(95,156,231,.55); border-radius: 50%; background: rgba(18,71,139,.38); }
.la-aibe-icon svg { width: 52px; height: 52px; fill: none; stroke: #fff; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.la-home-aibe-grid h3 { margin: 0 0 .65rem; color: #fff; font-family: Georgia,serif; font-size: 1.55rem; }
.la-home-aibe-grid p { margin: 0 0 1rem; color: #c7d8ed; line-height: 1.6; }
.la-home-aibe-grid strong { margin-top: auto; padding: .7rem 1.05rem; border: 1px solid #5998e6; border-radius: 7px; color: #fff; }
.la-home-aibe-featured strong { border-color: #55a9ff; background: linear-gradient(180deg,#2687f5,#0d61cb); }
.la-home-aibe-points { display: flex; justify-content: center; gap: clamp(1.5rem,5vw,4rem); margin-top: 1.5rem; color: #dce9f8; font-size: .86rem; }
.la-home-aibe-points span::first-letter { color: #fff; }

.la-mock-options .la-button { color: #fff !important; border-color: #397bd4 !important; background: #397bd4 !important; }
.la-mock-options .la-button:hover,.la-mock-options .la-button:focus { color: #fff !important; border-color: #0a3c83 !important; background: #0a3c83 !important; }
.la-mock-choices input:checked + span { border-color: #0a3265; color: #fff; background: #0a3265; box-shadow: inset 4px 0 #73a9ff; }
.la-mock-choices input:checked + span b { color: #fff; }
.la-result-shell.is-pass .la-result-badge { color: #fff; border-color: #9ddcb2; background: #16803c; box-shadow: inset 0 0 0 2px #d8f3e1,0 10px 24px rgba(22,128,60,.22); }
.la-result-shell.is-fail .la-result-badge { color: #fff; border-color: #f1b5b2; background: #b42318; box-shadow: inset 0 0 0 2px #ffe3e1,0 10px 24px rgba(180,35,24,.2); }
.la-result-shell .la-result-badge small { color: #fff; }
.la-result-actions { display: flex; flex-wrap: wrap; gap: .7rem; }
.la-result-actions .la-button { color: #fff !important; background: #174ea6; }
.la-result-actions .la-button-secondary,.la-button-secondary { color: #174ea6 !important; border-color: #7aa9e5; background: #fff; }

.la-answer-review { width: min(1000px,calc(100% - 2rem)); margin: clamp(1.5rem,3vw,2.75rem) auto; }
.la-answer-review > header { display: flex; align-items: center; justify-content: space-between; gap: 1.25rem; margin-bottom: 1rem; padding: 1.25rem 1.4rem; border: 1px solid #b8cce4; background: #eef5ff; }
.la-answer-review h1 { margin: .2rem 0 .3rem; color: #0a2342; font-family: Georgia,serif; }
.la-answer-review header p { margin: 0; color: #526980; }
.la-review-choices .la-answer-choice { position: relative; display: flex; gap: .65rem; min-height: 52px; padding: .75rem; border: 1px solid #cfdae8; border-radius: 7px; color: #354a61; background: #f9fbfe; }
.la-review-choices .la-answer-choice b { color: #174ea6; }
.la-review-choices .la-answer-choice small { margin-left: auto; font-weight: 800; white-space: nowrap; }
.la-review-choices .la-answer-choice.is-correct { border-color: #16803c; color: #fff; background: #16803c; }
.la-review-choices .la-answer-choice.is-incorrect { border-color: #b42318; color: #fff; background: #b42318; }
.la-review-choices .la-answer-choice.is-correct b,.la-review-choices .la-answer-choice.is-incorrect b { color: #fff; }

/* Version 1.21: Forums, three-stat semester summary and dimensional submenus */
.la-stats-three { grid-template-columns: repeat(3,1fr); }
.la-forum-shell { width: min(1180px,calc(100% - 2rem)); margin: clamp(1.5rem,3vw,2.75rem) auto 3rem; }
.la-forum-tools { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: .85rem; margin-bottom: 2rem; }
.la-forum-tools > a { display: flex; flex-direction: column; min-height: 105px; padding: 1rem 1.1rem; border: 1px solid #8fb3df; border-radius: 10px; color: #fff !important; background: linear-gradient(145deg,#1e65b8,#0a3265); text-decoration: none !important; box-shadow: inset 0 1px 0 rgba(255,255,255,.25),0 8px 18px rgba(10,50,101,.14); }
.la-forum-tools > a:hover { transform: translateY(-2px); background: linear-gradient(145deg,#2b7bd4,#174ea6); }
.la-forum-tools strong { font-family: Georgia,serif; font-size: 1.12rem; }
.la-forum-tools span { margin-top: auto; color: #d9e9fc; font-size: .78rem; }
.la-forum-heading { display: flex; align-items: end; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; }
.la-forum-heading h2 { margin: .2rem 0 0; color: #0a2342; font-family: Georgia,serif; font-size: clamp(1.8rem,3vw,2.5rem); }
.la-forum-heading form { display: flex; min-width: min(390px,100%); }
.la-forum-heading input { flex: 1; min-width: 0; padding: .72rem .8rem; border: 1px solid #9cb8d7; border-radius: 7px 0 0 7px; }
.la-forum-heading button { padding: .72rem 1rem; border: 1px solid #174ea6; border-radius: 0 7px 7px 0; color: #fff; background: #174ea6; font-weight: 750; }
.la-forum-categories { border: 1px solid #b8cce4; background: #fff; }
.la-forum-categories article { display: grid; grid-template-columns: minmax(0,1.15fr) minmax(145px,.3fr) minmax(260px,.8fr); gap: 1.5rem; align-items: center; padding: 1rem 1.2rem; border-bottom: 1px solid #cfdeed; }
.la-forum-categories article:last-child { border-bottom: 0; }
.la-forum-categories h3 { margin: 0 0 .25rem; color: #0a3265; font-family: Georgia,serif; font-size: 1.18rem; }
.la-forum-categories p { margin: 0; color: #5a6d82; font-size: .86rem; }
.la-forum-recent { padding-left: 1rem; border-left: 3px solid #397bd4; }
.la-forum-recent span,.la-forum-recent small,.la-forum-recent em { display: block; color: #6b7d90; font-size: .72rem; }
.la-forum-recent a { display: block; overflow: hidden; margin: .18rem 0; color: #174ea6; font-weight: 750; text-overflow: ellipsis; white-space: nowrap; }
.la-forum-counts { display: grid; gap: .45rem; padding-left: 1rem; border-left: 1px solid #c7d7e8; }
.la-forum-counts strong { color: #0a3265; font-size: 1.05rem; }
.la-forum-counts span { color: #687b90; font-size: .75rem; font-weight: 650; }
.la-forum-topic-list { display: grid; gap: .65rem; }
.la-forum-topic-list > a { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem 1.15rem; border: 1px solid #adc4df; border-radius: 7px; color: inherit; background: #fff; text-decoration: none !important; }
.la-forum-topic-list h3 { margin: .18rem 0; color: #0a3265; font-family: Georgia,serif; }
.la-forum-topic-list span,.la-forum-topic-list p { margin: 0; color: #687b90; font-size: .76rem; }
.la-forum-topic-list strong { color: #174ea6; white-space: nowrap; }
.la-forum-rules { margin-top: 2rem; padding: 1.25rem 1.4rem; border-left: 5px solid #397bd4; background: #edf5ff; }
.la-forum-rules h2 { margin-top: 0; color: #0a3265; font-family: Georgia,serif; }
.la-forum-rules li { margin: .4rem 0; color: #435b73; }
.la-forum-form,.la-forum-reply-form { width: min(850px,calc(100% - 2rem)); margin: 2rem auto 3rem; padding: clamp(1.25rem,3vw,2rem); border: 1px solid #b5cae1; border-radius: 10px; background: #fff; box-shadow: 0 12px 30px rgba(10,50,101,.08); }
.la-forum-form h1,.la-forum-reply-form h2,.la-forum-replies h2 { color: #0a2342; font-family: Georgia,serif; }
.la-forum-form form,.la-forum-reply-form form { display: grid; gap: 1rem; }
.la-forum-form label { color: #183b61; font-size: .8rem; font-weight: 750; }
.la-forum-form input,.la-forum-form select,.la-forum-form textarea,.la-forum-reply-form textarea { box-sizing: border-box; width: 100%; margin-top: .35rem; padding: .75rem; border: 1px solid #a9bfd8; border-radius: 6px; }
.la-forum-form .la-button,.la-forum-reply-form .la-button { justify-self: start; color: #fff !important; background: #397bd4 !important; }
.la-topic-meta { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin: 1rem 0; padding: .8rem 1rem; border: 1px solid #c0d2e6; background: #f3f8ff; color: #526980; font-size: .82rem; }
.la-forum-author { display: inline-flex; align-items: center; gap: .55rem; }
.la-user-icon { display: grid; place-items: center; flex: 0 0 34px; width: 34px; height: 34px; border: 1px solid #82a9d8; border-radius: 50%; color: #fff; background: linear-gradient(145deg,#397bd4,#0a3265); box-shadow: inset 0 1px 0 rgba(255,255,255,.3); }
.la-user-icon svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; }
.la-forum-replies { margin: 1.5rem 0; }
.la-forum-replies article { margin-bottom: .8rem; padding: 1rem 1.15rem; border: 1px solid #b8cce4; border-radius: 8px; background: #fff; }
.la-forum-replies article header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin: -1rem -1.15rem 1rem; padding: .65rem 1.15rem; border-bottom: 1px solid #d2dfec; background: #eef5ff; color: #31506f; font-size: .78rem; }
.la-report-form { margin: 0; }
.la-report-form button { padding: .3rem .55rem; border: 1px solid #c26b63; border-radius: 5px; color: #a22b21; background: #fff; font-size: .7rem; font-weight: 750; cursor: pointer; }
.la-report-status { display: inline-block; padding: .35rem .65rem; border: 1px solid #8f1d14; border-radius: 5px; color: #fff; background: #b42318; font-size: .72rem; font-weight: 800; }
.la-forum-pagination { margin: 1.25rem 0; }
.la-forum-pagination ul { display: flex; flex-wrap: wrap; gap: .4rem; margin: 0; padding: 0; list-style: none; }
.la-forum-pagination a,.la-forum-pagination span { display: grid; place-items: center; min-width: 36px; min-height: 36px; padding: .2rem .55rem; border: 1px solid #a9c2df; border-radius: 5px; color: #174ea6; background: #fff; text-decoration: none !important; font-weight: 750; }
.la-forum-pagination .current { color: #fff; border-color: #174ea6; background: #174ea6; }
@media(max-width:900px){.la-forum-tools{grid-template-columns:repeat(2,1fr)}.la-forum-heading{align-items:stretch;flex-direction:column}.la-forum-categories article{grid-template-columns:1fr}.la-forum-recent,.la-forum-counts{padding:0;border-left:0}}
@media(max-width:560px){.la-stats-three,.la-forum-tools{grid-template-columns:1fr}.la-forum-heading form{min-width:0}.la-forum-topic-list>a{align-items:flex-start;flex-direction:column}}

/* Version 1.17: minimum exam time and attempt tracking */
.la-submit-wrap { display: flex; flex-wrap: wrap; align-items: center; gap: .8rem 1rem; margin-bottom: 2rem; }
.la-submit-wrap .la-submit-exam { margin: 0; }
.la-submit-exam:disabled { color: #dce8f8 !important; border-color: #738aa6 !important; background: #738aa6 !important; box-shadow: none !important; cursor: not-allowed; opacity: .82; transform: none !important; }
.la-submit-wrap [data-la-submit-wait] { color: #526980; font-size: .82rem; font-weight: 700; }

@media (max-width: 900px) {
  .la-home-aibe-grid { grid-template-columns: 1fr; }
  .la-home-aibe-grid > a { min-height: 260px; }
}
@media (max-width: 560px) {
  .la-home-aibe { margin-inline: -1rem; padding-inline: 1rem; }
  .la-home-aibe-points,.la-answer-review > header { align-items: flex-start; flex-direction: column; }
}
/* Version 1.23: structured judgment library and detail pages */
.la-judgment-table-wrap { overflow-x: auto; border: 1px solid #aac3e8; border-radius: 12px; background: #fff; box-shadow: 0 10px 28px rgba(7,26,51,.07); }
.la-judgment-table { width: 100%; min-width: 1050px; margin: 0; border-collapse: collapse; font-size: .93rem; }
.la-judgment-table th { padding: .9rem .8rem; color: #fff; background: #123f79; text-align: left; vertical-align: bottom; }
.la-judgment-table td { padding: .9rem .8rem; border-top: 1px solid #d5e0ef; border-right: 1px solid #e1e8f2; color: #19334f; vertical-align: top; line-height: 1.45; }
.la-judgment-table tbody tr:nth-child(even) { background: #f5f9ff; }
.la-judgment-table td:first-child { width: 70px; font-weight: 800; color: #174ea6; }
.la-judgment-table a { color: #0c4eac; font-weight: 750; }
.la-pdf-action { display: inline-block; margin: 0 .45rem .3rem 0; }
.la-pdf-placeholder { color: #697b91; font-size: .84rem; white-space: nowrap; }
.la-judgment-detail { width: min(100% - 2rem, 1040px); margin: 1.5rem auto 3rem; }
.la-judgment-summary { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1px; overflow: hidden; border: 1px solid #b9cce7; border-radius: 14px; background: #b9cce7; }
.la-judgment-summary > div { padding: 1rem 1.15rem; background: #f4f8fe; }
.la-judgment-summary span { display: block; margin-bottom: .3rem; color: #45617f; font-size: .72rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.la-judgment-summary strong { color: #071f3d; line-height: 1.45; }
.la-judgment-detail-section { margin-top: 1rem; padding: 1.2rem 1.35rem; border: 1px solid #b9cce7; border-left: 4px solid #1767c9; border-radius: 10px; background: #fff; }
.la-judgment-detail-section h2 { margin: 0 0 .65rem; color: #09284e; font-size: clamp(1.25rem,2vw,1.6rem); }
.la-judgment-detail-section p:last-child { margin-bottom: 0; }
@media (max-width:700px) { .la-judgment-summary { grid-template-columns: 1fr; } .la-judgment-table-wrap { border: 0; box-shadow: none; } .la-judgment-table { min-width: 0; } .la-judgment-table thead { display:none; } .la-judgment-table,.la-judgment-table tbody,.la-judgment-table tr,.la-judgment-table td { display:block; width:100%; } .la-judgment-table tr { margin-bottom:1rem; border:1px solid #aac3e8; border-radius:10px; overflow:hidden; } .la-judgment-table td { display:grid; grid-template-columns: 38% 62%; border-right:0; } .la-judgment-table td::before { content:attr(data-label); padding-right:.5rem; color:#123f79; font-weight:800; } }
/* Version 1.23.1: wider judgment register and structured detail text */
.la-judgment-sections { width: min(90%,1440px); }
.la-judgment-table th:nth-child(7),.la-judgment-table td:nth-child(7) { white-space: nowrap; }
.la-judgment-lines p { margin: 0; padding: .58rem .75rem; border-bottom: 1px solid #dce6f2; line-height: 1.55; }
.la-judgment-lines p:nth-child(odd) { background: #f5f9ff; }
.la-judgment-lines p:last-child { border-bottom: 0; }
.la-question-lines p { position: relative; padding-left: 1.8rem; }
.la-question-lines p::before { position: absolute; left: .7rem; color: #1767c9; content: '•'; font-weight: 900; }
@media (max-width:700px) { .la-judgment-sections { width: min(100% - 2rem,1440px); } .la-judgment-table td:nth-child(7) { white-space: normal; } }
/* Version 1.24: consolidated searchable judgment register */
.la-judgment-heading { align-items: center; }
.la-judgment-heading h2 { margin: 0; }
.la-judgment-type { display: inline-block; padding: .3rem .55rem; border-radius: 999px; font-size: .72rem; font-weight: 800; white-space: nowrap; }
.la-judgment-type--landmark { color: #fff; background: #174ea6; }
.la-judgment-type--important { color: #123f79; border: 1px solid #91add0; background: #eaf3ff; }
/* Version 1.25: judgment pagination and centred forum activity counts */
.la-judgment-pagination { margin: 1.25rem 0 0; }
.la-forum-counts { justify-self: stretch; }
/* Version 1.26: centred pagination, compact content, viewport animations and social footer */
.la-forum-pagination ul { justify-content: center; }
.la-judgment-detail { width: min(1180px,calc(100% - 2rem)); }
.la-forum-categories article { grid-template-columns: minmax(0,.88fr) minmax(125px,.26fr) minmax(310px,1fr); gap: 1rem; }
.la-forum-counts { padding-left: .55rem; }
.la-contact-layout { gap: clamp(1rem,2.6vw,2.4rem); padding-block: clamp(1.5rem,3.4vw,2.8rem); }
.la-contact-layout aside { padding: 1.05rem 1.2rem; }
.la-contact-layout aside p { margin-block: .5rem; }
.la-contact-layout aside li { margin-block: .18rem; }
.la-contact-card { padding: clamp(1rem,2vw,1.55rem); }
.la-contact-fields { gap: .6rem .75rem; }
.la-contact-fields label { margin-bottom: .2rem; }
.la-contact-fields input,.la-contact-fields select,.la-contact-fields textarea { padding: .55rem .65rem; }
.la-contact-card button { margin-top: .65rem; }
.la-explorer .la-wheel-ring { stroke-dasharray:none; stroke-opacity:1; filter:drop-shadow(0 2px 5px rgba(7,26,51,.22)); }
.la-quality-section.is-in-view .la-quality-step { animation: laQualityFocus 9s steps(1,end) infinite; }
.la-quality-section.is-in-view .la-quality-step:nth-of-type(1) { animation-delay: 0s; }
.la-quality-section.is-in-view .la-quality-step:nth-of-type(2) { animation-delay: 3s; }
.la-quality-section.is-in-view .la-quality-step:nth-of-type(3) { animation-delay: 6s; }
@keyframes laQualityFocus { 0%,32.99% { border-color:#9fc4ff; background:linear-gradient(110deg,rgba(37,99,197,.62),rgba(255,255,255,.12)); box-shadow:0 0 24px rgba(70,140,235,.3),inset 0 1px rgba(255,255,255,.2); transform:translateX(6px); } 33%,100% { border-color:rgba(159,196,255,.24); background:rgba(255,255,255,.065); box-shadow:inset 0 1px rgba(255,255,255,.06); transform:none; } }
.la-skills-grid article { border-color:#2d68ad; background:linear-gradient(145deg,#0b376d,#071f3e); box-shadow:0 10px 24px rgba(7,31,62,.15); }
.la-skills-grid article:hover { border-color:#8eb8f4; background:linear-gradient(145deg,#174ea6,#082951); }
.la-skills-grid article > span { color:#aecdF5; }
.la-skills-grid svg { stroke:#fff; }
.la-skills-grid h3 { color:#fff; }
.la-skills-grid p { color:#d7e6f8; }
.la-home-disclaimer { width:max-content; max-width:none; white-space:nowrap; }
.la-footer-bottom { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; }
.la-footer-copyright { grid-column:2; text-align:center; }
.la-footer-socials { display:flex; grid-column:3; justify-self:end; gap:.45rem; }
.la-footer-socials > a,.la-footer-socials > span { display:grid; place-items:center; width:34px; height:34px; border:1px solid rgba(159,196,255,.34); border-radius:50%; color:#dbe9ff; background:rgba(255,255,255,.055); }
.la-footer-socials a:hover { color:#fff; border-color:#8eb8f4; background:#174ea6; transform:translateY(-2px); }
.la-footer-socials svg { width:18px; height:18px; fill:currentColor; }
.single-la_study_note table thead th,.single-la_study_note table thead td,.single-la_study_note table tr:first-child th,.single-la_study_note table:not(:has(thead)) tr:first-child>td,.single-la_yearly_paper table thead th,.single-la_yearly_paper table thead td,.single-la_yearly_paper table tr:first-child th,.single-la_yearly_paper table:not(:has(thead)) tr:first-child>td { color:var(--la-table-head-text,#fff)!important; background:var(--la-table-head-bg,#0a3b75)!important; border-color:rgba(255,255,255,.22)!important; font-weight:700; }
.la-social-placeholder { opacity:.45; }
@media(max-width:900px){.la-forum-categories article{grid-template-columns:1fr 130px minmax(240px,1fr)}.la-home-disclaimer{width:auto;max-width:850px;white-space:normal}}
@media(max-width:700px){.la-footer-bottom{grid-template-columns:1fr;justify-items:center}.la-footer-spacer{display:none}.la-footer-copyright,.la-footer-socials{grid-column:1;justify-self:center}.la-footer-socials{margin-top:.65rem}}
@media(prefers-reduced-motion:reduce){.la-quality-step{animation:none!important;transform:none!important}}
/* Version 1.27: exclusive quality focus, branded social icons and configurable note tables */
/* Version 1.28: breathing explorer ring, contained Unit notes and contextual Study Note details */
.la-units details > .la-subject-links,.la-units .la-subject-links { box-sizing:border-box; width:auto!important; max-width:none; margin-right:1rem; margin-left:1rem; }
/* Version 1.29: fixed white wheel boundary with a separate external breathing halo */
/* Version 1.30: breathing particle halo, Yearly Paper table themes and sortable Judgment years */
/* Version 1.31: soft box-shadow breathing glow behind the homepage learning wheel */
/* Version 1.31.1: align the breathing shadow origin precisely with the fixed white wheel edge */
/* Version 1.31.2: enforce a true circular glow layer independently of container height */
/* Version 1.31.3: remove the external wheel glow and retain the fixed white boundary */
/* Version 1.31.4: keep the wheel shell and visible SVG at identical dimensions for true vertical centring */
.la-wheel-shell { width:min(100%,450px); }
.la-explorer-wheel .la-wheel-shell svg { width:100%; }
/* Version 1.32: searchable Bare Act section register and structured provision details */
.la-act-sections-head { align-items:center; gap:1.25rem; }
.la-act-sections-head h2 { margin-bottom:0; }
.la-act-section-search { display:flex; align-items:center; justify-content:flex-end; gap:.55rem; margin-left:auto; }
.la-act-section-search input { width:min(290px,48vw); min-height:42px; padding:.6rem .75rem; border:1px solid #aebfd3; border-radius:7px; background:#fff; }
.la-act-section-search button { min-height:42px; padding:.6rem 1rem; border:0; border-radius:7px; color:#fff; background:#174ea6; font-weight:750; cursor:pointer; }
.la-act-section-search button:hover,.la-act-section-search button:focus { background:#0a3c83; }
.la-act-section-search a { color:#174ea6; font-weight:700; }
.la-provision-table-wrap { overflow-x:auto; border:1px solid #d9e1eb; border-radius:10px; background:#fff; }
.la-provision-table { width:100%; margin:0; border:0; border-collapse:collapse; table-layout:fixed; }
.la-provision-table th,.la-provision-table td { padding:1rem 1.15rem; border:0; border-bottom:1px solid #e6ebf1; text-align:left; vertical-align:middle; }
.la-provision-table th:first-child,.la-provision-table td:first-child { width:19%; border-right:1px solid #d9e1eb; }
.la-provision-table thead th { color:#26364d; background:#f5f7fa; font-size:1rem; font-weight:800; }
.la-provision-table tbody tr:last-child td { border-bottom:0; }
.la-provision-act-title td { color:#062b61; background:#fff; font-weight:800; }
.la-provision-row--structure td { color:#0a2342; background:#fff; font-weight:400; }
.la-provision-row--structure a,.la-provision-row--structure span { color:#0a2342; font-weight:400; }
.la-provision-row--section td { color:#0a2342; background:#fff; }
.la-provision-row--section a,.la-provision-row--section span { color:#0a2342; }
.la-provision-row.is-structural-heading td,.la-provision-row.is-structural-heading a,.la-provision-row.is-structural-heading span { color:#0a3b75!important; font-weight:800!important; }
.la-provision-row.is-alert-particular td,.la-provision-row.is-alert-particular a,.la-provision-row.is-alert-particular span,.la-provision-row.is-alert-particular strong { color:#df6d22!important; }
.la-provision-row a { text-decoration:none; }
.la-provision-row a:hover span,.la-provision-row td:first-child a:hover { text-decoration:underline; text-underline-offset:3px; }
.la-provision-particular-link { display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.la-provision-particular-link strong { flex:0 0 auto; color:#174ea6; font-size:.82rem; white-space:nowrap; }

/* Version 1.45: AIBE question pagination and stricter content deterrence */
.la-question-page-summary { width:min(100% - 2rem,1000px); margin:1rem auto 0; color:#45617f; font-size:.86rem; font-weight:750; text-align:right; }
.la-question-server-pagination ul { justify-content:center; }
.la-question-pagination { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:.55rem; margin:1.25rem 0 1.75rem; }
.la-question-pagination-pages { display:flex; flex-wrap:wrap; justify-content:center; gap:.4rem; }
.la-question-pagination button { display:grid; place-items:center; min-width:38px; min-height:38px; padding:.35rem .7rem; border:1px solid #a9c2df; border-radius:6px; color:#174ea6; background:#fff; font:inherit; font-size:.82rem; font-weight:750; cursor:pointer; }
.la-question-pagination button:hover,.la-question-pagination button:focus-visible,.la-question-pagination button.is-current { color:#fff; border-color:#174ea6; background:#174ea6; }
.la-question-pagination button:disabled { color:#8192a8; border-color:#d4dce6; background:#f2f5f8; cursor:not-allowed; }
.la-question-page-status { flex-basis:100%; color:#526980; font-size:.82rem; font-weight:700; text-align:center; }
@media(max-width:560px){.la-question-pagination{gap:.4rem}.la-question-pagination>button{order:2}.la-question-pagination-pages{order:1;flex-basis:100%}.la-question-page-status{order:3}.la-question-page-summary{text-align:center}}
.la-provision-particular-link.is-empty { justify-content:flex-end; }
.la-provision-row.is-static { cursor:default; }
.la-provision-detail { margin:1.25rem 0 2rem; overflow:hidden; border:1px solid #c5d4e5; border-radius:10px; background:#fff; }
.la-provision-detail header { padding:1rem 1.25rem; border-bottom:1px solid #dce5ef; background:#f6f9fd; }
.la-provision-detail header span { display:block; color:#df6d22; font-size:.82rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.la-provision-detail--section header span { color:#0a2342; }
.la-provision-detail header h2 { margin:.35rem 0 0; color:#0a2342; font-size:clamp(1.35rem,2.5vw,1.9rem); }
.la-provision-description { padding:1.25rem; color:#23364d; line-height:1.75; }
.la-provision-marker { display:block; margin:1.15rem 0 0; color:#0a2342; }
.la-provision-marker strong { font-weight:800; }
.single-la_act_provision .la-provision-description table { width:100%; margin:1rem 0; border-collapse:collapse; color:#23364d; background:#fff; }
.single-la_act_provision .la-provision-description table th,.single-la_act_provision .la-provision-description table td { padding:.75rem .85rem; border:1px solid #aebfd3; text-align:left; vertical-align:top; }
.single-la_act_provision .la-provision-description table thead th,.single-la_act_provision .la-provision-description table thead td,.single-la_act_provision .la-provision-description table tr:first-child th,.single-la_act_provision .la-provision-description table:not(:has(thead)) tr:first-child>td { color:#fff!important; background:#0a3b75!important; border-color:rgba(255,255,255,.25)!important; font-weight:800; }
.la-act-record-navigation { display:grid; grid-template-columns:1fr 1fr 1fr; align-items:center; width:100%; margin:1.4rem 0 2.5rem; }
.la-act-record-navigation>div:nth-child(1) { justify-self:start; }
.la-act-record-navigation>div:nth-child(2) { justify-self:center; }
.la-act-record-navigation>div:nth-child(3) { justify-self:end; }
.la-act-nav-button { display:inline-flex; align-items:center; justify-content:center; min-width:112px; padding:.72rem 1.05rem; border:1px solid #0b438c; border-radius:8px; color:#fff!important; background:linear-gradient(180deg,#2c70cc 0%,#174ea6 58%,#0d3f87 100%); box-shadow:0 4px 0 #082f68,0 7px 14px rgba(7,42,86,.22); font-weight:800; text-decoration:none!important; transform:translateY(0); transition:transform .15s ease,box-shadow .15s ease,filter .15s ease; }
.la-act-nav-button:hover,.la-act-nav-button:focus { color:#fff!important; filter:brightness(1.08); transform:translateY(-1px); box-shadow:0 5px 0 #082f68,0 9px 16px rgba(7,42,86,.25); }
.la-act-nav-button:active { transform:translateY(3px); box-shadow:0 1px 0 #082f68,0 3px 7px rgba(7,42,86,.2); }
.la-act-nav-button.is-disabled { opacity:.42; cursor:not-allowed; box-shadow:0 2px 0 #607896; transform:none; }
.la-provision-description > :first-child { margin-top:0; }
.la-provision-description > :last-child { margin-bottom:0; }
@media(max-width:700px){.la-act-sections-head{align-items:flex-start}.la-act-section-search{width:100%;justify-content:flex-start;margin-left:0}.la-act-section-search input{width:100%}.la-provision-table{min-width:620px}.la-act-nav-button{min-width:0;padding:.65rem .75rem;font-size:.88rem}}

/* Version 1.50: Bare Act source note, editable criminal-law comparisons and menu controls */
.la-act-reference-note { display:block; clear:both; width:min(1240px,calc(100% - 2rem)); margin:0 auto 2.25rem; padding-top:1.5rem; color:#c62828; font-size:.9rem; font-weight:400; text-align:left; }
.la-act-reference-note a { color:#c62828!important; font-weight:400; overflow-wrap:anywhere; text-decoration:underline; text-underline-offset:3px; }
.la-criminal-comparison-page .entry-content > .wp-block-heading,
.la-criminal-comparison-page .entry-content > p,
.la-criminal-comparison-page .entry-content > .wp-block-table { width:min(1240px,calc(100% - 2rem)); margin-right:auto; margin-left:auto; }
.la-criminal-comparison-page .wp-block-table { overflow-x:auto; border:1px solid #c5d4e5; border-radius:10px; background:#fff; }
.la-criminal-comparison-table-rendered { width:100%; min-width:680px; margin:0; border:0; border-collapse:collapse; table-layout:fixed; }
.la-criminal-comparison-table-rendered th,
.la-criminal-comparison-table-rendered td { padding:.9rem 1rem; border:1px solid #c5d4e5; text-align:left; vertical-align:top; }
.la-criminal-comparison-table-rendered thead th { color:#fff!important; background:#0a3b75!important; font-weight:800; }
.la-criminal-comparison-table-rendered td.is-changed-cell { color:#1557b0!important; font-weight:800!important; }
.la-criminal-comparison-table-rendered tr.is-new-row > * { color:#16813a!important; font-weight:800!important; }
.la-criminal-comparison-table-rendered tr.is-deleted-row > * { color:#c62828!important; font-weight:800!important; }

/* Version 1.50.1: editable feature ticker above the site header */
.la-header-feature-ticker { position:relative; z-index:1001; width:100%; overflow:hidden; border-bottom:1px solid #e1e8f0; color:#173a60; background:#fff; box-shadow:0 1px 5px rgba(7,31,62,.04); }
.la-header-ticker-window { width:100%; overflow:hidden; }
.la-header-ticker-track { display:flex; width:max-content; will-change:transform; animation:laHeaderTicker 38s linear infinite; }
.la-header-ticker-group { display:flex; flex:0 0 auto; align-items:center; padding:.36rem 0; }
.la-header-ticker-item { padding:0 .85rem; font-size:.76rem; font-weight:700; letter-spacing:.015em; white-space:nowrap; }
.la-header-ticker-star { flex:0 0 auto; width:12px; height:12px; fill:#1767c9; }
.la-header-feature-ticker:hover .la-header-ticker-track { animation-play-state:paused; }
@keyframes laHeaderTicker { from { transform:translateX(0); } to { transform:translateX(-50%); } }
@media(max-width:700px){.la-header-ticker-track{animation-duration:28s}.la-header-ticker-item{padding:0 .65rem;font-size:.72rem}.la-header-ticker-star{width:11px;height:11px}}
@media(prefers-reduced-motion:reduce){.la-header-ticker-window{overflow-x:auto}.la-header-ticker-track{animation:none}.la-header-ticker-group[aria-hidden="true"]{display:none}}

/* Version 1.33: compact portal heroes and dedicated Bare Act detail bands */
.la-plugin-page .la-portal-hero,
.la-plugin-page .la-contact-hero { box-sizing:border-box; height:clamp(250px,18vw,285px); min-height:0; padding-block:clamp(1.75rem,3.15vw,2.65rem); }
.la-plugin-page .la-portal-hero { display:flex; flex-direction:column; justify-content:center; }
.la-plugin-page .la-contact-hero { grid-template-columns:minmax(0,1.45fr) minmax(170px,.55fr); }
.la-plugin-page .la-contact-mark { width:150px; height:150px; }
.la-plugin-page .la-contact-mark span { font-size:2.65rem; }
.single-la_bare_act .entry-header,
.single-la_act_provision .entry-header,
.single-la_bare_act .hero-section,
.single-la_act_provision .hero-section { display:none!important; }
.la-act-detail-band { width:100vw; margin-left:calc(50% - 50vw); color:#fff; border-bottom:3px solid #76a9ea; background:linear-gradient(110deg,#073b79,#294f89); }
.la-act-detail-band-inner { box-sizing:border-box; width:min(1240px,calc(100% - 2rem)); margin-inline:auto; padding:clamp(1.35rem,2.8vw,2rem) 0; }
.la-act-detail-band h1 { margin:0 0 .55rem; color:#fff; font-family:Georgia,serif; font-size:clamp(1.8rem,3.5vw,2.7rem); line-height:1.12; }
.la-act-detail-nav { display:flex; flex-wrap:wrap; align-items:center; gap:.42rem .65rem; color:#d6e8ff; font-size:.9rem; }
.la-act-detail-nav a { color:#d6e8ff!important; text-decoration:none; }
.la-act-detail-nav a:hover,.la-act-detail-nav a:focus { color:#fff!important; text-decoration:underline; text-underline-offset:3px; }
.la-act-detail-nav strong { color:#fff; font-weight:750; }
.single-la_bare_act .la-act-provisions { margin-top:1.25rem; padding-top:0; border-top:0; }
.single-la_bare_act .la-act-detail-band + .la-act-provisions,
.single-la_act_provision .la-act-detail-band + .la-provision-detail { margin-top:1.25rem; }
@media(max-width:900px){.la-plugin-page .la-portal-hero,.la-plugin-page .la-contact-hero{height:auto;min-height:230px}.la-plugin-page .la-contact-hero{grid-template-columns:1fr}.la-plugin-page .la-contact-mark{display:none}}

/* Version 1.34: balanced compact heroes and flush Bare Act detail bands */
.la-plugin-page .la-portal-hero .la-kicker,
.la-plugin-page .la-contact-hero .la-kicker { margin:0 0 .35rem; }
.la-plugin-page .la-portal-hero h1,
.la-plugin-page .la-contact-hero h1 { margin:0 0 .55rem; font-size:clamp(2.15rem,4.1vw,3.65rem); line-height:1.04; }
.la-plugin-page .la-portal-hero p,
.la-plugin-page .la-contact-hero p { max-width:760px; margin:0; font-size:clamp(.94rem,1.2vw,1.05rem); line-height:1.5; }
body.single-la_bare_act,
body.single-la_act_provision { --content-vertical-spacing:0px; }
.single-la_bare_act [data-vertical-spacing*="top"],
.single-la_act_provision [data-vertical-spacing*="top"] { padding-top:0!important; }
.single-la_bare_act .content-area,
.single-la_act_provision .content-area,
.single-la_bare_act .entry-content,
.single-la_act_provision .entry-content { margin-top:0!important; padding-top:0!important; }
.la-act-description { width:min(1240px,calc(100% - 2rem)); margin:1.25rem auto 0; padding:1rem 1.15rem; border-left:4px solid #1767c9; background:#f4f8fe; }
.la-act-description h2 { margin:0 0 .55rem; color:#0a2342; font-size:1.15rem; }
.la-act-description > div { color:#263b53; line-height:1.65; }
.la-act-description > div > :first-child { margin-top:0; }
.la-act-description > div > :last-child { margin-bottom:0; }
@media(max-width:900px){.la-plugin-page .la-portal-hero h1,.la-plugin-page .la-contact-hero h1{font-size:clamp(2rem,7vw,3rem)}.la-plugin-page .la-portal-hero p,.la-plugin-page .la-contact-hero p{line-height:1.45}}

/* Version 1.35: breadcrumbs inside page headings and linked Forum topic counts */
.la-plugin-page .la-portal-hero,
.la-plugin-page .la-contact-hero { height:clamp(270px,18vw,285px); }
.la-portal-hero > .la-breadcrumb-bar,
.la-contact-hero > .la-breadcrumb-bar,
.la-about-hero > .la-breadcrumb-bar,
.la-subject-hero > .la-breadcrumb-bar,
.la-hero > .la-breadcrumb-bar,
.la-portal-hero > .la-yearly-breadcrumb { grid-column:1/-1; width:100%; margin:.7rem 0 0; padding:.52rem 0 0; border:0; border-top:1px solid rgba(214,232,255,.3); background:transparent; color:#cfe1f7; font-size:.82rem; }
.la-portal-hero > .la-breadcrumb-bar a,
.la-contact-hero > .la-breadcrumb-bar a,
.la-about-hero > .la-breadcrumb-bar a,
.la-subject-hero > .la-breadcrumb-bar a,
.la-hero > .la-breadcrumb-bar a,
.la-portal-hero > .la-yearly-breadcrumb a { color:#d9eaff!important; font-weight:700; text-decoration:none; }
.la-portal-hero > .la-breadcrumb-bar strong,
.la-contact-hero > .la-breadcrumb-bar strong,
.la-about-hero > .la-breadcrumb-bar strong,
.la-subject-hero > .la-breadcrumb-bar strong,
.la-hero > .la-breadcrumb-bar strong,
.la-portal-hero > .la-yearly-breadcrumb strong { color:#fff; }
.la-portal-hero > .la-breadcrumb-bar span,
.la-contact-hero > .la-breadcrumb-bar span,
.la-about-hero > .la-breadcrumb-bar span,
.la-subject-hero > .la-breadcrumb-bar span,
.la-hero > .la-breadcrumb-bar span,
.la-portal-hero > .la-yearly-breadcrumb span { color:#9fc4ef; }
.la-detail-heading-band { width:100vw; margin-left:calc(50% - 50vw); color:#fff; border-bottom:3px solid #76a9ea; background:linear-gradient(110deg,#073b79,#294f89); }
.la-detail-heading-inner { box-sizing:border-box; width:min(1240px,calc(100% - 2rem)); margin-inline:auto; padding:clamp(1.35rem,2.8vw,2rem) 0; }
.la-detail-heading-band h1 { margin:0 0 .65rem; color:#fff; font-family:Georgia,serif; font-size:clamp(1.8rem,3.5vw,2.7rem); line-height:1.12; }
.la-detail-heading-band .la-breadcrumb-bar { width:100%; margin:0; padding:.55rem 0 0; border:0; border-top:1px solid rgba(214,232,255,.3); background:transparent; color:#cfe1f7; font-size:.84rem; }
.la-detail-heading-band .la-breadcrumb-bar a { color:#d9eaff!important; text-decoration:none; }
.la-detail-heading-band .la-breadcrumb-bar strong { color:#fff; }
.la-detail-heading-band .la-breadcrumb-bar span { color:#9fc4ef; }
.la-plugin-detail { --content-vertical-spacing:0px; }
.la-plugin-detail [data-vertical-spacing*="top"] { padding-top:0!important; }
.la-plugin-detail .content-area,
.la-plugin-detail .entry-content { margin-top:0!important; padding-top:0!important; }
.la-plugin-detail .entry-header,
.la-plugin-detail .hero-section { display:none!important; }
.single-la_chart .la-detail-heading-band,
.la-quick-reference-detail .la-detail-heading-band { margin-bottom:1.25rem; }
.la-forum-counts a { display:block; color:inherit; text-decoration:none!important; }
.la-forum-counts a strong { display:block; color:#174ea6; }
.la-forum-counts a:hover strong,.la-forum-counts a:focus strong { color:#0a3c83; text-decoration:underline; text-underline-offset:3px; }
@media(max-width:900px){.la-plugin-page .la-portal-hero,.la-plugin-page .la-contact-hero{height:auto;min-height:230px}.la-portal-hero>.la-breadcrumb-bar,.la-contact-hero>.la-breadcrumb-bar,.la-about-hero>.la-breadcrumb-bar,.la-subject-hero>.la-breadcrumb-bar,.la-hero>.la-breadcrumb-bar,.la-portal-hero>.la-yearly-breadcrumb{margin-top:.6rem}}

/* Version 1.36: LL.B. pathway landing, integrated subject trail and full-width text heroes */
.la-plugin-page .la-portal-hero > p,
.la-subject-hero > p { box-sizing:border-box; width:100%; max-width:none; padding-right:0; }
.la-llb-path-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.la-llb-path-grid .la-subject-card { min-height:190px; }
.la-subject-hero > .la-breadcrumb-bar { width:100%; margin:.75rem 0 0; padding:.55rem 0 0; border:0; border-top:1px solid rgba(214,232,255,.3); background:transparent; color:#cfe1f7; font-size:.82rem; }
.la-subject-hero > .la-breadcrumb-bar a { color:#d9eaff!important; font-weight:700; text-decoration:none; }
.la-subject-hero > .la-breadcrumb-bar strong { color:#fff; }
.la-subject-hero > .la-breadcrumb-bar span { color:#9fc4ef; }
@media(max-width:700px){.la-llb-path-grid{grid-template-columns:1fr}.la-llb-path-grid .la-subject-card{min-height:165px}}

/* Version 1.37: Legal Glossary, Library pathways and unified breadcrumbs */
.la-portal-hero > .la-breadcrumb-bar,
.la-contact-hero > .la-breadcrumb-bar,
.la-about-hero > .la-breadcrumb-bar,
.la-subject-hero > .la-breadcrumb-bar,
.la-hero > .la-breadcrumb-bar,
.la-portal-hero > .la-yearly-breadcrumb,
.la-detail-heading-band .la-breadcrumb-bar { padding-top:0; border-top:0; font-size:.9rem; }
.la-portal-hero > .la-breadcrumb-bar a:hover,.la-portal-hero > .la-breadcrumb-bar a:focus,
.la-contact-hero > .la-breadcrumb-bar a:hover,.la-contact-hero > .la-breadcrumb-bar a:focus,
.la-about-hero > .la-breadcrumb-bar a:hover,.la-about-hero > .la-breadcrumb-bar a:focus,
.la-subject-hero > .la-breadcrumb-bar a:hover,.la-subject-hero > .la-breadcrumb-bar a:focus,
.la-hero > .la-breadcrumb-bar a:hover,.la-hero > .la-breadcrumb-bar a:focus,
.la-portal-hero > .la-yearly-breadcrumb a:hover,.la-portal-hero > .la-yearly-breadcrumb a:focus,
.la-detail-heading-band .la-breadcrumb-bar a:hover,.la-detail-heading-band .la-breadcrumb-bar a:focus { color:#fff!important; text-decoration:underline; text-underline-offset:3px; }
.la-library-path-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
.la-library-path-card { min-height:205px; }
.la-glossary-shell { width:min(1180px,calc(100% - 2rem)); margin:clamp(1.4rem,3vw,2.4rem) auto 3rem; overflow:hidden; border:1px solid #d3dfed; border-radius:12px; background:#fff; box-shadow:0 10px 30px rgba(7,31,62,.07); }
.la-glossary-head { display:flex; align-items:center; justify-content:space-between; gap:1.25rem; padding:1.35rem 1.55rem; border-bottom:1px solid #cbd8e7; }
.la-glossary-head h2 { margin:0; color:#0a2342; font-family:Georgia,serif; font-size:clamp(1.45rem,2.5vw,2rem); }
.la-glossary-head form { display:flex; width:min(440px,100%); }
.la-glossary-head input { flex:1; min-width:0; padding:.72rem .85rem; border:1px solid #174ea6; border-radius:7px 0 0 7px; }
.la-glossary-head button { padding:.72rem 1rem; border:1px solid #174ea6; border-radius:0 7px 7px 0; color:#fff; background:#174ea6; font-weight:750; cursor:pointer; }
.la-glossary-alphabet { display:flex; flex-wrap:wrap; justify-content:center; gap:.35rem .55rem; padding:1.25rem 1.4rem; }
.la-glossary-alphabet a { display:grid; place-items:center; min-width:28px; height:30px; color:#1767c9; border-radius:4px; text-decoration:none; font-weight:700; }
.la-glossary-alphabet a:hover,.la-glossary-alphabet a:focus,.la-glossary-alphabet a.is-active { color:#fff; background:#174ea6; }
.la-glossary-result-meta { display:flex; justify-content:space-between; gap:1rem; padding:.7rem 1.55rem; color:#536a82; background:#f3f7fc; font-size:.82rem; }
.la-glossary-result-meta strong { color:#123f79; }
.la-glossary-list { padding:0 1.55rem 1rem; }
.la-glossary-list article { padding:1.2rem 0; border-bottom:1px solid #dfe6ef; }
.la-glossary-list article:last-child { border-bottom:0; }
.la-glossary-list h3 { margin:0 0 .45rem; color:#0a2342; font-size:1.08rem; }
.la-glossary-list p { margin:.3rem 0 0; color:#263b53; line-height:1.65; }
@media(max-width:1050px){.la-library-path-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){.la-library-path-grid{grid-template-columns:1fr}.la-glossary-head{align-items:stretch;flex-direction:column}.la-glossary-head form{width:100%}}
/* Version 1.38: centralized AIBE question bank and paper solutions */
.la-aibe-paper,.la-answer-review{width:min(1180px,calc(100% - 2rem));margin:1.5rem auto 3rem}
.la-paper-choices .la-answer-choice{position:relative;display:flex;gap:.65rem;min-height:52px;padding:.75rem;border:1px solid #cfdae8;border-radius:7px;color:#354a61;background:#f9fbfe}
.la-paper-choices .la-answer-choice b{color:#174ea6}.la-paper-choices .la-answer-choice small{margin-left:auto;font-weight:800;white-space:nowrap}
.la-paper-choices .la-answer-choice.is-paper-correct{border-color:#174ea6;color:#fff;background:#174ea6;box-shadow:inset 4px 0 #73a9ff}
.la-paper-choices .la-answer-choice.is-paper-correct b,.la-paper-choices .la-answer-choice.is-paper-correct small{color:#fff}
.la-aibe-special-answer{color:#b42318!important;font-weight:850}
.la-aibe-solution{margin-top:1rem;padding:1rem 1.15rem;border-left:5px solid #73a9ff;border-radius:7px;color:#fff;background:linear-gradient(120deg,#082c59,#174ea6)}
.la-aibe-solution strong{display:block;margin-bottom:.35rem;color:#fff;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase}
.la-aibe-solution p{margin:.25rem 0;color:#eaf3ff}

/* Version 1.42: media, AIBE long-copy and policy layout refinements */
.la-recent-update-row{grid-template-columns:minmax(240px,32%) minmax(0,1fr) auto}
.la-recent-update-row .la-update-image{align-self:center;width:100%;min-height:0;aspect-ratio:16/9;background:#fff}
.la-recent-update-row .la-update-image img{object-fit:contain}
.la-mock-questions fieldset{position:relative;box-sizing:border-box;min-width:0;border:0;box-shadow:0 0 0 1px #b8cce4}
.la-mock-questions legend{box-sizing:border-box;max-width:100%;overflow-wrap:anywhere;word-break:normal}
.la-mock-choices,.la-mock-choices label,.la-mock-choices label>span,.la-answer-choice{min-width:0}
.la-mock-choices label>span,.la-answer-choice span{overflow-wrap:anywhere;word-break:normal}
.la-answer-choice span{flex:1}
.la-aibe-solution{border-left-color:#397bd4;color:#12355e;background:#e7f1ff;box-shadow:inset 0 0 0 1px #bfd5ef}
.la-aibe-solution strong{color:#174ea6}
.la-aibe-solution p{color:#203a58}
.la-aibe-solution .la-aibe-special-answer{display:inline;margin:0;color:#b42318!important;font-size:inherit;letter-spacing:normal;text-transform:none}
.la-policy-page .content-area{margin-top:0!important}
.la-policy-page .entry-content{box-sizing:border-box;width:100%;max-width:none;margin:0!important;padding:0!important}
.la-policy-page .la-policy-hero{margin:0}
.la-policy-page .la-policy{box-sizing:border-box;width:min(1120px,calc(100% - 3rem));margin:0 auto;padding:clamp(2rem,4vw,3.5rem) 0}
.la-policy-page .la-policy section{padding:1.15rem 0}
.la-policy-page .la-policy section p{margin:0;color:#34465b;line-height:1.75}
@media(max-width:800px){.la-recent-update-row{grid-template-columns:minmax(170px,38%) minmax(0,1fr)}}
@media(max-width:560px){.la-recent-update-row{grid-template-columns:110px minmax(0,1fr)}.la-mock-choices{grid-template-columns:1fr}.la-policy-page .la-policy{width:min(100% - 2rem,1120px)}}

/* Version 1.42.1: keep question headings inside cards and flush recent images */
.la-mock-questions legend{float:left;width:100%;margin:0 0 .8rem;padding:0}
.la-mock-questions .la-mock-choices{clear:both;margin-top:0}
.la-recent-update-row .la-update-image{align-self:stretch;height:100%;min-height:100%;aspect-ratio:auto}
.la-recent-update-row .la-update-image img{width:100%;height:100%;object-fit:contain}
