/* ===== Hero (SoTech banner-section-two) ===== */
.ism-hero{position:relative;overflow:hidden;min-height:680px;justify-content:center}
.ism-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,29,39,.94) 0%,rgba(11,29,39,.82) 45%,rgba(11,29,39,.35) 100%);z-index:0;pointer-events:none}
.ism-hero::after{content:"";position:absolute;inset:0;background:url(../img/hero-shape.svg) right center/auto 100% no-repeat;z-index:0;pointer-events:none}
.ism-hero>.e-con-inner{position:relative;z-index:2}
.ism-chip .elementor-heading-title{display:inline-block;font-family:var(--ism-font-body);font-size:14px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--ism-white);background:rgba(255,255,255,.1);padding:8px 26px;line-height:29px}
.ism-chip,.ism-chip>.e-con-inner{align-items:flex-start!important}
.ism-hero h1.elementor-heading-title{font-size:var(--ism-h1);font-weight:800;line-height:1.04;color:var(--ism-white);letter-spacing:.005em}
.ism-hero h1 .hl{color:#5FC3E0}
.ism-hero-sub p{font-size:18px;line-height:1.7;color:#C9D6DC;max-width:600px}

/* ===== Service cards (SoTech home 1 .feature-block-two) ===== */
.ism-cards{position:relative;background:var(--ism-paper) url(../img/bg-shape-tm-1.png) center/cover no-repeat}
.ism-card{position:relative;overflow:hidden;background:var(--ism-white);border-top:5px solid var(--ism-teal);box-shadow:var(--ism-shadow);text-align:center;padding:30px 16px 26px!important;min-height:200px;transition:transform .3s linear;text-decoration:none}
.ism-card::before{content:"";position:absolute;left:0;bottom:0;width:100%;height:0;background:var(--ism-teal);transition:height .3s linear;z-index:0}
.ism-card::after{content:"";position:absolute;inset:0;background:url(../img/shape-tm-1.png) center/cover no-repeat;z-index:0;pointer-events:none}
.ism-card:hover{transform:translateY(-10px)}
.ism-card:hover::before{height:100%}
.ism-card:hover::after{background-image:url(../img/shape-tm-1-hover.png)}
.ism-card>*{position:relative;z-index:1}
.ism-card .elementor-icon{font-size:52px;color:var(--ism-teal);transition:color .2s}
.ism-card .elementor-icon svg{width:52px;height:52px;fill:var(--ism-teal);transition:fill .2s}
.ism-card h3.elementor-heading-title{font-size:19px;line-height:1.35;margin-top:6px}
.ism-card h3 a{color:var(--ism-ink);text-decoration:none}
.ism-card:hover .elementor-icon,.ism-card:hover h3 a,.ism-card:hover h3.elementor-heading-title{color:var(--ism-white)}
.ism-card:hover .elementor-icon svg{fill:var(--ism-white)}
.ism-card .elementor-widget-heading a::after{content:"";position:absolute;inset:-300px}
.ism-bottomtext{justify-content:center;align-items:center!important;gap:18px!important;flex-wrap:wrap!important}
.ism-bottomtext p{font-size:18px;font-weight:500;color:#808287;margin:0}
.ism-bottomtext .elementor-button{padding:8px 20px!important;font-size:12px!important}

/* ===== About (SoTech about-section-ten) ===== */
.ism-about{position:relative}
.ism-about::after{content:"";position:absolute;right:0;top:120px;width:251px;height:362px;background:url(../img/shape-tm-16.png) center left no-repeat;z-index:-1}
.ism-aboutimgs{position:relative;min-height:560px}
.ism-aboutimg1{width:60%!important;position:relative}
.ism-aboutimg1 img{height:560px;width:100%;object-fit:cover}
.ism-aboutimg2{position:absolute!important;right:0;top:0;width:44%!important}
.ism-aboutimg2 img{height:340px;width:100%;object-fit:cover;border:8px solid var(--ism-white);box-shadow:var(--ism-shadow-2)}
.ism-badge{position:absolute!important;right:4%;bottom:30px;width:auto!important;background:var(--ism-teal);padding:26px 30px!important;box-shadow:var(--ism-shadow-2)}
.ism-badge p{margin:0;color:var(--ism-white);font-family:var(--ism-font-display);font-size:17px;line-height:1.3;font-weight:500}
.ism-badge strong{display:block;font-size:44px;line-height:1;font-weight:800;margin-bottom:6px}
.ism-about h2.elementor-heading-title .hl{color:var(--ism-teal)}
.ism-lead .elementor-heading-title{color:var(--ism-teal);font-weight:500;font-size:20px;line-height:1.45}
.ism-infos{gap:30px!important}
.ism-info .elementor-icon{font-size:44px;color:var(--ism-teal)}
.ism-info .elementor-icon svg{width:44px;height:44px;fill:var(--ism-teal)}
.ism-info h4.elementor-heading-title{font-size:19px}
.ism-info p{font-size:15px;line-height:1.65}
.ism-callbar{display:inline-flex;align-items:center;gap:24px;border:1px solid var(--ism-teal);background:var(--ism-white);padding:10px 10px 10px 32px;flex-wrap:wrap}
.ism-callbar__text{font-size:18px;color:var(--ism-text)}
.ism-callbar__text a{color:var(--ism-teal);font-family:var(--ism-font-display);font-weight:600;margin-left:24px;text-decoration:none}
.ism-callbar__phone{display:inline-flex;align-items:center;background:var(--ism-teal);padding:8px 40px 8px 0;margin-left:30px;text-decoration:none}
.ism-callbar__phone i{width:55px;height:55px;border-radius:50%;background:var(--ism-white);display:grid;place-items:center;margin-left:-28px;margin-right:16px;box-shadow:0 0 20px rgba(0,0,0,.1)}
.ism-callbar__phone svg{width:22px;height:22px;fill:var(--ism-teal)}
.ism-callbar__phone span{color:var(--ism-white);font-family:var(--ism-font-display);font-size:22px;font-weight:700}
.ism-callwrap{align-items:center!important}

/* ===== Managed IT band (SoTech features-section-seven) ===== */
.ism-managed{background:var(--ism-navy)}
.ism-managed::before{content:"";position:absolute;left:0;top:0;width:391px;height:690px;background:url(../img/shape-tm-17.png) left top no-repeat;opacity:.35;pointer-events:none}
.ism-managed .ism-photo{position:relative;padding-left:12px}
.ism-managed .ism-photo::before{content:"";position:absolute;left:0;top:-20px;height:70%;width:12px;background:var(--ism-orange)}
.ism-managed .ism-photo img{aspect-ratio:3/2}
.ism-tiles{gap:20px!important}
.ism-tile{border:1px solid rgba(255,255,255,.14);padding:28px 14px 24px!important;text-align:center;transition:background .25s,border-color .25s;position:relative;overflow:hidden}
.ism-tile:hover{background:var(--ism-teal);border-color:var(--ism-teal)}
.ism-tile .elementor-icon{font-size:40px;color:#5FC3E0}
.ism-tile .elementor-icon svg{width:40px;height:40px;fill:#5FC3E0}
.ism-tile:hover .elementor-icon{color:var(--ism-white)}
.ism-tile:hover .elementor-icon svg{fill:var(--ism-white)}
.ism-tile h4.elementor-heading-title{font-size:16px;line-height:1.35;color:var(--ism-white)}

/* ===== CTA band (SoTech call-to-action-eight) ===== */
.ism-ctaband{background:var(--ism-navy-2) url(../img/shape-tm-10.jpg) center/cover no-repeat;text-align:center}
.ism-ctaband h2.elementor-heading-title{color:var(--ism-white);font-size:clamp(2rem,4vw,3.25rem);line-height:1.15}
.ism-ctaband .elementor-widget-button{align-self:center}

/* ===== Why us box (SoTech features-section-eight, pulls up over the band) ===== */
.ism-whybox-wrap{margin-top:-90px;position:relative;z-index:3}
.ism-whybox{background:var(--ism-teal);padding:46px 50px!important;position:relative;overflow:hidden}
.ism-whybox::before{content:"";position:absolute;inset:0;background:url(../img/shape-tm-1-hover.png) right center/auto 160% no-repeat;opacity:.5;pointer-events:none}
.ism-whybox>*{position:relative}
.ism-whybox .ism-eyebrow .elementor-heading-title{color:var(--ism-white)}
.ism-whybox .ism-eyebrow .elementor-heading-title::after{background:var(--ism-white)}
.ism-whybox h2.elementor-heading-title{color:var(--ism-white);font-size:30px;line-height:1.25}
.ism-whybox .ism-photo img{height:170px;border:6px solid rgba(255,255,255,.25)}

/* ===== Meet Rick ===== */
.ism-rick-card{background:var(--ism-paper);border-top:5px solid var(--ism-teal);padding:40px!important}
.ism-rick-card h3.elementor-heading-title{font-size:22px}
.ism-timeline{list-style:none;margin:0;padding:0;display:grid;gap:18px}
.ism-timeline li{position:relative;padding-left:28px;line-height:1.5}
.ism-timeline li::before{content:"";position:absolute;left:0;top:.45em;width:12px;height:12px;border:3px solid var(--ism-teal);border-radius:50%;background:var(--ism-white)}
.ism-timeline strong{display:block;color:var(--ism-ink);font-family:var(--ism-font-display);font-weight:600;font-size:17px}

/* ===== Service area ===== */
.ism-areas{background:var(--ism-paper) url(../img/bg-shape-tm-1.png) center/cover no-repeat}
.ism-county{background:var(--ism-white);padding:30px!important;box-shadow:var(--ism-shadow);border-top:3px solid var(--ism-teal)}
.ism-county h3.elementor-heading-title{font-size:21px}
.ism-county p{font-size:15px}

/* ===== Bottom CTA (SoTech home 3 cta) ===== */
.ism-cta{background:var(--ism-teal) url(../img/shape-tm-1-hover.png) right center/auto 180% no-repeat}
.ism-cta p{color:rgba(255,255,255,.88);font-size:18px;margin:0}
.ism-cta h2.elementor-heading-title{color:var(--ism-white);font-size:clamp(1.7rem,3vw,2.4rem)}
.ism-cta a.ism-phone{color:var(--ism-white);text-decoration:none;white-space:nowrap}
.ism-check--2col{grid-template-columns:1fr 1fr;column-gap:30px}
@media (max-width:767px){.ism-check--2col{grid-template-columns:1fr}}
.ism-whybox-wrap+.ism-rick{padding-top:110px}
.ism-managed .ism-photo{align-self:center}
.ism-infos{gap:20px!important}
.ism-cta a.ism-phone{white-space:nowrap}
