/* Sora — display only. Inter — everything below display. Material Symbols Rounded — icons.
   All three are Google Fonts; no self-hosted binaries were supplied. */
/* cyrillic-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/inter-cyrillic-ext.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/inter-cyrillic.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/inter-greek-ext.woff2") format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/inter-greek.woff2") format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/inter-vietnamese.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;
}
/* latin-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/inter-latin-ext.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;
}
/* latin */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/inter-latin.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;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/inter-cyrillic-ext.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/inter-cyrillic.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/inter-greek-ext.woff2") format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/inter-greek.woff2") format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/inter-vietnamese.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;
}
/* latin-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/inter-latin-ext.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;
}
/* latin */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/inter-latin.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;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/inter-cyrillic-ext.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/inter-cyrillic.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/inter-greek-ext.woff2") format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/inter-greek.woff2") format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/inter-vietnamese.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;
}
/* latin-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/inter-latin-ext.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;
}
/* latin */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/inter-latin.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;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/inter-cyrillic-ext.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/inter-cyrillic.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/inter-greek-ext.woff2") format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/inter-greek.woff2") format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/inter-vietnamese.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;
}
/* latin-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/inter-latin-ext.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;
}
/* latin */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/inter-latin.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;
}
/* latin-ext */
@font-face {
  font-family: 'Sora';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/sora-latin-ext.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;
}
/* latin */
@font-face {
  font-family: 'Sora';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/sora-latin.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;
}
/* latin-ext */
@font-face {
  font-family: 'Sora';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("../fonts/sora-latin-ext.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;
}
/* latin */
@font-face {
  font-family: 'Sora';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("../fonts/sora-latin.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;
}

/* fallback */
@font-face {
  font-family: 'Material Symbols Rounded';
  font-style: normal;
  font-weight: 200;
  font-display: swap;
  src: url("../fonts/material-symbols.woff2") format('woff2');
}

.material-symbols-rounded {
  font-family: 'Material Symbols Rounded';
  font-weight: normal;
  font-style: normal;
  font-size: 24px;
  line-height: 1;
  letter-spacing: normal;
  text-transform: none;
  display: inline-block;
  white-space: nowrap;
  word-wrap: normal;
  direction: ltr;
  -webkit-font-feature-settings: 'liga';
  -webkit-font-smoothing: antialiased;
}

:root{
--font-display:"Sora","Helvetica Neue",Arial,sans-serif;
--font-sans:"Inter","Helvetica Neue",Arial,sans-serif;
--font-icons:"Material Symbols Rounded";
}

:root{
/* Brand — pink is the only brand colour and carries every primary action */
--pink-100:#FCE4F1;
--pink-500:#F0339A;
--pink-600:#E6007F;
--pink-700:#B80066;

/* Navy — the structural counterpart: text, dark surfaces, the wordmark */
--navy-600:#4E5F7A;
--navy-700:#3A4A63;
--navy-800:#28364C;
--navy-900:#1D2B42;

/* Neutrals */
--white:#FFFFFF;
--bg:#F9FAFC;
--slate-100:#F1F5F9;
--slate-200:#E2E5EA;
--slate-300:#CBD5E1;
--slate-500:#64748B;

/* Semantic — state only, muted. No info colour, no saturated 600 step. */
--green-500:#4CBE93;
--amber-500:#E8A94D;
--red-500:#E86A6A;

/* Semantic aliases */
--color-primary:var(--pink-600);
--color-primary-hover:var(--pink-700);
--color-primary-soft:var(--pink-100);
--color-text:var(--navy-900);
--color-text-muted:var(--slate-500);
--color-text-inverse:var(--white);
--color-text-on-dark-muted:rgba(255,255,255,.72);
--surface-page:var(--bg);
--surface-card:var(--white);
--surface-subtle:var(--slate-100);
--surface-dark:var(--navy-900);
--border:var(--slate-200);
--border-strong:var(--slate-300);
--border-active:var(--pink-600);
--state-active:var(--green-500);
--state-pending:var(--amber-500);
--state-error:var(--red-500);
}

:root{
/* Families */
--font-weight-display:800; /* @kind font */
--font-weight-display-md:700; /* @kind font */
--font-weight-bold:700; /* @kind font */
--font-weight-semibold:600; /* @kind font */
--font-weight-medium:500; /* @kind font */
--font-weight-regular:400; /* @kind font */

/* Type roles — Sora above display size, Inter below. No monospace face. */
--text-display-xl:800 56px/1.05 var(--font-display);
--text-display-lg:800 44px/1.08 var(--font-display);
--text-display-md:700 32px/1.15 var(--font-display);
--text-heading-lg:700 24px/1.25 var(--font-sans);
--text-heading-md:600 19px/1.3 var(--font-sans);
--text-heading-sm:600 16px/1.35 var(--font-sans);
--text-body-lg:400 19px/1.55 var(--font-sans);
--text-body-md:400 16px/1.55 var(--font-sans);
--text-body-sm:400 14px/1.5 var(--font-sans);
--text-label:600 13px/1.3 var(--font-sans);
--text-eyebrow:700 12px/1.3 var(--font-sans);
--text-caption:500 13px/1.45 var(--font-sans);

/* Sizes, exposed separately where a role can't be used wholesale */
--size-display-xl:56px;--size-display-lg:44px;--size-display-md:32px;
--size-heading-lg:24px;--size-heading-md:19px;--size-heading-sm:16px;
--size-body-lg:19px;--size-body-md:16px;--size-body-sm:14px;
--size-label:13px;--size-eyebrow:12px;--size-caption:13px;

--tracking-eyebrow:.06em; /* @kind font */
--tracking-display:-.02em; /* @kind font */
}

:root{
--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--space-20:80px;--space-24:96px;

/* Radii — 6px is the shared control radius (Button + Input); never a pill.
   Pill is reserved for Badge and ProgressBar. 16px containers, 12px nested items. */
--radius-control:6px;
--radius-nested:12px;
--radius-card:16px;
--radius-pill:999px;

--border-width:1px; /* @kind spacing */
--ring-width:2px; /* @kind spacing */

--container-narrow:720px;--container:1080px;--container-wide:1280px;
--slide-w:1280px;--slide-h:720px;
}

:root{
--shadow-none:none;
--shadow-xs:0 1px 2px rgba(29,43,66,.05);
--shadow-sm:0 1px 3px rgba(29,43,66,.07),0 1px 2px rgba(29,43,66,.04);
--shadow-card:0 2px 8px rgba(29,43,66,.06);
--shadow-md:0 4px 14px rgba(29,43,66,.08);
--shadow-lg:0 14px 36px rgba(29,43,66,.14);
--ring-focus:0 0 0 3px rgba(230,0,127,.28);
--ring-active:0 0 0 2px var(--pink-600) inset; /* @kind other */
--overlay-scrim:linear-gradient(90deg,rgba(29,43,66,.94) 0%,rgba(29,43,66,.86) 48%,rgba(29,43,66,.25) 100%); /* @kind other */
}

:root{
--dur-fast:120ms; /* @kind other */
--dur-base:180ms; /* @kind other */
--dur-slow:280ms; /* @kind other */
--ease-standard:cubic-bezier(.2,0,.2,1); /* @kind other */
--ease-out:cubic-bezier(0,0,.2,1); /* @kind other */
--transition-base:all var(--dur-base) var(--ease-standard); /* @kind other */
}
@keyframes ssn-spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){:root{
--dur-fast:0ms; /* @kind other */
--dur-base:0ms; /* @kind other */
--dur-slow:0ms; /* @kind other */
}}



*{box-sizing:border-box}body{margin:0;background:var(--bg);font-family:var(--font-sans);color:var(--navy-900)}a{color:var(--pink-600);text-decoration:none}a:hover{color:var(--pink-700)}

/* ==============================
   Gravity Forms
   ============================== */

    /* Reset browser / Gravity Forms fieldset presentation */
    .ssn-gf-card .gform_wrapper,
    .ssn-gf-card .gform_wrapper *{box-sizing:border-box}
    .ssn-gf-card .gform_wrapper{margin:0!important;font-family:var(--font-sans)!important;color:var(--navy-900)!important}
    .ssn-gf-card fieldset,
    .ssn-gf-card .gfield fieldset,
    .ssn-gf-card .gfield--type-name,
    .ssn-gf-card .gfield--type-email{border:0!important;outline:0!important;padding:0!important;margin:0!important;min-width:0!important;background:transparent!important;box-shadow:none!important}
    .ssn-gf-card legend,
    .ssn-gf-card .gfield legend.gfield_label{float:none!important;width:auto!important;max-width:100%!important;padding:0!important;border:0!important;background:transparent!important}

    /* Main form layout */
    .ssn-gf-card .gform_fields{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;column-gap:24px!important;row-gap:24px!important}
    .ssn-gf-card .gfield{grid-column:span 1!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important}
    .ssn-gf-card .gfield--width-full,
    .ssn-gf-card .gfield_html,
    .ssn-gf-card .gfield--type-textarea{grid-column:1 / -1!important}

    /* Labels */
    .ssn-gf-card .gfield_label,
    .ssn-gf-card .gfield legend.gfield_label{display:block!important;font:600 15px/1.35 var(--font-sans)!important;color:var(--navy-900)!important;margin:0 0 8px!important}
    .ssn-gf-card .gfield_required{color:var(--pink-600)!important;margin-left:3px!important}
    .ssn-gf-card .gform-field-label--type-sub,
    .ssn-gf-card .ginput_complex label{display:block!important;font:400 13px/1.4 var(--font-sans)!important;color:var(--slate-500)!important;margin:6px 0 0!important;padding:0!important}

    /* Compound name/email fields */
    .ssn-gf-card .ginput_complex{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:12px 16px!important;margin:0!important;padding:0!important}
    .ssn-gf-card .ginput_complex > span,
    .ssn-gf-card .ginput_complex > div{width:100%!important;min-width:0!important;margin:0!important;padding:0!important}

    /* Controls */
    .ssn-gf-card input[type=text],
    .ssn-gf-card input[type=email],
    .ssn-gf-card input[type=tel],
    .ssn-gf-card input[type=url],
    .ssn-gf-card input[type=number],
    .ssn-gf-card input[type=password],
    .ssn-gf-card input[type=date],
    .ssn-gf-card input[type=time],
    .ssn-gf-card select,
    .ssn-gf-card textarea{
      width:100%!important;max-width:none!important;margin:0!important;
      font:400 16px/1.4 var(--font-sans)!important;color:var(--navy-900)!important;
      background:#fff!important;border:1px solid var(--slate-300)!important;border-radius:8px!important;
      padding:11px 13px!important;outline:none!important;box-shadow:none!important;transition:var(--transition-base)!important;
    }
    .ssn-gf-card input[type=text],
    .ssn-gf-card input[type=email],
    .ssn-gf-card input[type=tel],
    .ssn-gf-card input[type=url],
    .ssn-gf-card input[type=number],
    .ssn-gf-card input[type=password],
    .ssn-gf-card input[type=date],
    .ssn-gf-card input[type=time],
    .ssn-gf-card select{height:48px!important;min-height:48px!important}
    .ssn-gf-card textarea{height:132px!important;min-height:132px!important;resize:vertical!important}
    .ssn-gf-card input:focus,
    .ssn-gf-card select:focus,
    .ssn-gf-card textarea:focus{border-color:var(--pink-600)!important;box-shadow:0 0 0 3px rgba(230,0,127,.12)!important}

    /* Description + errors */
    .ssn-gf-card .gfield_description{font:400 13px/1.5 var(--font-sans)!important;color:var(--slate-500)!important;margin:7px 0 0!important;padding:0!important}
    .ssn-gf-card .validation_message,
    .ssn-gf-card .gfield_validation_message{font:400 13px/1.4 var(--font-sans)!important;color:var(--red-500)!important;margin:6px 0 0!important;background:transparent!important;border:0!important;padding:0!important}
    .ssn-gf-card .gfield_error input,
    .ssn-gf-card .gfield_error select,
    .ssn-gf-card .gfield_error textarea{border-color:var(--red-500)!important}
    .ssn-gf-card .gform_validation_errors{border:1px solid var(--red-500)!important;border-radius:8px!important;background:#fff7f7!important;box-shadow:none!important;padding:14px 16px!important;margin:0 0 20px!important}
    .ssn-gf-card .gform_validation_errors h2{font:400 13px/1.4 var(--font-sans)!important;color:var(--red-500)!important;margin:0!important}

    /* Footer / button */
    .ssn-gf-card .gform_footer{margin:22px 0 0!important;padding:0!important}
    .ssn-gf-card .gform_button,
    .ssn-gf-card input[type=submit],
    .ssn-gf-card button[type=submit]{
      width:100%!important;height:48px!important;min-height:48px!important;display:flex!important;align-items:center!important;justify-content:center!important;
      margin:0!important;border:1px solid var(--pink-600)!important;border-radius:8px!important;background:var(--pink-600)!important;
      color:#fff!important;font:600 16px/1.35 var(--font-sans)!important;padding:11px 18px!important;cursor:pointer!important;box-shadow:none!important;
    }
    .ssn-gf-card .gform_button:hover,
    .ssn-gf-card input[type=submit]:hover,
    .ssn-gf-card button[type=submit]:hover{background:var(--pink-700)!important;border-color:var(--pink-700)!important}
    .ssn-gf-card .gform_confirmation_wrapper{font:var(--text-body-md)!important;color:var(--navy-900)!important}
    .ssn-gf-notice{font:var(--text-body-md);color:var(--red-500);padding:16px;border:1px solid var(--red-500);border-radius:8px}

    /* Neutralise Orbital/framework sizing variables inside this card */
    .ssn-gf-card .gform-theme--framework,
    .ssn-gf-card .gform-theme{--gf-local-border-color:var(--slate-300)!important;--gf-local-radius:8px!important;--gf-local-font-size:16px!important}

    @media(max-width:720px){
      .ssn-gf-card .gform_fields{grid-template-columns:1fr!important}
      .ssn-gf-card .gfield{grid-column:1 / -1!important}
      .ssn-gf-card .ginput_complex{grid-template-columns:1fr!important}
    }
  


/* ==============================
   Editable overrides
   Put project-specific CSS below.
   ============================== */

/* Why SSN partner logos */
#why .ssn-partner-logos { gap: 26px !important; }
#why .ssn-partner-logo { height: 44px; width: auto; display: block; }
#why .ssn-partner-logo--talysis { height: 56px; }


/* Loading overlay */
#ssn-loading-overlay{position:fixed;inset:0;z-index:9999;background:#1D2B42;display:flex;align-items:center;justify-content:center;transition:opacity .2s ease,visibility .2s ease}
#ssn-loading-overlay svg{width:100%;height:100%;object-fit:contain}
#ssn-loading-overlay.is-hidden{opacity:0;visibility:hidden;pointer-events:none}

/* Responsive layout overrides. Inline React styles require !important here. */
*,*::before,*::after{box-sizing:border-box}
#root{max-width:100%;overflow-x:clip}
#root img{max-width:100%;object-fit:contain}
#root button{max-width:100%;white-space:normal}
@media(max-width:1050px){
 .ssn-hero-inner,.ssn-scale-grid,.ssn-why-grid{grid-template-columns:minmax(0,1fr) !important;gap:30px !important}
 .ssn-opportunity-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
 .ssn-scale-stats{grid-template-columns:repeat(3,minmax(0,1fr)) !important}
 .ssn-header-inner{gap:14px !important}
 .ssn-partner-panel{gap:22px !important}
}
@media(max-width:720px){
 .ssn-section-inner,.ssn-hero-inner{padding:44px 20px !important}
 .ssn-header-inner{padding:14px 20px !important;gap:14px !important}
 .ssn-footer-inner{padding:0 20px !important}
 .ssn-features-grid,.ssn-opportunity-grid,.ssn-scale-stats{grid-template-columns:minmax(0,1fr) !important}
 .ssn-partner-panel{padding:24px 20px !important}
 #why .ssn-partner-logos{gap:18px !important;justify-content:flex-start}
 #why .ssn-partner-logo{height:34px !important;max-width:100%}
 #why .ssn-partner-logo--talysis{height:42px !important}
 .ssn-gf-card{padding:20px !important}
 #root h1{font-size:clamp(32px,8vw,48px) !important;line-height:1.12 !important}
 #root h2{font-size:clamp(27px,6vw,38px) !important;line-height:1.2 !important}
}
@media(max-width:420px){
 .ssn-section-inner,.ssn-hero-inner{padding:36px 16px !important}
 .ssn-header-inner{padding:12px 16px !important}
 .ssn-footer-inner{padding:0 16px !important}
}

/* Mobile hamburger navigation */
.ssn-menu-toggle,.ssn-mobile-nav{display:none}
@media(max-width:900px){
  .ssn-site-header .ssn-header-inner{flex-wrap:nowrap !important;justify-content:space-between;gap:16px !important}
  .ssn-site-header .ssn-desktop-nav,.ssn-site-header .ssn-desktop-contact{display:none !important}
  .ssn-site-header .ssn-header-logo{max-width:calc(100% - 72px);height:auto !important;max-height:36px}
  .ssn-menu-toggle{display:flex;align-items:center;justify-content:center;flex:0 0 44px;width:44px;height:44px;border:0;background:transparent;color:var(--navy-900);cursor:pointer;border-radius:8px}
  .ssn-menu-toggle:focus-visible,.ssn-mobile-nav button:focus-visible{outline:3px solid var(--pink-600);outline-offset:2px}
  .ssn-menu-bars{display:flex;flex-direction:column;gap:5px}
  .ssn-menu-bars i{display:block;width:24px;height:2px;border-radius:2px;background:currentColor}
  .ssn-menu-close{font-size:32px;line-height:1}
  .ssn-mobile-nav.is-open{display:flex;flex-direction:column;gap:4px;padding:12px 20px 22px;background:var(--white);border-top:1px solid var(--border)}
  .ssn-mobile-nav-link{display:block;width:100%;text-align:left;border:0;border-radius:8px;background:transparent;color:var(--navy-900);padding:13px 12px;font:600 16px/1.4 var(--font-sans);cursor:pointer}
  .ssn-mobile-nav-link.is-active,.ssn-mobile-nav-link:hover{background:var(--slate-100)}
  .ssn-mobile-nav-contact{align-self:stretch;margin-top:8px;border:0;border-radius:999px;background:var(--pink-600);color:white;padding:13px 20px;font:600 16px/1.4 var(--font-sans);cursor:pointer}
}
@media(min-width:901px){.ssn-mobile-nav,.ssn-menu-toggle{display:none !important}}

/* Stack two-column sections on tablet and mobile */
@media (max-width: 900px) {

    #opportunity [style*="grid-template-columns"],
    #reach [style*="grid-template-columns"],
    #social [style*="grid-template-columns"],
    #why [style*="grid-template-columns"],
    #enquiry [style*="grid-template-columns"] {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    /* Prevent grid children overflowing */
    #opportunity *,
    #reach *,
    #why *,
    #enquiry * {
        min-width: 0;
    }

    /* Make images responsive */
    #opportunity img,
    #reach img,
    #why img,
    #enquiry img {
        max-width: 100%;
        height: auto;
    }
}
/* =========================================
   RESPONSIVE LAYOUT FIXES
   Based on actual rendered HTML
========================================= */

/* Tablet */
@media (max-width: 900px) {

    /* Hero - first section after header */
    #root > section:first-of-type > div {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 32px !important;
    }

    /* Social Media - main two-column layout */
    #social > div > div:first-child {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 32px !important;
    }

    /* Prevent content overflowing grid columns */
    #root > section:first-of-type > div > *,
    #social > div > div:first-child > * {
        min-width: 0;
        max-width: 100%;
    }

    /* Hero image */
    #root > section:first-of-type img {
        max-width: 100%;
        height: auto;
    }
}

/* Smaller mobile screens */
@media (max-width: 600px) {

    /* Social Media - four feature cards */
    #social > div > div:first-child > div:first-child
    > div[style*="grid-template-columns"] {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 24px !important;
    }

    /* Reduce section horizontal padding */
    #root > section > div {
        padding-left: 20px !important;
        padding-right: 20px !important;
    }

    /* Hero CTA - allow text to wrap */
    #root > section:first-of-type button {
        white-space: normal !important;
        max-width: 100%;
        text-align: center;
    }

    /* Prevent long content overflowing */
    #root > section:first-of-type h1 {
        overflow-wrap: break-word;
    }

    /* Gravity Forms container */
    #enquiry .ssn-gf-card {
        min-width: 0;
        padding: 20px !important;
    }
	#social + section > div > div[style*="grid-template-columns"] {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    #social + section > div > div[style*="grid-template-columns"] > div {
        min-width: 0;
    }
}