/* =====================================================================
   design.css — 전체 톤 정리 (11/03 대표 「디자이너 써서 전체 다시 봐라」)
   · 각 페이지 <head> 맨 끝에서 불러 공통·페이지 CSS 위에 덮는다(모양만 · 동작·문구 손대지 않음)
   · 원칙: 빨강은 「행동 하나 + 강조 몇 글자」에만 · 나머지는 먹색·회색 단계로 위계
           글자 굵기 900 → 800, 자간 조금 좁게 · 카드 한 벌(둥근 20 · 얇은 선 · 부드러운 그림자)
           빛 번지는 빨간 그림자 없앰 · 테두리 알약 배지 → 작은 머리글(eyebrow)
   ===================================================================== */
:root{
  --red:#a8101f;          /* 진한 빨강(눌림·짙은 글자) */
  --red2:#d91a2a;         /* 기본 빨강 — 형광 기가 덜한 진홍 */
  --red-bright:#ff4d58;   /* 어두운 바탕 위 빨강 */
  --ink:#121417;
  --ink2:#2b2f36;
  --body:#4a5059;         /* 본문 글자 */
  --muted:#868c96;        /* 보조 글자 */
  --gray:#868c96;
  --line:#e9e7e3;
  --bg:#f6f5f2;           /* 따뜻한 회색 바탕 */
  --dark:#0c0d10;
  --dark2:#16181c;
  --r-card:20px;
  --r-btn:12px;
  --sh-card:0 1px 2px rgba(16,18,22,.04), 0 10px 30px -12px rgba(16,18,22,.14);
  --sh-hover:0 2px 4px rgba(16,18,22,.05), 0 22px 44px -16px rgba(16,18,22,.24);
  --sh-btn:0 6px 18px -6px rgba(217,26,42,.45);
}

/* ---------- 기본 글자 ---------- */
body{color:var(--ink); font-feature-settings:"tnum" 0; letter-spacing:-.01em; text-rendering:optimizeLegibility}
h1,h2,h3,h4{letter-spacing:-.035em}
::selection{background:#ffe1e4; color:var(--ink)}

/* ---------- 머리(헤더) ---------- */
header{background:rgba(255,255,255,.97); backdrop-filter:saturate(180%) blur(14px); -webkit-backdrop-filter:saturate(180%) blur(14px);
       border-bottom:1px solid rgba(18,20,23,.07)}
nav a{font-weight:600; color:var(--ink2); letter-spacing:-.025em}
nav a::after{height:2px; bottom:-4px; border-radius:2px}
nav .nav-cta>a{background:var(--red2); border-radius:10px; padding:9px 30px 9px 18px; font-weight:700}
nav .nav-cta>a:hover{background:var(--red)}
nav .nav-cta>a::after{color:#fff}
nav .nav-ask>a{background:var(--ink); color:#fff; box-shadow:none; border-radius:10px; padding:9px 18px}
nav .nav-ask.has-sub>a{padding-right:30px}
nav .nav-ask>a::after{color:#fff}
nav .nav-ask>a:hover{background:#000; color:#fff}
nav .sub{border-radius:14px; border-color:rgba(18,20,23,.08); box-shadow:0 18px 44px -10px rgba(16,18,22,.22); padding:8px}
nav .sub a{border-radius:9px; padding:10px 16px}
nav .sub .sub-h{padding:10px 16px 4px; color:var(--muted); letter-spacing:.06em; font-size:11.5px}
nav .sub .sub-na{padding:10px 16px}
nav .sub a:hover{background:#f6f5f2; color:var(--ink)}

/* ---------- 머리글(배지) — 테두리 알약 → 작은 머리글 ---------- */
.badge{border:0; border-radius:0; padding:0 0 0 30px; position:relative; font-size:13px; font-weight:800;
       letter-spacing:.14em; text-transform:uppercase; color:var(--red2); margin-bottom:18px}
.badge::before{content:""; position:absolute; left:0; top:50%; width:20px; height:2px; background:currentColor; border-radius:2px}
.sec.dark .badge,.subhero .badge{color:var(--red-bright)}

/* ---------- 섹션 머리 ---------- */
.sec{padding:120px 0}
.sec.gray{background:var(--bg)}
.sec.dark{background:var(--dark)}
.sec-head{margin-bottom:60px}
.sec-head h2{font-weight:800; line-height:1.24; font-size:clamp(28px,4vw,46px)}
.sec-head .sub{margin-top:16px; color:var(--body); opacity:1; font-weight:500; line-height:1.7}
.sec.dark .sec-head .sub{color:rgba(255,255,255,.66)}

.sec.dark h2 .red,.subhero h1 .red{color:var(--red-bright)}

/* ---------- 단추 한 벌 ---------- */
.hero .cta,.btn-more,.hm-btn{border-radius:var(--r-btn); font-weight:700; letter-spacing:-.02em; box-shadow:var(--sh-btn);
                             transition:transform .18s ease, background .18s ease, box-shadow .18s ease}
.hero .cta{padding:16px 30px}
.hero .cta:hover,.btn-more:hover,.hm-btn:hover{transform:translateY(-2px); box-shadow:0 12px 26px -8px rgba(217,26,42,.55); background:var(--red)}
.btn-more{padding:15px 30px}
/* 나란히 놓인 두 번째 빨간 단추는 먹색으로 — 빨간 단추 둘은 과함 */
.btn-more + .btn-more,.hm-btns .hm-btn + .hm-btn:not(.ghost){background:var(--ink); box-shadow:0 6px 18px -8px rgba(0,0,0,.4)}
.btn-more + .btn-more:hover{background:#000; box-shadow:0 12px 26px -10px rgba(0,0,0,.5)}
.sec.dark .btn-more + .btn-more{background:#fff; color:var(--ink)}
.hero .cta.ghost,.hm-btn.ghost{background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.42); box-shadow:none}
.hero .cta.ghost:hover,.hm-btn.ghost:hover{background:rgba(255,255,255,.2); box-shadow:none}

/* ---------- 첫 화면 ---------- */
.hero h1{font-weight:800; letter-spacing:-.045em; line-height:1.14; text-shadow:0 2px 30px rgba(0,0,0,.35)}
.hero h1 em{color:var(--red-bright)}
.hero p{font-weight:500; opacity:.86}
.hero .hero-tag{font-size:12.5px; letter-spacing:.12em; border-color:rgba(255,255,255,.3); background:rgba(255,255,255,.06); padding:7px 16px}
.hero::after{background:linear-gradient(180deg, rgba(8,9,12,.62) 0%, rgba(8,9,12,.45) 40%, rgba(8,9,12,.9) 100%)}

/* ---------- 서브 첫 화면 ---------- */
.subhero{background:radial-gradient(120% 140% at 50% 0%, #1b1d22 0%, #0c0d10 60%)}
.subhero h1{font-weight:800; letter-spacing:-.045em}
.subhero p{opacity:.72}
.subhero.bg::after{background:linear-gradient(180deg,rgba(8,9,12,.55),rgba(8,9,12,.82))}

/* ---------- 시즌 띠 ---------- */
.hm-season{background:#111317; border-top:0; border-bottom:1px solid rgba(255,255,255,.06)}
.hm-season b{font-size:15px; color:#fff; padding:4px 10px; border-radius:8px; background:var(--red2)}
.hm-season-t{color:rgba(255,255,255,.66); font-weight:500}
.hm-season-go{font-weight:700; color:#fff}

/* ---------- 카드 한 벌 ---------- */
.hm-pg,.hm-pcard,.hm-qa,.hm-steps li,.feat,.infra,.icard,.evb-card,.win,.bp-pan,.gw-card,.gw-hall,.gw-note-c,.gw-sys>div{
  border-radius:var(--r-card); border:1px solid var(--line); box-shadow:var(--sh-card)}
.hm-pg,.hm-pcard,.hm-steps li,.feat,.infra,.evb-card,.gw-card,.gw-hall{transition:transform .25s ease, box-shadow .25s ease}
.hm-pg:hover,.hm-pcard:hover,.feat:hover,.infra:hover,.evb-card:hover,.gw-card:hover,.gw-hall:hover{transform:translateY(-4px); box-shadow:var(--sh-hover)}

/* 프로그램 3종 */
.hm-pgrid{gap:22px}
.hm-pg{padding:32px 30px 30px; overflow:hidden}
.hm-pg::before{content:""; position:absolute; left:0; top:0; right:0; height:3px; background:linear-gradient(90deg,var(--red2),#ff7a6b)}
.hm-pg-hall{border:0; padding:0; color:var(--muted); font-size:12px; letter-spacing:.12em}
.hm-pg h3{margin-top:10px; font-size:24px; font-weight:800}
.hm-pg dl{margin-top:18px; padding-top:16px; border-top:1px solid var(--line)}
.hm-pg dt{font-size:11.5px; letter-spacing:.1em; color:var(--muted); font-weight:700}
.hm-pg dd{color:var(--body)}
.hm-pg-note{color:var(--muted); font-size:14px}

/* 신뢰 3요소 */
.trust3{background:var(--dark); padding:90px 0}
.trust3 .tcol{border-radius:var(--r-card); border-color:rgba(255,255,255,.09); background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.015)); padding:34px 30px 36px}
.trust3 .tno{border:0; padding:0; font-size:13px; letter-spacing:.14em; color:rgba(255,255,255,.4)}
.trust3 h3{font-weight:800; font-size:22px}
.trust3 p{color:rgba(255,255,255,.64); font-size:14.5px}
.tfacts li{border-radius:16px; background:rgba(255,255,255,.035); border-color:rgba(255,255,255,.08); padding:20px 14px}
.tfacts b{font-weight:800; font-size:17px}

/* 문제/해결 카드 */
.ps-grid{gap:18px}
.ps-card{border-radius:var(--r-card); background:#15171b; border:1px solid rgba(255,255,255,.06); padding:40px 30px}
.ps-card.sol{background:linear-gradient(180deg,#22121a 0%,#150f12 100%); border:1px solid rgba(255,77,88,.45)}
.ps-card img{width:80px; height:80px}
.ps-card:not(.sol) img{opacity:.55; filter:grayscale(1)}
.ps-card h3{font-weight:800; font-size:23px}
.ps-card p{color:rgba(255,255,255,.6)}

/* 비교표 */
.compare{border-radius:var(--r-card); box-shadow:0 30px 70px -20px rgba(0,0,0,.6)}
.compare .cmp{border-radius:var(--r-card)}
.compare .cmp thead th.us{background:var(--red2); letter-spacing:-.01em}
.compare .cmp thead th:not(.us){background:#f3f2ef; color:var(--muted)}
.compare .cmp tbody th{background:#fafaf8; color:var(--muted); font-weight:600}
.compare .cmp td.us{background:#fff8f8; border-left:0; border-right:0; box-shadow:inset 2px 0 0 var(--red2), inset -2px 0 0 var(--red2)}
.compare .cmp td.us b{color:var(--red2)}
.compare .cmp th,.compare .cmp td{border-bottom-color:#f0eeea}
.compare .cmp td:not(.us):not(:first-child){color:#a3a8b0}

/* 합격 사례 */
.win{border-left:1px solid var(--line)}
.win::before{content:""; position:absolute; left:0; top:24px; bottom:24px; width:3px; border-radius:0 3px 3px 0; background:var(--red2); z-index:3}
.win h3{font-weight:800}
.win p{font-weight:600; color:var(--ink2)}
.win .won{border-top:1px solid #efede9; font-weight:700}
.win .who{color:var(--muted); font-weight:600}
.win .face-play .ic{box-shadow:0 6px 14px -4px rgba(0,0,0,.35)}

/* 불안 인용 */
.hm-quotes blockquote{border-radius:var(--r-card); background:rgba(255,255,255,.04); border-color:rgba(255,255,255,.1); font-weight:500; backdrop-filter:blur(6px)}
.hm-quotes blockquote::before{color:rgba(255,77,88,.85); font-size:54px; top:8px}
.hm-cause-b{font-weight:800}

/* 하루 타임라인 */
.hm-tabs button{border-radius:14px; border:1px solid var(--line); box-shadow:none}
.hm-tabs button.on{background:var(--ink); border-color:var(--ink); box-shadow:0 10px 24px -10px rgba(0,0,0,.45)}
.hm-timeline .hm-t{font-weight:800; font-variant-numeric:tabular-nums; color:var(--ink)}
.hm-timeline li::before{background:#ebe7e3}
.hm-timeline li::after{border-width:2px; border-color:var(--red2)}
.hm-timeline h4{font-weight:800}
.hm-timeline h4 em{border:0; background:#fbeaec; color:var(--red); padding:3px 10px; border-radius:6px; font-size:11.5px}
.hm-timeline p{color:var(--body)}

/* 증거 6칸 */
.hm-proof{gap:22px}
.pf-n{font-size:26px; font-weight:800; opacity:.95}
.hm-pt h4{font-weight:800}
.hm-pt p{color:var(--body)}
.hm-view{border:1px solid rgba(255,77,88,.35); border-radius:var(--r-card); background:linear-gradient(180deg,#15171b,#0e0f12); padding:32px 34px}
.hm-view-b{background:transparent; border:1px solid rgba(255,77,88,.5); color:#ff8088}
.hm-view-l li{background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.06); border-radius:12px}

/* 망설임 Q&A */
.hm-qa{padding:38px 42px}
.hm-qa h4{font-weight:800}
.hm-qa h4 span{background:transparent; color:var(--red2); border:1px solid #f1c9cd; border-radius:8px; font-weight:800}
.hm-qa>p{color:var(--body)}
.hm-vox li{background:var(--bg); border-left:2px solid var(--red2); border-radius:0 12px 12px 0; color:var(--ink2)}
.hm-class{border-radius:16px; border:1px solid var(--line)}
.hm-class.hm-hot{background:#fff9f9; border-color:#f1c9cd}

/* 상담 4단계 */
.hm-steps{counter-reset:none; gap:16px}
.hm-steps li{padding:26px 22px; position:relative}
.hm-steps i{border:0; width:auto; height:auto; font-size:28px; font-weight:800; color:#cbc5bd; letter-spacing:-.03em}
.hm-steps b{margin-top:6px; font-weight:800}
.hm-steps span{color:var(--muted)}

/* 지점 찾기 */
.branches{background:var(--dark)}
.brand-row .lg{border-radius:14px; height:64px; box-shadow:0 10px 30px -12px rgba(0,0,0,.6)}
.branches .trust{font-weight:700; color:rgba(255,255,255,.85)}
.hm-pick{border-radius:var(--r-card); padding:8px 28px; box-shadow:0 30px 70px -24px rgba(0,0,0,.7)}
.bp-pick{padding:16px 0; border-bottom-color:#f0eeea}
.bp-pick b{font-weight:700; letter-spacing:-.02em}
.bp-go,.bp-ask{border-radius:10px; font-weight:700; min-height:42px}
.bp-ask{background:var(--red2); border-color:var(--red2)}
.bp-go{border-color:#e4e1dc; color:var(--ink2)}
.bp-go:hover{border-color:var(--ink); color:var(--ink)}
.bp-tab{border-radius:12px; font-weight:700}
.bp-tab.on{background:var(--ink); border-color:var(--ink)}
.bp-progs li{border-radius:12px}

/* 마지막 행동 칸 */
.hm-cta h2{font-weight:800}
.hm-culinks a{border-radius:14px}

/* ---------- 꼬리말 ---------- */
footer{background:#0c0d10; color:#b8bcc4; padding:80px 0 140px}
.fcols{gap:36px 64px}
.fcols .fgrp{color:rgba(255,255,255,.4); letter-spacing:.14em; font-size:12px; margin-bottom:-18px}
.fcols .fgrp-sep{border-top-color:rgba(255,255,255,.07)}
.fcol h5{font-size:16.5px; font-weight:700; letter-spacing:-.02em}
.fcol h5 span{color:rgba(255,255,255,.55); font-weight:600}
.fcol p{color:#7d828c; font-size:13.5px}
.fcol .fhall{color:#a7abb3}
.fgo{gap:6px; margin-top:12px}
.fgo a{min-height:36px; padding:0 13px; border-radius:9px; font-size:13px; font-weight:600; border:1px solid rgba(255,255,255,.14); color:#c9ccd2}
.fgo a:hover{border-color:rgba(255,255,255,.4); color:#fff}
.fgo .fask{background:transparent; border-color:rgba(255,77,88,.55); color:#ff7c85}
.fgo .fask:hover{background:var(--red2); border-color:var(--red2); color:#fff}
.fmeta{border-top-color:rgba(255,255,255,.08); align-items:center; color:#6c717b}
.fmeta span{color:#3a3e45}

/* ---------- 아래 고정 상담 띠 ---------- */
.bottombar{background:rgba(14,15,18,.9); backdrop-filter:saturate(160%) blur(14px); -webkit-backdrop-filter:saturate(160%) blur(14px);
           box-shadow:0 -1px 0 rgba(255,255,255,.06), 0 -10px 30px rgba(0,0,0,.18); gap:22px; padding:12px 24px}
.bottombar strong{font-weight:800; font-size:16px}
.bottombar em{font-weight:500; opacity:.66; font-size:14.5px}
.bottombar .apply{background:var(--red2); color:#fff; border-radius:10px; padding:11px 26px; font-weight:700}
.bottombar .apply:hover{transform:none; background:var(--red)}
@media (min-width:901px){
  .bottombar{left:50%; right:auto; bottom:18px; transform:translateX(-50%); border-radius:16px; padding:10px 10px 10px 26px;
             box-shadow:0 18px 40px -12px rgba(0,0,0,.45), inset 0 0 0 1px rgba(255,255,255,.08)}
}
.chat{background:var(--red2); box-shadow:0 12px 26px -8px rgba(217,26,42,.6); width:56px; height:56px}
.chat img{width:34px; height:34px}

/* ---------- 문의 시트 ---------- */
.asksheet{border-radius:22px}
.askrow,.askrow2{border-radius:12px}
.askbtn{border-radius:9px}
.askbtn.talk,.askform{background:var(--red2); border-color:var(--red2)}

/* ---------- 지점 공통 페이지(branch-std) ---------- */
.gw-btn{border-radius:var(--r-btn)}
.gw-btn.red{box-shadow:var(--sh-btn)}
.gw-lbl{letter-spacing:.14em}
.gw-h2{font-weight:800}
.gw-card .tag{border-radius:6px}

/* ---------- 폰 ---------- */
@media (max-width:900px){
  .sec{padding:80px 0}
  .sec-head{margin-bottom:40px}
  nav .nav-cta>a,nav .nav-ask>a{border-radius:0; padding:15px 24px}
  nav .sub{border-radius:0; padding:0; box-shadow:none}
  nav .sub a{border-radius:0; padding:12px 24px 12px 44px}
  nav .sub .sub-h{padding:12px 24px 2px 44px}
  .bottombar{padding:10px 14px; gap:1px 12px}
  .bottombar strong{font-size:15px}
  .bottombar em{font-size:12px}
  .bottombar .apply{padding:11px 18px; font-size:14px}
  .hm-qa{padding:28px 22px}
  .hm-pick{padding:4px 18px}
  .trust3{padding:64px 0}
  footer{padding:60px 0 130px}
}
@media (max-width:640px){
  .hm-pg{padding:26px 22px}
  .hm-pg h3{font-size:22px}
  .hero .cta{padding:15px 22px}
}

/* =====================================================================
   2단계 — 「확 달라 보이게」(대표 11/03 재강조)
   ===================================================================== */

/* 첫 화면: 가운데 정렬 → 왼쪽 정렬 잡지형 · 큰 제목 · 왼쪽에서 어둡게 */
.hero .inner{align-items:flex-start; text-align:left; max-width:var(--wrap); margin:0 auto; padding:0 24px}
.hero .stage{max-width:760px}
.hero h1{font-size:clamp(38px,6.4vw,88px); line-height:1.08}
.hero p{font-size:clamp(16px,1.7vw,20px); margin-top:26px}
.hero .hero-btns{justify-content:flex-start; margin-top:40px}
.hero .hero-tag{margin-bottom:26px}
.hero::after{background:
  linear-gradient(90deg, rgba(8,9,12,.86) 0%, rgba(8,9,12,.62) 42%, rgba(8,9,12,.18) 100%),
  linear-gradient(180deg, rgba(8,9,12,.35) 0%, rgba(8,9,12,0) 30%, rgba(8,9,12,.85) 100%)}
.hero-dots{justify-content:flex-start; max-width:var(--wrap); margin:0 auto; padding:0 24px; bottom:120px}
@media (max-width:900px){
  .hero .inner{justify-content:flex-end; padding-bottom:170px}
  .hero h1{font-size:clamp(34px,10vw,48px)}
  .hero::after{background:linear-gradient(180deg, rgba(8,9,12,.35) 0%, rgba(8,9,12,.55) 45%, rgba(8,9,12,.95) 100%)}
  .hero-dots{bottom:132px}
}

/* 문제 → 해결: 캐릭터 대신 「문제 / 해결」 표지 · 왼쪽 정렬 · 가운데 화살표 */
.ps-grid{max-width:1000px; gap:16px 44px}
.ps-card{text-align:left; padding:34px 34px 32px; position:relative}
.ps-card img{display:none}
.ps-card::before{content:"문제"; display:inline-block; margin-bottom:16px; font-size:12px; font-weight:800; letter-spacing:.12em;
                 color:rgba(255,255,255,.5); border:1px solid rgba(255,255,255,.16); border-radius:6px; padding:4px 9px}
.ps-card.sol::before{content:"스파르타샘"; color:#fff; background:var(--red2); border-color:var(--red2)}
.ps-card h3{font-size:24px; margin-bottom:10px}
.ps-card:not(.sol) h3{color:rgba(255,255,255,.82)}
.ps-card:not(.sol) h3{text-decoration:line-through; text-decoration-color:rgba(255,77,88,.6); text-decoration-thickness:2px}
.ps-card p{font-size:15px}
.ps-card.sol::after{content:"→"; position:absolute; left:-38px; top:50%; transform:translateY(-50%); width:32px; height:32px;
                    border-radius:50%; background:#fff; color:var(--ink); font-weight:800; font-size:16px;
                    display:flex; align-items:center; justify-content:center}
@media (max-width:900px){
  .ps-grid{gap:10px}
  .ps-card.sol{margin-bottom:22px}
  .ps-card.sol::after{content:"↓"; left:50%; top:-21px; transform:translateX(-50%); width:30px; height:30px}
  .ps-card{padding:26px 22px}
}

/* 섹션 제목 크게 · 앞 머리글과 간격 */
.sec-head h2{font-size:clamp(30px,4.4vw,52px)}
.p01 h2 .big{font-size:1.12em}
.avengers h2{font-weight:800; letter-spacing:-.045em}
.avengers .lead{color:rgba(255,255,255,.62)}

/* ---------- 학원 소개(introduce) ---------- */
.step-tag{font-size:13px; letter-spacing:.12em; padding-left:30px; position:relative; font-weight:800}
.step-tag::before{content:""; position:absolute; left:0; top:50%; width:20px; height:2px; background:currentColor}
.stab,.srow .lab,.srow .desc{border-radius:18px; border:1px solid var(--line); box-shadow:var(--sh-card)}
.stab .no,.srow .lab .no,.stab.s3 .no,.stab.s4 .no,.stab.s5 .no,.srow.r3 .lab .no,.srow.r4 .lab .no,.srow.r5 .lab .no{
  background:none; color:#d9d5cf; padding:0; border-radius:0; font-size:30px; font-weight:800; letter-spacing:-.03em; margin-bottom:6px}
.stab.s3 h4,.stab.s5 h4,.srow.r3 .lab b,.srow.r5 .lab b{color:var(--ink)}
.stab:hover .no{color:var(--red2)}
.srow .desc{color:var(--ink2)}
.band h2{font-weight:800}
.final-cta .pill{background:none; color:var(--red2); padding:0 0 0 30px; border-radius:0; position:relative; font-size:14px; letter-spacing:.08em; margin-bottom:18px}
.final-cta .pill::before{content:""; position:absolute; left:0; top:50%; width:20px; height:2px; background:currentColor}
.final-cta h2{font-weight:800}
.final-cta .go{border-radius:var(--r-btn); box-shadow:var(--sh-btn); font-weight:700}
.whys .why,.proofs .pf{border-radius:var(--r-card); box-shadow:var(--sh-card)}
.whys .why h4{font-weight:800}
.whys .why .q{border-left-width:2px; font-weight:700}
.proofs .pf figcaption b{font-weight:800}

/* ---------- 찾아오는 길(map) ---------- */
.loc{border-radius:24px; box-shadow:var(--sh-card); border-color:var(--line)}
.loc-wrap{gap:40px}
.loc-name{font-weight:800; letter-spacing:-.035em}
.loc-name span{color:var(--ink)}
.loc-hours{background:var(--bg); border-radius:14px}
.loc-hours .lh-title{font-size:13px; letter-spacing:.1em; color:var(--muted); font-weight:700}
.loc-tbl th{background:transparent; color:var(--muted); font-size:13px; font-weight:700; letter-spacing:.06em; text-align:left; padding-left:0; width:72px; border-top-color:#f0eeea}
.loc-tbl td{border-top-color:#f0eeea; color:var(--ink2)}
.loc-tbl tr:last-child th,.loc-tbl tr:last-child td{border-bottom:0}
.map-go{border-radius:10px; padding:11px 20px; box-shadow:var(--sh-btn)}
.loc-map .noimg{background:repeating-linear-gradient(45deg,#f3f2ef 0 12px,#efeee9 12px 24px)}
.loc-jump{gap:6px; margin-bottom:-8px}
.loc-jump a{border-radius:10px; font-weight:600; color:var(--ink2); background:#fff; padding:10px 16px}
.loc-jump a:hover{border-color:var(--ink); color:var(--ink)}

/* 빨간 단추 글자는 언제나 흰색 */
a.gw-btn.red,.sec.dark a.gw-btn.red{color:#fff}

/* ---------- 지점 안내 카드(branch.css · 정자 등) — 이모지 아이콘 → 선 아이콘 ---------- */
.binfo .card{border-radius:var(--r-card); box-shadow:var(--sh-card)}
.binfo .ico{font-size:0; width:44px; height:44px; margin:0 auto 14px; border-radius:12px; background-color:#fbeaec;
            background-repeat:no-repeat; background-position:center; background-size:22px}
.binfo .card:nth-child(1) .ico{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23d91a2a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.9v3a2 2 0 0 1-2.2 2 19.8 19.8 0 0 1-8.6-3.1 19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 2.1 4.2 2 2 0 0 1 4.1 2h3a2 2 0 0 1 2 1.7c.1.9.4 1.8.7 2.7a2 2 0 0 1-.5 2.1L8 9.8a16 16 0 0 0 6 6l1.3-1.3a2 2 0 0 1 2.1-.4c.9.3 1.8.6 2.7.7a2 2 0 0 1 1.7 2z'/%3E%3C/svg%3E")}
.binfo .card:nth-child(2) .ico{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23d91a2a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 6-8 12-8 12s-8-6-8-12a8 8 0 0 1 16 0z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E")}
.binfo .card:nth-child(3) .ico{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23d91a2a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 6v6l4 2'/%3E%3C/svg%3E")}
.binfo h4{font-size:12.5px; letter-spacing:.1em; color:var(--muted)}
.binfo .big{font-weight:800}
.bstrength .s .n{border:0; padding:0; border-radius:0; font-size:28px; color:#cbc5bd; letter-spacing:-.03em; font-weight:800}
