:root{--ink:#252238;--muted:#777489;--lav:#f3f0fa;--line:#e9e6ef;--accent:#7463bd;--serif:"Playfair Display",serif;--sans:"Noto Sans KR",sans-serif}*{box-sizing:border-box}body{margin:0;color:var(--ink);font-family:var(--sans);background:#fff}a{text-decoration:none;color:inherit}button{font:inherit;border:0;cursor:pointer}header{height:78px;border-bottom:1px solid #f0eef4;background:#fff;position:sticky;top:0;z-index:5}.nav-wrap{height:100%;max-width:1180px;margin:auto;padding:0 28px;display:flex;align-items:center;justify-content:space-between;gap:30px}.logo{display:flex;align-items:center;gap:10px;font-weight:800;font-size:22px;letter-spacing:-1px}.logo i{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--ink);color:#fff;font-family:var(--serif);font-style:normal;font-size:20px}.logo span{font-size:20px}nav{display:flex;gap:26px;flex:1;justify-content:center}nav a{font-size:14px;color:#777481;position:relative}nav a.active,nav a:hover{color:var(--ink)}nav a.active:after{content:"";position:absolute;height:2px;background:var(--accent);left:0;right:0;bottom:-11px}.actions{display:flex;gap:10px;align-items:center}.icon-btn{font-size:26px;color:var(--ink);background:none}.menu-btn{background:var(--ink);color:#fff;border-radius:22px;padding:9px 16px;font-size:12px}.hero{background:linear-gradient(115deg,#faf9fd,#f4f0fb 55%,#ebe5f8);min-height:475px;overflow:hidden}.hero-inner{max-width:1180px;margin:auto;padding:80px 55px;display:flex;justify-content:space-between;align-items:center}.eyebrow{color:var(--accent);font-size:11px;letter-spacing:2px;font-weight:700;margin:0 0 15px}.hero h1,.page-title h1,.consult h1{font-size:50px;line-height:1.28;letter-spacing:-3px;margin:0 0 22px}.hero em,.consult em{font-family:var(--serif);font-style:normal;color:var(--accent)}.hero-desc{color:#716d7d;line-height:1.9;font-size:15px;margin-bottom:30px}.primary{background:var(--ink);color:#fff;padding:15px 22px;border-radius:28px;font-size:13px}.primary span,.light-btn span,.section-head a span{margin-left:20px;font-size:18px}.orb{width:290px;height:290px;border-radius:50%;background:radial-gradient(circle at 32% 25%,#fff,#d7cbed 38%,#927bc5);display:grid;place-items:center;box-shadow:20px 30px 70px #b7a7dc}.orb-inner{text-align:center;color:#6b5b9d;font-size:19px;line-height:1.7}.orb strong{font:700 72px var(--serif);color:#fff}.section{max-width:1180px;margin:auto;padding:85px 55px}.intro{display:flex;justify-content:space-between;align-items:end}.section h2{font-size:32px;letter-spacing:-2px;margin:0}.intro h2 em{font-family:var(--serif);font-style:normal;color:var(--accent)}.intro-text{color:var(--muted);line-height:1.8;text-align:right}.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:27px}.section-head a{font-size:13px;color:var(--accent)}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.card{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff;transition:.2s;cursor:pointer}.card:hover{transform:translateY(-4px);box-shadow:0 14px 30px #30295412}.thumb{height:170px;position:relative;display:flex;align-items:center;justify-content:center;color:#fff}.thumb span{position:absolute;top:18px;left:18px;font-size:11px;letter-spacing:1px}.thumb b{font:70px var(--serif);opacity:.8}.violet{background:linear-gradient(140deg,#c8bde7,#6853a8)}.peach{background:linear-gradient(140deg,#f4d7c5,#b87969)}.blue{background:linear-gradient(140deg,#b6d2e4,#517a9e)}.gold{background:linear-gradient(140deg,#e9d7a4,#a37c35)}.rose{background:linear-gradient(140deg,#f0c8d5,#ac6680)}.green{background:linear-gradient(140deg,#c7dbca,#5a8969)}.card-copy{padding:18px 20px 21px}.card-copy small,.admin-item small{color:#aaa5b4;font-size:11px}.card h3{font-size:17px;line-height:1.45;letter-spacing:-.7px;margin:10px 0 7px}.card p{font-size:13px;color:var(--muted);line-height:1.6;margin:0}.band{background:var(--ink);color:#fff}.band-inner{max-width:1070px;margin:auto;padding:55px;display:flex;align-items:center;justify-content:space-between}.band h2{font-size:30px;margin:0 0 10px}.band p{color:#b8b3c6;font-size:14px}.light-btn{background:#fff;color:var(--ink);padding:14px 20px;border-radius:25px;font-size:13px}.page-title{margin-bottom:45px}.page-title h1{font-size:44px;margin-bottom:12px}.page-title>p:last-child,.consult>p:not(.eyebrow){color:var(--muted)}.filters{display:flex;justify-content:space-between;gap:20px;margin-bottom:35px}.chips{display:flex;gap:7px;flex-wrap:wrap}.chip{background:#f7f6fa;color:#777481;padding:9px 14px;border-radius:20px;font-size:12px}.chip.selected{background:var(--ink);color:#fff}.search{border-bottom:1px solid var(--ink);display:flex;width:210px}.search input{border:0;outline:0;width:100%;padding:8px;background:transparent}.search button{background:none;font-size:22px}.list-grid{grid-template-columns:repeat(3,1fr)}.empty{grid-column:1/-1;text-align:center;padding:70px;color:var(--muted)}.back{color:var(--accent);font-size:13px}.detail{max-width:850px}.detail-head{text-align:center;padding:70px 0 42px}.detail-head h1{font-size:42px;letter-spacing:-2px;line-height:1.35;margin:0 0 18px}.detail-head p:not(.eyebrow){color:var(--muted)}.detail-head small{color:#aaa;font-size:11px}.detail-image{height:280px;border-radius:18px;display:grid;place-items:center;color:#fff;font:110px var(--serif)}.article-body{max-width:650px;margin:55px auto;font-size:16px;line-height:2.1;color:#514d5c}.consult{text-align:center;min-height:600px;padding-top:130px}.consult h1{font-size:48px}.consult>p:not(.eyebrow){line-height:1.9;margin:25px 0 35px}.inline{display:inline-block}.admin{max-width:900px}.admin form{display:grid;gap:12px;margin-bottom:42px}.admin input,.admin select,.admin textarea{font:inherit;border:1px solid var(--line);border-radius:8px;padding:13px 15px;outline-color:var(--accent)}.admin textarea{min-height:180px;resize:vertical}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.admin-list{border-top:2px solid var(--ink)}.admin-item{padding:17px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.admin-item b{display:block;font-size:14px;margin-bottom:5px}.admin-item button{color:#bd6870;background:none;font-size:12px}footer{background:#f8f7fa;padding:45px 55px;text-align:center;color:#aaa5b4}footer .footer-logo{font-weight:800;color:var(--ink);font-size:20px;margin-bottom:7px}footer p{font-size:12px;margin:0 0 18px}@media(max-width:800px){header{height:65px}.nav-wrap{padding:0 18px}nav{display:none}.hero-inner{padding:65px 24px;min-height:510px}.hero h1{font-size:40px}.orb{width:170px;height:170px;margin-right:-35px}.orb strong{font-size:46px}.section{padding:60px 22px}.intro{display:block}.intro-text{text-align:left;margin-top:25px}.grid,.list-grid{grid-template-columns:1fr}.featured .card:first-child{grid-column:auto}.band-inner{padding:42px 24px;display:block}.light-btn{margin-top:24px}.filters{display:block}.search{margin-top:18px;width:100%}.page-title h1{font-size:38px}.detail-head h1{font-size:31px}.consult h1{font-size:38px}.form-row{grid-template-columns:1fr}footer{padding:35px 20px}}.portal-section{padding-top:35px;padding-bottom:45px}.popular-grid{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line)}.popular-item{border:0;border-bottom:1px solid var(--line);background:#fff;padding:18px 12px;display:flex;gap:17px;text-align:left;align-items:center;color:var(--ink)}.popular-item>strong{font:700 27px var(--serif);color:#c9c4d3;min-width:20px}.popular-item b,.popular-item small{display:block}.popular-item b{font-size:14px;margin-bottom:5px}.popular-item small{font-size:11px;color:#aaa5b4}.free-panel{max-width:none;background:#faf9fc;padding-left:max(22px,calc((100% - 1070px)/2));padding-right:max(22px,calc((100% - 1070px)/2))}.service-grid,.reader-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.service-card,.reader-card{border:1px solid var(--line);border-radius:13px;background:#fff}.service-card{text-align:left;position:relative;padding:20px;min-height:155px;color:var(--ink)}.service-card:hover,.reader-card:hover{border-color:#b9addd;transform:translateY(-2px)}.service-card span{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--lav);color:var(--accent);font-size:22px;margin-bottom:16px}.service-card b,.service-card p{display:block}.service-card b{font-size:14px}.service-card p{font-size:12px;color:var(--muted);line-height:1.5;margin:7px 0}.service-card i{position:absolute;right:18px;bottom:16px;color:var(--accent);font-style:normal}.reader-card{padding:20px 10px;text-align:center}.reader-avatar{display:grid;place-items:center;width:76px;height:76px;border-radius:50%;margin:0 auto 12px;color:#fff;font:32px var(--serif)}.reader-card b,.reader-card small{display:block}.reader-card b{font-size:14px}.reader-card small{font-size:11px;color:var(--muted);margin-top:5px}@media(max-width:800px){.popular-grid,.service-grid,.reader-grid{grid-template-columns:1fr}.free-panel{padding-left:22px;padding-right:22px}}.file-input{display:block;border:1px dashed #cfc9dc;border-radius:8px;padding:14px;color:var(--muted);font-size:13px}.file-input input{display:block;margin-top:8px}.admin-item>span{display:flex;gap:10px}.admin-item>span button{color:var(--accent)}.admin-stats{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin:-18px 0 28px}.admin-stats div{background:#faf9fc;border:1px solid var(--line);border-radius:10px;padding:14px}.admin-stats b,.admin-stats small{display:block}.admin-stats b{font:700 24px var(--serif);color:var(--accent)}.admin-stats small{font-size:11px;color:var(--muted);margin-top:4px}@media(max-width:800px){.admin-stats{grid-template-columns:repeat(2,1fr)}}.hero{background-image:linear-gradient(90deg,#151227f5,#1f193adb 42%,#1f193a2e),url(/hero-moonlight.png);background-position:center,right center;background-size:cover,auto 100%;background-repeat:no-repeat}@media(max-width:700px){.hero{background-position:center,72% center;background-size:cover,auto 100%}}.mobile-toggle{display:none;background:transparent;color:var(--ink);font-size:22px;padding:3px}@media(max-width:800px){.mobile-toggle{display:block}header nav.open{display:flex;position:absolute;top:65px;left:0;right:0;padding:16px 18px;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 12px 24px #25223814;gap:18px;flex-wrap:wrap;justify-content:flex-start;z-index:6}header nav.open a{font-size:13px}}.product-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.product-card,.product-detail-card{border:1px solid var(--line);border-radius:16px;padding:28px;background:#fff}.product-card{min-height:245px;display:flex;flex-direction:column;align-items:flex-start}.product-mark{color:var(--accent);font-size:25px}.product-card h2{margin:16px 0 8px;font-size:21px}.product-card p,.product-detail-card>p:not(.product-price){color:var(--muted);line-height:1.75}.product-card strong{margin-top:auto;font-size:18px}.product-card .light-btn{margin-top:18px}.product-detail{max-width:760px}.product-detail-card{margin:55px auto 0;text-align:center;max-width:620px}.product-detail-card h1{font-size:42px;margin:15px 0 8px}.product-price{color:var(--accent);font-size:22px;font-weight:700}.product-detail-card ul{text-align:left;line-height:2;color:var(--muted);margin:28px auto;max-width:320px}.product-detail-card small{display:block;color:#aaa5b4;margin-top:18px}.sample-report{max-width:620px;margin:48px auto 0}.sample-report h2{font-size:25px;margin:0 0 20px}.sample-report>div{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.sample-report article{border:1px solid var(--line);border-radius:12px;padding:18px;background:#faf9fc}.sample-report article b{font-size:13px}.sample-report article p{color:var(--muted);font-size:12px;line-height:1.7}.product-banner{max-width:1070px;margin:0 auto 70px;padding:38px 48px;border-radius:18px;background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:24px}.product-banner h2{margin:0 0 10px;font-size:26px}.product-banner p:not(.eyebrow){color:#c4bfd0;line-height:1.7;margin:0}.faq,.product-compare{max-width:760px;margin:58px auto 0}.product-compare h2{font-size:25px;margin-bottom:18px}.compare-row{display:grid;grid-template-columns:1fr 130px 100px;gap:12px;align-items:center;padding:15px 0;border-top:1px solid var(--line);font-size:13px}.compare-head{color:var(--muted);font-size:11px}.compare-row small{color:var(--accent)}.faq h2{font-size:25px;margin-bottom:18px}.faq details{border-top:1px solid var(--line);padding:18px 0}.faq details:last-child{border-bottom:1px solid var(--line)}.faq summary{cursor:pointer;font-weight:700}.faq p{color:var(--muted);line-height:1.7;margin:12px 0 0}@media(max-width:800px){.product-grid{grid-template-columns:1fr}.product-detail-card h1{font-size:32px}}@media(max-width:700px){.sample-report>div{grid-template-columns:1fr}}@media(max-width:700px){.compare-row{grid-template-columns:1fr 90px 65px}}@media(max-width:700px){.product-banner{margin:0 22px 50px;padding:28px 24px;display:block}.product-banner .light-btn{margin-top:20px}}
