/*
Theme Name: SL Financial Solutions
Theme URI: https://www.sl-financialsolutions.com/
Author: SL Financial Solutions LLC
Description: A polished, responsive WordPress theme for SL Financial Solutions LLC and its virtual CFO services.
Version: 3.2.1
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: sl-financial
*/

:root{--navy:#23384a;--navy-2:#314a5d;--blue:#a79a82;--mist:#f5f3ee;--ink:#26323b;--muted:#667178;--white:#fff;--line:#ddd8cf;--serif:Georgia,"Times New Roman",serif;--sans:Inter,Segoe UI,Arial,sans-serif;--shadow:0 16px 45px rgba(35,56,74,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font:16px/1.6 var(--sans);background:#fff}img{max-width:100%;height:auto}a{color:var(--navy-2);text-decoration:none}a:hover{color:#756b5a}.container{width:min(1180px,calc(100% - 40px));margin:auto}.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);box-shadow:0 2px 20px rgba(35,56,74,.07);backdrop-filter:blur(10px)}.header-inner{height:88px;display:flex;align-items:center;gap:30px}.brand{display:flex;align-items:center;color:var(--navy);margin-right:auto}.custom-logo,.site-brand-logo{display:block;max-height:62px;width:auto;max-width:310px}.nav-menu{display:flex;list-style:none;gap:26px;padding:0;margin:0;align-items:center}.nav-menu a{font-size:14px;color:var(--ink)}.nav-menu a:hover,.current-menu-item>a{color:var(--navy);border-bottom:2px solid var(--blue)}.button,.wp-block-button__link{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:0;border-radius:6px;padding:13px 22px;background:var(--navy);color:#fff!important;font-weight:600;cursor:pointer;transition:.2s}.button:hover{background:var(--navy-2);transform:translateY(-1px)}.button-outline{background:transparent;border:1px solid #fff}.menu-toggle{display:none;border:0;background:none;font-size:28px;color:var(--navy)}
.hero{min-height:620px;display:flex;align-items:center;background:linear-gradient(90deg,rgba(242,247,250,.98) 0%,rgba(242,247,250,.88) 42%,rgba(242,247,250,.08) 67%),url(assets/images/hero-office.png) center/cover no-repeat}.hero-copy{max-width:650px;padding:75px 0}.eyebrow{color:var(--navy-2);font-size:12px;font-weight:800;letter-spacing:.3em;text-transform:uppercase}.hero h1,.section-title,.page-hero h1{font-family:var(--serif);color:var(--navy);line-height:1.08}.hero h1{font-size:clamp(42px,5vw,69px);margin:12px 0 18px}.hero .lead{font-size:clamp(19px,2vw,26px);line-height:1.35;max-width:600px;margin:0 0 28px}.trust-row{display:flex;gap:28px;margin-top:35px;padding-top:25px;border-top:1px solid rgba(8,44,80,.18)}.trust-item{display:flex;gap:10px;align-items:center;font-size:13px;line-height:1.25}.trust-item b{font-size:24px;color:var(--navy-2)}
.section{padding:86px 0}.section-soft{background:var(--mist)}.section-dark{background:var(--navy);color:#fff}.section-heading{text-align:center;max-width:760px;margin:0 auto 46px}.section-title{font-size:clamp(32px,4vw,48px);margin:8px 0 12px}.section-heading p{color:var(--muted);font-size:18px}.split{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}.photo-card{min-height:470px;border-radius:10px;background:linear-gradient(145deg,rgba(8,44,80,.1),rgba(8,44,80,.35)),url(assets/images/hero-office.png) 72% center/cover;box-shadow:var(--shadow)}.body-copy h2{font:clamp(34px,4vw,50px)/1.12 var(--serif);color:var(--navy);margin:8px 0 20px}.body-copy p{font-size:18px;color:var(--muted)}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.card{background:#fff;border:1px solid var(--line);border-radius:8px;padding:30px;box-shadow:0 8px 25px rgba(8,44,80,.05)}.card-icon{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:var(--mist);font-size:25px;color:var(--navy)}.card h3{font:24px/1.2 var(--serif);color:var(--navy);margin:18px 0 10px}.card p{color:var(--muted);margin:0}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;counter-reset:steps}.step{position:relative;text-align:center;padding:8px}.step:before{counter-increment:steps;content:counter(steps);width:46px;height:46px;border-radius:50%;display:grid;place-items:center;margin:0 auto 16px;background:var(--navy-2);color:#fff;font:22px var(--serif)}.step:not(:last-child):after{content:"";position:absolute;top:30px;left:67%;width:68%;border-top:1px solid #8ca6b9}.step h3{font:24px var(--serif);color:var(--navy);margin:8px}.testimonial-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.quote{background:#fff;border-radius:8px;padding:28px;box-shadow:var(--shadow);font-style:italic}.quote cite{display:block;margin-top:15px;font-style:normal;color:var(--navy);font-weight:700}.cta{padding:50px 0;background:linear-gradient(rgba(8,44,80,.92),rgba(8,44,80,.92)),url(assets/images/hero-office.png) center/cover;color:#fff}.cta-inner{display:flex;justify-content:space-between;gap:30px;align-items:center}.cta h2{font:36px var(--serif);margin:0}.cta p{margin:4px 0 0}.page-hero{padding:95px 0;background:var(--mist);text-align:center}.page-hero h1{font-size:54px;margin:8px 0}.page-content{padding:70px 0}.page-content>.container{max-width:900px}.entry-content h2,.entry-content h3{color:var(--navy);font-family:var(--serif)}.entry-content h2{font-size:34px}.entry-content h3{font-size:25px}.content-list li{margin:10px 0}.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:50px}.contact-form{display:grid;gap:16px}.contact-form label{font-weight:700}.contact-form input,.contact-form textarea{width:100%;margin-top:6px;padding:13px;border:1px solid #b9c7d1;border-radius:5px;font:inherit}.contact-form textarea{min-height:140px}.notice{padding:12px 16px;border-radius:5px;background:#e9f5ec;color:#235f31}.site-footer{background:#061f37;color:#dce7ef;padding:58px 0 25px}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:50px}.site-footer h3{font:21px var(--serif);color:#fff}.site-footer a{color:#dce7ef}.footer-links{list-style:none;padding:0}.footer-links li{margin:7px 0}.copyright{margin-top:40px;padding-top:20px;border-top:1px solid rgba(255,255,255,.15);font-size:13px;color:#aabccc}.screen-reader-text{position:absolute;clip:rect(1px,1px,1px,1px)}
@media(max-width:900px){.menu-toggle{display:block}.main-nav{display:none;position:absolute;top:82px;left:0;right:0;background:#fff;padding:20px;box-shadow:var(--shadow)}.main-nav.open{display:block}.nav-menu{flex-direction:column;align-items:flex-start}.header-cta{display:none}.hero{min-height:600px;background-position:62% center}.hero-copy{max-width:570px}.split,.contact-grid{grid-template-columns:1fr}.service-grid{grid-template-columns:repeat(2,1fr)}.process-grid{grid-template-columns:1fr 1fr}.step:after{display:none}.footer-grid{grid-template-columns:1fr 1fr}}
/* Production imagery and scoreboard */
.photo-card{background-image:linear-gradient(145deg,rgba(8,44,80,.05),rgba(8,44,80,.12)),url(assets/images/cfo-consultation.png);background-position:center;background-size:cover}.cta{background-image:linear-gradient(90deg,rgba(8,44,80,.96),rgba(8,44,80,.76)),url(assets/images/growth-mountains.png);background-position:center;background-size:cover}.scoreboard{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.dashboard{background:#fff;border:1px solid var(--line);border-radius:12px;padding:24px;box-shadow:var(--shadow)}.dashboard h3{font:24px var(--serif);color:var(--navy);margin-top:0}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.metric{background:var(--mist);border-radius:6px;padding:14px}.metric small{display:block;color:var(--muted)}.metric strong{display:block;color:var(--navy);font-size:22px}.trend{height:150px;margin-top:18px;padding:10px 12px 6px;background:linear-gradient(#fff,#f7fafc);border:1px solid var(--line);border-radius:6px}.trend svg{display:block;width:100%;height:112px;overflow:visible}.chart-grid line{stroke:#dce5eb;stroke-width:1;stroke-dasharray:4 5}.chart-area{fill:url(#scoreboard-area)}.chart-line{fill:none;stroke:var(--blue);stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.chart-points circle{fill:#fff;stroke:var(--blue);stroke-width:3}.trend-labels{display:grid;grid-template-columns:repeat(6,1fr);padding:1px 4px 0;color:var(--muted);font-size:11px;text-align:center}.feature-list{display:grid;grid-template-columns:1fr 1fr;gap:18px;list-style:none;padding:0}.feature-list li{padding:20px;background:var(--mist);border-left:4px solid var(--blue)}
@media(max-width:900px){.scoreboard{grid-template-columns:1fr}}
@media(max-width:620px){.container{width:min(100% - 28px,1180px)}.header-inner{height:70px}.brand-copy strong{font-size:16px}.brand-copy small{font-size:7px}.monogram{font-size:42px}.main-nav{top:70px}.hero{min-height:630px;background:linear-gradient(90deg,rgba(242,247,250,.98),rgba(242,247,250,.88)),url(assets/images/hero-office.png) 68% center/cover}.hero-copy{padding:58px 0}.trust-row{flex-direction:column;gap:14px}.section{padding:60px 0}.service-grid,.process-grid,.testimonial-grid,.footer-grid,.feature-list,.metrics{grid-template-columns:1fr}.cta-inner{align-items:flex-start;flex-direction:column}.page-hero h1{font-size:42px}}

/* Microsoft Bookings */
.page-content.booking-page>.container{max-width:1180px}.booking-area{width:100%}.booking-intro{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:40px;align-items:end;margin-bottom:28px}.booking-intro h2{margin:6px 0 10px}.booking-intro p{max-width:760px;color:var(--muted);font-size:17px}.booking-phone{min-width:230px;padding:16px 20px;background:var(--mist);border-left:4px solid var(--blue);border-radius:6px}.booking-phone span{display:block;color:var(--muted);font-size:13px}.booking-phone a{display:block;margin-top:3px;color:var(--navy);font:21px var(--serif)}.booking-shell{width:100%;overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow)}.booking-frame{display:block;width:100%;min-width:100%;height:900px;border:0;background:#fff}.booking-fallback{margin:0;padding:18px 24px;text-align:center;background:var(--mist);font-size:14px}.booking-fallback a{font-weight:700}.booking-privacy{margin-top:18px;color:var(--muted);font-size:13px;text-align:center}
@media(max-width:900px){.booking-intro{grid-template-columns:1fr;gap:20px}.booking-phone{min-width:0}.booking-frame{height:1050px}}
@media(max-width:620px){.booking-shell{margin-inline:-4px}.booking-frame{height:1120px}.booking-fallback{padding:16px}}

/* Version 3.2 brand system */
.hero{background-image:linear-gradient(90deg,rgba(245,243,238,.98) 0%,rgba(245,243,238,.88) 42%,rgba(245,243,238,.08) 67%),url(assets/images/hero-office.png)}
.trust-row{border-top-color:rgba(35,56,74,.18)}
.photo-card{background-image:linear-gradient(145deg,rgba(35,56,74,.05),rgba(35,56,74,.15)),url(assets/images/cfo-consultation.png)}
.card{box-shadow:0 8px 25px rgba(35,56,74,.06)}
.step:not(:last-child):after{border-top-color:#c7beb0}
.cta{background-image:linear-gradient(90deg,rgba(35,56,74,.96),rgba(35,56,74,.80)),url(assets/images/growth-mountains.png)}
.chart-grid line{stroke:var(--line)}
.trend{background:linear-gradient(#fff,#f8f6f2)}
.site-footer{background:#1b2d3a;color:#e7e3da}
.site-footer a{color:#e7e3da}
.copyright{color:#b9c0c4}
.footer-brand{display:inline-flex;margin-bottom:10px;cursor:default}
.footer-brand-logo{display:block;width:min(290px,100%);height:auto;filter:brightness(0) invert(1);opacity:.92}
@media(max-width:620px){.header-inner{height:74px}.main-nav{top:74px}.site-brand-logo,.custom-logo{max-width:220px;max-height:50px}.footer-brand-logo{width:min(260px,100%)}}
