:root {
  --bip-orange: #DD5D1C;
  --bip-orange-dark: #B84A14;
  --bip-orange-light: #E97A45;
  --bip-paper: #FAF7F0;
  --bip-paper-warm: #F2EEE0;
  --bip-paper-cool: #FBFBF9;
  --bip-ink: #1A1A1A;
  --bip-ink-soft: #2A2A2A;
  --bip-forest: #1B4332;
  --bip-forest-dark: #0E2D20;
  --bip-gray: #737373;
  --bip-gray-light: #A8A8A8;
  --bip-border: #E5E0D5;
  --bip-border-soft: #EEE9DC;
  --bip-white: #FFFFFF;

  --bip-spine-1: #DD5D1C;
  --bip-spine-2: #1B4332;
  --bip-spine-3: #2B5174;
  --bip-spine-4: #5C4033;
  --bip-spine-5: #4A1942;
  --bip-spine-6: #2F3E46;

  --bip-shadow-card: 0 2px 8px rgba(26, 26, 26, 0.06);
  --bip-shadow-card-hover: 0 8px 24px rgba(26, 26, 26, 0.10);
  --bip-shadow-deep: 0 12px 32px rgba(26, 26, 26, 0.14);

  --bip-font-serif: 'Lora', 'Nanum Myeongjo', Georgia, serif;
  --bip-font-sans: 'Pretendard', 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
  --bip-font-mono: 'IBM Plex Mono', 'Menlo', 'Courier New', monospace;

  --bip-container: 1320px;
  --bip-container-text: 720px;

  --bip-radius: 2px;
  --bip-radius-lg: 4px;

  --bip-s1: 4px;
  --bip-s2: 8px;
  --bip-s3: 12px;
  --bip-s4: 16px;
  --bip-s5: 24px;
  --bip-s6: 32px;
  --bip-s7: 48px;
  --bip-s8: 64px;
  --bip-s9: 96px;
}

* {
  box-sizing: border-box;
}

body.wp-theme-astra {
  font-family: var(--bip-font-sans);
  font-size: 16px;
  line-height: 1.7;
  color: var(--bip-ink);
  background: var(--bip-paper);
  margin: 0;
  padding: 0;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body.wp-theme-astra a {
  color: var(--bip-orange);
  text-decoration: none;
  transition: color 0.18s ease;
}

body.wp-theme-astra a:hover,
body.wp-theme-astra a:focus {
  color: var(--bip-orange-dark);
  text-decoration: underline;
}

body.wp-theme-astra h1,
body.wp-theme-astra h2,
body.wp-theme-astra h3,
body.wp-theme-astra h4,
body.wp-theme-astra h5,
body.wp-theme-astra h6 {
  font-family: var(--bip-font-serif);
  color: var(--bip-ink);
  font-weight: 700;
  line-height: 1.3;
  margin: 0 0 var(--bip-s4);
  letter-spacing: -0.015em;
}

body.wp-theme-astra h1 {
  font-size: 2.5rem;
}

body.wp-theme-astra h2 {
  font-size: 1.875rem;
}

body.wp-theme-astra h3 {
  font-size: 1.375rem;
}

body.wp-theme-astra h4 {
  font-size: 1.125rem;
}

body.wp-theme-astra p {
  margin: 0 0 var(--bip-s4);
}

body.wp-theme-astra img {
  max-width: 100%;
  height: auto;
}

body.wp-theme-astra ::selection {
  background: var(--bip-orange);
  color: var(--bip-paper);
}

.bip-mono {
  font-family: var(--bip-font-mono);
  letter-spacing: 0.02em;
}

.bip-serif {
  font-family: var(--bip-font-serif);
}

.bip-uppercase {
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.bip-small {
  font-size: 12px;
  line-height: 1.5;
}
