        :root {
            --ink: #0c151f;
            --ink-soft: #24313d;
            --navy: #111d2a;
            --blue: #2468d8;
            --blue-light: #e9f1ff;
            --amber: #f2a619;
            --amber-soft: #fff3d8;
            --paper: #f5f3ee;
            --white: #ffffff;
            --line: #dce1e5;
            --muted: #66727d;
            --container: 1240px;
            --radius-lg: 28px;
            --radius-md: 18px;
            --shadow: 0 24px 70px rgba(13, 24, 36, .12);
        }

        * { box-sizing: border-box; }
        html { font-size: 17px; scroll-behavior: smooth; }
        body {
            margin: 0;
            color: var(--ink);
            background: var(--paper);
            font-family: "Noto Sans KR", sans-serif;
            word-break: keep-all;
            overflow-x: hidden;
        }
        body.menu-open { overflow: hidden; }
        ::selection { color: var(--ink); background: var(--amber); }
        a { color: inherit; text-decoration: none; }
        button, input, select, textarea { font: inherit; }
        img { display: block; max-width: 100%; }
        svg { display: block; }

        .skip-link {
            position: fixed;
            top: 10px;
            left: 10px;
            z-index: 200;
            padding: 12px 18px;
            border-radius: 8px;
            color: #fff;
            background: var(--blue);
            transform: translateY(-140%);
            transition: transform .2s;
        }
        .skip-link:focus { transform: translateY(0); }

        .container {
            width: min(calc(100% - 48px), var(--container));
            margin-inline: auto;
        }
        .section { padding: 132px 0; }
        .section-kicker {
            display: inline-flex;
            align-items: center;
            gap: 10px;
            margin: 0 0 24px;
            color: var(--blue);
            font-family: "Manrope", sans-serif;
            font-size: .8rem;
            font-weight: 800;
            letter-spacing: .15em;
            text-transform: uppercase;
        }
        .section-kicker::before {
            content: "";
            width: 28px;
            height: 2px;
            background: currentColor;
        }
        .section-title {
            max-width: 820px;
            margin: 0;
            font-size: clamp(2.15rem, 4.4vw, 4.25rem);
            line-height: 1.16;
            letter-spacing: -.055em;
        }
        .section-lead {
            max-width: 690px;
            margin: 28px 0 0;
            color: var(--muted);
            font-size: clamp(1.02rem, 1.5vw, 1.22rem);
            line-height: 1.9;
        }
        .accent { color: var(--blue); }
        .amber { color: var(--amber); }
        .eyebrow-dot {
            width: 7px;
            height: 7px;
            border-radius: 99px;
            background: var(--amber);
            box-shadow: 0 0 0 6px rgba(242, 166, 25, .13);
        }
        .reveal {
            opacity: 0;
            transform: translateY(24px);
            transition: opacity .75s ease, transform .75s ease;
        }
        .reveal.is-visible { opacity: 1; transform: none; }
		
/* button */
        .button {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 10px;
            min-height: 56px;
            padding: 0 25px;
            border: 1px solid transparent;
            border-radius: 12px;
            font-size: .96rem;
            font-weight: 800;
            cursor: pointer;
            transition: transform .25s, background .25s, border-color .25s;
        }
        .button svg { width: 18px; }
        .button-primary { color: var(--ink); background: var(--amber); }
        .button-primary:hover { transform: translateY(-3px); background: #ffb72c; }
        .button-ghost { color: #fff; border-color: rgba(255, 255, 255, .35); background: rgba(255,255,255,.04); }
        .button-ghost:hover { transform: translateY(-3px); border-color: #fff; background: rgba(255,255,255,.1); }