/**
* @license
*
* Font Family: General Sans
* Designed by: Frode Helland
* URL: https://www.fontshare.com/fonts/general-sans
* © 2026 Indian Type Foundry
*
* General Sans Extralight 
* General Sans ExtralightItalic 
* General Sans Light 
* General Sans LightItalic 
* General Sans Regular 
* General Sans Italic 
* General Sans Medium 
* General Sans MediumItalic 
* General Sans Semibold 
* General Sans SemiboldItalic 
* General Sans Bold 
* General Sans BoldItalic 
* General Sans Variable (Variable font)
* General Sans VariableItalic (Variable font)

*
*/
@font-face {
  font-family: 'GeneralSans-Extralight';
  src: url(/fonts/GeneralSans-Extralight.woff2?afd541fc79c689233a173ea3ec14b255) format('woff2'),
       url(/fonts/GeneralSans-Extralight.woff?87ecf2f40b4d6fda22d1db1ffcb1e04a) format('woff'),
       url(/fonts/GeneralSans-Extralight.ttf?992ae0c123022109355163dc88bb068d) format('truetype');
  font-weight: 200;
  font-display: swap;
  font-style: normal;
}
@font-face {
  font-family: 'GeneralSans-ExtralightItalic';
  src: url(/fonts/GeneralSans-ExtralightItalic.woff2?7944c04aa0553a030ac493ca7904c851) format('woff2'),
       url(/fonts/GeneralSans-ExtralightItalic.woff?d47c956125a0d5f59f0920d7510887ee) format('woff'),
       url(/fonts/GeneralSans-ExtralightItalic.ttf?8177b9f4e9076e96ae5771903b77f189) format('truetype');
  font-weight: 200;
  font-display: swap;
  font-style: italic;
}
@font-face {
  font-family: 'GeneralSans-Light';
  src: url(/fonts/GeneralSans-Light.woff2?518203c32620d5a9f27031eea72bcbd5) format('woff2'),
       url(/fonts/GeneralSans-Light.woff?048c34867a207ef09e7296ef11b0075f) format('woff'),
       url(/fonts/GeneralSans-Light.ttf?7f8503d731fd91e825b2616e9d8dbd7e) format('truetype');
  font-weight: 300;
  font-display: swap;
  font-style: normal;
}
@font-face {
  font-family: 'GeneralSans-LightItalic';
  src: url(/fonts/GeneralSans-LightItalic.woff2?07724cb3a86c07078628608d967d2376) format('woff2'),
       url(/fonts/GeneralSans-LightItalic.woff?2d6cb7963e33e7959094836f769300d2) format('woff'),
       url(/fonts/GeneralSans-LightItalic.ttf?07840f7f694ab1b4a63fe5db5e7ffbf9) format('truetype');
  font-weight: 300;
  font-display: swap;
  font-style: italic;
}
@font-face {
  font-family: 'GeneralSans-Regular';
  src: url(/fonts/GeneralSans-Regular.woff2?8057e8ffbc8ee8b4a61143bf50b4e7a3) format('woff2'),
       url(/fonts/GeneralSans-Regular.woff?bfe40a874c1d506c8f314a3a2ed4a74b) format('woff'),
       url(/fonts/GeneralSans-Regular.ttf?e3ef3755413a327057e77fc62c10c90b) format('truetype');
  font-weight: 400;
  font-display: swap;
  font-style: normal;
}
@font-face {
  font-family: 'GeneralSans-Italic';
  src: url(/fonts/GeneralSans-Italic.woff2?4340d4f35314b2f98a046f496281b0e3) format('woff2'),
       url(/fonts/GeneralSans-Italic.woff?d917e86868cec9655db5c9ac33ed4d20) format('woff'),
       url(/fonts/GeneralSans-Italic.ttf?719f89c828d52e7149643282d55c21fc) format('truetype');
  font-weight: 400;
  font-display: swap;
  font-style: italic;
}
@font-face {
  font-family: 'GeneralSans-Medium';
  src: url(/fonts/GeneralSans-Medium.woff2?ae4b947d676691dcff6339af7d8057b3) format('woff2'),
       url(/fonts/GeneralSans-Medium.woff?e0ef3cdd7ad83a17e4be27abbe23ea97) format('woff'),
       url(/fonts/GeneralSans-Medium.ttf?19c9e190ed54b7f58cbf0f57b561b1d2) format('truetype');
  font-weight: 500;
  font-display: swap;
  font-style: normal;
}
@font-face {
  font-family: 'GeneralSans-MediumItalic';
  src: url(/fonts/GeneralSans-MediumItalic.woff2?5c7a748f9b4c560fc1eeafd0fd11f4b2) format('woff2'),
       url(/fonts/GeneralSans-MediumItalic.woff?c0f7f1683240a3229210c1ad74af5ab1) format('woff'),
       url(/fonts/GeneralSans-MediumItalic.ttf?c4ec3705d66fe78b0caba2dc31e33fab) format('truetype');
  font-weight: 500;
  font-display: swap;
  font-style: italic;
}
@font-face {
  font-family: 'GeneralSans-Semibold';
  src: url(/fonts/GeneralSans-Semibold.woff2?76af6b1a3491cb8b54a80330b2920d9f) format('woff2'),
       url(/fonts/GeneralSans-Semibold.woff?e0371084f698d022e176edd40b316451) format('woff'),
       url(/fonts/GeneralSans-Semibold.ttf?774f4cee90d0cecf7a092e7d07206a8f) format('truetype');
  font-weight: 600;
  font-display: swap;
  font-style: normal;
}
@font-face {
  font-family: 'GeneralSans-SemiboldItalic';
  src: url(/fonts/GeneralSans-SemiboldItalic.woff2?890ca001da0313fb91838503b17a7ecc) format('woff2'),
       url(/fonts/GeneralSans-SemiboldItalic.woff?4b1ed79c0f0acd0153c0028c74928b15) format('woff'),
       url(/fonts/GeneralSans-SemiboldItalic.ttf?f7edaef19a6620604de29365436ef6b8) format('truetype');
  font-weight: 600;
  font-display: swap;
  font-style: italic;
}
@font-face {
  font-family: 'GeneralSans-Bold';
  src: url(/fonts/GeneralSans-Bold.woff2?24b2e04a727abd85dbaa72f4f4ffcfbe) format('woff2'),
       url(/fonts/GeneralSans-Bold.woff?3cf6a3bcede778cd21734453d979dd5d) format('woff'),
       url(/fonts/GeneralSans-Bold.ttf?38323bf5ca04d6d2665dfde28e9e11c6) format('truetype');
  font-weight: 700;
  font-display: swap;
  font-style: normal;
}
@font-face {
  font-family: 'GeneralSans-BoldItalic';
  src: url(/fonts/GeneralSans-BoldItalic.woff2?ca6835f11c2280e3a0d661c3202ed4d4) format('woff2'),
       url(/fonts/GeneralSans-BoldItalic.woff?9e60897ade41eb6582f0eee24d02918b) format('woff'),
       url(/fonts/GeneralSans-BoldItalic.ttf?6ad163af217251864816f230679cd124) format('truetype');
  font-weight: 700;
  font-display: swap;
  font-style: italic;
}
/**
* This is a variable font
* You can control variable axes as shown below:
* font-variation-settings: wght 700.0;
*
* available axes:
'wght' (range from 200.0 to 700.0
*/
@font-face {
  font-family: 'GeneralSans-Variable';
  src: url(/fonts/GeneralSans-Variable.woff2?65a7e76e15a342e2ed8fec4e9952a871) format('woff2'),
       url(/fonts/GeneralSans-Variable.woff?e03606c96368944678f19db38eded213) format('woff'),
       url(/fonts/GeneralSans-Variable.ttf?d7facbbe2ed9ae4aae496c8282dc3701) format('truetype');
  font-weight: 200 700;
  font-display: swap;
  font-style: normal;
}
/**
* This is a variable font
* You can control variable axes as shown below:
* font-variation-settings: wght 700.0;
*
* available axes:
'wght' (range from 200.0 to 700.0
*/
@font-face {
  font-family: 'GeneralSans-VariableItalic';
  src: url(/fonts/GeneralSans-VariableItalic.woff2?fae5b46e32e628ff5f9b4ca3d2ad4310) format('woff2'),
       url(/fonts/GeneralSans-VariableItalic.woff?40fd4f0ca8dd6b9e181f452bf8123781) format('woff'),
       url(/fonts/GeneralSans-VariableItalic.ttf?37a2c9e4ec944dec5059fc690a43601a) format('truetype');
  font-weight: 200 700;
  font-display: swap;
  font-style: italic;
}


/**
* @license
*
* Font Family: Satoshi
* Designed by: Deni Anggara
* URL: https://www.fontshare.com/fonts/satoshi
* © 2026 Indian Type Foundry
*
* Satoshi Light 
* Satoshi LightItalic 
* Satoshi Regular 
* Satoshi Italic 
* Satoshi Medium 
* Satoshi MediumItalic 
* Satoshi Bold 
* Satoshi BoldItalic 
* Satoshi Black 
* Satoshi BlackItalic 
* Satoshi Variable (Variable font)
* Satoshi VariableItalic (Variable font)

*
*/
@font-face {
  font-family: 'Satoshi-Light';
  src: url(/fonts/Satoshi-Light.woff2?57c1de8f9715e8fe071b03263dee8b9e) format('woff2'),
       url(/fonts/Satoshi-Light.woff?abe15496f53706c63c49e2564bf4d3dd) format('woff'),
       url(/fonts/Satoshi-Light.ttf?6c82dfa6c157b979ae44e1c1b7d03562) format('truetype');
  font-weight: 300;
  font-display: swap;
  font-style: normal;
}
@font-face {
  font-family: 'Satoshi-LightItalic';
  src: url(/fonts/Satoshi-LightItalic.woff2?7cc83ebbac1afdc687b42bdcf8dc1dbc) format('woff2'),
       url(/fonts/Satoshi-LightItalic.woff?d76d99869cdf69d4a82ecee8ede3f34e) format('woff'),
       url(/fonts/Satoshi-LightItalic.ttf?24305fe5870daaf1e1712398090a4126) format('truetype');
  font-weight: 300;
  font-display: swap;
  font-style: italic;
}
@font-face {
  font-family: 'Satoshi-Regular';
  src: url(/fonts/Satoshi-Regular.woff2?8145899d3e6533d1817d122c75eb44d2) format('woff2'),
       url(/fonts/Satoshi-Regular.woff?5811cbfba3e3253c17b1529a7f43f8f1) format('woff'),
       url(/fonts/Satoshi-Regular.ttf?eb29265e7db03c142f2bd506aa251479) format('truetype');
  font-weight: 400;
  font-display: swap;
  font-style: normal;
}
@font-face {
  font-family: 'Satoshi-Italic';
  src: url(/fonts/Satoshi-Italic.woff2?481af23c1637dd6e1ff0522af146039f) format('woff2'),
       url(/fonts/Satoshi-Italic.woff?008f972989417a21a64b58625b924efd) format('woff'),
       url(/fonts/Satoshi-Italic.ttf?4fef62ef335f217624839c251eabb08e) format('truetype');
  font-weight: 400;
  font-display: swap;
  font-style: italic;
}
@font-face {
  font-family: 'Satoshi-Medium';
  src: url(/fonts/Satoshi-Medium.woff2?3afd4e5d5c6c202176c7bd95b56c77b0) format('woff2'),
       url(/fonts/Satoshi-Medium.woff?4c346f65a037a1d5562a116ec8d9b883) format('woff'),
       url(/fonts/Satoshi-Medium.ttf?a621928e51fbc94aad6fb49b6a24f1b6) format('truetype');
  font-weight: 500;
  font-display: swap;
  font-style: normal;
}
@font-face {
  font-family: 'Satoshi-MediumItalic';
  src: url(/fonts/Satoshi-MediumItalic.woff2?038513ada8d4831298891829279487a3) format('woff2'),
       url(/fonts/Satoshi-MediumItalic.woff?829454c9f54e5a5fb61f27f22416493f) format('woff'),
       url(/fonts/Satoshi-MediumItalic.ttf?c51c849b809db1c29e02a787c0cec002) format('truetype');
  font-weight: 500;
  font-display: swap;
  font-style: italic;
}
@font-face {
  font-family: 'Satoshi-Bold';
  src: url(/fonts/Satoshi-Bold.woff2?898370f6b2aaebc1e0c617440411bff0) format('woff2'),
       url(/fonts/Satoshi-Bold.woff?19fa21b789a593ecd64ca84edf0f49c3) format('woff'),
       url(/fonts/Satoshi-Bold.ttf?466e62bc2fe9333386dcda51148a0b33) format('truetype');
  font-weight: 700;
  font-display: swap;
  font-style: normal;
}
@font-face {
  font-family: 'Satoshi-BoldItalic';
  src: url(/fonts/Satoshi-BoldItalic.woff2?d3745f61a2b9f0aaa78ce82cf7d2d0cd) format('woff2'),
       url(/fonts/Satoshi-BoldItalic.woff?a6c1673ae96b278a4381304be545c73a) format('woff'),
       url(/fonts/Satoshi-BoldItalic.ttf?64321ede57c02cdfca6aa188ee58d56f) format('truetype');
  font-weight: 700;
  font-display: swap;
  font-style: italic;
}
@font-face {
  font-family: 'Satoshi-Black';
  src: url(/fonts/Satoshi-Black.woff2?74dc35a22de7e9164483c1d780161334) format('woff2'),
       url(/fonts/Satoshi-Black.woff?0301b4dc435831fe93504b8f44aefd44) format('woff'),
       url(/fonts/Satoshi-Black.ttf?639fc41f407e5505400616a73495115d) format('truetype');
  font-weight: 900;
  font-display: swap;
  font-style: normal;
}
@font-face {
  font-family: 'Satoshi-BlackItalic';
  src: url(/fonts/Satoshi-BlackItalic.woff2?2602dcd03ade5505cd181962a928aecd) format('woff2'),
       url(/fonts/Satoshi-BlackItalic.woff?9d586c1792b557bf0bb2548fc8476ca6) format('woff'),
       url(/fonts/Satoshi-BlackItalic.ttf?dffc0665dac21db1c6848acbf18a94f0) format('truetype');
  font-weight: 900;
  font-display: swap;
  font-style: italic;
}
/**
* This is a variable font
* You can control variable axes as shown below:
* font-variation-settings: wght 900.0;
*
* available axes:
'wght' (range from 300.0 to 900.0
*/
@font-face {
  font-family: 'Satoshi-Variable';
  src: url(/fonts/Satoshi-Variable.woff2?353a66cdd8922bb63107b51bb4ebc47f) format('woff2'),
       url(/fonts/Satoshi-Variable.woff?7499460002112759130502ba772b200e) format('woff'),
       url(/fonts/Satoshi-Variable.ttf?536fda9b164542087fc736ce08d382d0) format('truetype');
  font-weight: 300 900;
  font-display: swap;
  font-style: normal;
}
/**
* This is a variable font
* You can control variable axes as shown below:
* font-variation-settings: wght 900.0;
*
* available axes:
'wght' (range from 300.0 to 900.0
*/
@font-face {
  font-family: 'Satoshi-VariableItalic';
  src: url(/fonts/Satoshi-VariableItalic.woff2?9d501e440d7109a57c882c57a9285d57) format('woff2'),
       url(/fonts/Satoshi-VariableItalic.woff?e22cef10622567af747e1a985c2b8cea) format('woff'),
       url(/fonts/Satoshi-VariableItalic.ttf?9519fea9567e2405bc08c2a383630289) format('truetype');
  font-weight: 300 900;
  font-display: swap;
  font-style: italic;
}


/* ── Optional font pairings ──────────────────────────────────────────────
   Variable weights only: one file per family instead of the full static set,
   so adding these pairings costs little. Paths resolve through webpack, which
   copies the files into public/fonts. */

@font-face {
    font-family: 'Gambetta-Variable';
    src: url(/fonts/Gambetta-Variable.woff2?4b3c243e6ab696add1f4f5bfac18f21a) format('woff2'),
         url(/fonts/Gambetta-Variable.woff?a1d68c731409f2e174f0ca514abae6cd) format('woff');
    font-weight: 300 700;
    font-display: swap;
    font-style: normal;
}

@font-face {
    font-family: 'Switzer-Variable';
    src: url(/fonts/Switzer-Variable.woff2?9cc69377319a8d1e055ea967289130f5) format('woff2'),
         url(/fonts/Switzer-Variable.woff?459f511d1db8ac387f8b5cd9343057f8) format('woff');
    font-weight: 100 900;
    font-display: swap;
    font-style: normal;
}

@font-face {
    font-family: 'SpaceGrotesk-Variable';
    src: url(/fonts/SpaceGrotesk-Variable.woff2?bc0329c97086a383e3748115e1d3c89b) format('woff2'),
         url(/fonts/SpaceGrotesk-Variable.woff?c2db51add199347aff03a0070f222da6) format('woff');
    font-weight: 300 700;
    font-display: swap;
    font-style: normal;
}

/* ── Shared modal motion ─────────────────────────────────────────────────
   One pop-reveal for every modal in the app, so they no longer each have
   their own duration and easing (they ranged from 0.18s to 0.32s, and some
   slid rather than popped).

   The curve overshoots slightly on entry — that is what reads as a "pop" —
   and settles back on exit. Timings are deliberately unhurried. */

:root {
    --modal-pop-in:    380ms;
    --modal-pop-out:   260ms;
    --modal-veil-in:   300ms;
    /* Slight overshoot past 1.0 gives the pop its bounce. */
    --modal-pop-ease:  cubic-bezier(0.22, 1.24, 0.44, 1);
    --modal-out-ease:  cubic-bezier(0.4, 0, 0.7, 0.2);
}

/* Panels ---------------------------------------------------------------- */
.usd-modal,
.ua-modal,
.us-modal,
.uam-panel,
.ut-modal,
.udm-modal {
    opacity:          0;
    transform:        scale(0.9);
    transform-origin: center center;
    transition:       opacity var(--modal-pop-in) var(--modal-pop-ease),
                      transform var(--modal-pop-in) var(--modal-pop-ease);
    /* Overrides the per-modal keyframes these used to run. */
    animation:        none !important;
}

.usd-modal.open,
.ua-modal.open,
.us-modal.open,
.uam-panel.open,
.ut-modal.open,
.udm-modal.open.open {
    opacity:   1;
    transform: scale(1);
}

.usd-modal.closing,
.ua-modal.closing,
.us-modal.closing,
.uam-panel.closing,
.ut-modal.closing,
.udm-modal.closing.closing {
    opacity:    0;
    transform:  scale(0.94);
    transition: opacity var(--modal-pop-out) var(--modal-out-ease),
                transform var(--modal-pop-out) var(--modal-out-ease);
}

/* Backdrops ------------------------------------------------------------- */
.usd-modal-backdrop,
.ua-modal-backdrop,
.us-modal-backdrop,
.uam-backdrop,
.ut-modal-backdrop,
.udm-backdrop {
    opacity:    0;
    transition: opacity var(--modal-veil-in) ease-out;
    animation:  none !important;
}

.usd-modal-backdrop.open,
.ua-modal-backdrop.open,
.us-modal-backdrop.open,
.uam-backdrop.open,
.ut-modal-backdrop.open,
.udm-backdrop.open {
    opacity: 1;
}

.usd-modal-backdrop.closing,
.ua-modal-backdrop.closing,
.us-modal-backdrop.closing,
.uam-backdrop.closing,
.ut-modal-backdrop.closing,
.udm-backdrop.closing {
    opacity:    0;
    transition: opacity var(--modal-pop-out) ease-in;
}

@media (prefers-reduced-motion: reduce) {
    .usd-modal, .ua-modal, .us-modal, .uam-panel, .ut-modal, .udm-modal,
    .usd-modal-backdrop, .ua-modal-backdrop, .us-modal-backdrop, .uam-backdrop,
    .ut-modal-backdrop, .udm-backdrop {
        transition-duration: .01s;
    }
}

body {
    margin: 0;
    padding: 0;
    /* Follows the font picker (published on :root by UserLayout); the literal
       stack is the fallback before that runs, and for non-user pages. */
    font-family: var(--user-font, "GeneralSans-Variable", "GeneralSans-Regular", system-ui, sans-serif);
}

