/* Thermal Group Services v2.0.21. All page rules are scoped. */
.tgsv-page{--sv-navy:#17294f;--sv-blue:#0F3969;--sv-red:#F11626;--sv-line:#e1e6ef;--sv-ink:#1c2d56;font-family:Montserrat,Arial,sans-serif;color:var(--sv-ink);overflow:hidden}
.tgsv-page *{box-sizing:border-box}.tgsv-page .tgsv-shell{width:min(100% - 64px,1320px);margin-inline:auto}.tgsv-page h1,.tgsv-page h2,.tgsv-page h3,.tgsv-page p{margin:0}.tgsv-page h1,.tgsv-page h2,.tgsv-page h3{font-family:Montserrat,Arial,sans-serif;line-height:1.15;letter-spacing:-.045em}.tgsv-page a{text-decoration:none}.tgsv-page em{color:var(--sv-red);font-style:normal}.tgsv-page .tgsv-kicker{display:flex;align-items:center;gap:14px;font-size:11px;letter-spacing:.18em;font-weight:800;color:#162b59;text-transform:uppercase;line-height:1.5}.tgsv-page .tgsv-kicker>span{display:block;width:37px;height:3px;flex:none;background:var(--sv-red)}.tgsv-page .tgsv-kicker-white{color:#fff}.tgsv-page .tgsv-kicker-white>span{background:#f83243}
/* Hero follows site's angled white/navy geometry. */
.tgsv-hero{position:relative;min-height:605px;background:linear-gradient(130deg,#fff 0%,#fff 48%,#f3f5fa 70%,#fff 100%);isolation:isolate;overflow:hidden}.tgsv-hero-stripes{position:absolute;inset:0;z-index:-1;pointer-events:none;background:repeating-linear-gradient(131deg,transparent 0,transparent 180px,rgba(27,53,102,.025) 181px,rgba(27,53,102,.025) 264px);clip-path:polygon(0 0,70% 0,50% 100%,0 100%)}.tgsv-hero-photo{position:absolute;inset:0 0 0 54%;z-index:-2;background-color:#142d57;background-position:center center;background-size:cover}.tgsv-hero-photo:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,34,75,.77),rgba(9,28,62,.32))}.tgsv-hero-angle{position:absolute;inset:0 0 0 auto;width:53%;z-index:-1;background:linear-gradient(122deg,rgba(10,38,83,.15),rgba(12,31,70,.69));clip-path:polygon(32% 0,39% 0,0 100%,0 100%);pointer-events:none}.tgsv-hero:before{content:"";position:absolute;inset:0;z-index:-1;background:#fff;clip-path:polygon(0 0,59% 0,47% 100%,0 100%)}.tgsv-hero:after{content:"";position:absolute;top:-10%;height:125%;left:60%;width:23px;transform:skewX(-36deg);background:var(--sv-red);z-index:0;pointer-events:none;opacity:.94}.tgsv-hero-grid{min-height:570px;display:flex;align-items:center}.tgsv-hero-content{position:relative;z-index:2;max-width:600px;padding:80px 0 90px}.tgsv-hero h1{max-width:630px;margin-top:26px;color:#243667;font-size:clamp(40px,4.15vw,63px);font-weight:800;letter-spacing:-.052em;line-height:1.1}.tgsv-hero h1 em{display:inline-block;margin-top:5px}.tgsv-hero-content>p{max-width:510px;color:#56627b;margin-top:27px;font-weight:500;font-size:15px;line-height:1.85}.tgsv-actions{display:flex;align-items:center;gap:26px;margin-top:30px;flex-wrap:wrap}.tgsv-btn{display:inline-flex;gap:28px;align-items:center;justify-content:center;min-height:52px;padding:0 26px;border-radius:5px;font-size:12px;letter-spacing:.02em;font-weight:800;position:relative;isolation:isolate;overflow:hidden;transition:transform .28s ease,box-shadow .28s ease,background .28s ease;white-space:nowrap}.tgsv-btn:before{content:"";position:absolute;z-index:-1;inset:0;transform:translateX(-102%);background:linear-gradient(105deg,transparent 0%,rgba(255,255,255,.28) 45%,rgba(255,255,255,.1) 60%,transparent 100%);transition:transform .65s cubic-bezier(.23,1,.32,1)}.tgsv-btn:hover{transform:translateY(-3px);box-shadow:0 12px 24px rgba(10,37,79,.19)}.tgsv-btn:hover:before{transform:translateX(102%)}.tgsv-btn span,.tgsv-link span,.tgsv-outline span,.tgsv-cta-link span{font-size:22px;line-height:1;transition:transform .24s ease;display:inline-block}.tgsv-btn:hover span,.tgsv-link:hover span,.tgsv-outline:hover span,.tgsv-cta-link:hover span{transform:translateX(6px)}.tgsv-btn-red{color:#fff!important;background:var(--sv-red)}.tgsv-btn-red:hover{background:#df1729}.tgsv-link{display:inline-flex;align-items:center;gap:12px;font-size:12px;font-weight:800;color:#1c315e!important;transition:color .25s}.tgsv-link:hover{color:var(--sv-red)!important}.tgsv-hero-bottom{position:absolute;right:3%;bottom:0;display:flex;justify-content:flex-end;gap:18px;align-items:center;color:#fff;font-size:10px;font-weight:800;letter-spacing:.12em;z-index:2;padding:18px 6px;text-shadow:0 1px 3px rgba(4,17,47,.4)}.tgsv-hero-bottom i{width:4px;height:4px;border-radius:50%;background:var(--sv-red)}
/* Intro and six main cards */
.tgsv-section{padding:105px 0}.tgsv-intro{background:#fff}.tgsv-section-intro{display:flex;align-items:end;justify-content:space-between;gap:50px;margin-bottom:48px}.tgsv-section-intro h2{font-size:clamp(34px,3.5vw,50px);font-weight:800;margin-top:20px;color:#253966}.tgsv-section-intro>p{max-width:425px;padding-bottom:5px;color:#62708b;font-size:14px;line-height:1.9;font-weight:500}.tgsv-services-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.tgsv-service-card{min-height:325px;padding:34px 34px 30px;border:1px solid #dce3ed;border-radius:9px;background:linear-gradient(180deg,#fff,#fdfefe);box-shadow:0 5px 22px rgba(23,42,78,.025);position:relative;overflow:hidden;transition:border-color .3s,transform .4s,box-shadow .35s}.tgsv-service-card:before{content:"";position:absolute;left:0;top:0;width:0;height:3px;background:var(--sv-red);transition:width .45s}.tgsv-service-card:hover{border-color:#d0d9e9;transform:translateY(-8px);box-shadow:0 22px 50px rgba(20,38,77,.095)}.tgsv-service-card:hover:before{width:100%}.tgsv-service-top{display:flex;justify-content:space-between;align-items:start}.tgsv-icon{width:63px;height:63px;border-radius:12px;background:#fff4f5;display:grid;place-items:center}.tgsv-icon img{height:35px;width:35px;object-fit:contain;filter:none}.tgsv-index{font-size:11px;font-weight:800;letter-spacing:.12em;color:#a4afc2}.tgsv-service-card h3{font-size:22px;font-weight:800;margin-top:30px;color:#20345f}.tgsv-lede{font-size:12px;line-height:1.7;color:#e02837;font-weight:700;margin-top:11px!important;min-height:22px}.tgsv-card-divider{margin-top:20px;height:1px;width:100%;background:var(--sv-line)}.tgsv-detail{font-size:13px;line-height:1.82;color:#65718a;margin-top:17px!important;font-weight:500}
/* Technical story */
.tgsv-feature{display:grid;grid-template-columns:1fr 1fr;min-height:510px;background:#1b2d57}.tgsv-feature-image{overflow:hidden;position:relative;min-height:470px;background:#dce4eb}.tgsv-feature-image img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:center 48%;transition:transform 1.1s}.tgsv-feature-image:hover img{transform:scale(1.045)}.tgsv-feature-text{position:relative;background:linear-gradient(125deg,#20345f,#14274d);display:flex;align-items:center;overflow:hidden}.tgsv-feature-text:after{content:"";position:absolute;width:530px;height:530px;right:-300px;bottom:-320px;border:1px solid rgba(255,255,255,.14);border-radius:50%;box-shadow:0 0 0 72px rgba(255,255,255,.018),0 0 0 150px rgba(255,255,255,.012)}.tgsv-feature-inner{position:relative;z-index:1;max-width:580px;padding:80px clamp(35px,6vw,100px)}.tgsv-feature h2{font-size:clamp(34px,3vw,48px);font-weight:800;color:#fff;margin-top:22px}.tgsv-feature h2 em{color:#ff3e51}.tgsv-feature p{font-size:14px;line-height:1.9;color:#d6dfef;font-weight:500;margin-top:23px;max-width:475px}.tgsv-outline{display:inline-flex;align-items:center;justify-content:space-between;gap:38px;margin-top:32px;min-height:46px;padding:0 18px;border:1px solid rgba(255,255,255,.55);border-radius:4px;color:#fff!important;font-weight:800;font-size:11px;transition:background .25s,transform .25s,border .25s}.tgsv-outline:hover{background:var(--sv-red);border-color:var(--sv-red);transform:translateY(-3px)}
/* Four steps */
.tgsv-process{background:#f7f9fc}.tgsv-process-head{text-align:center;max-width:730px;margin:0 auto 58px}.tgsv-process-head .tgsv-kicker{justify-content:center}.tgsv-process h2{font-size:clamp(34px,3.2vw,46px);font-weight:800;margin-top:18px;color:#243963}.tgsv-process-head>p{font-size:14px;line-height:1.85;color:#697792;margin-top:18px}.tgsv-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px}.tgsv-step{position:relative;border-top:1px solid #cbd5e3;padding-top:26px}.tgsv-step-no{font-size:31px;letter-spacing:-.04em;color:var(--sv-red);font-weight:800}.tgsv-step-rule{position:absolute;height:3px;width:50px;background:var(--sv-red);top:-2px;left:0}.tgsv-step h3{font-size:17px;line-height:1.4;color:#273a66;margin-top:18px;letter-spacing:-.025em;font-weight:800}.tgsv-step p{font-size:13px;line-height:1.75;color:#687794;margin-top:9px;max-width:270px}
/* CTA */
.tgsv-cta{position:relative;overflow:hidden;padding:75px 0;background:#162951;isolation:isolate}.tgsv-cta:before{content:"";position:absolute;top:-120px;right:6%;width:270px;height:490px;transform:skewX(-35deg);background:linear-gradient(180deg,rgba(241,22,38,.9),rgba(241,22,38,.38));z-index:-1}.tgsv-cta:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(132deg,transparent 0,transparent 165px,rgba(255,255,255,.018) 166px,rgba(255,255,255,.018) 230px);z-index:-1}.tgsv-cta-layout{display:flex;align-items:center;justify-content:space-between;gap:50px}.tgsv-cta-copy{max-width:730px}.tgsv-cta h2{font-size:clamp(32px,3.2vw,46px);font-weight:800;color:#fff;margin-top:20px}.tgsv-cta p{color:#d2dcee;font-size:14px;line-height:1.8;max-width:645px;margin-top:17px}.tgsv-cta-actions{display:flex;align-items:start;gap:16px;flex-direction:column;min-width:220px}.tgsv-cta-link{display:inline-flex;align-items:center;gap:14px;font-size:12px;font-weight:800;color:#fff!important;padding:10px 0}
/* Reveals, JS adds is-visible. Keep content accessible without JS. */
.tgsv-page.tgsv-motion .tgsv-reveal:not(.is-visible){opacity:0;transform:translateY(30px)}.tgsv-page .tgsv-reveal{transition:opacity .65s ease,transform .65s cubic-bezier(.19,1,.22,1);transition-delay:var(--tgsv-delay,0ms)}.tgsv-page .tgsv-reveal.is-visible{opacity:1;transform:translateY(0)}.tgsv-page .tgsv-service-card.tgsv-reveal{transition:opacity .65s,transform .65s cubic-bezier(.19,1,.22,1),box-shadow .35s,border-color .35s}.tgsv-page .tgsv-service-card.is-visible:hover{transform:translateY(-8px)}
@media(max-width:980px){.tgsv-services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1100px){.tgsv-page .tgsv-shell{width:min(100% - 48px,1320px)}.tgsv-hero:before{clip-path:polygon(0 0,65% 0,54% 100%,0 100%)}.tgsv-hero:after{left:65%}.tgsv-hero-photo{left:45%}.tgsv-hero-content{max-width:540px}.tgsv-hero h1{font-size:clamp(38px,4.8vw,54px)}.tgsv-services-grid{gap:15px}.tgsv-service-card{padding:26px 23px}.tgsv-feature-inner{padding:60px 43px}}
@media(max-width:780px){.tgsv-page .tgsv-shell{width:min(100% - 38px,1320px)}.tgsv-hero{min-height:625px;padding-bottom:140px}.tgsv-hero:before{clip-path:none;background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.98) 52%,rgba(255,255,255,.88) 78%,rgba(255,255,255,.64))}.tgsv-hero-photo{inset:0;background-position:75% 45%;opacity:.45}.tgsv-hero:after{top:auto;bottom:0;left:auto;right:19%;width:12px;height:150px;transform:skewX(-33deg)}.tgsv-hero-angle{display:none}.tgsv-hero-grid{min-height:460px}.tgsv-hero-content{padding:72px 0 15px;max-width:650px}.tgsv-hero h1{font-size:clamp(36px,6vw,50px)}.tgsv-hero-content>p{font-size:14px}.tgsv-hero-bottom{left:19px;right:auto;color:#223968;text-shadow:none;bottom:22px;font-size:9px;flex-wrap:wrap}.tgsv-section{padding:74px 0}.tgsv-section-intro{align-items:start;gap:17px;flex-direction:column;margin-bottom:35px}.tgsv-section-intro>p{max-width:600px}.tgsv-services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tgsv-service-card{min-height:300px}.tgsv-feature{grid-template-columns:1fr}.tgsv-feature-image{min-height:340px}.tgsv-feature-text{min-height:365px}.tgsv-feature-inner{max-width:100%;padding:55px 28px}.tgsv-steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:34px 22px}.tgsv-cta-layout{flex-direction:column;align-items:start;gap:32px}.tgsv-cta{padding:65px 0}}
@media(max-width:510px){.tgsv-page .tgsv-shell{width:min(100% - 34px,1320px)}.tgsv-hero{min-height:610px;padding-bottom:92px}.tgsv-hero-grid{min-height:476px}.tgsv-hero-content{padding:68px 0 10px}.tgsv-hero h1{font-size:clamp(34px,9vw,42px);margin-top:21px;line-height:1.13}.tgsv-hero-content>p{font-size:13px;line-height:1.8;margin-top:22px}.tgsv-actions{gap:18px;margin-top:25px}.tgsv-btn{min-height:49px;padding:0 19px;gap:15px}.tgsv-hero-bottom{gap:9px;font-size:7px;bottom:18px}.tgsv-section{padding:65px 0}.tgsv-section-intro h2{font-size:34px}.tgsv-section-intro>p{font-size:13px}.tgsv-services-grid{grid-template-columns:1fr;gap:13px}.tgsv-service-card{min-height:0;padding:25px 23px 26px}.tgsv-icon{height:58px;width:58px}.tgsv-service-card h3{margin-top:19px}.tgsv-lede{margin-top:9px!important}.tgsv-card-divider{margin-top:14px}.tgsv-detail{margin-top:13px!important}.tgsv-feature-image{min-height:260px}.tgsv-feature h2{font-size:34px}.tgsv-feature p{font-size:13px}.tgsv-steps{gap:24px 16px}.tgsv-step-no{font-size:27px}.tgsv-step h3{font-size:14px;margin-top:12px}.tgsv-step p{font-size:12px}.tgsv-cta h2{font-size:33px}.tgsv-cta p{font-size:13px}}
@media(prefers-reduced-motion:reduce){.tgsv-page .tgsv-reveal,.tgsv-page .tgsv-reveal:not(.is-visible){opacity:1!important;transform:none!important;transition:none!important}.tgsv-page .tgsv-btn,.tgsv-page .tgsv-service-card{transition:none!important}}
