/* ==========================================================================
   사주팔자고쳐 프리미엄 테마 — 디자인 시스템
   팔레트는 계산기 플러그인(assets/app.css)의 :root 토큰과 동일합니다.
   --ink:#16202e  --brand:#14213d  --gold:#c8a04a  --gold-soft:#f4e8cd
   ========================================================================== */
:root{
  --sp-ink:#0b1322; --sp-ink-2:#101d30; --sp-navy:#16253a; --sp-brand:#14213d;
  --sp-gold:#c8a04a; --sp-gold-lite:#e6c67f; --sp-gold-deep:#a8842f; --sp-gold-soft:#f4e8cd;
  --sp-paper:#f7f5f0; --sp-white:#fff;
  --sp-ink-2t:#3b4a5e; --sp-muted:#8d97ab; --sp-muted-2:#5d6b80;
  --sp-line:#22304a; --sp-line-soft:rgba(200,160,74,.22); --sp-line-hair:rgba(200,160,74,.14);
  --sp-ok:#1e7d54; --sp-warn:#b8860b; --sp-err:#c0392b;
  --sp-r-sm:10px; --sp-r-md:14px; --sp-r-lg:20px; --sp-r-xl:28px;
  --sp-shadow:0 6px 22px rgba(20,33,61,.08);
  --sp-lift:0 18px 48px rgba(4,7,14,.34);
  --sp-glow:0 0 0 1px rgba(200,160,74,.45),0 12px 40px rgba(200,160,74,.18);
  --sp-t-fast:160ms; --sp-t:260ms; --sp-t-slow:520ms; --sp-ease:cubic-bezier(.22,.61,.36,1);
  --sp-maxw:1180px; --sp-read:760px;
}

/* ---------- 기본 ---------- */
html{scroll-behavior:smooth;background:var(--sp-ink)}
body.saju-palja{
  background:var(--sp-ink); color:#e8ecf4;
  font-family:"Pretendard Variable",Pretendard,"Noto Sans KR","Malgun Gothic","Apple SD Gothic Neo",system-ui,sans-serif;
  font-size:1.0625rem; line-height:1.78; letter-spacing:-0.005em;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
body.saju-palja::before{
  content:""; position:fixed; inset:0; pointer-events:none; z-index:0;
  background:
    radial-gradient(1100px 620px at 78% -8%,rgba(200,160,74,.13),transparent 62%),
    radial-gradient(900px 520px at 8% 4%,rgba(34,64,110,.30),transparent 60%);
}
.wp-site-blocks{position:relative;z-index:1}
body.saju-palja .wp-site-blocks > *{max-width:none}
.sp-main{max-width:none;padding:0}
:where(body.saju-palja) a{color:var(--sp-gold-lite);text-decoration:none;transition:color var(--sp-t-fast) var(--sp-ease)}
:where(body.saju-palja) a:hover{color:var(--sp-gold)}
:where(body.saju-palja) :focus-visible{outline:2px solid var(--sp-gold);outline-offset:3px;border-radius:4px}
::selection{background:rgba(200,160,74,.32);color:#fff}

/* ---------- 타이포 ---------- */
body.saju-palja :where(h1,h2,h3,h4,.wp-block-heading){
  font-family:"Hahmlet","Nanum Myeongjo",Batang,"Noto Serif KR",serif;
  font-weight:600; color:#fff; letter-spacing:-0.012em; line-height:1.22;
}
body.saju-palja h1{font-size:clamp(2.3rem,5.2vw,3.9rem)}
body.saju-palja h2{font-size:clamp(1.7rem,3vw,2.5rem);margin-top:3.4rem;margin-bottom:1.1rem}
body.saju-palja h3{font-size:clamp(1.25rem,1.7vw,1.5rem);margin-top:2.2rem;margin-bottom:.7rem}
body.saju-palja p{margin-bottom:1.15rem}
body.saju-palja strong{color:var(--sp-gold-lite);font-weight:700}
body.saju-palja em{color:var(--sp-gold);font-style:normal}
body.saju-palja hr{border:0;border-top:1px solid var(--sp-line);margin:2.6rem 0}
body.saju-palja .sp-rule-gold{border:0;height:1px;max-width:none;
  background:linear-gradient(90deg,transparent,var(--sp-gold) 22%,var(--sp-gold) 78%,transparent);opacity:.7}
body.saju-palja ul,body.saju-palja ol{padding-left:1.35rem}
body.saju-palja li{margin-bottom:.55rem}
body.saju-palja li::marker{color:var(--sp-gold)}
body.saju-palja blockquote{border-left:3px solid var(--sp-gold);background:rgba(200,160,74,.06);
  padding:1.1rem 1.4rem;border-radius:0 var(--sp-r-md) var(--sp-r-md) 0;color:#dfe5f0;margin:1.8rem 0}
body.saju-palja code{font-family:"Fira Code",ui-monospace,monospace;background:rgba(200,160,74,.12);
  color:var(--sp-gold-lite);padding:.15em .45em;border-radius:6px;font-size:.92em}

/* ---------- 헤더 ---------- */
.sp-header{position:sticky;top:0;z-index:60;padding:0;
  background:rgba(9,17,30,.82);backdrop-filter:blur(16px) saturate(140%);
  -webkit-backdrop-filter:blur(16px) saturate(140%);
  border-bottom:1px solid var(--sp-line-hair);transition:background var(--sp-t) var(--sp-ease)}
.sp-header.is-stuck{background:rgba(7,13,24,.94);border-bottom-color:var(--sp-line-soft)}
.sp-header-inner{max-width:var(--sp-maxw);margin:0 auto;padding:.85rem 1.6rem;
  display:flex;align-items:center;justify-content:space-between;gap:1.5rem}
.sp-brand{gap:.75rem;align-items:center}
.sp-wordmark{margin:0;font-family:"Hahmlet","Nanum Myeongjo",serif;font-weight:700;
  font-size:1.32rem;letter-spacing:.02em;line-height:1;display:flex;align-items:center;gap:.7rem}
.sp-wordmark a,.sp-wordmark{color:#fff!important}
.sp-wordmark::before{
  content:"四柱";font-size:.72rem;font-weight:600;letter-spacing:.02em;color:var(--sp-gold);
  border:1px solid var(--sp-gold);border-radius:7px;padding:.34em .42em;line-height:1;
  box-shadow:inset 0 0 12px rgba(200,160,74,.18)}
.sp-nav{font-size:.95rem}
.sp-nav .wp-block-navigation-item__content{padding:.5rem .2rem;color:#c9d2e0;position:relative}
.sp-nav .wp-block-navigation-item__content::after{
  content:"";position:absolute;left:.2rem;right:.2rem;bottom:.22rem;height:1px;
  background:var(--sp-gold);transform:scaleX(0);transform-origin:left;
  transition:transform var(--sp-t) var(--sp-ease)}
.sp-nav .wp-block-navigation-item__content:hover::after,
.sp-nav li.current-menu-item .wp-block-navigation-item__content::after{transform:scaleX(1)}
.sp-nav li.current-menu-item .wp-block-navigation-item__content{color:var(--sp-gold-lite)}
.sp-nav .wp-block-navigation__submenu-container{background:var(--sp-ink-2);border:1px solid var(--sp-line);
  border-radius:var(--sp-r-md);padding:.5rem;box-shadow:var(--sp-lift)}
.sp-nav .wp-block-navigation__submenu-container a{padding:.5rem .8rem;border-radius:8px}
.sp-nav .wp-block-navigation__submenu-container a:hover{background:rgba(200,160,74,.1)}

/* ---------- 홈 히어로 ---------- */
.sp-main-home{padding:0}
.sp-home-band{position:relative;max-width:none;padding:clamp(3.5rem,9vw,7.5rem) 1.6rem clamp(2.6rem,5vw,4.2rem);
  text-align:center;overflow:hidden;
  background:linear-gradient(160deg,#04070e 0%,#0a1424 52%,#12203c 100%)}
.sp-home-band::after{
  content:"";position:absolute;left:50%;top:-18%;width:min(880px,120vw);height:520px;transform:translateX(-50%);
  background:radial-gradient(closest-side,rgba(200,160,74,.20),transparent 72%);pointer-events:none}
.sp-home-band > *{position:relative;z-index:1;max-width:var(--sp-read);margin-inline:auto}
.sp-eyebrow{display:inline-block;font-size:.78rem;letter-spacing:.28em;text-transform:uppercase;
  color:var(--sp-gold);border:1px solid var(--sp-line-soft);border-radius:999px;
  padding:.5rem 1.15rem .45rem;margin-bottom:1.9rem;background:rgba(200,160,74,.06)}
.sp-home-title{margin:0 0 1.5rem!important;text-shadow:0 2px 34px rgba(0,0,0,.5)}
.sp-home-title::after{content:"";display:block;width:64px;height:2px;margin:1.6rem auto 0;
  background:linear-gradient(90deg,transparent,var(--sp-gold),transparent)}
.sp-home-lead{font-size:clamp(1.02rem,1.35vw,1.2rem);color:#c3ccdb;max-width:660px;margin-inline:auto}

/* ---------- 페이지 헤더(4개 페이지) ---------- */
.sp-page-head{max-width:var(--sp-read);margin:0 auto;padding:clamp(3rem,7vw,5.5rem) 1.6rem 0;text-align:center}
.sp-page-title{margin-bottom:1.2rem!important}
.sp-page-lead{color:#b9c3d3;font-size:1.06rem;max-width:620px;margin-inline:auto}
.sp-page-head .sp-rule-gold{margin-top:2.2rem}

/* ---------- 본문 ---------- */
.sp-content,.sp-content-home{max-width:var(--sp-read);margin:0 auto;padding:0 1.6rem}
.sp-content{padding-bottom:5rem}
.sp-content-home{padding-top:clamp(2.2rem,5vw,3.6rem);padding-bottom:5rem}
.sp-content-home .saju-app{margin-top:.5rem}
.sp-content :where(h2,h3){position:relative;padding-left:1.15rem}
.sp-content :where(h2,h3)::before{
  content:"";position:absolute;left:0;top:.42em;width:5px;height:.78em;border-radius:2px;
  background:linear-gradient(180deg,var(--sp-gold),var(--sp-gold-deep))}
body.saju-palja .sp-content h2:first-child,
body.saju-palja .sp-content h3:first-child{margin-top:0}

/* ---------- 표 ---------- */
.sp-content .wp-block-table{margin:1.8rem 0;border-radius:var(--sp-r-md);overflow:hidden;
  border:1px solid var(--sp-line);box-shadow:var(--sp-shadow)}
.sp-content .wp-block-table table{width:100%;border-collapse:collapse;font-size:.94rem;margin:0}
.sp-content .wp-block-table th{background:linear-gradient(180deg,#1b2c48,#152441);color:var(--sp-gold-lite);
  font-weight:700;text-align:left;padding:.85rem 1rem;border-bottom:1px solid var(--sp-line-soft);
  letter-spacing:.01em;white-space:nowrap}
.sp-content .wp-block-table td{padding:.8rem 1rem;border-bottom:1px solid rgba(34,48,74,.7);color:#dbe2ee}
.sp-content .wp-block-table tbody tr:nth-child(even){background:rgba(255,255,255,.022)}
.sp-content .wp-block-table tbody tr:hover{background:rgba(200,160,74,.07)}
.sp-content .wp-block-table tbody tr:last-child td{border-bottom:0}
.sp-content .wp-block-table figcaption{color:var(--sp-muted);font-size:.85rem;padding:.6rem .2rem 0}

/* ---------- 리스트 카드(하는 일 / 하지 않는 일) ---------- */
.sp-content ul:not([class]){list-style:none;padding-left:0}
.sp-content ul:not([class]) > li{position:relative;padding-left:1.7rem;margin-bottom:.85rem}
.sp-content ul:not([class]) > li::before{
  content:"";position:absolute;left:.15rem;top:.62em;width:7px;height:7px;border-radius:50%;
  background:var(--sp-gold);box-shadow:0 0 0 4px rgba(200,160,74,.13)}

/* ---------- FAQ 아코디언 ---------- */
.sp-faq .wp-block-details{border:1px solid var(--sp-line);border-radius:var(--sp-r-md);
  padding:0;margin:0 0 .9rem;background:linear-gradient(180deg,rgba(22,37,58,.72),rgba(16,29,48,.72));
  overflow:hidden;transition:border-color var(--sp-t) var(--sp-ease),transform var(--sp-t) var(--sp-ease)}
.sp-faq .wp-block-details:hover{border-color:var(--sp-line-soft);transform:translateY(-1px)}
.sp-faq .wp-block-details[open]{border-color:var(--sp-line-soft);box-shadow:var(--sp-glow)}
.sp-faq .wp-block-details > summary{cursor:pointer;padding:1.15rem 3rem 1.15rem 1.35rem;position:relative;
  font-family:"Hahmlet",serif;font-weight:600;color:#fff;font-size:1.06rem;list-style:none}
.sp-faq .wp-block-details > summary::-webkit-details-marker{display:none}
.sp-faq .wp-block-details > summary::after{
  content:"";position:absolute;right:1.35rem;top:50%;width:9px;height:9px;
  border-right:2px solid var(--sp-gold);border-bottom:2px solid var(--sp-gold);
  transform:translateY(-70%) rotate(45deg);transition:transform var(--sp-t) var(--sp-ease)}
.sp-faq .wp-block-details[open] > summary::after{transform:translateY(-30%) rotate(-135deg)}
.sp-faq .wp-block-details > :not(summary){padding:0 1.35rem;color:#c6cfdd}
.sp-faq .wp-block-details > p:last-child{padding-bottom:1.2rem}

/* ---------- 계산기 브리지 ---------- */
.sp-content-home .saju-app,.sp-content .saju-app{
  border-radius:var(--sp-r-xl);overflow:hidden;box-shadow:var(--sp-lift);
  border:1px solid var(--sp-line-soft);background:#fff}
.sp-content-home .saju-app .saju-app{border:0;border-radius:0;box-shadow:none}
.sp-content-home .saju-app .hero{background:linear-gradient(160deg,#0d1728,#0a1220)}
.sp-content-home .saju-app .card{border-radius:var(--sp-r-lg)}
.sp-content-home .saju-app .btn.primary,
.sp-content-home .saju-app button.primary{background:linear-gradient(180deg,var(--sp-gold-lite),var(--sp-gold));
  color:#241a05;border-color:var(--sp-gold-deep);font-weight:800}

/* ---------- 푸터 ---------- */
.sp-footer{background:linear-gradient(180deg,#070d18,#05090f);border-top:1px solid var(--sp-line-hair);
  padding:0;margin-top:0}
.sp-footer-grid{max-width:var(--sp-maxw);margin:0 auto;padding:clamp(3rem,6vw,4.5rem) 1.6rem 1.2rem;
  display:grid;grid-template-columns:1.5fr 1fr 1.35fr;gap:clamp(1.6rem,4vw,3.4rem)}
.sp-footer-brand{margin:0 0 .9rem;font-family:"Hahmlet",serif;font-size:1.5rem;color:#fff;font-weight:700}
.sp-footer-brand::before{content:"四柱";font-size:.62rem;color:var(--sp-gold);border:1px solid var(--sp-gold);
  border-radius:6px;padding:.3em .4em;margin-right:.6rem;vertical-align:.15em;font-family:"Pretendard Variable",sans-serif}
.sp-footer-h{font-family:"Pretendard Variable",sans-serif;font-size:.78rem;letter-spacing:.22em;
  text-transform:uppercase;color:var(--sp-gold);margin:0 0 1.1rem!important;font-weight:700}
.sp-footer-desc,.sp-footer-meta{color:#8e9ab0;font-size:.92rem;line-height:1.72;margin-bottom:.9rem}
.sp-footer-nav{font-size:.94rem}
.sp-footer-nav .wp-block-navigation-item__content{color:#b9c3d3;padding:.3rem 0}
.sp-footer-nav .wp-block-navigation-item__content:hover{color:var(--sp-gold-lite)}
.sp-footer-rule{max-width:var(--sp-maxw);margin:0 auto!important;
  border-top:1px solid var(--sp-line-hair)!important;opacity:1}
.sp-footer-legal{max-width:var(--sp-maxw);margin:0 auto;padding:1.3rem 1.6rem 2.4rem;
  color:#6f7c93;font-size:.84rem;letter-spacing:.01em}

/* ---------- 버튼 ---------- */
body.saju-palja .wp-block-button__link{
  background:linear-gradient(180deg,var(--sp-gold-lite),var(--sp-gold));color:#241a05;
  border:1px solid var(--sp-gold-deep);border-radius:999px;font-weight:800;
  padding:.85rem 1.9rem;box-shadow:0 8px 26px rgba(200,160,74,.24);
  transition:transform var(--sp-t) var(--sp-ease),box-shadow var(--sp-t) var(--sp-ease)}
body.saju-palja .wp-block-button__link:hover{transform:translateY(-2px);
  box-shadow:0 14px 36px rgba(200,160,74,.34);color:#241a05}
body.saju-palja .wp-block-button.is-style-outline .wp-block-button__link{
  background:transparent;color:var(--sp-gold-lite);border:1px solid var(--sp-line-soft);box-shadow:none}
body.saju-palja .wp-block-button.is-style-outline .wp-block-button__link:hover{
  background:rgba(200,160,74,.1);color:var(--sp-gold-lite)}

/* ---------- 카드/그룹 ---------- */
body.saju-palja .wp-block-group.is-style-card,
.sp-card{background:linear-gradient(180deg,rgba(22,37,58,.78),rgba(16,29,48,.78));
  border:1px solid var(--sp-line);border-radius:var(--sp-r-lg);padding:clamp(1.3rem,3vw,2.1rem);
  box-shadow:var(--sp-shadow)}

/* ---------- 스크롤 등장 ---------- */
.sp-reveal{opacity:0;transform:translateY(18px);
  transition:opacity var(--sp-t-slow) var(--sp-ease),transform var(--sp-t-slow) var(--sp-ease)}
.sp-reveal.is-in{opacity:1;transform:none}

/* ---------- 인트로 표시 중 스크롤 잠금 ---------- */
body.sp-intro-open{overflow:hidden}

/* ---------- 반응형 ---------- */
@media (max-width:1024px){
  .sp-footer-grid{grid-template-columns:1fr 1fr}
  .sp-footer-grid > :first-child{grid-column:1/-1}
}
@media (max-width:768px){
  body.saju-palja{font-size:1.02rem}
  .sp-header-inner{padding:.7rem 1.1rem}
  .sp-wordmark{font-size:1.12rem}
  .sp-wordmark::before{font-size:.66rem}
  .sp-home-band{padding:3rem 1.1rem 2.2rem}
  .sp-page-head{padding:2.4rem 1.1rem 0}
  .sp-content,.sp-content-home{padding-left:1.1rem;padding-right:1.1rem}
  .sp-footer-grid{grid-template-columns:1fr;padding:2.6rem 1.1rem 1rem}
  .sp-footer-legal{padding:1.1rem 1.1rem 2rem}
  .sp-content .wp-block-table{font-size:.88rem}
  .sp-content .wp-block-table th,.sp-content .wp-block-table td{padding:.7rem .75rem}
}
@media (max-width:480px){
  body.saju-palja h1{font-size:2rem}
  .sp-home-title br{display:none}
  .sp-eyebrow{font-size:.72rem;letter-spacing:.2em}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .sp-reveal{opacity:1!important;transform:none!important;transition:none!important}
  *{animation-duration:.001ms!important;transition-duration:.001ms!important}
}
@media print{
  body.saju-palja{background:#fff;color:#111}
  .sp-header,.sp-footer{display:none!important}
  body.saju-palja::before{display:none}
}

/* ==========================================================================
   레이아웃 유틸리티 · 컴포넌트 (홈/4페이지 패턴에서 사용)
   ========================================================================== */
.sp-grid{display:grid;gap:1.15rem}
.sp-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.sp-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.sp-section{padding:clamp(2.6rem,5vw,4.4rem) 1.6rem}
.sp-wrap{max-width:var(--sp-maxw);margin:0 auto}
.sp-center{text-align:center}

.sp-feat{position:relative;background:linear-gradient(180deg,rgba(24,39,62,.86),rgba(15,27,46,.86));
  border:1px solid var(--sp-line);border-radius:var(--sp-r-lg);padding:clamp(1.35rem,2.6vw,1.9rem);
  box-shadow:var(--sp-shadow);transition:transform var(--sp-t) var(--sp-ease),border-color var(--sp-t) var(--sp-ease)}
.sp-feat:hover{transform:translateY(-3px);border-color:var(--sp-line-soft)}
.sp-feat-n{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;margin-bottom:1rem;
  border:1px solid var(--sp-line-soft);border-radius:10px;color:var(--sp-gold);
  font-family:"Fira Code",ui-monospace,monospace;font-size:.82rem;letter-spacing:.02em}
.sp-feat-h{margin:0 0 .6rem!important;font-size:1.16rem;font-family:"Hahmlet",serif;color:#fff}
.sp-feat p{margin:0;color:#b3bdcf;font-size:.96rem;line-height:1.72}

.sp-cta{position:relative;overflow:hidden;text-align:center;border-radius:var(--sp-r-xl);
  border:1px solid var(--sp-line-soft);padding:clamp(2.2rem,5vw,3.4rem) 1.6rem;
  background:linear-gradient(160deg,#0d1728,#0a1220 55%,#132444)}
.sp-cta::before{content:"";position:absolute;left:50%;top:-40%;width:min(620px,110%);height:360px;
  transform:translateX(-50%);background:radial-gradient(closest-side,rgba(200,160,74,.24),transparent 70%)}
.sp-cta > *{position:relative;z-index:1}
.sp-cta h2{margin:0 0 .7rem!important;font-size:clamp(1.5rem,2.6vw,2.1rem)}
.sp-cta p{color:#bfc9d9;max-width:560px;margin:0 auto 1.7rem}

.sp-note{border-left:3px solid var(--sp-gold);background:rgba(200,160,74,.07);border-radius:0 var(--sp-r-md) var(--sp-r-md) 0;
  padding:1rem 1.25rem;color:#ccd5e3;font-size:.96rem;margin:1.6rem 0}
.sp-note strong{color:var(--sp-gold-lite)}

.sp-kv{margin:1.6rem 0;border:1px solid var(--sp-line);border-radius:var(--sp-r-md);overflow:hidden}
.sp-kv > div{display:grid;grid-template-columns:180px 1fr;gap:1rem;padding:.85rem 1.15rem;
  border-bottom:1px solid rgba(34,48,74,.7)}
.sp-kv > div:last-child{border-bottom:0}
.sp-kv > div:nth-child(even){background:rgba(255,255,255,.022)}
.sp-kv dt,.sp-kv .sp-kv-k{margin:0;color:var(--sp-gold);font-weight:700;font-size:.92rem;letter-spacing:.01em}
.sp-kv dd,.sp-kv .sp-kv-v{margin:0;color:#dbe2ee;font-size:.96rem}

.sp-steps{counter-reset:spstep;list-style:none;padding-left:0;margin:1.7rem 0}
.sp-steps > li{counter-increment:spstep;position:relative;padding-left:3.1rem;margin-bottom:1.05rem}
.sp-steps > li::before{content:counter(spstep,decimal-leading-zero);position:absolute;left:0;top:.05em;
  width:2.1rem;height:2.1rem;display:flex;align-items:center;justify-content:center;border-radius:50%;
  border:1px solid var(--sp-line-soft);color:var(--sp-gold);font-family:"Fira Code",monospace;font-size:.8rem}
.sp-steps > li strong{display:block;color:#fff;font-family:"Hahmlet",serif;font-weight:600;margin-bottom:.2rem}

/* 계산기 컨테이너 · 폼 프리뷰 */
.sp-mock{border-radius:var(--sp-r-xl);overflow:hidden;border:1px solid var(--sp-line-soft);
  background:linear-gradient(180deg,#0f1b32,#0b1526);box-shadow:var(--sp-lift)}
.sp-mock-head{padding:clamp(1.6rem,3.5vw,2.4rem) clamp(1.3rem,3vw,2.2rem) .6rem;text-align:center}
.sp-mock-head h2{margin:0 0 .5rem!important;font-size:clamp(1.35rem,2.4vw,1.85rem)}
.sp-mock-head p{color:#aab5c7;font-size:.95rem;margin:0}
.sp-form{padding:1.2rem clamp(1.3rem,3vw,2.2rem) clamp(1.6rem,3.5vw,2.2rem)}
.sp-form-row{margin-bottom:1.05rem}
.sp-form-lbl{display:block;font-size:.82rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--sp-gold);margin-bottom:.55rem;font-weight:700}
.sp-date{display:grid;grid-template-columns:minmax(76px,1.6fr) repeat(3,minmax(54px,1fr));gap:.5rem}
.sp-date input,.sp-form select,.sp-form input[type=text]{width:100%;min-width:0;background:#0a1424;
  border:1px solid var(--sp-line);border-radius:10px;color:#fff;font-family:inherit;font-size:1rem;
  padding:.68rem .6rem;text-align:center;-webkit-appearance:none;appearance:none}
.sp-form select{text-align:left}
.sp-form input:focus,.sp-form select:focus{outline:none;border-color:var(--sp-gold);box-shadow:0 0 0 3px rgba(200,160,74,.16)}
.sp-chips{display:flex;flex-wrap:wrap;gap:.5rem}
.sp-chip{border:1px solid var(--sp-line);border-radius:999px;padding:.45rem 1rem;font-size:.88rem;color:#c3ccdb;
  background:rgba(255,255,255,.02)}
.sp-chip.on{border-color:var(--sp-gold);background:rgba(200,160,74,.14);color:var(--sp-gold-lite);font-weight:700}
.sp-ohaeng{display:flex;flex-wrap:nowrap;gap:.45rem;justify-content:center;margin-top:1rem}
.sp-ohaeng span{flex:0 0 auto;border:1px solid var(--sp-line-soft);border-radius:8px;padding:.4rem .6rem;
  font-size:.88rem;color:#e3e9f3;white-space:nowrap;font-variant-numeric:tabular-nums}
.sp-ohaeng b{color:var(--sp-gold);font-weight:800;margin-left:.18rem}
.sp-form-actions{display:flex;gap:.7rem;flex-wrap:wrap;margin-top:1.35rem}
.sp-btn{flex:1 1 190px;border:0;cursor:pointer;font-family:inherit;font-size:1rem;font-weight:800;
  padding:.95rem 1.4rem;border-radius:999px;transition:transform var(--sp-t) var(--sp-ease),box-shadow var(--sp-t) var(--sp-ease)}
.sp-btn-primary{background:linear-gradient(180deg,var(--sp-gold-lite),var(--sp-gold));color:#241a05;
  box-shadow:0 10px 30px rgba(200,160,74,.26)}
.sp-btn-primary:hover{transform:translateY(-2px);box-shadow:0 16px 40px rgba(200,160,74,.38)}
.sp-btn-ghost{background:transparent;color:var(--sp-gold-lite);border:1px solid var(--sp-line-soft)!important}
.sp-btn-ghost:hover{background:rgba(200,160,74,.1)}
.sp-mock-note{padding:0 clamp(1.3rem,3vw,2.2rem) 1.4rem;color:#8d97ab;font-size:.84rem;text-align:center}
.sp-result-mini{margin:0 clamp(1.3rem,3vw,2.2rem) 1.5rem;border:1px solid var(--sp-line);border-radius:var(--sp-r-md);
  background:rgba(10,20,36,.6);padding:1rem 1.15rem}
.sp-result-mini .sp-pillars{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;text-align:center;margin-bottom:.9rem}
.sp-result-mini .sp-pillars b{display:block;font-family:"Hahmlet",serif;font-size:1.15rem;color:#fff}
.sp-result-mini .sp-pillars span{font-size:.76rem;letter-spacing:.1em;color:var(--sp-gold);text-transform:uppercase}

@media (max-width:900px){
  .sp-grid-3{grid-template-columns:1fr}
  .sp-grid-2{grid-template-columns:1fr}
}
@media (max-width:768px){
  .sp-section{padding:2.2rem 1.1rem}
  .sp-kv > div{grid-template-columns:1fr;gap:.25rem}
  .sp-date{grid-template-columns:minmax(72px,1.5fr) repeat(3,minmax(46px,1fr));gap:.4rem}
  .sp-form input,.sp-form select{font-size:.95rem;padding:.62rem .45rem}
}

/* ==========================================================================
   정합성 보정 v1.0.1 — 리뷰 반영
   ① 네비게이션/푸터 기본 불릿 제거 ② 날짜 입력 단위 라벨
   ③ 저대비 텍스트 상향 ④ 간격·터치 영역 보정
   ========================================================================== */

/* ① 내비게이션 — 기본 ul 불릿/들여쓰기 제거 */
.sp-nav .wp-block-navigation__container,
.sp-footer-nav .wp-block-navigation__container{list-style:none!important;margin:0!important;padding:0!important;gap:0}
.sp-nav .wp-block-navigation__container{display:flex;align-items:center;gap:1.55rem;flex-wrap:wrap}
.sp-footer-nav .wp-block-navigation__container{display:flex;flex-direction:column;gap:.1rem}
.sp-nav .wp-block-navigation-item,
.sp-footer-nav .wp-block-navigation-item{list-style:none!important;margin:0!important;position:relative}
.sp-nav .wp-block-navigation-item::marker,
.sp-footer-nav .wp-block-navigation-item::marker{content:none}
.sp-nav .wp-block-navigation-item__content{display:inline-block;font-size:.94rem;letter-spacing:.005em}
.sp-nav .wp-block-navigation__submenu-container .wp-block-navigation-item{width:100%}
.sp-nav .wp-block-navigation__submenu-container{list-style:none;min-width:11rem}
.sp-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content{display:block;width:100%}
.sp-footer-nav .wp-block-navigation-item__content{display:inline-block;font-size:.93rem}

/* ② 날짜 입력 — 단위 라벨(년·월·일·시) */
.sp-date{display:grid;grid-template-columns:minmax(88px,1.7fr) repeat(3,minmax(62px,1fr));gap:.55rem}
.sp-date-cell{position:relative;display:block;margin:0}
.sp-date-cell input{padding-right:1.65rem!important;font-variant-numeric:tabular-nums;letter-spacing:.01em}
.sp-date-cell i{position:absolute;right:.6rem;top:50%;transform:translateY(-50%);
  font-style:normal;font-size:.76rem;font-weight:700;color:var(--sp-gold);pointer-events:none;opacity:.9}
.sp-date-cell:first-child i{right:.55rem}

/* ③ 저대비 텍스트 상향 (본문·푸터·보조문구) */
.sp-feat p{color:#c2cbd9}
.sp-mock-head p{color:#b6c1d1}
.sp-mock-note{color:#a7b2c4}
.sp-footer-desc,.sp-footer-meta{color:#a3aec2}
.sp-footer-legal{color:#95a1b6}
.sp-page-lead{color:#c3ccdb}
.sp-home-lead{color:#ccd5e2}
.sp-cta p{color:#c8d2e0}
.sp-intro-note{color:#c3ccdb}
.sp-intro-skip{color:#aab5c7}
.sp-content .wp-block-table figcaption{color:#9aa6bb}

/* 비활성 칩 — 클릭 가능함이 보이도록 테두리·텍스트 상향 */
.sp-chip{border-color:rgba(200,160,74,.3);color:#cfd7e3;background:rgba(255,255,255,.035)}
.sp-chip:hover{border-color:rgba(200,160,74,.55);color:#e6ecf5}

/* ④ 간격·터치 영역 */
.sp-home-band .wp-block-buttons{gap:1rem;margin-top:.5rem}
.sp-home-band .wp-block-buttons .wp-block-button{margin:0}
.sp-kv > div{padding:1rem 1.2rem}
.sp-feat ul,.sp-feat ol{padding-left:1.1rem;margin:.55rem 0 0}
.sp-feat li{margin-bottom:.42rem;color:#c2cbd9;font-size:.95rem}
.sp-feat li::marker{color:var(--sp-gold)}
.sp-intro-skip{padding:.75rem 1rem}
.sp-mock-head{padding-bottom:1rem}

@media (max-width:768px){
  .sp-nav .wp-block-navigation__container{gap:1.1rem}
  .sp-date{grid-template-columns:minmax(84px,1.6fr) repeat(3,minmax(58px,1fr));gap:.45rem}
  .sp-date-cell i{font-size:.72rem;right:.45rem}
  .sp-date-cell input{padding-right:1.4rem!important}
}


/* ==========================================================================
   v2.0.4 - header / hero / footer refresh
   ========================================================================== */
.sp-header-inner{padding:.8rem 1.6rem}
.sp-nav .wp-block-navigation__container{gap:.35rem}
.sp-nav .wp-block-navigation-item__content{padding:.55rem .85rem;border-radius:999px;font-weight:500;transition:background .2s ease,color .2s ease}
.sp-nav .wp-block-navigation-item__content::after{display:none}
.sp-nav .wp-block-navigation-item__content:hover,.sp-nav .is-active>.wp-block-navigation-item__content{background:rgba(200,160,74,.12);color:var(--sp-gold-lite)}
.sp-nav > .wp-block-navigation__container > .wp-block-navigation-item:last-child > .wp-block-navigation-item__content{border:1px solid var(--sp-line-soft);color:var(--sp-gold-lite)}
.sp-nav .wp-block-navigation__submenu-container{min-width:15rem;margin-top:.5rem}
.wp-block-navigation__responsive-container.is-menu-open{background:#070d18!important;color:#fff}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content{font-size:1.1rem;color:#e7ecf5}

.sp-home-band{padding:clamp(3rem,7vw,5.5rem) 1.6rem clamp(2.4rem,5vw,3.6rem)}
.sp-home-band .sp-home-title{text-align:center;font-family:"Hahmlet",serif;font-weight:700;font-size:clamp(2rem,5.2vw,3.5rem);line-height:1.28;color:#fff}
.sp-home-band .sp-home-lead{text-align:center}
.sp-home-band .sp-eyebrow{display:table;margin-inline:auto}
.sp-home-band .wp-block-buttons{justify-content:center;margin-top:2rem}
.sp-home-band .wp-block-button__link{border-radius:999px;padding:.9rem 1.9rem;font-weight:700;background:linear-gradient(180deg,var(--sp-gold-lite),var(--sp-gold));color:#241a05;border:0}
.sp-home-band .is-style-outline .wp-block-button__link{background:transparent;color:var(--sp-gold-lite);border:1px solid var(--sp-line-soft)}
.sp-home-band .wp-block-button__link:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(200,160,74,.3)}
.sp-badges{list-style:none;margin:2.6rem auto 0!important;padding:0!important;max-width:var(--sp-maxw);display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.sp-badges li{margin:0;padding:1.1rem 1rem;text-align:center;border:1px solid var(--sp-line-soft);border-radius:16px;background:rgba(200,160,74,.05)}
.sp-badges li::marker{content:none}
.sp-badges b{display:block;font-family:"Hahmlet",serif;font-size:1.25rem;color:var(--sp-gold-lite);margin-bottom:.35rem}
.sp-badges span{font-size:.88rem;color:#b9c3d3}
@media (max-width:768px){.sp-badges{grid-template-columns:1fr 1fr}}

.sp-footer-grid{grid-template-columns:1.4fr 1fr 1.4fr}
.sp-footer-nav .wp-block-navigation__container{display:grid!important;grid-template-columns:1fr 1fr;column-gap:1.5rem}
@media (max-width:1000px){.sp-footer-grid{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.sp-footer-grid{grid-template-columns:1fr}}


/* ==========================================================================
   v2.0.5 - plain HTML menu (no navigation-block fallback), hero centering
   ========================================================================== */
.sp-home-band .sp-home-title{margin-inline:auto!important;max-width:880px;width:100%}
.sp-home-band > *{width:100%}
.sp-burger{display:none;background:transparent;border:1px solid var(--sp-line-soft);border-radius:10px;width:44px;height:44px;cursor:pointer;padding:0;flex-direction:column;align-items:center;justify-content:center;gap:5px}
.sp-burger span{display:block;width:20px;height:2px;background:var(--sp-gold-lite);border-radius:2px;transition:transform .25s ease,opacity .25s ease}
.sp-menu-list,.sp-sub{list-style:none;margin:0;padding:0}
.sp-menu-list{display:flex;align-items:center;gap:.3rem}
.sp-menu-list li{margin:0;position:relative}
.sp-menu-list li::marker{content:none}
.sp-menu-list a{display:block;padding:.55rem .9rem;border-radius:999px;color:#c9d2e0;font-size:.95rem;font-weight:500;text-decoration:none;white-space:nowrap;transition:background .2s ease,color .2s ease}
.sp-menu-list a:hover,.sp-menu-list li.is-active>a{background:rgba(200,160,74,.12);color:var(--sp-gold-lite)}
.sp-menu-cta>a{border:1px solid var(--sp-line-soft);color:var(--sp-gold-lite)!important;margin-left:.4rem}
.sp-sub-toggle i{font-style:normal;font-size:.7em;opacity:.7;margin-left:.15rem}
.sp-sub{position:absolute;top:calc(100% + .35rem);left:0;min-width:17rem;padding:.5rem;background:var(--sp-ink-2);border:1px solid var(--sp-line);border-radius:14px;box-shadow:0 18px 50px rgba(0,0,0,.5);opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .2s ease,transform .2s ease,visibility .2s}
.sp-sub::before{content:"";position:absolute;left:0;right:0;top:-.5rem;height:.5rem}
.sp-sub a{border-radius:9px;white-space:normal}
.sp-has-sub:hover>.sp-sub,.sp-has-sub:focus-within>.sp-sub{opacity:1;visibility:visible;transform:none}

@media (max-width:900px){
  .sp-burger{display:flex}
  .sp-menu{position:fixed;left:0;right:0;top:0;padding:5.2rem 1.4rem 2rem;background:rgba(7,13,24,.98);backdrop-filter:blur(14px);max-height:100vh;overflow:auto;transform:translateY(-102%);transition:transform .35s cubic-bezier(.22,.61,.36,1);z-index:-1;border-bottom:1px solid var(--sp-line)}
  .sp-header.is-open .sp-menu{transform:none}
  .sp-header.is-open .sp-burger{position:relative;z-index:3}
  .sp-header.is-open .sp-burger span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .sp-header.is-open .sp-burger span:nth-child(2){opacity:0}
  .sp-header.is-open .sp-burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .sp-menu-list{flex-direction:column;align-items:stretch;gap:.2rem}
  .sp-menu-list a{font-size:1.08rem;padding:.9rem 1rem;border-radius:12px}
  .sp-menu-cta>a{margin:.6rem 0 0;text-align:center}
  .sp-sub{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;background:transparent;padding:0 0 0 1rem;min-width:0}
  .sp-sub::before{display:none}
  .sp-sub a{font-size:.98rem;color:#aab5c7}
}


/* ==========================================================================
   v2.0.6 - dark canvas on home, eyebrow width, header gap
   ========================================================================== */
.wp-site-blocks > * + *{margin-block-start:0}
.wp-site-blocks{--wp--style--block-gap:0px}
.sp-home-band .sp-eyebrow{width:auto;max-width:92%}
body.home.saju-palja{background:linear-gradient(180deg,#0a1424 0,#070d18 420px,#05090f 100%) fixed}
body.home .sp-content-home .saju-app,
body.home .sp-content-home .saju-app .saju-app{background:transparent!important}
body.home .sp-content-home{padding-top:clamp(1.6rem,4vw,2.6rem)}
.sp-header{margin:0}

/* v2.0.7 - force dark canvas (plugin CSS sets white body) */
html,body.saju-palja,body.home{background:#070d18!important}
