/*
 * iNRISE Design Tokens — SSOT
 * Source: _data/브랜드/디자인_토큰.md + Claude Design
 */

/* Fonts */
@import url('https://cdn.jsdelivr.net/gh/wanteddev/wanted-sans@v1.0.0/packages/wanted-sans/fonts/webfonts/variable/complete/WantedSansVariable.min.css');
@import url('https://fonts.googleapis.com/css2?family=Libre+Baskerville:wght@400;700&display=swap');

@font-face {
	font-family: "The Jamsil";
	font-style: normal;
	font-weight: 500;
	font-display: swap;
	src: url("https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_2302_01@1.0/TheJamsil4Medium.woff2") format("woff2");
}

@font-face {
	font-family: "TheJamsil";
	font-style: normal;
	font-weight: 500;
	font-display: swap;
	src: url("https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_2302_01@1.0/TheJamsil4Medium.woff2") format("woff2");
}

@font-face {
	font-family: "The Jamsil 4 Medium";
	font-style: normal;
	font-weight: 500;
	font-display: swap;
	src: url("https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_2302_01@1.0/TheJamsil4Medium.woff2") format("woff2");
}

@font-face {
	font-family: "The Jamsil";
	font-style: normal;
	font-weight: 700;
	font-display: swap;
	src: url("https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_2302_01@1.0/TheJamsil5Bold.woff2") format("woff2");
}

@font-face {
	font-family: "TheJamsil";
	font-style: normal;
	font-weight: 700;
	font-display: swap;
	src: url("https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_2302_01@1.0/TheJamsil5Bold.woff2") format("woff2");
}

@font-face {
	font-family: "The Jamsil 5 Bold";
	font-style: normal;
	font-weight: 700;
	font-display: swap;
	src: url("https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_2302_01@1.0/TheJamsil5Bold.woff2") format("woff2");
}

:root {
	/* ── Surfaces (light base · 화이트 + 네이비 틴트 그레이) ── */
	--bg:        #ffffff;   /* 순백 · 메인 배경 */
	--bg-alt:    #f4f6fa;   /* 네이비 틴트 그레이 · 섹션 교차 */
	--bg-cream:  #f4f6fa;   /* 레거시 호환 (크림 폐기, alt와 동일) */
	--bg-white:  #ffffff;

	/* ── Navy (primary — 🎯 iNRISE 로고 딥블루 #003664) ── */
	--navy:       #003664;   /* PRIMARY · 로고 정확한 값에서 추출 */
	--navy-ink:   #002a50;   /* hover · 더 진한 톤 */
	--navy-800:   #00234a;   /* 가장 진한 네이비 */
	--navy-700:   #003664;   /* primary와 동일 (레거시 호환) */
	--navy-600:   #0a4a7d;   /* 보조 액센트 */
	--navy-50:    #f4f6fa;   /* subtle tint 배경 */
	--navy-100:   #e4ebf3;   /* hover 배경 */
	--navy-200:   #c6d3e2;   /* 경계 강조 */

	/* ── Ink (text) ── */
	--ink:    #141620;
	--ink-2:  #1e2030;
	--ink-3:  #3f4354;
	--ink-4:  #6b7080;
	--ink-5:  #9ca0b0;

	/* ── Accent (Blue — premium navy/blue system) ── */
	--blue-accent:     #7fb7e8;
	--blue-accent-ink: #4f93c8;
	--blue-accent-08:  rgba(79, 147, 200, 0.10);
	--blue-accent-18:  rgba(79, 147, 200, 0.18);
	--accent:          var(--blue-accent);
	--accent-ink:      var(--blue-accent-ink);
	--yellow:          var(--blue-accent);     /* legacy alias */
	--yellow-ink:      var(--blue-accent-ink); /* legacy alias */
	--gold:            var(--blue-accent);     /* legacy alias */
	--gold-ink:        var(--blue-accent-ink); /* legacy alias */
	--gold-08:         var(--blue-accent-08);
	--gold-18:         var(--blue-accent-18);

	/* ── LP deep (랜딩페이지 전용) ── */
	--lp-black:  #000000;
	--lp-deep:   #0b1024;

	/* ── Final CTA gradient ── */
	--cta-navy-start: #001a34;
	--cta-navy-end:   #001225;

	/* ── Lines ── */
	--line:      #e5e8ef;   /* 연한 네이비-그레이 hairline */
	--line-2:    #cfd4dc;   /* 진한 border */
	--line-navy: #e4ebf3;

	/* ── Status ── */
	--warn: #b85a00;
	--ok:   #0e7a4d;

	/* ── Type ── */
	--font-sans:  "Wanted Sans Variable", "Wanted Sans", -apple-system, BlinkMacSystemFont, "Apple SD Gothic Neo", "Malgun Gothic", sans-serif;
	--font-serif-name: "Libre Baskerville";
	--font-serif: var(--font-serif-name), "Times New Roman", Times, serif;
	--font-classic-serif: var(--font-serif); /* legacy alias: serif는 한 변수축으로 통일 */
	--font-header: "The Jamsil", "TheJamsil", "The Jamsil 4 Medium", "The Jamsil 5 Bold", var(--font-sans);

	/* ── Layout ── */
	--shell-max: 1200px;
	--r-sm: 4px;
	--r-md: 6px;
	--r-lg: 10px;
	--r-btn: 0;

	/* ── Heading System ── */
	--heading-kicker-size: 12px;
	--heading-kicker-tracking: 0.14em;
	--heading-title-size: clamp(34px, 4.2vw, 58px);
	--heading-title-size-hero: clamp(38px, 5vw, 70px);
	--heading-english-size: clamp(28px, 3.4vw, 44px);
	--heading-english-size-sm: clamp(24px, 2.8vw, 38px);

	/* ── Motion ── */
	--ease-out: cubic-bezier(0.22, 1, 0.36, 1);
}

/* ── Base reset ── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body {
	font-family: var(--font-sans);
	font-size: 15px;
	line-height: 1.7;
	letter-spacing: -0.005em;
	color: var(--ink-2);
	background: var(--bg);
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
	word-break: keep-all;
	overflow-x: hidden;
}

button { font-family: inherit; cursor: pointer; border: 0; background: transparent; color: inherit; }
a { color: inherit; text-decoration: none; }
img, svg, video { max-width: 100%; display: block; }
ul, ol { list-style: none; }

::selection { background: var(--navy); color: #fff; }

/* ── 한글 가드 (절대 serif/italic 금지) ── */
:lang(ko), [lang="ko"] { font-style: normal !important; }
.serif:lang(ko) { font-family: var(--font-sans) !important; }
em:lang(ko) { font-family: var(--font-sans) !important; font-style: normal !important; }

/* ── Serif util ── */
.serif { font-family: var(--font-serif); font-weight: 400; font-style: italic; letter-spacing: -0.01em; }
