/*
Theme Name: Singleton Law Firm Divi Child
Theme URI: https://atlantainjurycounsel.com
Description: Custom Divi child theme for Singleton Law Firm.
Author: YAH Digital Marketing
Author URI: https://yahdm.com
Template: Divi
Version: 1.0.0
Text Domain: singleton-law
*/


/* ============================================================
   Singleton Law Firm — Landing Page styles
   Tudo escopado em .slf-lp para não conflitar com o Divi.
   Paleta: navy + verde + creme/branco | Fontes: Cormorant Garamond + Manrope
   ============================================================ */

.slf-lp {
	--navy:#0B2545;
	--navy-2:#13315C;
	--navy-3:#1B3A5B;
	--green:#2C7A5B;
	--green-2:#21674B;
	--green-soft:#E7F2EC;
	--cream:#FAF6EF;
	--cream-2:#F3ECDE;
	--paper:#FFFFFF;
	--gray:#F4F6F7;
	--ink:#10202F;
	--ink-soft:#33475B;
	--muted:#64768A;
	--line:#E4E9ED;
	--gold:#C8A24B;
	--shadow:0 18px 44px -20px rgba(11,37,69,.30);
	--shadow-sm:0 6px 18px -10px rgba(11,37,69,.25);
	--serif:'Cormorant Garamond', Georgia, 'Times New Roman', serif;
	--sans:'Manrope', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
	--maxw:1180px;
	--radius:16px;

	font-family:var(--sans);
	color:var(--ink);
	background:var(--cream);
	line-height:1.6;
	-webkit-font-smoothing:antialiased;
	text-rendering:optimizeLegibility;
}
.slf-lp *, .slf-lp *::before, .slf-lp *::after { box-sizing:border-box; }
.slf-lp img { max-width:100%; display:block; }
.slf-lp p { margin:0 0 1rem; color:var(--ink-soft); }
.slf-lp a { color:inherit; text-decoration:none; }
.slf-lp h1,.slf-lp h2,.slf-lp h3,.slf-lp h4 {
	font-family:var(--serif); color:var(--navy); line-height:1.08;
	margin:0 0 .5em; font-weight:600; letter-spacing:.2px;
}

.slf-wrap { width:100%; max-width:var(--maxw); margin:0 auto; padding:0 24px; }
.slf-section { padding:clamp(56px,7vw,104px) 0; }
.slf-eyebrow {
	font-family:var(--sans); font-weight:700; font-size:.78rem; letter-spacing:.18em;
	text-transform:uppercase; color:var(--green); margin:0 0 16px; display:inline-block;
}
.slf-eyebrow.on-dark { color:#8FD3B4; }
.slf-lead { font-size:1.12rem; color:var(--ink-soft); max-width:62ch; }
.slf-center { text-align:center; }
.slf-center .slf-lead { margin-left:auto; margin-right:auto; }
.slf-h2 { font-size:clamp(2rem,3.6vw,3.1rem); }
.slf-h2.on-dark { color:#fff; }

/* ---------- Buttons ---------- */
.slf-btn {
	display:inline-flex; align-items:center; gap:9px; justify-content:center;
	font-family:var(--sans); font-weight:700; font-size:1rem; letter-spacing:.01em;
	padding:15px 28px; border-radius:999px; cursor:pointer; border:2px solid transparent;
	transition:transform .18s ease, box-shadow .18s ease, background .18s ease, color .18s ease;
	line-height:1;
}
.slf-btn svg { width:18px; height:18px; }
.slf-btn--primary { background:var(--green); color:#fff; box-shadow:0 12px 26px -12px rgba(44,122,91,.7); }
.slf-btn--primary:hover { background:var(--green-2); transform:translateY(-2px); }
.slf-btn--ghost { background:transparent; color:var(--navy); border-color:rgba(11,37,69,.22); }
.slf-btn--ghost:hover { border-color:var(--navy); transform:translateY(-2px); }
.slf-btn--ghost.on-dark { color:#fff; border-color:rgba(255,255,255,.45); }
.slf-btn--ghost.on-dark:hover { border-color:#fff; background:rgba(255,255,255,.08); }
.slf-btn--light { background:#fff; color:var(--navy); }
.slf-btn--light:hover { transform:translateY(-2px); box-shadow:var(--shadow-sm); }

/* ---------- Header / Nav ---------- */
.slf-header {
	position:sticky; top:0; z-index:50; background:rgba(250,246,239,.88);
	backdrop-filter:saturate(140%) blur(10px); border-bottom:1px solid var(--line);
}
.slf-nav { display:flex; align-items:center; gap:28px; height:74px; }
.slf-logo { font-family:var(--serif); font-weight:700; font-size:1.5rem; color:var(--navy); display:flex; flex-direction:column; line-height:1; }
.slf-logo span { font-family:var(--sans); font-weight:600; font-size:.62rem; letter-spacing:.22em; text-transform:uppercase; color:var(--green); margin-top:4px; }
.slf-nav-links { display:flex; gap:26px; margin-left:auto; }
.slf-nav-links a { font-weight:600; font-size:.94rem; color:var(--ink-soft); transition:color .15s; }
.slf-nav-links a:hover { color:var(--navy); }
.slf-nav-cta { display:flex; align-items:center; gap:14px; }
.slf-nav-phone { font-weight:700; color:var(--navy); white-space:nowrap; display:flex; align-items:center; gap:7px; }
.slf-nav-phone svg { width:16px; height:16px; color:var(--green); }
.slf-burger { display:none; background:none; border:0; cursor:pointer; padding:8px; color:var(--navy); }
.slf-burger svg { width:26px; height:26px; }

/* ---------- Hero ---------- */
.slf-hero { background:linear-gradient(160deg,#0B2545 0%,#13315C 60%,#1B3A5B 100%); color:#fff; position:relative; overflow:hidden; }
.slf-hero::after { content:""; position:absolute; inset:0; background:radial-gradient(900px 420px at 85% -10%, rgba(44,122,91,.30), transparent 60%); pointer-events:none; }
.slf-hero-grid { display:grid; grid-template-columns:1.05fr .95fr; gap:54px; align-items:center; padding:clamp(48px,6vw,86px) 0; position:relative; z-index:1; }
.slf-hero h1 { color:#fff; font-size:clamp(2.7rem,5.4vw,4.6rem); font-weight:600; margin-bottom:18px; }
.slf-hero h1 em { font-style:italic; color:#9ADfBE; }
.slf-hero p { color:rgba(255,255,255,.82); font-size:1.16rem; max-width:50ch; }
.slf-hero-badges { display:flex; flex-wrap:wrap; gap:10px; margin:26px 0 30px; }
.slf-chip { display:inline-flex; align-items:center; gap:8px; font-size:.85rem; font-weight:600; color:#EaF3ee; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.16); padding:9px 15px; border-radius:999px; }
.slf-chip svg { width:15px; height:15px; color:#9ADfBE; }
.slf-hero-actions { display:flex; flex-wrap:wrap; gap:14px; align-items:center; }
.slf-hero-note { display:flex; align-items:center; gap:8px; margin-top:22px; font-size:.9rem; color:rgba(255,255,255,.7); }
.slf-stars { color:var(--gold); letter-spacing:2px; }

/* Hero form card */
.slf-form-card { background:#fff; border-radius:20px; padding:30px 28px; box-shadow:0 30px 60px -24px rgba(0,0,0,.5); }
.slf-form-card h3 { font-size:1.7rem; margin-bottom:4px; }
.slf-form-card .slf-form-sub { font-size:.92rem; color:var(--muted); margin-bottom:20px; }
.slf-field { margin-bottom:14px; }
.slf-field label { display:block; font-size:.78rem; font-weight:700; letter-spacing:.04em; text-transform:uppercase; color:var(--ink-soft); margin-bottom:6px; }
.slf-field input, .slf-field textarea {
	width:100%; font-family:var(--sans); font-size:1rem; color:var(--ink);
	padding:13px 15px; border:1.5px solid var(--line); border-radius:11px; background:var(--gray);
	transition:border-color .15s, background .15s, box-shadow .15s;
}
.slf-field textarea { resize:vertical; min-height:92px; }
.slf-field input:focus, .slf-field textarea:focus { outline:none; border-color:var(--green); background:#fff; box-shadow:0 0 0 4px rgba(44,122,91,.12); }
.slf-form-card .slf-btn { width:100%; margin-top:6px; }
.slf-form-foot { font-size:.78rem; color:var(--muted); text-align:center; margin:14px 0 0; }

/* ---------- Numbers band ---------- */
.slf-numbers { background:var(--cream-2); border-top:1px solid rgba(11,37,69,.06); border-bottom:1px solid rgba(11,37,69,.06); }
.slf-numbers-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:24px; padding:46px 0; }
.slf-stat { text-align:center; padding:0 10px; position:relative; }
.slf-stat:not(:last-child)::after { content:""; position:absolute; right:0; top:12%; height:76%; width:1px; background:rgba(11,37,69,.12); }
.slf-stat .num { font-family:var(--serif); font-weight:700; font-size:clamp(2.6rem,4.4vw,3.5rem); color:var(--navy); line-height:1; }
.slf-stat .lbl { font-size:.9rem; font-weight:600; color:var(--ink-soft); margin-top:8px; }

/* ---------- Practice areas ---------- */
.slf-pa-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; margin-top:42px; }
.slf-pa { background:#fff; border:1px solid var(--line); border-radius:14px; padding:24px 20px; transition:transform .18s, box-shadow .18s, border-color .18s; }
.slf-pa:hover { transform:translateY(-4px); box-shadow:var(--shadow); border-color:transparent; }
.slf-pa-ic { width:46px; height:46px; border-radius:12px; background:var(--green-soft); display:flex; align-items:center; justify-content:center; margin-bottom:16px; }
.slf-pa-ic svg { width:24px; height:24px; color:var(--green-2); }
.slf-pa h4 { font-family:var(--sans); font-size:1.05rem; font-weight:700; color:var(--navy); margin:0; line-height:1.25; }

/* ---------- Why boutique ---------- */
.slf-why { background:var(--navy); color:#fff; }
.slf-why .slf-h2 { color:#fff; }
.slf-why-grid { display:grid; grid-template-columns:1fr 1fr; gap:54px; align-items:center; }
.slf-why-list { display:grid; gap:18px; margin-top:30px; }
.slf-why-item { display:flex; gap:16px; align-items:flex-start; }
.slf-why-item .ic { flex:0 0 auto; width:42px; height:42px; border-radius:12px; background:rgba(154,223,190,.14); display:flex; align-items:center; justify-content:center; }
.slf-why-item .ic svg { width:21px; height:21px; color:#9ADfBE; }
.slf-why-item h4 { font-family:var(--sans); font-size:1.08rem; color:#fff; margin:2px 0 4px; }
.slf-why-item p { color:rgba(255,255,255,.74); margin:0; font-size:.96rem; }
.slf-why-quote { background:linear-gradient(155deg,#13315C,#1B3A5B); border:1px solid rgba(255,255,255,.12); border-radius:20px; padding:38px 34px; }
.slf-why-quote .q { font-family:var(--serif); font-style:italic; font-size:1.7rem; line-height:1.35; color:#fff; }
.slf-why-quote .by { margin-top:20px; font-weight:700; color:#9ADfBE; }
.slf-why-quote .by small { display:block; font-weight:500; color:rgba(255,255,255,.6); font-size:.85rem; margin-top:2px; }

/* ---------- Results ---------- */
.slf-results { background:var(--cream); }
.slf-res-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:42px; }
.slf-res { background:#fff; border:1px solid var(--line); border-top:4px solid var(--green); border-radius:14px; padding:30px 26px; box-shadow:var(--shadow-sm); }
.slf-res .amt { font-family:var(--serif); font-weight:700; font-size:clamp(2.2rem,3.4vw,2.9rem); color:var(--green-2); line-height:1; }
.slf-res .desc { font-weight:600; color:var(--navy); margin-top:10px; font-size:1.02rem; }
.slf-res.featured { background:linear-gradient(160deg,#0B2545,#13315C); border-color:transparent; }
.slf-res.featured .amt { color:#9ADfBE; }
.slf-res.featured .desc { color:#fff; }
.slf-res.featured .tag { display:inline-block; font-size:.72rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--navy); background:var(--gold); padding:5px 11px; border-radius:999px; margin-bottom:14px; }
.slf-disclaimer { font-size:.82rem; color:var(--muted); margin-top:24px; text-align:center; font-style:italic; }

/* ---------- Videos ---------- */
.slf-vid-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:42px; }
.slf-vid { position:relative; border-radius:16px; overflow:hidden; aspect-ratio:16/10; background:linear-gradient(160deg,#13315C,#0B2545); box-shadow:var(--shadow); display:flex; align-items:flex-end; }
.slf-vid::before { content:""; position:absolute; inset:0; background:radial-gradient(circle at 50% 42%, rgba(44,122,91,.32), transparent 60%); }
.slf-vid .play { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:64px; height:64px; border-radius:50%; background:rgba(255,255,255,.95); display:flex; align-items:center; justify-content:center; box-shadow:0 10px 30px rgba(0,0,0,.4); transition:transform .18s; }
.slf-vid:hover .play { transform:translate(-50%,-50%) scale(1.08); }
.slf-vid .play svg { width:24px; height:24px; color:var(--green-2); margin-left:3px; }
.slf-vid .cap { position:relative; z-index:1; padding:20px; color:#fff; }
.slf-vid .cap strong { display:block; font-family:var(--serif); font-size:1.3rem; }
.slf-vid .cap span { font-size:.85rem; color:rgba(255,255,255,.75); }

/* ---------- Attorney (Don) ---------- */
.slf-don { background:#fff; }
.slf-don-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:54px; align-items:center; }
.slf-don-photo { position:relative; border-radius:20px; overflow:hidden; aspect-ratio:4/5; background:linear-gradient(160deg,#13315C,#0B2545); box-shadow:var(--shadow); display:flex; align-items:center; justify-content:center; }
.slf-don-photo img { width:100%; height:100%; object-fit:cover; }
.slf-don-photo .ph { color:rgba(255,255,255,.6); font-family:var(--serif); font-size:1.1rem; text-align:center; padding:24px; }
.slf-don-badge { position:absolute; left:18px; bottom:18px; background:#fff; border-radius:12px; padding:12px 16px; box-shadow:var(--shadow-sm); }
.slf-don-badge strong { font-family:var(--serif); color:var(--navy); font-size:1.4rem; display:block; line-height:1; }
.slf-don-badge span { font-size:.78rem; color:var(--muted); font-weight:600; }
.slf-don h2 { font-size:clamp(2rem,3.4vw,2.9rem); }
.slf-creds { display:grid; gap:12px; margin:24px 0 28px; }
.slf-cred { display:flex; gap:13px; align-items:flex-start; }
.slf-cred svg { flex:0 0 auto; width:22px; height:22px; color:var(--green); margin-top:2px; }
.slf-cred b { color:var(--navy); }

/* ---------- Process ---------- */
.slf-proc { background:var(--gray); }
.slf-proc-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; margin-top:42px; counter-reset:step; }
.slf-step { background:#fff; border:1px solid var(--line); border-radius:14px; padding:30px 24px; position:relative; }
.slf-step .n { font-family:var(--serif); font-weight:700; font-size:2.4rem; color:var(--green-soft); line-height:1; }
.slf-step .ic { width:44px; height:44px; border-radius:12px; background:var(--navy); display:flex; align-items:center; justify-content:center; margin:-34px 0 16px auto; }
.slf-step .ic svg { width:22px; height:22px; color:#9ADfBE; }
.slf-step h4 { font-family:var(--sans); font-size:1.1rem; color:var(--navy); margin:0 0 8px; }
.slf-step p { font-size:.93rem; margin:0; }

/* ---------- Reviews ---------- */
.slf-reviews { background:var(--cream); }
.slf-rev-head { display:flex; align-items:center; justify-content:center; gap:14px; flex-wrap:wrap; margin-top:14px; }
.slf-rev-head .big { font-family:var(--serif); font-weight:700; font-size:2.4rem; color:var(--navy); }
.slf-rev-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:42px; }
.slf-rev { background:#fff; border:1px solid var(--line); border-radius:14px; padding:28px 26px; box-shadow:var(--shadow-sm); display:flex; flex-direction:column; }
.slf-rev .slf-stars { font-size:1.05rem; margin-bottom:12px; }
.slf-rev p { font-style:italic; color:var(--ink-soft); }
.slf-rev .who { margin-top:auto; padding-top:16px; display:flex; align-items:center; gap:12px; }
.slf-rev .who .av { width:40px; height:40px; border-radius:50%; background:var(--navy); color:#fff; font-family:var(--serif); font-weight:700; display:flex; align-items:center; justify-content:center; font-size:1.1rem; }
.slf-rev .who b { color:var(--navy); display:block; font-size:.95rem; }
.slf-rev .who span { font-size:.8rem; color:var(--muted); }

/* ---------- Areas served ---------- */
.slf-areas { background:var(--navy); color:#fff; }
.slf-areas .slf-h2 { color:#fff; }
.slf-areas-grid { display:grid; grid-template-columns:1fr 1fr; gap:50px; align-items:center; }
.slf-area-chips { display:flex; flex-wrap:wrap; gap:12px; margin-top:26px; }
.slf-area-chips span { background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.16); padding:11px 18px; border-radius:999px; font-weight:600; font-size:.95rem; }
.slf-offices { display:grid; gap:16px; }
.slf-office { background:linear-gradient(155deg,#13315C,#1B3A5B); border:1px solid rgba(255,255,255,.12); border-radius:16px; padding:24px 26px; }
.slf-office h4 { font-family:var(--sans); color:#fff; font-size:1.05rem; margin:0 0 8px; display:flex; align-items:center; gap:9px; }
.slf-office h4 svg { width:18px; height:18px; color:#9ADfBE; }
.slf-office p { color:rgba(255,255,255,.78); margin:0; font-size:.95rem; }
.slf-office a { color:#9ADfBE; font-weight:700; }

/* ---------- FAQ ---------- */
.slf-faq { background:#fff; }
.slf-faq-list { max-width:820px; margin:42px auto 0; }
.slf-faq-item { border:1px solid var(--line); border-radius:14px; margin-bottom:14px; overflow:hidden; background:var(--cream); }
.slf-faq-item summary { list-style:none; cursor:pointer; padding:22px 26px; font-family:var(--sans); font-weight:700; font-size:1.08rem; color:var(--navy); display:flex; justify-content:space-between; align-items:center; gap:16px; }
.slf-faq-item summary::-webkit-details-marker { display:none; }
.slf-faq-item summary .pm { flex:0 0 auto; width:26px; height:26px; border-radius:50%; background:var(--green-soft); color:var(--green-2); display:flex; align-items:center; justify-content:center; font-size:1.3rem; transition:transform .2s; }
.slf-faq-item[open] summary .pm { transform:rotate(45deg); }
.slf-faq-item .ans { padding:0 26px 24px; }
.slf-faq-item .ans p { margin:0; color:var(--ink-soft); }

/* ---------- Final CTA ---------- */
.slf-cta { background:linear-gradient(160deg,#0B2545,#13315C); color:#fff; text-align:center; position:relative; overflow:hidden; }
.slf-cta::after { content:""; position:absolute; inset:0; background:radial-gradient(700px 360px at 50% 120%, rgba(44,122,91,.34), transparent 60%); }
.slf-cta .inner { position:relative; z-index:1; max-width:760px; margin:0 auto; }
.slf-cta h2 { color:#fff; font-size:clamp(2.2rem,4vw,3.4rem); }
.slf-cta p { color:rgba(255,255,255,.82); font-size:1.15rem; }
.slf-cta-actions { display:flex; gap:14px; justify-content:center; flex-wrap:wrap; margin-top:30px; }

/* ---------- Footer ---------- */
.slf-footer { background:#08203B; color:rgba(255,255,255,.7); padding:56px 0 28px; }
.slf-foot-grid { display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:40px; padding-bottom:36px; border-bottom:1px solid rgba(255,255,255,.12); }
.slf-foot-logo { font-family:var(--serif); font-size:1.6rem; color:#fff; }
.slf-footer h5 { font-family:var(--sans); color:#fff; font-size:.85rem; letter-spacing:.1em; text-transform:uppercase; margin:0 0 16px; }
.slf-footer ul { list-style:none; padding:0; margin:0; display:grid; gap:10px; }
.slf-footer ul a:hover { color:#9ADfBE; }
.slf-foot-bottom { padding-top:24px; font-size:.82rem; color:rgba(255,255,255,.5); display:flex; justify-content:space-between; gap:18px; flex-wrap:wrap; }
.slf-foot-bottom .disc { max-width:680px; }

/* ============================================================
   Responsivo
   ============================================================ */
@media (max-width:980px) {
	.slf-hero-grid { grid-template-columns:1fr; gap:40px; }
	.slf-why-grid, .slf-don-grid, .slf-areas-grid { grid-template-columns:1fr; gap:36px; }
	.slf-pa-grid, .slf-proc-grid { grid-template-columns:repeat(2,1fr); }
	.slf-res-grid, .slf-vid-grid, .slf-rev-grid { grid-template-columns:1fr 1fr; }
	.slf-numbers-grid { grid-template-columns:repeat(2,1fr); gap:34px 16px; }
	.slf-stat:nth-child(2)::after { display:none; }
	.slf-foot-grid { grid-template-columns:1fr 1fr; }
	.slf-nav-links { display:none; }
	.slf-burger { display:inline-flex; }
	.slf-nav-cta .slf-btn { display:none; }
}
@media (max-width:560px) {
	.slf-wrap { padding:0 18px; }
	.slf-pa-grid, .slf-proc-grid, .slf-res-grid, .slf-vid-grid, .slf-rev-grid, .slf-numbers-grid, .slf-foot-grid { grid-template-columns:1fr; }
	.slf-stat:not(:last-child)::after { display:none; }
	.slf-stat { border-bottom:1px solid rgba(11,37,69,.1); padding-bottom:22px; }
	.slf-numbers-grid { gap:22px; }
	.slf-hero-actions .slf-btn, .slf-cta-actions .slf-btn { width:100%; }
	.slf-nav-phone span { display:none; }
}

/* Mobile menu (toggle simples via :target / checkbox) */
.slf-mobile-menu { display:none; }
.slf-mobile-toggle:checked ~ .slf-mobile-menu { display:block; background:var(--cream); border-bottom:1px solid var(--line); padding:14px 24px 22px; }
.slf-mobile-menu a { display:block; padding:11px 0; font-weight:600; color:var(--ink-soft); border-bottom:1px solid var(--line); }
.slf-mobile-menu .slf-btn { width:100%; margin-top:14px; }
.slf-mobile-toggle { display:none; }


/* ============================================================
   REFINEMENT — preserves the original HTML structure
   ============================================================ */

.slf-lp {
  --navy:#102943;
  --navy-2:#173A5C;
  --navy-3:#1F4E78;
  --green:#75B843;
  --green-2:#5B9631;
  --green-soft:#EAF4E3;
  --cream:#F7F3EA;
  --cream-2:#EFEAE0;
  --paper:#FFFFFF;
  --gray:#F3F6F7;
  --ink:#172534;
  --ink-soft:#33475B;
  --muted:#687685;
  --line:#DFE5E9;
  --gold:#D6A72C;
  --shadow:0 24px 64px -24px rgba(16,41,67,.30);
  --shadow-sm:0 10px 28px -16px rgba(16,41,67,.25);
}

.slf-header {
  background:rgba(255,255,255,.94);
  box-shadow:0 1px 0 rgba(16,41,67,.08);
}

.slf-logo {
  width:222px;
  display:block;
}

.slf-logo-img {
  width:100%;
  max-height:54px;
  object-fit:contain;
  object-position:left center;
}

.slf-hero {
  background:
    radial-gradient(900px 520px at 88% 10%,rgba(117,184,67,.18),transparent 65%),
    linear-gradient(150deg,#102943 0%,#173A5C 62%,#1F4E78 100%);
}

.slf-hero-grid {
  min-height:690px;
}

.slf-hero-copy {
  position:relative;
  z-index:3;
}

.slf-hero h1 {
  font-size:clamp(3rem,6vw,5.2rem);
  letter-spacing:-.03em;
}

.slf-hero h1 em {
  color:#B6DB98;
}

.slf-eyebrow.on-dark,
.slf-chip svg,
.slf-why-quote-card .by,
.slf-office a {
  color:#B6DB98;
}

.slf-chip {
  background:rgba(255,255,255,.07);
  border-color:rgba(255,255,255,.18);
}

.slf-hero-visual {
  position:relative;
  min-height:590px;
  transform:translateZ(0);
}

.slf-hero-photo {
  position:absolute;
  inset:0 36px 26px 34px;
  width:calc(100% - 70px);
  height:calc(100% - 26px);
  object-fit:cover;
  object-position:center;
  border-radius:18px;
  box-shadow:0 35px 70px -25px rgba(0,0,0,.55);
}

.slf-hero-visual::before {
  content:"";
  position:absolute;
  left:0;
  top:30px;
  width:76%;
  height:82%;
  border:1px solid rgba(182,219,152,.55);
  border-radius:18px;
}

.slf-hero-result,
.slf-hero-review {
  position:absolute;
  z-index:3;
  box-shadow:var(--shadow);
}

.slf-hero-result {
  right:0;
  top:32px;
  width:225px;
  padding:22px;
  background:#fff;
  color:var(--navy);
  border-radius:14px;
}

.slf-hero-result .slf-kicker {
  display:block;
  color:var(--green-2);
  font-size:.69rem;
  font-weight:800;
  letter-spacing:.11em;
  text-transform:uppercase;
}

.slf-hero-result strong {
  display:block;
  margin-top:8px;
  color:var(--navy);
  font-family:var(--serif);
  font-size:2.6rem;
  line-height:1;
}

.slf-hero-result small {
  display:block;
  margin-top:7px;
  color:var(--muted);
  line-height:1.4;
}

.slf-hero-review {
  left:0;
  bottom:0;
  width:245px;
  padding:20px;
  background:var(--cream);
  border-radius:14px;
}

.slf-hero-review strong {
  display:block;
  margin-top:7px;
  color:var(--navy);
}

.slf-hero-review small {
  display:block;
  margin-top:5px;
  color:var(--muted);
  line-height:1.45;
}

.slf-numbers {
  background:#fff;
}

.slf-pa {
  min-height:160px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}

.slf-pa-ic {
  background:rgba(117,184,67,.14);
}

.slf-pa-ic svg {
  color:var(--green-2);
}

.slf-why {
  position:relative;
  overflow:hidden;
  background:var(--navy);
}

.slf-why::after {
  content:"";
  position:absolute;
  right:-160px;
  top:-180px;
  width:500px;
  height:500px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:50%;
}

.slf-why-media {
  position:relative;
  min-height:610px;
}

.slf-why-photo {
  position:absolute;
  inset:0 45px 58px 0;
  width:calc(100% - 45px);
  height:calc(100% - 58px);
  object-fit:cover;
  border-radius:18px;
  box-shadow:0 35px 70px -30px rgba(0,0,0,.65);
}

.slf-why-quote-card {
  position:absolute;
  right:0;
  bottom:0;
  width:min(420px,88%);
  padding:30px;
  background:#fff;
  border-radius:16px;
  box-shadow:var(--shadow);
}

.slf-why-quote-card .q {
  color:var(--navy);
  font-family:var(--serif);
  font-style:italic;
  font-size:1.55rem;
  line-height:1.35;
}

.slf-why-quote-card .by {
  margin-top:17px;
  font-weight:800;
  color:var(--green-2);
}

.slf-why-quote-card .by small {
  display:block;
  margin-top:3px;
  color:var(--muted);
  font-weight:500;
}

.slf-res.featured {
  background:linear-gradient(150deg,#102943,#1F4E78);
}

.slf-res.featured .amt {
  color:#B6DB98;
}

.slf-vid {
  background:#102943;
}

.slf-vid-img {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .55s var(--ease);
}

.slf-vid::after {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 25%,rgba(7,26,49,.88) 100%);
}

.slf-vid:hover .slf-vid-img {
  transform:scale(1.05);
}

.slf-vid .play,
.slf-vid .cap {
  z-index:3;
}

.slf-don-photo {
  background:#102943;
}

.slf-don-photo img {
  object-position:center top;
}

.slf-proc {
  position:relative;
  background:
    linear-gradient(rgba(16,41,67,.90),rgba(16,41,67,.90)),
    url('assets/images/process.webp') center/cover;
}

.slf-step {
  background:rgba(255,255,255,.96);
  backdrop-filter:blur(8px);
}

.slf-areas {
  position:relative;
  overflow:hidden;
  background:
    linear-gradient(90deg,rgba(16,41,67,.97),rgba(16,41,67,.85)),
    url('assets/images/office-sign.webp') center/cover;
}

.slf-cta {
  background:
    linear-gradient(rgba(16,41,67,.88),rgba(16,41,67,.88)),
    url('assets/images/cta.webp') center/cover;
}

.slf-foot-logo {
  width:220px;
}

.slf-foot-logo-img {
  width:100%;
  filter:brightness(0) invert(1);
}







.slf-lp.slf-loaded 








@media (max-width:980px) {
  .slf-hero-visual {
    min-height:560px;
  }

  .slf-why-media {
    min-height:560px;
  }
}

@media (max-width:560px) {
  .slf-logo {
    width:175px;
  }

  .slf-hero-visual {
    min-height:470px;
  }

  .slf-hero-photo {
    inset:0 14px 32px 24px;
    width:calc(100% - 38px);
    height:calc(100% - 32px);
  }

  .slf-hero-result {
    width:185px;
    padding:17px;
  }

  .slf-hero-review {
    width:205px;
    padding:16px;
  }

  .slf-why-media {
    min-height:480px;
  }

  .slf-why-photo {
    inset:0 18px 70px 0;
    width:calc(100% - 18px);
    height:calc(100% - 70px);
  }

  .slf-why-quote-card {
    width:92%;
    padding:22px;
  }
}

/* ============================================================
   V3 — Blue-led identity, complete authority content and motion
   ============================================================ */

.slf-lp {
  --navy:#102943;
  --navy-2:#173A5C;
  --navy-3:#2E75B6;
  --blue:#2E75B6;
  --blue-2:#447DB3;
  --blue-soft:#EAF3FB;
  --green:#5C942F;
  --green-2:#4B7B27;
  --green-soft:#EEF5E8;
  --cream:#F7F3EA;
  --cream-2:#EFF4F8;
  --paper:#FFFFFF;
  --gray:#F4F7FA;
  --ink:#172534;
  --ink-soft:#33475B;
  --muted:#687685;
  --line:#DCE5EC;
}

.slf-eyebrow {
  color:var(--blue);
}

.slf-eyebrow.on-dark {
  color:#8FC5F1;
}

.slf-btn--primary {
  background:var(--green);
}

.slf-btn--primary:hover {
  background:var(--green-2);
}

.slf-hero {
  background:
    radial-gradient(900px 520px at 88% 10%,rgba(46,117,182,.34),transparent 65%),
    linear-gradient(150deg,#102943 0%,#173A5C 58%,#2E75B6 100%);
}

.slf-hero h1 em {
  color:#A9D4F6;
}

.slf-chip svg,
.slf-office a,
.slf-why-quote-card .by {
  color:#8FC5F1;
}

.slf-hero-result .slf-kicker {
  color:var(--blue);
}

.slf-hero-visual::before {
  border-color:rgba(143,197,241,.70);
}

.slf-hero-review {
  border-top:4px solid var(--blue);
}

.slf-numbers {
  background:#F5F9FC;
}

.slf-stat .num {
  color:var(--blue);
}

/* Authority and badges */
.slf-authority {
  background:#F4F7FB;
}

.slf-authority .slf-lead {
  max-width:1050px;
}

.slf-badges-grid {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
  margin-top:45px;
}

.slf-badge {
  min-height:165px;
  padding:24px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#fff;
  border:1px solid var(--line);
  border-radius:14px;
  box-shadow:0 12px 36px -24px rgba(16,41,67,.36);
  transition:transform .28s var(--ease),box-shadow .28s var(--ease),border-color .28s var(--ease);
}

.slf-badge:hover {
  transform:translateY(-7px);
  border-color:rgba(46,117,182,.38);
  box-shadow:0 24px 50px -26px rgba(16,41,67,.42);
}

.slf-badge img {
  max-width:100%;
  max-height:105px;
  width:auto;
  object-fit:contain;
  filter:saturate(.96);
  transition:transform .35s var(--ease);
}

.slf-badge:hover img {
  transform:scale(1.045);
}

.slf-authority-actions {
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:14px;
  margin-top:38px;
}

/* Service cards rebuilt with original icons */
.slf-pa-grid {
  grid-template-columns:repeat(4,1fr);
  gap:15px;
}

.slf-pa {
  min-height:205px;
  padding:22px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  border-radius:10px;
  background:#fff;
  border:1px solid #D6E3ED;
  box-shadow:none;
  position:relative;
  overflow:hidden;
}

.slf-pa::before {
  content:"";
  position:absolute;
  inset:auto -55px -70px auto;
  width:170px;
  height:170px;
  border-radius:50%;
  background:rgba(46,117,182,.07);
  transition:transform .4s var(--ease),background .4s var(--ease);
}

.slf-pa:hover {
  transform:translateY(-8px);
  background:var(--blue);
  border-color:var(--blue);
  box-shadow:0 24px 55px -30px rgba(16,41,67,.48);
}

.slf-pa:hover::before {
  transform:scale(1.3);
  background:rgba(255,255,255,.10);
}

.slf-pa-top {
  position:relative;
  z-index:2;
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
}

.slf-pa-ic {
  width:58px;
  height:58px;
  margin:0;
  border-radius:12px;
  background:var(--blue-soft);
  transition:background .3s var(--ease),transform .3s var(--ease);
}

.slf-pa-ic img {
  width:30px;
  height:30px;
  object-fit:contain;
}

.slf-pa:hover .slf-pa-ic {
  background:#fff;
  transform:rotate(-4deg) scale(1.04);
}

.slf-pa-num {
  color:#AAB9C7;
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.08em;
}

.slf-pa h4 {
  position:relative;
  z-index:2;
  font-family:var(--serif);
  font-size:1.48rem;
  font-weight:600;
  color:var(--navy);
  margin:35px 0 0;
  transition:color .3s var(--ease);
}

.slf-pa-arrow {
  position:relative;
  z-index:2;
  margin-top:17px;
  color:var(--blue);
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  transition:color .3s var(--ease),transform .3s var(--ease);
}

.slf-pa:hover h4,
.slf-pa:hover .slf-pa-num,
.slf-pa:hover .slf-pa-arrow {
  color:#fff;
}

.slf-pa:hover .slf-pa-arrow {
  transform:translateX(5px);
}

/* Compensation section */
.slf-compensation {
  background:#fff;
}

.slf-comp-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:64px;
  align-items:center;
}

.slf-comp-image {
  position:relative;
  min-height:580px;
}

.slf-comp-image::before {
  content:"";
  position:absolute;
  left:28px;
  top:28px;
  width:100%;
  height:100%;
  border:1px solid rgba(46,117,182,.38);
}

.slf-comp-image img {
  position:relative;
  z-index:2;
  width:100%;
  height:580px;
  object-fit:cover;
  box-shadow:var(--shadow);
}

.slf-comp-copy .slf-h2 {
  font-size:clamp(2.35rem,4.3vw,4rem);
}

.slf-comp-copy p {
  font-size:1.02rem;
  line-height:1.78;
}

/* Blue-led difference section */
.slf-why {
  background:linear-gradient(145deg,#102943,#173A5C 68%,#2E75B6);
}

.slf-why-item .ic {
  background:rgba(143,197,241,.16);
}

.slf-why-item .ic svg {
  color:#8FC5F1;
}

.slf-res {
  border-top-color:var(--blue);
}

.slf-res .amt {
  color:var(--blue);
}

.slf-res.featured {
  background:linear-gradient(150deg,#102943,#2E75B6);
}

.slf-res.featured .amt {
  color:#B9DEFA;
}

.slf-step .ic {
  background:var(--blue);
}

.slf-step .ic svg {
  color:#fff;
}

/* Featured Mena review */
.slf-feature-review {
  padding:58px 0;
  background:var(--blue);
  color:#fff;
}

.slf-feature-review-inner {
  display:grid;
  grid-template-columns:.55fr 1.45fr auto;
  gap:35px;
  align-items:center;
}

.slf-feature-score strong {
  display:block;
  margin-top:8px;
  font-size:.82rem;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.slf-feature-review blockquote {
  margin:0;
  color:#fff;
  font-family:var(--serif);
  font-size:clamp(1.6rem,2.7vw,2.5rem);
  line-height:1.25;
}

.slf-feature-review cite {
  color:rgba(255,255,255,.76);
  font-style:normal;
  font-size:.85rem;
}

/* Reviews blue instead of green */
.slf-rev {
  border-top:3px solid var(--blue);
}

.slf-rev .who .av {
  background:var(--blue);
}


.slf-don-message {
  padding:95px 0;
  background:linear-gradient(145deg,#102943,#2E75B6);
  color:#fff;
  text-align:center;
}

.slf-don-message-inner {
  max-width:1000px;
}

.slf-don-message blockquote {
  margin:22px auto 0;
  color:#fff;
  font-family:var(--serif);
  font-size:clamp(2rem,4vw,4rem);
  line-height:1.08;
}

.slf-don-message cite {
  display:block;
  margin-top:22px;
  color:#C9E6FA;
  font-style:normal;
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}

/* Areas and CTA are blue-led */
.slf-areas {
  background:
    linear-gradient(90deg,rgba(16,41,67,.98),rgba(46,117,182,.86)),
    var(--navy);
}

.slf-cta {
  background:
    linear-gradient(rgba(16,41,67,.88),rgba(46,117,182,.80)),
    var(--navy);
}

/* Motion */


.slf-pa,
.slf-badge,



  50% { transform:translateY(-8px); }
}




  70% { box-shadow:0 0 0 18px rgba(46,117,182,0); }
  100% { box-shadow:0 0 0 0 rgba(46,117,182,0); }
}



.slf-foot-grid {
  grid-template-columns:1.25fr .9fr .9fr .9fr;
}

@media(max-width:980px) {
  .slf-badges-grid,
  

  .slf-comp-grid,
  .slf-feature-review-inner {
    grid-template-columns:1fr;
  }

  .slf-pa-grid {
    grid-template-columns:repeat(2,1fr);
  }

  .slf-feature-review {
    text-align:center;
  }
}

@media(max-width:560px) {
  .slf-badges-grid,
  .slf-guide-grid,
  .slf-pa-grid {
    grid-template-columns:1fr;
  }

  .slf-badge {
    min-height:135px;
  }

  .slf-comp-image,
  .slf-comp-image img {
    min-height:420px;
    height:420px;
  }
}

/* ============================================================
   V4 — stable animations, rebuilt process section, blog section
   ============================================================ */

/* Content is visible by default. It only animates after JS confirms
   that IntersectionObserver is available. */
.slf-reveal {
  opacity:1;
  translate:0 0;
}

.slf-lp.slf-anim-ready .slf-reveal {
  opacity:0;
  translate:0 22px;
  transition:
    opacity .62s cubic-bezier(.22,.61,.36,1),
    translate .62s cubic-bezier(.22,.61,.36,1);
  transition-delay:var(--delay,0ms);
}

.slf-lp.slf-anim-ready .slf-reveal.is-visible {
  opacity:1;
  translate:0 0;
}

/* Disable the previous continuous effects that caused conflicts. */
.slf-hero-result,
.slf-vid .play {
  animation:none!important;
}


.slf-blog {
  background:#fff;
}

.slf-blog-heading {
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:35px;
  margin-bottom:44px;
}

.slf-blog-heading > div {
  max-width:820px;
}

.slf-blog-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px;
}

.slf-blog-card {
  overflow:hidden;
  background:#fff;
  border:1px solid var(--line);
  box-shadow:0 14px 38px -26px rgba(16,41,67,.36);
  transition:transform .3s var(--ease),box-shadow .3s var(--ease);
}

.slf-blog-card:hover {
  transform:translateY(-7px);
  box-shadow:0 28px 58px -30px rgba(16,41,67,.44);
}

.slf-blog-image {
  display:block;
  height:235px;
  overflow:hidden;
  background:var(--navy);
}

.slf-blog-image img {
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .55s cubic-bezier(.22,.61,.36,1);
}

.slf-blog-card:hover .slf-blog-image img {
  transform:scale(1.045);
}

.slf-blog-copy {
  padding:25px;
}

.slf-blog-meta {
  color:var(--blue);
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.slf-blog-copy h3 {
  margin:13px 0 0;
  color:var(--navy);
  font-family:var(--serif);
  font-size:1.72rem;
  line-height:1.12;
}

.slf-blog-copy p {
  margin:13px 0 0;
  color:var(--muted);
  font-size:.93rem;
  line-height:1.62;
}

.slf-blog-link {
  display:inline-flex;
  margin-top:20px;
  color:var(--blue);
  font-size:.74rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}

/* Keep dark-section headings readable. */
.slf-proc .slf-h2,
.slf-proc .slf-eyebrow,
.slf-proc .slf-lead {
  opacity:1;
}

@media(max-width:980px) {
  

  

  

  .slf-blog-grid {
    grid-template-columns:1fr 1fr;
  }
}

@media(max-width:620px) {
  

  

  .slf-work-actions .slf-btn {
    width:100%;
  }

  .slf-blog-heading {
    align-items:flex-start;
    flex-direction:column;
  }

  .slf-blog-grid {
    grid-template-columns:1fr;
  }
}

/* ============================================================
   V5 — redesigned process and editorial legal guides
   ============================================================ */

/* New process section */
.slf-process-v5 {
  background:var(--cream);
}

.slf-process-v5-head {
  display:grid;
  grid-template-columns:1.05fr .75fr;
  gap:70px;
  align-items:end;
  margin-bottom:48px;
}

.slf-process-v5-head .slf-h2 {
  max-width:760px;
  margin-bottom:0;
}

.slf-process-v5-head > p {
  margin:0 0 7px;
  color:var(--muted);
  font-size:1rem;
  line-height:1.75;
}

.slf-process-v5-grid {
  display:grid;
  grid-template-columns:.92fr 1.08fr;
  min-height:690px;
  background:#fff;
  border:1px solid var(--line);
  box-shadow:0 28px 75px -42px rgba(16,41,67,.38);
}

.slf-process-v5-visual {
  position:relative;
  min-height:690px;
  overflow:hidden;
  background:var(--navy);
}

.slf-process-v5-visual::after {
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg,rgba(16,41,67,.06) 10%,rgba(16,41,67,.90) 100%);
}

.slf-process-v5-visual img {
  width:100%;
  height:100%;
  object-fit:cover;
}

.slf-process-v5-overlay {
  position:absolute;
  z-index:2;
  left:38px;
  right:38px;
  bottom:35px;
  color:#fff;
}

.slf-process-v5-overlay span {
  display:block;
  color:#9CCDF2;
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.slf-process-v5-overlay strong {
  display:block;
  max-width:420px;
  margin-top:10px;
  font-family:var(--serif);
  font-size:clamp(2rem,3.2vw,3.2rem);
  font-weight:600;
  line-height:1.03;
}

.slf-process-v5-steps {
  padding:43px 46px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.slf-process-v5-step {
  display:grid;
  grid-template-columns:64px 1fr;
  gap:22px;
  padding:24px 0;
  border-bottom:1px solid var(--line);
}

.slf-process-v5-step:first-child {
  padding-top:0;
}

.slf-process-v5-number {
  color:var(--blue);
  font-family:var(--serif);
  font-size:2.6rem;
  font-weight:600;
  line-height:1;
}

.slf-process-v5-step h3 {
  margin:0;
  color:var(--navy);
  font-family:var(--serif);
  font-size:1.8rem;
  line-height:1.05;
}

.slf-process-v5-step p {
  margin:9px 0 0;
  color:var(--muted);
  font-size:.93rem;
  line-height:1.68;
}

.slf-process-v5-actions {
  display:flex;
  align-items:center;
  gap:22px;
  padding-top:28px;
}

.slf-process-v5-phone {
  display:flex;
  flex-direction:column;
}

.slf-process-v5-phone small {
  color:var(--muted);
  font-size:.7rem;
  font-weight:800;
  letter-spacing:.09em;
  text-transform:uppercase;
}

.slf-process-v5-phone strong {
  margin-top:4px;
  color:var(--navy);
  font-size:1.14rem;
}

/* Editorial guide section */
.slf-guides-v5 {
  background:#F4F7FB;
}

.slf-guides-v5-head {
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:40px;
  margin-bottom:46px;
}

.slf-guides-v5-head > div {
  max-width:850px;
}

.slf-guides-v5-head .slf-h2 {
  margin-bottom:0;
}

.slf-guides-v5-layout {
  display:grid;
  grid-template-columns:1.08fr .92fr;
  gap:22px;
}

.slf-guide-feature {
  display:grid;
  grid-template-rows:340px auto;
  overflow:hidden;
  background:var(--navy);
  color:#fff;
  box-shadow:0 24px 55px -34px rgba(16,41,67,.48);
}

.slf-guide-feature-image {
  display:block;
  overflow:hidden;
}

.slf-guide-feature-image img {
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .55s var(--ease);
}

.slf-guide-feature:hover .slf-guide-feature-image img {
  transform:scale(1.045);
}

.slf-guide-feature-copy {
  padding:31px;
}

.slf-guide-feature-copy > span,
.slf-guide-row > div > span {
  color:#9CCDF2;
  font-size:.7rem;
  font-weight:800;
  letter-spacing:.11em;
  text-transform:uppercase;
}

.slf-guide-feature-copy h3 {
  margin:13px 0 0;
  color:#fff;
  font-family:var(--serif);
  font-size:2.35rem;
  line-height:1.04;
}

.slf-guide-feature-copy p {
  margin:16px 0 0;
  color:rgba(255,255,255,.68);
  font-size:.95rem;
  line-height:1.7;
}

.slf-guide-read {
  display:inline-flex;
  margin-top:20px;
  color:inherit;
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.slf-guide-list {
  display:grid;
  gap:15px;
}

.slf-guide-row {
  min-height:205px;
  display:grid;
  grid-template-columns:185px 1fr;
  overflow:hidden;
  background:#fff;
  border:1px solid var(--line);
  transition:transform .3s var(--ease),box-shadow .3s var(--ease);
}

.slf-guide-row:hover {
  transform:translateY(-5px);
  box-shadow:0 22px 48px -30px rgba(16,41,67,.42);
}

.slf-guide-row-image {
  display:block;
  overflow:hidden;
  background:var(--navy);
}

.slf-guide-row-image img {
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .5s var(--ease);
}

.slf-guide-row:hover .slf-guide-row-image img {
  transform:scale(1.05);
}

.slf-guide-row > div {
  padding:23px 24px;
}

.slf-guide-row > div > span {
  color:var(--blue);
}

.slf-guide-row h3 {
  margin:9px 0 0;
  color:var(--navy);
  font-family:var(--serif);
  font-size:1.45rem;
  line-height:1.1;
}

.slf-guide-row p {
  margin:10px 0 0;
  color:var(--muted);
  font-size:.86rem;
  line-height:1.55;
}

.slf-guide-row .slf-guide-read {
  color:var(--blue);
  margin-top:13px;
}

/* No continuous transforms on these new sections. */
.slf-process-v5 *,
.slf-guides-v5 * {
  animation:none!important;
}

@media(max-width:980px) {
  .slf-process-v5-head,
  .slf-process-v5-grid,
  .slf-guides-v5-layout {
    grid-template-columns:1fr;
  }

  .slf-process-v5-visual {
    min-height:520px;
  }

  .slf-guides-v5-head {
    align-items:flex-start;
    flex-direction:column;
  }

  .slf-guide-feature {
    grid-template-rows:300px auto;
  }
}

@media(max-width:640px) {
  .slf-process-v5-steps {
    padding:30px 22px;
  }

  .slf-process-v5-step {
    grid-template-columns:52px 1fr;
    gap:14px;
  }

  .slf-process-v5-actions {
    align-items:flex-start;
    flex-direction:column;
  }

  .slf-guide-row {
    grid-template-columns:1fr;
  }

  .slf-guide-row-image {
    height:220px;
  }
}

/* ============================================================
   FINAL BLOG LOCK — restores the approved three-card layout
   ============================================================ */
.slf-lp .slf-blog {
  padding:108px 0!important;
  background:#FFFFFF!important;
}

.slf-lp .slf-blog > .slf-wrap {
  width:min(1180px,calc(100% - 48px))!important;
  margin-inline:auto!important;
}

.slf-lp .slf-blog-heading {
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:end!important;
  justify-content:normal!important;
  gap:42px!important;
  margin-bottom:44px!important;
}

.slf-lp .slf-blog-heading > div {
  max-width:800px!important;
}

.slf-lp .slf-blog .slf-eyebrow {
  color:#2E75B6!important;
  font-family:var(--sans)!important;
  font-size:.72rem!important;
  font-weight:800!important;
  letter-spacing:.15em!important;
  text-transform:uppercase!important;
}

.slf-lp .slf-blog .slf-h2 {
  margin:17px 0 0!important;
  color:#102943!important;
  font-family:var(--serif)!important;
  font-size:clamp(3rem,5.1vw,4.55rem)!important;
  font-weight:600!important;
  line-height:.98!important;
  letter-spacing:-.035em!important;
  text-transform:none!important;
}

.slf-lp .slf-blog .slf-lead {
  max-width:690px!important;
  margin:24px 0 0!important;
  color:#596B7E!important;
  font-family:var(--sans)!important;
  font-size:1.06rem!important;
  line-height:1.65!important;
}

.slf-lp .slf-blog-heading > .slf-btn {
  min-width:188px!important;
  min-height:51px!important;
  padding:0 27px!important;
  border:2px solid #CBD4DE!important;
  border-radius:999px!important;
  background:#FFFFFF!important;
  color:#172534!important;
  box-shadow:none!important;
}

.slf-lp .slf-blog-heading > .slf-btn:hover {
  border-color:#2E75B6!important;
  background:#2E75B6!important;
  color:#FFFFFF!important;
}

.slf-lp .slf-blog-grid {
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:20px!important;
}

.slf-lp .slf-blog-card {
  min-width:0!important;
  overflow:hidden!important;
  display:flex!important;
  flex-direction:column!important;
  background:#FFFFFF!important;
  border:1px solid #D8E1E9!important;
  border-radius:0!important;
  box-shadow:0 17px 38px -32px rgba(16,41,67,.34)!important;
  transition:transform .3s var(--ease),box-shadow .3s var(--ease)!important;
}

.slf-lp .slf-blog-card:hover {
  transform:translateY(-7px)!important;
  box-shadow:0 28px 56px -31px rgba(16,41,67,.42)!important;
}

.slf-lp .slf-blog-image {
  display:block!important;
  width:100%!important;
  height:235px!important;
  overflow:hidden!important;
  background:#102943!important;
}

.slf-lp .slf-blog-image img {
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
  transition:transform .55s var(--ease)!important;
}

.slf-lp .slf-blog-card:hover .slf-blog-image img {
  transform:scale(1.045)!important;
}

.slf-lp .slf-blog-copy {
  flex:1!important;
  padding:27px 25px 29px!important;
}

.slf-lp .slf-blog-meta {
  display:block!important;
  color:#2E75B6!important;
  font-family:var(--sans)!important;
  font-size:.72rem!important;
  font-weight:800!important;
  line-height:1.35!important;
  letter-spacing:.075em!important;
  text-transform:uppercase!important;
}

.slf-lp .slf-blog-copy h3 {
  margin:16px 0 0!important;
  color:#102943!important;
  font-family:var(--serif)!important;
  font-size:1.78rem!important;
  font-weight:600!important;
  line-height:1.08!important;
  letter-spacing:-.015em!important;
}

.slf-lp .slf-blog-copy h3 a {
  color:inherit!important;
}

.slf-lp .slf-blog-copy p {
  margin:18px 0 0!important;
  color:#6A7B8D!important;
  font-family:var(--sans)!important;
  font-size:.96rem!important;
  line-height:1.58!important;
}

.slf-lp .slf-blog-link {
  display:inline-flex!important;
  margin-top:23px!important;
  color:#172534!important;
  font-family:var(--sans)!important;
  font-size:.73rem!important;
  font-weight:800!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
}

.slf-lp .slf-blog-link:hover {
  color:#2E75B6!important;
}

@media(max-width:900px) {
  .slf-lp .slf-blog-heading {
    grid-template-columns:1fr!important;
    align-items:start!important;
  }

  .slf-lp .slf-blog-grid {
    grid-template-columns:1fr 1fr!important;
  }
}

@media(max-width:620px) {
  .slf-lp .slf-blog {
    padding:78px 0!important;
  }

  .slf-lp .slf-blog > .slf-wrap {
    width:calc(100% - 28px)!important;
  }

  .slf-lp .slf-blog-grid {
    grid-template-columns:1fr!important;
  }

  .slf-lp .slf-blog-image {
    height:225px!important;
  }
}

/* Divi compatibility */
#page-container,
#et-main-area,
#main-content {
  padding-top:0!important;
  margin-top:0!important;
  background:#FFFFFF;
}


/* ============================================================
   QUICK CONTACT BAR — fixed lower-right contact dock
   ============================================================ */
.slf-quick-contact{
  position:fixed;
  right:16px;
  bottom:16px;
  z-index:9999;
  width:min(392px,calc(100vw - 32px));
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  overflow:hidden;
  border:1px solid rgba(255,255,255,.18);
  border-radius:2px;
  background:#102943;
  box-shadow:0 20px 55px rgba(7,26,49,.30);
}

.slf-quick-contact a{
  min-width:0;
  min-height:70px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:6px;
  border-right:1px solid rgba(255,255,255,.16);
  color:#fff!important;
  background:transparent;
  font-family:var(--sans,"Manrope",Arial,sans-serif);
  font-size:9px;
  font-weight:800;
  line-height:1;
  letter-spacing:.08em;
  text-transform:uppercase;
  transition:
    background .25s var(--ease,ease),
    transform .25s var(--ease,ease);
}

.slf-quick-contact a:last-child{
  border-right:0;
}

.slf-quick-contact a:hover,
.slf-quick-contact a:focus-visible{
  background:#2E75B6;
  transform:translateY(-1px);
}

.slf-quick-contact svg{
  width:20px;
  height:20px;
  flex:0 0 20px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.slf-footer{
  padding-bottom:118px!important;
}

@media(max-width:620px){
  .slf-quick-contact{
    left:0;
    right:0;
    bottom:0;
    width:100%;
    border-radius:0;
    border-left:0;
    border-right:0;
    border-bottom:0;
  }

  .slf-quick-contact a{
    min-height:60px;
    font-size:8px;
  }

  .slf-quick-contact svg{
    width:18px;
    height:18px;
  }

  .slf-footer{
    padding-bottom:125px!important;
  }
}
