:root {
            --primary: #3a1e7f;
            --secondary: #0095da;
            --body-text: #282828;
            --body-bg: #ffffff;
            --border-color: #aaaaaa;
            --header-bg: #ffffff;
            --footer-bg: #111111;
            --footer-text: #ffffff;
            --link-color: #3a1e7f;
            --card-bg: #ffffff;
            --success: #16a34a;
            --alert: #ef4444;
            --warning: #f59e0b;
            --disabled: #94a3b8;
            --content-width: 1280px;
            --content-wide: 1720px;
            --grid-min: 280px;
            --content-gutter-min: 20px;
            --content-gutter-max: 48px;
            --content-gutter-fluid: 4vw;
            --content-gutter: clamp(var(--content-gutter-min, 20px), var(--content-gutter-fluid, 4vw), var(--content-gutter-max, 48px));
            --site-width: 1240px;
            --btn-bg: #3a1e7f;
            --btn-bg-hover: #311a6c;
            --btn-color: #ffffff;
            --btn-color-hover: #ffffff;
            --btn-radius: clamp(6px, 1vw, 12px);
            --btn-padding: clamp(9px, 1vw, 12px) clamp(18px, 2.5vw, 28px);
            --btn-padding-2xs: clamp(3px, 0.4vw, 5px) clamp(8px, 1vw, 12px);
            --btn-padding-xs: clamp(4px, 0.5vw, 6px) clamp(10px, 1.5vw, 16px);
            --btn-padding-sm: clamp(6px, 0.8vw, 8px) clamp(14px, 2vw, 20px);
            --btn-padding-lg: clamp(11px, 1.2vw, 14px) clamp(24px, 3vw, 36px);
            --btn-padding-xl: clamp(14px, 1.6vw, 17px) clamp(30px, 3.8vw, 48px);
            --btn-padding-2xl: clamp(17px, 2vw, 22px) clamp(38px, 4.5vw, 60px);
            --btn-border: 1px;
            --btn-border-color: #2c175f;
            --btn-border-color-hover: #23124c;
            /* WP FSE Presets Sync */
            --wp--preset--color--primary: #3a1e7f;
            --wp--preset--color--secondary: #0095da;
            /* ── 디자인 토큰 (daganda) — 테마 옵션 [스타일 & 컬러 토큰] → 디자인 토큰 관리 ── */
            --shadow-xs: 0 1px 2px rgba(0, 0, 0, .05);
            --shadow-sm: 0 1px 3px rgba(0, 0, 0, .08), 0 1px 2px rgba(0, 0, 0, .04);
            --shadow-md: 0 4px 8px rgba(0, 0, 0, .08), 0 2px 4px rgba(0, 0, 0, .04);
            --shadow-lg: 0 10px 20px rgba(0, 0, 0, .10), 0 4px 8px rgba(0, 0, 0, .05);
            --shadow-xl: 0 20px 35px rgba(0, 0, 0, .14), 0 8px 14px rgba(0, 0, 0, .07);
            --shadow-2xl: 0 30px 50px rgba(0, 0, 0, .18), 0 12px 20px rgba(0, 0, 0, .08);
            --shadow-3xl: 0 45px 70px rgba(0, 0, 0, .22), 0 18px 30px rgba(0, 0, 0, .10);
            --shadow-primary: 0 12px 30px rgba(0, 70, 173, .15);
            --border: #e2e8f0;
            --border-light: #f1f5f9;
            --radius-xs: 4px;
            --radius-sm: 8px;
            --radius-md: 12px;
            --radius-lg: 20px;
            --radius-xl: 32px;
            --radius-2xl: 16px;
            --radius-3xl: 24px;
            --pale-blue: #f4f7fb;
            --section-xss-py: clamp(0.5rem, 1vw, 0.75rem);
            --section-xs-py: clamp(1rem, 2vw, 1.5rem);
            --section-sm-py: clamp(1.5rem, 2vw, 1.6rem);
            --section-md-py: clamp(2.25rem, 4vw, 3.5rem);
            --section-lg-py: clamp(3rem, 8vw, 6.25rem);
            --section-xl-py: clamp(4rem, 10vw, 8rem);
            --section-xxl-py: clamp(5rem, 12vw, 10rem);
            --section-py: var(--section-lg-py);
            --section-small-py: var(--section-sm-py);
            --gap-xs: clamp(0.5rem, 1vw, 0.75rem);
            --gap-sm: clamp(1rem, 2vw, 1.5rem);
            --gap-md: clamp(1.5rem, 4vw, 2.5rem);
            --gap-lg: clamp(2rem, 6vw, 4rem);
            --gap-xl: clamp(2.5rem, 8vw, 5rem);
            --gap-2xl: clamp(3rem, 10vw, 6.5rem);
            --gap-3xl: clamp(3.5rem, 12vw, 8rem);
            --gamma: 1;
            --density: 1;
            --hero: 1;
            --layout: 1;
            --pad: 1;
            --margin: 1;
            --gap: 1;
            --card: 1;
            --space-base: 4px;
            --spacing-factor: calc((1 + (var(--gamma, 1) - 1) * 1) * var(--density, 1));
            --type-factor: calc(1 + (var(--gamma, 1) - 1) * 1.15);
            --hero-factor: calc(var(--type-factor, 1) * var(--hero, 1));
            --layout-factor: calc(var(--spacing-factor, 1) * var(--layout, 1));
            --radius-factor: calc(1 + (var(--gamma, 1) - 1) * 0.85);
            --pad-factor: calc(var(--spacing-factor, 1) * var(--pad, 1));
            --margin-factor: calc(var(--spacing-factor, 1) * var(--margin, 1));
            --gap-factor: calc(var(--spacing-factor, 1) * var(--gap, 1));
            --card-factor: calc(var(--spacing-factor, 1) * var(--card, 1));
            --color-primary-50: color-mix(in oklch, var(--primary) 12%, white);
            --color-primary-100: color-mix(in oklch, var(--primary) 25%, white);
            --color-primary-200: color-mix(in oklch, var(--primary) 40%, white);
            --color-primary-300: color-mix(in oklch, var(--primary) 55%, white);
            --color-primary-400: color-mix(in oklch, var(--primary) 75%, white);
            --color-primary-500: var(--primary);
            --color-primary-600: color-mix(in oklch, var(--primary) 88%, black);
            --color-primary-700: color-mix(in oklch, var(--primary) 75%, black);
            --color-primary-800: color-mix(in oklch, var(--primary) 62%, black);
            --color-primary-900: color-mix(in oklch, var(--primary) 50%, black);
            --color-secondary-50: color-mix(in oklch, var(--secondary) 12%, white);
            --color-secondary-100: color-mix(in oklch, var(--secondary) 25%, white);
            --color-secondary-200: color-mix(in oklch, var(--secondary) 40%, white);
            --color-secondary-300: color-mix(in oklch, var(--secondary) 55%, white);
            --color-secondary-400: color-mix(in oklch, var(--secondary) 75%, white);
            --color-secondary-500: var(--secondary);
            --color-secondary-600: color-mix(in oklch, var(--secondary) 88%, black);
            --color-secondary-700: color-mix(in oklch, var(--secondary) 75%, black);
            --color-secondary-800: color-mix(in oklch, var(--secondary) 62%, black);
            --color-secondary-900: color-mix(in oklch, var(--secondary) 50%, black);
            --color-success-50: color-mix(in oklch, var(--success) 12%, white);
            --color-success-100: color-mix(in oklch, var(--success) 25%, white);
            --color-success-200: color-mix(in oklch, var(--success) 40%, white);
            --color-success-300: color-mix(in oklch, var(--success) 55%, white);
            --color-success-400: color-mix(in oklch, var(--success) 75%, white);
            --color-success-600: color-mix(in oklch, var(--success) 88%, black);
            --color-success-700: color-mix(in oklch, var(--success) 75%, black);
            --color-success-800: color-mix(in oklch, var(--success) 62%, black);
            --color-success-900: color-mix(in oklch, var(--success) 50%, black);
            --color-success-500: var(--success);
            --color-warning-50: color-mix(in oklch, var(--warning) 12%, white);
            --color-warning-100: color-mix(in oklch, var(--warning) 25%, white);
            --color-warning-200: color-mix(in oklch, var(--warning) 40%, white);
            --color-warning-300: color-mix(in oklch, var(--warning) 55%, white);
            --color-warning-400: color-mix(in oklch, var(--warning) 75%, white);
            --color-warning-600: color-mix(in oklch, var(--warning) 88%, black);
            --color-warning-700: color-mix(in oklch, var(--warning) 75%, black);
            --color-warning-800: color-mix(in oklch, var(--warning) 62%, black);
            --color-warning-900: color-mix(in oklch, var(--warning) 50%, black);
            --color-warning-500: var(--warning);
            --color-alert-50: color-mix(in oklch, var(--alert) 12%, white);
            --color-alert-100: color-mix(in oklch, var(--alert) 25%, white);
            --color-alert-200: color-mix(in oklch, var(--alert) 40%, white);
            --color-alert-300: color-mix(in oklch, var(--alert) 55%, white);
            --color-alert-400: color-mix(in oklch, var(--alert) 75%, white);
            --color-alert-600: color-mix(in oklch, var(--alert) 88%, black);
            --color-alert-700: color-mix(in oklch, var(--alert) 75%, black);
            --color-alert-800: color-mix(in oklch, var(--alert) 62%, black);
            --color-alert-900: color-mix(in oklch, var(--alert) 50%, black);
            --color-alert-500: var(--alert);
            --color-body-text-50: color-mix(in oklch, var(--body-text) 12%, white);
            --color-body-text-100: color-mix(in oklch, var(--body-text) 25%, white);
            --color-body-text-200: color-mix(in oklch, var(--body-text) 40%, white);
            --color-body-text-300: color-mix(in oklch, var(--body-text) 55%, white);
            --color-body-text-400: color-mix(in oklch, var(--body-text) 75%, white);
            --color-body-text-600: color-mix(in oklch, var(--body-text) 88%, black);
            --color-body-text-700: color-mix(in oklch, var(--body-text) 75%, black);
            --color-body-text-800: color-mix(in oklch, var(--body-text) 62%, black);
            --color-body-text-900: color-mix(in oklch, var(--body-text) 50%, black);
            --color-body-text-500: var(--body-text);
            --fs-2xs: calc(var(--fs-base) * 0.6667);
            --fs-xs: calc(var(--fs-base) * 0.8);
            --fs-sm: calc(var(--fs-base) * 0.8667);
            --fs-base: 15px;
            --vpd-xs: calc(2.1875vw * var(--pad-factor, var(--spacing-factor, 1)));
            --vpd-sm: calc(4.5vw * var(--pad-factor, var(--spacing-factor, 1)));
            --vpd-md: calc(6.25vw * var(--pad-factor, var(--spacing-factor, 1)));
            --vpd-lg: calc(9.375vw * var(--pad-factor, var(--spacing-factor, 1)));
            --vpd-xl: calc(15.875vw * var(--pad-factor, var(--spacing-factor, 1)));
            --vpd-2xl: calc(21.875vw * var(--pad-factor, var(--spacing-factor, 1)));
            --vpd-3xl: calc(28vw * var(--pad-factor, var(--spacing-factor, 1)));
            --vpd-y-t: calc(15.625vw * var(--pad-factor, var(--spacing-factor, 1)));
            --vpd-y-b: calc(8vw * var(--pad-factor, var(--spacing-factor, 1)));
            --vpd-y-t-xs: calc(4vw * var(--pad-factor, var(--spacing-factor, 1)));
            --vpd-y-b-xs: calc(2vw * var(--pad-factor, var(--spacing-factor, 1)));
            --vpd-y-t-sm: calc(7vw * var(--pad-factor, var(--spacing-factor, 1)));
            --vpd-y-b-sm: calc(4vw * var(--pad-factor, var(--spacing-factor, 1)));
            --vpd-y-t-md: calc(11vw * var(--pad-factor, var(--spacing-factor, 1)));
            --vpd-y-b-md: calc(6vw * var(--pad-factor, var(--spacing-factor, 1)));
            --vpd-y-t-lg: calc(15.625vw * var(--pad-factor, var(--spacing-factor, 1)));
            --vpd-y-b-lg: calc(8vw * var(--pad-factor, var(--spacing-factor, 1)));
            --vpd-y-t-xl: calc(20vw * var(--pad-factor, var(--spacing-factor, 1)));
            --vpd-y-b-xl: calc(11vw * var(--pad-factor, var(--spacing-factor, 1)));
            --vpd-y-t-2xl: calc(26vw * var(--pad-factor, var(--spacing-factor, 1)));
            --vpd-y-b-2xl: calc(14vw * var(--pad-factor, var(--spacing-factor, 1)));
            --vpd-y-t-3xl: calc(33vw * var(--pad-factor, var(--spacing-factor, 1)));
            --vpd-y-b-3xl: calc(17vw * var(--pad-factor, var(--spacing-factor, 1)));
            --vsub-h1: calc(8.2vw * var(--type-factor, 1));
            --vsub-h2: calc(6vw * var(--type-factor, 1));
            --vsub-h3: calc(4.4vw * var(--type-factor, 1));
            --vsub-h4: calc(3.2vw * var(--type-factor, 1));
            --vsub-h5: calc(2.2vw * var(--type-factor, 1));
            --vsub-h6: calc(1.6vw * var(--type-factor, 1));
            --vtxt: calc(0.9375vw * var(--type-factor, 1));
            --fs-md: calc(var(--fs-base) * 1.1333);
            --fs-lg: calc(var(--fs-base) * 1.3333);
            --fs-xl: calc(var(--fs-base) * 1.6);
            --fs-2xl: calc(var(--fs-base) * 2);
            --fs-3xl: calc(var(--fs-base) * 2.4);
            --fs-4xl: calc(var(--fs-base) * 2.8);
            --fs-5xl: calc(var(--fs-base) * 3.2);
            --fs-6xl: calc(var(--fs-base) * 3.6);
            --fs-7xl: calc(var(--fs-base) * 4);
            --fs-8xl: calc(var(--fs-base) * 4.8);
            --fs-9xl: calc(var(--fs-base) * 5.6);
            --fs-10xl: calc(var(--fs-base) * 6.4);
            --wp--preset--font-size--xs: clamp(14px, 14px + ((1vw - 0.2rem) * 1), 16px);
            --type-xs: var(--wp--preset--font-size--xs, clamp(14px, 14px + ((1vw - 0.2rem) * 1), 16px));
            --wp--preset--font-size--sm: clamp(15px, 15px + ((1vw - 0.2rem) * 1), 17px);
            --type-sm: var(--wp--preset--font-size--sm, clamp(15px, 15px + ((1vw - 0.2rem) * 1), 17px));
            --wp--preset--font-size--md: clamp(16px, 16px + ((1vw - 0.2rem) * 1.5), 19px);
            --type-md: var(--wp--preset--font-size--md, clamp(16px, 16px + ((1vw - 0.2rem) * 1.5), 19px));
            --wp--preset--font-size--lg: clamp(18px, 18px + ((1vw - 0.2rem) * 2), 22px);
            --type-lg: var(--wp--preset--font-size--lg, clamp(18px, 18px + ((1vw - 0.2rem) * 2), 22px));
            --wp--preset--font-size--xl: clamp(22px, 22px + ((1vw - 0.2rem) * 3), 28px);
            --type-xl: var(--wp--preset--font-size--xl, clamp(22px, 22px + ((1vw - 0.2rem) * 3), 28px));
            --wp--preset--font-size--2xl: clamp(28px, 28px + ((1vw - 0.2rem) * 3), 34px);
            --type-2xl: var(--wp--preset--font-size--2xl, clamp(28px, 28px + ((1vw - 0.2rem) * 3), 34px));
            --wp--preset--font-size--3xl: clamp(34px, 34px + ((1vw - 0.2rem) * 4), 44px);
            --type-3xl: var(--wp--preset--font-size--3xl, clamp(34px, 34px + ((1vw - 0.2rem) * 4), 44px));
            --h1-fs: var(--type-2xl);
            --h2-fs: var(--type-xl);
            --h3-fs: var(--type-lg);
            --h4-fs: var(--type-md);
            --h5-fs: var(--type-md);
            --h6-fs: var(--type-xs);
            --p-fs: var(--fs-base);
            --h1-mt: 0;
            --h1-mb: clamp(1.5rem, 1.5rem + ((1vw - 0.2rem) * 1.2), 2.75rem);
            --h1-lh: 1.4;
            --h1-ls: -0.02em;
            --h2-mt: 0;
            --h2-mb: clamp(1.25rem, 1.25rem + ((1vw - 0.2rem) * 1), 2.25rem);
            --h2-lh: 1.4;
            --h2-ls: -0.02em;
            --h3-mt: 0;
            --h3-mb: clamp(1rem, 1rem + ((1vw - 0.2rem) * 0.8), 1.75rem);
            --h3-lh: 1.45;
            --h3-ls: -0.01em;
            --h4-mt: 0;
            --h4-mb: clamp(0.875rem, 0.875rem + ((1vw - 0.2rem) * 0.6), 1.5rem);
            --h4-lh: 1.5;
            --h4-ls: 0;
            --h5-mt: 0;
            --h5-mb: clamp(0.75rem, 0.75rem + ((1vw - 0.2rem) * 0.4), 1.25rem);
            --h5-lh: 1.55;
            --h5-ls: 0;
            --h6-mt: 0;
            --h6-mb: clamp(0.625rem, 0.625rem + ((1vw - 0.2rem) * 0.3), 1rem);
            --h6-lh: 1.55;
            --h6-ls: 0;
            --p-mt: 0;
            --p-mb: clamp(0.75rem, 0.75rem + ((1vw - 0.2rem) * 0.5), 1.25rem);
            --p-lh: 1.8;
            --p-ls: 0;
        }
        /* ── 타이포그래피 요소 규칙 (h1~h6 / p — 📝 타이포 탭에서 설정) ── */
        h1{font-size:var(--h1-fs);line-height:var(--h1-lh,1.5);letter-spacing:var(--h1-ls,0);margin-top:var(--h1-mt,0);margin-bottom:var(--h1-mb,1em);}
        h2{font-size:var(--h2-fs);line-height:var(--h2-lh,1.5);letter-spacing:var(--h2-ls,0);margin-top:var(--h2-mt,0);margin-bottom:var(--h2-mb,1em);}
        h3{font-size:var(--h3-fs);line-height:var(--h3-lh,1.5);letter-spacing:var(--h3-ls,0);margin-top:var(--h3-mt,0);margin-bottom:var(--h3-mb,1em);}
        h4{font-size:var(--h4-fs);line-height:var(--h4-lh,1.5);letter-spacing:var(--h4-ls,0);margin-top:var(--h4-mt,0);margin-bottom:var(--h4-mb,1em);}
        h5{font-size:var(--h5-fs);line-height:var(--h5-lh,1.5);letter-spacing:var(--h5-ls,0);margin-top:var(--h5-mt,0);margin-bottom:var(--h5-mb,1em);}
        h6{font-size:var(--h6-fs);line-height:var(--h6-lh,1.5);letter-spacing:var(--h6-ls,0);margin-top:var(--h6-mt,0);margin-bottom:var(--h6-mb,1em);}
        p{font-size:var(--p-fs);line-height:var(--p-lh,1.5);letter-spacing:var(--p-ls,0);margin-top:var(--p-mt,0);margin-bottom:var(--p-mb,1em);}
