/* ===== 러브연애코치 공통 스타일 (모든 페이지 공유) ===== */
:root{
  --bg:#fffaf9;
  --bg-alt:#fff2f3;
  --surface:#ffffff;
  --text:#2b2530;
  --text-soft:#6b6470;
  --text-faint:#9c94a0;
  --border:#f3dfe3;
  --accent:#ea6a86;
  --accent-strong:#d5486a;
  --accent-soft:#ffe3e8;
  --accent-contrast:#ffffff;
  --era-1:#ef8aa0; --era-1-soft:#fdeaee;
  --era-2:#f2a154; --era-2-soft:#fdf0e2;
  --era-3:#5eb377; --era-3-soft:#e9f6ec;
  --era-4:#4fa3e0; --era-4-soft:#e7f3fc;
  --era-5:#a06bc9; --era-5-soft:#f2eaf8;
  --era-6:#d9a441; --era-6-soft:#faf0dc;
  --shadow: 0 18px 40px -20px rgba(200, 60, 95, .35);
  --shadow-sm: 0 8px 20px -12px rgba(200, 60, 95, .3);
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --bg:#201a20; --bg-alt:#241d25; --surface:#2c232d;
    --text:#f5eef1; --text-soft:#c7bac2; --text-faint:#9a8b93;
    --border:#40323e;
    --accent:#f28aa0; --accent-strong:#ff9fb3; --accent-soft:#402531; --accent-contrast:#241521;
    --era-1:#f49bb0; --era-1-soft:#3c262e;
    --era-2:#f5b56f; --era-2-soft:#3a2c22;
    --era-3:#82cf8f; --era-3-soft:#233324;
    --era-4:#6cb6ec; --era-4-soft:#1f2f3a;
    --era-5:#c48ce0; --era-5-soft:#332a3e;
    --era-6:#e8bc6c; --era-6-soft:#3d3320;
    --shadow: 0 18px 40px -18px rgba(0,0,0,.55);
    --shadow-sm: 0 8px 20px -12px rgba(0,0,0,.5);
  }
}
:root[data-theme="dark"]{
  --bg:#201a20; --bg-alt:#241d25; --surface:#2c232d;
  --text:#f5eef1; --text-soft:#c7bac2; --text-faint:#9a8b93;
  --border:#40323e;
  --accent:#f28aa0; --accent-strong:#ff9fb3; --accent-soft:#402531; --accent-contrast:#241521;
  --era-1:#f49bb0; --era-1-soft:#3c262e;
  --era-2:#f5b56f; --era-2-soft:#3a2c22;
  --era-3:#82cf8f; --era-3-soft:#233324;
  --era-4:#6cb6ec; --era-4-soft:#1f2f3a;
  --era-5:#c48ce0; --era-5-soft:#332a3e;
  --era-6:#e8bc6c; --era-6-soft:#3d3320;
  --shadow: 0 18px 40px -18px rgba(0,0,0,.55);
  --shadow-sm: 0 8px 20px -12px rgba(0,0,0,.5);
}

*{box-sizing:border-box;}
body{
  margin:0;
  background:var(--bg);
  color:var(--text);
  font-family:"Noto Sans KR",-apple-system,BlinkMacSystemFont,sans-serif;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3{font-weight:900;text-wrap:balance;margin:0;}
p{margin:0;}
a{color:inherit;text-decoration:none;}
ul{list-style:none;margin:0;padding:0;}
button{font-family:inherit;}
img,svg{max-width:100%;}
.accent-font{font-family:"Jua","Noto Sans KR",sans-serif;}

.wrap{max-width:1180px;margin:0 auto;padding:0 24px;}
section{padding:88px 0;}

/* ---------- header ---------- */
.site-header{
  position:sticky;top:0;z-index:50;
  background:color-mix(in srgb, var(--bg) 88%, transparent);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--border);
}
.site-header .wrap{display:flex;flex-direction:column;}
.header-row1{display:flex;align-items:center;gap:18px;padding:14px 0 10px;}
.header-tagline{flex:1;font-size:.82rem;color:var(--text-faint);}
.auth-actions{display:flex;gap:8px;flex:none;}
.btn-mini{
  display:inline-flex;align-items:center;justify-content:center;
  padding:8px 18px;border-radius:999px;font-size:.8rem;font-weight:700;
  border:1.5px solid transparent;white-space:nowrap;
}
.btn-mini-outline{border-color:var(--border);color:var(--text-soft);}
.btn-mini-outline:hover{border-color:var(--accent);color:var(--accent-strong);}
.btn-mini-solid{background:var(--accent);color:#fff;}
.btn-mini-solid:hover{background:var(--accent-strong);}
.header-row2{
  display:flex;align-items:center;
  padding:10px 0 12px;
  border-top:1px solid var(--border);
}
.brand{display:flex;align-items:center;gap:12px;}
.brand-mark{
  width:46px;height:46px;border-radius:50%;
  background:linear-gradient(160deg, var(--accent-soft), var(--accent));
  display:flex;align-items:center;justify-content:center;flex:none;
  box-shadow:var(--shadow-sm);
  overflow:hidden;
}
.brand-mark img{width:100%;height:100%;object-fit:cover;display:block;}
.brand-text{display:flex;flex-direction:column;line-height:1.25;}
.brand-text .ko{font-size:1.28rem;font-weight:900;color:var(--text);letter-spacing:-.01em;}
.brand-text .en{font-size:.72rem;color:var(--accent);font-family:"Jua",sans-serif;letter-spacing:.03em;}

.nav-list{display:flex;align-items:center;flex-wrap:wrap;gap:6px 22px;}
.nav-list a{font-size:.9rem;font-weight:500;color:var(--text-soft);padding:6px 2px;position:relative;white-space:nowrap;}
.nav-list a::after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:2px;background:var(--accent);transform:scaleX(0);transition:transform .2s ease;}
.nav-list a:hover{color:var(--text);}
.nav-list a:hover::after{transform:scaleX(1);}
.nav-list a[aria-current="page"]{color:var(--accent-strong);font-weight:700;}
.nav-list a[aria-current="page"]::after{transform:scaleX(1);}

.nav-toggle{display:none;width:42px;height:42px;border-radius:10px;border:1px solid var(--border);background:var(--surface);align-items:center;justify-content:center;cursor:pointer;}
.nav-toggle span, .nav-toggle span::before, .nav-toggle span::after{content:"";display:block;width:18px;height:2px;background:var(--text);position:relative;transition:.2s;}
.nav-toggle span::before{position:absolute;top:-6px;}
.nav-toggle span::after{position:absolute;top:6px;}

@media (max-width:800px){
  .header-tagline{display:none;}
  .header-row2{position:relative;}
  .nav-list{position:absolute;top:100%;left:0;right:0;background:var(--surface);flex-direction:column;align-items:flex-start;padding:14px 0 22px;gap:6px;border-bottom:1px solid var(--border);display:none;}
  .nav-list.open{display:flex;}
  .nav-list a{padding:10px 4px;width:100%;}
  .nav-toggle{display:flex;}
  .footer-top{flex-direction:column;}
  .footer-right{align-items:flex-start;}
  .footer-tagline{margin-left:0;}
}
@media (max-width:560px){
  .auth-actions .btn-mini-outline{display:none;}
}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;
  padding:14px 30px;border-radius:999px;font-weight:700;font-size:.98rem;cursor:pointer;
  border:2px solid transparent;transition:transform .15s ease, box-shadow .15s ease, background .15s ease;
}
.btn:hover{transform:translateY(-2px);}
.btn-solid{background:var(--accent);color:var(--accent-contrast);box-shadow:var(--shadow-sm);}
.btn-solid:hover{background:var(--accent-strong);}
.btn-outline{background:var(--surface);color:var(--accent-strong);border-color:var(--accent);}
.btn-outline:hover{background:var(--accent-soft);}

/* ---------- section heading ---------- */
.section-head{text-align:center;max-width:640px;margin:0 auto 52px;}
.section-head h2{font-size:clamp(1.5rem,2.6vw,2rem);}
.section-head p{color:var(--text-soft);margin-top:12px;font-size:1rem;}

/* ---------- era colors (shared badges) ---------- */
.era-badge{font-family:"Jua",sans-serif;font-size:.82rem;padding:6px 16px;border-radius:999px;color:#fff;letter-spacing:.02em;display:inline-block;}
.era-icon{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.5rem;}
.era-1 .era-badge{background:var(--era-1);} .era-1 .era-icon{background:var(--era-1-soft);}
.era-2 .era-badge{background:var(--era-2);} .era-2 .era-icon{background:var(--era-2-soft);}
.era-3 .era-badge{background:var(--era-3);} .era-3 .era-icon{background:var(--era-3-soft);}
.era-4 .era-badge{background:var(--era-4);} .era-4 .era-icon{background:var(--era-4-soft);}
.era-5 .era-badge{background:var(--era-5);} .era-5 .era-icon{background:var(--era-5-soft);}
.era-6 .era-badge{background:var(--era-6);} .era-6 .era-icon{background:var(--era-6-soft);}

/* ---------- footer (dark) ---------- */
.site-footer{
  --footer-bg:#1c1720; --footer-text:#f0e8ec; --footer-soft:#a99aa3; --footer-border:#332934;
  background:var(--footer-bg);
  color:var(--footer-text);
  padding:48px 0 26px;
}
.footer-top{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:28px;padding-bottom:28px;border-bottom:1px solid var(--footer-border);}
.footer-brand-block{display:flex;flex-direction:column;gap:6px;}
.footer-brand{display:flex;align-items:center;gap:10px;font-weight:900;font-size:1.05rem;color:var(--footer-text);}
.footer-brand .dot{width:30px;height:30px;border-radius:50%;object-fit:cover;display:inline-block;flex:none;}
.footer-tagline{font-size:.78rem;color:var(--accent);font-family:"Jua",sans-serif;margin-left:40px;}
.footer-biz{font-size:.78rem;color:var(--footer-soft);line-height:1.8;padding-top:18px;}
.footer-links{display:flex;gap:20px;flex-wrap:wrap;font-size:.86rem;color:var(--footer-soft);}
.footer-links a:hover{color:#fff;}
.footer-right{display:flex;flex-direction:column;align-items:flex-end;gap:14px;}
.social-row{display:flex;gap:10px;}
.social-row a{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:900;color:#fff;}
.social-row .yt{background:#e02b2b;}
.social-row .blog{background:#3aa85a;font-size:.6rem;}
.social-row .ig{background:radial-gradient(circle at 30% 110%, #ffdb73 0%, #fd5 15%, #ff543e 45%, #c837ab 75%, #7038c0 100%);}
.social-row .kakao{background:#fee500;color:#3c1e1e;}
.footer-contact{display:flex;align-items:center;gap:8px;font-weight:700;color:var(--accent);font-size:.9rem;}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;padding-top:18px;font-size:.8rem;color:var(--footer-soft);}

@media (max-width:560px){
  section{padding:64px 0;}
  .footer-top,.footer-bottom{justify-content:center;text-align:center;}
}
