/* 모아한방병원 — 공통 스타일
   렌더링페이지(deploy/*.html)와 워드프레스 매거진 테마(/magazine)가 이 파일 하나를 같이 쓴다.
   헤더·히어로·푸터 클래스명을 바꾸면 매거진도 같이 바뀐다. */

:root{
  --brand:#673153;
  --brand-d:#4e2340;
  --brand-l:#f5edf2;
  --brand-m:#e6d3df;
  --accent:#f2c7dc;
  /* 버튼 색 — 본문 콘텐츠 영역(히어로 아래 섹션) 버튼만. 헤더·히어로·모바일 전화 바는 원래 색. 사용자 지시 2026-10-06 */
  --btn-bg:#f4e9f0;
  --btn-bg-hover:#ead7e3;
  --btn-ink:#4e2340;
  --btn-line:#673153;
  --ink:#1f1a1d;
  --ink2:#4a4247;
  --ink3:#7a7176;
  --line:#e7e1e4;
  /* 본문 바탕은 흰색을 쓰지 않는다 — 레드브라운이 아주 옅게 섞인 톤(카드·상자는 흰색으로 대비). 사용자 지시 2026-10-06 */
  --bg:#fcf8f6;
  --bg-soft:#f8f0ec;
  --bg-tint:#f4eae4;
  --radius:16px;
  --shadow:0 6px 24px rgba(55,25,45,.08);
  --fs-h2:clamp(26px,3.2vw,38px);
  --fs-h3:clamp(19px,1.7vw,22px);
  --fs-body:17px;
  --fs-small:15.5px;
  --wrap:1200px;
  --header-h:76px;
  font-family:'Noto Sans KR',-apple-system,BlinkMacSystemFont,'Malgun Gothic',sans-serif;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 12px)}
body{font-family:inherit;font-size:var(--fs-body);line-height:1.75;color:var(--ink);background:var(--bg);word-break:keep-all;overflow-wrap:break-word;overflow-x:hidden}
img,picture{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
ul,ol{list-style:none}
button{font:inherit;cursor:pointer;border:0;background:none;color:inherit}
h1,h2,h3,h4{line-height:1.35;letter-spacing:-.025em;font-weight:700}
strong,b{font-weight:700}
:focus-visible{outline:3px solid var(--brand);outline-offset:3px;border-radius:4px}
.skip{position:absolute;left:-9999px;top:0;background:var(--brand-d);color:#fff;padding:10px 16px;z-index:200}
.skip:focus{left:12px;top:12px}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 22px}
.ic{width:18px;height:18px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

/* ---------- 버튼 ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:52px;padding:0 24px;border-radius:12px;font-size:16.5px;font-weight:700;line-height:1.3;transition:transform .18s ease,background .18s ease,border-color .18s ease;text-align:center}
.btn:hover{transform:translateY(-2px)}
.btn .ic{width:19px;height:19px}
.btn-primary{background:#fff;color:var(--brand-d)}
.btn-primary:hover{background:var(--accent)}
.btn-outline{border:1.5px solid rgba(255,255,255,.6);color:#fff}
.btn-outline:hover{border-color:#fff;background:rgba(255,255,255,.1)}
.btn-brand{background:var(--brand);color:#fff}
.btn-brand:hover{background:var(--brand-d)}
/* 본문 섹션(.sec) 안의 버튼은 전부 연한 자주로 통일 */
.btn-line,.sec .btn-primary,.sec .btn-outline,.sec .btn-brand{background:var(--btn-bg);color:var(--btn-ink);border:1.5px solid var(--btn-line)}
.btn-line:hover,.sec .btn-primary:hover,.sec .btn-outline:hover,.sec .btn-brand:hover{background:var(--btn-bg-hover)}

/* ---------- 헤더 (공유) ---------- */
.site-header{position:sticky;top:0;z-index:100;background:rgba(252,248,246,.96);backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--line);transition:box-shadow .2s ease}
.site-header.scrolled{box-shadow:0 4px 18px rgba(55,25,45,.08)}
.header-inner{max-width:1280px;margin:0 auto;padding:0 22px;height:var(--header-h);display:flex;align-items:center;gap:24px}
.brand{display:flex;align-items:center;flex:0 0 auto}
.brand img{width:auto;height:40px}
.gnb{margin-left:auto}
.gnb ul{display:flex;align-items:center;gap:4px}
.gnb a{display:block;padding:10px 12px;border-radius:9px;font-size:16px;font-weight:500;color:var(--ink2);white-space:nowrap;transition:color .15s ease,background .15s ease}
.gnb a:hover{color:var(--brand-d);background:var(--brand-m)}
.gnb a[aria-current="page"]{color:var(--brand-d);font-weight:700}
.gnb .gnb-magazine{color:var(--brand-d);font-weight:700;border:1.5px solid var(--brand-m)}
.header-call{display:inline-flex;align-items:center;gap:8px;background:var(--brand);color:#fff;padding:10px 16px;border-radius:10px;font-weight:700;font-size:15.5px;white-space:nowrap}
.header-call:hover{background:var(--brand-d)}
.nav-toggle{display:none;width:46px;height:46px;border-radius:10px;align-items:center;justify-content:center;margin-left:auto;color:var(--ink)}
.nav-toggle .ic{width:26px;height:26px}
.nav-toggle .ic-close{display:none}
.nav-open .nav-toggle .ic-open{display:none}
.nav-open .nav-toggle .ic-close{display:block}

/* ---------- 히어로 (공유: 렌더링페이지 전 페이지 + 매거진) ---------- */
.hero{position:relative;color:#fff;padding:104px 0 108px;overflow:hidden;isolation:isolate}
.hero-slides{position:absolute;inset:0;z-index:-2;overflow:hidden}
.hero-slide{position:absolute;inset:0;opacity:0;animation:heroCycle 21s infinite;will-change:opacity,transform}
.hero-slide img{width:100%;height:100%;object-fit:cover}
.hero-slide.s1{opacity:1;animation-delay:0s}
.hero-slide.s2{animation-delay:7s}
.hero-slide.s3{animation-delay:14s}
@keyframes heroCycle{0%{opacity:0;transform:scale(1.04)}5%{opacity:1}33%{opacity:1;transform:scale(1.12)}38%{opacity:0;transform:scale(1.12)}100%{opacity:0;transform:scale(1.04)}}
.hero-overlay{position:absolute;inset:0;z-index:-1;background:linear-gradient(135deg,rgba(38,14,30,.92) 0%,rgba(78,35,64,.82) 52%,rgba(103,49,83,.5) 100%)}
.hero-overlay::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 85% 15%,rgba(242,199,220,.22),transparent 55%)}
.hero-inner{max-width:var(--wrap);margin:0 auto;padding:0 22px;position:relative}
.hero-badge{display:inline-flex;align-items:center;gap:10px;background:rgba(255,255,255,.14);backdrop-filter:blur(10px);padding:9px 18px;border-radius:999px;font-size:15px;font-weight:500;border:1px solid rgba(255,255,255,.24);margin-bottom:24px}
.hero-badge .dot{width:9px;height:9px;background:var(--accent);border-radius:50%;box-shadow:0 0 0 4px rgba(242,199,220,.28);animation:pulse 2s infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.55}}
.hero h1{color:#fff;font-size:clamp(30px,4.6vw,54px);line-height:1.28;margin-bottom:24px;text-shadow:0 2px 14px rgba(0,0,0,.22)}
.hero h1 .hl{color:var(--accent);font-weight:800}
.hero-desc{font-size:clamp(16.5px,1.45vw,19.5px);line-height:1.85;max-width:780px;margin-bottom:32px;color:rgba(255,255,255,.94)}
.hero-usp{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:36px}
.hero-usp li{background:rgba(255,255,255,.11);padding:10px 16px;border-radius:9px;font-size:15.5px;font-weight:500;border:1px solid rgba(255,255,255,.2)}
.hero-usp li strong{color:var(--accent);margin-right:6px}
.hero-cta{display:flex;flex-wrap:wrap;gap:12px}
/* 히어로 설명 줄바꿈은 PC에서만(960px 이하에서는 자연스럽게 이어짐). 사용자 지시 2026-10-06 */
@media (max-width:960px){br.br-pc{display:none}}
@keyframes fadeUp{to{opacity:1;transform:none}}
.hero .stagger{opacity:0;transform:translateY(22px);animation:fadeUp .8s cubic-bezier(.2,.7,.2,1) forwards}
.hero .stagger.d1{animation-delay:.05s}.hero .stagger.d2{animation-delay:.2s}.hero .stagger.d3{animation-delay:.35s}.hero .stagger.d4{animation-delay:.5s}.hero .stagger.d5{animation-delay:.65s}
.crumbs{display:flex;flex-wrap:wrap;gap:6px;font-size:14.5px;color:rgba(255,255,255,.8);margin-bottom:14px}
.crumbs a:hover{color:#fff;text-decoration:underline}
.crumbs li+li::before{content:"/";margin-right:6px;opacity:.6}
@media (prefers-reduced-motion:reduce){
  .hero-slide{animation:none}
  .hero-slide.s2,.hero-slide.s3{display:none}
  .hero .stagger{animation:none;opacity:1;transform:none}
  .hero-badge .dot{animation:none}
  html{scroll-behavior:auto}
}

/* ---------- 본문 섹션 ---------- */
.sec{padding:96px 0}
.sec.soft{background:var(--bg-soft)}
.sec.tint{background:var(--bg-tint)}
.sec-tag{display:inline-block;font-size:14px;font-weight:700;letter-spacing:.12em;color:var(--brand);margin-bottom:12px}
.sec h2{font-size:var(--fs-h2);margin-bottom:18px}
.sec h2 em{font-style:normal;color:var(--brand)}
.lead{font-size:clamp(16.5px,1.35vw,18.5px);color:var(--ink2);max-width:820px;margin-bottom:40px}
.sec h3{font-size:var(--fs-h3);margin-bottom:10px}
.prose p+p{margin-top:14px}
.prose p{color:var(--ink2)}
.prose ul.dots{margin-top:14px}
ul.dots li{position:relative;padding-left:18px;color:var(--ink2)}
ul.dots li+li{margin-top:6px}
ul.dots li::before{content:"";position:absolute;left:2px;top:.72em;width:6px;height:6px;border-radius:50%;background:var(--brand)}

.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.cards.c2{grid-template-columns:repeat(2,1fr)}
.cards.c4{grid-template-columns:repeat(4,1fr)}
.cards.center{display:flex;flex-wrap:wrap;justify-content:center}
.cards.center>.card{flex:0 0 calc((100% - 40px)/3)}
.gap-top{margin-top:20px}
.sprite{position:absolute;width:0;height:0;overflow:hidden}
figure.card.photo figcaption.body{font-weight:700;padding:16px 20px}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:28px;box-shadow:var(--shadow);display:flex;flex-direction:column}
.card .num{font-size:14px;font-weight:800;color:var(--brand);letter-spacing:.08em;margin-bottom:8px}
.card p{color:var(--ink2);font-size:var(--fs-small)}
.card h3 small{font-size:.7em;font-weight:600;color:var(--brand);margin-left:6px;vertical-align:middle}
.card .more{margin-top:auto;padding-top:16px;font-weight:700;color:var(--brand-d);display:inline-flex;align-items:center;gap:6px}
.card .more:hover{text-decoration:underline}
.card.photo{padding:0;overflow:hidden}
.card.photo picture{aspect-ratio:10/7;overflow:hidden;background:var(--brand-l)}
.card.photo picture img{width:100%;height:100%;object-fit:cover}
.card.photo .body{padding:22px 24px 26px;display:flex;flex-direction:column;flex:1}

.split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.split.rev>.split-media{order:2}
.split-media{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);background:var(--brand-l)}
.split-media img{width:100%;height:auto}
.split + .split{margin-top:72px}

.note{border-left:4px solid var(--brand);background:#fff;border-radius:0 12px 12px 0;padding:18px 22px;color:var(--ink2);font-size:var(--fs-small);margin-top:24px}
.note strong{color:var(--ink)}
.sec.soft .note,.sec.tint .note{background:#fff}

/* 층별 안내 */
.floors{display:grid;gap:14px}
.floor{display:grid;grid-template-columns:96px 1fr;gap:20px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:20px 24px}
.floor b{display:flex;flex-direction:column;align-items:center;justify-content:center;width:84px;height:84px;border-radius:50%;background:var(--brand);color:#fff;font-size:24px;line-height:1.1}
.floor b small{font-size:12.5px;font-weight:500;margin-top:4px}
.floor p{color:var(--ink2);font-size:var(--fs-small)}

/* 의료진 */
.doctor-main{display:grid;grid-template-columns:360px 1fr;gap:48px;align-items:start}
.doctor-main picture{border-radius:var(--radius);overflow:hidden;background:#e9e4e7}
.doctor-name{font-size:clamp(26px,2.6vw,32px);margin-bottom:6px}
.doctor-name small{font-size:17px;font-weight:500;color:var(--ink3);margin-left:8px}
.career{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:24px}
.career h4{font-size:16px;color:var(--brand);margin-bottom:10px}
.career li{font-size:var(--fs-small);color:var(--ink2);padding:6px 0;border-bottom:1px dashed var(--line)}
.doctor-lead{color:var(--ink2);margin-top:4px}
.doctor-note{margin-top:36px;padding:22px 26px;border-radius:var(--radius);background:var(--brand-l);color:var(--ink2);font-size:17px}
.doctor-note strong{color:var(--brand-d)}

/* 사진 가로 스크롤 (CSS scroll-snap) */
.gallery{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(280px,32%);gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding:8px 0 12px;overscroll-behavior-x:contain}
.gallery figure{scroll-snap-align:start;border-radius:14px;overflow:hidden;background:#fff;border:1px solid var(--line)}
.gallery picture{aspect-ratio:10/7}
.gallery picture img{width:100%;height:100%;object-fit:cover}
.gallery figcaption{padding:12px 16px;font-size:15px;font-weight:500;color:var(--ink2)}

/* 하이라이트 띠 — 메인 히어로 바로 밑 (기준: 신세계한의원 .highlights) */
/* 띠 배경은 바탕색과 별개로 연한 자주 유지(사용자 지시 2026-10-06) */
.highlights{background:#f4e9f0;padding:64px 0}
.hl-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;max-width:var(--wrap);margin:0 auto;padding:0 22px}
.hl-item{background:#fff;border:1px solid var(--line);border-radius:18px;padding:28px 20px;text-align:center;box-shadow:var(--shadow);transition:transform .25s ease,box-shadow .25s ease}
@media (hover:hover){.hl-item:hover{transform:translateY(-4px);box-shadow:0 12px 28px rgba(55,25,45,.14)}}
.hl-num{font-size:38px;font-weight:800;color:var(--brand);line-height:1;margin-bottom:12px;letter-spacing:-.03em}
.hl-num .unit{font-size:18px;font-weight:700;color:var(--brand-d);margin-left:2px}
.hl-item h3{font-size:16.5px;color:var(--ink);margin-bottom:6px}
.hl-item p:not(.hl-num){font-size:14.5px;color:var(--ink3);line-height:1.5}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* 사진 넘김 좌우 버튼 */
.gallery-wrap{position:relative;padding:0 64px}
.gal-btn{position:absolute;top:calc(50% - 22px);transform:translateY(-50%);z-index:2;width:46px;height:46px;border-radius:50%;background:var(--btn-bg);color:var(--btn-ink);border:1.5px solid var(--btn-line);box-shadow:0 4px 14px rgba(55,25,45,.18);display:flex;align-items:center;justify-content:center;transition:opacity .2s ease,background .2s ease}
.gal-btn:hover{background:var(--btn-bg-hover)}
.gal-btn .ic{width:20px;height:20px}
.gal-btn.prev{left:0}
.gal-btn.prev .ic{transform:rotate(180deg)}
.gal-btn.next{right:0}
.gal-btn:disabled{opacity:0;pointer-events:none}
.gallery-wrap.no-scroll{padding:0}
.gallery-wrap.no-scroll .gal-btn{display:none}
.gallery{scrollbar-width:thin}

/* 나열된 사진 마우스 올림 효과 — 사진 넘김 전부 + 사진 카드 */
.gallery figure,.card.photo{transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.gallery picture,.card.photo picture{overflow:hidden}
.gallery picture img,.card.photo picture img{transition:transform .45s ease}
@media (hover:hover){
  .gallery figure:hover,.card.photo:hover{transform:translateY(-4px);box-shadow:0 12px 28px rgba(55,25,45,.16);border-color:var(--brand-m)}
  .gallery figure:hover picture img,.card.photo:hover picture img{transform:scale(1.06)}
}
@media (prefers-reduced-motion:reduce){
  .hl-item{transition:none}
  .hl-item:hover{transform:none}
  .gallery figure,.card.photo,.gallery picture img,.card.photo picture img{transition:none}
  .gallery figure:hover,.card.photo:hover{transform:none}
  .gallery figure:hover picture img,.card.photo:hover picture img{transform:none}
}
.sec-more{margin-top:24px}
.box-more{margin-top:20px;text-align:right}
.btn-row{margin-top:20px}
.align-center{text-align:center}
.align-right{text-align:right}
.prose .btn-row.gap-s{margin-top:24px}
.prose .btn-row.gap-l{margin-top:44px}

/* FAQ */
.faq{display:grid;gap:12px;max-width:1080px;margin:0 auto}
.faq details{background:#fff;border:1px solid var(--line);border-radius:14px;padding:0 22px}
.faq summary{cursor:pointer;list-style:none;padding:20px 32px 20px 0;font-weight:700;font-size:17px;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";position:absolute;right:4px;top:50%;width:10px;height:10px;border-right:2px solid var(--brand);border-bottom:2px solid var(--brand);transform:translateY(-70%) rotate(45deg);transition:transform .2s ease}
.faq details[open] summary::after{transform:translateY(-30%) rotate(-135deg)}
.faq details p{padding:0 0 20px;color:var(--ink2);font-size:var(--fs-small)}

/* CTA 띠 */
.cta-band{background:linear-gradient(135deg,var(--brand-d),var(--brand));color:#fff;border-radius:22px;padding:44px 48px;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
.cta-band h2{font-size:clamp(22px,2.4vw,30px);margin:0 0 6px}
.cta-band p{color:rgba(255,255,255,.88)}
.cta-band .btns{display:flex;gap:10px;flex-wrap:wrap}

/* ---------- 오시는 길 (기준: 참잘함 수원 #location) ---------- */
.hours-loc{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.info-box{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:28px;box-shadow:var(--shadow)}
.info-box h3{font-size:var(--fs-h3);font-weight:800;margin-bottom:16px;display:flex;align-items:center;gap:9px}
.info-box h3 .ic{width:20px;height:20px;color:var(--brand)}
.kv{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px dashed var(--line);font-size:var(--fs-small)}
.kv:last-child{border-bottom:none}
.kv b{flex:0 0 auto}
.kv span{color:var(--ink2);text-align:right;line-height:1.65;font-weight:500}
.kv span a{color:var(--brand-d);font-weight:700}
.badge{display:inline-block;margin-left:6px;padding:1px 8px;border-radius:6px;background:var(--brand-l);color:var(--brand-d);font-size:13px;font-weight:700}
.addr-line{font-size:var(--fs-small);line-height:1.65;margin-bottom:14px;font-weight:600}
.addr-actions{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px;padding-bottom:14px;border-bottom:1px dashed var(--line)}
.abtn{display:inline-flex;align-items:center;gap:6px;padding:9px 14px;border-radius:10px;border:1.5px solid var(--btn-line);background:var(--btn-bg);font-size:14.5px;font-weight:700;color:var(--btn-ink);line-height:1.3;transition:border-color .18s ease,color .18s ease,transform .18s ease}
.abtn:hover{background:var(--btn-bg-hover);transform:translateY(-1px)}
.abtn.done{background:#1f6b3a;border-color:transparent;color:#fff}
.abtn .ic{width:15px;height:15px}
.route-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:22px}
.route{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow)}
.route-head{display:flex;align-items:center;gap:10px;margin-bottom:16px;flex-wrap:wrap}
.route-head h3{font-size:18px;font-weight:800;margin:0}
.line-badge{display:inline-flex;align-items:center;justify-content:center;height:28px;padding:0 11px;border-radius:999px;font-size:13px;font-weight:800;color:#fff;flex:0 0 auto}
.line-badge.l6{background:#cd7c2f}
.line-badge.l7{background:#747f00}
.line-badge.bs{background:var(--brand)}
.steps{list-style:none;counter-reset:step}
.steps li{position:relative;padding:0 0 18px 38px;counter-increment:step;font-size:15.5px;color:var(--ink2);line-height:1.6;font-weight:500}
.steps li::before{content:counter(step);position:absolute;left:0;top:0;width:26px;height:26px;border-radius:50%;background:#fff;border:2px solid var(--brand-m);color:var(--ink);font-size:13px;font-weight:800;display:flex;align-items:center;justify-content:center}
.steps li::after{content:"";position:absolute;left:12px;top:30px;bottom:0;width:2px;background:var(--brand-l)}
.steps li:last-child{padding-bottom:0}
.steps li:last-child::after{display:none}
.steps b,.stop-note b{color:var(--ink)}
.chips-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.bus{display:inline-flex;align-items:center;height:26px;padding:0 9px;border-radius:7px;font-size:13.5px;font-weight:800;background:var(--brand-l);color:var(--brand-d)}
.bus.trunk{background:#e3ecfa;color:#1f4f9a}
.bus.branch{background:#e7f5ea;color:#1f6b3a}
.bus.express{background:#fbe6e6;color:#a32424}
.bus.airport{background:#ececec;color:#3d3d3d}
.stop-note{font-size:15px;color:var(--ink2);line-height:1.6;font-weight:500}
.chips-label{font-size:12.5px;font-weight:800;color:var(--ink3);letter-spacing:.08em;margin-top:14px}
.map-embed{margin-top:22px;border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow);background:#fff}
.map-embed iframe{display:block;width:100%;height:380px;border:0}

/* ---------- 푸터 (공유) ---------- */
.site-footer{background:#231a20;color:rgba(255,255,255,.78);padding:64px 0 96px;font-size:15px}
.footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:40px}
.footer-logo img{height:36px;width:auto;margin-bottom:18px}
.site-footer h2{font-size:16px;color:#fff;margin-bottom:12px}
.site-footer dl{display:grid;grid-template-columns:auto 1fr;gap:6px 14px}
.site-footer dt{color:rgba(255,255,255,.55)}
.site-footer a:hover{color:#fff;text-decoration:underline}
.footer-links li+li{margin-top:6px}
.footer-notice{margin-top:40px;padding-top:24px;border-top:1px solid rgba(255,255,255,.12);font-size:14px;color:rgba(255,255,255,.6);line-height:1.8}
.footer-notice p+p{margin-top:4px}
.copyright{margin-top:14px;font-size:13.5px;color:rgba(255,255,255,.45)}

.copy-buffer{position:fixed;opacity:0;left:0;top:0;width:1px;height:1px}

/* 모바일 하단 전화 바 */
.mobile-call{display:none}

/* ---------- 반응형 ---------- */
@media (max-width:1100px){
  .gnb a{padding:10px 8px;font-size:15px}
  .header-call span{display:none}
}
@media (max-width:960px){
  :root{--header-h:64px}
  .brand img{height:34px}
  /* backdrop-filter 가 있으면 고정 메뉴의 기준이 헤더가 되어 가로 스크롤이 생긴다 */
  .site-header{backdrop-filter:none;background:var(--bg)}
  .nav-toggle{display:inline-flex}
  .header-call{display:none}
  .gnb{position:fixed;top:var(--header-h);left:0;right:0;bottom:0;background:var(--bg);padding:12px 22px 40px;overflow-y:auto;transform:translateX(100%);visibility:hidden;transition:transform .25s ease,visibility .25s}
  .nav-open .gnb{transform:none;visibility:visible}
  .gnb ul{flex-direction:column;align-items:stretch;gap:2px}
  .gnb a{padding:16px 6px;font-size:17px;border-bottom:1px solid var(--line);border-radius:0}
  .gnb .gnb-magazine{border:0;border-bottom:1px solid var(--line)}
  .nav-open{overflow:hidden}
  .cards,.cards.c4,.hl-grid{grid-template-columns:repeat(2,1fr)}
  .cards.center>.card{flex-basis:calc((100% - 20px)/2)}
  .split{grid-template-columns:1fr;gap:28px}
  .split.rev>.split-media{order:0}
  .doctor-main{grid-template-columns:1fr;gap:28px}
  .doctor-main picture{max-width:360px}
  .hours-loc,.route-grid{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr;gap:28px}
  .mobile-call{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:90;background:var(--brand);color:#fff;height:58px;align-items:center;justify-content:center;gap:10px;font-weight:700;font-size:17px;box-shadow:0 -4px 16px rgba(0,0,0,.12)}
}
@media (max-width:640px){
  :root{--fs-body:16.5px}
  .sec{padding:68px 0}
  .hero{padding:72px 0 80px}
  .hero-cta{flex-direction:column}
  .hero-cta .btn{width:100%}
  .cards,.cards.c2,.cards.c4{grid-template-columns:1fr}
  .cards.center>.card{flex-basis:100%}
  .highlights{padding:44px 0}
  .hl-grid{gap:12px}
  .hl-item{padding:20px 12px}
  .hl-num{font-size:30px}
  .career{grid-template-columns:1fr;gap:18px}
  .floor{grid-template-columns:1fr;gap:12px;text-align:left}
  .floor b{width:64px;height:64px;font-size:19px}
  .gallery{grid-auto-columns:82%}
  .gallery-wrap{padding:0 44px}
  .gal-btn{width:36px;height:36px}
  .gal-btn .ic{width:17px;height:17px}
  .cta-band{padding:32px 24px}
  .cta-band .btns,.cta-band .btn{width:100%}
  .kv{flex-direction:column;gap:4px}
  .kv span{text-align:left}
  .map-embed iframe{height:300px}
}
.split-media.portrait{max-width:400px;justify-self:center;width:100%}

/* ---------- 404 안내 페이지 (deploy/404.html — 헤더·푸터 없이 가운데 한 덩어리) ---------- */
.notfound{min-height:100vh;min-height:100svh;display:flex;align-items:center;padding:48px 0;text-align:center}
.notfound .wrap{display:flex;flex-direction:column;align-items:center;gap:14px;width:100%}
.notfound .brand{margin-bottom:28px}
.notfound-code{font-size:clamp(56px,10vw,96px);font-weight:800;line-height:1;letter-spacing:-.04em;color:var(--brand-m)}
.notfound h1{font-size:clamp(24px,3.2vw,34px);color:var(--brand-d)}
.notfound-desc{color:var(--ink2);max-width:520px}
.notfound-btns{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:14px}
.notfound-addr{margin-top:28px;font-size:var(--fs-small);color:var(--ink3)}
@media (max-width:600px){.notfound-btns{flex-direction:column;width:100%;max-width:340px}.notfound-btns .btn{width:100%}}
