:root {
  --ink: #29251e;
  --green: #537e4a;
  --bear-brown: #6c3013;
  --bear-green: #537e4a;
  --bear-cream: #f8f5ee;
}


header, .grtri-site-header { --ink: var(--bear-brown); }
.family-bar {
  display:flex !important; align-items:center; justify-content:space-between;
  gap:16px; min-height:58px; padding:8px 5vw;
  background:#1376b1; color:#fff;
}
.family-bar .family-logo { display:block; flex:0 1 293px; min-width:0; }
.family-bar .family-logo img { display:block; width:100%; height:auto; }
.family-bar .family-actions { display:flex; align-items:center; margin-left:auto; }
.family-bar .family-events {
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  min-height:44px; padding:9px 14px; border:1px solid rgba(255,255,255,.65);
  color:#fff; font:600 15px/1.1 Poppins,Arial,sans-serif; text-decoration:none;
}
a.register, .grtri-footer-register, .about-register, .button:not(.secondary):not(.held) {
  background-color: var(--bear-green) !important;
  color: #fff !important;
}
a.register:hover, a.register:focus-visible,
.grtri-footer-register:hover, .grtri-footer-register:focus-visible,
.about-register:hover, .about-register:focus-visible {
  background-color: var(--bear-brown) !important;
  color: #fff !important;
}

header .wordmark img, header .brand img, header a[aria-label="Bear Lake Triathlon home"] img {
  display: block;
  width: min(31vw, 340px) !important;
  max-height: 80px !important;
  object-fit: contain !important;
}

.front-hero::before {
  background-image: linear-gradient(90deg, #241d18 0%, rgba(36,29,24,.98) 18%, rgba(36,29,24,.70) 35%, rgba(36,29,24,.07) 70%), url('assets/bear-lake/582A2258.jpg') !important;
  background-position: center, right center !important;
  background-size: cover, cover !important;
  background-repeat: no-repeat !important;
  background-color: #241d18 !important;
}
.front-hero .hero-line:first-child { color: #9aca8b !important; }
.front-hero, .path-card { background-color: var(--bear-brown) !important; }
.front-hero .button.held { background:transparent !important; color:#fff !important; border-color:rgba(255,255,255,.78) !important; cursor:pointer; }
.fact-strip { background: var(--bear-cream) !important; }
.fact-strip .fact { border-color:rgba(108,48,19,.27) !important; }
.fact-strip .fact b { color: var(--bear-green) !important; }
.fact-strip.hero-meta-motion .fact { opacity:1 !important; transform:none !important; }
.path-card.route-courses::before { background-image: url('assets/bear-lake/582A5698.jpg') !important; }
.path-card.route-race-weekend::before { background-image: url('assets/bear-lake/582A6064.jpg') !important; }
.path-card.route-first-timers::before { background-image: url('assets/bear-lake/582A6000.jpg') !important; }
.path-card.route-faq::before { background-image: url('assets/bear-lake/582A6077.jpg') !important; }
.pathways::before {
  background-image:linear-gradient(rgba(57,35,24,.90),rgba(57,35,24,.90)),url('assets/bear-lake/582A6174.jpg') !important;
}
.path-card:focus-visible, .path-card:hover { outline-color: var(--bear-green) !important; }


.sponsor-proof-rail[data-roster-held="true"] { min-height: 0 !important; padding-block: 0 !important; overflow: hidden; }
.sponsor-proof-rail[data-roster-held="true"] > * { display: none !important; }

.about-hero::before { background-image: url('assets/bear-lake/582A5957.jpg') !important; background-position: center 35% !important; }
.about-history { background: var(--bear-green) !important; }
.about-history h2, .about-history p { color: #fff !important; }
.about-course { background: var(--bear-cream) !important; }
.about-course-grid article { border-top-color: var(--bear-green) !important; }
.about-distance-options span:nth-child(-n+2) { background: #e9f1e6 !important; border-color: #d1dfcb !important; }
.about-distance-options span:nth-child(n+3) { background: #fff !important; }
.about-community::before { background-image: url('assets/bear-lake/582A6174.jpg') !important; background-position: center 34% !important; }
.about-community { background: #e9f1e6 !important; }
.about-community::after { background: linear-gradient(90deg, rgba(233,241,230,.97), rgba(233,241,230,.67), rgba(233,241,230,.24)) !important; }
.about-community::before {
  background-position:right top !important;
  background-size:auto 100% !important;
  opacity:1 !important;
  transform:none !important;
}

.masthead::before, .mast::before { background-image: url('assets/bear-lake/582A5726.jpg') !important; background-position: center 40% !important; }
body[data-bear-page="race-weekend"] .masthead::before { background-image: url('assets/bear-lake/582A6064.jpg') !important; }
body[data-bear-page="quick-answers"] .mast::before { background-image: url('assets/bear-lake/582A6077.jpg') !important; }
@media (min-width:1025px) {
  body[data-bear-page="quick-answers"] .mast { min-height:500px; }
  body[data-bear-page="quick-answers"] .mast::before {
    background-position:right center !important;
    background-size:auto 100% !important;
    opacity:1 !important;
    transform:none !important;
  }
  body[data-bear-page="quick-answers"] .mast::after {
    background:linear-gradient(90deg,#f8f5ee 0%,rgba(248,245,238,.99) 45%,rgba(248,245,238,.86) 59%,rgba(248,245,238,.03) 84%) !important;
  }
  body[data-bear-page="quick-answers"] .mast h1 { max-width:760px; }
  body[data-bear-page="quick-answers"] .mast .lead { max-width:700px; }
  body[data-bear-page="first-timers"] .hero {
    background-image:linear-gradient(90deg,#f8f5ee 0%,rgba(248,245,238,.99) 43%,rgba(248,245,238,.86) 58%,rgba(248,245,238,.02) 83%),url('assets/bear-lake/582A5908.jpg') !important;
    background-position:center,calc(100% + 240px) center !important;
    background-size:cover,auto 100% !important;
  }
  body[data-bear-page="first-timers"] .hero h1 { max-width:720px; }
  body[data-bear-page="first-timers"] .hero .lead { max-width:680px; }
}
@media (min-width:701px) {
  body[data-bear-page="first-timers"] .distance-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
body[data-bear-page="first-timers"] .close {
  background:#e9f1e6 !important;
}
body[data-bear-page="first-timers"] .close::before {
  background-position:right top !important;
  background-size:auto 100% !important;
  opacity:1 !important;
  transform:none !important;
}
body[data-bear-page="first-timers"] .close::after {
  background:linear-gradient(90deg,rgba(233,241,230,.99),rgba(233,241,230,.96) 45%,rgba(233,241,230,.30) 82%) !important;
}
body[data-bear-page="quick-answers"] .faq-item.is-open .panel,
body[data-bear-page="quick-answers"] .faq-item.is-open .panel>div {
  background:#f8f5ee !important;
  color:var(--bear-brown) !important;
}
body[data-bear-page="first-timers"] .hero {
  background-image: linear-gradient(90deg,rgba(255,255,255,.96) 0%,rgba(255,255,255,.90) 38%,rgba(255,255,255,.52) 63%,rgba(255,255,255,.08) 100%),url('assets/bear-lake/582A5908.jpg') !important;
  background-position: center, center 36% !important;
}
body[data-bear-page="first-timers"] .close::before { background-image: url('assets/bear-lake/582A6112.jpg') !important; }

.tab[aria-pressed="true"], .course-button[aria-pressed="true"] {
  border-color: var(--bear-green) !important;
}
.map-coming-soon {
  display: grid;
  place-items: center;
  min-height: 340px;
  padding: 32px;
  background: var(--bear-cream);
  color: var(--bear-brown);
  font: 700 clamp(20px,3vw,32px)/1.2 Poppins,Arial,sans-serif;
  text-align: center;
}
.map-coming-soon[hidden] { display: none; }
.map-coming-soon > div { max-width:540px; }
.map-coming-soon strong { display:block; font:700 clamp(23px,3vw,36px)/1.05 Poppins,Arial,sans-serif; }
.map-coming-soon p { position:static !important; max-width:none !important; margin:14px 0 0 !important; padding:0 !important; background:transparent !important; color:var(--bear-brown); font:400 clamp(16px,1.5vw,20px)/1.4 Poppins,Arial,sans-serif; }
.route-card iframe[hidden] { display: none !important; }
.map-actions a[hidden] { display:none !important; }


.front-section.real-life { background: #1682c5 !important; }
.front-section.real-life .athlete-track { color: #111034; }
.front-section.real-life .benefit-lead { color: #cceeff; }

@media (max-width: 760px) {
  .family-bar { padding:8px 16px; }
  .family-bar .family-logo { flex-basis:min(173px,43.5vw); }
  .family-bar .family-events { font-size:11px; padding:8px 9px; }
  header .wordmark img, header .brand img, header a[aria-label="Bear Lake Triathlon home"] img {
    width: min(55vw, 250px) !important;
    max-height: 64px !important;
  }
  .front-hero::before {
    background-image: linear-gradient(90deg,rgba(32,25,18,.76),rgba(32,25,18,.48)),url('assets/bear-lake/582A2258.jpg') !important;
    background-position: center, center top !important;
    background-size: cover, cover !important;
  }
  .about-community::after { background: linear-gradient(90deg,rgba(233,241,230,.96),rgba(233,241,230,.72)) !important; }
  .about-community::before { background-position:56% top !important; background-size:cover !important; }
  body[data-bear-page="first-timers"] .close::before { background-position:52% top !important; background-size:cover !important; }
  body[data-bear-page="first-timers"] .close::after { background:linear-gradient(180deg,rgba(233,241,230,.58),rgba(233,241,230,.95) 60%) !important; }
}

.tab[aria-pressed="true"] { background: #29251e !important; color: #fff !important; }
.faq-group h3 { color: var(--bear-green) !important; }
.grtri-site-footer { background: var(--bear-green) !important; color: #fff !important; }
.grtri-site-footer a, .grtri-site-footer .grtri-footer-title { color: #fff !important; }
.grtri-site-footer .grtri-footer-register { background: var(--bear-brown) !important; color: #fff !important; }

.schedule .day[hidden] { display: none !important; }
footer.grtri-site-footer .grtri-footer-top { background: var(--bear-green) !important; color: #fff !important; }
footer.grtri-site-footer .grtri-footer-title { color: #fff !important; }
footer.grtri-site-footer .grtri-footer-register { background: var(--bear-brown) !important; color: #fff !important; }
.menu { background: var(--bear-green) !important; color: #fff !important; border-color: var(--bear-green) !important; }
body[data-bear-page="quick-answers"] .faq-group h3,
body[data-bear-page="race-weekend"] .time,
.standard-green, .light-green { color: var(--bear-green) !important; }
footer.grtri-site-footer .grtri-footer-top { background: var(--bear-green) !important; color: #fff !important; }
footer.grtri-site-footer .grtri-footer-top .grtri-footer-title { color: #fff !important; }
footer.grtri-site-footer .grtri-footer-top .grtri-footer-register { background: var(--bear-brown) !important; color: #fff !important; }
body[data-bear-page="about"] .about-hero::before {
  background-image: url('assets/bear-lake/582A5957.jpg') !important;
  background-position: right 13% !important;
}
body[data-bear-page="courses"] .masthead::before {
  background-image: url('assets/bear-lake/582A5726.jpg') !important;
  background-position: center top !important;
}
@media (min-width:761px) {
  body[data-bear-page="about"] .about-hero::before,
  body[data-bear-page="courses"] .masthead::before {
    background-position:right center !important;
    background-size:auto 100% !important;
    background-color:#f8f5ee !important;
  }
}
.sponsor-proof-rail { display:block !important; padding-block:clamp(32px,4vw,60px) !important; background:var(--bear-cream) !important; }
.sponsor-proof-rail .sponsor-proof-rail-inner { display:block !important; }
.sponsor-proof-rail h2 { color:var(--bear-brown) !important; }
.sponsor-proof-rail p { max-width:720px; margin:12px auto 0; color:#4e493f; font:400 clamp(17px,1.5vw,22px)/1.4 Poppins,Arial,sans-serif; text-align:center; }
.sponsor-proof-rail .sponsor-logo-grid:empty { display:none !important; }
.sponsor-proof-rail { min-height:0 !important; }
.sponsor-proof-rail[hidden] { display:none !important; }
.pathways .path-card::after {
  --tile-gradient-bottom:rgba(60,100,54,.94);
  --tile-gradient-mid:rgba(60,100,54,.48);
}
.pathways .path-card p { color:#fff !important; }
.pathways .path-card:hover::after,
.pathways .path-card:focus-visible::after {
  --tile-gradient-bottom:rgba(83,126,74,.97) !important;
  --tile-gradient-mid:rgba(83,126,74,.76) !important;
}
.family-actions .family-events { text-decoration:none; }
.family-actions .family-events:hover,
.family-actions .family-events:focus-visible { background:rgba(255,255,255,.16); color:#fff; }
footer.grtri-site-footer nav.grtri-footer-links a.grtri-footer-link { color:var(--bear-brown) !important; }
.schedule-timezone { margin:0 0 20px; color:#5a544b; font:600 14px/1.3 Poppins,Arial,sans-serif; }
@media (max-width:760px) {
  .front-hero { display:block !important; min-height:760px !important; padding:clamp(335px,87vw,385px) 5vw 55px !important; }
  .front-hero::before {
    inset:0 !important;
    height:auto !important;
    transform:none !important;
    background-image:linear-gradient(180deg,rgba(28,25,20,.04) 0%,rgba(28,25,20,.16) 26%,rgba(28,25,20,.88) 52%,#241d18 100%),url('assets/bear-lake/582A2258.jpg') !important;
    background-position:center,center 22% !important;
    background-size:cover,cover !important;
  }
  body[data-bear-page="about"] .about-hero,
  body[data-bear-page="courses"] .masthead,
  body[data-bear-page="race-weekend"] .masthead {
    padding-top:clamp(315px,83vw,380px) !important;
    padding-bottom:55px !important;
    background:#edf5f1 !important;
  }
  body[data-bear-page="about"] .about-hero::before,
  body[data-bear-page="courses"] .masthead::before,
  body[data-bear-page="race-weekend"] .masthead::before {
    inset:0 !important;
    height:auto !important;
    background-position:center 18% !important;
    background-size:cover !important;
    opacity:1 !important;
    transform:none !important;
  }
  body[data-bear-page="about"] .about-hero::after,
  body[data-bear-page="courses"] .masthead::after,
  body[data-bear-page="race-weekend"] .masthead::after,
  body[data-bear-page="quick-answers"] .mast::after {
    display:block !important;
    background:linear-gradient(180deg,rgba(248,245,238,.02) 0%,rgba(248,245,238,.10) 27%,rgba(248,245,238,.89) 46%,rgba(248,245,238,.96) 100%) !important;
  }
  body[data-bear-page="first-timers"] .hero {
    padding-top:clamp(495px,127vw,560px) !important;
    padding-bottom:60px !important;
    background-image:linear-gradient(180deg,rgba(248,245,238,.02) 0%,rgba(248,245,238,.1) 25%,rgba(248,245,238,.91) 45%,rgba(248,245,238,.96) 100%),url('assets/bear-lake/582A5908.jpg') !important;
    background-size:cover,cover !important;
    background-position:center,center 18% !important;
    background-repeat:no-repeat !important;
    background-color:#f8f5ee !important;
  }
  body[data-bear-page="quick-answers"] .mast {
    padding-top:clamp(315px,83vw,380px) !important;
    padding-bottom:55px !important;
    background-color:#f8f5ee !important;
  }
  body[data-bear-page="quick-answers"] .mast::before {
    display:block !important;
    inset:0 !important;
    background-position:center 18% !important;
    background-size:cover !important;
    opacity:1 !important;
    transform:none !important;
  }
  .pathways .path-card::after {
    --tile-gradient-bottom:rgba(60,100,54,.97) !important;
    --tile-gradient-mid:rgba(60,100,54,.77) !important;
  }
}

@media (min-width:1025px) {
  body[data-bear-page="about"] .about-hero::before,
  body[data-bear-page="courses"] .masthead::before,
  body[data-bear-page="quick-answers"] .mast::before {
    background-position:right top !important;
  }
}
@media (min-width:761px) and (max-width:1024px) {
  body[data-bear-page="first-timers"] .hero {
    padding-top:340px !important;
    background-image:linear-gradient(180deg,rgba(248,245,238,.03),rgba(248,245,238,.94) 48%,rgba(248,245,238,.98)),url('assets/bear-lake/582A5908.jpg') !important;
    background-position:center,center 20% !important;
    background-size:cover,cover !important;
  }
  body[data-bear-page="quick-answers"] .mast { padding-top:330px !important; }
  body[data-bear-page="quick-answers"] .mast::after { background:linear-gradient(180deg,rgba(248,245,238,.03),rgba(248,245,238,.92) 52%,rgba(248,245,238,.98)) !important; }
  body[data-bear-page="about"] .about-hero,
  body[data-bear-page="courses"] .masthead,
  body[data-bear-page="race-weekend"] .masthead {
    padding-top:clamp(84px,10vw,120px) !important;
    padding-bottom:70px !important;
    min-height:510px !important;
    background:#edf5f1 !important;
  }
  body[data-bear-page="about"] .about-hero::before,
  body[data-bear-page="courses"] .masthead::before,
  body[data-bear-page="race-weekend"] .masthead::before {
    inset:0 !important;
    height:auto !important;
    background-position:right center !important;
    background-size:cover !important;
    opacity:.78 !important;
  }
  body[data-bear-page="about"] .about-hero::after,
  body[data-bear-page="courses"] .masthead::after,
  body[data-bear-page="race-weekend"] .masthead::after {
    display:block !important;
    background:linear-gradient(90deg,rgba(248,245,238,.97),rgba(248,245,238,.78) 43%,rgba(248,245,238,.12) 100%) !important;
  }
}
@media (min-width:1025px) {
  body[data-bear-page="first-timers"] .hero {
    background-image:linear-gradient(90deg,#f8f5ee 0%,rgba(248,245,238,.99) 43%,rgba(248,245,238,.86) 58%,rgba(248,245,238,.02) 83%),url('assets/bear-lake/582A5908.jpg') !important;
    background-position:center,calc(100% + 240px) center !important;
    background-size:cover,auto 100% !important;
  }
  body[data-bear-page="first-timers"] .hero h1 {
    max-width:700px !important;
    font-size:clamp(56px,6.5vw,96px) !important;
  }
  body[data-bear-page="first-timers"] .hero .lead { max-width:650px !important; }
}
@media (min-width:601px) and (max-width:1024px) {
  body[data-bear-page="about"] .about-community,
  body[data-bear-page="first-timers"] .close { min-height:360px; }
  body[data-bear-page="about"] .about-community::before,
  body[data-bear-page="first-timers"] .close::before {
    background-position:right top !important;
    background-size:auto 360px !important;
    transform:none !important;
  }
  body[data-bear-page="about"] .about-community::after,
  body[data-bear-page="first-timers"] .close::after {
    background:linear-gradient(90deg,#e9f1e6 0%,rgba(233,241,230,.98) 45%,rgba(233,241,230,.18) 76%,rgba(233,241,230,0) 100%) !important;
  }
  body[data-bear-page="about"] .about-community h2,
  body[data-bear-page="about"] .about-community p,
  body[data-bear-page="first-timers"] .close h2,
  body[data-bear-page="first-timers"] .close p { max-width:52% !important; }
}
@media (max-width:600px) {
  body[data-bear-page="about"] .about-community,
  body[data-bear-page="first-timers"] .close { padding-top:clamp(230px,65vw,280px) !important; }
  body[data-bear-page="first-timers"] .close { padding-top:clamp(385px,99vw,400px) !important; }
  body[data-bear-page="about"] .about-community::before,
  body[data-bear-page="first-timers"] .close::before {
    background-position:center top !important;
    background-size:cover !important;
    transform:none !important;
  }
  body[data-bear-page="about"] .about-community::after,
  body[data-bear-page="first-timers"] .close::after {
    background:linear-gradient(180deg,rgba(233,241,230,.02) 0%,rgba(233,241,230,.05) 28%,rgba(233,241,230,.94) 57%,#e9f1e6 100%) !important;
  }
  body[data-bear-page="first-timers"] .close::after {
    background:linear-gradient(180deg,rgba(233,241,230,.02) 0%,rgba(233,241,230,.06) 26%,rgba(233,241,230,.92) 49%,#e9f1e6 100%) !important;
  }
}

/* October 11 Bear Lake photo and full-width hero corrections. */
.front-hero::before {
  background-image:linear-gradient(90deg,rgba(25,27,23,.95) 0%,rgba(25,27,23,.84) 40%,rgba(25,27,23,.12) 78%),url('assets/bear-lake/582A2258.jpg') !important;
  background-size:cover,cover !important;
  background-position:center,center 38% !important;
}
.front-hero h1 { max-width:850px; font-size:clamp(58px,6.4vw,94px) !important; line-height:.91 !important; }
.front-hero .hero-variant p { max-width:650px; }
body[data-bear-page="about"] .about-hero::before,
body[data-bear-page="courses"] .masthead::before,
body[data-bear-page="race-weekend"] .masthead::before,
body[data-bear-page="quick-answers"] .mast::before { background-size:cover !important; }
body[data-bear-page="first-timers"] .hero {
  background-image:linear-gradient(90deg,rgba(248,245,238,.94) 0%,rgba(248,245,238,.86) 36%,rgba(248,245,238,.42) 68%,rgba(248,245,238,.08) 100%),url('assets/bear-lake/582A5908.jpg') !important;
  background-size:cover,cover !important;
  background-position:center,center 35% !important;
}
@media (max-width:760px) {
  .front-hero::before {
    background-image:linear-gradient(180deg,rgba(25,27,23,.04) 0%,rgba(25,27,23,.16) 25%,rgba(25,27,23,.88) 54%,#191b17 100%),url('assets/bear-lake/582A2258.jpg') !important;
    background-position:center,65% 19% !important;
  }
  .front-hero h1 { font-size:clamp(48px,12vw,64px) !important; line-height:.94 !important; }
  body[data-bear-page="first-timers"] .hero {
    background-image:linear-gradient(180deg,rgba(248,245,238,.02) 0%,rgba(248,245,238,.1) 28%,rgba(248,245,238,.90) 53%,rgba(248,245,238,.97) 100%),url('assets/bear-lake/582A5908.jpg') !important;
    background-size:cover,cover !important;
    background-position:center,62% 16% !important;
  }
}
@media (min-width:761px) {
  body[data-bear-page="about"] .about-hero::before {
    background-size:120% auto !important;
    background-position:left top !important;
  }
  body[data-bear-page="about"] .about-hero h1,
  body[data-bear-page="about"] .about-hero .lead { max-width:48% !important; }
}

/* October 11 owner correction: legible dark subpage heroes with visible athletes. */
body[data-bear-page="about"] .about-hero,
body[data-bear-page="courses"] .masthead,
body[data-bear-page="race-weekend"] .masthead,
body[data-bear-page="quick-answers"] .mast,
body[data-bear-page="first-timers"] .hero { background-color:#241b17 !important; }
body[data-bear-page="about"] .about-hero::before,
body[data-bear-page="courses"] .masthead::before,
body[data-bear-page="race-weekend"] .masthead::before,
body[data-bear-page="quick-answers"] .mast::before { opacity:1 !important; }
body[data-bear-page="about"] .about-hero::after,
body[data-bear-page="courses"] .masthead::after,
body[data-bear-page="race-weekend"] .masthead::after,
body[data-bear-page="quick-answers"] .mast::after {
  display:block !important;
  background:linear-gradient(90deg,rgba(36,27,23,.93) 0%,rgba(36,27,23,.82) 32%,rgba(36,27,23,.45) 54%,rgba(36,27,23,.10) 78%,rgba(36,27,23,.04) 100%) !important;
}
body[data-bear-page="first-timers"] .hero {
  background-image:linear-gradient(90deg,rgba(36,27,23,.94) 0%,rgba(36,27,23,.82) 31%,rgba(36,27,23,.42) 53%,rgba(36,27,23,.08) 78%),url('assets/bear-lake/582A5908.jpg') !important;
  background-size:cover,cover !important;
  background-position:center,center 35% !important;
}
body[data-bear-page="first-timers"] .hero .button.secondary {
  border-color:rgba(255,255,255,.85) !important;
  background:rgba(36,27,23,.18) !important;
  color:#fff !important;
}
body[data-bear-page="first-timers"] .hero .button.secondary:hover,
body[data-bear-page="first-timers"] .hero .button.secondary:focus-visible {
  background:rgba(36,27,23,.62) !important;
}
body[data-bear-page="about"] .about-hero h1,
body[data-bear-page="about"] .about-hero h1 *,
body[data-bear-page="about"] .about-hero .lead,
body[data-bear-page="courses"] .masthead h1,
body[data-bear-page="courses"] .masthead h1 *,
body[data-bear-page="courses"] .masthead .lead,
body[data-bear-page="race-weekend"] .masthead h1,
body[data-bear-page="race-weekend"] .masthead h1 *,
body[data-bear-page="race-weekend"] .masthead .lead,
body[data-bear-page="quick-answers"] .mast h1,
body[data-bear-page="quick-answers"] .mast h1 *,
body[data-bear-page="quick-answers"] .mast .lead,
body[data-bear-page="first-timers"] .hero h1,
body[data-bear-page="first-timers"] .hero h1 *,
body[data-bear-page="first-timers"] .hero .lead { color:#fff !important; }
@media (min-width:1025px) {
  body[data-bear-page="courses"] .masthead::before {
    background-size:160% auto !important;
    background-position:left top !important;
  }
  body[data-bear-page="courses"] .masthead h1 {
    max-width:48% !important;
    font-size:clamp(62px,6vw,87px) !important;
  }
  body[data-bear-page="courses"] .masthead .lead { max-width:48% !important; }
  body[data-bear-page="quick-answers"] .mast::before {
    background-size:115% auto !important;
    background-position:left top !important;
  }
  body[data-bear-page="quick-answers"] .mast h1,
  body[data-bear-page="quick-answers"] .mast .lead { max-width:53% !important; }
  body[data-bear-page="race-weekend"] .masthead h1,
  body[data-bear-page="race-weekend"] .masthead .lead { max-width:60% !important; }
  body[data-bear-page="first-timers"] .hero h1,
  body[data-bear-page="first-timers"] .hero .lead { max-width:51% !important; }
}
@media (min-width:761px) and (max-width:1024px) {
  body[data-bear-page="courses"] .masthead::before {
    background-size:180% auto !important;
    background-position:left top !important;
  }
  body[data-bear-page="courses"] .masthead h1 {
    max-width:43% !important;
    font-size:clamp(52px,7vw,70px) !important;
  }
  body[data-bear-page="courses"] .masthead .lead { max-width:43% !important; }
  body[data-bear-page="race-weekend"] .masthead {
    padding-top:32px !important;
  }
  body[data-bear-page="race-weekend"] .masthead h1 {
    font-size:clamp(52px,6.5vw,66px) !important;
  }
  body[data-bear-page="race-weekend"] .masthead::after {
    background:linear-gradient(180deg,rgba(36,27,23,.75) 0%,rgba(36,27,23,.55) 38%,rgba(36,27,23,.20) 74%,rgba(36,27,23,.08) 100%) !important;
  }
  body[data-bear-page="first-timers"] .hero {
    background-image:linear-gradient(180deg,rgba(36,27,23,.03) 0%,rgba(36,27,23,.14) 30%,rgba(36,27,23,.86) 60%,rgba(36,27,23,.96) 100%),url('assets/bear-lake/582A5908.jpg') !important;
  }
  body[data-bear-page="quick-answers"] .mast::after {
    background:linear-gradient(180deg,rgba(36,27,23,.03) 0%,rgba(36,27,23,.14) 30%,rgba(36,27,23,.86) 60%,rgba(36,27,23,.96) 100%) !important;
  }
}
@media (max-width:760px) {
  body[data-bear-page="about"] .about-hero::after,
  body[data-bear-page="courses"] .masthead::after,
  body[data-bear-page="race-weekend"] .masthead::after,
  body[data-bear-page="quick-answers"] .mast::after {
    background:linear-gradient(180deg,rgba(36,27,23,.02) 0%,rgba(36,27,23,.11) 28%,rgba(36,27,23,.76) 55%,rgba(36,27,23,.96) 100%) !important;
  }
  body[data-bear-page="first-timers"] .hero {
    background-image:linear-gradient(180deg,rgba(36,27,23,.02) 0%,rgba(36,27,23,.12) 32%,rgba(36,27,23,.82) 60%,rgba(36,27,23,.97) 100%),url('assets/bear-lake/582A5908.jpg') !important;
    background-size:cover,cover !important;
    background-position:center,62% 16% !important;
  }
}

/* October 19: owner-selected subpage photography and viewport-wide closing images. */
body[data-bear-page="about"] .about-hero::before {
  background-image:url('assets/bear-lake/582A6088.jpg') !important;
}
body[data-bear-page="courses"] .masthead::before {
  background-image:url('assets/bear-lake/582A5698.jpg') !important;
}
body[data-bear-page="race-weekend"] .masthead::before {
  background-image:url('assets/bear-lake/582A2168.jpg') !important;
}
body[data-bear-page="quick-answers"] .mast::before {
  background-image:url('assets/bear-lake/582A5957.jpg') !important;
}
@media (min-width:1025px) {
  body[data-bear-page="about"] .about-hero::before {
    background-size:150% auto !important;
    background-position:left 38% !important;
  }
  body[data-bear-page="courses"] .masthead::before {
    background-size:cover !important;
    background-position:center 15% !important;
  }
  body[data-bear-page="race-weekend"] .masthead::before {
    background-size:cover !important;
    background-position:center 44% !important;
  }
  body[data-bear-page="quick-answers"] .mast::before {
    background-size:cover !important;
    background-position:center 15% !important;
  }
  body[data-bear-page="first-timers"] .hero .hero-inner { max-width:min(58vw,820px) !important; }
  body[data-bear-page="first-timers"] .hero h1 {
    max-width:100% !important;
    font-size:clamp(60px,5.6vw,82px) !important;
  }
  body[data-bear-page="first-timers"] .hero .lead { max-width:650px !important; }
}
@media (min-width:761px) and (max-width:1024px) {
  body[data-bear-page="first-timers"] .hero .hero-inner { max-width:72vw !important; }
  body[data-bear-page="first-timers"] .hero h1,
  body[data-bear-page="first-timers"] .hero .lead { max-width:100% !important; }
}

body[data-bear-page="about"] .about-community::before,
body[data-bear-page="first-timers"] .close::before {
  background-size:cover !important;
  background-position:center top !important;
}
body[data-bear-page="about"] .about-community::before { background-position:center top !important; }
body[data-bear-page="courses"] .courses-next,
body[data-bear-page="race-weekend"] .handoff,
body[data-bear-page="quick-answers"] .next {
  position:relative;
  isolation:isolate;
  min-height:360px;
}
body[data-bear-page="courses"] .courses-next::before,
body[data-bear-page="race-weekend"] .handoff::before,
body[data-bear-page="quick-answers"] .next::before,
body[data-bear-page="courses"] .courses-next::after,
body[data-bear-page="race-weekend"] .handoff::after,
body[data-bear-page="quick-answers"] .next::after {
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
}
body[data-bear-page="courses"] .courses-next::before,
body[data-bear-page="race-weekend"] .handoff::before,
body[data-bear-page="quick-answers"] .next::before {
  z-index:-2;
  background-size:cover;
  background-position:center top;
}
body[data-bear-page="courses"] .courses-next::before { background-image:url('assets/bear-lake/582A5726.jpg'); }
body[data-bear-page="race-weekend"] .handoff::before { background-image:url('assets/bear-lake/582A5943.jpg'); background-position:center 25%; }
body[data-bear-page="quick-answers"] .next::before { background-image:url('assets/bear-lake/582A6077.jpg'); background-position:center 28%; }
body[data-bear-page="courses"] .courses-next h2,
body[data-bear-page="race-weekend"] .handoff h2,
body[data-bear-page="quick-answers"] .next h2 { color:#fff !important; }
body[data-bear-page="courses"] .courses-next::after,
body[data-bear-page="race-weekend"] .handoff::after,
body[data-bear-page="quick-answers"] .next::after {
  z-index:-1;
  background:linear-gradient(90deg,rgba(36,27,23,.94),rgba(36,27,23,.80) 45%,rgba(36,27,23,.17) 85%);
}
@media (max-width:760px) {
  body[data-bear-page="about"] .about-hero::before,
  body[data-bear-page="courses"] .masthead::before,
  body[data-bear-page="race-weekend"] .masthead::before,
  body[data-bear-page="quick-answers"] .mast::before {
    background-size:cover !important;
    background-position:center top !important;
  }
  body[data-bear-page="race-weekend"] .masthead::before { background-position:center 28% !important; }
  body[data-bear-page="courses"] .courses-next,
  body[data-bear-page="race-weekend"] .handoff,
  body[data-bear-page="quick-answers"] .next { min-height:520px; padding-top:245px !important; }
  body[data-bear-page="courses"] .courses-next::after,
  body[data-bear-page="race-weekend"] .handoff::after,
  body[data-bear-page="quick-answers"] .next::after {
    background:linear-gradient(180deg,rgba(36,27,23,.03),rgba(36,27,23,.18) 30%,rgba(36,27,23,.86) 58%,rgba(36,27,23,.97));
  }
}

/* Jon's October 19 consistency corrections. These shared rules preserve each
   accepted page component while giving every subpage the same visual scale. */
header .wordmark img,
header .brand img,
header a[aria-label="Bear Lake Triathlon home"] img {
  width:min(41.23vw,452px) !important;
  max-width:100% !important;
  max-height:106px !important;
}

body[data-bear-page="about"] .about-hero::before {
  background-image:url('assets/bear-lake/582A6088.jpg') !important;
  background-size:cover !important;
  background-position:center top !important;
}
body[data-bear-page="first-timers"] .hero {
  background-image:linear-gradient(90deg,rgba(36,27,23,.94) 0%,rgba(36,27,23,.80) 32%,rgba(36,27,23,.32) 57%,rgba(36,27,23,.05) 80%),url('assets/bear-lake/582A5908.jpg') !important;
  background-size:cover,cover !important;
  background-position:center,center 35% !important;
}

body[data-bear-page="about"] .about-hero h1,
body[data-bear-page="courses"] .masthead h1,
body[data-bear-page="race-weekend"] .masthead h1,
body[data-bear-page="first-timers"] .hero h1,
body[data-bear-page="quick-answers"] .mast h1 {
  width:auto !important;
  max-width:min(58vw,840px) !important;
  font-size:clamp(56px,6vw,90px) !important;
  line-height:.92 !important;
  letter-spacing:-.065em !important;
}
body[data-bear-page="first-timers"] .hero .hero-inner {
  width:min(64vw,920px) !important;
  max-width:none !important;
}

.bear-closing {
  position:relative !important;
  isolation:isolate !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:clamp(28px,5vw,80px) !important;
  min-height:390px !important;
  padding:65px 5vw !important;
  overflow:hidden !important;
  background:#e9f1e6 !important;
  color:#29251e !important;
}
.bear-closing::before,
.bear-closing::after {
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  pointer-events:none !important;
  transform:none !important;
}
.bear-closing::before {
  z-index:0 !important;
  opacity:1 !important;
  background-size:cover !important;
  background-position:center 28% !important;
}
.bear-closing::after {
  z-index:1 !important;
  background:linear-gradient(90deg,rgba(233,241,230,.98) 0%,rgba(233,241,230,.94) 36%,rgba(233,241,230,.65) 69%,rgba(233,241,230,.28) 100%) !important;
}
.bear-closing > * {
  position:relative !important;
  z-index:2 !important;
}
.bear-closing > div:first-child {
  flex:1 1 auto !important;
  max-width:min(760px,65%) !important;
}
.bear-closing h2 {
  max-width:760px !important;
  margin:0 0 17px !important;
  color:#29251e !important;
  font-size:clamp(42px,4.75vw,70px) !important;
  line-height:.94 !important;
  letter-spacing:-.06em !important;
}
body[data-bear-page] .bear-closing h2 { color:#29251e !important; }
.bear-closing p,
.bear-closing > div > span {
  max-width:670px !important;
  margin:0 !important;
  color:#36514b !important;
  font-size:clamp(17px,1.45vw,21px) !important;
  line-height:1.43 !important;
}
.bear-closing.courses-next > div > p {
  margin-bottom:12px !important;
  color:#38615c !important;
  font-size:13px !important;
  font-weight:700 !important;
  letter-spacing:.1em !important;
  text-transform:uppercase !important;
}
.bear-closing > a,
.bear-closing .actions .button {
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  flex:0 0 auto !important;
  min-height:51px !important;
  padding:15px 22px !important;
  background:#537e4a !important;
  color:#fff !important;
  border:1px solid #537e4a !important;
  font:700 15px/1.2 Poppins,Arial,sans-serif !important;
  text-decoration:none !important;
  white-space:nowrap !important;
}
.bear-closing .actions {
  position:relative !important;
  z-index:2 !important;
  display:flex !important;
  gap:12px !important;
  margin:0 !important;
}
.bear-closing .actions .button.secondary {
  background:rgba(233,241,230,.85) !important;
  color:#29251e !important;
  border-color:#537e4a !important;
}
.bear-closing > a:hover,
.bear-closing > a:focus-visible,
.bear-closing .actions .button:hover,
.bear-closing .actions .button:focus-visible {
  background:#38615c !important;
  color:#fff !important;
}
body[data-bear-page="about"] .bear-closing::before { background-image:url('assets/bear-lake/582A6174.jpg') !important; }
body[data-bear-page="courses"] .bear-closing::before { background-image:url('assets/bear-lake/582A5726.jpg') !important; }
body[data-bear-page="race-weekend"] .bear-closing::before { background-image:url('assets/bear-lake/582A5943.jpg') !important; }
body[data-bear-page="first-timers"] .bear-closing::before { background-image:url('assets/bear-lake/582A6112.jpg') !important; }
body[data-bear-page="quick-answers"] .bear-closing::before { background-image:url('assets/bear-lake/582A6077.jpg') !important; }

@media (max-width:1024px) {
  body[data-bear-page="about"] .about-hero h1,
  body[data-bear-page="courses"] .masthead h1,
  body[data-bear-page="race-weekend"] .masthead h1,
  body[data-bear-page="first-timers"] .hero h1,
  body[data-bear-page="quick-answers"] .mast h1 {
    max-width:min(70vw,760px) !important;
  }
}
@media (max-width:760px) {
  header .wordmark img,
  header .brand img,
  header a[aria-label="Bear Lake Triathlon home"] img {
    width:min(73.15vw,333px) !important;
    max-height:85px !important;
  }
  body[data-bear-page="about"] .about-hero h1,
  body[data-bear-page="courses"] .masthead h1,
  body[data-bear-page="race-weekend"] .masthead h1,
  body[data-bear-page="first-timers"] .hero h1,
  body[data-bear-page="quick-answers"] .mast h1 {
    max-width:100% !important;
    font-size:clamp(46px,12vw,54px) !important;
    line-height:.93 !important;
  }
  body[data-bear-page="first-timers"] .hero .hero-inner {
    width:100% !important;
    max-width:100% !important;
  }
  body[data-bear-page="about"] .about-hero::before { background-position:54% top !important; }
  body[data-bear-page="first-timers"] .hero {
    background-image:linear-gradient(180deg,rgba(36,27,23,.03) 0%,rgba(36,27,23,.15) 30%,rgba(36,27,23,.84) 59%,rgba(36,27,23,.97) 100%),url('assets/bear-lake/582A5908.jpg') !important;
    background-position:center,25% 15% !important;
  }
  .bear-closing {
    flex-direction:column !important;
    align-items:flex-start !important;
    justify-content:flex-end !important;
    gap:23px !important;
    min-height:550px !important;
    padding:275px 7vw 46px !important;
  }
  .bear-closing::before { background-position:center top !important; }
  .bear-closing::after {
    background:linear-gradient(180deg,rgba(233,241,230,.01) 0%,rgba(233,241,230,.13) 28%,rgba(233,241,230,.93) 55%,#e9f1e6 82%) !important;
  }
  .bear-closing > div:first-child { max-width:100% !important; }
  .bear-closing h2 { font-size:42px !important; }
  .bear-closing .actions { flex-wrap:wrap !important; }
  .bear-closing > a,
  .bear-closing .actions .button { min-height:48px !important; }
}

/* Keep the 33% logo increase visible at 320px while preserving the menu gap. */
@media (max-width:360px) {
  header { padding-right:11px !important; padding-left:11px !important; gap:8px !important; }
}

/* Let tablet closing copy use its full column instead of the older 52% cap. */
@media (min-width:761px) and (max-width:1024px) {
  body[data-bear-page="about"] .bear-closing h2,
  body[data-bear-page="about"] .bear-closing p,
  body[data-bear-page="first-timers"] .bear-closing h2,
  body[data-bear-page="first-timers"] .bear-closing p {
    max-width:100% !important;
  }
}


/* A consistent visible keyboard indicator, without changing resting design. */
:where(a, button, [tabindex]):focus-visible {
  outline: 3px solid #ffdc62 !important;
  outline-offset: 3px !important;
  box-shadow: 0 0 0 5px #29251e !important;
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}
