/* Sparkling Views v2 — visual system based on the approved reference */
:root{
  --sv-navy:#062f54;
  --sv-navy-dark:#03243f;
  --sv-blue:#0877b8;
  --sv-cyan:#16a9d8;
  --sv-pale:#eef8fd;
  --sv-line:#d6e5ee;
  --sv-text:#0f2940;
  --sv-muted:#536a7b;
  --sv-shell:min(1320px,calc(100% - 56px));
}
.shell{width:var(--sv-shell)}
body{font-size:16px;line-height:1.55;color:var(--sv-text)}

/* Compact contact bar */
.topline{background:var(--sv-navy-dark);color:#fff;font-size:.78rem}
.topline__inner{min-height:37px}
.topline__local{display:flex;align-items:center;gap:9px}
.topline__local>span{font-size:.42rem;color:#fff}
.topline__contact{display:flex;align-items:center;gap:14px}
.topline__contact a{display:inline-flex;align-items:center;gap:7px;font-weight:600}
.topline__divider{height:14px;width:1px;background:rgba(255,255,255,.35)}

/* Header matching reference */
.site-header{position:relative;top:auto;background:#fff;backdrop-filter:none;border-bottom:1px solid #e7eff4}
.header__inner{min-height:110px;gap:28px;overflow:visible}
.brand{flex:0 0 430px;width:430px;max-width:430px;min-width:350px}
.brand img{width:100%;height:auto;max-height:88px;object-fit:contain;object-position:left center}
.site-nav{gap:31px;margin-left:auto}
.site-nav>a,.nav-item>a{font-weight:700;font-size:.91rem;color:#112d43;white-space:nowrap}
.site-nav>a:after,.nav-item>a:after{bottom:-15px;height:2px}
.header__cta{border-radius:4px;min-height:48px;padding:0 28px;background:#063b69;box-shadow:0 7px 16px rgba(3,45,78,.13);border-color:#063b69}
.nav-item{position:relative}
.nav-item>a{text-decoration:none;position:relative;display:flex;align-items:center;gap:5px}
.nav-chevron{font-size:.95rem;transform:translateY(-1px)}
.nav-submenu{display:none;position:absolute;top:calc(100% + 18px);left:-18px;width:285px;padding:10px;background:#fff;border:1px solid #dce9f0;border-radius:8px;box-shadow:0 20px 42px rgba(4,40,68,.16);z-index:120}
.nav-submenu:before{content:"";position:absolute;left:0;right:0;top:-20px;height:22px}
.nav-submenu a{display:block;padding:10px 12px;border-radius:5px;text-decoration:none;font-size:.86rem;font-weight:700;color:#17384f}
.nav-submenu a:after{display:none!important}.nav-submenu a:hover{background:#eef8fd;color:#086ca8}
.nav-item--has-menu:hover .nav-submenu,.nav-item--has-menu:focus-within .nav-submenu{display:block}

/* Approved-home hero */
.home-v2 main{overflow:hidden}
.sv-home-hero{height:352px;position:relative;background:linear-gradient(90deg,#f5fbfe 0%,#e7f5fc 42%,#d4edf9 58%,#b7ddeb 100%);overflow:hidden}
.sv-home-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.73) 0%,rgba(255,255,255,.58) 41%,rgba(255,255,255,.08) 62%,rgba(255,255,255,0) 100%);z-index:1}
.sv-home-hero__image{position:absolute;right:0;top:0;width:48.5%;height:100%;background:url('/assets/images/home-hero.webp') center center/cover no-repeat}
.sv-home-hero__inner{height:100%;display:flex;align-items:center;position:relative;z-index:2}
.sv-home-hero__copy{width:55%;padding:10px 0 6px 4px}
.sv-home-hero h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(2.3rem,3.15vw,3.55rem);line-height:1.05;letter-spacing:-.03em;margin:0 0 17px;color:#082d52;font-weight:700}
.sv-home-hero h1 span{color:#0797c9}
.sv-home-hero__copy>p{font-size:1.02rem;line-height:1.55;max-width:590px;margin:0 0 16px;color:#213e54}
.sv-home-checks{display:flex;gap:28px;list-style:none;margin:0 0 17px;padding:0;color:#1d3c53;font-size:.84rem}
.sv-home-checks li{position:relative;padding-left:25px;white-space:nowrap}
.sv-home-checks li:before{content:"✓";position:absolute;left:0;top:-1px;width:17px;height:17px;border-radius:50%;display:grid;place-items:center;background:#0797c9;color:#fff;font-size:.7rem;font-weight:900}
.sv-home-actions{display:flex;gap:24px;align-items:center}
.sv-button{display:inline-flex;align-items:center;justify-content:center;gap:11px;min-width:175px;min-height:43px;padding:0 22px;border-radius:3px;text-decoration:none;font-size:.9rem;font-weight:800;border:1px solid #063b69}
.sv-button--phone{background:#063b69;color:#fff;box-shadow:0 8px 18px rgba(3,45,78,.14)}
.sv-button--light{background:rgba(255,255,255,.86);color:#0b3153}
.sv-local-badge{position:absolute;right:31.8%;bottom:11px;width:118px;height:118px;border-radius:50%;background:linear-gradient(145deg,#10a8d7,#0787b8);border:1px solid rgba(255,255,255,.7);box-shadow:0 12px 24px rgba(0,92,129,.25);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;line-height:1.06}
.sv-local-badge>span{color:#ffe06a;font-size:1rem;margin-bottom:5px}
.sv-local-badge strong{font-size:1.05rem;letter-spacing:.08em}
.sv-local-badge small{font-size:.75rem;margin-top:4px}

/* Seven service cards */
.sv-services-band{background:#eef8fd;padding:11px 0 12px;border-bottom:1px solid #d8e7ef}
.sv-services-heading{text-align:center;margin-bottom:12px}
.sv-services-heading h2{font-family:Georgia,'Times New Roman',serif;font-size:1.6rem;line-height:1;margin:0;color:#082d52}
.sv-services-heading span{display:block;width:26px;height:2px;background:#11a4d4;margin:7px auto 0}
.sv-service-cards{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:13px}
.sv-service-card{position:relative;background:#f8fcfe;border:1px solid #d8e5ec;border-radius:5px;overflow:visible;box-shadow:0 5px 12px rgba(11,63,92,.06);min-width:0}
.sv-service-card__image{display:block;height:105px;overflow:hidden;border-radius:4px 4px 0 0;background:#dbeaf1}
.sv-service-card__image img{width:100%;height:100%;object-fit:cover;transition:transform .25s ease}
.sv-service-card:hover .sv-service-card__image img{transform:scale(1.035)}
.sv-service-card__icon{position:absolute;left:15px;top:79px;width:51px;height:51px;border-radius:50%;display:grid;place-items:center;background:#fff;border:2px solid #0ca4d5;color:#0a89ba;font-size:1.55rem;box-shadow:0 3px 7px rgba(4,59,92,.13)}
.sv-service-card__body{padding:29px 12px 11px}
.sv-service-card h3{font-family:Georgia,'Times New Roman',serif;font-size:1.01rem;line-height:1.11;margin:0 0 6px;color:#082d52;letter-spacing:-.015em;min-height:35px}
.sv-service-card h3 a{text-decoration:none}
.sv-service-card p{font-size:.77rem;line-height:1.35;color:#263d4f;margin:0 0 9px;min-height:42px}
.sv-learn{font-size:.73rem;font-weight:800;color:#0877b8;text-decoration:none}
.sv-learn span{margin-left:4px}

/* Footer in approved visual style */
.home-v2 .site-footer{margin-top:0}
.site-footer{background:#032a4a;color:#d8edf7;padding-top:0}
.footer__grid--v2{display:grid;grid-template-columns:1.5fr .82fr 1.1fr .9fr 1.05fr;gap:45px;padding:17px 0 14px}
.footer__brand img{width:250px;max-width:100%;height:auto;margin-bottom:7px;filter:none}
.footer__brand p{max-width:280px;margin:0 0 9px;font-size:.74rem;line-height:1.45;color:#e4f3f9}
.footer__mini-links{display:flex;gap:8px}.footer__mini-links a{border:1px solid rgba(255,255,255,.35);border-radius:50px;padding:3px 9px;font-size:.68rem}
.footer__heading{font-family:inherit;color:#fff;font-size:.82rem;letter-spacing:0;margin:0 0 8px;font-weight:800}
.footer__grid--v2>div:not(.footer__brand)>a{display:block;text-decoration:none;color:#d7eaf3;font-size:.7rem;line-height:1.6;padding:0;margin:0}
.footer__grid--v2>div:not(.footer__brand)>p{font-size:.7rem;margin:3px 0;color:#d7eaf3}
.footer__phone{font-weight:800!important;color:#fff!important;font-size:.74rem!important;margin-bottom:2px!important}
.footer__quote{display:inline-flex!important;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.68);border-radius:4px;margin-top:8px!important;padding:6px 13px!important;color:#fff!important;font-weight:800!important;width:max-content}
.footer__bottom{min-height:38px;border-top:1px solid rgba(255,255,255,.16);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;font-size:.64rem;color:#c5dce7}
.footer__bottom p{margin:0}.footer__bottom p:last-child{text-align:right}.footer__bottom div{display:flex;gap:14px}.footer__bottom a{text-decoration:none;color:#dbeaf2}

/* Service overview + detailed service pages */
.service-overview-v2 .service-hero,.service-detail-v2 .service-hero{padding:62px 0;background:linear-gradient(120deg,#f8fcfe,#e7f6fc)}
.service-overview-v2 .service-hero h1,.service-detail-v2 .service-hero h1{font-size:clamp(2.7rem,5vw,4.8rem)}
.service-overview-v2 .service-hero__grid,.service-detail-v2 .service-hero__grid{grid-template-columns:1.1fr .9fr;gap:60px}
.service-overview-v2 .service-hero__image img,.service-detail-v2 .service-hero__image img{border-radius:18px;aspect-ratio:16/10;object-fit:cover}
.sv-overview-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.sv-overview-card{background:#fff;border:1px solid var(--sv-line);border-radius:16px;overflow:hidden;box-shadow:0 10px 28px rgba(3,48,82,.07)}
.sv-overview-card img{width:100%;height:180px;object-fit:cover}.sv-overview-card div{padding:22px}.sv-overview-card h2{font-size:1.55rem}.sv-overview-card p{color:var(--sv-muted)}
.sv-content-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:70px;align-items:start}
.sv-rich-copy h2{font-size:clamp(2rem,3vw,3rem);margin-top:45px}.sv-rich-copy h2:first-child{margin-top:0}.sv-rich-copy h3{font-size:1.35rem;margin-top:28px}.sv-rich-copy p,.sv-rich-copy li{color:#385468}.sv-rich-copy ul{padding-left:20px}.sv-aside{position:sticky;top:25px;background:#eef8fd;border-radius:18px;padding:26px;border:1px solid #d6e7ef}.sv-aside h2{font-size:1.55rem}.sv-aside a{display:block;margin:9px 0;color:#086fa9;font-weight:800}.sv-method{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:24px}.sv-method article{border:1px solid #d9e7ee;border-radius:14px;padding:22px;background:#fff}.sv-method span{display:grid;width:34px;height:34px;border-radius:50%;place-items:center;background:#0b86bc;color:#fff;font-weight:900;margin-bottom:14px}.sv-faq{margin-top:28px}.sv-faq details{border:1px solid #d8e7ef;border-radius:12px;background:#fff;margin:10px 0}.sv-faq summary{cursor:pointer;padding:17px 20px;font-weight:800;color:#0a3152}.sv-faq details p{padding:0 20px 18px;margin:0}.sv-related{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.sv-related a{display:block;border:1px solid #d8e6ed;background:#fff;border-radius:12px;padding:18px;text-decoration:none;font-weight:800;color:#0a3152}.sv-author-note{margin-top:35px;padding:18px 22px;border-left:4px solid #13a2d2;background:#f1f9fd;color:#345269}.sv-author-note strong{color:#0a3152}

@media(max-width:1200px){
  :root{--sv-shell:min(100% - 38px,1140px)}
  .brand{flex-basis:355px;width:355px;max-width:355px;min-width:300px}
  .site-nav{gap:18px}.site-nav>a,.nav-item>a{font-size:.84rem}.header__cta{padding:0 18px}
  .sv-service-cards{grid-template-columns:repeat(4,1fr)}
  .sv-service-card:nth-child(n+5){margin-top:4px}
  .footer__grid--v2{grid-template-columns:1.35fr 1fr 1fr 1fr}.footer__grid--v2>div:last-child{grid-column:2/5}
}
@media(max-width:1000px){
  .site-header{position:sticky;top:0}.header__inner{min-height:86px}.brand{flex:0 1 330px;width:330px;max-width:330px;min-width:240px}.brand img{max-height:70px}
  .nav-toggle{display:block;margin-left:auto}.site-nav{display:none;position:absolute;top:86px;left:20px;right:20px;padding:15px;background:#fff;border-radius:12px;box-shadow:0 22px 50px rgba(4,40,68,.18);flex-direction:column;align-items:stretch;gap:2px}.site-nav.is-open{display:flex}.site-nav>a,.nav-item>a{padding:11px 12px}.nav-submenu{display:block;position:static;width:auto;padding:0 0 4px 18px;border:0;box-shadow:none}.nav-submenu a{padding:7px 10px;font-size:.78rem}.header__cta{display:none}
  .sv-home-hero{height:auto;min-height:520px}.sv-home-hero__image{width:52%;opacity:.7}.sv-home-hero:before{background:linear-gradient(90deg,rgba(255,255,255,.94) 0%,rgba(255,255,255,.88) 52%,rgba(255,255,255,.35) 82%,rgba(255,255,255,.1) 100%)}.sv-home-hero__inner{min-height:520px}.sv-home-hero__copy{width:70%}.sv-local-badge{right:10%;bottom:25px}
  .sv-service-cards{grid-template-columns:repeat(3,1fr)}
  .footer__grid--v2{grid-template-columns:1.4fr 1fr 1fr}.footer__grid--v2>div:last-child{grid-column:auto}.footer__grid--v2>div:nth-child(4){grid-column:2}.footer__grid--v2>div:nth-child(5){grid-column:3}.footer__bottom{grid-template-columns:1fr auto}.footer__bottom p:last-child{display:none}
  .sv-overview-grid{grid-template-columns:1fr 1fr}.sv-content-grid{grid-template-columns:1fr}.sv-aside{position:static}.sv-method{grid-template-columns:1fr 1fr}.sv-related{grid-template-columns:1fr 1fr}
}
@media(max-width:720px){
  :root{--sv-shell:min(100% - 26px,680px)}
  .topline__local{display:none}.topline__inner{justify-content:center}.topline__divider{display:none}.topline__contact{gap:18px}.topline__contact a:last-child{display:none}
  .brand{flex-basis:245px;width:245px;max-width:245px;min-width:0}.brand img{max-height:64px}
  .sv-home-hero{min-height:590px}.sv-home-hero__image{width:100%;height:48%;top:auto;bottom:0;opacity:1}.sv-home-hero:before{background:linear-gradient(180deg,#f4fbfe 0%,#e9f7fc 52%,rgba(233,247,252,.65) 65%,rgba(233,247,252,0) 100%)}.sv-home-hero__inner{min-height:590px;align-items:flex-start}.sv-home-hero__copy{width:100%;padding-top:36px}.sv-home-hero h1{font-size:2.55rem}.sv-home-checks{display:grid;grid-template-columns:1fr 1fr;gap:8px 16px}.sv-home-actions{gap:10px}.sv-button{min-width:0;flex:1;padding:0 10px}.sv-local-badge{display:none}
  .sv-services-band{padding-top:17px}.sv-service-cards{grid-template-columns:1fr 1fr;gap:12px}.sv-service-card__image{height:120px}.sv-service-card__icon{top:94px}.sv-service-card h3{min-height:auto}.sv-service-card p{min-height:auto}
  .footer__grid--v2{grid-template-columns:1fr 1fr;gap:28px 24px;padding:30px 0}.footer__brand{grid-column:1/3}.footer__grid--v2>div:nth-child(4),.footer__grid--v2>div:nth-child(5){grid-column:auto}.footer__bottom{display:block;padding:12px 0}.footer__bottom div{margin-top:8px;flex-wrap:wrap}
  .sv-overview-grid,.sv-method,.sv-related{grid-template-columns:1fr}.sv-content-grid{gap:35px}
}
@media(max-width:460px){
  .brand{flex-basis:205px;width:205px;max-width:205px}.header__inner{gap:8px}.nav-toggle{padding:6px}
  .sv-home-hero h1{font-size:2.15rem}.sv-home-hero__copy>p{font-size:.92rem}.sv-home-checks{grid-template-columns:1fr;font-size:.78rem}.sv-home-actions{flex-direction:column;align-items:stretch}.sv-button{width:100%}
  .sv-service-cards{grid-template-columns:1fr}.sv-service-card__image{height:150px}.sv-service-card__icon{top:124px}.sv-service-card__body{padding-top:31px}.sv-service-card h3{font-size:1.12rem}.sv-service-card p{font-size:.84rem}
  .footer__grid--v2{grid-template-columns:1fr}.footer__brand{grid-column:auto}.footer__grid--v2>div:nth-child(4),.footer__grid--v2>div:nth-child(5){grid-column:auto}
}
