/* kasmirun 메인 전용 (2026-07-17) — body#kasmirun 스코프. 템플릿 CSS 방어 블록 */
html {
  scroll-behavior: smooth;
  scroll-padding-top: 108px
}

body#kasmirun {
  font-size: 18px;
  line-height: 1.5
}

#kasmirun b,
#kasmirun strong {
  font-weight: bolder
}

#kasmirun span,
#kasmirun em,
#kasmirun i {
  font-weight: inherit
}

#kasmirun a:hover,
#kasmirun a:focus {
  color: inherit;
  text-decoration: none
}

#kasmirun img {
  max-width: 100%;
  height: auto;
  display: block;
  vertical-align: baseline
}

#kasmirun h1,
#kasmirun h2,
#kasmirun h3,
#kasmirun h4 {
  margin: 0
}

#kasmirun table {
  border-collapse: collapse
}

@font-face {
  font-family: 'Paperlogy';
  src: url('/fonts/Paperlogy-9Black.woff2') format('woff2');
  font-weight: 900;
  font-display: swap
}

@font-face {
  font-family: 'Paperlogy';
  src: url('/fonts/Paperlogy-8ExtraBold.woff2') format('woff2');
  font-weight: 800;
  font-display: swap
}

@font-face {
  font-family: 'Paperlogy';
  src: url('/fonts/Paperlogy-7Bold.woff2') format('woff2');
  font-weight: 700;
  font-display: swap
}

@font-face {
  font-family: 'Paperlogy';
  src: url('/fonts/Paperlogy-5Medium.woff2') format('woff2');
  font-weight: 500;
  font-display: swap
}

:root {
  --ink: #1d1d1f;
  --gray: #6e6e73;
  --line: #e3e3e8;
  --bg2: #f5f6f9;
  --blue: #1b4fd8;
  --blue-d: #123bb0;
  --navy: #101223;
  --red: #e8342a;
  --yellow: #fabd17;
  --disp: 'Paperlogy', sans-serif;
  --label: 'Paperlogy', sans-serif;
  --body: 'Pretendard Variable', Pretendard, sans-serif;
}

#kasmirun * {
  margin: 0;
  padding: 0;
  box-sizing: border-box
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: 108px
}

body#kasmirun {
  font-family: var(--body);
  color: var(--ink);
  line-height: 1.5;
  letter-spacing: -.01em;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
  background: #fff
}

#kasmirun img {
  max-width: 100%;
  height: auto;
  display: block
}

#kasmirun a {
  color: inherit;
  text-decoration: none
}

#kasmirun .wrap {
  max-width: 1080px;
  margin: 0 auto;
  padding: 0 22px;
  position: relative;
  z-index: 2
}

#kasmirun section {
  padding: clamp(70px, 9vw, 110px) 0;
  position: relative;
  isolation: isolate;
  overflow: hidden
}

#kasmirun .sec-hd {
  text-align: left;
  display: flex;
  align-items: baseline;
  gap: 14px;
  flex-wrap: wrap
}

#kasmirun .sec-hd h2 {
  font-family: var(--disp);
  font-weight: 900;
  letter-spacing: -.03em;
  font-size: clamp(32px, 5vw, 48px)
}

#kasmirun .sec-hd h2 b {
  color: var(--blue)
}

#kasmirun .sec-hd .en {
  font-family: var(--label);
  font-size: 18px;
  color: #9aa0b4;
  letter-spacing: .12em;
  text-transform: uppercase
}

#kasmirun .sub {
  color: var(--gray);
  font-size: 18px;
  margin-top: 10px;
  text-align: left
}

#kasmirun header {
  position: fixed;
  inset: 0 0 auto;
  z-index: 100;
  background: rgba(16, 18, 35, .94);
  backdrop-filter: blur(14px)
}

#kasmirun.kmr-sub header {
  position: static;
  backdrop-filter: none
}

#kasmirun.kmr-sub .slogan {
  margin-top: 0
}

#kasmirun .nav {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 26px;
  height: 92px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px
}

/* bootstrap .nav:before/:after(clearfix)가 flex 팬텀 아이템이 되어 로고를 가운데로 밀던 것 제거 */
#kasmirun .nav::before,
#kasmirun .nav::after {
  content: none
}

#kasmirun .brand {
  font-family: var(--disp);
  font-weight: 900;
  font-size: 22px;
  color: #fff;
  white-space: nowrap;
  line-height: 1.15
}

#kasmirun .brand b {
  color: var(--yellow)
}

/* a:hover{color:inherit}가 호버 시 로고를 어둡게 만들던 것 방지 */
#kasmirun .brand:hover {
  color: #fff
}

#kasmirun .menu {
  display: flex;
  gap: 30px;
  font-size: 18px;
  font-weight: 600;
  color: #c9cede
}

#kasmirun .menu a {
  white-space: nowrap
}

#kasmirun .menu a:hover {
  color: #fff
}

#kasmirun .nav-cta {
  font-family: var(--label);
  font-size: 18px;
  color: #fff;
  background: var(--blue);
  padding: 11px 24px;
  border-radius: 980px;
  white-space: nowrap
}

#kasmirun .nav-cta:hover {
  background: var(--blue-d);
  color: #fff
}

#kasmirun .burger {
  display: none;
  flex-direction: column;
  gap: 5px;
  cursor: pointer;
  padding: 8px;
  background: none;
  border: 0
}

#kasmirun .burger span {
  width: 26px;
  height: 2.5px;
  background: #fff
}

#kasmirun .slogan {
  margin-top: 92px;
  background: var(--yellow);
  text-align: center;
  padding: 10px 16px;
  font-family: var(--label);
  font-weight: 500;
  font-size: 18px;
  color: var(--navy)
}

#kasmirun .slogan b {
  color: var(--red)
}

#kasmirun .hero {
  padding: clamp(54px, 7vw, 90px) 0 0;
  background: linear-gradient(115deg, #0d2f8f 0%, var(--blue) 45%, #2f9bfc 100%);
  color: #fff;
  text-align: left
}

#kasmirun .hero .bgimg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: right bottom;
  z-index: 0;
  opacity: .34;
  mix-blend-mode: luminosity
}

#kasmirun .hero::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(100deg, rgba(13, 32, 110, .85), rgba(13, 32, 110, .3) 55%, rgba(13, 32, 110, 0))
}

#kasmirun .hero .wrap {
  z-index: 2
}

#kasmirun .hero-grid {
  display: grid;
  grid-template-columns: 1.15fr .85fr;
  gap: clamp(28px, 5vw, 60px);
  align-items: center;
  padding-bottom: clamp(54px, 7vw, 90px)
}

#kasmirun .hero-no {
  display: inline-block;
  font-family: var(--label);
  font-weight: 700;
  font-size: 18px;
  color: var(--navy);
  background: var(--yellow);
  padding: 6px 16px;
  border-radius: 6px
}

#kasmirun .hero h1 {
  font-family: var(--disp);
  font-weight: 900;
  letter-spacing: -.03em;
  line-height: 1.04;
  font-size: clamp(48px, 8vw, 92px);
  margin-top: 16px;
  text-shadow: 0 4px 26px rgba(13, 32, 110, .5)
}

#kasmirun .hero h1 .qi {
  color: #ff6a3c
}

#kasmirun .hero h1 .yel {
  color: var(--yellow);
  font-family: 'paperlogy';
}

#kasmirun .hero-lead {
  margin-top: 18px;
  font-size: 18px;
  font-weight: 500;
  color: #dbe6ff
}

#kasmirun .hero-act {
  margin-top: 28px;
  display: flex;
  gap: 14px;
  align-items: center;
  flex-wrap: wrap
}

#kasmirun .pill {
  display: inline-block;
  background: var(--yellow);
  color: var(--navy);
  font-family: var(--label);
  font-weight: 700;
  font-size: 18px;
  padding: 14px 30px;
  border-radius: 980px
}

#kasmirun .pill:hover {
  filter: brightness(1.06)
}

#kasmirun .hero-sub {
  font-family: var(--label);
  font-weight: 500;
  font-size: 18px;
  color: #fff;
  background: rgba(13, 32, 110, .55);
  padding: 8px 16px;
  border-radius: 100px
}

#kasmirun .hero-fig {
  margin: 0;
  position: relative;
  z-index: 2
}

#kasmirun .hero-fig img {
  border-radius: 14px;
  box-shadow: 0 26px 60px rgba(9, 18, 60, .5)
}

#kasmirun .strip {
  position: relative;
  z-index: 5;
  margin-top: clamp(-46px, -5vw, -56px)
}

#kasmirun .dday {
  margin-top: 18px
}

#kasmirun .dday .in {
  background: linear-gradient(135deg, #123bb0, #1b4fd8);
  color: #fff;
  border-radius: 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  flex-wrap: wrap;
  padding: clamp(20px, 2.6vw, 28px) clamp(22px, 3vw, 34px)
}

#kasmirun .dday .lt .s {
  font-family: var(--label);
  font-size: 18px;
  color: #8b93ad;
  letter-spacing: .14em
}

#kasmirun .dday .lt .d {
  font-family: var(--disp);
  font-weight: 900;
  font-size: clamp(32px, 4.2vw, 48px);
  margin-top: 4px
}

#kasmirun .dday .lt .d em {
  font-style: normal;
  color: var(--yellow)
}

#kasmirun .dday .units {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px
}

#kasmirun .dday .u {
  background: rgba(255, 255, 255, .15);
  border-radius: 10px;
  min-width: 0;
  padding: 12px 8px;
  text-align: center
}

#kasmirun .dday .u b {
  font-family: var(--disp);
  font-weight: 800;
  font-size: clamp(24px, 3.2vw, 28px);
  display: block
}

#kasmirun .dday .u span {
  font-family: var(--label);
  font-size: 14px;
  color: #8b93ad;
  letter-spacing: .04em
}

#kasmirun .runion {
  background: linear-gradient(135deg, #0d2f8f, var(--blue) 70%, #2f9bfc);
  border-radius: 18px;
  color: #fff;
  text-align: center;
  padding: clamp(40px, 5vw, 60px) 28px;
  box-shadow: 0 20px 46px rgba(27, 79, 216, .3)
}

#kasmirun .runion .r-eng {
  font-family: var(--disp);
  font-weight: 900;
  font-size: clamp(32px, 4.4vw, 48px);
  letter-spacing: -.02em
}

#kasmirun .runion .r-eng span {
  color: var(--yellow);
  margin: 0 6px
}

#kasmirun .runion .r-ko {
  font-family: var(--label);
  font-weight: 500;
  font-size: 18px;
  color: #dbe6ff;
  margin-top: 14px
}

#kasmirun .marquee {
  overflow: hidden;
  padding: 0;
  margin: clamp(-64px, -5vw, -44px) 0;
  position: relative;
  z-index: 3;
  background: transparent
}

#kasmirun .mq {
  display: flex;
  white-space: nowrap;
  width: max-content;
  line-height: 1.45;
  animation: mq 30s linear infinite
}

#kasmirun .mq span {
  font-family: var(--disp);
  font-weight: 900;
  font-size: clamp(54px, 8.5vw, 104px);
  letter-spacing: .02em;
  color: transparent;
  -webkit-text-stroke: .8px #e4e9f5;
  padding-right: 48px
}

@keyframes mq {
  to {
    transform: translateX(-50%)
  }
}

#kasmirun .marquee.alt {
  background: transparent
}

#kasmirun .marquee.alt .mq {
  animation-direction: reverse
}

#kasmirun .marquee.alt .mq span {
  -webkit-text-stroke: .8px #dde3f2
}

@media(prefers-reduced-motion:reduce) {
  #kasmirun .mq {
    animation: none
  }
}

#kasmirun .ovv-line {
  font-family: var(--disp);
  font-weight: 800;
  font-size: clamp(22px, 2.8vw, 28px);
  color: var(--ink);
  margin-top: 14px;
  letter-spacing: -.02em;
  word-break: keep-all
}

#kasmirun .orows {
  margin-top: 26px;
  text-align: left;
}

#kasmirun .orow {
  display: grid;
  grid-template-columns: 150px 1fr;
  gap: 18px;
  padding: 20px 4px;
  border-bottom: 1.5px solid rgba(16, 18, 35, .12);
  align-items: baseline
}

#kasmirun .orow:first-child {
  border-top: 2.5px solid var(--navy)
}

#kasmirun .orow .ok {
  font-family: var(--label);
  font-weight: 700;
  font-size: 20px;
  color: var(--navy)
}

#kasmirun .orow .ov {
  font-size: 18px
}

#kasmirun .orow .ov b {
  font-family: var(--disp);
  font-weight: 800;
  font-size: 1.25em;
  color: var(--blue)
}

#kasmirun .orow .ov small {
  display: block;
  color: var(--gray);
  font-size: 18px;
  margin-top: 3px
}

#kasmirun .soft {
  background: var(--bg2)
}

#kasmirun .panel {
  display: none
}

#kasmirun .panel.on {
  display: block
}

#kasmirun .note {
  color: #9aa0b4;
  font-size: 18px;
  margin-top: 22px;
  text-align: left
}

#kasmirun .tt {
  width: 100%;
  border-collapse: collapse;
  min-width: 560px;
  margin-top: 34px;
  text-align: center
}

#kasmirun .tt-scroll {
  overflow-x: auto
}

#kasmirun .tt th {
  font-family: var(--label);
  font-weight: 700;
  font-size: 20px;
  color: #fff;
  background: var(--navy);
  padding: 16px 18px;
  text-align: center;
}

#kasmirun .tt td {
  padding: 17px 18px;
  border: 1px solid var(--line);
  font-size: 18px;
  color: #333;
  background: #fff
}

#kasmirun .tt .time {
  font-family: var(--disp);
  font-weight: 800;
  color: var(--ink);
  white-space: nowrap
}

#kasmirun .tt .key td {
  background: var(--blue);
  color: #fff;
  font-weight: 700
}

#kasmirun .tt .key .time {
  color: #fff
}

#kasmirun .tt-sub {
  font-family: var(--disp);
  font-weight: 800;
  font-size: clamp(22px, 2.8vw, 28px);
  margin-top: clamp(40px, 5vw, 56px);
  text-align: center
}

#kasmirun .tt-note {
  margin-top: clamp(28px, 4vw, 40px);
  text-align: center;
  font-size: 18px;
  color: var(--red)
}

#kasmirun .pcard {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 16px;
  padding: clamp(24px, 3vw, 32px)
}

#kasmirun .pcard .n {
  font-family: var(--disp);
  font-weight: 900;
  font-size: 20px;
  color: var(--blue)
}

#kasmirun .pcard h3 {
  font-family: var(--disp);
  font-weight: 800;
  font-size: 22px;
  margin-top: 12px
}

#kasmirun .pcard p {
  font-size: 18px;
  color: var(--gray);
  margin-top: 8px;
  line-height: 1.6
}

#kasmirun .nine {
  background: var(--navy);
  color: #fff
}

#kasmirun .nine .sec-hd h2 {
  color: #fff
}

#kasmirun .nine .sub {
  color: #8b93ad
}

#kasmirun .nums {
  display: flex;
  justify-content: center;
  gap: clamp(30px, 7vw, 90px);
  margin-top: 40px;
  flex-wrap: wrap
}

/* 이벤트 배너: 풀블리드 통이미지 (PC/모바일 분리) */
#kasmirun #section-event {
  padding: 0
}

#kasmirun #section-event img {
  display: block;
  width: 100%;
  height: auto
}

#kasmirun .nine h2 b {
  letter-spacing: .06em;
  color: var(--yellow)
}

#kasmirun #section2 {
  padding: clamp(60px, 8vw, 90px) 0
}

#kasmirun .nine .wrap {
  text-align: center
}

#kasmirun .nine .sec-hd {
  justify-content: center
}

#kasmirun .nine-wm {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 0;
  font-family: var(--disp);
  font-weight: 900;
  font-size: clamp(80px, 13vw, 180px);
  color: rgba(255, 255, 255, .045);
  letter-spacing: .05em;
  white-space: nowrap;
  user-select: none;
  pointer-events: none
}

#kasmirun .nums .n {
  font-family: var(--disp);
  font-weight: 800;
  font-size: clamp(64px, 11vw, 120px);
  line-height: .9;
  letter-spacing: .06em
}

#kasmirun .nums .n i {
  font-style: normal;
  font-size: .42em;
  vertical-align: super;
  color: var(--yellow)
}

#kasmirun .nums .l {
  color: #8b93ad;
  margin-top: 14px;
  font-size: 18px
}

#kasmirun .bnote {
  color: #c9cede;
  font-size: 18px;
  margin: 34px auto 0;
  line-height: 1.7;
  max-width: 640px;
  text-align: center;
  word-break: keep-all
}

#kasmirun .bnote b {
  color: var(--yellow)
}

/* 기념품 — 품목별 라벨+제품컷 구성 (한글런 스타일 준용, 2026-07-20) */
/* 기념품 2대 분류 헤더 (참가자 기념품 / 완주 기념품) */
#kasmirun .sv-cat {
  margin-top: 64px;
  padding-bottom: 14px;
  border-bottom: 2px solid var(--blue);
  display: flex;
  align-items: baseline;
  gap: 12px;
  flex-wrap: wrap
}

#kasmirun .sv-cat h3 {
  font-family: var(--disp);
  font-weight: 900;
  font-size: clamp(24px, 3.2vw, 34px);
  color: var(--ink)
}

#kasmirun .sv-cat span {
  font-family: var(--label);
  font-size: 16px;
  color: var(--gray)
}

#kasmirun .sv-cat + .sv-item,
#kasmirun .sv-cat + .sv-row {
  margin-top: 28px
}

#kasmirun .sv-item {
  margin-top: 60px;
  text-align: left
}

#kasmirun .sv-hd {
  font-family: var(--disp);
  font-weight: 800;
  font-size: clamp(20px, 2.4vw, 24px);
  display: flex;
  align-items: center;
  gap: 8px
}

#kasmirun .sv-hd::before {
  content: "";
  width: 0;
  height: 0;
  border-left: 8px solid var(--blue);
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent
}

#kasmirun .sv-desc {
  font-size: 18px;
  color: var(--gray);
  margin: 6px 0 0 16px
}

#kasmirun .sv-box {
  margin-top: 14px;
  background: var(--bg2);
  border: 1px solid var(--line);
  border-radius: 16px;
  padding: clamp(20px, 3vw, 34px);
  display: grid;
  grid-template-columns: 1fr;
  gap: 20px;
  justify-items: center
}

#kasmirun .sv-box.pd {
  padding: 0;
}

#kasmirun .sv-box figure {
  width: 100%;
  max-width: 280px;
  text-align: center
}

#kasmirun .sv-box img {
  width: auto;
  max-width: 100%;
  max-height: 300px;
  height: auto;
  margin: 0 auto
}

#kasmirun .sv-box figcaption {
  font-family: var(--label);
  font-size: 18px;
  color: var(--gray);
  margin-top: 12px
}

#kasmirun .sv-note {
  margin-top: 12px;
  font-size: 18px;
  color: #9aa0b4;
  line-height: 1.6;
  word-break: keep-all;
  text-align: left
}

#kasmirun .sv-box figure.sv-wide {
  max-width: 760px
}

#kasmirun .sv-box figure.sv-wide img {
  max-height: none;
  width: 100%
}

#kasmirun .sv-tblwrap {
  margin-top: 16px;
  overflow-x: auto
}

#kasmirun .sv-tbl {
  width: 100%;
  min-width: 520px;
  font-size: 18px;
  text-align: center
}

#kasmirun .sv-tbl th,
#kasmirun .sv-tbl td {
  padding: 12px 8px;
  border-bottom: 1px solid var(--line)
}

#kasmirun .sv-tbl thead th {
  font-family: var(--disp);
  font-weight: 800;
  color: #fff;
  background: var(--blue);
  border-bottom: 2px solid var(--blue);
  text-align: center;
}

#kasmirun .sv-tbl tbody th {
  font-weight: 700;
  color: var(--ink);
  background: var(--bg2);
  text-align: center;
}

#kasmirun .sv-row {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
  align-items: stretch
}

#kasmirun .sv-row.cols4 {
  grid-template-columns: repeat(4, 1fr)
}

#kasmirun .sv-row .sv-item {
  display: flex;
  flex-direction: column
}

#kasmirun .sv-row .sv-box {
  flex: 1;
  align-content: center
}

#kasmirun .gift-wrap {
  margin-top: 40px;
  margin-bottom: 40px;
}

#kasmirun .gift-wrap .sv-desc {
  margin-bottom: 14px;
}

#kasmirun .gift-wrap ul {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}

#kasmirun .gift-wrap li img {
  border: 1px solid #ddd;
  border-radius: 10px;
}

#kasmirun .award {
  margin-top: 60px;
}

#kasmirun .award .ready {
  width: 100%;
  height: 460px;
  border: 1px solid #ddd;
  border-radius: 10px;
  background: #f5f6f9;
  margin-top: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
}

#kasmirun .award .ready p {
  font-size: 60px;
  color: #ddd;
  font-weight: 900;
  text-align: center;
}

/* 시상 테이블 (코스별 남녀 각각) */
#kasmirun .award-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 22px;
  margin-top: 24px;
  align-items: start
}

#kasmirun .award-course h3 span {
  font-family: var(--label);
  font-weight: 500;
  font-size: 15px;
  color: var(--gray)
}

#kasmirun .award-tbl {
  width: 100%;
  border-collapse: collapse;
  margin-top: 12px;
  font-size: 17px
}

#kasmirun .award-tbl th {
  width: 46px;
  text-align: center;
  font-family: var(--disp);
  font-weight: 800;
  color: #fff;
  background: var(--blue);
  border: 1px solid var(--line);
  padding: 13px 0
}

#kasmirun .award-tbl tr:first-child th {
  background: var(--yellow);
  color: var(--navy)
}

#kasmirun .award-tbl tr:nth-child(3) th {
  background: var(--gray)
}

#kasmirun .award-tbl td {
  padding: 13px 14px;
  border: 1px solid var(--line);
  background: #fff;
  color: var(--ink);
  word-break: keep-all;
  line-height: 1.4
}

/* 시상 대표 상품 이미지 (TAS · 코어다이어트 폼롤러) */
#kasmirun .award-imgs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 22px;
  margin-top: 24px
}

#kasmirun .award-imgs figure {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 16px;
  padding: clamp(18px, 3vw, 30px);
  text-align: center
}

#kasmirun .award-imgs img {
  width: 100%;
  max-width: 420px;
  height: auto;
  margin: 0 auto
}

#kasmirun .award-imgs figcaption {
  font-family: var(--label);
  font-weight: 700;
  font-size: 17px;
  color: var(--ink);
  margin-top: 14px
}

@media(max-width:860px) {
  #kasmirun .award-grid {
    grid-template-columns: 1fr;
    gap: 32px
  }

  #kasmirun .award-imgs {
    grid-template-columns: 1fr
  }
}

@media(max-width:560px) {
  #kasmirun .sv-row,
  #kasmirun .sv-row.cols4 {
    grid-template-columns: 1fr;
    gap: 60px;
  }

  #kasmirun .gift-wrap {
    margin-top: 60px;
  }

  #kasmirun .gift-wrap ul {
    grid-template-columns: 1fr;
  }

  #kasmirun .sv-item {
    margin-top: 0;
  }
}

#kasmirun .cta {
  color: #fff;
  text-align: center
}

#kasmirun .cta .bgimg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: -2
}

#kasmirun .cta::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: rgba(16, 18, 35, .8)
}

#kasmirun .cta h2 {
  font-family: var(--disp);
  font-weight: 900;
  font-size: clamp(32px, 5vw, 48px)
}

#kasmirun .cta p {
  color: #c9cede;
  margin: 12px 0 0;
  font-size: 18px
}

#kasmirun .acards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  max-width: 860px;
  margin: clamp(34px, 5vw, 50px) auto 0
}

#kasmirun .acard {
  background: #fff;
  color: var(--ink);
  border-radius: 16px;
  padding: clamp(28px, 3.4vw, 40px) 20px
}

#kasmirun .acard.feat {
  background: var(--yellow);
  color: var(--navy)
}

#kasmirun .acard svg {
  width: 30px;
  height: 30px;
  margin: 0 auto;
  stroke: currentColor;
  stroke-width: 1.8;
  fill: none
}

#kasmirun .acard .ad {
  font-family: var(--disp);
  font-weight: 900;
  font-size: clamp(24px, 3.6vw, 28px);
  letter-spacing: -.02em;
  margin-top: 12px
}

#kasmirun .acard .ad small {
  display: block;
  font-family: var(--label);
  font-weight: 700;
  font-size: 18px;
  letter-spacing: .08em;
  margin-top: 4px;
  color: #9aa0b4
}

#kasmirun .acard.feat .ad small {
  color: var(--blue-d)
}

#kasmirun .acard .ad .opa {
  opacity: 0;
}

#kasmirun .acard hr {
  border: 0;
  border-top: 1px solid rgba(0, 0, 0, .14);
  width: 56px;
  margin: 16px auto
}

#kasmirun .acard.feat hr {
  border-top-color: rgba(16, 18, 35, .3)
}

#kasmirun .acard .ap {
  font-family: var(--disp);
  font-weight: 800;
  font-size: 22px
}

#kasmirun .abtns {
  display: flex;
  justify-content: center;
  gap: 14px;
  flex-wrap: wrap;
  margin-top: clamp(30px, 4vw, 44px)
}

#kasmirun .abtns a {
  font-family: var(--label);
  font-weight: 700;
  font-size: 18px;
  min-width: 170px;
  padding: 15px 26px;
  border-radius: 8px;
  background: #fff;
  color: var(--ink)
}

#kasmirun .abtns a.pr {
  background: var(--blue);
  color: #fff
}

#kasmirun .abtns a.ln {
  background: transparent;
  color: #fff;
  border: 1.5px solid rgba(255, 255, 255, .55)
}

#kasmirun .adate {
  margin-top: clamp(26px, 3.6vw, 38px);
  font-size: 18px;
  color: #c9cede
}

#kasmirun .adate b {
  color: var(--yellow);
  font-family: var(--label);
  font-weight: 700;
  margin-right: 10px
}

#kasmirun .loc-grid {
  display: grid;
  grid-template-columns: 560px 1fr;
  gap: clamp(26px, 4vw, 48px);
  max-width: 1000px;
  margin: clamp(34px, 5vw, 50px) auto 0;
  align-items: start;
  text-align: left
}

#kasmirun .map {
  background: #fff;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 14px 38px rgba(16, 18, 35, .1);
  height: 320px
}

#kasmirun .map img {
  width: 100%;
  height: 320px;
  object-fit: cover;
  object-position: center
}

#kasmirun .kasmi-pin {
  background: none !important;
  border: none !important
}

#kasmirun .leaflet-popup-content b {
  font-family: var(--label);
  color: var(--navy)
}

#kasmirun .leaflet-popup-content a {
  color: var(--blue);
  font-weight: 600
}

#kasmirun .loc-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  background: var(--blue);
  color: #fff;
  border-radius: 8px;
  padding: 11px 18px;
  font-size: 18px
}

#kasmirun .loc-badge svg {
  width: 16px;
  height: 16px;
  stroke: #fff;
  stroke-width: 2;
  fill: none
}

#kasmirun .loc-badge b {
  font-family: var(--label);
  font-weight: 700
}

#kasmirun .loc-badge small {
  font-size: 18px;
  color: #dbe6ff
}

#kasmirun .loc-h {
  font-family: var(--label);
  font-weight: 700;
  font-size: 22px;
  margin: 24px 0 5px
}

#kasmirun .loc-row {
  display: flex;
  gap: 10px;
  align-items: baseline;
  padding: 5px 0;
  font-size: 18px
}

#kasmirun .line1 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: #0052a4;
  color: #fff;
  font-weight: 700;
  font-size: 18px;
  flex: none;
  transform: translateY(4px)
}

#kasmirun .loc-row b {
  font-weight: 700
}

#kasmirun .loc-row .bar {
  color: #c6cbdb;
  margin: 0 2px
}

#kasmirun .loc-go {
  margin-top: 20px;
  display: flex;
  gap: 10px;
}

#kasmirun .loc-go a {
  display: inline-block;
  font-family: var(--label);
  font-weight: 700;
  font-size: 18px;
  padding: 11px 22px;
  border-radius: 980px;
  background: var(--yellow);
  color: var(--navy)
}

#kasmirun .loc-note {
  margin-top: clamp(30px, 4vw, 44px);
  text-align: center;
  font-size: 18px;
  color: var(--red)
}

#kasmirun .sponsor {
  padding: clamp(56px, 8vw, 90px) 0;
  border-top: 1px solid var(--line)
}

#kasmirun .sponsor .t {
  font-family: var(--label);
  font-weight: 700;
  font-size: 18px;
  color: var(--ink);
  letter-spacing: .08em;
  text-align: center
}

#kasmirun .sponsor .logos {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: clamp(24px, 4vw, 48px);
  flex-wrap: wrap;
  margin-top: 30px
}

#kasmirun .sponsor .logos img {
  height: 34px;
  width: auto
}

#kasmirun .sponsor .logos a {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  transition: .2s
}

#kasmirun .sponsor .logos a:hover {
  transform: translateY(-2px)
}

#kasmirun .sponsor .logos .nm {
  font-family: var(--disp);
  font-weight: 800;
  font-size: 18px;
  color: #7a8097
}

#kasmirun footer {
  background: var(--navy);
  color: #9aa0b4;
  padding: clamp(44px, 6vw, 64px) 0 46px;
  font-size: 15px;
  line-height: 1.75;
  text-align: left
}

#kasmirun .f-top {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 18px;
  flex-wrap: wrap
}

#kasmirun .f-brand {
  font-family: var(--disp);
  font-weight: 900;
  font-size: clamp(24px, 3vw, 28px);
  color: #fff
}

#kasmirun .f-brand b {
  color: var(--yellow)
}

#kasmirun .f-policy {
  font-size: 15px;
  color: #c9cede
}

#kasmirun .f-policy a:hover {
  color: #fff
}

#kasmirun .f-policy i {
  font-style: normal;
  color: #3a3f5e;
  margin: 0 10px
}

#kasmirun .f-info {
  margin-top: 22px
}

#kasmirun .f-info p {
  margin-bottom: 4px
}

#kasmirun .f-info b {
  color: #c9cede;
  font-weight: 600
}

#kasmirun .f-info a {
  color: var(--yellow)
}

#kasmirun .f-info i {
  font-style: normal;
  color: #3a3f5e;
  margin: 0 10px
}

#kasmirun .f-bot {
  margin-top: 30px;
  padding-top: 20px;
  border-top: 1px solid #252947;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 8px;
  font-size: 15px;
  letter-spacing: .06em;
  color: #7a8097
}

#kasmirun .fbar {
  position: fixed;
  right: 22px;
  bottom: 42px;
  z-index: 95;
  display: flex;
  flex-direction: column;
  gap: 10px
}

#kasmirun .fbar a {
  font-family: var(--label);
  font-weight: 700;
  font-size: 18px;
  text-align: center;
  padding: 14px 26px;
  border-radius: 980px;
  box-shadow: 0 10px 28px rgba(16, 18, 35, .24);
  transition: .2s;
  white-space: nowrap
}

#kasmirun .fbar a:hover {
  transform: translateY(-2px)
}

#kasmirun .fbar .freg {
  background: var(--blue);
  color: #fff
}

#kasmirun .fbar .fchk {
  background: #fff;
  color: var(--ink);
  border: 1px solid var(--line)
}

@media(max-width:1100px) {
  #kasmirun .menu {
    display: none
  }

  #kasmirun .burger {
    display: flex
  }

  #kasmirun .nav-cta {
    display: none
  }

  /* 드롭다운 서브메뉴: 탭 영역 확대 + 구분선 + 가독성 */
  #kasmirun .menu a {
    padding: 14px 6px;
    font-size: 18px;
    color: #eef1f7;
    border-bottom: 1px solid rgba(255, 255, 255, .1)
  }

  #kasmirun .menu a:last-child {
    border-bottom: 0
  }

  #kasmirun .menu a:active {
    color: var(--yellow)
  }
}

@media(max-width:860px) {
  #kasmirun .hero-grid {
    grid-template-columns: 1fr
  }

  #kasmirun .hero-fig {
    max-width: 320px;
    margin: 6px auto 0
  }

  #kasmirun .dday .in {
    justify-content: center;
    text-align: center
  }

  #kasmirun .loc-grid {
    grid-template-columns: 1fr
  }

  #kasmirun .acards {
    grid-template-columns: 1fr
  }

  /* 모바일: CTA 버튼·주소 박스 가로 꽉 채움 */
  #kasmirun .abtns {
    flex-direction: column
  }

  #kasmirun .abtns a {
    width: 100%;
    min-width: 0;
    text-align: center
  }

  #kasmirun .loc-badge {
    display: flex
  }

  #kasmirun .orow {
    grid-template-columns: 1fr;
    gap: 4px;
    padding: 15px 4px
  }

  #kasmirun .fbar {
    left: 0;
    right: 0;
    bottom: 0;
    flex-direction: row;
    gap: 8px;
    background: rgba(16, 18, 35, .96);
    backdrop-filter: blur(12px);
    padding: 10px 14px calc(10px + env(safe-area-inset-bottom))
  }

  #kasmirun .fbar a {
    flex: 1;
    border-radius: 12px;
    padding: 14px 10px
  }

  #kasmirun .fbar .freg {
    flex: 1
  }

  #kasmirun .fbar.fbar-pconly {
    display: none
  }

  #kasmirun footer {
    padding-bottom: 120px
  }

  #kasmirun .loc-go {
    justify-content: center;
  }
}

@media(max-width:560px) {
  #kasmirun .brand {
    font-size: 18px
  }

  #kasmirun .nav-cta {
    display: none
  }

  #kasmirun .nav {
    height: 64px
  }

  #kasmirun .slogan {
    margin-top: 64px
  }

  html {
    scroll-padding-top: 72px
  }
}

/* 9988 블루 배경 (기억값 재적용 — 이 섹션만, 2026-07-17) */
#kasmirun .nine {
  background: linear-gradient(180deg, #123bb0, #1b4fd8)
}

#kasmirun .nine .nums .l {
  color: #dbe6ff
}

#kasmirun .nine .bnote {
  color: #dbe6ff
}

#kasmirun .nine .bnote b {
  color: #fff
}

#kasmirun .nine .en {
  color: #9fc3ff
}

#kasmirun .nine-wm {
  color: rgba(255, 255, 255, .06)
}

/* 섹션 홀짝 배경 리듬 (2026-07-17) : 흰-회 교차 + 블루(9988)·다크(CTA)·네이비(푸터) 포인트 */
#kasmirun #section2 {
  background: var(--bg2)
}

/* 개요=회 (소개 흰 다음) */
#kasmirun #section6 {
  background: #fff
}

/* 프로그램=흰 (코스 회 다음) */
#kasmirun #section7 {
  background: var(--bg2)
}

/* 행사일정=회 */
#kasmirun .sponsor {
  background: #fff;
  border-top: 1px solid var(--line)
}

/* 후원=회 (오시는길 흰 다음) */

/* 소개 v10 (2026-07-17) */
#kasmirun #section1 .ed {
  margin-bottom: clamp(20px, 3vw, 32px)
}

#kasmirun #section1 .eyebrow {
  font-family: var(--label);
  font-weight: 700;
  font-size: 18px;
  color: var(--blue);
  letter-spacing: .06em;
  text-transform: uppercase;
  margin-bottom: 12px;
  display: flex;
  align-items: center;
  gap: 10px
}

#kasmirun #section1 .eyebrow::before {
  content: "";
  width: 26px;
  height: 2px;
  background: var(--blue);
  display: inline-block
}

#kasmirun #section1 h2 {
  font-family: var(--disp);
  font-weight: 900;
  letter-spacing: -.035em;
  line-height: 1.08;
  color: var(--ink);
  font-size: clamp(34px, 6vw, 64px)
}

#kasmirun #section1 .runion .r-eng {
  font-size: clamp(26px, 3.4vw, 38px)
}

/* 소개 v10 2단 배열 교정 (01제거, 우측=박스+멘트, 2026-07-17) */
#kasmirun #section1 .about-body {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(24px, 4vw, 56px);
  align-items: start;
  margin-top: clamp(30px, 4vw, 44px);
  padding-bottom: 40PX;
}

#kasmirun #section1 .about-body .big {
  font-family: var(--disp);
  font-weight: 900;
  font-size: clamp(30px, 4.6vw, 30px);
  line-height: 1.4;
  letter-spacing: -.03em;
  color: var(--ink);
  margin-top: 40px;
}

#kasmirun #section1 .about-body .bot {
  font-family: var(--disp);
  font-size: 24px;
  margin-top: 30px;
}

#kasmirun #section1 .about-body .big span {
  font-family: var(--disp);
  color: var(--blue);
}

#kasmirun #section1 .about-body .bot span {
  font-family: var(--disp);
  color: var(--blue);
}

#kasmirun #section1 .about-body .big em {
  font-style: normal;
  color: var(--blue)
}

#kasmirun #section1 .about-right .runion {
  max-width: none;
  margin: 0;
  text-align: center
}

#kasmirun #section1 .about-lead {
  font-size: clamp(18px, 1.9vw, 18px);
  line-height: 1.75;
  color: #3c4152;
  margin-top: 22px;
  font-weight: 500
}

@media(max-width:860px) {
  #kasmirun #section1 .about-body {
    grid-template-columns: 1fr
  }

  #kasmirun #section1 .about-body .big {
    font-size: 24px;
    margin-top: 20px;
  }

  #kasmirun #section1 .about-body .bot {
    font-size: 16px;
  }
}

#kasmirun #section1 h2 b {
  color: var(--blue)
}




#kasmirun #section1 {
  padding-bottom: 0
}

/* v10 리본 마퀴 (파란 띠, 2026-07-17) */
#kasmirun #section1 .ribbon {
  overflow: hidden;
  background: var(--yellow);
  color: var(--navy);
  padding: 14px 0;
  white-space: nowrap;
  margin: clamp(30px, 5vw, 50px) calc(50% - 50vw) 0;
  width: 100vw;
  font-family: var(--label);
  font-weight: 700;
  font-size: 18px;
  letter-spacing: .02em
}

#kasmirun #section1 .ribbon-tr {
  display: inline-block;
  animation: mq 28s linear infinite
}

#kasmirun #section1 .ribbon span {
  margin: 0 22px;
  font-family: 'paperlogy';
}

#kasmirun #section1 .ribbon b {
  color: #ff6a3c
}

@media(prefers-reduced-motion:reduce) {
  #kasmirun #section1 .ribbon-tr {
    animation: none
  }
}

/* v12 임팩트 코스 : 섹션 전체 검정 (원본 그대로, 2026-07-17) */
#kasmirun .course-dark {
  background: linear-gradient(180deg, #0a1a52, #0d2470);
  color: #fff
}

#kasmirun .course-dark .bgimg {
  position: absolute;
  left: 0;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 100%;
  height: auto;
  z-index: -2;
  filter: grayscale(1);
  opacity: .5;
  -webkit-mask-image: linear-gradient(180deg, transparent, #000 30%, #000 70%, transparent);
  mask-image: linear-gradient(180deg, transparent, #000 30%, #000 70%, transparent)
}

#kasmirun .course-dark .sec-hd h2 {
  color: #fff
}

#kasmirun .course-dark .sec-hd h2 b {
  color: #5aa2ff
}

#kasmirun .course-dark .en {
  color: #5aa2ff
}

#kasmirun .cseg {
  display: flex;
  gap: clamp(18px, 3vw, 44px);
  margin-top: clamp(30px, 4vw, 50px);
  flex-wrap: wrap;
  border-bottom: 1px solid rgba(255, 255, 255, .14)
}

#kasmirun .cseg .ctab {
  background: none;
  border: 0;
  cursor: pointer;
  padding: 0 0 18px;
  position: relative;
  font-family: var(--disp);
  font-weight: 900;
  letter-spacing: -.03em;
  font-size: clamp(34px, 5.6vw, 72px);
  color: rgba(255, 255, 255, .32);
  transition: color .25s
}

#kasmirun .cseg .ctab i {
  font-style: normal;
  font-family: var(--label);
  font-weight: 500;
  font-size: .28em;
  letter-spacing: .1em;
  vertical-align: super;
  margin-left: 6px
}

#kasmirun .cseg .ctab.on {
  color: #fff
}

#kasmirun .cseg .ctab.on::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1px;
  height: 3px;
  background: var(--blue)
}

#kasmirun .course-dark .panel.on {
  display: block;
  background: transparent;
  padding: 0;
  margin-top: 0
}

#kasmirun .course-dark .course-map {
  width: 100%;
  border-radius: 12px;
  overflow: hidden
}

#kasmirun .course-dark .course-map img {
  width: 100%;
  display: block
}

#kasmirun .course-dark .course-info {
  display: grid;
  grid-template-columns: 1.5fr 1fr;
  gap: clamp(24px, 4vw, 60px);
  margin-top: clamp(28px, 4vw, 44px);
  align-items: start
}

#kasmirun .course-dark .route {
  font-size: clamp(18px, 1.7vw, 19px);
  line-height: 1.85;
  color: #d0d0d4;
  font-weight: 400
}

#kasmirun .course-dark .facts {
  display: flex;
  flex-direction: column;
  gap: 18px
}

#kasmirun .course-dark .f {
  border-top: 1px solid rgba(255, 255, 255, .14);
  padding-top: 14px
}

#kasmirun .course-dark .f span {
  font-family: var(--label);
  font-weight: 500;
  font-size: 18px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #8a8a90
}

#kasmirun .course-dark .f b {
  display: block;
  font-family: var(--disp);
  font-weight: 800;
  font-size: clamp(20px, 2.4vw, 26px);
  margin-top: 8px;
  letter-spacing: -.02em;
  color: #fff
}

#kasmirun .course-dark .course-note {
  margin-top: clamp(28px, 3.6vw, 44px);
  font-size: 18px;
  color: #7a7a80
}

/* 코스 운영 자문 영상 (코스 섹션 내부) */
#kasmirun .course-video { margin-top: 60px; padding-top: 50px; border-top: 1px solid rgba(255,255,255,.15) }
#kasmirun .course-video .sec-hd h2 { color: #fff }
#kasmirun .course-video .sec-hd .en { color: rgba(255,255,255,.5) }
#kasmirun .video-wrap { margin-top: 32px; position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; border-radius: 12px }
#kasmirun .video-wrap iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100% }

@media(max-width:860px) {
  #kasmirun .course-dark .course-info {
    grid-template-columns: 1fr
  }
}



/* 코스 정보영역 검정 채움 + 코스맵과 붙임 (2026-07-17) */
#kasmirun .course-dark .course-map {
  border-radius: 12px 12px 0 0
}

#kasmirun .course-dark .course-info {
  background: var(--navy);
  margin-top: 0;
  padding: clamp(26px, 3.4vw, 40px);
  border-radius: 0 0 12px 12px
}

/* 코스: 탭+맵+정보+주의 하나의 검정 카드 (2026-07-17) */
#kasmirun .cseg {
  background: var(--navy);
  border-bottom: 1px solid rgba(255, 255, 255, .14);
  border-radius: 12px 12px 0 0;
  padding: clamp(22px, 2.8vw, 32px) clamp(26px, 3.4vw, 40px) 0;
  gap: clamp(18px, 3vw, 44px)
}

#kasmirun .course-dark .course-map {
  border-radius: 0
}

#kasmirun .course-dark .course-info {
  background: var(--navy);
  margin-top: 0;
  padding: clamp(26px, 3.4vw, 40px);
  border-radius: 0
}

#kasmirun .course-dark .course-note {
  background: var(--navy);
  margin-top: -1px;
  padding: 0 clamp(26px, 3.4vw, 40px) clamp(24px, 3vw, 34px);
  border-radius: 0 0 12px 12px;
  color: #7a7a80
}

/* 소개 제목 회전 별표 (2026-07-17) */
#kasmirun #section1 .ed {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: clamp(18px, 3vw, 40px);
  align-items: start
}

#kasmirun #section1 .astk {
  font-family: var(--disp);
  font-weight: 900;
  font-size: clamp(60px, 9vw, 120px);
  line-height: .85;
  color: var(--blue);
  display: inline-block;
  width: fit-content;
  transform-origin: center;
  animation: astkspin 14s linear infinite
}

@keyframes astkspin {
  to {
    transform: rotate(360deg)
  }
}

@media(prefers-reduced-motion:reduce) {
  #kasmirun #section1 .astk {
    animation: none
  }
}

@media(max-width:860px) {
  #kasmirun #section1 .ed {
    grid-template-columns: 1fr
  }

  #kasmirun #section1 .astk {
    font-size: clamp(48px, 14vw, 80px)
  }
}

/* RUN+UNION 박스 중앙정렬+큰글씨 + 제목교체 (2026-07-17) */
#kasmirun #section1 .runion {
  text-align: center
}

#kasmirun #section1 .runion .r-eng {
  font-size: clamp(36px, 5vw, 58px)
}

#kasmirun #section1 .runion .r-ko {
  font-size: clamp(22px, 2.6vw, 28px);
  margin-top: 16px;
  color: #dbe6ff
}

/* 기념품 섹션 격자 패턴 (v10 pat-grid 이식, 2026-07-17) */
#kasmirun #section4::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background-image: linear-gradient(var(--blue) 1px, transparent 1px), linear-gradient(90deg, var(--blue) 1px, transparent 1px);
  background-size: 34px 34px;
  opacity: .05
}

/* 코스 마퀴 = 상하 중앙 배경 레이어(콘텐츠 뒤로 흐름, 2026-07-17) */
#kasmirun .course-dark .marquee.alt {
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  transform: translateY(-50%);
  margin: 0;
  z-index: 0;
  pointer-events: none
}

#kasmirun .course-dark .marquee.alt .mq span {
  -webkit-text-stroke: 0;
  color: #fff;
  font-size: clamp(108px, 17vw, 208px)
}

/* 프로그램 v10 이식 (2026-07-17) */
#kasmirun .prog-v10::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background-image: repeating-linear-gradient(135deg, transparent 0, transparent 15px, var(--blue) 15px, var(--blue) 16px);
  opacity: .045
}







#kasmirun .prog-v10 .prog-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  border-top: 1.5px solid var(--ink);
  margin-top: clamp(40px, 5vw, 64px)
}

#kasmirun .prog-v10 .prog-grid.two {
  display: flex;
  margin-top: 0;
  border-top: 0;
  justify-content: center;
}

#kasmirun .prog-v10 .pcard {
  background: none;
  border: 0;
  border-bottom: 1px solid var(--line);
  border-right: 1px solid var(--line);
  border-radius: 0;
  padding: clamp(28px, 3.4vw, 40px) clamp(20px, 2.4vw, 30px);
  transition: background .3s
}

#kasmirun .prog-v10 .pcard:nth-child(3n) {
  border-right: 0
}

#kasmirun .prog-v10 .prog-grid.two .pcard:last-child {
  border-right: 0;
}

#kasmirun .prog-v10 .pcard:hover {
  background: var(--blue);
  box-shadow: 0 16px 40px rgba(27, 79, 216, .3);
  border-color: transparent
}

#kasmirun .prog-v10 .pcard .pn {
  font-family: var(--disp);
  font-weight: 900;
  font-size: clamp(34px, 4.6vw, 52px);
  color: transparent;
  -webkit-text-stroke: 1.3px var(--blue);
  letter-spacing: -.03em;
  line-height: 1
}

#kasmirun .prog-v10 .pcard h3 {
  font-family: var(--disp);
  font-weight: 800;
  font-size: clamp(22px, 2.6vw, 28px);
  letter-spacing: -.02em;
  margin-top: 18px;
  color: var(--ink);
  transition: color .3s
}

#kasmirun .prog-v10 .pcard:hover h3 {
  color: #fff
}

#kasmirun .prog-v10 .pcard:hover p {
  color: #dbe6ff
}

#kasmirun .prog-v10 .pcard:hover .pn {
  -webkit-text-stroke-color: #fff
}

#kasmirun .prog-v10 .pcard p {
  font-size: 18px;
  color: var(--gray);
  margin-top: 12px;
  line-height: 1.65
}

@media(max-width:860px) {
  #kasmirun .prog-v10 .prog-grid {
    grid-template-columns: 1fr
  }

  #kasmirun .prog-v10 .pcard {
    border-right: 0
  }

  #kasmirun .prog-v10 .prog-grid.two {
    flex-direction: column;
  }
}

/* 후원 3칸 (주최·주관·후원, 2026-07-17) */
#kasmirun .sponsor .spon-cols {
  display: flex;
  flex-direction: column;
  gap: clamp(44px, 6vw, 72px)
}

#kasmirun .sponsor .spon-col {
  border: 0;
  padding: 0;
  text-align: center
}

#kasmirun .sponsor .spon-col h6 {
  font-family: var(--disp);
  font-weight: 900;
  font-size: clamp(24px, 3vw, 28px);
  letter-spacing: -.01em;
  color: var(--ink);
  margin-bottom: 24px
}

#kasmirun .sponsor .spon-col .logos {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: clamp(18px, 2.6vw, 32px);
  margin-top: 0;
  justify-content: center
}

#kasmirun .sponsor .spon-col .logos img {
  height: 30px;
  width: auto
}

/* 협력 컬럼 로고는 엠블럼형이라 30px에선 잔글씨 → 확대 (2026-08-18) */
#kasmirun .sponsor .spon-col.partner .logos {
  gap: clamp(24px, 3vw, 40px)
}

#kasmirun .sponsor .spon-col.partner .logos img {
  height: 56px
}

/* 정사각 엠블럼은 워드마크와 시각 무게 맞추려 더 크게 */
#kasmirun .sponsor .spon-col.partner .logos img.emb {
  height: 80px
}

@media(max-width:860px) {
  #kasmirun .sponsor .spon-cols {
    grid-template-columns: 1fr;
    gap: 28px
  }

  #kasmirun .sponsor .spon-col {
    border-left: 0;
    padding-left: 0;
    border-top: 1px solid var(--line);
    padding-top: 24px
  }

  #kasmirun .sponsor .spon-col:first-child {
    border-top: 0;
    padding-top: 0
  }
}

/* 카운터를 히어로 아래 단독 배치 (정보 스트립 삭제, 2026-07-17) */
#kasmirun .dday {
  margin-top: 0
}

/* 카운터 흰 배경 카드 디자인 (2026-07-17) */
#kasmirun .dday .in {
  background: #fff;
  box-shadow: 0 18px 50px rgba(16, 18, 35, .14);
  color: var(--ink)
}

#kasmirun .dday .lt .s {
  color: var(--gray)
}

#kasmirun .dday .lt .d {
  color: var(--ink)
}

#kasmirun .dday .lt .d em {
  color: var(--blue)
}

#kasmirun .dday .u {
  background: var(--bg2)
}

#kasmirun .dday .u b {
  color: var(--blue)
}

#kasmirun .dday .u span {
  color: var(--gray)
}

/* 개요 배경 일러스트 + 흰 박스 (2026-07-20) */
#kasmirun #section2 {
  background: var(--bg2) url('/img/kasmirun/bg/bg1_hero.webp') no-repeat center bottom;
  background-size: cover;
  position: relative
}

#kasmirun #section2::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(245, 246, 249, .82);
  z-index: 0
}

#kasmirun #section2 .wrap {
  position: relative;
  z-index: 1
}

#kasmirun .orows {
  background: #fff;
  border-radius: 16px;
  padding: clamp(10px, 2vw, 16px) clamp(16px, 3vw, 28px);
  box-shadow: 0 18px 50px rgba(16, 18, 35, .14);
  margin-top: clamp(28px, 4vw, 40px);
  padding: 40px 50px;
}

@media(max-width:860px) {
  #kasmirun .orows {
    padding: 30px 20px;
  }
}

@media(max-width:560px) {
  body#kasmirun {
    font-size: 14px
  }

  #kasmirun .sec-hd .en,
  #kasmirun .sub,
  #kasmirun .slogan,
  #kasmirun .hero-no,
  #kasmirun .hero-lead,
  #kasmirun .pill,
  #kasmirun .hero-sub,
  #kasmirun .dday .lt .s,
  #kasmirun .dday .u span,
  #kasmirun .runion .r-ko,
  #kasmirun .orow .ov,
  #kasmirun .orow .ov small,
  #kasmirun .note,
  #kasmirun .tt td,
  #kasmirun .tt-note,
  #kasmirun .pcard p,
  #kasmirun .nums .l,
  #kasmirun .bnote,
  #kasmirun .sv-desc,
  #kasmirun .sv-box figcaption,
  #kasmirun .sv-note,
  #kasmirun .sv-tbl,
  #kasmirun .sv-tbl th,
  #kasmirun .sv-tbl td,
  #kasmirun .cta p,
  #kasmirun .acard .ad small,
  #kasmirun .abtns a,
  #kasmirun .adate,
  #kasmirun .loc-badge,
  #kasmirun .loc-badge small,
  #kasmirun .loc-row,
  #kasmirun .line1,
  #kasmirun .loc-go a,
  #kasmirun .loc-note,
  #kasmirun .sponsor .t,
  #kasmirun .sponsor .logos .nm,
  #kasmirun .fbar a,
  #kasmirun .course-dark .f span,
  #kasmirun .course-dark .course-note,
  #kasmirun #section1 .ribbon,
  #kasmirun .prog-v10 .pcard p,
  #kasmirun #section1 .about-lead,
  #kasmirun #section1 .eyebrow,
  #kasmirun .menu,
  #kasmirun .nav-cta,
  #kasmirun .brand,
  #kasmirun .loc-badge b,
  #kasmirun .course-dark .route,
  #kasmirun .tt th,
  #kasmirun .acard .ap {
    font-size: 14px
  }

  #kasmirun .orow .ok,
  #kasmirun .pcard .n,
  #kasmirun .pcard h3,
  #kasmirun .loc-h {
    font-size: 16px
  }

  #kasmirun footer,
  #kasmirun .f-policy,
  #kasmirun .f-bot {
    font-size: 14px
  }

  /* D-day 카운터: 4박스 한 줄 유지 + 라벨 축소 */
  #kasmirun .dday .units {
    width: 100%;
    gap: 6px
  }

  #kasmirun .dday .u {
    padding: 10px 3px
  }

  #kasmirun .dday .u span {
    font-size: 11px;
    letter-spacing: 0
  }
}

/* ===== 공지사항 섹션 (sec-notice) ===== */
#kasmirun .sec-notice { padding: 80px 0; background: #f5f6f9 }
#kasmirun .notice-con { margin-top: 40px }
#kasmirun .notice-board { position: relative }
#kasmirun .notice-board .btn-more { text-align: right; margin-bottom: 16px }
#kasmirun .notice-board .btn-more a { color: #1b4fd8; font-size: 15px; font-weight: 600 }
#kasmirun .notice-board ul { list-style: none; margin: 0; padding: 0 }
#kasmirun .notice-board ul li { border-bottom: 1px solid #dbe6ff }
#kasmirun .notice-board ul li:first-child { border-top: 2px solid #1b4fd8 }
#kasmirun .notice-board ul li a { display: flex; align-items: center; gap: 16px; padding: 18px 12px; text-decoration: none; transition: background .2s }
#kasmirun .notice-board ul li a:hover { background: #eef1f7 }
#kasmirun .notice-board ul li .tag { display: inline-block; min-width: 52px; text-align: center; padding: 3px 12px; background: #1b4fd8; color: #fff; font-size: 13px; font-weight: 700; border-radius: 20px; flex-shrink: 0 }
#kasmirun .notice-board ul li p { flex: 1; margin: 0; font-size: 16px; color: #222; white-space: nowrap; overflow: hidden; text-overflow: ellipsis }
#kasmirun .notice-board ul li .date { font-size: 14px; color: #8b93ad; flex-shrink: 0 }
#kasmirun .notice-board ul li.empty { border-top: 2px solid #1b4fd8; border-bottom: 1px solid #dbe6ff }
#kasmirun .notice-board ul li.empty p { text-align: center; padding: 40px 0; color: #8b93ad; font-size: 15px; white-space: normal }

/* ===== FAQ 섹션 (sec-faq) ===== */
#kasmirun .sec-faq { padding: 80px 0; background: #1b4fd8 }
#kasmirun .sec-faq .sec-hd h2 { color: #fff }
#kasmirun .sec-faq .sec-hd .en { color: rgba(255,255,255,.5) }
#kasmirun .faq-con { margin-top: 40px }
#kasmirun .faq-list { display: flex; flex-direction: column; gap: 10px }
#kasmirun .faq-item { background: #fff; border-radius: 12px; overflow: hidden }
#kasmirun .faq-q { display: flex; align-items: center; gap: 14px; width: 100%; padding: 20px 24px; border: none; background: none; cursor: pointer; text-align: left }
#kasmirun .faq-icon { display: flex; align-items: center; justify-content: center; width: 32px; height: 32px; border-radius: 50%; background: #1b4fd8; color: #fff; font-size: 15px; font-weight: 800; flex-shrink: 0 }
#kasmirun .faq-icon.a { background: #ff6a3c }
#kasmirun .faq-title { flex: 1; font-size: 16px; font-weight: 600; color: #222 }
#kasmirun .faq-arrow { width: 12px; height: 12px; border-right: 2px solid #8b93ad; border-bottom: 2px solid #8b93ad; transform: rotate(45deg); transition: transform .3s; flex-shrink: 0 }
#kasmirun .faq-item.open .faq-arrow { transform: rotate(-135deg) }
#kasmirun .faq-a { max-height: 0; overflow: hidden; transition: max-height .35s ease }
#kasmirun .faq-item.open .faq-a { max-height: 600px }
#kasmirun .faq-a-inner { display: flex; gap: 14px; padding: 0 24px 24px; align-items: flex-start }
#kasmirun .faq-txt { font-size: 15px; color: #444; line-height: 1.7 }
#kasmirun .faq-txt p { margin: 0 0 4px }
#kasmirun .faq-more { text-align: center; margin-top: 28px }
#kasmirun .faq-more a { display: inline-block; padding: 12px 36px; border: 2px solid #fff; color: #fff; border-radius: 30px; font-size: 15px; font-weight: 600; text-decoration: none; transition: background .2s, color .2s }
#kasmirun .faq-more a:hover { background: #fff; color: #1b4fd8 }

/* 공지·FAQ 반응형 */
@media(max-width:768px){
  #kasmirun .sec-notice { padding: 50px 0 }
  #kasmirun .notice-board ul li a { gap: 10px; padding: 14px 8px }
  #kasmirun .notice-board ul li .tag { font-size: 12px; padding: 2px 10px; min-width: 44px }
  #kasmirun .notice-board ul li p { font-size: 14px }
  #kasmirun .notice-board ul li .date { font-size: 12px }
  #kasmirun .sec-faq { padding: 50px 0 }
  #kasmirun .faq-q { padding: 16px 16px; gap: 10px }
  #kasmirun .faq-title { font-size: 14px }
  #kasmirun .faq-a-inner { padding: 0 16px 16px; gap: 10px }
  #kasmirun .faq-txt { font-size: 13px }
  #kasmirun .faq-icon { width: 28px; height: 28px; font-size: 13px }
}