/* 페이지 기본형. 시각 보정 오버라이드는 이 파일 맨 아래 "Visual refinement pass"에 모아 두었다. */
.feature-page--animated-captions {
  --feature-accent: #6b5cff;
  --feature-accent-2: #c9f06a;
  --feature-accent-soft: rgba(107, 92, 255, 0.12);
  --feature-wash: rgba(107, 92, 255, 0.08);
}

.animated-shell { padding-top: 24px; }
.animated-hero {
  grid-template-columns: minmax(0, 0.83fr) minmax(520px, 1.17fr);
  gap: 50px;
  min-height: 720px;
  padding-top: 27px;
}
.animated-hero h1 { font-size: clamp(43px, 4.8vw, 70px); }
.animated-hero .feature-trust-row li::before {
  content: "";
  width: 7px;
  height: 7px;
  border: 2px solid var(--feature-accent);
  background: transparent;
  box-shadow: none;
}

.caption-reel,
.compare-panel,
.word-panel,
.pacing-panel,
.motion-panel,
.revise-panel {
  overflow: hidden;
  color: #f5f2ff;
  border: 1px solid #312d3e;
  border-radius: 24px;
  background: #111016;
  box-shadow: 0 28px 70px rgba(25, 20, 44, 0.24);
}
.caption-reel {
  display: block;
}
.caption-reel-bar,
.caption-card-bar {
  min-height: 52px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 0 17px;
  border-bottom: 1px solid #312d3e;
  font: 800 9px "Manrope", sans-serif;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.caption-reel-bar > span { display: flex; align-items: center; gap: 8px; }
.caption-reel-bar i { width: 7px; height: 7px; border-radius: 50%; background: #c9f06a; }
.caption-reel-bar small,
.caption-card-bar span { color: #807a92; font-size: 8px; }

.caption-gallery {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 10px;
  padding: 15px;
}
.caption-gallery .caption-moment {
  grid-column: span 2;
}
.caption-gallery .caption-moment:nth-child(4) { grid-column: 2 / span 2; }
.caption-gallery .caption-moment:nth-child(5) { grid-column: 4 / span 2; }
.caption-moment-label {
  position: absolute;
  z-index: 7;
  top: 9px;
  left: 10px;
  display: grid;
  gap: 1px;
  padding: 5px 7px;
  border-radius: 7px;
  background: rgba(12, 11, 16, 0.58);
  backdrop-filter: blur(6px);
}
.caption-moment-label strong { color: #fff; font: 800 8px "Manrope", sans-serif; }
.caption-moment-label span { color: #a29cad; font: 700 6px "Manrope", sans-serif; }
.caption-moment {
  position: relative;
  isolation: isolate;
  aspect-ratio: 9 / 16;
  overflow: hidden;
  border: 1px solid #3b364a;
  border-radius: 13px;
  box-shadow: 0 12px 24px rgba(0, 0, 0, 0.22);
}
.caption-moment video { display: block; width: 100%; height: 100%; object-fit: cover; background: #111016; }
.caption-moment--clean { background: linear-gradient(155deg, #8e938c, #383f39 56%, #171a18); }
.caption-moment--bold { background: linear-gradient(150deg, #2a354a, #10141d 67%); }
.caption-moment--karaoke { background: linear-gradient(150deg, #c79063, #644b3d 55%, #2a2423); }
.caption-moment--minimal { background: linear-gradient(165deg, #b8b4a6 0 44%, #6f746e 44% 70%, #262b29 70%); }
.caption-moment--pop { background: linear-gradient(150deg, #a3d8de, #7c68c7 54%, #29233d); }

.caption-moment p {
  position: absolute;
  z-index: 5;
  left: 7%;
  right: 7%;
  margin: 0;
  text-align: center;
}
.caption-moment--clean p {
  bottom: 12%;
  padding: 7px 10px;
  color: #fff;
  background: rgba(9, 12, 11, 0.5);
  font: 700 14px/1.38 "Manrope", sans-serif;
  text-shadow: 0 2px 4px #000;
}
.caption-moment--clean p em { color: #d5ff84; font-style: normal; font-weight: 900; }
.caption-moment--clean p { animation: clean-caption 2.8s cubic-bezier(.2,.75,.2,1) infinite; }
.caption-moment--bold p { bottom: 14%; color: #fff; font: 900 17px/1.03 "Roboto Condensed", sans-serif; text-shadow: 0 3px 0 #080810, 2px 0 0 #080810, -2px 0 0 #080810; }
.caption-moment--bold p span { display: block; }
.caption-moment--bold p strong { display: block; margin: 4px 0; color: #d4ff63; font-size: 33px; letter-spacing: -0.03em; }
.caption-moment--bold p strong { animation: bold-land 2.8s cubic-bezier(.15,.85,.2,1.15) infinite; }
.caption-moment--karaoke p { bottom: 13%; color: rgba(255,255,255,.55); font: 900 15px/1.42 "Manrope", sans-serif; text-shadow: 0 2px 5px #000; }
.caption-moment--karaoke .is-active-word { color: #ffe66e; }
.caption-moment--karaoke .is-active-word { animation: karaoke-word 2.8s ease infinite; }
.caption-moment--minimal p { bottom: 9%; color: #fffdf3; font: 600 12px/1.55 "Manrope", sans-serif; letter-spacing: 0.015em; text-shadow: 0 2px 7px rgba(0,0,0,.85); }
.caption-moment--minimal p { animation: minimal-caption 2.8s ease infinite; }
.caption-moment--pop p { bottom: 12%; font: 900 19px/1 "Manrope", sans-serif; text-shadow: 0 4px 0 #1b1026, 3px 0 0 #1b1026, -3px 0 0 #1b1026; }
.caption-moment--pop p span { display: block; color: #fff; }
.caption-moment--pop p strong { display: inline-block; margin-top: 7px; padding: 4px 8px; border-radius: 7px; color: #23142d; background: #ffcd5e; font-size: 31px; transform: rotate(-2deg); }
.caption-moment--pop p strong { animation: pop-land 2.8s cubic-bezier(.16,.9,.2,1.2) infinite; }

.caption-reel-proof { grid-column: 1 / -1; display: flex; justify-content: center; flex-wrap: wrap; gap: 8px 21px; padding: 14px; border-top: 1px solid #312d3e; color: #8e889e; font: 700 8px "Manrope", sans-serif; }
.caption-reel-proof span::before { content: "✓"; margin-right: 6px; color: #c9f06a; }

.animated-proof {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  align-items: center;
  gap: 48px;
  margin-top: 78px;
  padding: 45px;
  border: 1px solid var(--theme-border);
  border-radius: 27px;
  background: color-mix(in srgb, var(--theme-surface-solid) 88%, transparent);
}
.animated-proof h2 { margin: 0; max-width: 680px; color: var(--theme-text-strong); font: 900 clamp(30px,3.7vw,51px)/1.04 "Manrope",sans-serif; letter-spacing: -.05em; }
.animated-proof dl { display: grid; grid-template-columns: repeat(2,1fr); gap: 20px; margin: 0; }
.animated-proof dl div { padding-left: 16px; border-left: 1px solid var(--theme-border); }
.animated-proof dt { color: var(--feature-accent); font: 900 34px "Manrope",sans-serif; }
.animated-proof dd { margin: 2px 0 0; color: var(--theme-text-muted); font-size: 10px; }

.animated-process { margin-top: 120px; }
.animated-process-list { display: grid; gap: 32px; margin-top: 46px; }
.animated-process-card {
  display: grid;
  grid-template-columns: minmax(250px, .68fr) minmax(0, 1.32fr);
  align-items: center;
  gap: 50px;
  min-height: 560px;
  padding: 50px;
  border: 1px solid var(--theme-border);
  border-radius: 29px;
  background: color-mix(in srgb, var(--theme-surface-solid) 88%, transparent);
}
.animated-copy > span { color: var(--feature-accent); font: 900 10px "Manrope",sans-serif; letter-spacing: .1em; }
.animated-copy h3 { margin: 17px 0 0; color: var(--theme-text-strong); font: 900 clamp(28px,3.2vw,44px)/1.04 "Manrope",sans-serif; letter-spacing: -.045em; }
.animated-copy > p { margin: 17px 0 0; color: var(--theme-text-muted); font-size: 15px; line-height: 1.7; }
.animated-copy label { display: grid; gap: 9px; margin-top: 24px; color: var(--theme-text-soft); font: 800 9px "Manrope",sans-serif; text-transform: uppercase; }
.animated-copy input { width: 100%; accent-color: var(--feature-accent); }
.inline-choice,.pacing-buttons,.motion-buttons { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 23px; }
.inline-choice button,.pacing-buttons button,.motion-buttons button { min-height: 38px; padding: 0 13px; border: 1px solid var(--theme-border); border-radius: 99px; color: var(--theme-text-muted); background: var(--theme-surface-solid); font: 800 9px "Manrope",sans-serif; cursor: pointer; }
.inline-choice button.is-active,.pacing-buttons button.is-active,.motion-buttons button.is-active { color: var(--feature-accent); border-color: color-mix(in srgb,var(--feature-accent) 55%,var(--theme-border)); background: var(--feature-accent-soft); }

.compare-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1px; background: #312d3e; }
.compare-example { min-width: 0; background: #111016; }
.compare-example > strong { display: block; padding: 10px 12px; color: #aaa4b5; font: 800 8px "Manrope",sans-serif; text-transform: uppercase; }
.compare-stage,.pacing-stage,.revise-stage { position: relative; overflow: hidden; min-height: 330px; background: #111016; }
.compare-stage { min-height: 260px; }
.demo-stage-media { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.compare-caption { position: absolute; z-index: 4; left: 9%; right: 9%; bottom: 11%; opacity: 0; text-align: center; }
.compare-example .compare-caption { opacity: 1; }
.compare-caption--clean { padding: 7px; color: #fff; background: rgba(10,10,12,.46); font: 700 11px/1.35 "Manrope",sans-serif; }
.compare-caption--clean em { color: #d1f870; font-style: normal; font-weight: 900; }
.compare-caption--bold { color: #fff; font: 900 14px/1.03 "Roboto Condensed",sans-serif; text-shadow: 0 3px 0 #0b0911,2px 0 0 #0b0911,-2px 0 0 #0b0911; }
.compare-caption--bold span { display: block; }
.compare-caption--bold strong { display: block; color: #d1f870; font-size: 29px; }
.compare-caption--karaoke { color: rgba(255,255,255,.52); font: 900 11px/1.5 "Manrope",sans-serif; text-shadow: 0 2px 5px #000; }
.compare-caption--karaoke .is-current { color: #d1f870; }
.compare-timing { display: grid; grid-template-columns: auto 1fr auto auto; align-items: center; gap: 10px; padding: 15px; color: #7f798f; font: 800 7px "Manrope",sans-serif; }
.compare-timing i { height: 5px; border-radius: 5px; background: linear-gradient(90deg,#3c3846 0 42%,#6b5cff 42% 57%,#3c3846 57%); }
.compare-timing b { color: #c9f06a; font-size: 8px; }

.waveform { position: relative; display: flex; align-items: center; justify-content: space-between; height: 170px; margin: 20px; padding: 0 8px; overflow: hidden; }
.waveform::after { content: ""; position: absolute; left: 0; right: 0; top: 50%; height: 1px; background: #36323f; }
.waveform i { z-index: 1; width: 7%; border-radius: 4px; background: #554f62; }
.waveform i:nth-child(1){height:30%}.waveform i:nth-child(2){height:62%}.waveform i:nth-child(3){height:44%}.waveform i:nth-child(4){height:79%}.waveform i:nth-child(5){height:52%}.waveform i:nth-child(6){height:88%}.waveform i:nth-child(7){height:65%}.waveform i:nth-child(8){height:37%}.waveform i:nth-child(9){height:70%}.waveform i:nth-child(10){height:42%}
.waveform b { position: absolute; z-index: 3; top: 7px; bottom: 7px; left: calc(100% * var(--word-progress,.42)); width: 2px; background: #c9f06a; transform: translateX(-1px); }
.word-chips { display: flex; flex-wrap: wrap; gap: 6px; padding: 0 20px 15px; }
.word-chips span { padding: 6px 8px; border: 1px solid #373241; border-radius: 5px; color: #837d90; font: 800 8px "Manrope",sans-serif; }
.word-chips span.is-active { color: #17151c; border-color: #c9f06a; background: #c9f06a; }
.word-panel > p { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin: 0; padding: 15px 20px; border-top: 1px solid #312d3e; }
.word-panel > p strong { color: #fff; font: 900 19px "Manrope",sans-serif; }
.word-panel > p span { color: #7e788d; font-size: 8px; }

.pacing-stage { min-height: 350px; }
.pacing-stage > p { position: absolute; z-index: 4; left: 8%; right: 8%; bottom: 11%; margin: 0; padding: 8px; color: #fff; background: rgba(12,11,16,.52); font: 800 17px/1.4 "Manrope",sans-serif; text-align: center; text-shadow: 0 2px 5px #000; }
.pacing-panel[data-pacing="short"] .pacing-stage > p { left: 21%; right: 21%; font-size: 22px; }
.pacing-panel[data-pacing="word"] .pacing-stage > p { left: 25%; right: 25%; color: #1b152a; background: #c9f06a; font-size: 28px; font-weight: 900; }
.pacing-panel[data-pacing="sentence"] .pacing-stage > p { left: 5%; right: 5%; font-size: 14px; }
.pacing-source { display: grid; gap: 4px; padding: 14px 17px; border-top: 1px solid #312d3e; }
.pacing-source span { color: #756f83; font: 800 7px "Manrope",sans-serif; text-transform: uppercase; }
.pacing-source strong { color: #bbb5c7; font: 700 9px/1.5 "Manrope",sans-serif; }

.motion-stage { position: relative; min-height: 310px; display: grid; place-items: center; overflow: hidden; background: #111016; }
.motion-stage::after { content: ""; position: absolute; inset: 0; background: rgba(15,10,24,.24); }
.motion-stage > span { position: relative; z-index: 2; display: inline-block; color: #c9f06a; font: 900 clamp(48px,7vw,82px) "Roboto Condensed",sans-serif; letter-spacing: -.05em; text-shadow: 0 4px 0 #09070e; }
.motion-panel.is-animating[data-motion="clean"] .motion-stage > span { animation: clean-caption 800ms ease both; }
.motion-panel.is-animating[data-motion="bold"] .motion-stage > span { animation: bold-land 760ms cubic-bezier(.15,.85,.2,1.15) both; }
.motion-panel.is-animating[data-motion="karaoke"] .motion-stage > span { animation: karaoke-word 900ms ease both; }
.motion-panel.is-animating[data-motion="pop"] .motion-stage > span { animation: pop-land 760ms cubic-bezier(.16,.9,.2,1.2) both; }
.motion-phases { display: grid; grid-template-columns: repeat(4,1fr); padding: 14px; }
.motion-phases > div { display: grid; gap: 4px; padding: 0 10px; border-right: 1px solid #302c39; }
.motion-phases > div:last-child { border: 0; }
.motion-phases i { width: 7px; height: 7px; border-radius: 50%; background: #494452; }
.motion-phases .is-current i { background: #c9f06a; box-shadow: 0 0 0 4px rgba(201,240,106,.1); }
.motion-phases strong { color: #a09aab; font: 800 8px "Manrope",sans-serif; }
.motion-phases small { color: #655f70; font-size: 7px; }

.revise-panel { display: grid; grid-template-columns: .9fr 1.1fr; min-height: 390px; }
.revise-chat { display: grid; align-content: center; gap: 10px; padding: 16px; border-right: 1px solid #312d3e; }
.revise-chat article { padding: 12px; border-radius: 10px; background: #1b1921; }
.revise-chat article span { color: #9b87ff; font: 800 7px "Manrope",sans-serif; text-transform: uppercase; }
.revise-chat article p { margin: 5px 0 0; color: #c8c3d0; font-size: 9px; line-height: 1.5; }
.revise-chat > div { display: grid; gap: 3px; padding-left: 10px; border-left: 2px solid #c9f06a; }
.revise-chat > div strong { font-size: 9px; }
.revise-chat > div small { color: #777180; font-size: 7px; }
.revise-result { display: grid; align-content: center; gap: 11px; padding: 15px; }
.revise-stage { min-height: 260px; border-radius: 11px; }
.revise-stage > p { position: absolute; z-index: 4; left: 7%; right: 7%; bottom: 10%; margin: 0; color: #fff; font: 900 16px/1.1 "Roboto Condensed",sans-serif; text-align: center; text-shadow: 0 3px 0 #0b0911,2px 0 0 #0b0911,-2px 0 0 #0b0911; }
.revise-stage > p span,.revise-stage > p strong { display: block; }
.revise-stage > p strong { color: #c9f06a; font-size: 38px; }
.revise-panel[data-revised="true"] .revise-stage > p span { color: #9f87ff; }
.revise-panel[data-revised="true"] .revise-stage > p strong { animation: pop-land 700ms cubic-bezier(.16,.9,.2,1.2) both; }
.revision-track { display: grid; grid-template-columns: auto minmax(0,1fr); gap: 5px 10px; padding: 11px; border: 1px solid #312d3e; border-radius: 8px; background: #1a181f; }
.revision-track span { color: #716b7b; font-size: 7px; }
.revision-track strong { color: #d6d1dd; font-size: 8px; text-align: right; }
.revision-track i { grid-column: 1/-1; height: 4px; border-radius: 4px; background: #6b5cff; }
.revise-panel[data-revised="true"] .revision-track i { background: linear-gradient(90deg,#6b5cff 0 48%,#c9f06a 48% 67%,#6b5cff 67%); }

.animated-flow { display: grid; grid-template-columns: .7fr 1.3fr; align-items: center; gap: 48px; margin-top: 118px; padding: 44px; border-top: 1px solid var(--theme-border); border-bottom: 1px solid var(--theme-border); }
.animated-flow h2 { margin: 0; color: var(--theme-text-strong); font: 900 clamp(31px,3.8vw,51px)/1.04 "Manrope",sans-serif; letter-spacing: -.05em; }
.animated-flow ol { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }
.animated-flow li { position: relative; display: grid; grid-template-columns: 35px 1fr; gap: 1px 10px; padding: 13px 0; border-bottom: 1px solid var(--theme-border); }
.animated-flow li:last-child { border: 0; }
.animated-flow li::after { content: "↓"; position: absolute; left: 8px; bottom: -9px; color: var(--feature-accent); font-size: 11px; }
.animated-flow li:last-child::after { display: none; }
.animated-flow li span { grid-row: 1/3; color: var(--feature-accent); font: 900 9px "Manrope",sans-serif; }
.animated-flow li strong { color: var(--theme-text-strong); font-size: 13px; }
.animated-flow li small { color: var(--theme-text-muted); font-size: 9px; }

.animated-showcase,.animated-seo,.animated-workflow { margin-top: 122px; }
.animated-showcase-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 14px; margin-top: 40px; }
.animated-showcase-grid article { padding: 12px 12px 20px; border: 1px solid var(--theme-border); border-radius: 17px; background: color-mix(in srgb,var(--theme-surface-solid) 86%,transparent); }
.animated-showcase-grid article > div { aspect-ratio: 9/12; border-radius: 10px; }
.animated-showcase-grid h3 { margin: 17px 4px 0; color: var(--theme-text-strong); font: 800 14px "Manrope",sans-serif; }
.animated-showcase-grid p { margin: 7px 4px 0; color: var(--theme-text-muted); font-size: 10px; line-height: 1.55; }
.media-demo-frame { overflow: hidden; background: #111016; }
.media-demo-frame img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 50% 62%; }

.animated-seo-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 18px; margin-top: 40px; }
.animated-seo-grid > div { padding: 28px; border: 1px solid var(--theme-border); border-radius: 17px; background: color-mix(in srgb,var(--theme-surface-solid) 82%,transparent); }
.animated-seo-grid > div:last-child { grid-column: 1/-1; }
.animated-seo-grid h3 { margin: 0; color: var(--theme-text-strong); font: 800 17px/1.3 "Manrope",sans-serif; }
.animated-seo-grid p { margin: 12px 0 0; color: var(--theme-text-muted); line-height: 1.72; }
.animated-related { margin: 24px 0 0; color: var(--theme-text-muted); font-size: 13px; }
.animated-related a { color: var(--feature-accent); font-weight: 800; }
.animated-workflow .feature-workflow-list { grid-template-columns: repeat(5,minmax(0,1fr)); gap: 24px; }
.animated-final-cta { margin-bottom: 90px; }

@keyframes clean-caption { from { opacity: 0; transform: translateY(9px); } to { opacity: 1; transform: none; } }
@keyframes bold-land { 0% { opacity: 0; transform: scale(.68); } 68% { opacity: 1; transform: scale(1.08); } 100% { opacity: 1; transform: scale(1); } }
@keyframes karaoke-word { 0% { color: rgba(255,255,255,.55); transform: scale(1); } 35%,78% { color: #ffe66e; transform: scale(1.08); } 100% { color: #fff; transform: scale(1); } }
@keyframes minimal-caption { from { opacity: 0; transform: translateY(4px); } to { opacity: 1; transform: none; } }
@keyframes pop-land { 0% { opacity: 0; transform: rotate(-2deg) scale(.55); } 65% { opacity: 1; transform: rotate(-2deg) scale(1.12); } 100% { opacity: 1; transform: rotate(-2deg) scale(1); } }

@media (max-width: 1040px) {
  .animated-hero { grid-template-columns: 1fr; }
  .caption-reel { width: min(100%, 720px); margin: auto; }
  .animated-process-card { grid-template-columns: 1fr; }
  .animated-flow { grid-template-columns: 1fr; }
  .animated-showcase-grid { grid-template-columns: repeat(2,1fr); }
  .animated-workflow .feature-workflow-list { grid-template-columns: 1fr; gap: 22px; }
  .animated-workflow .feature-workflow-list li { min-height: 44px; padding: 0 0 0 64px; }
  .animated-workflow .feature-workflow-list li:not(:last-child)::after { top: 51px; bottom: -15px; left: 22px; right: auto; width: 1px; height: auto; background: linear-gradient(180deg,color-mix(in srgb,var(--feature-accent) 42%,transparent),transparent); }
}

@media (max-width: 700px) {
  .animated-shell { width: min(100% - 28px,1180px); padding-top: 7px; }
  .animated-hero { gap: 34px; padding: 35px 0 60px; }
  .animated-hero h1 { font-size: clamp(38px,11.7vw,54px); }
  .caption-reel { border-radius: 19px; }
  .caption-reel-bar { padding: 0 11px; }
  .caption-gallery { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; padding: 10px; }
  .caption-gallery .caption-moment { grid-column: auto; }
  .caption-gallery .caption-moment:nth-child(4) { grid-column: auto; }
  .caption-gallery .caption-moment:nth-child(5) { grid-column: 1 / -1; width: calc(50% - 4px); justify-self: center; }
  .animated-proof { grid-template-columns: 1fr; padding: 28px 20px; }
  .animated-process { margin-top: 80px; }
  .animated-process-card { gap: 28px; min-height: 0; padding: 28px 17px; border-radius: 21px; }
  .compare-grid { grid-template-columns: 1fr; gap: 1px; }
  .compare-stage { min-height: 210px; }
  .compare-caption--clean { font-size: 14px; }
  .compare-caption--bold { font-size: 18px; }
  .compare-caption--bold strong { font-size: 38px; }
  .compare-caption--karaoke { font-size: 15px; }
  .pacing-stage { min-height: 280px; }
  .waveform { height: 130px; margin: 12px; }
  .word-chips { padding: 0 12px 13px; }
  .motion-stage { min-height: 230px; }
  .motion-phases strong { font-size: 7px; }
  .revise-panel { grid-template-columns: 1fr; }
  .revise-chat { border-right: 0; border-bottom: 1px solid #312d3e; }
  .animated-flow { margin-top: 82px; padding: 32px 4px; }
  .animated-showcase,.animated-seo,.animated-workflow { margin-top: 88px; }
  .animated-showcase-grid,.animated-seo-grid { grid-template-columns: 1fr; }
  .animated-seo-grid > div:last-child { grid-column: auto; }
  .animated-showcase-grid article > div { aspect-ratio: 9/12; }
  .animated-final-cta { margin-bottom: 70px; }
}

@media (prefers-reduced-motion: reduce) {
  .caption-moment,.caption-moment p,.caption-moment strong,.motion-stage > span,.revise-stage > p strong,.animated-showcase-grid img { animation: none !important; transition: none !important; }
}

/* ------------------------------------------------------------------
   Visual refinement pass
   - 히어로 장식 글로우 제거, 그라디언트 버튼 → 단색
   - 라운드/그림자 축소로 편집기 톤에 맞춤
   - UI 크롬은 액센트 한 색으로 수렴 (데모 안 캡션 아트 색은 제품 스타일이라 유지)
   - 제목만 무겁게, 라벨 최소 9px
   ------------------------------------------------------------------ */

/* 히어로 뒤 radial glow 제거 */
.feature-page--animated-captions .feature-hero::before { display: none; }

/* 그라디언트 CTA → 단색 */
.feature-page--animated-captions .feature-primary-action,
.feature-page--animated-captions .feature-secondary-action { font-weight: 700; }
.feature-page--animated-captions .feature-primary-action {
  border-color: transparent;
  background: var(--feature-accent);
  box-shadow: none;
}
.feature-page--animated-captions .feature-primary-action:hover {
  background: color-mix(in srgb, var(--feature-accent) 86%, #000);
}

/* 큰 라운드 + 큰 그림자 축소 */
.caption-reel,.compare-panel,.word-panel,.pacing-panel,.motion-panel,.revise-panel {
  border-radius: 10px;
  box-shadow: 0 10px 24px rgba(17, 14, 30, 0.08);
}
.animated-proof { border-radius: 12px; }
.animated-process-card { border-radius: 12px; }
.caption-moment { border-radius: 8px; box-shadow: none; }
.caption-moment-label { border-radius: 4px; }
.revise-chat article { border-radius: 6px; }
.revision-track { border-radius: 6px; }

/* UI 크롬 색을 액센트 한 색으로 */
.caption-reel-bar i { background: var(--feature-accent); }
.caption-reel-proof span::before { color: var(--feature-accent); }
.compare-timing b { color: var(--feature-accent); }
.compare-timing i { background: linear-gradient(90deg, #3c3846 0 42%, var(--feature-accent) 42% 57%, #3c3846 57%); }
.motion-phases .is-current i { background: var(--feature-accent); box-shadow: none; }
.revision-track i { background: var(--feature-accent); }
.revise-panel[data-revised="true"] .revision-track i {
  background: linear-gradient(90deg, var(--feature-accent) 0 48%, var(--feature-accent-2) 48% 67%, var(--feature-accent) 67%);
}

/* 타이포 위계: 제목만 800, 라벨 최소 9px */
.caption-reel-bar,.caption-card-bar { font: 700 10px "Manrope", sans-serif; }
.caption-reel-bar small,.caption-card-bar span { font-size: 9px; }
.caption-moment-label strong { font: 700 9px "Manrope", sans-serif; }
.caption-moment-label span { font: 600 8px "Manrope", sans-serif; }
.caption-reel-proof { font: 600 10px "Manrope", sans-serif; }
.compare-example > strong { font: 700 9px "Manrope", sans-serif; }
.compare-timing { font: 700 9px "Manrope", sans-serif; }
.compare-timing b { font-size: 9px; }
.word-chips span { font: 700 9px "Manrope", sans-serif; }
.word-panel > p span { font-size: 9px; }
.pacing-source span { font: 700 9px "Manrope", sans-serif; }
.pacing-source strong { font: 600 10px/1.5 "Manrope", sans-serif; }
.motion-phases strong { font: 700 9px "Manrope", sans-serif; }
.motion-phases small { font-size: 9px; }
.animated-proof dd { font-size: 11px; }
.animated-copy > span { font: 700 11px "Manrope", sans-serif; }
.animated-copy h3 { font: 800 clamp(28px, 3.2vw, 44px)/1.06 "Manrope", sans-serif; }
.animated-copy label { font: 700 10px "Manrope", sans-serif; }
.inline-choice button,.pacing-buttons button,.motion-buttons button { font: 700 10px "Manrope", sans-serif; }
.animated-showcase-grid p { font-size: 11px; }
.revise-chat article span { font: 700 9px "Manrope", sans-serif; }
.revise-chat > div small { font-size: 9px; }
.revision-track span { font-size: 9px; }
.revision-track strong { font-size: 10px; }

/* Tutorial 페이지는 animated-captions의 프레임/섹션 규격을 그대로 사용한다. */
.feature-page--tutorial {
  --feature-accent: #6b5cff;
  --feature-accent-2: #c9f06a;
  --feature-accent-soft: rgba(107, 92, 255, 0.12);
  --feature-wash: rgba(107, 92, 255, 0.08);
}

/* 섹션 갤러리와 과정 카드 미디어: 기존 규격 그대로 영상을 넣는다. */
.section-gallery {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 10px;
  padding: 15px;
}
.section-gallery .section-moment {
  grid-column: span 2;
  position: relative;
  isolation: isolate;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  border: 1px solid #3b364a;
  border-radius: 8px;
  background: #111016;
}
.section-gallery .section-moment:nth-child(4) { grid-column: 2 / span 2; }
.section-gallery .section-moment:nth-child(5) { grid-column: 4 / span 2; }
.section-gallery .section-moment video,
.compare-stage video {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  background: #111016;
}
.compare-stage { min-height: 0; aspect-ratio: 16 / 9; }

/* 히어로 갤러리는 2열로 키우고, 다섯 번째는 가운데 정렬한다. */
.section-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; padding: 18px; }
.section-gallery .section-moment,
.section-gallery .section-moment:nth-child(4) { grid-column: auto; }
.section-gallery .section-moment:nth-child(5) { grid-column: 1 / -1; width: calc(50% - 7px); justify-self: center; }

/* 쇼케이스도 정지 이미지 대신 영상으로 보여준다. */
.feature-page--tutorial .animated-showcase-grid article > div { aspect-ratio: 16 / 9; }
.media-demo-frame video { display: block; width: 100%; height: 100%; object-fit: cover; background: #111016; }
.feature-page--tutorial {
  --feature-accent: #6b5cff;
  --feature-accent-2: #c9f06a;
  --feature-accent-soft: rgba(107, 92, 255, 0.12);
  --feature-wash: rgba(107, 92, 255, 0.08);
}

/* 히어로는 풀영상 하나로 보여준다. */
.tutorial-full-video{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;background:#111016}

/* proof 밴드 재구성: 밝은 카드 + 우측 2x2 숫자 대신,
   편집기 패널과 같은 다크 톤에 제목·설명을 위로, 수치는 한 줄로 내린다. */
.feature-page--tutorial .animated-proof {
  display: block;
  padding: 40px 44px 34px;
  border: 1px solid #302e34;
  border-radius: 12px;
  background: #17171c;
  box-shadow: 0 10px 24px rgba(17, 14, 30, 0.08);
}
.feature-page--tutorial .animated-proof > div { max-width: 720px; }
.feature-page--tutorial .animated-proof h2 { color: #f6f4f1; }
.feature-page--tutorial .animated-proof p { color: #9a95a3; }
.feature-page--tutorial .animated-proof dl {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 22px;
  margin: 30px 0 0;
  padding-top: 26px;
  border-top: 1px solid #302e34;
}
.feature-page--tutorial .animated-proof dl div {
  padding: 0;
  border-left: 0;
}
.feature-page--tutorial .animated-proof dt {
  color: #b7aef7;
  font: 800 32px/1 "Manrope", sans-serif;
  letter-spacing: -0.02em;
}
.feature-page--tutorial .animated-proof dd {
  margin: 8px 0 0;
  color: #8e8a92;
  font-size: 11px;
  line-height: 1.5;
}

@media (max-width: 1040px) {
  .feature-page--tutorial .animated-proof dl { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 18px; }
}
@media (max-width: 700px) {
  .feature-page--tutorial .animated-proof { padding: 28px 20px; }
  .feature-page--tutorial .animated-proof dt { font-size: 26px; }
}
