/* Editorial homepage. Scoped to avoid changing Divi and course templates. */
.bos-home{--bh-ink:#172c42;--bh-red:#b52924;--bh-paper:#f5f3ee;color:var(--bh-ink);background:#fff;font-family:inherit;font-size:17px;line-height:1.7}
.bos-home *{box-sizing:border-box}.bos-home h1,.bos-home h2,.bos-home h3,.bos-home p{padding:0;margin:0;color:inherit}.bos-home h1,.bos-home h2,.bos-home h3{font-weight:600;letter-spacing:-.035em;text-wrap:balance}.bos-home a{color:inherit}.bos-home a:focus-visible{outline:3px solid #dfac41;outline-offset:6px}.bh-wrap{width:min(1120px,calc(100% - 80px));margin:auto}.bh-section{padding:88px 0;scroll-margin-top:110px}.bos-home .bh-eyebrow{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.16em;margin-bottom:20px}.bos-home h2{font-size:clamp(30px,3.5vw,46px);line-height:1.15;margin-bottom:28px}.bos-home h3{font-size:23px;line-height:1.3}.bos-home p{margin-bottom:20px}.bh-hero{background:var(--bh-ink);color:white;padding:45px 0 42px;position:relative;overflow:hidden;border-bottom:7px solid var(--bh-red)}.bos-home .bh-brand{font-size:32px;line-height:1.1;font-weight:700;letter-spacing:-.04em;margin-bottom:36px}.bh-brand span{display:block;font-size:11px;font-weight:400;letter-spacing:.06em;margin-top:6px}.bos-home .bh-hero .bh-eyebrow{color:#c6d0da;margin-bottom:16px}.bos-home h1{font-size:clamp(38px,4.8vw,64px);line-height:1.07;max-width:970px;margin-bottom:22px}.bos-home .bh-lead{max-width:720px;font-size:18px;line-height:1.65;margin-bottom:26px}.bh-actions{display:flex;align-items:center;gap:26px;flex-wrap:wrap}.bos-home .bh-button{display:inline-flex;align-items:center;justify-content:center;gap:28px;min-height:50px;padding:12px 23px;background:var(--bh-red);color:white;text-decoration:none;font-size:15px;font-weight:600;border:1px solid transparent;transition:background .18s,transform .18s}.bos-home .bh-button:hover{background:#94231f;transform:translateY(-2px)}.bh-textlink{text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px;font-size:15px;font-weight:600;display:inline-block;padding:9px 0;transition:text-underline-offset .18s}.bh-textlink:hover{text-underline-offset:9px}.bos-home .bh-location{font-size:12px;color:#c6d0da;margin:28px 0 0}.bh-needs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px;margin-top:36px}.bh-needs>a{display:flex;flex-direction:column;text-decoration:none;border-top:1px solid #aeb8bf;padding-top:20px}.bh-number{color:var(--bh-red);font-size:13px;letter-spacing:.08em;margin-bottom:22px}.bh-needs h3{margin-bottom:17px}.bh-needs p{font-size:16px}.bh-linklabel{margin-top:auto;padding-top:10px;font-size:14px;font-weight:600}.bh-needs>a:hover .bh-linklabel{color:var(--bh-red)}.bh-topics,.bh-reading{background:var(--bh-paper)}.bh-sectionhead{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:20px}.bh-topiclist>a{display:grid;grid-template-columns:1fr 1.15fr 30px;gap:28px;align-items:center;padding:25px 0;border-top:1px solid #c4c9c9;text-decoration:none;transition:padding .18s,color .18s}.bh-topiclist>a:last-child{border-bottom:1px solid #c4c9c9}.bh-topiclist>a:hover{color:var(--bh-red);padding-left:10px}.bh-topiclist h3{font-size:21px}.bh-topiclist p{font-size:15px;margin:0}.bh-topiclist>a>span{font-size:24px}.bh-split{display:grid;grid-template-columns:1fr 1fr;gap:80px}.bh-inhouse{background:var(--bh-ink);color:white}.bh-inhouse .bh-button{margin-top:12px}.bh-steps{list-style:none;counter-reset:step;margin:0;padding:0}.bh-steps li{counter-increment:step;border-top:1px solid #5e6e7d;padding:22px 0 4px 42px;position:relative}.bh-steps li:before{content:'0' counter(step);position:absolute;left:0;top:24px;font-size:13px;color:#b9c8d6}.bh-steps h3{font-size:21px;margin-bottom:10px}.bh-steps p{font-size:16px;color:#d8e0e7}.bos-home .bh-large{font-size:23px;line-height:1.5}.bos-home .bh-partner{margin:30px 0 0;font-size:14px;border-top:1px solid #c4c9c9;padding-top:20px}.bh-contact p{max-width:630px}.bh-contact-details{border-top:1px solid #c4c9c9;margin-top:45px;padding-top:25px;display:flex;justify-content:space-between;gap:20px;font-size:14px}.bh-hero .bh-wrap{animation:bh-enter .5s ease-out both}@keyframes bh-enter{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media(max-width:980px){.bh-wrap{width:calc(100% - 48px)}.bh-section{padding:64px 0}.bh-split{gap:35px}.bh-needs{gap:22px}.bos-home h3{font-size:21px}}
@media(max-width:600px){.bh-wrap{width:calc(100% - 40px)}.bh-hero{padding:28px 0}.bos-home .bh-brand{font-size:27px;margin-bottom:27px}.bos-home h1{font-size:38px}.bos-home .bh-lead{font-size:16px;line-height:1.6}.bh-actions{gap:10px;align-items:flex-start;flex-direction:column}.bos-home .bh-location{font-size:11px;margin-top:21px}.bh-section{padding:50px 0;scroll-margin-top:90px}.bh-needs,.bh-split{grid-template-columns:1fr;gap:30px}.bh-needs h3{font-size:23px}.bh-number{margin-bottom:12px}.bh-sectionhead{display:block}.bh-topiclist>a{grid-template-columns:1fr 25px;gap:8px;padding:22px 0}.bh-topiclist h3{font-size:21px}.bh-topiclist p{grid-column:1;font-size:15px}.bh-topiclist>a>span{grid-column:2;grid-row:1/3}.bh-contact-details{flex-direction:column}.bos-home .bh-large{font-size:21px}}
@media(prefers-reduced-motion:reduce){.bos-home *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* The existing theme assigns a dark background to #main-content. */
#main-content.bos-home{background:#fff!important}
.bos-home .bh-section:not(.bh-topics):not(.bh-reading):not(.bh-inhouse){background:#fff}
@media(min-width:601px) and (max-width:800px){.bh-needs{grid-template-columns:1fr}.bh-split{grid-template-columns:1fr}}

/* Existing BOS figures add personality without competing with course navigation. */
.bh-hero-layout{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:28px;align-items:end}.bh-hero-copy{min-width:0}.bos-home .bh-hero-layout h1{font-size:clamp(36px,4vw,52px)}.bh-guide{display:block;width:240px;height:auto;max-height:440px;object-fit:contain;object-position:bottom;margin:0 0 -42px}.bh-team-illustration{display:block;width:240px;height:220px;object-fit:contain;margin:24px auto -30px}
@media(max-width:980px){.bh-hero-layout{grid-template-columns:minmax(0,1fr) 170px;gap:18px}.bh-guide{width:170px}}
@media(max-width:600px){.bh-hero-layout{display:block;position:relative}.bh-hero-copy{position:relative;z-index:1}.bos-home .bh-hero-layout h1{font-size:38px}.bh-guide{width:115px;height:170px;margin:14px 0 -28px auto}.bh-team-illustration{width:200px;height:185px;margin:22px auto 0}}

/* Focused hero: one message, one action, one character. */
.bh-hero{padding:0;border-bottom:0}.bh-hero-layout{min-height:540px;grid-template-columns:minmax(0,1fr) 340px;align-items:center;gap:40px}.bh-hero-copy{padding:56px 0}.bos-home .bh-hero-layout h1{font-size:clamp(48px,5.6vw,74px);line-height:1.04;letter-spacing:-.045em;margin-bottom:26px}.bos-home .bh-hero .bh-lead{font-size:20px;max-width:510px;line-height:1.55;margin-bottom:32px}.bh-guide{width:340px;height:490px;max-height:none;align-self:end;object-fit:contain;object-position:bottom;margin:0}
@media(min-width:601px) and (max-width:980px){.bh-hero-layout{min-height:460px;grid-template-columns:minmax(0,1fr) 230px;gap:20px}.bh-guide{width:230px;height:370px}.bos-home .bh-hero-layout h1{font-size:48px}.bos-home .bh-hero .bh-lead{font-size:17px}}
@media(max-width:600px){.bh-hero-layout{display:grid;grid-template-columns:minmax(0,1fr) 112px;min-height:540px;gap:0;align-items:start}.bh-hero-copy{grid-column:1/-1;grid-row:1;padding:38px 0 210px}.bos-home .bh-hero-layout h1{font-size:44px;margin-bottom:20px}.bos-home .bh-hero .bh-lead{font-size:17px;max-width:330px;margin-bottom:24px}.bh-guide{grid-column:2;grid-row:1;align-self:end;width:135px;height:202px;margin:0;justify-self:end;position:relative;z-index:0}}

/* Allow the descriptive homepage heading to wrap naturally. */
.bos-home .bh-hero-layout h1{font-size:clamp(38px,4.3vw,56px);line-height:1.1;overflow-wrap:normal;hyphens:auto}
@media(max-width:600px){.bos-home .bh-hero-layout h1{font-size:36px}.bh-hero-copy{padding-bottom:180px}.bh-guide{height:175px;width:117px}}
