﻿/*!
 * SmartSite CSS Framework v0.1.1
 * Lightweight, pure-CSS framework for SmartSite projects
 * DevXpert Sàrl — devxpert.ch
 *
 * TABLE DES MATIÈRES
 *  1.  Design Tokens (CSS Variables)
 *  2.  Reset & Base
 *  3.  Typographie
 *  4.  Layout — Container
 *  5.  Layout — Grid
 *  6.  Navigation  (hamburger details/summary, sans JS)
 *  7.  Section Hero
 *  8.  Sections
 *  9.  Cards & Feature Boxes
 * 10.  Boutons
 * 10b. Badges
 * 10c. Alertes
 * 11.  Formulaires
 * 12.  Bloc Contact
 * 13.  Footer
 * 14.  Utilitaires — Texte & Typo
 * 15.  Utilitaires — Espacement
 * 16.  Utilitaires — Couleurs & Fonds
 * 17.  Utilitaires — Display & Flex
 * 18.  Utilitaires — Bordures, Ombres, Taille
 * 19.  Animations
 *
 * PERSONNALISATION PER-PROJET
 *   Importez ce fichier en premier, puis ajoutez votre propre CSS
 *   de thème qui surcharge les variables --s2-* dans :root { ... }
 *   et ajoute les styles décoratifs spécifiques à votre projet.
 *
 * ARCHITECTURE
 *   Framework = structure + comportement + défauts neutres
 *   Thème     = couleurs de marque, dégradés, effets hover,
 *               ombres colorées, ligne decorative de titre, etc.
 */:root{--s2-color-primary: #475569;--s2-color-primary-light: #f1f5f9;--s2-color-primary-dark: #334155;--s2-color-secondary: #64748b;--s2-color-accent: #3b82f6;--s2-color-bg: #ffffff;--s2-color-bg-alt: #f8fafc;--s2-color-text: #1e293b;--s2-color-text-muted: #64748b;--s2-color-border: rgba(0, 0, 0, 0.08);--s2-font-sans: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;--s2-font-body: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;--s2-font-size: 16px;--s2-line-height: 1.7;--s2-space-1: 0.25rem;--s2-space-2: 0.5rem;--s2-space-3: 1rem;--s2-space-4: 1.5rem;--s2-space-5: 2rem;--s2-space-6: 3rem;--s2-space-7: 4rem;--s2-space-8: 6rem;--s2-section-py: 5rem;--s2-radius-sm: 0.375rem;--s2-radius: 0.75rem;--s2-radius-lg: 1rem;--s2-radius-xl: 1.5rem;--s2-radius-pill: 50rem;--s2-shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.05);--s2-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);--s2-shadow-lg: 0 10px 30px rgba(0, 0, 0, 0.09);--s2-container-max: 1320px;--s2-container-px: 1.25rem;--s2-nav-height: 68px;--s2-nav-bg: var(--s2-color-bg);--s2-nav-z: 1000;--s2-transition: 0.22s ease;--s2-color-success: #166534;--s2-color-success-bg: #f0fdf4;--s2-color-success-border: #bbf7d0;--s2-color-danger: #991b1b;--s2-color-danger-bg: #fef2f2;--s2-color-danger-border: #fecaca;--s2-color-warning: #92400e;--s2-color-warning-bg: #fffbeb;--s2-color-warning-border: #fde68a;--s2-contact-cols: 2fr 3fr}*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}html{font-size:var(--s2-font-size);scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:var(--s2-font-body);line-height:var(--s2-line-height);color:var(--s2-color-text);background-color:var(--s2-color-bg);overflow-x:hidden}img,svg,video{max-width:100%;height:auto;display:block}a{color:var(--s2-color-primary);text-decoration:none;transition:color var(--s2-transition)}a:hover{color:var(--s2-color-primary-dark)}ul,ol{list-style:none}details>summary{list-style:none;cursor:pointer;-webkit-tap-highlight-color:transparent;user-select:none;-webkit-user-select:none;outline:none}details>summary:focus-visible{outline:2px solid var(--s2-color-accent);outline-offset:2px}details>summary::-webkit-details-marker,details>summary::marker{display:none;content:""}h1,h2,h3,h4,h5,h6{font-family:var(--s2-font-sans);font-weight:700;line-height:1.25;color:var(--s2-color-text);margin-bottom:1rem}h1{font-size:clamp(2rem,5vw,3.5rem);letter-spacing:-1.5px}h2{font-size:clamp(1.75rem,4vw,2.75rem);letter-spacing:-1px}h3{font-size:clamp(1.35rem,3vw,1.875rem)}h4{font-size:1.25rem}h5{font-size:1.1rem}h6{font-size:1rem}p{margin-bottom:1rem}p:last-child{margin-bottom:0}.s2-lead{font-size:clamp(1.05rem,2.2vw,1.2rem);font-weight:400;line-height:1.8;color:var(--s2-color-text-muted)}.s2-tagline{display:block;font-size:.8rem;font-weight:600;letter-spacing:2.5px;text-transform:uppercase;color:var(--s2-color-secondary);margin-bottom:.75rem}.s2-section-title{margin-bottom:2.5rem}.s2-section-title h2{margin-bottom:0}.s2-container{width:100%;max-width:var(--s2-container-max);margin-left:auto;margin-right:auto;padding-left:var(--s2-container-px);padding-right:var(--s2-container-px)}.s2-container-sm{max-width:768px}.s2-container-md{max-width:992px}.s2-container-lg{max-width:1140px}.s2-grid{display:grid;gap:var(--s2-space-5)}.s2-grid-2{grid-template-columns:repeat(2, 1fr)}.s2-grid-3{grid-template-columns:repeat(3, 1fr)}.s2-grid-4{grid-template-columns:repeat(4, 1fr)}.s2-grid-auto{grid-template-columns:repeat(auto-fit, minmax(260px, 1fr))}.s2-grid-auto-sm{grid-template-columns:repeat(auto-fit, minmax(200px, 1fr))}.s2-grid-auto-lg{grid-template-columns:repeat(auto-fit, minmax(320px, 1fr))}@media(max-width: 575px){.s2-grid-2,.s2-grid-3,.s2-grid-4{grid-template-columns:1fr}}@media(min-width: 576px)and (max-width: 991px){.s2-grid-3{grid-template-columns:repeat(2, 1fr)}.s2-grid-4{grid-template-columns:repeat(2, 1fr)}}.s2-col-span-2{grid-column:span 2}.s2-col-span-3{grid-column:span 3}@media(max-width: 575px){.s2-col-span-2,.s2-col-span-3{grid-column:span 1}}.s2-grid--gap-sm{gap:var(--s2-space-3)}.s2-grid--gap-lg{gap:var(--s2-space-7)}.s2-nav{width:100%;background-color:var(--s2-nav-bg);border-bottom:1px solid var(--s2-color-border);z-index:var(--s2-nav-z);transition:box-shadow var(--s2-transition),background-color var(--s2-transition)}.s2-nav--sticky{position:sticky;top:0}.s2-nav--fixed{position:fixed;top:0;left:0;right:0}.s2-nav--overlay{position:absolute;background-color:rgba(255, 255, 255, 0.88);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom-color:rgba(255, 255, 255, 0.4)}.s2-nav--scrolled{box-shadow:var(--s2-shadow)}.s2-nav-inner{display:flex;align-items:center;height:var(--s2-nav-height);gap:var(--s2-space-3);position:relative}.s2-brand{display:flex;align-items:center;gap:.5rem;color:var(--s2-color-text);font-family:var(--s2-font-sans);font-weight:700;font-size:1.1rem;flex-shrink:0;text-decoration:none;transition:opacity var(--s2-transition)}.s2-brand:hover{color:var(--s2-color-primary);opacity:.9}.s2-brand img{display:inline-block;height:36px;width:auto}.s2-nav-links{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:.25rem}@media(min-width: 992px){.s2-nav-toggle{display:none}.s2-nav-links{display:flex;margin-left:auto}}.s2-nav-links>li>a{display:inline-flex;align-items:center;padding:.5rem .75rem;font-size:.95rem;font-weight:500;color:var(--s2-color-text);border-radius:var(--s2-radius-sm);transition:color var(--s2-transition)}.s2-nav-links>li>a:hover{color:var(--s2-color-primary)}.s2-nav-cta>a{background-color:var(--s2-color-primary) !important;color:#fff !important;padding:.55rem 1.5rem !important;border-radius:var(--s2-radius-pill) !important;font-weight:600;transition:background-color var(--s2-transition),transform var(--s2-transition),box-shadow var(--s2-transition) !important}.s2-nav-cta>a:hover{background-color:var(--s2-color-primary-dark) !important;color:#fff !important}.s2-has-dropdown{position:relative}.s2-has-dropdown>details>summary{display:inline-flex;align-items:center;gap:.35rem;padding:.5rem .75rem;font-size:.95rem;font-weight:500;color:var(--s2-color-text);border-radius:var(--s2-radius-sm);transition:color var(--s2-transition)}.s2-has-dropdown>details>summary:hover{color:var(--s2-color-primary)}.s2-has-dropdown>details>summary::after{content:"";display:inline-block;width:.4em;height:.4em;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform var(--s2-transition)}.s2-has-dropdown>details[open]>summary::after{transform:rotate(-135deg) translateY(2px)}.s2-dropdown-menu{position:absolute;top:calc(100% + .5rem);left:0;min-width:210px;background:var(--s2-color-bg);border-radius:var(--s2-radius);box-shadow:var(--s2-shadow-lg);padding:.5rem;list-style:none;z-index:calc(var(--s2-nav-z) + 10);animation:s2-slideDown .2s ease}.s2-dropdown-menu li>a{display:block;padding:.6rem 1rem;border-radius:var(--s2-radius-sm);font-size:.9rem;font-weight:500;color:var(--s2-color-text);transition:background-color var(--s2-transition),color var(--s2-transition)}.s2-dropdown-menu li>a:hover{background-color:var(--s2-color-primary-light);color:var(--s2-color-primary-dark)}.s2-hamburger{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:42px;height:42px;border:1px solid var(--s2-color-border);border-radius:var(--s2-radius-sm);background:transparent;cursor:pointer;transition:background-color var(--s2-transition);flex-shrink:0}.s2-hamburger:hover{background-color:var(--s2-color-primary-light)}.s2-hamburger span{display:block;width:22px;height:2px;background-color:var(--s2-color-text);border-radius:2px;transition:transform var(--s2-transition),opacity var(--s2-transition);pointer-events:none}.s2-nav-toggle[open]>.s2-hamburger span:nth-child(1){transform:translateY(7px) rotate(45deg)}.s2-nav-toggle[open]>.s2-hamburger span:nth-child(2){opacity:0;transform:scaleX(0)}.s2-nav-toggle[open]>.s2-hamburger span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}@media(max-width: 991px){.s2-nav-toggle{margin-left:auto;flex-shrink:0}.s2-brand{flex-shrink:1;min-width:0;overflow:hidden}.s2-brand img{height:28px}.s2-nav-links{display:none}.s2-nav-toggle[open]~.s2-nav-links{display:flex;flex-direction:column;align-items:stretch;gap:0;position:absolute;top:var(--s2-nav-height);left:0;right:0;background-color:var(--s2-color-bg);box-shadow:var(--s2-shadow-lg);padding:.75rem 1rem 1.25rem;border-top:1px solid var(--s2-color-border);animation:s2-slideDown .2s ease;z-index:calc(var(--s2-nav-z) - 1)}.s2-nav-links>li>a{padding:.7rem 1rem;width:100%}.s2-nav-links>li>a:hover{background-color:var(--s2-color-primary-light)}.s2-nav-cta{margin-top:.5rem}.s2-nav-cta>a{display:flex;justify-content:center;width:100%}.s2-has-dropdown>details>summary{padding:.7rem 1rem;width:100%;display:flex;justify-content:space-between}.s2-dropdown-menu{position:static;box-shadow:none;background:var(--s2-color-bg-alt);border-radius:var(--s2-radius-sm);margin-top:.25rem;animation:none}}@media(max-width: 480px){.s2-brand img:not(:first-child){display:none}.s2-brand img:first-child{height:32px}}.s2-hero{position:relative;overflow:hidden;padding-top:calc(var(--s2-nav-height) + 3rem);padding-bottom:4rem;display:flex;align-items:center;background-color:var(--s2-color-bg-alt)}.s2-hero--no-offset{padding-top:4rem}.s2-hero-content{position:relative;z-index:1;width:100%}.s2-hero-title{font-family:var(--s2-font-sans);font-size:clamp(2rem,5vw,3.5rem);font-weight:700;line-height:1.1;margin-bottom:1.5rem;color:var(--s2-color-text)}.s2-hero-subtitle{font-size:clamp(1rem,2.2vw,1.2rem);color:var(--s2-color-text-muted);max-width:600px;margin-bottom:2.5rem;line-height:1.7}.s2-hero-actions{display:flex;gap:1rem;flex-wrap:wrap}@media(max-width: 575px){.s2-hero-actions{flex-direction:column;align-items:flex-start}}.s2-section{padding:var(--s2-section-py) 0}.s2-section--sm{padding:3rem 0}.s2-section--lg{padding:8rem 0}.s2-section--light{background-color:var(--s2-color-bg-alt)}.s2-section--white{background-color:var(--s2-color-bg)}.s2-section--dark{background-color:var(--s2-color-text);color:var(--s2-color-bg)}.s2-section--primary{background-color:var(--s2-color-primary);color:#fff}.s2-section--dark h2,.s2-section--dark h3{color:#fff}.s2-section--primary h2,.s2-section--primary h3{color:#fff}.s2-section-header{margin-bottom:3rem}.s2-section-header--center{text-align:center;max-width:700px;margin-left:auto;margin-right:auto;margin-bottom:3rem}.s2-box-highlight{background-color:var(--s2-color-primary-light);border:1px solid var(--s2-color-border);border-radius:var(--s2-radius-lg);padding:2.5rem}@media(max-width: 767px){.s2-box-highlight{padding:1.5rem}}.s2-callout{background-color:var(--s2-color-primary-light);border-left:4px solid var(--s2-color-primary);padding:1.75rem 2rem;margin:2rem 0}.s2-callout-header{display:flex;align-items:center;gap:.75rem;font-family:var(--s2-font-sans);font-weight:700;font-size:1.1rem;color:var(--s2-color-text);margin-bottom:.75rem}.s2-callout p{color:var(--s2-color-text-muted);margin-bottom:0}@media(max-width: 767px){.s2-section{padding:3.5rem 0}}.s2-card{background-color:var(--s2-color-bg);border-radius:var(--s2-radius-lg);border:1px solid var(--s2-color-border);overflow:hidden;box-shadow:var(--s2-shadow-sm);transition:transform var(--s2-transition),box-shadow var(--s2-transition)}.s2-card:hover{transform:translateY(-4px);box-shadow:var(--s2-shadow)}.s2-card-body{padding:1.5rem}.s2-card-img{width:100%;aspect-ratio:16/9;object-fit:cover}.s2-feature{display:flex;flex-direction:column;background-color:var(--s2-color-bg);border-radius:var(--s2-radius-lg);border:1px solid var(--s2-color-border);padding:1.75rem;height:100%;box-shadow:var(--s2-shadow-sm);transition:transform var(--s2-transition),box-shadow var(--s2-transition)}.s2-feature:hover{transform:scale(1.02);box-shadow:var(--s2-shadow)}.s2-feature--row{flex-direction:row;align-items:flex-start;gap:1rem}.s2-feature-icon{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;flex-shrink:0;margin-bottom:1rem;font-size:1.5rem;transition:transform var(--s2-transition)}.s2-feature--row .s2-feature-icon{margin-bottom:0}.s2-feature-icon--lg{width:70px;height:70px;font-size:1.75rem}.s2-feature-title{font-size:1.05rem;font-weight:700;margin-bottom:.5rem;color:var(--s2-color-text)}.s2-feature-text{font-size:.9rem;color:var(--s2-color-text-muted);line-height:1.65;margin-bottom:0;flex:1}.s2-steps{display:grid;grid-template-columns:repeat(3, 1fr);gap:var(--s2-space-5);text-align:center}@media(max-width: 767px){.s2-steps{grid-template-columns:1fr}}.s2-step-icon{display:inline-flex;align-items:center;justify-content:center;width:70px;height:70px;margin:0 auto var(--s2-space-3);font-size:1.75rem}.s2-btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.75rem 1.75rem;font-family:var(--s2-font-sans);font-size:.95rem;font-weight:600;line-height:1.2;border:2px solid transparent;border-radius:var(--s2-radius-pill);cursor:pointer;text-decoration:none;transition:background-color var(--s2-transition),border-color var(--s2-transition),color var(--s2-transition),transform var(--s2-transition),box-shadow var(--s2-transition);white-space:nowrap;appearance:none}.s2-btn:focus-visible{outline:3px solid var(--s2-color-accent);outline-offset:2px}.s2-btn--primary{background-color:var(--s2-color-primary);border-color:var(--s2-color-primary);color:#fff}.s2-btn--primary:hover{background-color:var(--s2-color-primary-dark);border-color:var(--s2-color-primary-dark);color:#fff}.s2-btn--outline{background-color:transparent;border-color:var(--s2-color-text);color:var(--s2-color-text)}.s2-btn--outline:hover{background-color:var(--s2-color-text);color:#fff}.s2-btn--ghost{background-color:transparent;border-color:var(--s2-color-primary);color:var(--s2-color-primary)}.s2-btn--ghost:hover{background-color:var(--s2-color-primary);color:#fff}.s2-btn--sm{padding:.5rem 1.25rem;font-size:.875rem}.s2-btn--lg{padding:1rem 2.5rem;font-size:1.05rem}.s2-badge{display:inline-flex;align-items:center;gap:.3rem;padding:.25em .7em;font-size:.75rem;font-weight:600;line-height:1.4;border-radius:var(--s2-radius-pill);white-space:nowrap;border:1px solid transparent;vertical-align:middle}.s2-badge--primary{background-color:var(--s2-color-primary-light);color:var(--s2-color-primary-dark);border-color:var(--s2-color-border)}.s2-badge--success{background-color:var(--s2-color-success-bg);color:var(--s2-color-success);border-color:var(--s2-color-success-border)}.s2-badge--danger{background-color:var(--s2-color-danger-bg);color:var(--s2-color-danger);border-color:var(--s2-color-danger-border)}.s2-badge--neutral{background-color:var(--s2-color-primary-light);color:var(--s2-color-text-muted);border-color:var(--s2-color-border)}.s2-alert{display:flex;align-items:flex-start;gap:.75rem;padding:1rem 1.25rem;border-radius:var(--s2-radius);border:1px solid transparent;font-size:.9rem;line-height:1.6;margin-bottom:1rem}.s2-alert:last-child{margin-bottom:0}.s2-alert--success{background-color:var(--s2-color-success-bg);color:var(--s2-color-success);border-color:var(--s2-color-success-border)}.s2-alert--danger{background-color:var(--s2-color-danger-bg);color:var(--s2-color-danger);border-color:var(--s2-color-danger-border)}.s2-alert--warning{background-color:var(--s2-color-warning-bg);color:var(--s2-color-warning);border-color:var(--s2-color-warning-border)}.s2-alert--info{background-color:var(--s2-color-primary-light);color:var(--s2-color-primary-dark);border-color:var(--s2-color-border)}.s2-form-group{margin-bottom:1rem}.s2-label{display:block;font-size:.875rem;font-weight:500;color:var(--s2-color-text);margin-bottom:.375rem}.s2-input,.s2-textarea,.s2-select{display:block;width:100%;padding:.8rem 1rem;font-family:var(--s2-font-body);font-size:.925rem;line-height:1.5;color:var(--s2-color-text);background-color:#fafafa;border:1px solid var(--s2-color-border);border-radius:var(--s2-radius-sm);transition:border-color var(--s2-transition),box-shadow var(--s2-transition),background-color var(--s2-transition);appearance:auto}.s2-input::placeholder,.s2-textarea::placeholder{color:#adb5bd;font-size:.875rem}.s2-input:focus,.s2-textarea:focus,.s2-select:focus{outline:none;border-color:var(--s2-color-accent);background-color:#fff;box-shadow:0 0 0 3px rgba(59, 130, 246, 0.15)}.s2-textarea{resize:vertical;min-height:120px}.s2-select{cursor:pointer}.s2-contact-wrapper{background:var(--s2-color-bg);border-radius:var(--s2-radius-lg);overflow:hidden;box-shadow:var(--s2-shadow);border:1px solid var(--s2-color-border);display:grid;grid-template-columns:var(--s2-contact-cols)}@media(max-width: 991px){.s2-contact-wrapper{grid-template-columns:1fr}}.s2-contact-info{padding:2.5rem}.s2-contact-form{padding:2.5rem;position:relative;padding-bottom:5rem}.s2-feedback{display:none;position:absolute;bottom:0;left:0;right:0;padding:.9rem 1.5rem;text-align:center;font-size:.9rem;font-weight:500;animation:s2-fadeIn .3s ease}.s2-feedback--processing{display:block;background-color:#f8f9fa;color:var(--s2-color-text-muted);border-top:1px solid var(--s2-color-border)}.s2-feedback--success{display:block;background-color:var(--s2-color-success-bg);color:var(--s2-color-success);border-top:1px solid var(--s2-color-success-border)}.s2-feedback--error{display:block;background-color:var(--s2-color-danger-bg);color:var(--s2-color-danger);border-top:1px solid var(--s2-color-danger-border)}.s2-form-row{display:grid;gap:.75rem}.s2-form-row-2{grid-template-columns:repeat(2, 1fr)}@media(max-width: 575px){.s2-form-row-2{grid-template-columns:1fr}}.s2-footer{padding:4rem 0 3rem;background-color:var(--s2-color-bg-alt);border-top:1px solid var(--s2-color-border)}.s2-footer a{color:var(--s2-color-text);display:inline-flex;align-items:center;gap:.35rem;transition:color var(--s2-transition)}.s2-footer a:hover{color:var(--s2-color-accent)}.s2-footer-brand{font-family:var(--s2-font-sans);font-weight:700;color:var(--s2-color-primary);display:block}.s2-footer-links{display:flex;flex-wrap:wrap;justify-content:center;gap:1.5rem;list-style:none;margin:0;padding:0;font-size:.9rem;color:var(--s2-color-text-muted)}.s2-text-primary{color:var(--s2-color-primary) !important}.s2-text-secondary{color:var(--s2-color-secondary) !important}.s2-text-accent{color:var(--s2-color-accent) !important}.s2-text-muted{color:var(--s2-color-text-muted) !important}.s2-text-dark{color:var(--s2-color-text) !important}.s2-text-white{color:#fff !important}.s2-text-xs{font-size:.75rem !important}.s2-text-sm{font-size:.875rem !important}.s2-text-base{font-size:1rem !important}.s2-text-lg{font-size:1.125rem !important}.s2-font-light{font-weight:300 !important}.s2-font-normal{font-weight:400 !important}.s2-font-medium{font-weight:500 !important}.s2-font-bold{font-weight:700 !important}.s2-font-black{font-weight:900 !important}.s2-text-left{text-align:left !important}.s2-text-center{text-align:center !important}.s2-text-right{text-align:right !important}.s2-uppercase{text-transform:uppercase !important}.s2-lowercase{text-transform:lowercase !important}.s2-capitalize{text-transform:capitalize !important}.s2-tracking-wide{letter-spacing:.08em !important}.s2-tracking-wider{letter-spacing:.15em !important}.s2-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.s2-break-words{overflow-wrap:break-word;word-break:break-word}.s2-m-0{margin:0 !important}.s2-mx-auto{margin-left:auto !important;margin-right:auto !important}.s2-mt-1{margin-top:var(--s2-space-1) !important}.s2-mt-2{margin-top:var(--s2-space-2) !important}.s2-mt-3{margin-top:var(--s2-space-3) !important}.s2-mt-4{margin-top:var(--s2-space-4) !important}.s2-mt-5{margin-top:var(--s2-space-5) !important}.s2-mt-6{margin-top:var(--s2-space-6) !important}.s2-mb-1{margin-bottom:var(--s2-space-1) !important}.s2-mb-2{margin-bottom:var(--s2-space-2) !important}.s2-mb-3{margin-bottom:var(--s2-space-3) !important}.s2-mb-4{margin-bottom:var(--s2-space-4) !important}.s2-mb-5{margin-bottom:var(--s2-space-5) !important}.s2-mb-6{margin-bottom:var(--s2-space-6) !important}.s2-ms-1{margin-left:var(--s2-space-1) !important}.s2-ms-2{margin-left:var(--s2-space-2) !important}.s2-ms-3{margin-left:var(--s2-space-3) !important}.s2-me-1{margin-right:var(--s2-space-1) !important}.s2-me-2{margin-right:var(--s2-space-2) !important}.s2-me-3{margin-right:var(--s2-space-3) !important}.s2-my-3{margin-top:var(--s2-space-3) !important;margin-bottom:var(--s2-space-3) !important}.s2-my-4{margin-top:var(--s2-space-4) !important;margin-bottom:var(--s2-space-4) !important}.s2-my-5{margin-top:var(--s2-space-5) !important;margin-bottom:var(--s2-space-5) !important}.s2-p-0{padding:0 !important}.s2-p-3{padding:var(--s2-space-3) !important}.s2-p-4{padding:var(--s2-space-4) !important}.s2-p-5{padding:var(--s2-space-5) !important}.s2-pt-3{padding-top:var(--s2-space-3) !important}.s2-pt-4{padding-top:var(--s2-space-4) !important}.s2-pt-5{padding-top:var(--s2-space-5) !important}.s2-pb-3{padding-bottom:var(--s2-space-3) !important}.s2-pb-4{padding-bottom:var(--s2-space-4) !important}.s2-pb-5{padding-bottom:var(--s2-space-5) !important}.s2-px-3{padding-left:var(--s2-space-3) !important;padding-right:var(--s2-space-3) !important}.s2-px-4{padding-left:var(--s2-space-4) !important;padding-right:var(--s2-space-4) !important}.s2-px-5{padding-left:var(--s2-space-5) !important;padding-right:var(--s2-space-5) !important}.s2-py-3{padding-top:var(--s2-space-3) !important;padding-bottom:var(--s2-space-3) !important}.s2-py-4{padding-top:var(--s2-space-4) !important;padding-bottom:var(--s2-space-4) !important}.s2-py-5{padding-top:var(--s2-space-5) !important;padding-bottom:var(--s2-space-5) !important}.s2-py-6{padding-top:var(--s2-space-6) !important;padding-bottom:var(--s2-space-6) !important}.s2-bg-white{background-color:var(--s2-color-bg) !important}.s2-bg-light{background-color:var(--s2-color-bg-alt) !important}.s2-bg-primary{background-color:var(--s2-color-primary) !important}.s2-bg-primary-light{background-color:var(--s2-color-primary-light) !important}.s2-bg-dark{background-color:var(--s2-color-text) !important}.s2-bg-gradient{background:linear-gradient(135deg, var(--s2-color-primary-light) 0%, var(--s2-color-bg-alt) 100%) !important}.s2-d-none{display:none !important}.s2-d-block{display:block !important}.s2-d-inline{display:inline !important}.s2-d-flex{display:flex !important}.s2-d-grid{display:grid !important}.s2-d-inline-flex{display:inline-flex !important}.s2-flex-row{flex-direction:row !important}.s2-flex-col{flex-direction:column !important}.s2-flex-wrap{flex-wrap:wrap !important}.s2-flex-nowrap{flex-wrap:nowrap !important}.s2-flex-1{flex:1 !important}.s2-flex-shrink-0{flex-shrink:0 !important}.s2-items-start{align-items:flex-start !important}.s2-items-center{align-items:center !important}.s2-items-end{align-items:flex-end !important}.s2-items-stretch{align-items:stretch !important}.s2-justify-start{justify-content:flex-start !important}.s2-justify-center{justify-content:center !important}.s2-justify-end{justify-content:flex-end !important}.s2-justify-between{justify-content:space-between !important}.s2-gap-1{gap:var(--s2-space-1) !important}.s2-gap-2{gap:var(--s2-space-2) !important}.s2-gap-3{gap:var(--s2-space-3) !important}.s2-gap-4{gap:var(--s2-space-4) !important}.s2-gap-5{gap:var(--s2-space-5) !important}@media(max-width: 575px){.s2-hide-xs{display:none !important}}@media(max-width: 767px){.s2-hide-sm{display:none !important}}@media(max-width: 991px){.s2-hide-md{display:none !important}}@media(min-width: 576px){.s2-show-sm{display:block !important}}@media(min-width: 992px){.s2-show-lg{display:block !important}}.s2-border{border:1px solid var(--s2-color-border) !important}.s2-border-top{border-top:1px solid var(--s2-color-border) !important}.s2-border-0{border:none !important}.s2-rounded{border-radius:var(--s2-radius) !important}.s2-rounded-sm{border-radius:var(--s2-radius-sm) !important}.s2-rounded-lg{border-radius:var(--s2-radius-lg) !important}.s2-rounded-xl{border-radius:var(--s2-radius-xl) !important}.s2-rounded-full{border-radius:50% !important}.s2-rounded-pill{border-radius:var(--s2-radius-pill) !important}.s2-overflow-hidden{overflow:hidden !important}.s2-shadow-0{box-shadow:none !important}.s2-shadow-sm{box-shadow:var(--s2-shadow-sm) !important}.s2-shadow{box-shadow:var(--s2-shadow) !important}.s2-shadow-lg{box-shadow:var(--s2-shadow-lg) !important}.s2-w-full{width:100% !important}.s2-h-full{height:100% !important}.s2-w-auto{width:auto !important}.s2-max-w-sm{max-width:480px !important}.s2-max-w-md{max-width:640px !important}.s2-max-w-lg{max-width:800px !important}.s2-max-w-xl{max-width:960px !important}.s2-pos-relative{position:relative !important}.s2-pos-absolute{position:absolute !important}@keyframes s2-fadeIn{from{opacity:0}to{opacity:1}}@keyframes s2-fadeInUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes s2-slideDown{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes s2-spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}.s2-animate-fade-in{animation:s2-fadeIn .5s ease both}.s2-animate-fade-in-up{animation:s2-fadeInUp .6s ease both}.s2-delay-1{animation-delay:.1s}.s2-delay-2{animation-delay:.2s}.s2-delay-3{animation-delay:.3s}.s2-delay-4{animation-delay:.4s}.s2-delay-5{animation-delay:.5s}.s2-reveal{opacity:0;transform:translateY(20px);transition:opacity .55s ease,transform .55s ease}.s2-reveal--visible{opacity:1;transform:translateY(0)}.s2-spinner{display:inline-block;width:1.25rem;height:1.25rem;border:2px solid rgba(0, 0, 0, 0.15);border-top-color:currentColor;border-radius:50%;animation:s2-spin .7s linear infinite}
