/* Shiv Ganga: price calculator, reviews and offices. Every rule is scoped to .sgx
   so the rest of the website keeps its own look. */
.sgx{--sr:#c4161c;--sr2:#9d1015;--sy:#ffc20e;--sy2:#e6a800;--sn:#1d2236;--sn2:#2b3150;--ink:#1b2333;--mut:#5d6878;--line:#e4e8ef;--bg:#f5f6f9;--wa:#1da851;--ok:#0f8a4b;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Noto Sans","Helvetica Neue",Arial,sans-serif;color:var(--ink);font-size:16px;line-height:1.5;text-align:left}
.sgx *,.sgx *::before,.sgx *::after{box-sizing:border-box}
.sgx img{max-width:100%;display:block;height:auto}
.sgx a{text-decoration:none}
.sgx h1,.sgx h2,.sgx h3,.sgx p{margin:0;display:block;letter-spacing:normal;text-align:left}
.sgx span{position:static;z-index:auto;left:auto;top:auto;right:auto;bottom:auto;transform:none;animation:none;width:auto;height:auto;display:inline;font-size:inherit;letter-spacing:inherit;font-weight:inherit;color:inherit;background:transparent;padding:0;border:0;border-radius:0;margin:0;line-height:inherit;box-shadow:none;text-align:inherit}
.sgx button{font:inherit;cursor:pointer}
.sgx input{font:inherit}
.sgx .sgx-wrap{max-width:1140px;margin:0 auto;padding:0 16px}
.sgx .sgx-sr{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.sgx .sgx-st{color:var(--sy)}
.sgx-hero-grid>*,.sgx-inner-grid>*,.sgx-pl-wrap>*{min-width:0}

/* hero */
.sgx-hero{background:radial-gradient(900px 420px at 85% -10%,#3a2440 0%,transparent 60%),linear-gradient(180deg,var(--sn) 0%,#151a2b 100%);color:#fff;padding:22px 0 30px;border-bottom:4px solid var(--sy)}
.sgx-hero-grid{display:grid;gap:22px}
.sgx-hero h1{font-size:28px;line-height:1.18;font-weight:800;color:#fff;margin:0 0 10px;letter-spacing:-.3px}
.sgx-hero h1 em,.sgx-inner-h em{font-style:normal;color:var(--sy)}
.sgx-hero .sgx-sub{color:#cdd3e1;font-size:15.5px;margin:0 0 14px}
.sgx-chips{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
.sgx-chips li{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:5px 11px;font-size:13px;font-weight:600;color:#fff}
.sgx-points{list-style:none;padding:0;margin:14px 0 0;display:grid;gap:6px;font-weight:600}
.sgx-points li::before{content:"✓";color:var(--sy);font-weight:900;margin-right:9px}
.sgx-hero .sgx-points{display:none;color:#e6e9f1}
.sgx-hero-photo{display:none}

/* calculator card */
.sgx-card{background:#fff;color:var(--ink);border-radius:18px;box-shadow:0 18px 50px rgba(5,10,25,.35);padding:18px 16px;position:relative}
.sgx-prog{display:flex;gap:6px;margin:0 0 14px}
.sgx-prog i{flex:1;height:5px;border-radius:9px;background:var(--line)}
.sgx-prog i.on{background:var(--sr)}
.sgx .sgx-h{font-size:19px;font-weight:800;line-height:1.25;margin:0 0 2px;color:var(--ink)}
.sgx-hint{color:var(--mut);font-size:13.5px;margin:0 0 14px!important}
.sgx-fld{margin:0 0 12px}
.sgx-fld label,.sgx .sgx-lab{display:block;font-size:13px;font-weight:700;color:#33415a;margin:0 0 6px;padding:0}
.sgx-inp{position:relative}
.sgx-inp svg{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:18px;height:18px;color:#8794a8;pointer-events:none}
.sgx .sgx-inp input{display:block;width:100%;height:50px;border:1.5px solid #cfd6e2;border-radius:12px;padding:0 12px 0 40px;font-size:16px;color:var(--ink);background:#fff;outline:none;box-shadow:none;margin:0;letter-spacing:0}
.sgx .sgx-inp input:focus{border-color:var(--sn2);box-shadow:0 0 0 3px rgba(43,49,80,.15)}
.sgx .sgx-pre input{padding-left:58px}
.sgx .sgx-cc{position:absolute;left:12px;top:50%;transform:translateY(-50%);font-weight:700;color:#33415a;font-size:15px}
.sgx .sgx-inp.err input{border-color:var(--sr)}
.sgx .sgx-emsg{color:var(--sr);font-size:12.5px;margin:5px 0 0!important;display:none}
.sgx .sgx-inp.err+.sgx-emsg,.sgx .sgx-grp.err .sgx-emsg{display:block}
.sgx-row2{display:grid;grid-template-columns:1fr;gap:0}
.sgx .sgx-same{background:none;border:0;padding:0;color:var(--sr2);font-weight:700;font-size:13px;text-decoration:underline;margin:-4px 0 12px}
.sgx-sizes{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.sgx .sgx-sz{border:1.5px solid #cfd6e2;background:#fff;border-radius:12px;min-height:58px;padding:6px 4px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-weight:700;font-size:14px;color:var(--ink);line-height:1.2}
.sgx .sgx-sz small{font-weight:600;font-size:10.5px;color:var(--mut)}
.sgx .sgx-sz[aria-pressed=true]{border-color:var(--sn);background:var(--sn);color:#fff}
.sgx .sgx-sz[aria-pressed=true] small{color:#c9cfdd}
.sgx .sgx-wide{grid-column:span 2}
.sgx-bands{display:none;margin:12px 0 0;padding:12px;border-radius:12px;background:#fff8e1;border:1px solid #ffe08a}
.sgx-bands.show{display:block}
.sgx-bands p{margin:0 0 8px!important;font-size:13.5px;font-weight:600}
.sgx-bgrid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.sgx .sgx-bgrid .sgx-sz{min-height:44px;font-size:13px}
.sgx-grp.err .sgx-sizes .sgx-sz{border-color:#f0a3a6}
.sgx .sgx-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;height:54px;border:0;border-radius:12px;font-weight:800;font-size:17px;text-decoration:none;line-height:1}
.sgx .sgx-btn:active{transform:scale(.985)}
.sgx .sgx-btn-y{background:var(--sy);color:#1a1300;box-shadow:0 4px 0 var(--sy2)}
.sgx .sgx-btn-n{background:var(--sn);color:#fff}
.sgx .sgx-btn-w{background:var(--wa);color:#fff}
.sgx .sgx-btn[disabled]{opacity:.7;pointer-events:none}
.sgx-mt{margin-top:16px}
.sgx-micro{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;margin:10px 0 0;font-size:12.5px;color:var(--mut);font-weight:600}
.sgx-micro span::before{content:"✓ ";color:var(--ok)}
.sgx-step{display:none}
.sgx-step.on{display:block;animation:sgxfade .25s ease}
@keyframes sgxfade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.sgx-ready{display:flex;gap:10px;align-items:center;background:#eaf7f0;border:1px solid #bfe6cf;border-radius:12px;padding:10px 12px;margin:0 0 14px}
.sgx-tick{flex:none;width:30px;height:30px;border-radius:50%;background:var(--ok);color:#fff;display:grid;place-items:center;font-weight:900}
.sgx-ready b{display:block;font-size:15px}
.sgx-ready span{font-size:13px;color:#2b5a40}
.sgx .sgx-back{background:none;border:0;color:var(--mut);font-weight:600;font-size:13.5px;padding:6px 0;margin-top:8px}
.sgx-safe{font-size:12.5px;color:var(--mut);margin:10px 0 0!important;text-align:center}
.sgx .sgx-opt{font-weight:600;color:#8a97a8}
.sgx-res-top{font-size:13px;font-weight:700;color:var(--mut);text-transform:uppercase;letter-spacing:.6px}
.sgx-res-move{font-size:15px;font-weight:700;margin:2px 0 10px!important}
.sgx-price{font-size:34px;font-weight:900;color:var(--sn);letter-spacing:-.5px;line-height:1.1}
.sgx-price small{font-size:14px;font-weight:700;color:var(--mut);letter-spacing:0}
.sgx-offer{margin:12px 0;border:2px dashed var(--sr);background:#fff4f4;border-radius:12px;padding:10px 12px}
.sgx-offer b{display:block;font-size:14px;color:var(--sr2)}
.sgx .sgx-op{font-size:20px;font-weight:900;color:var(--sn)}
.sgx-incl{list-style:none;padding:0;margin:8px 0 12px;display:grid;gap:5px;font-size:14px}
.sgx-incl li::before{content:"✓";color:var(--ok);font-weight:900;margin-right:8px}
.sgx-callnote{display:flex;gap:10px;align-items:center;background:var(--bg);border-radius:12px;padding:10px 12px;font-size:14px;margin:0 0 12px}
.sgx .sgx-dot{flex:none;width:10px;height:10px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 4px rgba(15,138,75,.18);animation:sgxpulse 1.6s infinite}
@keyframes sgxpulse{50%{box-shadow:0 0 0 8px rgba(15,138,75,0)}}
.sgx-btns2{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.sgx .sgx-btns2 .sgx-btn{height:50px;font-size:15px}
.sgx-fine{font-size:12px;color:var(--mut);margin:12px 0 0!important}
.sgx .sgx-again{display:block;margin:10px auto 0;background:none;border:0;color:var(--sr2);font-weight:700;text-decoration:underline;font-size:14px}
.sgx .sgx-spin{width:20px;height:20px;border:3px solid rgba(26,19,0,.25);border-top-color:#1a1300;border-radius:50%;animation:sgxrot .7s linear infinite;display:none}
.sgx-btn.busy .sgx-spin{display:block}
@keyframes sgxrot{to{transform:rotate(360deg)}}
.sgx .sgx-pvw{position:absolute;top:-11px;right:14px;background:#6b2bd9;color:#fff;font-size:11px;font-weight:700;padding:3px 8px;border-radius:999px}

/* rating badges */
.sgx-trust{background:var(--bg);padding:16px 0}
.sgx-badges{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.sgx .sgx-badge{background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px 8px;display:flex;flex-direction:column;align-items:center;gap:3px;color:var(--ink)}
.sgx .sgx-bb{display:flex;align-items:center;gap:6px;font-weight:700;font-size:15px}
.sgx .sgx-bb img{width:18px;height:18px}
.sgx .sgx-jd{color:#0b6ad1}
.sgx .sgx-bs{color:#f5a700;letter-spacing:1px;font-size:13px}
.sgx .sgx-bi{font-size:13px;color:#444}

/* sections */
.sgx-sec{padding:36px 0;background:#fff}
.sgx-sec.sgx-alt{background:var(--bg)}
.sgx .sgx-title{font-size:24px;font-weight:800;line-height:1.25;margin:0 0 6px;color:var(--sn);letter-spacing:-.3px}
.sgx-lead{color:var(--mut);margin:0 0 18px!important}

/* reviews */
.sgx-revs{display:grid;gap:12px}
.sgx-swipe{grid-auto-flow:column;grid-auto-columns:86%;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px;-webkit-overflow-scrolling:touch}
.sgx-swipe .sgx-rev{scroll-snap-align:start}
.sgx-rev{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px;display:flex;flex-direction:column}
.sgx-rev-top{display:flex;gap:10px;align-items:center;margin:0 0 6px}
.sgx .sgx-av{flex:none;width:38px;height:38px;border-radius:50%;background:var(--sn);color:#fff;display:grid;place-items:center;font-weight:800}
.sgx-rev-top b{display:block;font-size:14.5px;line-height:1.2}
.sgx .sgx-rev-meta{font-size:12px;color:var(--mut)}
.sgx .sgx-g{display:inline-block;font-weight:900;color:#4285f4}
.sgx-stars{color:#f5a700;letter-spacing:2px;font-size:14px}
.sgx-rev p{font-size:14.5px;margin:6px 0 10px!important;color:#2b3445;flex:1}
.sgx .sgx-tag{align-self:flex-start;font-size:12px;font-weight:700;color:#3b4a63;background:#eef1f6;border-radius:999px;padding:3px 9px}
.sgx-rev-links{display:grid;gap:8px;margin-top:14px}
.sgx .sgx-rl{display:flex;justify-content:space-between;align-items:center;gap:10px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:11px 14px;color:var(--ink)}
.sgx-rl b{font-size:14.5px}
.sgx-rl span{font-size:13px;color:var(--sr2);font-weight:700;white-space:nowrap}

/* price list + how */
.sgx-seg{display:flex;background:#e7ebf1;border-radius:12px;padding:4px;gap:4px;overflow-x:auto;margin:0 0 14px}
.sgx .sgx-seg button{flex:1;white-space:nowrap;border:0;background:none;border-radius:9px;padding:9px 10px;font-weight:700;font-size:13.5px;color:#3b4b63}
.sgx .sgx-seg button[aria-selected=true]{background:#fff;color:var(--sn);box-shadow:0 1px 3px rgba(0,0,0,.12)}
.sgx-plist{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden}
.sgx-pr{display:flex;justify-content:space-between;align-items:center;padding:13px 16px;border-top:1px solid var(--line);gap:10px}
.sgx-pr:first-child{border-top:0}
.sgx-pr b{font-size:15px;white-space:nowrap}
.sgx-pr span{font-weight:800;color:var(--sn);font-size:15.5px;text-align:right}
.sgx-pr.v span{color:var(--mut);font-weight:700;font-size:14px}
.sgx-note{font-size:13px;color:var(--mut);margin:10px 0 0!important}
.sgx-how{display:grid;gap:12px;counter-reset:sgxh}
.sgx-hs{display:flex;gap:14px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px}
.sgx-hs::before{counter-increment:sgxh;content:counter(sgxh);flex:none;width:34px;height:34px;border-radius:50%;background:var(--sy);color:#1a1300;font-weight:900;display:grid;place-items:center}
.sgx-hs b{display:block;font-size:16px;margin:0 0 2px}
.sgx-hs p{color:var(--mut);font-size:14px}
.sgx-pl-wrap{display:grid;gap:28px}

/* gallery */
.sgx-gal{display:grid;grid-auto-flow:column;grid-auto-columns:80%;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px}
.sgx-gal figure{margin:0;scroll-snap-align:start;border-radius:14px;overflow:hidden;position:relative;background:#dde2ea}
.sgx-gal img{width:100%;aspect-ratio:4/3;object-fit:cover}
.sgx-gal figcaption{position:absolute;left:0;right:0;bottom:0;padding:22px 12px 10px;background:linear-gradient(transparent,rgba(10,12,22,.8));color:#fff;font-weight:700;font-size:14px}

/* offices */
.sgx-offices{display:grid;gap:12px}
.sgx-off{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px;border-top:4px solid var(--sr)}
.sgx-off-n{display:block;font-size:17px;color:var(--sn)}
.sgx .sgx-off-r{display:inline-block;font-size:13px;font-weight:700;color:var(--ink);margin:4px 0 8px}
.sgx-off p{font-size:14px;color:#3d4757;margin:0 0 8px!important}
.sgx .sgx-off-ph{display:inline-block;font-weight:800;color:var(--sr2);font-size:16px;margin:0 0 10px}
.sgx-off-b{display:flex;flex-wrap:wrap;gap:8px}
.sgx .sgx-off-b a{border:1.5px solid #cfd6e2;border-radius:999px;padding:6px 12px;font-size:13px;font-weight:700;color:var(--sn)}

/* inner pages (inside the old quote section) */
section.tp-hm-q-fom:has(.sgx-inner),.tp-hm-q-fom.sgx-host{background:#f5f6f9!important;border-bottom:0!important;padding:28px 0!important}
section.tp-hm-q-fom:has(.sgx-inner)::before,section.tp-hm-q-fom:has(.sgx-inner)::after,.tp-hm-q-fom.sgx-host::before,.tp-hm-q-fom.sgx-host::after{display:none!important}
section.tp-hm-q-fom:has(.sgx-inner) .qt-fm-h>span.text-danger,.tp-hm-q-fom.sgx-host .qt-fm-h>span.text-danger{display:none!important}
section.tp-hm-q-fom:has(.sgx-inner) .qt-fm-h,.tp-hm-q-fom.sgx-host .qt-fm-h{background:none!important;padding:0!important;margin:0!important;box-shadow:none!important}
@media(max-width:991px){.sgx-inner .sgx-points{display:none}}
.sgx-inner{padding:0}
.sgx-inner-grid{display:grid;gap:18px}
.sgx .sgx-inner-h{font-size:24px;font-weight:800;line-height:1.2;color:var(--sn);margin:0 0 8px}
.sgx-inner .sgx-inner-h em{color:var(--sr)}
.sgx-inner .sgx-sub{color:var(--mut);font-size:15px}
.sgx-inner .sgx-points li::before{color:var(--sr)}
.sgx-inner .sgx-card{box-shadow:0 10px 30px rgba(20,25,45,.12);border:1px solid var(--line)}
.sgx .sgx-gbadge{display:inline-flex;align-items:center;gap:6px;margin-top:14px;background:#fff;border:1px solid var(--line);border-radius:999px;padding:7px 14px;font-size:14px;color:var(--ink)}
.sgx-gbadge img{width:18px;height:18px}
.sgx-gbadge .sgx-st{color:#f5a700}
.sgx-strip{display:grid;grid-auto-flow:column;grid-auto-columns:86%;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;margin-top:18px;padding-bottom:6px}
.sgx-strip .sgx-rev{scroll-snap-align:start}

@media(min-width:576px){
  .sgx-row2{grid-template-columns:1fr 1fr;gap:10px}
  .sgx-badges{grid-template-columns:repeat(4,1fr)}
  .sgx-swipe,.sgx-strip{grid-auto-columns:48%}
  .sgx-gal{grid-auto-columns:46%}
  .sgx-offices{grid-template-columns:repeat(3,1fr)}
  .sgx-rev-links{grid-template-columns:repeat(3,1fr)}
}
@media(min-width:992px){
  .sgx-hero{padding:40px 0 48px}
  .sgx-hero-grid{grid-template-columns:1.05fr .95fr;gap:40px;align-items:start}
  .sgx-hero h1{font-size:42px}
  .sgx-hero .sgx-sub{font-size:17px}
  .sgx-hero .sgx-points{display:grid;margin:16px 0 20px}
  .sgx-hero-photo{display:block;border-radius:18px;overflow:hidden;box-shadow:0 18px 50px rgba(0,0,0,.35)}
  .sgx-hero-photo img{width:100%;aspect-ratio:16/10;object-fit:cover}
  .sgx-card{padding:24px}
  .sgx .sgx-h{font-size:21px}
  .sgx-sec{padding:52px 0}
  .sgx .sgx-title{font-size:30px}
  .sgx-swipe{grid-auto-flow:row;grid-template-columns:repeat(3,1fr);grid-auto-columns:auto;overflow:visible}
  .sgx-gal{grid-auto-flow:row;grid-template-columns:repeat(3,1fr);grid-auto-columns:auto;overflow:visible}
  .sgx-pl-wrap{grid-template-columns:1fr 1fr;gap:40px;align-items:start}
  .sgx-inner-grid{grid-template-columns:1fr 1fr;gap:40px;align-items:center}
  .sgx .sgx-inner-h{font-size:32px}
  .sgx-strip{grid-auto-flow:row;grid-template-columns:repeat(3,1fr);grid-auto-columns:auto;overflow:visible}
}

/* phones and tablets: team photo at the top */
@media(max-width:991px){
  .sgx-hero{padding-top:0}
  .sgx-hero-text{display:flex;flex-direction:column}
  .sgx-hero-photo{display:block;order:-1;margin:0 -16px 18px}
  .sgx-hero-photo img{width:100%;aspect-ratio:16/10;object-fit:cover;object-position:center 35%}
}
/* inner pages on phones: one big team photo instead of the thin 3-photo strip */
@media(max-width:767px){
  .hm-hero{aspect-ratio:16/10;background:#1d2236 url(/sgx/img/hero-team-720.webp) center 35%/cover no-repeat}
  .hm-hero picture{display:none}
}
