/* 겨룸 태권도 — n06d(GB Taekwondo) 1:1 벤치마킹
   유지: 흰 불투명 헤더 + 가운데 워드마크 / 전폭 겨루기 사진 히어로 / 가운데 정렬 굵은 장체 대문자 표제 / 히어로 버튼 0개 /
         밝은 지면과 사진 띠의 교대 / 구획 순서 / 조용한 모션
   변경: 상징색(마젠타 340° → 제이드 160°) · 장치 형태 · 구획 내부 짜임 · 숫자 타일 폐기 */

:root{
  --bg:#ffffff;
  --alt:#f2f5f2;
  --ink:#131815;
  --dim:#5d6a63;
  --line:#dde3df;
  --jade:#0e8f66;
  --jade-d:#0a6a4c;
  --jade-s:#e5f3ed;
  --deep:#10211b;
  --wrap:1220px;
  --en:"Fira Sans Condensed","Pretendard Variable",system-ui,sans-serif;
  --ko:"Pretendard Variable",system-ui,sans-serif;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--ko);font-size:16px;line-height:1.75;letter-spacing:-.01em;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3{margin:0;font-family:var(--en);font-weight:700;line-height:1.04;letter-spacing:0}
p{margin:0}
ul,ol{margin:0;padding:0;list-style:none}

/* ───────── 헤더 — 흰 띠 · 내비가 가운데 워드마크를 감싼다(레퍼런스 구조 유지) */
.hd{
  position:relative;z-index:30;background:#fff;border-bottom:1px solid var(--line);
  display:grid;grid-template-columns:1fr auto 1fr;align-items:center;
  padding:10px clamp(16px,3vw,36px);gap:clamp(12px,3vw,40px);
}
.nav-l,.nav-r{display:flex;gap:clamp(14px,2.6vw,38px)}
.nav-r{justify-content:flex-end}
.hd a.nv{
  display:flex;flex-direction:column;align-items:center;gap:1px;text-decoration:none;
  font-family:var(--ko);font-weight:700;font-size:16px;letter-spacing:-.02em;
  min-height:48px;justify-content:center;
}
.hd a.nv:hover{color:var(--jade)}
.hd a.nv[aria-current=page]{color:var(--jade)}
.brand{display:flex;flex-direction:column;align-items:center;justify-content:center;text-decoration:none;line-height:1;min-height:52px}
.brand .b1{font-family:var(--en);font-weight:700;font-size:28px;letter-spacing:.02em;text-transform:uppercase}
.brand .b2{font-family:var(--en);font-weight:500;font-size:10px;letter-spacing:.34em;color:var(--jade);margin-top:4px}
.burger{display:none;background:none;border:0;padding:12px;cursor:pointer;justify-self:end}
.burger i{display:block;width:22px;height:2px;background:var(--ink);margin:5px 0}

.btn{
  display:inline-flex;flex-direction:column;align-items:center;justify-content:center;
  min-height:50px;padding:10px 30px;text-decoration:none;line-height:1.15;
  font-family:var(--en);font-weight:700;font-size:17px;letter-spacing:.08em;text-transform:uppercase;
}
.btn small{font-family:var(--ko);font-weight:500;font-size:11px;letter-spacing:0;text-transform:none;opacity:.8}
.btn-jade{background:var(--jade);color:#fff}
.btn-jade:hover{background:var(--jade-d)}
.btn-ink{background:var(--deep);color:#fff}
.btn-ink:hover{background:#000}
.btn-out{border:2px solid var(--ink);color:var(--ink)}
.btn-out:hover{background:var(--ink);color:#fff}
.btn-light{border:2px solid rgba(255,255,255,.7);color:#fff}
.btn-light:hover{background:#fff;color:var(--ink)}

/* ───────── 히어로 — 전폭 사진 · 가운데 정렬 · 버튼 없음 */
.hero{position:relative;min-height:min(760px,calc(100vh - 82px));display:flex;align-items:center;overflow:hidden}
.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 42%}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(9,16,13,.62),rgba(9,16,13,.52) 45%,rgba(9,16,13,.86))}
.hero-in{position:relative;z-index:2;width:100%;max-width:960px;margin:0 auto;padding:60px clamp(18px,4vw,30px) 0;text-align:center;color:#fff}
.hero-in h1{font-size:clamp(40px,5.4vw,76px);text-transform:uppercase;letter-spacing:.005em}
.hero-en{margin-top:14px;font-family:var(--en);font-weight:500;font-size:clamp(15px,1.4vw,19px);letter-spacing:.2em;text-transform:uppercase;color:#d7e3dd}
.hero-ko{margin-top:26px;font-size:27px;font-weight:700;color:#fff}
.hero-lead{margin-top:13px;font-size:18.5px;line-height:1.85;color:#ccd8d2;max-width:46ch;margin-left:auto;margin-right:auto}
.hero-foot{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:0 clamp(18px,4vw,30px) 24px;text-align:center}
.hero-foot p{font-size:14px;color:#c6d2cc}
.hero-foot b{font-family:var(--en);font-weight:600;font-size:11.5px;letter-spacing:.24em;color:var(--jade);margin-right:9px}

/* ───────── 공통 */
.sec{max-width:var(--wrap);margin:0 auto;padding:clamp(60px,7.5vw,100px) clamp(18px,4vw,30px)}
.sec-alt{background:var(--alt)}
h2.big{font-size:clamp(34px,5vw,66px);text-transform:uppercase}
h2.mid{font-size:clamp(26px,3vw,40px);text-transform:uppercase}
.jade{color:var(--jade)}
.ko-t{margin-top:14px;font-size:17px;color:var(--dim);line-height:1.85;max-width:66ch}
.center{text-align:center}
.center .ko-t{margin-left:auto;margin-right:auto}

/* 1 · 함께하기 — 같은 크기 카드 3장을 폭·높이 모두 다르게 */
.join{display:grid;grid-template-columns:1.4fr 1fr 1.15fr;gap:20px;margin-top:40px;align-items:end}
.join a{position:relative;display:block;text-decoration:none;overflow:hidden;color:#fff}
.join a img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.join a .sh{position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,18,14,.05) 35%,rgba(10,18,14,.85))}
.join a .in{position:relative;padding:22px;display:flex;flex-direction:column;justify-content:flex-end}
.join a:nth-child(1) .in{min-height:430px}
.join a:nth-child(2) .in{min-height:330px}
.join a:nth-child(3) .in{min-height:380px}
.join .tag{align-self:flex-start;background:var(--jade);color:#fff;font-family:var(--en);font-weight:700;font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;padding:6px 13px;margin-bottom:auto}
.join h3{font-size:27px;font-family:var(--ko);font-weight:800;letter-spacing:-.02em;line-height:1.25}
.join p{margin-top:8px;font-size:14.5px;color:#d6e0db}
.join a:hover img{transform:scale(1.04);transition:transform .5s}

/* 2 · 이야기 띠 — 사진 위 가운데 글 → 오른쪽 판으로 */
.stband{position:relative;overflow:hidden}
.stband>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.stband::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,22,17,.35),rgba(12,22,17,.9))}
.stband-in{position:relative;z-index:2;max-width:var(--wrap);margin:0 auto;padding:clamp(60px,8vw,110px) clamp(18px,4vw,30px);display:flex;justify-content:flex-end}
.stband-box{max-width:520px;color:#fff}
.stband-box p.ko{margin-top:14px;font-size:16.5px;color:#cfdad4;line-height:1.85}
.stband-box .btn{margin-top:24px}

/* 3 · 다가오는 일정 — 네이비 카드 3 → 가는 선 행 목록 */
.rows{margin-top:38px;border-top:2px solid var(--ink)}
.rows li{display:grid;grid-template-columns:190px 1fr auto;gap:20px;align-items:baseline;padding:22px 4px;border-bottom:1px solid var(--line)}
.rows .d{font-family:var(--en);font-weight:700;font-size:20px;letter-spacing:.04em;text-transform:uppercase;color:var(--jade)}
.rows h3{font-size:21px;font-family:var(--ko);font-weight:700;letter-spacing:-.02em}
.rows p{margin-top:5px;color:var(--dim);font-size:15px}
.rows .who{font-family:var(--en);font-weight:600;font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--dim);white-space:nowrap}

/* 4 · 소식 — 세로 3단 → 사진 왼쪽 가로 카드(1 넓게 + 2) */
.news{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:38px}
.news a{display:grid;grid-template-columns:250px 1fr;text-decoration:none;background:#fff;border:1px solid var(--line);overflow:hidden;transition:border-color .2s,transform .2s}
.news a:first-child{grid-column:1 / -1;grid-template-columns:420px 1fr}
.news a:hover{border-color:var(--jade);transform:translateY(-3px)}
.news a img{width:100%;height:100%;object-fit:cover;min-height:180px}
.news .nt{padding:24px 26px}
.news .when{font-family:var(--en);font-weight:600;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--jade)}
.news h3{margin-top:9px;font-family:var(--ko);font-weight:800;letter-spacing:-.02em;font-size:21px;line-height:1.3}
.news p{margin-top:9px;color:var(--dim);font-size:15px}

/* 5 · 다음 경기 띠 — 레퍼런스의 카운트다운 숫자 타일 대신 한 줄 선언 */
.aim{position:relative;overflow:hidden}
.aim>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 40%}
.aim::after{content:"";position:absolute;inset:0;background:rgba(11,20,16,.74)}
.aim-in{position:relative;z-index:2;max-width:900px;margin:0 auto;padding:clamp(64px,8vw,116px) clamp(18px,4vw,30px);text-align:center;color:#fff}
.aim-in h2{font-size:clamp(30px,4.4vw,60px);text-transform:uppercase}
.aim-in .line{display:block;width:62px;height:4px;background:var(--jade);margin:22px auto}
.aim-in p{font-size:17px;color:#cfdad4;line-height:1.9}

/* 6 · 도장 안 — 엇갈린 사진 줄 */
.strip{display:grid;grid-template-columns:1.3fr 1fr 1.15fr .9fr;gap:14px;margin-top:34px}
.strip figure{margin:0;overflow:hidden}
.strip img{width:100%;height:100%;object-fit:cover}
.strip figure:nth-child(1) img{height:290px}
.strip figure:nth-child(2) img{height:240px}
.strip figure:nth-child(3) img{height:265px}
.strip figure:nth-child(4) img{height:225px}
.strip figcaption{margin-top:8px;font-family:var(--en);font-weight:600;font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--dim)}

/* ───────── 하위 페이지 */
.sub{position:relative;min-height:clamp(260px,32vw,400px);display:flex;align-items:center;overflow:hidden;text-align:center}
.sub>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.sub::after{content:"";position:absolute;inset:0;background:rgba(11,20,16,.66)}
.sub-in{position:relative;z-index:2;max-width:900px;margin:0 auto;padding:40px clamp(18px,4vw,30px);color:#fff}
.sub-in h1{font-size:clamp(34px,5vw,68px);text-transform:uppercase}
.sub-in p{margin-top:14px;font-size:17px;color:#cfdad4}

.grid2{display:grid;grid-template-columns:1.25fr 1fr;gap:24px;margin-top:34px}
.card{border:1px solid var(--line);padding:clamp(22px,2.6vw,32px);background:#fff}
.card.fill{background:var(--jade-s);border-color:#c9e4da}
.card h3{font-family:var(--ko);font-weight:800;font-size:21px;letter-spacing:-.02em}
.card p{margin-top:10px;color:var(--dim);font-size:15.5px}
.beltlist{margin-top:34px;border-top:2px solid var(--ink)}
.beltlist li{display:grid;grid-template-columns:170px 1fr;gap:22px;padding:22px 4px;border-bottom:1px solid var(--line)}
.beltlist .lv{font-family:var(--en);font-weight:700;font-size:17px;letter-spacing:.1em;text-transform:uppercase;color:var(--jade)}
.beltlist h3{font-family:var(--ko);font-weight:800;font-size:20px;letter-spacing:-.02em}
.beltlist p{margin-top:8px;color:var(--dim);font-size:15.5px}
.tbl{border:1px solid var(--line);overflow:hidden;margin-top:30px}
table.t{width:100%;border-collapse:collapse;font-size:15.5px}
table.t th{background:var(--deep);color:#fff;font-family:var(--en);font-weight:700;font-size:13px;letter-spacing:.14em;text-transform:uppercase;text-align:left;padding:14px 18px}
table.t td{padding:15px 18px;border-top:1px solid var(--line);color:var(--dim);vertical-align:top}
table.t td:first-child{color:var(--ink);font-family:var(--en);font-weight:700;white-space:nowrap}
.photo-w{margin-top:34px;overflow:hidden}
.photo-w img{width:100%;height:clamp(230px,30vw,400px);object-fit:cover}
.acc{border-top:1px solid var(--line)}
.acc button{width:100%;background:none;border:0;text-align:left;cursor:pointer;padding:18px 40px 18px 0;position:relative;font-family:var(--ko);font-size:16.5px;font-weight:700;color:var(--ink)}
.acc button::after{content:"+";position:absolute;right:6px;top:15px;color:var(--jade);font-size:22px}
.acc.open button::after{content:"−"}
.acc .acc-a{display:none;padding:0 0 20px;color:var(--dim);font-size:15.5px;max-width:70ch}
.acc.open .acc-a{display:block}

/* ───────── 푸터 */
.ft{background:var(--deep);color:#e7efea;padding:clamp(48px,6vw,76px) clamp(18px,4vw,30px) 26px}
.ft-in{max-width:var(--wrap);margin:0 auto;display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:38px}
.ft-mark{display:inline-flex;flex-direction:column;justify-content:center;text-decoration:none;line-height:1;min-height:50px}
.ft-mark .b1{font-family:var(--en);font-weight:700;font-size:28px;text-transform:uppercase;letter-spacing:.02em}
.ft-mark .b2{font-family:var(--en);font-weight:500;font-size:10px;letter-spacing:.34em;color:var(--jade);margin-top:4px}
.ft-line{margin-top:16px;color:#a7b5ae;font-size:15px;max-width:40ch}
.ft-sns{display:flex;gap:10px;margin-top:20px}
.ft-sns a{width:44px;height:44px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.2);color:#a7b5ae}
.ft-sns a:hover{color:var(--jade);border-color:var(--jade)}
.ft-sns svg{width:20px;height:20px}
.ft-col h2{font-family:var(--en);font-weight:700;font-size:12.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--jade)}
.ft-row{margin-top:12px;color:#a7b5ae;font-size:14.5px}
.ft-row span{display:block;font-family:var(--en);font-weight:600;font-size:10.5px;letter-spacing:.18em;color:#75847c}
.ft-row a{text-decoration:none}
.ft-nav{display:flex;flex-direction:column;margin-top:6px}
.ft-nav a{color:#a7b5ae;font-size:14.5px;text-decoration:none;min-height:44px;display:flex;align-items:center}
.ft-nav a:hover{color:var(--jade)}
.ft-legal{max-width:var(--wrap);margin:34px auto 0;padding-top:20px;border-top:1px solid rgba(255,255,255,.14);color:#75847c;font-size:12.5px}
.ft-legal span{margin-right:14px;display:inline-block}
.ft-copy{margin-top:8px}

.mobile-nav{position:fixed;inset:0 0 0 auto;width:min(86vw,360px);background:#fff;z-index:60;padding:76px 24px 30px;transform:translateX(100%);transition:transform .3s;overflow-y:auto;border-left:1px solid var(--line)}
.mobile-nav.open{transform:none}
.mobile-nav a{text-decoration:none}
.mobile-nav ul li a{display:block;padding:15px 0;border-bottom:1px solid var(--line);font-family:var(--ko);font-weight:700;font-size:19px;letter-spacing:-.02em}
.mobile-nav ul li a span{display:block;font-family:var(--ko);font-weight:500;font-size:13px;color:var(--dim);letter-spacing:0;margin-top:3px;text-transform:none}
.mnav-foot{margin-top:24px;display:grid;gap:10px}
.mnav-foot a{display:flex;align-items:center;gap:10px;min-height:48px;padding:0 18px;border:1px solid var(--line);font-size:15px}
.mnav-foot a.fill{background:var(--jade);color:#fff;border-color:var(--jade);font-weight:700}
.mnav-foot svg{width:20px;height:20px}
.mnav-hours{margin-top:18px;color:var(--dim);font-size:13px}
body.mm-open{overflow:hidden}
.mbar{display:none}

@media (max-width:1040px){
  .join{grid-template-columns:1fr 1fr;align-items:stretch}
  .join a:nth-child(3){grid-column:1 / -1}
  .join a:nth-child(n) .in{min-height:300px}
  .news{grid-template-columns:1fr}
  .news a:first-child{grid-template-columns:250px 1fr}
  .grid2{grid-template-columns:1fr}
  .strip{grid-template-columns:1fr 1fr}
  .strip img{height:230px!important}
  .ft-in{grid-template-columns:1fr 1fr}
}
@media (max-width:860px){
  .nav-l,.nav-r{display:none}
  .hd{grid-template-columns:1fr auto}
  .brand{justify-self:start}
  .burger{display:block}
  .stband-in{justify-content:flex-start}
  .stband::after{background:rgba(12,22,17,.78)}
  .rows li{grid-template-columns:1fr;gap:6px}
  .beltlist li{grid-template-columns:1fr;gap:6px}
  .news a,.news a:first-child{grid-template-columns:1fr}
  .news a img{min-height:200px}
  .mbar{display:grid;grid-template-columns:repeat(3,1fr);position:fixed;left:0;right:0;bottom:0;z-index:50;background:#fff;border-top:1px solid var(--line)}
  .mbar a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:58px;font-size:11.5px;text-decoration:none;color:var(--dim)}
  .mbar a.tel{color:var(--jade)}
  .mbar svg{width:20px;height:20px}
  body{padding-bottom:58px}
  .ft-in{grid-template-columns:1fr}
}
@media (max-width:620px){
  .brand .b1{font-size:22px}
  .brand .b2{font-size:9px;letter-spacing:.26em}
  .strip{grid-template-columns:1fr}
  table.t,table.t tbody,table.t tr,table.t td{display:block;width:100%}
  table.t thead{display:none}
  table.t tr{border-top:1px solid var(--line);padding:6px 0}
  table.t td{border:0;padding:7px 18px}
  table.t td::before{content:attr(data-label);display:block;font-family:var(--en);font-weight:700;font-size:10.5px;letter-spacing:.18em;color:var(--jade);margin-bottom:3px;text-transform:uppercase}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
