/* ===================================================================
   공간묘미 — 공용 디자인 시스템 (site.css)  ※ 웜 에디토리얼
   -------------------------------------------------------------------
   홈(index.html)의 크림/먹색 톤을 서브페이지 전체에 공유한다.
   서브페이지 인라인 CSS가 쓰던 옛 토큰 이름(--gray-700 등)은
   '웜 값으로 별칭 매핑'해, 페이지 구조를 건드리지 않고 톤만 바꾼다.
   다크 토글(html[data-theme="dark"])은 찐 검정으로 자동 전환.
   =================================================================== */
:root{
  /* 웜 팔레트 (홈과 동일) */
  --paper:#f4f1ea; --paper2:#ece7dd; --paper-card:#faf8f3;
  --ink:#23211c; --ink2:#423d34; --muted:#928b7d; --deep:#1b1916;
  --line:#dcd6c9; --stone-line:#d8d1c2;
  /* ↓ 서브페이지 인라인 CSS 호환용 별칭 (전부 웜 값으로) */
  --bg:#f4f1ea; --black:#1b1916; --gray-700:#5c564b; --gray-500:#8f887a;
  --stone:#ece7dd; --charcoal:#1b1916; --void:#15130f;
  --ease:cubic-bezier(.22,.61,.36,1); --maxw:1280px;
}
/* ── 다크 토글: 중립 찐 검정 ── */
html[data-theme="dark"]{color-scheme:dark;
  --paper:#000000; --paper2:#0c0c0c; --paper-card:#111111;
  --ink:#f3f3f1; --ink2:#c3c3bf; --muted:#8a8a86; --deep:#000000;
  --line:#262626; --stone-line:#262626;
  --bg:#000000; --black:#f3f3f1; --gray-700:#c3c3bf; --gray-500:#8a8a86;
  --stone:#0e0e0e; --charcoal:#000000; --void:#000000;
}
html{color-scheme:light}

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Pretendard',-apple-system,system-ui,sans-serif;color:var(--ink);background:var(--bg);
  letter-spacing:-.006em;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden;
  word-break:keep-all;overflow-wrap:break-word}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 32px}

.display{font-size:clamp(30px,4vw,54px);font-weight:300;letter-spacing:-.018em;line-height:1.05}
.h2{font-size:clamp(24px,2.8vw,38px);font-weight:300;letter-spacing:-.014em;line-height:1.18}
.label{font-size:13px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.label-ko{font-size:clamp(24px,3vw,34px);font-weight:400;color:var(--ink);margin-top:10px;letter-spacing:-.014em;line-height:1.16}
.seclabel{margin-bottom:48px}
.seclabel .label{display:inline-flex;align-items:center;gap:10px}
.seclabel .label::before{content:"";width:7px;height:7px;background:var(--ink);flex:0 0 auto}

.grain{position:relative}
.grain::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;opacity:.045;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}

/* ===== 헤더 ===== */
header{position:fixed;top:0;left:0;right:0;z-index:50;transition:background .5s var(--ease),box-shadow .5s var(--ease)}
header .wrap{display:flex;align-items:center;justify-content:space-between;height:78px}
.logo{display:flex;align-items:center}
.logo img{height:38px;width:auto;display:block}
.logo .dark{display:none}
/* 라이트 헤더 로고는 잉크 톤으로 진하게 (다크모드 흰 로고엔 영향 없음 — .dark 미표시) */
header.solid .logo .dark,header.always-solid .logo .dark{filter:brightness(.14)}
header.solid .logo .light{display:none}
header.solid .logo .dark{display:block}
nav{display:flex;align-items:center;gap:34px}
nav a{font-size:14.5px;font-weight:450;color:rgba(255,255,255,.82);transition:color .3s}
nav a:hover{color:#fff}
.nav-cta{padding:10px 21px;border:1px solid rgba(255,255,255,.4);font-weight:500;font-size:13.5px;color:#fff;transition:all .35s var(--ease)}
.nav-cta:hover{background:#fff;color:var(--ink)}
header.solid{background:rgba(244,241,234,.92);backdrop-filter:blur(12px);box-shadow:0 1px 0 var(--line)}
header.solid nav a{color:var(--ink2)}
header.solid nav a:hover{color:var(--ink)}
header.solid .nav-cta{border-color:var(--ink);color:var(--ink)}
header.solid .nav-cta:hover{background:var(--ink);color:var(--paper)}
/* 다크 hero 없는 서브페이지: 항상 solid (크림) */
header.always-solid{background:rgba(244,241,234,.92);backdrop-filter:blur(12px);box-shadow:0 1px 0 var(--line)}
header.always-solid .logo .light{display:none}
header.always-solid .logo .dark{display:block}
header.always-solid nav a{color:var(--ink2)}
header.always-solid nav a:hover{color:var(--ink)}
header.always-solid .nav-cta{border-color:var(--ink);color:var(--ink)}
header.always-solid .nav-cta:hover{background:var(--ink);color:var(--paper)}
html[data-theme="dark"] header.solid,html[data-theme="dark"] header.always-solid{background:rgba(0,0,0,.85)}
html[data-theme="dark"] header.solid .logo .light,html[data-theme="dark"] header.always-solid .logo .light{display:block}
html[data-theme="dark"] header.solid .logo .dark,html[data-theme="dark"] header.always-solid .logo .dark{display:none}

/* 햄버거 */
.burger{display:none;flex-direction:column;gap:5px;cursor:pointer;width:26px}
.burger span{height:1.5px;background:#fff;transition:background .4s}
header.solid .burger span,header.always-solid .burger span{background:var(--ink)}

/* ===== 다크/라이트 토글 버튼 ===== */
.hd-right{display:flex;align-items:center;gap:18px}
.theme-tog{position:relative;z-index:60;width:38px;height:38px;border-radius:50%;
  border:1px solid rgba(255,255,255,.42);display:inline-flex;align-items:center;justify-content:center;
  cursor:pointer;color:#fff;background:transparent;padding:0;flex:0 0 auto;
  transition:background .35s var(--ease),color .35s,border-color .35s}
.theme-tog:hover{background:rgba(255,255,255,.14)}
header.solid .theme-tog,header.always-solid .theme-tog{border-color:var(--ink);color:var(--ink)}
header.solid .theme-tog:hover,header.always-solid .theme-tog:hover{background:var(--ink);color:var(--paper)}
.theme-tog svg{width:17px;height:17px;display:block}
.theme-tog .i-sun{display:none}
html[data-theme="dark"] .theme-tog .i-sun{display:block}
html[data-theme="dark"] .theme-tog .i-moon{display:none}

/* ===== 버튼 ===== */
.btn-fill{display:inline-flex;align-items:center;gap:10px;padding:17px 34px;background:var(--paper);color:var(--ink);font-weight:500;font-size:15px;transition:transform .3s var(--ease),box-shadow .3s var(--ease)}
.btn-fill:hover{transform:translateY(-3px);box-shadow:0 16px 40px rgba(0,0,0,.3)}
.btn-fill .arr{transition:transform .3s var(--ease)}.btn-fill:hover .arr{transform:translateX(5px)}
.btn-dark{display:inline-flex;align-items:center;gap:10px;padding:17px 32px;background:var(--ink);color:var(--paper);font-weight:500;font-size:15px;transition:transform .3s var(--ease),box-shadow .3s var(--ease)}
.btn-dark:hover{transform:translateY(-3px);box-shadow:0 14px 36px rgba(27,25,22,.2)}
.btn-dark .arr{transition:transform .3s var(--ease)}.btn-dark:hover .arr{transform:translateX(5px)}
.btn-ghost{display:inline-flex;align-items:center;padding:14px 26px;border:1px solid var(--ink);font-weight:500;font-size:15px;transition:all .3s var(--ease)}
.btn-ghost:hover{background:var(--ink);color:var(--paper)}
.btn-white{padding:17px 36px;background:var(--paper);color:var(--ink);font-weight:500;font-size:15px;transition:transform .3s var(--ease)}
.btn-white:hover{transform:translateY(-3px)}
.btn-line{padding:17px 32px;border:1px solid rgba(255,255,255,.45);color:#fff;font-weight:500;font-size:15px;transition:all .3s var(--ease)}
.btn-line:hover{background:rgba(255,255,255,.1)}
html[data-theme="dark"] .btn-white,html[data-theme="dark"] .btn-fill{color:#0a0a0a}
.txtlink{display:inline-flex;align-items:center;gap:8px;font-weight:500;font-size:15px;border-bottom:1px solid var(--ink);padding-bottom:3px}
.txtlink .arr{transition:transform .3s var(--ease)}.txtlink:hover .arr{transform:translateX(5px)}

/* ===== 서브페이지 상단 히어로 ===== */
.pagehead{padding:166px 0 86px;border-bottom:1px solid var(--ink)}
.pagehead .label{display:inline-flex;align-items:center;gap:10px;margin-bottom:16px}
.pagehead .label::before{content:"";width:7px;height:7px;background:var(--ink);flex:0 0 auto}
.pagehead h1{font-size:clamp(28px,3.4vw,46px);font-weight:300;letter-spacing:-.018em;line-height:1.08}
.pagehead p{margin-top:24px;font-size:16.5px;color:var(--ink2);max-width:660px;line-height:1.8}

/* ===== 등장 ===== */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.reveal.in{opacity:1;transform:none}
.r-stagger>*{opacity:0;transform:translateY(26px);transition:opacity .85s var(--ease),transform .85s var(--ease)}
.r-stagger.in>*{opacity:1;transform:none}
.r-stagger.in>*:nth-child(1){transition-delay:.04s}
.r-stagger.in>*:nth-child(2){transition-delay:.13s}
.r-stagger.in>*:nth-child(3){transition-delay:.22s}
.r-stagger.in>*:nth-child(4){transition-delay:.31s}
.r-stagger.in>*:nth-child(5){transition-delay:.40s}
.r-stagger.in>*:nth-child(6){transition-delay:.49s}
@media(prefers-reduced-motion:reduce){.reveal,.r-stagger>*{opacity:1!important;transform:none!important}}

/* ===== 상담 배너 (딥톤) ===== */
.bridge-up{height:120px;background:linear-gradient(var(--bg),var(--deep))}
.cta-banner{background:var(--deep);color:#fff;padding:140px 0 146px;text-align:center;position:relative}
.cta-banner .h2{color:#fff}
.cta-banner p{color:rgba(255,255,255,.62);margin-top:16px;font-size:16px}
.cta-banner .row{margin-top:38px;display:flex;gap:16px;justify-content:center;flex-wrap:wrap}
html[data-theme="dark"] .bridge-up{background:linear-gradient(#000,#000)}
html[data-theme="dark"] .cta-banner{background:#000}

/* ===== 푸터 ===== */
footer{background:var(--bg);border-top:1px solid var(--line);padding:84px 0 64px}
footer .top{display:flex;justify-content:space-between;flex-wrap:wrap;gap:24px}
.f-info{font-size:13.5px;color:var(--ink2);line-height:1.95;text-align:right}
.f-info a{color:var(--ink2)}
.f-bottom{margin-top:36px;padding-top:24px;border-top:1px solid var(--line);display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:12.5px;color:var(--muted)}
.f-bottom a{color:var(--muted)}
/* 다크: 푸터 로고 흰색 자동 전환 (서브페이지는 dark 로고만 두므로 반전 필터) */
html[data-theme="dark"] footer .top img{filter:invert(1) brightness(1.6)}

/* 플로팅 전화 */
.floatcall{position:fixed;right:20px;bottom:20px;z-index:60;width:54px;height:54px;border-radius:50%;display:none;align-items:center;justify-content:center;background:var(--ink);color:var(--paper);box-shadow:0 10px 30px rgba(0,0,0,.24)}
.floatcall svg{width:23px;height:23px}
html[data-theme="dark"] .floatcall{background:var(--ink);color:#0a0a0a}

.burger span:nth-child(1),.burger span:nth-child(2),.burger span:nth-child(3){transition:transform .4s var(--ease),opacity .3s}
.menu-open .burger span{background:var(--ink)}
.menu-open .burger span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
.menu-open .burger span:nth-child(2){opacity:0}
.menu-open .burger span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}

@media(max-width:860px){
  .wrap{padding:0 22px}
  .burger{display:flex;z-index:60}
  .floatcall{display:flex}
  .pagehead{padding:120px 0 50px}
  br.brk{display:none}
  /* 모바일: 풀스크린 오버레이 메뉴 (홈과 동일) */
  nav{position:fixed;inset:0;background:var(--paper);flex-direction:column;justify-content:center;gap:28px;
    transform:translateY(-100%);transition:transform .55s var(--ease);z-index:55}
  nav a{color:var(--ink2);font-size:21px}
  nav .nav-cta{color:var(--ink);border-color:var(--ink)}
  .menu-open nav{transform:none}
  html[data-theme="dark"] nav{background:#000}
}
@media(prefers-reduced-motion:reduce){*{animation:none!important}}
