/* ──────────────────────────────────────────────────────────────────
   스페이드의원 임시 사이트 — 스타일
   색 토큰은 :root 에만 있고, 컴포넌트는 토큰만 씁니다.
   ────────────────────────────────────────────────────────────────── */
:root{
  --bg:#0b0b0b;--bg-rgb:11,11,11;--bg-deep:#050505;--bg-bar:rgba(11,11,11,.86);
  --surface:#151515;--card:linear-gradient(160deg,#181818 0%,#0e0e0e 100%);
  --ink:#f5f2ec;--ink-2:#c9c3b8;--ink-3:#a39d92;--ink-4:#7f7a72;--ink-5:#5c5750;
  --hair:rgba(255,255,255,.08);--hair-accent:rgba(210,184,135,.25);--hair-accent-2:rgba(210,184,135,.5);
  --accent:#d2b887;--accent-2:#a8915f;
  --grad-text:linear-gradient(180deg,#ecdbb2 0%,#d2b887 46%,#a8915f 100%);
  --grad-btn:linear-gradient(135deg,#e6cf9e 0%,#c9ad78 55%,#a8915f 100%);--btn-ink:#15110a;
  --glow:rgba(147,126,73,.24);--hero-tint:rgba(0,0,0,0);
  /* 플로팅 상담 메뉴 (SVG 색은 여기서만 정함) */
  --float-core-1:#e6cf9e;--float-core-2:#a8915f;--float-spade:#15110a;--float-menu:#f4efe6;--float-ink:#3b3120;--float-line:#000;--float-ring:rgba(210,184,135,.4);
}

/* ── 기본 ─────────────────────────────────────────────────────────── */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:"Pretendard Variable",Pretendard,"Apple SD Gothic Neo","Malgun Gothic",system-ui,sans-serif;font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;word-break:keep-all;transition:background-color .3s,color .3s}
img{display:block;max-width:100%;height:auto}
a{color:var(--accent);text-decoration:none}
h1,h2,h3,p,ul,li,figure{margin:0;padding:0}ul{list-style:none}
button{font:inherit;color:inherit}
svg{display:block;flex:none}
.en{font-family:Montserrat,"Pretendard Variable",Pretendard,sans-serif;letter-spacing:.26em;text-transform:uppercase;font-weight:500}
.grad{background:var(--grad-text);-webkit-background-clip:text;background-clip:text;color:transparent}
.wrap{width:100%;max-width:1120px;margin:0 auto;padding:0 24px}
.skip{position:absolute;left:-9999px;top:8px;z-index:100;padding:10px 14px;border-radius:10px;background:var(--ink);color:var(--bg);font-weight:700}
.skip:focus{left:8px}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:52px;padding:0 22px;border-radius:14px;font-size:15px;font-weight:700;white-space:nowrap;border:0;cursor:pointer;transition:transform .15s,filter .15s,border-color .2s}
.btn:hover{filter:brightness(1.07)}.btn:active{transform:scale(.98)}
.btn--p{background:var(--grad-btn);color:var(--btn-ink)}
.btn--l{border:1px solid var(--hair-accent-2);color:var(--ink);background:transparent}
.btn--l:hover{border-color:var(--accent)}
.pill{display:inline-flex;align-items:center;height:26px;padding:0 10px;border-radius:99px;border:1px solid var(--hair-accent-2);font-size:11.5px;font-weight:500;color:var(--accent);white-space:nowrap}

/* ── 상단 바 ───────────────────────────────────────────────────────── */
.top{position:sticky;top:0;z-index:30;background:var(--bg-bar);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--hair)}
.top__in{height:60px;display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;padding:0 8px}
.top__back{width:44px;height:44px;display:grid;place-items:center;color:var(--ink);border-radius:12px}
.top__back:hover{background:var(--hair)}
.top__logo{display:flex;justify-content:center}.top__logo-mark{height:46px;width:auto}.top__logo-full{display:none;height:30px;width:auto}
.top__nav,.top__cta{display:none}

/* ── 히어로 ───────────────────────────────────────────────────────── */
.hero{position:relative;height:640px;overflow:hidden;background:var(--bg)}
.hero__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 40%}
.hero__shade{position:absolute;inset:0;background:linear-gradient(180deg,var(--hero-tint),var(--hero-tint)),linear-gradient(180deg,rgba(var(--bg-rgb),.5) 0%,rgba(var(--bg-rgb),.08) 28%,rgba(var(--bg-rgb),.62) 58%,var(--bg) 100%)}
.hero__in{position:absolute;left:0;right:0;bottom:0;padding:0 24px 26px;display:flex;flex-direction:column;gap:14px}
.hero__eyebrow{font-size:11px;color:var(--accent)}
.hero h1{font-size:38px;line-height:1.16;font-weight:900;letter-spacing:-.02em}
.hero h1 small{display:block;font-size:17px;font-weight:500;color:var(--ink);letter-spacing:0;margin-bottom:8px}
.hero h1 .grad{display:block}
.hero__sub{font-size:14px;line-height:1.72;color:var(--ink-2)}
.hero__btns{display:flex;gap:10px;margin-top:6px}
.hero__btns .btn--p{flex:1.15}.hero__btns .btn--l{flex:1}

/* ── 신뢰 3요소 ───────────────────────────────────────────────────── */
.trust{padding:16px 0;border-top:1px solid var(--hair-accent);border-bottom:1px solid var(--hair);display:grid;grid-template-columns:1.3fr 1fr .9fr;gap:4px;text-align:center}
.trust b{display:block;font-size:9px;font-weight:500;color:var(--accent-2)}
.trust span{display:block;margin-top:3px;font-size:12px;font-weight:500;white-space:nowrap}

/* ── 섹션 공통 ────────────────────────────────────────────────────── */
.sec{padding:52px 24px 8px}
.sec__head{display:flex;flex-direction:column;gap:8px;margin-bottom:22px}
.sec__eyebrow{font-size:11px;color:var(--accent)}
.sec h2{font-size:27px;font-weight:900;line-height:1.25;letter-spacing:-.02em}
.sec__sub{font-size:14px;color:var(--ink-3);line-height:1.7}

/* ── 부위별 카드 ──────────────────────────────────────────────────── */
.cards{display:flex;flex-direction:column;gap:12px}
.card{display:flex;gap:14px;align-items:center;padding:18px 14px 18px 20px;border-radius:20px;background:var(--card);border:1px solid var(--hair-accent);color:var(--ink);transition:border-color .2s,transform .2s}
.card:hover{border-color:var(--hair-accent-2);transform:translateY(-2px)}
.card__body{flex:1;display:flex;flex-direction:column;gap:5px;min-width:0}
.card__no{font-size:11px;color:var(--accent);letter-spacing:.2em}
.card h3{font-size:20px;font-weight:700;line-height:1.3}
.card__sub{font-size:12.5px;color:var(--ink-3);line-height:1.5;letter-spacing:-.01em}
.card__tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.card__more{display:inline-flex;align-items:center;gap:4px;margin-top:6px;font-size:12.5px;font-weight:500;color:var(--accent);white-space:nowrap}
.card__art{width:92px;height:116px;border-radius:16px;overflow:hidden;flex:none;border:1px solid var(--hair);background:#000}
.card__art img{width:100%;height:100%;object-fit:cover}

/* ── 대표원장 ─────────────────────────────────────────────────────── */
.doctor{margin:44px 24px 0;overflow:hidden;border-radius:24px;background:var(--bg-deep);border:1px solid var(--hair-accent);display:flex;flex-direction:column}
.doctor__art{position:relative;aspect-ratio:4/3;overflow:hidden}
.doctor__art img{width:100%;height:100%;object-fit:cover;object-position:50% 22%}
.doctor__art::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 45%,var(--bg-deep) 100%)}
.doctor__body{padding:0 22px 24px;display:flex;flex-direction:column;gap:10px;margin-top:-10px;position:relative}
.doctor__brand{display:flex;align-items:center;gap:8px}
.doctor__brand img{height:13px;width:auto}.doctor__brand span{font-size:10px;color:var(--accent-2);letter-spacing:.14em}
.doctor__eyebrow{font-size:10px;color:var(--accent-2)}
.doctor__name{line-height:1.2;font-weight:400}.doctor__name b{font-size:25px;font-weight:900}.doctor__name span{font-size:14px;color:var(--ink-2);margin-left:6px}
.doctor .pill{align-self:flex-start}
.doctor__career{font-size:12.5px;line-height:1.75;color:var(--ink-3);margin-top:2px}

/* ── 세로 이미지(상세 · 공용하단) ─────────────────────────────────── */
.sheet{margin-top:44px;background:var(--bg)}
.sheet img{width:100%;height:auto;margin:0 auto}
.page--detail .sheet{margin-top:0}

/* ── 상세 탭 ──────────────────────────────────────────────────────── */
.tabs{position:sticky;top:64px;z-index:29;background:var(--bg-bar);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--hair)}
.tabs__in{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.tabs a{height:48px;display:grid;place-items:center;font-size:13.5px;font-weight:500;color:var(--ink-4);border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .2s}
.tabs a:hover{color:var(--ink-2)}
.tabs a[aria-current="page"]{color:var(--accent);font-weight:700;border-bottom-color:var(--accent)}

/* ── CTA 밴드 ─────────────────────────────────────────────────────── */
.cta{margin-top:44px;padding:60px 24px 52px;text-align:center;background:radial-gradient(70% 55% at 50% 100%,var(--glow),rgba(0,0,0,0) 100%),var(--bg-deep);display:flex;flex-direction:column;align-items:center;gap:16px}
.cta__eyebrow{font-size:10.5px;color:var(--accent-2)}
.cta h2{font-size:25px;font-weight:900;line-height:1.35;letter-spacing:-.02em}
.cta__btns{display:flex;gap:10px;width:100%;margin-top:8px}.cta__btns .btn{flex:1}
.cta__tel{font-size:12.5px;color:var(--ink-4)}.cta__tel a{color:var(--ink-2);margin-left:4px}

/* ── 푸터 ─────────────────────────────────────────────────────────── */
.ftr{padding:30px 24px 128px;background:var(--bg-deep);border-top:1px solid var(--hair)}
.ftr__in{display:flex;flex-direction:column;gap:14px}
.ftr__logo{height:20px;width:auto;opacity:.9;align-self:flex-start;justify-self:start}
.ftr__info{font-size:12px;line-height:1.85;color:var(--ink-4)}
.ftr__links{display:flex;gap:14px;font-size:12px}.ftr__links a{color:var(--ink-3)}
.ftr__copy{font-size:10px;color:var(--ink-5);letter-spacing:.18em}

/* ── 첫방문 팝업 (현재 사이트 구조 그대로, 터치 영역만 44px) ───────── */
.popup{position:fixed;inset:0;background:rgba(0,0,0,.72);display:none;align-items:center;justify-content:center;z-index:999;padding:20px}
.popup.is-show{display:flex}
.popup__card{position:relative;width:min(92vw,380px);background:#000;border-radius:20px;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.6)}
.popup__x{position:absolute;top:10px;right:10px;width:44px;height:44px;border-radius:999px;background:rgba(0,0,0,.5);border:0;color:#fff;display:grid;place-items:center;cursor:pointer;z-index:10}
.popup__slider{position:relative;width:100%;aspect-ratio:2/3;overflow:hidden;background:#000}
.popup__track{display:flex;height:100%;transition:transform .4s}
.popup__slide{min-width:100%;height:100%}
.popup__slide img{width:100%;height:100%;object-fit:cover;cursor:pointer}
.popup__arrow{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:999px;background:rgba(0,0,0,.4);border:0;color:#fff;display:grid;place-items:center;cursor:pointer;z-index:5}
.popup__arrow--prev{left:8px}.popup__arrow--next{right:8px}
.popup__dots{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);display:flex;gap:6px}
.popup__dot{width:8px;height:8px;border-radius:999px;background:rgba(255,255,255,.3);transition:width .2s,background .2s}
.popup__dot.is-on{width:20px;background:#fff}
.popup__foot{background:var(--bg);border-top:1px solid var(--hair-accent-2);color-scheme:dark;padding:8px 8px 8px 14px;display:flex;justify-content:space-between;align-items:center;gap:8px}
.popup__hide{font-size:13px;display:flex;gap:8px;align-items:center;min-height:44px;color:var(--ink-3);cursor:pointer}
.popup__hide input{width:18px;height:18px;margin:0;accent-color:var(--accent)}
.popup__close{background:transparent;color:var(--accent);border:1px solid var(--hair-accent-2);height:44px;padding:0 22px;border-radius:999px;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap;transition:border-color .2s,background .2s}
.popup__close:hover{border-color:var(--accent);background:rgba(210,184,135,.08)}
@media (max-width:480px){.popup__card{width:94vw}}

/* ── 플로팅 상담 메뉴 (현재 사이트의 SVG·좌표 그대로) ─────────────── */
.float{position:fixed;right:0;bottom:0;width:280px;height:296px;z-index:900;pointer-events:none;--core:74px;--core-r:28px;--core-b:42px}
.float__menu{position:absolute;right:0;bottom:0;width:100%;height:100%;opacity:0;visibility:hidden;pointer-events:none;z-index:10;transition:opacity .2s,visibility .2s}
.float.is-open .float__menu{opacity:1;visibility:visible}
.float__menu svg{display:block;width:100%;height:100%}
.float__toggle{position:absolute;right:var(--core-r);bottom:var(--core-b);width:var(--core);height:var(--core);padding:0;border:0;background:transparent;cursor:pointer;pointer-events:auto;z-index:20}
.float__toggle svg{display:block;width:100%;height:100%;transition:opacity .2s}
.float.is-open .float__toggle svg{opacity:0}
.float__toggle::before{content:"";position:absolute;inset:-4px;border-radius:50%;border:2px solid var(--float-ring);animation:sp-pulse-ring 2.5s ease-out infinite}
.float.is-open .float__toggle::before{opacity:0;animation:none}
.float__toggle:focus-visible{outline:2px solid rgba(255,255,255,.9);outline-offset:4px;border-radius:50%}
.float__links{position:absolute;right:0;bottom:0;width:100%;height:100%;z-index:15}
.float__link{position:absolute;display:block;border-radius:16px;opacity:0;visibility:hidden;pointer-events:none}
.float.is-open .float__link{opacity:1;visibility:visible;pointer-events:auto}
.float__link:focus-visible{outline:2px solid var(--float-ink);outline-offset:2px}
.float__link--phone{top:16px;right:14px;width:80px;height:80px}
.float__link--kakao{top:100px;right:110px;width:80px;height:80px}
.float__link--naver{bottom:50px;right:170px;width:80px;height:80px}
.float__dim{position:fixed;inset:0;background:rgba(0,0,0,.45);opacity:0;visibility:hidden;transition:opacity .2s,visibility .2s;z-index:899}
.float.is-open+.float__dim{opacity:1;visibility:visible}
@media (max-width:480px){
  .float__link--phone{top:12px;right:10px;width:70px;height:70px}
  .float__link--kakao{top:86px;right:94px;width:70px;height:70px}
  .float__link--naver{bottom:42px;right:148px;width:70px;height:70px}
}
@keyframes sp-pulse-ring{0%{transform:scale(1);opacity:.55}70%{transform:scale(1.45);opacity:0}100%{transform:scale(1.45);opacity:0}}

/* ── 데스크톱 ≥ 960px ─────────────────────────────────────────────── */
@media (min-width:960px){
  .top__in{height:76px;grid-template-columns:auto minmax(0,1fr) auto;gap:32px;max-width:1120px;margin:0 auto;padding:0 24px}
  .top__spacer,.top__back{display:none}
  .top__logo{justify-content:flex-start}.top__logo-mark{display:none}.top__logo-full{display:block}
  .top__nav{display:flex;justify-content:center;gap:36px;font-size:15px;font-weight:500}
  .top__nav a{color:var(--ink-2);transition:color .2s}.top__nav a:hover,.top__nav a[aria-current="page"]{color:var(--ink)}
  .top__cta{display:inline-flex;height:42px;padding:0 18px;font-size:14px}

  .hero{height:720px}
  .hero__shade{background:linear-gradient(180deg,var(--hero-tint),var(--hero-tint)),linear-gradient(90deg,rgba(var(--bg-rgb),.94) 0%,rgba(var(--bg-rgb),.72) 40%,rgba(var(--bg-rgb),.18) 100%),linear-gradient(180deg,rgba(var(--bg-rgb),.25) 0%,rgba(var(--bg-rgb),0) 40%,var(--bg) 100%)}
  .hero__in{position:relative;height:720px;max-width:1120px;margin:0 auto;padding:0 24px;justify-content:center;gap:22px}
  .hero__in>*{max-width:640px}
  .hero__eyebrow{font-size:12px}
  .hero h1{font-size:64px;line-height:1.1;letter-spacing:-.025em}
  .hero h1 small{font-size:22px;margin-bottom:14px}
  .hero__sub{font-size:17px;line-height:1.75;max-width:520px}
  .hero__btns{gap:12px;margin-top:10px}.hero__btns .btn{flex:none;height:56px;padding:0 30px;font-size:16px}

  .trust{padding:0;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;text-align:left;border-top-color:rgba(var(--bg-rgb),0);border-top:1px solid var(--hair-accent)}
  .trust li{padding:22px 28px;border-left:1px solid var(--hair)}.trust li:first-child{border-left:0}
  .trust b{font-size:10px}.trust span{font-size:16px;margin-top:4px}

  .sec{padding:96px 24px 0}
  .sec__head{flex-direction:row;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:36px}
  .sec__eyebrow{font-size:12px;margin-bottom:10px}
  .sec h2{font-size:40px;line-height:1.2}
  .sec__sub{font-size:15px;text-align:right}

  .cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
  .card{flex-direction:column-reverse;align-items:stretch;gap:0;padding:0;border-radius:24px;overflow:hidden}
  .card__body{padding:24px 26px 26px;gap:6px}
  .card h3{font-size:23px}.card__sub{font-size:14px}
  .card__art{width:100%;height:280px;border-radius:0;border:0}
  .card__tags{margin-top:12px}.card__more{margin-top:10px;font-size:13px}

  .doctor{margin:96px auto 0;max-width:1072px;display:grid;grid-template-columns:minmax(0,1fr) 380px;border-radius:28px}
  .doctor__art{order:2;height:440px;aspect-ratio:auto}.doctor__art::after{display:none}.doctor__art img{object-position:50% 35%}
  .doctor__body{order:1;padding:48px 52px;justify-content:center;gap:14px;margin-top:0}
  .doctor__brand img{height:16px}.doctor__brand span{font-size:11px}
  .doctor__eyebrow{font-size:11px;margin-top:6px}
  .doctor__name b{font-size:34px}.doctor__name span{font-size:16px;margin-left:8px}
  .doctor .pill{height:30px;font-size:12.5px;padding:0 12px}
  .doctor__career{font-size:14.5px;line-height:1.85;margin-top:6px}

  .sheet{margin-top:96px}.sheet img{max-width:720px}
  .tabs{top:76px}.tabs__in{max-width:720px;margin:0 auto}.tabs a{height:52px;font-size:15px}

  .cta{margin-top:96px;padding:96px 24px}
  .cta h2{font-size:38px;line-height:1.3}
  .cta__btns{width:auto;gap:12px;margin-top:10px}.cta__btns .btn{flex:none;width:200px;height:56px;font-size:16px}
  .cta__tel{font-size:13.5px}

  .ftr{padding:40px 24px 52px}
  .ftr__in{max-width:1120px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px 40px;align-items:start}
  .ftr__in>*{grid-column:1}.ftr__links{grid-column:2;grid-row:1;font-size:13px;gap:18px;padding-top:4px}
  .ftr__logo{height:22px}.ftr__info{font-size:13px}

  .float{width:320px;height:338px;--core:84px;--core-r:32px;--core-b:48px}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .float__toggle::before{animation:none}
  .popup__track,.card,.btn{transition:none}
}
