/* Home's full editorial system. Scoped independently from inner pages. */
.home-abstract .impact__opening { border-bottom:1px solid #393a32; }
/* FAB(맨 위로)는 히어로를 지나야 보인다 — home-impact.css 69줄. js/home-abstract.js 가 impact-past 를 붙인다 (2026-09-15 V8: 알약과 겹치던 것) */
.edition-identity { padding:35px 0; border-top:1px solid #a5a99a; border-bottom:1px solid #a5a99a; }
.edition-identity__label { font-family:'Playfair Display','Noto Sans KR',Georgia,serif; font-size:12px; letter-spacing:.12em; color:#646954; }
.edition-identity > p { margin:45px 0; font-size:clamp(36px,4.2vw,66px); line-height:1.35; letter-spacing:-.06em; font-weight:500; }
.edition-identity__role { font-size:15px; color:#59604f; }
.home-abstract .edition-about__grid { align-items:start; }
.home-abstract .edition-kicker > span { font-size:12px; }
.home-abstract .edition-service__detail p,.home-abstract .edition-about__copy > p:not([class]),.home-abstract .edition-resource > p { font-size:16px; }
@media(max-width:680px) {
 .edition-identity { padding-block:24px; }
 .edition-identity > p { margin:26px 0; font-size:38px; }
 .home-abstract .edition-service__detail p { font-size:15px; }
}
.home-impact { --ed-ink:#11120f; --ed-paper:#eae7dd; --ed-muted:#b4b3a5; --ed-line:#393a32; --ed-orange:#d78b52; --impact-lime:#efbc70; }
.home-impact, html.light .home-impact { background:var(--ed-ink); color:var(--ed-paper); }
.home-impact main:focus { outline:none; }
.impact__classroom { object-position:66% center; }
.impact__field-shade { background:linear-gradient(90deg,rgba(9,11,9,.65),rgba(9,11,9,.12) 42%,transparent 65%),linear-gradient(0deg,rgba(9,11,9,.55),transparent 24%); }
.impact__field-copy h2 { font-size:clamp(48px,6.4vw,100px); line-height:1.12; }
.impact__field-copy { padding-top:16vh; }
.impact__field-copy > p:not(.impact__label) { text-shadow:0 1px 8px #111; }
.impact.is-motion .impact__field { opacity:1; transform:translateY(100%); }
.impact__field { will-change:transform; }
.impact__field--lecture { background:#11120f; }
.impact__field--lecture .impact__classroom { object-position:50% 43%; }
.impact__field--lecture .impact__field-copy { padding-top:17vh; width:44%; }
.impact__field--lecture .impact__field-copy h2 { font-size:clamp(42px,4.5vw,72px); }
.impact__field--lecture .impact__field-shade { background:linear-gradient(90deg,rgba(9,11,9,.88),rgba(9,11,9,.72) 25%,rgba(9,11,9,.08) 47%,transparent 65%),linear-gradient(0deg,rgba(9,11,9,.65),transparent 20%); }
@media(max-width:680px) {
 .impact__field--lecture .impact__classroom { top:245px; height:calc(100% - 245px); object-position:53% 40%; }
 .impact__field--lecture .impact__field-copy { padding-top:32px; width:100%; }
 .impact__field--lecture .impact__label { margin-bottom:14px; }
 .impact__field--lecture .impact__field-copy h2 { font-size:30px; line-height:1.15; margin-bottom:14px; }
 .impact__field--lecture .impact__field-copy > p:not(.impact__label) { font-size:12px; }
 .impact__field--lecture .impact__field-copy a { margin-top:0; padding:10px 0; font-size:12px; }
 .impact__field--lecture .impact__field-shade { background:linear-gradient(180deg,rgba(9,11,9,.9),rgba(9,11,9,.72) 20%,transparent 43%),linear-gradient(0deg,rgba(9,11,9,.65),transparent 18%); }
}
.edition, .edition-footer { color:var(--ed-paper); background:var(--ed-ink); font-family:'Manrope','Noto Sans KR',sans-serif; font-variant-numeric:tabular-nums; }
.edition a, .edition-footer a { color:inherit; text-decoration:none; }
.edition a:focus-visible, .edition-footer a:focus-visible, .edition-top:focus-visible { outline:3px solid #efbc70; outline-offset:6px; }
.edition-about a:focus-visible, .edition-contact a:focus-visible { outline-color:var(--ed-ink); }
.impact__cta:hover { background:#f4d3a1; }
.edition h2, .edition h3 { font-family:'Noto Sans KR',sans-serif; word-break:keep-all; text-wrap:balance; }
.edition-work, .edition-about, .edition-learn, .edition-contact, .edition-footer { padding-inline:var(--edge); }
.edition section { scroll-margin-top:100px; } /* 고정 메뉴 80px 아래로 제목이 들어가지 않게 (2026-09-15) */
.edition-kicker { display:flex; gap:24px; align-items:center; margin:0 0 52px; font-size:13px; font-weight:500; }
.edition-kicker > span { font-family:'Playfair Display','Noto Sans KR',Georgia,serif; font-size:12px; letter-spacing:.1em; }
.edition-headingrow { display:flex; justify-content:space-between; align-items:flex-end; gap:45px; margin-bottom:65px; }
.edition-headingrow h2 { font-size:clamp(38px,4.5vw,74px); line-height:1.22; letter-spacing:-.035em; font-weight:700; margin:0; }
.edition-headingrow h2 > span { color:#929889; }
.edition-headingrow > p { font-size:15px; font-weight:500; line-height:1.85; color:#c6cbbc; margin:0 0 5px; }
.edition-work { padding-block:110px 65px; }
.edition-work .edition-kicker { color:var(--ed-muted); }
.edition-service { display:grid; grid-template-columns:60px minmax(240px,1fr) minmax(290px,1.15fr) 45px; align-items:center; gap:25px; padding:39px 0; border-top:1px solid var(--ed-line); position:relative; transition:background 240ms ease; }
/* 행에 마우스를 올리면 아래에 앵버 선이 자라난다 (링크는 아니다 — 은아님 「클릭이 많다」) */
.edition-service::after { content:""; position:absolute; left:0; bottom:-1px; height:1px; width:0; background:var(--impact-lime); transition:width 520ms cubic-bezier(.2,.7,.2,1); }
@media (hover:hover) { .edition-service:hover { background:rgba(255,255,255,.025); } .edition-service:hover::after { width:100%; } .edition-service:hover .edition-service__number { color:var(--ed-paper); } }
.edition-service:last-child { border-bottom:1px solid var(--ed-line); }
.edition-service__number { align-self:start; padding-top:6px; color:var(--impact-lime); font-size:13px; font-family:'Playfair Display','Noto Sans KR',Georgia,serif; transition:color 240ms ease; }
.edition-service h3 { font-size:clamp(24px,2.3vw,37px); letter-spacing:-.03em; line-height:1.35; margin:0 0 13px; font-weight:500; }
.edition-service__name > span { font-family:'Playfair Display','Noto Sans KR',Georgia,serif; font-size:12px; letter-spacing:.1em; color:#9ba18f; }
.edition-service__detail p { color:#d2d5c9; line-height:1.8; font-size:14px; margin:0 0 13px; }
.edition-service__detail > span { font-size:13px; color:#a4aa98; }
.edition-arrow { font-family:Arial,sans-serif; font-size:35px; text-align:right; transition:transform 220ms ease,color 220ms ease; }
.edition-service:hover .edition-arrow { transform:translate(3px,-3px); color:var(--impact-lime); }
.edition-service:hover h3 { color:var(--impact-lime); }
.edition-work__tail { display:flex; justify-content:space-between; align-items:center; gap:24px; padding-top:30px; }
.edition-work__tail > span { color:#969e89; font-size:14px; }
.edition-textlink { display:inline-flex; align-items:center; gap:34px; min-height:44px; font-size:14px; border-bottom:1px solid currentColor; }
.edition-textlink:hover { opacity:.75; }
.edition-about { background:var(--ed-paper); color:var(--ed-ink); padding-block:95px 0; }
.edition-about .edition-kicker { color:#535a4a; }
.edition-about__grid { display:grid; grid-template-columns:1fr 1fr; gap:8vw; align-items:center; padding-bottom:85px; }
.edition-portrait { margin:0; min-width:0; }
.edition-portrait__image { aspect-ratio:5/5.3; overflow:hidden; background:#c7c4b6; }
.edition-portrait img { width:100%; height:100%; object-fit:cover; object-position:78% center; filter:saturate(.65); }
.edition-portrait figcaption { display:flex; justify-content:space-between; gap:12px; padding-top:15px; font-size:9px; color:#59604f; letter-spacing:.03em; }
.edition-portrait figcaption span:first-child { font-weight:700; }
.edition-about__role { font-size:12px; margin:0 0 28px; color:#656954; }
.edition-about h2 { font-size:clamp(32px,3.25vw,54px); line-height:1.3; letter-spacing:-.035em; margin:0 0 34px; }
.edition-about__copy .edition-about__lead { font-size:clamp(20px,1.7vw,28px); line-height:1.55; color:#2c3326; font-weight:500; margin-bottom:25px; }
.edition-about__copy > p:not([class]) { font-size:16px; line-height:1.9; color:#4d5544; max-width:420px; margin-bottom:18px; }
.edition-about__copy .edition-textlink { margin-top:20px; }
.edition-principles { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid #b8bbae; padding:30px 0 34px; }
.edition-principles p { margin:0; font-size:15px; line-height:1.7; }
.edition-principles p + p { padding-left:30px; border-left:1px solid #b8bbae; }
.edition-principles span { display:block; font-size:12px; letter-spacing:.1em; margin-bottom:9px; color:#5b6150; }
.edition-learn { padding-block:110px; display:grid; grid-template-columns:1fr 1fr; gap:9vw; }
.edition-learn .edition-kicker { color:var(--ed-muted); }
.edition-learn h2 { font-size:clamp(38px,4vw,64px); line-height:1.25; letter-spacing:-.035em; margin:0 0 30px; }
.edition-learn h2 em { font-style:normal; color:var(--ed-orange); }
.edition-learn__intro > p:not([class]) { font-size:16px; line-height:1.85; color:#c3c9b8; margin-bottom:22px; }
.edition-note { position:relative; margin-top:55px; padding:34px; width:88%; max-width:400px; aspect-ratio:1.4; color:var(--ed-ink); background:var(--ed-orange); overflow:hidden; }
.edition-note > span:first-child { display:block; font-family:'Manrope',sans-serif; font-size:clamp(35px,4vw,60px); font-weight:800; line-height:.95; letter-spacing:-.065em; }
.edition-note__asterisk { position:absolute; top:28px; right:20px; font-size:110px; line-height:1; }
.edition-note small { display:block; margin-top:30px; font-size:8px; letter-spacing:.12em; }
.edition-resource { display:block; border-top:1px solid var(--ed-line); padding:26px 0 30px; }
.edition-resource:last-child { border-bottom:1px solid var(--ed-line); }
.edition-resource__meta { display:flex; justify-content:space-between; gap:20px; margin-bottom:22px; font-size:12px; color:#a4ad96; }
.edition-resource__meta span:first-child { letter-spacing:.09em; }
.edition-resource h3 { position:relative; padding-right:45px; font-weight:500; font-size:clamp(25px,2.4vw,37px); line-height:1.3; letter-spacing:-.03em; margin:0 0 18px; }
.edition-resource h3 > span { position:absolute; top:0; right:3px; font-family:Arial,sans-serif; font-weight:400; transition:transform 200ms ease; }
.edition-resource > p { font-size:16px; line-height:1.85; color:#c2c9b6; max-width:420px; margin:0 0 18px; }
.edition-resource__bottom { font-size:13px; color:#8f9982; }
.edition-resource:hover h3 { color:var(--ed-orange); }
.edition-resource:hover h3 > span { transform:translate(3px,-3px); }
.edition-contact { position:relative; background:var(--ed-orange); color:var(--ed-ink); padding-block:45px 55px; }
.edition-contact__top { display:flex; justify-content:space-between; gap:24px; align-items:start; }
.edition-contact .edition-kicker { margin:0; }
.edition-contact__top > span { font-size:12px; }
.edition-contact__headline { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:60px 0; border-bottom:1px solid rgba(16,18,15,.35); }
.edition-contact__headline h2 { font-size:clamp(48px,7.6vw,122px); line-height:1.15; letter-spacing:-.04em; font-weight:700; margin:0; }
.edition-contact__headline > span { font-size:clamp(75px,14vw,200px); font-family:Arial,sans-serif; line-height:1; transition:transform 250ms ease; }
.edition-contact__headline:hover > span { transform:translate(8px,-8px); }
.edition-contact__bottom { display:flex; justify-content:space-between; gap:40px; padding-top:30px; }
.edition-contact__bottom > p { font-size:15px; line-height:1.9; margin:0; max-width:540px; }
.edition-contact__bottom > div { display:grid; gap:8px; min-width:245px; }
.edition-contact__bottom a { display:flex; justify-content:space-between; align-items:center; gap:30px; min-height:40px; border-bottom:1px solid rgba(16,18,15,.35); font-size:14px; }
.edition-contact__bottom a:hover { border-color:var(--ed-ink); }
.edition-footer { padding-top:60px; }
.edition-footer__top { display:grid; grid-template-columns:1fr 1fr 1fr; gap:40px; align-items:start; }
.edition-footer__top p { font-size:14px; line-height:1.8; color:#b8bdaf; margin:0; }
.edition-footer__top nav { display:grid; grid-template-columns:1fr 1fr; gap:6px 20px; font-size:13px; }
.edition-footer__top nav a { min-height:32px; }
.edition-footer__email { font-size:14px; justify-self:end; padding:0 0 10px; border-bottom:1px solid #626954; }
.edition-footer__email > span { margin-left:14px; }
.edition-footer .edition-footer__wordmark { display:flex; justify-content:space-between; align-items:center; margin-top:55px; font-size:clamp(50px,14.15vw,230px); font-family:'Manrope',sans-serif; font-weight:800; letter-spacing:-.075em; line-height:1.15; padding-bottom:25px; color:var(--ed-paper); }
.edition-footer__wordmark > span { font-size:.3em; align-self:flex-start; margin-top:.55em; font-family:Arial,sans-serif; font-weight:400; }
.edition-footer__bottom { border-top:1px solid var(--ed-line); display:flex; justify-content:space-between; align-items:center; gap:20px; padding-block:22px; color:#9aa38c; font-size:12px; }
.edition-footer__bottom nav { display:flex; gap:22px; }
.edition-footer__bottom a { display:inline-block; padding-block:10px; }
.edition-footer a:hover { color:var(--impact-lime); }
.home-impact .fab { bottom:24px; right:20px; }
.edition-top { width:44px; height:44px; border:1px solid #656d59; border-radius:50%; background:var(--ed-ink); color:var(--ed-paper); font-size:21px; cursor:pointer; }
.edition-top:hover { background:#343d2b; }
/* Text remains visible without JavaScript; only offscreen sections opt in. */
.edition .enter-pending { opacity:0; transform:translateY(22px); transition:opacity 650ms ease,transform 650ms cubic-bezier(.2,.7,.2,1); }
.edition .enter-pending.is-entered { opacity:1; transform:none; }
/* 하는 일 행 셋은 차례로 올라온다 */
.edition-services .edition-service:nth-child(2).enter-pending { transition-delay:110ms; } .edition-services .edition-service:nth-child(3).enter-pending { transition-delay:220ms; }
/* 좌우 여백 --edge = 배포본과 같은 축(--container 1040px 가운데 + --gutter). 홈 히어로·본문·소개·메뉴가 같은 선 (2026-09-15 은아님 「기존 배포한 여백으로」) */
@media (max-width:1000px) {
  .edition-headingrow { display:block; }
  .edition-headingrow > p { margin-top:28px; }
  .edition-service { grid-template-columns:35px 1fr 1.2fr 25px; gap:18px; }
  .edition-service__detail p br { display:none; }
  .edition-about__grid { gap:5vw; }
  .edition-portrait__image { aspect-ratio:4/5; }
  .edition-portrait figcaption { flex-wrap:wrap; gap:5px; }
  .edition-learn { gap:6vw; }
  .edition-note__asterisk { font-size:75px; }
  .edition-footer__top { grid-template-columns:1fr 1fr; gap:30px; }
  .edition-footer__email { justify-self:start; }
}
@media (max-width:680px) {
  .home-impact > .nav { flex-wrap:wrap; }
  .home-impact > .nav .nav__burger { display:block; }
  .home-impact > .nav .nav__links { display:none; width:100%; flex-direction:column; align-items:stretch; gap:8px; padding-top:16px; margin-top:12px; border-top:1px solid #454638; background:#090b09; }
  .home-impact > .nav .nav__links--open { display:flex; }
  .home-impact > .nav .nav__link { padding:10px 0; }
  .impact__field-copy { padding-top:120px; }
  .impact__field-copy h2 { font-size:14vw; }
  .impact__classroom { object-position:68% center; }
  .impact__field-shade { background:linear-gradient(90deg,rgba(9,11,9,.68),rgba(9,11,9,.15)),linear-gradient(0deg,rgba(9,11,9,.55),transparent 40%); }
  .edition-work { padding-block:65px 45px; }
  .edition-kicker { gap:17px; margin-bottom:32px; font-size:12px; }
  .edition-kicker > span { font-size:11px; }
  .edition-headingrow { margin-bottom:35px; }
  .edition-headingrow h2 { font-size:36px; }
  .edition-headingrow > p { font-size:15px; }
  .edition-headingrow > p br { display:none; }
  .edition-service { position:relative; grid-template-columns:28px 1fr 25px; gap:12px; padding:28px 0; }
  .edition-service__name { grid-column:2; }
  .edition-service h3 { font-size:26px; margin-bottom:9px; }
  .edition-service__name > span { font-size:11px; }
  .edition-service__number { font-size:12px; }
  .edition-service__detail { grid-column:2; grid-row:2; }
  .edition-service__detail p { font-size:15px; margin-top:9px; }
  .edition-service__detail > span { font-size:12px; }
  .edition-arrow { grid-column:3; grid-row:1; font-size:28px; }
  .edition-work__tail { display:block; padding-top:24px; }
  .edition-work__tail > span { display:block; margin-bottom:16px; font-size:13px; }
  .edition-about { padding-top:60px; }
  .edition-about__grid { grid-template-columns:1fr; gap:40px; padding-bottom:40px; }
  .edition-portrait__image { aspect-ratio:1.06; }
  .edition-portrait img { object-position:80% center; }
  .edition-portrait figcaption { flex-wrap:nowrap; font-size:8px; }
  .edition-about h2 { font-size:33px; margin-bottom:24px; }
  .edition-about__role { margin-bottom:20px; }
  .edition-about__copy .edition-about__lead { font-size:22px; }
  .edition-about__copy > p:not([class]) { font-size:15px; }
  .edition-principles { gap:12px; padding:24px 0; }
  .edition-principles p { font-size:14px; }
  .edition-principles p + p { padding-left:12px; }
  .edition-principles span { font-size:11px; margin-bottom:7px; }
  .edition-learn { grid-template-columns:1fr; padding-block:65px; gap:35px; }
  .edition-learn h2 { font-size:40px; }
  .edition-note { width:100%; max-width:none; aspect-ratio:auto; padding:24px; margin-top:35px; }
  .edition-note > span:first-child { font-size:42px; }
  .edition-note__asterisk { font-size:100px; right:28px; top:32px; }
  .edition-note small { margin-top:22px; }
  .edition-resource { padding:25px 0; }
  .edition-resource h3 { font-size:29px; }
  .edition-resource h3 br { display:none; }
  .edition-contact { padding-block:30px 35px; }
  .edition-contact__top > span { display:none; }
  .edition-contact__headline { padding:40px 0 35px; gap:10px; }
  .edition-contact__headline h2 { font-size:clamp(31px,8.7vw,56px); }
  .edition-contact__headline > span { font-size:55px; }
  .edition-contact__bottom { display:block; padding-top:23px; }
  .edition-contact__bottom > p { font-size:15px; margin-bottom:22px; }
  .edition-contact__bottom > p br { display:none; }
  .edition-contact__bottom > div { max-width:400px; }
  .edition-footer { padding-top:40px; }
  .edition-footer__top { gap:25px 16px; }
  .edition-footer__top > p { font-size:13px; }
  .edition-footer__top nav { font-size:13px; gap:4px 10px; }
  .edition-footer__email { font-size:12px; grid-column:1/-1; }
  .edition-footer .edition-footer__wordmark { margin-top:32px; padding-bottom:20px; font-size:13.8vw; }
  .edition-footer__bottom { flex-wrap:wrap; gap:5px 15px; padding-block:15px; font-size:12px; }
  .edition-footer__bottom > span:last-child { width:100%; padding-bottom:8px; }
  .home-impact .fab { bottom:18px; right:14px; }
}
@media (prefers-reduced-motion:reduce) {
  .impact__field { transform:none !important; will-change:auto; }
  .edition .enter-pending { opacity:1; transform:none; transition:opacity 150ms ease; }
  .edition-arrow, .edition-resource h3 > span, .edition-contact__headline > span { transition:none; transform:none !important; }
}


/* 좌우 여백 축 — 홈과 내부 페이지가 같은 선에서 시작한다 (2026-09-15) */
:root { --edge:max(var(--gutter), calc((100% - var(--container)) / 2 + var(--gutter))); }

/* 내부 페이지(소개 등)가 홈의 에디토리얼 문법을 그대로 쓴다 — .edition--page (2026-09-15) */
main.edition--page { display:block; padding-top:78px; }
.edition--page > .brand-breadcrumb, .edition--page > .home-section { padding-inline:var(--edge); }
.edition--page > .home-section { padding-block:70px 0; margin:0; }
.edition-page-head { padding:52px var(--edge) 64px; border-bottom:1px solid var(--ed-line); }
.edition-page-head .edition-kicker { color:var(--ed-muted); margin-bottom:34px; }
.edition-page-head__name { margin:0; font-family:'Noto Sans KR',sans-serif; font-size:clamp(56px,7vw,110px); line-height:1.08; letter-spacing:-.04em; font-weight:900; }
.edition-page-head__role { margin:18px 0 0; font-size:15px; font-weight:500; color:var(--impact-lime); letter-spacing:.02em; }
.edition-page-head__actions { display:flex; flex-wrap:wrap; align-items:center; gap:14px 34px; margin-top:38px; }
.edition-page-head__actions .impact__cta { gap:18px; padding:16px 24px; }
.edition-page-head__actions .impact__cta span { font-size:20px; }
.edition-about--page { padding-block:90px 0; }
.edition-about--page > .edition-kicker { margin-bottom:44px; }
body.brand-page .edition-about--page .about-statement--page { margin:0 0 70px; max-width:44rem; text-align:left; }
body.brand-page .edition-about--page .about-statement--page p { margin:0 0 30px; font-family:'Noto Sans KR',sans-serif; font-size:clamp(21px,2.1vw,31px); line-height:1.55; letter-spacing:-.02em; font-weight:500; color:var(--ed-ink); }
body.brand-page .edition-about--page .about-statement--page p:last-child { margin-bottom:0; }
.edition-path .edition-headingrow > p { max-width:34rem; }
.edition-path .edition-headingrow > p a { color:var(--impact-lime); border-bottom:1px solid currentColor; }
.edition-path__more { margin:0; padding-top:6px; }
.edition-quote { padding:110px var(--edge); border-top:1px solid var(--ed-line); }
body.brand-page .edition-quote .about-quote { margin:0; max-width:56rem; font-family:'Noto Sans KR',sans-serif; font-size:clamp(28px,3.4vw,52px); line-height:1.35; letter-spacing:-.03em; font-weight:700; color:var(--ed-paper); word-break:keep-all; }
.edition-quote__name { margin:28px 0 0; font-size:14px; color:var(--ed-muted); letter-spacing:.06em; }
.edition-quote__name::before { content:"— "; }
.edition-gallery .home-section__title { color:var(--ed-paper); }
@media (max-width:680px) {
  main.edition--page { padding-top:70px; }
  .edition-page-head { padding-block:36px 44px; }
  .edition-page-head__name { font-size:56px; }
  .edition-quote .about-quote br { display:none; }
  .edition-about--page { padding-top:60px; }
  body.brand-page .edition-about--page .about-statement--page p { font-size:21px; }
  .edition-quote { padding-block:65px; }
  body.brand-page .edition-quote .about-quote { font-size:28px; }
}

/* 기존 공용 푸터를 검정 바탕(홈 · 내부 페이지)에 맞춘다 — 2026-09-15 은아님 「푸터는 기존으로」. html.light 규칙보다 특정성이 높아야 한다 */
html.light .home-impact .footer, html.light body.brand-page .footer, .home-impact .footer, body.brand-page .footer { margin-top:0; padding:44px var(--edge) 40px; background:#0d0e0b; border-top:1px solid var(--ed-line); }
html.light .home-impact .footer__line, html.light body.brand-page .footer__line, .home-impact .footer__line, body.brand-page .footer__line { color:var(--ed-muted); font-size:13px; }
html.light .home-impact .footer__link, html.light body.brand-page .footer__link, .home-impact .footer__link, body.brand-page .footer__link { color:var(--ed-muted); }
html.light .home-impact .footer__nav .footer__link, html.light body.brand-page .footer__nav .footer__link, .home-impact .footer__nav .footer__link, body.brand-page .footer__nav .footer__link { color:var(--ed-paper); font-size:14px; }
html.light .home-impact .footer__link:hover, html.light body.brand-page .footer__link:hover, .home-impact .footer__link:hover, body.brand-page .footer__link:hover, html.light .home-impact .footer__nav .footer__link:hover, html.light body.brand-page .footer__nav .footer__link:hover { color:var(--impact-lime); }
.home-impact .footer #adminTrigger, body.brand-page .footer #adminTrigger { color:var(--ed-paper); }

/* 문의 · 자료 · 도구 페이지 — 2026-09-16 */
.edition-page-head__lead { margin:26px 0 0; max-width:38rem; font-size:clamp(17px,1.35vw,20px); line-height:1.7; color:#d2d5c9; word-break:keep-all; }
.edition-page-head__links { display:grid; gap:6px; margin-top:34px; max-width:30rem; }
.edition-page-head__links a { display:flex; justify-content:space-between; align-items:center; gap:24px; min-height:46px; border-bottom:1px solid var(--ed-line); font-size:15px; transition:color 200ms ease, border-color 200ms ease; }
.edition-page-head__links a > span:first-child { color:var(--ed-muted); font-size:13px; }
.edition-page-head__links a:hover { color:var(--impact-lime); border-color:currentColor; }
.edition-list, .edition-form { padding:60px var(--edge) 110px; }
.edition-list .edition-kicker, .edition-form .edition-kicker { margin-bottom:36px; color:var(--ed-muted); }
.edition-list .edition-resources { max-width:60rem; }
.edition-resource__tags { display:flex; flex-wrap:wrap; gap:6px 18px; margin:0 0 16px; font-size:13px; color:#9ba18f; }
.edition-resource__bottom { display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap; }
.edition-resource__bottom em { font-style:normal; }
body.brand-page .edition-form .home-contact { max-width:56rem; margin:0; }
body.brand-page .edition-form .home-contact__submit { margin-right:0; border-radius:40px; padding:16px 26px; font-weight:700; background:var(--impact-lime); color:var(--ed-ink); }
body.brand-page .edition-form .home-contact__submit:hover { background:#f4d3a1; }
body.brand-page .edition-form .home-contact__hint { font-size:15px; }
body.brand-page .edition-form .home-contact__hint a { color:var(--impact-lime); }
@media (max-width:680px) {
  .edition-page-head__lead { font-size:17px; }
  .edition-page-head__lead br { display:none; }
  .edition-list, .edition-form { padding-block:40px 70px; }
}
/* 비밀번호 화면: brand-page 가 바탕만 검정으로 바꿔 안내 문구가 안 보였다. 화면 전체 리뉴얼은 은아님 결정 대기 (2026-09-16) */
body.brand-page .gate__lead { color:var(--ed-paper); }
body.brand-page .gate__rail, body.brand-page .gate-rail { color:var(--ed-muted); }

/* 밝은 면 — 읽는 페이지(자료 등). 같은 팔레트, 바탕만 아이보리. --ed-ink/--ed-paper 를 뒤집어 기존 규칙을 그대로 쓴다 (2026-09-16 은아님 「자료 페이지 가독성이 더 안 좋다」) */
body.brand-page.brand-light { --ed-ink:#eae7dd; --ed-paper:#11120f; --ed-muted:#5b6053; --ed-line:#b8bbae; --color-bg:#eae7dd; --color-surface:#f3f1e9; --color-surface-hover:#e2dfd4; --color-text:#11120f; --color-text-muted:#4d5544; --color-outline:#5b6053; --color-border:#b8bbae; background:#eae7dd; color:#11120f; }
body.brand-page.brand-light > .nav { background:#eae7dd; border-bottom-color:#b8bbae; }
body.brand-page.brand-light > .nav .nav__logo, body.brand-page.brand-light > .nav .nav__link, body.brand-page.brand-light .nav__burger { color:#11120f; }
body.brand-page.brand-light > .nav .nav__link--active { color:#8a4b1c; border-color:#8a4b1c; }
body.brand-page.brand-light > .nav .nav__link:last-child { background:#11120f; color:#eae7dd; }
body.brand-page.brand-light .brand-breadcrumb { color:#5b6053; } body.brand-page.brand-light .brand-breadcrumb a { color:#8a4b1c; }
body.brand-page.brand-light .edition-page-head__lead { color:#3f463a; }
body.brand-page.brand-light .edition-page-head__role { color:#8a4b1c; }
body.brand-page.brand-light .edition-resource > p { color:#2c3326; }
body.brand-page.brand-light .edition-resource > p.edition-resource__tags, body.brand-page.brand-light .edition-resource__bottom, body.brand-page.brand-light .edition-resource__meta { color:#5b6053; }
body.brand-page.brand-light .edition-resource:hover h3 { color:#8a4b1c; }
body.brand-page.brand-light .edition-textlink:hover, body.brand-page.brand-light .edition-page-head__links a:hover { color:#8a4b1c; }
body.brand-page.brand-light .impact__cta { background:#11120f; color:#eae7dd; } body.brand-page.brand-light .impact__cta:hover { background:#2c3326; }
body.brand-page.brand-light .edition-top { background:#11120f; color:#eae7dd; border-color:#11120f; }
html.light body.brand-page.brand-light .footer, body.brand-page.brand-light .footer { background:#e2dfd4; border-top:1px solid #b8bbae; }
html.light body.brand-page.brand-light .footer__line, body.brand-page.brand-light .footer__line, html.light body.brand-page.brand-light .footer__link, body.brand-page.brand-light .footer__link { color:#4d5544; }
html.light body.brand-page.brand-light .footer__nav .footer__link, body.brand-page.brand-light .footer__nav .footer__link, body.brand-page.brand-light .footer #adminTrigger { color:#11120f; }
html.light body.brand-page.brand-light .footer__link:hover, body.brand-page.brand-light .footer__link:hover, html.light body.brand-page.brand-light .footer__nav .footer__link:hover { color:#8a4b1c; }
body.brand-page.brand-light a:focus-visible, body.brand-page.brand-light button:focus-visible { outline-color:#8a4b1c; }
/* 밝은 면의 문의 양식 — 입력칸은 흰색(바탕과 같은 아이보리면 칸이 안 보인다) */
body.brand-page.brand-light .home-contact__input, body.brand-page.brand-light .home-contact__textarea { background:#fffdf9; color:#11120f; border:1px solid #a9ae9c; }
body.brand-page.brand-light .home-contact__input::placeholder, body.brand-page.brand-light .home-contact__textarea::placeholder { color:#6b7263; }
body.brand-page.brand-light .home-contact__input:focus, body.brand-page.brand-light .home-contact__textarea:focus { border-color:#8a4b1c; box-shadow:0 0 0 3px rgba(138,75,28,.15); }
body.brand-page.brand-light .edition-form .home-contact__submit { background:#11120f; color:#eae7dd; }
body.brand-page.brand-light .edition-form .home-contact__submit:hover { background:#2c3326; }
body.brand-page.brand-light .edition-form .home-contact__hint { color:#3f463a; } body.brand-page.brand-light .edition-form .home-contact__hint a { color:#8a4b1c; }
body.brand-page.brand-light .home-contact__success { background:#f3f1e9; color:#11120f; border:1px solid #b8bbae; }
body.brand-page.brand-light .gate__lead { color:#11120f; }
/* 밝은 면 페이지의 비밀번호 화면 — 옆 흰 카드가 검정 바탕에 뜨지 않게 바탕만 아이보리. 화면 전체 개편은 나중에 (2026-09-16) */
body.brand-page.brand-light .gate { background:#eae7dd; color:#11120f; }

/* 밝은 면의 카드 격자(자료 · 도구 원래 구조) — brand-pages.css 가 카드를 검정으로 박아 둔 것을 덮는다 (2026-09-16) */
body.brand-page.brand-light .home-hero { border-bottom-color:#b8bbae; }
body.brand-page.brand-light .home-hero__title { color:#11120f; }
body.brand-page.brand-light .home-hero__desc { color:#3f463a; }
body.brand-page.brand-light .home-card { background:#fffdf9; border-color:#b8bbae; }
body.brand-page.brand-light .home-card:hover { background:#f6f4ec; border-color:#8a4b1c; }
body.brand-page.brand-light .home-card__name, body.brand-page.brand-light .home-card__title, body.brand-page.brand-light .home-card__icon, body.brand-page.brand-light .home-card__arrow { color:#11120f; }
/* 카드 화살표가 밝은 모드용 슬레이트(#6b7a90)로 남아 검정 카드에서 3.84:1 이었다 (2026-09-19) */
body.brand-page .home-card__arrow, html.light body.brand-page .home-card__arrow { color:#b9bcaf; }
body.brand-page.brand-light .home-card__desc { color:#3f463a; }
body.brand-page.brand-light .home-card__tag, body.brand-page.brand-light .home-card__level, body.brand-page.brand-light .home-card__date { color:#5b6053; }
body.brand-page.brand-light .home-card__badge { background:#e2dfd4; color:#11120f; border-color:#b8bbae; }
body.brand-page.brand-light .home-card__badge--open { background:#11120f; color:#eae7dd; border-color:#11120f; }
body.brand-page.brand-light .home-card__badge--soon { background:#e2dfd4; color:#11120f; border-color:#b8bbae; }
body.brand-page.brand-light .home-section__title { color:#11120f; }
body.brand-page.brand-light .home-section__desc { color:#3f463a; }
body.brand-page.brand-light .fab__btn { background:#11120f; color:#eae7dd; border-color:#11120f; }

/* 검정 카드(자료 · 도구) — brand-pages.css 가 __title 만 색을 주고 __name 을 빼먹어 카드 이름이 배경과 같은 색(1.0:1)이었다. 태그·난이도·날짜도 3.0–3.8 (2026-09-16) */
body.brand-page .home-card__name { color:var(--ed-paper); }
body.brand-page .home-card__desc { color:#d2d5c9; }
body.brand-page .home-card__tag, body.brand-page .home-card__level, body.brand-page .home-card__date { color:#b4b9a8; }
body.brand-page .home-card__tag + .home-card__tag::before { color:#7d8373; }

/* 오른쪽 아래 단추 안내말 — 검정 페이지에서 안 보였다 (2026-09-16 은아님). html.light 규칙보다 특정성을 높게 */
html.light body.brand-page .fab__btn::after, body.brand-page .fab__btn::after { background:#eae7dd; color:#11120f; border:1px solid #b8bbae; box-shadow:none; }
html.light body.brand-page .fab__btn, body.brand-page .fab__btn { background:#1d1e19; color:#eae7dd; border:1px solid #656d59; box-shadow:none; }
html.light body.brand-page .fab__btn:hover, body.brand-page .fab__btn:hover { background:#2c3326; box-shadow:none; }

/* 검정 페이지(도구 등 brand-page)의 비밀번호 화면 — 2026-09-16 은아님 「로고 작다 · 흘러가는 영어 안 보인다 · 박스 색」.
   gate.js 가 인라인으로 준 색은 !important 로 덮는다(gate.js 무수정 → ?v 그대로). 다른 페이지의 비밀번호 화면은 그대로 */
body.brand-page #gateNav { background:rgba(17,18,15,.94) !important; border-bottom:1px solid #393a32; }
body.brand-page #gateNav .nav { max-width:none; min-height:78px; padding:20px var(--edge); }
body.brand-page #gateNav .nav__logo { font-family:'Playfair Display','Noto Sans KR',Georgia,serif; font-size:21px; font-weight:700; letter-spacing:.02em; color:#eae7dd; }
body.brand-page #gateNav .nav__link { color:#eae7dd; font-size:13px; }
body.brand-page #gateNav .nav__link--active, html.light body.brand-page #gateNav .nav__link--active { color:#efbc70 !important; border-color:#efbc70 !important; }
body.brand-page #gateNav .nav__link:last-child { background:#efbc70; color:#11120f; border-radius:30px; padding:9px 18px; }
body.brand-page #gateNav .nav__burger { color:#eae7dd; }
body.brand-page .gate__lead { color:#eae7dd; font-size:1.5rem; }
body.brand-page .gate-rail__label { color:#efbc70; font-size:.8rem; letter-spacing:.34em; font-weight:600; }
body.brand-page .gate-rail__line { background:#656d59; }
body.brand-page .gate-ticker { opacity:.24; }
body.brand-page .gate-ticker__track { color:#efbc70; }
body.brand-page .gate__open, body.brand-page .gate__member { background:#1d1e19; border:1px solid #393a32; box-shadow:none; }
body.brand-page .gate__member:focus-within { border-color:#efbc70; }
body.brand-page .gate__open-title, body.brand-page .gate__member-title { color:#eae7dd; }
body.brand-page .gate__open-desc, body.brand-page .gate__member-desc { color:#b9bcaf; }
/* 보조 단추 — 채운 아이보리는 화면에서 가장 밝아 주된 길(입장)보다 먼저 읽혔다. 테두리만 남긴다 (2026-09-19) */
body.brand-page .gate__open-btn { background:transparent; color:#eae7dd; border:1px solid #777e6a; }
body.brand-page .gate__open-btn:hover { background:rgba(234,231,221,.1); border-color:#eae7dd; color:#eae7dd; }
body.brand-page .gate__input { background:#2a2c25; color:#eae7dd; border:1px solid #656d59; box-shadow:none; }
body.brand-page .gate__input::placeholder { color:#9aa08f; }
body.brand-page .gate__input:focus { border-color:#efbc70; box-shadow:0 0 0 3px rgba(239,188,112,.25); }
body.brand-page .gate__btn { background:#efbc70; color:#11120f; border:1px solid #efbc70; } body.brand-page .gate__btn:hover { background:#f4d3a1; border-color:#f4d3a1; color:#11120f; }
body.brand-page .gate__error { color:#ff9c8a; }
body.brand-page .gate__or { color:#8f9982; } body.brand-page .gate__or::before, body.brand-page .gate__or::after { background:#393a32; }
body.brand-page #gateFab .fab__btn--dark, body.brand-page #gateFab .fab__btn--weather { display:none; }
body.brand-page #gateFab .fab__btn { background:#1d1e19 !important; color:#eae7dd !important; border:1px solid #656d59 !important; box-shadow:none !important; }
body.brand-page #gateFab .fab__btn--top { background:#efbc70 !important; color:#11120f !important; border-color:#efbc70 !important; }

/* 소개(원래 구조) — 검정 페이지용 색. 원고 카드는 자료 카드와 같은 톤, 인용문은 전에 배경에 묻혀 안 보였다 (2026-09-16) */
html.light body.brand-page .about-profile, body.brand-page .about-profile { background:#1d1e19; border:1px solid #393a32; box-shadow:none; }
html.light body.brand-page .about-profile .about-statement p, body.brand-page .about-profile .about-statement p { color:#eae7dd; font-size:17px; line-height:1.95; }
html.light body.brand-page .about-quote, body.brand-page .about-quote { color:#eae7dd; font-size:clamp(22px,2.2vw,30px); }
html.light body.brand-page .home-closing__name, body.brand-page .home-closing__name { color:#b9bcaf; }
body.brand-page .home-section__desc a, body.brand-page .about-extra a { color:#efbc70; }
body.brand-page .about-extra { color:#b9bcaf; }
/* 소개 「걸어온 길」 문단이 40rem 에 묶여 오른쪽이 352px 비었다(은아님) → 52rem (2026-09-16) */
body.brand-page .home--main .home-section > .home-section__desc { max-width:52rem; }