/* ABOUT THE FOUNDER — Astra/Spectra palette, page-scoped ONLY. No global selectors. */
.alsf-page { box-sizing:border-box; width:100%; color:var(--ast-global-color-3, inherit); font-family:inherit; background:transparent; }
.alsf-page *, .alsf-page *::before, .alsf-page *::after { box-sizing:border-box; }
.alsf-page .alsf-band { width:100%; padding:clamp(26px,4.4vw,64px) clamp(18px,3.2vw,40px); background:var(--ast-global-color-4, transparent); }
.alsf-page .alsf-band:nth-of-type(even) { background:var(--ast-global-color-5, transparent); }
.alsf-page :is(h1,h2,h3) { font-family:inherit; color:var(--ast-global-color-2, inherit); letter-spacing:normal; text-transform:none; overflow-wrap:normal; word-break:normal; hyphens:none; -webkit-hyphens:none; -ms-hyphens:none; line-height:1.28; }
.alsf-page h1 { font-size:clamp(19px,2.45vw,36px); font-weight:700; margin:0 0 10px; }
.alsf-page .alsf-founder-name { white-space:nowrap; overflow-wrap:normal; word-break:normal; letter-spacing:-.025em; }
.alsf-page h2 { font-size:clamp(23px,2.7vw,32px); font-weight:700; margin:0 0 15px; }
.alsf-page h3 { font-size:clamp(17px,1.7vw,21px); font-weight:650; margin:0 0 6px; }
.alsf-page p { color:var(--ast-global-color-3, inherit); font-size:inherit; line-height:1.75; text-align:justify; text-justify:inter-word; hyphens:none; -webkit-hyphens:none; -ms-hyphens:none; overflow-wrap:normal; word-break:normal; margin:0 0 14px; }
.alsf-page p:last-child { margin-bottom:0; }
.alsf-page strong { color:inherit; }
.alsf-page .alsf-kicker { display:block; font-size:13px; color:var(--ast-global-color-0,inherit); font-weight:700; letter-spacing:.05em; text-transform:uppercase; margin-bottom:8px; }
.alsf-page .alsf-designation { font-weight:700; font-size:clamp(15px,1.8vw,18px); color:var(--ast-global-color-0,inherit); margin-bottom:16px; }
.alsf-page .alsf-lead { font-weight:650; color:#dcb65b; font-size:clamp(15px,1.9vw,21px); text-align:left; }
.alsf-page .alsf-tagline-gold { display:inline-block; color:#dcb65b; background:#112642; border-radius:5px; padding:7px 11px; line-height:1.55; }
.alsf-page .alsf-tagline-white { color:#fff; }
.alsf-page .alsf-grid { display:grid; grid-template-columns:minmax(0,1.18fr) minmax(0,.82fr); gap:clamp(18px,3vw,44px); align-items:center; }
.alsf-page .alsf-grid.alsf-reverse { grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr); }
.alsf-page .alsf-text { min-width:0; }
.alsf-page figure { margin:0; width:100%; min-width:0; }
.alsf-page img { display:block; width:100%; height:auto; max-height:430px; object-fit:contain; border-radius:6px; }
.alsf-page .alsf-portrait img { max-height:400px; }
.alsf-page .alsf-img-caption { font-size:12px; color:var(--ast-global-color-3,inherit); text-align:center; margin-top:6px; }
.alsf-page .alsf-highlights { display:flex; flex-wrap:wrap; gap:8px; margin-top:16px; }
.alsf-page .alsf-highlights span { display:inline-block; border:1px solid var(--ast-global-color-6,#d2d2d2); color:var(--ast-global-color-2,inherit); padding:6px 10px; border-radius:6px; font-size:13px; font-weight:600; }
.alsf-page .alsf-expertise-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(16px,2vw,24px); margin-top:20px; }
.alsf-page .alsf-expertise-item { min-width:0; border-top:2px solid var(--ast-global-color-0,currentColor); padding-top:11px; }
.alsf-page .alsf-expertise-item p { margin:0; }
.alsf-page .alsf-achievement + .alsf-achievement { margin-top:18px; }
.alsf-page .alsf-achievement h3 { color:var(--ast-global-color-2,inherit); }
.alsf-page .alsf-qualification-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px 26px; margin-top:24px; }
.alsf-page .alsf-degree { min-width:0; padding:8px 0; border-bottom:1px solid var(--ast-global-color-6,#d2d2d2); }
.alsf-page .alsf-degree strong { display:block; color:var(--ast-global-color-2,inherit); font-size:15px; line-height:1.4; }
.alsf-page .alsf-degree span { display:block; font-size:13px; color:var(--ast-global-color-3,inherit); line-height:1.55; }
.alsf-page .alsf-footnote { text-align:center; font-weight:600; font-size:16px; padding-top:16px; }
@media (max-width:780px) {
 .alsf-page .alsf-grid,.alsf-page .alsf-grid.alsf-reverse { grid-template-columns:1fr; }
 .alsf-page figure { width:100%; max-width:460px; }
 .alsf-page .alsf-portrait { order:-1; }
 .alsf-page .alsf-band { padding:30px 18px; }
}
@media (max-width:520px) { .alsf-page .alsf-expertise-grid,.alsf-page .alsf-qualification-grid {grid-template-columns:1fr} .alsf-page .alsf-band {padding:26px 12px} .alsf-page p {line-height:1.7} }

/* v1.2.0: no automatic hyphens / split words anywhere on this page. */
.alsf-page :is(p,h1,h2,h3,span,strong,em) { hyphens:none !important; -webkit-hyphens:none !important; -ms-hyphens:none !important; word-break:normal !important; overflow-wrap:normal !important; }
@media (max-width:520px) { .alsf-page .alsf-founder-name { font-size:clamp(16px,5vw,23px); } }

/* v1.3.0: strict founder tagline and spelling, without affecting page geometry. */
.alsf-page .alsf-tagline-gold { color:#dcb65b !important; text-transform:none !important; }
.alsf-page .alsf-tagline-white { color:#ffffff !important; text-transform:none !important; }
.alsf-page .alsf-tagline-gold-phrase { color:#dcb65b !important; text-transform:none !important; }
.alsf-page #alsf-training { text-transform:none !important; }
.alsf-page .alsf-achievement h3,
.alsf-page .alsf-achievement p { text-transform:none !important; }
.alsf-page .alsf-acronym { text-transform:none !important; }

/* v1.3.2 visual hotfix: affect only the About the Founder section, not site margins. */
.alsf-page .alsf-lead .alsf-tagline-gold .alsf-tagline-gold-phrase,
.alsf-page .alsf-hero .alsf-lead .alsf-tagline-gold-phrase {
  color:#DCB65B !important; -webkit-text-fill-color:#DCB65B !important;
  text-transform:none !important;
}
.alsf-page .alsf-lead .alsf-tagline-gold .alsf-tagline-white,
.alsf-page .alsf-hero .alsf-lead .alsf-tagline-white {
  color:#FFFFFF !important; -webkit-text-fill-color:#FFFFFF !important;
  text-transform:none !important;
}
.alsf-page #alsf-training .alsf-lowercase,
.alsf-page #alsf-training .alsf-lowercase * { text-transform:lowercase !important; }
.alsf-page #alsf-training .alsf-titlecase,
.alsf-page #alsf-training .alsf-titlecase * { text-transform:capitalize !important; }
.alsf-page .alsf-achievement h3 .alsf-acronym,
.alsf-page .alsf-achievement p .alsf-acronym {
  text-transform:uppercase !important;
}
