/*
Theme Name: Stonebridge Solutions Elementor
Theme URI: https://example.com/stonebridge-solutions-elementor
Author: Media Elite Group
Author URI: https://example.com
Description: Elementor-editable WordPress theme converted from the Handyfix HTML template for Stonebridge Home Solutions LLC. Includes auto-created pages, Elementor page layouts, and global header/footer templates for Royal Elementor Addons.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 7.4
Text Domain: stonebridge-solutions-elementor
*/

:root{
  --sb-navy:#243782;
  --sb-blue:#287ec4;
  --sb-sky:#55aad0;
  --sb-gray:#8f9298;
  --sb-dark:#0f172a;
  --sb-text:#4b5563;
  --sb-light:#f6f8fb;
  --sb-white:#ffffff;
  --sb-radius:18px;
  --sb-shadow:0 16px 45px rgba(15,23,42,.12);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,Arial,Helvetica,sans-serif;color:var(--sb-text);background:#fff;line-height:1.65;-webkit-font-smoothing:antialiased}
a{color:var(--sb-blue);text-decoration:none}a:hover{color:var(--sb-navy)}
img{max-width:100%;height:auto}.screen-reader-text{position:absolute!important;clip:rect(1px,1px,1px,1px);overflow:hidden;height:1px;width:1px}
.container,.sb-container{width:min(1180px, calc(100% - 40px));margin:0 auto}.sb-wide{width:min(1320px, calc(100% - 40px));margin:0 auto}
.sb-topbar{background:linear-gradient(90deg,var(--sb-navy),var(--sb-blue));color:#fff;font-size:14px}.sb-topbar__inner{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:9px 0;flex-wrap:wrap}.sb-topbar a{color:#fff;font-weight:700}.sb-topbar__info{display:flex;gap:22px;align-items:center;flex-wrap:wrap}.sb-topbar__info span{display:inline-flex;align-items:center;gap:7px}.sb-topbar__info i{color:#b7e5ff}
.sb-header{background:#fff;position:sticky;top:0;z-index:999;box-shadow:0 10px 35px rgba(15,23,42,.08)}.admin-bar .sb-header{top:32px}.sb-header__inner{display:flex;align-items:center;justify-content:space-between;min-height:94px;gap:24px}.sb-logo img{display:block;max-width:255px;width:255px}.sb-menu{display:flex;list-style:none;margin:0;padding:0;gap:28px;align-items:center}.sb-menu a{font-weight:800;color:var(--sb-dark);font-size:15px;text-transform:uppercase;letter-spacing:.02em}.sb-menu a:hover,.current-menu-item>a{color:var(--sb-blue)}.sb-header__cta,.sb-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;background:linear-gradient(135deg,var(--sb-blue),var(--sb-navy));color:#fff!important;border-radius:999px;padding:14px 24px;font-weight:900;border:0;box-shadow:0 12px 25px rgba(40,126,196,.25);text-transform:uppercase;font-size:14px;letter-spacing:.03em}.sb-btn:hover,.sb-header__cta:hover{transform:translateY(-1px);color:#fff;background:linear-gradient(135deg,var(--sb-navy),var(--sb-blue))}.sb-btn--light{background:#fff;color:var(--sb-navy)!important}.sb-btn--outline{background:transparent;border:2px solid #fff;color:#fff!important;box-shadow:none}.sb-mobile-toggle{display:none;background:var(--sb-navy);color:#fff;border:0;border-radius:10px;padding:10px 12px;font-weight:900}
.sb-hero{position:relative;min-height:720px;display:flex;align-items:center;overflow:hidden;background:#0f172a;color:#fff}.sb-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,20,55,.92),rgba(36,55,130,.68),rgba(40,126,196,.28));z-index:1}.sb-hero:after{content:"";position:absolute;right:-120px;top:-120px;width:640px;height:640px;border:36px solid rgba(85,170,208,.36);border-radius:50%;z-index:1}.sb-hero__bg{position:absolute;inset:0;background-size:cover;background-position:center;animation:sbZoom 14s ease-in-out infinite alternate}.sb-hero__content{position:relative;z-index:2;max-width:770px}.sb-eyebrow{display:inline-block;background:rgba(85,170,208,.18);border:1px solid rgba(255,255,255,.25);color:#d9f2ff;border-radius:999px;padding:8px 15px;font-weight:900;text-transform:uppercase;letter-spacing:.12em;font-size:13px;margin-bottom:18px}.sb-hero h1{font-size:clamp(42px,6vw,78px);line-height:1.02;margin:0 0 22px;color:#fff;font-weight:950;letter-spacing:-.045em}.sb-hero p{font-size:clamp(18px,2vw,23px);max-width:680px;margin:0 0 34px;color:#eaf5ff}.sb-hero__actions{display:flex;gap:16px;flex-wrap:wrap}.sb-section{padding:92px 0}.sb-section--light{background:var(--sb-light)}.sb-section--dark{background:var(--sb-dark);color:#d1d5db}.sb-section--blue{background:linear-gradient(135deg,var(--sb-navy),var(--sb-blue));color:#fff}.sb-title-wrap{max-width:760px;margin:0 auto 46px;text-align:center}.sb-kicker{display:block;color:var(--sb-blue);font-weight:900;text-transform:uppercase;letter-spacing:.12em;font-size:14px;margin-bottom:8px}.sb-section--dark .sb-kicker,.sb-section--blue .sb-kicker{color:#b7e5ff}.sb-title{font-size:clamp(31px,4vw,50px);line-height:1.12;color:var(--sb-dark);margin:0 0 16px;font-weight:950;letter-spacing:-.035em}.sb-section--dark .sb-title,.sb-section--blue .sb-title{color:#fff}.sb-title-wrap p{font-size:18px;margin:0}.sb-grid{display:grid;gap:26px}.sb-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sb-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sb-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sb-card{background:#fff;border-radius:var(--sb-radius);box-shadow:var(--sb-shadow);padding:30px;position:relative;overflow:hidden}.sb-card:before{content:"";position:absolute;top:0;left:0;right:0;height:5px;background:linear-gradient(90deg,var(--sb-sky),var(--sb-navy))}.sb-card h3{margin:0 0 10px;color:var(--sb-dark);font-size:22px;line-height:1.2}.sb-card p{margin:0}.sb-card__icon{width:58px;height:58px;border-radius:18px;background:linear-gradient(135deg,#e8f5ff,#fff);display:flex;align-items:center;justify-content:center;color:var(--sb-blue);font-size:28px;margin-bottom:20px}.sb-feature-row{margin-top:-84px;position:relative;z-index:5}.sb-feature-card{background:#fff;border-radius:20px;padding:30px;box-shadow:0 18px 50px rgba(15,23,42,.16);border-bottom:5px solid var(--sb-blue)}.sb-feature-card strong{display:block;color:var(--sb-dark);font-size:21px;margin-bottom:8px}.sb-about{display:grid;grid-template-columns:1fr 1.02fr;gap:58px;align-items:center}.sb-image-stack{position:relative}.sb-image-stack img{border-radius:28px;box-shadow:var(--sb-shadow);display:block;width:100%;object-fit:cover}.sb-badge{position:absolute;right:-18px;bottom:28px;background:#fff;color:var(--sb-navy);border-radius:22px;padding:22px 24px;box-shadow:var(--sb-shadow);font-weight:900;max-width:220px}.sb-badge span{display:block;font-size:44px;line-height:.95;color:var(--sb-blue)}.sb-list{list-style:none;margin:24px 0 0;padding:0;display:grid;gap:12px}.sb-list li{display:flex;gap:10px;align-items:flex-start}.sb-list li:before{content:"✓";flex:0 0 24px;height:24px;border-radius:50%;background:var(--sb-blue);color:#fff;font-weight:900;display:inline-flex;align-items:center;justify-content:center;font-size:13px;margin-top:2px}.sb-promise{background:#fff;border-radius:22px;padding:34px;box-shadow:var(--sb-shadow);text-align:center}.sb-promise__word{font-size:28px;color:var(--sb-navy);font-weight:950;margin-bottom:8px}.sb-service-card{background:#fff;border-radius:22px;overflow:hidden;box-shadow:var(--sb-shadow);height:100%;display:flex;flex-direction:column}.sb-service-card img{width:100%;height:210px;object-fit:cover}.sb-service-card__body{padding:28px}.sb-service-card h3{color:var(--sb-dark);margin:0 0 10px;font-size:22px}.sb-service-card p{margin:0 0 18px}.sb-mini-link{font-weight:900;color:var(--sb-blue);text-transform:uppercase;font-size:14px}.sb-page-hero{position:relative;padding:145px 0;background-size:cover;background-position:center;color:#fff;text-align:center;overflow:hidden}.sb-page-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,23,42,.88),rgba(36,55,130,.72))}.sb-page-hero .sb-container{position:relative;z-index:1}.sb-page-hero h1{margin:0;color:#fff;font-size:clamp(42px,5vw,64px);font-weight:950;letter-spacing:-.03em}.sb-content-block{max-width:900px;margin:0 auto}.sb-content-block h2{color:var(--sb-dark);font-size:34px;margin:34px 0 12px;line-height:1.18}.sb-content-block p{font-size:18px}.sb-split-service{display:grid;grid-template-columns:380px 1fr;gap:34px;align-items:start;background:#fff;border-radius:24px;box-shadow:var(--sb-shadow);overflow:hidden;margin-bottom:34px}.sb-split-service img{height:100%;min-height:320px;width:100%;object-fit:cover}.sb-split-service__body{padding:36px}.sb-split-service h2{color:var(--sb-dark);font-size:31px;line-height:1.15;margin:0 0 12px}.sb-split-service h4{color:var(--sb-navy);font-size:18px;margin:20px 0 4px}.sb-faq{max-width:940px;margin:0 auto;display:grid;gap:16px}.sb-faq details{background:#fff;border-radius:16px;box-shadow:0 10px 30px rgba(15,23,42,.08);padding:0;border:1px solid #e5e7eb}.sb-faq summary{cursor:pointer;color:var(--sb-dark);font-weight:900;font-size:18px;padding:22px 26px;list-style:none;position:relative}.sb-faq summary::-webkit-details-marker{display:none}.sb-faq summary:after{content:"+";position:absolute;right:24px;top:18px;color:var(--sb-blue);font-size:30px;line-height:1}.sb-faq details[open] summary:after{content:"–"}.sb-faq p{padding:0 26px 24px;margin:0}.sb-contact-wrap{display:grid;grid-template-columns:.85fr 1.15fr;gap:34px;align-items:start}.sb-contact-panel{background:#fff;border-radius:22px;box-shadow:var(--sb-shadow);padding:34px}.sb-contact-panel h2{margin:0 0 16px;color:var(--sb-dark)}.sb-contact-item{display:flex;gap:12px;padding:18px 0;border-bottom:1px solid #edf0f5}.sb-contact-item:last-child{border-bottom:0}.sb-contact-item strong{display:block;color:var(--sb-dark)}.sb-form{display:grid;gap:16px}.sb-form label{font-weight:800;color:var(--sb-dark);display:grid;gap:6px}.sb-form input,.sb-form select,.sb-form textarea{width:100%;border:1px solid #dce2ea;border-radius:12px;padding:14px 16px;font:inherit;background:#fff}.sb-form textarea{min-height:145px}.sb-form button{cursor:pointer}.sb-notice{padding:14px 16px;border-radius:12px;margin-bottom:16px;font-weight:800}.sb-notice.success{background:#e9f9ef;color:#146c2e}.sb-notice.error{background:#fff0f0;color:#9b1c1c}.sb-legal{max-width:980px;margin:0 auto;background:#fff;border-radius:22px;box-shadow:var(--sb-shadow);padding:42px}.sb-legal h1,.sb-legal h2{color:var(--sb-dark)}.sb-legal h1{font-size:44px;margin-top:0}.sb-legal li{margin-bottom:10px}.sb-footer{background:#0b1025;color:#cbd5e1;position:relative;overflow:hidden}.sb-footer:before{content:"";position:absolute;right:-220px;top:-220px;width:520px;height:520px;border:44px solid rgba(85,170,208,.12);border-radius:50%}.sb-footer__top{padding:72px 0 50px;position:relative}.sb-footer__grid{display:grid;grid-template-columns:1.5fr 1fr 1.2fr;gap:42px}.sb-footer h3{color:#fff;margin:0 0 18px;font-size:22px}.sb-footer a{color:#eaf5ff}.sb-footer__logo img{max-width:280px;background:#fff;border-radius:12px;padding:8px;margin-bottom:20px}.sb-footer ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}.sb-footer__bottom{border-top:1px solid rgba(255,255,255,.12);padding:20px 0;text-align:center;font-size:14px;position:relative}.sb-footer .sb-btn{box-shadow:none}.sb-admin-notice{padding:15px;border-left:4px solid #2271b1;background:#fff;margin:15px 0}.sb-template-note{background:#fffbe6;border:1px solid #f1da84;border-radius:10px;padding:16px;margin:16px 0;color:#554600}.elementor-page .entry-title{display:none}
@keyframes sbZoom{from{transform:scale(1)}to{transform:scale(1.08)}}
@media(max-width:1024px){.sb-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.sb-about,.sb-contact-wrap,.sb-split-service{grid-template-columns:1fr}.sb-split-service img{height:280px}.sb-menu{gap:16px}.sb-logo img{max-width:220px}}
@media(max-width:782px){.admin-bar .sb-header{top:46px}.sb-header__inner{min-height:auto;padding:14px 0;align-items:flex-start;flex-wrap:wrap}.sb-mobile-toggle{display:block}.sb-header__nav{width:100%;display:none}.sb-header__nav.is-open{display:block}.sb-menu{width:100%;flex-direction:column;align-items:flex-start;gap:0;border-top:1px solid #e5e7eb;padding-top:12px}.sb-menu li{width:100%}.sb-menu a{display:block;padding:10px 0}.sb-header__cta{display:none}.sb-hero{min-height:630px}.sb-feature-row{margin-top:30px}.sb-grid-3,.sb-grid-4,.sb-grid-2,.sb-footer__grid{grid-template-columns:1fr}.sb-section{padding:68px 0}.sb-logo img{max-width:210px;width:210px}.sb-badge{position:static;margin-top:18px}.sb-topbar__inner{justify-content:center;text-align:center}.sb-topbar__info{justify-content:center}.sb-hero__actions{flex-direction:column;align-items:flex-start}.sb-page-hero{padding:105px 0}.sb-legal{padding:28px}.sb-footer__grid{gap:28px}}
