:root {
  color-scheme: light;
  --ink: #10213d;
  --muted: #62718a;
  --line: #dbe3ee;
  --panel: #ffffff;
  --soft: #f4f7fb;
  --blue: #2478f2;
  --blue-dark: #155ac2;
  --cyan: #28c4e8;
  --violet: #7657e8;
  --green: #13a474;
  --amber: #e59b27;
  --navy: #101b34;
  --max: 1240px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: #f8fafc;
  color: var(--ink);
  font-family: Pretendard, "Noto Sans KR", "Apple SD Gothic Neo", "Malgun Gothic", system-ui, sans-serif;
  letter-spacing: -0.012em;
}

button, input, select { font: inherit; }
a { color: inherit; }
svg { display: block; }
h1, h2, h3 { word-break: keep-all; overflow-wrap: break-word; }

.evidence-topbar {
  position: sticky;
  z-index: 50;
  top: 0;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  min-height: 68px;
  padding: 0 max(24px, calc((100vw - var(--max)) / 2));
  border-bottom: 1px solid rgba(211, 220, 233, 0.88);
  background: rgba(255, 255, 255, 0.93);
  box-shadow: 0 5px 20px rgba(20, 37, 66, 0.05);
  backdrop-filter: blur(14px);
}

.evidence-brand {
  display: flex;
  align-items: center;
  gap: 11px;
  color: var(--ink);
  text-decoration: none;
}

.evidence-brand__mark {
  display: flex;
  width: 39px;
  height: 39px;
  align-items: flex-end;
  justify-content: center;
  gap: 3px;
  padding: 10px 8px;
  border-radius: 11px;
  background: linear-gradient(145deg, #285ff0, #593cd0);
  box-shadow: 0 7px 18px rgba(52, 79, 195, 0.23);
}

.evidence-brand__mark i {
  width: 4px;
  border-radius: 2px;
  background: #fff;
}

.evidence-brand__mark i:nth-child(1) { height: 7px; opacity: 0.72; }
.evidence-brand__mark i:nth-child(2) { height: 14px; }
.evidence-brand__mark i:nth-child(3) { height: 20px; opacity: 0.84; }
.evidence-brand > span:last-child { display: grid; gap: 1px; }
.evidence-brand strong { font-size: 0.93rem; font-weight: 900; letter-spacing: -0.035em; }
.evidence-brand small { color: #7d8aa0; font-size: 0.54rem; font-weight: 800; letter-spacing: 0.13em; }

.evidence-nav {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
}

.evidence-nav a {
  padding: 9px 12px;
  border-radius: 8px;
  color: #526078;
  font-size: 0.77rem;
  font-weight: 800;
  text-decoration: none;
}

.evidence-nav a:hover { background: #f0f4fa; color: #1f58b8; }
.back-link {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 9px 13px;
  border: 1px solid #d4deeb;
  border-radius: 9px;
  background: #fff;
  color: #34435d;
  font-size: 0.75rem;
  font-weight: 850;
  text-decoration: none;
}
.back-link:hover { border-color: #9eb8e5; color: var(--blue-dark); }

.section-wrap { width: min(var(--max), calc(100% - 48px)); margin-inline: auto; }
.hero {
  position: relative;
  overflow: hidden;
  background:
    linear-gradient(90deg, rgba(255,255,255,0.035) 1px, transparent 1px) 0 0 / 58px 58px,
    linear-gradient(rgba(255,255,255,0.035) 1px, transparent 1px) 0 0 / 58px 58px,
    radial-gradient(circle at 82% 28%, #263f80 0, #121e3c 38%, #0d172d 72%);
  color: #fff;
}

.hero__content {
  position: relative;
  z-index: 2;
  display: grid;
  width: min(var(--max), calc(100% - 48px));
  min-height: 540px;
  margin: auto;
  grid-template-columns: minmax(0, 1.12fr) minmax(430px, 0.88fr);
  align-items: center;
  gap: 40px;
  padding: 64px 0 78px;
}

.hero__glow { position: absolute; border-radius: 50%; filter: blur(20px); pointer-events: none; }
.hero__glow--one { top: -180px; right: 18%; width: 380px; height: 380px; background: rgba(48, 124, 255, 0.18); }
.hero__glow--two { bottom: -200px; left: 4%; width: 440px; height: 440px; background: rgba(93, 67, 225, 0.12); }

.eyebrow {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 13px;
  color: #92c7ff;
  font-size: 0.71rem;
  font-weight: 850;
  letter-spacing: 0.08em;
}
.eyebrow > span { width: 18px; height: 2px; border-radius: 2px; background: currentColor; }
.eyebrow--blue { color: var(--blue); }
.eyebrow--green { color: var(--green); }
.eyebrow--amber { color: #bd7711; }

.hero h1 {
  margin: 0;
  font-size: clamp(2.5rem, 4.2vw, 4.2rem);
  font-weight: 900;
  letter-spacing: -0.065em;
  line-height: 1.1;
}
.hero h1 em { color: #77c9ff; font-style: normal; }
.hero__lead { max-width: 650px; margin: 25px 0 0; color: #bdc9df; font-size: 1.02rem; font-weight: 600; line-height: 1.75; }
.hero__facts { display: flex; gap: 0; margin-top: 39px; }
.hero__facts span { display: grid; min-width: 142px; padding: 0 27px; border-left: 1px solid rgba(255,255,255,0.16); }
.hero__facts span:first-child { padding-left: 0; border-left: 0; }
.hero__facts strong { color: #fff; font-size: 1.65rem; font-variant-numeric: tabular-nums; font-weight: 900; letter-spacing: -0.035em; }
.hero__facts small { margin-top: 3px; color: #8fa1bf; font-size: 0.68rem; font-weight: 750; }

.hero__visual { position: relative; min-height: 430px; }
.orbit {
  position: absolute;
  top: 50%; left: 50%;
  border: 1px solid rgba(121, 173, 255, 0.23);
  border-radius: 50%;
  transform: translate(-50%, -50%) rotate(-13deg);
}
.orbit--outer { width: 410px; height: 328px; }
.orbit--inner { width: 282px; height: 225px; border-style: dashed; border-color: rgba(146, 199, 255, 0.26); transform: translate(-50%, -50%) rotate(17deg); }
.hero-core {
  position: absolute;
  top: 50%; left: 50%;
  display: grid;
  width: 172px; height: 172px;
  place-items: center;
  align-content: center;
  border: 1px solid rgba(128, 198, 255, 0.52);
  border-radius: 50%;
  background: radial-gradient(circle at 35% 27%, rgba(70, 146, 255, 0.6), rgba(36, 80, 176, 0.48) 40%, rgba(21, 43, 91, 0.84) 75%);
  box-shadow: 0 0 0 14px rgba(68, 129, 232, 0.07), 0 0 65px rgba(38, 124, 247, 0.3), inset 0 0 34px rgba(127, 204, 255, 0.12);
  transform: translate(-50%, -50%);
}
.hero-core svg { width: 72px; height: 58px; fill: none; stroke: #89d8ff; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2.6; }
.hero-core span { margin-top: -2px; font-size: 1.55rem; font-weight: 900; }
.hero-core small { color: #a8badd; font-size: 0.68rem; font-weight: 750; }
.orbit-node {
  position: absolute;
  display: grid;
  width: 92px;
  height: 92px;
  place-items: center;
  align-content: center;
  border: 1px solid rgba(133, 182, 255, 0.28);
  border-radius: 50%;
  background: rgba(19, 37, 76, 0.88);
  box-shadow: 0 12px 30px rgba(5, 14, 34, 0.28), inset 0 0 20px rgba(69, 132, 238, 0.08);
}
.orbit-node b { color: #8bd8ff; font-size: 1.5rem; font-variant-numeric: tabular-nums; }
.orbit-node small { color: #aab9d1; font-size: 0.63rem; font-weight: 750; }
.orbit-node--data { top: 35px; left: 83px; }
.orbit-node--feature { top: 48px; right: 35px; }
.orbit-node--model { right: 40px; bottom: 45px; }
.orbit-node--verify { left: 58px; bottom: 37px; }

.hero__foot {
  position: relative;
  z-index: 3;
  display: grid;
  min-height: 48px;
  padding: 9px max(24px, calc((100vw - var(--max)) / 2));
  grid-template-columns: auto auto 1fr;
  align-items: center;
  gap: 28px;
  border-top: 1px solid rgba(255,255,255,0.1);
  background: rgba(7, 16, 34, 0.48);
  color: #96a6c0;
  font-size: 0.67rem;
  font-weight: 650;
}
.hero__foot span { display: flex; align-items: center; gap: 5px; }
.hero__foot b { color: #d9e5f7; }
.status-dot { width: 7px; height: 7px; border-radius: 50%; background: #42d39d; box-shadow: 0 0 0 4px rgba(66, 211, 157, 0.12); }
.hero__truth { justify-self: end; }

.section-heading { display: flex; align-items: flex-start; gap: 24px; }
.section-heading--split { justify-content: space-between; align-items: flex-end; }
.section-heading--split > div:first-child { max-width: 780px; }
.section-heading__group { display: flex; align-items: flex-start; gap: 24px; }
.section-heading h2, .audit__heading h2 { margin: 0; color: var(--ink); font-size: clamp(1.75rem, 2.6vw, 2.55rem); font-weight: 900; letter-spacing: -0.055em; line-height: 1.25; }
.section-heading p:not(.eyebrow):not(.section-number), .audit__heading > p:last-child { max-width: 800px; margin: 11px 0 0; color: var(--muted); font-size: 0.92rem; font-weight: 600; line-height: 1.7; }
.section-number { margin: -4px 0 0; color: #d7deea; font-size: 2.9rem; font-weight: 900; letter-spacing: -0.08em; line-height: 1; }
.section-heading--light h2 { color: #f4f8ff; }
.section-heading--light p:not(.eyebrow):not(.section-number) { color: #aebbd0; }
.section-heading--light .section-number { color: rgba(255,255,255,0.13); }

.snapshot { padding: 94px 0 105px; }
.data-time { display: inline-flex; align-items: center; gap: 8px; padding: 9px 13px; border: 1px solid #d9e3ed; border-radius: 9px; background: #fff; color: #5b6b82; font-size: 0.7rem; font-weight: 800; box-shadow: 0 7px 18px rgba(25, 47, 80, 0.04); }
.data-time i { width: 7px; height: 7px; border-radius: 50%; background: var(--green); box-shadow: 0 0 0 4px rgba(19,164,116,0.1); }
.snapshot-empty { display: grid; margin-top: 30px; padding: 24px; grid-template-columns: 38px minmax(0,1fr) auto; align-items: center; gap: 15px; border: 1px solid #d6e1ee; border-radius: 15px; background: #fff; box-shadow: 0 13px 34px rgba(23,46,79,.06); }
.snapshot-empty[hidden], .snapshot-grid[hidden] { display: none; }
.snapshot-empty > span { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 50%; background: #edf4ff; color: var(--blue); font-weight: 900; }
.snapshot-empty p { margin: 0; color: #65748a; font-size: .82rem; line-height: 1.55; }
.snapshot-empty strong { display: block; color: var(--ink); font-size: .92rem; }
.snapshot-empty a { color: var(--blue-dark); font-size: .78rem; font-weight: 900; text-decoration: none; }

.snapshot-grid { display: grid; margin-top: 32px; grid-template-columns: 330px minmax(0, 1fr); gap: 18px; }
.current-card, .forecast-card { overflow: hidden; border: 1px solid #dbe4ef; border-radius: 17px; background: #fff; box-shadow: 0 15px 40px rgba(26, 48, 80, 0.07); }
.current-card { position: relative; padding: 20px; }
.current-card__head, .forecast-card__head { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.current-card__head > span, .forecast-card__head span:first-child { color: #718096; font-size: .68rem; font-weight: 850; letter-spacing: .04em; }
.current-card__head small { padding: 5px 8px; border-radius: 7px; background: #eef8f4; color: #16845f; font-size: .61rem; font-weight: 900; }
.water-gauge { position: relative; height: 112px; margin: 16px -20px 0; overflow: hidden; background: linear-gradient(#f7fbff, #e5f6ff); }
.water-gauge svg { position: absolute; right: 0; bottom: 0; width: 100%; height: 68%; fill: #4cb8f0; opacity: .82; }
.water-gauge__fill { position: absolute; right: 0; bottom: 0; left: 0; height: 43%; background: linear-gradient(#56c7f3, #2996e6); }
.water-gauge__ticks { position: absolute; z-index: 2; top: 11px; bottom: 10px; left: 14px; display: flex; flex-direction: column; justify-content: space-between; }
.water-gauge__ticks i { width: 17px; border-top: 1px solid rgba(21,93,152,.32); }
.water-gauge > span { position: absolute; z-index: 3; top: 32px; left: 50%; color: #123d70; font-size: 2.25rem; font-variant-numeric: tabular-nums; font-weight: 900; letter-spacing: -.06em; transform: translateX(-50%); text-shadow: 0 2px 12px #fff; }
.current-card > p { margin: 9px 0 13px; color: #52627b; font-size: .73rem; font-weight: 800; text-align: center; }
.signal-pairs { display: grid; margin: 0; grid-template-columns: repeat(3, 1fr); gap: 6px; }
.signal-pairs div { display: grid; gap: 3px; padding: 9px 5px; border-radius: 8px; background: #f5f8fc; text-align: center; }
.signal-pairs dt { color: #7a8799; font-size: .57rem; font-weight: 750; }
.signal-pairs dd { margin: 0; color: #1d3557; font-size: .72rem; font-variant-numeric: tabular-nums; font-weight: 900; }

.forecast-card { padding: 20px 22px 15px; }
.forecast-card__head > div:first-child { display: grid; gap: 2px; }
.forecast-card__head strong { font-size: .94rem; font-weight: 900; }
.forecast-card__legend { display: flex; gap: 12px; color: #68778d; font-size: .61rem; font-weight: 750; }
.forecast-card__legend span { display: inline-flex; align-items: center; gap: 5px; }
.forecast-card__legend i { width: 18px; border-top: 3px solid var(--violet); }
.forecast-card__legend span:last-child i { height: 8px; border: 0; border-radius: 3px; background: rgba(118,87,232,.18); }
.snapshot-chart { min-height: 170px; margin-top: 10px; }
.snapshot-chart svg { width: 100%; height: 170px; overflow: visible; }
.snapshot-svg__grid { stroke: #e4e9f1; stroke-dasharray: 3 4; }
.snapshot-svg__axis { stroke: #aeb9c9; }
.snapshot-svg__band { fill: rgba(118,87,232,.16); }
.snapshot-svg__line { fill: none; stroke: var(--violet); stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; }
.snapshot-svg__dot { fill: #fff; stroke: var(--violet); stroke-width: 2.5; }
.snapshot-svg__now { stroke: #2789df; stroke-width: 2; }
.snapshot-svg__label { fill: #718096; font-size: 10px; font-weight: 750; }
.snapshot-svg__value { fill: #4f39b2; font-size: 10px; font-weight: 900; }
.snapshot-points { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.snapshot-points span { display: grid; padding: 7px 9px; border-radius: 8px; background: #f6f4ff; }
.snapshot-points small { color: #7668a6; font-size: .57rem; font-weight: 800; }
.snapshot-points strong { color: #332365; font-size: .78rem; font-variant-numeric: tabular-nums; }
.snapshot-points em { color: #7a6da2; font-size: .54rem; font-style: normal; }

.inputs { padding: 104px 0 115px; border-top: 1px solid #e8edf3; }
.network-grid { display: grid; margin-top: 42px; grid-template-columns: minmax(0, 1.07fr) minmax(440px, .93fr); gap: 24px; }
.river-network { position: relative; min-height: 500px; overflow: hidden; border: 1px solid #dbe6f0; border-radius: 20px; background:
  radial-gradient(circle at 20% 20%, rgba(33,144,224,.07), transparent 28%),
  linear-gradient(135deg, #f5f9fd, #edf5f9); box-shadow: inset 0 0 80px rgba(42,113,162,.035); }
.river-network::before { content: ""; position: absolute; inset: 0; opacity: .44; background-image: radial-gradient(#a8bed0 1px, transparent 1px); background-size: 18px 18px; mask-image: linear-gradient(90deg, #000, transparent 45%, #000); }
.river-network__labels { position: absolute; z-index: 2; top: 19px; right: 22px; bottom: 19px; display: flex; flex-direction: column; justify-content: space-between; color: #92a2b5; font-size: .62rem; font-weight: 850; }
.river-network__labels::after { content: "↓"; position: absolute; top: 50%; left: 50%; color: #b4c0ce; font-size: 1rem; transform: translate(-50%,-50%); }
.river-lines { position: absolute; inset: 15px 0; width: 100%; height: calc(100% - 30px); }
.river-lines__halo { fill: none; stroke: rgba(65,176,239,.18); stroke-width: 32; }
.river-lines__main { fill: none; stroke: url(#river-gradient); stroke-width: 13; stroke-linecap: round; filter: url(#river-shadow); }
.river-lines__branch { fill: none; stroke: #b6dced; stroke-width: 5; stroke-linecap: round; stroke-dasharray: 7 8; }
.river-node, .rain-node { position: absolute; z-index: 3; display: grid; }
.river-node { padding-left: 28px; }
.river-node i { position: absolute; top: 3px; left: 0; width: 20px; height: 20px; border: 4px solid #fff; border-radius: 50%; background: var(--blue); box-shadow: 0 0 0 2px #2b8ee7, 0 5px 13px rgba(23,89,153,.25); }
.river-node b { font-size: .75rem; font-weight: 900; }
.river-node small { margin-top: 2px; color: #6a7b90; font-size: .58rem; font-weight: 750; }
.river-node--singok { top: 57px; left: 58%; }
.river-node--changdong { top: 158px; left: 50%; }
.river-node--wolgye { top: 270px; left: 38%; }
.river-node--jungnang { bottom: 45px; left: 45%; }
.river-node--jungnang i { width: 24px; height: 24px; background: #694ad9; box-shadow: 0 0 0 2px #694ad9, 0 0 0 8px rgba(105,74,217,.11); }
.river-node--jungnang b { color: #4d32af; }
.rain-node { grid-template-columns: 23px auto; align-items: center; gap: 5px; color: #445a71; font-size: .62rem; }
.rain-node i { display: grid; width: 23px; height: 23px; place-items: center; border-radius: 7px 7px 11px 11px; background: #dff3fb; color: #1689c5; font-size: 1rem; font-style: normal; font-weight: 900; transform: rotate(45deg); }
.rain-node b { font-weight: 850; }
.rain-node--one { top: 66px; left: 8%; }
.rain-node--two { top: 115px; right: 4%; }
.rain-node--three { top: 251px; left: 6%; }
.rain-node--four { top: 305px; right: 5%; }
.rain-node--five { bottom: 62px; left: 9%; }
.network-key { position: absolute; z-index: 4; bottom: 15px; right: 17px; display: flex; gap: 12px; padding: 7px 9px; border: 1px solid #dbe6ef; border-radius: 8px; background: rgba(255,255,255,.9); color: #65768a; font-size: .57rem; font-weight: 800; }
.network-key span { display: flex; align-items: center; gap: 5px; }
.network-key i { width: 8px; height: 8px; border-radius: 50%; background: var(--blue); }
.network-key span:last-child i { border-radius: 4px 4px 7px 7px; background: var(--cyan); }

.data-stack { display: grid; align-content: start; gap: 11px; }
.data-card { display: grid; min-height: 112px; padding: 17px; grid-template-columns: 48px minmax(0,1fr) auto; grid-template-rows: 1fr auto; align-items: center; gap: 0 14px; border: 1px solid #dfe6ef; border-radius: 14px; background: #fff; box-shadow: 0 9px 25px rgba(26,49,83,.045); }
.data-card__icon { display: grid; width: 48px; height: 48px; grid-row: 1 / 3; place-items: center; border-radius: 13px; background: #eaf5ff; color: #2785d8; }
.data-card__icon svg { width: 29px; height: 29px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.7; }
.data-card > div:nth-child(2) { align-self: center; }
.data-card > div:nth-child(2) > span { color: #5581a9; font-size: .61rem; font-weight: 850; }
.data-card > div:nth-child(2) > strong { display: block; margin-top: 3px; font-size: .83rem; font-weight: 900; }
.data-card p { margin: 5px 0 0; color: #6c7c91; font-size: .64rem; font-weight: 650; line-height: 1.5; }
.data-card > b { align-self: end; color: #2375bf; font-size: 1.5rem; font-variant-numeric: tabular-nums; }
.data-card > small { align-self: start; color: #8290a2; font-size: .54rem; font-weight: 750; text-align: right; }
.data-card--rain .data-card__icon { background: #ecf8fa; color: #1b99b1; }
.data-card--rain > b { color: #188ca2; }
.data-card--interaction .data-card__icon { background: #f2efff; color: #7351da; }
.data-card--interaction > b { color: #6745ca; }
.data-total { display: flex; min-height: 70px; align-items: center; justify-content: space-between; padding: 13px 18px; border-radius: 13px; background: linear-gradient(120deg, #172b50, #243d70); color: #a9bad2; box-shadow: 0 14px 30px rgba(24,45,83,.17); }
.data-total span { font-size: .68rem; font-weight: 750; }
.data-total strong { color: #fff; font-size: .8rem; }
.data-total b { margin-right: 4px; color: #76d7ff; font-size: 2rem; font-variant-numeric: tabular-nums; }
.source-strip { display: flex; align-items: center; gap: 10px; margin: 17px 0 0; padding: 11px 15px; border-radius: 10px; background: #eef3f8; color: #6d7b8d; font-size: .66rem; font-weight: 700; }
.source-strip > span { padding: 3px 7px; border-radius: 5px; background: #fff; color: #42688e; font-size: .55rem; font-weight: 900; }
.source-strip a { margin-left: auto; color: #2566b5; font-weight: 900; text-decoration: none; }

.method { padding: 108px 0 118px; background:
  radial-gradient(circle at 82% 20%, rgba(58,93,169,.22), transparent 30%),
  linear-gradient(140deg, #111d36, #172745 55%, #101b31); color: #fff; }
.pipeline { display: grid; margin-top: 50px; grid-template-columns: repeat(4, minmax(0,1fr) 28px) minmax(0,1fr); align-items: center; }
.pipeline-step { position: relative; display: grid; min-height: 255px; align-content: start; justify-items: center; padding: 20px 10px; border: 1px solid rgba(140,167,210,.17); border-radius: 15px; background: rgba(255,255,255,.035); text-align: center; }
.pipeline-step__number { justify-self: start; color: #6e85a8; font-size: .6rem; font-weight: 900; }
.pipeline-step > strong { margin-top: 17px; color: #f2f6fd; font-size: .84rem; }
.pipeline-step > p { margin: 7px 0 0; color: #99aac4; font-size: .63rem; font-weight: 650; line-height: 1.55; }
.pipeline-step__visual, .tree-ensemble { position: relative; width: 108px; height: 84px; margin-top: 18px; }
.pipeline-step__visual--align { display: grid; padding: 10px 8px; grid-template-columns: repeat(6,1fr); gap: 7px; align-items: end; border-bottom: 1px solid #52698d; }
.pipeline-step__visual--align i { height: 28px; border-radius: 4px 4px 0 0; background: #3aaee8; box-shadow: 0 -8px 0 rgba(58,174,232,.12); }
.pipeline-step__visual--align i:nth-child(2) { height: 51px; }.pipeline-step__visual--align i:nth-child(3) { height: 41px; }.pipeline-step__visual--align i:nth-child(4) { height: 61px; }.pipeline-step__visual--align i:nth-child(5) { height: 35px; }.pipeline-step__visual--align i:nth-child(6) { height: 56px; }
.pipeline-step__visual--features { display: grid; place-items: center; }
.pipeline-step__visual--features::before, .pipeline-step__visual--features::after { content:""; position:absolute; width:74px; height:74px; border:1px solid rgba(131,104,239,.3); border-radius:50%; }
.pipeline-step__visual--features::after { width: 96px; height: 96px; border-style: dashed; }
.pipeline-step__visual--features b { z-index: 2; color: #b3a4ff; font-size: 2rem; }
.pipeline-step__visual--features span { position:absolute; inset:0; }
.pipeline-step__visual--features i { position:absolute; width:8px; height:8px; border-radius:50%; background:#6e57df; box-shadow:0 0 0 4px rgba(110,87,223,.15); }
.pipeline-step__visual--features i:nth-child(1){top:5px;left:16px}.pipeline-step__visual--features i:nth-child(2){top:35px;right:1px}.pipeline-step__visual--features i:nth-child(3){bottom:0;left:22px}
.tree-ensemble { display:flex; align-items:center; justify-content:center; }
.tree-ensemble i { position:absolute; top:20px; width:38px; height:46px; border-top:2px solid #39d0af; border-radius:50% 50% 0 0; }
.tree-ensemble i::before,.tree-ensemble i::after{content:"";position:absolute;top:9px;width:2px;height:34px;background:#39d0af;transform-origin:top}.tree-ensemble i::before{left:11px;transform:rotate(25deg)}.tree-ensemble i::after{right:11px;transform:rotate(-25deg)}
.tree-ensemble i:nth-of-type(1){left:6px;opacity:.45}.tree-ensemble i:nth-of-type(2){left:35px;opacity:.7}.tree-ensemble i:nth-of-type(3){right:5px}
.tree-ensemble span { position:absolute; left:-1px; bottom:5px; color:#7287a7; font-size:1.2rem; }
.tree-ensemble b { position:absolute; right:-4px; bottom:0; padding:3px 5px; border-radius:5px; background:#2a4968; color:#69e3c7; font-size:.62rem; }
.pipeline-step__visual--outputs { display:flex; align-items:center; justify-content:center; gap:7px; }
.pipeline-step__visual--outputs i { display:grid; width:30px;height:48px;place-items:center;border:1px solid #5e79a6;border-radius:7px;background:#263d65;color:#94cfff;font-size:.65rem;font-style:normal;font-weight:900; }
.pipeline-step__visual--outputs i:nth-child(2){height:64px;background:#2a4774}.pipeline-step__visual--outputs i:nth-child(3){height:80px;background:#31578d;color:#fff}
.pipeline-step__visual--range { overflow:hidden;border-bottom:1px solid #506789; }
.pipeline-step__visual--range span { position:absolute;inset:17px 8px 10px;background:linear-gradient(145deg,transparent 18%,rgba(126,98,226,.32) 19%,rgba(126,98,226,.32) 64%,transparent 65%);clip-path:polygon(0 76%,100% 6%,100% 62%,0 100%); }
.pipeline-step__visual--range i { position:absolute;left:9px;right:7px;top:52px;border-top:3px solid #a991ff;transform:rotate(-22deg); }
.pipeline-step__visual--range b { position:absolute;right:8px;top:19px;width:8px;height:8px;border:2px solid #fff;border-radius:50%;background:#7657e8; }
.pipeline-arrow { color:#53698b;font-size:1.25rem;font-style:normal;text-align:center; }
.method-notes { display:grid;margin-top:22px;grid-template-columns:repeat(3,1fr);gap:12px; }
.method-notes article { display:grid;min-height:105px;padding:17px;grid-template-columns:36px 1fr;gap:11px;border:1px solid rgba(148,172,210,.15);border-radius:13px;background:rgba(255,255,255,.035); }
.method-notes article > span { display:grid;width:34px;height:34px;place-items:center;border-radius:10px;background:rgba(84,136,221,.15);color:#83b6ff;font-weight:900; }
.method-notes strong { font-size:.75rem; }.method-notes p { margin:5px 0 0;color:#9fb0ca;font-size:.62rem;font-weight:650;line-height:1.55; }.method-notes code{color:#8fd8ff;font-size:.6rem}

.validation { padding: 112px 0 122px; }
.validation-principle { display:grid;margin-top:42px;padding:25px 28px;grid-template-columns:95px minmax(0,1fr) auto;align-items:center;gap:25px;border:1px solid #cfe2dc;border-radius:17px;background:linear-gradient(105deg,#f2fbf7,#fff);box-shadow:0 13px 35px rgba(23,86,66,.055); }
.lock-visual { position:relative;display:grid;width:86px;height:86px;place-items:center;border-radius:50%;background:#daf3e9;color:#147f5c; }
.lock-visual span { position:absolute;top:21px;width:27px;height:24px;border:3px solid #1b9d74;border-radius:7px; }
.lock-visual span::before{content:"";position:absolute;top:-19px;left:4px;width:13px;height:17px;border:3px solid #1b9d74;border-bottom:0;border-radius:10px 10px 0 0}
.lock-visual b { margin-top:42px;font-size:.54rem;text-align:center; }
.validation-principle__tag{display:inline-block;padding:4px 7px;border-radius:5px;background:#daf3e9;color:#12805d;font-size:.57rem;font-weight:900}
.validation-principle h3{margin:7px 0 0;font-size:1rem;letter-spacing:-.03em}.validation-principle p{margin:6px 0 0;color:#607369;font-size:.7rem;font-weight:650;line-height:1.55}
.validation-principle dl{display:grid;margin:0;grid-template-columns:repeat(3,112px);gap:1px;background:#dce9e4;border:1px solid #dce9e4;border-radius:10px;overflow:hidden}.validation-principle dl div{display:grid;gap:3px;padding:12px;background:#fff;text-align:center}.validation-principle dt{color:#71827a;font-size:.55rem;font-weight:800}.validation-principle dd{margin:0;color:#17664f;font-size:.69rem;font-weight:900}
.folds { display:grid;margin-top:23px;grid-template-columns:repeat(4,1fr);gap:10px; }
.fold { padding:14px;border:1px solid #dce4ed;border-radius:13px;background:#fff;box-shadow:0 8px 22px rgba(29,50,81,.04); }
.fold__year{display:flex;align-items:center;justify-content:space-between}.fold__year span{color:#7f8da0;font-size:.57rem;font-weight:800}.fold__year strong{color:#1a3152;font-size:.85rem}
.fold__track{display:grid;height:54px;margin-top:12px;grid-template-columns:1fr 74px;gap:5px}.fold__track>span{display:grid;place-items:center;align-content:center;border-radius:7px}.fold__train{background:linear-gradient(90deg,#e1ecfb,#cbdcf5);color:#3c659b}.fold__test{border:1px dashed #26a87d;background:#e9f8f2;color:#178360}.fold__track b{font-size:.64rem}.fold__track small{margin-top:2px;font-size:.48rem;font-weight:750}.fold__train--one{opacity:.72}.fold__train--two{opacity:.8}.fold__train--three{opacity:.9}.fold__train--four{opacity:1}
.validation-scope{display:grid;margin-top:21px;padding:18px 22px;grid-template-columns:1fr 22px 1fr 22px 1fr;align-items:center;gap:13px;border-radius:15px;background:#13233f;color:#fff}.validation-scope>article{display:flex;align-items:center;gap:13px}.validation-scope>i{color:#526985;font-style:normal;text-align:center}.validation-scope article>div{display:grid}.validation-scope strong{color:#9badc6;font-size:.58rem}.validation-scope b{margin-top:2px;color:#fff;font-size:1.3rem;font-variant-numeric:tabular-nums}.validation-scope small{color:#8294af;font-size:.51rem;font-weight:650}.scope-icon{position:relative;display:block;width:45px;height:45px;flex:0 0 auto;border-radius:12px;background:#1e3a65}.scope-icon::before,.scope-icon::after{content:"";position:absolute}.scope-icon--all::before{inset:11px;border:2px solid #76b5ff;border-radius:50%}.scope-icon--all::after{top:20px;left:8px;width:29px;border-top:2px solid #76b5ff}.scope-icon--active::before{left:12px;bottom:10px;width:5px;height:14px;background:#55d7ae;box-shadow:8px -7px #55d7ae,16px -15px #55d7ae}.scope-icon--events::before{left:9px;right:9px;top:14px;height:14px;border:2px solid #a691ff;border-radius:8px}.scope-icon--events::after{left:15px;top:10px;width:14px;border-top:2px solid #a691ff}

.results { padding:110px 0 120px;background:linear-gradient(145deg,#14223d,#101a30);color:#fff; }
.result-badge{display:grid;padding:11px 14px 11px 48px;position:relative;border:1px solid rgba(91,215,168,.22);border-radius:10px;background:rgba(36,151,111,.1)}.result-badge i{position:absolute;left:13px;top:50%;display:grid;width:25px;height:25px;place-items:center;border-radius:50%;background:#1ba676;color:#fff;font-style:normal;transform:translateY(-50%)}.result-badge b{font-size:.67rem}.result-badge small{color:#8aa59b;font-size:.52rem;font-weight:700}
.accuracy-cards { display:grid;margin-top:40px;grid-template-columns:repeat(3,1fr);gap:13px; }
.accuracy-card{position:relative;overflow:hidden;padding:21px;border:1px solid rgba(137,163,204,.16);border-radius:16px;background:rgba(255,255,255,.045)}
.accuracy-card::before{content:"";position:absolute;right:-50px;bottom:-75px;width:170px;height:170px;border-radius:50%;background:radial-gradient(circle,rgba(62,128,228,.18),transparent 67%)}
.accuracy-card__head{display:flex;align-items:center;justify-content:space-between}.accuracy-card__head>span{color:#aebbd0;font-size:.68rem;font-weight:850}.accuracy-card__head>small{padding:4px 7px;border-radius:5px;background:rgba(76,132,218,.15);color:#8fc3ff;font-size:.52rem;font-weight:800}
.accuracy-card__metric{display:flex;margin-top:18px;align-items:flex-end;gap:8px}.accuracy-card__metric strong{font-size:2.65rem;font-variant-numeric:tabular-nums;font-weight:900;letter-spacing:-.07em;line-height:1}.accuracy-card__metric span{padding-bottom:5px;color:#9fb0c8;font-size:.66rem;font-weight:750}.accuracy-card>p{margin:10px 0 17px;color:#8fa0bb;font-size:.6rem;font-weight:650}
.accuracy-card__bottom{display:grid;padding-top:13px;grid-template-columns:1fr 1fr;gap:8px;border-top:1px solid rgba(139,161,196,.15)}.accuracy-card__bottom span{display:grid;gap:2px}.accuracy-card__bottom small{color:#7186a5;font-size:.51rem;font-weight:750}.accuracy-card__bottom b{color:#d6e4f7;font-size:.7rem;font-variant-numeric:tabular-nums}.accuracy-card__improve{color:#5de0b5!important}
.comparison-grid{display:grid;margin-top:15px;grid-template-columns:minmax(0,1.2fr) minmax(360px,.8fr);gap:14px}.comparison-chart-card,.coverage-card{padding:20px;border:1px solid rgba(137,163,204,.15);border-radius:16px;background:rgba(255,255,255,.035)}
.comparison-chart-card header,.coverage-card header{display:flex;align-items:center;justify-content:space-between}.comparison-chart-card header>div:first-child,.coverage-card header{color:#9cadc6;font-size:.61rem;font-weight:750}.comparison-chart-card header strong,.coverage-card header strong{display:block;margin-top:3px;color:#edf4ff;font-size:.8rem}.chart-key{display:flex;gap:11px;color:#8ea0bb;font-size:.54rem;font-weight:750}.chart-key span{display:flex;align-items:center;gap:5px}.chart-key i{width:13px;height:5px;border-radius:3px;background:#50a8ff}.chart-key span:last-child i{background:#5a6982}
.mae-comparison{display:grid;margin-top:20px;gap:14px}.mae-row{display:grid;grid-template-columns:48px minmax(0,1fr) 52px;align-items:center;gap:9px}.mae-row>span{color:#aebbd0;font-size:.61rem;font-weight:850}.mae-row__bars{display:grid;gap:5px}.mae-bar{height:9px;min-width:4px;border-radius:0 5px 5px 0;background:#50a8ff}.mae-bar--baseline{height:6px;background:#54647e}.mae-row>b{color:#e7f2ff;font-size:.66rem;font-variant-numeric:tabular-nums;text-align:right}.comparison-chart-card>p,.coverage-card>p{margin:18px 0 0;padding-top:13px;border-top:1px solid rgba(137,163,204,.12);color:#8092ad;font-size:.55rem;font-weight:650;line-height:1.5}.coverage-card>p b{color:#efbd6e}
.coverage-rings{display:grid;margin-top:19px;grid-template-columns:repeat(3,1fr);gap:7px}.coverage-ring-wrap{display:grid;justify-items:center;gap:7px}.coverage-ring{position:relative;display:grid;width:86px;height:86px;place-items:center;border-radius:50%;background:conic-gradient(#8b72ef calc(var(--coverage) * 1%),rgba(255,255,255,.08) 0)}.coverage-ring::before{content:"";position:absolute;inset:8px;border-radius:50%;background:#17253f}.coverage-ring b{z-index:2;font-size:.86rem;font-variant-numeric:tabular-nums}.coverage-ring-wrap>span{color:#94a6c0;font-size:.56rem;font-weight:800}
.metric-explainer{display:grid;margin-top:14px;grid-template-columns:repeat(3,1fr);gap:11px}.metric-explainer article{display:grid;padding:15px;grid-template-columns:42px 1fr;gap:11px;border:1px solid rgba(137,163,204,.12);border-radius:12px;background:rgba(255,255,255,.025)}.metric-explainer article>span{display:grid;width:42px;height:42px;place-items:center;border-radius:10px;background:rgba(77,133,218,.13);color:#83b7ff;font-size:.72rem;font-weight:900}.metric-explainer strong{font-size:.66rem}.metric-explainer p{margin:4px 0 0;color:#8192ac;font-size:.55rem;font-weight:650;line-height:1.5}
.selection-note{margin:13px 0 0;padding:11px 14px;border:1px solid rgba(224,171,81,.2);border-radius:10px;background:rgba(197,133,34,.07);color:#9ca9bb;font-size:.57rem;font-weight:650;line-height:1.55}.selection-note b{color:#f0be6d}

.limits{padding:112px 0 118px}.stress-grid{display:grid;margin-top:40px;grid-template-columns:minmax(0,1.25fr) minmax(330px,.75fr);gap:15px}.stress-chart-card,.honesty-card{border:1px solid #dde5ee;border-radius:17px;background:#fff;box-shadow:0 12px 32px rgba(26,49,83,.06)}.stress-chart-card{padding:20px}.stress-chart-card header{display:flex;align-items:center;justify-content:space-between}.stress-chart-card header div{display:grid;gap:3px}.stress-chart-card header span{color:#75849a;font-size:.62rem;font-weight:800}.stress-chart-card header strong{font-size:.83rem}.stress-chart-card header>small{color:#8a97a8;font-size:.56rem;font-weight:800}
.stress-chart{display:grid;margin-top:21px;gap:17px}.stress-row{display:grid;grid-template-columns:48px minmax(0,1fr);align-items:center;gap:9px}.stress-row>span{color:#596a81;font-size:.62rem;font-weight:900}.stress-row__groups{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.stress-bar-group{display:grid;grid-template-columns:45px 1fr;align-items:center;gap:5px}.stress-bar-group small{color:#7d8c9f;font-size:.5rem;font-weight:750}.stress-bar-track{position:relative;height:22px;border-radius:5px;background:#f0f3f7}.stress-bar-track i{position:absolute;top:0;bottom:0;left:0;min-width:4px;border-radius:5px;background:#4a9de8}.stress-bar-group:nth-child(2) i{background:#e59b27}.stress-bar-group:nth-child(3) i{background:#e06e61}.stress-bar-track b{position:absolute;z-index:2;top:50%;left:7px;color:#17304f;font-size:.53rem;font-variant-numeric:tabular-nums;transform:translateY(-50%);white-space:nowrap}
.honesty-card{padding:23px;background:linear-gradient(145deg,#fffaf1,#fff)}.honesty-card__tag{display:inline-block;padding:4px 7px;border-radius:5px;background:#fff0d7;color:#b46b0d;font-size:.55rem;font-weight:900}.honesty-card h3{margin:16px 0 0;color:#4a3721;font-size:1.4rem;letter-spacing:-.05em;line-height:1.35}.honesty-card h3 em{color:#c47716;font-style:normal}.honesty-card>p{margin:13px 0 0;color:#796a59;font-size:.68rem;font-weight:650;line-height:1.7}.honesty-card__signal{display:flex;margin-top:20px;padding:11px;align-items:center;gap:10px;border-top:1px solid #eddcc3;border-bottom:1px solid #eddcc3}.honesty-card__signal i{display:block;width:8px;height:8px;flex:0 0 auto;border-radius:50%;background:#d99537;box-shadow:0 0 0 5px rgba(217,149,55,.12)}.honesty-card__signal span{color:#77634b;font-size:.58rem;font-weight:650}.honesty-card__signal b{display:block;color:#a15f13;font-size:.56rem}
.blindspots{display:grid;margin-top:17px;grid-template-columns:repeat(4,1fr);gap:10px}.blindspots article{display:grid;padding:16px;grid-template-columns:34px 1fr;gap:10px;border:1px solid #e1e6ed;border-radius:13px;background:#fff}.blindspots article>span{display:grid;width:34px;height:34px;place-items:center;border-radius:9px;background:#fff3e2;color:#c27616;font-size:.83rem;font-weight:900}.blindspots strong{font-size:.68rem}.blindspots p{margin:5px 0 0;color:#758397;font-size:.56rem;font-weight:650;line-height:1.5}

.audit{padding:108px 0 112px;border-top:1px solid #e6ebf1}.audit__heading{text-align:center}.audit__heading .eyebrow{justify-content:center}.audit__heading>p:last-child{margin-inline:auto}.audit-grid{display:grid;margin-top:36px;grid-template-columns:repeat(3,1fr);gap:11px}.audit-grid article{display:grid;min-height:115px;padding:17px;grid-template-columns:43px minmax(0,1fr);grid-template-rows:1fr auto;gap:5px 12px;border:1px solid #dfe6ef;border-radius:14px;background:#fff;box-shadow:0 9px 24px rgba(26,49,83,.045)}.audit-icon{display:grid;width:43px;height:43px;grid-row:1 / 3;place-items:center;border-radius:11px;background:#ecf3ff;color:#326ec7;font-family:ui-monospace,monospace;font-size:.7rem;font-weight:900}.audit-grid article>div{display:grid;min-width:0}.audit-grid strong{font-size:.7rem}.audit-grid code{margin-top:4px;overflow:hidden;color:#52647c;font-size:.57rem;text-overflow:ellipsis;white-space:nowrap}.audit-grid small{margin-top:4px;color:#8a97a7;font-size:.52rem;font-weight:650}.audit-grid a{justify-self:start;color:#2668b7;font-size:.57rem;font-weight:900;text-decoration:none}.model-spec{display:flex;margin-top:14px;padding:12px 15px;align-items:center;justify-content:center;gap:20px;border-radius:10px;background:#eef3f8;color:#617087;font-size:.59rem;font-weight:700}.model-spec b{color:#243b5b}.model-spec span+span{padding-left:20px;border-left:1px solid #d4dce6}
.evidence-footer{display:flex;min-height:105px;padding:24px max(24px,calc((100vw - var(--max))/2));align-items:center;justify-content:space-between;background:#0f1a2f;color:#fff}.evidence-footer strong{font-size:.76rem}.evidence-footer p{margin:5px 0 0;color:#8292ab;font-size:.58rem;font-weight:650}.evidence-footer a{padding:8px 11px;border:1px solid #31425f;border-radius:8px;color:#9cafcc;font-size:.63rem;font-weight:850;text-decoration:none}

@media (max-width: 1080px) {
  .evidence-nav { display: none; }
  .evidence-topbar { grid-template-columns: 1fr auto; }
  .hero__content { grid-template-columns: 1fr 390px; }
  .hero__visual { transform: scale(.86); }
  .network-grid { grid-template-columns: 1fr; }
  .river-network { min-height: 480px; }
  .data-stack { grid-template-columns: repeat(3,1fr); }
  .data-card { grid-template-columns: 42px 1fr; }
  .data-card__icon { width: 42px; height: 42px; }
  .data-card > b, .data-card > small { display: none; }
  .data-total { grid-column: 1 / -1; }
  .pipeline { grid-template-columns: repeat(3,1fr); gap: 11px; }
  .pipeline-arrow { display: none; }
  .pipeline-step:nth-of-type(4), .pipeline-step:nth-of-type(5) { grid-column: auto; }
  .validation-principle { grid-template-columns: 78px 1fr; }
  .validation-principle dl { grid-column: 1 / -1; grid-template-columns: repeat(3,1fr); }
  .blindspots { grid-template-columns: repeat(2,1fr); }
}

@media (max-width: 820px) {
  .section-wrap, .hero__content { width: min(100% - 30px, var(--max)); }
  .hero__content { min-height: auto; grid-template-columns: 1fr; padding: 55px 0; }
  .hero__visual { display: none; }
  .hero__facts { flex-wrap: wrap; gap: 18px 0; }
  .hero__foot { grid-template-columns: 1fr; gap: 4px; padding-block: 13px; }
  .hero__truth { justify-self: start; }
  .section-heading--split { align-items: flex-start; flex-direction: column; }
  .snapshot-grid { grid-template-columns: 1fr; }
  .data-stack { grid-template-columns: 1fr; }
  .method-notes, .accuracy-cards, .metric-explainer, .audit-grid { grid-template-columns: 1fr; }
  .pipeline { grid-template-columns: repeat(2,1fr); }
  .folds { grid-template-columns: repeat(2,1fr); }
  .validation-scope { grid-template-columns: 1fr; }
  .validation-scope > i { transform: rotate(90deg); }
  .comparison-grid, .stress-grid { grid-template-columns: 1fr; }
  .audit__heading { text-align: left; }
  .audit__heading .eyebrow { justify-content: flex-start; }
  .model-spec { flex-wrap: wrap; }
}

@media (max-width: 560px) {
  .evidence-topbar { min-height: 59px; padding-inline: 14px; }
  .evidence-brand__mark { width: 34px; height: 34px; }
  .evidence-brand small { display: none; }
  .back-link { padding: 8px; }
  .back-link span + * { display: none; }
  .hero h1 { font-size: 2.35rem; }
  .hero__facts span { min-width: 50%; padding: 0 14px; }
  .hero__facts span:nth-child(3) { padding-left: 0; border-left: 0; }
  .snapshot, .inputs, .method, .validation, .results, .limits, .audit { padding-block: 78px; }
  .section-heading, .section-heading__group { gap: 13px; }
  .section-number { font-size: 2rem; }
  .river-network { min-height: 500px; }
  .river-node--singok { left: 54%; }.river-node--changdong { left: 44%; }.river-node--wolgye { left: 31%; }.river-node--jungnang { left: 35%; }
  .rain-node b { display: none; }
  .pipeline { grid-template-columns: 1fr; }
  .pipeline-step { min-height: 230px; }
  .folds { grid-template-columns: 1fr; }
  .validation-principle { padding: 18px; grid-template-columns: 1fr; }
  .lock-visual { display: none; }
  .validation-principle dl { grid-column: auto; }
  .coverage-rings { gap: 3px; }
  .coverage-ring { width: 74px; height: 74px; }
  .stress-row__groups { grid-template-columns: 1fr; }
  .blindspots { grid-template-columns: 1fr; }
  .source-strip { align-items: flex-start; flex-wrap: wrap; }
  .source-strip a { width: 100%; margin-left: 0; }
  .snapshot-points { grid-template-columns: 1fr; }
  .evidence-footer { align-items: flex-start; gap: 20px; }
}

@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
