/* Additions on top of koreanlol-home.css. Uses the same variables and component classes. */

/* Hero animation punchline: fades in when the Hangul laugh is formed. */
.sequence{position:relative}
.morph-punch{position:absolute;left:0;right:0;bottom:0;padding:0 16px 12px;text-align:center;opacity:0;transform:translateY(10px);transition:opacity .55s ease,transform .55s ease;pointer-events:none}
.morph-punch b{display:block;font:700 clamp(20px,2.7vw,30px)/1.08 var(--serif);letter-spacing:-.03em;color:var(--ink)}
.morph-punch span{display:block;margin-top:8px;font:700 10px var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--red-dark)}
.sequence[data-phase="hangul"] .morph-punch,.sequence[data-phase="fallback"] .morph-punch{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.morph-punch{transition:none}}

/* Hangulish explainer inside the Hangulish section. */
.hl-demo{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin:22px 0 16px;padding:16px 20px;border:2px solid var(--ink);background:var(--cream);color:var(--ink)}
.hl-block{display:flex;align-items:center;gap:16px}
.hl-ko{font:700 62px/1 'Noto Sans KR',var(--sans)}
.hl-hl{font:400 62px/1 Hangulish,'Noto Sans KR',sans-serif;color:var(--red-dark)}
.hl-eq{margin:0;font-size:18px}
.hl-eq small{display:block;margin-top:4px;color:var(--muted);font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.hl-label{margin:14px 0 6px;font-size:10px;font-weight:850;letter-spacing:.12em;text-transform:uppercase}
.hl-chips{display:flex;flex-wrap:wrap;gap:6px 8px;margin:0 0 6px}
.hl-chips span{display:inline-flex;align-items:baseline;gap:6px;padding:3px 9px;border:1px solid var(--line);background:var(--cream);color:var(--ink);font-size:13px}
.hl-chips .k{font-family:'Noto Sans KR',sans-serif;font-weight:700}
.hl-chips .h{font-family:Hangulish,'Noto Sans KR',sans-serif;color:var(--red-dark)}
.hl-chips .c{font-size:10px;font-weight:700;color:var(--muted);letter-spacing:.06em}

/* Episode player: reuses starter-card / track-list; only small adjustments. */
.episodes-section .starter-story h3{font-size:30px;letter-spacing:-.02em}
.episodes-section .ep-line{margin:0 0 6px;font:700 17px/1.35 'Noto Sans KR',var(--sans)}
.episodes-section .ep-line-en{margin:0 0 18px;color:#5d5548}
.episodes-section .track-list+.track-list{margin-top:16px}
.episodes-section .track-list-label{margin:14px 0 6px;color:var(--red-dark);font-size:10px;font-weight:850;letter-spacing:.12em;text-transform:uppercase}
.episodes-section .track-list button span.ko{font-family:'Noto Sans KR',var(--sans)}
.hl-chips em{font-style:normal}

/* Fallback if the hero animation cannot run: show the final Hangul laugh as plain text. */
.morph-static{display:none;position:absolute;left:0;right:0;top:18%;text-align:center;font:700 clamp(64px,10vw,120px)/1 'Noto Sans KR',var(--sans);color:var(--ink)}
.sequence[data-phase="fallback"] .morph-static{display:block}
.sequence[data-phase="fallback"] .sequence-svg{visibility:hidden}

/* Shared episode player. */
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.episodes-section .ep-title-en{margin:-6px 0 14px;color:#5d5548;font-size:13px}
.track-list button[aria-current="true"]{background:#f2eadc}
.track-list button[aria-current="true"] span{font-weight:850}
.track-list button:focus-visible{outline:2px solid var(--red-dark);outline-offset:-2px}

/* Hero small text on red: cream, 12px floor. NOT WCAG AA (about 3.5:1); see the contrast note in the owner report. */
.hero-note,.hero-byline,.hero-proof span{color:#fffaf0}
.hero-note{font-size:12px}
.hero-proof span{font-size:12px}

.section-intro h1{margin:0 0 14px;font-size:clamp(34px,4.5vw,58px);line-height:1.04;letter-spacing:-.065em}

/* ===== Design round 2026-10-30: say it clearly, not too small, no repeats ===== */

/* Hero animation: when the Hangul laugh is formed, lift the letters and give the caption room. */
.sequence-svg{transition:transform .6s ease}
.sequence[data-phase="hangul"] .sequence-svg{transform:translateY(-14%)}
.morph-punch{padding:0 20px 28px}
.morph-punch b{font-size:clamp(28px,3.6vw,42px);line-height:1.1}
@media(prefers-reduced-motion:reduce){.sequence-svg{transition:none}}

/* Hangulish section: one big, readable example instead of a mystery mark. */
.hangulish-grid{grid-template-columns:minmax(300px,380px) minmax(0,1fr);gap:56px;align-items:start}
.hl-figure{margin:0;padding:30px 24px 26px;background:var(--dark);color:var(--cream);border:2px solid var(--ink);box-shadow:6px 6px 0 var(--ink)}
.hl-pair{display:flex;justify-content:center;align-items:flex-end;gap:32px}
.hl-pair>div{display:flex;flex-direction:column;align-items:center;gap:12px}
.hl-pair .hl-ko{font:700 120px/1 'Noto Sans KR',var(--sans);color:var(--cream)}
.hl-pair .hl-hl{font:400 120px/1 Hangulish,'Noto Sans KR',sans-serif;color:var(--yellow)}
.hl-pair small{font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#d6cdbf}
.hl-figure figcaption{margin-top:24px;text-align:center;font-size:24px;font-weight:700;letter-spacing:-.02em}
.hl-figure figcaption b{color:var(--yellow)}
.hl-figure figcaption span{display:block;margin-top:8px;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#d6cdbf}
.hl-label{margin:22px 0 10px;font-size:13px}
.hl-chips{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin:0 0 6px}
.hl-chips span{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px;font-size:15px}
.hl-chips .k,.hl-chips .h{font-size:28px;line-height:1.1}
.hl-chips .c{font-size:15px}
@media(max-width:900px){.hangulish-grid{grid-template-columns:1fr;gap:32px}.hl-pair .hl-ko,.hl-pair .hl-hl{font-size:92px}}

/* Method steps: plain readable sizes, no stamp, no repeated chips. */
.method-step h3{font-size:24px}
.method-step p{font-size:16px;line-height:1.55;color:#e6ddd0}
.method-note{margin:24px 0 0;font-size:16px;line-height:1.55;color:#e6ddd0}
.method-note b{color:var(--yellow)}

/* Reading floor: small UI text raised to a comfortable size. */
.eyebrow,.starter-label,.player-kicker{font-size:12px}
.starter-story p,.starter-note{font-size:15px;line-height:1.55}
.ep-title-en,.episodes-section .ep-line-en{font-size:15px}
.track-list button{font-size:15px;min-height:52px}
.now-playing{font-size:14px}
.audio-duration,.loop-toggle{font-size:13px}
.hero-note,.hero-byline{font-size:14px}

/* ===== Hook: meme word cards + name examples (2026-10-30) ===== */
.word-strip{padding:72px 0 64px;background:var(--cream);border-bottom:1px solid var(--line)}
.word-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
.word-card{display:flex;flex-direction:column;gap:8px;padding:20px 16px 16px;border:2px solid var(--ink);background:var(--paper);color:var(--ink);text-decoration:none;box-shadow:5px 5px 0 var(--ink);transition:transform .12s,box-shadow .12s}
.word-card:hover,.word-card:focus-visible{transform:translate(3px,3px);box-shadow:2px 2px 0 var(--ink)}
.w-ko{font:700 34px/1.1 'Noto Sans KR',var(--sans);letter-spacing:-.02em}
.w-hl{font:400 34px/1.1 Hangulish,'Noto Sans KR',sans-serif;color:var(--red-dark)}
.w-en{font-size:15px;line-height:1.4;color:#5d5548}
.w-go{margin-top:auto;padding-top:8px;font-size:13px;font-weight:800;color:var(--red-dark)}
.word-next{margin:24px 0 0;font-size:17px}
.word-next b{color:var(--red-dark)}
@media(max-width:1000px){.word-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.word-grid{grid-template-columns:1fr}}
.hl-names{display:grid;gap:18px}
.hl-name{display:flex;flex-wrap:wrap;justify-content:center;align-items:flex-end;gap:2px 26px;white-space:nowrap}
.hl-name small{flex-basis:100%;text-align:center;font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#d6cdbf}
.hl-name .hl-ko{font:700 46px/1 'Noto Sans KR',var(--sans);color:var(--cream)}
.hl-name .hl-hl{font:400 46px/1 Hangulish,'Noto Sans KR',sans-serif;color:var(--yellow)}
.hl-name.main .hl-ko,.hl-name.main .hl-hl{font-size:68px}
.hl-note{margin:20px 0 0;font-size:13px;line-height:1.45;color:#d6cdbf;text-align:center}
@media(max-width:900px){.hl-name.main .hl-ko,.hl-name.main .hl-hl{font-size:64px}}

/* Hero and closing banner: keep the orange. Make small copy easier to read by size and weight, not color. */
.hero-note{font-size:16px;font-weight:600}
.hero-byline{font-size:15px;font-weight:600}
.hero .eyebrow{font-size:13px}
.hero-copy{font-weight:500}
.final-cta p{font-size:16px;font-weight:600}
.final-cta .eyebrow{font-size:13px}
