:root {
    --fmg-accent: #0866e8;
    --fmg-ink: #071c45;
    --fmg-background: none;
}
* { box-sizing: border-box; }
html { min-height: 100%; }
body {
    margin: 0;
    min-height: 100vh;
    color: var(--fmg-ink);
    background: #f6faff;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
}
body::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: -1;
    background-image: linear-gradient(100deg, rgba(255,255,255,.98) 8%, rgba(255,255,255,.92) 48%, rgba(234,245,255,.74) 100%), var(--fmg-background);
    background-position: center;
    background-size: cover;
}
.fmg-shell { width: min(1160px, calc(100% - 48px)); min-height: 100vh; margin: auto; display: flex; flex-direction: column; }
.fmg-header, .fmg-footer { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.fmg-header { padding: 30px 0; border-bottom: 1px solid #dbe7f4; }
.fmg-brand { display: flex; align-items: center; gap: 14px; }
.fmg-logo { width: 54px; height: 54px; object-fit: contain; }
.fmg-mark { background: var(--fmg-ink); color: white; font-weight: 900; border-radius: 12px; padding: 15px 10px; letter-spacing: 2px; }
.fmg-name { font-size: 18px; font-weight: 800; letter-spacing: .06em; }
.fmg-header-label, .fmg-eyebrow { color: var(--fmg-accent); font-weight: 800; font-size: 12px; letter-spacing: .22em; text-transform: uppercase; }
.fmg-main { flex: 1; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; padding: 85px 0 100px; max-width: 760px; }
h1 { font-size: clamp(48px, 7vw, 94px); line-height: 1.04; letter-spacing: -.055em; margin: 22px 0; }
.fmg-description { max-width: 620px; font-size: clamp(18px, 2vw, 23px); line-height: 1.65; color: #435773; margin: 0 0 32px; }
.fmg-button { display: inline-flex; align-items: center; gap: 24px; padding: 17px 25px; border-radius: 9px; color: white; background: var(--fmg-accent); text-decoration: none; font-weight: 700; box-shadow: 0 12px 28px rgba(8,102,232,.17); }
.fmg-button:hover, .fmg-button:focus-visible { filter: brightness(.91); }
.fmg-countdown { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 34px; }
.fmg-countdown div { min-width: 96px; padding: 14px; background: white; border: 1px solid #dce9f9; border-radius: 12px; text-align: center; }
.fmg-countdown strong { display: block; font-size: 31px; }
.fmg-countdown span { display: block; color: #61738d; font-size: 12px; text-transform: uppercase; letter-spacing: .12em; }
.fmg-footer { padding: 24px 0; border-top: 1px solid #dbe7f4; font-size: 13px; color: #61738d; }
.fmg-social { display: flex; gap: 18px; flex-wrap: wrap; }
.fmg-social a { color: #315b91; text-decoration: none; }
@media (max-width: 700px) {
    .fmg-shell { width: min(100% - 32px, 1160px); }
    .fmg-header { padding: 18px 0; }
    .fmg-header-label { display: none; }
    .fmg-main { padding: 75px 0; }
    .fmg-footer { align-items: flex-start; flex-direction: column; }
}

/* Rich-text supporting message */
.fmg-description p { margin: 0 0 1rem; }
.fmg-description p:last-child { margin-bottom: 0; }
.fmg-description a { color: var(--fmg-accent); text-decoration: underline; }
.fmg-description ul, .fmg-description ol { text-align: left; display: inline-block; }
