/*
Theme Name: Blankskript Academy
Description: The Blankskript Academy theme: simple, calm and easy to use on a phone. Works with the Blankskript LMS plugin.
Version: 2.4.38
Requires at least: 6.6
Requires PHP: 8.1
Author: Blankskript Digital Solutions
Text Domain: blankskript-academy
*/

/* The Academy's look: charcoal and ivory, serif headings, large photography, generous space. Colour photographs in one calm grade. Red only on buttons. */
:root {
	--bslms-ink: var(--wp--preset--color--ink);
	--bslms-muted: var(--wp--preset--color--muted);
	--bslms-line: var(--wp--preset--color--line);
	--bslms-soft: var(--wp--preset--color--soft);
	--bslms-accent: var(--wp--preset--color--primary);
	--bslms-radius: 0;
	--bsa-serif: var(--wp--preset--font-family--serif);
	--bsa-gutter: clamp(20px, 5vw, 72px);
}
html, body { overflow-x: clip; }
body { margin: 0; }
.wp-site-blocks { padding: 0 !important; }
.wp-site-blocks > * { margin-block: 0 !important; }
p { margin-block: 0 1.1em; }

/* Header */
.bsa-header { background: var(--wp--preset--color--ink); padding: 0 var(--bsa-gutter); }
.bsa-nav .wp-block-navigation__container { align-items: center; }
.bsa-nav .wp-block-loginout { margin: 0; line-height: 1; }
.bsa-brand { margin: 0; font-family: var(--bsa-serif); font-size: 1.5rem; letter-spacing: .01em; white-space: nowrap; }
.bsa-brand a { color: #fff; text-decoration: none; }
.bsa-nav { color: #fff; }
.bsa-nav a { color: #fff; text-decoration: none; font-size: .95rem; letter-spacing: .01em; }
.bsa-nav a:hover { opacity: .7; }
@media (max-width: 600px) { .bsa-brand { font-size: 1.3rem; } }

/* Buttons: the only place the brand red appears */
.bsa-link a { display: inline-block; padding: 15px 30px; background: var(--wp--preset--color--primary); color: #fff; text-decoration: none; font-size: .72rem; letter-spacing: .22em; }
.bsa-link a:hover { background: #a80000; }
.bsa-link-plain a { padding: 0 0 6px; background: transparent; border-bottom: 1px solid var(--wp--preset--color--line); color: var(--wp--preset--color--ink); text-transform: none; letter-spacing: .02em; font-size: 1rem; }
.bsa-link-plain a:hover { background: transparent; opacity: .65; }

/* Photography: full colour, graded deep and muted so mixed stock photos sit together */
.wp-block-cover__image-background, .bsa-split img, .bsa-band-photo img, .bslms-course-hero img, .bslms-card-image { filter: saturate(.72) contrast(1.03) brightness(.94); }

/* Hero and closing */
.bsa-hero.wp-block-cover, .bsa-closing.wp-block-cover { padding: 96px var(--bsa-gutter); box-sizing: border-box; color: #fff; }
.bsa-hero.wp-block-cover { align-items: flex-end; }
.bsa-hero .wp-block-cover__inner-container, .bsa-closing .wp-block-cover__inner-container { width: 100%; max-width: 1320px; margin: 0 auto; }
.bsa-kicker { margin: 0 0 22px; font-family: var(--bsa-serif); font-size: 1.25rem; letter-spacing: .01em; }
.bsa-kicker::before { content: ""; display: inline-block; width: 34px; height: 1px; margin-right: 14px; vertical-align: middle; background: rgba(255,255,255,.6); }
.bsa-hero h1.bsa-kicker { margin: 0 0 22px; color: #fff; font-family: var(--bsa-serif); font-size: 1.25rem; font-weight: 400; line-height: 1.3; letter-spacing: .01em; }
.bsa-hero-line { margin: 0 0 24px; color: #fff; font-family: var(--bsa-serif); font-size: clamp(2.9rem, 8vw, 6.4rem); line-height: 1.02; }
.bsa-hero-sub { margin: 0 0 40px; max-width: 34em; font-size: 1.05rem; color: #e8e6e1; }
.bsa-closing h2 { margin: 0 0 32px; color: #fff; font-size: clamp(2.4rem, 6vw, 4.6rem); }

/* Photo beside words */
.wp-block-columns.bsa-split { gap: 0; margin: 0; align-items: stretch !important; background: var(--wp--preset--color--soft); flex-wrap: nowrap; }
.bsa-split > .wp-block-column:first-child { flex: 1.15 1 0; }
.bsa-split > .wp-block-column:last-child { flex: 1 1 0; align-self: center; padding: 72px var(--bsa-gutter); box-sizing: border-box; }
.bsa-split figure { margin: 0; height: 100%; }
.bsa-split img { display: block; width: 100%; height: 100%; min-height: 62vh; object-fit: cover; }
.bsa-split-reverse { flex-direction: row-reverse; }
.bsa-split h2 { margin: 0 0 20px; font-size: clamp(2.2rem, 4.2vw, 3.6rem); }
.bsa-split p:not(.bsa-link) { margin: 0 0 32px; max-width: 26em; color: var(--wp--preset--color--muted); }
@media (max-width: 781px) { .wp-block-columns.bsa-split { flex-wrap: wrap; } .bsa-split img { min-height: 62vw; } }

/* Numbered lines, no boxes */
.wp-block-columns.bsa-ledger { gap: clamp(28px, 5vw, 72px); max-width: 1320px; margin: 0 auto; padding: clamp(64px, 9vw, 128px) var(--bsa-gutter); box-sizing: border-box; }
.bsa-ledger > .wp-block-column { padding-top: 22px; }
.bsa-numeral { margin: 0; font-family: var(--bsa-serif); color: var(--wp--preset--color--muted); font-size: 1.05rem; }
.bsa-ledger h3 { margin: 14px 0 10px; font-size: 1.75rem; }
.bsa-ledger p:not(.bsa-numeral) { margin: 0; color: var(--wp--preset--color--muted); }
.wp-block-columns.bsa-ledger-page { padding: 56px 0; }

/* Courses: no cards */
.bsa-courses { padding: 0 var(--bsa-gutter) clamp(64px, 9vw, 128px); }
.bsa-courses > h2 { margin: 0 0 28px; font-size: clamp(2.2rem, 4.2vw, 3.6rem); }
.bslms-topic > h2 { padding: 0; border: 0; font-family: system-ui, sans-serif; font-size: .72rem; letter-spacing: .24em; text-transform: uppercase; color: var(--wp--preset--color--muted); }
.bslms-grid { gap: 40px; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); }
.bslms-card.bslms-course-card { border: 0; padding: 0; background: transparent; }
.bslms-card-image { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 0; margin-bottom: 18px; }
.bslms-course-card h3 { font-family: var(--bsa-serif); font-weight: 400; font-size: 1.75rem; line-height: 1.15; }
.bslms-course-card p { color: var(--wp--preset--color--muted); }
.bslms-course-card .bslms-button { padding: 13px 24px; font-size: .72rem; font-weight: 400; letter-spacing: .22em; }
.bslms-button, .bslms-card .bslms-button, form .bslms-button { border-radius: 0; }
.bslms-card, .bslms-step, .bslms-steps li, .bslms-question { border-radius: 0; }
.bslms-badge { border-radius: 0; background: transparent; padding: 0; color: var(--wp--preset--color--muted); letter-spacing: .24em; }
.bslms-course-hero { width: 100vw; margin: 0 calc(50% - 50vw) 40px; }
.bslms-course-hero img { display: block; width: 100%; height: clamp(240px, 52vh, 560px); object-fit: cover; object-position: center 12%; }

/* Inner pages */
.bsa-page { padding: clamp(56px, 8vw, 112px) var(--bsa-gutter) clamp(64px, 9vw, 128px); }
.bsa-page .wp-block-post-title { margin: 0 0 28px; font-size: clamp(2.6rem, 6vw, 4.8rem); }
.bsa-lead { font-family: var(--bsa-serif); font-size: clamp(1.5rem, 2.6vw, 2.1rem); line-height: 1.3; }
.bsa-page .bsa-band-photo { width: 100vw; max-width: none !important; margin: 56px calc(50% - 50vw) 0 !important; }
.bsa-band-photo img { display: block; width: 100%; height: clamp(280px, 56vh, 620px); object-fit: cover; }
.bsa-page h2 { margin: 0 0 22px; font-size: clamp(2rem, 3.6vw, 3rem); }
.bsa-page .bsa-lead { margin-bottom: 0; }

.bsa-list { list-style: none; margin: 0 0 56px; padding: 0; }
.bsa-list li { padding: 2px 0; }
.bsa-faq { border: 0; border-top: 1px solid var(--wp--preset--color--line); padding: 20px 0; margin: 0; }
.bsa-faq summary { font-family: var(--bsa-serif); font-size: 1.4rem; cursor: pointer; }
.bsa-faq[open] summary { margin-bottom: 10px; }

/* Footer */
.bsa-footer { background: var(--wp--preset--color--ink); color: #fff; padding: 64px var(--bsa-gutter) 36px; }
.bsa-footer-links { display: flex; flex-wrap: wrap; gap: 12px 30px; margin-top: 28px; }
.bsa-footer-links a { color: #d9d6d0; text-decoration: none; font-size: .92rem; letter-spacing: .01em; }
.bsa-legal { margin-top: 48px; color: #b5b2ac; font-size: .82rem; text-align: center; }

/* Stronger body text, above all for senior readers on phones */
.bsa-split p:not(.bsa-link), .bsa-ledger p:not(.bsa-numeral), .bslms-course-card p, .bsa-list li, .bsa-page p { color: #3f3d39; }
@media (max-width: 781px) {
	body { font-size: 1.0625rem; }
	.bsa-hero-sub { font-size: 1.125rem; }
	.bsa-split > .wp-block-column:last-child { padding: 56px var(--bsa-gutter); }
}
.bsa-page .bsa-band-photo + .bsa-link { margin-top: 56px; }
.bsa-page .bsa-band-photo + h2 { margin-top: 56px; }

/* Montserrat across the site, as on Blankskript Consultants (Feroz, 2 November 2026). The serif look is kept in Git, tag academy-serif-look. */
@font-face { font-family: "Montserrat"; font-weight: 400; font-display: swap; src: url(assets/fonts/montserrat-latin-400-normal.woff2) format("woff2"); }
@font-face { font-family: "Montserrat"; font-weight: 500; font-display: swap; src: url(assets/fonts/montserrat-latin-500-normal.woff2) format("woff2"); }
@font-face { font-family: "Montserrat"; font-weight: 700; font-display: swap; src: url(assets/fonts/montserrat-latin-700-normal.woff2) format("woff2"); }
:root { --bsa-serif: "Montserrat", "Helvetica Neue", Arial, sans-serif; --wp--preset--font-family--serif: "Montserrat", "Helvetica Neue", Arial, sans-serif; --wp--preset--font-family--system: "Montserrat", "Helvetica Neue", Arial, sans-serif; }
body { font-family: var(--bsa-serif); font-weight: 500; }
h1, h2, h3, h4, .wp-block-post-title, .bslms-course-card h3 { font-family: var(--bsa-serif); font-weight: 400; letter-spacing: -.01em; }
.bsa-brand { font-size: 1.15rem; font-weight: 500; letter-spacing: 0; }
.bsa-nav a, .bsa-footer-links a { font-size: .9rem; font-weight: 500; letter-spacing: 0; }
.bsa-hero h1.bsa-kicker { font-size: 1.1rem; font-weight: 500; letter-spacing: 0; }
.bsa-hero-line { font-weight: 400; font-size: clamp(2.5rem, 6.4vw, 5.2rem); letter-spacing: -.02em; }
.bsa-link a { font-weight: 500; letter-spacing: .08em; }
.bslms-course-card h3, .bsa-ledger h3 { font-size: 1.4rem; }

/* Content blueprint, 2 November 2026 */
.bsa-hero h1 { margin: 0 0 18px; color: #fff; font-size: clamp(1.15rem, 2vw, 1.5rem); font-weight: 500; line-height: 1.3; }
.bsa-hero .bsa-note, .bsa-closing .bsa-note { color: #e8e6e1; }
.bsa-note { font-size: .95rem; color: var(--wp--preset--color--muted); margin-top: 14px; }
.bsa-link-text { margin: 16px 0 0; }
.bsa-link-text a { color: #fff; text-underline-offset: 4px; font-size: .95rem; }
.bsa-link-dark a { color: var(--wp--preset--color--ink); }
.bsa-nav .bsa-nav-cta a { background: var(--wp--preset--color--primary); padding: 9px 16px; color: #fff; }
.bsa-nav a { font-size: .86rem; }
.bsa-draft { background: #fbe9e9; color: #8f0000; padding: 12px 16px; font-weight: 500; }
.bsa-page h2 { margin-top: 48px; }
.bsa-page .bsa-link { margin-top: 18px; }
.wp-block-columns.bsa-ledger-page > .wp-block-column { flex-basis: 0; }

/* Review polish, 3 November 2026: room above a section that follows a photo band; the text link sits clear of the button; contact details. */
.bsa-split + .bsa-courses { padding-top: clamp(64px, 9vw, 128px); }
.bsa-link + .bsa-link-text { margin-top: 22px; }
.bsa-page h3 { margin: 32px 0 8px; font-size: 1.25rem; }
.bsa-page h3 + p { margin-top: 0; }

/* Home follows the live Blankskript Consultants sizes, one standard section heading (Feroz, 3 November 2026) */
.home .bsa-hero .wp-block-cover__inner-container, .home .bsa-closing .wp-block-cover__inner-container, .home .bsa-courses { text-align: center; }
.home .bsa-hero h1 { margin: 0 0 10px; font-size: 26px; font-weight: 700; line-height: 1.4; letter-spacing: 0; }
.home .bsa-hero-line, .home .bsa-hero .bsa-kicker { margin: 0 0 6px; font-size: 16px; font-weight: 500; line-height: 1.857; letter-spacing: 0; }
.home .bsa-hero .bsa-kicker::before { display: none; }
.home .bsa-hero-sub { max-width: 40em; margin: 0 auto 28px; font-size: 15px; line-height: 1.857; }
.home .bsa-split h2, .home .bsa-courses > h2, .home .bsa-closing h2 { margin: 0 0 14px; font-size: 16px; font-weight: 700; line-height: 1.3; letter-spacing: 0; }
.home .bsa-split p:not(.bsa-link), .home .bsa-courses p:not(.bsa-link), .home .bsa-closing p:not(.bsa-link), .home .bsa-note, .home .bsa-list li { font-size: 15px; line-height: 1.857; }
.home .bsa-courses p:not(.bsa-link), .home .bsa-closing p:not(.bsa-link) { max-width: 48em; margin-left: auto; margin-right: auto; }
.home .bsa-split img { object-position: center top; }
@media (max-width: 781px) {
	.home .bsa-split > .wp-block-column:last-child { text-align: center; }
	.home .bsa-split p:not(.bsa-link) { margin-left: auto; margin-right: auto; }
}
.home .bsa-split .bsa-link + .bsa-link-text { margin-top: 18px; }
.home .bsa-courses .bsa-list { margin-top: 28px; }

/* Rounded buttons, as on the live Blankskript Consultants site; long text sits on two neat rows (Feroz, 3 November 2026) */
.bsa-link:not(.bsa-link-plain) a, .bslms-button, .bslms-card .bslms-button, form .bslms-button {
	display: inline-block; max-width: 320px; padding: 14.5px 34px; box-sizing: border-box; border-radius: 100px;
	background: #C90000; color: #fff; font-size: 15px; font-weight: 500; line-height: 1.35; letter-spacing: normal; text-align: center;
}
.bsa-link:not(.bsa-link-plain) a:hover, .bslms-button:hover { background: #a80000; color: #fff; }
.bsa-nav .bsa-nav-cta a { padding: 9px 18px; border-radius: 100px; }
.bslms-secondary, .bslms-card .bslms-secondary { background: transparent; color: var(--wp--preset--color--ink) !important; border: 1px solid var(--wp--preset--color--ink); }
.bslms-secondary:hover, .bslms-card .bslms-secondary:hover { background: transparent; opacity: .65; }
@media (max-width: 781px) {
	.bsa-link:not(.bsa-link-plain) a, .bslms-button, .bslms-card .bslms-button, form .bslms-button { padding: 15px 34px; font-size: 13.68px; }
}

/* Few words on the hero, centred, as on the live Academy site (Feroz, 3 November 2026) */
.home .bsa-hero.wp-block-cover { align-items: center; }
.home .bsa-hero .bsa-link { margin-top: 26px; }
.home .bsa-hero h1 { margin-bottom: 6px; }
.home .bsa-intro { padding-top: clamp(64px, 9vw, 128px); padding-bottom: clamp(64px, 9vw, 128px); }

/* One standard for type on every page, from the section Feroz chose: "Learning That Belongs in the Workplace" */
.bsa-page .wp-block-post-title { margin: 0 0 22px; font-size: 26px; font-weight: 700; line-height: 1.4; letter-spacing: 0; }
.bsa-page h2, .bsa-split h2, .bsa-courses > h2, .bsa-closing h2 { margin: 40px 0 14px; font-size: 16px; font-weight: 700; line-height: 1.3; letter-spacing: 0; }
.bsa-split h2, .bsa-courses > h2, .bsa-closing h2 { margin-top: 0; }
.bsa-page h3, .bslms-card h3, .bslms-course-card h3, .bsa-ledger h3 { margin: 24px 0 8px; font-size: 16px; font-weight: 700; line-height: 1.3; letter-spacing: 0; }
.bslms-card h3, .bslms-course-card h3 { margin-top: 0; }
.bsa-page p, .bsa-page li, .bsa-page .bsa-lead, .bsa-lead, .bslms-card p, .bsa-list li { font-size: 15px; font-weight: 500; line-height: 1.857; }
.bsa-page .bslms-section h2, .bsa-page .bslms-course h2 { font-size: 16px; }

/* Phone menu drops down under the header with the words on the left, as on Blankskript Consultants; black and white, no lines (Feroz, 3 November 2026) */
.bsa-header { position: relative; }
@media (max-width: 1199px) {
	.bsa-nav.wp-block-navigation { position: static; }
	.bsa-nav .wp-block-navigation__responsive-container.is-menu-open {
		--navigation-layout-justification-setting: flex-start; --navigation-layout-justify: flex-start;
		position: absolute; top: 100%; right: 0; bottom: auto; left: 0; padding: 12px var(--bsa-gutter) 28px; overflow: visible; box-sizing: border-box;
	}
	.bsa-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-dialog { margin-top: 0; }
	.bsa-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { max-height: calc(100vh - 116px); padding-top: 0; align-items: flex-start; overflow-y: auto; }
	.bsa-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__container { align-items: flex-start; gap: 0; width: 100%; }
	.bsa-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation-item { align-items: flex-start; width: 100%; }
	.bsa-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation-item__content, .bsa-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-loginout a { display: block; padding: 11px 0; font-size: 15px; line-height: 1.4; text-align: left; }
	.bsa-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-loginout { margin: 0; align-self: flex-start; text-align: left; }
	.bsa-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .bsa-nav-cta .wp-block-navigation-item__content { display: inline-block; margin: 10px 0 8px; padding: 12px 28px; border-radius: 100px; }
	.bsa-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close { top: -62px; right: 0; }
	.bsa-nav:has(.is-menu-open) .wp-block-navigation__responsive-container-open { visibility: hidden; }
}

/* Home is in the phone menu; on a computer the name at the top left already does this job (Feroz, 5 November 2026) */
@media (min-width: 1200px) { .bsa-nav .bsa-nav-home { display: none; } }

/* A text link has to read as a link: its elegant spacing stays, with a full-strength line and an arrow. Red stays on buttons only. */
.bsa-link-plain a, .bsa-link-text a { display: inline-block; padding: 0 0 6px; white-space: nowrap; background: transparent; border-bottom: 1px solid currentColor; color: var(--wp--preset--color--ink); font-size: 1rem; font-weight: 500; letter-spacing: .08em; text-decoration: none; }
.bsa-link-plain a::after, .bsa-link-text a::after { content: "\2192"; content: "\2192" / ""; margin-left: .6em; }
.bsa-link-text:not(.bsa-link-dark) a { color: #fff; }
.bsa-link-plain a:hover, .bsa-link-text a:hover { background: transparent; opacity: .65; }
p.bsa-link-text { margin-top: 44px !important; margin-bottom: 0 !important; }
.bsa-link-plain a[href^="mailto:"] { margin-bottom: 18px; letter-spacing: normal; }
.bsa-link-plain a[href^="mailto:"]::after { content: none; }

/* The subjects on Home are information, not links: one quiet line, no rows that look like a menu */
.home .bsa-courses .bsa-list { display: flex; flex-wrap: wrap; justify-content: center; margin: 20px auto 44px; color: var(--wp--preset--color--muted); }
.home .bsa-courses .bsa-list:last-child { margin-bottom: 0; }
.home .bsa-courses .bsa-list li { padding: 0; border: 0; color: inherit; }
/* Columns, not "/" between them (Feroz, 5 November 2026) */
@media (min-width: 782px) { .home .bsa-courses .bsa-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px 40px; max-width: 1120px; text-align: center; } }
@media (max-width: 781px) { .home .bsa-courses .bsa-list { flex-direction: column; gap: 12px; } .home .bsa-courses .bsa-list li { line-height: 1.5; } }

/* The portrait keeps her face in the wide photo band */
.bsa-band-photo img[src*="asian-leader"] { object-position: center 16%; }

/* Phone footer: one neat column on the left, the same as the phone menu */
@media (max-width: 599px) {
	.bsa-footer-links { display: grid; grid-template-columns: max-content max-content; justify-content: space-between; gap: 0 8px; margin-top: 20px; }
	.bsa-footer-links a { padding: 8px 0; font-size: 15px; line-height: 1.4; white-space: nowrap; }
	.bsa-legal { margin-top: 32px; }
}

/* More room around buttons on inner pages; Home is not touched (Feroz, 4 November 2026) */
body:not(.home) .bsa-link { margin-top: 32px; }
body:not(.home) .bsa-link + .bsa-link-text { margin-top: 44px; }
body:not(.home) .bsa-page .bslms-callout .bslms-button, body:not(.home) .bsa-page .bslms-card p + .bslms-button, body:not(.home) .bsa-page .bslms-enrol { margin-top: 32px; }
@media (max-width: 781px) {
	body:not(.home) .bslms-verify .bslms-button { margin-top: 24px; }
}

/* Links inside a sentence, Feroz's model on ferozhayatkhan Get in Touch (5 Nov 2026, 22:42 MYT): same colour as the words, a plain underline just below them. Buttons and arrow links stay as they are. */
.bsa-page p:not(.bsa-link):not(.bsa-link-text) a:not([class*="bslms-"]), .bsa-page li a:not([class*="bslms-"]) { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.bsa-link-plain a[href^="mailto:"] { padding: 0; border-bottom: 0; font-size: 15px; text-decoration: underline; text-underline-offset: 3px; }

/* Home: each course says who it helps and goes straight to its page (Feroz, 01:40 MYT 6 November 2026). Left to right on a computer, one under another on a phone. */
.home .bsa-help { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 44px 40px; max-width: 1120px; margin: 40px auto 56px; text-align: left; }
.home .bsa-help-item { display: flex; flex-direction: column; padding-top: 18px; border-top: 1px solid var(--wp--preset--color--ink); }
.home .bsa-help-item h3 { margin: 0 0 8px; font-size: 16px; font-weight: 700; line-height: 1.35; letter-spacing: 0; }
.home .bsa-help-item p:not(.bsa-link) { margin: 0 0 22px; max-width: none; }
.home .bsa-help-item .bsa-link { margin: auto 0 0; }
.home .bsa-help-item .bsa-link a { font-size: 14px; letter-spacing: .04em; }
@media (max-width: 781px) { .home .bsa-help { grid-template-columns: 1fr; gap: 32px; margin-bottom: 44px; } }

/* A wider gap between a paragraph and the button beneath it (his note, 01:40 MYT). Arrow links already have it; the top of Home keeps its close setting. */
.bsa-page p:not(.bsa-link):not(.bsa-link-text) + .bsa-link:not(.bsa-link-plain), .bsa-split p:not(.bsa-link) + .bsa-link:not(.bsa-link-plain), .bsa-courses p:not(.bsa-link) + .bsa-link:not(.bsa-link-plain), .bsa-closing p:not(.bsa-link) + .bsa-link:not(.bsa-link-plain) { margin-top: 44px !important; }

/* Questions and Answers ends with a next step. */
.bsa-page .bsa-faq-next { margin: 56px 0 0; font-weight: 700; }
.bsa-page .bsa-faq-next + .bsa-link { margin-top: 14px; }

/* Home's closing photo floats, as on the Consultants Gallery. The theme's photo filter is left off here, in case it stops the photo staying still; phones get the lighter photo. WordPress itself turns floating off for reduced motion and on iPhones. */
.bsa-closing .wp-block-cover__image-background.has-parallax { filter: none; }
@media (max-width: 781px) { .bsa-closing .wp-block-cover__image-background.has-parallax { background-image: url(assets/photos/city-night-phone.webp) !important; } }

/* Drop-down rows, the design Feroz chose on the Consultants Training page (02:04 MYT 6 November 2026): plain rows, a line between them, + on the right. One open at a time comes from the name added in functions.php. */
.bsa-faq { margin: 0; padding: 0; border: 0; border-bottom: 1px solid #d9d9d9; }
.bsa-faq > summary { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 16px 0; font-family: inherit; font-size: 16px; font-weight: 700; line-height: 1.4; color: #191919; cursor: pointer; list-style: none; }
.bsa-faq > summary::-webkit-details-marker { display: none; }
.bsa-faq > summary::after { content: "+"; content: "+" / ""; flex: none; font-size: 22px; font-weight: 400; line-height: 1; color: var(--wp--preset--color--primary); }
.bsa-faq[open] > summary::after { content: "\2212"; content: "\2212" / ""; }
.bsa-faq > summary:hover { color: var(--wp--preset--color--primary); }
.bsa-faq[open] > summary { margin-bottom: 0; }
.bsa-faq > :last-child:not(summary) { margin-bottom: 18px; }

/* A slimmer top bar on every page except Home (Feroz, 02:07 MYT 6 November 2026; "don't touch any homepages"). About 65px on a computer and 55px on a phone, from 85px and 75px. The phone menu's close button moves with it. */
body:not(.home) .bsa-header > .alignwide { padding-top: 12px !important; padding-bottom: 12px !important; }
@media (max-width: 599px) {
	body:not(.home) .bsa-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close { top: -52px; }
}


/* Questions and Answers matches the approved drop-down design on all sites (Feroz 05:35 MYT 6 November 2026, via Jarvis 05:56): a line above the first row too, and room between the opening words and the first question. */
.bsa-faq:not(.bsa-faq + .bsa-faq) { margin-top: 36px; border-top: 1px solid #d9d9d9; }

/* The top bar stays on one line (Feroz, 05:45 MYT 7 November 2026: "the top bar could be improved as it is too long and sign in drops down").
   From 1200px wide the menu sits on one line; below that, tablets and small laptops get the same drop-down menu as phones, so nothing wraps. Live Classes (while off) and My Learning (when signed out) leave the menu in functions.php. */
@media (min-width: 1200px) { .bsa-nav .wp-block-navigation__container { flex-wrap: nowrap; } .bsa-nav .wp-block-navigation-item, .bsa-nav .wp-block-loginout { white-space: nowrap; } }
@media (min-width: 600px) and (max-width: 1199px) {
	.bsa-nav .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex; }
	.bsa-nav .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none; }
	.bsa-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close { display: flex; top: -72px; }
	body:not(.home) .bsa-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close { top: -62px; }
}

/* The drop-down menu is drawn as separate lists where hidden items (Live Classes, My Learning) used to sit; no extra gap between them (Webmaster's reading, 7 November 2026). */
@media (max-width: 1199px) { .bsa-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { gap: 0; } }

/* For Organisations: keep the executive's head in the band (the photo is cut to a wide strip). */
.bsa-band-photo img[src*="executive-window"] { object-position: 50% 12%; }

/* Courses page (Feroz, 06:53 MYT 7 November 2026): one grid of six, three across on a computer, two on a tablet, one on a phone; the top and closing sections centred; more room above and below the grid, as on the Consultants pages. */
.bsa-page:has(.bslms-catalogue) { text-align: center; }
.bsa-page:has(.bslms-catalogue) .bsa-lead, .bsa-page:has(.bslms-catalogue) .bsa-note, .bsa-page:has(.bslms-catalogue) .wp-block-post-content > p { margin-left: auto; margin-right: auto; }
.bslms-catalogue { margin: 72px 0 88px; text-align: left; }
.bslms-catalogue .bslms-grid { grid-template-columns: 1fr; gap: 56px 40px; }
@media (min-width: 600px) { .bslms-catalogue .bslms-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1000px) { .bslms-catalogue .bslms-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.bslms-catalogue .bslms-course-card { display: flex; flex-direction: column; }
.bslms-catalogue .bslms-course-card > .bslms-button { margin-top: auto; align-self: flex-start; }
@media (max-width: 599px) { .bslms-catalogue { margin: 56px 0 72px; } }
/* The button sits in the card's last element (the page may wrap it in a paragraph), so that element goes to the bottom of the row. */
.bslms-catalogue .bslms-course-card > :last-child { margin-top: auto; margin-bottom: 0; }
/* Beats the inner-page rule that gives a card's button a fixed 32px top margin; the paragraph above keeps the gap. */
body:not(.home) .bsa-page .bslms-catalogue .bslms-course-card > p:not(.bslms-meta) { margin-bottom: 32px; }
body:not(.home) .bsa-page .bslms-catalogue .bslms-course-card > a.bslms-button { margin-top: auto; }

/* Buttons stay on one line on computers; on a phone they wrap only if the words truly can't fit (Feroz via Jarvis, 7 November 2026). */
@media (min-width: 782px) { .bsa-link:not(.bsa-link-plain) a, .bslms-button { max-width: none; white-space: nowrap; } }
@media (max-width: 781px) { .bsa-link:not(.bsa-link-plain) a, .bslms-button { max-width: 100%; } }

/* About: the closing section centred, as on the Courses page; normal space between paragraphs; room after the Consultants link. */
.bsa-page:has(#enrol) .wp-block-post-content > h2:last-of-type, .bsa-page:has(#enrol) .wp-block-post-content > h2:last-of-type ~ * { text-align: center; margin-left: auto; margin-right: auto; }
.bsa-page .wp-block-post-content > p:not(.bsa-link):not(.bsa-link-text):not(.bsa-lead) + p:not(.bsa-link):not(.bsa-link-text) { margin-top: 1.2em; }
.bsa-page .wp-block-post-content > .bsa-link-text + h2 { margin-top: 72px; }

/* The menu's first link gets focus when the menu opens; the outline shows only for keyboard users. */
.bsa-nav a:focus:not(:focus-visible) { outline: none; box-shadow: none; }

/* Course page photo on a phone: inside the same side margins as the text (Feroz, 08:44 MYT 7 November 2026); full width stays on computers. */
@media (max-width: 781px) {
	.bslms-course-hero { width: auto; margin: 0 0 32px; }
	.bslms-course-hero img { height: auto; aspect-ratio: 4 / 3; }
}

/* Contact: "Email us on the subject below", the subjects, then "with your name, ..." as its continuation, with normal spacing. */
.bsa-page .bsa-list:has(+ .bsa-list-after) { margin-bottom: 0; }
.bsa-page .bsa-list + .bsa-list-after { margin-top: 12px; }
