/**
 * FixHomesPro Theme — Main Stylesheet
 * Design system: Navy #0D1B2A / Rust #C84B11 / Amber #F0A500
 * Fonts: Barlow Condensed 800 (display), Lora (serif), DM Sans (body)
 * Version: 2.0.0
 */

:root{
  --navy:#0D1B2A;--navy-mid:#152236;--navy-light:#1E3250;
  --rust:#C84B11;--rust-light:#E05A1E;--amber:#F0A500;
  --ice:#E8EFF6;--white:#FFFFFF;--mist:#F4F7FA;
  --text-body:#2C3E50;--text-muted:#6B7C93;
  --font-display:'Barlow Condensed',sans-serif;
  --font-serif:'Lora',serif;--font-body:'DM Sans',sans-serif;
  --space-sm:1rem;--space-md:1.75rem;--space-lg:3rem;--space-xl:5rem;
  --radius-sm:6px;--radius-md:12px;--radius-lg:20px;
  --shadow-sm:0 2px 12px rgba(13,27,42,0.08);
  --shadow-md:0 4px 24px rgba(13,27,42,0.10);
  --shadow-lg:0 12px 40px rgba(13,27,42,0.18);
  --shadow-rust:0 8px 30px rgba(200,75,17,0.30);
  --ease:cubic-bezier(0.22,1,0.36,1);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--font-body);color:var(--text-body);background:var(--white);line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
.container{max-width:1160px;margin:0 auto;padding:0 1.5rem}
.section-pad{padding:var(--space-xl) 0}
.label-tag{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-display);font-size:0.78rem;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:var(--rust);background:rgba(200,75,17,0.10);border:1px solid rgba(200,75,17,0.25);border-radius:100px;padding:5px 14px;margin-bottom:var(--space-md)}
.section-heading{font-family:var(--font-display);font-size:clamp(2rem,4vw,3rem);font-weight:800;line-height:1.05;color:var(--navy);text-transform:uppercase;letter-spacing:-0.01em}
.section-heading em{font-style:normal;color:var(--rust)}
.section-sub{font-family:var(--font-serif);font-size:1.05rem;color:var(--text-muted);max-width:560px;margin-top:0.75rem;line-height:1.75}
.btn-primary{display:inline-flex;align-items:center;gap:10px;background:var(--rust);color:var(--white);font-family:var(--font-display);font-size:1.05rem;font-weight:700;letter-spacing:0.04em;text-transform:uppercase;padding:16px 32px;border-radius:var(--radius-sm);border:none;cursor:pointer;transition:background 0.2s var(--ease),transform 0.2s var(--ease),box-shadow 0.2s var(--ease);box-shadow:var(--shadow-rust)}
.btn-primary:hover{background:var(--rust-light);transform:translateY(-2px);box-shadow:0 14px 40px rgba(200,75,17,0.40)}
.btn-ghost{display:inline-flex;align-items:center;gap:10px;background:transparent;color:var(--amber);font-family:var(--font-display);font-size:1rem;font-weight:700;letter-spacing:0.04em;text-transform:uppercase;padding:14px 28px;border-radius:var(--radius-sm);border:2.5px solid var(--amber);box-shadow:0 0 0 1px rgba(240,165,0,0.18);cursor:pointer;transition:all 0.2s var(--ease)}
.btn-ghost:hover{background:var(--amber);color:var(--navy);box-shadow:none}
/* NAV */
.site-nav{position:fixed;top:0;left:0;right:0;z-index:1000;background:rgba(13,27,42,0.97);backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,0.06);transition:background 0.3s}
.nav-inner{display:flex;align-items:center;justify-content:space-between;height:68px}
.nav-logo{display:flex;align-items:center;gap:11px;text-decoration:none}
.nav-logo:hover .site-logo-wordmark{opacity:.85}
.site-logo-icon{flex-shrink:0;display:block}.site-logo-wordmark{font-family:var(--font-display);font-size:1.25rem;font-weight:800;letter-spacing:.01em;color:var(--white);line-height:1}.site-logo-tagline{display:none}@media(min-width:1025px){.site-logo-tagline{display:block;font-family:var(--font-display);font-size:0.55rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.34);line-height:1;margin-top:3px}}.footer-logo-inner{display:flex;align-items:center;gap:10px;margin-bottom:0.8rem}.footer-logo .site-logo-wordmark{font-family:var(--font-display);font-size:1.3rem;font-weight:800;letter-spacing:.01em;color:var(--white);line-height:1}.nav-links{display:flex;align-items:center;gap:1.75rem;list-style:none}
.nav-links a{font-size:0.88rem;font-weight:500;color:rgba(255,255,255,0.72);transition:color 0.2s}
.nav-links a:hover{color:var(--white)}
.nav-phone{display:flex;align-items:center;gap:7px;font-family:var(--font-display);font-size:1.05rem;font-weight:700;color:var(--amber)!important;letter-spacing:0.02em}
.nav-cta{background:var(--rust);color:var(--white)!important;padding:9px 20px;border-radius:var(--radius-sm);font-family:var(--font-display);font-size:0.88rem;font-weight:700;letter-spacing:0.04em;text-transform:uppercase;transition:background 0.2s!important}
.nav-cta:hover{background:var(--rust-light)!important}
/* MOBILE BAR */
.mobile-cta-bar{display:none;position:fixed;bottom:0;left:0;right:0;z-index:999;background:var(--navy-mid);border-top:1px solid rgba(255,255,255,0.10);padding:0.75rem 1rem;gap:0.6rem}
.mobile-cta-bar a{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;font-family:var(--font-display);font-size:1rem;font-weight:700;text-transform:uppercase;letter-spacing:0.04em;padding:13px;border-radius:var(--radius-sm);transition:all 0.2s var(--ease)}
.mobile-cta-call{background:transparent;color:var(--amber);border:2.5px solid var(--amber)}
.mobile-cta-call:hover{background:var(--amber);color:var(--navy)}
.mobile-cta-form{background:var(--rust);color:var(--white)}
.mobile-cta-form:hover{background:var(--rust-light)}
/* HERO */
.hero{position:relative;background:var(--navy);padding-top:68px;overflow:hidden;display:flex;align-items:center}
.hero-bg{position:absolute;inset:0;background-image:repeating-linear-gradient(-45deg,rgba(255,255,255,0.016) 0px,rgba(255,255,255,0.016) 1px,transparent 1px,transparent 42px);pointer-events:none}
.hero-glow-r{position:absolute;bottom:-180px;right:-80px;width:580px;height:580px;background:radial-gradient(circle,rgba(200,75,17,0.16) 0%,transparent 65%);pointer-events:none}
.hero-glow-l{position:absolute;top:80px;left:-180px;width:460px;height:460px;background:radial-gradient(circle,rgba(30,50,80,0.55) 0%,transparent 70%);pointer-events:none}
.hero-grid{display:grid;grid-template-columns:1fr 450px;gap:4rem;align-items:center;position:relative;z-index:2;padding:2.5rem 0 2rem}
.breadcrumb{display:flex;align-items:center;gap:8px;font-size:0.75rem;color:rgba(255,255,255,0.38);font-family:var(--font-display);font-weight:600;letter-spacing:0.06em;text-transform:uppercase;margin-bottom:1.25rem}
.breadcrumb a{color:rgba(255,255,255,0.38);transition:color 0.2s}
.breadcrumb a:hover{color:var(--amber)}
.breadcrumb-sep{color:rgba(255,255,255,0.20)}
.breadcrumb span{color:rgba(255,255,255,0.65)}
.hero-badge{display:inline-flex;align-items:center;gap:8px;background:rgba(200,75,17,0.14);border:1px solid rgba(200,75,17,0.32);border-radius:100px;padding:7px 16px;margin-bottom:1.5rem;animation:pulse-badge 2.8s ease-in-out infinite}
@keyframes pulse-badge{0%,100%{box-shadow:0 0 0 0 rgba(200,75,17,0)}50%{box-shadow:0 0 0 6px rgba(200,75,17,0.10)}}
.hero-badge-dot{width:8px;height:8px;background:var(--rust);border-radius:50%;animation:blink 1.3s ease-in-out infinite}
@keyframes blink{0%,100%{opacity:1}50%{opacity:0.25}}
.hero-badge-text{font-family:var(--font-display);font-size:0.76rem;font-weight:700;letter-spacing:0.10em;text-transform:uppercase;color:var(--rust-light)}
.hero-headline{font-family:var(--font-display);font-size:clamp(2.6rem,5.5vw,4.4rem);font-weight:800;line-height:0.97;color:var(--white);text-transform:uppercase;letter-spacing:-0.02em;margin-bottom:1.5rem}
.hero-headline .underline-word{display:inline;position:relative}
.hero-headline .underline-word::after{content:'';position:absolute;left:0;bottom:2px;right:0;height:4px;background:var(--amber);border-radius:2px;transform:skewX(-5deg)}
.hero-warning-strip{display:flex;align-items:flex-start;gap:10px;background:rgba(200,75,17,0.12);border:1px solid rgba(200,75,17,0.28);border-radius:var(--radius-sm);padding:10px 14px;margin-bottom:2rem}
.hero-warning-strip-text{font-size:0.815rem;color:rgba(255,255,255,0.78);line-height:1.55;font-family:var(--font-body)}
.hero-warning-strip-text strong{color:var(--amber)}
.hero-sub{font-family:var(--font-serif);font-size:1.1rem;color:rgba(255,255,255,0.66);max-width:500px;line-height:1.80;margin-bottom:2rem}
.hero-actions{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-bottom:2.5rem}
.hero-trust{display:flex;gap:2rem;flex-wrap:wrap;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,0.08)}
.hero-trust-item{display:flex;align-items:center;gap:8px}
.hero-trust-text{font-family:var(--font-display);font-size:0.82rem;font-weight:700;text-transform:uppercase;letter-spacing:0.06em;color:rgba(255,255,255,0.55)}
/* FORM */
.form-steps-progress{display:flex;align-items:center;margin-bottom:1.5rem;gap:0}
.fsp-step{flex:1;display:flex;flex-direction:column;align-items:center;position:relative}
.fsp-step::after{content:'';position:absolute;top:14px;left:50%;width:100%;height:2px;background:var(--ice);z-index:0}
.fsp-step:last-child::after{display:none}
.fsp-dot{width:28px;height:28px;border-radius:50%;border:2px solid var(--ice);background:var(--white);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:0.75rem;font-weight:700;color:var(--text-muted);position:relative;z-index:1;transition:all 0.3s var(--ease)}
.fsp-label{font-size:0.65rem;font-weight:600;letter-spacing:0.05em;text-transform:uppercase;color:var(--text-muted);margin-top:4px;white-space:nowrap}
.fsp-step.active .fsp-dot{background:var(--rust);border-color:var(--rust);color:var(--white)}
.fsp-step.active .fsp-label{color:var(--rust)}
.fsp-step.done .fsp-dot{background:var(--navy);border-color:var(--navy);color:var(--white)}
.fsp-step.done .fsp-label{color:var(--navy)}
.fsp-step.done::after{background:var(--navy)}
.form-step-panel{display:none}
.form-step-panel.active{display:block}
.qual-opts{display:flex;flex-direction:column;gap:0.4rem;margin-bottom:1rem}
.qual-opt{display:flex;align-items:center;gap:10px;padding:10px 13px;border:1.5px solid #D1DCE8;border-radius:var(--radius-sm);cursor:pointer;font-family:var(--font-body);font-size:0.875rem;color:var(--text-body);background:var(--white);text-align:left;width:100%;transition:all 0.18s var(--ease)}
.qual-opt:hover{border-color:var(--rust);background:rgba(200,75,17,0.04)}
.qual-opt.sel{border-color:var(--rust);background:rgba(200,75,17,0.07);color:var(--navy);font-weight:500}
.qual-dot{width:13px;height:13px;border-radius:50%;border:1.5px solid #C9D8E8;flex-shrink:0;transition:all 0.18s}
.qual-opt.sel .qual-dot{background:var(--rust);border-color:var(--rust)}
.form-step-nav{display:flex;gap:0.6rem;margin-top:1rem}
.btn-step-back{flex:0 0 auto;background:transparent;color:var(--text-muted);font-family:var(--font-display);font-size:0.88rem;font-weight:700;text-transform:uppercase;letter-spacing:0.04em;padding:12px 18px;border-radius:var(--radius-sm);border:1.5px solid var(--ice);cursor:pointer;transition:all 0.2s var(--ease)}
.btn-step-back:hover{border-color:var(--text-muted);color:var(--navy)}
.btn-step-next{flex:1;background:var(--navy);color:var(--white);font-family:var(--font-display);font-size:0.95rem;font-weight:700;text-transform:uppercase;letter-spacing:0.05em;padding:13px;border-radius:var(--radius-sm);border:none;cursor:pointer;transition:background 0.2s var(--ease),transform 0.15s}
.btn-step-next:hover{background:var(--navy-light);transform:translateY(-1px)}
.field-error{font-size:0.74rem;color:#C0392B;font-weight:500;margin-top:4px;display:none;align-items:center;gap:4px}
.field-error.show{display:flex}
.field-error::before{content:'\26A0';font-size:0.72rem}
.form-input.error{border-color:#C0392B!important;background:rgba(192,57,43,0.03)}
.qual-group-error{font-size:0.74rem;color:#C0392B;font-weight:500;margin-top:4px;display:none;align-items:center;gap:4px}
.qual-group-error.show{display:flex}
.qual-group-error::before{content:'\26A0';font-size:0.72rem}
.hero-card{background:var(--white);border-radius:var(--radius-lg);padding:2.25rem 2rem;box-shadow:0 24px 80px rgba(0,0,0,0.32);position:relative}
.hero-card::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--rust),var(--amber));border-radius:var(--radius-lg) var(--radius-lg) 0 0}
.form-card-title{font-family:var(--font-display);font-size:1.35rem;font-weight:800;text-transform:uppercase;color:var(--navy);margin-bottom:0.25rem}
.form-card-sub{font-size:0.875rem;color:var(--text-muted);margin-bottom:1.5rem}
.form-group{margin-bottom:0.9rem}
.form-label{display:block;font-size:0.80rem;font-weight:600;color:var(--navy);margin-bottom:4px;letter-spacing:0.03em}
.form-input{width:100%;padding:11px 13px;border:1.5px solid #D1DCE8;border-radius:var(--radius-sm);font-family:var(--font-body);font-size:0.92rem;color:var(--text-body);background:var(--white);outline:none;transition:border-color 0.2s}
.form-input:focus{border-color:var(--rust)}
.form-select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%235C7285' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 13px center;padding-right:34px}
.casl-block{background:var(--mist);border:1.5px solid var(--ice);border-radius:var(--radius-sm);padding:1rem 1.1rem;margin:1rem 0 0.6rem}
.casl-checkbox-row{display:flex;align-items:flex-start;gap:10px}
.casl-checkbox{flex-shrink:0;width:18px;height:18px;margin-top:2px;accent-color:var(--rust);cursor:pointer}
.casl-label{font-size:0.78rem;color:var(--text-body);line-height:1.55;cursor:pointer}
.casl-sub{font-size:0.72rem;color:var(--text-muted);line-height:1.5;margin-top:0.6rem}
.btn-form-submit{width:100%;background:var(--rust);color:var(--white);font-family:var(--font-display);font-size:1.05rem;font-weight:700;text-transform:uppercase;letter-spacing:0.06em;padding:15px;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:background 0.2s,transform 0.15s;margin-top:0.5rem}
.btn-form-submit:hover{background:var(--rust-light);transform:translateY(-1px)}
.form-legal{font-size:0.70rem;color:var(--text-muted);text-align:center;margin-top:0.6rem;line-height:1.5}
.form-legal a{color:var(--rust);text-decoration:underline}
.form-trust-row{display:flex;align-items:center;justify-content:center;gap:1.1rem;margin-top:0.9rem}
.form-trust-item{display:flex;align-items:center;gap:4px;font-size:0.76rem;color:var(--text-muted);font-weight:500}
.form-trust-item::before{content:'✔';color:var(--rust);font-size:0.68rem}
/* TRUST BAR */
.trust-bar{background:var(--navy-mid);border-bottom:1px solid rgba(255,255,255,0.06);padding:1.1rem 0}
.trust-bar-inner{display:flex;align-items:center;justify-content:space-between;gap:0.75rem;flex-wrap:wrap}
.trust-item{display:flex;align-items:center;gap:10px}
.trust-icon{width:34px;height:34px;background:rgba(200,75,17,0.14);border-radius:7px;display:flex;align-items:center;justify-content:center;font-size:0.95rem;flex-shrink:0}
.trust-text-main{font-family:var(--font-display);font-size:0.92rem;font-weight:700;color:var(--white);text-transform:uppercase;letter-spacing:0.03em;white-space:nowrap}
.trust-text-sub{font-size:0.70rem;color:rgba(255,255,255,0.42);line-height:1;white-space:nowrap}
.trust-divider{width:1px;height:32px;background:rgba(255,255,255,0.09);flex-shrink:0}
/* PROBLEM */
.problem-section{background:var(--mist);position:relative;overflow:hidden}
.problem-section::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--rust),var(--amber),var(--rust))}
.problem-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}
.problem-copy p{font-family:var(--font-serif);font-size:1rem;color:var(--text-body);line-height:1.80;margin-bottom:1rem}
.problem-copy p strong{color:var(--navy)}
.problem-warning{background:var(--white);border-left:4px solid var(--rust);border-radius:0 var(--radius-sm) var(--radius-sm) 0;padding:1rem 1.25rem;margin-top:1.5rem;box-shadow:var(--shadow-sm)}
.problem-warning p{margin:0;font-size:0.9rem;color:#7a2800;font-weight:500;font-family:var(--font-body);line-height:1.55}
.problem-visual-card{background:var(--navy);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-lg)}
.problem-visual-card svg{display:block;width:100%}
.problem-visual-caption{background:rgba(13,27,42,0.92);padding:1rem 1.25rem;font-size:0.80rem;color:rgba(255,255,255,0.55);font-style:italic;line-height:1.55;text-align:center}
.problem-cta-block{background:var(--white);border:1.5px solid var(--ice);border-radius:var(--radius-md);padding:1.75rem 2rem;margin-top:2.5rem;text-align:center;box-shadow:var(--shadow-sm)}
.problem-cta-block h3{font-family:var(--font-display);font-size:1.25rem;font-weight:800;text-transform:uppercase;color:var(--navy);margin-bottom:0.4rem}
.problem-cta-block p{font-family:var(--font-serif);font-size:0.95rem;color:var(--text-muted);line-height:1.6;margin-bottom:1.25rem}
/* SIGNS */
.signs-section{background:var(--white)}
.signs-header{text-align:center;margin-bottom:3rem}
.signs-header .section-sub{margin:0.75rem auto 0}
.signs-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}
.sign-card{background:var(--mist);border-radius:var(--radius-md);padding:1.6rem 1.4rem;border:1.5px solid var(--ice);position:relative;overflow:hidden;transition:all 0.25s var(--ease)}
.sign-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--rust),var(--amber));transform:scaleX(0);transform-origin:left;transition:transform 0.3s var(--ease)}
.sign-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:rgba(200,75,17,0.20);background:var(--white)}
.sign-card:hover::before{transform:scaleX(1)}
.sign-icon{font-size:2rem;margin-bottom:0.75rem;display:block}
.sign-title{font-family:var(--font-display);font-size:1.05rem;font-weight:800;text-transform:uppercase;color:var(--navy);margin-bottom:0.4rem}
.sign-desc{font-size:0.855rem;color:var(--text-muted);line-height:1.62}
.sign-urgency{display:inline-block;margin-top:0.75rem;font-family:var(--font-display);font-size:0.70rem;font-weight:700;text-transform:uppercase;letter-spacing:0.06em;padding:3px 11px;border-radius:100px}
.urgency-high{background:rgba(200,75,17,0.10);color:var(--rust)}
.urgency-med{background:rgba(240,165,0,0.12);color:#8C5200}
.signs-cta-strip{background:var(--navy);border-radius:var(--radius-md);padding:1.75rem 2rem;margin-top:2.5rem;display:flex;align-items:center;justify-content:space-between;gap:2rem;position:relative;overflow:hidden}
.signs-cta-strip::after{content:'';position:absolute;right:-60px;top:-60px;width:200px;height:200px;background:radial-gradient(circle,rgba(200,75,17,0.20) 0%,transparent 65%);pointer-events:none}
.signs-cta-copy{position:relative;z-index:1}
.signs-cta-copy h3{font-family:var(--font-display);font-size:1.2rem;font-weight:800;text-transform:uppercase;color:var(--white);margin-bottom:0.3rem}
.signs-cta-copy p{font-size:0.875rem;color:rgba(255,255,255,0.58);line-height:1.55}
.signs-cta-actions{display:flex;align-items:center;gap:0.75rem;flex-shrink:0;position:relative;z-index:1}
.btn-outline-amber{display:inline-flex;align-items:center;gap:8px;background:transparent;color:var(--amber);font-family:var(--font-display);font-size:0.88rem;font-weight:700;text-transform:uppercase;letter-spacing:0.04em;padding:12px 20px;border-radius:var(--radius-sm);border:2.5px solid var(--amber);box-shadow:0 0 0 1px rgba(240,165,0,0.18);transition:all 0.2s var(--ease);white-space:nowrap}
.btn-outline-amber:hover{background:var(--amber);color:var(--navy);box-shadow:none}
/* CAUSES */
.causes-section{background:var(--mist)}
.causes-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:start}
.causes-list{display:flex;flex-direction:column;gap:1rem;margin-top:2rem}
.cause-item{background:var(--white);border-radius:var(--radius-md);padding:1.3rem 1.4rem;border:1.5px solid var(--ice);display:flex;gap:1rem;align-items:flex-start;box-shadow:var(--shadow-sm);transition:all 0.2s var(--ease)}
.cause-item:hover{border-color:rgba(200,75,17,0.22);box-shadow:var(--shadow-md);transform:translateX(4px)}
.cause-num{flex-shrink:0;width:36px;height:36px;background:var(--rust);border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:0.92rem;font-weight:800;color:var(--white)}
.cause-title{font-family:var(--font-display);font-size:0.98rem;font-weight:800;text-transform:uppercase;color:var(--navy);margin-bottom:0.25rem}
.cause-desc{font-size:0.855rem;color:var(--text-muted);line-height:1.60}
.cause-note{font-size:0.77rem;color:var(--rust);font-weight:600;margin-top:0.3rem}
.causes-visual{position:sticky;top:90px}
.causes-infographic{background:var(--navy);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-lg)}
.causes-infographic svg{display:block;width:100%}
.causes-infographic-caption{padding:1rem 1.25rem;background:var(--navy-mid);font-size:0.76rem;color:rgba(255,255,255,0.45);text-align:center;font-style:italic;border-top:1px solid rgba(255,255,255,0.06)}
/* SOLUTIONS */
.solutions-section{background:var(--white)}
.solutions-header{text-align:center;margin-bottom:3rem}
.solutions-header .section-sub{margin:0.75rem auto 0}
.solutions-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.4rem}
.solution-card{border:1.5px solid var(--ice);border-radius:var(--radius-md);overflow:hidden;background:var(--white);transition:all 0.25s var(--ease)}
.solution-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg);border-color:rgba(200,75,17,0.20)}
.solution-header-band{padding:1.4rem 1.5rem;display:flex;align-items:center;gap:1rem}
.solution-icon{font-size:2.2rem;flex-shrink:0}
.solution-title{font-family:var(--font-display);font-size:1.15rem;font-weight:800;text-transform:uppercase;color:var(--white);margin-bottom:0.2rem}
.solution-subtitle{font-size:0.775rem;color:rgba(255,255,255,0.50)}
.solution-body{padding:1.4rem 1.5rem}
.solution-desc{font-size:0.875rem;color:var(--text-muted);line-height:1.65;margin-bottom:1rem}
.solution-features{list-style:none;display:flex;flex-direction:column;gap:0.4rem;margin-bottom:1rem}
.solution-features li{font-size:0.84rem;color:var(--text-body);padding-left:1.2rem;position:relative;line-height:1.5}
.solution-features li::before{content:'▸';position:absolute;left:0;color:var(--rust);font-size:0.75rem}
.solution-cta{display:inline-flex;align-items:center;gap:5px;font-family:var(--font-display);font-size:0.80rem;font-weight:700;letter-spacing:0.05em;text-transform:uppercase;color:var(--rust);transition:gap 0.2s;cursor:pointer}
.solution-card:hover .solution-cta{gap:9px}
/* MID FORM */
.mid-form-section{background:linear-gradient(135deg,#0D1B2A 0%,#152236 100%);position:relative;overflow:hidden}
.mid-form-section::before{content:'';position:absolute;inset:0;background-image:repeating-linear-gradient(-45deg,rgba(255,255,255,0.012) 0px,rgba(255,255,255,0.012) 1px,transparent 1px,transparent 44px);pointer-events:none}
.mid-form-grid{display:grid;grid-template-columns:1fr 420px;gap:4rem;align-items:center;position:relative;z-index:1}
.mid-form-copy .section-heading{color:var(--white)}
.mid-form-copy .section-heading em{color:var(--amber)}
.mid-form-copy .section-sub{color:rgba(255,255,255,0.55)}
.mid-form-bullets{list-style:none;margin-top:2rem;display:flex;flex-direction:column;gap:0.75rem}
.mid-form-bullets li{display:flex;align-items:flex-start;gap:0.75rem;font-size:0.88rem;color:rgba(255,255,255,0.72);line-height:1.55}
.mid-form-bullets li::before{content:'→';color:var(--rust);font-weight:700;flex-shrink:0;margin-top:1px}
.mid-form-card{background:var(--white);border-radius:var(--radius-lg);padding:2.25rem 2rem;box-shadow:0 24px 80px rgba(0,0,0,0.32);position:relative}
.mid-form-card::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--rust),var(--amber));border-radius:var(--radius-lg) var(--radius-lg) 0 0}
.mid-form-title{font-family:var(--font-display);font-size:1.25rem;font-weight:800;text-transform:uppercase;color:var(--navy);margin-bottom:0.25rem}
.mid-form-sub{font-size:0.875rem;color:var(--text-muted);margin-bottom:1.25rem}
/* WHY */
.why-section{background:var(--navy);position:relative;overflow:hidden}
.why-section::after{content:'';position:absolute;inset:0;background-image:repeating-linear-gradient(90deg,rgba(255,255,255,0.013) 0,rgba(255,255,255,0.013) 1px,transparent 1px,transparent 80px);pointer-events:none}
.why-grid{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center;position:relative;z-index:1}
.why-copy .section-heading{color:var(--white)}
.why-copy .section-heading em{color:var(--amber)}
.why-copy .section-sub{color:rgba(255,255,255,0.58)}
.why-features{display:flex;flex-direction:column;gap:1.4rem;margin-top:2.5rem}
.why-feat{display:flex;gap:1rem;align-items:flex-start}
.why-feat-icon{flex-shrink:0;width:46px;height:46px;background:rgba(200,75,17,0.14);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-size:1.2rem;border:1px solid rgba(200,75,17,0.22)}
.why-feat-title{font-family:var(--font-display);font-size:0.98rem;font-weight:800;text-transform:uppercase;color:var(--white);margin-bottom:0.22rem}
.why-feat-desc{font-size:0.855rem;color:rgba(255,255,255,0.52);line-height:1.60}
.why-panel{background:var(--navy-light);border-radius:var(--radius-lg);padding:2.5rem;border:1px solid rgba(255,255,255,0.07)}
.why-panel-label{font-family:var(--font-display);font-size:0.80rem;font-weight:700;text-transform:uppercase;letter-spacing:0.08em;color:rgba(255,255,255,0.38);margin-bottom:1.5rem}
.why-reviews{display:flex;flex-direction:column;gap:1rem}
.why-review{background:rgba(255,255,255,0.046);border-radius:var(--radius-sm);padding:1.1rem 1.2rem;border:1px solid rgba(255,255,255,0.065)}
.why-review-text{font-family:var(--font-serif);font-size:0.875rem;color:rgba(255,255,255,0.74);line-height:1.62;font-style:italic;margin-bottom:0.6rem;display:block}
.why-reviewer{font-size:0.76rem;font-weight:600;color:var(--amber);letter-spacing:0.03em}
.why-cta-sub{font-size:0.82rem;color:rgba(255,255,255,0.40);text-align:center;margin-top:1.5rem}
.why-soft-cta{text-align:center;padding-top:2.5rem;border-top:1px solid rgba(255,255,255,0.08);margin-top:3rem;position:relative;z-index:1}
.why-soft-cta p{font-family:var(--font-serif);font-size:1rem;color:rgba(255,255,255,0.60);margin-bottom:1.25rem}
/* HOW */
.how-section{background:var(--mist)}
.how-header{text-align:center;margin-bottom:3.5rem}
.how-header .section-sub{margin:0.75rem auto 0}
.steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.75rem;position:relative}
.steps-grid::before{content:'';position:absolute;top:54px;left:calc(16.66% + 27px);right:calc(16.66% + 27px);height:2px;background:repeating-linear-gradient(90deg,var(--rust) 0,var(--rust) 8px,transparent 8px,transparent 16px);opacity:0.32}
.step-card{background:var(--white);border-radius:var(--radius-md);padding:2rem 1.6rem;text-align:center;box-shadow:var(--shadow-md);border:1px solid var(--ice);transition:transform 0.2s var(--ease),box-shadow 0.2s var(--ease)}
.step-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.step-num-ring{width:54px;height:54px;background:var(--navy);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1.4rem;position:relative;z-index:1}
.step-num-ring::after{content:'';position:absolute;inset:-4px;border-radius:50%;border:2px solid var(--rust);opacity:0.36}
.step-num{font-family:var(--font-display);font-size:1.45rem;font-weight:800;color:var(--white)}
.step-icon{font-size:1.9rem;margin-bottom:0.9rem}
.step-title{font-family:var(--font-display);font-size:1.25rem;font-weight:800;text-transform:uppercase;color:var(--navy);margin-bottom:0.55rem}
.step-desc{font-size:0.88rem;color:var(--text-muted);line-height:1.65}
.step-badge{display:inline-block;margin-top:0.9rem;background:rgba(200,75,17,0.08);color:var(--rust);font-family:var(--font-display);font-size:0.72rem;font-weight:700;text-transform:uppercase;letter-spacing:0.06em;padding:3px 11px;border-radius:100px}
.how-cta-block{background:var(--navy);border-radius:var(--radius-md);padding:1.75rem 2rem;margin-top:3rem;display:flex;align-items:center;justify-content:space-between;gap:2rem;position:relative;overflow:hidden}
.how-cta-copy h3{font-family:var(--font-display);font-size:1.2rem;font-weight:800;text-transform:uppercase;color:var(--white);margin-bottom:0.35rem}
.how-cta-copy p{font-size:0.875rem;color:rgba(255,255,255,0.60);line-height:1.55}
.how-cta-actions{display:flex;align-items:center;gap:0.75rem;flex-shrink:0}
.btn-how-call{display:inline-flex;align-items:center;gap:8px;background:transparent;color:var(--amber);font-family:var(--font-display);font-size:0.95rem;font-weight:700;letter-spacing:0.04em;text-transform:uppercase;padding:14px 22px;border-radius:var(--radius-sm);border:2.5px solid var(--amber);box-shadow:0 0 0 1px rgba(240,165,0,0.18);white-space:nowrap;cursor:pointer;transition:all 0.2s var(--ease);text-decoration:none}
.btn-how-call:hover{background:var(--amber);color:var(--navy);box-shadow:none}
/* RELATED */
.related-section{background:var(--mist);border-top:1px solid var(--ice)}
.related-header{text-align:center;margin-bottom:2.5rem}
.related-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.related-card{background:var(--white);border-radius:var(--radius-md);padding:1.5rem;border:1.5px solid var(--ice);text-align:center;transition:all 0.22s var(--ease);position:relative;overflow:hidden;display:block}
.related-card::after{content:'';position:absolute;bottom:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--rust),var(--amber));transform:scaleX(0);transition:transform 0.3s var(--ease)}
.related-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:rgba(200,75,17,0.18)}
.related-card:hover::after{transform:scaleX(1)}
.related-icon{font-size:2rem;margin-bottom:0.75rem;display:block}
.related-title{font-family:var(--font-display);font-size:0.95rem;font-weight:800;text-transform:uppercase;color:var(--navy);margin-bottom:0.35rem}
.related-desc{font-size:0.80rem;color:var(--text-muted);line-height:1.55;margin-bottom:0.9rem}
.related-link{display:inline-flex;align-items:center;gap:5px;font-family:var(--font-display);font-size:0.77rem;font-weight:700;letter-spacing:0.05em;text-transform:uppercase;color:var(--rust)}
/* SEO */
.seo-section{background:var(--white)}
.seo-inner{max-width:780px;margin:0 auto}
.seo-article h2.seo-h2{font-family:var(--font-display);font-size:clamp(1.55rem,3vw,2.1rem);font-weight:800;text-transform:uppercase;color:var(--navy);letter-spacing:-0.01em;margin-bottom:1.2rem;padding-bottom:0.7rem;border-bottom:2px solid var(--ice)}
.seo-article h3.seo-h3{font-family:var(--font-display);font-size:1.15rem;font-weight:700;text-transform:uppercase;color:var(--navy);letter-spacing:0.02em;margin:2rem 0 0.7rem}
.seo-article p{font-family:var(--font-serif);font-size:0.995rem;color:var(--text-body);line-height:1.85;margin-bottom:1rem}
.seo-article a{color:var(--rust);text-decoration:underline;text-decoration-color:rgba(200,75,17,0.32);text-underline-offset:3px;transition:text-decoration-color 0.2s}
.seo-article a:hover{text-decoration-color:var(--rust)}
.seo-article ul{margin:0.7rem 0 1.2rem;padding:0;list-style:none;display:flex;flex-direction:column;gap:0.5rem}
.seo-article ul li{font-family:var(--font-serif);font-size:0.995rem;color:var(--text-body);line-height:1.65;padding-left:1.4rem;position:relative}
.seo-article ul li::before{content:'▸';position:absolute;left:0;color:var(--rust);font-size:0.82rem}
.seo-img-block{margin:1.75rem 0;border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--ice);background:var(--mist)}
.seo-img-block svg{display:block;width:100%;height:auto}
.seo-img-caption{font-size:0.76rem;color:var(--text-muted);text-align:center;padding:0.55rem 1rem;background:var(--mist);border-top:1px solid var(--ice);font-style:italic}
.seo-callout{background:var(--mist);border-left:4px solid var(--rust);border-radius:0 var(--radius-sm) var(--radius-sm) 0;padding:1.1rem 1.4rem;margin:1.6rem 0}
.seo-callout p{margin:0;font-family:var(--font-body);font-size:0.92rem;color:var(--text-body)}
.seo-callout strong{color:var(--navy)}
.seo-inline-cta{background:var(--navy);border-radius:var(--radius-md);padding:1.75rem 2rem;margin:2rem 0;display:flex;align-items:center;justify-content:space-between;gap:1.5rem}
.seo-inline-cta p{font-family:var(--font-serif);font-size:0.95rem;color:rgba(255,255,255,0.70);line-height:1.60;margin:0}
.seo-inline-cta p strong{color:var(--amber)}
.seo-article .seo-inline-cta a,.seo-article a.btn-primary{color:#ffffff!important;text-decoration:none!important}
/* FAQ */
.faq-section{background:var(--mist)}
.faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:start}
.faq-copy-sticky{position:sticky;top:90px}
.faq-copy-sticky .section-sub{margin-top:1rem;margin-bottom:2rem}
.faq-list{display:flex;flex-direction:column;gap:0.45rem}
.faq-item{border:1.5px solid var(--ice);border-radius:var(--radius-sm);overflow:hidden;transition:border-color 0.2s;background:var(--white)}
.faq-item.open{border-color:rgba(200,75,17,0.28)}
.faq-q{width:100%;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.15rem 1.4rem;background:none;border:none;cursor:pointer;text-align:left;font-family:var(--font-display);font-size:0.96rem;font-weight:700;text-transform:uppercase;color:var(--navy);letter-spacing:0.02em}
.faq-chev{flex-shrink:0;width:23px;height:23px;background:var(--ice);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:0.78rem;transition:transform 0.3s var(--ease),background 0.2s}
.faq-item.open .faq-chev{transform:rotate(180deg);background:var(--rust);color:var(--white)}
.faq-ans{max-height:0;overflow:hidden;transition:max-height 0.4s var(--ease)}
.faq-item.open .faq-ans{max-height:400px}
.faq-ans-inner{padding:0 1.4rem 1.2rem;font-size:0.875rem;color:var(--text-muted);line-height:1.70}
/* CTA */
.cta-section{background:linear-gradient(135deg,#0D1B2A,#152236);position:relative;overflow:hidden}
.cta-section::before{content:'';position:absolute;inset:0;background-image:repeating-linear-gradient(-45deg,rgba(255,255,255,0.012) 0px,rgba(255,255,255,0.012) 1px,transparent 1px,transparent 44px);pointer-events:none}
.cta-section::after{content:'';position:absolute;top:-100px;left:50%;transform:translateX(-50%);width:600px;height:400px;background:radial-gradient(ellipse,rgba(200,75,17,0.14) 0%,transparent 65%);pointer-events:none}
.cta-inner{text-align:center;position:relative;z-index:1;padding:var(--space-xl) 0}
.cta-headline{font-family:var(--font-display);font-size:clamp(2.4rem,5vw,4.3rem);font-weight:800;text-transform:uppercase;color:var(--white);line-height:0.95;letter-spacing:-0.02em;margin-bottom:1.2rem}
.cta-headline em{font-style:normal;color:var(--amber)}
.cta-sub{font-family:var(--font-serif);font-size:1.15rem;color:rgba(255,255,255,0.68);max-width:520px;margin:0 auto 2.4rem;line-height:1.70}
.cta-actions{display:flex;align-items:center;justify-content:center;gap:1rem;flex-wrap:wrap}
.btn-cta-white{display:inline-flex;align-items:center;gap:10px;background:var(--rust);color:var(--white);font-family:var(--font-display);font-size:1.1rem;font-weight:800;text-transform:uppercase;letter-spacing:0.05em;padding:17px 38px;border-radius:var(--radius-sm);border:none;cursor:pointer;transition:all 0.2s var(--ease);box-shadow:var(--shadow-rust)}
.btn-cta-white:hover{background:var(--rust-light);transform:translateY(-2px);box-shadow:0 14px 40px rgba(200,75,17,0.40)}
.btn-cta-outline{display:inline-flex;align-items:center;gap:10px;background:transparent;color:var(--amber);font-family:var(--font-display);font-size:1rem;font-weight:700;text-transform:uppercase;letter-spacing:0.05em;padding:15px 30px;border-radius:var(--radius-sm);border:2.5px solid var(--amber);box-shadow:0 0 0 1px rgba(240,165,0,0.18);cursor:pointer;transition:all 0.2s var(--ease)}
.btn-cta-outline:hover{background:var(--amber);color:var(--navy);box-shadow:none}
.cta-note{margin-top:1.6rem;font-size:0.83rem;color:rgba(255,255,255,0.45)}
.cta-note strong{color:rgba(255,255,255,0.75)}
/* FOOTER */
.site-footer{background:var(--navy);border-top:1px solid rgba(255,255,255,0.06);padding:var(--space-xl) 0 var(--space-md)}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:3rem;padding-bottom:var(--space-lg);border-bottom:1px solid rgba(255,255,255,0.07);margin-bottom:var(--space-md)}
.footer-logo{display:flex;align-items:center;gap:10px;margin-bottom:0.8rem;text-decoration:none}
.footer-about{font-size:0.86rem;color:rgba(255,255,255,0.44);line-height:1.70;max-width:260px;margin-bottom:1rem}
.footer-phone{display:flex;align-items:center;gap:7px;margin-bottom:1rem}
.footer-phone a{font-family:var(--font-display);font-size:1.05rem;font-weight:700;color:var(--amber);letter-spacing:0.02em}
.footer-disclaimer{font-size:0.74rem;color:rgba(255,255,255,0.26);line-height:1.60;font-style:italic;border-top:1px solid rgba(255,255,255,0.06);padding-top:0.9rem;max-width:280px}
.footer-col-title{font-family:var(--font-display);font-size:0.78rem;font-weight:700;text-transform:uppercase;letter-spacing:0.10em;color:rgba(255,255,255,0.36);margin-bottom:0.9rem}
.footer-col-list{list-style:none;display:flex;flex-direction:column;gap:0.55rem}
.footer-col-list a{font-size:0.86rem;color:rgba(255,255,255,0.58);transition:color 0.2s}
.footer-col-list a:hover{color:var(--white)}
@media(max-width:768px){}.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.footer-copy{font-size:0.78rem;color:rgba(255,255,255,0.28)}
.footer-legal-links{display:flex;gap:1.4rem;list-style:none}
.footer-legal-links a{font-size:0.78rem;color:rgba(255,255,255,0.28);transition:color 0.2s}
.footer-legal-links a:hover{color:rgba(255,255,255,0.58)}
/* REVEAL */
.reveal{opacity:0;transform:translateY(26px);transition:opacity 0.7s var(--ease),transform 0.7s var(--ease)}
.reveal.visible{opacity:1;transform:none}
.reveal-d1{transition-delay:0.10s}
.reveal-d2{transition-delay:0.20s}
.reveal-d3{transition-delay:0.30s}
.auto-date,.auto-year{font-weight:500;color:inherit}
/* RESPONSIVE */
@media(max-width:1024px){
  .hero-grid{grid-template-columns:1fr;gap:2.5rem}
  .problem-grid{grid-template-columns:1fr;gap:2.5rem}
  .causes-grid{grid-template-columns:1fr}
  .causes-visual{position:static}
  .solutions-grid{grid-template-columns:1fr}
  .mid-form-grid{grid-template-columns:1fr;gap:2.5rem}
  .why-grid{grid-template-columns:1fr;gap:3rem}
  .faq-grid{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr 1fr}
  .related-grid{grid-template-columns:repeat(2,1fr)}
  .signs-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:768px){
  :root{--space-xl:3.25rem}
  .nav-links{display:none}
  .mobile-cta-bar{display:flex}
  body{padding-bottom:72px}
  .hero-grid{padding:2rem 0}
  .hero-headline{font-size:clamp(2.3rem,8vw,3rem)}
  .signs-grid{grid-template-columns:1fr}
  .signs-cta-strip{flex-direction:column}
  .signs-cta-actions{flex-direction:column;width:100%}
  .steps-grid{grid-template-columns:1fr}
  .steps-grid::before{display:none}
  .how-cta-block{flex-direction:column;padding:1.75rem 1.5rem}
  .how-cta-actions{flex-direction:column;width:100%}
  .related-grid{grid-template-columns:1fr 1fr}
  .footer-grid{grid-template-columns:1fr;gap:2rem}
  .faq-copy-sticky{position:static}
  .trust-bar-inner{justify-content:center;gap:1.25rem}
  .trust-divider{display:none}
  .cta-actions{flex-direction:column;align-items:center}
  .seo-inline-cta{flex-direction:column;text-align:center}
}
@media(max-width:480px){
  .hero-actions{flex-direction:column;align-items:flex-start}
  .related-grid{grid-template-columns:1fr}
}
@media(max-width:768px){}.footer-social-bar{display:flex;align-items:center;gap:1.25rem;padding:1.25rem 0;border-top:1px solid rgba(255,255,255,0.09);margin-bottom:1rem;flex-wrap:wrap}.footer-social-label{font-family:var(--font-display,sans-serif);font-size:0.78rem;font-weight:700;text-transform:uppercase;letter-spacing:0.10em;color:rgba(255,255,255,0.40);white-space:nowrap;flex-shrink:0}.footer-social{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.footer-social a{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,0.10);color:rgba(255,255,255,0.80);transition:background 0.2s,color 0.2s,transform 0.2s;flex-shrink:0;text-decoration:none}.footer-social a:hover{background:#C84B11;color:#fff;transform:scale(1.12)}.footer-social a svg{width:18px;height:18px;display:block;pointer-events:none}@media(max-width:768px){.footer-social-bar{gap:.8rem}.footer-social a{width:44px;height:44px}.footer-social a svg{width:20px;height:20px}}

/* ── WordPress-specific additions ─────────────────────────────────────────── */

/* Nav open state (mobile) */
.nav-links--open {
  display: flex !important;
  flex-direction: column;
  position: fixed;
  top: 68px;
  left: 0;
  right: 0;
  background: var(--navy);
  padding: 1.5rem;
  gap: 1.25rem;
  border-top: 1px solid rgba(255,255,255,.08);
  z-index: 999;
}

/* FAQ */
.faq-a { display: none; padding: 0 1.25rem; }
.faq-item.faq-open .faq-a { display: block; padding: .75rem 1.25rem 1.25rem; }
.faq-item.faq-open .faq-chevron { transform: rotate(180deg); }
.faq-chevron { transition: transform .25s ease; display: inline-block; margin-left: 8px; }

/* Form states */
.fhp-form-error { background: rgba(200,75,17,.09); border: 1px solid rgba(200,75,17,.3); border-radius: var(--radius-sm); padding: .6rem .9rem; margin-bottom: .75rem; font-size: .82rem; color: var(--rust); }
.fhp-form-success { text-align: center; padding: 2rem 1rem; }
.fhp-form-success-icon { font-size: 3rem; margin-bottom: 1rem; }
.fhp-form-success-title { font-family: var(--font-display); font-size: 1.4rem; font-weight: 800; text-transform: uppercase; color: var(--navy); margin-bottom: .75rem; }
.fhp-form-success-sub { font-size: .9rem; color: var(--text-muted); line-height: 1.65; margin-bottom: 1.5rem; }

/* Trust item */
.trust-item { text-align: center; }
.trust-item-icon { font-size: 1.5rem; margin-bottom: .4rem; }
.trust-strip-inner { display: grid; grid-template-columns: repeat(4,1fr); gap: 2rem; }
@media(max-width:768px){ .trust-strip-inner{ grid-template-columns: 1fr 1fr; } }

/* Service cards (homepage grid) */
.service-cards-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1rem; }
.service-card { background: var(--white); border: 1.5px solid var(--ice); border-radius: var(--radius-md); padding: 1.4rem 1.5rem; display: flex; align-items: center; gap: 1rem; text-decoration: none; transition: all .22s var(--ease); }
.service-card:hover { transform: translateY(-3px); box-shadow: var(--shadow-md); border-color: rgba(200,75,17,.18); }
.service-card-icon { font-size: 1.75rem; flex-shrink: 0; }
.service-card-title { font-family: var(--font-display); font-size: 1.05rem; font-weight: 800; text-transform: uppercase; color: var(--navy); margin-bottom: .2rem; }
.service-card-sub { font-size: .82rem; color: var(--text-muted); line-height: 1.45; }
.service-card-arrow { margin-left: auto; color: var(--rust); font-size: 1.1rem; flex-shrink: 0; }
@media(max-width:1024px){ .service-cards-grid{ grid-template-columns: 1fr 1fr; } }
@media(max-width:600px){ .service-cards-grid{ grid-template-columns: 1fr; } }

/* City cards (homepage) */
.city-cards-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 1rem; }
.city-card { background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.09); border-radius: var(--radius-md); padding: 1.25rem 1.4rem; text-decoration: none; transition: all .22s var(--ease); }
.city-card:hover { background: rgba(200,75,17,.14); border-color: rgba(200,75,17,.3); transform: translateY(-3px); }
.city-card-name { font-family: var(--font-display); font-size: 1.2rem; font-weight: 800; text-transform: uppercase; color: var(--white); margin-bottom: .3rem; }
.city-card-note { font-size: .78rem; color: rgba(255,255,255,.50); line-height: 1.5; margin-bottom: .4rem; }
.city-card-sub-areas { font-size: .72rem; color: rgba(255,255,255,.35); }
@media(max-width:1024px){ .city-cards-grid{ grid-template-columns: repeat(3,1fr); } }
@media(max-width:768px){ .city-cards-grid{ grid-template-columns: 1fr 1fr; } }

/* Testimonial grid */
.testimonial-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1.25rem; }
.testimonial-card { background: var(--white); border: 1.5px solid var(--ice); border-radius: var(--radius-md); padding: 1.6rem 1.75rem; transition: all .22s var(--ease); }
.testimonial-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-md); }
.testimonial-stars { color: var(--amber); font-size: 1rem; margin-bottom: .75rem; }
.testimonial-text { font-family: var(--font-serif); font-size: .895rem; color: var(--text-body); line-height: 1.72; font-style: italic; margin-bottom: 1.1rem; }
.testimonial-footer { border-top: 1px solid var(--ice); padding-top: .875rem; }
.testimonial-name { font-family: var(--font-display); font-size: .92rem; font-weight: 800; text-transform: uppercase; color: var(--navy); margin-bottom: .15rem; }
.testimonial-loc { font-size: .78rem; color: var(--text-muted); margin-bottom: .2rem; }
.testimonial-service { display: inline-block; font-size: .70rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--rust); background: rgba(200,75,17,.08); padding: 2px 10px; border-radius: 100px; }
@media(max-width:1024px){ .testimonial-grid{ grid-template-columns: 1fr 1fr; } }
@media(max-width:600px){ .testimonial-grid{ grid-template-columns: 1fr; } }

/* How steps */
.how-steps { display: grid; grid-template-columns: repeat(4,1fr); gap: 1.25rem; margin-bottom: 2.5rem; }
.how-step { background: var(--white); border: 1.5px solid var(--ice); border-radius: var(--radius-md); padding: 1.6rem 1.4rem; text-align: center; }
.how-step-num { font-family: var(--font-display); font-size: 2rem; font-weight: 800; color: var(--rust); margin-bottom: .4rem; }
.how-step-icon { font-size: 1.5rem; margin-bottom: .6rem; }
.how-step-title { font-family: var(--font-display); font-size: 1rem; font-weight: 800; text-transform: uppercase; color: var(--navy); margin-bottom: .4rem; }
.how-step-desc { font-size: .855rem; color: var(--text-muted); line-height: 1.6; }
@media(max-width:1024px){ .how-steps{ grid-template-columns: 1fr 1fr; } }
@media(max-width:600px){ .how-steps{ grid-template-columns: 1fr; } }

/* Hero layout (homepage 2-col) */
.hero-layout { display: grid; grid-template-columns: 1fr 440px; gap: 3rem; align-items: start; }
.hero-label { font-family: var(--font-display); font-size: .78rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--amber); margin-bottom: 1rem; }
.hero-trust { font-size: .82rem; color: rgba(255,255,255,.40); margin-top: .875rem; font-family: var(--font-serif); }
@media(max-width:1024px){ .hero-layout{ grid-template-columns: 1fr; } .hero-form{ order: -1; } }


/* ============================================================
   WORDPRESS CONFLICT OVERRIDES
   Ensures our styles win against WP block editor and global styles
   ============================================================ */

/* Disable WP 5.9+ global styles system interference */
.wp-site-blocks { background: transparent !important; }
.is-root-container { background: transparent !important; }
.wp-block-group { background: transparent !important; }
.wp-block-group__inner-container { background: transparent !important; max-width: none !important; padding: 0 !important; }

/* Full-width sections must break out of any content wrapper */
.hero,
.trust-bar,
.trust-strip,
.signs-cta-strip,
.how-cta-block,
.cta-band,
.site-footer,
.related-section,
.solutions-section,
.faq-section,
.reviews-section {
    position: relative;
    left: 50%;
    right: 50%;
    margin-left: -50vw !important;
    margin-right: -50vw !important;
    max-width: 100vw !important;
    width: 100vw !important;
    padding-left: 0;
    padding-right: 0;
    box-sizing: border-box;
}

/* Re-constrain inner containers */
.hero > .container,
.trust-bar > .container,
.trust-strip > .container,
.signs-cta-strip > .container,
.how-cta-block,
.cta-band > .container,
.site-footer > .container,
.related-section > .container,
.solutions-section > .container,
.faq-section > .container,
.reviews-section > .container {
    max-width: 1160px;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    width: 100%;
    left: auto;
    right: auto;
}

/* Hero backgrounds — high specificity with explicit fallback colors */
.hero,
body .hero,
body section.hero,
.support-page .hero,
.support-content .hero,
.entry-content .hero,
.wp-block-group .hero {
    background: var(--navy, #0D1B2A) !important;
    background-color: var(--navy, #0D1B2A) !important;
}

/* All other navy backgrounds with fallbacks */
.trust-bar,
body .trust-bar { background: var(--navy-mid, #152236) !important; }

.signs-cta-strip,
body .signs-cta-strip { background: var(--navy, #0D1B2A) !important; }

.how-cta-block,
body .how-cta-block { background: var(--navy, #0D1B2A) !important; }

.cta-band,
body .cta-band { background: var(--navy, #0D1B2A) !important; }

.site-footer,
body .site-footer { background: var(--navy, #0D1B2A) !important; }

/* Ensure text in dark sections stays white */
.hero *,
.signs-cta-strip *,
.how-cta-block *,
.cta-band * { color: inherit; }

.hero { color: #ffffff; }
.how-cta-block { color: #ffffff; }
.cta-band { color: #ffffff; }

/* WordPress wpautop fix — prevent p tags around block elements */
.support-content p:empty,
.entry-content p:empty { display: none; }

.support-content > p > section,
.entry-content > p > section,
.support-content > p > div.hero,
.entry-content > p > div.hero { display: block; }

/* Fix hero text visibility */
.hero .hero-headline,
.hero h1 { color: var(--white, #ffffff) !important; }

.hero .hero-sub { color: rgba(255,255,255,0.66) !important; }

.how-cta-block h3 { color: var(--white, #ffffff) !important; }
.how-cta-block p { color: rgba(255,255,255,0.60) !important; }
.cta-h { color: var(--white, #ffffff) !important; }
.cta-p { color: rgba(255,255,255,0.62) !important; }
