/* =========================================
   F1 피트스톱 & 레이스 전략 가이드 (strategy.css)
   templates/guide/strategy.html 전용

   guide.css의 공통 레이아웃(.guide-page / .guide-back-btn / .guide-page-title)에 더해
   이 페이지 전용 섹션 내비게이터·비교 카드·스테퍼·피트 윈도우 타임라인·
   전략 대시보드 스타일만 정의한다.

   팔레트는 사이트 공통값을 따른다:
     배경 #0a0a0a / #111 / #1a1a1a, 보더 #2a2a2a, 액센트 #dc2626
   모든 시각화는 이미지 에셋 없이 CSS + 이모지로만 처리한다(신규 JS 없음).
   상태·성격 구분은 색상 단독이 아니라 항상 텍스트 라벨과 병행한다.
   ========================================= */

/* =========================================
   Section 1: Hero
   ========================================= */

.strategy-hero {
  margin-bottom: 1.75rem;
}

.strategy-hero-label {
  display: inline-block;
  margin: 0 0 0.6rem;
  padding: 0.2rem 0.55rem;
  border: 1px solid #3a2020;
  border-radius: 0.25rem;
  background-color: rgba(220, 38, 38, 0.12);
  color: #f87171;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.08em;
}

.strategy-hero-lead {
  color: #ddd;
  font-size: 1rem;
  line-height: 1.7;
  max-width: 46rem;
  margin: 0 0 0.9rem;
}

/* =========================================
   Section 2: 섹션 내비게이터 (01~09 anchor)

   순수 anchor 링크이므로 JS·scroll spy 없음.
   헤더가 position: sticky(top: 0)이므로 내비게이터는 sticky로 만들지 않고,
   대신 각 섹션에 scroll-margin-top을 주어 제목이 헤더에 가리지 않게 한다.
   ========================================= */

.strategy-stepnav {
  margin-bottom: 2.25rem;
  padding: 0.6rem 0;
  border-top: 1px solid #222;
  border-bottom: 1px solid #222;
}

.strategy-stepnav-rail {
  display: flex;
  gap: 0.4rem;
  list-style: none;
  margin: 0;
  padding: 0 0 0.2rem;
  /* 모바일: 가로 스크롤 rail (외부 carousel 라이브러리 미사용) */
  overflow-x: auto;
  overscroll-behavior-x: contain;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
}

.strategy-stepnav-rail::-webkit-scrollbar {
  height: 4px;
}

.strategy-stepnav-rail::-webkit-scrollbar-thumb {
  background-color: #2a2a2a;
  border-radius: 999px;
}

.strategy-stepnav-item {
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
  flex: 0 0 auto;
  min-height: 44px;
  justify-content: center;
  padding: 0.35rem 0.6rem;
  border: 1px solid #2a2a2a;
  border-radius: 0.35rem;
  background-color: #111;
  color: #bbb;
  text-decoration: none;
  white-space: nowrap;
  transition: border-color 0.2s, color 0.2s, background-color 0.2s;
}

.strategy-stepnav-item:hover,
.strategy-stepnav-item:focus-visible {
  border-color: #dc2626;
  background-color: #161616;
  color: #fff;
}

.strategy-stepnav-no {
  color: #f87171;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.04em;
}

.strategy-stepnav-label {
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.02em;
}

/* 넓은 화면: 스크롤 없이 한 화면에 모두 보이도록 wrap */
@media (min-width: 768px) {
  .strategy-stepnav-rail {
    flex-wrap: wrap;
    overflow-x: visible;
    row-gap: 0.4rem;
  }
}

/* =========================================
   Section 3: 섹션 공통
   ========================================= */

.strategy-section {
  margin-bottom: 2.75rem;
  /* sticky 헤더에 제목이 가리지 않도록 anchor 착지 여백 확보 */
  scroll-margin-top: 5rem;
}

.strategy-section-title {
  font-size: 1.25rem;
  font-weight: bold;
  color: #f5f5f5;
  margin: 0 0 0.5rem;
  padding-left: 0.6rem;
  border-left: 3px solid #dc2626;
  line-height: 1.4;
}

.strategy-section-no {
  display: block;
  color: #777;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.1em;
}

.strategy-section-desc {
  color: #999;
  font-size: 0.9rem;
  line-height: 1.65;
  margin: 0 0 1.15rem;
  max-width: 46rem;
}

.strategy-note {
  color: #888;
  font-size: 0.825rem;
  line-height: 1.65;
  margin: 0.85rem 0 0;
  max-width: 46rem;
}

/* 핵심 메시지 콜아웃 (좌측 보더 색 + 라벨로 성격 구분) */
.strategy-callout {
  margin: 1rem 0 0;
  padding: 0.85rem 1rem;
  background-color: #111;
  border: 1px solid #2a2a2a;
  border-left: 3px solid #dc2626;
  border-radius: 0.4rem;
  color: #ddd;
  font-size: 0.9rem;
  line-height: 1.7;
}

.strategy-callout--warn { border-left-color: #eab308; }
.strategy-callout--info { border-left-color: #60a5fa; }

.strategy-callout-label {
  display: block;
  margin-bottom: 0.25rem;
  color: #999;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

/* =========================================
   실제 사례 사진 (figure / figcaption)
   02 PIT STOP · 06 SC/VSC · 07 DOUBLE STACK 공용 컴포넌트

   사진은 장식이 아니라 자료이므로 캡션·출처가 항상 함께 보이게 한다.
   강제 crop을 하지 않기 위해 aspect-ratio·object-fit을 쓰지 않고,
   <img>의 width/height 속성으로 원본 비율을 유지한 채 반응형 축소만 한다.
   본문 텍스트와 같은 46rem 폭 안에서 표시해 데스크톱에서 과도하게 커지지 않게 한다.
   ========================================= */

.strategy-figure {
  margin: 0 0 1.15rem;
  max-width: 46rem;
}

.strategy-figure-img {
  display: block;
  width: 100%;
  height: auto;
  border: 1px solid #262626;
  border-radius: 0.5rem;
  background-color: #111;
}

.strategy-figure-caption {
  display: block;
  margin-top: 0.5rem;
  color: #999;
  font-size: 0.8rem;
  line-height: 1.6;
}

/* 사진 설명과 라이선스는 한 단계 더 작은 보조 텍스트로 구분한다(가독성은 유지) */
.strategy-figure-credit {
  display: block;
  margin-top: 0.25rem;
  color: #808080;
  font-size: 0.735rem;
  line-height: 1.5;
  overflow-wrap: anywhere;
}

.strategy-figure-credit a {
  color: #999;
  text-decoration: underline;
}

.strategy-figure-credit a:hover,
.strategy-figure-credit a:focus-visible {
  color: #f5f5f5;
}

/* 가상 예시 표기 (실제 레이스 결과 오인 방지) */
.strategy-hypo {
  display: inline-block;
  margin: 0 0 0.85rem;
  padding: 0.25rem 0.6rem;
  border: 1px dashed #3a3a3a;
  border-radius: 0.3rem;
  background-color: #141414;
  color: #999;
  font-size: 0.75rem;
  line-height: 1.4;
}

/* =========================================
   Section 4: 2-column 비교 레이아웃
   (01 WHY PIT · 04 UNDERCUT/OVERCUT · 05 POSITION · 06 SC/VSC 공용)
   모바일 1열 + 사이에 VS, 데스크톱 2열 + 가운데 VS
   ========================================= */

.strategy-compare {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0.6rem;
  align-items: stretch;
}

.strategy-compare-card {
  display: flex;
  flex-direction: column;
  padding: 0.95rem 1rem;
  background-color: #111;
  border: 1px solid #2a2a2a;
  border-left: 3px solid #3a3a3a;
  border-radius: 0.5rem;
  min-width: 0;
}

.strategy-compare-card--old   { border-left-color: #a3a3a3; }
.strategy-compare-card--fresh { border-left-color: #22c55e; }
.strategy-compare-card--under { border-left-color: #dc2626; }
.strategy-compare-card--over  { border-left-color: #60a5fa; }
.strategy-compare-card--pos   { border-left-color: #f59e0b; }
.strategy-compare-card--sc    { border-left-color: #eab308; }

.strategy-compare-tag {
  display: inline-block;
  align-self: flex-start;
  margin-bottom: 0.45rem;
  padding: 0.15rem 0.5rem;
  border: 1px solid #3a3a3a;
  border-radius: 0.25rem;
  background-color: #1a1a1a;
  color: #aaa;
  font-size: 0.7rem;
  font-weight: 600;
}

.strategy-compare-title {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 0.4rem;
  font-size: 1rem;
  font-weight: bold;
  color: #f5f5f5;
  margin: 0 0 0.4rem;
  line-height: 1.4;
}

.strategy-compare-lead {
  color: #ddd;
  font-size: 0.875rem;
  line-height: 1.7;
  margin: 0;
}

/* 카드 사이 VS 구분자 */
.strategy-vs {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #777;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.1em;
}

.strategy-vs::before,
.strategy-vs::after {
  content: '';
  flex: 1;
  height: 1px;
  background-color: #262626;
  margin: 0 0.6rem;
}

@media (min-width: 768px) {
  .strategy-compare {
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    gap: 0.85rem;
  }

  /* 데스크톱에서는 세로 구분선 형태로 전환 */
  .strategy-vs {
    flex-direction: column;
  }

  .strategy-vs::before,
  .strategy-vs::after {
    width: 1px;
    height: auto;
    margin: 0.6rem 0;
  }
}

/* 흐름 목록 (→ 단계 서술) */
.strategy-flow {
  list-style: none;
  margin: 0.7rem 0 0;
  padding: 0;
}

.strategy-flow li {
  position: relative;
  padding-left: 1rem;
  color: #bbb;
  font-size: 0.85rem;
  line-height: 1.6;
  margin-bottom: 0.3rem;
}

.strategy-flow li:last-child {
  margin-bottom: 0;
}

/* 화살표 마커: 순서를 텍스트 기호로 표기 (색상 단독 의존 금지) */
.strategy-flow li::before {
  content: '↳';
  position: absolute;
  left: 0;
  top: 0;
  color: #666;
  font-size: 0.8rem;
  line-height: 1.7;
}

.strategy-flow li:first-child::before {
  content: '▸';
  color: #dc2626;
}

/* 결과 강조 항목 */
.strategy-flow-result {
  color: #f5f5f5 !important;
  font-weight: 600;
}

/* 판단 요소 칩 (세로 길이 절약) */
.strategy-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  list-style: none;
  margin: 0.85rem 0 0;
  padding: 0;
}

.strategy-chip {
  padding: 0.3rem 0.65rem;
  background-color: #1a1a1a;
  border: 1px solid #2a2a2a;
  border-radius: 0.35rem;
  color: #ccc;
  font-size: 0.8rem;
  line-height: 1.4;
}

/* =========================================
   Section 5: 02 PIT STOP 스테퍼
   데스크톱 가로 stepper / 모바일 가로 스크롤 compact rail
   ========================================= */

.strategy-stepper {
  display: flex;
  align-items: stretch;
  gap: 0.35rem;
  list-style: none;
  margin: 0;
  padding: 0 0 0.3rem;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
}

.strategy-stepper::-webkit-scrollbar {
  height: 4px;
}

.strategy-stepper::-webkit-scrollbar-thumb {
  background-color: #2a2a2a;
  border-radius: 999px;
}

.strategy-stepper-item {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  flex: 1 0 8.5rem;
  min-width: 0;
  padding: 0.7rem 0.75rem;
  background-color: #111;
  border: 1px solid #2a2a2a;
  border-top: 3px solid #3a3a3a;
  border-radius: 0.45rem;
}

.strategy-stepper-item--box {
  border-top-color: #dc2626;
}

.strategy-stepper-no {
  color: #777;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.06em;
}

.strategy-stepper-name {
  color: #f5f5f5;
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.strategy-stepper-desc {
  color: #aaa;
  font-size: 0.76rem;
  line-height: 1.5;
  overflow-wrap: anywhere;
}

/* =========================================
   Section 6: 03 PIT WINDOW 타임라인 (CSS 자체 제작)
   ========================================= */

.strategy-window {
  padding: 1rem;
  background-color: #111;
  border: 1px solid #2a2a2a;
  border-radius: 0.5rem;
}

.strategy-window-scale {
  display: flex;
  justify-content: space-between;
  list-style: none;
  margin: 0 0 0.4rem;
  padding: 0;
  color: #777;
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.04em;
}

.strategy-window-unit {
  color: #666;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  margin: 0 0 0.35rem;
}

/* 랩 축: 가운데 구간만 강조 밴드 */
.strategy-window-bar {
  position: relative;
  display: flex;
  height: 1.5rem;
  border-radius: 0.3rem;
  overflow: hidden;
  background-color: #161616;
  border: 1px solid #262626;
}

.strategy-window-zone {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  overflow: hidden;
  white-space: nowrap;
}

.strategy-window-zone--early,
.strategy-window-zone--late {
  flex: 1 1 28%;
  color: #6b7280;
  /* 사선 패턴으로 "적정 구간이 아님"을 색상 외 시각 요소로도 표현 */
  background-image: repeating-linear-gradient(
    45deg,
    #141414 0,
    #141414 4px,
    #1b1b1b 4px,
    #1b1b1b 8px
  );
}

.strategy-window-zone--window {
  flex: 1 1 44%;
  background-color: rgba(220, 38, 38, 0.22);
  border-left: 1px solid #3a2020;
  border-right: 1px solid #3a2020;
  color: #fecaca;
}

.strategy-window-edges {
  display: flex;
  justify-content: space-between;
  gap: 0.5rem;
  margin: 0.4rem 0 0;
  color: #777;
  font-size: 0.72rem;
  line-height: 1.4;
}

/* 3개 compact 설명 */
.strategy-window-cards {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0.5rem;
  list-style: none;
  margin: 0.9rem 0 0;
  padding: 0;
}

.strategy-window-card {
  padding: 0.65rem 0.8rem;
  background-color: #161616;
  border: 1px solid #262626;
  border-left: 3px solid #3a3a3a;
  border-radius: 0.4rem;
  min-width: 0;
}

.strategy-window-card--fit { border-left-color: #dc2626; }

.strategy-window-card-name {
  display: block;
  color: #f5f5f5;
  font-size: 0.82rem;
  font-weight: 700;
  line-height: 1.4;
  margin-bottom: 0.2rem;
}

.strategy-window-card-desc {
  display: block;
  color: #aaa;
  font-size: 0.78rem;
  line-height: 1.55;
  overflow-wrap: anywhere;
}

@media (min-width: 768px) {
  .strategy-window-cards {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.65rem;
  }
}

/* =========================================
   Section 7: 05 POSITION 값 강조 (가상 예시)
   ========================================= */

.strategy-pos-value {
  display: inline-flex;
  align-items: baseline;
  gap: 0.3rem;
  margin: 0.15rem 0 0.5rem;
  color: #f5f5f5;
  font-size: 1.4rem;
  font-weight: 800;
  letter-spacing: 0.02em;
  line-height: 1.2;
}

.strategy-pos-value-note {
  color: #888;
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.02em;
}

/* =========================================
   Section 8: 06 SC/VSC 3행 비교 (경쟁자 / 나 / 결과)
   ========================================= */

.strategy-sc-rows {
  list-style: none;
  margin: 0.6rem 0 0;
  padding: 0;
}

.strategy-sc-row {
  display: grid;
  grid-template-columns: 4.5rem minmax(0, 1fr);
  gap: 0.15rem 0.6rem;
  padding: 0.5rem 0;
  border-top: 1px solid #222;
}

.strategy-sc-row:first-child {
  border-top: none;
  padding-top: 0;
}

.strategy-sc-label {
  color: #888;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.6;
}

.strategy-sc-text {
  color: #bbb;
  font-size: 0.82rem;
  line-height: 1.6;
  overflow-wrap: anywhere;
}

.strategy-sc-row--result .strategy-sc-text {
  color: #f5f5f5;
  font-weight: 600;
}

/* GUIDE 05 내부 링크 CTA */
.strategy-link-cta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.3rem 0.6rem;
  margin: 1rem 0 0;
  padding: 0.75rem 0.9rem;
  background-color: #111;
  border: 1px solid #2a2a2a;
  border-radius: 0.45rem;
}

.strategy-link-cta-text {
  color: #aaa;
  font-size: 0.85rem;
  line-height: 1.5;
  min-width: 0;
}

.strategy-link-cta-link {
  color: #f87171;
  font-size: 0.85rem;
  font-weight: 600;
  text-decoration: none;
  border-bottom: 1px solid transparent;
  overflow-wrap: anywhere;
}

.strategy-link-cta-link:hover,
.strategy-link-cta-link:focus-visible {
  color: #fca5a5;
  border-bottom-color: currentColor;
}

/* =========================================
   Section 9: 07 DOUBLE STACK 2개 레인
   ========================================= */

.strategy-stack {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0.6rem;
}

.strategy-stack-lane {
  padding: 0.85rem 1rem;
  background-color: #111;
  border: 1px solid #2a2a2a;
  border-left: 3px solid #3a3a3a;
  border-radius: 0.5rem;
  min-width: 0;
}

.strategy-stack-lane--first  { border-left-color: #22c55e; }
.strategy-stack-lane--second { border-left-color: #eab308; }

.strategy-stack-lane-head {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin: 0 0 0.5rem;
  font-size: 0.95rem;
  font-weight: bold;
  color: #f5f5f5;
  line-height: 1.4;
}

.strategy-stack-lane-order {
  padding: 0.1rem 0.45rem;
  border: 1px solid #3a3a3a;
  border-radius: 0.25rem;
  background-color: #1a1a1a;
  color: #aaa;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.04em;
}

.strategy-stack-seq {
  list-style: none;
  counter-reset: strategy-stack;
  margin: 0;
  padding: 0;
}

.strategy-stack-seq li {
  counter-increment: strategy-stack;
  display: grid;
  grid-template-columns: 1.35rem minmax(0, 1fr);
  gap: 0.5rem;
  padding: 0.3rem 0;
  color: #bbb;
  font-size: 0.82rem;
  line-height: 1.6;
}

.strategy-stack-seq li::before {
  content: counter(strategy-stack);
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.35rem;
  height: 1.35rem;
  border-radius: 50%;
  background-color: #1a1a1a;
  border: 1px solid #333;
  color: #999;
  font-size: 0.68rem;
  font-weight: 700;
}

.strategy-stack-seq li.is-wait {
  color: #eab308;
}

@media (min-width: 768px) {
  .strategy-stack {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.85rem;
  }
}

/* =========================================
   Section 10: 08 STRATEGY ROOM 대시보드
   ========================================= */

.strategy-room {
  padding: 1rem;
  background-color: #0e0e0e;
  border: 1px solid #262626;
  border-radius: 0.6rem;
}

.strategy-room-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.5rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.strategy-room-tile {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  padding: 0.7rem 0.75rem;
  background-color: #141414;
  border: 1px solid #2a2a2a;
  border-radius: 0.45rem;
  min-width: 0;
}

.strategy-room-tile-label {
  display: flex;
  align-items: baseline;
  gap: 0.35rem;
  color: #f5f5f5;
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.strategy-room-tile-value {
  color: #f87171;
  font-size: 0.8rem;
  font-weight: 700;
  line-height: 1.45;
  overflow-wrap: anywhere;
}

.strategy-room-tile-desc {
  color: #999;
  font-size: 0.74rem;
  line-height: 1.5;
  overflow-wrap: anywhere;
}

.strategy-room-arrow {
  display: block;
  margin: 0.6rem 0 0.5rem;
  color: #666;
  font-size: 0.95rem;
  line-height: 1;
  text-align: center;
}

/* 판단 결과: 두 갈래 (PIT NOW? / STAY OUT?) */
.strategy-room-decision {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  gap: 0.4rem;
  align-items: center;
}

.strategy-room-choice {
  padding: 0.7rem 0.6rem;
  border: 1px solid #2a2a2a;
  border-radius: 0.45rem;
  background-color: #141414;
  color: #f5f5f5;
  font-size: 0.85rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-align: center;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.strategy-room-choice--pit {
  border-color: #3a2020;
  background-color: rgba(220, 38, 38, 0.12);
  color: #fca5a5;
}

.strategy-room-or {
  color: #777;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-align: center;
}

@media (min-width: 768px) {
  .strategy-room-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.65rem;
  }
}

/* =========================================
   Section 11: 09 WATCH THE RACE
   ========================================= */

.strategy-watch {
  list-style: none;
  margin: 0;
  padding: 0;
  background-color: #111;
  border: 1px solid #2a2a2a;
  border-radius: 0.5rem;
  overflow: hidden;
}

.strategy-watch-row {
  display: grid;
  grid-template-columns: 2rem minmax(0, 1fr);
  gap: 0.2rem 0.7rem;
  padding: 0.75rem 0.95rem;
  border-bottom: 1px solid #222;
}

.strategy-watch-row:last-child {
  border-bottom: none;
}

.strategy-watch-no {
  grid-row: 1 / span 2;
  align-self: start;
  color: #f87171;
  font-size: 0.8rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  line-height: 1.6;
}

.strategy-watch-q {
  color: #f5f5f5;
  font-size: 0.9rem;
  font-weight: 700;
  line-height: 1.5;
  overflow-wrap: anywhere;
}

.strategy-watch-desc {
  color: #aaa;
  font-size: 0.8rem;
  line-height: 1.6;
  overflow-wrap: anywhere;
}

/* 마지막 정리 (절제된 강조) */
.strategy-recap {
  margin: 1rem 0 0;
  padding: 0.85rem 1rem;
  background-color: #111;
  border: 1px solid #2a2a2a;
  border-left: 3px solid #dc2626;
  border-radius: 0.45rem;
}

.strategy-recap p {
  color: #ddd;
  font-size: 0.875rem;
  line-height: 1.7;
  margin: 0;
}

.strategy-recap p + p {
  margin-top: 0.3rem;
  color: #f5f5f5;
  font-weight: 600;
}

/* =========================================
   Section 12: FAQ 아코디언 (네이티브 details/summary)
   ========================================= */

.strategy-details {
  background-color: #111;
  border: 1px solid #2a2a2a;
  border-radius: 0.5rem;
  margin-bottom: 0.6rem;
  overflow: hidden;
}

.strategy-details > summary {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  min-height: 44px;
  padding: 0.85rem 1rem;
  color: #f5f5f5;
  font-size: 0.925rem;
  font-weight: 600;
  line-height: 1.5;
  cursor: pointer;
  list-style: none;
}

.strategy-details > summary::-webkit-details-marker {
  display: none;
}

.strategy-details > summary::after {
  content: '+';
  margin-left: auto;
  color: #dc2626;
  font-size: 1.1rem;
  font-weight: bold;
  flex-shrink: 0;
}

.strategy-details[open] > summary::after {
  content: '−';
}

.strategy-details[open] > summary {
  border-bottom: 1px solid #222;
}

.strategy-details > summary:hover {
  background-color: #161616;
}

.strategy-details > summary:focus-visible {
  outline: 2px solid #dc2626;
  outline-offset: -2px;
}

.strategy-details-body {
  padding: 1rem;
}

.strategy-details-body p {
  color: #bbb;
  font-size: 0.875rem;
  line-height: 1.75;
  margin: 0;
}

/* =========================================
   Section 13: 관련 용어 칩
   ========================================= */

.strategy-term-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.strategy-term-chip {
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  padding: 0.4rem 0.8rem;
  background-color: #1a1a1a;
  border: 1px solid #2a2a2a;
  border-radius: 999px;
  color: #ddd;
  font-size: 0.825rem;
  text-decoration: none;
  transition: border-color 0.2s, color 0.2s;
}

.strategy-term-chip:hover,
.strategy-term-chip:focus-visible {
  border-color: #dc2626;
  color: #fff;
}

/* =========================================
   Section 14: SOURCES & REFERENCES
   ========================================= */

.strategy-source {
  padding-top: 1.5rem;
  border-top: 1px solid #222;
}

.strategy-source-title {
  font-size: 0.925rem;
  font-weight: bold;
  color: #aaa;
  margin: 0 0 0.6rem;
}

.strategy-source-subtitle {
  font-size: 0.78rem;
  font-weight: bold;
  color: #999;
  letter-spacing: 0.06em;
  margin: 1rem 0 0.4rem;
}

.strategy-source p {
  color: #888;
  font-size: 0.825rem;
  line-height: 1.7;
  margin: 0 0 0.7rem;
  max-width: 46rem;
}

.strategy-source-list {
  list-style: none;
  margin: 0 0 0.7rem;
  padding: 0;
}

.strategy-source-list li {
  position: relative;
  padding-left: 0.85rem;
  color: #888;
  font-size: 0.825rem;
  line-height: 1.7;
  margin-bottom: 0.25rem;
  overflow-wrap: anywhere;
}

.strategy-source-list li::before {
  content: '·';
  position: absolute;
  left: 0.15rem;
  top: 0;
  color: #555;
}

.strategy-source-list a {
  color: #999;
  text-decoration: underline;
}

.strategy-source-list a:hover,
.strategy-source-list a:focus-visible {
  color: #f5f5f5;
}

.strategy-source-meta {
  color: #777;
  font-size: 0.78rem;
  line-height: 1.6;
  margin: 0;
}

/* =========================================
   Section 15: 모바일 대응 (최소 360px 보장, 가로 스크롤 방지)

   compact 원칙: 세로 여백(padding-top/bottom · margin · gap)을 줄이고
   좌우 padding·본문 font-size·카드 구조·색상은 유지한다.
   터치 대상(내비 항목·FAQ summary 44px · 관련 용어 칩 36px) 최소 높이는 유지한다.
   ========================================= */

@media (max-width: 520px) {
  /*
    strategy 페이지 전용 좌우 여백 보정: 공통 .container(1rem)에 소량만 더한다.
    이 스타일시트는 /guide/strategy 에서만 로드되므로 다른 페이지에는 영향이 없다.
  */
  .guide-page {
    padding-inline: 0.25rem;
  }

  /* --- Hero --- (guide.css 공통 클래스지만 이 페이지에서만 로드됨) */
  .guide-page-title {
    font-size: 1.5rem;
    line-height: 1.3;
    margin-bottom: 0.35rem;
  }

  .guide-page-subtitle {
    margin-bottom: 1rem;
  }

  .strategy-hero {
    margin-bottom: 1.4rem;
  }

  .strategy-hero-lead {
    font-size: 0.925rem;
    margin-bottom: 0.75rem;
  }

  /* --- 섹션 내비게이터 --- */
  .strategy-stepnav {
    margin-bottom: 1.75rem;
    padding: 0.5rem 0;
  }

  .strategy-stepnav-item {
    padding: 0.3rem 0.55rem;
  }

  /* --- 섹션 공통 --- */
  .strategy-section {
    margin-bottom: 1.9rem;
  }

  .strategy-section-title {
    font-size: 1.1rem;
    margin-bottom: 0.4rem;
  }

  .strategy-section-desc {
    margin-bottom: 0.95rem;
  }

  .strategy-note {
    margin-top: 0.7rem;
  }

  .strategy-callout {
    margin-top: 0.8rem;
    padding: 0.65rem 0.85rem;
    font-size: 0.875rem;
  }

  .strategy-hypo {
    margin-bottom: 0.7rem;
  }

  /* --- 실제 사례 사진: 세로 여백만 축소, 캡션·출처 가독성은 유지 --- */
  .strategy-figure {
    margin-bottom: 0.95rem;
  }

  .strategy-figure-caption {
    margin-top: 0.45rem;
    font-size: 0.78rem;
  }

  .strategy-figure-credit {
    font-size: 0.72rem;
  }

  /* --- 비교 카드 (상하 padding만 축소, 좌우 0.85rem 유지) --- */
  .strategy-compare {
    gap: 0.5rem;
  }

  .strategy-compare-card,
  .strategy-stack-lane {
    padding: 0.7rem 0.85rem;
  }

  .strategy-compare-tag {
    margin-bottom: 0.35rem;
  }

  .strategy-compare-title {
    margin-bottom: 0.3rem;
  }

  .strategy-flow {
    margin-top: 0.55rem;
  }

  .strategy-flow li {
    margin-bottom: 0.22rem;
  }

  .strategy-chips {
    margin-top: 0.7rem;
  }

  /* --- 스테퍼: 카드 폭을 줄여 스와이프 부담 완화 --- */
  .strategy-stepper-item {
    flex: 1 0 7.5rem;
    padding: 0.6rem 0.65rem;
  }

  /* --- 피트 윈도우 --- */
  .strategy-window {
    padding: 0.8rem;
  }

  .strategy-window-cards {
    margin-top: 0.75rem;
    gap: 0.4rem;
  }

  .strategy-window-card {
    padding: 0.55rem 0.7rem;
  }

  /* 좁은 화면에서는 밴드 안 라벨을 숨기고 아래 설명 카드로 전달 */
  .strategy-window-zone {
    font-size: 0.62rem;
  }

  .strategy-window-zone--early,
  .strategy-window-zone--late {
    color: transparent;
  }

  /* --- SC/VSC 3행 비교: 라벨 열 축소 --- */
  .strategy-sc-row {
    grid-template-columns: 3.6rem minmax(0, 1fr);
    gap: 0.15rem 0.5rem;
  }

  .strategy-link-cta {
    margin-top: 0.85rem;
    padding: 0.65rem 0.8rem;
  }

  /* --- 더블 스택 --- */
  .strategy-stack {
    gap: 0.5rem;
  }

  .strategy-stack-lane-head {
    margin-bottom: 0.4rem;
  }

  /* --- 전략 대시보드: 2열 유지 --- */
  .strategy-room {
    padding: 0.8rem;
  }

  .strategy-room-grid {
    gap: 0.4rem;
  }

  .strategy-room-tile {
    padding: 0.6rem 0.65rem;
  }

  .strategy-room-arrow {
    margin: 0.5rem 0 0.4rem;
  }

  .strategy-room-decision {
    gap: 0.3rem;
  }

  .strategy-room-choice {
    padding: 0.6rem 0.45rem;
    font-size: 0.78rem;
    letter-spacing: 0.02em;
  }

  /* --- WATCH THE RACE --- */
  .strategy-watch-row {
    padding: 0.6rem 0.75rem;
    grid-template-columns: 1.8rem minmax(0, 1fr);
    gap: 0.15rem 0.55rem;
  }

  .strategy-recap {
    margin-top: 0.85rem;
    padding: 0.7rem 0.85rem;
  }

  /* --- FAQ: summary 44px 터치 영역과 좌우 1rem 유지 --- */
  .strategy-details {
    margin-bottom: 0.45rem;
  }

  .strategy-details > summary {
    padding: 0.6rem 1rem;
  }

  .strategy-details-body {
    padding: 0.75rem 1rem;
  }
}

/* 매우 좁은 화면(≤360px): 판단 결과 두 갈래를 세로로 전환 */
@media (max-width: 380px) {
  .strategy-room-decision {
    grid-template-columns: minmax(0, 1fr);
  }

  .strategy-room-or {
    padding: 0.1rem 0;
  }
}

/* =========================================
   Section 16: 모션 최소화 환경
   애니메이션은 사용하지 않으며 transition과 anchor smooth 스크롤만 비활성화한다.
   ========================================= */

@media (prefers-reduced-motion: reduce) {
  .strategy-stepnav-item,
  .strategy-term-chip,
  .strategy-link-cta-link {
    transition: none;
  }

  .strategy-section {
    scroll-behavior: auto;
  }
}
