.elementor-kit-7{--e-global-color-primary:#C00000;--e-global-color-secondary:#2F5496;--e-global-color-text:#2a1f15;--e-global-color-accent:#7030A0;--e-global-color-sfi_sword:#D4A017;--e-global-color-sfi_sword_soft:#E5C15A;--e-global-color-sfi_depth:#1A0A2E;--e-global-color-sfi_deep_purple:#3D0C5E;--e-global-color-sfi_warm_plum:#50324E;--e-global-color-sfi_lavender_mauve:#D4B8CC;--e-global-color-sfi_cream:#EDE0B8;--e-global-color-sfi_parchment:#F5EAC8;--e-global-color-sfi_parchment_deep:#E8D9A8;--e-global-color-sfi_ink_soft:#5c4a3a;--e-global-color-sfi_mercy_light:#A8C4E0;--e-global-typography-primary-font-family:"EB Garamond";--e-global-typography-primary-font-weight:500;--e-global-typography-secondary-font-family:"EB Garamond";--e-global-typography-secondary-font-weight:400;--e-global-typography-secondary-font-style:italic;--e-global-typography-text-font-family:"Inter";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Alex Brush";--e-global-typography-accent-font-weight:400;--e-global-typography-sfi_eyebrow-font-family:"Inter";--e-global-typography-sfi_eyebrow-font-size:11.5px;--e-global-typography-sfi_eyebrow-font-weight:500;--e-global-typography-sfi_eyebrow-text-transform:uppercase;--e-global-typography-sfi_eyebrow-letter-spacing:0.28em;background-color:#F5EAC8;}.elementor-kit-7 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* === SFI Kit Custom CSS — generated by novamira-elementor skill 2026-04-18 === */

:root {
  --sfi-fire: #C00000; --sfi-mercy: #2F5496; --sfi-integration: #7030A0;
  --sfi-sword: #D4A017; --sfi-sword-soft: #E5C15A;
  --sfi-depth: #1A0A2E; --sfi-deep-purple: #3D0C5E; --sfi-warm-plum: #50324E;
  --sfi-lavender-mauve: #D4B8CC; --sfi-cream: #EDE0B8; --sfi-parchment: #F5EAC8; --sfi-parchment-deep: #E8D9A8;
  --sfi-ink: #2a1f15; --sfi-ink-soft: #5c4a3a; --sfi-mercy-light: #A8C4E0;
  --sfi-serif: 'EB Garamond', Georgia, serif;
  --sfi-sans: 'Inter', -apple-system, system-ui, sans-serif;
  --sfi-script: 'Alex Brush', cursive;
  --sfi-s-1: 8px; --sfi-s-2: 16px; --sfi-s-3: 24px; --sfi-s-4: 32px;
  --sfi-s-5: 48px; --sfi-s-6: 64px; --sfi-s-7: 96px; --sfi-s-8: 128px;
  --sfi-max-content: 1240px;
}
html { scroll-behavior: smooth; }
body.elementor-page, body { font-family: var(--sfi-sans); color: var(--sfi-ink); background: var(--sfi-parchment); -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
.elementor-widget-text-editor, .elementor-widget-heading { font-family: var(--sfi-sans); }
.elementor h1, .elementor h2, .elementor h3, .elementor h4, .sfi-serif { font-family: var(--sfi-serif); font-weight: 500; letter-spacing: 0.01em; }

/* --- BUTTONS --- */
.sfi-btn { display: inline-flex; align-items: center; gap: 10px; font-family: var(--sfi-sans); font-size: 14.5px; font-weight: 500; letter-spacing: 0.06em; text-transform: uppercase; padding: 15px 28px; border-radius: 6px; cursor: pointer; border: 0; transition: transform .25s ease, box-shadow .25s ease, background .25s ease, color .25s ease; white-space: nowrap; text-decoration: none; }
.sfi-btn-primary { background: linear-gradient(180deg, #f0d787 0%, #D4A017 100%); color: var(--sfi-depth); box-shadow: 0 1px 0 rgba(255,255,255,0.3) inset, 0 6px 24px rgba(212,160,23,0.25); }
.sfi-btn-primary:hover { box-shadow: 0 1px 0 rgba(255,255,255,0.4) inset, 0 8px 30px rgba(212,160,23,0.45); transform: translateY(-1px); color: var(--sfi-depth); }
.sfi-btn-ghost { background: transparent; color: var(--sfi-cream); border: 1px solid rgba(212,160,23,0.55); }
.sfi-btn-ghost:hover { background: rgba(212,160,23,0.1); border-color: var(--sfi-sword); color: var(--sfi-cream); }
.sfi-btn-dark { background: var(--sfi-depth); color: var(--sfi-cream); border: 1px solid rgba(212,160,23,0.5); }
.sfi-btn-dark:hover { background: var(--sfi-warm-plum); color: var(--sfi-cream); }
.sfi-btn-arrow { margin-left: 2px; }

/* --- NAV (Theme Builder header) --- */
.sfi-nav-inner { max-width: var(--sfi-max-content); margin: 0 auto; padding: 14px var(--sfi-s-4); display: flex; align-items: center; justify-content: space-between; gap: var(--sfi-s-3); }
.sfi-brand { display: flex; align-items: center; gap: 12px; flex: 0 0 auto; color: var(--sfi-cream); text-decoration: none; }
.sfi-brand-mark { width: 42px; height: 42px; border-radius: 50%; display: grid; place-items: center; overflow: hidden; flex: 0 0 auto; background: radial-gradient(circle at 50% 40%, #3d0c5e 0%, #1a0a2e 100%); box-shadow: inset 0 0 0 1px rgba(212,160,23,0.5), 0 0 0 1px rgba(212,160,23,0.3), 0 0 12px rgba(212,160,23,0.2); }
.sfi-brand-mark img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 32%; display: block; }
.sfi-brand-text { font-family: var(--sfi-serif); font-size: 17px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--sfi-cream); line-height: 1.3; }
.sfi-brand-text em { font-style: italic; text-transform: none; letter-spacing: 0.02em; color: var(--sfi-sword-soft); display:block; font-size: 12px; margin-top: 2px; }
.sfi-nav-wrap { position: sticky; top: 0; z-index: 40; background: rgba(26,10,46,0.92); backdrop-filter: saturate(1.4) blur(10px); -webkit-backdrop-filter: saturate(1.4) blur(10px); border-bottom: 1px solid rgba(212,160,23,0.18); color: var(--sfi-cream); }
.sfi-nav-menu ul.elementor-nav-menu, .sfi-nav-menu ul.menu { display: flex; gap: var(--sfi-s-4); align-items: center; font-size: 14.5px; list-style: none; margin: 0; padding: 0; }
.sfi-nav-menu ul li { margin: 0; }
.sfi-nav-menu a, .sfi-nav-menu .elementor-item { color: rgba(237,224,184,0.8) !important; transition: color .25s ease; padding: 6px 0; text-decoration: none; font-family: var(--sfi-sans); font-weight: 400 !important; font-size: 14.5px !important; }
.sfi-nav-menu a:hover, .sfi-nav-menu .elementor-item:hover, .sfi-nav-menu .elementor-item-active { color: var(--sfi-sword-soft) !important; }
.sfi-nav-menu .menu-item-highlight > a, .sfi-nav-menu .menu-item-highlight > .elementor-item { color: var(--sfi-depth) !important; background: linear-gradient(180deg, #f0d787 0%, #D4A017 100%); padding: 8px 18px !important; border-radius: 999px; font-weight: 500 !important; }

/* --- HERO (peacock variant) --- */
.sfi-hero-wrap { position: relative; background: #1a0a2e; color: var(--sfi-cream); overflow: hidden; }
.sfi-hero-wrap::before { content: ""; position: absolute; inset: 0; background-image: url('https://sfi282.mywebmockups.com/wp-content/uploads/2026/04/sfi-peacock-logo.jpg'); background-size: cover; background-position: center 35%; opacity: 0.55; filter: saturate(1.05) blur(0.5px); }
.sfi-hero-wrap::after { content: ""; position: absolute; inset: 0; background: radial-gradient(ellipse 70% 60% at 50% 50%, rgba(26,10,46,0.25) 0%, rgba(26,10,46,0.82) 80%), linear-gradient(180deg, rgba(26,10,46,0.7) 0%, rgba(26,10,46,0.3) 40%, rgba(26,10,46,0.9) 100%); }
.sfi-hero-inner { position: relative; z-index: 2; max-width: 900px; margin: 0 auto; padding: 130px var(--sfi-s-4) 150px; text-align: center; }
.sfi-hero-eyebrow { display: inline-flex; align-items: center; gap: 10px; font-family: var(--sfi-sans); font-size: 11.5px; letter-spacing: 0.28em; text-transform: uppercase; color: var(--sfi-sword-soft); margin-bottom: var(--sfi-s-3); justify-content: center; }
.sfi-hero-eyebrow::before, .sfi-hero-eyebrow::after { content: ""; width: 22px; height: 1px; background: rgba(212,160,23,0.6); }
.sfi-hero-h1 { font-family: var(--sfi-serif); font-size: clamp(38px, 5.4vw, 66px); line-height: 1.05; letter-spacing: 0.02em; font-weight: 500; color: #f6ecc6; text-shadow: 0 2px 20px rgba(0,0,0,0.6); margin: 0; }
.sfi-hero-h1 .sfi-amp { color: var(--sfi-sword-soft); font-style: italic; font-weight: 400; }
.sfi-hero-h2 { font-family: var(--sfi-serif); font-style: italic; font-size: clamp(22px, 2.4vw, 30px); color: var(--sfi-lavender-mauve); margin-top: var(--sfi-s-2); font-weight: 400; }
.sfi-hero-tagline { font-family: var(--sfi-script); color: var(--sfi-sword-soft); font-size: clamp(28px, 3vw, 38px); line-height: 1; margin-top: var(--sfi-s-3); letter-spacing: 0.01em; }
.sfi-hero-lead { max-width: 560px; margin: var(--sfi-s-4) auto 0; font-size: 18px; line-height: 1.75; color: rgba(237,224,184,0.88); }
.sfi-hero-ctas { display: flex; gap: var(--sfi-s-2); margin-top: var(--sfi-s-5); flex-wrap: wrap; justify-content: center; }
.sfi-starfield { position: absolute; inset: 0; z-index: 1; background-image: radial-gradient(1px 1px at 10% 20%, rgba(255,255,255,0.8), transparent), radial-gradient(1px 1px at 25% 80%, rgba(255,255,255,0.6), transparent), radial-gradient(1px 1px at 40% 15%, rgba(255,255,255,0.75), transparent), radial-gradient(1px 1px at 55% 65%, rgba(255,255,255,0.5), transparent), radial-gradient(1px 1px at 70% 25%, rgba(255,255,255,0.7), transparent), radial-gradient(1px 1px at 85% 55%, rgba(255,255,255,0.6), transparent), radial-gradient(1.5px 1.5px at 48% 30%, rgba(255,255,255,0.9), transparent); pointer-events: none; opacity: 0.3; }

/* --- SECTION TYPES --- */
.sfi-section-parchment { background-color: var(--sfi-parchment); color: var(--sfi-ink); position: relative; }
.sfi-section-cream { background-color: #e9d8a8; color: var(--sfi-ink); position: relative; border-top: 1px solid rgba(120,80,20,0.15); border-bottom: 1px solid rgba(120,80,20,0.12); }
.sfi-section-band { background: radial-gradient(ellipse 60% 80% at 50% 50%, rgba(112,48,160,0.35) 0%, transparent 70%), linear-gradient(180deg, var(--sfi-depth) 0%, #24103f 100%); color: var(--sfi-cream); position: relative; }
.sfi-section-band::before, .sfi-section-band::after { content: ""; position: absolute; left: 10%; right: 10%; height: 1px; background: linear-gradient(90deg, transparent 0%, rgba(212,160,23,0.5) 50%, transparent 100%); }
.sfi-section-band::before { top: 0; } .sfi-section-band::after { bottom: 0; }
.sfi-section-lavender { background: linear-gradient(180deg, var(--sfi-parchment) 0%, var(--sfi-lavender-mauve) 100%); color: var(--sfi-ink); }

.sfi-section-head { text-align: center; max-width: 760px; margin: 0 auto var(--sfi-s-6); }
.sfi-eyebrow { font-family: var(--sfi-sans); font-size: 11.5px; letter-spacing: 0.28em; text-transform: uppercase; color: var(--sfi-sword); display: inline-flex; align-items: center; gap: 10px; }
.sfi-section-band .sfi-eyebrow { color: var(--sfi-sword-soft); }
.sfi-eyebrow::before, .sfi-eyebrow::after { content: ""; width: 22px; height: 1px; background: currentColor; opacity: 0.5; }
.sfi-section-title { font-family: var(--sfi-serif); font-size: clamp(30px, 3.4vw, 44px); font-weight: 500; line-height: 1.15; margin: var(--sfi-s-2) 0 0; letter-spacing: 0.005em; }
.sfi-section-title em { font-style: italic; color: var(--sfi-sword); }
.sfi-section-band .sfi-section-title em { color: var(--sfi-sword-soft); }
.sfi-section-lede { font-size: 18px; line-height: 1.75; color: var(--sfi-ink-soft); margin-top: var(--sfi-s-3); }
.sfi-section-band .sfi-section-lede { color: rgba(237,224,184,0.85); }

/* --- SEGMENT CARDS --- */
.sfi-segment-row { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--sfi-s-3); }
.sfi-segment-card { position: relative; background: linear-gradient(180deg, #f7edc8 0%, #eadba2 100%); border: 1px solid rgba(212,160,23,0.5); border-radius: 10px; padding: var(--sfi-s-4); min-height: 260px; display: flex; flex-direction: column; transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease; box-shadow: 0 1px 0 rgba(255,255,255,0.6) inset, 0 6px 18px rgba(120,80,20,0.08); text-decoration: none; color: inherit; }
.sfi-segment-card:hover { transform: translateY(-4px); border-color: var(--sfi-sword); box-shadow: 0 1px 0 rgba(255,255,255,0.6) inset, 0 12px 30px rgba(120,80,20,0.18); }
.sfi-seg-icon { width: 44px; height: 44px; display: grid; place-items: center; border: 1px solid rgba(212,160,23,0.5); border-radius: 50%; color: var(--sfi-integration); margin-bottom: var(--sfi-s-3); background: rgba(255,255,255,0.4); }
.sfi-seg-h { font-family: var(--sfi-serif); font-size: 22px; line-height: 1.25; color: var(--sfi-deep-purple); margin-bottom: 8px; font-weight: 500; }
.sfi-seg-p { font-size: 14.5px; line-height: 1.6; color: var(--sfi-ink-soft); flex: 1; }
.sfi-seg-link { margin-top: var(--sfi-s-2); font-size: 13px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--sfi-integration); font-weight: 500; display: inline-flex; align-items: center; gap: 6px; }
.sfi-seg-link svg { transition: transform .25s ease; }
.sfi-segment-card:hover .sfi-seg-link svg { transform: translateX(4px); }

/* --- OFFER GRID --- */
.sfi-offer-wrap { display: grid; grid-template-columns: 0.9fr 1.1fr; gap: var(--sfi-s-6); align-items: start; }
.sfi-offer-lede p { font-family: var(--sfi-serif); font-size: 22px; line-height: 1.5; color: var(--sfi-ink); font-style: italic; max-width: 460px; margin-top: var(--sfi-s-3); }
.sfi-offer-grid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--sfi-s-3); }
.sfi-offer-tile { background: white; border: 1px solid rgba(80,50,78,0.15); border-radius: 10px; padding: var(--sfi-s-3); position: relative; overflow: hidden; transition: transform .3s ease, border-color .3s ease; }
.sfi-offer-tile:hover { border-color: var(--sfi-sword); transform: translateY(-2px); }
.sfi-offer-tile-num { font-family: var(--sfi-serif); font-style: italic; font-size: 13px; color: var(--sfi-sword); letter-spacing: 0.08em; }
.sfi-offer-tile h4 { font-family: var(--sfi-serif); font-size: 22px; color: var(--sfi-deep-purple); margin: 6px 0 0; font-weight: 500; }
.sfi-offer-tile p { font-size: 14.5px; line-height: 1.6; color: var(--sfi-ink-soft); margin: 8px 0 0; }
.sfi-soon { display: inline-block; margin-top: 10px; font-family: var(--sfi-sans); font-size: 10.5px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--sfi-warm-plum); background: rgba(80,50,78,0.08); padding: 3px 10px; border-radius: 999px; }
.sfi-price-slot { margin-top: 8px; display: inline-block; font-family: var(--sfi-sans); font-size: 11.5px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--sfi-integration); background: rgba(112,48,160,0.1); padding: 3px 10px; border-radius: 999px; }

/* --- RESEARCH CATEGORIES --- */
.sfi-cat-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--sfi-s-5); margin-top: var(--sfi-s-5); }
.sfi-cat-col { text-align: center; position: relative; padding: 0 var(--sfi-s-2); }
.sfi-cat-col + .sfi-cat-col::before { content: ""; position: absolute; left: -24px; top: 40px; bottom: 40px; width: 1px; background: linear-gradient(180deg, transparent, rgba(212,160,23,0.3), transparent); }
.sfi-cat-icon { width: 92px; height: 92px; margin: 0 auto var(--sfi-s-3); border-radius: 50%; background: radial-gradient(circle at 50% 40%, rgba(246,220,138,0.3) 0%, transparent 70%), linear-gradient(180deg, rgba(112,48,160,0.2) 0%, rgba(26,10,46,0.4) 100%); border: 1px solid rgba(212,160,23,0.5); display: grid; place-items: center; color: var(--sfi-sword-soft); box-shadow: 0 0 30px rgba(212,160,23,0.1) inset, 0 4px 20px rgba(0,0,0,0.3); }
.sfi-cat-themes { font-family: var(--sfi-serif); font-style: italic; color: var(--sfi-sword-soft); font-size: 14px; letter-spacing: 0.1em; text-transform: uppercase; }
.sfi-cat-h { font-family: var(--sfi-serif); font-size: 26px; line-height: 1.25; color: var(--sfi-cream); margin: 10px 0 12px; font-weight: 500; }
.sfi-cat-p { font-size: 15.5px; line-height: 1.7; color: rgba(237,224,184,0.8); max-width: 320px; margin: 0 auto; }
.sfi-triad { margin: var(--sfi-s-6) auto 0; max-width: 620px; display: flex; align-items: center; justify-content: center; gap: 18px; opacity: 0.95; }
.sfi-triad-dot { width: 68px; height: 68px; border-radius: 50%; display: grid; place-items: center; font-family: var(--sfi-serif); font-style: italic; font-size: 15px; color: rgba(237,224,184,0.95); box-shadow: 0 0 30px currentColor; }
.sfi-triad-fire { background: radial-gradient(circle at 40% 30%, #e65252, #C00000 70%); color: rgba(255,220,200,0.95); }
.sfi-triad-mercy { background: radial-gradient(circle at 40% 30%, #6a8fc7, #2F5496 70%); color: rgba(210,225,245,0.95); }
.sfi-triad-love { background: radial-gradient(circle at 40% 30%, #a86ec7, #7030A0 70%); color: rgba(235,210,245,0.95); }
.sfi-triad-sign { font-family: var(--sfi-serif); font-size: 28px; color: var(--sfi-sword-soft); font-weight: 300; }

/* --- ABOUT --- */
.sfi-about-wrap { display: grid; grid-template-columns: 0.9fr 1.1fr; gap: var(--sfi-s-6); align-items: center; }
.sfi-about-photo { position: relative; aspect-ratio: 3/4; border-radius: 10px; overflow: hidden; border: 1px solid rgba(212,160,23,0.4); box-shadow: 0 20px 50px rgba(80,50,78,0.2); }
.sfi-about-photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.sfi-about-photo::after { content: ""; position: absolute; inset: 8px; border: 1px solid rgba(212,160,23,0.4); border-radius: 6px; pointer-events: none; }
.sfi-about-copy h2 { font-family: var(--sfi-serif); margin-top: var(--sfi-s-2); font-size: clamp(28px, 3vw, 38px); color: var(--sfi-deep-purple); font-weight: 500; line-height: 1.2; }
.sfi-about-copy p { max-width: 580px; margin-top: var(--sfi-s-3); font-size: 17.5px; line-height: 1.75; color: var(--sfi-ink); }
.sfi-about-sig { margin-top: var(--sfi-s-4); font-family: var(--sfi-script); font-size: 40px; color: var(--sfi-integration); line-height: 1; }
.sfi-about-byline { font-family: var(--sfi-sans); font-size: 12px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--sfi-ink-soft); margin-top: 6px; }
.sfi-about-cta { margin-top: var(--sfi-s-4); }

/* --- EVIDENCE --- */
.sfi-evidence { display: grid; grid-template-columns: repeat(5, 1fr); gap: var(--sfi-s-3); align-items: stretch; padding-top: var(--sfi-s-3); border-top: 1px solid rgba(80,50,78,0.18); }
.sfi-ev { text-align: center; padding: var(--sfi-s-3) var(--sfi-s-2); border-right: 1px solid rgba(80,50,78,0.15); }
.sfi-ev:last-child { border-right: 0; }
.sfi-ev-num { font-family: var(--sfi-serif); font-size: 48px; line-height: 1; color: var(--sfi-sword); font-weight: 500; }
.sfi-ev-num small { font-size: 22px; color: var(--sfi-sword); }
.sfi-ev-label { font-family: var(--sfi-sans); font-size: 12px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--sfi-ink-soft); margin-top: 10px; }
.sfi-ev-sub { font-family: var(--sfi-serif); font-style: italic; font-size: 14px; color: var(--sfi-ink); margin-top: 4px; }

/* --- PULL QUOTE --- */
.sfi-quote-card { position: relative; max-width: 860px; margin: 0 auto; padding: clamp(40px, 6vw, 72px) clamp(28px, 5vw, 64px); background: radial-gradient(ellipse 100% 60% at 50% 0%, rgba(246,220,138,0.25) 0%, transparent 70%), linear-gradient(180deg, #f7edc8 0%, #eadba2 100%); border: 1px solid rgba(212,160,23,0.6); border-radius: 6px; box-shadow: 0 1px 0 rgba(255,255,255,0.5) inset, 0 0 0 1px rgba(212,160,23,0.2) inset, 0 30px 70px rgba(80,50,78,0.25); text-align: center; }
.sfi-quote-card::before, .sfi-quote-card::after { content: ""; position: absolute; width: 46px; height: 46px; border: 1px solid rgba(212,160,23,0.7); pointer-events: none; }
.sfi-quote-card::before { top: 14px; left: 14px; border-right: 0; border-bottom: 0; }
.sfi-quote-card::after { bottom: 14px; right: 14px; border-left: 0; border-top: 0; }
.sfi-quote-mark { display: block; font-family: var(--sfi-serif); font-style: italic; font-size: 92px; line-height: 0.6; color: var(--sfi-sword); margin-bottom: 4px; }
.sfi-quote-card blockquote { margin: 0; font-family: var(--sfi-serif); font-style: italic; font-size: clamp(22px, 2.4vw, 30px); line-height: 1.5; color: var(--sfi-deep-purple); font-weight: 400; text-wrap: balance; }
.sfi-quote-divider { width: 80px; height: 1px; margin: var(--sfi-s-4) auto var(--sfi-s-3); background: linear-gradient(90deg, transparent, rgba(212,160,23,0.7), transparent); position: relative; }
.sfi-quote-divider::after { content: ""; position: absolute; left: 50%; top: -3px; transform: translateX(-50%); width: 7px; height: 7px; border-radius: 50%; background: var(--sfi-sword); box-shadow: 0 0 8px rgba(212,160,23,0.4); }
.sfi-quote-card cite { display: block; font-family: var(--sfi-sans); font-style: normal; font-size: 12px; letter-spacing: 0.22em; text-transform: uppercase; color: var(--sfi-warm-plum); }

/* --- AI BAND --- */
.sfi-ai-band { background: radial-gradient(ellipse 40% 60% at 20% 50%, rgba(112,48,160,0.4) 0%, transparent 70%), radial-gradient(ellipse 40% 60% at 80% 50%, rgba(47,84,150,0.2) 0%, transparent 70%), linear-gradient(180deg, #1a0a2e 0%, #2a0842 100%); border-top: 1px solid rgba(212,160,23,0.2); border-bottom: 1px solid rgba(212,160,23,0.2); color: var(--sfi-cream); }
.sfi-ai-wrap { display: grid; grid-template-columns: 1.3fr 1fr; gap: var(--sfi-s-6); align-items: center; }
.sfi-ai-copy h2 { font-family: var(--sfi-serif); font-size: clamp(28px, 3vw, 38px); color: var(--sfi-cream); font-weight: 500; margin: 0; }
.sfi-ai-copy h2 em { color: var(--sfi-sword-soft); font-style: italic; }
.sfi-ai-copy p { margin-top: var(--sfi-s-3); color: rgba(237,224,184,0.85); max-width: 560px; }
.sfi-ai-badge { display: inline-block; font-family: var(--sfi-sans); font-size: 11px; letter-spacing: 0.22em; text-transform: uppercase; color: var(--sfi-depth); background: var(--sfi-sword-soft); padding: 4px 12px; border-radius: 999px; margin-bottom: var(--sfi-s-3); }
.sfi-ai-preview { background: linear-gradient(180deg, #f7edc8 0%, #eadba2 100%); border: 1px solid rgba(212,160,23,0.6); border-radius: 14px; padding: var(--sfi-s-3); color: var(--sfi-ink); box-shadow: 0 25px 60px rgba(0,0,0,0.35); }
.sfi-ai-preview-head { display: flex; align-items: center; gap: 10px; padding-bottom: var(--sfi-s-2); border-bottom: 1px solid rgba(212,160,23,0.3); }
.sfi-ai-preview-dot { width: 32px; height: 32px; border-radius: 50%; background: radial-gradient(circle at 40% 30%, #f6d98a, #D4A017); display: grid; place-items: center; font-family: var(--sfi-serif); font-style: italic; color: var(--sfi-depth); font-size: 16px; }
.sfi-ai-preview-title { font-family: var(--sfi-serif); font-size: 17px; color: var(--sfi-depth); font-weight: 500; }
.sfi-ai-preview-sub { font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--sfi-warm-plum); }
.sfi-ai-preview-body { padding: var(--sfi-s-3) 0 var(--sfi-s-1); }
.sfi-ai-bubble { font-family: var(--sfi-serif); font-style: italic; font-size: 17px; line-height: 1.55; color: var(--sfi-deep-purple); padding: var(--sfi-s-2) 0; }

/* --- EMAIL OPT-IN --- */
.sfi-opt-wrap { max-width: 700px; margin: 0 auto; text-align: center; }
.sfi-opt-form { margin-top: var(--sfi-s-4); display: flex; gap: 10px; background: white; border: 1px solid rgba(80,50,78,0.2); border-radius: 999px; padding: 6px 6px 6px 24px; box-shadow: 0 10px 30px rgba(80,50,78,0.08); }
.sfi-opt-form input { flex: 1; border: 0; outline: 0; font-family: var(--sfi-sans); font-size: 16px; color: var(--sfi-ink); background: transparent; }
.sfi-opt-form input::placeholder { color: rgba(80,50,78,0.5); }
.sfi-opt-form button { padding: 12px 22px; border-radius: 999px; border: 0; background: var(--sfi-deep-purple); color: var(--sfi-cream); font-family: var(--sfi-sans); font-size: 13px; letter-spacing: 0.14em; text-transform: uppercase; cursor: pointer; transition: background .25s ease; }
.sfi-opt-form button:hover { background: var(--sfi-integration); }
.sfi-opt-note { margin-top: var(--sfi-s-3); font-size: 13px; color: var(--sfi-ink-soft); font-style: italic; }

/* --- FOOTER --- */
.sfi-footer-wrap { background: radial-gradient(ellipse 80% 50% at 50% 0%, rgba(112,48,160,0.25) 0%, transparent 70%), var(--sfi-depth); color: rgba(237,224,184,0.75); padding: var(--sfi-s-7) 0 var(--sfi-s-4); border-top: 1px solid rgba(212,160,23,0.25); }
.sfi-footer-inner { max-width: var(--sfi-max-content); margin: 0 auto; padding: 0 var(--sfi-s-4); }
.sfi-footer-top { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: var(--sfi-s-5); }
.sfi-footer-brand .sfi-brand-text { color: var(--sfi-cream); }
.sfi-footer-tagline { font-family: var(--sfi-script); color: var(--sfi-sword-soft); font-size: 28px; line-height: 1; margin-top: var(--sfi-s-2); }
.sfi-footer-blurb { margin-top: var(--sfi-s-3); font-size: 14px; line-height: 1.6; max-width: 340px; color: rgba(237,224,184,0.75); }
.sfi-footer-col h5, .sfi-footer-col .elementor-heading-title { font-family: var(--sfi-sans); font-size: 11px !important; letter-spacing: 0.22em; text-transform: uppercase; color: var(--sfi-sword-soft); margin: 0 0 var(--sfi-s-2); font-weight: 500; }
.sfi-footer-col ul.menu, .sfi-footer-col ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 10px; }
.sfi-footer-col .elementor-nav-menu { display: grid; gap: 10px; }
.sfi-footer-col a, .sfi-footer-col .elementor-item { font-size: 14.5px !important; color: rgba(237,224,184,0.75) !important; transition: color .2s ease; text-decoration: none; padding: 0 !important; font-family: var(--sfi-sans); font-weight: 400 !important; }
.sfi-footer-col a:hover, .sfi-footer-col .elementor-item:hover { color: var(--sfi-sword-soft) !important; }
.sfi-footer-ornament { display: flex; align-items: center; gap: 14px; margin: var(--sfi-s-6) 0 var(--sfi-s-3); color: rgba(212,160,23,0.6); }
.sfi-footer-ornament .sfi-line { flex: 1; height: 1px; background: linear-gradient(90deg, transparent, rgba(212,160,23,0.4), transparent); }
.sfi-footer-peacock { width: 56px; height: 56px; border-radius: 50%; overflow: hidden; border: 1px solid rgba(212,160,23,0.55); box-shadow: 0 0 22px rgba(212,160,23,0.18), inset 0 0 0 1px rgba(255,255,255,0.06); flex: 0 0 auto; background: #1a0a2e; }
.sfi-footer-peacock img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 32%; display: block; }
.sfi-legal { font-size: 12.5px; line-height: 1.6; color: rgba(237,224,184,0.55); max-width: 900px; margin: 0 auto; text-align: center; font-style: italic; }
.sfi-footer-meta { display: flex; justify-content: space-between; align-items: center; margin-top: var(--sfi-s-4); font-size: 12px; color: rgba(237,224,184,0.5); letter-spacing: 0.08em; text-transform: uppercase; }
.sfi-footer-meta a { color: inherit; text-decoration: none; }
.sfi-footer-meta .sfi-meta-links { display: flex; gap: var(--sfi-s-3); }

/* --- DR. DIANA LAUNCHER --- */
.dd-launcher { position: fixed; right: 22px; bottom: 22px; z-index: 50; background: linear-gradient(180deg, #f0d787 0%, #D4A017 100%); color: var(--sfi-depth); border: 1px solid rgba(26,10,46,0.2); border-radius: 999px; padding: 12px 20px 12px 14px; display: flex; align-items: center; gap: 10px; font-family: var(--sfi-sans); font-size: 13.5px; font-weight: 500; letter-spacing: 0.04em; cursor: pointer; box-shadow: 0 10px 30px rgba(0,0,0,0.28), 0 0 0 1px rgba(212,160,23,0.4); transition: transform .25s ease, box-shadow .25s ease; }
.dd-launcher:hover { transform: translateY(-2px); box-shadow: 0 14px 36px rgba(0,0,0,0.35); }
.dd-launcher .dd-avatar { width: 30px; height: 30px; border-radius: 50%; background: var(--sfi-depth); display: grid; place-items: center; color: var(--sfi-sword-soft); font-family: var(--sfi-serif); font-style: italic; font-size: 14px; }
.dd-panel { position: fixed; right: 22px; bottom: 90px; z-index: 49; width: 360px; max-width: calc(100vw - 44px); background: linear-gradient(180deg, #f7edc8 0%, #eadba2 100%); border: 1px solid rgba(212,160,23,0.5); border-radius: 14px; box-shadow: 0 30px 70px rgba(0,0,0,0.4); overflow: hidden; opacity: 0; transform: translateY(8px); pointer-events: none; transition: opacity .3s ease, transform .3s ease; }
.dd-panel.open { opacity: 1; transform: translateY(0); pointer-events: auto; }
.dd-panel-head { padding: 14px 18px; background: linear-gradient(180deg, rgba(26,10,46,0.04), transparent); border-bottom: 1px solid rgba(212,160,23,0.3); display: flex; align-items: center; gap: 10px; }
.dd-panel-title { font-family: var(--sfi-serif); font-weight: 500; color: var(--sfi-depth); font-size: 17px; }
.dd-panel-sub { font-size: 10.5px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--sfi-warm-plum); margin-top: 2px; }
.dd-panel-body { padding: 18px; color: var(--sfi-ink); font-family: var(--sfi-serif); font-style: italic; font-size: 16.5px; line-height: 1.55; }
.dd-panel-body .small { font-family: var(--sfi-sans); font-style: normal; font-size: 13px; color: var(--sfi-ink-soft); margin-top: 14px; line-height: 1.55; }
.dd-panel-cta { display: block; margin: 0 18px 18px; text-align: center; padding: 12px; background: var(--sfi-deep-purple); color: var(--sfi-cream); font-size: 12px; letter-spacing: 0.18em; text-transform: uppercase; border-radius: 6px; text-decoration: none; }

/* --- RESPONSIVE --- */
@media (max-width: 1100px) {
  .sfi-offer-wrap, .sfi-about-wrap, .sfi-ai-wrap { grid-template-columns: 1fr; gap: var(--sfi-s-5); }
  .sfi-hero-inner { padding: 90px var(--sfi-s-4) 100px; }
}
@media (max-width: 1040px) {
  .sfi-segment-row { grid-template-columns: 1fr 1fr; }
  .sfi-cat-row { grid-template-columns: 1fr; gap: var(--sfi-s-5); }
  .sfi-cat-col + .sfi-cat-col::before { display: none; }
  .sfi-evidence { grid-template-columns: repeat(5, 1fr); gap: 0; }
  .sfi-ev-num { font-size: 36px; }
  .sfi-nav-menu ul.elementor-nav-menu, .sfi-nav-menu ul.menu { display: none; }
}
@media (max-width: 760px) {
  .sfi-segment-row, .sfi-offer-grid { grid-template-columns: 1fr; }
  .sfi-evidence { grid-template-columns: repeat(2, 1fr); }
  .sfi-ev { border-right: 0; border-bottom: 1px solid rgba(80,50,78,0.12); padding: 18px 8px; }
  .sfi-footer-top { grid-template-columns: 1fr 1fr; gap: var(--sfi-s-4); }
  .sfi-footer-meta { flex-direction: column; gap: 12px; }
  .dd-launcher span.sfi-text { display: none; }
  .dd-launcher { padding: 10px; border-radius: 50%; }
  .sfi-hero-inner { padding: 72px 20px 84px; }
}
@media (prefers-reduced-motion: reduce) { * { transition: none !important; animation: none !important; } }/* End custom CSS */