/* =========================================================
   Spokane Property Solutions — Main Stylesheet
   Navy + Gold design system, mobile-first, conversion focused
   ========================================================= */

:root{
	--sps-navy:#1B2B4B;
	--sps-navy-700:#243B66;
	--sps-navy-900:#0F1B33;
	--sps-gold:#C9A84C;
	--sps-gold-600:#B7942F;
	--sps-gold-100:#F6EFD9;
	--sps-cream:#FDFBF3;
	--sps-bg:#FFFFFF;
	--sps-bg-alt:#F7F8FA;
	--sps-bg-soft:#EEF1F6;
	--sps-text:#15233E;
	--sps-text-soft:#43536F;
	--sps-text-mute:#6A7891;
	--sps-line:#E4E8EE;
	--sps-line-strong:#CFD6E0;
	--sps-success:#2C8C5A;
	--sps-danger:#C8443C;
	--sps-radius:10px;
	--sps-radius-lg:18px;
	--sps-radius-sm:6px;
	--sps-shadow:0 6px 24px rgba(15,27,51,.08);
	--sps-shadow-lg:0 16px 48px rgba(15,27,51,.16);
	--sps-shadow-inset:inset 0 1px 0 rgba(255,255,255,.08);
	--sps-container:1200px;
	--sps-container-narrow:880px;
	--sps-font: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
	--sps-header-h: 88px;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;font-family:var(--sps-font);font-size:17px;line-height:1.65;color:var(--sps-text);background:var(--sps-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
img,svg{max-width:100%;height:auto;display:block}
a{color:var(--sps-navy);text-decoration:none;transition:color .15s ease}
a:hover{color:var(--sps-gold-600)}
ul,ol{padding-left:1.2rem}
h1,h2,h3,h4,h5,h6{font-family:var(--sps-font);font-weight:800;color:var(--sps-navy);letter-spacing:-0.015em;line-height:1.15;margin:0 0 .6em}
h1{font-size:clamp(2rem, 4.2vw + 1rem, 3.6rem);font-weight:900}
h2{font-size:clamp(1.6rem, 2.4vw + 1rem, 2.4rem)}
h3{font-size:clamp(1.25rem, 1vw + 1rem, 1.6rem)}
h4{font-size:1.2rem}
p{margin:0 0 1em}
strong{font-weight:700}
hr{border:0;border-top:1px solid var(--sps-line);margin:2em 0}
blockquote{border-left:4px solid var(--sps-gold);background:var(--sps-bg-alt);padding:1em 1.4em;margin:1.6em 0;border-radius:0 var(--sps-radius) var(--sps-radius) 0;font-size:1.05em;color:var(--sps-text-soft)}
code{background:var(--sps-bg-soft);padding:.15em .45em;border-radius:4px;font-size:.92em}
.sps-container{max-width:var(--sps-container);margin:0 auto;padding:0 1.25rem;width:100%}
.sps-container-narrow{max-width:var(--sps-container-narrow);margin:0 auto;padding:0 1.25rem}

.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-wrap:normal!important}
.sps-skip-link{position:absolute;left:-9999px;top:auto;background:var(--sps-gold);color:var(--sps-navy);padding:.6em 1em;z-index:9999}
.sps-skip-link:focus{left:1rem;top:1rem}

/* ====== Buttons ====== */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55em;padding:14px 24px;border-radius:999px;font-weight:700;font-size:1rem;cursor:pointer;border:2px solid transparent;text-align:center;transition:transform .15s ease, box-shadow .2s ease, background .2s ease, color .2s ease;line-height:1.1;text-decoration:none;font-family:var(--sps-font);min-height:48px}
.btn:focus-visible{outline:3px solid var(--sps-gold);outline-offset:2px}
.btn-gold{background:var(--sps-gold);color:var(--sps-navy);border-color:var(--sps-gold);box-shadow:0 4px 18px rgba(201,168,76,.4)}
.btn-gold:hover{background:var(--sps-gold-600);border-color:var(--sps-gold-600);color:#fff;transform:translateY(-1px);box-shadow:0 8px 26px rgba(201,168,76,.5)}
.btn-navy{background:var(--sps-navy);color:#fff;border-color:var(--sps-navy)}
.btn-navy:hover{background:var(--sps-navy-700);color:#fff}
.btn-outline{background:transparent;color:var(--sps-navy);border-color:var(--sps-navy)}
.btn-outline:hover{background:var(--sps-navy);color:#fff}
.btn-outline-light{background:transparent;color:#fff;border-color:rgba(255,255,255,.7)}
.btn-outline-light:hover{background:#fff;color:var(--sps-navy)}
.btn-lg{padding:18px 32px;font-size:1.08rem}
.btn-block{display:flex;width:100%}

/* ====================================================================
   HEADER — simple white nav, locked single-row with CSS grid
   Defensive !important on critical layout to survive plugin / parent-theme conflicts
   ==================================================================== */

.sps-header{position:sticky;top:0;z-index:90;background:#fff !important;border-bottom:1px solid #E4E8EE}
.sps-header.is-scrolled{box-shadow:0 2px 8px rgba(15,27,51,.06)}

/* Grid layout: brand | menu (centered, fills middle) | right cluster */
.sps-header-row{
	display:grid !important;
	grid-template-columns:auto 1fr auto !important;
	align-items:center !important;
	gap:1.5rem;
	min-height:68px;
	width:100%;
}

/* Brand — plain wordmark, no icon */
.sps-brand{display:inline-flex !important;align-items:center;color:#1B2B4B !important;text-decoration:none !important;font-weight:700;line-height:1}
.sps-brand:hover{color:#1B2B4B !important}
.sps-brand-text{font-size:1.05rem;font-weight:700;color:#1B2B4B;letter-spacing:-.005em;white-space:nowrap;line-height:1}

/* Center menu */
.sps-nav{display:flex !important;justify-content:center;align-items:center;min-width:0}
ul.sps-menu{list-style:none !important;margin:0 !important;padding:0 !important;display:flex !important;align-items:center;gap:.1rem}
ul.sps-menu li{list-style:none !important;margin:0;padding:0}
ul.sps-menu li a{display:inline-block !important;padding:.55em .85em !important;font-size:.94rem;font-weight:500;color:#15233E !important;white-space:nowrap;text-decoration:none !important;border-radius:4px;transition:color .15s ease}
ul.sps-menu li a:hover{color:#B7942F !important}
ul.sps-menu li.current-menu-item > a,
ul.sps-menu li.current_page_item > a{color:#B7942F !important;font-weight:600}

/* Right cluster — locked to flex row, never wraps */
.sps-header-right{
	display:flex !important;
	align-items:center !important;
	gap:.9rem;
	flex-wrap:nowrap !important;
	justify-content:flex-end;
}

a.sps-header-phone{
	display:inline-flex !important;
	align-items:center !important;
	gap:.4rem;
	color:#1B2B4B !important;
	font-weight:600;
	font-size:.96rem;
	text-decoration:none !important;
	line-height:1;
	white-space:nowrap;
}
a.sps-header-phone:hover{color:#B7942F !important}
a.sps-header-phone svg{color:#B7942F;flex-shrink:0;display:inline-block}

a.sps-header-cta{
	display:inline-flex !important;
	align-items:center !important;
	justify-content:center !important;
	padding:10px 20px !important;
	background:#C9A84C !important;
	color:#1B2B4B !important;
	border-radius:4px !important;
	font-size:.92rem !important;
	font-weight:700 !important;
	text-decoration:none !important;
	line-height:1 !important;
	white-space:nowrap !important;
	border:0 !important;
	min-height:40px !important;
	transition:background .15s ease,color .15s ease;
	box-shadow:none;
}
a.sps-header-cta:hover{background:#B7942F !important;color:#fff !important}

/* Hamburger — hidden on desktop */
.sps-menu-toggle{display:none;background:transparent;border:0;width:44px;height:44px;padding:0;flex-direction:column;gap:5px;justify-content:center;align-items:center;cursor:pointer;border-radius:4px;flex-shrink:0}
.sps-menu-toggle:hover{background:var(--sps-bg-alt)}
.sps-menu-toggle span{display:block;width:22px;height:2px;background:var(--sps-navy);border-radius:2px;transition:all .25s ease;transform-origin:center}
.sps-menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.sps-menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.sps-menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* ---- Mobile drawer ---- */
.sps-mobile-menu{position:fixed;top:0;right:0;bottom:0;width:min(360px, 90vw);background:#fff;z-index:101;transform:translateX(100%);transition:transform .28s cubic-bezier(.4,0,.2,1),visibility 0s linear .28s;overflow-y:auto;-webkit-overflow-scrolling:touch;box-shadow:-10px 0 36px rgba(15,27,51,.18);display:flex;flex-direction:column;visibility:hidden;pointer-events:none}
.sps-mobile-menu.is-open{transform:translateX(0);visibility:visible;pointer-events:auto;transition:transform .28s cubic-bezier(.4,0,.2,1),visibility 0s linear 0s}
.sps-mobile-menu-inner{padding:1.2rem 1.3rem 2rem;display:flex;flex-direction:column;gap:1rem}
.sps-mobile-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:.9rem;border-bottom:1px solid var(--sps-line);margin-bottom:.3rem}
.sps-mobile-brand{font-weight:700;color:var(--sps-navy);font-size:1rem}
.sps-mobile-close{background:transparent;border:0;font-size:2rem;line-height:1;color:var(--sps-text-mute);cursor:pointer;width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;border-radius:4px;padding:0}
.sps-mobile-close:hover{background:var(--sps-bg-alt);color:var(--sps-navy)}

.sps-mobile-phone{display:flex;align-items:center;gap:.55rem;justify-content:center;background:var(--sps-navy);color:#fff;padding:.9rem 1rem;border-radius:4px;font-weight:700;font-size:1rem;text-decoration:none}
.sps-mobile-phone:hover{background:var(--sps-navy-700);color:#fff}
.sps-mobile-phone svg{color:var(--sps-gold);flex-shrink:0}

.sps-mobile-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.1rem}
.sps-mobile-list li{list-style:none}
.sps-mobile-list li a{display:block;padding:.9em 1em;color:var(--sps-navy);font-weight:500;font-size:1.02rem;text-decoration:none;border-radius:4px;border-bottom:1px solid var(--sps-line)}
.sps-mobile-list li:last-child a{border-bottom:0}
.sps-mobile-list li a:hover{background:var(--sps-bg-alt);color:var(--sps-gold-600)}
.sps-mobile-list li.current-menu-item > a,
.sps-mobile-list li.current_page_item > a{color:var(--sps-gold-600);font-weight:700}

.sps-mobile-cta{display:flex;align-items:center;justify-content:center;background:var(--sps-gold);color:var(--sps-navy);padding:.95rem 1.2rem;border-radius:4px;font-size:1rem;font-weight:700;text-decoration:none;margin-top:.4rem}
.sps-mobile-cta:hover{background:var(--sps-gold-600);color:#fff}

.sps-mobile-menu-scrim{position:fixed;inset:0;background:rgba(15,27,51,.5);z-index:100;opacity:0;pointer-events:none;transition:opacity .25s ease}
.sps-mobile-menu-scrim.is-visible{opacity:1;pointer-events:auto}

/* ===== Header breakpoints ===== */

/* Below 1024 — desktop menu hides; grid collapses to 2 columns */
@media (max-width: 1024px){
	.sps-header-row{grid-template-columns:auto auto !important;justify-content:space-between}
	.sps-nav{display:none !important}
	.sps-menu-toggle{display:flex !important}
}

/* Below 640 — drop phone text and CTA (mobile callbar covers them) */
@media (max-width: 640px){
	.sps-header-row{min-height:60px;gap:.6rem}
	.sps-brand-text{font-size:.98rem;max-width:60vw;overflow:hidden;text-overflow:ellipsis}
	a.sps-header-phone span{display:none}
	a.sps-header-cta{display:none !important}
}

/* Lock body scroll when drawer is open */
body.sps-menu-open{overflow:hidden}

/* ====== Hero ====== */
.sps-hero{position:relative;color:#fff;padding:4rem 0 5rem;overflow:hidden;background:var(--sps-navy)}
.sps-hero-bg{position:absolute;inset:0;z-index:0}
.sps-hero-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(135deg, rgba(15,27,51,.92) 0%, rgba(27,43,75,.78) 60%, rgba(36,59,102,.72) 100%)}
.sps-hero-bg img{width:100%;height:100%;object-fit:cover}
.sps-hero-inner{position:relative;z-index:1;display:grid;grid-template-columns:1.15fr 1fr;gap:3rem;align-items:center}
.sps-hero-eyebrow{display:inline-flex;align-items:center;gap:.5em;background:rgba(201,168,76,.18);color:var(--sps-gold-100);padding:.45em 1em;border-radius:999px;font-size:.85rem;font-weight:600;border:1px solid rgba(201,168,76,.35);margin-bottom:1.2rem}
.sps-hero-eyebrow::before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:#56d68c;box-shadow:0 0 0 4px rgba(86,214,140,.25)}
.sps-hero h1{color:#fff;font-size:clamp(2.1rem, 3.4vw + 1rem, 3.8rem);margin-bottom:.7em}
.sps-hero h1 span{color:var(--sps-gold)}
.sps-hero-sub{font-size:1.18rem;color:rgba(255,255,255,.88);margin-bottom:1.6em;max-width:42ch}
.sps-hero-actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-bottom:1.6rem}
.sps-hero-bullets{display:flex;flex-wrap:wrap;gap:1rem 1.4rem;list-style:none;padding:0;margin:0;font-size:.95rem;color:rgba(255,255,255,.85)}
.sps-hero-bullets li{display:flex;align-items:center;gap:.45em}
.sps-hero-bullets svg{color:var(--sps-gold);flex-shrink:0}
@media (max-width: 900px){
	.sps-hero-inner{grid-template-columns:1fr;gap:2rem}
	.sps-hero{padding:2.5rem 0 3rem}
}

/* ====== Lead Form ====== */
.sps-lead-card{background:#fff;border-radius:var(--sps-radius-lg);padding:1.8rem;box-shadow:var(--sps-shadow-lg);color:var(--sps-text)}
.sps-lead-card-header{margin-bottom:1.2rem}
.sps-lead-card-header h2,.sps-lead-card-header h3{margin:0 0 .3em;color:var(--sps-navy);font-size:1.5rem}
.sps-lead-card-header p{margin:0;color:var(--sps-text-soft);font-size:.96rem}
.sps-form{display:flex;flex-direction:column;gap:.85rem}
.sps-field{display:flex;flex-direction:column;gap:.3rem}
.sps-field label{font-weight:600;font-size:.9rem;color:var(--sps-text)}
.sps-field input,.sps-field select,.sps-field textarea{font-family:inherit;font-size:1rem;padding:13px 14px;border:1.5px solid var(--sps-line-strong);border-radius:var(--sps-radius-sm);background:#fff;color:var(--sps-text);width:100%;min-height:48px;transition:border-color .15s ease, box-shadow .15s ease}
.sps-field input:focus,.sps-field select:focus,.sps-field textarea:focus{outline:0;border-color:var(--sps-gold);box-shadow:0 0 0 3px rgba(201,168,76,.2)}
.sps-field textarea{min-height:90px;resize:vertical}
.sps-field .sps-error{color:var(--sps-danger);font-size:.85rem;display:none}
.sps-field.has-error input,.sps-field.has-error select,.sps-field.has-error textarea{border-color:var(--sps-danger)}
.sps-field.has-error .sps-error{display:block}
.sps-form .btn{margin-top:.4rem}
.sps-form-foot{font-size:.82rem;color:var(--sps-text-mute);text-align:center;margin-top:.3rem}
.sps-form-foot strong{color:var(--sps-text-soft)}
.sps-form-msg{padding:1em;border-radius:var(--sps-radius-sm);font-size:.95rem;display:none}
.sps-form-msg.is-success{display:block;background:#E5F4EB;color:#1F6E45;border:1px solid #B5DCC4}
.sps-form-msg.is-error{display:block;background:#FBE9E7;color:#992018;border:1px solid #F5C3BE}
.sps-honeypot{position:absolute;left:-9999px;height:0;width:0;overflow:hidden}

/* ====== Trust bar ====== */
.sps-trustbar{background:var(--sps-bg-alt);border-top:1px solid var(--sps-line);border-bottom:1px solid var(--sps-line);padding:1.6rem 0}
.sps-trustbar-grid{display:grid;grid-template-columns:repeat(5, 1fr);gap:1.2rem;text-align:center}
.sps-trust-item{display:flex;flex-direction:column;align-items:center;gap:.5rem;font-weight:600;color:var(--sps-text);font-size:.92rem}
.sps-trust-item svg{color:var(--sps-gold-600)}
@media (max-width: 880px){.sps-trustbar-grid{grid-template-columns:repeat(2,1fr);text-align:left}.sps-trust-item{flex-direction:row;justify-content:flex-start;text-align:left}}

/* ====== Section ====== */
.sps-section{padding:5rem 0}
.sps-section-sm{padding:3rem 0}
.sps-section-alt{background:var(--sps-bg-alt)}
.sps-section-navy{background:var(--sps-navy);color:#fff}
.sps-section-navy h1,.sps-section-navy h2,.sps-section-navy h3{color:#fff}
.sps-section-head{text-align:center;max-width:780px;margin:0 auto 3rem}
.sps-section-eyebrow{display:inline-block;color:var(--sps-gold-600);font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:.82rem;margin-bottom:.7em}
.sps-section-head h2{margin-bottom:.4em}
.sps-section-head p{font-size:1.1rem;color:var(--sps-text-soft)}
.sps-section-navy .sps-section-head p{color:rgba(255,255,255,.78)}

/* ====== How It Works ====== */
.sps-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.sps-step{background:#fff;border:1px solid var(--sps-line);border-radius:var(--sps-radius-lg);padding:2rem 1.6rem;text-align:center;position:relative;transition:transform .2s ease, box-shadow .2s ease}
.sps-step:hover{transform:translateY(-4px);box-shadow:var(--sps-shadow)}
.sps-step-num{display:inline-flex;align-items:center;justify-content:center;width:54px;height:54px;border-radius:50%;background:var(--sps-navy);color:var(--sps-gold);font-weight:800;font-size:1.4rem;margin-bottom:1rem}
.sps-step h3{margin-bottom:.4em;color:var(--sps-navy)}
.sps-step p{color:var(--sps-text-soft);margin:0}
@media (max-width: 820px){.sps-steps{grid-template-columns:1fr}}

/* ====== Who We Help grid ====== */
.sps-help-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(220px, 1fr));gap:1rem}
.sps-help-card{display:flex;align-items:center;gap:.85rem;padding:1.2rem 1.2rem;background:#fff;border:1px solid var(--sps-line);border-radius:var(--sps-radius);text-decoration:none;color:var(--sps-text);transition:all .2s ease;font-weight:600;font-size:.96rem}
.sps-help-card:hover{border-color:var(--sps-gold);background:var(--sps-gold-100);color:var(--sps-navy);transform:translateY(-2px);box-shadow:var(--sps-shadow)}
.sps-help-card-icon{display:inline-flex;width:42px;height:42px;border-radius:10px;background:var(--sps-navy);color:var(--sps-gold);align-items:center;justify-content:center;flex-shrink:0}

/* ====== Comparison table ====== */
.sps-compare-wrap{overflow-x:auto;border-radius:var(--sps-radius-lg);box-shadow:var(--sps-shadow)}
.sps-compare{width:100%;border-collapse:collapse;background:#fff;font-size:.95rem;min-width:680px}
.sps-compare th,.sps-compare td{padding:1.1em 1em;text-align:left;border-bottom:1px solid var(--sps-line)}
.sps-compare thead th{background:var(--sps-navy);color:#fff;font-weight:700;font-size:.85rem;text-transform:uppercase;letter-spacing:.05em}
.sps-compare thead th:first-child{background:var(--sps-navy-900)}
.sps-compare thead th.sps-us{background:var(--sps-gold);color:var(--sps-navy)}
.sps-compare tbody tr:nth-child(even){background:var(--sps-bg-alt)}
.sps-compare td.sps-us{background:rgba(201,168,76,.1);font-weight:600}
.sps-compare .sps-check{color:var(--sps-success);font-weight:800}
.sps-compare .sps-x{color:var(--sps-danger);font-weight:800}

/* ====== Service Areas grid ====== */
.sps-areas-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(210px, 1fr));gap:.7rem}
.sps-area-card{display:flex;align-items:center;gap:.6rem;padding:.85rem 1rem;background:#fff;border:1px solid var(--sps-line);border-radius:var(--sps-radius-sm);color:var(--sps-text);font-weight:600;font-size:.95rem;transition:all .2s ease}
.sps-area-card:hover{border-color:var(--sps-gold);background:var(--sps-gold-100);color:var(--sps-navy)}
.sps-area-card svg{color:var(--sps-gold-600)}

/* ====== FAQ accordion ====== */
.sps-faq{max-width:880px;margin:0 auto}
.sps-faq-item{background:#fff;border:1px solid var(--sps-line);border-radius:var(--sps-radius);margin-bottom:.7rem;overflow:hidden;transition:box-shadow .15s ease}
.sps-faq-item.is-open{box-shadow:var(--sps-shadow)}
.sps-faq-q{width:100%;text-align:left;background:transparent;border:0;padding:1.2em 1.4em;font-family:inherit;font-size:1.05rem;font-weight:700;color:var(--sps-navy);cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:1em;line-height:1.4}
.sps-faq-q::after{content:"+";color:var(--sps-gold-600);font-size:1.6rem;font-weight:300;flex-shrink:0;transition:transform .2s ease}
.sps-faq-item.is-open .sps-faq-q::after{content:"−"}
.sps-faq-a{padding:0 1.4em 1.4em;color:var(--sps-text-soft);display:none;font-size:1rem;line-height:1.7}
.sps-faq-item.is-open .sps-faq-a{display:block}

/* ====== CTA section ====== */
.sps-cta{background:var(--sps-navy);color:#fff;padding:4rem 0;text-align:center;background-image:linear-gradient(135deg, var(--sps-navy-900), var(--sps-navy) 50%, var(--sps-navy-700))}
.sps-cta h2{color:#fff;font-size:clamp(1.6rem,2vw + 1rem,2.4rem)}
.sps-cta p{color:rgba(255,255,255,.85);max-width:600px;margin:0 auto 1.6em;font-size:1.05rem}
.sps-cta-actions{display:flex;flex-wrap:wrap;gap:.8rem;justify-content:center}

/* ====== Footer ====== */
.sps-footer{background:var(--sps-navy-900);color:rgba(255,255,255,.85)}
.sps-footer-cta{background:linear-gradient(135deg, var(--sps-gold) 0%, var(--sps-gold-600) 100%);padding:2.2rem 0;color:var(--sps-navy)}
.sps-footer-cta-inner{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;flex-wrap:wrap}
.sps-footer-cta-title{color:var(--sps-navy);font-size:clamp(1.3rem,1.6vw+.8rem,2rem);margin:0 0 .2em}
.sps-footer-cta-sub{color:var(--sps-navy-700);margin:0;font-size:1.02rem}
.sps-footer-cta-actions{display:flex;gap:.6rem;flex-wrap:wrap}
.sps-footer-cta .btn-outline-light{color:var(--sps-navy);border-color:var(--sps-navy)}
.sps-footer-cta .btn-outline-light:hover{background:var(--sps-navy);color:#fff}
.sps-footer-main{padding:3.5rem 0 2rem}
.sps-footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1.2fr 1.4fr;gap:2.2rem}
.sps-footer-col h3{color:#fff;font-size:1rem;text-transform:uppercase;letter-spacing:.05em;margin-bottom:1em;font-weight:700}
.sps-footer-col ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem;font-size:.93rem}
.sps-footer-col li a{color:rgba(255,255,255,.7)}
.sps-footer-col li a:hover{color:var(--sps-gold)}
.sps-footer-areas{display:grid;grid-template-columns:1fr 1fr;gap:.4rem .8rem;font-size:.88rem}
.sps-footer-brand{display:flex;gap:.9rem;align-items:flex-start;margin-bottom:1.2rem}
.sps-footer-brand strong{color:#fff;font-size:1.05rem;display:block;margin-bottom:.3em}
.sps-footer-brand p{font-size:.9rem;color:rgba(255,255,255,.68);margin:0;line-height:1.55}
.sps-footer-phone{display:inline-block;color:var(--sps-gold);font-size:1.1rem;font-weight:700;margin-bottom:.3em}
.sps-footer-phone strong{color:#fff;font-weight:600;font-size:.9rem;display:block}
.sps-footer-hours{font-size:.85rem;color:rgba(255,255,255,.6);margin:0}
.sps-footer-base{border-top:1px solid rgba(255,255,255,.1);padding:1.5rem 0}
.sps-footer-base-inner{display:flex;justify-content:space-between;gap:1.5rem;flex-wrap:wrap}
.sps-footer-disclaimer{font-size:.78rem;color:rgba(255,255,255,.55);max-width:780px;line-height:1.55;margin:0}
.sps-footer-copyright{font-size:.8rem;color:rgba(255,255,255,.55);margin:0}
.sps-footer-copyright a{color:rgba(255,255,255,.7)}
@media (max-width: 980px){
	.sps-footer-grid{grid-template-columns:1fr 1fr}
	.sps-footer-brand-col{grid-column:1 / -1}
}
@media (max-width: 600px){
	.sps-footer-grid{grid-template-columns:1fr}
	.sps-footer-areas{grid-template-columns:1fr 1fr}
}

/* ====== Mobile call bar ====== */
.sps-mobile-callbar{display:none;position:fixed;left:0;right:0;bottom:0;z-index:70;background:var(--sps-navy);border-top:1px solid var(--sps-navy-700);padding:.5rem;gap:.5rem;box-shadow:0 -4px 16px rgba(0,0,0,.2)}
.sps-mobile-callbar a{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:.5em;padding:.85em;border-radius:8px;font-weight:700;font-size:1rem;text-decoration:none;min-height:50px}
.sps-mobile-callbar-call{background:var(--sps-gold);color:var(--sps-navy)}
.sps-mobile-callbar-form{background:rgba(255,255,255,.1);color:#fff;border:1px solid rgba(255,255,255,.2)}
@media (max-width: 720px){
	.sps-mobile-callbar{display:flex}
	body{padding-bottom:74px}
}

/* ====== Exit-intent banner ====== */
.sps-exit-banner{position:fixed;bottom:90px;right:1rem;max-width:340px;background:#fff;border:1px solid var(--sps-line);border-left:5px solid var(--sps-gold);padding:1.2rem 1.4rem;border-radius:var(--sps-radius);box-shadow:var(--sps-shadow-lg);z-index:75;transform:translateY(20px);opacity:0;pointer-events:none;transition:all .25s ease}
.sps-exit-banner.is-visible{transform:translateY(0);opacity:1;pointer-events:auto}
.sps-exit-banner strong{display:block;color:var(--sps-navy);font-size:1.05rem;margin-bottom:.2em}
.sps-exit-banner p{color:var(--sps-text-soft);font-size:.92rem;margin:0 0 .8em}
.sps-exit-banner .btn{display:inline-flex;padding:.6em 1.1em;font-size:.92rem}
.sps-exit-close{position:absolute;top:.4rem;right:.6rem;background:transparent;border:0;font-size:1.3rem;color:var(--sps-text-mute);cursor:pointer;line-height:1;padding:.2rem}
.sps-exit-close:hover{color:var(--sps-danger)}
@media (max-width: 720px){
	.sps-exit-banner{left:1rem;right:1rem;max-width:none;bottom:80px}
}

/* ====== Article (blog post) ====== */
.sps-article{padding:3rem 0}
.sps-article-grid{display:grid;grid-template-columns:1fr 320px;gap:3rem;max-width:1180px;margin:0 auto;padding:0 1.25rem}
.sps-article-header{padding:0 0 2rem;border-bottom:1px solid var(--sps-line);margin-bottom:2rem}
.sps-article-meta{display:flex;flex-wrap:wrap;gap:.6em 1.2em;color:var(--sps-text-mute);font-size:.88rem;margin-bottom:.6em}
.sps-article-meta span{display:inline-flex;align-items:center;gap:.4em}
.sps-article-title{margin:0 0 .5em}
.sps-article-excerpt{font-size:1.15rem;color:var(--sps-text-soft);max-width:64ch}
.sps-article-body{font-size:1.075rem;line-height:1.78;color:var(--sps-text)}
.sps-article-body h2{margin:2em 0 .6em;font-size:1.7rem}
.sps-article-body h3{margin:1.6em 0 .5em;font-size:1.3rem}
.sps-article-body ul,.sps-article-body ol{margin:0 0 1.4em;padding-left:1.4rem}
.sps-article-body li{margin-bottom:.4em}
.sps-article-body a{color:var(--sps-gold-600);text-decoration:underline;text-underline-offset:3px}
.sps-article-body a:hover{color:var(--sps-navy)}
.sps-article-body img{border-radius:var(--sps-radius);margin:1.5em 0}
.sps-article-aside{position:sticky;top:calc(var(--sps-header-h) + 1rem);align-self:start;display:flex;flex-direction:column;gap:1.5rem}
.sps-aside-card{background:var(--sps-bg-alt);border:1px solid var(--sps-line);border-radius:var(--sps-radius);padding:1.4rem}
.sps-aside-card h3{font-size:1.15rem;margin-bottom:.4em}
.sps-aside-card ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.4rem;font-size:.95rem}
.sps-aside-card a{color:var(--sps-navy);font-weight:600}
.sps-aside-card a:hover{color:var(--sps-gold-600)}
.sps-article-cta{background:var(--sps-navy);color:#fff;padding:1.6rem;border-radius:var(--sps-radius)}
.sps-article-cta h3{color:#fff;font-size:1.15rem;margin-bottom:.3em}
.sps-article-cta p{color:rgba(255,255,255,.82);font-size:.92rem;margin-bottom:1em}
.sps-article-cta .sps-aside-phone{display:block;color:var(--sps-gold);font-weight:800;font-size:1.2rem;text-align:center;margin-bottom:.5rem}
@media (max-width: 980px){
	.sps-article-grid{grid-template-columns:1fr}
	.sps-article-aside{position:static}
}

.sps-article-form{background:#fff;border:1px solid var(--sps-line);border-radius:var(--sps-radius-lg);padding:1.6rem;margin:2.5rem 0;box-shadow:var(--sps-shadow)}
.sps-article-form h3{margin-bottom:.3em}
.sps-article-form p{color:var(--sps-text-soft);margin-bottom:1em}

/* ====== Blog index ====== */
.sps-blog-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(320px, 1fr));gap:1.6rem}
.sps-blog-card{background:#fff;border:1px solid var(--sps-line);border-radius:var(--sps-radius);overflow:hidden;display:flex;flex-direction:column;transition:transform .2s ease, box-shadow .2s ease}
.sps-blog-card:hover{transform:translateY(-4px);box-shadow:var(--sps-shadow)}
.sps-blog-card-img{aspect-ratio:16/9;background:var(--sps-bg-soft);overflow:hidden;position:relative}
.sps-blog-card-img img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.sps-blog-card:hover .sps-blog-card-img img{transform:scale(1.04)}
.sps-blog-card-cluster{position:absolute;bottom:.7rem;left:.7rem;background:var(--sps-navy);color:var(--sps-gold);padding:.3em .8em;border-radius:999px;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}
.sps-blog-card-body{padding:1.3rem 1.4rem;display:flex;flex-direction:column;gap:.5rem;flex-grow:1}
.sps-blog-card-body h3{font-size:1.15rem;margin:0;line-height:1.3}
.sps-blog-card-body h3 a{color:var(--sps-navy)}
.sps-blog-card-body h3 a:hover{color:var(--sps-gold-600)}
.sps-blog-card-excerpt{color:var(--sps-text-soft);font-size:.95rem;margin:0;flex-grow:1}
.sps-blog-card-foot{display:flex;justify-content:space-between;align-items:center;color:var(--sps-text-mute);font-size:.82rem;margin-top:.4rem}
.sps-blog-card-foot .sps-read{color:var(--sps-gold-600);font-weight:700}

/* ====== Page Hero (interior pages) ====== */
.sps-page-hero{background:linear-gradient(135deg, var(--sps-navy-900), var(--sps-navy) 70%);color:#fff;padding:3.5rem 0 4.5rem;position:relative;overflow:hidden}
.sps-page-hero::before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 20% 20%, rgba(201,168,76,.18), transparent 40%), radial-gradient(circle at 80% 80%, rgba(201,168,76,.1), transparent 40%);opacity:.8}
.sps-page-hero-inner{position:relative;z-index:1;display:grid;grid-template-columns:1.2fr 1fr;gap:3rem;align-items:center}
.sps-page-hero h1{color:#fff;margin-bottom:.5em}
.sps-page-hero p.lead{font-size:1.15rem;color:rgba(255,255,255,.86);max-width:50ch;margin-bottom:1.5em}
.sps-page-hero-actions{display:flex;flex-wrap:wrap;gap:.7rem;margin-bottom:1.6rem}
.sps-page-hero-bullets{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:.5em 1.4em;color:rgba(255,255,255,.85);font-size:.95rem}
.sps-page-hero-bullets li{display:flex;align-items:center;gap:.4em}
.sps-page-hero-bullets svg{color:var(--sps-gold)}
@media (max-width: 900px){.sps-page-hero-inner{grid-template-columns:1fr;gap:2rem}}

/* ====== Prose (general copy blocks) ====== */
.sps-prose{font-size:1.06rem;line-height:1.78;color:var(--sps-text)}
.sps-prose h2{margin:2em 0 .5em;font-size:1.75rem}
.sps-prose h3{margin:1.4em 0 .5em;font-size:1.3rem}
.sps-prose ul,.sps-prose ol{margin:0 0 1.4em;padding-left:1.4rem}
.sps-prose li{margin-bottom:.4em}
.sps-prose blockquote{font-style:italic;color:var(--sps-text-soft)}
.sps-prose a{color:var(--sps-gold-600);text-decoration:underline}
.sps-prose a:hover{color:var(--sps-navy)}

/* ====== Two-col layouts ====== */
.sps-twocol{display:grid;grid-template-columns:1.5fr 1fr;gap:3rem;align-items:start}
@media (max-width:900px){.sps-twocol{grid-template-columns:1fr}}
.sps-twocol-form{position:sticky;top:calc(var(--sps-header-h) + 1rem)}
@media (max-width:900px){.sps-twocol-form{position:static}}

/* ====== Inline FAQ on situation/location pages ====== */
.sps-inline-faq{max-width:880px;margin:0 auto}

/* ====== Image cards (location pages) ====== */
.sps-image-card{position:relative;border-radius:var(--sps-radius-lg);overflow:hidden;aspect-ratio:16/10;box-shadow:var(--sps-shadow)}
.sps-image-card img{width:100%;height:100%;object-fit:cover}
.sps-image-card-overlay{position:absolute;inset:0;background:linear-gradient(180deg, transparent 40%, rgba(15,27,51,.85) 100%);color:#fff;display:flex;flex-direction:column;justify-content:flex-end;padding:1.6rem}
.sps-image-card-overlay strong{color:#fff;font-size:1.3rem;margin-bottom:.2em}
.sps-image-card-overlay p{color:rgba(255,255,255,.85);margin:0;font-size:.95rem}

/* ====== Local landmarks list ====== */
.sps-landmarks{display:grid;grid-template-columns:repeat(auto-fit, minmax(180px, 1fr));gap:.5rem 1.2rem;list-style:none;padding:0;margin:1em 0}
.sps-landmarks li{display:flex;align-items:center;gap:.4em;font-size:.93rem;color:var(--sps-text-soft)}
.sps-landmarks li::before{content:"\2022";color:var(--sps-gold-600);font-weight:800}

/* ====== Block quote / pull quote ====== */
.sps-pull{background:var(--sps-gold-100);border-left:5px solid var(--sps-gold);padding:1.4em 1.6em;margin:1.6em 0;border-radius:0 var(--sps-radius) var(--sps-radius) 0;font-size:1.05rem;color:var(--sps-navy);font-weight:500}

/* ====== Forms: utility messages ====== */
.sps-hidden{display:none!important}

/* ====== Breadcrumb ====== */
.sps-crumbs{font-size:.85rem;color:var(--sps-text-mute);padding:.6rem 0;border-bottom:1px solid var(--sps-line);background:#fff}
.sps-crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:.4em;padding:0;margin:0;align-items:center}
.sps-crumbs li{display:inline-flex;align-items:center;gap:.4em}
.sps-crumbs li:not(:last-child)::after{content:"/";color:var(--sps-line-strong);margin-left:.4em}
.sps-crumbs a{color:var(--sps-text-soft)}
.sps-crumbs a:hover{color:var(--sps-gold-600)}

/* ====== Trust badges ====== */
.sps-badges{display:flex;flex-wrap:wrap;justify-content:center;gap:2rem;align-items:center;opacity:.85}
.sps-badge{display:flex;align-items:center;gap:.5rem;color:var(--sps-text-soft);font-weight:600;font-size:.9rem}
.sps-badge svg{color:var(--sps-gold-600)}

/* ====== Contact info grid ====== */
.sps-contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}
.sps-contact-card{background:#fff;border:1px solid var(--sps-line);border-radius:var(--sps-radius);padding:1.6rem;text-align:center}
.sps-contact-card svg{color:var(--sps-gold-600);margin:0 auto .6rem}
.sps-contact-card strong{display:block;color:var(--sps-navy);font-size:1rem;margin-bottom:.2em}
.sps-contact-card a{color:var(--sps-text);font-weight:700;font-size:1.1rem}
@media (max-width:760px){.sps-contact-grid{grid-template-columns:1fr}}

/* ====== Pagination ====== */
.sps-pagination{display:flex;justify-content:center;gap:.4rem;margin:2rem 0}
.sps-pagination a,.sps-pagination span{padding:.6em 1em;border-radius:6px;background:#fff;border:1px solid var(--sps-line);font-weight:600;color:var(--sps-navy)}
.sps-pagination span.current{background:var(--sps-navy);color:#fff;border-color:var(--sps-navy)}
.sps-pagination a:hover{background:var(--sps-gold-100);border-color:var(--sps-gold)}

/* ====== Print friendliness ====== */
@media print {
	.sps-header,.sps-footer-cta,.sps-mobile-callbar,.sps-exit-banner,.sps-cta,.sps-section-navy{display:none}
	a{color:#000}
}
