html { scroll-behavior: smooth; }
/* clip instead of hidden so wide wave strips can never scroll the page sideways */
[style*="overflow: hidden"] { overflow: clip !important; }
* { box-sizing: border-box; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, summary:focus-visible {
  outline: 3px solid #F2733A; outline-offset: 2px;
}
button[disabled] { opacity: .7; cursor: progress !important; }
.form-status { margin: 4px 0 0; font-size: 14px; font-weight: 600; flex-basis: 100%; }
.form-status.ok { color: #1C7A4B; }
.form-status.err { color: #B42318; }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}
@media (max-width: 720px) {
  h1 { font-size: 44px !important; }
  h2 { font-size: 32px !important; }
  section > div[style*="padding: 5"], section > div[style*="padding: 4"] { padding: 32px 22px !important; }
  header nav { gap: 14px !important; font-size: 14px !important; }
  #top { height: auto !important; min-height: 640px; padding-bottom: 220px; }
  .school { position: absolute; left: 0; right: 0; bottom: 0; height: 170px; }
  .school > div { top: auto !important; }
  .school > div:nth-child(1) { bottom: 110px; } .school > div:nth-child(2) { bottom: 40px; }
  .school > div:nth-child(3) { bottom: 80px; } .school > div:nth-child(4) { bottom: 120px; }
  .school > div:nth-child(5) { bottom: 30px; } .school > div:nth-child(6) { bottom: 100px; }
  .school > div:nth-child(7) { bottom: 130px; } .school > div:nth-child(8) { bottom: 140px; }
}

@keyframes cast { 0%, 100% { transform: rotate(18deg); } 22% { transform: rotate(-22deg); } 30%, 70% { transform: rotate(-8deg); } }
@keyframes nod { 0%, 100% { transform: rotate(0deg); } 50% { transform: rotate(5deg); } }
@keyframes raise { 0%, 30%, 100% { transform: rotate(0deg); } 40%, 60% { transform: rotate(150deg); } }
/* hero fishing scene: scale down on smaller screens instead of hiding */
@media (max-width: 1260px) { .hl-scene { transform: scale(.84); transform-origin: bottom right; } }
@media (max-width: 1060px) { .hl-scene { transform: scale(.7); } }
@media (max-width: 1100px) { .team-scene { transform: scale(.75); transform-origin: bottom right; } }
@media (max-width: 860px) { .team-scene { display: none; } }
@media (max-width: 720px) {
  .hl-scene { transform: scale(.5); right: -30px !important; }
  #top { padding-bottom: 330px !important; }
}

/* flowing river panels */
.river > *:not(.river-flow) { position: relative; z-index: 1; }
.river-flow { position: absolute; inset: 0; pointer-events: none; overflow: hidden; z-index: 0; }
.river-flow svg { position: absolute; left: 0; top: 0; width: 200%; height: 100%; animation: rflow 14s linear infinite; }
.river-flow svg.slow { animation-duration: 26s; }
.river-flow svg.band { top: auto; bottom: 0; }
.river-flow svg.b1 { height: 62%; animation-duration: 34s; }
.river-flow svg.b2 { height: 44%; animation-duration: 26s; animation-direction: reverse; }
.river-flow svg.b3 { height: 28%; animation-duration: 20s; }
.river-flow svg.b4 { height: 15%; animation-duration: 15s; animation-direction: reverse; }
@keyframes rflow { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@keyframes rflowFishA { 0%,100% { transform: translateX(0) scaleX(1); } 49% { transform: translateX(-220px) scaleX(1); } 50% { transform: translateX(-220px) scaleX(-1); } 99% { transform: translateX(0) scaleX(-1); } }
@keyframes rflowFishB { 0%,100% { transform: translateX(0) scaleX(-1); } 49% { transform: translateX(200px) scaleX(-1); } 50% { transform: translateX(200px) scaleX(1); } 99% { transform: translateX(0) scaleX(1); } }
.river input::placeholder, .river textarea::placeholder { color: #9FB8BE; }
#plan-form input::placeholder, #plan-form textarea::placeholder { color: #8A8178; }
.river .form-status.ok { color: #8ED1B0; } .river .form-status.err { color: #F7B4B4; }
#plan-form .form-status.ok { color: #1C7A4B; } #plan-form .form-status.err { color: #B42318; }
#plan-form { color: #1A1714; }
