/*
Theme Name: SecureFLIT
Theme URI: https://secureflit.com
Author: SecureFLIT
Author URI: https://secureflit.com
Description: Editable one-page website for SecureFLIT — the cybersecurity expert review layer behind AI security products. Every section is built from standard WordPress blocks, so text, buttons and lists can be changed in the page editor.
Version: 1.3.4
Requires at least: 6.6
Tested up to: 6.8
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: secureflit
*/

/* ---------- Base ---------- */
html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; }
:where(.sf-section, .wp-block-group)[id] { scroll-margin-top: 80px; }
a:focus-visible, summary:focus-visible, .wp-element-button:focus-visible { outline: 3px solid #2261FE; outline-offset: 3px; }
.sf-main { margin-block-start: 0 !important; }
.wp-site-blocks > * + * { margin-block-start: 0; }
body .wp-block-post-content > .alignfull { margin-block-start: 0; margin-block-end: 0; }

/* ---------- Header ---------- */
.sf-header { position: sticky; top: 0; z-index: 50; background: transparent; border-bottom: 1px solid #ECECEC; }
/* The blur lives on a pseudo-element: a backdrop-filter on the header itself would trap the full-screen mobile menu inside the bar. */
.sf-header::before { content: ""; position: absolute; inset: 0; z-index: -1; background: rgba(255,255,255,0.94); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); pointer-events: none; }
.admin-bar .sf-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .sf-header { top: 46px; } }
@media (max-width: 600px) { .admin-bar .sf-header { top: 0; } } /* WordPress's own bar stops being fixed on phones */
body .sf-header-row { min-height: 72px; justify-content: space-between; align-items: center; flex-wrap: nowrap; }
.sf-logo { display: block; line-height: 0; }
.sf-logo img { height: 26px; width: auto; display: block; }
.sf-header .wp-block-navigation { font-size: 15px; gap: 24px; }
.sf-header .wp-block-navigation a { color: #111111; text-decoration: none; }
.sf-header .wp-block-navigation a:hover { color: #2261FE; }
.sf-header-actions { gap: 20px; align-items: center; flex-wrap: nowrap; }
.sf-header .wp-block-button__link { padding: 12px 20px; font-size: 15px; }
@media (max-width: 600px) { .sf-header .sf-header-cta { display: none; } }

/* ---------- Sections ---------- */
.sf-section { padding-top: clamp(72px, 9vw, 128px); padding-bottom: clamp(72px, 9vw, 128px); }
body .sf-inner > * { margin-block-start: 0; margin-block-end: 0; }
body .sf-inner > * + * { margin-block-start: 40px; }
body .sf-inner-tight > * + * { margin-block-start: 28px; }
.sf-border-top { border-top: 1px solid #ECECEC; }

.is-style-sf-light { background: #FFFFFF; color: #111111; }
.is-style-sf-sand { background: #F6F5F2; color: #111111; }
.is-style-sf-dark { background: #000000; color: #FAFAFA; }
.is-style-sf-ink { background: #111111; color: #FAFAFA; }
.is-style-sf-warm { background: radial-gradient(70% 90% at 92% 0%, #F07B45 0%, rgba(240,123,69,0) 62%), radial-gradient(60% 80% at 100% 100%, #F2B23A 0%, rgba(242,178,58,0) 65%), radial-gradient(50% 60% at 55% 85%, #FBF2C2 0%, rgba(251,242,194,0) 70%), #FFFBF4; color: #111111; }
.is-style-sf-blue { background: radial-gradient(60% 90% at 0% 0%, #7C8CFF 0%, rgba(124,140,255,0) 60%), radial-gradient(60% 90% at 100% 0%, #6E9BFF 0%, rgba(110,155,255,0) 60%), radial-gradient(80% 90% at 50% 120%, #2A1FD0 0%, rgba(42,31,208,0) 70%), #2234D9; color: #FFFFFF; }
:is(.is-style-sf-dark, .is-style-sf-ink, .is-style-sf-blue, .is-style-sf-card-ink, .is-style-sf-card-night, .is-style-sf-card-blue) a:not(.wp-element-button) { color: inherit; }

/* Section heading block */
body .sf-head { max-width: 860px; }
body .sf-head > * { margin: 0; }
body .sf-head > * + * { margin-block-start: 20px; }
.sf-eyebrow { display: flex; align-items: center; gap: 10px; font-size: 13px !important; font-weight: 500; letter-spacing: 0.1em; text-transform: uppercase; }
.sf-eyebrow::before { content: ""; flex: 0 0 auto; width: 10px; height: 10px; background: #FF6600; }
.sf-eyebrow.sf-dot-amber::before { background: #FBB347; }
.sf-eyebrow.sf-dot-blue::before { background: #2261FE; }
.sf-eyebrow.sf-dot-ink::before { background: #111111; }
.sf-lead { font-size: 18px; color: #3A3A3A; }
.is-style-sf-dark .sf-lead, .is-style-sf-ink .sf-lead { color: #C8C8C8; }
.is-style-sf-blue .sf-lead { color: #F0F2FF; font-size: 19px; max-width: 680px; }
.sf-caption { font-size: 15px; color: #4A4A4A; }
.sf-center { text-align: center; }
.sf-kicker { font-size: 15px; font-weight: 500; color: #4A4A4A; }
.sf-small { font-size: 15px; color: #4A4A4A; }
.sf-small-dark { font-size: 15px; }
.sf-soft { color: #C8C8C8; }
.sf-blue-text { color: #2261FE !important; }
.sf-h2-sm { font-size: clamp(30px, 3.6vw, 48px) !important; }
.sf-h-sm { font-size: 16px !important; letter-spacing: 0 !important; }
body .sf-stack > * { margin-block: 0; }
body .sf-stack > * + * { margin-block-start: 16px; }

/* Buttons */
.wp-block-buttons { gap: 16px; }
.wp-block-button.is-style-outline > .wp-block-button__link { background: transparent; color: #111111; border: 1.5px solid currentColor; padding: 14.5px 24px; }
.wp-block-button.is-style-outline > .wp-block-button__link:hover { background: rgba(17,17,17,0.06); }
.is-style-sf-blue .wp-block-button:not(.is-style-outline) > .wp-block-button__link,
.is-style-sf-dark .wp-block-button:not(.is-style-outline) > .wp-block-button__link { background: #FFFFFF; color: #111111; }
.is-style-sf-blue .wp-block-button.is-style-outline > .wp-block-button__link,
.is-style-sf-dark .wp-block-button.is-style-outline > .wp-block-button__link { color: #FFFFFF; }

/* ---------- Hero ---------- */
.sf-hero { padding-top: clamp(80px, 11vw, 160px); padding-bottom: clamp(64px, 8vw, 112px); }
body .sf-hero .sf-inner > * + * { margin-block-start: 32px; }
.sf-hero-title { max-width: 980px; }
.sf-hero-lead { max-width: 720px; font-size: clamp(17px, 1.6vw, 20px) !important; color: #2A2A2A !important; }
.sf-strip { padding-top: 18px; padding-bottom: 18px; }
.sf-strip-text { font-size: 15px; margin: 0; }
.sf-muted { color: #BDBDBD; margin-right: 6px; }

/* ---------- Cards (group block styles) ---------- */
[class*="is-style-sf-card"] { border-radius: 16px; padding: 28px; box-sizing: border-box; }
body [class*="is-style-sf-card"] > * { margin-block: 0; }
body [class*="is-style-sf-card"] > * + * { margin-block-start: 12px; }
.is-style-sf-card { background: #FFFFFF; }
.is-style-sf-card-outline { background: #FFFFFF; border: 1px solid #E4E4E4; }
.is-style-sf-card-sand { background: #F6F5F2; }
.is-style-sf-card-ink { background: #111111; color: #FAFAFA; }
.is-style-sf-card-night { background: #161616; border: 1px solid #2C2C2C; color: #FAFAFA; }
.is-style-sf-card-muted { background: transparent; border: 1px solid #2C2C2C; color: #9A9A9A; }
.is-style-sf-light .is-style-sf-card-muted, .is-style-sf-sand .is-style-sf-card-muted { border-color: #E4E4E4; color: #767676; }
.is-style-sf-card-paper { background: #FAFAFA; color: #111111; }
.is-style-sf-card-blue { background: radial-gradient(80% 90% at 100% 0%, #6E9BFF 0%, rgba(110,155,255,0) 60%), radial-gradient(70% 80% at 0% 100%, #3A2BD9 0%, rgba(58,43,217,0) 70%), #2234D9; color: #FFFFFF; border-radius: 20px; padding: clamp(28px, 4vw, 48px); }
.is-style-sf-card-warm { background: radial-gradient(60% 120% at 100% 0%, #F07B45 0%, rgba(240,123,69,0) 65%), radial-gradient(50% 100% at 100% 100%, #F2B23A 0%, rgba(242,178,58,0) 70%), #FFFBF4; color: #111111; border-radius: 20px; padding: clamp(32px, 5vw, 56px); }
.is-style-sf-card-scope { background: #FFFFFF; border: 2px solid #2261FE; }
.is-style-sf-card-ink p, .is-style-sf-card-night p { color: inherit; }
.is-style-sf-card-night p:not(:first-child) { color: #BDBDBD; font-size: 15px; }
.sf-panel-label { font-size: 13px !important; font-weight: 500; letter-spacing: 0.1em; text-transform: uppercase; color: #767676; }
:is(.is-style-sf-card-ink, .is-style-sf-card-night) .sf-panel-label { color: #BDBDBD; }
.is-style-sf-card-blue .sf-panel-label { color: #E3E8FF; }
.is-style-sf-card-paper .sf-panel-label { color: #4A4A4A; }
.is-style-sf-card-muted .sf-panel-label { color: inherit; }
.sf-callout-text { font-size: clamp(20px, 2.2vw, 26px); font-weight: 500; letter-spacing: -0.015em; line-height: 1.3; }
.sf-callout-big { font-size: clamp(24px, 3vw, 36px); font-weight: 700; letter-spacing: -0.025em; line-height: 1.15; max-width: 820px; }
.is-style-sf-card-warm p:not(.sf-callout-big) { font-size: 18px; color: #2A2A2A; max-width: 680px; }
.sf-compare-text { font-size: 20px; }
.is-style-sf-card-paper .sf-compare-text { font-weight: 500; }
.sf-quote-text { font-size: clamp(22px, 2.6vw, 32px); font-weight: 500; letter-spacing: -0.02em; line-height: 1.3; }
.sf-card-num { font-size: 14px; font-weight: 700; color: #4A4A4A; }
.sf-card-big { font-size: 20px; font-weight: 500; letter-spacing: -0.01em; }
.sf-more a { font-weight: 500; text-decoration: none; }
.is-style-sf-card-outline:has(.sf-more) { display: flex; flex-direction: column; min-height: 220px; }
.is-style-sf-card-outline:has(.sf-more) .sf-more { margin-top: auto !important; padding-top: 12px; }

/* Icons on cards */
.sf-icon::before { content: ""; display: block; width: 28px; height: 28px; background: currentColor; -webkit-mask: var(--sf-icon) center / contain no-repeat; mask: var(--sf-icon) center / contain no-repeat; margin-bottom: 4px; }
.sf-icon-x::before { width: 24px; height: 24px; background: #8A8A8A; --sf-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M6 6l12 12M18 6L6 18'/%3E%3C/svg%3E"); }
.sf-icon-target::before { --sf-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Ccircle cx='12' cy='12' r='5'/%3E%3Ccircle cx='12' cy='12' r='1.5'/%3E%3C/svg%3E"); }
.sf-icon-server::before { --sf-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round'%3E%3Crect x='3' y='4' width='18' height='6' rx='1.5'/%3E%3Crect x='3' y='14' width='18' height='6' rx='1.5'/%3E%3Cpath d='M7 7h.01M7 17h.01'/%3E%3C/svg%3E"); }
.sf-icon-harness::before { --sf-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round'%3E%3Cpath d='M4 6h16M4 12h16M4 18h16M8 4v4M14 10v4M10 16v4'/%3E%3C/svg%3E"); }
.sf-icon-shield::before { background: #FF6600; --sf-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'%3E%3Cpath d='M12 3l8 3v6c0 4.5-3.4 8.2-8 9-4.6-.8-8-4.5-8-9V6l8-3z'/%3E%3C/svg%3E"); }
.sf-icon-person::before { background: #E0952A; --sf-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='10' cy='8' r='4'/%3E%3Cpath d='M3 20c0-3.3 3.1-6 7-6M15 17l2 2 4-4'/%3E%3C/svg%3E"); }
.sf-icon-screen::before { background: #2261FE; --sf-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='13' rx='2'/%3E%3Cpath d='M8 21h8M12 17v4M7 11l3 2 4-4 3 2'/%3E%3C/svg%3E"); }
.sf-icon-hands::before { --sf-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 11l3-3 4 1 3-3 4 4-6 6-3-1M3 10l4-4 3 2M10 15l-2 2M12 17l-2 2'/%3E%3C/svg%3E"); }
.sf-check { display: flex; flex-direction: column; padding: clamp(28px, 4vw, 40px) !important; padding-left: calc(clamp(28px, 4vw, 40px) + 64px) !important; position: relative; }
.sf-check::before { content: ""; position: absolute; left: clamp(28px, 4vw, 40px); top: clamp(28px, 4vw, 40px); width: 44px; height: 44px; border-radius: 999px; background: #FF6600 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23111111' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 22px no-repeat; }
@media (max-width: 600px) { .sf-check { padding-left: clamp(28px, 4vw, 40px) !important; padding-top: 96px !important; } }

/* Accent bars on expert cards */
.sf-accent::before { content: ""; display: block; width: 28px; height: 8px; background: #FF6600; margin-bottom: 4px; }
.sf-grid > .sf-accent:nth-child(3n+2)::before { background: #FBB347; }
.sf-grid > .sf-accent:nth-child(3n+3)::before { background: #2261FE; }
.sf-accent h3 { font-size: 19px; }

/* ---------- Motif ---------- */
body .sf-motif { align-items: stretch; flex-wrap: wrap; }
.sf-panel { flex: 1 1 380px; min-height: 300px; display: flex; flex-direction: column; border-radius: 20px !important; padding: clamp(28px, 4vw, 48px) !important; }
body .sf-panel > * + * { margin-block-start: 28px; }
.sf-panel-title { font-size: clamp(30px, 3.4vw, 44px) !important; letter-spacing: -0.03em !important; line-height: 1.05 !important; }
.sf-panel .sf-chips { margin-top: auto !important; padding-top: 28px; }
.sf-times { flex: 0 0 64px; align-self: center; width: 64px; height: 64px; margin: 0 auto !important; border-radius: 999px; background: #FF6600; color: #111111; display: flex; align-items: center; justify-content: center; font-size: 34px; font-weight: 300; line-height: 1; }
.sf-statement { max-width: 900px; margin-left: auto !important; margin-right: auto !important; text-align: center; font-size: clamp(26px, 3.2vw, 42px); font-weight: 500; letter-spacing: -0.025em; line-height: 1.2; padding-top: 24px; }

/* Chips (list block) */
ul.sf-chips { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: 8px; }
ul.sf-chips li { padding: 7px 14px; border-radius: 999px; font-size: 14px; background: #F6F5F2; margin: 0; }
:is(.is-style-sf-card-ink, .is-style-sf-card-night) ul.sf-chips li { background: transparent; border: 1px solid #3A3A3A; }
.is-style-sf-card-blue ul.sf-chips li { background: transparent; border: 1px solid rgba(255,255,255,0.45); }

/* ---------- Numbered / definition lists ---------- */
ol.sf-numbered { list-style: none; padding: 0; margin: 0; counter-reset: sf; }
ol.sf-numbered li { counter-increment: sf; display: flex; gap: 16px; align-items: baseline; padding: 16px 0; border-top: 1px solid #ECECEC; font-size: 17px; }
ol.sf-numbered li::before { content: counter(sf, decimal-leading-zero); font-size: 14px; font-weight: 700; color: #2261FE; min-width: 28px; }

ul.sf-defs { list-style: none; padding: 0; margin: 0; }
ul.sf-defs li { display: grid; grid-template-columns: minmax(0, 220px) minmax(0, 1fr); gap: 4px 24px; padding: 16px 0; border-top: 1px solid #ECECEC; color: #3A3A3A; }
ul.sf-defs li strong { color: #111111; font-size: 17px; }
ul.sf-defs.sf-defs-lg li { grid-template-columns: minmax(0, 320px) minmax(0, 1fr); padding: 24px 0; font-size: 17px; }
ul.sf-defs.sf-defs-lg li:first-child { border-top: 0; }
ul.sf-defs.sf-defs-lg li strong { font-size: 20px; }
@media (max-width: 680px) { ul.sf-defs li, ul.sf-defs.sf-defs-lg li { grid-template-columns: 1fr; } }

/* Lifecycle pills */
ol.sf-lifecycle { list-style: none; padding: 0; margin: 0; counter-reset: sf; display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
ol.sf-lifecycle li { counter-increment: sf; flex: 1 1 220px; display: flex; align-items: center; gap: 14px; padding: 18px 22px; border-radius: 999px; background: #FF6600; color: #111111; font-weight: 500; font-size: 17px; line-height: 1.3; position: relative; }
ol.sf-lifecycle li::before { content: counter(sf, decimal-leading-zero); font-weight: 700; }
ol.sf-lifecycle li:nth-child(2) { background: #FBB347; }
ol.sf-lifecycle li:nth-child(3) { background: #2261FE; color: #FFFFFF; }

/* Evaluation steps */
ol.sf-steps { list-style: none; padding: 0; margin: 0; counter-reset: sf; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(240px, 100%), 1fr)); gap: 16px; }
ol.sf-steps li { counter-increment: sf; background: #F6F5F2; border-radius: 16px; padding: 24px; color: #4A4A4A; }
ol.sf-steps li::before { content: counter(sf); display: block; font-size: 40px; font-weight: 700; letter-spacing: -0.04em; color: #FF6600; line-height: 1; margin-bottom: 12px; }
ol.sf-steps li strong { display: block; font-size: 18px; color: #111111; margin-bottom: 8px; }

/* Deployment flow */
ol.sf-flow { list-style: none; padding: 0; margin: 0; counter-reset: sf; display: flex; flex-wrap: wrap; gap: 12px 40px; }
ol.sf-flow li { counter-increment: sf; flex: 1 1 220px; border: 1px solid #E4E4E4; border-radius: 16px; padding: 24px; font-size: 19px; font-weight: 700; line-height: 1.3; position: relative; }
ol.sf-flow li::before { content: "Step " counter(sf); display: block; font-size: 13px; font-weight: 500; letter-spacing: 0.1em; text-transform: uppercase; color: #4A4A4A; margin-bottom: 6px; }
ol.sf-flow li:nth-child(2) { flex-grow: 1.4; background: #111111; border-color: #111111; color: #FAFAFA; }
ol.sf-flow li:nth-child(2)::before { color: #BDBDBD; }
ol.sf-flow li:nth-child(3) { background: #2261FE; border-color: #2261FE; color: #FFFFFF; }
ol.sf-flow li:nth-child(3)::before { color: #E3E8FF; }
ol.sf-flow li + li::after { content: "→"; position: absolute; left: -31px; top: 50%; transform: translateY(-50%); font-size: 22px; color: #111111; font-weight: 400; }
@media (max-width: 760px) { ol.sf-flow li + li::after { display: none; } }

/* How we work */
ol.sf-how { list-style: none; padding: 0; margin: 0; counter-reset: sf; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(240px, 100%), 1fr)); border-top: 1px solid #2C2C2C; }
ol.sf-how li { counter-increment: sf; padding: 28px 24px 28px 0; border-bottom: 1px solid #2C2C2C; color: #BDBDBD; }
ol.sf-how li::before { content: counter(sf, decimal-leading-zero); display: block; font-size: 14px; font-weight: 700; color: #FF6600; margin-bottom: 10px; }
ol.sf-how li:nth-child(2)::before { color: #FBB347; }
ol.sf-how li:nth-child(3)::before { color: #6E9BFF; }
ol.sf-how li:nth-child(4)::before { color: #FAFAFA; }
ol.sf-how li strong { display: block; font-size: 22px; color: #FAFAFA; margin-bottom: 10px; }

.sf-note { padding-left: 18px; border-left: 3px solid #FBB347; font-size: 17px; color: #3A3A3A; }
.sf-cred { max-width: 900px; font-size: 18px; color: #2A2A2A; padding-top: 24px; border-top: 1px solid #ECECEC; }

/* Who we work with */
.sf-label { font-size: 12px !important; font-weight: 500; letter-spacing: 0.1em; text-transform: uppercase; }
.sf-label-blue { color: #2261FE; }
.sf-label-orange { color: #A04300; }
body .sf-pair > .sf-label + * { margin-block-start: 4px; }
body .sf-pair > h3 + .sf-small { margin-block-start: 4px; }
body .sf-pair .sf-review { margin-block-start: 14px; padding-top: 14px; border-top: 1px dashed #D6D6D6; }
.sf-pair h3 { font-size: 18px; }
.sf-pair { padding: 24px !important; }

.sf-disclaimer { max-width: 860px; background: #FFFFFF; border: 1px solid #D6D6D6; border-radius: 12px; padding: 16px 20px; font-size: 16px; color: #2A2A2A; }
.sf-card-sm { padding: 20px !important; border-radius: 12px !important; }
body .sf-card-sm > * + * { margin-block-start: 6px; }

/* FAQ */
body .sf-faq { align-items: flex-start; }
body .sf-faq > .sf-head { flex: 1 1 300px; }
body .sf-faq > .sf-faq-list { flex: 2 1 560px; min-width: 0; border-top: 1px solid #E4E4E4; }
body .sf-faq-list > * { margin: 0; }
.sf-faq-list .wp-block-details { border-bottom: 1px solid #E4E4E4; padding: 22px 0; }
.sf-faq-list .wp-block-details summary { cursor: pointer; list-style: none; display: flex; justify-content: space-between; align-items: center; gap: 16px; font-size: 19px; font-weight: 500; min-height: 44px; }
.sf-faq-list .wp-block-details summary::-webkit-details-marker { display: none; }
.sf-faq-list .wp-block-details summary::after { content: "+"; font-size: 26px; font-weight: 300; transition: transform 0.2s; }
.sf-faq-list .wp-block-details[open] summary::after { transform: rotate(45deg); }
.sf-faq-list .wp-block-details p { margin: 12px 0 0; color: #3A3A3A; font-size: 17px; }

/* CTA */
.sf-cta { padding-top: clamp(80px, 10vw, 144px); padding-bottom: clamp(80px, 10vw, 144px); }
body .sf-cta .sf-inner > * + * { margin-block-start: 28px; }
.sf-cta-title { max-width: 900px; font-size: clamp(36px, 5.2vw, 72px) !important; letter-spacing: -0.035em !important; line-height: 1.02 !important; }
.sf-cta-email { font-size: 15px; color: #E3E8FF; }
.sf-cta-email a { color: #FFFFFF !important; font-weight: 500; }

/* ---------- Footer ---------- */
.sf-footer { background: #000000; color: #BDBDBD; }
body .sf-footer-row { padding-top: 40px; padding-bottom: 40px; justify-content: space-between; align-items: center; gap: 24px; }
.sf-footer .sf-logo img { height: 26px; }
.sf-footer a { color: #BDBDBD; text-decoration: none; font-size: 14px; }
.sf-footer a:hover { color: #FFFFFF; }
.sf-footer p { margin: 0; font-size: 14px; }
.sf-footer .wp-block-navigation { gap: 20px; }
.sf-footer-meta { gap: 16px; }
.sf-footer-meta a { color: #FAFAFA; }

/* ---------- Plain pages & posts ---------- */
.sf-page { padding-top: 64px; padding-bottom: 96px; }

/* ---------- v1.1: why callout + enquiry form ---------- */
.sf-why-title { font-size: clamp(24px, 2.8vw, 34px) !important; letter-spacing: -0.025em !important; line-height: 1.15 !important; max-width: 820px; }
.sf-why p:not(.sf-panel-label) { font-size: 18px; color: #2A2A2A; max-width: 760px; }
.sf-why .sf-panel-label { color: #A04300 !important; }

.sf-form-card { max-width: 760px; color: #111111; border-radius: 20px !important; padding: clamp(24px, 4vw, 40px) !important; }
.sf-form-title { font-size: 22px; }
.sf-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 20px; margin: 0; }
@media (max-width: 640px) { .sf-form { grid-template-columns: 1fr; } }
.sf-field { display: flex; flex-direction: column; gap: 6px; }
.sf-field label { font-size: 15px; font-weight: 500; color: #111111; }
.sf-optional { font-weight: 400; color: #767676; }
.sf-field input { font: inherit; font-size: 16px; color: #111111; background: #FFFFFF; border: 1.5px solid #CFCFCF; border-radius: 10px; padding: 12px 14px; min-height: 48px; box-sizing: border-box; width: 100%; }
.sf-field input:focus { outline: none; border-color: #2261FE; box-shadow: 0 0 0 3px rgba(34, 97, 254, 0.2); }
.sf-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.sf-form-foot { grid-column: 1 / -1; display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; margin-top: 4px; }
.sf-submit { border: 0; cursor: pointer; font-family: inherit; background: #111111 !important; color: #FFFFFF !important; }
.sf-submit:hover { background: #333333 !important; }
.sf-form-note { margin: 0; font-size: 14px; color: #4A4A4A; }
.sf-form-note a { color: #2261FE !important; }
.sf-form-error { grid-column: 1 / -1; margin: 0; padding: 12px 16px; border-radius: 10px; background: #FFF1E8; color: #8A3A00; font-size: 15px; }
.sf-form-done { padding: 8px 0; }
.sf-form-done-title { font-size: 22px; font-weight: 700; letter-spacing: -0.02em; margin: 0 0 8px; }
.sf-form-done p { margin: 0; }
.sf-form-done a { color: #2261FE !important; }
.sf-form-card .wp-block-shortcode, .sf-form-card > p { margin: 0; }

/* ---------- v1.2: dedicated pages ---------- */
.sf-section:not(.sf-hero) h1.wp-block-heading { font-size: clamp(36px, 4.8vw, 64px); line-height: 1.05; letter-spacing: -0.03em; }
.sf-cta h1.sf-cta-title { font-size: clamp(36px, 5.2vw, 72px) !important; }
.sf-learn { font-weight: 500; font-size: 17px; }
.sf-learn a { text-decoration: none; border-bottom: 1.5px solid currentColor; padding-bottom: 2px; }
.sf-learn a:hover { opacity: 0.8; }
.sf-h-explore { font-size: 19px !important; }
.sf-explore-card { display: flex; flex-direction: column; }
.sf-explore-card .sf-more { margin-top: auto !important; padding-top: 8px; }

/* ---------- v1.2.1: plain pages (privacy policy etc.) ---------- */
.sf-page > .wp-block-post-title, .sf-page > .wp-block-post-content { max-width: 760px !important; }
.sf-page h1.wp-block-post-title { font-size: clamp(36px, 5vw, 56px); margin-bottom: 32px; }
.sf-page .wp-block-post-content h2 { font-size: 26px; letter-spacing: -0.02em; margin-top: 40px; margin-bottom: 12px; }
.sf-page .wp-block-post-content h3 { font-size: 20px; margin-top: 28px; }
.sf-page .wp-block-post-content p, .sf-page .wp-block-post-content li { color: #2A2A2A; }
.sf-page .wp-block-post-content ul { padding-left: 22px; }
.sf-page .wp-block-post-content li + li { margin-top: 6px; }

/* ---------- v1.2.2: mobile & tablet menu ---------- */
/* Use the menu button below laptop width, where the six links no longer fit. */
@media (max-width: 1099px) {
	.sf-header .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex !important; }
	.sf-header .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none !important; }
}
.sf-header .wp-block-navigation__responsive-container-open { width: 44px; height: 44px; align-items: center; justify-content: center; margin-right: -10px; color: #111111; }
.sf-header .wp-block-navigation__responsive-container-open svg { width: 28px; height: 28px; }
/* Full-screen menu */
.sf-header .wp-block-navigation__responsive-container.is-menu-open { background: #FFFFFF !important; color: #111111 !important; padding: 20px 24px 32px !important; }
.sf-header .is-menu-open .wp-block-navigation__responsive-container-close { width: 44px; height: 44px; display: flex; align-items: center; justify-content: center; top: 14px; right: 14px; }
.sf-header .is-menu-open .wp-block-navigation__responsive-container-close svg { width: 28px; height: 28px; }
.sf-header .is-menu-open .wp-block-navigation__responsive-container-content { padding-top: 64px !important; align-items: flex-start !important; }
.sf-header .is-menu-open .wp-block-navigation__container { align-items: flex-start !important; gap: 0 !important; width: 100%; }
.sf-header .is-menu-open .wp-block-navigation-item { width: 100%; border-bottom: 1px solid #ECECEC; }
.sf-header .is-menu-open .wp-block-navigation-item__content { display: block; padding: 16px 0 !important; font-size: 22px; font-weight: 500; letter-spacing: -0.01em; }
.sf-header .is-menu-open .sf-nav-cta { border-bottom: 0; margin-top: 24px; }
.sf-header .is-menu-open .sf-nav-cta .wp-block-navigation-item__content { display: inline-flex; padding: 14px 26px !important; border-radius: 999px; background: #111111; color: #FFFFFF !important; font-size: 18px; }
.sf-header .wp-block-navigation .sf-nav-cta { display: none; }
.sf-header .is-menu-open .sf-nav-cta { display: block; }
.sf-header .wp-block-navigation__responsive-container.is-menu-open { --navigation-layout-justification-setting: flex-start; --navigation-layout-justify: flex-start; --navigation-layout-align: flex-start; text-align: left; }
.sf-header .is-menu-open .wp-block-navigation__responsive-container-content, .sf-header .is-menu-open .wp-block-navigation-item { align-items: flex-start !important; justify-content: flex-start !important; }

/* ---------- v1.2.3: links from the homepage to the dedicated pages ---------- */
.sf-section p.sf-learn { margin-top: 8px; }
.sf-section p.sf-learn > a {
	display: inline-flex; align-items: center; gap: 14px; max-width: 100%; box-sizing: border-box;
	padding: 10px 10px 10px 24px; border: 0; border-radius: 999px;
	background: #111111; color: #FFFFFF; font-size: 16px; font-weight: 700; line-height: 1.3; text-decoration: none;
	transition: background-color .2s ease, box-shadow .2s ease;
}
.sf-section p.sf-learn > a:hover, .sf-section p.sf-learn > a:focus-visible { background: #000000; box-shadow: 0 6px 18px rgba(0,0,0,.18); opacity: 1; }
.sf-section p.sf-learn .sf-arrow, .sf-section p.sf-more .sf-arrow {
	display: inline-grid; place-items: center; flex-shrink: 0; border-radius: 50%; font-weight: 700; line-height: 1;
	transition: transform .2s ease, background-color .2s ease, border-color .2s ease, color .2s ease;
}
.sf-section p.sf-learn .sf-arrow { width: 36px; height: 36px; background: #FF6600; color: #111111; font-size: 18px; }
.sf-section p.sf-learn > a:hover .sf-arrow, .sf-section p.sf-more > a:hover .sf-arrow { transform: translateX(4px); }
:is(.is-style-sf-dark, .is-style-sf-ink, .is-style-sf-blue) p.sf-learn > a { background: #FFFFFF; color: #111111; }
:is(.is-style-sf-dark, .is-style-sf-ink, .is-style-sf-blue) p.sf-learn > a:hover { background: #F2F2F2; }

.sf-section p.sf-more > a { display: inline-flex; align-items: center; gap: 10px; font-size: 16px; font-weight: 700; color: #111111; text-decoration: none; }
.sf-section p.sf-more .sf-arrow { width: 30px; height: 30px; border: 1.5px solid #111111; font-size: 15px; }
.sf-section p.sf-more > a:hover .sf-arrow { background: #FF6600; border-color: #FF6600; color: #111111; }
.is-style-sf-card-outline:has(.sf-more) { transition: border-color .2s ease, box-shadow .2s ease; }
.is-style-sf-card-outline:has(.sf-more:hover) { border-color: #111111; box-shadow: 0 8px 24px rgba(0,0,0,.08); }
@media (max-width: 480px) { .sf-section p.sf-learn > a { font-size: 15px; padding-left: 18px; gap: 10px; } }
.sf-section p.sf-learn { margin-top: 20px !important; }
:is(.is-style-sf-dark, .is-style-sf-ink) .sf-caption { color: #BDBDBD; }
@media (min-width: 1100px) { ol.sf-steps.sf-steps-5 { grid-template-columns: repeat(5, minmax(0, 1fr)); } }
.sf-head .sf-subhead { margin-top: 14px; max-width: 820px; font-size: clamp(22px, 2.4vw, 30px); font-weight: 500; line-height: 1.25; letter-spacing: -0.015em; color: #3A3A3A; }
.sf-head .sf-subhead + .sf-lead { margin-top: 18px; }

/* ---------- v1.2.4: free guide popup ---------- */
.sf-gm[hidden], .sf-gbar[hidden], .sf-gm [hidden] { display: none !important; }
html.sf-gm-lock { overflow: hidden; }
.sf-gm { position: fixed; inset: 0; z-index: 100000; display: grid; place-items: center; padding: 16px; font-family: inherit; }
.sf-gm-backdrop { position: absolute; inset: 0; background: rgba(10,10,10,.6); }
.sf-gm-dialog { position: relative; width: min(860px, 100%); max-height: calc(100vh - 32px); overflow: auto; display: grid; grid-template-columns: 300px minmax(0, 1fr); background: #FFFFFF; color: #111111; border-radius: 20px; box-shadow: 0 30px 80px rgba(0,0,0,.35); animation: sfGmIn .25s ease; }
@keyframes sfGmIn { from { opacity: 0; transform: translateY(12px) scale(.98); } to { opacity: 1; transform: none; } }
.sf-gm-x { position: absolute; top: 10px; right: 12px; width: 40px; height: 40px; border: 0; border-radius: 50%; background: #F2F2F2; color: #111; font-size: 24px; line-height: 1; cursor: pointer; z-index: 2; }
.sf-gm-x:hover { background: #E6E6E6; }
.sf-gm-cover { background: #0B0B0B; color: #FAFAFA; padding: 32px 28px; display: flex; flex-direction: column; gap: 18px; position: relative; overflow: hidden; }
.sf-gm-tag { align-self: flex-start; background: #FF6600; color: #111; font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; padding: 6px 12px; border-radius: 999px; }
.sf-gm-cover-title { font-size: 34px; font-weight: 700; line-height: 1.05; letter-spacing: -.03em; }
.sf-gm-bars { margin-top: auto; display: flex; flex-direction: column; gap: 6px; }
.sf-gm-bars i { display: block; height: 22px; width: 64px; background: #FF6600; }
.sf-gm-bars i:nth-child(2) { background: #FBB347; }
.sf-gm-bars i:nth-child(3) { background: #2261FE; width: 30px; }
.sf-gm-body { padding: 32px 32px 28px; }
.sf-gm-eyebrow { margin: 0 0 8px; font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: #8A3B00; }
.sf-gm-title { margin: 0 40px 12px 0; font-size: 26px; line-height: 1.15; letter-spacing: -.02em; }
.sf-gm-list { margin: 0 0 18px; padding: 0; list-style: none; display: grid; gap: 6px; font-size: 15px; color: #333; }
.sf-gm-list li::before { content: "✓"; color: #FF6600; font-weight: 700; margin-right: 8px; }
.sf-gm-form { display: grid; gap: 12px; }
.sf-gm-field { display: grid; gap: 4px; font-size: 14px; font-weight: 500; }
.sf-gm-field input { font: inherit; font-size: 16px; padding: 11px 14px; border: 1.5px solid #D6D6D6; border-radius: 10px; background: #FFF; color: #111; }
.sf-gm-field input:focus { outline: none; border-color: #2261FE; box-shadow: 0 0 0 3px rgba(34,97,254,.18); }
.sf-gm-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.sf-gm-consent { display: flex; gap: 10px; align-items: flex-start; font-size: 13px; line-height: 1.4; color: #444; }
.sf-gm-consent input { width: 18px; height: 18px; margin: 1px 0 0; flex-shrink: 0; accent-color: #111; }
.sf-gm-error { margin: 0; padding: 10px 12px; border-radius: 10px; background: #FFF1E8; color: #8A3A00; font-size: 14px; }
.sf-gm-submit { display: inline-flex; justify-content: center; align-items: center; min-height: 48px; padding: 12px 22px; border: 0; border-radius: 999px; background: #111111; color: #FFFFFF !important; font: inherit; font-size: 16px; font-weight: 700; text-decoration: none; cursor: pointer; }
.sf-gm-submit:hover { background: #000; }
.sf-gm-submit:disabled { opacity: .6; cursor: wait; }
.sf-gm-download { margin: 8px 0 14px; }
.sf-gm-text { margin: 0 0 8px; font-size: 16px; color: #333; }
.sf-gm-note { margin: 0; font-size: 13px; color: #555; }
.sf-gm-note a { color: #2261FE !important; }
.sf-gbar { position: fixed; left: 12px; right: 12px; bottom: 12px; z-index: 99999; display: flex; align-items: stretch; background: #0B0B0B; color: #FFF; border-radius: 14px; box-shadow: 0 10px 30px rgba(0,0,0,.3); overflow: hidden; }
.sf-gbar-open { flex: 1; min-height: 48px; padding: 12px 16px; border: 0; background: transparent; color: #FFF; font: inherit; font-size: 15px; font-weight: 700; text-align: left; cursor: pointer; }
.sf-gbar-open span { color: #FF6600; }
.sf-gbar-x { width: 48px; border: 0; border-left: 1px solid #333; background: transparent; color: #FFF; font-size: 22px; cursor: pointer; }
@media (max-width: 767px) {
	.sf-gm { padding: 0; place-items: end stretch; }
	.sf-gm-dialog { grid-template-columns: 1fr; width: 100%; max-height: 92vh; border-radius: 18px 18px 0 0; }
	.sf-gm-cover { padding: 18px 72px 18px 22px; flex-direction: row; align-items: center; gap: 12px; }
	.sf-gm-tag { display: none; }
	.sf-gm-cover-title { font-size: 20px; }
	.sf-gm-bars { display: none; }
	.sf-gm-body { padding: 20px 22px 24px; }
	.sf-gm-title { font-size: 22px; margin-right: 0; }
	.sf-gm-x { background: #2A2A2A; color: #FFF; }
	.sf-gm-list { display: none; }
}

/* v1.3.1: contact form priority dropdown and "check your inbox" */
.sf-field-wide { grid-column: 1 / -1; }
.sf-field select { font: inherit; font-size: 16px; color: #111111; background: #FFFFFF; border: 1.5px solid #CFCFCF; border-radius: 10px; padding: 12px 40px 12px 14px; min-height: 48px; box-sizing: border-box; width: 100%; appearance: none; -webkit-appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23111' stroke-width='1.8'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 16px center; }
.sf-field select:focus { outline: none; border-color: #2261FE; box-shadow: 0 0 0 3px rgba(34, 97, 254, 0.2); }
.sf-enq [hidden], .sf-form-card [hidden] { display: none !important; }
.sf-thanks p { margin: 0 0 10px; }
.sf-thanks .sf-thanks-small { font-size: 14px; color: #4A4A4A; margin-top: 14px; }
.sf-thanks:focus { outline: none; }

/* v1.3.3: Insights (blog) */
.sf-article-back { margin: 0 0 20px; font-size: 15px; }
.sf-article-back a { color: #4A4A4A !important; text-decoration: none; }
.sf-article-back a:hover { color: #111 !important; }
.sf-article .sf-article-date { color: #767676; font-size: 15px; margin-top: -16px; margin-bottom: 28px; }
.sf-article .sf-article-image { margin: 0 0 36px; }
.sf-article .sf-article-image img { border-radius: 16px; width: 100%; height: auto; }
.sf-article .wp-block-post-content > p:first-child { font-size: 20px; line-height: 1.55; color: #111 !important; }
.sf-post-cta { max-width: 760px; margin: 56px auto 0; padding: 32px 36px; border-radius: 20px; background: #0B0B0B; color: #FAFAFA; }
.sf-insights .sf-post-cta { max-width: 1120px; margin-top: 72px; }
.sf-post-cta p { margin: 0; }
.sf-post-cta-eyebrow { font-size: 13px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: #FF8A3D; }
.sf-post-cta-title { font-size: 26px; font-weight: 700; letter-spacing: -0.02em; line-height: 1.2; margin-top: 10px !important; }
.sf-post-cta-text { color: #D6D6D6; margin-top: 12px !important; }
.sf-post-cta-actions { display: flex; flex-wrap: wrap; gap: 14px 24px; align-items: center; margin-top: 22px !important; }
.sf-post-cta-btn { display: inline-block; background: #FF6600; color: #fff !important; font-weight: 700; padding: 12px 22px; border-radius: 999px; text-decoration: none; }
.sf-post-cta-btn:hover { background: #E65C00; }
.sf-post-cta-link { color: #fff !important; text-decoration: underline; }
.sf-insights-eyebrow { font-size: 14px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: #C24E00; margin: 0 0 12px; }
.sf-insights-title { font-size: clamp(34px, 5vw, 56px); line-height: 1.05; letter-spacing: -0.03em; margin: 0 0 16px; max-width: 820px; }
.sf-insights-lede { font-size: 19px; color: #4A4A4A; max-width: 700px; margin: 0 0 48px; }
.sf-insights-list .wp-block-post-template { gap: 28px; }
.sf-card-post { height: 100%; border: 1px solid #E4E4E4; border-radius: 18px; overflow: hidden; background: #fff; display: flex; flex-direction: column; }
.sf-card-post .wp-block-post-featured-image { margin: 0; }
.sf-card-post .wp-block-post-featured-image img { width: 100%; height: auto; aspect-ratio: 1200 / 630; object-fit: cover; display: block; }
.sf-card-post .wp-block-post-title { font-size: 24px; line-height: 1.2; letter-spacing: -0.02em; margin: 22px 24px 10px; }
.sf-card-post .wp-block-post-title a { color: #111 !important; text-decoration: none; }
.sf-card-post .wp-block-post-excerpt { margin: 0 24px; color: #4A4A4A; font-size: 16px; }
.sf-card-post .wp-block-post-excerpt__more-text { display: none; }
.sf-card-post .wp-block-read-more { margin: auto 24px 24px; padding-top: 14px; color: #2261FE !important; font-weight: 500; }
@media (max-width: 781px) { .sf-insights-list .wp-block-post-template.is-layout-grid { grid-template-columns: 1fr !important; } }
.sf-insights-head { max-width: 1120px; }
.sf-insights-head .sf-insights-title, .sf-insights-head .sf-insights-lede { margin-left: 0; margin-right: 0; }
