);
}
// ---- Floating education motifs -------------------------------------------
// Scatters faint subject icons behind a section for warmth (book, compass,
// rocket, star, flask, etc). Parent must be position:relative; overflow:hidden.
function EduMotifs({ tone = 'light', density = 'normal' }) {
const Icon = window.Icon;
const color = tone === 'navy' ? 'rgba(255,255,255,0.07)' : 'var(--ink-100)';
const base = [
{ name: 'bookOpen', size: 64, top: '8%', left: '4%', rot: -12 },
{ name: 'compass', size: 52, top: '64%', left: '8%', rot: 10 },
{ name: 'rocket', size: 58, top: '14%', left: '88%', rot: 14 },
{ name: 'flask', size: 48, top: '72%', left: '82%', rot: -8 },
{ name: 'star', size: 40, top: '40%', left: '50%', rot: 0 },
{ name: 'graduationCap', size: 50, top: '82%', left: '46%', rot: 6 },
{ name: 'lightbulb', size: 44, top: '26%', left: '30%', rot: -6 },
{ name: 'brain', size: 46, top: '54%', left: '72%', rot: 12 },
];
const motifs = density === 'light' ? base.filter((_, i) => i % 2 === 0) : base;
return (
{motifs.map((m, i) => (
))}
);
}
// ---- Soft wave divider ---------------------------------------------------
// A friendly curved transition between sections. Place at the very top or
// bottom of a section; `fill` should match the ADJACENT section's background.
function WaveDivider({ fill = 'var(--surface-page)', flip = false, height = 56 }) {
return (
);
}
// ---- Inline CTA band ------------------------------------------------------
// A compact, light-touch call-to-action strip for mid-page placement — less
// prominent than a full navy CTA section, so it doesn't compete with the
// hero/closing CTAs on the same page.
function CTABand({ eyebrow, title, subtitle, buttonLabel, onClick, accent = 'gold' }) {
const Icon = window.Icon;
const { Button } = window.NGISDesignSystem_f6dc23;
return (