/* 아기별 루미 홈페이지 — 공통 스타일 (상세페이지 템플릿 색상 토큰 재사용) */
:root{
  --night:#10173A; --card:#222F66; --gold:#F3C64F; --cream:#FFF8EC; --haze:#8FA3D9;
  --ink:#2A2F45; --soft:#6B7390; --line:#EDE6D2;
  --maxw:1080px;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  font-family:"Pretendard Variable",Pretendard,-apple-system,BlinkMacSystemFont,"Malgun Gothic","맑은 고딕",sans-serif;
  background:#fff;color:var(--ink);line-height:1.6;-webkit-font-smoothing:antialiased;
}
a{color:inherit;text-decoration:none;}
img,video{max-width:100%;display:block;}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 20px;}
.section{padding:72px 0;}
@media (max-width:640px){.section{padding:52px 0;}}

h1,h2,h3{font-weight:800;letter-spacing:-.02em;line-height:1.3;}
h2{font-size:clamp(24px,4vw,34px);margin-bottom:16px;}
.lead{font-size:17px;line-height:1.75;color:var(--soft);}
.center{text-align:center;}
.tag{display:inline-block;padding:6px 16px;border-radius:999px;background:rgba(243,198,79,.15);
  color:#B9860B;font-size:13px;font-weight:700;letter-spacing:.02em;margin-bottom:14px;}

/* ── 헤더 ── */
.site-header{position:sticky;top:0;z-index:50;background:var(--night);
  border-bottom:1px solid rgba(255,255,255,.08);}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;height:64px;}
.logo{color:#fff;font-weight:800;font-size:18px;letter-spacing:-.01em;display:flex;align-items:center;gap:8px;}
.logo .dot{color:var(--gold);}
.nav{display:flex;align-items:center;gap:18px;font-size:14px;color:var(--haze);font-weight:600;white-space:nowrap;}
.nav a:hover{color:#fff;}
.nav-cta{background:var(--gold);color:var(--night);padding:9px 16px;border-radius:999px;font-weight:800;font-size:13.5px;}
.nav-toggle{display:none;background:none;border:0;color:#fff;font-size:22px;cursor:pointer;}
@media (max-width:900px){
  .nav{position:fixed;inset:64px 0 0 0;background:var(--night);flex-direction:column;align-items:flex-start;padding:28px 24px;
    gap:22px;transform:translateY(-110%);transition:transform .25s ease;font-size:17px;white-space:normal;}
  .nav.open{transform:translateY(0);}
  .nav-toggle{display:block;}
}

/* ── 히어로 ── */
.hero{background:var(--night);color:var(--cream);position:relative;overflow:hidden;padding:64px 0 60px;}
.hero-bg{position:absolute;inset:0;z-index:0;overflow:hidden;}
.hero-bg::after{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(16,23,58,.35) 0%,rgba(16,23,58,.75) 60%,var(--night) 100%);}
.hero-bg-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.6;}
.hero-bg-video.tall{display:none;}
@media (max-width:640px){
  .hero-bg-video.wide{display:none;}
  .hero-bg-video.tall{display:block;}
}
.hero::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.55;z-index:0;
  background-image:
    radial-gradient(1.5px 1.5px at 12% 18%, #fff 50%, transparent 51%),
    radial-gradient(1px 1px at 28% 64%, #fff 50%, transparent 51%),
    radial-gradient(2px 2px at 46% 30%, #FFE9A8 50%, transparent 51%),
    radial-gradient(1px 1px at 63% 74%, #fff 50%, transparent 51%),
    radial-gradient(1.5px 1.5px at 78% 22%, #fff 50%, transparent 51%),
    radial-gradient(1px 1px at 88% 56%, #FFE9A8 50%, transparent 51%),
    radial-gradient(1.5px 1.5px at 8% 84%, #fff 50%, transparent 51%),
    radial-gradient(1px 1px at 52% 90%, #fff 50%, transparent 51%);}
.hero .inner{position:relative;z-index:1;text-align:center;}
.hero-eyebrow{font-size:16px;font-weight:700;color:var(--haze);margin-bottom:14px;}
.hero h1{font-size:clamp(28px,5.2vw,48px);color:#fff;margin-bottom:14px;}
.hero h1 em{font-style:normal;color:var(--gold);}
.hero-punch{font-size:clamp(17px,2.4vw,20px);font-weight:800;color:var(--gold);margin-bottom:18px;}
.hero .lead{max-width:560px;margin:0 auto 32px;color:var(--haze);font-size:18px;}
.name-cycle{color:#fff;font-weight:800;border-bottom:2px solid var(--gold);padding-bottom:1px;}
.cta-row{display:flex;gap:14px;justify-content:center;align-items:center;flex-wrap:wrap;margin-bottom:44px;}
.btn{display:inline-block;padding:15px 30px;border-radius:999px;font-weight:800;font-size:16px;
  transition:transform .15s ease;}
.btn:hover{transform:translateY(-2px);}
.btn-gold{background:var(--gold);color:var(--night);}
.btn-ghost{background:rgba(255,255,255,.08);color:#fff;border:1.5px solid rgba(255,255,255,.25);}
.btn-lg{padding:19px 38px;font-size:18px;box-shadow:0 12px 32px rgba(243,198,79,.35);}
.price-hint{display:block;font-size:11.5px;font-weight:700;color:var(--haze);margin-top:2px;}
.video-frame{max-width:420px;margin:0 auto;border-radius:22px;overflow:hidden;border:1px solid rgba(255,255,255,.15);
  box-shadow:0 24px 60px rgba(0,0,0,.35);position:relative;}
.video-frame video{width:100%;display:block;background:#000;}
.video-caption{margin-top:16px;font-size:14.5px;color:var(--gold);font-weight:700;}

/* ── 3단계 / fact 카드 ── */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:36px;}
@media (max-width:720px){.steps{grid-template-columns:1fr;}}
.step-card{background:var(--night);color:#fff;border-radius:20px;padding:30px 24px;border-top:3px solid var(--gold);}
.step-card .k{color:var(--gold);font-weight:800;font-size:14px;margin-bottom:10px;}
.step-card .s{font-size:18px;font-weight:800;margin-bottom:8px;}
.step-card .d{font-size:14.5px;color:var(--haze);line-height:1.65;}

/* ── 연구/근거 섹션 ── */
.research{background:linear-gradient(180deg,#1A2350 0%,#10173A 100%);color:var(--cream);}
.research h2,.research h3{color:#fff;}
.research .lead{color:var(--haze);}
.evidence-card{background:rgba(255,255,255,.06);border:1px solid rgba(243,198,79,.3);border-radius:18px;
  padding:26px 26px;margin-top:20px;}
.evidence-card .h{font-size:16.5px;font-weight:800;color:#fff;margin-bottom:8px;}
.evidence-card .h .num{color:var(--gold);margin-right:8px;}
.evidence-card .body{font-size:14.5px;color:var(--haze);line-height:1.7;}
.evidence-card .cite{margin-top:10px;font-size:12.5px;color:rgba(255,255,255,.5);}
.research .fine{margin-top:28px;font-size:12.5px;color:rgba(255,255,255,.45);line-height:1.7;}

/* ── 리뷰 카드 ── */
.reviews-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:40px;}
@media (max-width:760px){.reviews-grid{grid-template-columns:1fr;}}
.reviews-grid-3{grid-template-columns:repeat(3,1fr);}
@media (max-width:900px){.reviews-grid-3{grid-template-columns:1fr 1fr;}}
@media (max-width:640px){.reviews-grid-3{grid-template-columns:1fr;}}
.badge-date{background:#F0ECE0;color:var(--soft);padding:5px 14px;border-radius:999px;font-size:12px;font-weight:700;}
.review-card{background:#fff;border:1.5px solid var(--line);border-radius:20px;padding:26px 26px 24px;
  box-shadow:0 10px 28px rgba(38,32,10,.06);}
.review-card .badges{display:flex;gap:8px;margin-bottom:14px;flex-wrap:wrap;}
.badge-type{background:var(--gold);color:var(--night);padding:5px 14px;border-radius:999px;font-size:12px;font-weight:800;}
.badge-child{background:#F0ECE0;color:var(--soft);padding:5px 14px;border-radius:999px;font-size:12px;font-weight:700;}
.review-card .photos{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:18px;}
.review-card .photos img{width:100%;height:150px;object-fit:cover;border-radius:12px;}
.review-card .quote{font-size:19px;font-weight:800;color:var(--ink);line-height:1.4;margin-bottom:10px;}
.review-card .body{font-size:14.5px;color:var(--soft);line-height:1.7;margin-bottom:12px;}
.review-card .src{font-size:12.5px;color:#9A937C;text-align:right;}
.reviews-more{text-align:center;margin-top:32px;}

/* ── 가격표 ── */
.price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:36px;}
@media (max-width:820px){.price-grid{grid-template-columns:1fr;}}
.price-card{border:1.5px solid var(--line);border-radius:22px;padding:32px 26px;text-align:center;
  display:flex;flex-direction:column;}
.price-card.featured{border-color:var(--gold);box-shadow:0 16px 40px rgba(243,198,79,.18);position:relative;}
.price-card.featured::before{content:"가장 많이 선택";position:absolute;top:-13px;left:50%;transform:translateX(-50%);
  background:var(--gold);color:var(--night);font-size:12px;font-weight:800;padding:5px 16px;border-radius:999px;}
.price-card .name{font-size:15px;font-weight:700;color:var(--soft);margin-bottom:10px;}
.price-card .amount{font-size:32px;font-weight:800;color:var(--ink);margin-bottom:6px;}
.price-card .amount span{font-size:14px;font-weight:600;color:var(--soft);}
.price-card .desc{font-size:13.5px;color:var(--soft);margin-bottom:22px;min-height:40px;}
.price-card .btn{margin-top:auto;}

/* ── 안심 박스 ── */
.assure{background:var(--cream);border-radius:20px;padding:30px 30px;margin-top:44px;}
.assure ul{list-style:none;display:grid;grid-template-columns:repeat(2,1fr);gap:14px;}
@media (max-width:640px){.assure ul{grid-template-columns:1fr;}}
.assure li{font-size:14.5px;color:var(--ink);display:flex;gap:10px;line-height:1.6;}
.assure li .ck{flex:0 0 auto;background:#C99A1F;color:#fff;width:20px;height:20px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:800;margin-top:2px;}

/* ── FAQ ── */
.faq-item{border-bottom:1px solid var(--line);padding:20px 0;}
.faq-q{font-weight:700;font-size:15.5px;color:var(--ink);cursor:pointer;display:flex;justify-content:space-between;gap:12px;}
.faq-q .icon{color:var(--gold);font-weight:800;}
.faq-a{font-size:14.5px;color:var(--soft);line-height:1.75;margin-top:12px;display:none;}
.faq-item.open .faq-a{display:block;}
.faq-item.open .icon{transform:rotate(45deg);}

/* ── 공지 배너 ── */
.notice-bar{background:var(--gold);color:var(--night);font-size:13.5px;font-weight:700;text-align:center;
  padding:10px 16px;display:none;}
.notice-bar.show{display:block;}

/* ── 하단 CTA ── */
.final-cta{background:var(--night);color:#fff;text-align:center;}
.final-cta h2{color:#fff;}
.final-cta .lead{color:var(--haze);max-width:480px;margin:0 auto 30px;}

/* ── 푸터 ── */
.site-footer{background:#0C1230;color:var(--haze);padding:44px 0 30px;font-size:13px;line-height:1.85;}
.site-footer a{color:var(--haze);}
.site-footer a:hover{color:#fff;}
.footer-links{display:flex;gap:18px;flex-wrap:wrap;margin-bottom:18px;font-weight:700;}
.footer-legal{color:rgba(255,255,255,.4);}

/* ── 서브페이지 공통 ── */
.subpage-hero{background:var(--night);color:#fff;padding:56px 0 44px;text-align:center;}
.subpage-hero h1{color:#fff;font-size:clamp(24px,4.5vw,36px);}
.legal-body{padding:56px 0;}
.legal-body h2{font-size:19px;margin:28px 0 10px;}
.legal-body p, .legal-body li{font-size:14.5px;color:var(--soft);line-height:1.8;}
.legal-body ul{padding-left:20px;margin-bottom:10px;}
.legal-body table{width:100%;border-collapse:collapse;margin:14px 0;font-size:14px;}
.legal-body td,.legal-body th{border:1px solid var(--line);padding:10px 12px;text-align:left;}
