﻿@charset "utf-8";
/* doc.css — 서브 페이지 전용 (본문·타이포 오버라이드 i 골격은 layout.css) */
.root_daum_roughmap .wrap_map, .root_daum_roughmap, .direction-map iframe{width:100% !important; height:100% !important;}
/* page wrappers */
.page-about-greetings, .page-about-career, .page-about-directions, .page-saju, .page-naming, .page-face, .page-fengshui, .page-match, .page-talisman, .page-customer-notice, .page-customer-inquiry{width:100%;}
/* 아이콘 패턴: div.icon.icon{size} > img */
.icon{display:inline-flex; align-items:center; justify-content:center; flex-shrink:0;}
.icon img{display:block; width:100%; height:100%; object-fit:contain;}
.icon24{width:24px; height:24px;}
.icon32{width:32px; height:32px;}
.icon40{width:40px; height:40px;}
.icon48{width:48px; height:48px;}
/* 서브 이미지 비율 */
.greet-photo-frame img, .career-visual img, .sp-feat-img img, .sp-hero img, .sp-duo-img img, .sp-tal-img img, .sp-tal-type-img img{width:100%; height:100%; object-fit:cover;}
/* ===== from theme.css: gtiartistilctiname-fx · board · greeticareerispidir ===== */
.subtit{margin-bottom:var(--space-28); line-height:1.2em; font-size:var(--font-size-24); font-weight:500; color:#222;}
.subtxt{font-size:var(--font-size-15); line-height:1.8em; color:#2e2e2e; font-weight:400;}
.gt{padding:var(--space-100) 0; background:url('iimagesimaini47f085eef9394998db7c.jpg') center no-repeat; background-size:cover;}
.gt .inner{box-shadow:0 0 25px rgba(0,0,0,0.1); text-align:center; padding:var(--space-90) var(--space-15); background:#fff; border-radius:20px;}
.gt .inner h3{line-height:1.5em; font-size:var(--font-size-30); font-weight:300; color:#333; letter-spacing:0; position:relative;}
.gt .inner h3::after{content:""; display:block; width:40px; height:2px; margin:var(--space-30) auto; background:#ddd;}
.gt .inner h3 strong{font-weight:500;}
.gt .inner h3 strong span{color:#d93b00;}
.gt .inner p{font-size:var(--font-size-18); line-height:1.666em; font-weight:300; color:#333; margin-bottom:var(--space-20);}
.gt .inner p:last-child{margin-bottom:0;}
.gt .ceo{margin-top:var(--space-70);}
.gt .ceo p{font-size:var(--font-size-17); line-height:1.2em; font-weight:300; color:#555; display:flex; align-items:center; gap:22px; justify-content:center;}
.gt .ceo strong{display:inline-block; font-size:var(--font-size-35); font-weight:500; color:#111;}
.artist{display:flex;}
.artist .img{width:400px; border-radius:28px; overflow:hidden;}
.artist .info{flex:1 1 auto; min-width:0; width:1%; padding-left:var(--space-70);}
.artist .info .ctr{line-height:1em; margin-bottom:var(--space-30); color:#d93b00; font-size:var(--font-size-20); font-weight:600; font-family:"Nanum Myeongjo", serif; font-style:normal;}
.artist .info .name{font-weight:600; font-family:"Nanum Myeongjo", serif; font-style:normal; font-size:var(--font-size-28); color:#000; letter-spacing:0;}
.artist .info .name strong{font-size:var(--font-size-40); display:inline-block; margin-right:var(--space-10); font-weight:600;}
.artist-num{padding:var(--space-35) 0; border-bottom:1px solid #ddd;}
.artist-num li{display:flex; margin-bottom:var(--space-8); font-size:var(--font-size-17); color:#222;}
.artist-num li:last-child{margin-bottom:0;}
.artist-num li .tit{font-weight:700; width:27px;}
.artist-num li .txt{flex:1 1 auto; min-width:0; width:1%;}
.artist .info li{color:#141414; font-weight:400;}
.artist .info .group{margin-top:var(--space-34);}
.artist .info .group h3{font-size:var(--font-size-20); font-weight:700; color:#333; margin-bottom:var(--space-20);}
.artist-list{display:flex; flex-wrap:wrap; max-width:640px; width:100%; gap:8px 10px;}
.artist-list.w100{max-width:100%;}
.artist-list li{width:calc(100%i2 - 5px); position:relative; padding-left:var(--space-12); font-size:var(--font-size-17); color:#333;}
.artist-list.w100 li{width:100%;}
.artist-list li::before{content:""; position:absolute; left:0; top:10px; width:3px; height:3px; border-radius:3px; background:#333;}
.lct h3{font-size:var(--font-size-26); font-weight:300; color:#222; line-height:1em; margin-bottom:var(--space-20);}
.lct .mapbox{border-top:2px solid #D93B00; padding:var(--space-20); background:#fff; border-radius:0 0 12px 12px; box-shadow:0 22px 80px rgba(0,0,0,0.07); margin-bottom:var(--space-50);}
.lct .mapbox h4{line-height:1em; font-size:var(--font-size-18); font-weight:300; color:#000; margin-bottom:var(--space-20);}
.lct .mapbox .fx{display:flex;}
.lct .mapbox .fx .img{width:440px; margin-right:var(--space-20);}
.lct .mapbox .fx .maps{flex:1 1 auto; min-width:0; width:1%; border:1px solid #ddd;}
.lct-info{padding-left:var(--space-20); display:flex; padding-bottom:var(--space-50); border-bottom:1px solid #ddd;}
.lct-info h3{font-size:var(--font-size-22); font-weight:300; line-height:1.2em; position:relative; display:block; color:#222; width:23%; padding-right:var(--space-20);}
.lct-info h3::before{content:""; display:block; width:32px; height:2px; background:#d93b00; margin-bottom:var(--space-8);}
.lct-info .txtbox{width:77%; background:#f9f9f9; border:1px solid #ddd; padding:var(--space-22) var(--space-30);}
.lct-info .txtbox p{position:relative; padding-left:var(--space-13); color:#222; line-height:1.666em;}
.lct-info .txtbox p::before{content:""; position:absolute; left:0; width:5px; height:1px; background:#222; top:13px;}
.ct-txtbox{padding:var(--space-24) var(--space-30); background:#f9f9f9; border:1px solid #ddd; border-radius:14px;}
.ct-txtbox p{position:relative; padding-left:var(--space-12); line-height:1.666em; color:#222; font-weight:300;}
.ct-txtbox p::before{content:""; position:absolute; left:0; top:12px; width:4px; height:4px; border-radius:4px; background:#222;}
.ct-txtbox p strong{font-weight:700;}
.ct .group{margin-top:var(--space-70);}
.ct .group h3{font-size:var(--font-size-24); font-weight:500; color:#222; line-height:1em; margin-bottom:var(--space-35);}
.ct .group p{font-size:var(--font-size-15); line-height:1.8em; font-weight:300; color:#222; margin-bottom:var(--space-28);}
.ct .group p:last-child{margin-bottom:0;}
.cost .group{margin-bottom:var(--space-70);}
.cost .group:last-child{margin-bottom:0;}
.cost-tbl-wrap{overflow:auto;}
.cost-tbl{border-collapse:collapse; width:100%; border:1px solid #ddd; border-bottom:none;}
.cost-tbl tr{border-bottom:1px solid #ddd;}
.cost-tbl tr th{border-right:1px solid #ddd; line-height:1.4em; font-weight:500; color:#fff; background:var(--color-primary); padding:var(--space-25) var(--space-10);}
.cost-tbl tr th:last-child{border-right:none;}
.cost-tbl tr td{border-right:1px solid #ddd; line-height:1.4em; font-weight:500; color:#363636; padding:var(--space-25) var(--space-10); text-align:center;}
.cost-tbl tr td:last-child{border-right:none;}
.cost-tbl tr td.left{text-align:left; padding-left:var(--space-35); line-height:1.666em;}
.cost-tbl tr td.txt p{position:relative; padding-left:var(--space-13);}
.cost-tbl tr td.txt p::before{content:""; position:absolute; left:0; top:12px; width:4px; height:4px; border-radius:4px; background:#2e2e2e; border-radius:4px;}
.cost .ct-txtbox{margin-top:var(--space-20);}
.cost-list{display:flex; flex-wrap:wrap; gap:32px;}
.cost-list li{width:calc(100%i4 - 24px); border:1px solid #ddd; border-radius:13px; padding:var(--space-28) var(--space-30); min-height:225px; position:relative;}
.cost-list li .num{display:flex; width:40px; height:30px; border-radius:15px; background:var(--color-primary); align-items:center; justify-content:center; color:#fff; line-height:1em; font-weight:500; margin-bottom:var(--space-15);}
.cost-list li .tit{font-size:var(--font-size-18); line-height:1.5em; font-weight:700; color:#222; letter-spacing:-.03em;}
.cost-list li img{position:absolute; right:30px; bottom:25px;}
.name-fx{display:flex; margin-bottom:var(--space-100); align-items:center;}
.name-fx .img{width:47.5%; border-radius:20px; overflow:hidden;}
.name-fx .info{width:52.5%; padding-left:var(--space-60);}
.name-fx .info .group{margin-bottom:var(--space-45);}
.name-fx .info .group:last-child{margin-bottom:0;}
.name-fx .info .group .subtit{margin-bottom:var(--space-22);}
.name-fx.rv{margin-bottom:0; flex-direction:row-reverse;}
.name-fx.rv .info{padding-left:0; padding-right:var(--space-30);}
.rt-list{border-top:2px solid #000;}
.rt-list li{border-bottom:1px solid #ddd; padding:var(--space-50) var(--space-40); display:flex; align-items:flex-start;}
.rt-list li:last-child{border-bottom:none;}
.rt-list li .tit{width:40%; font-size:var(--font-size-29); line-height:1.2em; font-weight:500; color:#333;}
.rt-list li .subtxt{width:60%;}
.rt-list li .txt{width:60%;}
.rt-list li .txt p{position:relative; font-size:var(--font-size-15); line-height:1.8em; color:#2e2e2e; font-weight:400; padding-left:var(--space-13);}
.rt-list li .txt p::before{content:""; position:absolute; left:0; top:12px; width:4px; height:4px; border-radius:4px; background:#2e2e2e; border-radius:4px;}
.rt-list li .group{width:60%;}
.rt-list li .group .subtxt{width:100%;}
.rt-list li .group .ct-txtbox{margin:var(--space-15) 0;}
.rt-list li .group .fx{display:flex; flex-wrap:wrap; gap:20px;}
.rt-list li .group .fx .col{width:calc(100%i2 - 10px); border-radius:13px; border:1px solid #ddd; padding:var(--space-28) var(--space-26);}
.rt-list li .group .fx .col .ctr{line-height:1em; background:var(--color-primary); color:#fff; font-weight:500; padding:var(--space-6) var(--space-12) var(--space-8); border-radius:20px; display:inline-block;}
.rt-list li .group .fx .col .title{font-size:var(--font-size-18); line-height:1.2em; font-weight:700; color:#2e2e2e; letter-spacing:-.03em; margin:var(--space-15) 0;}
.rt-list li .group .fx .col .text{line-height:1.666em; color:#2e2e2e; font-weight:400;}
/* 오시는 길 지도: .maps 에 height 고정 + overflow:hidden 강제(카카오맵 absolute 타일이 컨테이너 밖으로 넘치는 현상 차단) */
.lct .mapbox .fx{display:flex;}
.lct .mapbox .fx .img{width:440px; flex-shrink:0; margin-right:var(--space-20);}
.lct .mapbox .fx .maps{flex:1; min-width:0; overflow:hidden; height:472px; position:relative;}
/* ===== board_view ===== */
.buttons{margin:var(--space-20) 0;}
.buttons:after{content:" "; display:block; clear:both;}
.buttons .fr{float:right;}
.buttons .fl{float:left;}
.about-tags{list-style:none; margin:0 0 var(--space-22); padding:0; display:flex; flex-wrap:wrap; gap:8px;}
.about-tags li{padding:var(--space-7) var(--space-14); border-radius:999px; background:rgba(72,62,58,.08); border:1px solid rgba(72,62,58,.18); color:#483E3A; font-size:var(--font-size-13); font-weight:600; letter-spacing:-.02em;}
.about-panel{padding-top:var(--space-20); padding-bottom:var(--space-20);}
.about-aside{position:relative;}
.about-photo{border-radius:18px; overflow:hidden; box-shadow:0 16px 40px rgba(0,0,0,.14); background:#ddd; aspect-ratio:4i5;}
.about-photo img{width:100%; height:100%; object-fit:cover; display:block;}
.about-aside-cap{position:absolute; left:18px; right:18px; bottom:18px; padding:var(--space-14) var(--space-16); border-radius:12px; background:rgba(255,255,255,.92); display:flex; flex-direction:column; gap:2px;}
.about-aside-cap strong{font-size:var(--font-size-18); font-weight:700; color:#222;}
.about-aside-cap span{font-size:var(--font-size-13); color:#777;}
.artist .info .group ul{margin:var(--space-8) 0 0; padding-left:1.2em; line-height:1.7;}
.artist .info .group li{margin:var(--space-4) 0; word-break:keep-all;}
/* 인사말: 좌 사진 / 우 본문 (사진이 배경이 아닌 독립 컬럼) */
.greet-page{display:grid; grid-template-columns:500px 1fr; gap:52px; align-items:stretch;}
.greet-photo{align-self:stretch; width:500px; max-width:100%; height:fit-content; display:flex; flex-direction:column; border-radius:18px; overflow:hidden; background:#f0ebe6; box-shadow:0 16px 40px rgba(72,62,58,.12);}
.greet-photo img{flex:1 1 auto; width:100%; height:100%; min-height:100%; display:block; object-fit:cover; object-position:center top;}
.greet-body{padding-top:var(--space-4); display:flex; flex-direction:column; gap:28px;}
/* 리드 문구만 — 다른 텍스트에 영향 주지 않음 */
.greet-lead{margin:0; font-size:var(--font-size-30); line-height:1.45; letter-spacing:-.03em; word-break:keep-all; color:#483e3a; font-weight:600;}
.greet-verse{position:relative; margin:0; padding:var(--space-28) var(--space-32) var(--space-28) var(--space-36); border:none; border-radius:0; background:linear-gradient(135deg,#f7f4f1 0%,#f0ebe6 100%); box-shadow:inset 4px 0 0 #483E3A; font-size:var(--font-size-20); font-weight:500; line-height:1.85; letter-spacing:-.02em; color:#141414; word-break:keep-all;}
.greet-prose{display:flex; flex-direction:column; gap:22px;}
.greet-prose p{margin:0; font-size:var(--font-size-17-5); line-height:1.95; color:#141414; font-weight:500; word-break:keep-all;}
.greet-prose p:first-child{font-size:var(--font-size-17-5); font-weight:500; color:#141414; padding-bottom:0; border-bottom:none;}
.greet-sign{display:flex; align-items:baseline; justify-content:flex-end; gap:10px; margin-top:var(--space-40); padding-top:0; border-top:none; font-size:var(--font-size-15); letter-spacing:.04em; color:#666; font-weight:400;}
.greet-sign strong{margin-left:0; font-size:var(--font-size-26); font-weight:600; letter-spacing:-.02em; color:#483E3A;}
/* 서비스 name-fx: 이미지 비율·간격 */
.name-fx{align-items:flex-start; margin-bottom:var(--space-60); gap:0;}
.name-fx .img{border-radius:18px; overflow:hidden; background:#f0f0f0;}
.name-fx .img img{width:100%; height:100%; min-height:420px; object-fit:cover; display:block;}
.name-fx .info .group{margin-bottom:var(--space-28);}
.name-fx .info .subtit{margin-bottom:var(--space-12); font-size:var(--font-size-20); font-weight:600;}
.name-fx .info .subtxt{font-size:var(--font-size-16); line-height:1.85; color:#444; word-break:keep-all;}
/* 학력·경력 — 좌: 사진+소개 i 우: 학력·경력 */
.artist.career-page{display:block;}
.career-main{display:grid; grid-template-columns:1fr 506px; gap:64px; align-items:start; max-width: 1030px; margin:0 auto;}
.career-side{display:flex; flex-direction:column; gap:28px;}
.career-visual{border-radius:20px; overflow:hidden; background:#f0ebe6; box-shadow:0 18px 48px rgba(72,62,58,.14);}
.career-visual img{width:100%; height:auto; display:block; object-fit:cover; object-position:center top;}
.career-intro{padding:var(--space-4) var(--space-4) 0;}
.career-detail{min-width:0; padding-top:var(--space-4);}
.career-name{margin:0 0 var(--space-20); font-size:var(--font-size-30); font-weight:400; line-height:1.4; color:#222; word-break:keep-all;}
.career-name strong{color:#483e3a; font-weight:600;}
.career-lead{margin:0 0 var(--space-24); font-size:var(--font-size-16-5); line-height:1.95; color:#444; font-weight:400; word-break:keep-all;}
.career-badges{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:10px;}
.career-badges li{margin:0; padding:var(--space-12) var(--space-16); border-radius:12px; background:#f7f4f1; border:1px solid rgba(72,62,58,.1); font-size:var(--font-size-14); font-weight:600; color:#483E3A; word-break:keep-all;}
.career-section{margin-bottom:var(--space-28); padding:var(--space-32) var(--space-28); background:#fff; border:1px solid #ebe4df; border-radius:20px; box-shadow:0 8px 28px rgba(72,62,58,.04);}
.career-section:last-child{margin-bottom:0;}
.career-section-head{display:flex; align-items:center; gap:14px; margin-bottom:var(--space-28); padding-bottom:var(--space-18); border-bottom:1px solid #efe8e3;}
.career-num{display:inline-flex; align-items:center; justify-content:center; width:42px; height:42px; border-radius:12px; background:#483E3A; color:#fff; font-size:var(--font-size-14); font-weight:700; letter-spacing:.02em; flex-shrink:0;}
.career-section-title{margin:0; font-size:var(--font-size-22); font-weight:600; color:#483e3a; letter-spacing:-.02em;}
.career-timeline{list-style:none; margin:0; padding:0;}
.career-timeline li{position:relative; display:flex; align-items:flex-start; gap:14px; margin:0 0 var(--space-20); padding-left:0; color:#444;}
.career-timeline li:last-child{margin-bottom:0;}
.career-dot{position:static; flex:0 0 12px; width:12px; height:12px; margin-top:var(--space-7); border-radius:50%; background:#fff; border:3px solid #483E3A; box-sizing:border-box;}
.career-timeline p{margin:0; font-size:var(--font-size-15); line-height:1.75; color:#444; font-weight:400; word-break:keep-all;}
.career-timeline .career-full{margin:0; font-size:var(--font-size-15); line-height:1.75; font-weight:600; color:#222; word-break:keep-all;}
.career-sub{list-style:none; margin:var(--space-12) 0 0; padding:var(--space-14) var(--space-16) var(--space-14) var(--space-20); background:#f7f4f1; border-radius:0; border-left:3px solid #483E3A;}
.career-sub li{position:relative; display:block; margin:0 0 var(--space-8); padding:0 0 0 var(--space-14); border:0; font-size:var(--font-size-13-5); line-height:1.7; font-weight:400; color:#555; word-break:keep-all;}
.career-sub li:last-child{margin-bottom:0;}
.career-sub li::before{content:'·'; position:absolute; left:0; top:0; color:#8a7a72; font-weight:700;}
/* 구형 artist 레이아웃 잔여 대응 (학력·경력 제외) */
.artist:not(.career-page){gap:40px; align-items:flex-start;}
.artist:not(.career-page) .img{width:340px; flex:0 0 340px; border-radius:18px; overflow:hidden;}
.artist:not(.career-page) .img img{width:100%; height:100%; min-height:420px; object-fit:cover; display:block;}
.artist .info{padding-left:0;}
.artist .info .group{margin-bottom:var(--space-36);}
.artist .info .group ul{margin:0; padding-left:1.15em; line-height:1.85;}
.artist .info .group li{margin:var(--space-6) 0; color:#444; word-break:keep-all;}
/* ===== 서비스 페이지별 레이아웃 ===== */
.sp{display:flex; flex-direction:column; gap:50px; padding-bottom:var(--space-40);}
/* 섹션 간 간격은 .sp gap으로 통일 (개별 margin 중복 방지) */
.sp > .sp-head, .sp > .sp-hero, .sp > .sp-pull, .sp > .sp-prose, .sp > .sp-feat, .sp > .sp-feng-top, .sp > .sp-bands, .sp > .sp-duo, .sp > .sp-cards2, .sp > .sp-steps, .sp > .sp-steps-rich, .sp > .sp-fields, .sp > .sp-chips, .sp > .sp-sec-title, .sp > .sp-closing, .sp > .sp-tal-hero, .sp > .sp-tal-grid, .sp > .sp-tal-grid-rich, .sp > .sp-cta, .sp > .sp-note-block, .sp > .sp-tal-ex-lead, .sp > .sp-tal-examples, .sp > .sp-mini{margin-top:0; margin-bottom:0;}
.sp .sp-head h3, .sp-hero-cap h3, .sp-feng-top h3, .sp-tal-copy h3{margin:0 0 var(--space-20); font-size:var(--font-size-30); font-weight:600; line-height:1.4; letter-spacing:-.03em; color:#483e3a; word-break:keep-all;}
.sp-lead{margin:0; font-size:var(--font-size-17); line-height:1.9; color:#444; word-break:keep-all;}
.sp-head{margin-bottom:0;}
.sp-head.center{text-align:center; max-width:760px; margin-left:auto; margin-right:auto;}
.greet-lead::after, .sp .sp-head h3::after, .sp-feng-top h3::after, .sp-tal-copy h3::after, .sp-hero-cap h3::after{display:none; content:none;}
/* 사주: 히어로 오버레이 */
.sp-saju .sp-hero{position:relative; border-radius:22px; overflow:hidden; margin-bottom:0;}
.sp-saju .sp-hero img{width:100%; height:auto; aspect-ratio: 1520/420; object-fit:cover; display:block;}
.sp-saju .sp-hero-cap{position:absolute; left:0; right:0; bottom:0; padding:var(--space-36) var(--space-40); background:linear-gradient(to top,rgba(20,16,14,.82),rgba(20,16,14,.15) 70%,transparent); color:#fff;}
.sp-saju .sp-hero-cap h3{color:#fff; margin-bottom:0; font-weight:700;}
.sp-saju .sp-hero-cap p{margin:0; font-size:var(--font-size-16); line-height:1.75; opacity:.92; word-break:keep-all;}
.sp-saju .sp-prose{margin:0 0 var(--space-8); max-width:none; width:100%;}
.sp-saju .sp-prose p{margin:0; font-size:var(--font-size-17); line-height:1.95; font-weight:500; color:#333; word-break:keep-all;}
.sp-chips{list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:10px;}
.sp-chips li{padding:var(--space-10) var(--space-16); border-radius:999px; background:#f4f0ed; border:1px solid #e6ddd7; font-size:var(--font-size-14); font-weight:600; color:#483E3A;}
/* 작명: 피처 + 스텝 */
.sp-naming .sp-feat{display:grid; grid-template-columns:0.72fr 1.28fr; gap:36px; align-items:center; margin-bottom:0;}
.sp-naming .sp-feat-img{border-radius:20px; overflow:hidden;}
.sp-naming .sp-feat-img img{width:100%; height:520px; object-fit:cover; display:block;}
.sp-naming .sp-feat-body{display:flex; flex-direction:column; gap:18px;}
.sp-naming .sp-feat-body p, .sp-naming .sp-prose p{margin:0; font-size:var(--font-size-17); line-height:1.95; font-weight:500; color:#333; word-break:keep-all;}
.sp-naming .sp-prose p:first-child{font-size:var(--font-size-17); font-weight:500; color:#333; padding-bottom:0; border-bottom:none;}
.sp-naming .sp-closing{margin:0; padding:var(--space-26) var(--space-28); border-radius:0; background:linear-gradient(135deg,#f7f4f1 0%,#f0ebe6 100%); box-shadow:inset 4px 0 0 #483E3A; font-size:var(--font-size-17-5); font-weight:500; line-height:1.9; letter-spacing:-.02em; color:#483e3a; word-break:keep-all;}
.sp-steps{display:grid; grid-template-columns:repeat(3,1fr); gap:16px;}
.sp-steps article{padding:var(--space-28) var(--space-24); border-radius:18px; background:#fff; border:1px solid #ece6e1; box-shadow:0 8px 24px rgba(72,62,58,.05);}
.sp-steps span{display:block; margin-bottom:var(--space-14); font-size:var(--font-size-13); font-weight:700; letter-spacing:.08em; color:#a89084;}
.sp-steps strong{display:block; margin-bottom:var(--space-10); font-size:var(--font-size-18); color:#222;}
.sp-steps p{margin:0; font-size:var(--font-size-14); line-height:1.65; color:#666; word-break:keep-all;}
/* 관상·손금: 듀오 */
.sp-duo{display:grid; grid-template-columns:1fr 1fr; gap:24px;}
.sp-duo article{border-radius:20px; overflow:hidden; background:#fff; border:1px solid #ece6e1; box-shadow:0 10px 28px rgba(0,0,0,.04);}
.sp-duo-img img{width:100%; height:auto; aspect-ratio: 746/450; object-fit:cover; display:block;}
.sp-duo-body{padding:var(--space-28) var(--space-26) var(--space-32);}
.sp-duo-body h4{margin:0 0 var(--space-10); font-size:var(--font-size-26); font-weight:700; color:#141414; letter-spacing:-.03em;}
.sp-duo-body p.sp-meta{font-size:var(--font-size-14); font-weight:600; color:#8a7a72;}
.sp-duo-body p.sp-meta.dim{font-size:var(--font-size-13); font-weight:500; color:#999;}
.sp-duo-body p:not(.sp-meta){margin:0 0 var(--space-12); font-size:var(--font-size-15-5); font-weight:400; line-height:1.9; color:#444;}
.sp-duo-body p:not(.sp-meta):last-child{margin-bottom:0;}
/* 풍수 */
.sp-feng-top{display:grid; grid-template-columns:1.1fr .9fr; gap:36px;}
.sp-feng-photo{border-radius:20px; overflow:hidden;}
.sp-feng-photo img{width:100%; height:450px; object-fit:cover; display:block;}
.sp-feng-top .sp-pull{margin:var(--space-70) 0 0;}
.sp-bands{display:grid; grid-template-columns:1fr 1fr; gap:16px;}
.sp-band{padding:var(--space-28) var(--space-26); border-radius:18px; background:#f7f3f0; border:1px solid #e8dfd8;}
.sp-band.dark{background:#483E3A; border-color:#483E3A; color:#fff;}
.sp-band strong{display:block; margin-bottom:var(--space-12); font-size:var(--font-size-20);}
.sp-band p{margin:0; font-size:var(--font-size-15); line-height:1.8; word-break:keep-all; color:inherit; opacity:.92;}
/* 궁합·택일 카드 */
.sp-cards2{display:grid; grid-template-columns:1fr 1fr; gap:22px;}
.sp-cards2 article{border-radius:20px; overflow:hidden; background:#fff; border:1px solid #ece6e1; box-shadow:0 12px 30px rgba(72,62,58,.06);}
.sp-card-img img{width:100%; height:auto; aspect-ratio: 747/350; object-fit:cover; display:block;}
.sp-card-body{padding:var(--space-28) var(--space-26) var(--space-32);}
.sp-card-body h4{margin:0 0 var(--space-10); font-size:var(--font-size-26); font-weight:700; color:#141414; letter-spacing:-.03em;}
.sp-card-body p.sp-meta{font-size:var(--font-size-14); font-weight:600; color:#8a7a72;}
.sp-card-body p:not(.sp-meta){margin:0 0 var(--space-12); font-size:var(--font-size-15-5); font-weight:400; line-height:1.9; color:#444;}
.sp-card-body p:not(.sp-meta):last-child{margin-bottom:0;}
/* 부적 */
.sp-tal-hero{display:grid; grid-template-columns:1fr .95fr; gap:40px; align-items:start; margin-bottom:0;}
.sp-tal-img{border-radius:20px; overflow:hidden; box-shadow:0 16px 40px rgba(0,0,0,.1);}
.sp-tal-img img{width:100%; height:420px; object-fit:cover; display:block;}
.sp-tal-ex-lead{margin:0; font-size:var(--font-size-17); line-height:1.95; font-weight:500; color:#333; word-break:keep-all;}
.sp-tal-examples{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; /* .sp gap(50px) 보정 → 위아래 실효 간격 20px */ margin-top:calc(var(--space-30) * -1); margin-bottom:calc(var(--space-30) * -1);}
.sp-talisman > .sp-tal-ex-lead{margin-top:calc(var(--space-30) * -1); margin-bottom:0;}
.sp-tal-ex-item{margin:0; border:1px solid #ece6e1; border-radius:14px; overflow:hidden; background:#fff; box-shadow:0 10px 28px rgba(0,0,0,.06);}
.sp-tal-ex-item img{width:100%; height:auto; object-fit:contain; display:block; background:#faf8f6; padding:var(--space-12); box-sizing:border-box;}
.sp-tal-copy .sp-pull{margin:var(--space-70) 0 0;}
.sp-tal-copy p{margin:0 0 var(--space-14); font-size:var(--font-size-16); line-height:1.85; color:#444; word-break:keep-all;}
.sp-tal-copy .sp-note{color:#777; font-size:var(--font-size-15);}
.sp-tal-grid{display:grid; grid-template-columns:1fr 1fr; gap:16px;}
.sp-tal-grid > div{padding:var(--space-28) var(--space-26); border-radius:18px; background:#fff; border:1px solid #ece6e1;}
.sp-tal-grid h4{margin:0 0 var(--space-12); font-size:var(--font-size-18); color:#483E3A;}
.sp-tal-grid p{margin:0; font-size:var(--font-size-15); line-height:1.8; color:#555; word-break:keep-all;}
/* FULL CONTENT EXTRAS */
.sp-pull{margin:0; padding:var(--space-26) var(--space-30) var(--space-26) var(--space-34); border:none; border-radius:0; background:linear-gradient(135deg,#f7f4f1 0%,#f0ebe6 100%); box-shadow:inset 4px 0 0 #483E3A; font-size:var(--font-size-17-5); font-weight:500; line-height:1.9; letter-spacing:-.02em; color:#483e3a; word-break:keep-all;}
.sp-prose{display:flex; flex-direction:column; gap:18px; margin:0;}
.sp-prose p{margin:0; font-size:var(--font-size-17); line-height:1.95; font-weight:500; color:#333; word-break:keep-all;}
.sp-prose p:first-child{padding-bottom:0; border-bottom:none;}
.sp-sec-title{display:flex; align-items:center; gap:12px; margin:0;}
.sp-sec-title span{display:inline-flex; align-items:center; justify-content:center; width:36px; height:36px; border-radius:50%; background:#483E3A; color:#fff; font-size:var(--font-size-12); font-weight:700;}
.sp-sec-title h4{margin:0; font-size:var(--font-size-22); font-weight:600; color:#483e3a;}
.sp-cta-note{margin:var(--space-32) 0 0; padding:var(--space-20) var(--space-24); border-radius:12px; background:#f7f4f1; border:1px solid #e8e2dc; font-size:var(--font-size-15-5); line-height:1.85; color:#555; word-break:keep-all; text-align:center;}
.sp-meta{margin:0 0 var(--space-6); font-size:var(--font-size-13); font-weight:600; color:#8a7a72;}
.sp-meta.dim{font-weight:500; color:#999; margin-bottom:var(--space-14);}
.sp-list{margin:var(--space-10) 0 0; padding-left:1.15em; line-height:1.8; color:#555; font-size:var(--font-size-14); text-align:left;}
.sp-list li:not(:last-child) {margin-bottom: 5px;}
.sp-steps-rich{grid-template-columns:repeat(3,1fr);}
.sp-tal-grid-rich{grid-template-columns:1fr 1fr; gap:20px;}
.sp-mini{padding:var(--space-28) var(--space-26) var(--space-30); border-radius:0; background:#fff; border:1px solid #ece6e1; box-shadow:0 8px 24px rgba(72,62,58,.04);}
.sp-tal-type{padding:0; overflow:hidden; display:flex; flex-direction:column;}
.sp-tal-type-img{background:#f7f4f1; border-bottom:1px solid #ece6e1;}
.sp-tal-type-img img{width:100%; height:auto; aspect-ratio: 696/280; object-fit:contain; object-position:center; display:block; padding:var(--space-18); box-sizing:border-box;}
.sp-tal-type > p{padding-left:var(--space-26); padding-right:var(--space-26);}
.sp-mini-wide{margin-top:0; box-shadow:inset 4px 0 0 #483E3A; background:linear-gradient(135deg,#fbf9f7 0%,#f7f4f1 100%);}
.sp-mini strong{display:block; margin-top:var(--space-16); margin-bottom:0; padding:0 var(--space-26) var(--space-14); border-bottom:none; font-size:var(--font-size-20); font-weight:700; line-height:1.4; letter-spacing:-.03em; color:#141414;}
.sp-mini p{margin:var(--space-20) 0 var(--space-14); font-size:var(--font-size-17); line-height:1.9; font-weight:400; color:#333; word-break:keep-all;}
.sp-mini p:last-child{margin-bottom:0;}
.sp-tal-type > p{margin-top:var(--space-20); padding-bottom:var(--space-26);}
.sp-tags{display:flex; flex-wrap:wrap; gap:10px;}
.sp-tag{display:inline-block; padding:var(--space-10) var(--space-14); border-radius:0; background:#ffd712; border:1px solid #e6ddd7; font-size:var(--font-size-15); font-weight:700; color:#be1336; line-height:1.45; word-break:keep-all;}
.sp-chips{list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:10px;}
.sp-chips li{padding:var(--space-10) var(--space-16); border-radius:999px; background:#f4f0ed; border:1px solid #e6ddd7; font-size:var(--font-size-14); font-weight:600; color:#483E3A;}
.sp-note-block{margin-top:var(--space-28); padding-top:var(--space-8);}
.sp-saju .sp-prose{margin:0 0 var(--space-8); max-width:none; width:100%;}
.sp-fields{list-style:none; margin:0; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:12px;}
.sp-fields li{display:flex; align-items:flex-start; gap:14px; margin:0; padding:var(--space-18); border-radius:14px; background:#fff; border:1px solid #ece6e1;}
.sp-fields .sp-field-n{flex:0 0 auto; display:inline-flex; align-items:center; justify-content:center; min-width:34px; height:34px; border-radius:10px; background:#483E3A; color:#fff; font-size:var(--font-size-12); font-weight:700;}
.sp-fields p{margin:0; font-size:var(--font-size-15); line-height:1.65; padding-top:var(--space-6); word-break:keep-all;}
.sp-cta{margin-top:var(--space-48); padding:var(--space-36) var(--space-40); border-radius:20px; background:radial-gradient(ellipse 80% 120% at 100% 0%,rgba(255,255,255,.08),transparent 55%), linear-gradient(135deg,#3a322f 0%,#483E3A 48%,#2f2926 100%); color:#fff; display:flex; align-items:center; justify-content:space-between; gap:28px; box-shadow:0 16px 40px rgba(72,62,58,.22);}
.sp-cta-copy{flex:1; min-width:0;}
.sp-cta-kicker{display:inline-block; margin:0 0 var(--space-10); font-size:var(--font-size-12); font-weight:700; letter-spacing:.12em; color:rgba(255,255,255,.55);}
.sp-cta-copy strong{display:block; margin:0 0 var(--space-10); font-size:var(--font-size-22); font-weight:600; line-height:1.45; letter-spacing:-.02em; word-break:keep-all; color:#fff;}
.sp-cta-copy p{margin:0; font-size:var(--font-size-15-5); line-height:1.7; color:rgba(255,255,255,.78); font-weight:400; word-break:keep-all;}
.sp-cta-btn{flex:0 0 auto; display:inline-flex; align-items:center; justify-content:center; gap:8px; min-width:176px; padding:var(--space-16) var(--space-30); border-radius:999px; background:#fff; color:#483E3A; text-decoration:none; font-size:var(--font-size-16); font-weight:600; box-shadow:0 8px 20px rgba(0,0,0,.12); transition:transform .2s ease,background .2s ease,box-shadow .2s ease;}
.sp-cta-btn::after{content:""; width:7px; height:7px; border-top:2px solid currentColor; border-right:2px solid currentColor; transform:rotate(45deg); margin-left:var(--space-2);}
.sp-cta-btn:hover{background:#f7f4f1; transform:translateY(-2px); box-shadow:0 12px 24px rgba(0,0,0,.16);}
/* 오시는길 — ContArea는 다른 서브와 동일. 좌측 지도 i 우측 정보 */
.dir-page{max-width:100%; width:100%;}
.dir-loc-grid{display:grid; grid-template-columns:2fr .95fr; gap:0; margin-bottom:var(--space-28); border-radius:16px; overflow:hidden; box-shadow:0 12px 36px rgba(72,62,58,.08);}
.dir-map-placeholder{display:flex; flex-direction:column; align-items:center; justify-content:center; min-height:480px; height:100%; margin:0; border:0; border-radius:0;}
.dir-map-label{display:inline-block; margin-bottom:var(--space-12); padding:var(--space-10) var(--space-18); border-radius:999px; background:#483E3A; color:#fff; font-size:var(--font-size-15); font-weight:600; letter-spacing:-.02em;}
.dir-map-placeholder p{margin:0; font-size:var(--font-size-14); line-height:1.7; color:#777; font-weight:400; word-break:keep-all;}
.dir-loc-info{background:#483E3A; color:#fff; padding:var(--space-36) var(--space-32); display:flex; flex-direction:column; justify-content:center;}
.dir-loc-info h3{margin:0 0 var(--space-22); font-size:var(--font-size-22); font-weight:700; color:#fff; letter-spacing:-.02em;}
.dir-loc-row{display:flex; gap:14px; padding:var(--space-12) 0; border-bottom:1px solid rgba(255,255,255,.14); font-size:var(--font-size-15); line-height:1.65;}
.dir-loc-row:last-of-type{border-bottom:none;}
.dir-loc-row > span:first-child{min-width:110px; flex-shrink:0; color:rgba(255,255,255,.68); font-weight:600;}
.dir-loc-row > span:last-child{color:#fff; font-weight:400; word-break:keep-all;}
.dir-transit{display:grid; grid-template-columns:1fr 1fr; gap:14px;}
.dir-transit-item{border:1px solid #ebe4df; border-radius:14px; padding:var(--space-24) var(--space-22); background:#fff;}
.dir-transit-item strong{display:flex; align-items:center; gap:8px; margin-bottom:var(--space-10); font-size:var(--font-size-15); color:#483E3A; font-weight:700;}
.dir-transit-ico{font-size:var(--font-size-18); line-height:1;}
.dir-transit-item p{margin:0; font-size:var(--font-size-14); line-height:1.85; color:#666; font-weight:400; word-break:keep-all;}
