/* 생활해상도 v3: calm journal grid, deliberate reading width, and mobile-safe actions. */
:root{--paper:#f5f1e8;--surface:#fffdf8;--ink:#171714;--muted:#666760;--resolution-green:#2f5b4b;--terracotta:#b94a34;--line:rgba(23,23,20,.18);--serif:"Noto Serif KR","Nanum Myeongjo",Georgia,serif;--page:1240px;--reading:720px;--rail:1120px}
html,body{max-width:100%;overflow-x:clip}body{background:var(--paper);color:var(--ink);font-family:Pretendard,"Apple SD Gothic Neo","Noto Sans KR",sans-serif}.shell{width:min(var(--page),calc(100% - 48px))}.site-header{background:color-mix(in srgb,var(--paper) 92%,transparent);border-color:var(--line)}.header-inner{height:76px}.brand b{font-size:1.13rem;color:var(--ink)}.brand small{color:var(--muted)}.menu{gap:18px}.menu a{font-size:.82rem;font-weight:700}.menu a:hover,.menu .current-menu-item>a{color:var(--terracotta)}.header-search{border-color:var(--ink);background:var(--surface);font-weight:800}.header-search:hover{background:var(--resolution-green);color:#fff}
.signal-home{background:var(--paper)}.signal-hero{min-height:630px;background:var(--resolution-green);background-image:linear-gradient(90deg,rgba(27,57,45,.96),rgba(47,91,75,.82)),url("../images/brand-hero.webp")}.hero-gridlines{background:linear-gradient(90deg,transparent 0 24.8%,rgba(255,253,248,.16) 24.9% 25%,transparent 25.1% 74.8%,rgba(255,253,248,.16) 74.9% 75%,transparent 75.1%),linear-gradient(rgba(255,253,248,.12) 1px,transparent 1px)}.hero-copy-wrap h1{font-family:var(--serif);font-weight:700;letter-spacing:-.065em}.hero-copy-wrap h1 .key-phrase,.hero-kicker,.hero-stamp,.hero-index>p{color:#dfe9d9}.hero-search{border-color:rgba(255,253,248,.56);background:rgba(23,23,20,.22)}.hero-search button{background:var(--surface);color:var(--resolution-green)}.hero-search button:hover{background:var(--terracotta);color:#fff}.signal-manifesto{padding:118px 0;background:var(--surface)}.manifesto-grid h2,.section-head h2,.system-intro h2{font-family:var(--serif);font-weight:700}.manifesto-grid .accent-word,.map-title-accent{color:var(--terracotta)}.manifesto-grid .phrase-highlight{background:linear-gradient(transparent 68%,#dfe9d9 68%)}.signal-map{padding:104px 0;background:#e6ebdf;background-image:linear-gradient(rgba(47,91,75,.1) 1px,transparent 1px),linear-gradient(90deg,rgba(47,91,75,.1) 1px,transparent 1px);background-size:78px 78px}.signal-map-card{background:var(--surface);border-color:var(--line);box-shadow:none}.signal-map-card:first-child,.signal-map-card:hover{background:var(--resolution-green)}.signal-map-card::before{background:var(--terracotta)}.signal-system{padding:120px 0;background:var(--ink)}.decision-chain li::before{background:var(--terracotta)}.decision-chain .question-key{color:#dfe9d9;text-decoration-color:#dfe9d9}.signal-notes{padding:108px 0;background:var(--paper)}.round-link{background:var(--resolution-green)}.round-link:hover{background:var(--terracotta)}.editorial-post-grid .signal-card:hover,.archive-grid .signal-card:hover{background:var(--surface)}.signal-closing{padding:96px 0;background:var(--terracotta)}.closing-key{color:#fff1e8}.closing-key::after{background:#fff1e8}.site-footer{background:var(--resolution-green)}.site-footer .footer-kicker,.site-footer .footer-grid h2,.footer-search-link b,.site-footer .footer-menu a:hover{color:#dfe9d9}
.archive-layout{width:min(var(--page),calc(100% - 48px));padding-top:84px}.archive-header{max-width:var(--rail)}.archive-header h1{font-family:var(--serif);font-weight:700}.archive-header .eyebrow{color:var(--terracotta)}.archive-description,.archive-header>p:last-child{color:var(--muted)}.archive-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.archive-grid .signal-card{border-color:var(--line);background:var(--surface)}.signal-card{border-radius:0}.card-body p,.card-meta{color:var(--muted)}.card-category{color:var(--terracotta)}
.single-shell{width:min(var(--page),calc(100% - 48px));padding-top:46px}.signal-article>.article-header,.signal-article>.partner-notice,.signal-article>.article-footer,.signal-article~.comments-area{width:min(var(--rail),100%)}.article-header{max-width:var(--reading);margin-left:calc((100% - min(var(--rail),100%))/2);border-color:var(--line)}.article-breadcrumb{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:22px;color:var(--muted);font-size:.75rem}.article-breadcrumb a:hover{color:var(--terracotta);text-decoration:underline;text-underline-offset:3px}.article-header h1{font-family:var(--serif);font-weight:700;font-size:clamp(2.2rem,4vw,4.1rem);line-height:1.16}.article-intro{color:var(--muted)}.article-meta{color:var(--muted)}.direct-answer{width:min(var(--reading),100%);margin:28px auto 36px;padding:20px 22px;border-left:4px solid var(--terracotta);background:#f0e8da}.direct-answer .eyebrow{margin:0 0 9px;color:var(--terracotta)}.direct-answer div{display:grid;grid-template-columns:92px 1fr;gap:16px}.direct-answer strong{font-size:.82rem}.direct-answer p{margin:0;color:#383934;line-height:1.72}.article-figure{width:min(var(--rail),100%);margin-inline:auto}.article-reading-layout{position:relative;width:min(var(--rail),100%);margin-inline:auto}.article-content{width:min(var(--reading),100%);margin-inline:auto;color:#282924}.article-content a{color:var(--resolution-green);font-weight:750;text-decoration:underline;text-underline-offset:3px}.article-oic{position:absolute;top:0;right:0;width:156px;padding-left:16px;border-left:1px solid var(--line);color:var(--muted);font-size:.72rem;line-height:1.45}.article-oic>p{margin:0 0 12px;color:var(--resolution-green);font-size:.66rem;font-weight:900;letter-spacing:.12em}.article-oic ol{display:grid;gap:11px;margin:0;padding:0;list-style:none}.article-oic li{display:flex;gap:8px}.article-oic b{color:var(--terracotta)}.article-oic a{display:block;margin-top:16px;padding-top:11px;border-top:1px solid var(--line);color:var(--ink);font-weight:800}.article-oic a:hover{color:var(--terracotta)}.article-sources{border-color:var(--line);background:var(--surface)}.related-reading{width:min(var(--rail),100%);margin-inline:auto;border-color:var(--ink)}.related-reading__grid{border-color:var(--line);background:var(--line)}.related-reading__card{background:var(--surface)}.related-reading__head p{color:var(--terracotta)}.article-footer{margin-top:38px}.partner-notice{color:var(--muted)!important}
:focus-visible{outline:3px solid var(--terracotta);outline-offset:3px}@media(max-width:1100px){.article-oic{display:none}.article-header{margin-left:auto}.article-reading-layout{width:min(var(--reading),100%)}.related-reading{width:min(var(--rail),100%)}}@media(max-width:700px){.shell,.archive-layout,.single-shell{width:calc(100% - 36px)}.header-inner{height:68px}.primary-nav{top:68px}.hero-copy-wrap{padding-inline:0}.signal-hero-inner{padding-top:72px}.archive-layout{padding-top:50px}.archive-grid{grid-template-columns:1fr}.article-header h1{font-size:clamp(2rem,9vw,2.65rem)}.direct-answer{padding:17px}.direct-answer div{grid-template-columns:1fr;gap:5px}.article-content{font-size:1rem}.article-content table{max-width:100%}.related-reading{margin-top:56px}.footer-search-link,.menu a,.header-search,.menu-toggle{min-height:44px}}@media(max-width:390px){.hero-copy-wrap h1{font-size:clamp(2.7rem,13vw,3.15rem)}.article-content pre,.article-content table{max-width:100%;overflow-x:auto}}@media(prefers-reduced-motion:reduce){*,::before,::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}

/* 설계서의 여섯 생활 범주와 차분한 선형 아이콘을 위한 v3 구조 보정. */
.signal-map-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.signal-map-card:nth-child(3n){border-right:0}
.signal-map-card:nth-child(-n+3){border-bottom:1px solid var(--line)}
.map-icon{display:grid;place-items:center;background:transparent!important}
.map-icon img{position:static;width:24px;height:24px;max-width:24px;object-fit:contain;filter:none!important;opacity:1}
.signal-map-card:first-child .map-icon img,.signal-map-card:hover .map-icon img{filter:brightness(0) invert(1)!important}
@media(max-width:1100px){.signal-map-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.signal-map-card,.signal-map-card:nth-child(3n){border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.signal-map-card:nth-child(2n){border-right:0}.signal-map-card:nth-last-child(-n+2){border-bottom:0}}
@media(max-width:700px){.signal-map-grid{grid-template-columns:1fr}.signal-map-card,.signal-map-card:nth-child(2n),.signal-map-card:nth-child(3n){border-right:0;border-bottom:1px solid var(--line)}.signal-map-card:last-child{border-bottom:0}}

/* 검색 결과가 없거나 대표 이미지가 없는 예외 화면도 브랜드 경험을 유지한다. */
.archive-grid .card-placeholder{height:100%;min-height:240px;background:linear-gradient(145deg,#e4eadf,#f5f1e8);color:var(--resolution-green)}
.error-shell{width:min(var(--rail),calc(100% - 48px));min-height:62vh;padding:92px 0 112px}
.error-shell h1{max-width:760px;margin:12px 0 22px;font-family:var(--serif);font-size:clamp(2.6rem,5.5vw,5.2rem);font-weight:700;line-height:1.08;letter-spacing:-.06em}
.error-shell>p:not(.eyebrow){max-width:610px;color:var(--muted);font-size:1.05rem}
.error-shell .problem-search{display:grid;grid-template-columns:minmax(0,1fr) auto;width:min(610px,100%);margin:34px 0 20px;border:1px solid var(--ink);background:var(--surface)}
.error-shell .problem-search input{min-width:0;border:0;padding:15px 17px;background:transparent;color:var(--ink);font:inherit}
.error-shell .problem-search button{min-height:52px;border:0;padding:0 20px;background:var(--resolution-green);color:#fff;font:inherit;font-weight:800;cursor:pointer}
.error-shell .problem-search button:hover{background:var(--terracotta)}
.error-shell .button-link{display:inline-flex;align-items:center;min-height:44px;border-bottom:2px solid var(--terracotta);font-weight:800}
@media(max-width:700px){.error-shell{width:calc(100% - 36px);padding:54px 0 72px}.error-shell h1{font-size:clamp(2.35rem,11vw,3.4rem)}.error-shell .problem-search{grid-template-columns:1fr}.error-shell .problem-search button{width:100%}}

/* v3.1 visual QA: keep the hero artwork visible while preserving a calm reading zone. */
.signal-hero{
  background-image:linear-gradient(90deg,rgba(14,42,33,.68) 0%,rgba(24,62,48,.38) 54%,rgba(15,46,37,.18) 100%),url("../images/brand-hero.webp");
  background-position:center;
}
.hero-copy-wrap h1,.hero-copy,.hero-stamp,.hero-index{position:relative;text-shadow:0 2px 20px rgba(7,22,17,.62)}
.hero-copy-wrap h1 .key-phrase{
  color:#ffd4b8;
  text-decoration-color:#d9ff45;
  text-shadow:0 2px 20px rgba(7,22,17,.7);
}

/* Keep each latest-note column self-contained at desktop and tablet widths. */
.editorial-post-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.editorial-post-grid .signal-card,.editorial-post-grid .card-link,.editorial-post-grid .card-body{min-width:0}
.editorial-post-grid .card-body{display:block}
.editorial-post-grid .card-image{margin:24px 24px 0}
.editorial-post-grid .card-body{padding:22px 26px 32px}
.editorial-post-grid .card-body h2{
  margin-block:12px 14px;
  font-size:clamp(1.42rem,1.72vw,1.7rem);
  line-height:1.25;
  letter-spacing:-.052em;
  overflow-wrap:anywhere;
  word-break:keep-all;
}
.editorial-post-grid .card-body p{margin:0;overflow-wrap:anywhere;word-break:keep-all;line-height:1.72}
.editorial-post-grid .card-meta{display:block;margin-top:22px}

/* Archive cards must never let a long Korean title collide with the next column. */
.archive-grid .signal-card,.archive-grid .card-body{min-width:0}
.archive-grid .card-body h2{
  display:-webkit-box;
  min-height:3.75em;
  margin:10px 0 12px;
  overflow:hidden;
  font-size:clamp(1.3rem,1.55vw,1.58rem);
  line-height:1.25;
  letter-spacing:-.045em;
  overflow-wrap:anywhere;
  word-break:keep-all;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
}
.archive-grid .card-body p{
  display:-webkit-box;
  overflow:hidden;
  overflow-wrap:anywhere;
  word-break:keep-all;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
}
.archive-grid:has(>.signal-card:only-child){grid-template-columns:minmax(0,720px)}
.archive-grid:has(>.signal-card:nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}
.archive-layout>.editorial-empty{min-height:280px;padding:clamp(32px,4vw,48px)}

/* Footer copy remains legible on the brand-green field without changing its hierarchy. */
.site-footer{background:#1f4f40;color:#fffdf8}
.footer-mast{border-color:rgba(255,253,248,.45)}
.site-footer .footer-kicker,.site-footer .footer-grid h2,.footer-search-link b{color:#dce8ae}
.site-footer .footer-mast h2,.footer-brand b{color:#fffdf8}
.footer-search-link{border-color:rgba(255,253,248,.62);color:#fffdf8}
.footer-brand small,.site-footer .footer-brand-column>p{color:#dce5d9}
.site-footer .footer-menu a{color:#f6f4eb;font-weight:700}
.site-footer .footer-menu a:hover{color:#dce8ae}
.site-footer .footer-bottom{border-top:1px solid rgba(255,253,248,.24);color:#d3dfd4}

@media(max-width:900px){
  .editorial-post-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .editorial-post-grid .signal-card:nth-child(2){border-right:0}
  .editorial-post-grid .signal-card:nth-child(3){border-top:1px solid var(--line)}
  .editorial-post-grid .card-body{padding:20px 22px 28px}
  .editorial-post-grid .card-body h2{font-size:clamp(1.3rem,3vw,1.55rem)}
  .archive-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .archive-grid:has(>.signal-card:only-child){grid-template-columns:minmax(0,1fr);max-width:680px}
  .archive-grid .card-body{padding-inline:22px}
  .archive-grid .card-body h2{font-size:clamp(1.24rem,2.8vw,1.4rem)}
}
@media(max-width:560px){
  .signal-hero{
    background-image:linear-gradient(90deg,rgba(12,38,30,.7),rgba(20,57,44,.46)),url("../images/brand-hero.webp");
    background-position:58% center;
  }
  .editorial-post-grid{grid-template-columns:minmax(0,1fr)}
  .editorial-post-grid .signal-card:nth-child(3){border-top:0}
  .editorial-post-grid .card-image{margin:18px 18px 0}
  .editorial-post-grid .card-body{padding:18px 20px 26px}
  .editorial-post-grid .card-body h2{font-size:1.45rem;line-height:1.3}
  .archive-grid,.archive-grid:has(>.signal-card:only-child),.archive-grid:has(>.signal-card:nth-child(2):last-child){grid-template-columns:minmax(0,1fr)}
  .archive-grid .card-body h2{min-height:0;font-size:1.35rem;-webkit-line-clamp:3}
  .archive-layout>.editorial-empty{min-height:240px;padding:28px}
}
