/* ========================================
   SEM Remedy - Shared Styles
   ======================================== */

/* ---- Font Faces ---- */
@font-face {
  font-family: 'Geist';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("/media/fonts/90898277-15d4-41a3-861c-c11fe0ae93b9.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: 'Geist';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/media/fonts/90898277-15d4-41a3-861c-c11fe0ae93b9.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: 'Geist';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/media/fonts/90898277-15d4-41a3-861c-c11fe0ae93b9.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: 'Geist';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/media/fonts/90898277-15d4-41a3-861c-c11fe0ae93b9.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: 'Geist';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/media/fonts/90898277-15d4-41a3-861c-c11fe0ae93b9.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: 'Geist Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/media/fonts/1a708794-e3d7-4a71-9f8b-2bab0f0e17e5.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: 'Geist Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/media/fonts/1a708794-e3d7-4a71-9f8b-2bab0f0e17e5.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: 'Lora';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("/media/fonts/12971678-a4f0-4783-afff-628487b52bdd.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: 'Lora';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/media/fonts/c3e8617f-135f-4d86-9b2f-f19c0976f8fb.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: 'Lora';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/media/fonts/c3e8617f-135f-4d86-9b2f-f19c0976f8fb.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

/* ---- Reset & Base ---- */
html, body {
    margin: 0;
    padding: 0;
    background: #F4F2ED;
    font-family: Geist, system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
    color: #0E1116;
    -webkit-font-smoothing: antialiased;
}

*, *::before, *::after {
    box-sizing: border-box;
}

a {
    color: #1B3BFF;
    text-decoration: none;
    transition: background 140ms ease, color 140ms ease, border-color 140ms ease;
}

a:hover {
    color: #0E1116;
}

::selection {
    background: #1B3BFF;
    color: #fff;
}

html {
    scroll-behavior: smooth;
}

[id] {
    scroll-margin-top: 92px;
}

:focus-visible {
    outline: 2px solid #1B3BFF;
    outline-offset: 3px;
}

[data-ink] :focus-visible {
    outline-color: #F4F2ED;
}

[data-bar] {
    transition: width 260ms cubic-bezier(0.4, 0, 0.2, 1);
}

.tap, [data-tap] {
    transition: background 140ms ease, color 140ms ease, border-color 140ms ease;
}

button {
    transition: background 140ms ease, color 140ms ease, border-color 140ms ease;
}

/* ---- Range Input ---- */
input[type="range"] {
    -webkit-appearance: none;
    appearance: none;
    background: transparent;
}

input[type="range"]::-webkit-slider-runnable-track {
    height: 4px;
    background: #D4D0C6;
    border-radius: 2px;
}

input[type="range"]::-webkit-slider-thumb {
    -webkit-appearance: none;
    width: 20px;
    height: 20px;
    margin-top: -8px;
    border-radius: 50%;
    background: #1B3BFF;
    border: 2px solid #EAE7DF;
    box-shadow: 0 1px 3px rgba(14, 17, 22, 0.25);
}

input[type="range"]::-moz-range-track {
    height: 4px;
    background: #D4D0C6;
    border-radius: 2px;
}

input[type="range"]::-moz-range-thumb {
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: #1B3BFF;
    border: 2px solid #EAE7DF;
}

/* ---- Utility ---- */
[data-g] {
    display: grid;
}

[data-rail] {
    scrollbar-width: thin;
    scrollbar-color: #C9C4B8 transparent;
    scroll-padding-inline: 32px;
}

[data-rail]::-webkit-scrollbar {
    height: 8px;
}

[data-rail]::-webkit-scrollbar-track {
    background: #E4E0D7;
}

[data-rail]::-webkit-scrollbar-thumb {
    background: #B8B2A4;
}

/* ---- Reduced Motion ---- */
@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }
    *, *::before, *::after {
        transition-duration: 1ms !important;
        animation-duration: 1ms !important;
    }
}

/* ---- Responsive Breakpoints ---- */
@media (max-width: 560px) {
    [data-rail] > article {
        flex: 0 0 84vw !important;
    }
}

@media (max-width: 1080px) {
    [data-g="4"] {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
    [data-g="3"] {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
    [data-split] {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 48px !important;
    }
    [data-divider] {
        border-left: 0 !important;
        padding-left: 0 !important;
        border-top: 1px solid rgba(255, 255, 255, 0.3);
        padding-top: 34px;
    }
    [data-labelled] {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 24px !important;
    }
}

@media (max-width: 1000px) {
    [data-nav] {
        display: none !important;
    }
}

@media (max-width: 900px) {
    [data-hero] {
        grid-template-columns: minmax(0, 1fr) !important;
        min-height: 0 !important;
    }
    [data-hero] > div:first-child {
        padding: 72px 32px 64px !important;
    }
    [data-heroimg] {
        border-left: 0 !important;
        border-top: 1px solid #262A33;
        aspect-ratio: 16/10;
        min-height: 0 !important;
    }
}

@media (max-width: 860px) {
    [data-g="2"] {
        grid-template-columns: minmax(0, 1fr) !important;
    }
}

@media (max-width: 640px) {
    [data-g="4"], [data-g="3"] {
        grid-template-columns: minmax(0, 1fr) !important;
    }
    [data-footer] {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 40px !important;
    }
}

/* ---- Navigation Specific ---- */
@media (max-width: 980px) {
    #sr-panel [data-megacol] {
        grid-template-columns: 1fr !important;
    }
    #sr-panel [data-megagrid] {
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 940px) {
    #sr-nav [data-desktopnav] {
        display: none !important;
    }
    #sr-hamburger {
        display: flex !important;
    }
    #sr-nav [data-tagline] {
        display: none !important;
    }
    #sr-nav [data-desktopcta] {
        display: none !important;
    }
}

#sr-hamburger.open .sr-bar1 {
    transform: translateY(7px) rotate(45deg);
}

#sr-hamburger.open .sr-bar2 {
    opacity: 0;
}

#sr-hamburger.open .sr-bar3 {
    transform: translateY(-7px) rotate(-45deg);
}

/* ---- Global hover fallback (for elements with style-hover) ---- */
/* These are generated per-page in <style> blocks */
