.tth-video { max-width: 960px; margin: 48px auto; padding: 0 16px; box-sizing: border-box; text-align: center; }
.tth-video h2 { margin: 0 0 6px; color: var(--moss, #2e6b3c); font-size: clamp(26px, 4vw, 38px); line-height: 1.15; }
.tth-video p { margin: 0 0 18px; color: var(--soft, #4c6a50); font-size: 17px; }
.tth-video__frame { border-radius: 20px; overflow: hidden; background: #2e6b3c; box-shadow: 0 6px 0 var(--line, #dcefc4), 0 16px 40px rgba(31, 58, 39, .18); }
.tth-video video { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; }
.tth-video video::cue { color: #fff; background-color: rgba(0, 0, 0, .85); font-size: clamp(14px, 2vw, 22px); }
.tth-video .tth-video__caption-help { margin: 16px 0; font-size: 15px; line-height: 1.5; }
.tth-video__transcript { margin: 16px 0; padding: 16px; border: 2px solid var(--line, #dcefc4); border-radius: 16px; background: #fff; text-align: left; }
.tth-video__transcript summary { cursor: pointer; color: #2e6b3c; font-size: 17px; font-weight: 700; line-height: 1.5; }
.tth-video__transcript summary:focus-visible { outline: 3px solid #2e6b3c; outline-offset: 4px; }
.tth-video__transcript div { padding-top: 16px; }
.tth-video__transcript p { font-size: 17px; line-height: 1.65; color: #243d2a; }
.tth-video__transcript p:last-child { margin-bottom: 0; }
.tth-video__cta { display: inline-block; max-width: 100%; box-sizing: border-box; margin-top: 22px; padding: 14px 28px; border-radius: 999px; background: #bf3434; color: #fff; font-weight: 800; font-size: 18px; line-height: 1.4; text-decoration: none; box-shadow: 0 5px 0 #8d2626; }
.tth-video__cta:hover { filter: brightness(1.06); }
.tth-video__cta:focus-visible { outline: 3px solid #ffc94a; outline-offset: 3px; }
