/* Final authority: homepage-scoped editorial layout; shared business styles stay intact. */
body.home { --section-space: 26px; --color-bg-alt: #fbf6e9; --shadow-soft: 0 2px 9px #361c0505; }
body.home { --brs-home-content-max:1680px; --brs-home-gutter:6.5%; }
body.home .container { width:calc(100% - var(--brs-home-gutter) - var(--brs-home-gutter)); max-width:var(--brs-home-content-max); margin-inline:auto; padding-inline:0; box-sizing:border-box; }
body.home .site-header__utility { background:#fcf0d9; }
body.home .site-header__utility-inner { min-height:40px; padding-block:2px; }
body.home .site-header__main { min-height:86px; padding-block:10px; }
body.home .site-header__logo { width:42px; height:63px; }
body.home .site-header__name { font-size:28px; }
body.home .site-header__menu { gap:20px; }
body.home .site-header__menu > li > a { font-size:15px; }
body.home .site-header__values { font-size:12px; letter-spacing:.18em; }
body.home .btn { border-radius:2px; font-size:14px; min-height:44px; }
body.home .btn-primary, .home-page .parent-portal-box__link { background:#a4a644; color:#1c0d02; border-color:#a4a644; }
body.home .btn-primary:hover, .home-page .parent-portal-box__link:hover { background:#b3b754; }
.home-page .section__title { font-size:clamp(29px,3vw,42px); line-height:1.1; letter-spacing:-.025em; }
.home-page .section-heading { margin-bottom:16px; gap:20px; align-items:end; }
.home-page .section-heading--split { grid-template-columns:minmax(0,1.7fr) minmax(0,1fr); }
.home-page .section__intro { font-size:15px; line-height:1.5; }
.home-page .eyebrow { font-size:11px; letter-spacing:.14em; margin-bottom:6px; }
.home-page .text-link { color:#62651f; }
.home-page .hero--carousel { min-height:480px; padding:40px 0 64px; background:#361c05; }
.home-page .hero--carousel .hero__grid { display:block; }
.home-page .hero--carousel .hero__content { max-width:570px; }
.home-page .hero--carousel .hero__title { max-width:17ch; font-size:clamp(48px,4.65vw,70px); line-height:.96; margin-bottom:18px; }
.home-page .hero--carousel .hero__subtitle { max-width:44ch; font-size:18px; line-height:1.45; margin-bottom:16px; }
.home-page .hero__actions { gap:14px; }
.hero--carousel::after { background:linear-gradient(90deg,#361c05 0%,#361c05 36%,#361c05bd 47%,#361c0518 70%,transparent 100%); }
.hero-carousel__slides { position:absolute; z-index:-2; inset:0 0 0 36%; overflow:hidden; }
.hero-carousel__slide { position:absolute; inset:0; opacity:0; transition:opacity 1000ms ease-in-out; }
.hero-carousel__slide.is-active { opacity:1; }
.hero-carousel__slide picture,.hero-carousel__slide img { width:100%; height:100%; }
.hero-carousel__slide img { object-fit:cover; object-position:center 15%; }
.is-carousel-ready .hero-carousel__slide.is-active img { animation:brave-photo-drift 7s linear both; }
.hero--carousel.is-paused .hero-carousel__slide img { animation-play-state:paused; }
@keyframes brave-photo-drift { from { transform:scale(1); } to { transform:scale(1.025) translateX(-.25%); } }
.hero-carousel__controls[hidden] { display:none; }
.hero-carousel__controls button { display:inline-grid; place-items:center; width:44px; height:44px; padding:0; color:#fffdf8; background:transparent; border:0; cursor:pointer; border-radius:2px; }
.hero-carousel__controls button:hover { background:#361c0555; }
.hero-carousel__controls button:focus-visible { outline:2px solid #faecd3; outline-offset:2px; }
.hero-carousel__arrow { position:absolute; top:43%; font:3.1rem/1 var(--font-body); }
.hero-carousel__arrow--previous { left:16px; }
.hero-carousel__arrow--next { right:16px; }
.hero-carousel__pagination { position:absolute; bottom:10px; left:max(var(--gutter),calc((100% - 1200px)/2 + var(--gutter) - 14px)); display:flex; align-items:center; }
.hero-carousel__dot span { width:9px; height:9px; border:1px solid currentColor; border-radius:50%; }
.hero-carousel__dot[aria-pressed="true"] span { background:#fffdf8; }
.hero-carousel__play { margin-left:4px; font-size:14px; opacity:.8; }
.hero-carousel__play:disabled { opacity:.4; cursor:default; }
.home-page .values-section { padding-block:28px; background:#fbf6e9; color:#361c05; }
.home-page .values-section :is(h2,h3,p) { color:#361c05; }
.home-page .values-signature { gap:0; }
.home-page .values-signature__item { position:relative; padding:0 20px 0 122px; border-color:#e5cfb2; }
.home-page .values-signature__item:first-child { padding:0 20px 0 122px; }
.home-page .values-signature__number { position:absolute; left:24px; top:2px; display:grid; place-items:center; width:82px; height:82px; border:2px solid #824f21; border-radius:50%; background:transparent; color:#824f21; }
.home-page .values-signature__number svg { width:48px; height:48px; }
.home-page .values-signature__title { font:700 32px/1.1 var(--font-display); text-transform:none; letter-spacing:-.02em; margin-bottom:6px; }
.home-page .values-signature__label { display:none; }
.home-page .values-signature__item > p:last-child { font-size:14px; line-height:1.45; }
.home-page .program-pathway { border:1px solid #eee3d2; border-radius:4px; overflow:hidden; background:#fffdf8; box-shadow:0 2px 9px #361c0505; }
.home-page .program-pathway__media { border:0; aspect-ratio:1.92; }
.home-page .program-pathway__media picture { width:100%; height:100%; }
.home-page .program-pathway__media img { object-position:center; transition:transform .4s ease; }
.home-page .program-pathway:hover .program-pathway__media img { transform:scale(1.025); }
.home-page .program-pathway__body { min-height:0; padding:14px 18px; gap:0; }
.home-page .program-pathway__number { display:none; }
.home-page .program-pathway__title { font:700 24px/1.1 var(--font-display); margin-bottom:7px; }
.home-page .program-pathway__description { font-size:15px; line-height:1.45; margin-bottom:10px; }
.home-page .program-pathway__link { font-size:14px; margin-top:auto; }
.home-page .program-pathway__link span { display:inline-block; transition:transform .2s; }
.home-page .program-pathway:hover .program-pathway__link span { transform:translateX(3px); }
.home-page .courses-entry { margin-top:14px; padding-block:10px; gap:20px; border-color:#eee3d2; }
.home-page .courses-entry__marker { font-size:10px; }
.home-page .courses-entry__title { font-size:17px; margin-bottom:2px; }
.home-page .courses-entry__content p { font-size:13px; }
.home-page .home-courses { color:#faecd3; background:#361c05; padding-block:22px; }
.home-page .home-courses :is(.section__title,.eyebrow,.section__intro,.text-link,.course-card__title,.course-card__title a,.course-card__desc,.course-card__class-label,.course-card__class-time,.course-card__class-teacher,.course-card__link,.course-card__schedule-empty) { color:#faecd3; }
.home-page .home-course-grid { grid-template-columns:repeat(auto-fit,minmax(min(100%,310px),1fr)); gap:18px; }
.home-page .home-course-grid .course-card { background:#4c341d; border:1px solid #67503a; display:grid; grid-template-columns:74px minmax(0,1fr); align-items:start; padding:14px; gap:16px; box-shadow:none; border-radius:4px; }
.home-page .home-course-grid .course-card__thumb { width:74px; height:74px; aspect-ratio:1; border-radius:3px; overflow:hidden; }
.home-page .home-course-grid .course-card__thumb img { width:100%; height:100%; object-fit:cover; }
.home-page .home-course-grid .course-card__body { padding:0; }
.home-page .home-course-grid .course-card__title { font-size:17px; line-height:1.2; margin-bottom:6px; }
.home-page .home-course-grid .course-card__desc { font-size:12px; margin-bottom:5px; }
.home-page .home-course-grid .course-card__classes { border-color:#67503a; font-size:12px; }
.home-page .home-course-grid .course-card__class { padding-block:5px; border-color:#67503a; }
.home-page .home-course-grid .course-card__class-status { display:inline-block; padding:3px 10px; margin-top:4px; border-radius:2px; background:#faecd3; color:#361c05; font-size:12px; font-weight:700; }
.home-page .home-course-grid .course-card__class-status--open { background:#a4a644; color:#1c0d02; }
.home-page .home-course-grid .course-card__link { font-size:12px; margin-top:4px; }
.home-page .home-courses :is(a,button):focus-visible { outline-color:#faecd3; }
.home-page .home-courses .course-grid-empty { color:#361c05; }
.home-page .community-section { padding-block:0; }
.home-page .community-section__layout { grid-template-columns:1fr 1fr; align-items:stretch; gap:28px; }
.home-page .community-section__intro { padding-block:25px; }
.home-page .community-section__intro .section__intro { margin-bottom:12px; }
.home-page .community-section__media { aspect-ratio:auto; min-height:340px; border:0; border-radius:0; height:100%; }
.home-page .community-section__media picture { width:100%; height:100%; }
.home-page .community-section__media img { object-position:50% 35%; }
.home-page .community-path { display:block; padding-block:9px; border-color:#eee3d2; }
.home-page .community-path__number { display:none; }
.home-page .community-path__title { font:700 18px/1.2 var(--font-display); margin-bottom:3px; }
.home-page .community-path__content p { font-size:13px; line-height:1.4; margin-bottom:5px; }
.home-page .community-path__actions { gap:8px 18px; }
.home-page .community-path__actions .btn { flex:0 1 auto; min-height:36px; padding:7px 12px; font-size:12px; }
.home-page .community-path__actions .text-link { font-size:13px; }
.home-page .community-path__actions .text-link { min-height:32px; }
.home-page .community-paths { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 18px; }
.home-page .community-path:first-child { grid-column:1/-1; }
.home-page .community-path:last-child { border-bottom:0; }
.home-page .program-pathways .section-heading { display:block; }
.home-page .program-pathways .section-heading .section__intro { margin-top:8px; max-width:none; }
.home-page .program-pathways .section-heading .section__title { max-width:none; }
.home-page .why-brave { background:#fbf6e9; }
.home-page .why-brave__layout { display:block; }
.home-page .why-brave__statement { position:static; margin-bottom:16px; }
.home-page .why-brave__statement .section__title { max-width:none; font-size:36px; }
.home-page .why-brave__lead { max-width:none; margin-top:7px; font-size:14px; line-height:1.5; }
.home-page .why-brave__points { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:25px; }
.home-page .why-brave__point { position:relative; display:grid; grid-template-columns:72px minmax(0,1fr); gap:6px 14px; align-content:start; border:0; padding:0; }
.home-page .why-brave__point::before { content:none; }
.home-page .why-brave__point:not(:last-child)::after { content:'→'; position:absolute; right:-22px; top:23px; color:#824f21; }
.journey-icon { display:grid; place-items:center; grid-row:1/3; width:72px; height:72px; border:2px solid #824f21; border-radius:50%; color:#824f21; }
.home-page .why-brave__point h3 { font:700 17px/1.2 var(--font-display); margin:4px 0 0; }
.home-page .why-brave__point p { font-size:12px; line-height:1.45; margin:0; }
.home-page .participate__primary { grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.home-page .participate-feature { position:relative; padding:18px 18px 18px 100px; border:0; background:#fbf6e9; color:#5a3a18; border-radius:4px; }
.home-page .participate-feature h3 { color:#361c05; font:700 20px/1.2 var(--font-display); margin-bottom:7px; }
.home-page .participate-feature p:not(.participate-feature__number) { font-size:13px; line-height:1.45; margin-bottom:8px; }
.home-page .participate-feature__number { position:absolute; left:22px; top:21px; display:grid; justify-items:center; gap:8px; color:#824f21; margin:0; font:20px var(--font-display); }
.home-page .participate-feature__number svg { width:46px; height:46px; }
.home-page .participate-feature .btn { min-height:32px; padding:4px 0; border:0; background:transparent; color:#62651f; font-size:13px; justify-content:start; }
.home-page .participate-feature .btn::after { content:'→'; margin-left:10px; }
.home-page .parent-portal { padding-block:14px; background:#f1f2df; }
.home-page .parent-portal-box { display:grid; grid-template-columns:58px minmax(0,1fr) auto; align-items:center; gap:20px; background:transparent; border:0; padding:0; }
.home-page .parent-portal-box__marker { color:#62651f; }
.home-page .parent-portal-box__marker svg { width:48px; height:48px; }
.home-page .parent-portal-box__text { display:flex; align-items:center; gap:26px; }
.home-page .parent-portal-box__text .eyebrow { margin:0; font-size:14px; letter-spacing:0; text-transform:none; color:#1c0d02; white-space:nowrap; }
.home-page .parent-portal-box__title { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.home-page .parent-portal-box__text p:last-child { font-size:13px; margin:0; }
body.home .visit-section { background:#fffdf8; padding-block:20px; }
body.home .visit-section__layout { grid-template-columns:1.4fr 1fr 1.3fr; grid-template-rows:auto auto; gap:10px 25px; align-items:center; }
body.home .visit-section__intro { display:contents; }
body.home .visit-section__title { grid-column:1; grid-row:1; align-self:start; margin:0; font-size:11px; }
body.home .visit-section__organization { grid-column:1; grid-row:1; margin:22px 0 45px; font:700 26px/1.1 var(--font-display); }
body.home .visit-section__note { grid-column:1; grid-row:1; align-self:end; margin-bottom:12px; font-size:14px; }
body.home .visit-section__intro address { grid-column:2; grid-row:1; font-size:14px; border-left:2px solid #e5cfb2; padding-left:20px; }
body.home .visit-section__directions { grid-column:1; grid-row:2; justify-self:start; align-self:start; margin:0; }
body.home .visit-section__media { display:contents; }
body.home .visit-section__figure--secondary { grid-column:3; grid-row:1/3; position:relative; height:210px; }
body.home .visit-section__figure--secondary img { position:static; height:100%; object-fit:cover; }
body.home .visit-section__parking { grid-column:2; grid-row:2; border:0; padding:0; }
body.home .visit-section__parking p { font-size:11px; line-height:1.4; text-align:left; }
body.home .site-footer { background:#361c05; padding:26px 0 20px; }
body.home .site-footer__main { grid-template-columns:300px minmax(0,1fr); gap:36px; }
body.home .site-footer__brand-link { display:flex; gap:13px; align-items:center; }
body.home .site-footer__logo { width:40px; height:60px; }
body.home .site-footer__wordmark { font:700 21px/1.1 var(--font-display); }
body.home .site-footer__descriptor { font-size:12px; margin-top:8px; }
body.home .site-footer__values { display:flex; gap:8px; margin-top:7px; }
body.home .site-footer__values li { display:block; font-size:9px; }
body.home .site-footer__values li span { display:none; }
body.home .site-footer__values li:not(:last-child)::after { content:' ·'; }
body.home .site-footer__contact { margin-top:10px; padding-top:8px; font-size:12px; }
body.home .site-footer__heading { display:none; }
body.home .site-footer__menu { gap:20px; }
body.home .site-footer__menu > li > a { min-height:30px; font-size:13px; }
body.home .site-footer__menu .sub-menu { margin-top:3px; gap:0; }
body.home .site-footer__menu .sub-menu a { min-height:29px; font-size:12px; }
body.home .site-footer__meta { margin-top:18px; padding-top:14px; font-size:11px; }
body.home :is(#program-pathways,#visit-us,#site-content) { scroll-margin-top:135px; }
@media(min-width:768px) {
 .home-page .program-pathways__grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:26px; }
 .home-page .program-pathway:last-child { display:block; grid-column:auto; }
 .home-page .program-pathway:last-child .program-pathway__body { border:0; }
}
@media(min-width:768px) and (max-width:1199px) {


 .home-page .values-signature__item,.home-page .values-signature__item:first-child { padding:0 16px; }
 .home-page .values-signature__number { position:static; margin-bottom:10px; width:66px; height:66px; }
 .home-page .values-signature__title { font-size:28px; }
 .home-page .why-brave__points { grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
 .home-page .why-brave__point:nth-child(2)::after { content:none; }
 .home-page .participate-feature { padding:16px; }
 .home-page .participate-feature__number { position:static; display:flex; justify-content:start; margin-bottom:12px; }
 .home-page .parent-portal-box__text { display:block; }
 body.home .site-footer__main { grid-template-columns:1fr; gap:20px; }
 body.home .site-footer__brand { max-width:none; }
 body.home .site-footer__menu { grid-template-columns:repeat(5,minmax(0,1fr)); }
}
@media(max-width:767px) {
 body.home .site-header__main { min-height:76px; }
 body.home .site-header__logo { width:34px; height:51px; }
 body.home .site-header__name { font-size:20px; max-width:12rem; }
 .home-page .section-heading--split { grid-template-columns:1fr; gap:9px; }
 .home-page .hero--carousel { display:block; min-height:0; padding:260px 0 68px; }
 .hero-carousel__slides { inset:0 0 auto; height:325px; }
 .hero-carousel__slide img { object-position:center 29%; }
 .hero--carousel::after { background:linear-gradient(0deg,#361c05 0%,#361c05 calc(100% - 295px),transparent calc(100% - 210px)); }
 .home-page .hero--carousel .hero__title { max-width:18ch; font-size:40px; line-height:1; }
 .home-page .hero--carousel .hero__subtitle { font-size:16px; }
 .hero-carousel__arrow { top:120px; background:#361c0555 !important; }
 .hero-carousel__arrow--previous { left:6px; }.hero-carousel__arrow--next { right:6px; }
 .home-page .hero__actions .btn { width:auto; padding-inline:13px; flex:1 1 auto; }
 .home-page .values-section { padding-block:8px; }
 .home-page .values-signature__item,.home-page .values-signature__item:first-child { padding:20px 0 20px 85px; }
 .home-page .values-signature__number { left:0; top:21px; width:66px; height:66px; }
 .home-page .values-signature__number svg { width:40px; height:40px; }
 .home-page .values-signature__title { font-size:28px; }
 .home-page .program-pathway__title { font-size:25px; }
 .home-page .program-pathway__media { aspect-ratio:1.65; }
 .home-page .courses-entry { gap:9px; }
 .home-page .community-section__layout { grid-template-columns:1fr; gap:0; }
 .home-page .community-section__intro { padding-block:24px; }
 .home-page .community-section__media { aspect-ratio:4/3; min-height:0; height:auto; margin-bottom:20px; }
 .home-page .why-brave__statement .section__title { font-size:29px; }
 .home-page .why-brave__points { grid-template-columns:1fr; gap:22px; }
 .home-page .why-brave__point { grid-template-columns:66px minmax(0,1fr); }
 .home-page .why-brave__point:not(:last-child)::after { content:'↓'; top:auto; bottom:-22px; left:28px; right:auto; }
 .journey-icon { width:64px; height:64px; }
 .home-page .why-brave__point p { font-size:13px; }
 .home-page .participate__primary { grid-template-columns:1fr; gap:12px; }
 .home-page .participate-feature { padding-left:95px; }
 .home-page .community-paths { display:block; }
 .home-page .parent-portal-box { grid-template-columns:48px minmax(0,1fr); gap:12px; }
 .home-page .parent-portal-box__text { display:block; }
 .home-page .parent-portal-box__link { grid-column:1/-1; justify-self:stretch; }
 body.home .visit-section__layout { display:flex; flex-direction:column; gap:15px; align-items:stretch; }
 body.home .visit-section__intro { display:block; }
 body.home .visit-section__organization { margin:6px 0; font-size:25px; }
 body.home .visit-section__intro address { border:0; padding:0; }
 body.home .visit-section__note { margin:8px 0 12px; }
 body.home .visit-section__figure--secondary { height:200px; }
 body.home .visit-section__parking p { font-size:12px; }
 body.home .site-footer__main { grid-template-columns:1fr; gap:20px; }
 body.home .site-footer__menu { grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
 body.home .site-footer__menu .sub-menu a { min-height:36px; }
 body.home .site-footer__meta { flex-direction:column; align-items:start; }
}
@media(min-width:768px) and (max-width:959px) {
 .hero--carousel::after { background:linear-gradient(90deg,#361c05 0%,#361c05 36%,#361c05e0 48%,#361c0560 73%,transparent); }
 .home-page .community-section__layout { grid-template-columns:1fr; gap:0; }
 .home-page .community-section__media { aspect-ratio:1.8; height:auto; min-height:0; margin-bottom:24px; }
}
@media(prefers-reduced-motion:reduce) {
 .hero-carousel__slide { transition:none; }
 .is-carousel-ready .hero-carousel__slide.is-active img { animation:none; transform:none; }
 .home-page .program-pathway:hover .program-pathway__media img { transform:none; }
}

/* Second visual review: modular courses and an editorial community/location/footer. */
.home-page .home-courses { padding-block:20px; }
.home-page .home-courses .section-heading { display:flex; justify-content:space-between; align-items:end; gap:24px; margin-bottom:13px; }
.home-page .home-courses .section-heading>div:last-child { text-align:right; }
.home-page .home-courses .section__intro { font-size:12px; margin:0 0 2px; }
.home-page .home-courses .section__title { font-size:36px; }
.home-page .home-courses .text-link { font-size:13px; min-height:30px; }
.home-page .home-course-grid .course-module { grid-template-columns:80px minmax(0,1fr); gap:18px; padding:15px 18px; background:#4a321e; border-color:#715438; align-items:center; }
.course-module__icon { width:80px; height:88px; display:grid; place-items:center; border-radius:4px; color:#fff5df; background:#301906; box-shadow:inset 0 0 22px #1c0d0233; }
.course-module__icon svg { width:48px; height:48px; stroke-width:1.5; }
.home-page .home-course-grid .course-card__title { font-size:18px; line-height:1.2; margin:0 0 4px; }
.home-page .home-course-grid .course-card__title a { text-decoration:none; }
.home-page .home-course-grid .course-card__classes { border:0; padding:0; margin:0; }
.home-page .home-course-grid .course-card__class { border:0; padding:0; display:grid; grid-template-columns:1fr auto; gap:3px 8px; }
.home-page .home-course-grid .course-card__class-label { grid-column:1/-1; font-size:11px; font-weight:400; opacity:.85; margin:0; line-height:1.3; }
.home-page .home-course-grid .course-card__class-time { grid-column:1/-1; font-size:13px; margin:0; line-height:1.4; }
.home-page .home-course-grid .course-card__class-teacher { grid-column:1/-1; font-size:13px; margin:0 0 3px; line-height:1.4; }
.home-page .home-course-grid .course-card__class-status { grid-column:1/-1; justify-self:start; margin:0; padding:3px 13px; font-size:12px; line-height:1.3; }
.home-page .home-course-grid .course-card__link { min-height:25px; margin:4px 0 0; font-size:12px; text-decoration:none; }
.home-page .home-course-grid .course-card__link:hover,.home-page .home-course-grid .course-card__title a:hover { text-decoration:underline; }
.home-page .community-section__layout { grid-template-columns:minmax(0,1fr) minmax(0,1.15fr); gap:36px; }
.home-page .community-section__intro { padding-block:27px; display:flex; flex-direction:column; justify-content:center; }
.home-page .community-section__intro .section__title { font-size:40px; margin-bottom:12px; }
.home-page .community-section__intro .section__intro { max-width:48ch; font-size:16px; margin:0 0 18px; line-height:1.5; }
.home-page .community-section__media { position:relative; height:auto; min-height:340px; overflow:hidden; }
.home-page .community-section__media picture { position:absolute; inset:0; }
.home-page .community-section__media img { object-position:50% 15%; }
.community-entry-links { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px 14px; align-items:center; }
.home-page .community-entry-links .btn { padding:9px 10px; min-height:42px; font-size:13px; }
.home-page .community-entry-links .text-link { min-height:36px; font-size:13px; }
body.home .visit-section--editorial { padding:0; background:#fffdf8; }
.visit-panel { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(0,1fr) minmax(0,1.15fr); align-items:center; gap:28px; }
.visit-panel__intro { padding-block:22px; }
.visit-panel__intro .eyebrow { font-size:11px; margin-bottom:5px; }
.visit-panel__intro h2 { font:700 31px/1.08 var(--font-display); margin:0 0 9px; letter-spacing:-.025em; }
.visit-panel__intro>p:not(.eyebrow) { font-size:14px; color:#5a3a18; margin:0 0 12px; }
.visit-panel__intro .btn { min-height:40px; padding:8px 19px; }
.visit-panel__address { display:flex; align-items:center; gap:14px; font:14px/1.5 var(--font-body); color:#5a3a18; }
.visit-panel__address svg { flex:none; color:#361c05; }
.visit-panel__address strong { color:#1c0d02; font-size:14px; }
.visit-panel__photo { align-self:stretch; min-height:220px; overflow:hidden; }
.visit-panel__photo img { width:100%; height:100%; object-fit:cover; object-position:50% 50%; }
body.home .site-footer--editorial { padding:24px 0 16px; border-top:1px solid #c9ac80; background:linear-gradient(100deg,#301705,#3d230c); }
.footer-directory { display:grid; grid-template-columns:340px minmax(0,1fr); gap:32px; align-items:start; }
.footer-directory__brand { display:flex; align-items:center; gap:12px; text-decoration:none; }
.footer-directory__brand img { width:43px; height:64px; object-fit:contain; flex:none; }
.footer-directory__brand span { font:700 21px/1.1 var(--font-display); color:#fff5df; }
.footer-directory__values { margin:6px 0 14px 55px; color:#faecd3; font:600 9px/1.4 var(--font-body); letter-spacing:.14em; }
.footer-directory__contact { display:inline-flex; align-items:center; min-height:34px; padding:5px 13px; border:1px solid #a18a6c; font-size:12px; border-radius:2px; text-decoration:none; }
body.home .footer-directory .site-footer__menu { grid-template-columns:repeat(5,minmax(0,1fr)); gap:22px; }
body.home .footer-directory .site-footer__menu>li>a { color:#fff5df; font-weight:600; font-size:13px; min-height:24px; text-decoration:none; }
body.home .footer-directory .site-footer__menu .sub-menu { margin-top:5px; gap:1px; }
body.home .footer-directory .site-footer__menu .sub-menu a { color:#eadac4; font-size:12px; min-height:21px; line-height:1.4; text-decoration:none; }
body.home .footer-directory .site-footer__menu a:hover { color:#fffdf8; text-decoration:underline; }
.footer-directory__legal { display:flex; justify-content:space-between; align-items:center; gap:20px; margin-top:19px; padding-top:13px; border-top:1px solid #715438; font-size:11px; color:#eadac4; }
.footer-directory__legal>div { display:flex; gap:24px; }
.footer-directory__legal a { text-decoration:none; }
@media(min-width:768px) and (max-width:1119px) {
 .home-page .home-course-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .home-page .home-course-grid .course-module { grid-template-columns:62px minmax(0,1fr); gap:12px; padding:14px; }
 .course-module__icon { width:62px; height:76px; }
 .home-page .community-section__layout { grid-template-columns:1fr 1fr; gap:24px; }
 .home-page .community-section__intro .section__title { font-size:33px; }
 .home-page .community-section__media { aspect-ratio:auto; height:100%; margin:0; min-height:340px; }
 .home-page .community-entry-links { grid-template-columns:1fr; }
 .home-page .community-entry-links .btn { justify-self:start; }
 .visit-panel { grid-template-columns:1.2fr 1fr; gap:20px; }
 .visit-panel__intro { grid-column:1; }
 .visit-panel__address { grid-column:1; padding-bottom:20px; }
 .visit-panel__photo { grid-column:2; grid-row:1/3; min-height:280px; }
 .footer-directory { grid-template-columns:1fr; gap:20px; }
 .footer-directory__identity { display:grid; grid-template-columns:1fr auto; align-items:center; }
 .footer-directory__values { grid-column:1; margin-bottom:0; }
 .footer-directory__contact { grid-column:2; grid-row:1/3; }
}
@media(max-width:767px) {
 .home-page .home-courses .section-heading { display:block; }
 .home-page .home-courses .section-heading>div:last-child { text-align:left; margin-top:8px; }
 .home-page .home-courses .section__title { font-size:30px; }
 .home-page .home-course-grid { grid-template-columns:1fr; gap:12px; }
 .home-page .home-course-grid .course-module { grid-template-columns:58px minmax(0,1fr); gap:13px; padding:14px; }
 .course-module__icon { width:58px; height:72px; }
 .course-module__icon svg { width:37px; height:37px; }
 .home-page .community-section__layout { grid-template-columns:1fr; gap:0; }
 .home-page .community-section__intro { padding-block:25px; }
 .home-page .community-section__intro .section__title { font-size:33px; }
 .home-page .community-section__media { aspect-ratio:1.3; height:auto; min-height:0; margin:0 0 20px; }
 .home-page .community-entry-links { gap:6px 10px; }
 .home-page .community-entry-links .btn { font-size:12px; padding-inline:7px; }
 .visit-panel { grid-template-columns:1fr; gap:0; }
 .visit-panel__intro h2 { font-size:30px; }
 .visit-panel__address { padding-bottom:20px; }
 .visit-panel__photo { height:220px; margin-bottom:20px; }
 .footer-directory { grid-template-columns:1fr; gap:24px; }
 .footer-directory__brand span { font-size:23px; }
 body.home .footer-directory .site-footer__menu { grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
 body.home .footer-directory .site-footer__menu .sub-menu a { min-height:32px; }
 .footer-directory__legal { flex-direction:column; align-items:start; gap:10px; }
}

/* Round 3: supplied detail references. Presentation only; carousel timing is unchanged. */
.hero__title-line { display:block; }
.home-page .home-course-grid .course-module { border-color:#705136; background:linear-gradient(110deg,#49311d,#503722); }
.home-page .home-course-grid .course-module__icon { box-shadow:none; border-radius:4px; }
.community-brand-card { position:absolute; z-index:1; right:28px; top:50%; transform:translateY(-50%); width:225px; padding:34px 28px 29px; color:#625542; background:#fbeed2; border:1px solid #ebd7b1; border-radius:2px; box-shadow:0 3px 14px #1c0d0215; }
.community-brand-card p { font-size:16px; line-height:1.45; margin:0; text-align:center; }
.community-brand-card__mark { position:absolute; top:13px; left:18px; color:#cba364; font:700 46px/1 Georgia,serif; }
.community-brand-card__mark--end { top:auto; left:auto; right:17px; bottom:-1px; }
@media(min-width:1120px) {

 .home-page .hero--carousel { min-height:clamp(480px,33.4vw,640px); padding:clamp(38px,3vw,58px) 0 70px; }

 .home-page .hero--carousel .hero__content { max-width:55%; margin:0; }
 .home-page .hero--carousel .hero__title { max-width:none; font-size:clamp(60px,4.4vw,85px); line-height:.99; letter-spacing:-.035em; margin-bottom:18px; }
 .hero__title-line { white-space:nowrap; }
 .home-page .hero--carousel .hero__subtitle { max-width:52ch; font-size:clamp(17px,1.27vw,23px); line-height:1.42; }
 .hero-carousel__slides { left:31%; }
 .hero-carousel__slide img { object-position:50% 40%; }
 .hero-carousel__slide:first-child img { object-position:58% 14%; }
 .hero--carousel::after { background:linear-gradient(90deg,#361c05 0%,#361c05 31%,#361c05cc 38%,#361c0570 46%,#361c0510 60%,transparent 76%); }
 .hero-carousel__pagination { left:calc(10.5% - 14px); bottom:13px; margin:0; }
 .home-page .home-courses { padding-block:18px; }
 .home-page .home-courses .section-heading { margin-bottom:12px; }
 .home-page .home-courses .section__title { font-size:34px; }
 .home-page .home-course-grid { gap:18px; }
 .home-page .home-course-grid .course-module { grid-template-columns:76px minmax(0,1fr); padding:13px 16px; gap:18px; }
 .home-page .home-course-grid .course-module__icon { width:76px; height:84px; }
 .home-page .community-section__layout { grid-template-columns:minmax(0,1fr) minmax(0,1.55fr); gap:30px; }
 .home-page .community-section__intro { padding-block:23px; }
 .home-page .community-section__intro .section__title { font-size:37px; margin-bottom:10px; }
 .home-page .community-section__intro .section__intro { font-size:15px; line-height:1.45; margin-bottom:15px; }
 .home-page .community-section__media { min-height:clamp(300px,21vw,403px); background:#252321; }
 .home-page .community-section__media picture { width:100%; }
 .home-page .community-section__media img { object-position:50% 0%; }
 .community-brand-card { right:6.5vw; }
 .visit-panel { grid-template-columns:minmax(0,1.7fr) minmax(0,1.1fr) minmax(0,1.25fr); gap:25px; }
 .visit-panel__intro { padding-block:18px; }
 .visit-panel__intro h2 { font-size:clamp(27px,1.95vw,36px); line-height:1.12; }
 .visit-panel__intro>p:not(.eyebrow) { color:#625542; max-width:45ch; font-size:14px; line-height:1.4; margin-bottom:10px; }
 .visit-panel__address { font-size:13px; gap:13px; }
 .visit-panel__address strong { font-size:13px; }
 .visit-panel__address svg { width:23px; height:29px; fill:#361c05; color:#361c05; }
 .visit-panel__address svg circle { fill:#fffdf8; stroke:#fffdf8; }
 .visit-panel__photo { min-height:190px; max-height:205px; }
 .visit-panel__photo img { object-position:50% 56%; }
 body.home .site-footer--editorial { padding:20px 0 15px; }
 .footer-directory { grid-template-columns:300px minmax(0,1fr) 180px; gap:24px; align-items:start; }
 .footer-directory__brand { gap:10px; }
 .footer-directory__brand img { width:39px; height:58px; }
 .footer-directory__brand span { font-size:19px; white-space:nowrap; }
 .footer-directory__values { margin:-9px 0 0 49px; font-size:8px; letter-spacing:.14em; }
 .footer-directory__contact { justify-self:end; margin-top:10px; padding:7px 10px; min-height:36px; font-size:11px; }
 body.home .footer-directory .site-footer__menu { gap:18px; }
 body.home .footer-directory .site-footer__menu>li>a { font-size:12px; min-height:24px; }
 body.home .footer-directory .site-footer__menu .sub-menu { margin-top:3px; gap:0; }
 body.home .footer-directory .site-footer__menu .sub-menu a { font-size:11px; min-height:23px; line-height:1.4; }
 .footer-directory__legal { margin-top:16px; padding-top:12px; font-size:10px; }
}
@media(min-width:768px) and (max-width:1119px) {
 .home-page .hero--carousel .hero__title { font-size:45px; }
 .hero__title-line { white-space:normal; }
 .community-brand-card { top:auto; bottom:17px; right:12px; transform:none; width:175px; padding:25px 18px; }
 .community-brand-card p { font-size:13px; }
 .footer-directory__contact { justify-self:start; grid-column:1; grid-row:auto; }
}
@media(max-width:767px) {
 .hero__title-line { display:inline; white-space:normal; }
 .home-page .community-section__media { width:100%; aspect-ratio:1.03; margin-bottom:0; }
 .home-page .community-section__media img { object-position:center; }
 .community-brand-card { top:auto; bottom:15px; right:12px; transform:none; width:168px; padding:25px 17px 22px; }
 .community-brand-card p { font-size:13px; line-height:1.4; }
 .footer-directory__contact { justify-self:start; grid-column:1; grid-row:auto; margin-top:-7px; }
}

/* Round 4: a shared content axis, with media bounded by its full-width section.
   Percentages resolve against the layout viewport (excluding classic scrollbars).
   No document-level overflow hiding or viewport-negative margins. */
body.home *,body.home *::before,body.home *::after { box-sizing:border-box; }
body.home :is(.container,.hero__content,.home-course-grid,.community-entry-links,.footer-directory__nav,.site-footer__menu)>* { min-width:0; }
body.home :is(.home-page>section,.site-header,.visit-section,.site-footer) { width:100%; }
body.home .hero__content { margin-inline:0; }
body.home .hero-carousel__slides { overflow:hidden; max-width:100%; }
body.home .hero-carousel__pagination { left:calc(max(var(--brs-home-gutter), (100% - var(--brs-home-content-max)) / 2) - 14px); margin-left:0; }
body.home .site-footer__menu a { overflow-wrap:anywhere; }
@media(min-width:1120px) {
 .home-page .community-section,body.home .visit-section--editorial {
  position:relative;
  --brs-bleed-content:min(calc(100% - var(--brs-home-gutter) - var(--brs-home-gutter)), var(--brs-home-content-max));
  --brs-bleed-edge:max(var(--brs-home-gutter), (100% - var(--brs-home-content-max)) / 2);
 }
 .home-page .community-section__layout { min-height:clamp(300px,21vw,403px); }
 .home-page .community-section__media {
  position:absolute; top:0; bottom:0; right:0;
  left:calc(var(--brs-bleed-edge) + (var(--brs-bleed-content) - 30px) / 2.55 + 30px);
  width:auto; min-width:0; min-height:0; margin:0;
 }
 .visit-panel { min-height:205px; }
 body.home .visit-panel__photo {
  position:absolute; top:0; bottom:0; right:0;
  left:calc(var(--brs-bleed-edge) + (var(--brs-bleed-content) - 50px) * 2.8 / 4.05 + 50px);
  width:auto; min-width:0; min-height:0; max-height:none; margin:0;
 }
}
@media(max-width:767px) {
 body.home { --brs-home-gutter:16px; }
}
