/* 색상과 줄바꿈을 한 곳에서 조정해 전체 페이지의 시각적 일관성을 유지합니다. */
:root{--lime:#d9e7b1;--orange:#d98b70;--blue:#6b847d;--soft-green:#dfe9cf;--soft-blue:#dce5e0;--soft-orange:#dda08a}
body{word-break:keep-all;overflow-wrap:break-word}
h1,h2,h3,p,a,summary,strong,small{word-break:keep-all}
.site-header{font-size:13px;letter-spacing:.09em}
.desktop-nav{gap:44px;font-size:13px}
.header-cta{font-size:13px;padding:12px 18px}
.hero h1,.section-intro h2,.method-heading h2,.trust-heading h2,.about-copy h2,.cta h2{line-height:1.18}
.hero-display{line-height:1.16}
.hero-summary{line-height:1.8}
.portrait-frame{background:transparent}
.portrait-frame img{object-fit:contain;object-position:center;}
.note-top{top:150px;left:-46px;right:auto}
.marquee{background:var(--soft-green);color:#33433b}
.marquee span{color:var(--orange)}
.why{grid-template-columns:.92fr 1.08fr;gap:72px}
.why .section-intro{padding-right:25px}
.why-content{padding-top:18px}
.lead{line-height:1.9}
.method-heading h2,.section-intro h2{line-height:1.24}
.program-feature{background:var(--paper);border-color:var(--line)}
.program-feature .program-meta{color:var(--muted)}
.program-feature p{color:var(--muted)}
.program-card h3{margin-top:30px}
.program-card p{font-size:14px}
.proof{background:var(--blue);color:var(--paper)}
.proof .eyebrow{color:#e5eee8}
.proof .section-intro h2 em{color:var(--lime)}
.case-card{background:rgba(245,242,236,.08);border-color:rgba(245,242,236,.34)}
.case-card h3{margin-top:32px}
.case-row p{font-size:13px}
.case-label,.case-row span{color:var(--lime)}
.case-row{border-color:rgba(245,242,236,.24)}
.case-row p{color:#e3ebe5}
.case-outcome{background:var(--lime);color:#25312b}
.trust-main img{object-fit:contain;background:transparent;mix-blend-mode:multiply;filter:grayscale(1) contrast(1.2);}
.trust-stats{margin-top:20px}
.about-photo img{object-fit:contain;object-position:center bottom;background:var(--cream);filter:none}
.cta{background:#c9cadd}
.cta .eyebrow{color:#64473d}
.button-light{background:var(--soft-green)}
.button-light:hover{background:#f7f2e5}
.contact-info{flex-direction:column;align-items:center;gap:8px;font:600 14px 'Manrope','Noto Sans KR',sans-serif;letter-spacing:.02em}
.contact-info a{text-decoration:none}
.resource-link strong{word-break:keep-all}

/* 과정별 개별 페이지(예: course-adult.html)의 커리큘럼/목표 목록을 본문 단락과 어울리는 스타일로 정리 */
.article-block ul{margin:0 0 22px;padding-left:20px;color:#5d5952;font-size:16px;line-height:1.9}
.article-block ul li{margin-bottom:8px}
.article-block ul li::marker{color:var(--orange)}

/* 소개 전문을 클릭한 자리 아래에서 부드럽게 펼치고 접습니다. */
.about-toggle{background:none;border:0;font:inherit;cursor:pointer;color:inherit}
.about-story{max-height:0;overflow:hidden;opacity:0;transition:max-height .7s ease,opacity .35s ease,margin-top .7s ease;border-top:1px solid transparent}
.about-story.is-open{max-height:2400px;opacity:1;margin-top:75px;border-top-color:var(--line)}
.about-story .article-block{padding-top:35px}
.about-story .article-signature{margin-bottom:0}

/* 강사 소개 전문 페이지의 읽기 흐름과 모바일 여백을 정의합니다. */
.article-page{background:var(--paper)}
.article-main{padding:110px 0 140px}
.article-shell{width:min(920px,calc(100% - 64px));margin:auto}
.article-kicker{font:500 11px 'DM Mono',monospace;letter-spacing:.12em;color:var(--orange);margin:0 0 30px}
.article-main h1{font-size:clamp(46px,7vw,86px);line-height:1.15;letter-spacing:-.08em;margin:0 0 65px}
.article-main h1 em{font-style:normal;color:var(--orange)}
.article-lead{font-size:clamp(20px,2.5vw,28px);line-height:1.8;border-left:3px solid var(--orange);padding-left:25px;margin:0 0 90px}
.article-block{display:grid;grid-template-columns:180px 1fr;gap:55px;border-top:1px solid var(--line);padding:35px 0 60px}
.article-block h2{font-size:20px;line-height:1.5;margin:0;letter-spacing:-.05em}
.article-block p{font-size:16px;line-height:2;margin:0 0 22px;color:#5d5952}
.article-block blockquote{font-size:clamp(25px,3.4vw,42px);line-height:1.4;letter-spacing:-.06em;color:var(--ink);margin:0 0 28px;padding:0}
.article-signature{background:var(--ink);color:var(--paper);padding:50px 55px;margin-top:15px}
.article-signature p{color:#d6d2c9}
.article-signature strong{font-size:23px;color:var(--lime)}
.contact-form{max-width:760px;margin:42px auto 0;text-align:left;color:var(--ink)}
.contact-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.contact-form label{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:700}
.contact-form label>span{color:#b3291d}
.contact-form input,.contact-form select,.contact-form textarea{width:100%;border:1px solid rgba(17,17,15,.35);border-radius:2px;background:#fff;color:var(--ink);font:inherit;padding:12px 13px;outline:none}
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:var(--blue);box-shadow:0 0 0 2px rgba(35,59,255,.16)}
.contact-form textarea{resize:vertical;min-height:132px}
.contact-form-full{grid-column:1/-1}
.privacy-area{margin-top:22px;padding-top:18px;border-top:1px solid rgba(17,17,15,.24)}
.privacy-check{display:inline-flex!important;flex-direction:row!important;align-items:center;gap:8px!important;font-weight:700!important}
.privacy-check input{width:17px;height:17px;accent-color:var(--blue)}
.privacy-detail-toggle{margin-left:12px;border:0;border-bottom:1px solid currentColor;background:transparent;color:inherit;font:inherit;font-size:12px;cursor:pointer;padding:0}
.privacy-detail{margin-top:14px;background:rgba(255,255,255,.7);padding:12px;overflow-x:auto}
.privacy-detail table{width:100%;border-collapse:collapse;font-size:12px}
.privacy-detail th,.privacy-detail td{border:1px solid rgba(17,17,15,.18);padding:9px;text-align:left;vertical-align:top}
.privacy-detail th{width:30%;background:rgba(245,242,236,.9)}
.form-status{min-height:24px;margin:16px 0 8px;text-align:center;font-size:13px;font-weight:700}
.form-status.is-loading{color:#5d5952}.form-status.is-success{color:#174c2a}.form-status.is-error{color:#8e221a}
.form-submit{border:0;cursor:pointer;margin:0 auto}.form-submit:disabled{cursor:not-allowed;opacity:.48;transform:none}
@media(max-width:850px){.desktop-nav{gap:20px}.why{grid-template-columns:1fr;gap:40px}.why .section-intro{padding-right:0}.note-top{left:-12px;top:96px}.article-main{padding-top:75px}.article-block{grid-template-columns:1fr;gap:18px;padding-bottom:42px}.article-shell{width:min(100% - 36px,620px)}.article-signature{padding:35px 25px}}
@media(max-width:600px){.contact-form-grid{grid-template-columns:1fr}.contact-form-full{grid-column:auto}.privacy-check{align-items:flex-start!important}.privacy-detail-toggle{display:inline-block;margin-top:10px;margin-left:25px}}
@media(max-width:850px){.company-brand{margin-left:-6px;padding-left:6px}.company-brand strong{font-size:10px}.company-brand small{font-size:7px}.site-header{gap:8px}.site-header>.brand{display:none}.company-footer strong{font-size:10px}}
@media(max-width:480px){.site-header{font-size:11px}.desktop-nav{display:none}.header-cta{font-size:11px}.note-top{left:-4px;top:74px}.hero h1,.section-intro h2,.method-heading h2,.trust-heading h2,.about-copy h2,.cta h2{line-height:1.25}.about-photo img{height:460px}.portrait-frame img{object-fit:contain}.article-main h1{font-size:47px}.article-lead{font-size:18px;padding-left:18px}}
.site-header{position:sticky;top:0;z-index:20;background:rgba(245,242,236,.96);backdrop-filter:blur(8px)}
.company-brand,.company-footer{display:flex;align-items:center;gap:9px;border-radius:4px;transition:background .2s ease}.company-brand{padding:8px 10px;margin-left:-10px}.company-brand:hover,.company-footer:hover{background:rgba(216,240,75,.42)}
.company-brand img,.company-footer img{width:auto;height:24px;object-fit:contain}.company-brand span,.company-footer span{display:flex;flex-direction:column;line-height:1.15}.company-brand strong,.company-footer strong{font-family:'Noto Sans KR','Manrope',sans-serif;font-size:12px;letter-spacing:-.04em}.company-brand small,.company-footer small{font:8px 'DM Mono',monospace;letter-spacing:.05em;color:var(--muted);white-space:nowrap}.company-footer{padding:5px 8px;margin-left:-8px}.company-footer strong{font-size:11px}.company-footer small{font-size:9px;margin-top:3px}
