:root {
  --so-primary: #3A6F98;
  --so-primary-dark: #132840;
  --so-accent: #4A84B0;
  --so-highlight: #6099B9;
  --so-tint: #EAF1F7;
  --so-ink: #1A1F26;
  --so-ink-2: #3E4752;
  --so-ink-3: #2A323C;
  --so-muted: #5B6573;
  --so-muted-2: #4B5563;
  --so-page: #F7F8FA;
  --so-surface: #FFFFFF;
  --so-line: #DDE2E8;
  --so-line-soft: #E4E8ED;
  --so-field: #B9C1CB;
  --so-error: #B91C1C;
  --so-error-line: #DC2626;
  --so-font-serif: "Playfair Display", Georgia, serif;
  --so-font-sans: "Inter Tight", "Inter", "Segoe UI", "Helvetica Neue", sans-serif;
  --so-radius-card: 18px;
  --so-radius-panel: 16px;
  --so-radius-field: 10px;
  --so-shadow-card: 0 12px 32px rgba(58, 111, 152, 0.08);
  --so-shadow-btn: 0 10px 24px rgba(58, 111, 152, 0.28);
  --so-focus: 0 0 0 4px rgba(58, 111, 152, 0.3);
  --so-width: 900px;
}
@keyframes so-fade { from { opacity: 0; } to { opacity: 1; } }
@keyframes so-fade-up { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: none; } }
@keyframes so-zoom { from { opacity: 0; transform: scale(0); } to { opacity: 1; transform: scale(1); } }
@media (prefers-reduced-motion: no-preference) {
.so-fade { animation: so-fade 300ms ease-out both; }
.so-fade-up { animation: so-fade-up 500ms ease-out both; }
.so-zoom { animation: so-zoom 700ms ease-out both; }
.so-delay-1 { animation-delay: 150ms; }
.so-delay-2 { animation-delay: 300ms; }
.so-delay-3 { animation-delay: 500ms; }
.so-delay-4 { animation-delay: 1000ms; }
}
.so-sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; white-space: nowrap !important; border: 0 !important; }
.so-skip { position: absolute !important; left: 8px !important; top: -80px !important; z-index: 100 !important; padding: 12px 20px !important; border-radius: 999px !important; background: var(--so-primary) !important; color: #fff !important; font: 600 16px/1.4 var(--so-font-sans) !important; text-decoration: none !important; }
.so-skip:focus { top: 8px !important; box-shadow: var(--so-focus) !important; outline: none !important; }
.so-accent, .so-heading em, .so-hero em, .so-title em { font-family: var(--so-font-serif) !important; font-style: italic !important; color: var(--so-accent) !important; }
.so-eyebrow { font: 600 12px/1.4 var(--so-font-sans) !important; letter-spacing: 0.12em !important; text-transform: uppercase !important; color: var(--so-muted) !important; }
.so-card { background: var(--so-surface) !important; border: 1px solid var(--so-line) !important; border-radius: var(--so-radius-card) !important; box-shadow: var(--so-shadow-card) !important; padding: 28px 20px !important; }
@media (min-width: 640px) {
.so-card { padding: 36px !important; }
}
.so-callout { background: var(--so-tint) !important; border-radius: var(--so-radius-panel) !important; padding: 26px 20px !important; text-align: center !important; color: var(--so-ink-3) !important; }
@media (min-width: 640px) {
.so-callout { padding: 26px 32px !important; }
}
.so-link, .so-link:visited { color: var(--so-primary) !important; font-weight: 600 !important; text-decoration: underline !important; }
.so-link:hover { color: var(--so-primary-dark) !important; }
.so-link:focus-visible, .so-btn:focus-visible, .so-pill:focus-visible, .so-footer a:focus-visible { outline: none !important; box-shadow: var(--so-focus) !important; border-radius: 6px !important; }
.so-btn, .so-btn:visited { display: flex !important; align-items: center !important; justify-content: center !important; gap: 10px !important; width: 100% !important; min-height: 64px !important; padding: 0 24px !important; border: 0 !important; border-radius: 999px !important; background: var(--so-primary) !important; color: #fff !important; font: 600 18px/1.6 var(--so-font-sans) !important; text-decoration: none !important; cursor: pointer !important; touch-action: manipulation !important; box-shadow: var(--so-shadow-btn) !important; transition: transform 150ms ease, box-shadow 150ms ease; }
.so-btn:hover, .so-btn:focus { background: var(--so-primary) !important; color: #fff !important; }
.so-btn:focus-visible { border-radius: 999px !important; box-shadow: var(--so-shadow-btn), var(--so-focus) !important; }
.so-btn:disabled { cursor: default !important; opacity: 0.7 !important; }
.so-btn--narrow { max-width: 420px !important; }
@media (prefers-reduced-motion: no-preference) {
.so-btn:hover { transform: translateY(-2px) !important; }
.so-btn:active { transform: scale(0.98) !important; }
}
.so-btn-text { display: inline-flex !important; align-items: center !important; justify-content: center !important; gap: 6px !important; min-height: 48px !important; padding: 8px 16px !important; border: 0 !important; background: transparent !important; color: var(--so-primary) !important; font: 600 16px/1.6 var(--so-font-sans) !important; cursor: pointer !important; touch-action: manipulation !important; }
.so-btn-text:hover, .so-btn-text:focus { background: transparent !important; color: var(--so-primary) !important; }
.so-pill, .so-pill:visited { display: inline-flex !important; align-items: center !important; gap: 8px !important; height: 44px !important; padding: 0 16px !important; border: 2px solid var(--so-primary) !important; border-radius: 999px !important; background: var(--so-primary) !important; color: #fff !important; font: 600 16px/1 var(--so-font-sans) !important; text-decoration: none !important; box-shadow: 0 6px 16px rgba(58, 111, 152, 0.25) !important; }
.so-pill:hover { color: #fff !important; }
@media (min-width: 480px) {
.so-pill, .so-pill:visited { height: 46px !important; padding: 0 22px !important; background: transparent !important; color: var(--so-primary) !important; box-shadow: none !important; }
.so-pill:hover { color: var(--so-primary) !important; }
}
.so-header { background: var(--so-surface) !important; border-bottom: 1px solid var(--so-line-soft) !important; }
@media (max-width: 639px) {
.so-header { position: sticky !important; top: 0 !important; z-index: 30 !important; }
}
.so-footer { background: var(--so-primary) !important; color: #fff !important; font-size: 13px !important; line-height: 1.6 !important; }
.so-footer a { color: #fff !important; text-decoration: underline !important; display: inline-block !important; padding: 8px 0 !important; }
.so-footer a:hover { color: #fff !important; }
.so-footer address { font-style: normal !important; }
.so-checklist { list-style: none !important; margin: 0 !important; padding: 0 !important; display: flex !important; flex-wrap: wrap !important; justify-content: center !important; gap: 12px 32px !important; }
.so-checklist li { margin: 0 !important; padding-left: 34px !important; position: relative !important; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 24 24' fill='none' stroke='%234A84B0' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='m8 12 3 3 5-6'/%3E%3C/svg%3E") no-repeat 0 3px !important; }
.so-steps { list-style: none !important; margin: 0 !important; padding: 0 !important; display: flex !important; flex-direction: column !important; gap: 20px !important; counter-reset: so-step !important; }
.so-steps li { margin: 0 !important; padding-left: 52px !important; position: relative !important; counter-increment: so-step !important; }
.so-steps li::before { content: counter(so-step) !important; position: absolute !important; left: 0 !important; top: 0 !important; width: 36px !important; height: 36px !important; border-radius: 50% !important; background: var(--so-primary) !important; color: #fff !important; font: 600 16px/36px var(--so-font-sans) !important; text-align: center !important; }
.so-accordion { background: var(--so-surface) !important; border: 1px solid var(--so-line) !important; border-radius: var(--so-radius-card) !important; box-shadow: var(--so-shadow-card) !important; padding: 12px 20px !important; }
@media (min-width: 640px) {
.so-accordion { padding: 16px 36px !important; }
}
.so-accordion details { border-top: 1px solid var(--so-line) !important; interpolate-size: allow-keywords !important; }
.so-accordion details:first-child { border-top: 0 !important; }
.so-accordion details::details-content { height: 0 !important; overflow: clip !important; transition: height 300ms, content-visibility 300ms allow-discrete; }
.so-accordion details[open]::details-content { height: auto !important; }
.so-accordion summary { display: flex !important; align-items: center !important; justify-content: space-between !important; gap: 16px !important; min-height: 56px !important; padding: 12px 0 !important; list-style: none !important; cursor: pointer !important; touch-action: manipulation !important; font: 600 18px/1.4 var(--so-font-sans) !important; color: var(--so-ink) !important; border-radius: var(--so-radius-field) !important; }
.so-accordion summary::-webkit-details-marker { display: none !important; }
.so-accordion summary::after { content: "" !important; flex: none !important; width: 20px !important; height: 20px !important; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233A6F98' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") center / contain no-repeat !important; transition: transform 300ms; }
.so-accordion details[open] summary::after { transform: rotate(180deg) !important; }
.so-accordion summary:focus-visible { outline: none !important; box-shadow: var(--so-focus) !important; }
.so-accordion details > :not(summary) { margin: 0 0 20px !important; font-size: 17px !important; line-height: 1.6 !important; color: var(--so-ink-2) !important; }
@media (prefers-reduced-motion: reduce) {
.so-accordion details::details-content, .so-accordion summary::after { transition: none; }
}
@media (prefers-reduced-motion: no-preference) {
.so-accordion details[open] > :not(summary) { animation: so-fade-up 500ms ease-out both; }
}
.so-form { display: flex !important; flex-direction: column !important; gap: 20px !important; }
.so-form-step { display: flex !important; flex-direction: column !important; gap: 16px !important; }
.so-form-step[hidden] { display: none !important; }
.so-form-grid { display: grid !important; grid-template-columns: 1fr !important; gap: 12px !important; }
@media (min-width: 501px) {
.so-form-grid { grid-template-columns: 1fr 1fr !important; }
}
.so-form-grid--auto { grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)) !important; }
.so-field-group { display: flex !important; flex-direction: column !important; gap: 6px !important; min-width: 0 !important; border: 0 !important; padding: 0 !important; margin: 0 !important; }
.so-label { display: block !important; margin: 0 !important; padding: 0 !important; font: 600 16px/1.4 var(--so-font-sans) !important; color: var(--so-ink) !important; }
.so-input, .so-select { display: block !important; width: 100% !important; height: 60px !important; padding: 0 16px !important; border: 2px solid var(--so-field) !important; border-radius: var(--so-radius-field) !important; background: #fff !important; color: var(--so-ink) !important; font: 400 18px/normal var(--so-font-sans) !important; box-shadow: none !important; transition: border-color 150ms; }
.so-select { appearance: none !important; padding-right: 48px !important; cursor: pointer !important; }
.so-input:hover, .so-select:hover, .so-input:focus, .so-select:focus { border-color: var(--so-primary) !important; }
.so-input:focus, .so-select:focus { outline: none !important; box-shadow: var(--so-focus) !important; background: #fff !important; color: var(--so-ink) !important; }
.so-input:user-valid, .so-select:user-valid { border-color: var(--so-primary) !important; }
.so-input:user-invalid, .so-select:user-invalid { border-color: var(--so-error-line) !important; }
.so-select-wrap { position: relative !important; }
.so-select-wrap::after { content: "" !important; position: absolute !important; top: 50% !important; right: 16px !important; width: 20px !important; height: 20px !important; margin-top: -10px !important; pointer-events: none !important; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233A6F98' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") center / contain no-repeat !important; }
.so-error { display: none !important; margin: 0 !important; font: 500 14px/1.4 var(--so-font-sans) !important; color: var(--so-error) !important; }
.so-field-group:has(:user-invalid) .so-error { display: block !important; }
@media (prefers-reduced-motion: no-preference) {
.so-field-group:has(:user-invalid) .so-error { animation: so-fade 300ms ease-out both; }
}
.so-choice { position: relative !important; flex: 1 !important; }
.so-choice input { position: absolute !important; opacity: 0 !important; inset: 0 !important; width: 100% !important; height: 100% !important; cursor: pointer !important; margin: 0 !important; }
.so-choice span { display: flex !important; align-items: center !important; justify-content: center !important; height: 60px !important; padding: 0 12px !important; border: 2px solid var(--so-field) !important; border-radius: var(--so-radius-field) !important; background: #fff !important; font: 600 18px/1 var(--so-font-sans) !important; color: var(--so-ink) !important; }
.so-choice input:hover + span { border-color: var(--so-primary) !important; }
.so-choice input:checked + span { border-color: var(--so-primary) !important; background: var(--so-tint) !important; color: var(--so-primary) !important; outline: 2px solid var(--so-primary) !important; outline-offset: 2px !important; }
.so-choice input:focus-visible + span { box-shadow: var(--so-focus) !important; }
.so-progress { display: grid !important; gap: 8px !important; }
.so-progress span { height: 8px !important; border-radius: 999px !important; background: var(--so-line) !important; overflow: hidden !important; }
.so-progress span.is-done { background: var(--so-primary) !important; }
.so-progress--2 { grid-template-columns: repeat(2, 1fr) !important; }
.so-progress--3 { grid-template-columns: repeat(3, 1fr) !important; }
.so-summary { margin: 0 !important; padding: 12px 16px !important; border-radius: var(--so-radius-field) !important; background: var(--so-tint) !important; }
.so-summary dl { margin: 4px 0 0 !important; }
.so-summary .so-row { display: flex !important; align-items: baseline !important; justify-content: space-between !important; gap: 16px !important; padding: 8px 0 !important; border-top: 1px solid rgba(58, 111, 152, 0.15) !important; }
.so-summary .so-row:first-child { border-top: 0 !important; }
.so-summary dt { margin: 0 !important; font-size: 14px !important; color: var(--so-muted-2) !important; }
.so-summary dd { margin: 0 !important; text-align: right !important; font-weight: 600 !important; color: var(--so-ink) !important; }
.so-consent { margin: 0 !important; text-align: center !important; font-size: 13px !important; color: var(--so-muted-2) !important; }
.so-page { display: flex !important; flex-direction: column !important; min-height: 100dvh !important; overflow-x: clip !important; background: var(--so-page) !important; color: var(--so-ink) !important; font: 400 17px/1.6 var(--so-font-sans) !important; -webkit-text-size-adjust: 100% !important; }
.so-main { flex: auto !important; }
.so-main:focus { outline: none !important; }
.so-wrap { display: grid !important; grid-template-columns: 1fr !important; gap: 28px !important; width: 100% !important; max-width: var(--so-width) !important; margin: 0 auto !important; padding: 32px 16px 48px !important; box-sizing: border-box !important; }
@media (min-width: 480px) {
.so-wrap { padding-left: 24px !important; padding-right: 24px !important; }
}
@media (min-width: 640px) {
.so-wrap { padding-top: 56px !important; padding-bottom: 72px !important; }
}
.so-inner { display: flex !important; align-items: center !important; justify-content: space-between !important; gap: 12px !important; max-width: var(--so-width) !important; margin: 0 auto !important; padding: 10px 16px !important; box-sizing: border-box !important; }
@media (min-width: 480px) {
.so-inner { padding-left: 24px !important; padding-right: 24px !important; }
}
@media (min-width: 640px) {
.so-inner { padding-top: 16px !important; padding-bottom: 16px !important; }
}
.so-logo { display: inline-block !important; flex: none !important; border-radius: 4px !important; text-decoration: none !important; }
.so-logo img { display: block !important; width: auto !important; height: 36px !important; max-width: 70vw !important; }
@media (min-width: 640px) {
.so-logo img { height: 45px !important; }
}
.so-logo:focus-visible { outline: none !important; box-shadow: var(--so-focus) !important; }
.so-pill-short { display: inline !important; }
.so-pill-full { display: none !important; }
@media (min-width: 480px) {
.so-pill-short { display: none !important; }
.so-pill-full { display: inline !important; }
}
.so-section { display: flex !important; flex-direction: column !important; gap: 24px !important; }
.so-section--center { align-items: center !important; text-align: center !important; margin: 0 auto !important; width: 100% !important; }
.so-section--tight { gap: 16px !important; }
.so-hero { margin: 0 !important; font: 500 clamp(2.6rem, 4.8vw, 4rem) / 1.08 var(--so-font-serif) !important; letter-spacing: -0.01em !important; color: var(--so-ink) !important; text-wrap: balance !important; }
.so-title { margin: 0 !important; font: 600 26px/1.2 var(--so-font-serif) !important; color: var(--so-ink) !important; }
.so-title:focus { outline: none !important; }
@media (min-width: 640px) {
.so-title { font-size: 30px !important; }
}
.so-title--form { font-size: 30px !important; line-height: 1.15 !important; }
@media (min-width: 640px) {
.so-title--form { font-size: 34px !important; }
}
.so-title--sm { font-size: 24px !important; }
@media (min-width: 640px) {
.so-title--sm { font-size: 28px !important; }
}
.so-title--page { font-weight: 500 !important; font-size: 34px !important; line-height: 1.1 !important; letter-spacing: -0.01em !important; text-wrap: balance !important; }
@media (min-width: 640px) {
.so-title--page { font-size: 46px !important; }
}
.so-lead { margin: 0 !important; font-size: 18px !important; color: var(--so-ink-2) !important; text-wrap: pretty !important; }
.so-text { margin: 0 !important; font-size: 16px !important; color: var(--so-ink-2) !important; }
.so-text--lg { font-size: 18px !important; color: inherit !important; text-wrap: pretty !important; }
.so-block { display: block !important; margin-top: 14px !important; }
.so-mark { position: relative !important; display: inline-block !important; white-space: nowrap !important; }
.so-mark svg { position: absolute !important; left: -6% !important; bottom: -11px !important; width: 112% !important; height: 18px !important; transform-origin: left !important; pointer-events: none !important; }
.so-badge { display: flex !important; align-items: center !important; justify-content: center !important; width: 80px !important; height: 80px !important; border-radius: 50% !important; background: var(--so-tint) !important; }
.so-form { scroll-margin-top: 16px !important; }
@media (max-width: 639px) {
.so-form { scroll-margin-top: 80px !important; }
}
.so-form-head { display: flex !important; flex-direction: column !important; gap: 4px !important; }
.so-step-head { display: flex !important; align-items: center !important; justify-content: space-between !important; margin-bottom: 12px !important; }
.so-progress-bar { display: block !important; height: 100% !important; width: 100% !important; border-radius: 999px !important; background: var(--so-primary) !important; transform: scaleX(0) !important; transform-origin: left !important; transition: transform 500ms; }
.so-progress-bar.is-done { transform: scaleX(1) !important; }
@media (prefers-reduced-motion: reduce) {
.so-progress-bar { transition: none; }
}
.so-summary-label { margin: 0 !important; }
.so-turnstile { display: flex !important; flex-direction: column !important; align-items: center !important; gap: 8px !important; }
.so-turnstile-error { margin: 0 !important; text-align: center !important; font: 500 14px/1.4 var(--so-font-sans) !important; color: var(--so-error) !important; }
.so-turnstile-error[hidden] { display: none !important; }
.so-callout--stack { display: flex !important; flex-direction: column !important; align-items: center !important; gap: 16px !important; }
.so-steps strong { display: block !important; font: 600 18px/1.4 var(--so-font-sans) !important; color: var(--so-ink) !important; }
.so-steps p { margin: 0 !important; font-size: 16px !important; color: var(--so-ink-2) !important; }
.so-footer-inner { display: flex !important; flex-direction: column !important; gap: 12px !important; max-width: var(--so-width) !important; margin: 0 auto !important; padding: 28px 16px max(28px, env(safe-area-inset-bottom)) !important; box-sizing: border-box !important; }
@media (min-width: 480px) {
.so-footer-inner { padding-left: 24px !important; padding-right: 24px !important; }
}
.so-footer p { margin: 0 !important; }
.so-footer-row { display: flex !important; flex-wrap: wrap !important; justify-content: space-between !important; gap: 12px 20px !important; }
.so-footer nav { display: flex !important; flex-wrap: wrap !important; gap: 0 20px !important; }
.so-footer a:focus-visible { box-shadow: 0 0 0 4px rgba(255, 255, 255, 0.7) !important; }
.so-money { position: relative !important; }
.so-money span { position: absolute !important; top: 50% !important; left: 16px !important; transform: translateY(-50%) !important; font-size: 18px !important; color: var(--so-muted) !important; pointer-events: none !important; }
.so-money .so-input { padding-left: 36px !important; }
.so-choices { display: flex !important; gap: 12px !important; }
.so-progress .so-progress-bar { height: 100% !important; background: var(--so-primary) !important; }
.so-form-step .so-btn-text { align-self: center !important; white-space: nowrap !important; }
.so-form-step .so-btn { margin-top: 4px !important; }
[data-so-turnstile] { width: 100% !important; }
.so-estimate[hidden] { display: none !important; }
.so-estimate { width: 100% !important; box-sizing: border-box !important; gap: 8px !important; }
.so-estimate-value { margin: 0 !important; font: 600 56px/1 var(--so-font-serif) !important; color: var(--so-primary) !important; }
@media (min-width: 640px) {
.so-estimate-value { font-size: 80px !important; }
}
.so-estimate-note { max-width: 36rem !important; font-size: 14px !important; color: var(--so-muted-2) !important; text-wrap: pretty !important; }
@keyframes so-pop { from { opacity: 0; transform: scale(0.7); } to { opacity: 1; transform: scale(1); } }
@keyframes so-ring { from { box-shadow: 0 0 0 0 rgba(58, 111, 152, 0.35); } to { box-shadow: 0 0 0 28px rgba(58, 111, 152, 0); } }
.so-estimate-value { font-variant-numeric: tabular-nums !important; }
@media (prefers-reduced-motion: no-preference) {
.so-estimate { animation: so-fade-up 500ms ease-out both, so-ring 900ms ease-out 300ms both; }
.so-estimate-value { animation: so-pop 600ms cubic-bezier(0.34, 1.56, 0.64, 1) 150ms both; }
}
.e-con:has(> .elementor-widget-cookiez-heading) { display: flex !important; flex-direction: column !important; gap: 14px !important; box-sizing: border-box !important; width: 100% !important; max-width: 420px !important; padding: 20px !important; border: 1px solid var(--so-line) !important; border-radius: var(--so-radius-card) !important; background: var(--so-surface) !important; box-shadow: 0 16px 40px rgba(19, 40, 64, 0.18) !important; font-family: var(--so-font-sans) !important; color: var(--so-ink) !important; }
@media (max-width: 479px) {
.e-con:has(> .elementor-widget-cookiez-heading) { max-width: none !important; padding: 18px 16px !important; border-radius: var(--so-radius-panel) !important; }
}
@media (prefers-reduced-motion: no-preference) {
.e-con:has(> .elementor-widget-cookiez-heading) { animation: so-fade-up 500ms ease-out 1s both; }
}
.cookiez-heading { display: flex !important; align-items: center !important; gap: 12px !important; margin: 0 !important; }
.cookiez-heading__icon { display: flex !important; flex: none !important; align-items: center !important; justify-content: center !important; width: 40px !important; height: 40px !important; border-radius: 50% !important; background: var(--so-tint) !important; color: var(--so-primary) !important; }
.cookiez-heading__icon svg { width: 20px !important; height: 20px !important; fill: currentColor !important; }
.cookiez-heading__text { margin: 0 !important; font: 600 22px/1.2 var(--so-font-serif) !important; color: var(--so-ink) !important; }
.e-con:has(> .elementor-widget-cookiez-heading) > .elementor-widget-divider { display: none !important; }
.cookiez-content { margin: 0 !important; font: 400 15px/1.55 var(--so-font-sans) !important; color: var(--so-ink-2) !important; text-wrap: pretty !important; }
.cookiez-content a { color: var(--so-primary) !important; font-weight: 600 !important; text-decoration: underline !important; }
.cookiez-content a:hover { color: var(--so-primary-dark) !important; }
.cookiez-footer { display: flex !important; flex-direction: column !important; gap: 8px !important; margin: 0 !important; }
.cookiez-footer-button { display: flex !important; align-items: center !important; justify-content: center !important; width: 100% !important; min-height: 48px !important; padding: 10px 20px !important; border: 2px solid var(--so-primary) !important; border-radius: 999px !important; background: var(--so-primary) !important; color: #fff !important; font: 600 15px/1.3 var(--so-font-sans) !important; text-align: center !important; text-transform: none !important; cursor: pointer !important; touch-action: manipulation !important; box-shadow: 0 6px 16px rgba(58, 111, 152, 0.25) !important; transition: transform 150ms ease, box-shadow 150ms ease; }
.cookiez-footer-button:hover, .cookiez-footer-button:focus { background: var(--so-primary) !important; color: #fff !important; }
.cookiez-footer-button:focus-visible { outline: none !important; box-shadow: 0 6px 16px rgba(58, 111, 152, 0.25), var(--so-focus) !important; }
@media (prefers-reduced-motion: no-preference) {
.cookiez-footer-button:hover { transform: translateY(-2px) !important; }
.cookiez-footer-button:active { transform: scale(0.98) !important; }
}
.e-con:has(> .elementor-widget-cookiez-heading) .e-con:has(a[href*="cookiez-consent-banner-footer"]) { display: flex !important; flex-direction: row !important; align-items: center !important; justify-content: center !important; gap: 6px !important; padding: 0 !important; font-size: 12px !important; color: var(--so-muted) !important; }
.e-con:has(> .elementor-widget-cookiez-heading) .e-con a[href*="cookiez-consent-banner-footer"] { color: var(--so-muted) !important; text-decoration: none !important; }
.e-con:has(> .elementor-widget-cookiez-heading) .e-con img { display: block !important; width: 14px !important; height: 14px !important; }
.so-article { display: flex !important; flex-direction: column !important; gap: 32px !important; }
.so-doc { display: flex !important; flex-direction: column !important; gap: 12px !important; scroll-margin-top: 96px !important; }
.so-doc .so-text { text-wrap: pretty !important; }
.so-doc strong { font-weight: 600 !important; color: var(--so-ink) !important; }
.so-list { margin: 0 !important; padding: 0 0 0 24px !important; list-style: disc !important; display: flex !important; flex-direction: column !important; gap: 6px !important; font-size: 16px !important; color: var(--so-ink-2) !important; }
.so-list li { margin: 0 !important; }
.so-address { display: flex !important; flex-direction: column !important; gap: 12px !important; margin: 0 !important; font-size: 16px !important; font-style: normal !important; color: var(--so-ink-2) !important; }
.so-faq { margin: 0 !important; padding: 28px 20px !important; list-style: none !important; background: var(--so-surface) !important; border: 1px solid var(--so-line) !important; border-radius: var(--so-radius-card) !important; box-shadow: var(--so-shadow-card) !important; }
@media (min-width: 640px) {
.so-faq { padding: 36px !important; }
}
.so-faq > li { margin: 0 !important; padding: 20px 0 !important; border-top: 1px solid var(--so-line) !important; }
.so-faq > li:first-child { border-top: 0 !important; padding-top: 0 !important; }
.so-faq > li:last-child { padding-bottom: 0 !important; }
.so-faq h3 { margin: 0 !important; font: 600 18px/1.4 var(--so-font-sans) !important; color: var(--so-ink) !important; }
.so-faq p { margin: 8px 0 0 !important; font-size: 17px !important; line-height: 1.6 !important; color: var(--so-ink-2) !important; text-wrap: pretty !important; }
.so-faq .so-list { margin-top: 8px !important; font-size: 17px !important; line-height: 1.6 !important; }
a.so-btn-text, a.so-btn-text:visited { text-decoration: underline !important; }