/* Restored photographic hero; overview sections retain their current design. */
.hero {
  position:relative;
  isolation:isolate;
  display:flex;
  align-items:center;
  min-height:590px;
  margin-block:30px 0;
  padding:46px 50px;
  background:var(--ink);
  color:#fff;
  overflow:hidden
}
.hero-copy {
  position:relative;
  z-index:2;
  max-width:565px;
  padding:0
}
.hero .eyebrow {
  display:flex;
  align-items:center;
  gap:10px
}
.hero .eyebrow span {
  width:24px;
  height:3px;
  background:#0872bd;
  box-shadow:0 3px var(--yellow)
}
.hero h1 {
  font-family:var(--heading);
  font-size:60px;
  font-weight:500;
  text-transform:uppercase;
  line-height:1.15;
  letter-spacing:.005em;
  margin-bottom:23px;
  text-shadow:0 1px 10px #0002
}
.hero h1>span {
  color:var(--white)
}
.hero-description {
  max-width:435px;
  font-size:17px;
  line-height:1.65;
  color:#ededeb;
  margin-bottom:28px
}
.hero-actions {
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:24px
}
.hero-visual {
  position:absolute;
  z-index:0;
  inset:0 0 0 36%;
  min-height:0;
  overflow:hidden;
  background:var(--ink)
}
.hero-visual>img {
  position:absolute;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:62% 40%
}
.hero-visual:after {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,var(--ink) 0%,rgba(29,29,27,.84) 9%,rgba(29,29,27,.15) 39%,transparent 62%),linear-gradient(0deg,rgba(0,0,0,.55),transparent 27%);
  pointer-events:none
}
.hero-visual figcaption {
  position:absolute;
  bottom:22px;
  left:auto;
  right:24px;
  z-index:1;
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:1px;
  color:#fff;
  font-size:10px
}
.hero-visual figcaption span:first-child {
  font-weight:650;
  letter-spacing:.14em
}
.principles {
  border-bottom:1px solid var(--line);
  padding:0
}
.principles>.wrap {
  display:flex;
  justify-content:space-between;
  gap:20px
}
.principles span {
  font-family:var(--heading);
  font-size:14px;
  font-weight:400;
  letter-spacing:.015em;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:18px 0;
  flex:1;
  border-top:4px solid var(--ink)
}
.principles span:before {
  content:none
}
.hero-actions .text-link {
  color:#fff
}
.hero .button:hover {
  background:#fff;
  color:#111
}
.principles span:nth-child(1) {
  border-color:var(--yellow)
}
.principles span:nth-child(2) {
  border-color:#009739
}
.principles span:nth-child(3) {
  border-color:#0072bc
}
.principles span:nth-child(4) {
  border-color:#ee293d
}
.principles span:nth-child(5) {
  border-color:var(--ink)
}
@media (max-width:1180px) {
.hero {
  min-height:560px;
  padding:40px
}
.hero h1 {
  font-size:53px
}
.hero-copy {
  max-width:490px
}
.hero-description {
  max-width:360px;
  font-size:16px
}
.hero-visual {
  left:32%
}
.hero-visual:after {
  background:linear-gradient(90deg,var(--ink),rgba(29,29,27,.84) 18%,rgba(29,29,27,.1) 66%),linear-gradient(0deg,rgba(0,0,0,.55),transparent 27%)
}
}
@media (max-width:980px) {
.hero {
  min-height:550px;
  margin-top:25px;
  padding:34px
}
.hero h1 {
  font-size:49px
}
.hero-copy {
  max-width:420px
}
.hero-description {
  max-width:335px
}
.hero-actions {
  align-items:flex-start;
  flex-direction:column;
  gap:18px
}
.hero-visual {
  left:25%
}
.hero-visual figcaption {
  font-size:9px
}
.principles span {
  font-size:12px
}
.principles>.wrap {
  gap:10px
}
}
@media (max-width:680px) {
.hero {
  display:flex;
  align-items:flex-end;
  min-height:595px;
  margin-top:18px;
  padding:205px 24px 30px
}
.hero-copy {
  max-width:100%;
  padding:0
}
.hero h1 {
  font-size:38px;
  line-height:1.17;
  margin-bottom:18px
}
.hero-description {
  font-size:15px;
  max-width:100%;
  margin-bottom:22px
}
.hero .eyebrow {
  font-size:9px;
  margin-bottom:14px
}
.hero-actions {
  flex-direction:row;
  align-items:center;
  gap:17px
}
.hero-actions .button {
  font-size:12px;
  min-height:46px;
  padding:11px 15px;
  gap:14px
}
.hero-actions .text-link {
  font-size:12px;
  gap:12px
}
.hero-visual {
  inset:0;
  min-height:0;
  aspect-ratio:auto
}
.hero-visual>img {
  height:420px;
  object-position:center 25%
}
.hero-visual:after {
  background:linear-gradient(0deg,var(--ink) 0%,var(--ink) 32%,rgba(29,29,27,.85) 61%,transparent 91%)
}
.hero-visual figcaption {
  top:15px;
  right:16px;
  bottom:auto;
  left:auto;
  font-size:8px;
  text-shadow:0 1px 4px #000
}
.principles {
  padding:0
}
.principles>.wrap {
  flex-wrap:wrap;
  gap:0 12px;
  justify-content:center
}
.principles span {
  font-size:11px;
  flex:0 1 auto;
  padding:13px 5px 10px;
  border-top-width:3px
}
.principles span:nth-child(n/**/+4) {
  border-top:0;
  padding-top:2px
}
}
@media (max-width:680px) {
.principles>.wrap { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:0 12px; }
.principles span { grid-column:span 2; }
.principles span:nth-child(4) { grid-column:2 / 4; }
.principles span:last-child { grid-column:4 / 6; }
.principles span:nth-child(n/**/+4) { border-top-width:3px; border-top-style:solid; padding-top:13px; }
}
.hero-description p:last-child { margin-bottom:0; }
.home-overview { padding-block:0 80px; }
.home-current { display:grid; grid-template-columns:minmax(0,1.65fr) minmax(0,1fr); gap:48px; margin-block:64px; }
.home-section-heading { display:flex; justify-content:space-between; align-items:baseline; gap:24px; border-bottom:2px solid var(--ink); padding-bottom:16px; margin-bottom:24px; }
.home-section-heading h2 { font:500 34px/1.2 var(--heading); margin:0; }
.home-section-heading .text-link { flex-shrink:0; font-size:13px; }
.home-news-item { display:grid; grid-template-columns:140px minmax(0,1fr); align-items:center; gap:24px; padding-block:18px; border-bottom:1px solid var(--line); }
.home-news-item:first-child { padding-top:0; }
.home-news-photo { display:flex; align-items:center; justify-content:center; height:110px; overflow:hidden; background:var(--calendar-surface); }
.home-news-photo img { max-width:100%; max-height:100%; width:auto; height:auto; }
.home-news-item time { color:var(--muted); font-size:12px; font-variant-numeric:tabular-nums; }
.home-news-item h3 { font:500 25px/1.3 var(--heading); margin:8px 0 0; }
.home-news-item h3 a:hover { color:var(--link-color); text-decoration:underline; text-underline-offset:4px; }
.home-calendar { display:flex; flex-direction:column; align-items:flex-start; padding:32px; border-top:4px solid var(--accent); background:var(--calendar-surface); }
.home-calendar .eyebrow { margin:0 0 12px; color:var(--muted); }
.home-calendar h2 { margin:0; font:500 34px/1.2 var(--heading); }
.home-calendar .upcoming-events { width:100%; margin:12px 0 24px; }
.home-calendar>p:not([class]) { color:var(--muted); margin:0 0 28px; font-size:16px; line-height:1.65; max-width:300px; }
.home-calendar .text-link { margin-top:auto; }
.home-discover { margin-block:64px; }
.home-discover-grid { display:grid; grid-template-columns:minmax(0,1.65fr) minmax(0,1fr); gap:48px; }
.home-history-photo { display:block; overflow:hidden; }
.home-history-photo img { display:block; width:100%; height:280px; object-fit:cover; object-position:center 48%; }
.home-discover-story>p { max-width:650px; font-size:16px; line-height:1.7; color:var(--muted); margin:24px 0; }
.home-topic-links { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 28px; }
.home-topic-links a { display:flex; justify-content:space-between; gap:12px; padding:15px 0; border-top:1px solid var(--line); font:400 20px/1.3 var(--heading); }
.home-topic-links a:hover { color:var(--link-color); }
.home-topic-links span { color:var(--link-color); }
.home-training { align-self:start; padding:36px 32px; background:var(--ink); color:var(--white); scroll-margin-top:20px; }
.home-training .eyebrow { margin:0 0 16px; }
.home-training h3 { font:500 40px/1.2 var(--heading); margin:0 0 24px; }
.home-training>p:not([class]) { font-size:16px; line-height:1.65; margin:0 0 32px; }
.home-trainer-form { display:grid; gap:12px; }
.home-trainer-form label { font-size:14px; }
.home-trainer-form select { width:100%; min-width:0; height:52px; padding:12px; border:1px solid var(--line); border-radius:0; font:400 15px var(--font); color:var(--ink); background:var(--white); }
.home-trainer-form .button { cursor:pointer; justify-content:space-between; font-family:var(--font); }
.home-training .button:hover { background:var(--white); color:var(--ink); }
.home-training-link { display:inline-flex; align-items:center; gap:20px; color:var(--white); font-size:14px; min-height:44px; margin-top:20px; text-decoration:underline; text-underline-offset:5px; }
.home-training-link:hover { color:var(--yellow); }
.home-federation { margin-top:64px; }
.home-federation .home-section-heading,.home-resource-links { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; }
.home-federation .home-section-heading { align-items:center; }
.home-federation .home-section-heading h2 { grid-column:span 2; }
.home-federation .home-section-heading>p { font-size:15px; line-height:1.6; color:var(--muted); margin:0; text-wrap:balance; }
.home-resource-links>a { display:block; padding-top:8px; }
.home-resource-links h3 { display:flex; justify-content:space-between; gap:20px; font:500 26px/1.3 var(--heading); margin:0 0 12px; }
.home-resource-links h3 span { color:var(--link-color); }
.home-resource-links p { font-size:15px; line-height:1.6; color:var(--muted); max-width:300px; margin:0; }
.home-resource-links>a:hover h3 { color:var(--link-color); text-decoration:underline; text-underline-offset:4px; }
@media (max-width:1180px) {
.home-current,.home-discover-grid { gap:32px; }
.home-calendar,.home-training { padding:28px; }
.home-news-item { grid-template-columns:120px minmax(0,1fr); gap:20px; }
.home-news-item h3 { font-size:23px; }
}
@media (max-width:900px) {
.home-current { grid-template-columns:minmax(0,1.4fr) minmax(0,1fr); gap:28px; }
.home-section-heading h2 { font-size:30px; }
.home-news-item { grid-template-columns:90px minmax(0,1fr); gap:16px; }
.home-news-photo { height:90px; }
.home-news-item h3 { font-size:21px; }
.home-calendar h2 { font-size:30px; }
.home-discover-grid { grid-template-columns:1fr 1fr; gap:28px; }
.home-training h3 { font-size:34px; }
.home-topic-links { grid-template-columns:1fr; }
.home-resource-links h3 { font-size:23px; }
}
@media (max-width:680px) {
.home-overview { padding-block:0 48px; }
.home-current,.home-discover-grid { grid-template-columns:1fr; gap:32px; }
.home-current,.home-discover { margin-block:40px; }
.home-section-heading { gap:16px; margin-bottom:20px; }
.home-section-heading h2 { font-size:28px; }
.home-section-heading .text-link { font-size:12px; gap:8px; }
.home-news-item { grid-template-columns:100px minmax(0,1fr); }
.home-calendar { padding:24px; }
.home-calendar>p:not([class]) { max-width:none; margin-bottom:20px; }
.home-history-photo img { height:auto; aspect-ratio:1.6; object-position:center; }
.home-topic-links { grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 20px; }
.home-topic-links a { font-size:19px; }
.home-training { padding:28px 24px; }
.home-training>p:not([class]) { margin-bottom:24px; }
.home-federation { margin-top:40px; }
.home-federation .home-section-heading { grid-template-columns:1fr; gap:12px; }
.home-federation .home-section-heading h2 { grid-column:auto; }
.home-resource-links { grid-template-columns:1fr; gap:0; }
.home-resource-links>a { padding:20px 56px 20px 0; border-bottom:1px solid var(--line); }
.home-resource-links>a:first-child { padding-top:0; }
.home-resource-links h3 { font-size:25px; margin-bottom:8px; }
}
