/* Shared local brand fonts. Licenses are stored in ../fonts/. */
@font-face{font-family:'DM Sans';font-style:normal;font-weight:100 1000;font-display:swap;src:url(../fonts/dm-sans-latin-ext-variable.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-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:100 1000;font-display:swap;src:url(../fonts/dm-sans-latin-variable.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:'Outfit';font-style:normal;font-weight:100 900;font-display:swap;src:url(../fonts/outfit-latin-ext-variable.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-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Outfit';font-style:normal;font-weight:100 900;font-display:swap;src:url(../fonts/outfit-latin-variable.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}

body:has(.commerce-wordpress-page) { font-family: 'DM Sans', 'Segoe UI', sans-serif; }
.site-main:has(.commerce-wordpress-page) { padding-top: 0; }
.commerce-wordpress-page {
    --ink: #172e55;
    --muted: #516580;
    --muted-strong: #516580;
    --accent: #2457f5;
    --accent-hover: #1743ce;
    --accent-soft: #e7efff;
    color: var(--ink);
}
.commerce-wordpress-page :is(h1,h2,h3) { font-family: 'Outfit', 'Segoe UI', sans-serif; font-weight: 550; }
.commerce-wordpress-page .cms-section:has(.cms-page-header) { background: linear-gradient(135deg,#f4f7ff 0%,#e7efff 58%,#dce8ff 100%); }
.commerce-wordpress-page .cms-page-header { max-width: 980px; }
.commerce-wordpress-page .cms-page-header h1 { max-width: 23ch; font-size: clamp(2.4rem,5vw,4.5rem); letter-spacing: -.035em; }
.commerce-wordpress-page .cms-page-header p { max-width: 820px; font-size: 1.08rem; }
.commerce-wordpress-page .eyebrow { color: #2457f5; }
.commerce-wordpress-page .cms-media-text__visual { aspect-ratio: 8 / 5; box-shadow: 0 20px 60px #172e5514; }
.commerce-wordpress-page .cms-media-text__visual img { display: block; height: 100%; object-fit: contain; }
.commerce-wordpress-page .cms-media-text__content { gap: 18px; }
.commerce-wordpress-page .cms-media-text h2 { font-size: clamp(1.85rem,2.7vw,2.65rem); letter-spacing: -.025em; }
.commerce-wordpress-page .button--primary { color: #fff; background: #2457f5; border-color: #2457f5; }
.commerce-wordpress-page .button--primary:hover { background: #1743ce; border-color: #1743ce; }
.commerce-wordpress-page :is(.button--secondary,.button--ghost) { color: #2457f5; }
.commerce-wordpress-page .button--secondary { background: #fff; border-color: #b5c8ee; }
.commerce-wordpress-page .cms-cta { align-items: flex-start; flex-wrap: wrap; }
.commerce-wordpress-page .cms-cta .hero-actions { flex: 1 1 100%; flex-wrap: wrap; }
.commerce-wordpress-page a:focus-visible { outline: 3px solid #2457f5; outline-offset: 5px; }
@media (prefers-reduced-motion: reduce) {
    .commerce-wordpress-page :is(.cms-feature-item,.button) { transition: none; transform: none; }
}
