:root {
    /* Brand Colors */
    --primary: #0046ad;          /* Main Brand Blue */
    --primary-hover:#003582;
    --primary-dark: #003582;     /* Darker variation for hover */
    --primary-light: #eef4ff;    /* Super light for backgrounds/badges */
    --primary-soft: #d0e1ff;     /* Soft variation */
    
    --secondary: #0056ff;        /* Vibrant Point Blue */
    --secondary-light: #f0f6ff;
    
    --accent-red: #e60013;       /* Official Logo Red */
    --accent-red-light: #fff0f1;

    --brand-dark: #0b2860;
    /* Neutral Colors */
    --gray:#b4b4b4;
    --dark: #0b2860;             /* Navy based on brand color */
    --darker: #051635;
    --text-main: #1e293b;
    --text-muted: #64748b;
    --bg-body: #ffffff;
    --bg-pale: #f8fafc;
    --bg-white: #ffffff;
    
    /* System Colors */
    --success: #10b981;
    --danger: var(--accent-red); /* Using brand red for danger */
    --warning: #f59e0b;
    --info: var(--secondary);
    
    /* Layout & Spacing */
    --cont: 1240px;
    --border: #e2e8f0;
    --border-light: #f1f5f9;
    
    /* Shapes & Shadows */
    --radius-sm: 8px;
    --radius-md: 12px;
    --radius-lg: 20px;
    --radius-xl: 32px;
    --radius-full: 9999px;
    
    --shadow-sm: 0 4px 6px -1px rgba(0,0,0,0.05);
    --shadow-md: 0 10px 15px -3px rgba(0,0,0,0.08);
    --shadow-lg: 0 20px 25px -5px rgba(0,0,0,0.1);
    --shadow-primary: 0 12px 30px rgba(0, 70, 173, 0.15);
    
    /* Interaction */
    --transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    /*hero*/
    --hero-bg: #0046ad;
    --hero-height: 350px;
    --hero-height-tab: 300px;
    --hero-height-mob: 260px;
    --hero-align: left;
    --hero-title-color: #ffffff;
    --hero-title-size: 48px;
    --hero-title-size-tab: 36px;
    --hero-title-size-mob: 28px;
    --hero-sub-color: rgba(255,255,255,0.8);
    --hero-sub-size: 18px;
    --hero-sub-size-tab: 16px;
    --hero-sub-size-mob: 14px;
    --hero-b-color: rgba(255,255,255,0.6);
    --hero-b-size: 13px;
    --hero-b-size-tab: 12px;
    --hero-b-size-mob: 11px;
    --pale-blue: #f4f7fb;

    /*section padding*/
    --section-py: clamp(3rem, 8vw, 6.25rem); /* 48px ~ 100px */
    --section-small-py: clamp(1.5rem, 2vw, 1.6rem);
    --gap-sm: clamp(1rem, 2vw, 1.5rem);      /* 16px ~ 24px */
    --gap-md: clamp(1.5rem, 4vw, 2.5rem);    /* 24px ~ 40px */
    --gap-lg: clamp(2rem, 6vw, 4rem);        /* 32px ~ 64px */
}

/* base.css - Theme Core variables & Global Overrides */

/* Fluid Typography System - Adjusted for 15px Base */
:root {
    --fs-xs: clamp(0.7rem, 0.65rem + 0.2vw, 0.8125rem);   /* ~11px - 13px */
    --fs-sm: clamp(0.8125rem, 0.75rem + 0.3vw, 0.9375rem); /* ~13px - 15px */
    --fs-base: 15px; /* Fixed Base as requested */
    --fs-md: clamp(1.0625rem, 1rem + 0.3vw, 1.1875rem);   /* ~17px - 19px */
    --fs-lg: clamp(1.1875rem, 1.1rem + 0.5vw, 1.375rem);  /* ~19px - 22px */
    --fs-xl: clamp(1.375rem, 1.25rem + 0.7vw, 1.75rem);   /* ~22px - 28px */
    --fs-2xl: clamp(1.75rem, 1.5rem + 1.2vw, 2.5rem);     /* ~28px - 40px */
    --fs-3xl: clamp(2.25rem, 2rem + 1.5vw, 3.25rem);      /* ~36px - 52px */
}
html,body{
    font-family: "Pretendard", sans-serif;
    width:100%;
    height:100%;
    margin:0;
    padding:0
}
body {
    font-family: "Pretendard", sans-serif;
    -webkit-font-smoothing: antialiased;
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
    background-color: #fff;
    font-size: 15px;
    line-height: 1.5;
    font-weight: normal;
    letter-spacing: -.015rem;
    color: var(--text-main);
}

/* Headings with Fluid Scaling */
h1, h2, h3, h4, h5, h6 {
    color: var(--dark);
    line-height: 1.3;
    font-weight: 800; /* Avoid 900 as requested */
    margin-bottom: 0.5em;
    letter-spacing: -0.02em;
}

h1 { font-size: var(--fs-3xl); }
h2 { font-size: var(--fs-2xl); }
h3 { font-size: var(--fs-xl); }
h4 { font-size: var(--fs-lg); }
h5 { font-size: var(--fs-md); }
h6 { font-size: var(--fs-sm); }

p, li, dd, td, th {
    font-size: var(--fs-base);
    color: var(--text-main);
}

small { font-size: var(--fs-xs); }
span { font-size: inherit; }

/* Global Links */
a { transition: var(--transition); text-decoration: none; color: inherit; }
img { max-width: 100%; height: auto; display: block; }
pre{font-family: "Pretendard", sans-serif;}

