:root{
  --jss-blue:#073b7a;
  --jss-blue2:#0b5cad;
  --jss-red:#d71920;
  --jss-cyan:#00a9e8;
  --jss-ink:#132842;
  --jss-muted:#5f6f83;
  --jss-bg:#f4f8fd;
  --jss-dark:#081d39;
  --jss-line:#e5edf7;
  --jss-white:#fff;
  --jss-shadow:0 16px 45px rgba(8,42,83,.12);
  --jss-shadow-lg:0 24px 55px rgba(8,42,83,.16);
}
html{scroll-behavior:smooth}
body{
  font-family:'Kanit','Prompt',Arial,sans-serif!important;
  color:var(--jss-ink);
  background:#fff!important;
  padding-top:116px;
  text-align:left!important;
}
a{transition:all .2s ease}
img{max-width:100%;height:auto}
.mainmenu{background:#fff!important;box-shadow:0 6px 28px rgba(0,35,80,.09);padding:0!important}
.jss-topbar{height:36px;background:var(--jss-dark);color:#d8e6f7;font-size:.82rem;display:flex;align-items:center}
.jss-topbar .inner{width:100%;max-width:1480px;margin:auto;padding:0 24px;display:flex;justify-content:space-between;align-items:center;gap:20px}
.jss-topbar a{color:#fff;margin-left:18px;text-decoration:none}
.jss-topbar a:hover{color:#d2eaff}
.jss-navbar-wrap{max-width:1480px;margin:auto;padding:0 20px}
.navbar{min-height:80px;padding:.35rem 0!important}
.navbar-brand.logo{display:flex!important;align-items:center!important;justify-content:flex-start!important;min-width:max-content!important;width:auto!important;max-width:none!important;text-decoration:none!important;gap:8px!important;flex:0 0 auto!important;margin-top:0!important;padding:0!important;position:relative!important;overflow:visible!important}
.navbar-brand.logo img{width:96px!important;height:auto!important;max-height:76px!important;object-fit:contain!important;flex:0 0 auto!important;margin:0 -4px 0 0!important;position:static!important;z-index:auto!important}
.jss-brand-text{line-height:1.12!important;display:flex!important;flex-direction:column!important;justify-content:center!important;align-items:flex-start!important;min-width:0!important;margin:0!important;padding:0!important;text-align:left!important;transform:translateX(-2px)}
.jss-brand-text strong{display:block!important;color:var(--jss-blue);font-size:1.55rem;font-weight:800;white-space:nowrap!important;width:max-content!important;max-width:none!important;overflow:visible!important}
.jss-brand-text span{display:block!important;color:#617185;font-size:.95rem;font-weight:600;margin-top:6px;white-space:nowrap!important;width:max-content!important;max-width:none!important;overflow:visible!important}
.navbar-light .navbar-nav .nav-link{color:#152238!important;font-weight:600;padding:1.55rem .56rem!important;white-space:nowrap;font-size:.96rem}
.navbar-light .navbar-nav .nav-link:hover,.navbar-light .navbar-nav .active>.nav-link,.navbar-light .navbar-nav .show>.nav-link{color:var(--jss-red)!important}
.navbar .dropdown-menu{display:none}
.navbar .show>.dropdown-menu{display:block}
.jss-nav-tools{display:flex;align-items:center;gap:10px;margin-left:14px}
.jss-quote-btn{background:var(--jss-red)!important;border-color:var(--jss-red)!important;border-radius:999px!important;font-weight:700!important;padding:.74rem 1.15rem!important;white-space:nowrap;box-shadow:0 10px 20px rgba(215,25,32,.2)}
.jss-quote-btn:hover{transform:translateY(-1px)}
.jss-lang{display:inline-flex;align-items:center;gap:6px;border-left:1px solid #d8e0ea;padding-left:14px}
.jss-lang a{font-size:.92rem;font-weight:700;color:#758196;text-decoration:none}
.jss-lang a.active{color:var(--jss-blue)}
.jss-mega{left:50%!important;transform:translateX(-50%);width:min(1180px,92vw);padding:26px!important;border:0!important;border-radius:0 0 22px 22px!important;box-shadow:0 20px 55px rgba(7,31,60,.18);background:rgba(255,255,255,.99)!important}
.jss-mega-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px 28px}
.jss-mega-title{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--jss-line);padding-bottom:12px;margin-bottom:5px}
.jss-mega-title strong{font-size:1.08rem;color:var(--jss-blue)}
.jss-mega-title a{color:var(--jss-red);font-weight:600;text-decoration:none}
.jss-mega-item{display:grid;grid-template-columns:44px 1fr;gap:10px;padding:11px;border-radius:12px;color:var(--jss-ink)!important;text-decoration:none!important}
.jss-mega-item:hover{background:#f0f6fd}
.jss-mega-item i,.jss-mega-icon{font-size:25px;color:var(--jss-blue2);width:36px;text-align:center;align-self:center}
.jss-mega-item b{display:block;color:#173456;font-size:.95rem}
.jss-mega-item small{display:block;color:#778396;font-size:.77rem;line-height:1.35;margin-top:3px}
/* HOME */
.jss-hero{position:relative;min-height:650px;background:#f5f9fe;overflow:hidden}
.jss-hero-bg{position:absolute;inset:0;background:url('../img/jss-hero-2026.png') center right/cover no-repeat}
.jss-hero-bg:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.99) 0%,rgba(255,255,255,.95) 30%,rgba(255,255,255,.60) 50%,rgba(255,255,255,.05) 74%)}
.jss-hero-inner{position:relative;z-index:2;max-width:1480px;margin:auto;min-height:650px;padding:64px 38px;display:flex;align-items:center}
.jss-hero-copy{max-width:660px}
.jss-kicker{display:inline-flex;align-items:center;gap:8px;color:var(--jss-red);font-weight:700;font-size:1rem;border-bottom:2px solid var(--jss-red);padding-bottom:6px}
.jss-hero h1{font-size:clamp(2.6rem,4vw,4.8rem);font-weight:800;line-height:1.04;color:var(--jss-blue);margin:18px 0 12px}
.jss-hero h1 span{color:var(--jss-red)}
.jss-hero-lead{font-size:1.15rem;color:#344b68;line-height:1.75;max-width:600px}.jss-rank-claim{display:inline-flex;align-items:center;gap:10px;margin-top:16px;padding:12px 18px;border-radius:999px;background:rgba(215,25,32,.08);border:1px solid rgba(215,25,32,.15);color:var(--jss-red);font-size:1.08rem;font-weight:800;box-shadow:0 10px 20px rgba(215,25,32,.08);width:auto;max-width:max-content}
.jss-hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.jss-btn-primary,.jss-btn-outline{border-radius:999px;padding:13px 24px;font-weight:700;text-decoration:none!important;display:inline-flex;align-items:center;gap:9px}
.jss-btn-primary{background:var(--jss-blue);color:#fff!important;box-shadow:0 10px 22px rgba(7,59,122,.22)}
.jss-btn-primary:hover{background:#052d5e;transform:translateY(-1px)}
.jss-btn-outline{background:#fff;color:var(--jss-blue)!important;border:1px solid #bfd0e5;box-shadow:0 8px 25px rgba(8,42,83,.08)}
.jss-btn-outline:hover{border-color:#8cb8e2;transform:translateY(-1px)}
.jss-trust{display:flex;gap:22px;flex-wrap:wrap;margin-top:26px;color:#536176;font-size:.96rem}
.jss-trust b{color:var(--jss-ink)}
.jss-quick{max-width:1320px;margin:-34px auto 0;position:relative;z-index:5;background:#fff;border-radius:22px;box-shadow:var(--jss-shadow);padding:18px 24px 0;display:grid;grid-template-columns:repeat(6,1fr);gap:12px}
.jss-quick a{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:16px 10px;border-radius:18px;text-decoration:none!important;color:var(--jss-ink);font-weight:600;text-align:center;min-height:118px}
.jss-quick a:hover{background:#f4f8fd;color:var(--jss-blue)}
.jss-quick i{font-size:1.85rem;color:var(--jss-blue2);margin-bottom:12px}
.jss-expertise-inline{grid-column:1/-1;border-top:1px solid #e4edf7;margin-top:2px;padding:18px 10px 20px;display:flex;align-items:center;justify-content:center;gap:26px;flex-wrap:wrap;background:linear-gradient(180deg,#fff,#f9fbfe);border-radius:0 0 22px 22px}.jss-expertise-title{color:var(--jss-blue);font-size:1.15rem;font-weight:800;white-space:nowrap}.jss-expertise-services{display:flex;align-items:center;justify-content:center;gap:9px 14px;flex-wrap:wrap}.jss-expertise-services span{position:relative;color:#455d79;font-size:.95rem;font-weight:600}.jss-expertise-services span:not(:last-child)::after{content:'•';margin-left:14px;color:var(--jss-red)}
.jss-section{padding:84px 24px}
.jss-section.alt{background:#f5f8fc}
.jss-container{max-width:1320px;margin:auto}
.jss-section-head{max-width:900px;margin:0 auto 34px;text-align:center}
.jss-eyebrow{display:inline-block;color:var(--jss-red);font-weight:700;letter-spacing:.08em;font-size:.82rem;margin-bottom:10px}
.jss-section-head h2{font-size:2.5rem;color:var(--jss-blue);font-weight:800;margin-bottom:12px}
.jss-section-head p{color:#5f6f83;line-height:1.75;font-size:1.05rem}
.jss-service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.jss-card{background:#fff;border:1px solid #e7eef8;border-radius:22px;padding:28px;box-shadow:var(--jss-shadow)}
.jss-card .icon{width:56px;height:56px;border-radius:15px;background:#eaf3fd;color:var(--jss-blue2);display:grid;place-items:center;font-size:1.45rem;margin-bottom:16px}
.jss-card h3{font-size:1.22rem;color:var(--jss-ink);font-weight:700}
.jss-card p{color:#66758a;line-height:1.7;font-size:.95rem}
.jss-card a{color:var(--jss-blue2);font-weight:700;text-decoration:none}
.jss-stats{background:linear-gradient(135deg,var(--jss-blue),#061f3e);color:#fff;border-radius:26px;padding:38px;display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.jss-stat{text-align:center}
.jss-stat strong{display:block;font-size:2.4rem}
.jss-stat span{color:#d7e5f7;font-size:.93rem}
.jss-work-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.jss-work{position:relative;min-height:240px;border-radius:18px;overflow:hidden;background:#123;display:block}
.jss-work img{width:100%;height:240px;object-fit:cover;transition:.35s}
.jss-work:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 42%,rgba(3,20,39,.86))}
.jss-work span{position:absolute;z-index:2;left:18px;bottom:16px;color:#fff;font-weight:700}
.jss-work:hover img{transform:scale(1.05)}
.jss-logo-strip{display:grid;grid-template-columns:repeat(6,1fr);gap:16px;align-items:center}
.jss-logo-strip .logo-box{height:95px;border:1px solid #e6edf6;border-radius:15px;background:#fff;display:flex;align-items:center;justify-content:center;padding:18px}
.jss-logo-strip img{max-width:100%;max-height:58px;object-fit:contain;filter:saturate(.92)}
.jss-cta{background:linear-gradient(120deg,#071f3c,#0b5cad);border-radius:26px;padding:42px;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:24px}
.jss-cta h3{font-size:2rem;font-weight:800;margin:0 0 8px}
.jss-cta p{margin:0;color:#d6e4f5}
.jss-cta .jss-btn-primary{background:var(--jss-red)}
/* FOOTER + FLOAT */
.jss-footer{background:#071d36;color:#c9d8ea;padding:58px 24px 24px}
.jss-footer-inner{max-width:1320px;margin:auto}
.jss-footer-grid{display:grid;grid-template-columns:1.35fr repeat(4,1fr);gap:34px}
.jss-footer h4{color:#fff;font-size:1rem;margin-bottom:15px;font-weight:700}
.jss-footer a{display:block;color:#bdcee2;text-decoration:none;font-size:.92rem;margin:8px 0}
.jss-footer a:hover{color:#fff}
.jss-footer-brand img{width:110px;background:#fff;border-radius:14px;padding:8px}
.jss-footer-brand p{font-size:.92rem;line-height:1.75;margin-top:14px}
.jss-social{display:flex;gap:9px;margin-top:16px}
.jss-social a{width:40px!important;height:40px!important;border:1px solid #45617f;border-radius:50%;display:grid!important;place-items:center;margin:0!important;flex:0 0 40px}
.jss-address,.jss-tax{font-size:.9rem;line-height:1.75;color:#c9d8ea}
.jss-footer-bottom{border-top:1px solid #28425f;margin-top:38px;padding-top:18px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:.83rem}
.jss-contact-dock{position:fixed;right:24px;bottom:24px;z-index:9998;display:flex;flex-direction:column;align-items:flex-end;gap:14px}.jss-contact-panel{display:flex;flex-direction:column;gap:12px;align-items:center;opacity:0;pointer-events:none;transform:translateY(16px);transition:all .22s ease}.jss-contact-dock.open .jss-contact-panel{opacity:1;pointer-events:auto;transform:none}.jss-contact-trigger-row{display:flex;align-items:center;gap:12px}.jss-contact-pill{background:#fff;color:#30445f;border-radius:999px;padding:10px 18px;box-shadow:0 8px 24px rgba(0,0,0,.12);font-size:.9rem;font-weight:500}.jss-contact-trigger{width:56px!important;height:56px!important;min-width:56px!important;border-radius:50%!important;background:#1f86e5!important;color:#fff!important;display:flex!important;align-items:center!important;justify-content:center!important;border:0!important;box-shadow:0 10px 24px rgba(0,0,0,.18);cursor:pointer;padding:0!important}.jss-contact-trigger i{font-size:1.18rem}.jss-float-btn{width:56px!important;height:56px!important;min-width:56px!important;max-width:56px!important;border-radius:50%!important;display:flex!important;align-items:center!important;justify-content:center!important;color:#fff!important;text-decoration:none!important;box-shadow:0 10px 24px rgba(0,0,0,.18);border:0;cursor:pointer;padding:0!important;line-height:1!important;flex:0 0 56px!important}.jss-float-phone-btn{background:#00b85a!important}.jss-float-line-btn{background:#06c755!important}.jss-float-facebook-btn{background:#1877f2!important}.jss-float-top-btn{background:var(--jss-red)!important;opacity:0;pointer-events:none;transform:translateY(10px);transition:.2s}.jss-float-top-btn.show{opacity:1;pointer-events:auto;transform:none}.jss-float-btn i{font-size:1.22rem;line-height:1}/* INNER PAGES: modernize legacy pages without changing URLs/content */
body:not(.jss-home){background:linear-gradient(180deg,#f4f8fd 0,#ffffff 460px)!important}
body:not(.jss-home) .servicebg,
body:not(.jss-home) .aboutbg,
body:not(.jss-home) .customerbg,
body:not(.jss-home) .worksbg,
body:not(.jss-home) .homebg{background:none!important;padding-top:28px!important;padding-bottom:0!important}
body:not(.jss-home) .page-heading{max-width:1320px;margin:0 auto 20px;padding:40px 42px;border-radius:28px;background:linear-gradient(135deg,#072d5c 0%,#0b5cad 52%,#00a9e8 100%);box-shadow:var(--jss-shadow-lg);text-align:left!important}
body:not(.jss-home) .page-heading span{display:block;color:#d4ebff!important;font-size:1rem!important;letter-spacing:.08em;text-transform:uppercase;padding-left:0!important;margin-bottom:8px;text-shadow:none!important}
body:not(.jss-home) .page-heading h1{color:#fff!important;font-size:3rem!important;font-weight:800!important;line-height:1.05;text-shadow:none!important;margin:0 0 10px}
body:not(.jss-home) .page-heading h4{color:#d7ebff!important;font-size:1.2rem!important;font-weight:500!important;margin:0 0 18px;text-shadow:none!important}
body:not(.jss-home) .page-heading a{display:inline-flex;align-items:center;gap:8px;background:#fff;color:var(--jss-blue)!important;border-radius:999px;padding:11px 18px;text-decoration:none!important;font-weight:700;box-shadow:0 10px 18px rgba(7,31,60,.14)}
body:not(.jss-home) .page-bg{max-width:1320px;margin:0 auto 30px;background:#fff!important;border:1px solid var(--jss-line);border-radius:28px;padding:26px 30px!important;box-shadow:var(--jss-shadow)}
body:not(.jss-home) .page-content{padding:12px 4px!important}
body:not(.jss-home) .page-content p,
body:not(.jss-home) .page-content ul,
body:not(.jss-home) .page-content ol{font-size:1.03rem!important;line-height:1.85!important;color:#31455f!important;text-align:left!important;margin-left:0!important;text-indent:0!important}
body:not(.jss-home) .page-content p + p{margin-top:14px}
body:not(.jss-home) .page-content ul,
body:not(.jss-home) .page-content ol{padding-left:1.25rem}
body:not(.jss-home) .service-heading{display:flex;align-items:center;gap:14px;padding:8px 0 18px;margin:8px 0 10px;border-bottom:1px solid var(--jss-line)}
body:not(.jss-home) .service-heading h3{margin:0;color:var(--jss-blue);font-size:1.7rem;font-weight:800}
body:not(.jss-home) .service-heading img,
body:not(.jss-home) .service-heading i{height:auto!important;width:auto!important;font-size:2rem!important;color:var(--jss-blue2)!important;max-width:40px}
body:not(.jss-home) .aboutimage img,
body:not(.jss-home) .page-bg img{border-radius:18px;box-shadow:0 16px 32px rgba(17,44,82,.12)}
body:not(.jss-home) .gallery,
body:not(.jss-home) .spotlight-group{display:flex;flex-wrap:wrap;margin:0 -8px}
body:not(.jss-home) .gallery>a,
body:not(.jss-home) .spotlight-group>a,
body:not(.jss-home) .column1>a,
body:not(.jss-home) .column2>a{padding:8px;display:block}
body:not(.jss-home) .gallery img,
body:not(.jss-home) .column1 img,
body:not(.jss-home) .column2 img{width:100%;border-radius:16px;box-shadow:0 12px 24px rgba(17,44,82,.12)}
body:not(.jss-home) .gallery img:hover,
body:not(.jss-home) .column1 img:hover,
body:not(.jss-home) .column2 img:hover{filter:none;transform:translateY(-2px);box-shadow:0 16px 30px rgba(17,44,82,.18)!important}
body:not(.jss-home) .aboutlist{padding:10px 0 0}
body:not(.jss-home) .aboutlist h3{color:var(--jss-blue)!important;font-size:1.6rem!important;font-weight:800}
body:not(.jss-home) .aboutlist ul{margin-left:0;padding-left:1.2rem}
body:not(.jss-home) .aboutlist ul li{margin:10px 0;color:var(--jss-blue2)}
body:not(.jss-home) .aboutlist ul li span{font-size:1rem!important;color:#334a66!important;font-weight:600}
body:not(.jss-home) .service-content{border:1px solid var(--jss-line)!important;border-radius:22px!important;padding:26px 22px!important;text-align:left!important;width:100%;height:100%;transition:.25s all ease;margin-bottom:18px;cursor:pointer;box-shadow:0 10px 24px rgba(8,42,83,.08);background:#fff}
body:not(.jss-home) .service-content:hover{box-shadow:0 18px 34px rgba(8,42,83,.15)!important;transform:translateY(-4px)}
body:not(.jss-home) .service-content a{text-decoration:none!important;color:inherit!important;display:block}
body:not(.jss-home) .service-content h3{color:var(--jss-blue);font-size:1.35rem;font-weight:800;margin:12px 0 10px}
body:not(.jss-home) .service-content p{font-size:.98rem!important;line-height:1.75!important;color:#5e6f83!important;margin:0!important}
body:not(.jss-home) .service-content i,
body:not(.jss-home) .service-content img{height:44px;max-width:48px;width:auto;display:block;box-shadow:none}
body:not(.jss-home) .red-head h5{font-size:2rem;color:var(--jss-red)!important;font-weight:800}
body:not(.jss-home) .customer-logo{display:flex!important;flex-wrap:wrap;justify-content:center;gap:18px;padding:10px 0 18px}
body:not(.jss-home) .customer-logo img,
body:not(.jss-home) .customer-logo-t1 img{width:auto!important;height:82px!important;max-width:180px;object-fit:contain;background:#fff;border:1px solid var(--jss-line);border-radius:16px;padding:14px;box-shadow:0 10px 24px rgba(8,42,83,.08);margin:0!important}
body:not(.jss-home) .column1{flex:16.5%;max-width:16.5%;padding:0 8px}
body:not(.jss-home) .column2{flex:32.5%;max-width:32.5%;padding:0 8px}
body:not(.jss-home) .containerjob{max-width:1100px;margin:20px auto 0;background:#fff;padding:40px;border-radius:24px;box-shadow:var(--jss-shadow);border:1px solid var(--jss-line)}
body:not(.jss-home) .copyright{display:none!important}
/* RESPONSIVE */
@media (max-width:1280px){
  .jss-brand-text strong{font-size:1.45rem}
  .jss-brand-text span{font-size:.92rem}
  .navbar-light .navbar-nav .nav-link{padding:1.45rem .52rem!important;font-size:.96rem}
  .jss-quick{margin:-24px 20px 0}
  .jss-service-grid{grid-template-columns:repeat(2,1fr)}
  .jss-work-grid{grid-template-columns:repeat(2,1fr)}
  .jss-footer-grid{grid-template-columns:1.4fr repeat(2,1fr)}
  .jss-logo-strip{grid-template-columns:repeat(4,1fr)}
}
@media (max-width:1199px){
  body{padding-top:96px}
  .jss-topbar{display:none}
  .jss-navbar-wrap{padding:0 14px}
  .navbar{min-height:96px}
  .navbar-brand.logo{min-width:0!important;width:auto!important;max-width:none!important;gap:7px!important;flex:1 1 auto!important;overflow:visible!important}.jss-brand-text{min-width:0!important;width:auto!important;max-width:none!important;flex:0 0 auto!important}.jss-brand-text strong,.jss-brand-text span{white-space:nowrap!important;width:auto!important;max-width:none!important}
  .navbar-brand.logo img{width:84px;max-height:72px}
  .jss-brand-text strong{font-size:1.22rem}
  .jss-brand-text span{font-size:.84rem}
  .navbar-collapse{background:#fff;padding:14px 6px 18px;border-top:1px solid var(--jss-line);box-shadow:0 16px 24px rgba(8,42,83,.08);border-radius:0 0 18px 18px;max-height:78vh;overflow:auto}
  .navbar-light .navbar-nav .nav-link{padding:.84rem 1rem!important;font-size:1rem}
  .jss-nav-tools{display:block;margin:10px 0 0 14px}
  .jss-lang{margin-top:12px;border-left:0;padding-left:0}
  .jss-mega{position:static!important;transform:none!important;width:100%;padding:10px!important;box-shadow:none;border-radius:14px!important;background:#f7fbff!important;margin-top:8px}
  .jss-mega-grid{grid-template-columns:1fr}
  .jss-mega-title{display:none}
  .jss-mega-item small{display:block}
  .jss-hero,.jss-hero-inner{min-height:680px}
  .jss-hero-bg{background-position:72% center}
  .jss-hero-bg:after{background:linear-gradient(180deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.94) 60%,rgba(255,255,255,.44) 100%)}
  .jss-hero-inner{padding:36px 22px;align-items:flex-start}
  .jss-quick{grid-template-columns:repeat(3,1fr);margin:-16px 12px 0;padding:12px}
  .jss-work-grid,.jss-service-grid,.jss-stats,.jss-logo-strip,.jss-footer-grid{grid-template-columns:1fr}
  .jss-stats{padding:28px}
  .jss-cta{padding:28px;display:block}
  .jss-cta .jss-btn-primary{margin-top:20px}
  body:not(.jss-home) .page-heading{padding:28px 24px}
  body:not(.jss-home) .page-heading h1{font-size:2.35rem!important}
  body:not(.jss-home) .page-heading h4{font-size:1rem!important}
  body:not(.jss-home) .column1{flex:33.33%;max-width:33.33%}
  body:not(.jss-home) .column2{flex:50%;max-width:50%}
}
@media (max-width:767px){
    .jss-expertise-inner{padding:18px 16px;gap:12px}
  .jss-expertise-title{font-size:1.05rem}
  .jss-expertise-services{gap:7px 10px}
  .jss-expertise-services span{font-size:.86rem}
  .jss-expertise-services span:not(:last-child)::after{margin-left:10px}
  body{padding-top:86px}
  .navbar{min-height:86px}
  .navbar-brand.logo{min-width:0!important;width:auto!important;max-width:none!important;gap:6px!important;flex:1 1 auto!important;overflow:visible!important}.jss-brand-text{min-width:0!important;width:auto!important;max-width:none!important;flex:0 0 auto!important}.jss-brand-text strong,.jss-brand-text span{white-space:nowrap!important;width:auto!important;max-width:none!important}
  .navbar-brand.logo img{width:74px;max-height:64px}
  .jss-brand-text strong{font-size:1rem;line-height:1.14}
  .jss-brand-text span{font-size:.70rem;line-height:1.3}
  .jss-hero,.jss-hero-inner{min-height:690px}
  .jss-hero h1{font-size:2.45rem}
  .jss-hero-lead{font-size:1rem}
  .jss-trust{gap:12px}
  .jss-quick a{font-size:.78rem;min-height:102px}
  .jss-section{padding:58px 16px}
  .jss-section-head h2{font-size:1.9rem}
  .jss-logo-strip{grid-template-columns:repeat(2,1fr)}
  .jss-footer-bottom{display:block}
  .jss-contact-dock{right:14px;bottom:16px}
  .jss-contact-pill{display:none}
  .jss-contact-trigger{width:54px!important;height:54px!important;min-width:54px!important}
  .jss-float-btn{width:54px!important;height:54px!important;min-width:54px!important;max-width:54px!important;flex-basis:54px!important}
  body:not(.jss-home) .page-bg{padding:22px 18px!important;border-radius:22px}
  body:not(.jss-home) .page-heading{padding:24px 18px;border-radius:22px}
  body:not(.jss-home) .page-heading h1{font-size:1.95rem!important}
  body:not(.jss-home) .service-heading h3{font-size:1.35rem}
  body:not(.jss-home) .column1,
  body:not(.jss-home) .column2{flex:50%;max-width:50%}
  body:not(.jss-home) .customer-logo img,
  body:not(.jss-home) .customer-logo-t1 img{height:68px!important;max-width:145px}
  body:not(.jss-home) .containerjob{padding:24px}
}


/* V1.3.4 HEADER BRAND: fixed 2-line text to the RIGHT of logo, never overlapping */
.navbar-brand.logo{
  display:grid!important;
  grid-template-columns:96px minmax(0,max-content)!important;
  grid-template-rows:auto!important;
  column-gap:12px!important;
  align-items:center!important;
  justify-content:start!important;
  width:max-content!important;
  max-width:none!important;
  min-width:0!important;
  overflow:visible!important;
  margin:0!important;
  padding:0!important;
  transform:none!important;
}
.navbar-brand.logo img{
  grid-column:1!important;
  width:96px!important;
  height:auto!important;
  max-height:76px!important;
  margin:0!important;
  padding:0!important;
  position:static!important;
  transform:none!important;
}
.jss-brand-text{
  grid-column:2!important;
  display:grid!important;
  grid-template-rows:auto auto!important;
  row-gap:5px!important;
  align-items:center!important;
  justify-items:start!important;
  width:max-content!important;
  min-width:0!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  transform:none!important;
  text-align:left!important;
}
.jss-brand-text strong,
.jss-brand-text span{
  display:block!important;
  position:static!important;
  transform:none!important;
  margin-left:0!important;
  padding-left:0!important;
  white-space:nowrap!important;
  width:max-content!important;
  max-width:none!important;
  overflow:visible!important;
}
.jss-brand-text strong{font-size:1.48rem!important;line-height:1.05!important}
.jss-brand-text span{font-size:.90rem!important;line-height:1.15!important;margin-top:0!important}

@media (max-width:1199px){
  .navbar-brand.logo{
    grid-template-columns:82px minmax(0,max-content)!important;
    column-gap:10px!important;
    flex:0 0 auto!important;
  }
  .navbar-brand.logo img{width:82px!important;max-height:68px!important}
  .jss-brand-text strong{font-size:1.30rem!important}
  .jss-brand-text span{font-size:.82rem!important}
}
@media (max-width:767px){
  .navbar-brand.logo{
    grid-template-columns:72px minmax(0,max-content)!important;
    column-gap:8px!important;
  }
  .navbar-brand.logo img{width:72px!important;max-height:62px!important}
  .jss-brand-text strong{font-size:1.08rem!important;line-height:1.05!important}
  .jss-brand-text span{font-size:.72rem!important;line-height:1.15!important}
}
@media (max-width:575px){
  .navbar-brand.logo{grid-template-columns:64px minmax(0,max-content)!important;column-gap:7px!important}
  .navbar-brand.logo img{width:64px!important;max-height:56px!important}
  .jss-brand-text strong{font-size:.92rem!important}
  .jss-brand-text span{font-size:.62rem!important}
}

/* V1.3.6: restore full partners, customers and certificates */
.jss-logo-strip-all{grid-template-columns:repeat(7,1fr);gap:14px}
.jss-logo-strip-all .logo-box{height:92px;padding:14px}
.jss-logo-strip-all img{max-height:58px;max-width:100%;object-fit:contain;box-shadow:none!important;border-radius:0!important}
.jss-customer-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:14px;align-items:stretch}
.jss-customer-logo{height:112px;background:#fff;border:1px solid #e4ecf6;border-radius:18px;display:flex;align-items:center;justify-content:center;padding:16px;box-shadow:0 10px 24px rgba(8,42,83,.07)}
.jss-customer-logo img{max-width:100%;max-height:78px;object-fit:contain;box-shadow:none!important;border-radius:0!important}
.jss-section-action{text-align:center;margin-top:28px}
.jss-cert-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.jss-cert-card{background:#fff;border:1px solid #e4ecf6;border-radius:20px;padding:14px;text-decoration:none!important;box-shadow:0 12px 28px rgba(8,42,83,.08);transition:.25s;overflow:hidden}
.jss-cert-card:hover{transform:translateY(-4px);box-shadow:0 18px 36px rgba(8,42,83,.14)}
.jss-cert-card img{width:100%;height:180px;object-fit:contain;background:#fff;border-radius:14px;box-shadow:none!important}
.jss-cert-card span{display:block;color:#314a69;font-size:.9rem;font-weight:600;text-align:center;margin-top:10px;line-height:1.4}
/* Remove the blank strip below the footer on legacy inner pages */
body:not(.jss-home) .servicebg,body:not(.jss-home) .aboutbg,body:not(.jss-home) .customerbg,body:not(.jss-home) .worksbg,body:not(.jss-home) .homebg{padding-bottom:0!important;margin-bottom:0!important}
body:not(.jss-home) .jss-footer{margin-bottom:0!important}
html,body{min-height:100%}
@media(max-width:1280px){.jss-logo-strip-all{grid-template-columns:repeat(6,1fr)}.jss-customer-grid{grid-template-columns:repeat(6,1fr)}}
@media(max-width:991px){.jss-logo-strip-all{grid-template-columns:repeat(4,1fr)}.jss-customer-grid{grid-template-columns:repeat(4,1fr)}.jss-cert-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:575px){.jss-logo-strip-all{grid-template-columns:repeat(2,1fr)}.jss-customer-grid{grid-template-columns:repeat(2,1fr)}.jss-cert-grid{grid-template-columns:1fr}.jss-cert-card img{height:200px}}


/* V1.3.7: inner-page footer flow + restored About contact/map */
html{min-height:100%;background:#071d36}
body:not(.jss-home){
  min-height:100vh!important;
  margin:0!important;
  padding-bottom:0!important;
  background:#f4f8fd!important;
}
body:not(.jss-home) > .servicebg,
body:not(.jss-home) > .aboutbg,
body:not(.jss-home) > .customerbg,
body:not(.jss-home) > .worksbg,
body:not(.jss-home) > .homebg{
  min-height:calc(100vh - 116px);
  display:flex;
  flex-direction:column;
  width:100%;
  margin:0!important;
  padding-bottom:0!important;
}
body:not(.jss-home) > .servicebg > .jss-footer,
body:not(.jss-home) > .aboutbg > .jss-footer,
body:not(.jss-home) > .customerbg > .jss-footer,
body:not(.jss-home) > .worksbg > .jss-footer,
body:not(.jss-home) > .homebg > .jss-footer{
  width:100%!important;
  max-width:100%!important;
  margin-left:0!important;
  margin-right:0!important;
  margin-top:auto!important;
  margin-bottom:0!important;
  flex:0 0 auto;
}
body:not(.jss-home) > .worksbg > .page-bg:last-of-type{margin-bottom:30px!important}

/* Contact / map section restored on About page */
.aboutbg #contact{
  background:#f4f8fd!important;
  padding:56px 20px!important;
  margin:0!important;
}
.aboutbg #contact > .container{max-width:1320px!important;margin:0 auto!important}
.aboutbg #contact .row{display:flex;flex-wrap:wrap;margin-left:-14px;margin-right:-14px}
.aboutbg #contact .col-md-5,
.aboutbg #contact .col-md-7{padding-left:14px;padding-right:14px}
.aboutbg #contact .g-4{row-gap:28px}
.aboutbg #contact .border-start{border-left:5px solid #0d6efd!important}
.aboutbg #contact .border-5{border-width:5px!important}
.aboutbg #contact .border-3{border-width:3px!important}
.aboutbg #contact .fw-bold{font-weight:700!important}
.aboutbg #contact .fw-semibold{font-weight:600!important}
.aboutbg #contact .fst-italic{font-style:italic!important}
.aboutbg #contact .ps-3{padding-left:1rem!important}
.aboutbg #contact .ps-0{padding-left:0!important}
.aboutbg #contact .me-3{margin-right:1rem!important}
.aboutbg #contact .ms-3{margin-left:1rem!important}
.aboutbg #contact .px-4{padding-left:1.5rem!important;padding-right:1.5rem!important}
.aboutbg #contact .py-2{padding-top:.65rem!important;padding-bottom:.65rem!important}
.aboutbg #contact .bg-white{background:#fff!important}
.aboutbg #contact .bg-light{background:#f4f8fd!important}
.aboutbg #contact .bg-primary{background:#087cf0!important}
.aboutbg #contact .bg-success{background:#10b24a!important}
.aboutbg #contact .text-primary{color:#087cf0!important}
.aboutbg #contact .text-danger{color:#e11d2e!important}
.aboutbg #contact .text-secondary{color:#6b7788!important}
.aboutbg #contact .text-muted{color:#7a8797!important}
.aboutbg #contact .shadow{box-shadow:0 18px 38px rgba(8,42,83,.12)!important}
.aboutbg #contact .h-100{height:100%!important}
.aboutbg #contact .d-flex{display:flex!important}
.aboutbg #contact .flex-column{flex-direction:column!important}
.aboutbg #contact .flex-grow-1{flex-grow:1!important}
.aboutbg #contact .align-items-center{align-items:center!important}
.aboutbg #contact .align-items-end{align-items:flex-end!important}
.aboutbg #contact .justify-content-center{justify-content:center!important}
.aboutbg #contact .mt-auto{margin-top:auto!important}
.aboutbg #contact .w-100{width:100%!important}
.aboutbg #contact .rounded-circle{border-radius:50%!important}
.aboutbg #contact .rounded{border-radius:.45rem!important}
.aboutbg #contact .border{border:1px solid #dfe7f1!important}
.aboutbg #contact .p-1{padding:.25rem!important}
.aboutbg #contact .text-center{text-align:center!important}
.aboutbg #contact .mb-0{margin-bottom:0!important}
.aboutbg #contact .mb-1{margin-bottom:.25rem!important}
.aboutbg #contact .mb-3{margin-bottom:1rem!important}
.aboutbg #contact .mb-4{margin-bottom:1.5rem!important}
.aboutbg #contact h2{font-size:2.1rem!important;color:#087cf0!important;margin-top:0!important}
.aboutbg #contact h5{font-size:1.15rem!important;color:#1b2f49!important}
.aboutbg #contact p,
.aboutbg #contact li,
.aboutbg #contact span,
.aboutbg #contact div{font-family:'Kanit','Prompt',Arial,sans-serif}
.aboutbg #contact .map-header-link{text-decoration:none!important;border-radius:18px 18px 0 0}
.aboutbg #contact .map-wrapper{border-radius:0 0 18px 18px;overflow:hidden}
.aboutbg #contact .col-md-5 > div,
.aboutbg #contact .col-md-7 > div{border-radius:18px;overflow:hidden}
.aboutbg #contact .btn-danger{background:#e00000!important;border-color:#e00000!important;border-radius:5px!important;font-weight:700!important;padding:.75rem 1rem!important}

@media(max-width:767px){
  body:not(.jss-home) > .servicebg,
  body:not(.jss-home) > .aboutbg,
  body:not(.jss-home) > .customerbg,
  body:not(.jss-home) > .worksbg,
  body:not(.jss-home) > .homebg{min-height:calc(100vh - 86px)}
  .aboutbg #contact{padding:38px 14px!important}
  .aboutbg #contact .col-md-5,
  .aboutbg #contact .col-md-7{flex:0 0 100%;max-width:100%;margin-bottom:20px}
  .aboutbg #contact .map-wrapper{padding-bottom:75%!important}
  .aboutbg #contact h2{font-size:1.65rem!important}
}

/* V1.3.9: compact 2-row technology partner carousel - more brands visible */
.jss-partner-carousel{position:relative;max-width:100%;padding:0 48px}
.jss-partner-viewport{overflow:hidden;width:100%;scroll-behavior:smooth}
.jss-partner-carousel .jss-logo-strip-all{
  display:grid!important;
  grid-template-rows:repeat(2,74px)!important;
  grid-auto-flow:column!important;
  grid-auto-columns:152px!important;
  grid-template-columns:none!important;
  gap:10px!important;
  width:max-content!important;
  min-width:0!important;
  align-items:stretch;
}
.jss-partner-carousel .jss-logo-strip-all .logo-box{
  width:152px!important;height:74px!important;margin:0!important;padding:9px 12px!important;
  border:1px solid #dfe8f3;border-radius:13px;background:#fff;
  display:flex;align-items:center;justify-content:center;
}
.jss-partner-carousel .jss-logo-strip-all .logo-box img{max-width:118px!important;max-height:48px!important;object-fit:contain;box-shadow:none!important;border-radius:0!important}
.jss-partner-nav{
  position:absolute;top:50%;transform:translateY(-50%);z-index:4;
  width:40px;height:40px;border-radius:50%;border:1px solid #d6e3f1;
  background:#fff;color:var(--jss-blue);display:flex;align-items:center;justify-content:center;
  box-shadow:0 8px 24px rgba(8,42,83,.14);cursor:pointer;transition:.2s ease;
}
.jss-partner-nav:hover{background:var(--jss-blue);color:#fff;border-color:var(--jss-blue)}
.jss-partner-nav.prev{left:0}.jss-partner-nav.next{right:0}
.jss-partner-nav i{font-size:.95rem}
@media(max-width:1199px){
  .jss-partner-carousel{padding:0 44px}
  .jss-partner-carousel .jss-logo-strip-all{grid-template-rows:repeat(2,70px)!important;grid-auto-columns:138px!important;gap:9px!important}
  .jss-partner-carousel .jss-logo-strip-all .logo-box{width:138px!important;height:70px!important;padding:8px 10px!important}
  .jss-partner-carousel .jss-logo-strip-all .logo-box img{max-width:108px!important;max-height:44px!important}
}
@media(max-width:767px){
  .jss-partner-carousel{padding:0 38px}
  .jss-partner-carousel .jss-logo-strip-all{grid-template-rows:repeat(2,64px)!important;grid-auto-columns:118px!important;gap:8px!important}
  .jss-partner-carousel .jss-logo-strip-all .logo-box{width:118px!important;height:64px!important;padding:7px 8px!important;border-radius:11px}
  .jss-partner-carousel .jss-logo-strip-all .logo-box img{max-width:96px!important;max-height:40px!important}
  .jss-partner-nav{width:34px;height:34px}
}


/* V1.4.0 HOTFIX: compact footer + stable partner carousel controls */
html{background:#fff!important}
body{background:#fff!important}
body:not(.jss-home){background:#f4f8fd!important}

/* Footer should start only where footer content starts; no oversized dark area */
.jss-footer{
  background:#071d36!important;
  padding:36px 24px 20px!important;
  margin-top:0!important;
  min-height:0!important;
}
.jss-footer-grid{margin-top:0!important}
.jss-footer-bottom{margin-top:28px!important}
.jss-home main > .jss-section:last-of-type{
  background:#fff!important;
  padding-top:44px!important;
  padding-bottom:44px!important;
}
body:not(.jss-home) > .servicebg,
body:not(.jss-home) > .aboutbg,
body:not(.jss-home) > .customerbg,
body:not(.jss-home) > .worksbg,
body:not(.jss-home) > .homebg{
  min-height:0!important;
  display:block!important;
  background:#f4f8fd!important;
}
body:not(.jss-home) > .servicebg > .jss-footer,
body:not(.jss-home) > .aboutbg > .jss-footer,
body:not(.jss-home) > .customerbg > .jss-footer,
body:not(.jss-home) > .worksbg > .jss-footer,
body:not(.jss-home) > .homebg > .jss-footer{
  margin-top:24px!important;
  margin-bottom:0!important;
  min-height:0!important;
}

/* Partner carousel uses transform-based paging for reliable left/right controls */
.jss-partner-carousel{position:relative!important;padding:0 52px!important;overflow:visible!important}
.jss-partner-viewport{overflow:hidden!important;width:100%!important;position:relative!important;scroll-behavior:auto!important}
.jss-partner-carousel .jss-logo-strip-all{
  transition:transform .45s ease!important;
  will-change:transform;
  transform:translate3d(0,0,0);
}
.jss-partner-nav{
  z-index:20!important;
  pointer-events:auto!important;
  touch-action:manipulation;
  user-select:none;
}
.jss-partner-nav.prev{left:2px!important}
.jss-partner-nav.next{right:2px!important}
.jss-partner-nav:active{transform:translateY(-50%) scale(.94)!important}
@media(max-width:767px){
  .jss-footer{padding:30px 16px 18px!important}
  .jss-partner-carousel{padding:0 42px!important}
}


/* V1.4.1: grouped partner tabs for inner pages */
.jss-work-partners-wrap{max-width:1320px;margin:34px auto 0;padding:0 16px 8px}
.jss-work-partners{background:#fff;border:1px solid #e5edf6;border-radius:28px;box-shadow:0 18px 36px rgba(8,37,71,.08);padding:34px 32px}
.jss-work-partners .jss-section-head{text-align:center;margin-bottom:22px}
.jss-work-partners .jss-section-head h2{margin-bottom:10px}
.jss-work-partners .jss-section-head p{max-width:920px;margin:0 auto;color:#5d7088;font-size:1.04rem;line-height:1.7}
.jss-work-partner-tabs{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;margin-bottom:24px}
.jss-work-partner-tab{border:2px solid rgba(215,25,32,.9);background:#fff;color:#123a70;border-radius:16px;padding:14px 26px;font-size:1rem;font-weight:800;line-height:1.2;cursor:pointer;transition:.2s ease;box-shadow:0 8px 18px rgba(8,37,71,.05)}
.jss-work-partner-tab:hover{transform:translateY(-2px);box-shadow:0 14px 24px rgba(8,37,71,.12)}
.jss-work-partner-tab.active{background:linear-gradient(135deg,#ef1d24 0%,#c91218 100%);border-color:#ef1d24;color:#fff;box-shadow:0 16px 28px rgba(215,25,32,.22)}
.jss-work-partner-panels{position:relative}
.jss-work-partner-panel{display:none}
.jss-work-partner-panel.active{display:block;animation:jssFadeUp .28s ease}
.jss-work-partner-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.jss-work-partner-grid .logo-box{height:96px;border:1px solid #dde8f4;border-radius:18px;background:linear-gradient(180deg,#fff 0%,#fbfdff 100%);display:flex;align-items:center;justify-content:center;padding:14px 18px;box-shadow:0 8px 18px rgba(8,37,71,.04)}
.jss-work-partner-grid .logo-box img{max-width:100%;max-height:56px;object-fit:contain;filter:none!important;box-shadow:none!important;border-radius:0!important}
@keyframes jssFadeUp{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media (max-width:1199px){
  .jss-work-partner-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:767px){
  .jss-work-partners-wrap{padding:0 12px 6px}
  .jss-work-partners{padding:24px 16px;border-radius:22px}
  .jss-work-partner-tabs{gap:10px}
  .jss-work-partner-tab{padding:12px 16px;font-size:.92rem;border-radius:14px}
  .jss-work-partner-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .jss-work-partner-grid .logo-box{height:84px;padding:12px}
  .jss-work-partner-grid .logo-box img{max-height:44px}
}


/* V1.4.2 GLOBAL RESPONSIVE HOTFIX: fit all pages from 320px phones to desktop */
*,*::before,*::after{box-sizing:border-box}
html,body{max-width:100%;overflow-x:hidden!important}
img,svg,video,canvas{max-width:100%;height:auto}
iframe{max-width:100%}

/* Inner pages should breathe on smaller desktop/notebook screens */
body:not(.jss-home) .page-heading,
body:not(.jss-home) .page-bg,
.aboutbg #contact > .container,
.jss-work-partners-wrap{
  width:calc(100% - 48px)!important;
  max-width:1240px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* Never force the footer wider than the viewport */
body:not(.jss-home) > .servicebg > .jss-footer,
body:not(.jss-home) > .aboutbg > .jss-footer,
body:not(.jss-home) > .customerbg > .jss-footer,
body:not(.jss-home) > .worksbg > .jss-footer,
body:not(.jss-home) > .homebg > .jss-footer{
  width:100%!important;
  max-width:100%!important;
  margin-left:0!important;
  margin-right:0!important;
}

/* Legacy rows/media must not create horizontal scrolling */
body:not(.jss-home) .row{max-width:100%;margin-left:0!important;margin-right:0!important}
body:not(.jss-home) .page-bg .row > [class*="col-"]{min-width:0}
body:not(.jss-home) table{max-width:100%}
body:not(.jss-home) .table-responsive{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
body:not(.jss-home) .spotlight-group{max-width:100%;overflow:hidden}

/* Header: scale gracefully instead of forcing a max-content width */
.navbar-brand.logo{
  grid-template-columns:88px minmax(0,1fr)!important;
  width:auto!important;
  max-width:560px!important;
  flex:0 1 560px!important;
}
.navbar-brand.logo img{width:88px!important;max-width:88px!important}
.jss-brand-text{width:auto!important;max-width:100%!important;min-width:0!important}
.jss-brand-text strong,.jss-brand-text span{
  width:auto!important;
  max-width:100%!important;
  white-space:nowrap!important;
}

@media (max-width:1199px){
  body{padding-top:96px!important}
  .jss-navbar-wrap{padding-left:16px!important;padding-right:16px!important}
  .navbar-brand.logo{grid-template-columns:76px minmax(0,1fr)!important;max-width:calc(100% - 64px)!important;flex:1 1 auto!important;column-gap:8px!important}
  .navbar-brand.logo img{width:76px!important;max-width:76px!important}
  .jss-brand-text strong{font-size:clamp(.98rem,2.2vw,1.24rem)!important}
  .jss-brand-text span{font-size:clamp(.68rem,1.45vw,.82rem)!important}
  .navbar-collapse{width:100%!important;max-width:100%!important}
  body:not(.jss-home) .page-heading,
  body:not(.jss-home) .page-bg,
  .aboutbg #contact > .container,
  .jss-work-partners-wrap{width:calc(100% - 32px)!important}
  body:not(.jss-home) .page-heading{padding:30px 30px!important}
  body:not(.jss-home) .page-bg{padding:24px!important}
}

@media (max-width:767px){
  body{padding-top:84px!important}
  .navbar{min-height:84px!important}
  .jss-navbar-wrap{padding-left:10px!important;padding-right:10px!important}
  .navbar-brand.logo{grid-template-columns:60px minmax(0,1fr)!important;max-width:calc(100% - 52px)!important;column-gap:7px!important}
  .navbar-brand.logo img{width:60px!important;max-width:60px!important;max-height:56px!important}
  .jss-brand-text strong{font-size:clamp(.82rem,3.55vw,1.02rem)!important;line-height:1.08!important;overflow:hidden!important;text-overflow:ellipsis!important}
  .jss-brand-text span{font-size:clamp(.56rem,2.45vw,.72rem)!important;line-height:1.12!important;overflow:hidden!important;text-overflow:ellipsis!important}
  .navbar-toggler{padding:.28rem .48rem!important;flex:0 0 auto}
  .navbar-collapse{max-height:calc(100vh - 84px)!important;overflow-y:auto!important;overflow-x:hidden!important}

  body:not(.jss-home) .page-heading,
  body:not(.jss-home) .page-bg,
  .aboutbg #contact > .container,
  .jss-work-partners-wrap{width:calc(100% - 20px)!important}
  body:not(.jss-home) .page-heading{padding:22px 18px!important;border-radius:20px!important}
  body:not(.jss-home) .page-heading h1{font-size:clamp(1.7rem,8vw,2.15rem)!important;overflow-wrap:anywhere}
  body:not(.jss-home) .page-heading h4{font-size:.92rem!important;overflow-wrap:anywhere}
  body:not(.jss-home) .page-bg{padding:18px 14px!important;border-radius:20px!important}
  body:not(.jss-home) .page-content{padding:8px 0!important}
  body:not(.jss-home) .page-content p,
  body:not(.jss-home) .page-content ul,
  body:not(.jss-home) .page-content ol{font-size:.94rem!important;line-height:1.7!important;overflow-wrap:anywhere}
  body:not(.jss-home) .service-heading{gap:10px!important}
  body:not(.jss-home) .service-heading h3{font-size:1.22rem!important;overflow-wrap:anywhere}
  body:not(.jss-home) .column1,body:not(.jss-home) .column2{flex:50%!important;max-width:50%!important;padding:0 5px!important}
  .aboutbg #contact{padding:34px 10px!important}
  .aboutbg #contact .col-md-5,.aboutbg #contact .col-md-7{padding-left:0!important;padding-right:0!important}
  .jss-footer{padding-left:14px!important;padding-right:14px!important}
  .jss-contact-dock{right:10px!important;bottom:12px!important}
}

@media (max-width:575px){
  .navbar-brand.logo{grid-template-columns:52px minmax(0,1fr)!important;max-width:calc(100% - 48px)!important;column-gap:6px!important}
  .navbar-brand.logo img{width:52px!important;max-width:52px!important;max-height:50px!important}
  .jss-brand-text strong{font-size:clamp(.72rem,3.6vw,.9rem)!important}
  .jss-brand-text span{font-size:clamp(.50rem,2.6vw,.62rem)!important}
  body:not(.jss-home) .page-heading,
  body:not(.jss-home) .page-bg,
  .aboutbg #contact > .container,
  .jss-work-partners-wrap{width:calc(100% - 16px)!important}
  body:not(.jss-home) .page-heading{padding:20px 15px!important}
  body:not(.jss-home) .page-bg{padding:15px 12px!important}
  body:not(.jss-home) .column1,body:not(.jss-home) .column2{flex:100%!important;max-width:100%!important;padding:0!important}
  .jss-work-partner-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important}
  .jss-work-partner-grid .logo-box{height:74px!important;padding:9px!important}
  .jss-work-partner-tab{width:100%;text-align:center}
  .jss-footer-grid{grid-template-columns:1fr!important}
  .jss-footer-brand img{width:90px!important}
  .jss-contact-pill{display:none!important}
}

@media (max-width:390px){
  .navbar-brand.logo{grid-template-columns:46px minmax(0,1fr)!important;max-width:calc(100% - 44px)!important;column-gap:5px!important}
  .navbar-brand.logo img{width:46px!important;max-width:46px!important}
  .jss-brand-text strong{font-size:.70rem!important}
  .jss-brand-text span{font-size:.48rem!important}
  body:not(.jss-home) .page-heading,
  body:not(.jss-home) .page-bg,
  .aboutbg #contact > .container,
  .jss-work-partners-wrap{width:calc(100% - 12px)!important}
  body:not(.jss-home) .page-heading{border-radius:16px!important;padding:18px 13px!important}
  body:not(.jss-home) .page-bg{border-radius:16px!important;padding:13px 10px!important}
  .jss-work-partner-grid{grid-template-columns:1fr 1fr!important}
}


/* V1.4.2b GLOBAL OVERFLOW + SMALL-SCREEN FIX */
html{width:100%!important;max-width:100%!important;overflow-x:hidden!important}
body{width:100%!important;max-width:100%!important;overflow-x:hidden!important;position:relative}
body > *, main, header, footer,
.servicebg,.aboutbg,.customerbg,.worksbg,.homebg,
.jss-footer,.mainmenu,.jss-navbar-wrap,.navbar,.navbar-collapse{
  max-width:100%!important;
}
.servicebg,.aboutbg,.customerbg,.worksbg,.homebg{overflow-x:hidden!important}

/* Remove old negative margins / viewport tricks that caused the bottom horizontal tab */
body:not(.jss-home) > .servicebg > .jss-footer,
body:not(.jss-home) > .aboutbg > .jss-footer,
body:not(.jss-home) > .customerbg > .jss-footer,
body:not(.jss-home) > .worksbg > .jss-footer,
body:not(.jss-home) > .homebg > .jss-footer{
  width:100%!important;
  max-width:100%!important;
  margin-left:0!important;
  margin-right:0!important;
  left:auto!important;
  right:auto!important;
  transform:none!important;
}
.aboutbg #contact .row{margin-left:0!important;margin-right:0!important}

/* Bootstrap/legacy content containment */
body:not(.jss-home) .container,
body:not(.jss-home) .container-fluid{max-width:100%}
body:not(.jss-home) .page-bg,
body:not(.jss-home) .page-heading{overflow:hidden}
body:not(.jss-home) .page-bg iframe,
body:not(.jss-home) .page-bg img,
body:not(.jss-home) .page-bg video{max-width:100%!important}
body:not(.jss-home) .row{width:100%!important;max-width:100%!important}

/* Home page also fits every phone width */
.jss-home main,.jss-home .jss-section,.jss-home .jss-container,.jss-home .jss-hero,.jss-home .jss-quick{max-width:100%!important}

@media(max-width:1199px){
  .jss-topbar{display:none!important}
  .navbar{width:100%!important;max-width:100%!important}
  .navbar-brand.logo{overflow:hidden!important}
  .jss-brand-text{overflow:hidden!important}
  .jss-brand-text strong,.jss-brand-text span{overflow:hidden!important;text-overflow:ellipsis!important}
  .jss-mega{width:100%!important;max-width:100%!important;left:auto!important;transform:none!important}
}

@media(max-width:767px){
  .jss-hero-inner{padding-left:16px!important;padding-right:16px!important}
  .jss-hero-actions{width:100%}
  .jss-btn-primary,.jss-btn-outline{max-width:100%;white-space:normal;text-align:center;justify-content:center}
  .jss-quick{width:calc(100% - 20px)!important;margin-left:10px!important;margin-right:10px!important}
  .jss-section{padding-left:12px!important;padding-right:12px!important}
  .jss-service-grid,.jss-work-grid{grid-template-columns:1fr!important}
  .jss-work{min-width:0!important}
  .jss-footer-grid{grid-template-columns:1fr!important}
}

@media(max-width:480px){
  body:not(.jss-home) .page-heading,
  body:not(.jss-home) .page-bg,
  .aboutbg #contact > .container,
  .jss-work-partners-wrap{width:calc(100% - 10px)!important}
  .jss-quick{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .jss-card{padding:20px!important}
  .jss-contact-trigger{width:48px!important;height:48px!important;min-width:48px!important}
  .jss-float-btn{width:48px!important;height:48px!important;min-width:48px!important;max-width:48px!important;flex-basis:48px!important}
}


/* V1.4.4 header + hero alignment refinements */
.navbar-brand.logo{column-gap:3px!important}
.navbar-brand.logo img{margin-right:-6px!important}
.jss-brand-text{transform:translateX(-10px)!important}
.jss-hero h1{font-size:clamp(2.2rem,3.55vw,4.1rem)!important;line-height:1.02!important}

@media(max-width:991px){
  .jss-hero-copy{max-width:100%!important;margin:0 auto!important;text-align:center!important}
  .jss-eyebrow{display:inline-block!important;margin-left:auto!important;margin-right:auto!important}
  .jss-hero-lead{max-width:100%!important;margin-left:auto!important;margin-right:auto!important;text-align:center!important}
  .jss-rank-claim{display:inline-flex!important;margin-left:auto!important;margin-right:auto!important}
  .jss-hero-actions{justify-content:center!important;align-items:center!important}
  .jss-trust{justify-content:center!important;text-align:center!important;gap:18px!important}
  .jss-trust span{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:4px!important}
}

@media(max-width:767px){
  .navbar-brand.logo{column-gap:2px!important}
  .jss-brand-text{transform:translateX(-8px)!important}
  .jss-hero h1{font-size:2rem!important;line-height:1.02!important}
  .jss-hero-actions{gap:10px!important}
  .jss-trust{gap:12px!important}
}

@media(max-width:480px){
  .navbar-brand.logo{column-gap:1px!important}
  .jss-brand-text{transform:translateX(-6px)!important}
  .jss-hero h1{font-size:1.72rem!important;line-height:1.04!important}
  .jss-hero-copy{padding-left:0!important;padding-right:0!important}
  .jss-rank-claim{font-size:.98rem!important;padding:11px 16px!important}
  .jss-hero-actions .jss-btn-primary,
  .jss-hero-actions .jss-btn-outline{min-width:0!important;padding:12px 18px!important}
  .jss-trust{flex-direction:row!important;justify-content:center!important}
}


/* V1.4.6 redesigned highlights stats */
.jss-highlights-section{padding-top:22px}
.jss-highlights-head{margin-bottom:24px}
.jss-highlights-head .jss-eyebrow{display:inline-flex;align-items:center;justify-content:center;padding:0;background:none;border:0;color:var(--jss-blue);font-size:1rem;font-weight:800;position:relative}
.jss-highlights-head .jss-eyebrow::before,.jss-highlights-head .jss-eyebrow::after{content:"";display:block;width:46px;height:4px;border-radius:999px;background:#1f66ff;position:absolute;top:-14px;left:50%;transform:translateX(-50%)}
.jss-highlights-head h2{font-size:clamp(2rem,4vw,3.55rem);margin-bottom:8px}
.jss-highlights-head p{font-size:1.14rem;color:#70819a;max-width:760px;margin:0 auto}
.jss-stats-redesign{background:linear-gradient(135deg,#0c3b86 0%,#062a60 38%,#00358d 72%,#0f4fce 100%);border-radius:34px;padding:26px 20px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;position:relative;overflow:hidden;box-shadow:0 22px 44px rgba(5,37,84,.2)}
.jss-stats-redesign::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 0% 100%,rgba(255,255,255,.08),transparent 26%),radial-gradient(circle at 100% 50%,rgba(255,255,255,.12),transparent 28%)}
.jss-stats-redesign .jss-stat{position:relative;z-index:1;text-align:center;padding:22px 24px;color:#fff}
.jss-stats-redesign .jss-stat:not(:last-child)::after{content:"";position:absolute;right:0;top:50%;transform:translateY(-50%);width:1px;height:64%;background:rgba(255,255,255,.18)}
.jss-stat-icon{width:88px;height:88px;border-radius:50%;margin:0 auto 18px;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 30% 30%,rgba(88,151,255,.92),rgba(24,72,180,.92));border:1px solid rgba(255,255,255,.2);box-shadow:inset 0 10px 18px rgba(255,255,255,.12),0 12px 30px rgba(0,0,0,.18)}
.jss-stat-icon i{font-size:2.2rem;color:#fff}
.jss-stats-redesign .jss-stat strong{display:block;font-size:clamp(2.2rem,3.6vw,4rem);line-height:1;font-weight:800;letter-spacing:-.03em;margin-bottom:10px;color:#fff;text-shadow:0 6px 20px rgba(0,0,0,.15)}
.jss-stats-redesign .jss-stat-views strong{color:#c4ecff;text-shadow:0 0 18px rgba(125,208,255,.25),0 6px 20px rgba(0,0,0,.18)}
.jss-stats-redesign .jss-stat span{display:block;color:#e8f2ff;font-size:1.04rem;line-height:1.55;font-weight:600;max-width:270px;margin:0 auto}
@media (max-width:1199px){
  .jss-stats-redesign{grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;padding:18px}
  .jss-stats-redesign .jss-stat:not(:last-child)::after{display:none}
  .jss-stats-redesign .jss-stat:nth-child(odd)::after{content:"";display:block;position:absolute;right:-1px;top:18%;transform:none;width:1px;height:64%;background:rgba(255,255,255,.18)}
  .jss-stats-redesign .jss-stat:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.12)}
}
@media (max-width:767px){
  .jss-highlights-head{margin-bottom:18px}
  .jss-highlights-head p{font-size:1rem}
  .jss-stats-redesign{grid-template-columns:1fr;border-radius:26px;padding:14px}
  .jss-stats-redesign .jss-stat{padding:18px 16px}
  .jss-stats-redesign .jss-stat::after{display:none!important}
  .jss-stats-redesign .jss-stat:not(:last-child){border-bottom:1px solid rgba(255,255,255,.12)}
  .jss-stat-icon{width:78px;height:78px;margin-bottom:14px}
  .jss-stat-icon i{font-size:1.95rem}
  .jss-stats-redesign .jss-stat strong{font-size:2.6rem}
  .jss-stats-redesign .jss-stat span{font-size:1rem}
}


/* V1.4.7 compact service photo cards */
.jss-service-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.jss-svc-card{position:relative;display:flex;align-items:flex-end;min-height:238px;border-radius:26px;overflow:hidden;padding:18px;text-decoration:none;color:#fff;background:#123a70 center/cover no-repeat;box-shadow:0 18px 35px rgba(9,34,66,.12);isolation:isolate;transition:transform .25s ease,box-shadow .25s ease}
.jss-svc-card::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,24,48,.12) 0%,rgba(7,24,48,.28) 34%,rgba(7,24,48,.72) 100%);z-index:-1}
.jss-svc-card::after{content:"";position:absolute;left:0;right:0;bottom:0;height:4px;background:linear-gradient(90deg,#1d64f2,#0ea5e9);opacity:.9}
.jss-svc-card:hover{transform:translateY(-5px);box-shadow:0 24px 44px rgba(9,34,66,.2);color:#fff;text-decoration:none}
.jss-svc-card .jss-svc-icon{position:absolute;left:18px;top:18px;width:58px;height:58px;border-radius:18px;display:flex;align-items:center;justify-content:center;background:rgba(5,78,170,.9);border:1px solid rgba(255,255,255,.18);box-shadow:0 10px 22px rgba(0,0,0,.18);backdrop-filter:blur(3px)}
.jss-svc-card .jss-svc-icon i{font-size:1.45rem;color:#fff}
.jss-svc-content{max-width:calc(100% - 74px)}
.jss-svc-content h3{margin:0 0 8px;color:#fff;font-size:1.9rem;font-weight:800;letter-spacing:-.03em;line-height:1.05}
.jss-svc-content p{margin:0;color:rgba(255,255,255,.95);font-size:1rem;line-height:1.55;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.jss-svc-link{position:absolute;right:18px;bottom:20px;width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:1.5px solid rgba(255,255,255,.86);background:rgba(255,255,255,.08);backdrop-filter:blur(2px);font-size:1.05rem;color:#fff;transition:transform .2s ease,background .2s ease}
.jss-svc-card:hover .jss-svc-link{transform:translateX(3px);background:rgba(255,255,255,.16)}
.svc-network{background-image:url('../img/servicecards/network.jpg')}
.svc-cctv{background-image:url('../img/servicecards/cctv.jpg')}
.svc-voip{background-image:url('../img/servicecards/voip.jpg')}
.svc-wifi{background-image:url('../img/servicecards/wifi.jpg')}
.svc-server{background-image:url('../img/servicecards/server.jpg')}
.svc-solar{background-image:url('../img/servicecards/solar.jpg')}
@media (max-width:1199px){
  .jss-service-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
  .jss-svc-card{min-height:220px}
  .jss-svc-content h3{font-size:1.65rem}
}
@media (max-width:767px){
  .jss-service-photo-grid{grid-template-columns:1fr;gap:14px}
  .jss-svc-card{min-height:210px;border-radius:22px;padding:16px}
  .jss-svc-card .jss-svc-icon{width:52px;height:52px;border-radius:16px;left:16px;top:16px}
  .jss-svc-content{max-width:calc(100% - 66px)}
  .jss-svc-content h3{font-size:1.45rem;margin-bottom:6px}
  .jss-svc-content p{font-size:.96rem;line-height:1.45;-webkit-line-clamp:3}
  .jss-svc-link{width:44px;height:44px;right:16px;bottom:16px}
}


/* V1.4.8 compact highlights + real visitor counter */
.jss-highlights-section{padding-top:12px!important;padding-bottom:54px!important}
.jss-highlights-head{margin-bottom:18px!important}
.jss-highlights-head h2{font-size:clamp(1.9rem,3vw,2.75rem)!important}
.jss-highlights-head p{font-size:1rem!important}
.jss-stats-redesign{border-radius:26px!important;padding:14px 12px!important;min-height:0!important}
.jss-stats-redesign .jss-stat{padding:12px 18px!important;min-height:170px!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important}
.jss-stat-icon{width:62px!important;height:62px!important;margin:0 auto 10px!important}
.jss-stat-icon i{font-size:1.55rem!important}
.jss-stats-redesign .jss-stat strong{font-size:clamp(1.9rem,2.7vw,2.85rem)!important;margin-bottom:7px!important}
.jss-stats-redesign .jss-stat span{font-size:.94rem!important;line-height:1.35!important}
.jss-stats-redesign .jss-stat:not(:last-child)::after{height:52%!important}
@media(max-width:1199px){
  .jss-stats-redesign .jss-stat{min-height:150px!important;padding:10px 14px!important}
}
@media(max-width:767px){
  .jss-highlights-section{padding-bottom:42px!important}
  .jss-stats-redesign{padding:10px!important}
  .jss-stats-redesign .jss-stat{min-height:132px!important;padding:12px!important}
  .jss-stat-icon{width:54px!important;height:54px!important;margin-bottom:8px!important}
  .jss-stat-icon i{font-size:1.35rem!important}
  .jss-stats-redesign .jss-stat strong{font-size:2.15rem!important}
  .jss-stats-redesign .jss-stat span{font-size:.92rem!important}
}


/* V1.4.9 Facebook feed + floating scroll up/down + service image path hotfix */
.jss-facebook-section{background:#f5f8fc}
.jss-facebook-wrap{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);gap:28px;align-items:stretch}
.jss-facebook-card,.jss-facebook-copy{background:#fff;border:1px solid #e3ebf5;border-radius:24px;box-shadow:0 14px 32px rgba(8,42,83,.08)}
.jss-facebook-card{padding:18px;display:flex;align-items:center;justify-content:center;min-height:520px;overflow:hidden}
.jss-facebook-card iframe{width:100%!important;max-width:500px!important;height:500px!important;border:0;overflow:hidden;border-radius:16px;background:#fff}
.jss-facebook-copy{padding:34px;display:flex;flex-direction:column;justify-content:center}
.jss-facebook-copy .jss-social-badge{display:inline-flex;align-items:center;gap:10px;width:max-content;padding:9px 14px;border-radius:999px;background:#eef4ff;color:#1877f2;font-weight:800;margin-bottom:16px}
.jss-facebook-copy h3{font-size:2rem;color:var(--jss-blue);font-weight:800;margin:0 0 12px}
.jss-facebook-copy p{color:#607187;font-size:1.02rem;line-height:1.75;margin-bottom:20px}
.jss-facebook-copy .jss-btn-primary{width:max-content;background:#1877f2}

.jss-scroll-nav{position:fixed;right:26px;bottom:106px;z-index:9996;display:flex;flex-direction:column;gap:10px;opacity:0;pointer-events:none;transform:translateY(12px);transition:.2s ease}
.jss-scroll-nav.show{opacity:1;pointer-events:auto;transform:none}
.jss-scroll-btn{width:46px;height:46px;border-radius:50%;border:1px solid rgba(255,255,255,.5);display:flex;align-items:center;justify-content:center;background:#0b5cad;color:#fff;box-shadow:0 10px 24px rgba(0,0,0,.18);cursor:pointer;padding:0;transition:.18s ease}
.jss-scroll-btn:hover{background:#073b7a;transform:translateY(-2px)}
.jss-scroll-btn.down{background:#d71920}
.jss-scroll-btn.down:hover{background:#b7141a}
.jss-scroll-btn i{font-size:1rem}

@media(max-width:991px){
  .jss-facebook-wrap{grid-template-columns:1fr}
  .jss-facebook-card{min-height:0}
  .jss-facebook-copy{text-align:center;align-items:center}
}
@media(max-width:575px){
  .jss-facebook-card{padding:10px;border-radius:18px}
  .jss-facebook-card iframe{height:480px!important}
  .jss-facebook-copy{padding:24px 18px;border-radius:18px}
  .jss-facebook-copy h3{font-size:1.55rem}
  .jss-scroll-nav{right:12px;bottom:82px}
  .jss-scroll-btn{width:42px;height:42px}
}


/* V1.5.0 richer facebook section + true back-to-top button */
.jss-facebook-section{background:linear-gradient(180deg,#f3f7fd 0%,#eef4fb 100%)}
.jss-facebook-wrap{position:relative;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(340px,.95fr);gap:28px;align-items:stretch;padding:12px;border-radius:34px;background:linear-gradient(135deg,#ffffff 0%,#f7faff 100%);border:1px solid #dbe7f5;box-shadow:0 20px 44px rgba(8,42,83,.08);overflow:hidden}
.jss-facebook-wrap::before{content:"";position:absolute;inset:auto -80px -120px auto;width:320px;height:320px;border-radius:50%;background:radial-gradient(circle,rgba(24,119,242,.15) 0%,rgba(24,119,242,0) 70%)}
.jss-facebook-wrap::after{content:"";position:absolute;inset:-40px auto auto -40px;width:200px;height:200px;background:url('../img/Logo-JSS2025.png') center/contain no-repeat;opacity:.045;pointer-events:none}
.jss-facebook-card,.jss-facebook-copy{position:relative;z-index:1;background:#fff;border:1px solid #e3ebf5;border-radius:26px;box-shadow:0 14px 32px rgba(8,42,83,.08)}
.jss-facebook-card{padding:14px;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;min-height:560px;overflow:hidden;background:linear-gradient(180deg,#fdfefe 0%,#f8fbff 100%)}
.jss-facebook-frame-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:4px 6px 14px}
.jss-facebook-mini-brand,.jss-facebook-mini-status{display:inline-flex;align-items:center;gap:8px;font-size:.95rem;font-weight:800;border-radius:999px;padding:8px 14px}
.jss-facebook-mini-brand{background:#edf4ff;color:#1877f2}.jss-facebook-mini-status{background:#effaf2;color:#1e8e3e}
.jss-facebook-card iframe{width:100%!important;max-width:500px!important;height:500px!important;border:0;overflow:hidden;border-radius:18px;background:#fff;align-self:center}
.jss-facebook-copy{padding:36px;display:flex;flex-direction:column;justify-content:center;background:linear-gradient(135deg,#0a3a86 0%,#1452b8 65%,#2d7cf7 100%);color:#fff;overflow:hidden}
.jss-facebook-copy::before{content:"";position:absolute;right:-50px;bottom:-60px;width:240px;height:240px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.18) 0%,rgba(255,255,255,0) 70%)}
.jss-facebook-copy .jss-social-badge{display:inline-flex;align-items:center;gap:10px;width:max-content;padding:10px 16px;border-radius:999px;background:rgba(255,255,255,.16);color:#fff;font-weight:800;margin-bottom:16px;border:1px solid rgba(255,255,255,.2)}
.jss-facebook-copy h3{font-size:2.15rem;color:#fff;font-weight:800;margin:0 0 14px;line-height:1.14}
.jss-facebook-copy p{color:rgba(255,255,255,.9);font-size:1.03rem;line-height:1.8;margin-bottom:20px}
.jss-facebook-points{display:grid;gap:12px;margin-bottom:22px}
.jss-facebook-point{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;border-radius:18px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(3px)}
.jss-facebook-point i{margin-top:3px;color:#8fe9ff;font-size:1rem;min-width:16px}
.jss-facebook-point span{color:#fff;font-weight:600;line-height:1.55}
.jss-facebook-actions{display:flex;flex-wrap:wrap;gap:12px}
.jss-facebook-copy .jss-btn-primary{width:max-content;background:#fff;color:#1357c1;box-shadow:0 14px 32px rgba(0,0,0,.18)}
.jss-facebook-copy .jss-btn-primary i{color:#1877f2}
.jss-back-top{position:fixed;right:24px;bottom:184px;z-index:9997;display:flex;align-items:center;gap:8px;padding:12px 14px;border-radius:999px;border:0;background:linear-gradient(135deg,#d71920 0%,#ff4b54 100%);color:#fff;font-weight:800;box-shadow:0 12px 28px rgba(0,0,0,.2);cursor:pointer;opacity:0;pointer-events:none;transform:translateY(12px);transition:all .22s ease}
.jss-back-top.show{opacity:1;pointer-events:auto;transform:none}
.jss-back-top:hover{transform:translateY(-2px);box-shadow:0 16px 32px rgba(0,0,0,.24)}
.jss-back-top i{font-size:1rem}
.jss-back-top span{font-size:.95rem;line-height:1}
@media (max-width:1199px){
  .jss-facebook-wrap{grid-template-columns:1fr;gap:20px;padding:10px}
  .jss-facebook-card{min-height:0}
  .jss-facebook-copy{text-align:left;align-items:flex-start}
}
@media (max-width:767px){
  .jss-facebook-wrap{border-radius:24px;padding:8px}
  .jss-facebook-card{padding:10px;border-radius:18px}
  .jss-facebook-card iframe{height:460px!important}
  .jss-facebook-copy{padding:24px 18px;border-radius:18px}
  .jss-facebook-copy h3{font-size:1.55rem}
  .jss-back-top{right:12px;bottom:148px;padding:11px 12px}
  .jss-back-top span{display:none}
  .jss-scroll-nav{right:12px;bottom:94px}
}


/* V1.5.1 back-office login link in header */
.jss-login-link{display:inline-flex;align-items:center;gap:8px;color:#142238!important;text-decoration:none!important;font-weight:700;white-space:nowrap;padding:8px 10px;border-radius:999px;transition:all .2s ease}
.jss-login-link:hover{background:#f0f5fb;color:var(--jss-blue)!important}
.jss-login-icon{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:1px solid #ccd8e8;color:var(--jss-blue);background:#fff}
.jss-login-icon i{font-size:1rem}
@media(max-width:1199px){
  .jss-nav-tools{display:flex!important;flex-wrap:wrap;align-items:center;gap:10px;margin:10px 0 0 14px!important}
  .jss-login-link{order:1;padding:8px 10px;background:#f7f9fc}
  .jss-quote-btn{order:2}
  .jss-lang{order:3;margin-top:0!important}
}
@media(max-width:575px){
  .jss-nav-tools{align-items:stretch!important}
  .jss-login-link{width:100%;justify-content:center;border:1px solid #e1e8f2}
  .jss-quote-btn{width:100%}
  .jss-lang{width:100%;justify-content:center;padding:8px 0 0!important}
}


/* V1.5.2 compact back-office login in top bar */
.jss-topbar-actions{display:flex;align-items:center;justify-content:flex-end;gap:0}
.jss-topbar .jss-top-login{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;margin-left:0!important;margin-right:4px;border:1px solid rgba(255,255,255,.28);border-radius:999px;background:rgba(255,255,255,.08);font-size:.78rem;font-weight:700;line-height:1.2}
.jss-topbar .jss-top-login:hover{background:rgba(255,255,255,.16);color:#fff!important}
.jss-topbar .jss-top-login i{font-size:.86rem}
.jss-nav-tools .jss-login-link{display:none!important}
@media(max-width:1199px){
  .jss-topbar{display:flex!important;height:32px!important}
  .jss-topbar .inner{padding:0 12px!important}
  .jss-topbar .inner>div:first-child{display:none!important}
  .jss-topbar-actions{width:100%;justify-content:flex-end}
  .jss-topbar-actions>a:not(.jss-top-login){display:none!important}
  body{padding-top:116px!important}
}
@media(max-width:575px){
  .jss-topbar{height:30px!important}
  .jss-topbar .jss-top-login{font-size:.72rem;padding:3px 9px}
  body{padding-top:114px!important}
}


/* V1.5.3 facebook embed cleanup */
.jss-facebook-card{background:linear-gradient(180deg,#0b3f94 0%,#1a63db 100%);padding:16px}
.jss-facebook-frame-head{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);border-radius:18px;padding:10px 12px;margin-bottom:12px}
.jss-facebook-mini-brand{background:rgba(255,255,255,.14);color:#fff}
.jss-facebook-mini-status{background:rgba(143,233,255,.18);color:#dffbff}
.jss-facebook-embed-shell{background:#fff;border-radius:20px;padding:10px;box-shadow:inset 0 0 0 1px #d9e6f7}
.jss-facebook-card iframe{display:block;border-radius:16px 16px 18px 18px;background:#fff}
.jss-facebook-open-btn{background:#fff!important;color:#1357c1!important;border:2px solid rgba(19,87,193,.08)}
.jss-facebook-open-btn span{color:#1357c1!important;font-weight:800}
.jss-facebook-open-btn i{color:#1877f2!important}
@media (max-width:767px){
  .jss-facebook-card{padding:10px}
  .jss-facebook-frame-head{padding:8px 10px;border-radius:14px}
}


/* V1.5.4 Facebook feed polish + login at far right */
.jss-topbar-actions{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:0!important;margin-left:auto!important}
.jss-topbar-actions .jss-top-login{order:99;margin-left:16px!important;border-left:1px solid rgba(255,255,255,.28)!important;padding-left:16px!important}

.jss-facebook-wrap{grid-template-columns:minmax(0,.92fr) minmax(360px,1.08fr)!important;gap:22px!important;padding:10px!important}
.jss-facebook-card{min-height:520px!important;background:linear-gradient(145deg,#082f72 0%,#0d55ba 58%,#1677ee 100%)!important;border:0!important;padding:14px!important;box-shadow:0 18px 40px rgba(5,46,111,.2)!important}
.jss-facebook-frame-head{margin:0 0 12px!important;padding:10px 12px!important;background:rgba(255,255,255,.10)!important;border:1px solid rgba(255,255,255,.18)!important}
.jss-facebook-feed-window{position:relative!important;height:430px!important;overflow:hidden!important;border-radius:22px!important;background:#e9f1fb!important;padding:0!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.22),0 12px 26px rgba(0,0,0,.14)!important}
.jss-facebook-feed-window::before{content:"FACEBOOK FEED";position:absolute;left:18px;top:14px;z-index:3;padding:7px 12px;border-radius:999px;background:rgba(8,47,114,.9);color:#fff;font-size:.72rem;font-weight:800;letter-spacing:.08em;pointer-events:none}
.jss-facebook-feed-window iframe{position:absolute!important;left:50%!important;top:-88px!important;transform:translateX(-50%)!important;width:500px!important;max-width:none!important;height:620px!important;border-radius:0!important;background:#fff!important}
.jss-facebook-copy{min-height:520px!important;padding:34px!important}
.jss-facebook-open-btn{min-width:220px!important;justify-content:center!important;background:#ffffff!important;color:#0b4aa5!important;border:2px solid rgba(255,255,255,.9)!important;box-shadow:0 14px 28px rgba(0,0,0,.16)!important}
.jss-facebook-open-btn span{display:inline-block!important;color:#0b4aa5!important;opacity:1!important;visibility:visible!important;font-size:1rem!important;font-weight:800!important;white-space:nowrap!important}
.jss-facebook-open-btn:hover{background:#eaf3ff!important;color:#083d8e!important}

@media(max-width:1199px){
  .jss-facebook-wrap{grid-template-columns:1fr!important}
  .jss-facebook-card,.jss-facebook-copy{min-height:0!important}
  .jss-facebook-feed-window{height:420px!important}
}
@media(max-width:767px){
  .jss-topbar-actions .jss-top-login{margin-left:8px!important;padding-left:10px!important}
  .jss-facebook-feed-window{height:390px!important;border-radius:16px!important}
  .jss-facebook-feed-window iframe{top:-82px!important;height:580px!important}
  .jss-facebook-copy{padding:22px 18px!important}
  .jss-facebook-open-btn{min-width:190px!important}
}

/* V1.5.5 Facebook first post header visibility fix */
.jss-facebook-feed-window{padding-top:0!important}
.jss-facebook-feed-window iframe{clip-path:inset(0 0 0 0)!important}


/* V1.5.6 large desktop proportion fix */
@media (min-width:1200px){
  .jss-home .jss-container{width:calc(100% - 72px)!important;max-width:1360px!important;margin-left:auto!important;margin-right:auto!important}
  .jss-home .jss-quick{width:calc(100% - 72px)!important;max-width:1360px!important;margin:-28px auto 0!important;padding:12px 20px 0!important;gap:8px!important;border-radius:24px!important}
  .jss-home .jss-quick a{min-height:92px!important;padding:12px 8px!important;font-size:.92rem!important}
  .jss-home .jss-quick i{font-size:1.55rem!important;margin-bottom:8px!important}
  .jss-home .jss-expertise-inline{padding:13px 10px!important;margin-top:0!important}
  .jss-hero-inner{max-width:1540px!important;padding:48px 54px!important;justify-content:flex-start!important}
  .jss-hero-copy{max-width:570px!important;margin-left:0!important;margin-right:auto!important;text-align:left!important}
  .jss-hero h1{font-size:clamp(2.55rem,3.35vw,3.85rem)!important;line-height:1.01!important}
  .jss-hero-lead{max-width:540px!important;margin-left:0!important;margin-right:0!important;text-align:left!important;font-size:1.06rem!important}
  .jss-rank-claim{margin-left:0!important;margin-right:0!important}
  .jss-hero-actions{justify-content:flex-start!important}
  .jss-trust{justify-content:flex-start!important;text-align:left!important}
}

@media (min-width:1600px){
  .jss-home .jss-container{max-width:1420px!important}
  .jss-home .jss-quick{max-width:1420px!important}
  .jss-hero-inner{max-width:1640px!important;padding-left:72px!important;padding-right:72px!important}
  .jss-hero-copy{max-width:560px!important}
}


/* V1.5.7 keep desktop/ultrawide proportions like normal desktop */
@media (min-width:1400px){
  .jss-home .jss-hero{min-height:610px!important;height:auto!important}
  .jss-home .jss-hero-inner{
    width:100%!important;
    max-width:none!important;
    min-height:610px!important;
    margin:0!important;
    padding:48px clamp(52px,4vw,78px)!important;
    justify-content:flex-start!important;
    align-items:center!important;
  }
  .jss-home .jss-hero-copy{
    width:min(640px,42vw)!important;
    max-width:640px!important;
    margin:0!important;
    text-align:left!important;
  }
  .jss-home .jss-hero h1{
    font-size:clamp(3rem,3.35vw,4.15rem)!important;
    line-height:1.02!important;
    white-space:normal!important;
  }
  .jss-home .jss-hero-lead{max-width:610px!important;font-size:1.08rem!important;line-height:1.68!important}
  .jss-home .jss-hero-actions{justify-content:flex-start!important}
  .jss-home .jss-trust{justify-content:flex-start!important;text-align:left!important}
  .jss-home .jss-hero-bg{background-position:center right!important;background-size:cover!important}

  .jss-home .jss-quick{
    width:calc(100% - 72px)!important;
    max-width:1540px!important;
    margin:-26px auto 0!important;
    padding:10px 18px 0!important;
    gap:8px!important;
  }
  .jss-home .jss-quick a{min-height:88px!important;padding:10px 8px!important}
  .jss-home .jss-quick i{font-size:1.5rem!important;margin-bottom:7px!important}

  .jss-home .jss-container{max-width:1500px!important;margin-left:auto!important;margin-right:auto!important}
  .jss-home .jss-service-photo-grid{max-width:1500px!important;margin-left:auto!important;margin-right:auto!important}
  .jss-home .jss-svc-card{min-height:220px!important}
}

@media (min-width:1900px){
  .jss-home .jss-hero-inner{padding-left:72px!important;padding-right:72px!important}
  .jss-home .jss-hero-copy{width:650px!important;max-width:650px!important}
  .jss-home .jss-hero h1{font-size:4.05rem!important}
  .jss-home .jss-quick{max-width:1580px!important}
  .jss-home .jss-container,.jss-home .jss-service-photo-grid{max-width:1540px!important}
}

@media (min-width:2400px){
  .jss-home .jss-hero-inner{padding-left:88px!important;padding-right:88px!important}
  .jss-home .jss-hero-copy{width:660px!important;max-width:660px!important}
  .jss-home .jss-hero h1{font-size:4.15rem!important}
  .jss-home .jss-quick{max-width:1600px!important}
  .jss-home .jss-container,.jss-home .jss-service-photo-grid{max-width:1560px!important}
}


/* V1.5.8 make top bar layout consistent on small and large screens */
.jss-topbar .inner{max-width:none!important;width:100%!important;margin:0!important;padding:0 clamp(18px,2.8vw,58px)!important}
.jss-topbar .inner > div:first-child{flex:0 1 auto!important;text-align:left!important}
.jss-topbar-actions{flex:0 0 auto!important}
@media (min-width:1400px){
  .jss-topbar .inner{padding:0 clamp(28px,3.4vw,72px)!important}
}
@media (min-width:1900px){
  .jss-topbar .inner{padding:0 clamp(34px,3.8vw,86px)!important}
}


/* V1.5.9 sharpen main navigation text */
.navbar-light .navbar-nav .nav-link{
  color:#0b1728!important;
  font-family:'Kanit','Prompt',Arial,sans-serif!important;
  font-size:1rem!important;
  font-weight:700!important;
  line-height:1.2!important;
  letter-spacing:0!important;
  text-shadow:none!important;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  text-rendering:optimizeLegibility;
  transform:none!important;
  filter:none!important;
}
.navbar-light .navbar-nav .nav-link:hover,
.navbar-light .navbar-nav .active>.nav-link,
.navbar-light .navbar-nav .show>.nav-link{color:var(--jss-red)!important}
.jss-quote-btn,.jss-lang a{font-family:'Kanit','Prompt',Arial,sans-serif!important;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;text-shadow:none!important;filter:none!important}
@media(min-width:1200px){
  .navbar-light .navbar-nav .nav-link{padding-left:.62rem!important;padding-right:.62rem!important}
}


/* V1.6.0 mobile hero closer to desktop composition */
@media (max-width:767px){
  .jss-home .jss-hero{
    min-height:620px!important;
    background:#f5f9fe!important;
    overflow:hidden!important;
  }
  .jss-home .jss-hero-bg{
    background-image:url('../img/jss-hero-2026.png')!important;
    background-size:auto 100%!important;
    background-repeat:no-repeat!important;
    background-position:72% center!important;
  }
  .jss-home .jss-hero-bg:after{
    background:linear-gradient(90deg,
      rgba(255,255,255,.995) 0%,
      rgba(255,255,255,.97) 38%,
      rgba(255,255,255,.88) 58%,
      rgba(255,255,255,.48) 76%,
      rgba(255,255,255,.08) 100%)!important;
  }
  .jss-home .jss-hero-inner{
    min-height:620px!important;
    padding:30px 18px 34px!important;
    align-items:center!important;
    justify-content:flex-start!important;
  }
  .jss-home .jss-hero-copy{
    width:100%!important;
    max-width:370px!important;
    margin:0!important;
    text-align:left!important;
    padding:0!important;
  }
  .jss-home .jss-kicker{
    max-width:100%!important;
    font-size:.84rem!important;
    line-height:1.45!important;
    text-align:left!important;
    justify-content:flex-start!important;
    padding-bottom:5px!important;
  }
  .jss-home .jss-hero h1{
    font-size:2.05rem!important;
    line-height:1.02!important;
    margin:16px 0 12px!important;
    text-align:left!important;
  }
  .jss-home .jss-hero-lead{
    max-width:330px!important;
    margin:0!important;
    font-size:.92rem!important;
    line-height:1.65!important;
    text-align:left!important;
    color:#2b405d!important;
  }
  .jss-home .jss-rank-claim{
    margin:16px 0 0!important;
    font-size:.88rem!important;
    padding:9px 14px!important;
  }
  .jss-home .jss-hero-actions{
    width:100%!important;
    margin-top:18px!important;
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:9px!important;
    justify-content:start!important;
  }
  .jss-home .jss-hero-actions a{
    min-width:0!important;
    width:100%!important;
    justify-content:center!important;
    padding:10px 12px!important;
    font-size:.84rem!important;
    white-space:nowrap!important;
  }
  .jss-home .jss-hero-actions a:nth-child(3){
    grid-column:1 / -1!important;
    width:max-content!important;
    min-width:132px!important;
  }
  .jss-home .jss-trust{
    margin-top:18px!important;
    max-width:340px!important;
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:7px 12px!important;
    justify-content:start!important;
    text-align:left!important;
    font-size:.78rem!important;
    color:#51627a!important;
  }
  .jss-home .jss-trust span{
    display:block!important;
    text-align:left!important;
    justify-content:flex-start!important;
    white-space:nowrap!important;
  }
  .jss-home .jss-trust span:last-child{
    grid-column:1 / -1!important;
  }
  .jss-home .jss-quick{
    margin:-18px 10px 0!important;
    border-radius:20px!important;
  }
}

@media (max-width:420px){
  .jss-home .jss-hero{min-height:600px!important}
  .jss-home .jss-hero-inner{min-height:600px!important;padding:24px 15px 30px!important}
  .jss-home .jss-hero-bg{background-position:73% center!important}
  .jss-home .jss-hero-copy{max-width:345px!important}
  .jss-home .jss-hero h1{font-size:1.9rem!important}
  .jss-home .jss-hero-lead{max-width:315px!important;font-size:.88rem!important}
  .jss-home .jss-kicker{font-size:.80rem!important}
  .jss-home .jss-hero-actions a{font-size:.80rem!important;padding:10px 9px!important}
}


/* V1.6.1 hero image slider */
.jss-hero-slider{position:relative;overflow:hidden;background:#f5f9fe}
.jss-hero-slides{position:absolute;inset:0;z-index:0}
.jss-hero-slide{position:absolute;inset:0;background-position:center right;background-size:cover;background-repeat:no-repeat;opacity:0;transform:scale(1.02);transition:opacity .7s ease,transform 5.5s ease}
.jss-hero-slide.active{opacity:1;transform:scale(1)}
.jss-hero-overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(255,255,255,.99) 0%,rgba(255,255,255,.95) 30%,rgba(255,255,255,.62) 50%,rgba(255,255,255,.06) 74%);pointer-events:none}
.jss-hero-slider .jss-hero-inner{position:relative;z-index:3}
.jss-hero-nav{position:absolute;top:50%;z-index:4;transform:translateY(-50%);width:48px;height:48px;border-radius:50%;border:1px solid rgba(255,255,255,.75);display:flex;align-items:center;justify-content:center;background:rgba(7,59,122,.68);color:#fff;box-shadow:0 12px 28px rgba(0,0,0,.18);cursor:pointer;backdrop-filter:blur(4px);transition:.2s ease}
.jss-hero-nav:hover{background:#073b7a;transform:translateY(-50%) scale(1.05)}
.jss-hero-nav.prev{left:18px}.jss-hero-nav.next{right:18px}
.jss-hero-dots{position:absolute;left:50%;bottom:18px;z-index:4;transform:translateX(-50%);display:flex;gap:8px}
.jss-hero-dots button{width:10px;height:10px;border-radius:50%;border:0;padding:0;background:rgba(255,255,255,.7);box-shadow:0 0 0 1px rgba(7,59,122,.2);cursor:pointer;transition:.2s ease}
.jss-hero-dots button.active{width:26px;border-radius:999px;background:#0b5cad}
@media(max-width:767px){
  .jss-hero-slide{background-position:66% center}
  .jss-hero-overlay{background:linear-gradient(180deg,rgba(255,255,255,.92) 0%,rgba(255,255,255,.82) 48%,rgba(255,255,255,.35) 72%,rgba(255,255,255,.12) 100%)}
  .jss-hero-nav{width:42px;height:42px;top:auto;bottom:18px;transform:none}
  .jss-hero-nav:hover{transform:none}
  .jss-hero-nav.prev{left:14px}.jss-hero-nav.next{right:14px}
  .jss-hero-dots{bottom:32px}
}


/* V1.6.2 hero slider arrows - lighter AIS-style controls */
.jss-hero-nav{
  background:rgba(255,255,255,.55)!important;
  color:#4b6078!important;
  border:1px solid rgba(255,255,255,.9)!important;
  box-shadow:0 8px 22px rgba(0,0,0,.12)!important;
  backdrop-filter:blur(6px)!important;
}
.jss-hero-nav:hover{
  background:rgba(255,255,255,.88)!important;
  color:#073b7a!important;
}
.jss-hero-nav i{font-size:1.05rem;text-shadow:none!important}
@media(max-width:767px){
  .jss-hero-nav{
    width:40px!important;height:40px!important;
    background:rgba(255,255,255,.52)!important;
    color:#55677b!important;
    border-color:rgba(255,255,255,.86)!important;
  }
}


/* V1.6.3 mobile hero arrows repositioned to avoid text overlap */
@media(max-width:767px){
  .jss-home .jss-hero-copy{
    padding-left:46px!important;
    padding-right:46px!important;
    max-width:calc(100% - 92px)!important;
  }
  .jss-hero-nav{
    top:58%!important;
    bottom:auto!important;
    transform:translateY(-50%)!important;
    width:42px!important;
    height:42px!important;
  }
  .jss-hero-nav:hover{transform:translateY(-50%)!important}
  .jss-hero-nav.prev{left:10px!important}
  .jss-hero-nav.next{right:10px!important}
  .jss-hero-dots{bottom:16px!important}
}
@media(max-width:420px){
  .jss-home .jss-hero-copy{
    padding-left:42px!important;
    padding-right:42px!important;
    max-width:calc(100% - 84px)!important;
  }
  .jss-hero-nav{top:60%!important;width:40px!important;height:40px!important}
  .jss-hero-nav.prev{left:8px!important}
  .jss-hero-nav.next{right:8px!important}
}


/* V1.6.4 full-width hero carousel like AIS: entire slide moves together */
.jss-home .jss-hero-carousel{position:relative;overflow:hidden;background:#eef3fb;border-radius:0;min-height:720px}
.jss-home .jss-hero-carousel .jss-hero-track{display:flex;width:100%;transition:transform .72s cubic-bezier(.22,.61,.36,1);will-change:transform}
.jss-home .jss-hero-carousel .jss-hero-slide{position:relative;flex:0 0 100%;min-height:720px;background-repeat:no-repeat;background-size:cover;background-position:center center;overflow:hidden}
.jss-home .jss-hero-carousel .jss-hero-slide:nth-child(1){background-position:center center}
.jss-home .jss-hero-carousel .jss-hero-slide:nth-child(2){background-position:center center}
.jss-home .jss-hero-carousel .jss-hero-slide:nth-child(3){background-position:center center}
.jss-home .jss-hero-carousel .jss-hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.94) 0%,rgba(255,255,255,.88) 30%,rgba(255,255,255,.35) 58%,rgba(255,255,255,.06) 100%);pointer-events:none}
.jss-home .jss-hero-carousel .jss-hero-inner{position:relative;z-index:2;max-width:1600px;margin:0 auto;min-height:720px;display:flex;align-items:center;padding:44px 4vw 52px}
.jss-home .jss-hero-carousel .jss-hero-copy{width:min(700px,48%);max-width:700px;padding:24px 0 12px}
.jss-home .jss-hero-carousel .jss-kicker{display:inline-flex;align-items:center;gap:10px;margin:0 0 18px;color:#e61c24;font-weight:800;font-size:clamp(18px,1.2vw,22px);border-bottom:2px solid #e61c24;padding-bottom:12px}
.jss-home .jss-hero-carousel .jss-kicker i{font-size:18px}
.jss-home .jss-hero-carousel h1{font-size:clamp(64px,5.1vw,110px);line-height:.95;letter-spacing:-.03em;margin:0 0 20px;color:#11448d;font-weight:900}
.jss-home .jss-hero-carousel h1 span{color:#e61c24;display:inline-block;margin-top:8px}
.jss-home .jss-hero-carousel .jss-hero-lead{font-size:clamp(22px,1.45vw,32px);line-height:1.55;color:#25416d;margin:0 0 28px;max-width:900px}
.jss-home .jss-hero-carousel .jss-rank-claim{display:inline-flex;align-items:center;justify-content:center;padding:16px 24px;border:1.5px solid rgba(230,28,36,.2);border-radius:999px;background:rgba(255,245,245,.9);color:#e61c24;font-weight:800;font-size:clamp(16px,1vw,22px);margin-bottom:26px}
.jss-home .jss-hero-carousel .jss-hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:26px}
.jss-home .jss-hero-carousel .jss-btn-primary,.jss-home .jss-hero-carousel .jss-btn-outline{min-height:58px;padding:0 28px;border-radius:999px;display:inline-flex;align-items:center;gap:12px;font-size:clamp(18px,1.02vw,22px);font-weight:800}
.jss-home .jss-hero-carousel .jss-btn-primary{box-shadow:0 14px 30px rgba(16,67,141,.18)}
.jss-home .jss-hero-carousel .jss-trust{display:flex;flex-wrap:wrap;gap:18px 32px;font-size:clamp(16px,.98vw,21px);color:#5a6680;font-weight:600}
.jss-home .jss-hero-carousel .jss-trust b{font-size:1.1em;color:#142b4f;margin-right:6px}
.jss-home .jss-hero-carousel .jss-hero-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:5;width:56px;height:56px;border-radius:50%;border:1px solid rgba(255,255,255,.72);background:rgba(12,56,110,.26);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;color:#fff;font-size:24px;box-shadow:0 10px 28px rgba(12,36,76,.18);transition:all .2s ease}
.jss-home .jss-hero-carousel .jss-hero-nav:hover{background:rgba(12,56,110,.4);transform:translateY(-50%) scale(1.04)}
.jss-home .jss-hero-carousel .jss-hero-nav.prev{left:18px}.jss-home .jss-hero-carousel .jss-hero-nav.next{right:18px}
.jss-home .jss-hero-carousel .jss-hero-dots{position:absolute;left:50%;bottom:26px;transform:translateX(-50%);display:flex;align-items:center;gap:10px;z-index:5}
.jss-home .jss-hero-carousel .jss-hero-dots button{width:13px;height:13px;border:none;border-radius:999px;background:rgba(17,68,141,.14);transition:all .25s ease;padding:0}
.jss-home .jss-hero-carousel .jss-hero-dots button.active{width:28px;background:#7ac70c}
@media (max-width: 1440px){
  .jss-home .jss-hero-carousel,.jss-home .jss-hero-carousel .jss-hero-slide,.jss-home .jss-hero-carousel .jss-hero-inner{min-height:640px}
  .jss-home .jss-hero-carousel .jss-hero-copy{width:min(660px,50%)}
}
@media (max-width: 1199px){
  .jss-home .jss-hero-carousel,.jss-home .jss-hero-carousel .jss-hero-slide,.jss-home .jss-hero-carousel .jss-hero-inner{min-height:860px}
  .jss-home .jss-hero-carousel .jss-hero-overlay{background:linear-gradient(180deg,rgba(255,255,255,.94) 0%,rgba(255,255,255,.86) 38%,rgba(255,255,255,.55) 72%,rgba(255,255,255,.22) 100%)}
  .jss-home .jss-hero-carousel .jss-hero-inner{align-items:flex-start;padding:54px 24px 78px}
  .jss-home .jss-hero-carousel .jss-hero-copy{width:100%;max-width:none;padding:40px 28px 0}
  .jss-home .jss-hero-carousel .jss-kicker{font-size:18px}
  .jss-home .jss-hero-carousel h1{font-size:clamp(48px,8vw,88px)}
  .jss-home .jss-hero-carousel .jss-hero-lead{font-size:clamp(20px,2.8vw,30px);max-width:700px}
  .jss-home .jss-hero-carousel .jss-hero-nav{top:auto;bottom:155px;transform:none}
  .jss-home .jss-hero-carousel .jss-hero-nav:hover{transform:scale(1.04)}
}
@media (max-width: 767px){
  .jss-home .jss-hero-carousel,.jss-home .jss-hero-carousel .jss-hero-slide,.jss-home .jss-hero-carousel .jss-hero-inner{min-height:780px}
  .jss-home .jss-hero-carousel .jss-hero-slide{background-position:62% center}
  .jss-home .jss-hero-carousel .jss-hero-overlay{background:linear-gradient(180deg,rgba(255,255,255,.94) 0%,rgba(255,255,255,.87) 46%,rgba(255,255,255,.64) 72%,rgba(255,255,255,.28) 100%)}
  .jss-home .jss-hero-carousel .jss-hero-inner{padding:34px 0 86px}
  .jss-home .jss-hero-carousel .jss-hero-copy{padding:24px 56px 0;max-width:100%}
  .jss-home .jss-hero-carousel .jss-kicker{font-size:15px;line-height:1.45;padding-bottom:10px;margin-bottom:14px}
  .jss-home .jss-hero-carousel h1{font-size:clamp(40px,10vw,64px);margin-bottom:14px}
  .jss-home .jss-hero-carousel .jss-hero-lead{font-size:clamp(16px,4.8vw,22px);line-height:1.55;margin-bottom:20px}
  .jss-home .jss-hero-carousel .jss-rank-claim{padding:12px 20px;font-size:16px;margin-bottom:18px}
  .jss-home .jss-hero-carousel .jss-hero-actions{gap:10px;margin-bottom:20px}
  .jss-home .jss-hero-carousel .jss-btn-primary,.jss-home .jss-hero-carousel .jss-btn-outline{min-height:50px;padding:0 20px;font-size:17px}
  .jss-home .jss-hero-carousel .jss-trust{gap:10px 18px;font-size:15px}
  .jss-home .jss-hero-carousel .jss-hero-nav{width:42px;height:42px;top:50%;bottom:auto;transform:translateY(-50%);font-size:18px;background:rgba(255,255,255,.52);color:#42506b;border:1px solid rgba(18,34,61,.35)}
  .jss-home .jss-hero-carousel .jss-hero-nav:hover{transform:translateY(-50%) scale(1.04);background:rgba(255,255,255,.68)}
  .jss-home .jss-hero-carousel .jss-hero-nav.prev{left:12px}.jss-home .jss-hero-carousel .jss-hero-nav.next{right:12px}
  .jss-home .jss-hero-carousel .jss-hero-dots{bottom:12px}
}
@media (max-width: 480px){
  .jss-home .jss-hero-carousel,.jss-home .jss-hero-carousel .jss-hero-slide,.jss-home .jss-hero-carousel .jss-hero-inner{min-height:760px}
  .jss-home .jss-hero-carousel .jss-hero-slide{background-position:66% center}
  .jss-home .jss-hero-carousel .jss-hero-copy{padding:18px 46px 0}
  .jss-home .jss-hero-carousel h1{font-size:clamp(36px,11vw,54px)}
  .jss-home .jss-hero-carousel .jss-hero-actions .jss-btn-primary,.jss-home .jss-hero-carousel .jss-hero-actions .jss-btn-outline{width:fit-content;max-width:100%}
  .jss-home .jss-hero-carousel .jss-trust span{display:block;width:100%}
  .jss-home .jss-hero-carousel .jss-hero-nav.prev{left:8px}.jss-home .jss-hero-carousel .jss-hero-nav.next{right:8px}
}


/* V1.6.5 one-image responsive hero: same slide image for desktop/tablet/mobile */
.jss-home .jss-hero-carousel{
  --hero-auto-height:clamp(610px,42vw,760px);
  min-height:var(--hero-auto-height)!important;
}
.jss-home .jss-hero-carousel .jss-hero-slide,
.jss-home .jss-hero-carousel .jss-hero-inner{
  min-height:var(--hero-auto-height)!important;
}
.jss-home .jss-hero-carousel .jss-hero-slide{
  background-size:cover!important;
  background-repeat:no-repeat!important;
  background-position:center center!important;
}
.jss-home .jss-hero-carousel .jss-hero-inner{
  width:100%!important;
  max-width:1600px!important;
  margin:0 auto!important;
  padding-left:clamp(30px,4vw,72px)!important;
  padding-right:clamp(30px,4vw,72px)!important;
}
@media(max-width:1199px){
  .jss-home .jss-hero-carousel{--hero-auto-height:clamp(680px,82vw,860px)}
  .jss-home .jss-hero-carousel .jss-hero-slide{background-position:center center!important}
}
@media(max-width:767px){
  .jss-home .jss-hero-carousel{--hero-auto-height:clamp(720px,180vw,820px)}
  .jss-home .jss-hero-carousel .jss-hero-slide{background-position:center center!important}
  .jss-home .jss-hero-carousel .jss-hero-copy{
    padding-left:52px!important;
    padding-right:52px!important;
  }
}
@media(max-width:480px){
  .jss-home .jss-hero-carousel{--hero-auto-height:clamp(700px,195vw,800px)}
  .jss-home .jss-hero-carousel .jss-hero-copy{
    padding-left:46px!important;
    padding-right:46px!important;
  }
}


/* V1.6.6 shorter hero height */
.jss-home .jss-hero-carousel{
  --hero-auto-height:clamp(560px,34vw,620px)!important;
}
.jss-home .jss-hero-carousel .jss-hero-inner{
  padding-top:28px!important;
  padding-bottom:34px!important;
}
.jss-home .jss-hero-carousel .jss-hero-dots{
  bottom:14px!important;
}
@media(max-width:1199px){
  .jss-home .jss-hero-carousel{--hero-auto-height:clamp(620px,72vw,740px)!important}
}
@media(max-width:767px){
  .jss-home .jss-hero-carousel{--hero-auto-height:clamp(690px,172vw,760px)!important}
}
@media(max-width:480px){
  .jss-home .jss-hero-carousel{--hero-auto-height:clamp(670px,188vw,740px)!important}
}


/* V1.6.7 desktop hero height matched to requested red frame */
@media(min-width:1200px){
  .jss-home .jss-hero-carousel{
    --hero-auto-height:clamp(550px,31vw,590px)!important;
  }
  .jss-home .jss-hero-carousel .jss-hero-inner{
    padding-top:20px!important;
    padding-bottom:26px!important;
  }
  .jss-home .jss-hero-carousel .jss-hero-dots{
    bottom:10px!important;
  }
}


/* V1.6.8 hard-fix desktop hero height: previous min-height could still grow from content */
@media(min-width:1200px){
  .jss-home .jss-hero-carousel{
    height:590px!important;
    min-height:590px!important;
    max-height:590px!important;
  }
  .jss-home .jss-hero-carousel .jss-hero-track{
    height:590px!important;
    min-height:590px!important;
    max-height:590px!important;
  }
  .jss-home .jss-hero-carousel .jss-hero-slide,
  .jss-home .jss-hero-carousel .jss-hero-inner{
    height:590px!important;
    min-height:590px!important;
    max-height:590px!important;
  }
  .jss-home .jss-hero-carousel .jss-hero-inner{
    padding-top:18px!important;
    padding-bottom:22px!important;
    align-items:center!important;
  }
  .jss-home .jss-hero-carousel .jss-hero-copy{
    width:min(650px,45vw)!important;
    max-width:650px!important;
    padding:0!important;
  }
  .jss-home .jss-hero-carousel .jss-kicker{
    font-size:16px!important;
    line-height:1.35!important;
    margin:0 0 12px!important;
    padding-bottom:8px!important;
  }
  .jss-home .jss-hero-carousel h1{
    font-size:clamp(52px,3.55vw,68px)!important;
    line-height:.98!important;
    margin:0 0 14px!important;
  }
  .jss-home .jss-hero-carousel h1 span{margin-top:4px!important}
  .jss-home .jss-hero-carousel .jss-hero-lead{
    font-size:17px!important;
    line-height:1.55!important;
    margin:0 0 16px!important;
    max-width:620px!important;
  }
  .jss-home .jss-hero-carousel .jss-rank-claim{
    padding:10px 18px!important;
    font-size:15px!important;
    margin:0 0 16px!important;
  }
  .jss-home .jss-hero-carousel .jss-hero-actions{
    gap:10px!important;
    margin:0 0 15px!important;
  }
  .jss-home .jss-hero-carousel .jss-btn-primary,
  .jss-home .jss-hero-carousel .jss-btn-outline{
    min-height:48px!important;
    padding:0 22px!important;
    font-size:16px!important;
    gap:9px!important;
  }
  .jss-home .jss-hero-carousel .jss-trust{
    gap:10px 24px!important;
    margin-top:0!important;
    font-size:14px!important;
    line-height:1.4!important;
  }
  .jss-home .jss-hero-carousel .jss-hero-dots{bottom:10px!important}
}


/* V1.6.9 scale desktop hero image by HERO HEIGHT, not viewport width */
@media(min-width:1200px){
  .jss-home .jss-hero-carousel .jss-hero-slide{
    background-color:#fff!important;
    background-size:auto 100%!important;
    background-position:right center!important;
    background-repeat:no-repeat!important;
  }
  .jss-home .jss-hero-carousel .jss-hero-overlay{
    background:linear-gradient(90deg,rgba(255,255,255,1) 0%,rgba(255,255,255,.98) 27%,rgba(255,255,255,.88) 40%,rgba(255,255,255,.30) 59%,rgba(255,255,255,.02) 78%,rgba(255,255,255,0) 100%)!important;
  }
}
@media(min-width:1800px){
  .jss-home .jss-hero-carousel .jss-hero-slide{
    background-size:auto 590px!important;
  }
}


/* V1.7.0 compact branded hero - actual JSS logo on helmet/back */
@media(min-width:1200px){
  .jss-home .jss-hero-carousel,
  .jss-home .jss-hero-carousel .jss-hero-track,
  .jss-home .jss-hero-carousel .jss-hero-slide,
  .jss-home .jss-hero-carousel .jss-hero-inner{
    height:510px!important;
    min-height:510px!important;
    max-height:510px!important;
  }
  .jss-home .jss-hero-carousel .jss-hero-slide:first-child{
    background-image:url('../img/jss-hero-2026-branded-wide.jpg')!important;
    background-size:cover!important;
    background-position:center center!important;
  }
  .jss-home .jss-hero-carousel .jss-hero-slide:first-child .jss-hero-overlay{
    background:linear-gradient(90deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.94) 28%,rgba(255,255,255,.66) 41%,rgba(255,255,255,.16) 57%,rgba(255,255,255,0) 72%)!important;
  }
  .jss-home .jss-hero-carousel .jss-hero-inner{
    padding-top:12px!important;
    padding-bottom:14px!important;
  }
  .jss-home .jss-hero-carousel .jss-hero-copy{
    width:min(620px,42vw)!important;
    max-width:620px!important;
    padding:0!important;
  }
  .jss-home .jss-hero-carousel .jss-kicker{
    font-size:15px!important;
    line-height:1.25!important;
    margin:0 0 9px!important;
    padding-bottom:7px!important;
  }
  .jss-home .jss-hero-carousel h1{
    font-size:clamp(48px,3.15vw,60px)!important;
    line-height:.98!important;
    margin:0 0 10px!important;
  }
  .jss-home .jss-hero-carousel h1 span{margin-top:2px!important}
  .jss-home .jss-hero-carousel .jss-hero-lead{
    font-size:15.5px!important;
    line-height:1.48!important;
    margin:0 0 12px!important;
    max-width:590px!important;
  }
  .jss-home .jss-hero-carousel .jss-rank-claim{
    padding:8px 16px!important;
    font-size:14px!important;
    margin:0 0 12px!important;
  }
  .jss-home .jss-hero-carousel .jss-hero-actions{
    gap:9px!important;
    margin:0 0 11px!important;
  }
  .jss-home .jss-hero-carousel .jss-btn-primary,
  .jss-home .jss-hero-carousel .jss-btn-outline{
    min-height:44px!important;
    padding:0 18px!important;
    font-size:15px!important;
    gap:8px!important;
  }
  .jss-home .jss-hero-carousel .jss-trust{
    gap:8px 20px!important;
    margin-top:0!important;
    font-size:13px!important;
    line-height:1.3!important;
  }
  .jss-home .jss-hero-carousel .jss-hero-nav{
    width:46px!important;
    height:46px!important;
  }
  .jss-home .jss-hero-carousel .jss-hero-dots{bottom:7px!important}
}

@media(min-width:1800px){
  .jss-home .jss-hero-carousel .jss-hero-slide:first-child{
    background-size:cover!important;
    background-position:center center!important;
  }
}

@media(max-width:1199px){
  .jss-home .jss-hero-carousel .jss-hero-slide:first-child{
    background-image:url('../img/jss-hero-2026-branded-wide.jpg')!important;
  }
}

/* V1.7.1 - shift hero content right, center back logo version, reduce overall hero height again */
@media(min-width:1200px){
  .jss-home .jss-hero-carousel,
  .jss-home .jss-hero-carousel .jss-hero-track,
  .jss-home .jss-hero-carousel .jss-hero-slide,
  .jss-home .jss-hero-carousel .jss-hero-inner{
    height:480px!important;
    min-height:480px!important;
    max-height:480px!important;
  }
  .jss-home .jss-hero-carousel .jss-hero-slide:first-child{
    background-image:url('../img/jss-hero-2026-branded-wide.jpg')!important;
    background-size:cover!important;
    background-position:center center!important;
  }
  .jss-home .jss-hero-carousel .jss-hero-inner{
    padding-top:10px!important;
    padding-bottom:12px!important;
    padding-left:clamp(58px,4.9vw,96px)!important;
    padding-right:44px!important;
  }
  .jss-home .jss-hero-carousel .jss-hero-copy{
    width:min(610px,43vw)!important;
    max-width:610px!important;
    margin-left:18px!important;
    padding:0!important;
  }
  .jss-home .jss-hero-carousel .jss-kicker{
    font-size:14px!important;
    line-height:1.24!important;
    margin:0 0 8px!important;
    padding-bottom:6px!important;
  }
  .jss-home .jss-hero-carousel h1{
    font-size:clamp(44px,3vw,56px)!important;
    line-height:.97!important;
    margin:0 0 8px!important;
  }
  .jss-home .jss-hero-carousel h1 span{margin-top:2px!important}
  .jss-home .jss-hero-carousel .jss-hero-lead{
    font-size:15px!important;
    line-height:1.45!important;
    margin:0 0 10px!important;
    max-width:575px!important;
  }
  .jss-home .jss-hero-carousel .jss-rank-claim{
    padding:7px 15px!important;
    font-size:13.5px!important;
    margin:0 0 10px!important;
  }
  .jss-home .jss-hero-carousel .jss-hero-actions{
    gap:8px!important;
    margin:0 0 10px!important;
  }
  .jss-home .jss-hero-carousel .jss-btn-primary,
  .jss-home .jss-hero-carousel .jss-btn-outline{
    min-height:42px!important;
    padding:0 17px!important;
    font-size:14px!important;
    gap:8px!important;
  }
  .jss-home .jss-hero-carousel .jss-trust{
    gap:8px 18px!important;
    font-size:12.5px!important;
    line-height:1.26!important;
  }
  .jss-home .jss-hero-carousel .jss-hero-nav{
    width:44px!important;
    height:44px!important;
  }
  .jss-home .jss-hero-carousel .jss-hero-dots{bottom:6px!important}
}

@media(min-width:768px) and (max-width:1199px){
  .jss-home .jss-hero-carousel{--hero-auto-height:clamp(600px,64vw,700px)!important}
  .jss-home .jss-hero-carousel .jss-hero-copy{padding-left:22px!important;padding-right:22px!important}
}

/* V1.7.2 - restore hero layout after over-compression */
@media(min-width:1200px){
  .jss-home .jss-hero-carousel,
  .jss-home .jss-hero-carousel .jss-hero-track,
  .jss-home .jss-hero-carousel .jss-hero-slide,
  .jss-home .jss-hero-carousel .jss-hero-inner{
    height:560px!important;
    min-height:560px!important;
    max-height:560px!important;
  }
  .jss-home .jss-hero-carousel .jss-hero-slide:first-child{
    background-image:url('../img/jss-hero-2026-branded-wide.jpg')!important;
    background-size:cover!important;
    background-position:center center!important;
  }
  .jss-home .jss-hero-carousel .jss-hero-inner{
    padding-top:28px!important;
    padding-bottom:28px!important;
    padding-left:clamp(70px,5vw,108px)!important;
    padding-right:48px!important;
    align-items:center!important;
  }
  .jss-home .jss-hero-carousel .jss-hero-copy{
    width:min(630px,44vw)!important;
    max-width:630px!important;
    margin-left:24px!important;
    margin-right:auto!important;
    padding:0!important;
  }
  .jss-home .jss-hero-carousel .jss-kicker{
    font-size:14px!important;
    line-height:1.3!important;
    margin:0 0 12px!important;
    padding-bottom:8px!important;
  }
  .jss-home .jss-hero-carousel h1{
    font-size:clamp(50px,3.2vw,64px)!important;
    line-height:0.98!important;
    margin:0 0 12px!important;
  }
  .jss-home .jss-hero-carousel .jss-hero-lead{
    font-size:16px!important;
    line-height:1.58!important;
    margin:0 0 14px!important;
    max-width:600px!important;
  }
  .jss-home .jss-hero-carousel .jss-rank-claim{
    padding:8px 16px!important;
    font-size:14px!important;
    margin:0 0 14px!important;
  }
  .jss-home .jss-hero-carousel .jss-hero-actions{
    gap:10px!important;
    margin:0 0 14px!important;
  }
  .jss-home .jss-hero-carousel .jss-btn-primary,
  .jss-home .jss-hero-carousel .jss-btn-outline{
    min-height:44px!important;
    padding:0 18px!important;
    font-size:14.5px!important;
  }
  .jss-home .jss-hero-carousel .jss-trust{
    gap:10px 20px!important;
    font-size:13px!important;
    line-height:1.35!important;
  }
  .jss-home .jss-hero-carousel .jss-hero-nav{
    width:48px!important;
    height:48px!important;
  }
  .jss-home .jss-quick{
    margin:-20px auto 0!important;
    max-width:1480px!important;
  }
  .jss-home .jss-container,
  .jss-home .jss-service-photo-grid{
    max-width:1480px!important;
  }
}

@media(min-width:1600px){
  .jss-home .jss-hero-carousel,
  .jss-home .jss-hero-carousel .jss-hero-track,
  .jss-home .jss-hero-carousel .jss-hero-slide,
  .jss-home .jss-hero-carousel .jss-hero-inner{
    height:570px!important;
    min-height:570px!important;
    max-height:570px!important;
  }
}


/* V1.7.3 single wide hero hard override */
.jss-home #jssHeroSlider.jss-hero-carousel.single-image{
  --jss-single-hero-h:590px;
  position:relative!important;
  min-height:var(--jss-single-hero-h)!important;
  height:var(--jss-single-hero-h)!important;
  overflow:hidden!important;
}
.jss-home #jssHeroSlider.single-image .jss-hero-track{
  display:block!important;
  height:100%!important;
  transform:none!important;
}
.jss-home #jssHeroSlider.single-image .jss-hero-slide{
  position:relative!important;
  inset:auto!important;
  display:block!important;
  opacity:1!important;
  transform:none!important;
  min-height:var(--jss-single-hero-h)!important;
  height:var(--jss-single-hero-h)!important;
  background-image:url('../img/jss-hero-2026-branded-wide.jpg')!important;
  background-size:cover!important;
  background-repeat:no-repeat!important;
  background-position:center center!important;
}
.jss-home #jssHeroSlider.single-image .jss-hero-overlay{
  position:absolute!important;
  inset:0!important;
  background:linear-gradient(90deg,rgba(255,255,255,.97) 0%,rgba(255,255,255,.93) 30%,rgba(255,255,255,.60) 52%,rgba(255,255,255,.12) 74%,rgba(255,255,255,0) 100%)!important;
}
.jss-home #jssHeroSlider.single-image .jss-hero-inner{
  position:relative!important;
  z-index:2!important;
  max-width:1480px!important;
  width:100%!important;
  min-height:var(--jss-single-hero-h)!important;
  height:var(--jss-single-hero-h)!important;
  margin:0 auto!important;
  padding:48px 56px 42px 72px!important;
  display:flex!important;
  align-items:center!important;
}
.jss-home #jssHeroSlider.single-image .jss-hero-copy{
  width:min(620px,45%)!important;
  max-width:620px!important;
  margin:0!important;
  text-align:left!important;
}
.jss-home #jssHeroSlider.single-image .jss-kicker{margin-bottom:16px!important}
.jss-home #jssHeroSlider.single-image h1{font-size:clamp(3.1rem,4.3vw,5rem)!important;line-height:1.02!important;margin:0 0 14px!important}
.jss-home #jssHeroSlider.single-image .jss-hero-lead{max-width:610px!important;font-size:1.05rem!important;line-height:1.65!important;margin-bottom:18px!important}
.jss-home #jssHeroSlider.single-image .jss-rank-claim{margin-bottom:20px!important}
.jss-home #jssHeroSlider.single-image .jss-hero-actions{margin-top:0!important;margin-bottom:16px!important;gap:12px!important}
.jss-home #jssHeroSlider.single-image .jss-trust{gap:14px 28px!important;font-size:1rem!important}
.jss-home #jssHeroSlider.single-image .jss-hero-nav,
.jss-home #jssHeroSlider.single-image .jss-hero-dots{display:none!important}
@media (min-width:1600px){
  .jss-home #jssHeroSlider.jss-hero-carousel.single-image{--jss-single-hero-h:610px}
  .jss-home #jssHeroSlider.single-image .jss-hero-inner{padding-left:84px!important;padding-right:70px!important}
  .jss-home #jssHeroSlider.single-image .jss-hero-copy{width:min(660px,46%)!important;max-width:660px!important}
}
@media (max-width:1199.98px){
  .jss-home #jssHeroSlider.jss-hero-carousel.single-image{--jss-single-hero-h:560px}
  .jss-home #jssHeroSlider.single-image .jss-hero-inner{padding:38px 34px 34px 46px!important}
  .jss-home #jssHeroSlider.single-image .jss-hero-copy{width:min(560px,52%)!important;max-width:560px!important}
  .jss-home #jssHeroSlider.single-image h1{font-size:clamp(2.75rem,5vw,4.1rem)!important}
}
@media (max-width:991.98px){
  .jss-home #jssHeroSlider.jss-hero-carousel.single-image{--jss-single-hero-h:760px;height:auto!important;min-height:var(--jss-single-hero-h)!important}
  .jss-home #jssHeroSlider.single-image .jss-hero-slide,
  .jss-home #jssHeroSlider.single-image .jss-hero-inner{height:auto!important;min-height:var(--jss-single-hero-h)!important}
  .jss-home #jssHeroSlider.single-image .jss-hero-slide{background-position:66% center!important}
  .jss-home #jssHeroSlider.single-image .jss-hero-overlay{background:linear-gradient(180deg,rgba(255,255,255,.97) 0%,rgba(255,255,255,.92) 48%,rgba(255,255,255,.68) 76%,rgba(255,255,255,.30) 100%)!important}
  .jss-home #jssHeroSlider.single-image .jss-hero-inner{padding:42px 26px 76px!important;align-items:flex-start!important}
  .jss-home #jssHeroSlider.single-image .jss-hero-copy{width:100%!important;max-width:100%!important}
  .jss-home #jssHeroSlider.single-image h1{font-size:clamp(2.45rem,8vw,3.7rem)!important}
  .jss-home #jssHeroSlider.single-image .jss-hero-lead{max-width:700px!important;font-size:1rem!important}
}
@media (max-width:767.98px){
  .jss-home #jssHeroSlider.jss-hero-carousel.single-image{--jss-single-hero-h:720px}
  .jss-home #jssHeroSlider.single-image .jss-hero-slide{background-position:70% center!important}
  .jss-home #jssHeroSlider.single-image .jss-hero-inner{padding:34px 18px 68px!important}
  .jss-home #jssHeroSlider.single-image .jss-kicker{font-size:14px!important;line-height:1.45!important}
  .jss-home #jssHeroSlider.single-image h1{font-size:clamp(2.15rem,9vw,3rem)!important;margin-bottom:12px!important}
  .jss-home #jssHeroSlider.single-image .jss-hero-lead{font-size:1rem!important;line-height:1.6!important;margin-bottom:16px!important}
  .jss-home #jssHeroSlider.single-image .jss-rank-claim{font-size:16px!important;padding:12px 18px!important}
  .jss-home #jssHeroSlider.single-image .jss-hero-actions{gap:10px!important}
  .jss-home #jssHeroSlider.single-image .jss-btn-primary,.jss-home #jssHeroSlider.single-image .jss-btn-outline{min-height:50px!important;padding:0 18px!important;font-size:16px!important}
  .jss-home #jssHeroSlider.single-image .jss-trust{font-size:15px!important;gap:8px 18px!important}
}
@media (max-width:575.98px){
  .jss-home #jssHeroSlider.jss-hero-carousel.single-image{--jss-single-hero-h:690px}
  .jss-home #jssHeroSlider.single-image .jss-hero-slide{background-position:72% center!important}
  .jss-home #jssHeroSlider.single-image .jss-hero-inner{padding:30px 16px 64px!important}
  .jss-home #jssHeroSlider.single-image .jss-btn-primary,.jss-home #jssHeroSlider.single-image .jss-btn-outline{width:fit-content!important;max-width:100%!important}
}


/* ===== JSS V1.7.4 HERO CONSISTENCY FIX ===== */
body.jss-home .jss-hero.jss-hero-carousel{
  position:relative !important;
  min-height:590px !important;
  height:590px !important;
  max-height:590px !important;
  background:#f4f8fd !important;
}
body.jss-home .jss-hero.jss-hero-carousel .jss-hero-track,
body.jss-home .jss-hero.jss-hero-carousel .jss-hero-slide{
  height:100% !important;
}
body.jss-home .jss-hero.jss-hero-carousel .jss-hero-slide{
  background-image:url('../img/jss-hero-2026-branded-wide.jpg') !important;
  background-size:cover !important;
  background-repeat:no-repeat !important;
  background-position:center center !important;
}
body.jss-home .jss-hero.jss-hero-carousel .jss-hero-overlay{
  background:linear-gradient(90deg, rgba(255,255,255,.98) 0%, rgba(255,255,255,.95) 30%, rgba(255,255,255,.74) 48%, rgba(255,255,255,.24) 68%, rgba(255,255,255,.04) 84%) !important;
}
body.jss-home .jss-hero.jss-hero-carousel .jss-hero-inner{
  position:relative !important;
  z-index:3 !important;
  max-width:1540px !important;
  min-height:590px !important;
  height:590px !important;
  margin:0 auto !important;
  padding:46px 42px 34px clamp(52px, 6vw, 96px) !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
}
body.jss-home .jss-hero.jss-hero-carousel .jss-hero-copy{
  width:min(670px, 43vw) !important;
  max-width:670px !important;
  margin:0 !important;
  text-align:left !important;
}
body.jss-home .jss-hero.jss-hero-carousel .jss-kicker{
  margin-bottom:18px !important;
}
body.jss-home .jss-hero.jss-hero-carousel h1{
  margin:0 !important;
  font-size:clamp(3.2rem, 4.2vw, 4.9rem) !important;
  line-height:0.98 !important;
  letter-spacing:-0.02em !important;
}
body.jss-home .jss-hero.jss-hero-carousel h1 .jss-line-main,
body.jss-home .jss-hero.jss-hero-carousel h1 .jss-line-accent{
  display:block !important;
  white-space:nowrap !important;
}
body.jss-home .jss-hero.jss-hero-carousel h1 .jss-line-accent{
  color:var(--jss-red) !important;
}
body.jss-home .jss-hero.jss-hero-carousel .jss-hero-lead{
  max-width:610px !important;
  margin-top:18px !important;
  font-size:1.08rem !important;
  line-height:1.62 !important;
}
body.jss-home .jss-hero.jss-hero-carousel .jss-rank-claim{
  margin-top:22px !important;
}
body.jss-home .jss-hero.jss-hero-carousel .jss-hero-actions{
  margin-top:24px !important;
  justify-content:flex-start !important;
}
body.jss-home .jss-hero.jss-hero-carousel .jss-trust{
  margin-top:18px !important;
  justify-content:flex-start !important;
  flex-wrap:wrap !important;
  gap:12px 22px !important;
}
body.jss-home .jss-hero.jss-hero-carousel.single-image .jss-hero-nav,
body.jss-home .jss-hero.jss-hero-carousel.single-image .jss-hero-dots{
  display:none !important;
}

@media (min-width: 1600px){
  body.jss-home .jss-hero.jss-hero-carousel{
    min-height:610px !important;
    height:610px !important;
    max-height:610px !important;
  }
  body.jss-home .jss-hero.jss-hero-carousel .jss-hero-inner{
    min-height:610px !important;
    height:610px !important;
    max-width:1660px !important;
    padding-left:clamp(64px, 7vw, 118px) !important;
    padding-right:56px !important;
  }
  body.jss-home .jss-hero.jss-hero-carousel .jss-hero-copy{
    width:min(720px, 44vw) !important;
    max-width:720px !important;
  }
  body.jss-home .jss-hero.jss-hero-carousel h1{
    font-size:clamp(3.45rem, 4.15vw, 5.15rem) !important;
  }
}

@media (max-width: 1399.98px){
  body.jss-home .jss-hero.jss-hero-carousel{
    min-height:560px !important;
    height:560px !important;
    max-height:560px !important;
  }
  body.jss-home .jss-hero.jss-hero-carousel .jss-hero-inner{
    min-height:560px !important;
    height:560px !important;
    padding-left:42px !important;
    padding-right:32px !important;
  }
  body.jss-home .jss-hero.jss-hero-carousel .jss-hero-copy{
    width:min(610px, 46vw) !important;
    max-width:610px !important;
  }
  body.jss-home .jss-hero.jss-hero-carousel h1{
    font-size:clamp(2.8rem, 3.85vw, 4.25rem) !important;
  }
  body.jss-home .jss-hero.jss-hero-carousel .jss-hero-lead{
    font-size:1rem !important;
  }
}

@media (max-width: 1199.98px){
  body.jss-home .jss-hero.jss-hero-carousel{
    min-height:520px !important;
    height:520px !important;
    max-height:520px !important;
  }
  body.jss-home .jss-hero.jss-hero-carousel .jss-hero-inner{
    min-height:520px !important;
    height:520px !important;
    padding-left:28px !important;
    padding-right:24px !important;
  }
  body.jss-home .jss-hero.jss-hero-carousel .jss-hero-copy{
    width:min(560px, 48vw) !important;
    max-width:560px !important;
  }
  body.jss-home .jss-hero.jss-hero-carousel h1{
    font-size:clamp(2.55rem, 4.1vw, 3.75rem) !important;
  }
  body.jss-home .jss-hero.jss-hero-carousel .jss-hero-lead{
    max-width:520px !important;
    font-size:.96rem !important;
  }
  body.jss-home .jss-hero.jss-hero-carousel .jss-hero-slide{
    background-position:58% center !important;
  }
}

@media (max-width: 991.98px){
  body.jss-home .jss-hero.jss-hero-carousel{
    min-height:700px !important;
    height:auto !important;
    max-height:none !important;
  }
  body.jss-home .jss-hero.jss-hero-carousel .jss-hero-track,
  body.jss-home .jss-hero.jss-hero-carousel .jss-hero-slide{
    min-height:700px !important;
    height:auto !important;
  }
  body.jss-home .jss-hero.jss-hero-carousel .jss-hero-slide{
    background-position:72% center !important;
  }
  body.jss-home .jss-hero.jss-hero-carousel .jss-hero-overlay{
    background:linear-gradient(180deg, rgba(255,255,255,.96) 0%, rgba(255,255,255,.88) 48%, rgba(255,255,255,.46) 100%) !important;
  }
  body.jss-home .jss-hero.jss-hero-carousel .jss-hero-inner{
    min-height:700px !important;
    height:auto !important;
    padding:36px 20px 34px 20px !important;
    align-items:flex-start !important;
  }
  body.jss-home .jss-hero.jss-hero-carousel .jss-hero-copy{
    width:100% !important;
    max-width:390px !important;
  }
  body.jss-home .jss-hero.jss-hero-carousel h1{
    font-size:clamp(2.1rem, 8.6vw, 3.2rem) !important;
  }
  body.jss-home .jss-hero.jss-hero-carousel h1 .jss-line-main,
  body.jss-home .jss-hero.jss-hero-carousel h1 .jss-line-accent{
    white-space:nowrap !important;
  }
  body.jss-home .jss-hero.jss-hero-carousel .jss-hero-lead{
    max-width:100% !important;
    font-size:1rem !important;
    line-height:1.58 !important;
  }
  body.jss-home .jss-hero.jss-hero-carousel .jss-hero-actions{
    gap:10px !important;
  }
}

@media (max-width: 575.98px){
  body.jss-home .jss-hero.jss-hero-carousel{
    min-height:690px !important;
  }
  body.jss-home .jss-hero.jss-hero-carousel .jss-hero-track,
  body.jss-home .jss-hero.jss-hero-carousel .jss-hero-slide,
  body.jss-home .jss-hero.jss-hero-carousel .jss-hero-inner{
    min-height:690px !important;
  }
  body.jss-home .jss-hero.jss-hero-carousel .jss-hero-slide{
    background-position:74% center !important;
  }
  body.jss-home .jss-hero.jss-hero-carousel .jss-hero-copy{
    max-width:330px !important;
  }
  body.jss-home .jss-hero.jss-hero-carousel h1{
    font-size:clamp(1.82rem, 10vw, 2.55rem) !important;
  }
  body.jss-home .jss-hero.jss-hero-carousel .jss-kicker{
    font-size:.92rem !important;
  }
  body.jss-home .jss-hero.jss-hero-carousel .jss-hero-lead{
    font-size:.95rem !important;
  }
  body.jss-home .jss-hero.jss-hero-carousel .jss-hero-actions a{
    min-width:0 !important;
    font-size:.9rem !important;
    padding:11px 14px !important;
  }
}


/* ===== JSS V1.7.5 HERO DESKTOP BALANCE FIX =====
   Reduce oversized left blank area and reduce hero height across breakpoints. */
@media (min-width:1400px){
  body.jss-home #jssHeroSlider.jss-hero-carousel{
    min-height:530px !important;
    height:530px !important;
    max-height:530px !important;
  }
  body.jss-home #jssHeroSlider .jss-hero-track,
  body.jss-home #jssHeroSlider .jss-hero-slide,
  body.jss-home #jssHeroSlider .jss-hero-inner{
    min-height:530px !important;
    height:530px !important;
    max-height:530px !important;
  }
  body.jss-home #jssHeroSlider .jss-hero-inner{
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    padding:30px 44px 28px clamp(54px,4.4vw,84px) !important;
  }
  body.jss-home #jssHeroSlider .jss-hero-copy{
    width:min(650px,40vw) !important;
    max-width:650px !important;
    margin:0 !important;
  }
  body.jss-home #jssHeroSlider h1{
    font-size:clamp(3rem,3.7vw,4.55rem) !important;
    line-height:.98 !important;
  }
  body.jss-home #jssHeroSlider .jss-hero-lead{
    max-width:590px !important;
    margin-top:14px !important;
    font-size:1.02rem !important;
    line-height:1.55 !important;
  }
  body.jss-home #jssHeroSlider .jss-rank-claim{margin-top:16px !important}
  body.jss-home #jssHeroSlider .jss-hero-actions{margin-top:18px !important}
  body.jss-home #jssHeroSlider .jss-trust{margin-top:14px !important}
  body.jss-home #jssHeroSlider .jss-hero-slide{
    background-position:center center !important;
  }
}

@media (min-width:1600px){
  body.jss-home #jssHeroSlider.jss-hero-carousel{
    min-height:540px !important;
    height:540px !important;
    max-height:540px !important;
  }
  body.jss-home #jssHeroSlider .jss-hero-track,
  body.jss-home #jssHeroSlider .jss-hero-slide,
  body.jss-home #jssHeroSlider .jss-hero-inner{
    min-height:540px !important;
    height:540px !important;
    max-height:540px !important;
  }
  body.jss-home #jssHeroSlider .jss-hero-inner{
    max-width:none !important;
    padding-left:clamp(62px,4.5vw,88px) !important;
    padding-right:48px !important;
  }
  body.jss-home #jssHeroSlider .jss-hero-copy{
    width:min(680px,40vw) !important;
    max-width:680px !important;
  }
}

@media (min-width:1200px) and (max-width:1399.98px){
  body.jss-home #jssHeroSlider.jss-hero-carousel,
  body.jss-home #jssHeroSlider .jss-hero-track,
  body.jss-home #jssHeroSlider .jss-hero-slide,
  body.jss-home #jssHeroSlider .jss-hero-inner{
    min-height:510px !important;
    height:510px !important;
    max-height:510px !important;
  }
  body.jss-home #jssHeroSlider .jss-hero-inner{
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    padding:28px 34px 26px 44px !important;
  }
  body.jss-home #jssHeroSlider .jss-hero-copy{
    width:min(590px,43vw) !important;
    max-width:590px !important;
  }
}

@media (min-width:992px) and (max-width:1199.98px){
  body.jss-home #jssHeroSlider.jss-hero-carousel,
  body.jss-home #jssHeroSlider .jss-hero-track,
  body.jss-home #jssHeroSlider .jss-hero-slide,
  body.jss-home #jssHeroSlider .jss-hero-inner{
    min-height:500px !important;
    height:500px !important;
    max-height:500px !important;
  }
  body.jss-home #jssHeroSlider .jss-hero-inner{
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    padding:26px 26px 24px 30px !important;
  }
  body.jss-home #jssHeroSlider .jss-hero-copy{
    width:min(540px,47vw) !important;
    max-width:540px !important;
  }
}

@media (max-width:991.98px){
  body.jss-home #jssHeroSlider.jss-hero-carousel{
    min-height:650px !important;
  }
  body.jss-home #jssHeroSlider .jss-hero-track,
  body.jss-home #jssHeroSlider .jss-hero-slide,
  body.jss-home #jssHeroSlider .jss-hero-inner{
    min-height:650px !important;
  }
}

@media (max-width:575.98px){
  body.jss-home #jssHeroSlider.jss-hero-carousel,
  body.jss-home #jssHeroSlider .jss-hero-track,
  body.jss-home #jssHeroSlider .jss-hero-slide,
  body.jss-home #jssHeroSlider .jss-hero-inner{
    min-height:630px !important;
  }
}

/* ===== JSS V1.7.6 HERO 50/50 BALANCE FIX =====
   Make left/right overall composition more even and reduce desktop hero height. */
@media (min-width: 1200px){
  body.jss-home #jssHeroSlider.jss-hero-carousel,
  body.jss-home #jssHeroSlider .jss-hero-track,
  body.jss-home #jssHeroSlider .jss-hero-slide,
  body.jss-home #jssHeroSlider .jss-hero-inner{
    min-height:500px !important;
    height:500px !important;
    max-height:500px !important;
  }
  body.jss-home #jssHeroSlider .jss-hero-slide{
    background-image:url('../img/jss-hero-2026-branded-wide.jpg') !important;
    background-size:cover !important;
    background-repeat:no-repeat !important;
    background-position:center center !important;
  }
  body.jss-home #jssHeroSlider .jss-hero-overlay{
    background:linear-gradient(90deg,
      rgba(255,255,255,.98) 0%,
      rgba(255,255,255,.95) 20%,
      rgba(255,255,255,.82) 36%,
      rgba(255,255,255,.40) 50%,
      rgba(255,255,255,.10) 64%,
      rgba(255,255,255,0) 78%) !important;
  }
  body.jss-home #jssHeroSlider .jss-hero-inner{
    width:100% !important;
    max-width:1360px !important;
    margin:0 auto !important;
    padding:26px 40px 24px 40px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
  }
  body.jss-home #jssHeroSlider .jss-hero-copy{
    width:50% !important;
    max-width:560px !important;
    margin:0 !important;
    text-align:left !important;
  }
  body.jss-home #jssHeroSlider .jss-kicker{
    margin:0 0 12px !important;
    padding-bottom:8px !important;
    font-size:14px !important;
    line-height:1.3 !important;
  }
  body.jss-home #jssHeroSlider h1{
    margin:0 !important;
    font-size:clamp(3.05rem,3.45vw,4.4rem) !important;
    line-height:.98 !important;
  }
  body.jss-home #jssHeroSlider .jss-hero-lead{
    max-width:560px !important;
    margin-top:14px !important;
    font-size:1rem !important;
    line-height:1.58 !important;
  }
  body.jss-home #jssHeroSlider .jss-rank-claim{margin-top:16px !important; margin-bottom:0 !important;}
  body.jss-home #jssHeroSlider .jss-hero-actions{margin-top:18px !important; margin-bottom:0 !important; gap:10px !important;}
  body.jss-home #jssHeroSlider .jss-btn-primary,
  body.jss-home #jssHeroSlider .jss-btn-outline{min-height:44px !important; padding:0 18px !important; font-size:14px !important;}
  body.jss-home #jssHeroSlider .jss-trust{margin-top:16px !important; gap:10px 18px !important; font-size:13px !important; line-height:1.35 !important;}
}

@media (min-width: 1600px){
  body.jss-home #jssHeroSlider.jss-hero-carousel,
  body.jss-home #jssHeroSlider .jss-hero-track,
  body.jss-home #jssHeroSlider .jss-hero-slide,
  body.jss-home #jssHeroSlider .jss-hero-inner{
    min-height:520px !important;
    height:520px !important;
    max-height:520px !important;
  }
  body.jss-home #jssHeroSlider .jss-hero-inner{
    max-width:1420px !important;
    padding-left:44px !important;
    padding-right:44px !important;
  }
  body.jss-home #jssHeroSlider .jss-hero-copy{
    width:50% !important;
    max-width:590px !important;
  }
  body.jss-home #jssHeroSlider h1{
    font-size:clamp(3.2rem,3.35vw,4.6rem) !important;
  }
}

@media (min-width: 1200px) and (max-width: 1399.98px){
  body.jss-home #jssHeroSlider .jss-hero-inner{max-width:1280px !important; padding-left:32px !important; padding-right:32px !important;}
  body.jss-home #jssHeroSlider .jss-hero-copy{max-width:520px !important;}
  body.jss-home #jssHeroSlider h1{font-size:clamp(2.8rem,3.2vw,4rem) !important;}
}

/* ===== JSS V1.7.7 HERO COMPACT EQUAL BALANCE =====
   Reduce overall hero size and balance left/right content closer to 50/50. */
@media (min-width: 1200px){
  body.jss-home #jssHeroSlider.jss-hero-carousel,
  body.jss-home #jssHeroSlider .jss-hero-track,
  body.jss-home #jssHeroSlider .jss-hero-slide,
  body.jss-home #jssHeroSlider .jss-hero-inner{
    min-height:460px !important;
    height:460px !important;
    max-height:460px !important;
  }
  body.jss-home #jssHeroSlider .jss-hero-slide{
    background-image:url('../img/jss-hero-2026-branded-wide.jpg') !important;
    background-size:cover !important;
    background-repeat:no-repeat !important;
    background-position:center center !important;
  }
  body.jss-home #jssHeroSlider .jss-hero-overlay{
    background:linear-gradient(90deg,
      rgba(255,255,255,.99) 0%,
      rgba(255,255,255,.96) 18%,
      rgba(255,255,255,.88) 34%,
      rgba(255,255,255,.52) 48%,
      rgba(255,255,255,.16) 62%,
      rgba(255,255,255,0) 76%) !important;
  }
  body.jss-home #jssHeroSlider .jss-hero-inner{
    width:100% !important;
    max-width:1280px !important;
    margin:0 auto !important;
    padding:18px 26px 16px 26px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
  }
  body.jss-home #jssHeroSlider .jss-hero-copy{
    width:49% !important;
    max-width:500px !important;
    margin:0 !important;
    text-align:left !important;
  }
  body.jss-home #jssHeroSlider .jss-kicker{
    margin:0 0 10px !important;
    padding-bottom:7px !important;
    font-size:13px !important;
    line-height:1.25 !important;
  }
  body.jss-home #jssHeroSlider h1{
    margin:0 !important;
    font-size:clamp(2.65rem,3vw,3.8rem) !important;
    line-height:.96 !important;
    letter-spacing:-0.02em !important;
  }
  body.jss-home #jssHeroSlider .jss-hero-lead{
    max-width:500px !important;
    margin-top:12px !important;
    font-size:.95rem !important;
    line-height:1.5 !important;
  }
  body.jss-home #jssHeroSlider .jss-rank-claim{margin-top:14px !important;}
  body.jss-home #jssHeroSlider .jss-hero-actions{margin-top:16px !important; gap:10px !important;}
  body.jss-home #jssHeroSlider .jss-btn-primary,
  body.jss-home #jssHeroSlider .jss-btn-outline{
    min-height:42px !important;
    padding:0 18px !important;
    font-size:14px !important;
  }
  body.jss-home #jssHeroSlider .jss-trust{
    margin-top:14px !important;
    gap:8px 16px !important;
    font-size:12px !important;
    line-height:1.32 !important;
  }
}

@media (min-width: 1600px){
  body.jss-home #jssHeroSlider.jss-hero-carousel,
  body.jss-home #jssHeroSlider .jss-hero-track,
  body.jss-home #jssHeroSlider .jss-hero-slide,
  body.jss-home #jssHeroSlider .jss-hero-inner{
    min-height:480px !important;
    height:480px !important;
    max-height:480px !important;
  }
  body.jss-home #jssHeroSlider .jss-hero-inner{
    max-width:1320px !important;
    padding-left:30px !important;
    padding-right:30px !important;
  }
  body.jss-home #jssHeroSlider .jss-hero-copy{
    max-width:520px !important;
  }
  body.jss-home #jssHeroSlider h1{
    font-size:clamp(2.9rem,3.1vw,4rem) !important;
  }
}

@media (min-width: 1200px) and (max-width: 1399.98px){
  body.jss-home #jssHeroSlider .jss-hero-inner{
    max-width:1220px !important;
    padding-left:22px !important;
    padding-right:22px !important;
  }
  body.jss-home #jssHeroSlider .jss-hero-copy{
    max-width:470px !important;
  }
  body.jss-home #jssHeroSlider h1{
    font-size:clamp(2.45rem,2.9vw,3.4rem) !important;
  }
}

/* ===== JSS V1.7.8 HERO BALANCE TUNE =====
   Make the hero look less right-heavy, shorter, and visually balanced. */
@media (min-width:1200px){
  .jss-home #jssHeroSlider.jss-hero-carousel.single-image{
    --jss-single-hero-h:520px !important;
    min-height:var(--jss-single-hero-h) !important;
    height:var(--jss-single-hero-h) !important;
  }
  .jss-home #jssHeroSlider.single-image .jss-hero-slide,
  .jss-home #jssHeroSlider.single-image .jss-hero-inner{
    min-height:var(--jss-single-hero-h) !important;
    height:var(--jss-single-hero-h) !important;
  }
  .jss-home #jssHeroSlider.single-image .jss-hero-slide{
    background-position:62% center !important;
  }
  .jss-home #jssHeroSlider.single-image .jss-hero-overlay{
    background:linear-gradient(90deg,
      rgba(255,255,255,.992) 0%,
      rgba(255,255,255,.97) 24%,
      rgba(255,255,255,.90) 40%,
      rgba(255,255,255,.62) 54%,
      rgba(255,255,255,.18) 68%,
      rgba(255,255,255,0) 80%) !important;
  }
  .jss-home #jssHeroSlider.single-image .jss-hero-inner{
    max-width:1360px !important;
    padding:30px 44px 28px 44px !important;
    align-items:center !important;
  }
  .jss-home #jssHeroSlider.single-image .jss-hero-copy{
    width:min(540px,43%) !important;
    max-width:540px !important;
  }
  .jss-home #jssHeroSlider.single-image .jss-kicker{
    margin-bottom:12px !important;
    padding-bottom:7px !important;
    font-size:13px !important;
    line-height:1.28 !important;
  }
  .jss-home #jssHeroSlider.single-image h1{
    font-size:clamp(2.8rem,3.25vw,4.25rem) !important;
    line-height:.96 !important;
    margin:0 0 12px !important;
  }
  .jss-home #jssHeroSlider.single-image .jss-hero-lead{
    max-width:530px !important;
    font-size:.98rem !important;
    line-height:1.52 !important;
    margin-bottom:14px !important;
  }
  .jss-home #jssHeroSlider.single-image .jss-rank-claim{
    margin-bottom:14px !important;
  }
  .jss-home #jssHeroSlider.single-image .jss-hero-actions{
    margin-bottom:14px !important;
    gap:10px !important;
  }
  .jss-home #jssHeroSlider.single-image .jss-btn-primary,
  .jss-home #jssHeroSlider.single-image .jss-btn-outline{
    min-height:40px !important;
    padding:0 16px !important;
    font-size:14px !important;
  }
  .jss-home #jssHeroSlider.single-image .jss-trust{
    gap:8px 18px !important;
    font-size:.86rem !important;
    line-height:1.3 !important;
  }
}

@media (min-width:1400px){
  .jss-home #jssHeroSlider.jss-hero-carousel.single-image{
    --jss-single-hero-h:540px !important;
  }
  .jss-home #jssHeroSlider.single-image .jss-hero-slide{
    background-position:63% center !important;
  }
  .jss-home #jssHeroSlider.single-image .jss-hero-inner{
    max-width:1420px !important;
    padding:34px 54px 30px 54px !important;
  }
  .jss-home #jssHeroSlider.single-image .jss-hero-copy{
    width:min(560px,44%) !important;
    max-width:560px !important;
  }
}

@media (min-width:1200px) and (max-width:1399.98px){
  .jss-home #jssHeroSlider.jss-hero-carousel.single-image{
    --jss-single-hero-h:500px !important;
  }
  .jss-home #jssHeroSlider.single-image .jss-hero-slide{
    background-position:61% center !important;
  }
  .jss-home #jssHeroSlider.single-image .jss-hero-inner{
    max-width:1260px !important;
    padding:28px 36px 26px 36px !important;
  }
  .jss-home #jssHeroSlider.single-image .jss-hero-copy{
    width:min(500px,42%) !important;
    max-width:500px !important;
  }
  .jss-home #jssHeroSlider.single-image h1{
    font-size:clamp(2.55rem,3vw,3.7rem) !important;
  }
}

/* ===== JSS V1.7.9 HERO 480PX + IMAGE SCALE FIX ===== */
@media (min-width:1200px){
  .jss-home #jssHeroSlider.jss-hero-carousel.single-image{
    --jss-single-hero-h:480px !important;
    min-height:480px !important;
    height:480px !important;
    max-height:480px !important;
  }
  .jss-home #jssHeroSlider.single-image .jss-hero-track,
  .jss-home #jssHeroSlider.single-image .jss-hero-slide,
  .jss-home #jssHeroSlider.single-image .jss-hero-inner{
    min-height:480px !important;
    height:480px !important;
    max-height:480px !important;
  }
  .jss-home #jssHeroSlider.single-image .jss-hero-slide{
    background-image:url('../img/jss-hero-2026-branded-480.jpg') !important;
    background-color:#fff !important;
    background-size:auto 480px !important;
    background-repeat:no-repeat !important;
    background-position:right center !important;
  }
  .jss-home #jssHeroSlider.single-image .jss-hero-inner{
    max-width:1320px !important;
    margin:0 auto !important;
    padding-top:22px !important;
    padding-bottom:20px !important;
    padding-left:38px !important;
    padding-right:38px !important;
  }
  .jss-home #jssHeroSlider.single-image .jss-hero-copy{
    width:min(520px,42%) !important;
    max-width:520px !important;
  }
  .jss-home #jssHeroSlider.single-image h1{
    font-size:clamp(2.65rem,3vw,3.85rem) !important;
    line-height:.97 !important;
  }
  .jss-home #jssHeroSlider.single-image .jss-hero-lead{
    max-width:500px !important;
    font-size:.96rem !important;
    line-height:1.5 !important;
  }
}

/* ===== JSS V1.8.0 ULTRAWIDE HERO FINAL =====
   User requested large-screen dimensions + full-width image composition. */
.jss-home #jssHeroSlider.jss-hero-carousel.single-image{
  --jss-single-hero-h:500px !important;
}

@media (min-width:1400px){
  .jss-home #jssHeroSlider.jss-hero-carousel.single-image,
  .jss-home #jssHeroSlider.single-image .jss-hero-track,
  .jss-home #jssHeroSlider.single-image .jss-hero-slide,
  .jss-home #jssHeroSlider.single-image .jss-hero-inner{
    min-height:500px !important;
    height:500px !important;
    max-height:500px !important;
  }
  .jss-home #jssHeroSlider.single-image .jss-hero-slide{
    background-image:url('../img/jss-hero-2026-ultrawide-500.jpg') !important;
    background-size:cover !important;
    background-position:center center !important;
    background-repeat:no-repeat !important;
  }
  .jss-home #jssHeroSlider.single-image .jss-hero-overlay{
    background:linear-gradient(90deg,
      rgba(255,255,255,.995) 0%,
      rgba(255,255,255,.98) 17%,
      rgba(255,255,255,.92) 31%,
      rgba(255,255,255,.68) 43%,
      rgba(255,255,255,.24) 55%,
      rgba(255,255,255,0) 70%) !important;
  }
  .jss-home #jssHeroSlider.single-image .jss-hero-inner{
    width:100% !important;
    max-width:1822px !important;
    margin:0 auto !important;
    padding:1px 68px 55px 30px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
  }
  .jss-home #jssHeroSlider.single-image .jss-hero-copy{
    width:46% !important;
    max-width:690px !important;
    margin:0 !important;
    padding:0 !important;
    text-align:left !important;
  }
  .jss-home #jssHeroSlider.single-image .jss-kicker{
    margin:0 0 12px !important;
    padding-bottom:8px !important;
    font-size:14px !important;
    line-height:1.3 !important;
  }
  .jss-home #jssHeroSlider.single-image h1{
    margin:0 0 12px !important;
    font-size:clamp(3rem,3.4vw,4.45rem) !important;
    line-height:.97 !important;
    letter-spacing:-.025em !important;
  }
  .jss-home #jssHeroSlider.single-image .jss-hero-lead{
    max-width:650px !important;
    margin:0 0 14px !important;
    font-size:1rem !important;
    line-height:1.55 !important;
  }
  .jss-home #jssHeroSlider.single-image .jss-rank-claim{
    margin:0 0 14px !important;
    padding:8px 16px !important;
    font-size:14px !important;
  }
  .jss-home #jssHeroSlider.single-image .jss-hero-actions{
    margin:0 0 14px !important;
    gap:10px !important;
  }
  .jss-home #jssHeroSlider.single-image .jss-btn-primary,
  .jss-home #jssHeroSlider.single-image .jss-btn-outline{
    min-height:42px !important;
    padding:0 18px !important;
    font-size:14px !important;
  }
  .jss-home #jssHeroSlider.single-image .jss-trust{
    margin:0 !important;
    gap:8px 18px !important;
    font-size:13px !important;
    line-height:1.3 !important;
  }
}

/* Desktop / notebook: keep the same visual ratio, slightly tighter */
@media (min-width:1200px) and (max-width:1399.98px){
  .jss-home #jssHeroSlider.jss-hero-carousel.single-image,
  .jss-home #jssHeroSlider.single-image .jss-hero-track,
  .jss-home #jssHeroSlider.single-image .jss-hero-slide,
  .jss-home #jssHeroSlider.single-image .jss-hero-inner{
    min-height:480px !important;
    height:480px !important;
    max-height:480px !important;
  }
  .jss-home #jssHeroSlider.single-image .jss-hero-slide{
    background-image:url('../img/jss-hero-2026-ultrawide-500.jpg') !important;
    background-size:cover !important;
    background-position:center center !important;
  }
  .jss-home #jssHeroSlider.single-image .jss-hero-inner{
    max-width:1320px !important;
    margin:0 auto !important;
    padding:1px 48px 45px 24px !important;
  }
  .jss-home #jssHeroSlider.single-image .jss-hero-copy{
    width:47% !important;
    max-width:570px !important;
  }
  .jss-home #jssHeroSlider.single-image h1{
    font-size:clamp(2.65rem,3.15vw,3.85rem) !important;
  }
}

/* Tablet landscape: same composition, not a different design */
@media (min-width:992px) and (max-width:1199.98px){
  .jss-home #jssHeroSlider.jss-hero-carousel.single-image,
  .jss-home #jssHeroSlider.single-image .jss-hero-track,
  .jss-home #jssHeroSlider.single-image .jss-hero-slide,
  .jss-home #jssHeroSlider.single-image .jss-hero-inner{
    min-height:460px !important;
    height:460px !important;
    max-height:460px !important;
  }
  .jss-home #jssHeroSlider.single-image .jss-hero-slide{
    background-image:url('../img/jss-hero-2026-ultrawide-500.jpg') !important;
    background-size:cover !important;
    background-position:60% center !important;
  }
  .jss-home #jssHeroSlider.single-image .jss-hero-inner{
    max-width:1120px !important;
    margin:0 auto !important;
    padding:6px 30px 40px 24px !important;
  }
  .jss-home #jssHeroSlider.single-image .jss-hero-copy{
    width:50% !important;
    max-width:520px !important;
  }
  .jss-home #jssHeroSlider.single-image h1{
    font-size:clamp(2.35rem,4.5vw,3.45rem) !important;
  }
  .jss-home #jssHeroSlider.single-image .jss-hero-lead{
    font-size:.94rem !important;
  }
}

/* Tablet portrait / large mobile */
@media (min-width:768px) and (max-width:991.98px){
  .jss-home #jssHeroSlider.jss-hero-carousel.single-image{
    --jss-single-hero-h:610px !important;
    min-height:610px !important;
    height:610px !important;
  }
  .jss-home #jssHeroSlider.single-image .jss-hero-track,
  .jss-home #jssHeroSlider.single-image .jss-hero-slide,
  .jss-home #jssHeroSlider.single-image .jss-hero-inner{
    min-height:610px !important;
    height:610px !important;
  }
  .jss-home #jssHeroSlider.single-image .jss-hero-slide{
    background-image:url('../img/jss-hero-2026-ultrawide-500.jpg') !important;
    background-size:cover !important;
    background-position:68% center !important;
  }
  .jss-home #jssHeroSlider.single-image .jss-hero-overlay{
    background:linear-gradient(180deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.91) 46%,rgba(255,255,255,.55) 76%,rgba(255,255,255,.14) 100%) !important;
  }
  .jss-home #jssHeroSlider.single-image .jss-hero-inner{
    padding:28px 24px 46px !important;
    align-items:flex-start !important;
  }
  .jss-home #jssHeroSlider.single-image .jss-hero-copy{
    width:100% !important;
    max-width:520px !important;
  }
}

/* Mobile: preserve the same hierarchy and full-width image feeling */
@media (max-width:767.98px){
  .jss-home #jssHeroSlider.jss-hero-carousel.single-image{
    --jss-single-hero-h:650px !important;
    min-height:650px !important;
    height:650px !important;
  }
  .jss-home #jssHeroSlider.single-image .jss-hero-track,
  .jss-home #jssHeroSlider.single-image .jss-hero-slide,
  .jss-home #jssHeroSlider.single-image .jss-hero-inner{
    min-height:650px !important;
    height:650px !important;
  }
  .jss-home #jssHeroSlider.single-image .jss-hero-slide{
    background-image:url('../img/jss-hero-2026-ultrawide-500.jpg') !important;
    background-size:cover !important;
    background-position:74% center !important;
  }
  .jss-home #jssHeroSlider.single-image .jss-hero-overlay{
    background:linear-gradient(180deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.93) 48%,rgba(255,255,255,.62) 74%,rgba(255,255,255,.18) 100%) !important;
  }
  .jss-home #jssHeroSlider.single-image .jss-hero-inner{
    padding:24px 16px 42px !important;
    align-items:flex-start !important;
  }
  .jss-home #jssHeroSlider.single-image .jss-hero-copy{
    width:100% !important;
    max-width:365px !important;
  }
  .jss-home #jssHeroSlider.single-image h1{
    font-size:clamp(2rem,9vw,2.75rem) !important;
  }
  .jss-home #jssHeroSlider.single-image .jss-hero-lead{
    font-size:.94rem !important;
  }
}

/* ===== JSS V1.8.1 DATA-DRIVEN HERO SLIDER + NEWS ===== */
.jss-home #jssHeroSlider.jss-hero-carousel.cms-slider{
  --jss-hero-h:500px;
  position:relative!important;
  width:100%!important;
  max-width:100%!important;
  height:var(--jss-hero-h)!important;
  min-height:var(--jss-hero-h)!important;
  overflow:hidden!important;
  background:#eef4fb!important;
}
.jss-home #jssHeroSlider.cms-slider .jss-hero-track{
  display:flex!important;
  width:100%!important;
  height:100%!important;
  transition:transform .65s cubic-bezier(.22,.61,.36,1)!important;
  will-change:transform;
}
.jss-home #jssHeroSlider.cms-slider .jss-hero-slide{
  position:relative!important;
  flex:0 0 100%!important;
  width:100%!important;
  max-width:100%!important;
  height:100%!important;
  min-height:0!important;
  overflow:hidden!important;
  background:none!important;
}
.jss-home #jssHeroSlider.cms-slider .jss-hero-media-link{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  z-index:0!important;
}
.jss-home #jssHeroSlider.cms-slider .jss-hero-media{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  height:100%!important;
  margin:0!important;
  object-position:center center;
  z-index:0!important;
}
.jss-home #jssHeroSlider.cms-slider .jss-hero-media.fit-cover{object-fit:cover!important}
.jss-home #jssHeroSlider.cms-slider .jss-hero-media.fit-contain{object-fit:contain!important;background:#0a3268!important}
.jss-home #jssHeroSlider.cms-slider .jss-hero-overlay{
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  background:linear-gradient(90deg,rgba(255,255,255,.99) 0%,rgba(255,255,255,.96) 24%,rgba(255,255,255,.84) 42%,rgba(255,255,255,.34) 60%,rgba(255,255,255,0) 78%)!important;
  pointer-events:none!important;
}
.jss-home #jssHeroSlider.cms-slider .jss-hero-inner{
  position:relative!important;
  z-index:2!important;
  width:100%!important;
  max-width:1822px!important;
  height:100%!important;
  min-height:0!important;
  margin:0 auto!important;
  padding:1px 68px 55px 30px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
}
.jss-home #jssHeroSlider.cms-slider .jss-hero-copy{
  width:46%!important;
  max-width:690px!important;
  margin:0!important;
  padding:0!important;
  text-align:left!important;
}
.jss-home #jssHeroSlider.cms-slider .jss-kicker{margin:0 0 12px!important;padding-bottom:8px!important;font-size:14px!important;line-height:1.3!important}
.jss-home #jssHeroSlider.cms-slider h1{margin:0 0 12px!important;font-size:clamp(3rem,3.4vw,4.45rem)!important;line-height:.97!important;letter-spacing:-.025em!important}
.jss-home #jssHeroSlider.cms-slider .jss-hero-lead{max-width:650px!important;margin:0 0 14px!important;font-size:1rem!important;line-height:1.55!important}
.jss-home #jssHeroSlider.cms-slider .jss-rank-claim{margin:0 0 14px!important;padding:8px 16px!important;font-size:14px!important}
.jss-home #jssHeroSlider.cms-slider .jss-hero-actions{margin:0 0 14px!important;gap:10px!important}
.jss-home #jssHeroSlider.cms-slider .jss-btn-primary,
.jss-home #jssHeroSlider.cms-slider .jss-btn-outline{min-height:42px!important;padding:0 18px!important;font-size:14px!important}
.jss-home #jssHeroSlider.cms-slider .jss-trust{margin:0!important;gap:8px 18px!important;font-size:13px!important;line-height:1.3!important}
.jss-home #jssHeroSlider.cms-slider .jss-hero-nav{
  top:50%!important;
  bottom:auto!important;
  width:46px!important;
  height:46px!important;
  transform:translateY(-50%)!important;
  background:rgba(255,255,255,.72)!important;
  color:#35506f!important;
  border:1px solid rgba(13,57,110,.20)!important;
  box-shadow:0 8px 22px rgba(0,0,0,.14)!important;
}
.jss-home #jssHeroSlider.cms-slider .jss-hero-nav:hover{transform:translateY(-50%) scale(1.04)!important;background:#fff!important}
.jss-home #jssHeroSlider.cms-slider .jss-hero-nav.prev{left:14px!important}
.jss-home #jssHeroSlider.cms-slider .jss-hero-nav.next{right:14px!important}
.jss-home #jssHeroSlider.cms-slider .jss-hero-dots{bottom:12px!important}
.jss-home #jssHeroSlider.cms-slider .jss-hero-dots button{background:rgba(9,68,137,.22)!important}
.jss-home #jssHeroSlider.cms-slider .jss-hero-dots button.active{background:#6fbe13!important}

@media (min-width:1200px) and (max-width:1399.98px){
  .jss-home #jssHeroSlider.jss-hero-carousel.cms-slider{--jss-hero-h:480px}
  .jss-home #jssHeroSlider.cms-slider .jss-hero-inner{max-width:1320px!important;padding:1px 48px 45px 24px!important}
  .jss-home #jssHeroSlider.cms-slider .jss-hero-copy{width:47%!important;max-width:570px!important}
  .jss-home #jssHeroSlider.cms-slider h1{font-size:clamp(2.65rem,3.15vw,3.85rem)!important}
}
@media (min-width:992px) and (max-width:1199.98px){
  .jss-home #jssHeroSlider.jss-hero-carousel.cms-slider{--jss-hero-h:460px}
  .jss-home #jssHeroSlider.cms-slider .jss-hero-inner{max-width:1120px!important;padding:6px 30px 40px 24px!important}
  .jss-home #jssHeroSlider.cms-slider .jss-hero-copy{width:50%!important;max-width:520px!important}
  .jss-home #jssHeroSlider.cms-slider h1{font-size:clamp(2.35rem,4.5vw,3.45rem)!important}
  .jss-home #jssHeroSlider.cms-slider .jss-hero-lead{font-size:.94rem!important}
}
@media (min-width:768px) and (max-width:991.98px){
  .jss-home #jssHeroSlider.jss-hero-carousel.cms-slider{--jss-hero-h:580px}
  .jss-home #jssHeroSlider.cms-slider .jss-hero-overlay{background:linear-gradient(180deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.91) 46%,rgba(255,255,255,.55) 76%,rgba(255,255,255,.14) 100%)!important}
  .jss-home #jssHeroSlider.cms-slider .jss-hero-inner{padding:28px 24px 46px!important;align-items:flex-start!important}
  .jss-home #jssHeroSlider.cms-slider .jss-hero-copy{width:100%!important;max-width:520px!important}
}
@media (max-width:767.98px){
  .jss-home #jssHeroSlider.jss-hero-carousel.cms-slider{--jss-hero-h:630px}
  .jss-home #jssHeroSlider.cms-slider .jss-hero-overlay{background:linear-gradient(180deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.93) 48%,rgba(255,255,255,.62) 74%,rgba(255,255,255,.18) 100%)!important}
  .jss-home #jssHeroSlider.cms-slider .jss-hero-inner{padding:24px 16px 42px!important;align-items:flex-start!important}
  .jss-home #jssHeroSlider.cms-slider .jss-hero-copy{width:100%!important;max-width:365px!important}
  .jss-home #jssHeroSlider.cms-slider h1{font-size:clamp(2rem,9vw,2.75rem)!important}
  .jss-home #jssHeroSlider.cms-slider .jss-hero-lead{font-size:.94rem!important}
  .jss-home #jssHeroSlider.cms-slider .jss-hero-nav{width:40px!important;height:40px!important}
  .jss-home #jssHeroSlider.cms-slider .jss-hero-nav.prev{left:8px!important}
  .jss-home #jssHeroSlider.cms-slider .jss-hero-nav.next{right:8px!important}
}

/* News & activities */
.jss-news-section{background:linear-gradient(180deg,#f5f8fc 0%,#eef4fb 100%)!important}
.jss-news-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:32px}
.jss-news-card{background:#fff;border:1px solid #dfe7f1;border-radius:22px;overflow:hidden;box-shadow:0 14px 36px rgba(10,52,105,.08);transition:transform .2s ease,box-shadow .2s ease}
.jss-news-card:hover{transform:translateY(-4px);box-shadow:0 20px 45px rgba(10,52,105,.14)}
.jss-news-image{display:block;position:relative;width:100%;aspect-ratio:16/9;background:#eaf1fa;overflow:hidden}
.jss-news-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease}
.jss-news-card:hover .jss-news-image img{transform:scale(1.035)}
.jss-news-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:58px;color:#0b5cad;background:linear-gradient(135deg,#eaf3ff,#f8fbff)}
.jss-news-body{padding:20px 22px 22px}.jss-news-date{font-size:.86rem;color:#6d7d93;margin-bottom:8px}.jss-news-body h3,.jss-news-body h2{font-size:1.22rem;line-height:1.42;margin:0 0 10px;color:#073b7a}.jss-news-body h3 a,.jss-news-body h2 a{color:inherit;text-decoration:none}.jss-news-body p{margin:0 0 14px;color:#65748a;line-height:1.65}.jss-news-more{font-weight:700;color:#0b5cad;text-decoration:none}.jss-news-all{text-align:center;margin-top:28px}.jss-news-main{padding-top:118px}.jss-news-hero{padding:70px 0 44px;background:linear-gradient(135deg,#eef5ff,#fff)}.jss-news-hero h1{font-size:clamp(2.25rem,4vw,4rem);font-weight:800;color:#073b7a;margin:8px 0 10px}.jss-news-hero p{color:#62758f;font-size:1.08rem}.jss-news-grid-page{margin-top:0}.jss-news-empty{padding:70px 24px;text-align:center;border:1px dashed #cad8e8;border-radius:22px;background:#f7faff;color:#64758b}.jss-news-empty i{font-size:52px;color:#0b5cad;margin-bottom:14px}.jss-article-wrap{max-width:1000px!important}.jss-article{background:#fff;border:1px solid #dfe7f1;border-radius:24px;padding:34px;box-shadow:0 18px 45px rgba(10,52,105,.08)}.jss-article-back{display:inline-flex;align-items:center;gap:8px;margin-bottom:20px;color:#0b5cad;font-weight:700}.jss-article h1{font-size:clamp(2rem,4vw,3.4rem);line-height:1.25;color:#073b7a;margin:8px 0 14px}.jss-article-summary{font-size:1.12rem;line-height:1.75;color:#65748a}.jss-article-cover{width:100%;max-height:560px;object-fit:cover;border-radius:18px;margin:22px 0}.jss-article-content{font-size:1.06rem;line-height:1.85;color:#263d5b;white-space:normal}
@media(max-width:991.98px){.jss-news-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.jss-news-main{padding-top:100px}}
@media(max-width:575.98px){.jss-news-grid{grid-template-columns:1fr;gap:16px}.jss-news-card{border-radius:18px}.jss-article{padding:22px 18px}.jss-news-main{padding-top:88px}}


/* ===== JSS V1.8.5 - Updates / News / Works integration ===== */
.jss-home-updates{padding-top:34px!important;padding-bottom:42px!important;background:#fff!important}
.jss-home-updates .jss-updates-head{margin-bottom:16px!important}
.jss-home-updates .jss-updates-head h2{margin-bottom:4px!important}
.jss-home-updates .jss-updates-head p{margin-bottom:0!important}
.jss-home-news-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:16px!important;margin-top:18px!important}
.jss-home-news-card{border-radius:18px!important;box-shadow:0 10px 26px rgba(10,52,105,.08)!important}
.jss-home-news-card .jss-news-image{aspect-ratio:16/8.8!important}
.jss-home-news-card .jss-news-body{padding:14px 16px 16px!important}
.jss-home-news-card .jss-news-body h3{font-size:1rem!important;line-height:1.42!important;margin-bottom:6px!important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.jss-home-news-card .jss-news-body p{font-size:.88rem!important;line-height:1.5!important;margin-bottom:0!important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.jss-home-news-card .jss-news-date{font-size:.76rem!important;margin-bottom:6px!important}
.jss-news-category{position:absolute;left:12px;top:12px;z-index:2;display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;background:rgba(7,59,122,.92);color:#fff;font-size:.72rem;font-weight:800;box-shadow:0 5px 16px rgba(0,0,0,.16)}
.jss-news-category.cat-activity{background:rgba(8,133,93,.94)}
.jss-news-category.cat-project{background:rgba(4,103,190,.95)}
.jss-news-category.cat-promotion{background:rgba(220,38,38,.94)}
.jss-projects-section{padding-top:38px!important}
.jss-works-updates{max-width:1180px;margin:22px auto 26px;padding:26px 20px 30px;background:#fff;border:1px solid #dfe7f1;border-radius:24px;box-shadow:0 15px 38px rgba(10,52,105,.08)}
.jss-works-updates .jss-works-updates-head{margin-bottom:18px!important}
.jss-works-updates .jss-news-grid{margin-top:16px!important}
.jss-works-news-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
@media(max-width:1199.98px){.jss-home-news-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.jss-works-news-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:575.98px){.jss-home-updates{padding-top:26px!important;padding-bottom:30px!important}.jss-home-news-grid,.jss-works-news-grid{grid-template-columns:1fr!important}.jss-works-updates{margin:16px 10px 22px;padding:20px 14px 24px;border-radius:18px}.jss-home-news-card .jss-news-image{aspect-ratio:16/9!important}}

/* ===== JSS V1.8.6 NEWS RICH CONTENT + GALLERY LIGHTBOX ===== */
.jss-article-content{font-size:1.06rem;line-height:1.85;color:#263d5b;white-space:normal}
.jss-article-content p{margin:0 0 14px}.jss-article-content h2{font-size:1.65rem;color:#073b7a;margin:28px 0 12px}.jss-article-content h3{font-size:1.35rem;color:#0b5cad;margin:24px 0 10px}.jss-article-content ul,.jss-article-content ol{padding-left:26px;margin:10px 0 18px}.jss-article-content blockquote{margin:20px 0;padding:14px 18px;border-left:4px solid #0b6fc2;background:#f3f8ff;border-radius:10px;color:#415a77}.jss-article-content i[class*="fa-"]{color:#0b6fc2;margin-right:6px}.jss-article-content a{color:#0968b9;text-decoration:underline}
.jss-article-cover-btn{display:block;position:relative;width:100%;padding:0;margin:22px 0;border:0;background:transparent;cursor:zoom-in;border-radius:18px;overflow:hidden}.jss-article-cover-btn .jss-article-cover{margin:0!important;width:100%;display:block}.jss-article-cover-btn>span{position:absolute;right:14px;bottom:14px;padding:8px 12px;border-radius:999px;background:rgba(0,31,64,.78);color:#fff;font-size:.84rem;font-weight:700;backdrop-filter:blur(6px)}
.jss-article-gallery{margin-top:32px;padding-top:26px;border-top:1px solid #e2e9f2}.jss-article-gallery h2{font-size:1.4rem;color:#073b7a;margin:0 0 16px}.jss-article-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.jss-gallery-thumb{position:relative;padding:0;border:0;background:#eef4fb;border-radius:14px;overflow:hidden;cursor:zoom-in;aspect-ratio:4/3}.jss-gallery-thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .25s ease}.jss-gallery-thumb:hover img{transform:scale(1.035)}.jss-gallery-thumb span{position:absolute;right:8px;bottom:8px;width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgba(2,34,68,.78);color:#fff}
body.jss-lightbox-open{overflow:hidden}.jss-lightbox{position:fixed;inset:0;z-index:99999;background:rgba(0,0,0,.94);display:none;align-items:center;justify-content:center;padding:36px 72px}.jss-lightbox.open{display:flex}.jss-lightbox figure{margin:0;max-width:min(1200px,90vw);max-height:90vh;display:flex;flex-direction:column;align-items:center}.jss-lightbox figure img{max-width:100%;max-height:82vh;object-fit:contain;display:block;box-shadow:0 18px 70px rgba(0,0,0,.45)}.jss-lightbox figcaption{width:100%;display:flex;align-items:center;justify-content:center;gap:12px;color:#fff;padding:10px 0 0;font-size:.95rem}.jss-lightbox-count{opacity:.85}.jss-lightbox-close,.jss-lightbox-nav{position:absolute;border:0;color:#fff;background:rgba(255,255,255,.12);backdrop-filter:blur(6px);cursor:pointer;display:flex;align-items:center;justify-content:center}.jss-lightbox-close{right:20px;top:16px;width:44px;height:44px;border-radius:50%;font-size:32px;line-height:1}.jss-lightbox-nav{top:50%;transform:translateY(-50%);width:54px;height:54px;border-radius:50%;font-size:20px}.jss-lightbox-nav.prev{left:24px}.jss-lightbox-nav.next{right:24px}.jss-lightbox-close:hover,.jss-lightbox-nav:hover{background:rgba(255,255,255,.22)}
@media(max-width:767.98px){.jss-article-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.jss-lightbox{padding:26px 10px 44px}.jss-lightbox-nav{width:42px;height:42px;background:rgba(0,0,0,.45)}.jss-lightbox-nav.prev{left:8px}.jss-lightbox-nav.next{right:8px}.jss-lightbox-close{right:10px;top:10px}.jss-lightbox figure img{max-height:78vh}.jss-lightbox figcaption{font-size:.82rem;text-align:center;flex-wrap:wrap}.jss-article-cover-btn>span{font-size:.74rem;right:8px;bottom:8px}}

/* V1.8.7 rich-news content extras */
.jss-news-content pre{background:#f4f7fb;border:1px solid #dbe5f2;border-radius:10px;padding:12px 14px;overflow:auto;font-family:Consolas,Monaco,monospace}.jss-news-content code{font-family:Consolas,Monaco,monospace}.jss-news-content details{border:1px solid #dce5ef;border-radius:10px;padding:10px 12px;margin:12px 0;background:#fbfdff}.jss-news-content summary{cursor:pointer;font-weight:800;color:#0b478c}.jss-news-content i[class^="fa"],.jss-news-content i[class*=" fa-"]{margin-right:.25em}


/* ===== JSS V1.9.0 HERO IMAGE FIT + DOT POSITION ===== */
.jss-home #jssHeroSlider.cms-slider{
  --jss-hero-h:500px!important;
}
.jss-home #jssHeroSlider.cms-slider .jss-hero-slide.visual-only{
  background:#0b315f!important;
}
.jss-home #jssHeroSlider.cms-slider .jss-hero-backdrop{
  position:absolute!important;
  inset:-18px!important;
  width:calc(100% + 36px)!important;
  height:calc(100% + 36px)!important;
  max-width:none!important;
  object-fit:cover!important;
  object-position:center center!important;
  filter:blur(22px) brightness(.74) saturate(.92)!important;
  transform:scale(1.06)!important;
  opacity:.82!important;
  z-index:0!important;
  pointer-events:none!important;
}
.jss-home #jssHeroSlider.cms-slider .jss-hero-slide.visual-only .jss-hero-media,
.jss-home #jssHeroSlider.cms-slider .jss-hero-slide.visual-only .jss-hero-media-link{
  z-index:1!important;
}
.jss-home #jssHeroSlider.cms-slider .jss-hero-slide.visual-only .jss-hero-media.fit-contain{
  width:100%!important;
  max-width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  background:transparent!important;
}
.jss-home #jssHeroSlider.cms-slider .jss-hero-slide.visual-only .jss-hero-media.fit-cover{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
}
.jss-home #jssHeroSlider.cms-slider .jss-hero-slide.visual-only:has(.fit-cover) .jss-hero-backdrop{
  display:none!important;
}
.jss-home #jssHeroSlider.cms-slider .jss-hero-dots{
  bottom:28px!important;
  z-index:9!important;
  padding:5px 9px!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.58)!important;
  box-shadow:0 4px 16px rgba(5,36,75,.13)!important;
  backdrop-filter:blur(7px)!important;
}
.jss-home #jssHeroSlider.cms-slider .jss-hero-dots button{
  width:11px!important;
  height:11px!important;
  background:rgba(20,71,130,.28)!important;
}
.jss-home #jssHeroSlider.cms-slider .jss-hero-dots button.active{
  width:28px!important;
  background:#68bb16!important;
}
@media (min-width:1400px){
  .jss-home #jssHeroSlider.cms-slider{--jss-hero-h:500px!important}
  .jss-home #jssHeroSlider.cms-slider .jss-hero-inner{max-width:1822px!important;padding:1px 68px 55px 30px!important}
}
@media (min-width:992px) and (max-width:1399.98px){
  .jss-home #jssHeroSlider.cms-slider{--jss-hero-h:480px!important}
  .jss-home #jssHeroSlider.cms-slider .jss-hero-dots{bottom:24px!important}
}
@media (min-width:768px) and (max-width:991.98px){
  .jss-home #jssHeroSlider.cms-slider{--jss-hero-h:460px!important}
  .jss-home #jssHeroSlider.cms-slider .jss-hero-dots{bottom:22px!important}
}
@media (max-width:767.98px){
  .jss-home #jssHeroSlider.cms-slider{--jss-hero-h:420px!important}
  .jss-home #jssHeroSlider.cms-slider .jss-hero-dots{bottom:18px!important;padding:4px 8px!important}
}
@media (max-width:480px){
  .jss-home #jssHeroSlider.cms-slider{--jss-hero-h:360px!important}
  .jss-home #jssHeroSlider.cms-slider .jss-hero-dots{bottom:14px!important}
}


/* JSS V1.9.1 rich news editor output */
.jss-article-content .jss-align-left{text-align:left!important}
.jss-article-content .jss-align-center{text-align:center!important}
.jss-article-content .jss-align-right{text-align:right!important}
.jss-article-content .jss-inline-icon{display:inline-block;min-width:1.15em;text-align:center;vertical-align:baseline}
.jss-article-content s,.jss-article-content strike{text-decoration:line-through}
.jss-article-content sup{vertical-align:super;font-size:.75em}
.jss-article-content sub{vertical-align:sub;font-size:.75em}
.jss-article-content pre{white-space:pre-wrap;overflow-wrap:anywhere;background:#f4f7fb;border:1px solid #dde6f0;border-radius:10px;padding:12px 14px;font-family:Consolas,Monaco,monospace}
.jss-article-content code{background:#f4f7fb;border-radius:5px;padding:.1em .35em;font-family:Consolas,Monaco,monospace}
.jss-article-content details{border:1px solid #dbe5f2;border-radius:10px;padding:10px 12px;margin:12px 0;background:#fbfdff}
.jss-article-content details>summary{cursor:pointer;font-weight:800;color:#123d70}

/* ===== JSS V1.9.2 Facebook feed tidy =====
   Remove the floating FACEBOOK FEED badge and lift embedded feed upward slightly. */
.jss-home .jss-facebook-feed-window::before{
  content:none!important;
  display:none!important;
}
.jss-home .jss-facebook-feed-window iframe{
  top:-108px!important;
}
@media (max-width:767.98px){
  .jss-home .jss-facebook-feed-window iframe{
    top:-102px!important;
  }
}

/* ===== JSS V1.9.3 Facebook header visibility =====
   Reveal more of the Facebook page header/logo while keeping the feed compact. */
.jss-home .jss-facebook-feed-window{
  height:450px!important;
}
.jss-home .jss-facebook-feed-window iframe{
  top:-28px!important;
  height:590px!important;
}
@media (max-width:991.98px){
  .jss-home .jss-facebook-feed-window{
    height:435px!important;
  }
  .jss-home .jss-facebook-feed-window iframe{
    top:-24px!important;
    height:575px!important;
  }
}
@media (max-width:767.98px){
  .jss-home .jss-facebook-feed-window{
    height:420px!important;
  }
  .jss-home .jss-facebook-feed-window iframe{
    top:-18px!important;
    height:560px!important;
  }
}

/* ===== JSS V1.9.5 MOBILE RESPONSIVE HERO + FACEBOOK + TOPBAR CONTACTS ===== */
/* Large/tablet top bar: keep only Phone + LINE + Login. Small phones: Login only. */
@media (min-width:768px) and (max-width:1199.98px){
  .jss-topbar .inner>div:first-child{display:none!important}
  .jss-topbar-actions{width:100%!important;justify-content:flex-end!important;gap:14px!important}
  .jss-topbar-actions>a{display:inline-flex!important;align-items:center!important;margin-left:0!important;white-space:nowrap!important}
  .jss-topbar-actions>a[href^="mailto:"]{display:none!important}
  .jss-topbar-actions>a[href^="tel:"]{display:inline-flex!important}
  .jss-topbar-actions>a[href*="lin.ee"]{display:inline-flex!important}
  .jss-topbar-actions .jss-top-login{display:inline-flex!important;margin-left:4px!important;padding-left:10px!important;border-left:0!important}
}
@media (max-width:767.98px){
  .jss-topbar-actions>a:not(.jss-top-login){display:none!important}
  .jss-topbar-actions{justify-content:flex-end!important}
}

/* Hero image slides: never crop an uploaded artwork/banner on phones. */
@media (max-width:767.98px){
  .jss-home #jssHeroSlider.cms-slider .jss-hero-slide.visual-only .jss-hero-media.fit-cover,
  .jss-home #jssHeroSlider.cms-slider .jss-hero-slide.visual-only .jss-hero-media.fit-contain{
    object-fit:contain!important;
    width:100%!important;
    height:100%!important;
    max-width:100%!important;
    background:transparent!important;
  }
  .jss-home #jssHeroSlider.cms-slider .jss-hero-slide.visual-only:has(.fit-cover) .jss-hero-backdrop{
    display:block!important;
  }
  .jss-home #jssHeroSlider.cms-slider .jss-hero-slide.visual-only .jss-hero-backdrop{
    filter:blur(18px) brightness(.68) saturate(.9)!important;
    opacity:.72!important;
  }
}

/* Facebook Page Plugin responsive width on mobile/tablet. */
.jss-home .jss-facebook-feed-window iframe{
  max-width:100%!important;
}
@media (max-width:767.98px){
  .jss-home .jss-facebook-card{padding:10px!important}
  .jss-home .jss-facebook-frame-head{margin-bottom:10px!important}
  .jss-home .jss-facebook-feed-window{
    width:100%!important;
    height:430px!important;
    overflow:hidden!important;
    border-radius:16px!important;
  }
  .jss-home .jss-facebook-feed-window iframe{
    left:50%!important;
    transform:translateX(-50%)!important;
    top:-52px!important;
    height:590px!important;
  }
}
@media (max-width:480px){
  .jss-home .jss-facebook-feed-window{height:410px!important}
  .jss-home .jss-facebook-feed-window iframe{top:-48px!important;height:570px!important}
}


/* ===== JSS V1.9.6 MOBILE HERO + COMPACT HOTLINE =====
   Mobile artwork fills the hero without the large empty band.
   The per-slide object-position from Back Office remains active.
   380px+ phones show Hotline + Login; very small screens show Login only. */
.jss-top-mobile-hotline{display:none!important}

@media (max-width:767.98px){
  /* visual-only artwork: fill the mobile hero instead of shrinking into a thin strip */
  .jss-home #jssHeroSlider.cms-slider .jss-hero-slide.visual-only .jss-hero-media.fit-cover,
  .jss-home #jssHeroSlider.cms-slider .jss-hero-slide.visual-only .jss-hero-media.fit-contain{
    width:100%!important;
    height:100%!important;
    max-width:100%!important;
    object-fit:cover!important;
    background:transparent!important;
  }
  .jss-home #jssHeroSlider.cms-slider .jss-hero-slide.visual-only .jss-hero-backdrop{
    display:none!important;
  }
  /* if every slide is artwork-only, reduce the tall desktop-like mobile area */
  .jss-home #jssHeroSlider.cms-slider:not(:has(.jss-hero-slide.has-copy)){
    --jss-hero-h:clamp(250px,72vw,330px)!important;
  }
  .jss-home #jssHeroSlider.cms-slider .jss-hero-dots{
    bottom:12px!important;
  }

  .jss-topbar .inner>div:first-child{display:none!important}
  .jss-topbar-actions{
    width:100%!important;
    justify-content:flex-end!important;
    gap:7px!important;
  }
  .jss-topbar-actions>a{
    margin-left:0!important;
    white-space:nowrap!important;
  }
  .jss-topbar-actions>a:not(.jss-top-login):not(.jss-top-mobile-hotline){display:none!important}
  .jss-topbar-actions .jss-top-login{
    display:inline-flex!important;
    align-items:center!important;
    margin-left:0!important;
    padding-left:8px!important;
    padding-right:8px!important;
    border-left:0!important;
  }
}

@media (min-width:380px) and (max-width:767.98px){
  .jss-topbar-actions .jss-top-mobile-hotline{
    display:inline-flex!important;
    align-items:center!important;
    gap:5px!important;
    font-size:11px!important;
    font-weight:700!important;
    padding:2px 7px!important;
    border:1px solid rgba(255,255,255,.28)!important;
    border-radius:999px!important;
  }
  .jss-topbar-actions .jss-top-login{
    font-size:11px!important;
  }
}

@media (max-width:379.98px){
  .jss-topbar-actions .jss-top-mobile-hotline{display:none!important}
  .jss-topbar-actions .jss-top-login{font-size:11px!important}
}


/* ===== JSS V1.9.7 SEPARATE DESKTOP / MOBILE HERO ART ===== */
.jss-home #jssHeroSlider.cms-slider .jss-hero-picture,
.jss-home #jssHeroSlider.cms-slider .jss-hero-backdrop-picture{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  overflow:hidden!important;
}
.jss-home #jssHeroSlider.cms-slider .jss-hero-picture{z-index:0!important}
.jss-home #jssHeroSlider.cms-slider .jss-hero-backdrop-picture{z-index:0!important;pointer-events:none!important}
.jss-home #jssHeroSlider.cms-slider .jss-hero-media{
  object-position:var(--jss-desktop-pos,center center)!important;
}
@media (max-width:767.98px){
  /* When a dedicated portrait/mobile artwork exists, use a mobile-sized canvas instead of cropping desktop art. */
  .jss-home #jssHeroSlider.cms-slider.has-mobile-hero{
    --jss-hero-h:clamp(440px,125vw,620px)!important;
  }
  .jss-home #jssHeroSlider.cms-slider.has-mobile-hero .jss-hero-track,
  .jss-home #jssHeroSlider.cms-slider.has-mobile-hero .jss-hero-slide{
    height:var(--jss-hero-h)!important;
  }
  .jss-home #jssHeroSlider.cms-slider .jss-hero-slide.has-mobile-art .jss-hero-media{
    object-position:var(--jss-mobile-pos,center center)!important;
  }
  .jss-home #jssHeroSlider.cms-slider .jss-hero-slide.has-mobile-art .jss-hero-media.mobile-fit-cover{
    object-fit:cover!important;
    background:transparent!important;
  }
  .jss-home #jssHeroSlider.cms-slider .jss-hero-slide.has-mobile-art .jss-hero-media.mobile-fit-contain{
    object-fit:contain!important;
    background:#0a3268!important;
  }
  /* If no mobile art has been uploaded yet, keep the safer compact fallback. */
  .jss-home #jssHeroSlider.cms-slider:not(.has-mobile-hero):not(:has(.jss-hero-slide.has-copy)){
    --jss-hero-h:clamp(250px,72vw,330px)!important;
  }
}


/* ===== JSS V1.9.9 IPHONE TOPBAR + FULL MOBILE HERO =====
   iPhone/medium phones: Hotline + LINE + Login. Very small phones: compact fallback.
   Dedicated mobile artwork is always shown in full (no crop), assuming recommended 1080x1350 / 4:5. */
@media (max-width:767.98px){
  .jss-topbar{display:flex!important;height:34px!important;min-height:34px!important}
  .jss-topbar .inner{
    width:100%!important;
    max-width:none!important;
    padding-left:max(8px,env(safe-area-inset-left))!important;
    padding-right:max(8px,env(safe-area-inset-right))!important;
  }
  .jss-topbar .inner>div:first-child{display:none!important}
  .jss-topbar-actions{
    width:100%!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:6px!important;
    margin:0!important;
  }
  .jss-topbar-actions>a{
    margin:0!important;
    white-space:nowrap!important;
    line-height:1!important;
  }
  .jss-topbar-actions>a[href="tel:021470777"],
  .jss-topbar-actions>a[href^="mailto:"]{display:none!important}
  .jss-topbar-actions .jss-top-mobile-hotline,
  .jss-topbar-actions .jss-top-mobile-line,
  .jss-topbar-actions .jss-top-login{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:4px!important;
    font-size:10.5px!important;
    font-weight:700!important;
  }
  .jss-topbar-actions .jss-top-mobile-hotline,
  .jss-topbar-actions .jss-top-mobile-line{
    padding:3px 6px!important;
    border:0!important;
    border-radius:999px!important;
  }
  .jss-topbar-actions .jss-top-login{
    margin-left:auto!important;
    padding:3px 8px!important;
    border:1px solid rgba(255,255,255,.34)!important;
    border-left:1px solid rgba(255,255,255,.34)!important;
    border-radius:999px!important;
  }

  /* Dedicated mobile hero artwork: preserve the whole 4:5 image. */
  .jss-home #jssHeroSlider.cms-slider.has-mobile-hero{
    --jss-hero-h:clamp(400px,125vw,620px)!important;
    height:var(--jss-hero-h)!important;
    min-height:var(--jss-hero-h)!important;
    max-height:var(--jss-hero-h)!important;
    background:#fff!important;
  }
  .jss-home #jssHeroSlider.cms-slider.has-mobile-hero .jss-hero-track,
  .jss-home #jssHeroSlider.cms-slider.has-mobile-hero .jss-hero-slide{
    height:100%!important;
    min-height:0!important;
  }
  .jss-home #jssHeroSlider.cms-slider .jss-hero-slide.has-mobile-art .jss-hero-picture{
    background:#fff!important;
  }
  .jss-home #jssHeroSlider.cms-slider .jss-hero-slide.has-mobile-art .jss-hero-media,
  .jss-home #jssHeroSlider.cms-slider .jss-hero-slide.has-mobile-art .jss-hero-media.mobile-fit-cover,
  .jss-home #jssHeroSlider.cms-slider .jss-hero-slide.has-mobile-art .jss-hero-media.mobile-fit-contain{
    width:100%!important;
    height:100%!important;
    object-fit:contain!important;
    object-position:center center!important;
    background:#fff!important;
  }
  .jss-home #jssHeroSlider.cms-slider .jss-hero-slide.has-mobile-art .jss-hero-backdrop-picture,
  .jss-home #jssHeroSlider.cms-slider .jss-hero-slide.has-mobile-art .jss-hero-backdrop{
    display:none!important;
  }
  .jss-home #jssHeroSlider.cms-slider.has-mobile-hero .jss-hero-dots{
    bottom:12px!important;
  }
}

/* 350-389px: keep Hotline + Login, hide LINE to avoid crowding. */
@media (min-width:350px) and (max-width:389.98px){
  .jss-topbar-actions .jss-top-mobile-line{display:none!important}
  .jss-topbar-actions{justify-content:flex-end!important;gap:7px!important}
  .jss-topbar-actions .jss-top-mobile-hotline{margin-right:auto!important}
}

/* Very small phones: keep Login only. */
@media (max-width:349.98px){
  .jss-topbar-actions .jss-top-mobile-hotline,
  .jss-topbar-actions .jss-top-mobile-line{display:none!important}
  .jss-topbar-actions{justify-content:flex-end!important}
}


/* ===== JSS V2.0.0 iPHONE TOPBAR + FULL-WIDTH MOBILE HERO =====
   Fill the phone width with dedicated mobile artwork and use spare topbar space. */
@media (max-width:767.98px){
  .jss-topbar{
    display:flex!important;
    height:34px!important;
    min-height:34px!important;
  }
  .jss-topbar .inner{
    width:100%!important;
    max-width:none!important;
    padding-left:max(7px,env(safe-area-inset-left))!important;
    padding-right:max(7px,env(safe-area-inset-right))!important;
  }
  .jss-topbar .inner>div:first-child{display:none!important}
  .jss-topbar-actions{
    width:100%!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    gap:7px!important;
    margin:0!important;
    overflow:hidden!important;
  }
  .jss-topbar-actions>a{
    margin:0!important;
    white-space:nowrap!important;
    line-height:1!important;
  }
  .jss-topbar-actions>a[href="tel:021470777"],
  .jss-topbar-actions>a[href^="mailto:"]{display:none!important}
  .jss-topbar-actions .jss-top-mobile-hotline,
  .jss-topbar-actions .jss-top-mobile-line,
  .jss-topbar-actions .jss-top-login{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:4px!important;
    font-size:10.5px!important;
    font-weight:800!important;
    color:#fff!important;
    flex:0 0 auto!important;
  }
  .jss-topbar-actions .jss-top-mobile-hotline,
  .jss-topbar-actions .jss-top-mobile-line{
    padding:3px 5px!important;
    border:0!important;
    border-radius:999px!important;
  }
  .jss-topbar-actions .jss-top-mobile-hotline{margin-right:auto!important}
  .jss-topbar-actions .jss-top-login{
    padding:3px 8px!important;
    border:1px solid rgba(255,255,255,.38)!important;
    border-radius:999px!important;
    background:rgba(255,255,255,.08)!important;
  }

  /* Dedicated 4:5 mobile art fills the phone width edge-to-edge. */
  .jss-home #jssHeroSlider.cms-slider.has-mobile-hero{
    --jss-mobile-hero-ratio:1.25;
    --jss-hero-h:calc(100vw * var(--jss-mobile-hero-ratio))!important;
    width:100%!important;
    max-width:none!important;
    height:var(--jss-hero-h)!important;
    min-height:var(--jss-hero-h)!important;
    max-height:var(--jss-hero-h)!important;
    margin:0!important;
    padding:0!important;
    background:#071d3c!important;
  }
  .jss-home #jssHeroSlider.cms-slider.has-mobile-hero .jss-hero-track,
  .jss-home #jssHeroSlider.cms-slider.has-mobile-hero .jss-hero-slide,
  .jss-home #jssHeroSlider.cms-slider .jss-hero-slide.has-mobile-art .jss-hero-picture,
  .jss-home #jssHeroSlider.cms-slider .jss-hero-slide.has-mobile-art .jss-hero-media-link{
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
  }
  .jss-home #jssHeroSlider.cms-slider .jss-hero-slide.has-mobile-art .jss-hero-picture{
    left:0!important;
    right:0!important;
    top:0!important;
    bottom:0!important;
    transform:none!important;
    background:#071d3c!important;
  }
  .jss-home #jssHeroSlider.cms-slider .jss-hero-slide.has-mobile-art .jss-hero-media,
  .jss-home #jssHeroSlider.cms-slider .jss-hero-slide.has-mobile-art .jss-hero-media.mobile-fit-cover,
  .jss-home #jssHeroSlider.cms-slider .jss-hero-slide.has-mobile-art .jss-hero-media.mobile-fit-contain{
    position:absolute!important;
    inset:0!important;
    display:block!important;
    width:100%!important;
    max-width:none!important;
    height:100%!important;
    margin:0!important;
    padding:0!important;
    object-fit:fill!important;
    object-position:center center!important;
    background:transparent!important;
  }
  .jss-home #jssHeroSlider.cms-slider .jss-hero-slide.has-mobile-art .jss-hero-backdrop-picture,
  .jss-home #jssHeroSlider.cms-slider .jss-hero-slide.has-mobile-art .jss-hero-backdrop{
    display:none!important;
  }
  .jss-home #jssHeroSlider.cms-slider.has-mobile-hero .jss-hero-dots{
    bottom:12px!important;
  }
}

/* Medium phones such as iPhone 16 Pro: show Hotline + LINE + Login. */
@media (min-width:390px) and (max-width:767.98px){
  .jss-topbar-actions .jss-top-mobile-hotline,
  .jss-topbar-actions .jss-top-mobile-line,
  .jss-topbar-actions .jss-top-login{display:inline-flex!important}
}

/* 350-389px: Hotline + Login only. */
@media (min-width:350px) and (max-width:389.98px){
  .jss-topbar-actions .jss-top-mobile-hotline,
  .jss-topbar-actions .jss-top-login{display:inline-flex!important}
  .jss-topbar-actions .jss-top-mobile-line{display:none!important}
  .jss-topbar-actions .jss-top-mobile-hotline{margin-right:auto!important}
}

/* Tiny screens: keep only login. */
@media (max-width:349.98px){
  .jss-topbar-actions .jss-top-mobile-hotline,
  .jss-topbar-actions .jss-top-mobile-line{display:none!important}
  .jss-topbar-actions .jss-top-login{display:inline-flex!important;margin-left:auto!important}
}


/* ===== JSS V2.0.1 iPHONE CONTACT BAR + FIXED-PX MOBILE HERO =====
   iPhone 16 Pro target: 100% width + 500px height. Smaller phones step down in px height. */
.jss-mobile-top-contacts{display:none}

@media (max-width:767.98px){
  /* Rebuild the mobile topbar with dedicated compact contacts to avoid older breakpoint conflicts. */
  .jss-topbar{
    height:34px!important;
    min-height:34px!important;
  }
  .jss-topbar .inner{
    width:100%!important;
    max-width:none!important;
    min-height:34px!important;
    padding-left:max(8px,env(safe-area-inset-left))!important;
    padding-right:max(8px,env(safe-area-inset-right))!important;
  }
  .jss-topbar .inner>div:first-child{display:none!important}
  .jss-topbar-actions{
    width:100%!important;
    min-width:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:6px!important;
    overflow:visible!important;
  }
  /* Hide the old mobile contact links; use one compact wrapper instead. */
  .jss-topbar-actions .jss-top-mobile-hotline,
  .jss-topbar-actions .jss-top-mobile-line,
  .jss-topbar-actions>a[href="tel:021470777"],
  .jss-topbar-actions>a[href^="mailto:"]{
    display:none!important;
  }
  .jss-mobile-top-contacts{
    display:flex!important;
    align-items:center!important;
    gap:8px!important;
    min-width:0!important;
    margin-right:auto!important;
  }
  .jss-mobile-top-contacts a{
    display:inline-flex!important;
    align-items:center!important;
    color:#fff!important;
    text-decoration:none!important;
    white-space:nowrap!important;
    font-size:10px!important;
    font-weight:800!important;
    line-height:1!important;
    letter-spacing:0!important;
    padding:2px 0!important;
    border:0!important;
    background:transparent!important;
  }
  .jss-mobile-top-contacts a+a::before{
    content:"•";
    margin-right:8px;
    color:rgba(255,255,255,.5);
  }
  .jss-topbar-actions .jss-top-login{
    display:inline-flex!important;
    flex:0 0 auto!important;
    margin:0!important;
    padding:3px 8px!important;
    font-size:10.5px!important;
    line-height:1!important;
    border:1px solid rgba(255,255,255,.42)!important;
    border-radius:999px!important;
    background:rgba(255,255,255,.08)!important;
    color:#fff!important;
  }

  /* Mobile Hero: width always 100%; height uses px by breakpoint. */
  .jss-home #jssHeroSlider.cms-slider.has-mobile-hero{
    width:100%!important;
    max-width:100%!important;
    height:500px!important;
    min-height:500px!important;
    max-height:500px!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
    background:#071d3c!important;
  }
  .jss-home #jssHeroSlider.cms-slider.has-mobile-hero .jss-hero-track,
  .jss-home #jssHeroSlider.cms-slider.has-mobile-hero .jss-hero-slide,
  .jss-home #jssHeroSlider.cms-slider .jss-hero-slide.has-mobile-art .jss-hero-picture,
  .jss-home #jssHeroSlider.cms-slider .jss-hero-slide.has-mobile-art .jss-hero-media-link{
    width:100%!important;
    max-width:100%!important;
    height:500px!important;
    min-height:500px!important;
    max-height:500px!important;
    margin:0!important;
    padding:0!important;
  }
  .jss-home #jssHeroSlider.cms-slider .jss-hero-slide.has-mobile-art .jss-hero-picture{
    position:absolute!important;
    inset:0!important;
    transform:none!important;
  }
  .jss-home #jssHeroSlider.cms-slider .jss-hero-slide.has-mobile-art .jss-hero-media,
  .jss-home #jssHeroSlider.cms-slider .jss-hero-slide.has-mobile-art .jss-hero-media.mobile-fit-cover,
  .jss-home #jssHeroSlider.cms-slider .jss-hero-slide.has-mobile-art .jss-hero-media.mobile-fit-contain{
    position:absolute!important;
    inset:0!important;
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    height:500px!important;
    min-height:500px!important;
    max-height:500px!important;
    object-fit:cover!important;
    object-position:var(--jss-mobile-pos,center center)!important;
    margin:0!important;
    padding:0!important;
  }
  .jss-home #jssHeroSlider.cms-slider .jss-hero-slide.has-mobile-art .jss-hero-backdrop-picture,
  .jss-home #jssHeroSlider.cms-slider .jss-hero-slide.has-mobile-art .jss-hero-backdrop{
    display:none!important;
  }
  .jss-home #jssHeroSlider.cms-slider.has-mobile-hero .jss-hero-dots{
    bottom:10px!important;
  }
}

/* iPhone 16 Pro / modern phones: enough room for phone + LINE + Login. */
@media (min-width:390px) and (max-width:767.98px){
  .jss-mobile-top-contacts{display:flex!important}
  .jss-mobile-top-phone,.jss-mobile-top-line-text{display:inline-flex!important}
}

/* 360-389px: keep phone + login; remove LINE to avoid crowding. */
@media (min-width:360px) and (max-width:389.98px){
  .jss-mobile-top-contacts{display:flex!important}
  .jss-mobile-top-phone{display:inline-flex!important}
  .jss-mobile-top-line-text{display:none!important}
  .jss-home #jssHeroSlider.cms-slider.has-mobile-hero,
  .jss-home #jssHeroSlider.cms-slider.has-mobile-hero .jss-hero-track,
  .jss-home #jssHeroSlider.cms-slider.has-mobile-hero .jss-hero-slide,
  .jss-home #jssHeroSlider.cms-slider .jss-hero-slide.has-mobile-art .jss-hero-picture,
  .jss-home #jssHeroSlider.cms-slider .jss-hero-slide.has-mobile-art .jss-hero-media-link,
  .jss-home #jssHeroSlider.cms-slider .jss-hero-slide.has-mobile-art .jss-hero-media{
    height:480px!important;
    min-height:480px!important;
    max-height:480px!important;
  }
}

/* Very small phones: login only, and a shorter fixed hero. */
@media (max-width:359.98px){
  .jss-mobile-top-contacts{display:none!important}
  .jss-topbar-actions{justify-content:flex-end!important}
  .jss-home #jssHeroSlider.cms-slider.has-mobile-hero,
  .jss-home #jssHeroSlider.cms-slider.has-mobile-hero .jss-hero-track,
  .jss-home #jssHeroSlider.cms-slider.has-mobile-hero .jss-hero-slide,
  .jss-home #jssHeroSlider.cms-slider .jss-hero-slide.has-mobile-art .jss-hero-picture,
  .jss-home #jssHeroSlider.cms-slider .jss-hero-slide.has-mobile-art .jss-hero-media-link,
  .jss-home #jssHeroSlider.cms-slider .jss-hero-slide.has-mobile-art .jss-hero-media{
    height:450px!important;
    min-height:450px!important;
    max-height:450px!important;
  }
}


/* ===== JSS V2.0.2 TOPBAR: reuse the SAME desktop contact links on mobile =====
   No duplicate mobile contact markup. Responsive CSS only decides which of the
   original phone / email / LINE / login links fit at each width. */
.jss-topbar-actions .jss-top-phone,
.jss-topbar-actions .jss-top-email,
.jss-topbar-actions .jss-top-line,
.jss-topbar-actions .jss-top-login{
  display:inline-flex!important;
  align-items:center!important;
  gap:5px!important;
  white-space:nowrap!important;
}
.jss-mobile-top-contacts,
.jss-top-mobile-hotline,
.jss-top-mobile-line{
  display:none!important;
}

@media (max-width:767.98px){
  .jss-topbar{
    display:flex!important;
    min-height:36px!important;
    height:36px!important;
    padding:0!important;
  }
  .jss-topbar .inner{
    width:100%!important;
    max-width:none!important;
    min-height:36px!important;
    height:36px!important;
    padding:0 10px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
  }
  .jss-topbar .inner>div:first-child{display:none!important}
  .jss-topbar-actions{
    width:100%!important;
    min-width:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    gap:10px!important;
    overflow:hidden!important;
  }
  .jss-topbar-actions .jss-top-phone,
  .jss-topbar-actions .jss-top-email,
  .jss-topbar-actions .jss-top-line,
  .jss-topbar-actions .jss-top-login{
    position:static!important;
    float:none!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
    color:#fff!important;
    font-size:11px!important;
    line-height:1!important;
    min-width:0!important;
    height:auto!important;
    flex:0 0 auto!important;
  }
  .jss-topbar-actions .jss-top-login{
    padding:5px 9px!important;
    border:1px solid rgba(255,255,255,.42)!important;
    border-radius:999px!important;
  }
  .jss-topbar-actions i{font-size:11px!important}
  /* same desktop elements; email is the first item hidden when mobile space is tight */
  .jss-topbar-actions .jss-top-email{display:none!important}
}

/* iPhone 16 Pro / modern phones: original phone + LINE + original Login. */
@media (min-width:390px) and (max-width:767.98px){
  .jss-topbar-actions{
    justify-content:space-between!important;
    gap:7px!important;
  }
  .jss-topbar-actions .jss-top-phone,
  .jss-topbar-actions .jss-top-line,
  .jss-topbar-actions .jss-top-login{display:inline-flex!important}
  .jss-topbar-actions .jss-top-phone span{font-size:10.5px!important}
  .jss-topbar-actions .jss-top-line span{font-size:10.5px!important}
}

/* A little wider: there is room for the exact desktop row including email. */
@media (min-width:520px) and (max-width:767.98px){
  .jss-topbar-actions .jss-top-email{display:inline-flex!important}
  .jss-topbar-actions{gap:8px!important}
  .jss-topbar-actions .jss-top-phone,
  .jss-topbar-actions .jss-top-email,
  .jss-topbar-actions .jss-top-line{font-size:10.5px!important}
}

/* 350-389px: reuse the same phone and login, hide LINE only for space. */
@media (min-width:350px) and (max-width:389.98px){
  .jss-topbar-actions{justify-content:space-between!important}
  .jss-topbar-actions .jss-top-phone,
  .jss-topbar-actions .jss-top-login{display:inline-flex!important}
  .jss-topbar-actions .jss-top-line,
  .jss-topbar-actions .jss-top-email{display:none!important}
}

/* Tiny phones: keep the same login element only. */
@media (max-width:349.98px){
  .jss-topbar-actions{justify-content:flex-end!important}
  .jss-topbar-actions .jss-top-phone,
  .jss-topbar-actions .jss-top-email,
  .jss-topbar-actions .jss-top-line{display:none!important}
  .jss-topbar-actions .jss-top-login{display:inline-flex!important}
}

/* ===== JSS V2.0.3 MOBILE TOPBAR VISIBILITY HARD FIX =====
   Reuse the SAME desktop phone/LINE/login links. Override older mobile rules
   that hid tel/mail links via attribute selectors. */
@media (max-width:767.98px){
  .jss-topbar .inner{
    padding-left:8px!important;
    padding-right:8px!important;
  }
  .jss-topbar-actions{
    overflow:visible!important;
    justify-content:flex-end!important;
    gap:7px!important;
  }
  .jss-topbar-actions>a.jss-top-phone[href="tel:021470777"],
  .jss-topbar-actions>a.jss-top-line,
  .jss-topbar-actions>a.jss-top-login{
    display:inline-flex!important;
    visibility:visible!important;
    opacity:1!important;
  }
  .jss-topbar-actions>a.jss-top-email[href^="mailto:"]{
    display:none!important;
  }
  .jss-topbar-actions>a.jss-top-phone[href="tel:021470777"],
  .jss-topbar-actions>a.jss-top-line{
    padding:0!important;
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
    font-size:10.5px!important;
  }
  .jss-topbar-actions>a.jss-top-login{
    padding:5px 9px!important;
    border:1px solid rgba(255,255,255,.42)!important;
    border-radius:999px!important;
    background:rgba(255,255,255,.08)!important;
    font-size:10.5px!important;
  }
}

/* iPhone 16 Pro class widths: show phone + LINE + login using original links. */
@media (min-width:390px) and (max-width:519.98px){
  .jss-topbar-actions{
    justify-content:space-between!important;
    gap:5px!important;
  }
  .jss-topbar-actions>a.jss-top-phone[href="tel:021470777"],
  .jss-topbar-actions>a.jss-top-line,
  .jss-topbar-actions>a.jss-top-login{
    display:inline-flex!important;
  }
  .jss-topbar-actions>a.jss-top-phone[href="tel:021470777"] span,
  .jss-topbar-actions>a.jss-top-line span{
    font-size:10px!important;
  }
  .jss-topbar-actions>a.jss-top-phone[href="tel:021470777"] i,
  .jss-topbar-actions>a.jss-top-line i,
  .jss-topbar-actions>a.jss-top-login i{
    font-size:10px!important;
  }
}

/* 350-389px: phone + login only. */
@media (min-width:350px) and (max-width:389.98px){
  .jss-topbar-actions{
    justify-content:space-between!important;
  }
  .jss-topbar-actions>a.jss-top-phone[href="tel:021470777"],
  .jss-topbar-actions>a.jss-top-login{
    display:inline-flex!important;
  }
  .jss-topbar-actions>a.jss-top-line,
  .jss-topbar-actions>a.jss-top-email[href^="mailto:"]{
    display:none!important;
  }
}

/* Very narrow phones: login only. */
@media (max-width:349.98px){
  .jss-topbar-actions>a.jss-top-phone[href="tel:021470777"],
  .jss-topbar-actions>a.jss-top-line,
  .jss-topbar-actions>a.jss-top-email[href^="mailto:"]{
    display:none!important;
  }
  .jss-topbar-actions>a.jss-top-login{
    display:inline-flex!important;
  }
}


/* ===== JSS V2.0.4 Back Office trigger without exposed href =====
   The login control is now a button, so browser status bars do not reveal /policy on hover. */
.jss-topbar button.jss-top-login{
  -webkit-appearance:none!important;
  appearance:none!important;
  font-family:inherit!important;
  color:#fff!important;
  cursor:pointer!important;
  text-decoration:none!important;
  outline:none!important;
  line-height:1.2!important;
}
.jss-topbar button.jss-top-login:focus-visible{
  outline:2px solid rgba(255,255,255,.85)!important;
  outline-offset:2px!important;
}
@media (max-width:767.98px){
  .jss-topbar-actions>button.jss-top-login{
    display:inline-flex!important;
    visibility:visible!important;
    opacity:1!important;
    align-items:center!important;
    gap:5px!important;
    margin:0!important;
    padding:5px 9px!important;
    border:1px solid rgba(255,255,255,.42)!important;
    border-radius:999px!important;
    background:rgba(255,255,255,.08)!important;
    box-shadow:none!important;
    color:#fff!important;
    font-size:10.5px!important;
    font-weight:700!important;
    min-width:0!important;
    height:auto!important;
    flex:0 0 auto!important;
  }
}

/* ===== JSS V2.0.6 FACEBOOK FEED POST-HEADER VIEW =====
   Crop the Facebook Page Plugin so the visible area begins at the real post header
   (page logo/name/time), while the remaining window naturally shows the post below. */
.jss-home .jss-facebook-feed-window{
  overflow:hidden!important;
}
.jss-home .jss-facebook-feed-window iframe{
  top:-94px!important;
  height:650px!important;
}
@media (max-width:991.98px){
  .jss-home .jss-facebook-feed-window iframe{
    top:-90px!important;
    height:640px!important;
  }
}
@media (max-width:767.98px){
  .jss-home .jss-facebook-feed-window{
    height:430px!important;
  }
  .jss-home .jss-facebook-feed-window iframe{
    top:-86px!important;
    height:630px!important;
  }
}
@media (max-width:480px){
  .jss-home .jss-facebook-feed-window{
    height:410px!important;
  }
  .jss-home .jss-facebook-feed-window iframe{
    top:-82px!important;
    height:610px!important;
  }
}


/* ===== JSS V2.0.7 HERO WIDTH-FIRST FIT =====
   "Cover" now prioritizes full horizontal visibility: width stays 100%,
   so text/logos near the left/right edges are not cropped. The slider keeps
   its fixed height and may crop only top/bottom when source ratio differs. */
.jss-home #jssHeroSlider.cms-slider .jss-hero-slide.visual-only,
.jss-home #jssHeroSlider.cms-slider .jss-hero-picture,
.jss-home #jssHeroSlider.cms-slider .jss-hero-media-link{
  overflow:hidden!important;
}
@media (min-width:768px){
  .jss-home #jssHeroSlider.cms-slider .jss-hero-slide.visual-only .jss-hero-media.fit-cover{
    position:absolute!important;
    left:0!important;
    top:50%!important;
    right:auto!important;
    bottom:auto!important;
    width:100%!important;
    max-width:100%!important;
    height:auto!important;
    min-height:0!important;
    transform:translateY(-50%)!important;
    object-fit:contain!important;
    object-position:var(--jss-desktop-pos,center center)!important;
  }
  .jss-home #jssHeroSlider.cms-slider .jss-hero-slide.visual-only .jss-hero-backdrop{
    display:block!important;
    position:absolute!important;
    inset:-22px!important;
    width:calc(100% + 44px)!important;
    height:calc(100% + 44px)!important;
    object-fit:cover!important;
    filter:blur(18px) brightness(.78)!important;
    transform:scale(1.04)!important;
    opacity:.72!important;
  }
}
@media (max-width:767.98px){
  .jss-home #jssHeroSlider.cms-slider .jss-hero-slide.has-mobile-art .jss-hero-media.mobile-fit-cover{
    position:absolute!important;
    left:0!important;
    top:50%!important;
    right:auto!important;
    bottom:auto!important;
    width:100%!important;
    max-width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    transform:translateY(-50%)!important;
    object-fit:contain!important;
    object-position:var(--jss-mobile-pos,center center)!important;
  }
  .jss-home #jssHeroSlider.cms-slider .jss-hero-slide.has-mobile-art .jss-hero-backdrop-picture,
  .jss-home #jssHeroSlider.cms-slider .jss-hero-slide.has-mobile-art .jss-hero-backdrop{
    display:block!important;
  }
  .jss-home #jssHeroSlider.cms-slider .jss-hero-slide.has-mobile-art .jss-hero-backdrop{
    position:absolute!important;
    inset:-18px!important;
    width:calc(100% + 36px)!important;
    height:calc(100% + 36px)!important;
    object-fit:cover!important;
    filter:blur(16px) brightness(.72)!important;
    transform:scale(1.04)!important;
    opacity:.68!important;
  }
}

/* ===== JSS V2.1.1 DUAL FACEBOOK PAGES =====
   Two Facebook timelines, each up to 500px wide, responsive and stacked on mobile. */
.jss-home .jss-facebook-section{
  overflow:hidden;
}
.jss-home .jss-facebook-dual{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:26px!important;
  max-width:1100px!important;
  margin:0 auto!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
.jss-home .jss-facebook-dual::before,
.jss-home .jss-facebook-dual::after{
  display:none!important;
}
.jss-home .jss-facebook-page-card{
  width:100%!important;
  min-width:0!important;
  min-height:590px!important;
  padding:14px!important;
  border-radius:28px!important;
  display:flex!important;
  flex-direction:column!important;
  background:linear-gradient(145deg,#082f72 0%,#0d55ba 58%,#1677ee 100%)!important;
}
.jss-home .jss-facebook-page-card .jss-facebook-frame-head{
  margin:0 0 12px!important;
  min-height:54px!important;
}
.jss-home .jss-facebook-page-link{
  width:38px!important;
  height:38px!important;
  flex:0 0 38px!important;
  border-radius:50%!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  color:#fff!important;
  background:rgba(255,255,255,.14)!important;
  border:1px solid rgba(255,255,255,.22)!important;
  text-decoration:none!important;
}
.jss-home .jss-facebook-page-link:hover{
  background:rgba(255,255,255,.24)!important;
}
.jss-home .jss-facebook-page-card .jss-facebook-feed-window{
  width:100%!important;
  max-width:520px!important;
  height:500px!important;
  margin:0 auto!important;
  padding:0!important;
  border-radius:20px!important;
  overflow:hidden!important;
  background:#fff!important;
}
.jss-home .jss-facebook-page-card .jss-facebook-feed-window iframe{
  position:absolute!important;
  left:50%!important;
  top:-94px!important;
  transform:translateX(-50%)!important;
  width:500px!important;
  max-width:none!important;
  height:650px!important;
  background:#fff!important;
  border:0!important;
}

@media (max-width:1199.98px){
  .jss-home .jss-facebook-dual{
    max-width:1040px!important;
    gap:18px!important;
  }
}

@media (max-width:991.98px){
  .jss-home .jss-facebook-dual{
    grid-template-columns:1fr!important;
    max-width:560px!important;
  }
  .jss-home .jss-facebook-page-card{
    min-height:580px!important;
  }
}

@media (max-width:767.98px){
  .jss-home .jss-facebook-dual{
    width:100%!important;
    max-width:540px!important;
    gap:16px!important;
  }
  .jss-home .jss-facebook-page-card{
    min-height:0!important;
    padding:10px!important;
    border-radius:22px!important;
  }
  .jss-home .jss-facebook-page-card .jss-facebook-frame-head{
    min-height:48px!important;
    margin-bottom:8px!important;
  }
  .jss-home .jss-facebook-page-card .jss-facebook-feed-window{
    width:100%!important;
    max-width:500px!important;
    height:500px!important;
    border-radius:16px!important;
  }
  .jss-home .jss-facebook-page-card .jss-facebook-feed-window iframe{
    top:-86px!important;
    height:640px!important;
  }
}

@media (max-width:520px){
  .jss-home .jss-facebook-page-card .jss-facebook-mini-brand{
    font-size:.82rem!important;
    padding:7px 10px!important;
  }
  .jss-home .jss-facebook-page-link{
    width:34px!important;
    height:34px!important;
    flex-basis:34px!important;
  }
  .jss-home .jss-facebook-page-card .jss-facebook-feed-window{
    height:470px!important;
  }
  .jss-home .jss-facebook-page-card .jss-facebook-feed-window iframe{
    top:-82px!important;
    height:620px!important;
  }
}



/* ===== JSS V2.1.3 FACEBOOK DIRECT PLUGIN TEST =====
   Render Meta Page Plugin directly: no negative top crop, no JS lazy-src swapping.
   Desktop keeps two 500px feeds side by side; mobile stacks them. */
.jss-home .jss-facebook-page-card{
  min-height:0!important;
}
.jss-home .jss-facebook-page-card .jss-facebook-feed-window{
  position:relative!important;
  width:100%!important;
  max-width:500px!important;
  height:500px!important;
  margin:0 auto!important;
  padding:0!important;
  overflow:hidden!important;
  background:#fff!important;
}
.jss-home .jss-facebook-page-card .jss-facebook-feed-window iframe{
  position:relative!important;
  display:block!important;
  left:auto!important;
  top:auto!important;
  transform:none!important;
  width:100%!important;
  max-width:500px!important;
  height:500px!important;
  min-height:500px!important;
  margin:0 auto!important;
  border:0!important;
  background:#fff!important;
}
@media (max-width:767.98px){
  .jss-home .jss-facebook-page-card .jss-facebook-feed-window,
  .jss-home .jss-facebook-page-card .jss-facebook-feed-window iframe{
    width:100%!important;
    max-width:500px!important;
    height:500px!important;
    min-height:500px!important;
  }
}


/* ===== JSS V2.1.4 CERTIFICATE CMS + HORIZONTAL CAROUSEL ===== */
.jss-home .jss-certificate-section{overflow:hidden}
.jss-home .jss-cert-carousel{position:relative;max-width:100%;padding:0 48px}
.jss-home .jss-cert-track{display:flex;gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;overscroll-behavior-inline:contain;padding:4px 2px 18px;scrollbar-width:none}
.jss-home .jss-cert-track::-webkit-scrollbar{display:none}
.jss-home .jss-cert-track .jss-cert-card{flex:0 0 calc((100% - 66px)/4);min-width:0;scroll-snap-align:start}
.jss-home .jss-cert-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:4;width:42px;height:42px;border-radius:50%;border:1px solid #d6e2f1;background:#fff;color:#0a4f97;box-shadow:0 10px 25px rgba(5,41,83,.14);display:flex;align-items:center;justify-content:center;cursor:pointer}
.jss-home .jss-cert-nav.prev{left:0}.jss-home .jss-cert-nav.next{right:0}
.jss-home .jss-cert-nav:disabled{opacity:.28;cursor:default}
.jss-home .jss-cert-carousel.is-static .jss-cert-nav{display:none}
@media(max-width:991.98px){.jss-home .jss-cert-track .jss-cert-card{flex-basis:calc((100% - 22px)/2)}.jss-home .jss-cert-carousel{padding:0 42px}}
@media(max-width:575.98px){.jss-home .jss-cert-carousel{padding:0 34px}.jss-home .jss-cert-track{gap:14px}.jss-home .jss-cert-track .jss-cert-card{flex-basis:88%}.jss-home .jss-cert-nav{width:36px;height:36px}.jss-home .jss-cert-card img{height:200px}}


/* ===== JSS V2.1.8 CONSTRUCTION MEGA MENU + MANAGED PROJECTS ===== */
@media (min-width:1200px){
  .jss-mega{width:min(1460px,96vw)!important;padding:24px 26px!important}
  .jss-mega-grid{grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:10px 18px!important}
  .jss-mega-item{min-height:78px;padding:12px 10px!important}
  .jss-mega-item b{font-size:.93rem!important}
  .jss-mega-item small{font-size:.73rem!important}
  .jss-mega-construction{background:linear-gradient(135deg,#fff8ed,#fff)!important;border:1px solid #fde0b6}
  .jss-mega-construction i{color:#e48a12!important}
  .jss-mega-construction:hover{background:#fff2dc!important}
}
@media (min-width:1200px) and (max-width:1399.98px){
  .jss-mega-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}
}

.jss-managed-projects{margin:24px auto 34px;max-width:1420px;padding:0 18px}
.jss-managed-projects-head{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:18px}
.jss-managed-projects-head h2{margin:0;color:#0c447f;font-weight:800;font-size:2rem}
.jss-managed-projects-head p{margin:5px 0 0;color:#708096}
.jss-managed-project-grid{columns:4 240px;column-gap:18px}
.jss-managed-project-card{position:relative;display:block;break-inside:avoid;margin:0 0 18px;border-radius:18px;overflow:hidden;background:#fff;box-shadow:0 12px 28px rgba(14,51,91,.10);text-decoration:none!important}
.jss-managed-project-card img{display:block;width:100%;height:auto;min-height:160px;object-fit:cover;transition:transform .3s ease}
.jss-managed-project-card:hover img{transform:scale(1.025)}
.jss-managed-project-caption{position:absolute;left:0;right:0;bottom:0;padding:36px 14px 12px;background:linear-gradient(transparent,rgba(4,25,52,.88));color:#fff}
.jss-managed-project-caption b{display:block;font-size:.98rem;line-height:1.35}
.jss-managed-project-caption small{display:inline-flex;margin-top:5px;padding:3px 8px;border-radius:999px;background:rgba(255,255,255,.18);font-size:.72rem}
.jss-managed-projects-empty{padding:28px;border:1px dashed #c8d8e9;border-radius:18px;text-align:center;color:#6c7e92;background:#fbfdff}

@media(max-width:991.98px){.jss-managed-project-grid{columns:3 200px}}
@media(max-width:767.98px){
  .jss-managed-projects{padding:0 12px}
  .jss-managed-projects-head{display:block}
  .jss-managed-project-grid{columns:2 150px;column-gap:12px}
  .jss-managed-project-card{margin-bottom:12px;border-radius:14px}
  .jss-managed-project-caption{padding:28px 10px 9px}
  .jss-managed-project-caption b{font-size:.84rem}
}
@media(max-width:430px){.jss-managed-project-grid{columns:1}}


/* ===== JSS V2.2.1 PROJECT GALLERY COMPACT GRID + SEARCH/FILTER ===== */
.jss-managed-projects{max-width:1420px!important;margin:26px auto 38px!important;padding:0 20px!important}
.jss-managed-projects-head{margin-bottom:14px!important}
.jss-project-toolbar{display:grid;gap:11px;margin:0 0 18px;padding:14px;border:1px solid #dfe9f4;border-radius:18px;background:#fff;box-shadow:0 10px 28px rgba(13,59,105,.06)}
.jss-project-search{display:flex;align-items:center;gap:10px;width:min(760px,100%);height:48px;padding-left:15px;border:1px solid #cbd9e8;border-radius:14px;background:#f9fbfe;overflow:hidden}
.jss-project-search i{color:#0b67b6;font-size:16px;flex:0 0 auto}
.jss-project-search input{flex:1;min-width:0;height:100%;border:0!important;outline:0!important;background:transparent!important;color:#173451;font:inherit;padding:0 4px!important;box-shadow:none!important}
.jss-project-search button{height:100%;border:0;background:#0874c9;color:#fff;font-weight:800;padding:0 20px;cursor:pointer;white-space:nowrap}
.jss-project-search button:hover{background:#055fa9}
.jss-project-filter-scroll{display:flex;gap:8px;overflow-x:auto;padding:1px 0 3px;scrollbar-width:none;overscroll-behavior-inline:contain}
.jss-project-filter-scroll::-webkit-scrollbar{display:none}
.jss-project-filter{flex:0 0 auto;border:1px solid #d3dfed;background:#fff;color:#31506f;border-radius:999px;padding:8px 13px;font:inherit;font-size:.85rem;font-weight:750;cursor:pointer;transition:.18s ease}
.jss-project-filter:hover{border-color:#87b9e4;background:#f2f8ff;color:#075fae}
.jss-project-filter.active{background:#0874c9;border-color:#0874c9;color:#fff;box-shadow:0 6px 14px rgba(8,116,201,.18)}
.jss-project-result{font-size:.8rem;color:#74869a;font-weight:650}

/* Override the old masonry columns. Fixed compact cards prevent a single photo becoming huge. */
.jss-managed-project-grid{columns:auto!important;column-gap:0!important;display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:16px!important;align-items:start!important}
.jss-managed-project-card{position:relative!important;display:flex!important;flex-direction:column!important;break-inside:auto!important;margin:0!important;min-width:0!important;border:1px solid #e0e9f3!important;border-radius:16px!important;background:#fff!important;box-shadow:0 8px 22px rgba(15,52,92,.08)!important;overflow:hidden!important;color:#153756!important;text-decoration:none!important;transition:transform .18s ease,box-shadow .18s ease!important}
.jss-managed-project-card:hover{transform:translateY(-3px)!important;box-shadow:0 14px 30px rgba(15,52,92,.13)!important}
.jss-managed-project-card[hidden]{display:none!important}
.jss-managed-project-image{display:block!important;width:100%!important;aspect-ratio:4/3!important;overflow:hidden!important;background:#eef3f8!important}
.jss-managed-project-card img{display:block!important;width:100%!important;height:100%!important;min-height:0!important;max-height:none!important;object-fit:cover!important;transition:transform .28s ease!important}
.jss-managed-project-card:hover img{transform:scale(1.035)!important}
.jss-managed-project-caption{position:static!important;display:block!important;padding:11px 12px 12px!important;min-height:70px!important;background:#fff!important;color:#153756!important}
.jss-managed-project-caption b{display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important;font-size:.93rem!important;line-height:1.35!important;font-weight:800!important}
.jss-managed-project-caption small{display:inline-flex!important;margin-top:7px!important;padding:4px 8px!important;border-radius:999px!important;background:#edf6ff!important;color:#0863ae!important;font-size:.7rem!important;font-weight:750!important}
.jss-project-no-results{margin:8px 0 0;padding:28px 16px;text-align:center;color:#738397;background:#fff;border:1px dashed #c9d7e5;border-radius:16px}

@media(min-width:1600px){.jss-managed-project-grid{grid-template-columns:repeat(5,minmax(0,1fr))!important}}
@media(max-width:1199.98px){.jss-managed-project-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:767.98px){
  .jss-managed-projects{padding:0 12px!important}
  .jss-project-toolbar{padding:11px;border-radius:15px}
  .jss-project-search{width:100%;height:44px}
  .jss-project-search button{padding:0 14px}
  .jss-managed-project-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:11px!important}
  .jss-managed-project-card{border-radius:13px!important}
  .jss-managed-project-caption{padding:9px 9px 10px!important;min-height:64px!important}
  .jss-managed-project-caption b{font-size:.82rem!important}
}
@media(max-width:430px){
  .jss-managed-project-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
  .jss-managed-project-caption small{font-size:.62rem!important}
  .jss-project-search input{font-size:.82rem!important}
}


/* ===== JSS V2.2.2 PROJECT GALLERY GROUPED BY CATEGORY ===== */
.jss-project-groups{display:grid!important;gap:34px!important}
.jss-project-category-group{display:block!important;min-width:0!important}
.jss-project-category-group[hidden]{display:none!important}
.jss-project-category-heading{display:flex!important;align-items:center!important;gap:14px!important;margin:0 0 15px!important;padding:0 2px 12px!important;border-bottom:1px solid #dbe6f2!important}
.jss-project-category-icon{width:48px!important;height:48px!important;flex:0 0 48px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;border-radius:14px!important;background:linear-gradient(145deg,#e9f5ff,#fff)!important;color:#0870ca!important;font-size:25px!important;box-shadow:0 8px 18px rgba(8,112,202,.10)!important}
.jss-project-category-title{min-width:0!important;display:flex!important;align-items:baseline!important;gap:12px!important;flex-wrap:wrap!important}
.jss-project-category-title h3{margin:0!important;color:#0870ca!important;font-size:1.65rem!important;line-height:1.15!important;font-weight:850!important;letter-spacing:-.02em!important}
.jss-project-category-count{display:inline-flex!important;align-items:center!important;gap:4px!important;color:#8190a2!important;font-size:.76rem!important;font-weight:700!important}
.jss-project-category-count b{color:#0b65b5!important}
.jss-project-category-group .jss-managed-project-grid{margin:0!important}

@media(min-width:1600px){
  .jss-project-category-group .jss-managed-project-grid{grid-template-columns:repeat(5,minmax(0,1fr))!important}
}
@media(max-width:1199.98px){
  .jss-project-category-title h3{font-size:1.42rem!important}
  .jss-project-category-group .jss-managed-project-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media(max-width:767.98px){
  .jss-project-groups{gap:27px!important}
  .jss-project-category-heading{gap:10px!important;margin-bottom:11px!important;padding-bottom:9px!important}
  .jss-project-category-icon{width:40px!important;height:40px!important;flex-basis:40px!important;border-radius:11px!important;font-size:20px!important}
  .jss-project-category-title h3{font-size:1.12rem!important}
  .jss-project-category-count{font-size:.68rem!important}
  .jss-project-category-group .jss-managed-project-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:430px){
  .jss-project-category-title{gap:7px!important}
  .jss-project-category-title h3{font-size:1rem!important}
}


/* ===== JSS V2.2.3 SINGLE PROJECT SOURCE + SMALLER PROJECT CARDS ===== */
/* Main Our Works cards: smaller than V2.2.2, closer to the original compact gallery. */
@media(min-width:1500px){
  .jss-project-category-group .jss-managed-project-grid{grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:12px!important}
}
@media(min-width:1200px) and (max-width:1499.98px){
  .jss-project-category-group .jss-managed-project-grid{grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:12px!important}
}
@media(min-width:992px) and (max-width:1199.98px){
  .jss-project-category-group .jss-managed-project-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:12px!important}
}
.jss-project-category-group .jss-managed-project-card{border-radius:13px!important}
.jss-project-category-group .jss-managed-project-image{aspect-ratio:4/3!important}
.jss-project-category-group .jss-managed-project-caption{padding:8px 9px 9px!important;min-height:54px!important}
.jss-project-category-group .jss-managed-project-caption b{-webkit-line-clamp:1!important;font-size:.80rem!important;white-space:normal!important}
.jss-project-category-group .jss-managed-project-caption small{margin-top:5px!important;padding:3px 7px!important;font-size:.62rem!important}

/* Service pages use the exact same projects.json data, but show photo-only compact thumbnails. */
.jss-service-projects{margin:30px 0 8px!important;padding-top:2px!important}
.jss-service-project-heading{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:14px!important;margin:0 0 14px!important;padding:0 0 10px!important;border-bottom:1px solid #dce7f2!important}
.jss-service-project-title{display:flex!important;align-items:center!important;gap:10px!important;min-width:0!important}
.jss-service-project-title i{color:#0870ca!important;font-size:1.45rem!important}
.jss-service-project-title h3{margin:0!important;color:#0870ca!important;font-size:1.55rem!important;font-weight:850!important;line-height:1.15!important}
.jss-service-project-heading>a{flex:0 0 auto!important;color:#d91f28!important;font-weight:800!important;font-size:.88rem!important;text-decoration:none!important}
.jss-service-project-grid{display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:10px!important}
.jss-service-project-thumb{display:block!important;aspect-ratio:4/3!important;border-radius:11px!important;overflow:hidden!important;background:#edf3f8!important;box-shadow:0 7px 17px rgba(16,52,91,.09)!important;border:1px solid #e0e9f2!important}
.jss-service-project-thumb img{display:block!important;width:100%!important;height:100%!important;object-fit:cover!important;transition:transform .25s ease!important}
.jss-service-project-thumb:hover img{transform:scale(1.045)!important}
.jss-service-project-empty{padding:18px!important;border:1px dashed #cad8e7!important;border-radius:13px!important;background:#f9fcff!important;color:#718196!important;text-align:center!important}
@media(max-width:1199.98px){.jss-service-project-grid{grid-template-columns:repeat(5,minmax(0,1fr))!important}}
@media(max-width:991.98px){.jss-service-project-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}}
@media(max-width:767.98px){
  .jss-service-project-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important}
  .jss-service-project-title h3{font-size:1.12rem!important}
  .jss-service-project-title i{font-size:1.1rem!important}
  .jss-service-project-heading>a{font-size:.76rem!important}
}
@media(max-width:480px){.jss-service-project-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}

/* ===== JSS V2.2.5 INNER PAGE WIDTH ALIGNMENT =====
   Keep all inner-page content inside the same horizontal frame as the blue page heading. */
:root{--jss-inner-page-max:1320px}

body:not(.jss-home) .page-heading,
body:not(.jss-home) .page-bg,
body:not(.jss-home) .jss-managed-projects,
body:not(.jss-home) .jss-works-updates,
body:not(.jss-home) .jss-work-partners-wrap{
  box-sizing:border-box!important;
  max-width:var(--jss-inner-page-max)!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* Project / gallery pages used to be wider (1420px) than the blue heading (1320px). */
body:not(.jss-home) .jss-managed-projects{
  width:100%!important;
  padding-left:0!important;
  padding-right:0!important;
}
body:not(.jss-home) .jss-managed-projects > *,
body:not(.jss-home) .jss-project-groups,
body:not(.jss-home) .jss-project-toolbar{
  max-width:100%!important;
  box-sizing:border-box!important;
}

/* Guard against any service-page section exceeding the header frame. */
body:not(.jss-home) .servicebg > .container,
body:not(.jss-home) .worksbg > .container,
body:not(.jss-home) .aboutbg > .container,
body:not(.jss-home) .customerbg > .container{
  box-sizing:border-box!important;
  max-width:var(--jss-inner-page-max)!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

@media (max-width:1199.98px){
  body:not(.jss-home) .page-heading,
  body:not(.jss-home) .page-bg,
  body:not(.jss-home) .jss-managed-projects,
  body:not(.jss-home) .jss-works-updates,
  body:not(.jss-home) .jss-work-partners-wrap,
  body:not(.jss-home) .servicebg > .container,
  body:not(.jss-home) .worksbg > .container,
  body:not(.jss-home) .aboutbg > .container,
  body:not(.jss-home) .customerbg > .container{
    width:calc(100% - 32px)!important;
  }
}

@media (max-width:767.98px){
  body:not(.jss-home) .page-heading,
  body:not(.jss-home) .page-bg,
  body:not(.jss-home) .jss-managed-projects,
  body:not(.jss-home) .jss-works-updates,
  body:not(.jss-home) .jss-work-partners-wrap,
  body:not(.jss-home) .servicebg > .container,
  body:not(.jss-home) .worksbg > .container,
  body:not(.jss-home) .aboutbg > .container,
  body:not(.jss-home) .customerbg > .container{
    width:calc(100% - 20px)!important;
  }
  body:not(.jss-home) .jss-managed-projects{padding-left:0!important;padding-right:0!important}
}


/* ===== JSS V2.2.7 SERVICE HERO DETAILS + VISIBLE REFERENCE BUTTON ===== */
body:not(.jss-home) .page-heading.jss-service-heading{
  display:grid!important;
  grid-template-columns:minmax(330px,.88fr) minmax(0,1.12fr)!important;
  gap:38px!important;
  align-items:center!important;
  padding:34px 42px!important;
  min-height:285px!important;
}
body:not(.jss-home) .jss-service-heading-main{
  min-width:0;
}
body:not(.jss-home) .jss-service-heading h1{
  display:flex!important;
  align-items:center!important;
  gap:14px!important;
  font-size:2.55rem!important;
  margin-bottom:10px!important;
}
body:not(.jss-home) .jss-service-heading h1 > i{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:50px!important;
  height:50px!important;
  border-radius:14px!important;
  background:rgba(255,255,255,.13)!important;
  color:#fff!important;
  font-size:1.35rem!important;
  flex:0 0 50px!important;
}
body:not(.jss-home) .jss-service-heading h4{
  margin-bottom:18px!important;
}
body:not(.jss-home) .page-heading a.jss-reference-btn,
body:not(.jss-home) .page-heading a[data-type="button"]{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:9px!important;
  min-height:46px!important;
  padding:10px 18px!important;
  border:2px solid #fff!important;
  border-radius:999px!important;
  background:#fff!important;
  color:#0b4a87!important;
  box-shadow:0 10px 26px rgba(1,28,61,.24)!important;
  font-size:.92rem!important;
  font-weight:800!important;
  line-height:1.25!important;
  text-align:center!important;
  text-decoration:none!important;
  white-space:normal!important;
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease!important;
}
body:not(.jss-home) .page-heading a.jss-reference-btn:hover,
body:not(.jss-home) .page-heading a[data-type="button"]:hover{
  transform:translateY(-2px)!important;
  background:#f4f9ff!important;
  color:#073d73!important;
  box-shadow:0 14px 30px rgba(1,28,61,.3)!important;
}
body:not(.jss-home) .jss-reference-btn .fa-file-pdf{
  color:#e21d2a!important;
  font-size:1.08rem!important;
}
body:not(.jss-home) .jss-reference-download-icon{
  color:#0b76ce!important;
  font-size:.9rem!important;
}
body:not(.jss-home) .jss-service-heading-detail{
  padding:2px 0 2px 28px!important;
  border-left:1px solid rgba(255,255,255,.28)!important;
  color:#fff!important;
}
body:not(.jss-home) .jss-service-detail-label{
  display:inline-flex!important;
  align-items:center!important;
  gap:8px!important;
  margin-bottom:10px!important;
  color:#d9efff!important;
  font-size:.82rem!important;
  font-weight:800!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
}
body:not(.jss-home) .jss-service-heading-detail > p{
  margin:0 0 12px!important;
  color:#fff!important;
  font-size:1rem!important;
  font-weight:500!important;
  line-height:1.65!important;
}
body:not(.jss-home) .jss-service-heading-detail ul{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:8px 16px!important;
  list-style:none!important;
  padding:0!important;
  margin:0!important;
}
body:not(.jss-home) .jss-service-heading-detail li{
  display:flex!important;
  align-items:flex-start!important;
  gap:8px!important;
  color:#e9f6ff!important;
  font-size:.86rem!important;
  line-height:1.5!important;
}
body:not(.jss-home) .jss-service-heading-detail li > i{
  margin-top:4px!important;
  color:#7ee0ff!important;
  font-size:.72rem!important;
  flex:0 0 auto!important;
}

@media(max-width:991.98px){
  body:not(.jss-home) .page-heading.jss-service-heading{
    grid-template-columns:1fr!important;
    gap:22px!important;
    padding:30px 32px!important;
  }
  body:not(.jss-home) .jss-service-heading-detail{
    padding:20px 0 0!important;
    border-left:0!important;
    border-top:1px solid rgba(255,255,255,.28)!important;
  }
}
@media(max-width:767.98px){
  body:not(.jss-home) .page-heading.jss-service-heading{
    padding:25px 22px!important;
    border-radius:22px!important;
    min-height:0!important;
  }
  body:not(.jss-home) .jss-service-heading h1{
    font-size:2rem!important;
    gap:10px!important;
  }
  body:not(.jss-home) .jss-service-heading h1 > i{
    width:42px!important;
    height:42px!important;
    flex-basis:42px!important;
    border-radius:12px!important;
    font-size:1.08rem!important;
  }
  body:not(.jss-home) .jss-service-heading-detail ul{
    grid-template-columns:1fr!important;
  }
  body:not(.jss-home) .page-heading a.jss-reference-btn,
  body:not(.jss-home) .page-heading a[data-type="button"]{
    width:100%!important;
    max-width:390px!important;
  }
}


/* ===== JSS V2.2.8 service hero text clarity fix ===== */
body:not(.jss-home) .page-heading a.jss-reference-btn{
  min-width: 460px!important;
  justify-content:flex-start!important;
  padding:12px 22px!important;
  gap:12px!important;
}
body:not(.jss-home) .page-heading a.jss-reference-btn span,
body:not(.jss-home) .page-heading a[data-type="button"] span{
  display:inline!important;
  color:#0b4a87!important;
  font-size:1rem!important;
  font-weight:800!important;
  line-height:1.35!important;
  letter-spacing:0!important;
  text-transform:none!important;
  margin:0!important;
  padding:0!important;
  text-shadow:none!important;
  white-space:normal!important;
}
body:not(.jss-home) .page-heading a.jss-reference-btn .fa-file-pdf,
body:not(.jss-home) .page-heading a.jss-reference-btn .jss-reference-download-icon{
  flex:0 0 auto!important;
}
body:not(.jss-home) .jss-service-heading-detail ul{
  gap:12px 18px!important;
}
body:not(.jss-home) .jss-service-heading-detail li{
  display:grid!important;
  grid-template-columns:16px minmax(0,1fr)!important;
  align-items:flex-start!important;
  column-gap:10px!important;
  row-gap:0!important;
  min-width:0!important;
}
body:not(.jss-home) .jss-service-heading-detail li > i{
  margin-top:6px!important;
}
body:not(.jss-home) .jss-service-heading-detail li span{
  display:block!important;
  color:#e9f6ff!important;
  font-size:.94rem!important;
  font-weight:600!important;
  line-height:1.4!important;
  letter-spacing:0!important;
  text-transform:none!important;
  padding:0!important;
  margin:0!important;
  white-space:normal!important;
  word-break:break-word!important;
}
@media(max-width:1199.98px){
  body:not(.jss-home) .page-heading.jss-service-heading{
    grid-template-columns:minmax(280px,.86fr) minmax(0,1.14fr)!important;
    gap:28px!important;
  }
  body:not(.jss-home) .jss-service-heading h1{font-size:2.2rem!important;}
  body:not(.jss-home) .page-heading a.jss-reference-btn{min-width:0!important;width:100%!important;max-width:520px!important;}
}
@media(max-width:767.98px){
  body:not(.jss-home) .jss-service-heading-detail li span{font-size:.9rem!important;line-height:1.45!important;}
}


/* ===== JSS V2.2.9 MOBILE SERVICE HERO HARD FIX =====
   Keep service hero single-column on tablet/mobile.
   This block is intentionally LAST so the 1199px desktop rule cannot override it. */
@media (max-width: 991.98px){
  body:not(.jss-home) .page-heading.jss-service-heading{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-template-areas:
      "main"
      "detail"!important;
    width:calc(100% - 20px)!important;
    max-width:100%!important;
    min-width:0!important;
    height:auto!important;
    min-height:0!important;
    margin:14px auto 20px!important;
    padding:26px 24px!important;
    gap:22px!important;
    align-items:stretch!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
  }

  body:not(.jss-home) .jss-service-heading-main{
    grid-area:main!important;
    display:block!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    margin:0!important;
    padding:0!important;
  }

  body:not(.jss-home) .jss-service-heading-detail{
    grid-area:detail!important;
    display:block!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    margin:0!important;
    padding:20px 0 0!important;
    border-left:0!important;
    border-top:1px solid rgba(255,255,255,.28)!important;
    box-sizing:border-box!important;
    overflow:visible!important;
  }

  body:not(.jss-home) .jss-service-heading h1{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    flex-wrap:wrap!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    word-break:normal!important;
    font-size:2rem!important;
    line-height:1.15!important;
  }

  body:not(.jss-home) .jss-service-heading h4{
    width:100%!important;
    max-width:100%!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
  }

  body:not(.jss-home) .jss-service-heading-detail > p{
    width:100%!important;
    max-width:100%!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    word-break:normal!important;
    font-size:.96rem!important;
    line-height:1.65!important;
  }

  body:not(.jss-home) .jss-service-heading-detail ul{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    gap:10px!important;
  }

  body:not(.jss-home) .jss-service-heading-detail li{
    display:grid!important;
    grid-template-columns:16px minmax(0,1fr)!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
  }

  body:not(.jss-home) .jss-service-heading-detail li span{
    width:auto!important;
    min-width:0!important;
    max-width:100%!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    word-break:normal!important;
    letter-spacing:0!important;
    text-transform:none!important;
    font-size:.92rem!important;
    line-height:1.5!important;
  }

  body:not(.jss-home) .page-heading a.jss-reference-btn{
    display:flex!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    min-height:48px!important;
    justify-content:flex-start!important;
    box-sizing:border-box!important;
    padding:11px 16px!important;
  }

  body:not(.jss-home) .page-heading a.jss-reference-btn span{
    min-width:0!important;
    flex:1 1 auto!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    font-size:.92rem!important;
  }
}

@media (max-width: 575.98px){
  body:not(.jss-home) .page-heading.jss-service-heading{
    width:calc(100% - 16px)!important;
    margin:12px auto 16px!important;
    padding:22px 18px!important;
    border-radius:20px!important;
    gap:18px!important;
  }

  body:not(.jss-home) .jss-service-heading h1{
    gap:9px!important;
    font-size:1.62rem!important;
    line-height:1.18!important;
  }

  body:not(.jss-home) .jss-service-heading h1 > i{
    width:40px!important;
    height:40px!important;
    flex:0 0 40px!important;
    font-size:1rem!important;
  }

  body:not(.jss-home) .jss-service-heading h4{
    margin-bottom:14px!important;
    font-size:.95rem!important;
  }

  body:not(.jss-home) .jss-service-detail-label{
    font-size:.78rem!important;
    letter-spacing:.03em!important;
  }

  body:not(.jss-home) .jss-service-heading-detail > p{
    font-size:.9rem!important;
    line-height:1.6!important;
  }

  body:not(.jss-home) .jss-service-heading-detail li span{
    font-size:.86rem!important;
    line-height:1.5!important;
  }
}


/* ===== JSS V2.3.0 FACEBOOK SDK + FAILSAFE ===== */
.jss-home .jss-facebook-page-card .jss-facebook-feed-window{
  position:relative!important;
  width:100%!important;
  max-width:500px!important;
  height:500px!important;
  min-height:500px!important;
  margin:0 auto!important;
  overflow:hidden!important;
  background:#fff!important;
}
.jss-home .jss-facebook-feed-window .fb-page{
  display:block!important;
  width:100%!important;
  max-width:500px!important;
  min-height:500px!important;
  position:relative!important;
  z-index:1!important;
}
.jss-home .jss-facebook-feed-window .fb-page > span,
.jss-home .jss-facebook-feed-window .fb-page iframe{
  width:100%!important;
  max-width:500px!important;
  height:500px!important;
}
.jss-facebook-loader,
.jss-facebook-fallback{
  position:absolute;
  inset:0;
  z-index:3;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:28px;
  text-align:center;
  background:#fff;
  color:#23405f;
}
.jss-facebook-loader small,.jss-facebook-fallback span{max-width:330px;color:#728198;line-height:1.55;font-size:.82rem}
.jss-facebook-spinner{width:34px;height:34px;border-radius:50%;border:3px solid #dbe7f5;border-top-color:#1877f2;animation:jssFbSpin .8s linear infinite}
@keyframes jssFbSpin{to{transform:rotate(360deg)}}
.jss-facebook-fallback{display:none;background:linear-gradient(180deg,#fff,#f5f9ff)}
.jss-facebook-fallback > i{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:#1877f2;color:#fff;font-size:1.25rem}
.jss-facebook-fallback b{font-size:1.15rem;color:#13385f}
.jss-facebook-fallback a,.jss-facebook-direct{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:999px;text-decoration:none!important;font-weight:800}
.jss-facebook-fallback a{margin-top:4px;padding:10px 16px;background:#1877f2;color:#fff!important}
.jss-facebook-direct{margin:12px auto 0;padding:9px 15px;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.22);color:#fff!important;font-size:.85rem}
.jss-facebook-page-card.fb-ready .jss-facebook-loader{display:none}
.jss-facebook-page-card.fb-failed .jss-facebook-loader{display:none}
.jss-facebook-page-card.fb-failed .fb-page{visibility:hidden!important}
.jss-facebook-page-card.fb-failed .jss-facebook-fallback{display:flex}
@media(max-width:575.98px){
  .jss-home .jss-facebook-page-card .jss-facebook-feed-window{height:470px!important;min-height:470px!important}
  .jss-home .jss-facebook-feed-window .fb-page,
  .jss-home .jss-facebook-feed-window .fb-page > span,
  .jss-home .jss-facebook-feed-window .fb-page iframe{height:470px!important;min-height:470px!important}
}
