/* Leal Funeral Home: self-hosted fonts, 2026-10-24 mobile-quality pass.
   Cormorant Garamond (400-600 normal, 500 italic) and Source Sans 3 (400-600), copied from Google Fonts v21/v20 (SIL OFL).
   Variable-font files are shared across weights, so weights are declared as ranges. */

/* Cormorant Garamond italic 500 cyrillic-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url('../fonts/cormorant-garamond-italic-500-cyrillic-ext-20261024.woff2') format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

/* Cormorant Garamond italic 500 cyrillic */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url('../fonts/cormorant-garamond-italic-500-cyrillic-20261024.woff2') format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

/* Cormorant Garamond italic 500 vietnamese */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url('../fonts/cormorant-garamond-italic-500-vietnamese-20261024.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;
}

/* Cormorant Garamond italic 500 latin-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url('../fonts/cormorant-garamond-italic-500-latin-ext-20261024.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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* Cormorant Garamond italic 500 latin */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url('../fonts/cormorant-garamond-italic-500-latin-20261024.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;
}

/* Cormorant Garamond normal 400 600 cyrillic-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
  src: url('../fonts/cormorant-garamond-normal-400-600-cyrillic-ext-20261024.woff2') format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

/* Cormorant Garamond normal 400 600 cyrillic */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
  src: url('../fonts/cormorant-garamond-normal-400-600-cyrillic-20261024.woff2') format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

/* Cormorant Garamond normal 400 600 vietnamese */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
  src: url('../fonts/cormorant-garamond-normal-400-600-vietnamese-20261024.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;
}

/* Cormorant Garamond normal 400 600 latin-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
  src: url('../fonts/cormorant-garamond-normal-400-600-latin-ext-20261024.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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* Cormorant Garamond normal 400 600 latin */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
  src: url('../fonts/cormorant-garamond-normal-400-600-latin-20261024.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;
}

/* Source Sans 3 normal 400 600 cyrillic-ext */
@font-face {
  font-family: 'Source Sans 3';
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
  src: url('../fonts/source-sans-3-normal-400-600-cyrillic-ext-20261024.woff2') format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

/* Source Sans 3 normal 400 600 cyrillic */
@font-face {
  font-family: 'Source Sans 3';
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
  src: url('../fonts/source-sans-3-normal-400-600-cyrillic-20261024.woff2') format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

/* Source Sans 3 normal 400 600 greek-ext */
@font-face {
  font-family: 'Source Sans 3';
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
  src: url('../fonts/source-sans-3-normal-400-600-greek-ext-20261024.woff2') format('woff2');
  unicode-range: U+1F00-1FFF;
}

/* Source Sans 3 normal 400 600 greek */
@font-face {
  font-family: 'Source Sans 3';
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
  src: url('../fonts/source-sans-3-normal-400-600-greek-20261024.woff2') format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}

/* Source Sans 3 normal 400 600 vietnamese */
@font-face {
  font-family: 'Source Sans 3';
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
  src: url('../fonts/source-sans-3-normal-400-600-vietnamese-20261024.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;
}

/* Source Sans 3 normal 400 600 latin-ext */
@font-face {
  font-family: 'Source Sans 3';
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
  src: url('../fonts/source-sans-3-normal-400-600-latin-ext-20261024.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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* Source Sans 3 normal 400 600 latin */
@font-face {
  font-family: 'Source Sans 3';
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
  src: url('../fonts/source-sans-3-normal-400-600-latin-20261024.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;
}






/* Metric-matched local fallbacks (2026-10-24b). While the web font loads, text is set in Times New Roman or Arial scaled to the
   web font's average advance width and vertical metrics, so the swap does not move lines. Metrics computed with fontTools from the
   real font files, weighted by the characters on the home page. If the local font is missing, the next family in the stack is used. */
@font-face {
  font-family: 'Cormorant Garamond Fallback';
  font-style: normal;
  font-weight: 400 500;
  src: local("Times New Roman"), local("TimesNewRomanPSMT");
  size-adjust: 95.77%;
  ascent-override: 96.48%;
  descent-override: 29.97%;
  line-gap-override: 0.00%;
}
@font-face {
  font-family: 'Cormorant Garamond Fallback';
  font-style: normal;
  font-weight: 600;
  src: local("Times New Roman Bold"), local("TimesNewRomanPS-BoldMT");
  size-adjust: 91.06%;
  ascent-override: 101.47%;
  descent-override: 31.52%;
  line-gap-override: 0.00%;
}
@font-face {
  font-family: 'Cormorant Garamond Fallback';
  font-style: italic;
  font-weight: 500;
  src: local("Times New Roman Italic"), local("TimesNewRomanPS-ItalicMT");
  size-adjust: 87.39%;
  ascent-override: 105.74%;
  descent-override: 32.84%;
  line-gap-override: 0.00%;
}
@font-face {
  font-family: 'Source Sans 3 Fallback';
  font-style: normal;
  font-weight: 400 500;
  src: local("Arial"), local("ArialMT");
  size-adjust: 92.89%;
  ascent-override: 110.24%;
  descent-override: 43.06%;
  line-gap-override: 0.00%;
}
@font-face {
  font-family: 'Source Sans 3 Fallback';
  font-style: normal;
  font-weight: 600;
  src: local("Arial Bold"), local("Arial-BoldMT");
  size-adjust: 87.25%;
  ascent-override: 117.36%;
  descent-override: 45.84%;
  line-gap-override: 0.00%;
}

/* Tap targets, 2026-10-24 mobile pass. Phones and tablets only (the mobile nav switches at 900px).
   Hit areas grow to 44px with negative margins, so layout does not move. The :root prefix beats the inline stylesheet,
   which loads after this file. */
@media (max-width: 900px) {
  /* mobile menu: EN / ES */
  :root .nav-mobile-panel .nav-mobile-lang { gap: 26px; }
  :root .nav-mobile-panel .nav-mobile-lang a {
    display: inline-flex; align-items: center; justify-content: center;
    box-sizing: border-box; min-width: 44px; min-height: 44px; margin: -4px -12px;
  }
  :root .nav-mobile-panel .nav-mobile-lang a.nav-lang-active {
    border-bottom: 0; padding-bottom: 8px;
    text-decoration: underline; text-decoration-color: var(--color-accent);
    text-decoration-thickness: 1px; text-underline-offset: 6px;
  }
  /* hero CareCredit logo link */
  :root .hero-carecredit a { display: inline-flex; align-items: center; min-height: 44px; margin: -11px 0; }
  /* footer chapel phone: grows up and down into the gaps */
  :root .footer-chapel-phone {
    display: inline-flex; align-items: center; box-sizing: border-box;
    min-height: 44px; margin: -11px 0 3px;
  }
  /* footer chapel link: grows down into the row gap; underline moves from border to text-decoration so it stays under the text */
  :root .footer-chapel-link {
    box-sizing: border-box; min-height: 44px; padding: 3px 0 23px; margin: -3px 0 -20px;
    border-bottom: 0;
    text-decoration: underline; text-decoration-color: rgba(212,185,127,0.4);
    text-decoration-thickness: 1px; text-underline-offset: 4px;
  }
  :root .footer-chapel-link:hover { text-decoration-color: var(--color-accent); }
  /* footer legal links (Privacy Policy, Terms) */
  /* grows upward only, to 36px: the fixed call bar sits just below them on phones and the inline Mastodon Marketing link sits above */
  :root .footer-bottom .links > a {
    box-sizing: border-box; min-height: 36px; padding-top: 17px; margin-top: -17px;
  }
}
