/* ============================================
   EAP Website — Overseas Music Conservatory Aesthetic
   Inspired by Juilliard, Yale School of Music, Curtis
   ============================================ */

/* ===== Localized Google Fonts (woff2) — no external dependency ===== */

@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 300;
  font-display: swap;
  src: url('fonts/cormorant-garamond-300-italic-s0.woff2') format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 300;
  font-display: swap;
  src: url('fonts/cormorant-garamond-300-italic-s1.woff2') format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 300;
  font-display: swap;
  src: url('fonts/cormorant-garamond-300-italic-s2.woff2') format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 300;
  font-display: swap;
  src: url('fonts/cormorant-garamond-300-italic-s3.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 300;
  font-display: swap;
  src: url('fonts/cormorant-garamond-300-italic-s4.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url('fonts/cormorant-garamond-400-italic-s0.woff2') format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url('fonts/cormorant-garamond-400-italic-s1.woff2') format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url('fonts/cormorant-garamond-400-italic-s2.woff2') format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url('fonts/cormorant-garamond-400-italic-s3.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url('fonts/cormorant-garamond-400-italic-s4.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url('fonts/cormorant-garamond-300-normal-s0.woff2') format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url('fonts/cormorant-garamond-300-normal-s1.woff2') format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url('fonts/cormorant-garamond-300-normal-s2.woff2') format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url('fonts/cormorant-garamond-300-normal-s3.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url('fonts/cormorant-garamond-300-normal-s4.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('fonts/cormorant-garamond-400-normal-s0.woff2') format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('fonts/cormorant-garamond-400-normal-s1.woff2') format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('fonts/cormorant-garamond-400-normal-s2.woff2') format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('fonts/cormorant-garamond-400-normal-s3.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('fonts/cormorant-garamond-400-normal-s4.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('fonts/cormorant-garamond-500-normal-s0.woff2') format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('fonts/cormorant-garamond-500-normal-s1.woff2') format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('fonts/cormorant-garamond-500-normal-s2.woff2') format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('fonts/cormorant-garamond-500-normal-s3.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('fonts/cormorant-garamond-500-normal-s4.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('fonts/cormorant-garamond-600-normal-s0.woff2') format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('fonts/cormorant-garamond-600-normal-s1.woff2') format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('fonts/cormorant-garamond-600-normal-s2.woff2') format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('fonts/cormorant-garamond-600-normal-s3.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('fonts/cormorant-garamond-600-normal-s4.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('fonts/cormorant-garamond-700-normal-s0.woff2') format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('fonts/cormorant-garamond-700-normal-s1.woff2') format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('fonts/cormorant-garamond-700-normal-s2.woff2') format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('fonts/cormorant-garamond-700-normal-s3.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('fonts/cormorant-garamond-700-normal-s4.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url('fonts/inter-300-normal-s0.woff2') format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url('fonts/inter-300-normal-s1.woff2') format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url('fonts/inter-300-normal-s2.woff2') format('woff2');
  unicode-range: U+1F00-1FFF;
}

@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url('fonts/inter-300-normal-s3.woff2') format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}

@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url('fonts/inter-300-normal-s4.woff2') format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url('fonts/inter-300-normal-s5.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url('fonts/inter-300-normal-s6.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('fonts/inter-400-normal-s0.woff2') format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('fonts/inter-400-normal-s1.woff2') format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('fonts/inter-400-normal-s2.woff2') format('woff2');
  unicode-range: U+1F00-1FFF;
}

@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('fonts/inter-400-normal-s3.woff2') format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}

@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('fonts/inter-400-normal-s4.woff2') format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('fonts/inter-400-normal-s5.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('fonts/inter-400-normal-s6.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('fonts/inter-500-normal-s0.woff2') format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('fonts/inter-500-normal-s1.woff2') format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('fonts/inter-500-normal-s2.woff2') format('woff2');
  unicode-range: U+1F00-1FFF;
}

@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('fonts/inter-500-normal-s3.woff2') format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}

@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('fonts/inter-500-normal-s4.woff2') format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('fonts/inter-500-normal-s5.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('fonts/inter-500-normal-s6.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('fonts/inter-600-normal-s0.woff2') format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('fonts/inter-600-normal-s1.woff2') format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('fonts/inter-600-normal-s2.woff2') format('woff2');
  unicode-range: U+1F00-1FFF;
}

@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('fonts/inter-600-normal-s3.woff2') format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}

@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('fonts/inter-600-normal-s4.woff2') format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('fonts/inter-600-normal-s5.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('fonts/inter-600-normal-s6.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ---------- Reset & Base ---------- */
*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }

:root {
    --cream:        #FAF7F1;
    --cream-2:      #F3EEE5;
    --ink:          #1F1D1A;
    --ink-soft:     #3A3630;
    --muted:        #7A746B;
    --line:         #E6DFD2;
    --line-2:       #D6CDBC;
    --accent:       #8B6B3D;     /* warm bronze / antique gold */
    --accent-dark:  #6A512C;
    --wine:         #5C2B20;     /* deep oxblood, very subtle */
    --white:        #FFFFFF;
    --max:          1240px;
}

html { scroll-behavior: smooth; }

body {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    background: var(--cream);
    color: var(--ink);
    font-weight: 400;
    line-height: 1.75;
    font-size: 16px;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

h1, h2, h3, h4, h5, h6 {
    font-family: 'Cormorant Garamond', 'Times New Roman', serif;
    font-weight: 500;
    line-height: 1.2;
    color: var(--ink);
    letter-spacing: -0.01em;
}

a {
    color: inherit;
    text-decoration: none;
    transition: color .3s ease, opacity .3s ease;
}
a:hover { color: var(--accent); }

img { max-width: 100%; display: block; height: auto; }

.container {
    max-width: var(--max);
    margin: 0 auto;
    padding: 0 40px;
}

@media (max-width: 720px) {
    .container { padding: 0 24px; }
    body { font-size: 15px; line-height: 1.7; }
}

/* ---------- Utility ---------- */
.eyebrow {
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 0.32em;
    text-transform: uppercase;
    color: var(--accent);
    margin-bottom: 20px;
    display: block;
}

.hairline {
    width: 48px;
    height: 1px;
    background: var(--accent);
    margin: 0 auto 28px;
}

.hairline-left { margin-left: 0; }

.text-center { text-align: center; }

/* ---------- Buttons ---------- */
.btn {
    display: inline-block;
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 0.28em;
    text-transform: uppercase;
    padding: 14px 34px;
    border: 1px solid var(--ink);
    color: var(--ink);
    background: transparent;
    transition: all .35s ease;
    cursor: pointer;
}
.btn:hover {
    background: var(--ink);
    color: var(--cream);
    border-color: var(--ink);
}

.btn-dark {
    background: var(--ink);
    color: var(--cream);
    border-color: var(--ink);
}
.btn-dark:hover {
    background: var(--wine);
    border-color: var(--wine);
    color: var(--cream);
}

.btn-accent {
    background: var(--accent);
    color: var(--cream);
    border-color: var(--accent);
}
.btn-accent:hover {
    background: var(--accent-dark);
    border-color: var(--accent-dark);
    color: var(--cream);
}

.link-arrow {
    display: inline-block;
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 0.28em;
    text-transform: uppercase;
    color: var(--ink);
    border-bottom: 1px solid var(--ink);
    padding-bottom: 4px;
    transition: all .35s ease;
}
.link-arrow::after {
    content: ' →';
    transition: transform .35s ease;
    display: inline-block;
}
.link-arrow:hover {
    color: var(--accent);
    border-color: var(--accent);
}
.link-arrow:hover::after {
    transform: translateX(4px);
}

/* ============================================
   NAVIGATION
   ============================================ */
.nav {
    position: sticky;
    top: 0;
    z-index: 500;
    background: rgba(250, 247, 241, 0.96);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border-bottom: 1px solid var(--line);
}

.nav-inner {
    max-width: var(--max);
    margin: 0 auto;
    padding: 0 40px;
    height: 92px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 40px;
}

.nav-logo {
    display: flex;
    align-items: center;
    flex-shrink: 0;
}
.nav-logo img {
    height: 48px;
    width: auto;
    object-fit: contain;
}

.nav-menu {
    display: flex;
    align-items: center;
    gap: 38px;
    list-style: none;
    flex: 1;
    justify-content: center;
}

.nav-menu a {
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 0.24em;
    text-transform: uppercase;
    color: var(--ink-soft);
    position: relative;
    padding: 6px 0;
}
.nav-menu a.active,
.nav-menu a:hover {
    color: var(--ink);
}
.nav-menu a.active::after,
.nav-menu a:hover::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 1px;
    background: var(--accent);
}

/* Back to parent conservatory site (Irvine Conservatory) */
.nav-menu a.nav-back {
    font-size: 10.5px;
    font-weight: 400;
    letter-spacing: 0.22em;
    color: var(--accent);
    text-transform: uppercase;
    opacity: 0.92;
    padding-right: 18px;
    margin-right: 6px;
    position: relative;
}
.nav-menu a.nav-back::before {
    content: '';
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    height: 18px;
    width: 1px;
    background: var(--line-2);
}
.nav-menu a.nav-back:hover {
    color: var(--wine);
    opacity: 1;
}
.nav-menu a.nav-back::after { display: none !important; }

.nav-apply {
    display: inline-block;
    font-size: 10.5px;
    font-weight: 500;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    padding: 11px 20px;
    background: var(--wine);
    color: var(--cream) !important;
    border: 1px solid var(--wine);
    transition: all .35s ease;
    flex-shrink: 0;
}
.nav-apply:hover {
    background: #7a3a2c;
    border-color: #7a3a2c;
    color: var(--cream) !important;
}
.nav-apply::after { display: none !important; }

.nav-toggle { display: none; }

@media (max-width: 980px) {
    .nav-inner {
        flex-wrap: wrap;
        height: auto;
        padding: 16px 24px;
        gap: 16px;
    }
    .nav-logo img { height: 36px; }
    .nav-menu {
        order: 3;
        width: 100%;
        flex-wrap: wrap;
        gap: 20px 24px;
        padding: 12px 0;
        border-top: 1px solid var(--line);
        justify-content: flex-start;
    }
}

/* ============================================
   HERO (Home)
   ============================================ */
.hero {
    position: relative;
    min-height: 88vh;
    display: flex;
    align-items: center;
    padding: 120px 40px;
    background:
        linear-gradient(180deg, rgba(31,29,26,0.55) 0%, rgba(31,29,26,0.35) 55%, rgba(31,29,26,0.7) 100%),
        url('../images/hero-bg.jpg');
    background-size: cover;
    background-position: center;
    color: var(--cream);
    overflow: hidden;
}

.hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background:
        radial-gradient(ellipse at 20% 30%, rgba(139,107,61,0.2), transparent 60%),
        radial-gradient(ellipse at 80% 80%, rgba(92,43,32,0.18), transparent 55%);
    pointer-events: none;
}

.hero-inner {
    position: relative;
    z-index: 1;
    max-width: var(--max);
    margin: 0 auto;
    width: 100%;
}

.hero-inner .eyebrow { color: rgba(250, 247, 241, 0.85); }

.hero h1 {
    font-family: 'Cormorant Garamond', serif;
    font-weight: 400;
    font-size: clamp(48px, 8vw, 104px);
    line-height: 1.02;
    letter-spacing: -0.015em;
    color: var(--cream);
    margin-bottom: 28px;
}
.hero h1 em {
    font-style: italic;
    font-weight: 300;
    color: #E8D5B3;
}

.hero-tagline {
    font-family: 'Cormorant Garamond', serif;
    font-style: italic;
    font-weight: 300;
    font-size: clamp(22px, 3vw, 32px);
    line-height: 1.3;
    color: #EFE5D0;
    margin-bottom: 36px;
    opacity: 0.95;
}

.hero-desc {
    font-size: 15px;
    line-height: 1.85;
    max-width: 560px;
    color: rgba(250, 247, 241, 0.82);
    margin-bottom: 48px;
}

.hero-ctas {
    display: flex;
    flex-wrap: wrap;
    gap: 18px;
    align-items: center;
}
.hero .btn {
    border-color: rgba(250, 247, 241, 0.9);
    color: var(--cream);
}
.hero .btn:hover {
    background: var(--cream);
    color: var(--ink);
    border-color: var(--cream);
}

@media (max-width: 720px) {
    .hero { padding: 90px 24px; min-height: 78vh; }
    .hero-desc { margin-bottom: 36px; }
}

/* ============================================
   SECTION COMMON
   ============================================ */
.section {
    padding: 140px 0;
}
.section-tight { padding: 100px 0; }
.section-cream-2 { background: var(--cream-2); }
.section-ink { background: var(--ink); color: var(--cream); }
.section-ink h1, .section-ink h2, .section-ink h3, .section-ink h4 { color: var(--cream); }

.section-head {
    max-width: 780px;
    margin: 0 auto 80px;
    text-align: center;
}

.section-head h2 {
    font-size: clamp(34px, 5vw, 56px);
    font-weight: 400;
    margin-bottom: 24px;
    letter-spacing: -0.01em;
}
.section-head h2 em { font-style: italic; color: var(--accent); font-weight: 400; }
.section-ink .section-head h2 em { color: #D8BE90; }

.section-head p {
    font-size: 16px;
    line-height: 1.85;
    color: var(--muted);
}
.section-ink .section-head p { color: rgba(250,247,241,0.7); }

/* ============================================
   PILLARS / VALUES
   ============================================ */
.pillars {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0;
    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
}

.pillar {
    padding: 56px 48px;
    border-right: 1px solid var(--line);
    position: relative;
    transition: background .4s ease;
}
.pillar:last-child { border-right: none; }
.pillar:hover { background: var(--cream-2); }

.pillar-num {
    font-family: 'Cormorant Garamond', serif;
    font-size: 13px;
    font-style: italic;
    color: var(--accent);
    letter-spacing: 0.18em;
    margin-bottom: 24px;
    display: block;
}

.pillar h3 {
    font-size: 26px;
    font-weight: 500;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    margin-bottom: 18px;
    color: var(--ink);
}

.pillar p {
    font-size: 14.5px;
    line-height: 1.8;
    color: var(--muted);
}

@media (max-width: 860px) {
    .pillars { grid-template-columns: 1fr; }
    .pillar { border-right: none; border-bottom: 1px solid var(--line); padding: 40px 24px; }
    .pillar:last-child { border-bottom: none; }
}

/* ============================================
   FEATURED ARTISTS — home cards
   ============================================ */
.artists-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 40px;
}

.artist-card {
    display: block;
    transition: transform .45s ease;
}
.artist-card:hover { transform: translateY(-6px); }
.artist-card:hover .artist-img::after { opacity: 0; }
.artist-card:hover .artist-img img { transform: scale(1.04); }

.artist-img {
    width: 100%;
    aspect-ratio: 4 / 5;
    overflow: hidden;
    margin-bottom: 24px;
    position: relative;
    background: var(--cream-2);
}
.artist-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .7s ease;
}
.artist-img::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 55%, rgba(31,29,26,0.22) 100%);
    transition: opacity .4s ease;
    pointer-events: none;
}

.artist-cat {
    font-size: 10px;
    font-weight: 500;
    letter-spacing: 0.3em;
    text-transform: uppercase;
    color: var(--accent);
    margin-bottom: 10px;
    display: block;
}

.artist-card h3 {
    font-size: 28px;
    font-weight: 500;
    margin-bottom: 8px;
    letter-spacing: -0.005em;
}

.artist-role {
    font-family: 'Cormorant Garamond', serif;
    font-style: italic;
    font-size: 16px;
    color: var(--muted);
    margin-bottom: 12px;
}

.artist-brief {
    font-size: 14px;
    line-height: 1.75;
    color: var(--muted);
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
}

.artists-cta {
    margin-top: 72px;
    text-align: center;
}

@media (max-width: 900px) {
    .artists-grid { grid-template-columns: 1fr; gap: 56px; max-width: 480px; margin: 0 auto; }
}

/* ============================================
   MENTOR FEATURE — home
   ============================================ */
.mentor-row {
    display: grid;
    grid-template-columns: 0.92fr 1fr;
    gap: 80px;
    align-items: center;
}

.mentor-portrait {
    aspect-ratio: 4 / 5;
    overflow: hidden;
    background: var(--cream-2);
}
.mentor-portrait img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.mentor-info .eyebrow { color: var(--accent); }

.mentor-info h3 {
    font-size: clamp(34px, 4vw, 52px);
    font-weight: 500;
    margin-bottom: 16px;
    letter-spacing: -0.01em;
}

.mentor-positions {
    font-family: 'Cormorant Garamond', serif;
    font-style: italic;
    font-size: 18px;
    line-height: 1.7;
    color: var(--muted);
    margin-bottom: 28px;
    padding-bottom: 28px;
    border-bottom: 1px solid var(--line);
}

.mentor-info p {
    font-size: 15px;
    line-height: 1.9;
    color: var(--ink-soft);
    margin-bottom: 24px;
}

.mentor-cta-wrap { margin-top: 8px; }

@media (max-width: 900px) {
    .mentor-row { grid-template-columns: 1fr; gap: 44px; }
    .mentor-portrait { max-width: 420px; }
}

/* ============================================
   GROWTH PATHWAY
   ============================================ */
.pathway {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 0;
    margin: 10px auto 36px;
    max-width: 960px;
}
.pathway-step {
    font-family: 'Cormorant Garamond', serif;
    font-style: italic;
    font-size: clamp(20px, 2.5vw, 26px);
    color: var(--cream);
    padding: 10px 18px;
    border: 1px solid rgba(232, 213, 179, 0.25);
    letter-spacing: 0.02em;
    background: rgba(255,255,255,0.02);
}
.pathway-arrow {
    color: rgba(232, 213, 179, 0.55);
    padding: 0 14px;
    font-family: 'Cormorant Garamond', serif;
    font-size: 24px;
}

.section-ink .pathway-cta {
    text-align: center;
    margin-top: 40px;
}
.section-ink .link-arrow {
    color: #E8D5B3;
    border-color: rgba(232, 213, 179, 0.5);
}
.section-ink .link-arrow:hover { color: var(--cream); border-color: var(--cream); }

@media (max-width: 720px) {
    .pathway { flex-direction: column; gap: 8px; }
    .pathway-arrow { transform: rotate(90deg); padding: 4px 0; }
}

/* ============================================
   EVENTS PREVIEW (home)
   ============================================ */
.events-preview {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
    max-width: 960px;
    margin: 0 auto;
}

.event-row {
    display: grid;
    grid-template-columns: 110px 1fr;
    padding: 32px 0;
    border-top: 1px solid var(--line);
    align-items: start;
    gap: 28px;
    transition: background .35s ease;
    padding-left: 12px;
    padding-right: 12px;
}
.event-row:hover { background: var(--cream-2); }

.event-date-box {
    border: 1px solid var(--line-2);
    padding: 16px 10px;
    text-align: center;
    background: var(--white);
}
.event-month {
    font-size: 10px;
    letter-spacing: 0.28em;
    text-transform: uppercase;
    color: var(--accent);
    font-weight: 500;
}
.event-day {
    font-family: 'Cormorant Garamond', serif;
    font-size: 38px;
    font-weight: 500;
    line-height: 1;
    margin: 6px 0 4px;
    color: var(--ink);
}
.event-year {
    font-size: 11px;
    color: var(--muted);
    letter-spacing: 0.1em;
}

.event-kind {
    font-size: 10px;
    letter-spacing: 0.3em;
    text-transform: uppercase;
    color: var(--accent);
    margin-bottom: 8px;
    font-weight: 500;
}
.event-row h4 {
    font-size: 23px;
    font-weight: 500;
    margin-bottom: 8px;
    letter-spacing: -0.005em;
}
.event-meta {
    font-family: 'Cormorant Garamond', serif;
    font-style: italic;
    color: var(--muted);
    font-size: 15px;
}

.events-cta { text-align: center; margin-top: 64px; }

@media (max-width: 820px) {
    .events-preview { grid-template-columns: 1fr; }
    .event-row { grid-template-columns: 90px 1fr; padding: 24px 0; gap: 20px; }
}

/* ============================================
   CTA / BANNER
   ============================================ */
.banner {
    text-align: center;
    padding: 160px 40px;
    background:
        linear-gradient(180deg, rgba(31,29,26,0.55), rgba(31,29,26,0.75)),
        url('../images/banner-bg.jpg');
    background-size: cover;
    background-position: center;
    color: var(--cream);
}
.banner h2 {
    font-family: 'Cormorant Garamond', serif;
    font-style: italic;
    font-weight: 400;
    font-size: clamp(28px, 4.5vw, 50px);
    line-height: 1.3;
    color: var(--cream);
    max-width: 820px;
    margin: 0 auto 24px;
}
.banner p {
    font-family: 'Cormorant Garamond', serif;
    font-style: italic;
    color: rgba(250, 247, 241, 0.7);
    font-size: 16px;
    letter-spacing: 0.06em;
}

/* ============================================
   PAGE HEADER (inner pages)
   ============================================ */
.page-head {
    padding: 120px 40px 90px;
    background: var(--cream-2);
    border-bottom: 1px solid var(--line);
    text-align: center;
}
.page-head-inner { max-width: 820px; margin: 0 auto; }

.page-head .eyebrow { color: var(--accent); }

.page-head h1 {
    font-size: clamp(44px, 6vw, 76px);
    font-weight: 400;
    letter-spacing: -0.015em;
    margin-bottom: 22px;
}
.page-head h1 em { font-style: italic; color: var(--accent); font-weight: 400; }

.page-head p {
    font-family: 'Cormorant Garamond', serif;
    font-size: 20px;
    font-style: italic;
    color: var(--muted);
    line-height: 1.6;
}

/* ============================================
   ABOUT PAGE
   ============================================ */
.about-body {
    max-width: 760px;
    margin: 0 auto;
    padding: 100px 40px;
}
.about-body p {
    font-size: 17px;
    line-height: 1.95;
    color: var(--ink-soft);
    margin-bottom: 26px;
}
.about-body p:first-of-type::first-letter {
    font-family: 'Cormorant Garamond', serif;
    font-size: 76px;
    font-weight: 500;
    color: var(--accent);
    float: left;
    line-height: 0.85;
    padding: 8px 14px 0 0;
}

.vision-box {
    margin-top: 70px;
    padding: 52px;
    background: var(--cream-2);
    border-left: 2px solid var(--accent);
    position: relative;
}
.vision-box::before {
    content: '“';
    font-family: 'Cormorant Garamond', serif;
    font-size: 120px;
    color: var(--accent);
    position: absolute;
    top: 8px;
    left: 44px;
    line-height: 1;
    opacity: 0.3;
}
.vision-box h3 {
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    letter-spacing: 0.3em;
    text-transform: uppercase;
    color: var(--accent);
    margin-bottom: 20px;
    font-weight: 500;
}
.vision-box p {
    font-family: 'Cormorant Garamond', serif;
    font-style: italic;
    font-size: 22px;
    line-height: 1.55;
    color: var(--ink);
    margin-bottom: 0;
    position: relative;
    z-index: 1;
}

/* ============================================
   ARTISTS DETAIL PAGE
   ============================================ */
.artist-detail {
    padding: 120px 0;
    border-bottom: 1px solid var(--line);
}
.artist-detail:last-child { border-bottom: none; }

.artist-detail-inner {
    display: grid;
    grid-template-columns: 360px 1fr;
    gap: 72px;
    align-items: start;
}

.artist-big-photo {
    aspect-ratio: 3 / 4;
    overflow: hidden;
    background: var(--cream-2);
    position: sticky;
    top: 120px;
}
.artist-big-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.artist-detail-info .eyebrow { margin-bottom: 14px; }

.artist-detail-info h2 {
    font-size: clamp(40px, 5vw, 60px);
    font-weight: 400;
    letter-spacing: -0.01em;
    margin-bottom: 12px;
}

.artist-instrument-line {
    font-family: 'Cormorant Garamond', serif;
    font-style: italic;
    font-size: 20px;
    color: var(--accent);
    margin-bottom: 26px;
    padding-bottom: 26px;
    border-bottom: 1px solid var(--line);
}

.artist-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 36px;
}
.badge {
    font-size: 10.5px;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    padding: 8px 16px;
    border: 1px solid var(--line-2);
    color: var(--accent);
    background: var(--white);
}
.badge-wine {
    border-color: rgba(92, 43, 32, 0.3);
    color: var(--wine);
    background: rgba(92, 43, 32, 0.04);
}

.artist-block { margin-bottom: 40px; }
.artist-block-label {
    font-size: 10.5px;
    letter-spacing: 0.3em;
    text-transform: uppercase;
    color: var(--ink);
    padding-bottom: 14px;
    margin-bottom: 20px;
    border-bottom: 1px solid var(--line);
    font-weight: 600;
}

.artist-bio-text p {
    font-size: 15.5px;
    line-height: 1.9;
    color: var(--ink-soft);
    margin-bottom: 16px;
}

.highlights {
    list-style: none;
}
.highlights li {
    padding: 14px 0 14px 28px;
    border-bottom: 1px dashed var(--line);
    position: relative;
    color: var(--ink-soft);
    font-size: 15px;
}
.highlights li:last-child { border-bottom: none; }
.highlights li::before {
    content: '𝄞';
    position: absolute;
    left: 0;
    top: 14px;
    color: var(--accent);
    font-size: 16px;
}

.eap-recognition {
    font-family: 'Cormorant Garamond', serif;
    font-style: italic;
    font-size: 17px;
    line-height: 1.75;
    color: var(--ink-soft);
    padding: 20px 24px;
    background: var(--cream-2);
    border-left: 2px solid var(--accent);
    margin-bottom: 14px;
}

.video-wrap {
    position: relative;
    aspect-ratio: 16 / 9;
    background: #000;
    overflow: hidden;
    margin-bottom: 16px;
}
.video-wrap iframe {
    width: 100%;
    height: 100%;
    border: 0;
    position: absolute;
    inset: 0;
}
.video-label {
    font-family: 'Cormorant Garamond', serif;
    font-style: italic;
    font-size: 16px;
    color: var(--muted);
    margin-bottom: 16px;
    display: block;
}
.video-label::before { content: '▶ '; color: var(--accent); font-style: normal; font-size: 13px; }

/* Community engagement sub-block */
.community-h {
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    letter-spacing: 0.24em;
    text-transform: uppercase;
    color: var(--wine);
    margin: 18px 0 10px;
    font-weight: 600;
}

@media (max-width: 900px) {
    .artist-detail { padding: 80px 0; }
    .artist-detail-inner {
        grid-template-columns: 1fr;
        gap: 40px;
    }
    .artist-big-photo {
        position: static;
        max-width: 420px;
        margin: 0 auto;
    }
}

/* ============================================
   MENTOR PAGE
   ============================================ */
.mentor-page-row {
    display: grid;
    grid-template-columns: 0.9fr 1.1fr;
    gap: 80px;
    align-items: start;
}

.mentor-page-img {
    aspect-ratio: 3 / 4;
    overflow: hidden;
    background: var(--cream-2);
    position: sticky;
    top: 120px;
}
.mentor-page-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.mentor-page-info h2 {
    font-size: clamp(42px, 5vw, 64px);
    font-weight: 400;
    letter-spacing: -0.015em;
    margin-bottom: 16px;
}
.mentor-page-roles {
    font-family: 'Cormorant Garamond', serif;
    font-style: italic;
    font-size: 19px;
    line-height: 1.75;
    color: var(--accent);
    margin-bottom: 36px;
    padding-bottom: 30px;
    border-bottom: 1px solid var(--line);
}
.mentor-bio p {
    font-size: 16px;
    line-height: 1.95;
    color: var(--ink-soft);
    margin-bottom: 20px;
}

.discography {
    margin-top: 50px;
    padding-top: 32px;
    border-top: 1px solid var(--line);
}
.discography h4 {
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    letter-spacing: 0.3em;
    text-transform: uppercase;
    color: var(--accent);
    font-weight: 500;
    margin-bottom: 22px;
}
.discography ul {
    list-style: none;
}
.discography li {
    padding: 14px 0 14px 34px;
    border-bottom: 1px solid var(--line);
    position: relative;
    font-family: 'Cormorant Garamond', serif;
    font-style: italic;
    font-size: 18px;
    color: var(--ink-soft);
}
.discography li:last-child { border-bottom: none; }
.discography li::before {
    content: '♫';
    position: absolute;
    left: 0;
    color: var(--accent);
    font-style: normal;
    font-family: 'Inter', sans-serif;
    font-size: 15px;
    top: 16px;
}

@media (max-width: 900px) {
    .mentor-page-row { grid-template-columns: 1fr; gap: 48px; }
    .mentor-page-img { position: static; max-width: 420px; margin: 0 auto; }
}

/* ============================================
   EVENTS PAGE
   ============================================ */
.events-page-block {
    margin-bottom: 96px;
}
.events-page-block:last-child { margin-bottom: 0; }

.events-block-title {
    font-family: 'Cormorant Garamond', serif;
    font-size: 34px;
    font-weight: 500;
    letter-spacing: -0.005em;
    padding-bottom: 20px;
    border-bottom: 1px solid var(--ink);
    margin-bottom: 36px;
    display: inline-block;
}

.event-full {
    display: grid;
    grid-template-columns: 130px 1fr;
    gap: 36px;
    padding: 36px 0;
    border-top: 1px solid var(--line);
    align-items: start;
    transition: background .35s ease;
    padding-left: 4px;
}
.event-full:hover { background: var(--cream-2); padding-left: 24px; }
.event-full:hover { padding-right: 24px; }

.event-full-date {
    text-align: center;
    padding: 24px 16px;
    border: 1px solid var(--line-2);
    background: var(--white);
}
.event-full-month {
    font-size: 11px;
    letter-spacing: 0.28em;
    text-transform: uppercase;
    color: var(--accent);
    font-weight: 600;
}
.event-full-day {
    font-family: 'Cormorant Garamond', serif;
    font-size: 46px;
    font-weight: 500;
    line-height: 1;
    margin: 8px 0 4px;
    color: var(--ink);
}
.event-full-year {
    font-size: 12px;
    color: var(--muted);
    letter-spacing: 0.1em;
}

.event-full-info h3 {
    font-size: 26px;
    font-weight: 500;
    margin-bottom: 10px;
    letter-spacing: -0.005em;
}
.event-full-kind {
    font-size: 10.5px;
    letter-spacing: 0.3em;
    text-transform: uppercase;
    color: var(--accent);
    margin-bottom: 10px;
    font-weight: 600;
}
.event-full-meta {
    font-family: 'Cormorant Garamond', serif;
    font-style: italic;
    font-size: 16px;
    color: var(--muted);
    margin-bottom: 14px;
}
.event-full-meta span { margin-right: 22px; }
.event-full-desc {
    font-size: 15px;
    line-height: 1.85;
    color: var(--ink-soft);
}
.event-note {
    display: inline-block;
    margin-top: 12px;
    font-size: 12.5px;
    font-style: italic;
    color: var(--wine);
    padding: 6px 14px;
    background: rgba(92, 43, 32, 0.06);
}

.past-event {
    padding: 32px 0;
    border-top: 1px solid var(--line);
    opacity: 0.95;
}
.past-event h3 {
    font-size: 24px;
    font-weight: 500;
    margin-bottom: 10px;
    letter-spacing: -0.005em;
}
.past-event h3::before {
    content: '✦ ';
    color: var(--accent);
    font-size: 14px;
    vertical-align: middle;
    margin-right: 6px;
}
.past-event p {
    font-family: 'Cormorant Garamond', serif;
    font-style: italic;
    font-size: 17px;
    line-height: 1.7;
    color: var(--ink-soft);
    max-width: 780px;
}

@media (max-width: 720px) {
    .event-full { grid-template-columns: 100px 1fr; gap: 24px; padding: 28px 0; }
    .event-full-date { padding: 18px 10px; }
    .event-full-day { font-size: 36px; }
}

/* ============================================
   COMPETITION PAGE
   ============================================ */
.comp-hero {
    max-width: 880px;
    margin: 0 auto;
    text-align: center;
    padding: 100px 40px 80px;
}

.comp-hero .comp-name {
    font-family: 'Cormorant Garamond', serif;
    font-size: clamp(32px, 4vw, 48px);
    font-weight: 500;
    letter-spacing: -0.01em;
    margin-bottom: 18px;
}
.comp-hero .comp-tagline {
    font-family: 'Cormorant Garamond', serif;
    font-style: italic;
    font-size: clamp(20px, 2.5vw, 26px);
    color: var(--accent);
    margin-bottom: 28px;
    line-height: 1.5;
}
.comp-hero p {
    font-size: 16px;
    line-height: 1.9;
    color: var(--ink-soft);
}

.eap-bridge {
    background: var(--ink);
    color: var(--cream);
    padding: 90px 40px;
    margin: 40px 0;
}
.eap-bridge-inner {
    max-width: 980px;
    margin: 0 auto;
}
.eap-bridge h3 {
    font-size: clamp(28px, 3.5vw, 40px);
    font-weight: 400;
    color: var(--cream);
    margin-bottom: 18px;
    letter-spacing: -0.01em;
}
.eap-bridge h3 em { color: #E8D5B3; font-style: italic; }
.eap-bridge .lead {
    font-family: 'Cormorant Garamond', serif;
    font-style: italic;
    font-size: 19px;
    line-height: 1.7;
    color: rgba(250,247,241,0.75);
    margin-bottom: 16px;
}
.eap-bridge .sub {
    font-size: 14px;
    color: rgba(250,247,241,0.6);
    letter-spacing: 0.05em;
    margin-bottom: 40px;
}

.benefit-list {
    list-style: none;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
}
.benefit-list li {
    padding: 18px 22px 18px 58px;
    border: 1px solid rgba(232,213,179,0.2);
    position: relative;
    color: rgba(250,247,241,0.85);
    font-size: 15px;
    line-height: 1.55;
    background: rgba(255,255,255,0.02);
}
.benefit-list li::before {
    content: '';
    position: absolute;
    left: 22px;
    top: 50%;
    transform: translateY(-50%);
    width: 20px;
    height: 20px;
    border: 1.5px solid #E8D5B3;
    border-radius: 50%;
}
.benefit-list li::after {
    content: '';
    position: absolute;
    left: 28px;
    top: calc(50% - 4px);
    width: 5px;
    height: 9px;
    border: solid #E8D5B3;
    border-width: 0 1.5px 1.5px 0;
    transform: rotate(45deg);
}

@media (max-width: 720px) {
    .benefit-list { grid-template-columns: 1fr; }
    .eap-bridge { padding: 60px 24px; }
}

.info-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 32px;
    margin: 80px 0;
}
.info-box {
    padding: 44px;
    border: 1px solid var(--line-2);
    background: var(--white);
}
.info-box h4 {
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    letter-spacing: 0.3em;
    text-transform: uppercase;
    color: var(--accent);
    margin-bottom: 28px;
    font-weight: 600;
    padding-bottom: 18px;
    border-bottom: 1px solid var(--line);
}
.info-list {
    list-style: none;
}
.info-list li {
    padding: 14px 0;
    border-bottom: 1px solid var(--line);
    display: flex;
    justify-content: space-between;
    gap: 24px;
    font-size: 15px;
    line-height: 1.6;
    color: var(--ink-soft);
}
.info-list li:last-child { border-bottom: none; }
.info-k {
    font-weight: 500;
    color: var(--ink);
    flex-shrink: 0;
}
.info-v { text-align: right; }

@media (max-width: 820px) {
    .info-grid { grid-template-columns: 1fr; }
    .info-box { padding: 28px; }
    .info-list li { flex-direction: column; gap: 4px; }
    .info-v { text-align: left; }
}

.comp-cta {
    background: linear-gradient(180deg, var(--cream-2), var(--cream));
    border: 1px solid var(--line);
    padding: 72px 40px;
    text-align: center;
    margin: 80px 0 0;
}
.comp-cta h3 {
    font-size: clamp(26px, 3vw, 36px);
    font-weight: 500;
    margin-bottom: 14px;
    letter-spacing: -0.005em;
}
.comp-cta p {
    font-family: 'Cormorant Garamond', serif;
    font-style: italic;
    color: var(--muted);
    font-size: 17px;
    margin-bottom: 32px;
    max-width: 640px;
    margin-left: auto;
    margin-right: auto;
    line-height: 1.6;
}

/* ---------- Competition: About facts (new style) ---------- */
.fact-head {
    max-width: 780px;
    margin: 0 auto 56px;
    text-align: center;
}
.fact-head h2 {
    font-size: clamp(32px, 4.5vw, 48px);
    font-weight: 400;
    letter-spacing: -0.01em;
    margin-bottom: 14px;
}
.fact-head h2 em { font-style: italic; color: var(--accent); }
.fact-head p {
    font-family: 'Cormorant Garamond', serif;
    font-style: italic;
    font-size: 18px;
    color: var(--muted);
    line-height: 1.6;
}

.fact-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin-bottom: 100px;
}
.fact-card {
    padding: 36px 32px 32px;
    background: var(--white);
    border: 1px solid var(--line-2);
    position: relative;
    transition: all .4s ease;
}
.fact-card:hover {
    border-color: var(--accent);
    transform: translateY(-4px);
}
.fact-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 38px;
    height: 2px;
    background: var(--accent);
}
.fact-card-label {
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.3em;
    text-transform: uppercase;
    color: var(--accent);
    margin-bottom: 16px;
}
.fact-card-val {
    font-family: 'Cormorant Garamond', serif;
    font-size: 24px;
    font-weight: 500;
    line-height: 1.35;
    color: var(--ink);
    letter-spacing: -0.005em;
}
.fact-card-sub {
    display: block;
    margin-top: 6px;
    font-family: 'Cormorant Garamond', serif;
    font-style: italic;
    font-size: 16px;
    color: var(--muted);
}

@media (max-width: 820px) {
    .fact-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 560px) {
    .fact-grid { grid-template-columns: 1fr; }
    .fact-card { padding: 28px 24px; }
}

/* ---------- Competition: Explore block (single CTA unit) ---------- */
.explore {
    position: relative;
    overflow: hidden;
    background:
        /* Subtle diagonal fine-line texture (inline SVG — zero external dependency) */
        url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180' viewBox='0 0 180 180'><path d='M0 180 L180 0' stroke='%23c9a962' stroke-opacity='0.05' stroke-width='0.6' fill='none'/></svg>"),
        /* Warm bronze halo at top */
        radial-gradient(ellipse 80% 50% at 50% -10%, rgba(201,169,98,0.28), transparent 60%),
        /* Deep oxblood → ink concert-hall gradient */
        linear-gradient(160deg, #2a1510 0%, #3a2014 32%, #1f1410 70%, #130c0a 100%);
    background-size: 180px 180px, auto, auto;
    background-position: 0 0, center top, center;
    color: var(--cream);
    padding: 90px 48px;
    text-align: center;
    border: 1px solid rgba(201,169,98,0.15);
}
.explore::before {
    content: '';
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 20% 80%, rgba(139,107,61,0.10), transparent 45%),
        radial-gradient(circle at 85% 30%, rgba(92,43,32,0.35), transparent 50%);
    pointer-events: none;
}
/* Extra subtle vignette at edges for depth */
.explore::after {
    content: '';
    position: absolute;
    inset: 0;
    box-shadow: inset 0 0 140px rgba(0,0,0,0.65);
    pointer-events: none;
}
.explore-inner {
    position: relative;
    z-index: 1;
    max-width: 720px;
    margin: 0 auto;
}
.explore .eyebrow { color: #E8D5B3; }
.explore h2 {
    font-family: 'Cormorant Garamond', serif;
    font-size: clamp(34px, 5vw, 54px);
    font-weight: 400;
    color: var(--cream);
    letter-spacing: -0.01em;
    margin-bottom: 22px;
    line-height: 1.1;
}
.explore h2 em { font-style: italic; color: #E8D5B3; font-weight: 400; }
.explore p {
    font-family: 'Cormorant Garamond', serif;
    font-style: italic;
    font-size: 20px;
    line-height: 1.65;
    color: rgba(250,247,241,0.82);
    margin-bottom: 40px;
}
.explore .btn {
    border-color: rgba(232,213,179,0.7);
    color: #E8D5B3;
}
.explore .btn:hover {
    background: #E8D5B3;
    color: var(--ink);
    border-color: #E8D5B3;
}

@media (max-width: 720px) {
    .explore { padding: 64px 24px; }
    .explore p { font-size: 17px; }
}

/* ============================================
   FOOTER
   ============================================ */
.footer {
    background: var(--ink);
    color: rgba(250, 247, 241, 0.7);
    padding: 68px 40px 40px;
    border-top: 1px solid rgba(250,247,241,0.08);
}
.footer-inner {
    max-width: var(--max);
    margin: 0 auto;
    text-align: center;
}
.footer-logo {
    height: 40px;
    margin: 0 auto 24px;
    filter: brightness(0) invert(1);
    opacity: 0.88;
    object-fit: contain;
}
.footer h5 {
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    letter-spacing: 0.3em;
    text-transform: uppercase;
    color: rgba(250, 247, 241, 0.9);
    font-weight: 500;
    margin-bottom: 10px;
}
.footer p {
    font-family: 'Cormorant Garamond', serif;
    font-style: italic;
    font-size: 15px;
    color: rgba(250, 247, 241, 0.5);
    margin-bottom: 28px;
}
.footer-bottom {
    padding-top: 28px;
    border-top: 1px solid rgba(250,247,241,0.08);
    font-size: 12px;
    color: rgba(250, 247, 241, 0.4);
    letter-spacing: 0.08em;
}

/* ============================================
   ANIMATIONS (subtle)
   ============================================ */
.fade-in {
    opacity: 0;
    transform: translateY(16px);
    transition: opacity .9s ease, transform .9s ease;
}
.fade-in.in { opacity: 1; transform: none; }
