/* RYBY 18.1 — FISH STORY EXPERIENCE */
:root{
  --ry181-gold:#d7bd72;
  --ry181-cream:#f1ead8;
  --ry181-ink:#06100c;
  --ry181-line:rgba(215,189,114,.16);
  --ry181-muted:#9eaaa2;
}

/* ---------- shared ---------- */
.ry181-kicker{
  display:block;
  margin:0 0 11px;
  color:var(--ry181-gold);
  font:800 9px/1 system-ui,-apple-system,"Segoe UI",sans-serif;
  letter-spacing:.145em;
  text-transform:uppercase;
}
.ry181-section-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:24px;
  margin-bottom:20px;
}
.ry181-section-head h2{
  margin:0;
  color:var(--ry181-cream);
  font:500 clamp(28px,3.2vw,48px)/1.02 Georgia,serif;
}
.ry181-head-link,
.ry181-story-link{
  display:inline-flex;
  align-items:center;
  gap:11px;
  color:#e0c879;
  text-decoration:none;
  font:850 10px/1 system-ui,-apple-system,"Segoe UI",sans-serif;
  letter-spacing:.065em;
  text-transform:uppercase;
}
.ry181-head-link:hover,
.ry181-story-link:hover{color:#f0dd9d}

/* ---------- latest catch ---------- */
.ry181-latest{
  position:relative;
  width:min(1500px,calc(100% - 48px));
  margin:clamp(18px,3vw,40px) auto clamp(46px,6vw,84px);
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(390px,.8fr);
  min-height:clamp(500px,64vh,760px);
  overflow:hidden;
  border:1px solid var(--ry181-line);
  border-radius:28px;
  background:
    radial-gradient(circle at 85% 12%,rgba(215,189,114,.08),transparent 32rem),
    linear-gradient(135deg,#07130f,#030806);
  box-shadow:0 42px 130px rgba(0,0,0,.34);
}
.ry181-latest.is-pb{
  box-shadow:0 42px 130px rgba(0,0,0,.34),0 0 0 1px rgba(218,190,110,.08),0 0 76px rgba(215,189,114,.055);
}
.ry181-latest-visual{
  position:relative;
  display:block;
  overflow:hidden;
  min-height:500px;
  background:#07100c;
}
.ry181-latest-visual img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center;
  transform:scale(1.001);
  transition:transform .7s cubic-bezier(.2,.8,.2,1),filter .7s ease;
}
.ry181-latest-visual:hover img{transform:scale(1.018);filter:saturate(1.04)}
.ry181-latest-shade{
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(90deg,transparent 58%,rgba(3,8,6,.28)),
    linear-gradient(0deg,rgba(3,8,6,.22),transparent 40%);
}
.ry181-no-photo{
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  color:rgba(221,198,128,.42);
  font:800 10px/1 system-ui;
  letter-spacing:.16em;
}
.ry181-latest-copy{
  position:relative;
  padding:clamp(36px,4.5vw,72px);
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
}
.ry181-pb{
  margin:0 0 14px;
  padding:8px 11px;
  border:1px solid rgba(222,194,111,.31);
  border-radius:999px;
  background:rgba(222,194,111,.07);
  color:#e2c978;
  font:900 9px/1 system-ui;
  letter-spacing:.105em;
}
.ry181-latest-copy h2{
  margin:0;
  max-width:780px;
  color:#f5efe0;
  font:500 clamp(38px,5vw,72px)/.96 Georgia,serif;
}
.ry181-latest-meta{
  display:flex;
  flex-wrap:wrap;
  gap:0;
  margin:18px 0 0;
}
.ry181-latest-meta span{
  color:#83938a;
  font:750 9px/1.4 system-ui;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.ry181-latest-meta span+span:before{content:"•";margin:0 9px;color:#5c6c63}
.ry181-story-copy{
  max-width:720px;
  margin:24px 0 0;
  color:#c8d0ca;
  font:400 15px/1.78 system-ui,-apple-system,"Segoe UI",sans-serif;
}
.ry181-facts{
  width:100%;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  margin:30px 0 26px;
}
.ry181-fact{
  min-width:0;
  padding:15px 14px;
  border:1px solid rgba(255,255,255,.045);
  border-radius:14px;
  background:rgba(255,255,255,.018);
}
.ry181-fact small,
.ry181-day-stats small,
.ry181-metric small{
  display:block;
  color:#708178;
  font:800 8px/1.2 system-ui;
  letter-spacing:.085em;
  text-transform:uppercase;
}
.ry181-fact strong{
  display:block;
  overflow:hidden;
  margin-top:7px;
  color:#e5dfcf;
  font:650 12px/1.3 system-ui;
  text-overflow:ellipsis;
  white-space:nowrap;
}

/* ---------- verified PB rail ---------- */
.ry181-records{
  width:min(1500px,calc(100% - 48px));
  margin:clamp(50px,7vw,100px) auto;
}
.ry181-record-rail{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}
.ry181-record-card{
  position:relative;
  min-height:310px;
  overflow:hidden;
  border:1px solid rgba(216,189,111,.12);
  border-radius:20px;
  background:
    radial-gradient(circle at 75% 20%,rgba(215,189,114,.08),transparent 18rem),
    #07110d;
  text-decoration:none;
}
.ry181-record-card.is-top{grid-row:span 2;min-height:632px}
.ry181-record-card img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .55s cubic-bezier(.2,.8,.2,1);
}
.ry181-record-card:hover img{transform:scale(1.022)}
.ry181-record-veil{
  position:absolute;
  inset:0;
  background:linear-gradient(0deg,rgba(3,9,7,.92) 0%,rgba(3,9,7,.18) 62%,rgba(3,9,7,.04));
}
.ry181-record-copy{
  position:absolute;
  left:0;right:0;bottom:0;
  z-index:2;
  padding:23px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}
.ry181-record-copy small{
  color:#b9a05e;
  font:850 8px/1 system-ui;
  letter-spacing:.1em;
}
.ry181-record-copy strong{
  margin-top:8px;
  color:#f0eadc;
  font:500 clamp(24px,2.6vw,42px)/1 Georgia,serif;
}
.ry181-record-copy b{
  margin-top:8px;
  color:#e2c979;
  font:650 clamp(18px,2vw,30px)/1.1 Georgia,serif;
}
.ry181-record-copy span{
  margin-top:9px;
  color:#8d9a92;
  font:650 9px/1.4 system-ui;
  text-transform:uppercase;
  letter-spacing:.04em;
}

/* ---------- season ---------- */
.ry181-season{
  width:min(1500px,100%);
  margin:0 auto clamp(38px,5vw,68px);
  padding:clamp(22px,3vw,38px);
  border:1px solid rgba(215,189,114,.13);
  border-radius:24px;
  background:
    radial-gradient(circle at 80% 0%,rgba(215,189,114,.055),transparent 31rem),
    rgba(255,255,255,.012);
}
.ry181-season-metrics{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:8px;
  margin-bottom:12px;
}
.ry181-metric{
  min-width:0;
  padding:17px;
  border-radius:15px;
  border:1px solid rgba(255,255,255,.038);
  background:rgba(255,255,255,.017);
}
.ry181-metric strong{
  display:block;
  overflow:hidden;
  margin-top:8px;
  color:#e9e2d1;
  font:650 clamp(14px,1.3vw,20px)/1.2 system-ui;
  text-overflow:ellipsis;
}
.ry181-charts{
  display:grid;
  grid-template-columns:1.25fr 1fr 1fr;
  gap:10px;
}
.ry181-chart{
  min-width:0;
  min-height:260px;
  padding:18px;
  border:1px solid rgba(255,255,255,.038);
  border-radius:17px;
  background:rgba(2,10,7,.32);
}
.ry181-chart>header{
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  gap:12px;
  margin-bottom:18px;
}
.ry181-chart>header strong{
  color:#e7e0cf;
  font:650 13px/1.2 system-ui;
}
.ry181-chart>header small{
  color:#66786d;
  font:750 8px/1 system-ui;
  letter-spacing:.05em;
  text-transform:uppercase;
}
.ry181-chart-body{height:185px}
.ry181-bars{
  display:flex;
  align-items:flex-end;
  gap:6px;
}
.ry181-vbar{
  flex:1 1 0;
  min-width:0;
  height:100%;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  align-items:center;
  gap:7px;
}
.ry181-vbar i{
  width:100%;
  max-width:24px;
  height:var(--h);
  min-height:4px;
  border-radius:6px 6px 2px 2px;
  background:linear-gradient(180deg,rgba(222,199,129,.9),rgba(132,111,55,.28));
  box-shadow:0 0 20px rgba(214,189,112,.06);
}
.ry181-vbar small{
  color:#68796e;
  font:750 7px/1 system-ui;
}
.ry181-list-bars{
  height:auto;
  display:flex;
  flex-direction:column;
  gap:13px;
}
.ry181-hbar>span{
  display:flex;
  justify-content:space-between;
  gap:10px;
}
.ry181-hbar b{
  overflow:hidden;
  color:#bfc8c1;
  font:600 10px/1.2 system-ui;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.ry181-hbar small{color:#718077;font:750 9px/1 system-ui}
.ry181-hbar>i{
  position:relative;
  display:block;
  height:4px;
  margin-top:7px;
  border-radius:99px;
  background:rgba(255,255,255,.04);
  overflow:hidden;
}
.ry181-hbar>i:after{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:var(--w);
  border-radius:inherit;
  background:linear-gradient(90deg,#735f2d,#d4bb72);
}
.ry181-empty{color:#718077;font:500 12px/1.5 system-ui}

/* ---------- day on water ---------- */
.ry181-day{
  width:min(1500px,calc(100% - 48px));
  margin:clamp(50px,7vw,98px) auto;
  display:grid;
  grid-template-columns:minmax(330px,.78fr) minmax(0,1.22fr);
  min-height:560px;
  overflow:hidden;
  border:1px solid rgba(215,189,114,.13);
  border-radius:26px;
  background:#06100c;
}
.ry181-day-visual{
  position:relative;
  min-height:520px;
  overflow:hidden;
  background:radial-gradient(circle,#15231b,#050d09 72%);
}
.ry181-day-visual img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}
.ry181-day-visual:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,transparent 58%,rgba(5,13,9,.34));
  pointer-events:none;
}
.ry181-day-content{
  padding:clamp(34px,4.5vw,68px);
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.ry181-day-content h2{
  margin:0;
  color:#f2ecde;
  font:500 clamp(34px,4vw,58px)/.98 Georgia,serif;
}
.ry181-day-intro{
  margin:16px 0 0;
  color:#89988f;
  font:650 10px/1.55 system-ui;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.ry181-day-stats{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:8px;
  margin:26px 0;
}
.ry181-day-stats>span{
  padding:14px;
  border:1px solid rgba(255,255,255,.04);
  border-radius:13px;
  background:rgba(255,255,255,.015);
}
.ry181-day-stats strong{
  display:block;
  margin-top:7px;
  color:#e5ddca;
  font:650 15px/1.1 system-ui;
}
.ry181-timeline{
  position:relative;
  list-style:none;
  margin:0 0 27px;
  padding:2px 0 2px 4px;
}
.ry181-timeline:before{
  content:"";
  position:absolute;
  left:58px;
  top:12px;
  bottom:12px;
  width:1px;
  background:linear-gradient(#604f25,#d0b86e,#604f25);
  opacity:.55;
}
.ry181-timeline li{
  position:relative;
  display:grid;
  grid-template-columns:45px 1fr;
  gap:26px;
  min-height:40px;
  align-items:center;
}
.ry181-timeline li:after{
  content:"";
  position:absolute;
  left:51px;
  width:7px;
  height:7px;
  border-radius:50%;
  background:#7c6935;
  box-shadow:0 0 0 4px #06100c;
}
.ry181-timeline li.is-catch:after{
  background:#e0c675;
  box-shadow:0 0 0 4px #06100c,0 0 22px rgba(224,198,117,.22);
}
.ry181-timeline li.is-edge:after{background:#9aa69e}
.ry181-timeline time{
  color:#7a897f;
  font:750 9px/1 system-ui;
  text-align:right;
}
.ry181-timeline span{
  color:#bfc7c0;
  font:550 12px/1.35 system-ui;
}

/* ---------- mobile: compact, horizontal where possible ---------- */
@media(max-width:900px){
  .ry181-section-head{
    align-items:flex-start;
    flex-direction:column;
    gap:12px;
    padding:0 16px;
  }
  .ry181-section-head h2{font-size:clamp(30px,9vw,42px)}
  .ry181-latest{
    width:calc(100% - 24px);
    margin-top:14px;
    margin-bottom:46px;
    grid-template-columns:1fr;
    min-height:0;
    border-radius:20px;
  }
  .ry181-latest-visual{
    min-height:0;
    aspect-ratio:16/10;
  }
  .ry181-latest-shade{
    background:linear-gradient(0deg,rgba(3,8,6,.24),transparent 50%);
  }
  .ry181-latest-copy{padding:24px 20px 26px}
  .ry181-latest-copy h2{font-size:clamp(35px,10.5vw,49px)}
  .ry181-story-copy{font-size:14px;line-height:1.65;margin-top:18px}
  .ry181-facts{grid-template-columns:repeat(3,minmax(0,1fr));margin:22px 0 21px}
  .ry181-fact{padding:12px 10px}
  .ry181-fact strong{font-size:10px}

  .ry181-records{
    width:100%;
    margin:48px auto;
    overflow:hidden;
  }
  .ry181-record-rail{
    display:flex;
    overflow-x:auto;
    scroll-snap-type:x proximity;
    gap:10px;
    padding:0 16px 9px;
    scrollbar-width:none;
  }
  .ry181-record-rail::-webkit-scrollbar{display:none}
  .ry181-record-card,
  .ry181-record-card.is-top{
    flex:0 0 min(78vw,320px);
    min-height:360px;
    grid-row:auto;
    scroll-snap-align:start;
  }

  .ry181-season{
    width:100%;
    padding:22px 0 18px;
    border-left:0;
    border-right:0;
    border-radius:0;
    overflow:hidden;
  }
  .ry181-season-metrics{
    display:flex;
    overflow-x:auto;
    gap:8px;
    padding:0 16px 8px;
    scrollbar-width:none;
  }
  .ry181-season-metrics::-webkit-scrollbar{display:none}
  .ry181-metric{
    flex:0 0 145px;
    scroll-snap-align:start;
    padding:14px;
  }
  .ry181-charts{
    display:flex;
    overflow-x:auto;
    gap:9px;
    padding:0 16px 7px;
    scroll-snap-type:x proximity;
    scrollbar-width:none;
  }
  .ry181-charts::-webkit-scrollbar{display:none}
  .ry181-chart{
    flex:0 0 min(86vw,360px);
    min-height:245px;
    scroll-snap-align:start;
  }

  .ry181-day{
    width:calc(100% - 24px);
    margin:48px auto;
    grid-template-columns:1fr;
    min-height:0;
    border-radius:20px;
  }
  .ry181-day-visual{
    min-height:0;
    aspect-ratio:16/10;
  }
  .ry181-day-content{padding:24px 20px 27px}
  .ry181-day-content h2{font-size:clamp(32px,9vw,45px)}
  .ry181-day-stats{margin:20px 0}
  .ry181-timeline{margin-bottom:22px}
}

@media(max-width:520px){
  .ry181-facts{grid-template-columns:1fr}
  .ry181-fact strong{white-space:normal}
  .ry181-day-stats>span{padding:12px 10px}
  .ry181-timeline li{grid-template-columns:42px 1fr;gap:24px}
  .ry181-timeline:before{left:54px}
  .ry181-timeline li:after{left:47px}
}

@media(prefers-reduced-motion:reduce){
  .ry181-latest-visual img,
  .ry181-record-card img{transition:none!important}
}
