em,i,cite,dfn,var,address{font-style:normal}
/* ─────────────────────────────────────────────
   베스트내과 종합검진센터 — 공통 디자인 토큰 & 레이아웃
   ───────────────────────────────────────────── */

*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Pretendard Variable','Pretendard',-apple-system,BlinkMacSystemFont,system-ui,'Apple SD Gothic Neo','Malgun Gothic',sans-serif;color:#2c2c2c;line-height:1.6;background:#fff;-webkit-font-smoothing:antialiased}
a{text-decoration:none;color:inherit}
ul,ol{list-style:none}
img{max-width:100%;display:block}
button{border:none;background:none;cursor:pointer;font-family:inherit}
input,select,textarea{font-family:inherit}

:root{
  /* 주 브랜드 — 로고(네이비+초록) 기반 */
  --brand-navy:#1e407f;
  --brand-navy-dark:#162d5a;
  --brand-green:#3ba955;
  --brand-green-dark:#2e8a43;
  --brand-green-light:#6ec27c;
  /* 서브 악센트 */
  --gold:#b8965a;
  --gold-light:#d4b97c;
  --gold-dark:#8f6f3a;
  --gold-50:#faf6ef;
  --gold-100:#f2e8d5;
  --navy:#1a1f36;
  --navy-light:#252b45;
  --navy-600:#3a4167;
  --charcoal:#2c2c2c;
  --warm-gray:#8a8680;
  --warm-gray-light:#b5b0a8;
  --warm-gray-lighter:#d9d5cf;
  --cream:#faf8f5;
  --cream-dark:#f0ece5;
  --white:#ffffff;
  --success:#2f8f5e;
  --danger:#c0392b;
  --warning:#c78b1f;
  --shadow-sm:0 1px 4px rgba(0,0,0,.06);
  --shadow-md:0 4px 16px rgba(0,0,0,.08);
  --shadow-lg:0 8px 40px rgba(0,0,0,.1);
  --shadow-xl:0 20px 60px rgba(0,0,0,.12);
  --radius:8px;
  --radius-lg:16px;
  --max-w:1200px;
  --ease:.4s cubic-bezier(.25,.8,.25,1)
}

.serif{font-family:'Pretendard Variable','Pretendard',-apple-system,BlinkMacSystemFont,system-ui,'Apple SD Gothic Neo','Malgun Gothic',sans-serif}

.container{max-width:var(--max-w);margin:0 auto;padding:0 32px}

/* ─────────── Top Bar ─────────── */
.top-bar{background:var(--navy);color:rgba(255,255,255,.6);font-size:12px;padding:10px 0;letter-spacing:.3px}
.top-bar .container{display:flex;justify-content:space-between;align-items:center}
.top-bar a{color:rgba(255,255,255,.6);transition:color var(--ease)}
.top-bar a:hover{color:var(--gold-light)}
.top-bar .links{display:flex;gap:24px}
.top-bar .phone{color:var(--gold-light);font-weight:600;letter-spacing:1.5px}

/* ─────────── Header ─────────── */
.site-header{background:var(--white);position:sticky;top:0;z-index:100;transition:box-shadow var(--ease)}
.site-header.scrolled{box-shadow:0 1px 20px rgba(0,0,0,.06)}
.site-header .container{display:flex;align-items:center;justify-content:space-between;height:88px}
.logo{display:flex;align-items:center;gap:14px}
.logo-img{height:48px;width:auto;display:block}
/* legacy 원형 마크 (fallback) */
.logo-mark{width:44px;height:44px;border:2px solid var(--brand-navy);border-radius:50%;display:flex;align-items:center;justify-content:center;position:relative}
.logo-mark::after{content:'';position:absolute;inset:3px;border:1px solid var(--brand-green);border-radius:50%}
.logo-mark span{font-family:'Pretendard Variable','Pretendard',-apple-system,BlinkMacSystemFont,system-ui,'Apple SD Gothic Neo','Malgun Gothic',sans-serif;font-size:18px;font-weight:700;color:var(--brand-navy)}
.logo-text h1{font-size:20px;font-weight:700;color:var(--charcoal);letter-spacing:-0.5px}
.logo-text p{font-size:10px;color:var(--warm-gray);letter-spacing:3px;font-weight:500;text-transform:uppercase}

.main-nav{display:flex;gap:2px;align-items:center}
.main-nav a{padding:10px 12px;font-size:13.5px;font-weight:500;color:var(--charcoal);transition:all var(--ease);position:relative}
.main-nav a::after{content:'';position:absolute;bottom:6px;left:50%;transform:translateX(-50%);width:0;height:1.5px;background:var(--gold);transition:width var(--ease)}
.main-nav a:hover{color:var(--gold-dark)}
.main-nav a:hover::after{width:60%}
.main-nav a.active{color:var(--gold-dark)}
.main-nav a.active::after{width:60%}
.nav-cta{margin-left:12px;background:var(--gold);color:#fff;padding:11px 28px;border-radius:4px;font-size:13px;font-weight:700;letter-spacing:1px;border:1px solid var(--gold);transition:all var(--ease);box-shadow:0 4px 14px rgba(184,150,90,.28)}
.nav-cta::after{display:none}
.nav-cta:hover{background:var(--gold-dark);color:#fff;border-color:var(--gold-dark);transform:translateY(-1px);box-shadow:0 6px 20px rgba(143,111,58,.35)}
.mobile-toggle{display:none;font-size:24px;color:var(--charcoal)}

/* ─────────── Section Header ─────────── */
.sec-header{text-align:center;margin-bottom:56px}
.sec-label{font-size:11px;font-weight:600;color:var(--gold);letter-spacing:4px;text-transform:uppercase;margin-bottom:16px;display:block}
.sec-title{font-family:'Pretendard Variable','Pretendard',-apple-system,BlinkMacSystemFont,system-ui,'Apple SD Gothic Neo','Malgun Gothic',sans-serif;font-size:38px;font-weight:500;color:var(--charcoal);line-height:1.3;margin-bottom:18px;letter-spacing:-.5px;word-break:keep-all}
.sec-title em{color:var(--gold)}
/* 디스플레이 세리프 (히어로/카드 강조용) */
.display-serif{font-family:'Pretendard Variable','Pretendard',-apple-system,BlinkMacSystemFont,system-ui,'Apple SD Gothic Neo','Malgun Gothic',sans-serif;letter-spacing:-.5px;word-break:keep-all}
.sec-desc{font-size:16px;color:var(--warm-gray);max-width:560px;margin:0 auto;font-weight:300;line-height:1.8}
.sec-divider{width:48px;height:2px;background:var(--gold);margin:20px auto 0}

/* ─────────── Buttons ─────────── */
.btn-gold{display:inline-flex;align-items:center;gap:10px;padding:16px 40px;background:var(--gold);color:var(--white);font-size:14px;font-weight:600;letter-spacing:1px;text-transform:uppercase;transition:all var(--ease);border-radius:4px}
.btn-gold:hover{background:var(--gold-dark);transform:translateY(-2px);box-shadow:0 8px 30px rgba(184,150,90,.3)}
.btn-ghost{display:inline-flex;align-items:center;gap:8px;padding:16px 32px;border:1px solid rgba(0,0,0,.15);color:var(--charcoal);font-size:14px;font-weight:500;letter-spacing:1px;transition:all var(--ease);border-radius:4px}
.btn-ghost:hover{border-color:var(--gold-light);color:var(--gold-dark)}
.btn-sm{padding:10px 20px;font-size:12px}
.btn-navy{background:var(--navy);color:var(--gold-light);padding:14px 32px;border-radius:4px;font-size:13px;font-weight:600;letter-spacing:1px;text-transform:uppercase;transition:all var(--ease);border:1px solid var(--navy-light)}
.btn-navy:hover{background:var(--gold);color:var(--white);border-color:var(--gold)}

/* ─────────── Page Hero (내부 페이지 상단) ─────────── */
.page-hero{background:var(--navy);padding:110px 0 90px;color:#fff;position:relative;overflow:hidden;text-align:center}
.page-hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 80% 60% at 50% 60%, rgba(184,150,90,.08), transparent)}
.page-hero .container{position:relative;z-index:2;max-width:880px;margin:0 auto}
.page-hero .sec-label{color:var(--gold-light)}
.page-hero h1{font-family:'Pretendard Variable','Pretendard',-apple-system,BlinkMacSystemFont,system-ui,'Apple SD Gothic Neo','Malgun Gothic',sans-serif;font-size:52px;font-weight:500;line-height:1.2;margin-top:10px;color:#fff;letter-spacing:-1px;word-break:keep-all}
.page-hero h1 em{color:var(--gold-light);}
.page-hero p{margin-top:18px;color:rgba(255,255,255,.65);font-weight:300;max-width:640px;margin-left:auto;margin-right:auto;line-height:1.8;word-break:keep-all}
.breadcrumb{margin-top:24px;font-size:12px;color:rgba(255,255,255,.45);letter-spacing:.5px}
.breadcrumb a{color:inherit;text-decoration:underline;text-underline-offset:3px}

/* ─────────── Tabs ─────────── */
.tabs{display:flex;gap:4px;background:var(--cream);padding:6px;border-radius:8px;margin:0 auto 40px;width:fit-content}
.tabs button{padding:12px 28px;font-size:14px;font-weight:600;color:var(--warm-gray);border-radius:6px;transition:all var(--ease)}
.tabs button.active{background:var(--navy);color:var(--gold-light)}

/* ─────────── Forms ─────────── */
.form-grid{display:grid;gap:20px}
.form-grid.cols-2{grid-template-columns:1fr 1fr}
.form-field{display:flex;flex-direction:column;gap:8px}
.form-field label{font-size:13px;font-weight:600;color:var(--charcoal)}
.form-field label .required{color:var(--danger)}
.form-field input,
.form-field select,
.form-field textarea{
  padding:14px 16px;border:1px solid var(--warm-gray-lighter);border-radius:6px;
  font-size:15px;color:var(--charcoal);background:var(--white);
  transition:border-color var(--ease),box-shadow var(--ease)
}
.form-field input:focus,
.form-field select:focus,
.form-field textarea:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(184,150,90,.12)}
.form-field .hint{font-size:12px;color:var(--warm-gray)}
.form-field .error{font-size:12px;color:var(--danger)}
.form-field textarea{min-height:100px;resize:vertical}

.checkbox-row{display:flex;gap:10px;align-items:flex-start;padding:14px 16px;background:var(--cream);border-radius:6px;font-size:13px;line-height:1.7}
.checkbox-row input[type=checkbox]{flex-shrink:0;margin-top:3px;width:18px;height:18px;accent-color:var(--gold)}
.checkbox-row .detail{margin-top:8px;font-size:12px;color:var(--warm-gray);background:#fff;padding:12px;border-radius:4px;border:1px solid var(--cream-dark);max-height:120px;overflow-y:auto}

/* ─────────── Alerts ─────────── */
.alert{padding:14px 18px;border-radius:6px;font-size:14px;margin-bottom:16px;border-left:3px solid}
.alert.info{background:#eef4fa;border-color:#3a6fb5;color:#234875}
.alert.warn{background:#fcf6e8;border-color:var(--warning);color:#8c5d14}
.alert.danger{background:#fbeeeb;border-color:var(--danger);color:#7a251a}
.alert.success{background:#ebf6ef;border-color:var(--success);color:#1e6543}

/* ─────────── Footer ─────────── */
.site-footer{background:#151820;color:rgba(255,255,255,.4);padding:64px 0 40px;margin-top:80px}
.site-footer .container{max-width:var(--max-w)}
.ft-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:48px;margin-bottom:48px}
.site-footer h4{font-size:13px;font-weight:600;color:rgba(255,255,255,.7);margin-bottom:20px;letter-spacing:1px;text-transform:uppercase}
.ft-logo{display:flex;align-items:center;gap:10px;margin-bottom:16px}
.ft-logo img{height:40px;width:auto;filter:brightness(0) invert(1);opacity:.85}
.ft-logo-mark{width:36px;height:36px;border-radius:50%;border:1.5px solid var(--gold);display:flex;align-items:center;justify-content:center;font-family:'Pretendard Variable','Pretendard',-apple-system,BlinkMacSystemFont,system-ui,'Apple SD Gothic Neo','Malgun Gothic',sans-serif;font-size:14px;color:var(--gold);font-weight:700}
.ft-logo span{font-size:16px;font-weight:600;color:rgba(255,255,255,.8)}
.site-footer p{font-size:12px;line-height:1.9}
.ft-links{display:flex;flex-direction:column;gap:10px}
.ft-links a{font-size:13px;transition:color var(--ease)}
.ft-links a:hover{color:var(--gold-light)}
.ft-bottom{padding-top:32px;border-top:1px solid rgba(255,255,255,.06);display:flex;justify-content:space-between;align-items:center;font-size:12px;gap:16px;flex-wrap:wrap}
.ft-compliance{font-size:11px;color:rgba(255,255,255,.3);max-width:700px;line-height:1.8}

/* ─────────── Section (generic) ─────────── */
.section{padding:80px 0}
.section.alt{background:var(--cream)}

/* ─────────── Cards ─────────── */
.prog-card{background:var(--white);border:1px solid var(--cream-dark);border-radius:var(--radius);overflow:hidden;transition:all var(--ease);position:relative;display:flex;flex-direction:column}
.prog-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);border-color:var(--gold-light)}
.prog-card.featured{border-color:var(--gold)}
.prog-card.featured::before{content:'BEST';position:absolute;top:16px;right:16px;z-index:2;background:var(--gold);color:var(--white);font-size:10px;font-weight:700;letter-spacing:2px;padding:4px 12px;border-radius:2px}
.prog-top{height:140px;background:linear-gradient(135deg,#f5f0e8,#ebe3d5);display:flex;align-items:center;justify-content:center;color:var(--gold-dark);position:relative;overflow:hidden}
.prog-top::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.5),transparent 55%);pointer-events:none}
.prog-top svg{width:56px;height:56px;position:relative;z-index:1;stroke-width:1.4}
.prog-card.featured .prog-top{background:linear-gradient(135deg,#f5e7c8,#e8d3a0);color:#8a6e3e}
.prog-meta svg{width:14px;height:14px;display:inline-block;vertical-align:-2px;margin-right:4px;color:var(--warm-gray)}
.prog-meta > span{display:inline-flex;align-items:center;gap:4px}
.prog-body{padding:24px;flex:1;display:flex;flex-direction:column}
.prog-body .tag{display:inline-block;padding:3px 10px;font-size:11px;font-weight:600;letter-spacing:.5px;border:1px solid var(--warm-gray-lighter);color:var(--warm-gray);margin-bottom:12px;align-self:flex-start}
.prog-card.featured .tag{border-color:var(--gold);color:var(--gold)}
.prog-body h3{font-size:18px;font-weight:700;color:var(--charcoal);margin-bottom:6px}
.prog-body .subtitle{font-size:13px;color:var(--warm-gray);margin-bottom:16px;font-weight:300}
.prog-meta{display:flex;gap:16px;font-size:12px;color:var(--warm-gray);margin-bottom:14px}
.prog-price{font-size:15px;font-weight:700;color:var(--gold-dark);padding-top:14px;border-top:1px solid var(--cream-dark);display:flex;align-items:center;justify-content:space-between;margin-top:auto}
.prog-price.free{color:var(--success)}

/* ─────────── Tables (results, reservations, pricelist) ─────────── */
.tbl{width:100%;border-collapse:collapse;font-size:14px}
.tbl th,.tbl td{padding:12px 14px;text-align:left;border-bottom:1px solid var(--cream-dark)}
.tbl th{background:var(--cream);font-size:12px;letter-spacing:.5px;color:var(--warm-gray);text-transform:uppercase;font-weight:600}
.tbl tbody tr:hover{background:var(--gold-50)}
.badge{display:inline-block;padding:3px 10px;border-radius:20px;font-size:11px;font-weight:600}
.badge.pending{background:#fff5e0;color:#8c5d14}
.badge.confirmed{background:#e3f1ea;color:#1e6543}
.badge.completed{background:#e3ecf6;color:#234875}
.badge.cancelled{background:#f4e4e1;color:#7a251a}

/* ─────────── 이미지 로딩 개선 ─────────── */
img{image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges}

/* ─────────── Responsive ─────────── */
@media(max-width:1024px){
  .main-nav{display:none}
  .mobile-toggle{display:block}
  .form-grid.cols-2{grid-template-columns:1fr}
  .ft-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:640px){
  .top-bar .links{display:none}
  .page-hero h1{font-size:32px}
  .sec-title{font-size:28px}
  .container{padding:0 20px}
  .ft-grid{grid-template-columns:1fr}
  .ft-bottom{flex-direction:column;text-align:center}
}
