/* ============================================================
   CrossPoint Therapeutics — site.css
   시안(Stealth-Body 디자인 시스템) 토큰을 그대로 옮긴 스타일시트
   ============================================================ */

/* ---------- 1. Fonts ---------- */
/* 시안 지정 서체 Congenial(Adobe Fonts)은 각 HTML <head>의
   <link rel="stylesheet" href="https://use.typekit.net/gxu8cew.css">로 로드함.
   미로딩 환경에서는 한글 Noto Sans KR / 시스템 고딕으로 대체됨. */

@font-face{font-family:'Source Serif 4';font-style:normal;font-weight:400;font-display:swap;
  src:url("../fonts/6f0938fa.woff2") format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2212,U+FEFF,U+FFFD;}
@font-face{font-family:'Source Serif 4';font-style:normal;font-weight:400;font-display:swap;
  src:url("../fonts/e58a3360.woff2") format('woff2');
  unicode-range:U+0100-02BA,U+1E00-1E9F,U+2020,U+20A0-20AB,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Source Serif 4';font-style:normal;font-weight:600;font-display:swap;
  src:url("../fonts/6f0938fa.woff2") format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2212,U+FEFF,U+FFFD;}
@font-face{font-family:'Source Serif 4';font-style:italic;font-weight:400;font-display:swap;
  src:url("../fonts/8e5e4d52.woff2") format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2212,U+FEFF,U+FFFD;}

/* ---------- 2. Tokens ---------- */
:root{
  --color-bg:#e4e9f3;  /* 배경 톤: 청회색 미스트 (2026-09-28) */
  --color-surface:#d9e0ec;
  --color-text:#201e1d;
  --color-accent:#0088b0;
  --color-accent-2:#d6006c;
  --color-divider:color-mix(in srgb,#201e1d 16%,transparent);

  --color-neutral-100:#f8f4f4; --color-neutral-200:#eae7e7; --color-neutral-300:#d7d3d3;
  --color-neutral-400:#bab6b6; --color-neutral-500:#9b9797; --color-neutral-600:#7d7979;
  --color-neutral-700:#605d5d; --color-neutral-800:#444141; --color-neutral-900:#2d2b2b;

  --color-accent-100:#e9f8ff; --color-accent-200:#cbeeff; --color-accent-300:#99e0ff;
  --color-accent-400:#62c5ee; --color-accent-500:#38a6cf; --color-accent-600:#1186ac;
  --color-accent-700:#006786; --color-accent-800:#004961; --color-accent-900:#0a303e;

  /* Adobe Fonts 킷(gxu8cew) — 라틴은 congenial, 한글은 pln Hyeonbatang(현바탕).
     congenial에 한글 글자가 없으므로 한글만 자동으로 다음 순서인 현바탕으로 넘어감.
     킷이 안 뜨는 환경에서는 한글 Noto Sans KR / 시스템 고딕으로 대체됨.
     ※ 따옴표 안 이름은 Adobe Fonts 킷 페이지의 CSS 예시와 정확히 같아야 함 */
  --font-heading:susan-sans,"Noto Sans KR",-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;
  --font-body:susan-sans,"Noto Sans KR",-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;

  --radius-sm:1px; --radius-md:2px; --radius-lg:4px;
  --shadow-sm:0 1px 2px color-mix(in srgb,#2d2b2b 14%,transparent);
  --shadow-md:0 3px 10px color-mix(in srgb,#2d2b2b 16%,transparent);
  --shadow-lg:0 12px 32px color-mix(in srgb,#2d2b2b 22%,transparent);

  /* 레이아웃 */
  --max:1440px;
  --pad:clamp(20px,4.2vw,56px);
  --sec:clamp(52px,7.2vw,104px);
  --header-h:68px;
}

/* ---------- 3. Reset & base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:var(--header-h)}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{
  margin:0;background:var(--color-bg);color:var(--color-text);
  font-family:var(--font-body);font-size:16px;line-height:1.55;font-weight:400;
  -webkit-font-smoothing:antialiased;
  word-break:keep-all;overflow-wrap:break-word; /* 한글 단어 잘림 방지 */
}
/* 페이지 배경: 청회색 그라데이션 + 입자 이미지 (화면에 고정) */
body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;
  background:
    linear-gradient(rgba(236,240,248,.35),rgba(236,240,248,.35)),
    url("../img/bg-mist.jpg") center/cover no-repeat;
}
@media (max-width:600px){
  body::before{background:
    linear-gradient(rgba(236,240,248,.35),rgba(236,240,248,.35)),
    url("../img/bg-mist-m.jpg") center/cover no-repeat;}
}
img,video{display:block;max-width:100%;height:auto}
h1,h2,h3,h4,h5,h6{
  font-family:var(--font-heading);font-weight:600;line-height:1.12;
  letter-spacing:-.015em;margin:0 0 10px;text-wrap:balance;word-break:keep-all;
}
p{margin:0 0 15px;text-wrap:pretty}
a{color:var(--color-accent);text-decoration:none;text-underline-offset:3px}
:focus{outline:none}
:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}
::selection{background:color-mix(in srgb,var(--color-accent) 30%,transparent)}
em{font-weight:400}
.mono{font-family:var(--font-heading);font-variant-numeric:tabular-nums}
.muted{color:var(--color-neutral-700)}
.skip{position:absolute;left:-9999px}
.skip:focus{left:12px;top:12px;z-index:200;background:#fff;padding:10px 16px;border:1px solid var(--color-accent)}

/* ---------- 4. 공통 요소 ---------- */
.wrap{max-width:var(--max);margin:0 auto;padding-inline:var(--pad)}
.sec{padding-top:var(--sec)}
.sec-b{padding-bottom:var(--sec)}
.hr{height:1px;border:0;background:var(--color-divider);margin:0}

.kicker{
  font-family:var(--font-heading);font-weight:600;font-size:11px;
  letter-spacing:.16em;text-transform:uppercase;display:inline-block;
}
.kicker-a{color:var(--color-accent-700)}
.kicker-dim{opacity:.5}

.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:6px;
  cursor:pointer;text-decoration:none;border:1px solid transparent;
  font-family:var(--font-heading);font-weight:600;font-size:12px;line-height:1.2;
  letter-spacing:.12em;text-transform:uppercase;
  color:var(--color-text);background:transparent;
  padding:13px 22px;border-radius:var(--radius-md);
  transition:background .18s ease,color .18s ease;
}
.btn-primary{background:var(--color-accent);color:var(--color-bg)}
.btn-primary:hover{background:var(--color-accent-600)}
.btn-primary:active{background:var(--color-accent-700)}
.btn-secondary{border-color:var(--color-divider)}
.btn-secondary:hover{background:color-mix(in srgb,var(--color-text) 7%,transparent)}
.btn-ghost{color:var(--color-accent);padding-inline:5px;align-self:flex-start}
.btn-ghost:hover{background:color-mix(in srgb,var(--color-accent) 10%,transparent)}
.btn-sm{font-size:12.5px;letter-spacing:.1em;padding:10px 19px}
.btn-block{width:100%}

.tagline{
  display:inline-block;border:1px solid var(--color-text);color:var(--color-text);
  font-family:var(--font-heading);font-weight:600;font-size:10px;
  letter-spacing:.14em;text-transform:uppercase;padding:4px 9px;
}
.card{
  display:flex;flex-direction:column;gap:10px;padding:18px;
  background:var(--color-surface);border-radius:var(--radius-md);
}
.card-kicker{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--color-accent)}
.card-title{font-family:var(--font-heading);font-weight:600;font-size:18px;line-height:1.25}
.card-meta{font-size:12px;color:var(--color-neutral-600)}

.field>label{display:block;font-size:12px;margin-bottom:6px;color:var(--color-neutral-700)}
.input{
  width:100%;min-height:44px;padding:10px 12px;font:inherit;font-size:15px;
  color:var(--color-text);caret-color:var(--color-accent);background:var(--color-surface);
  border:1px solid var(--color-divider);border-radius:var(--radius-md);
}
.input:hover{border-color:color-mix(in srgb,var(--color-text) 45%,transparent)}
.input:focus-visible{border-color:var(--color-accent);outline-offset:0}
textarea.input{min-height:120px;resize:vertical}

/* ---------- 5. 헤더 ---------- */
.site-header{
  position:sticky;top:0;z-index:100;
  background:color-mix(in srgb,var(--color-bg) 88%,transparent);
  backdrop-filter:saturate(150%) blur(10px);
  border-bottom:1px solid var(--color-divider);
}
.site-header.accent-rule{border-bottom:2px solid var(--color-accent)}
.hdr{
  max-width:var(--max);margin:0 auto;padding:16px var(--pad);
  display:flex;align-items:center;justify-content:space-between;gap:20px;
}
.brand{display:flex;align-items:center;color:inherit;flex:none}
.brand img{height:34px;width:auto;display:block}
@media (max-width:600px){.brand img{height:28px}}
.nav{display:flex;align-items:center;gap:clamp(16px,2vw,30px)}
.navlink{
  font-family:var(--font-heading);font-weight:600;font-size:13.5px;letter-spacing:.1em;
  text-transform:uppercase;color:var(--color-text);opacity:.78;padding-bottom:4px;
  border-bottom:2px solid transparent;
}
.navlink:hover{opacity:1;color:var(--color-accent-700)}
.navlink[aria-current="page"]{opacity:1;border-bottom-color:var(--color-accent)}

.lang{display:inline-flex;border:1px solid var(--color-divider);border-radius:var(--radius-md);overflow:hidden}
.lang button{
  font-family:var(--font-heading);font-weight:600;font-size:12.5px;letter-spacing:.08em;
  padding:7px 12px;background:transparent;border:0;color:var(--color-text);cursor:pointer;opacity:.6;
}
.lang button+button{border-left:1px solid var(--color-divider)}
.lang button[aria-pressed="true"]{background:var(--color-accent);color:var(--color-bg);opacity:1}

.burger{display:none;flex-direction:column;gap:5px;background:none;border:0;padding:8px;cursor:pointer}
.burger span{display:block;width:22px;height:1.5px;background:var(--color-text);transition:transform .2s,opacity .2s}
.burger[aria-expanded="true"] span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
.burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}

.drawer{display:none;border-top:1px solid var(--color-divider);background:var(--color-bg)}
.drawer.open{display:block}
.drawer a{
  display:block;padding:16px var(--pad);border-bottom:1px solid var(--color-divider);
  font-family:var(--font-heading);font-weight:600;font-size:13px;letter-spacing:.12em;
  text-transform:uppercase;color:var(--color-text);
}
.drawer a:last-child{border-bottom:0}

/* ---------- 6. 히어로 ---------- */
.hero{position:relative;min-height:min(660px,82vh);overflow:hidden;background:var(--color-bg);display:flex}
.hero video,.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero video{object-position:66% center}  /* 좁은 화면에서 가로로 잘릴 때 항체가 중앙에 오도록 */
.hero .scrim{position:absolute;inset:0;
  background:linear-gradient(100deg,rgba(228,233,243,.97) 0%,rgba(228,233,243,.9) 36%,rgba(228,233,243,.5) 55%,rgba(228,233,243,0) 72%)}
.hero-inner{position:relative;z-index:2;max-width:var(--max);margin:0 auto;width:100%;
  padding:clamp(56px,8vw,112px) var(--pad) clamp(64px,7vw,90px);
  display:flex;flex-direction:column;justify-content:center;gap:24px}
.hero-inner>*{max-width:min(950px,100%)}
.hero h1{font-size:clamp(31px,4.1vw,58px);line-height:1.02;letter-spacing:-.025em;margin:0;text-wrap:initial}
.hero p{font-size:clamp(16px,1.35vw,19px);line-height:1.5;margin:0;max-width:min(470px,100%);color:var(--color-neutral-800)}
.hero-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:6px}
.hero-foot{position:absolute;left:var(--pad);bottom:28px;z-index:2;display:flex;gap:16px;align-items:center;opacity:.55}
.hero-foot span{font-family:var(--font-heading);font-weight:600;font-size:11px;letter-spacing:.16em;text-transform:uppercase}

/* 홈 B — 분할 레지스터 */
.split{display:grid;grid-template-columns:44% 56%;min-height:600px}
.split-copy{padding:clamp(48px,6vw,78px) var(--pad);display:flex;flex-direction:column;justify-content:center;gap:22px}
.split-copy h1{font-size:clamp(29px,3.4vw,47px);line-height:1.04;letter-spacing:-.02em;margin:0}
.split-copy p{font-size:clamp(16px,1.3vw,18px);line-height:1.55;margin:0;max-width:42ch;color:var(--color-neutral-800)}
.split-media{position:relative;overflow:hidden;border-left:1px solid var(--color-divider);min-height:340px}
.split-media video{width:100%;height:100%;object-fit:cover}
.split-media .cap{position:absolute;left:22px;bottom:20px;opacity:.55}

/* ---------- 7. 그리드 ---------- */
.g2{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,4.4vw,64px)}
.g2-a{grid-template-columns:1.1fr 1fr}
.g2-b{grid-template-columns:1fr 2fr}
.g3{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(28px,3vw,44px)}
.g4{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(28px,2.8vw,40px)}
.center{align-items:center}
.start{align-items:start}
.end{align-items:end}

/* 번호 리스트 */
.numlist{display:flex;flex-direction:column;gap:clamp(24px,2.4vw,34px)}
.numrow{display:grid;grid-template-columns:44px 1fr;gap:20px}
.numrow .n{font-family:var(--font-heading);font-weight:600;font-variant-numeric:tabular-nums;
  font-size:13px;letter-spacing:.16em;color:var(--color-accent)}
.numrow h4{margin:0 0 6px;font-size:20px}
.numrow p{margin:0;font-size:16px;line-height:1.55;color:var(--color-neutral-800)}

/* 지표 */
.stat .fig{font-family:var(--font-heading);font-weight:600;font-size:clamp(40px,4.3vw,62px);
  line-height:.9;color:var(--color-accent-700);font-variant-numeric:tabular-nums;display:block}
.stat .lab{margin-top:16px}
.stat p{margin:6px 0 0;font-size:14px;color:var(--color-neutral-700)}
.statbar{display:grid;grid-template-columns:repeat(4,1fr);
  border-top:1px solid var(--color-divider);border-bottom:1px solid var(--color-divider)}
.statbar>div{padding:28px 32px 28px 0;border-right:1px solid var(--color-divider)}
.statbar>div+div{padding-left:32px}
.statbar>div:last-child{border-right:0}
.statbar .v{font-family:var(--font-heading);font-weight:600;font-size:clamp(24px,2.4vw,32px);
  color:var(--color-accent-700);font-variant-numeric:tabular-nums}
.statbar .k{margin-top:6px;opacity:.6}

/* 카드 상단 룰 */
.ruled{border-top:2px solid var(--color-text);padding-top:16px}
.ruled-a{border-top-color:var(--color-accent)}
.ruled-dim{border-top-color:var(--color-neutral-400)}
.ruled h4{margin:10px 0 6px;font-size:18px}
.ruled p{margin:0;font-size:15px;line-height:1.55;color:var(--color-neutral-800)}

/* 뉴스 */
.newsgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(28px,2.8vw,40px)}
.news h4{margin:14px 0 8px;font-size:19px;line-height:1.28}
.newsrow{border-top:1px solid var(--color-divider);padding-top:16px}
.newsrow h4{margin:8px 0 0;font-size:19px;line-height:1.3}
.sec-head{display:flex;justify-content:space-between;align-items:baseline;gap:20px;margin-bottom:28px;flex-wrap:wrap}

/* 표 */
.table-scroll{overflow-x:auto}
.table{width:100%;border-collapse:collapse;font-size:15px;min-width:640px}
.table th{text-align:left;font-family:var(--font-heading);font-weight:600;font-size:11px;
  letter-spacing:.08em;text-transform:uppercase;color:var(--color-neutral-600);
  padding:12px 10px;border-bottom:1px solid var(--color-divider)}
.table td{padding:14px 10px;border-bottom:1px solid color-mix(in srgb,var(--color-text) 8%,transparent);
  vertical-align:top}
.table tbody tr:hover{background:color-mix(in srgb,var(--color-text) 4%,transparent)}

/* 파이프라인 */
.pl-head,.pl-row{display:grid;grid-template-columns:230px 1fr;border-top:1px solid var(--color-divider)}
.pl-head{grid-template-columns:230px repeat(5,1fr)}
.pl-head>div{padding:12px 0}
.pl-row{align-items:center;padding:18px 0}
.pl-row>div:first-child{padding-right:24px}
.pl-row:last-of-type{border-bottom:1px solid var(--color-divider)}
.pl-row h4{margin:0;font-size:18px}
.bar{height:12px;background:var(--color-neutral-200);position:relative}
.bar i{position:absolute;inset:0 auto 0 0;background:var(--color-accent);display:block}
.bar i.dim{background:var(--color-neutral-600)}

/* 배너 이미지 */
.banner{position:relative;height:clamp(280px,34vw,420px);overflow:hidden;margin-top:var(--sec)}
.banner img{width:100%;height:100%;object-fit:cover}
.banner .scrim{position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(228,233,243,.95) 0%,rgba(228,233,243,.6) 42%,rgba(228,233,243,0) 72%)}
.banner .copy{position:absolute;left:var(--pad);right:var(--pad);top:50%;transform:translateY(-50%);max-width:460px}
.banner h3{font-size:clamp(22px,2.4vw,30px);margin:0 0 12px;line-height:1.15}
.pagehero{position:relative;height:clamp(260px,28vw,400px);overflow:hidden}
.pagehero img{width:100%;height:100%;object-fit:cover}
.pagehero .scrim{position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(228,233,243,.95) 0%,rgba(228,233,243,.55) 45%,rgba(228,233,243,0) 75%)}
.pagehero .copy{position:absolute;left:var(--pad);right:var(--pad);top:50%;transform:translateY(-50%);max-width:880px}
.pagehero h1{font-size:clamp(34px,4.2vw,54px);line-height:1.06;margin:14px 0 0}

.pagetop{padding-top:clamp(48px,5.4vw,78px)}
.pagetop h1{font-size:clamp(36px,4.6vw,60px);line-height:1.05;margin:16px 0 18px}
.pagetop p{font-size:clamp(16px,1.3vw,18px);line-height:1.6;color:var(--color-neutral-800);max-width:52ch;margin:0}

/* CTA / 푸터 */
.cta{margin-top:var(--sec);background:var(--color-surface)}
.cta .in{max-width:var(--max);margin:0 auto;padding:clamp(48px,5vw,72px) var(--pad);
  display:flex;justify-content:space-between;align-items:flex-end;gap:28px;flex-wrap:wrap}
.cta h2{font-size:clamp(30px,3.6vw,52px);margin:14px 0 0;line-height:1.05}
.cta-rule{margin-top:var(--sec);border-top:2px solid var(--color-accent);background:transparent}
.site-footer{border-top:1px solid var(--color-divider)}
.site-footer .in{max-width:var(--max);margin:0 auto;padding:28px var(--pad);
  display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;
  font-size:13px;color:var(--color-neutral-700)}

.figcap{display:block;margin-top:12px;opacity:.5}
.portrait{width:100%;aspect-ratio:4/5;background:var(--color-surface);
  border:1px solid var(--color-divider);display:grid;place-items:center;
  color:var(--color-neutral-500);font-size:12px;letter-spacing:.06em;text-align:center;padding:12px}
.member h4{margin:16px 0 2px}
.member p{margin:10px 0 0;font-size:15px;line-height:1.55;color:var(--color-neutral-800)}

/* ── 모달리티 카드 (R&D) ── */
.modality{display:flex;flex-direction:column;background:var(--color-surface)}
.modality img{width:100%;aspect-ratio:16/9;object-fit:cover}
.modality-body{padding:22px 24px 26px;display:flex;flex-direction:column;gap:6px;flex:1}
.modality-body h3{margin:2px 0 14px;font-size:clamp(20px,1.9vw,23px);line-height:1.2}
.ticks{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.ticks li{position:relative;padding-left:18px;font-size:15.5px;line-height:1.5;color:var(--color-neutral-800)}
.ticks li::before{content:"";position:absolute;left:0;top:.62em;width:8px;height:1.5px;background:var(--color-accent)}

/* ── 비전 4원칙 ── */
.pillar-n{display:block;font-family:var(--font-heading);font-weight:600;
  font-size:clamp(30px,2.8vw,42px);line-height:.9;color:var(--color-accent-700);
  font-variant-numeric:tabular-nums;margin-bottom:14px}
.ruled h4{margin:0 0 2px;font-size:20px}
.ruled p{margin:0;font-size:15px;color:var(--color-neutral-700)}

/* ── 팀 ── */
.teamgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(22px,2.2vw,34px)}
.portrait-img{width:100%;aspect-ratio:4/5;object-fit:cover}
.member h4{margin:16px 0 2px;font-size:20px}

/* ── 파이프라인 표 ── */
.pipeline-scroll{overflow-x:auto}
.pl-head,.pl-row{display:grid;align-items:center;gap:16px;min-width:640px;
  border-top:1px solid var(--color-divider)}
.pl-head>div{padding:12px 0}
.pl-row{padding:20px 0}
.pl-row:last-of-type{border-bottom:1px solid var(--color-divider)}
.pl-row h4{margin:0;font-size:19px;font-variant-numeric:tabular-nums}
.pl-cell{font-size:15px;color:var(--color-neutral-800)}
.bar{height:12px;background:var(--color-neutral-200);position:relative}
.bar i{position:absolute;inset:0 auto 0 0;background:var(--color-accent);display:block}
.bar i.dim{background:var(--color-neutral-500)}

/* ── 뉴스 목록 ── */
.newslist{display:flex;flex-direction:column}
.newsrow{border-top:1px solid var(--color-divider);padding:22px 0}
.newsrow:last-child{border-bottom:1px solid var(--color-divider)}
.newsrow h4{margin:8px 0 0;font-size:20px;line-height:1.35}
.newsrow-x{margin:10px 0 0;font-size:15px;line-height:1.6;color:var(--color-neutral-700);max-width:78ch;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.feature img{width:100%;max-height:420px;object-fit:cover}
.filter{display:inline-flex;border:1px solid var(--color-divider);border-radius:var(--radius-md);overflow:hidden}
.filter button{font-family:var(--font-heading);font-weight:600;font-size:11px;letter-spacing:.13em;
  text-transform:uppercase;padding:9px 16px;background:transparent;border:0;color:var(--color-text);
  cursor:pointer;opacity:.62}
.filter button+button{border-left:1px solid var(--color-divider)}
.filter button[aria-pressed="true"]{background:var(--color-accent);color:var(--color-bg);opacity:1}

/* ── 연락처 ── */
.contact-info{display:grid;grid-template-columns:1fr 1fr;gap:26px 32px;padding-top:6px}
.contact-info p{margin:8px 0 0;font-size:17px;line-height:1.5}

/* 관리 데이터가 만든 링크 — 본문색 유지 */
.news a,.newsrow a,.feature a{color:inherit;display:block}
.news a:hover h4,.newsrow a:hover h4,.feature a:hover h2{color:var(--color-accent-700)}

/* ---------- 8. 등장 애니메이션 ---------- */
/* JS가 켜진 경우에만 숨겼다가 등장. JS 미작동 시에는 그대로 노출됨 */
.has-js .rv{opacity:0;transform:translateY(14px);transition:opacity .6s ease,transform .6s ease}
.has-js .rv.is-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.has-js .rv{opacity:1;transform:none;transition:none}}

/* ---------- 9. 반응형 ---------- */
@media (max-width:1080px){
  .g4{grid-template-columns:repeat(2,1fr)}
  .statbar{grid-template-columns:repeat(2,1fr)}
  .statbar>div:nth-child(2){border-right:0}
  .statbar>div:nth-child(-n+2){border-bottom:1px solid var(--color-divider)}
  .pl-head{display:none}
}
@media (max-width:1080px){.teamgrid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:900px){
  .teamgrid{grid-template-columns:repeat(2,1fr)}
  .contact-info{grid-template-columns:1fr}
  .nav{display:none}
  .burger{display:flex}
  .g2,.g2-a,.g2-b{grid-template-columns:1fr}
  .g3,.newsgrid{grid-template-columns:1fr}
  .split{grid-template-columns:1fr}
  .split-media{border-left:0;border-top:1px solid var(--color-divider);height:52vw;min-height:260px}
  .hero{min-height:auto}
  .hero .scrim{background:linear-gradient(180deg,rgba(228,233,243,.95) 0%,rgba(228,233,243,.8) 48%,rgba(228,233,243,.55) 100%)}
  .hero-inner{padding-bottom:96px}
  .hero-foot{bottom:22px}
  .banner .scrim,.pagehero .scrim{
    background:linear-gradient(180deg,rgba(228,233,243,.9) 0%,rgba(228,233,243,.7) 60%,rgba(228,233,243,.4) 100%)}
  .cta .in{align-items:flex-start;flex-direction:column}
  .pl-row{grid-template-columns:1fr;gap:12px}
}
@media (max-width:600px){
  .teamgrid{grid-template-columns:1fr 1fr}
  .g4,.statbar{grid-template-columns:1fr}
  .statbar>div{border-right:0;border-bottom:1px solid var(--color-divider);padding-right:0}
  .statbar>div:last-child{border-bottom:0}
  .numrow{grid-template-columns:34px 1fr;gap:14px}
  .brand .sub{display:none}
}

/* ---------- 10. 국문 표시 ---------- */
html[lang="ko"] body{
  font-family:susan-sans,"Noto Sans KR",-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;
  letter-spacing:-.01em;
}
html[lang="ko"] h1,html[lang="ko"] h2,html[lang="ko"] h3,html[lang="ko"] h4{
  font-family:susan-sans,"Noto Sans KR",-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;letter-spacing:-.015em;
}
html[lang="ko"] .kicker,html[lang="ko"] .navlink,html[lang="ko"] .btn,html[lang="ko"] .tagline{
  letter-spacing:.06em;
}
/* 국문은 글자폭이 넓어 대형 제목만 한 단계 축소 */
html[lang="ko"] .hero h1{font-size:clamp(29px,3.7vw,54px)}
html[lang="ko"] .split-copy h1{font-size:clamp(27px,3.1vw,44px)}
html[lang="ko"] .pagetop h1,html[lang="ko"] .pagehero h1{font-size:clamp(28px,3.4vw,46px)}
html[lang="ko"] .cta h2{font-size:clamp(26px,3vw,42px)}
html[lang="ko"] .hero-inner>*{max-width:min(760px,100%)}
