@font-face{font-family:Pretendard;src:url("../ham-media-archive/assets/fonts/Pretendard-Regular-academy.woff2") format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:Pretendard;src:url("../ham-media-archive/assets/fonts/Pretendard-Medium-academy.woff2") format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:Pretendard;src:url("../ham-media-archive/assets/fonts/Pretendard-Black-academy.woff2") format("woff2");font-weight:900;font-display:swap}
@font-face{font-family:KoPub;src:url("../ham-media-archive/assets/fonts/KoPubWorld_Batang_Pro_Bold-academy.woff2") format("woff2");font-weight:700;font-display:swap}

/* 색 토큰 — HAM MEDIA Academy DESIGN.md v1.1(05_HAM_DesignStudio/reference/clients/ham_media_academy/DESIGN.md) 그대로.
   그린·금색·빨강·네온은 쓰지 않는다. 포인트는 Signal Blue 한 곳뿐이다. */
:root{--paper:#F5F3EE;--paper-2:#F9F7F3;--ink:#1C1814;--muted:#4A423C;--line:#E6E1D9;--accent:#7EB5E8;--accent-deep:#326B98;--radius:14px;--shadow:0 10px 28px rgba(28,24,20,.08);--max:1180px}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-snap-type:y proximity;background:var(--paper);color:var(--ink)}
body{margin:0;background:var(--paper);font-family:Pretendard,"Apple SD Gothic Neo",sans-serif;line-height:1.6;word-break:keep-all;overflow-wrap:anywhere}
img{display:block;max-width:100%}
a{color:inherit}
button{font:inherit}
:focus-visible{outline:3px solid var(--accent-deep);outline-offset:4px}
.wrap{width:min(calc(100% - 48px),var(--max));margin-inline:auto}
.skip-link{position:fixed;z-index:100;top:12px;left:12px;padding:10px 14px;background:var(--ink);color:#fff;border-radius:10px;transform:translateY(-160%)}
.skip-link:focus{transform:translateY(0)}
.site-header{min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line)}
.brand{display:grid;text-decoration:none;line-height:1}.brand span{font-size:10px;font-weight:900;letter-spacing:.17em;color:var(--muted)}.brand strong{font-family:KoPub,serif;font-size:25px}.release-state{display:grid;text-align:right}.release-state span{font-size:11px;font-weight:900;color:var(--accent-deep)}.release-state strong{font-size:13px;color:var(--muted)}
.eyebrow{margin:0 0 18px;color:var(--accent-deep);font-size:12px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.12;letter-spacing:0}h2{font-family:KoPub,serif;font-size:clamp(2rem,4.2vw,3.6rem)}

/* 한 화면 = 한 이야기. 색은 아이보리·종이색 하나로 통일하고, 섹션은 색 블록이 아니라 헤어라인으로 가른다. */
.hero{min-height:calc(100dvh - 88px);scroll-snap-align:start;display:grid;grid-template-columns:minmax(0,1.618fr) minmax(320px,1fr);align-items:center;gap:6vw;padding-block:48px}
.hero h1{max-width:780px;margin-bottom:22px;font-family:KoPub,serif;font-size:clamp(2.6rem,5.6vw,4.8rem);font-weight:700}.hero mark{padding:0;background:linear-gradient(transparent 70%,var(--accent) 0);color:inherit}.hero-lead{max-width:630px;margin-bottom:24px;color:var(--muted);font-size:clamp(.95rem,1.5vw,1.15rem)}
.hero-actions{display:flex;align-items:center;gap:24px}.primary-action{display:inline-flex;min-height:52px;align-items:center;padding:13px 22px;background:var(--accent);color:var(--ink);border-radius:999px;font-weight:900;text-decoration:none}.text-action{font-weight:900;text-underline-offset:6px;text-decoration-color:var(--accent)}.prototype-note{margin:16px 0 0;color:var(--muted);font-size:12px}
.hero-visual{position:relative;margin:0;border-top:1px solid var(--line);padding-top:28px}.hero-quote{display:flex;flex-direction:column;justify-content:center;min-height:min(50vh,440px)}.hero-quote blockquote{margin:0 0 22px;color:var(--ink);font-family:KoPub,serif;font-size:clamp(1.3rem,2.2vw,1.85rem);line-height:1.5}.hero-quote footer{display:grid;gap:6px}.hero-quote strong{color:var(--ink);font-size:15px;font-weight:900}.hero-quote span{color:var(--muted);font-size:12px}.hero-quote a{margin-top:10px;color:var(--accent-deep);font-weight:900;text-decoration:underline;text-underline-offset:4px}

.scene-section{min-height:100dvh;scroll-snap-align:start;display:flex;flex-direction:column;justify-content:center;gap:clamp(20px,3vh,40px);padding-block:48px;border-top:1px solid var(--line)}.scene-heading{display:grid;grid-template-columns:1.618fr 1fr;gap:20px 48px}.scene-heading .eyebrow{grid-column:1/-1}.scene-heading h2{margin:0}.scene-heading>p:last-child{align-self:end;margin:0;color:var(--muted)}
.conversation-stage{display:grid;grid-template-columns:220px 1fr;gap:24px}.stage-tabs{display:grid;align-content:start;gap:8px;margin:0;padding:0;list-style:none}.stage-tabs button{width:100%;display:flex;align-items:center;gap:12px;padding:12px 10px;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--muted);text-align:left;cursor:pointer}.stage-tabs button span{display:grid;width:26px;height:26px;place-items:center;border:1px solid currentColor;border-radius:50%;font-size:11px}.stage-tabs button[aria-current="step"]{color:var(--accent-deep);font-weight:900}
.stage-canvas{min-height:300px;display:grid;grid-template-columns:1fr 1.618fr;background:var(--paper-2);color:var(--ink);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.speaker-card{display:flex;flex-direction:column;justify-content:flex-end;padding:26px;border-right:1px solid var(--line)}.speaker{width:max-content;margin-bottom:16px;padding:5px 9px;background:var(--ink);color:#fff;border-radius:7px;font-size:11px;font-weight:900}.speaker-card blockquote{margin:0;font-family:KoPub,serif;font-size:clamp(1.15rem,1.9vw,1.7rem);line-height:1.35}.work-sheet{position:relative;display:flex;flex-direction:column;justify-content:center;padding:clamp(22px,4vw,48px)}.sheet-kicker{margin-bottom:10px;color:var(--accent-deep);font-size:12px;font-weight:900}.work-sheet h3{margin-bottom:12px;font-size:clamp(1.3rem,2.3rem,2.1rem)}.work-sheet>p:not(.sheet-kicker){color:var(--muted)}.sheet-progress{height:3px;margin:20px 0;background:var(--line);overflow:hidden}.sheet-progress span{display:block;width:25%;height:100%;background:var(--accent);transition:width .45s ease}.next-step{align-self:flex-start;padding:0;border:0;background:transparent;color:var(--accent-deep);font-weight:900;cursor:pointer}.next-step span{display:inline-block;margin-left:8px;transition:transform .2s ease}.next-step:hover span{transform:translateX(5px)}

.evidence-section{min-height:100dvh;scroll-snap-align:start;display:flex;flex-direction:column;justify-content:center;gap:5vh;padding-block:48px;border-top:1px solid var(--line)}.evidence-heading{display:grid;grid-template-columns:1.618fr 1fr;gap:48px;align-items:end}.evidence-heading h2{margin:0}.evidence-heading>p{margin:0;color:var(--muted)}
.evidence-rail{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x proximity;padding-bottom:10px}
.evidence-card{flex:0 0 min(300px,78vw);scroll-snap-align:start;display:grid;grid-template-rows:200px auto auto 1fr;gap:8px;padding-bottom:16px;background:var(--paper-2);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;text-decoration:none}
.evidence-card img{width:100%;height:100%;object-fit:cover;object-position:top}.evidence-card span,.evidence-card strong,.evidence-card small{margin-inline:16px}.evidence-card span{margin-top:8px;color:var(--accent-deep);font-size:11px;font-weight:900}.evidence-card strong{font-size:16px;line-height:1.3}.evidence-card small{align-self:end;color:var(--muted);text-decoration:underline;text-underline-offset:4px}

.hours-section{min-height:100dvh;scroll-snap-align:start;display:flex;align-items:center;padding-block:48px;border-top:1px solid var(--line)}.hours-layout{display:grid;grid-template-columns:1fr 1.618fr;gap:6vw}.hours-intro p:last-child{color:var(--muted)}.hours-promise{margin-top:16px;font-size:15px;color:var(--ink)}.hours-promise strong{color:var(--accent-deep)}
.hour-flow{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:0;padding:0;list-style:none}.hour-flow li{display:flex;flex-direction:column;gap:6px;padding:16px 14px;border-top:2px solid var(--line);border-radius:8px}.hour-flow li:first-child{border-color:var(--accent)}.hour-flow span{color:var(--accent-deep);font-size:11px;font-weight:900}.hour-flow strong{font-size:.95rem;line-height:1.35}.hour-flow small{color:var(--muted);font-size:12px}

.method-section{min-height:100dvh;scroll-snap-align:start;display:flex;flex-direction:column;justify-content:center;padding-block:48px;border-top:1px solid var(--line)}.method-title-block{display:grid;grid-template-columns:1fr 1.618fr;gap:40px;margin-bottom:36px}.method-title-block h2{margin:0}.method-steps{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.method-steps article{min-height:180px;padding:26px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.method-steps span{color:var(--accent-deep);font-size:12px;font-weight:900}.method-steps h3{margin:24px 0 10px;font-size:clamp(1.2rem,2vw,1.7rem)}.method-steps p{color:var(--muted)}.method-example{display:block;margin-top:10px;color:var(--accent-deep);font-size:12px;line-height:1.5}

.fit-section{min-height:100dvh;scroll-snap-align:start;display:flex;align-items:center;padding-block:48px;border-top:1px solid var(--line)}.fit-grid{display:grid;grid-template-columns:1fr 1.618fr;gap:40px 6vw}.fit-copy h2{margin:0}.fit-list{margin:0;padding:0;list-style:none}.fit-list li{padding:16px 0;border-top:1px solid var(--line);font-size:16px;font-weight:600}.not-fit{grid-column:2;padding:18px;background:var(--paper-2);border:1px solid var(--line);border-radius:var(--radius)}.not-fit p{margin:6px 0 0;color:var(--muted)}

.teacher-section{min-height:100dvh;scroll-snap-align:start;display:flex;align-items:center;justify-content:center;padding-block:48px;border-top:1px solid var(--line);text-align:center}.teacher-copy{max-width:680px}.teacher-copy h2{margin-bottom:22px}.teacher-copy p:not(.eyebrow){max-width:660px;margin-inline:auto;color:var(--muted);font-size:17px}

.reference-section{padding-bottom:24px}.reference-section details{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.reference-section summary{padding:18px 0;font-weight:900;cursor:pointer}.reference-copy{display:grid;grid-template-columns:1fr auto auto;gap:18px;padding:0 0 22px;color:var(--muted)}.reference-copy p{margin:0}.reference-copy a{font-weight:700;color:var(--accent-deep)}

.closing-section{scroll-snap-align:start;padding:64px max(24px,7vw);background:var(--paper-2);border:1px solid var(--line);border-radius:var(--radius);text-align:center}.closing-section h2{margin-bottom:20px}.closing-section>p:not(.eyebrow){color:var(--muted)}.closing-dignity{margin-top:16px;color:var(--accent-deep);font-size:16px;font-weight:700}.closed-gates{display:flex;justify-content:center;gap:10px;margin-top:24px}.closed-gates span{padding:8px 12px;border:1px solid var(--line);border-radius:999px;font-size:12px;color:var(--muted)}
.site-footer{display:flex;justify-content:space-between;padding-block:28px;color:var(--muted);font-size:12px}.ecosystem-links{display:flex;flex-wrap:wrap;justify-content:center;gap:12px 28px;padding-top:32px}.ecosystem-links a{color:var(--ink);font-weight:900;font-size:14px;text-decoration:underline;text-underline-offset:4px;text-decoration-color:var(--accent)}
[data-reveal]{opacity:0;transform:translateY(22px);transition:opacity .55s ease,transform .55s ease}[data-reveal].is-visible{opacity:1;transform:none}
.speaker-card{min-width:0}.dialogue-line{margin:0;font-family:KoPub,serif;font-size:clamp(1.15rem,1.9vw,1.7rem);line-height:1.35}.dialogue-source{margin-top:16px;color:var(--muted);font-size:10px;line-height:1.45;overflow-wrap:anywhere}
@media(max-width:760px){html{scroll-snap-type:none}.wrap{width:min(calc(100% - 32px),var(--max))}.site-header{min-height:74px}.brand strong{font-size:20px}.release-state span{font-size:10px}.release-state strong{font-size:11px}.hero{min-height:auto;grid-template-columns:1fr;gap:46px;padding:58px 0 78px}.hero h1{font-size:clamp(2.6rem,12.5vw,3.5rem)}.hero-lead{font-size:16px}.hero-actions{display:grid;gap:15px}.primary-action{width:100%;justify-content:center}.scene-section,.evidence-section,.hours-section,.method-section,.fit-section,.teacher-section{min-height:auto;padding-block:64px}.scene-heading,.evidence-heading{grid-template-columns:1fr}.scene-heading .eyebrow{grid-column:auto}.conversation-stage{grid-template-columns:1fr}.stage-tabs{grid-template-columns:repeat(4,1fr);gap:0;overflow-x:auto}.stage-tabs button{display:grid;justify-items:center;gap:5px;padding:10px 3px;font-size:10px;text-align:center}.stage-canvas{min-height:0;grid-template-columns:1fr}.speaker-card{min-height:270px;padding:28px;border-right:0;border-bottom:1px solid var(--line)}.work-sheet{min-height:360px;padding:30px}.evidence-card{flex:0 0 82vw}.hour-flow{grid-template-columns:1fr}.method-title-block{grid-template-columns:1fr;gap:15px}.method-steps{grid-template-columns:1fr}.method-steps article{min-height:auto}.fit-grid{grid-template-columns:1fr}.not-fit{grid-column:auto}.reference-copy{grid-template-columns:1fr}.closing-section{width:calc(100% - 32px);padding:76px 20px}.site-footer{display:grid;gap:4px}.closed-gates{flex-wrap:wrap}}
@media(max-width:760px){.hero-copy{min-width:0}.hero .eyebrow{max-width:100%;font-size:11px;letter-spacing:.06em;line-height:1.5}.hero h1{max-width:100%;font-size:clamp(2.25rem,10.5vw,2.75rem)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto;scroll-snap-type:none}*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}[data-reveal]{opacity:1;transform:none}}
