/* 누구나 디자인 스타일 · Warm Paper × Neon Signal · canonical: DESIGN.md */
:root {
  --bg-page:#F3F1EA; --bg-section-alt:#FAF8F2; --bg-card:#fff; --bg-inverse:#0A0A0A;
  --text-primary:#0A0A0A; --text-secondary:rgba(10,10,10,.62); --text-tertiary:rgba(10,10,10,.40);
  --text-inverse:#EBEBEB; --text-inverse-2:rgba(235,235,235,.60);
  --accent:#7FFF00; --accent-deep:#2F7500; --accent-tint:rgba(127,255,0,.15); --accent-line:rgba(58,143,0,.40);
  --line:rgba(10,10,10,.08); --line-strong:rgba(10,10,10,.15); --line-inverse:rgba(255,255,255,.10);
  --font-sans:"Paperlogy","Apple SD Gothic Neo","Malgun Gothic",sans-serif;
  --font-num:"Space Grotesk",var(--font-sans); --font-mono:"JetBrains Mono",ui-monospace,monospace;
  --container:1280px; --container-wide:1600px; --gutter:24px; --section-y:112px;
  --radius-pill:9999px; --radius-sm:12px; --radius-md:16px; --radius-lg:24px; --radius-xl:40px;
  --shadow-card:0 8px 30px rgba(0,0,0,.05);
  /* Compatibility aliases keep all existing page layouts and hooks intact. */
  --ink:var(--text-primary); --muted:var(--text-secondary); --purple:var(--accent-deep);
  --paper:var(--bg-page); --soft:var(--bg-section-alt); --green:var(--accent-tint);
}
body {font-family:var(--font-sans);background:var(--bg-page);color:var(--text-primary);line-height:1.5}
::selection {background:var(--accent);color:#000}
h1,h2,h3 {letter-spacing:-.03em}
h1 {font-weight:900;line-height:1.02}
h2 {font-size:48px;font-weight:600;line-height:1.1}
h3 {font-size:24px;font-weight:700;line-height:1.33}
h1 span {color:inherit}
.wrap {max-width:var(--container);padding-left:var(--gutter);padding-right:var(--gutter)}
.section {padding-top:var(--section-y);padding-bottom:var(--section-y)}
.compact {padding-top:40px}
.eyebrow,.tinytext,.artbottom,.news-meta,.footnote,.service-top small,.learning-step,.enterprise-kicker,.enterprise-number {
  font-family:var(--font-mono);font-weight:500;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--text-secondary)
}
.lead {font-size:20px;line-height:1.6}
.quiet,small {color:var(--text-secondary)}
header {position:sticky;top:16px;width:calc(100% - 48px);max-width:var(--container-wide);margin:16px auto 0;background:rgba(255,255,255,.85);border:1px solid var(--line);border-radius:28px;backdrop-filter:blur(12px)}
.nav {height:56px;max-width:none;gap:20px}
.brand {font-size:21px;font-weight:900;letter-spacing:-.03em}
.brandmark {background:var(--accent);color:#000;transform:none;border-radius:10px;width:32px;height:32px;font-size:25px}
.brandmark span {display:none}
.brandko {border-color:var(--line-strong);color:var(--text-secondary)}
.nav nav {gap:24px;font-size:13px}
.navcta {border-radius:var(--radius-pill);background:var(--accent);color:#000;border-color:transparent;font-weight:700;padding:10px 18px;gap:10px}
.navpdf {border-radius:var(--radius-pill);background:#000;color:#fff;padding:10px 18px;font-size:13px;font-weight:700;white-space:nowrap}
#mobile-nav {border-color:var(--line);border-radius:0 0 28px 28px;max-height:calc(100dvh - 100px);overflow:auto}
:is(a,button,input,textarea,select,summary,[tabindex]):focus-visible {outline:3px solid var(--accent-deep);outline-offset:4px}
.hero {display:block;padding-top:140px;padding-bottom:96px}
.herocopy {max-width:1100px;margin:auto;text-align:center}
.herocopy h1 {font-size:86px;font-weight:900;line-height:1.08;margin-bottom:32px}
.herocopy .lead {max-width:768px;margin:0 auto 32px}
.heroart {display:none}
.herocopy .actions {justify-content:center}
.heronote {justify-content:center;font-size:13px;margin-top:32px}
.mini-star {color:var(--accent-deep);background:var(--accent-tint)}
.pulse {background:var(--accent-deep);box-shadow:0 0 0 4px var(--accent-tint)}
.button {border:1px solid var(--line-strong);border-radius:var(--radius-pill);background:transparent;font-size:15px;font-weight:700;padding:12px 24px;min-height:48px;box-shadow:none;transition:transform 150ms ease,filter 150ms ease}
.button.primary {background:var(--accent);color:#000;border-color:var(--accent);box-shadow:none}
.button.plain {background:var(--bg-inverse);color:#fff;border:1px solid var(--bg-inverse);padding:12px 24px;font-size:15px}
.button:hover {transform:translateY(-1px);filter:brightness(1.03);box-shadow:none}
.pathstrip {background:transparent}
.pathstrip .wrap {padding-top:24px;padding-bottom:24px}
.pathstrip span {color:var(--text-secondary)}
.home-programs {max-width:none;background:var(--bg-inverse);color:var(--text-inverse);padding:112px max(24px,calc((100% - 1232px)/2))}
.home-programs h2 {font-weight:900}
.home-programs p {color:var(--text-inverse-2)}
.home-programs .eyebrow {color:var(--accent)}
.service,.resource,.learning-card,.step,.news-issue {border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--bg-card);box-shadow:var(--shadow-card)}
.service {padding:32px}
.service.dark {background:var(--bg-card);color:var(--text-primary);border-color:var(--line)}
.service.dark p {color:var(--text-secondary)}
.service.dark .service-top small {color:var(--text-secondary)}
.home-programs .service {background:rgba(255,255,255,.04);color:var(--text-inverse);border-color:var(--line-inverse);box-shadow:none}
.home-programs .service p,.home-programs .service-top small,.home-programs .service.dark .service-top small {color:var(--text-inverse-2)}
.home-programs .servicefoot {border-color:var(--line-inverse)}
.home-programs .service:hover {border-color:var(--accent-line)}
.iconbox,.service.dark .iconbox {background:var(--accent-tint);color:var(--accent-deep);border-radius:var(--radius-sm)}
.home-programs .iconbox,.home-programs .service.dark .iconbox {color:var(--accent);background:rgba(255,255,255,.04)}
.tags span,.service.dark .tags span {background:var(--accent-tint);color:var(--accent-deep);border-radius:var(--radius-pill);font-size:12px;font-weight:600}
.home-programs .tags span,.home-programs .service.dark .tags span {background:rgba(127,255,0,.1);color:var(--accent)}
.service[href]:hover,.resource:hover {box-shadow:var(--shadow-card);transform:translateY(-1px)}
.archive-section,.home-learning {background:var(--bg-section-alt)}
.home-learning .eyebrow {letter-spacing:.2em}
.home-learning .learning-intro,.learning-summary,.learning-audience,.learning-source p,.learning-source strong {color:var(--text-secondary)}
.learning-audience strong {color:var(--text-primary)}
.learning-link,.learning-step {color:var(--accent-deep)}
.learning-card {padding:32px}
.cardart {background:var(--bg-section-alt);color:var(--text-primary)}
.abstract,.art2 .abstract {color:var(--text-primary);opacity:.15}
.cardmeta,.save,.cardbottom,.quoteart small {color:var(--text-secondary)}
.cardbottom {border-color:var(--line)}
.quoteart {background:var(--bg-section-alt);border:1px solid var(--line);border-radius:var(--radius-xl);padding:40px}
.quoteart>span,.quoteart em {color:var(--text-primary)}
.cta {position:relative;isolation:isolate;overflow:hidden;background:var(--bg-inverse);border:0;border-radius:var(--radius-xl);color:var(--text-inverse);padding:96px 24px;margin-top:56px;margin-bottom:64px}
.cta:before {content:'NUGUNA AI';position:absolute;z-index:-1;bottom:-.1em;left:50%;transform:translateX(-50%);white-space:nowrap;font-size:clamp(90px,16vw,210px);font-weight:900;letter-spacing:-.06em;opacity:.06;pointer-events:none}
.cta .eyebrow {color:var(--accent)}
.cta h2 {font-weight:900}
.cta .button {padding:20px 40px}
footer {background:var(--bg-inverse);color:var(--text-inverse);border-color:var(--line-inverse)}
footer p,.footer-grid small,.footer-grid>div>a:not(.brand),.footnote {color:var(--text-inverse-2)}
footer .star {color:var(--accent)}
.footnote {border-color:var(--line-inverse);letter-spacing:.04em}
.searchbar,.news-search {border-color:var(--line-strong);border-radius:var(--radius-md)}
.searchbar>span {color:var(--text-secondary)}
.searchbar button {background:var(--accent-tint);color:var(--accent-deep);border-radius:var(--radius-pill)}
.filters button[aria-pressed=true] {background:var(--accent);color:#000;border-color:var(--accent)}
.news-home .news-issue {background:var(--bg-card)}
.news-schedule,.news-insight,.news-answer,.news-visual,.news-visual figcaption {background:var(--bg-section-alt);color:var(--text-secondary);border-radius:var(--radius-md)}
.news-insight small {color:var(--text-secondary)}
.news-visual img {filter:grayscale(1)}
.news-visual figcaption {border-radius:0;font-size:12px}
.news-action {background:var(--bg-section-alt);border:1px solid var(--line);border-radius:var(--radius-lg);color:var(--text-primary)}
.news-action p {color:var(--text-secondary)}
.news-action .eyebrow {color:var(--text-secondary)}
.news-action .textlink {color:var(--accent-deep)}
.news-meta {font-size:12px;letter-spacing:.04em}
.journey,.diagnostic,.detailaside,.contactaside,.research-note,.empty,.note,.result {background:var(--bg-section-alt);border-color:var(--line);border-radius:var(--radius-lg)}
.contactgrid :is(input,textarea,select) {border-color:var(--line-strong);border-radius:var(--radius-sm)}
.storage-status {background:var(--bg-inverse);border-radius:var(--radius-md);box-shadow:var(--shadow-card)}
.enterprise-landing {color:var(--text-primary);--enterprise-line:var(--line);--enterprise-muted:var(--text-secondary);--enterprise-cta:var(--accent)}
.enterprise-landing :is(h1,h2,h3) {letter-spacing:-.03em}
.enterprise-landing h1 {font-weight:900}
.enterprise-landing h2 {font-size:48px;line-height:1.1}
.enterprise-landing .enterprise-number,.enterprise-kicker {color:var(--text-secondary);font-family:var(--font-mono);font-size:11px;letter-spacing:.15em}
.enterprise-button {background:var(--accent);color:#000!important;border-color:var(--accent);border-radius:var(--radius-pill);font-weight:700}
.enterprise-button.secondary {background:var(--bg-inverse);color:#fff!important;border-color:var(--bg-inverse)}
.enterprise-landing .enterprise-button:hover {filter:brightness(1.03);transform:translateY(-1px)}
.enterprise-decision,.enterprise-three article,.enterprise-panel {background:var(--bg-section-alt);border-radius:var(--radius-lg)}
.enterprise-decision li b,.enterprise-process b,.enterprise-landing summary {color:var(--text-primary)}
.enterprise-fit {border-radius:var(--radius-lg)}
.enterprise-fit:has(input:checked) {background:var(--accent-tint);border-color:var(--accent-deep)}
.enterprise-fit input {accent-color:var(--accent-deep)}
.enterprise-table caption,.enterprise-table thead th,.enterprise-table th[scope=row] {background:var(--bg-section-alt);color:var(--text-primary)}
.enterprise-table-scroll,.enterprise-contact form {border-radius:var(--radius-lg)}
.enterprise-form-grid :is(input,select),.enterprise-draft textarea {border-radius:var(--radius-sm);border-color:var(--line-strong)}
.enterprise-reset {border-radius:var(--radius-pill)}
.enterprise-sticky {border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}
@media(min-width:768px) and (max-width:1279px) {
  .herocopy h1 {font-size:64px}
  .servicegrid,.resourcegrid,.learning-grid,.news-gallery {grid-template-columns:repeat(2,minmax(0,1fr))}
  .nav {gap:12px}.nav nav {gap:14px}.brandko {display:none}
  .navpdf {display:none}
}
@media(max-width:900px) { .nav nav {display:none}.menubtn {display:block}.navcta {margin-left:auto} }
@media(min-width:761px) and (max-width:900px) {#mobile-nav:not([hidden]) {display:block!important}}
@media(max-width:767px) {
  :root {--gutter:16px;--section-y:64px}
  header {width:calc(100% - 24px);top:12px;margin-top:12px}
  .nav {height:56px;gap:10px;padding:0 12px}
  .brand {font-size:17px}.brandmark {width:28px;height:28px;font-size:22px}.brandko,.navpdf {display:none}
  .navcta {font-size:11px;padding:10px 12px;gap:5px}
  .hero {padding-top:80px;padding-bottom:64px}
  .herocopy h1 {font-size:40px;line-height:1.15;overflow-wrap:anywhere}
  .herocopy .lead {font-size:16px}.herocopy .lead br {display:none}
  .herocopy .actions {align-items:center;display:flex;gap:12px;flex-direction:column}
  .actions .button.plain {margin:0}
  .button {font-size:14px;padding:12px 20px}
  h2,.enterprise-landing h2 {font-size:30px;line-height:1.1}
  h3 {font-size:20px}
  .home-programs {padding:64px 16px}
  .servicegrid,.resourcegrid,.learning-grid,.news-gallery {grid-template-columns:1fr}
  .service,.learning-card {padding:24px}
  .quoteart {padding:28px;border-radius:var(--radius-lg)}
  .cta {margin:32px 16px 0;padding:64px 20px;border-radius:24px 24px 0 0}
  .cta h2 {font-size:30px}.cta .button {padding:16px 24px}
  .footnote {font-size:10px}
  .enterprise-landing h1 {font-size:40px}
  .enterprise-sticky {border-radius:0}
}
@media(prefers-reduced-motion:reduce) {
  html {scroll-behavior:auto}
  *,*:before,*:after {animation:none!important;transition:none!important}
  .button:hover,.enterprise-button:hover,.service[href]:hover,.news-image-link:hover img {transform:none}
}

/* Publications use the verified links from the author's Litt.ly profile. */
.publications-grid {list-style:none;margin:32px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.publication-card {min-width:0;display:flex;flex-direction:column;align-items:flex-start;padding:32px;background:var(--bg-card);border:var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}
.publication-store {margin:0 0 16px;font-family:var(--font-mono);font-size:12px;color:var(--accent-ink)}
.publication-card h3 {margin:0 0 12px;font-size:24px;line-height:1.4;letter-spacing:-.03em;word-break:keep-all;overflow-wrap:anywhere}
.publication-note {margin:0 0 24px;color:var(--text-secondary);font-size:14px}
.publication-link {margin-top:auto;padding:12px 20px;border-radius:var(--radius-pill);background:var(--accent-tint);color:var(--accent-ink);font-weight:700;font-size:14px;text-decoration:none}
.publication-link:hover {background:var(--accent);color:var(--text-primary)}
.publication-link:focus-visible,.publication-source a:focus-visible {outline:3px solid var(--accent-ink);outline-offset:4px}
.publication-source {display:flex;flex-wrap:wrap;gap:12px 24px;margin:24px 0 0;color:var(--text-secondary);font-size:14px}
.publication-source a {color:var(--accent-ink)}
@media(min-width:768px) and (max-width:1279px) {.publications-grid {grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px) {.publications-grid {grid-template-columns:1fr;gap:16px}.publication-card {padding:24px}.publication-card h3 {font-size:22px}.publication-source {flex-direction:column}}
