/* 사이트 공통 스타일시트(토큰·메뉴·버튼·바닥·영상 창·나타나기). 옛 CSS 20장을 읽지 않는다.
   디자인 읽기: 광고·마케팅 회사 홈, 기업의 마케팅 담당자와 대표가 본다. 사진·영상이 먼저, 글은 짧게. 무채색 + 강조색 파랑 하나. 모서리 없음.
   설정: 변주 8 · 움직임 6 · 밀도 3. 구역마다 다른 짜임(전면 영상 → 한 문장 → 비대칭 격자 → 숫자+로고 띠 → 가로 스크롤 카드 → 사진 달린 목록 → 번호 띠 → 안내 상자 → 큰 문장). */
:root{--bg:#f5f5f3;--ink:#141416;--ink2:#45454a;--mute:#5f5f64;--line:rgba(20,20,22,.14);--acc:#F13C3A;--pad:clamp(20px,4vw,64px);--sec:clamp(80px,9vw,150px);--sans:"Pretendard","Helvetica Neue",Helvetica,Arial,sans-serif}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{word-break:keep-all;overflow-wrap:anywhere;font-family:var(--sans);background:var(--bg);color:var(--ink);line-height:1.5;letter-spacing:-.01em;-webkit-font-smoothing:antialiased}
img,video{display:block;max-width:100%}
[hidden]{display:none!important}
a{color:inherit;text-decoration:none}
ul,ol{list-style:none}
h1,h2,h3{font-weight:800;letter-spacing:-.04em;line-height:1.05;text-wrap:balance}
p{text-wrap:pretty}
h2{font-size:clamp(30px,3.4vw,52px);margin-bottom:clamp(28px,3vw,44px)}
.skip-link{position:absolute;left:-999px;top:8px;background:var(--ink);color:#fff;padding:10px 14px}
.skip-link:focus{left:8px;z-index:100}
a:focus-visible,button:focus-visible{outline:2px solid var(--acc);outline-offset:3px}

/* 메뉴 (layout.js가 채움) */
.pills{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;height:64px;padding:0 var(--pad);background:rgba(245,245,243,.86);backdrop-filter:saturate(1.4) blur(10px);-webkit-backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--line)}
.pills-left,.pills-right{display:flex;gap:clamp(18px,2.4vw,36px);align-items:center}
.nav-item{position:relative}
.nav-link{font-size:14px;font-weight:700;letter-spacing:-.01em;padding:8px 0;border-bottom:2px solid transparent}
.nav-link:hover,.nav-link.is-current{border-bottom-color:var(--acc)}
.nav-logo img{height:20px;width:auto}
.nav-sub{display:none}
@media (max-width:640px){.hide-sm{display:none}.pills{height:56px}.nav-link{font-size:13px}}

/* 공통 버튼: 각진 사각형, 올리면 채움 반전 */
.btn{display:inline-block;padding:14px 22px;border:1.5px solid var(--ink);font-size:14px;font-weight:700;letter-spacing:-.01em;transition:background .2s,color .2s}
.btn:hover{background:var(--ink);color:#fff}
.btn-dark{background:var(--ink);color:#fff}
.btn-dark:hover{background:var(--acc);border-color:var(--acc)}
.btn-ghost{border-color:currentColor}

/* 바닥 (layout.js가 채움) */
.footer{border-top:1px solid var(--line);padding:clamp(48px,6vw,80px) var(--pad) 32px;background:#ebebe8}
.footer-top{display:grid;grid-template-columns:1.2fr 2fr;gap:40px;padding-bottom:40px}
.footer-line{font-size:clamp(24px,2.4vw,36px);font-weight:800;letter-spacing:-.04em;line-height:1.1}
.footer-line em{font-style:normal;color:var(--mute)}
.footer-ko{margin:10px 0 20px;color:var(--ink2);font-size:15px}
.footer .pill{display:inline-block;padding:12px 18px;border:1.5px solid var(--ink);font-size:13px;font-weight:700}
.footer .pill:hover{background:var(--ink);color:#fff}
.footer-cols{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.footer-cols .eyebrow{font-size:13px;font-weight:700;margin-bottom:10px}
.footer-cols a,.footer-cols span{display:block;font-size:14px;color:var(--ink2);line-height:1.8}
.footer-cols a[href^="tel"],.footer-cols span:nth-child(n+3){white-space:nowrap}
.footer-cols a:hover{color:var(--ink)}
.footer-bottom{display:flex;gap:20px;justify-content:space-between;padding-top:20px;border-top:1px solid var(--line);font-size:12.5px;color:var(--mute)}
@media (max-width:900px){.footer-top{grid-template-columns:1fr}.footer-cols{grid-template-columns:1fr 1fr}}

/* 영상 전체 보기 (reel-modal.js) */
.reel-modal{position:fixed;inset:0;z-index:90;background:rgba(0,0,0,.92);display:none;align-items:center;justify-content:center;padding:24px}
.reel-modal.is-open{display:flex}
.reel-modal video{width:min(1200px,96vw);max-height:80vh;background:#000}
.reel-modal.is-v video{width:auto;height:80vh}
.reel-modal-cap{position:absolute;left:24px;bottom:24px;color:#fff;font-size:14px}
.reel-modal button{position:absolute;top:20px;right:24px;background:none;border:1px solid #fff;color:#fff;padding:8px 14px;font:700 12px/1 var(--sans);letter-spacing:.08em;cursor:pointer}

/* 나타나기: 보이는 순간 살짝 올라오며 밝아진다(위계) */
.rv{opacity:0;transform:translateY(18px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1)}
.rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;transition:none}}
/* 휴대폰 메뉴: 로고 + 메뉴 버튼, 누르면 링크가 아래로 펼쳐진다 */
.nav-toggle{display:none;background:none;border:1.5px solid var(--ink);padding:6px 10px;font:700 12px/1 var(--sans);cursor:pointer}
@media (max-width:640px){
  .pills{flex-wrap:wrap;height:auto;min-height:56px;padding-top:0;padding-bottom:0}
  .pills .nav-logo{order:-1;margin-right:auto;padding:16px 0}
  .nav-toggle{display:inline-block}
  .pills-left,.pills-right{display:none;width:100%;flex-direction:column;align-items:flex-start;gap:0}
  .pills.is-open .pills-left,.pills.is-open .pills-right{display:flex}
  .pills.is-open .pills-left{order:2}.pills.is-open .pills-right{order:3;padding-bottom:12px}
  .pills.is-open .nav-link{display:block;padding:12px 0;font-size:16px;border-bottom:1px solid var(--line)}
  .hide-sm{display:block}
}
