/* ============================================================
   Gletus — modern page layer for SERVICE and LOCATION pages
   ------------------------------------------------------------
   Design only: no content changes. Every rule targets component
   classes that exist only on those templates (.g-hero,
   .containertwo, .grid-container .card, .industry-card, .faq-*,
   .achievement-card, .step, lp-* on location pages), so other
   pages are unaffected. Loaded after the pages' own inline styles
   (head-perf.php / header.php), so equal-specificity rules win;
   !important is used only where the page or main.css uses it.
   Scroll-reveal animation is handled by js/gletus-animate.js.
   ============================================================ */

:root{
  --pm-ink:#0a1633; --pm-text:#3b4a63; --pm-muted:#5b6a86; --pm-line:#e3ebf6;
  --pm-blue:#0b8cff; --pm-navy:#002357; --pm-teal:#00b4c8;
  --pm-grad:linear-gradient(120deg,#002357 0%,#0b8cff 100%);
  --pm-grad-soft:linear-gradient(180deg,#ffffff 0%,#f4f8ff 100%);
  --pm-radius:20px; --pm-shadow:0 14px 34px rgba(10,22,51,.08); --pm-shadow-h:0 26px 54px rgba(10,22,51,.15);
  --pm-ease:cubic-bezier(.2,.7,.2,1);
}

/* ---------- 0. Hero sits flush under the header ----------
   ~60 service pages carry an old page rule header{margin-bottom:50px} that left a white strip
   under the header. The header is sticky at top:40px below the fixed top bar, so the first 40px
   of the page sit behind it on desktop: hero top padding counts from there (88px = 48px visible). */
header.header{ margin-bottom:0; }
.g-hero{ padding-top:88px; }
@media (max-width:768px){ .g-hero{ padding-top:44px; } }   /* top bar hidden: nothing behind the header */

/* ---------- 1. Space between the hero and the content + form block ---------- */
.g-hero + .containertwo{ margin-top:64px !important; }
@media (max-width:768px){ .g-hero + .containertwo{ margin-top:36px !important; } }

/* ---------- 2. Content + consultation form ---------- */
.containertwo{ align-items:flex-start; gap:48px !important; }
.containertwo .features h2{
  position:relative; padding-bottom:18px; margin-bottom:22px;
  font-size:clamp(24px,2.6vw,32px); line-height:1.25; letter-spacing:-.3px; color:var(--pm-ink);
}
.containertwo .features h2::after{ content:''; position:absolute; left:0; bottom:0; width:72px; height:4px; border-radius:4px; background:var(--pm-grad); }
.containertwo .features p{ font-size:16px; line-height:1.85; color:var(--pm-text); margin-bottom:16px; }
.containertwo .features ul{ padding-left:0 !important; }
.containertwo .features li{
  list-style:none; position:relative; padding-left:32px; margin-bottom:12px;
  font-size:15.5px; line-height:1.7; color:var(--pm-text);
}
.containertwo .features li::before{
  content:''; position:absolute; left:0; top:.32em; width:20px; height:20px; border-radius:50%;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12.5l4.2 4.2L19 7' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/12px no-repeat, var(--pm-grad);
  box-shadow:0 4px 10px rgba(11,140,255,.3);
}

.containertwo .form-box{
  position:sticky; top:96px; overflow:hidden; background:#fff;
  border:1px solid var(--pm-line) !important; border-radius:24px !important; padding:34px 28px 30px !important;
  box-shadow:0 26px 64px rgba(10,22,51,.12) !important;
}
.containertwo .form-box::before{ content:''; position:absolute; left:0; right:0; top:0; height:5px; background:linear-gradient(90deg,#002357,#0b8cff,#00c2d6); }
.containertwo .form-box h3{ font-size:24px; letter-spacing:.4px; color:var(--pm-ink); }
.containertwo .form-box label{ color:var(--pm-ink); font-weight:600; }
.containertwo .form-box input,
.containertwo .form-box select,
.containertwo .form-box textarea{
  border:1px solid var(--pm-line) !important; border-radius:12px !important; background:#f7faff !important;
  animation:none !important; box-shadow:none !important; transition:border-color .2s, box-shadow .2s, background .2s !important;
}
.containertwo .form-box input:focus,
.containertwo .form-box select:focus,
.containertwo .form-box textarea:focus,
.containertwo .form-box input:hover,
.containertwo .form-box textarea:hover{
  border-color:var(--pm-blue) !important; background:#fff !important; box-shadow:0 0 0 4px rgba(11,140,255,.14) !important; outline:none;
}
.containertwo .form-box button[type="submit"]{
  border-radius:12px !important; background:var(--pm-grad) !important; color:#fff !important; font-weight:700; letter-spacing:.3px;
  box-shadow:0 14px 28px rgba(11,140,255,.32) !important;
}
@media (max-width:991px){ .containertwo .form-box{ position:relative; top:auto; } }
/* Phones: .containertwo turns into a column (main.css), so the pages' own
   ".form-box{ flex:1 1 350px }" made 350px the box HEIGHT - with overflow:hidden
   above, everything below "Email Id" in the FREE CONSULTATION form was cut off. */
/* It also sized itself to its content: the 304px reCAPTCHA + 28px padding made it
   362px wide inside a 328px column (8% gutters), so it ran off the right edge.
   16px gutters + full-width card + 20px padding leave room for the 304px widget. */
@media (max-width:768px){
  .containertwo{ margin-left:16px !important; margin-right:16px !important; }
  .containertwo .form-box{ flex:0 0 auto; height:auto !important; width:100%; margin-left:auto; margin-right:auto; padding:28px 20px 26px !important; }
}

/* ---------- 3. Capabilities / achievements ---------- */
.achievement-card{
  border-radius:var(--pm-radius) !important; border:1px solid var(--pm-line) !important; background:#fff !important;
  box-shadow:var(--pm-shadow) !important; transition:translate .35s var(--pm-ease), box-shadow .35s;
}
.achievement-card:hover{ translate:0 -8px; box-shadow:var(--pm-shadow-h) !important; }
.achievement-card .icon-wrapper{ background:var(--pm-grad) !important; box-shadow:0 12px 24px rgba(11,140,255,.3); }
.achievement-card .icon-wrapper i{ color:#fff !important; }

/* ---------- 4. Services grid cards ---------- */
.grid-container{ gap:26px !important; }
.grid-container .card{
  position:relative; overflow:hidden; background:#fff !important;
  border:1px solid var(--pm-line); border-radius:var(--pm-radius) !important; padding:30px 26px !important;
  box-shadow:var(--pm-shadow) !important;
}
.grid-container .card::before{
  content:''; position:absolute; left:0; right:0; top:0; height:4px; background:var(--pm-grad);
  transform:scaleX(0); transform-origin:left; transition:transform .45s var(--pm-ease);
}
.grid-container .card:hover{ box-shadow:var(--pm-shadow-h) !important; border-color:rgba(11,140,255,.35); }
.grid-container .card:hover::before{ transform:scaleX(1); }
.grid-container .card img{ transition:transform .5s var(--pm-ease); }
.grid-container .card:hover img{ transform:scale(1.08) rotate(-2deg); }
.grid-container .card h3{ font-size:18px !important; font-weight:700; color:var(--pm-ink); margin:6px 0 10px; }
.grid-container .card p{ font-size:14.5px !important; line-height:1.75; color:var(--pm-text); text-align:left !important; }

/* ---------- 5. Industries ---------- */
.industry-card{
  border-radius:var(--pm-radius) !important; border:1px solid var(--pm-line); box-shadow:var(--pm-shadow) !important;
  transition:translate .35s var(--pm-ease), box-shadow .35s;
}
.industry-card:hover{ translate:0 -8px; box-shadow:var(--pm-shadow-h) !important; }
.industry-card img{ transition:transform .7s var(--pm-ease) !important; }
.industry-card:hover img{ transform:scale(1.08); }
.industry-card p{ font-size:15px; color:var(--pm-ink) !important; }

/* ---------- 6. Process steps ---------- */
.process-container .step{ transition:translate .35s var(--pm-ease), box-shadow .35s; border-radius:18px; }
.process-container .step:hover{ translate:0 -6px; }
.process-container .step-number,
.app-process-step .app-step-icon{ background:var(--pm-grad) !important; color:#fff !important; box-shadow:0 10px 22px rgba(11,140,255,.32); }
.app-process-step{ transition:translate .35s var(--pm-ease); }
.app-process-step:hover{ translate:0 -6px; }

/* ---------- 7. FAQ ---------- */
.faq-container{ border-radius:22px !important; border:1px solid var(--pm-line); box-shadow:var(--pm-shadow) !important; overflow:hidden; background:#fff; }
.faq-item{ border-bottom:1px solid var(--pm-line) !important; transition:background .25s; }
.faq-item:hover{ background:#f7faff; }
.faq-question{ font-weight:600; color:var(--pm-ink); }
.faq-question .faq-icon, .faq-icon{ transition:transform .3s var(--pm-ease); color:var(--pm-blue); }
.faq-item.active .faq-icon, .faq-item.open .faq-icon{ transform:rotate(45deg); }

/* ---------- 8. User-guide sidebar (iPhone/app pages) ---------- */
.iphone-menu-item{ border-radius:12px !important; transition:translate .25s var(--pm-ease), box-shadow .25s, background .25s; }
.iphone-menu-item:hover{ translate:4px 0; }
.iphone-menu-item.active{ background:var(--pm-grad) !important; box-shadow:0 10px 22px rgba(11,140,255,.28); }
.iphone-content{ border-radius:var(--pm-radius) !important; box-shadow:var(--pm-shadow) !important; }

/* ---------- 8b. "User Guide" topic switcher (#body1: .sidebargourav buttons + #mainContent) ----------
   On 13 app/service pages. The buttons swap #mainContent's HTML; js/gletus-animate.js marks the
   clicked one .is-active. */
#body1{
  display:flex; align-items:flex-start; gap:28px; max-width:1240px; margin:72px auto 0; padding:0 24px;
  background:transparent; font-family:inherit;
}
#body1 .sidebargourav{
  flex:0 0 320px; width:320px; position:sticky; top:96px; margin:0; padding:24px 20px 22px;
  background:linear-gradient(180deg,#f5f9ff 0%,#eef4fd 100%); border:1px solid var(--pm-line); border-radius:24px;
  box-shadow:var(--pm-shadow);
}
#body1 .sidebargourav h2{
  margin:0 0 8px; padding:0 4px 16px; border-bottom:1px solid var(--pm-line);
  font-size:19px; font-weight:700; line-height:1.35; color:var(--pm-ink); text-align:left;
}
#body1 .sidebargourav button{
  display:block; width:100% !important; margin:10px 0 0; padding:13px 16px; border-radius:14px;
  background:#fff; color:var(--pm-ink); border:1px solid var(--pm-line); box-shadow:0 4px 12px rgba(10,22,51,.04);
  font-size:15px; font-weight:600; line-height:1.45; text-align:left; cursor:pointer;
  transition:background .25s, color .25s, border-color .25s, box-shadow .25s, translate .25s var(--pm-ease);
}
#body1 .sidebargourav button:hover, #body1 .sidebargourav button:focus-visible{
  background:#fff; color:#0b5fd6; border-color:rgba(11,140,255,.45); translate:4px 0; outline:none;
}
#body1 .sidebargourav button.is-active{
  background:var(--pm-grad); color:#fff; border-color:transparent; box-shadow:0 12px 26px rgba(11,140,255,.3); translate:none;
}
#body1 .content{
  flex:1 1 auto; min-width:0; margin:0; padding:40px 44px; text-align:left;
  background:#fff; border:1px solid var(--pm-line); border-radius:24px; box-shadow:var(--pm-shadow);
}
#body1 .content > *{ animation:pmFadeUp .45s var(--pm-ease) both; }
#body1 .content h2{
  position:relative; margin:0 0 24px; padding-bottom:16px;
  font-size:clamp(24px,2.4vw,30px); font-weight:700; line-height:1.25; color:var(--pm-ink); text-align:left;
}
#body1 .content h2::after{ content:''; position:absolute; left:0; bottom:0; width:64px; height:4px; border-radius:4px; background:var(--pm-grad); }
#body1 .content p{ margin:0 0 14px; font-size:16px; line-height:1.85; color:var(--pm-text); text-align:left; }
#body1 .content ul{ list-style:none; margin:0; padding:0; display:grid; gap:12px; }
#body1 .content li{
  position:relative; margin:0; padding:16px 20px 16px 58px; text-align:left;
  background:#f7faff; border:1px solid var(--pm-line); border-radius:16px;
  font-size:15.5px; line-height:1.75; color:var(--pm-text); transition:border-color .25s, background .25s;
}
#body1 .content li:hover{ background:#fff; border-color:rgba(11,140,255,.35); }
#body1 .content li::before{
  content:''; position:absolute; left:18px; top:17px; width:24px; height:24px; border-radius:50%;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12.5l4.2 4.2L19 7' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/13px no-repeat, var(--pm-grad);
  box-shadow:0 4px 10px rgba(11,140,255,.3);
}
#body1 .content li strong{ display:block; margin-bottom:2px; color:var(--pm-ink); font-size:16px; font-weight:700; }
@media (max-width:991px){
  #body1{ flex-direction:column; align-items:stretch; gap:20px; margin-top:56px; }
  #body1 .sidebargourav{ position:static; width:auto; flex:none; }
}
@media (max-width:640px){
  #body1{ padding:0 16px; margin-top:44px; }
  #body1 .sidebargourav{ padding:18px 14px; border-radius:20px; }
  #body1 .content{ padding:26px 18px; border-radius:20px; }
  #body1 .content li{ padding:14px 14px 14px 50px; }
  #body1 .content li::before{ left:14px; top:15px; }
}
@media (prefers-reduced-motion: reduce){
  #body1 .content > *{ animation:none; }
  #body1 .sidebargourav button:hover{ translate:none; }
}

/* ---------- 9. Enquiry section ---------- */
.contact-section{ border-radius:26px; }

/* ============================================================
   LOCATION PAGES (location.php — lp-* components)
   ============================================================ */
.lp-sec h2{ letter-spacing:-.3px; }
.lp-prose p, .lp-lead{ line-height:1.85; }
.lp-alt{ background:linear-gradient(180deg,#f6f9ff 0%,#eef4fd 100%) !important; }
.lp-card, .lp-step, .lp-ind-item, .lp-stat{
  transition:translate .35s var(--pm-ease), box-shadow .35s, border-color .35s;
}
.lp-card:hover, .lp-step:hover, .lp-ind-item:hover{
  translate:0 -6px; box-shadow:var(--pm-shadow-h) !important; border-color:rgba(11,140,255,.35) !important;
}
.lp-card{ border-radius:var(--pm-radius) !important; }
.lp-btn{ transition:translate .25s var(--pm-ease), box-shadow .25s; }
.lp-btn:hover{ translate:0 -3px; }
.lp-faq details{ transition:box-shadow .25s, border-color .25s; }
.lp-faq details[open]{ box-shadow:var(--pm-shadow); }

/* ============================================================
   INDUSTRY PAGES (service/*-app-development, fintech, real estate…)
   Body-level siblings: hero .container > .left-content/.right-content,
   main.company-profile, .services-section, .sourav-heading +
   .sourav-wrapper (user guide), h2 + .timeline, .experience-section,
   .sourav-section (FAQ + stats). These pages put their <style> blocks
   after the header, so selectors here carry an extra class/element
   (".company-profile ~", "body >") to outrank them. Every component
   name used below exists only on these 15 pages (.industry-grid is
   also on the homepage, hence the .experience-section scope).
   ============================================================ */

/* ---------- Hero ---------- */
/* full-bleed band: no outer gap, border, shadow or rounded corners */
body > .container:has(> .left-content){
  width:100%; max-width:none; margin:40px 0 0; padding:0; /* margin clears the fixed 40px top bar */
  border:0; border-radius:0; background:#fff; box-shadow:none; backdrop-filter:none; min-height:600px;
}
/* keep the text in line with the 1240px content column on wide screens */
.container > .left-content{
  padding:64px 56px 64px max(56px, calc((100vw - 1240px) / 2 + 24px));
  background:linear-gradient(160deg,#f2f7ff 0%,#ffffff 62%);
}
.left-content .logoo{
  align-self:flex-start; display:inline-flex; align-items:center; gap:8px;
  margin:0 0 20px !important; padding:8px 16px; border-radius:999px;
  font-size:12.5px !important; font-weight:800 !important; letter-spacing:2px; text-transform:uppercase;
  color:#0b5fd6; background:#e8f2ff; border:1px solid #cfe2ff;
}
.left-content .logoo::before{ content:''; width:8px; height:8px; border-radius:50%; background:#0b8cff; box-shadow:0 0 0 4px rgba(11,140,255,.18); }
body > .container > .left-content h1{
  font-size:clamp(30px,3.6vw,46px); font-weight:800; line-height:1.12; letter-spacing:-.8px; margin-bottom:18px;
  background:linear-gradient(120deg,#002357 0%,#0b6fe0 70%,#00a9c4 100%); -webkit-background-clip:text; background-clip:text; color:transparent;
}
.left-content .subtitle{ font-size:16.5px; line-height:1.8; color:var(--pm-text); text-align:left; }
.left-content .feature-item{ border:1px solid var(--pm-line); border-radius:16px; box-shadow:0 8px 20px rgba(10,22,51,.05); padding:14px 16px; }
.left-content .feature-item:hover{ box-shadow:0 14px 30px rgba(10,22,51,.10); border-color:rgba(11,140,255,.35); }
.left-content .feature-icon{ border-radius:12px; background:var(--pm-grad); box-shadow:0 8px 18px rgba(11,140,255,.3); }
.left-content .feature-text{ font-weight:600; color:var(--pm-ink); }
.left-content .cta-button{
  align-self:flex-start; width:auto !important; padding:16px 44px; border-radius:14px;
  background:var(--pm-grad); box-shadow:0 16px 32px rgba(11,140,255,.32); letter-spacing:.3px;
}
.left-content .cta-button:hover{ box-shadow:0 22px 40px rgba(11,140,255,.42); }
.container > .right-content{
  overflow:hidden; isolation:isolate;
  background:radial-gradient(420px 300px at 75% 15%, rgba(56,164,255,.45) 0%, transparent 70%),
             radial-gradient(380px 300px at 15% 90%, rgba(0,190,210,.35) 0%, transparent 70%),
             linear-gradient(150deg,#021a44 0%,#06306f 55%,#0b5fd6 100%);
}
.container > .right-content::before{
  content:''; position:absolute; inset:0; z-index:-1; opacity:.5;
  background-image:radial-gradient(rgba(255,255,255,.22) 1px, transparent 1.2px); background-size:22px 22px;
  -webkit-mask-image:radial-gradient(circle at 50% 50%, #000 0%, transparent 72%); mask-image:radial-gradient(circle at 50% 50%, #000 0%, transparent 72%);
}
.container > .right-content::after{
  content:''; position:absolute; width:420px; height:420px; border-radius:50%; z-index:-1;
  border:1px solid rgba(255,255,255,.14); box-shadow:0 0 0 60px rgba(255,255,255,.03), 0 0 0 120px rgba(255,255,255,.02);
}
/* hero visual: two matching portfolio projects stacked to fill the panel top to bottom
   (include/industry-hero-shot.php); the panel's height comes from the text column */
.right-content .ihs-stack{ position:absolute; inset:40px 44px; display:flex; flex-direction:column; gap:22px; }
.right-content .ihs{
  position:relative; flex:1 1 0; min-height:0; display:block; overflow:hidden; text-decoration:none;
  border-radius:22px; border:5px solid rgba(255,255,255,.12); box-shadow:0 30px 60px rgba(0,8,30,.5);
}
.right-content .ihs img{ display:block; width:100%; height:100%; object-fit:cover; transition:transform .7s var(--pm-ease); }
.right-content .ihs:hover img, .right-content .ihs:focus-visible img{ transform:scale(1.04); }
.right-content .ihs-chip{
  position:absolute; left:16px; bottom:16px; display:flex; flex-direction:column; gap:2px; padding:11px 52px 11px 16px;
  background:#fff; border-radius:14px; box-shadow:0 14px 32px rgba(0,8,30,.3); text-align:left;
}
.right-content .ihs-chip small{ font-size:10.5px; font-weight:800; letter-spacing:1.5px; text-transform:uppercase; color:#ff7b06; }
.right-content .ihs-chip b{ font-size:15px; font-weight:700; color:var(--pm-ink); line-height:1.3; }
.right-content .ihs-chip i{
  position:absolute; right:13px; top:50%; translate:0 -50%; width:28px; height:28px; border-radius:50%;
  display:grid; place-items:center; font-style:normal; font-size:14px; color:#fff; background:var(--pm-grad); transition:translate .25s var(--pm-ease);
}
.right-content .ihs:hover .ihs-chip i, .right-content .ihs:focus-visible .ihs-chip i{ translate:4px -50%; }
.right-content .ihs:hover .ihs-chip b{ color:#0b5fd6; }

/* ---------- Shared section headings ---------- */
.company-profile ~ .services-section > h2,
body > h2:has(+ .timeline),
.company-profile ~ .experience-section > h2,
body > .sourav-heading{
  font-size:clamp(26px,3vw,38px); font-weight:700; line-height:1.2; letter-spacing:-.5px; color:var(--pm-ink); text-align:center;
}
.company-profile ~ .experience-section > h2{ margin-bottom:0; }
.company-profile ~ .experience-section > p{ margin-top:24px; }
.company-profile ~ .services-section > h2::after,
body > h2:has(+ .timeline)::after,
.company-profile ~ .experience-section > h2::after,
body > .sourav-heading::after{
  content:''; display:block; width:72px; height:4px; margin:16px auto 0; border-radius:4px; background:var(--pm-grad);
}

/* ---------- Intro / company profile ---------- */
body > .company-profile{ width:calc(100% - 48px); max-width:1240px; margin:72px auto 0; padding:0; }
.company-profile .hero-section{ text-align:center; margin-bottom:34px; }
.company-profile .hero-section h2{
  font-size:clamp(26px,3vw,38px); font-weight:700; line-height:1.2; letter-spacing:-.5px; color:var(--pm-ink); margin:0 0 14px; text-align:center;
}
.company-profile .hero-section h2::after{ content:''; display:block; width:72px; height:4px; margin:16px auto 0; border-radius:4px; background:var(--pm-grad); }
.company-profile .hero-section p{ font-size:17px; color:var(--pm-muted); text-align:center; }
.company-profile .content-row{ border-top:0; gap:28px; padding-top:0; }
.company-profile .column{
  background:#fff; border:1px solid var(--pm-line); border-radius:24px; padding:34px 32px; box-shadow:var(--pm-shadow);
}
.company-profile .column h2{
  position:relative; font-size:21px; font-weight:700; line-height:1.35; color:var(--pm-ink); text-align:left;
  margin:30px 0 10px; padding-left:16px;
}
.company-profile .column h2:first-child{ margin-top:0; }
.company-profile .column h2::before{ content:''; position:absolute; left:0; top:.2em; bottom:.2em; width:4px; border-radius:4px; background:var(--pm-grad); }
.company-profile .column p{ font-size:15.5px; line-height:1.85; color:var(--pm-text); text-align:left; }

/* ---------- Services cards ---------- */
.company-profile ~ .services-section{ width:100%; padding:80px 0 0; }
.company-profile ~ .services-section > h2{ margin-bottom:0 !important; }
.company-profile ~ .services-section .services-grid{
  width:calc(100% - 48px); max-width:1240px; margin:40px auto 0 !important; gap:26px; counter-reset:pmsvc;
}
.company-profile ~ .services-section .service-box{
  position:relative; overflow:hidden; counter-increment:pmsvc; text-align:left;
  background:#fff; border:1px solid var(--pm-line); border-radius:22px; padding:38px 30px 30px; box-shadow:var(--pm-shadow);
  --pm-acc:linear-gradient(90deg,#002357,#0b8cff);
}
.company-profile ~ .services-section .ios-app{ --pm-acc:linear-gradient(90deg,#5b4cff,#0b8cff); }
.company-profile ~ .services-section .android-app{ --pm-acc:linear-gradient(90deg,#0b8cff,#00c2d6); }
.company-profile ~ .services-section .service-box::before{ content:''; position:absolute; left:0; right:0; top:0; height:5px; background:var(--pm-acc); }
.company-profile ~ .services-section .service-box::after{
  content:counter(pmsvc, decimal-leading-zero); position:absolute; top:18px; right:24px;
  font-size:46px; font-weight:800; line-height:1; color:rgba(11,140,255,.09); letter-spacing:-1px;
}
.company-profile ~ .services-section .service-box:hover{ translate:0 -8px; box-shadow:var(--pm-shadow-h); border-color:rgba(11,140,255,.35); }
/* the pages spin every hovered child 360° (".custom-app :hover") — keep text still */
.company-profile ~ .services-section .service-box :hover{ transform:none; }
.company-profile ~ .services-section .service-box h2,
.company-profile ~ .services-section .service-box h3{
  font-size:20px; font-weight:700; line-height:1.35; color:var(--pm-ink); text-align:left; margin:0 54px 12px 0;
}
.company-profile ~ .services-section .service-box p{ font-size:15px; line-height:1.8; color:var(--pm-text); text-align:left; }

/* ---------- User guide (tabs) ---------- */
body > .sourav-heading{ margin:84px 24px 0; }
.company-profile ~ .sourav-wrapper{
  width:calc(100% - 48px); max-width:1240px; margin:40px auto 0;
  background:#fff; border:1px solid var(--pm-line); border-radius:26px; overflow:hidden; box-shadow:0 24px 60px rgba(10,22,51,.10);
}
.sourav-wrapper .sourav-sidebar{
  width:34%; padding:22px; border-right:1px solid var(--pm-line); counter-reset:pmguide;
  background:linear-gradient(180deg,#f5f9ff 0%,#eef4fd 100%); display:flex; flex-direction:column; gap:8px;
}
.sourav-wrapper .sourav-menu-btn{
  position:relative; width:100% !important; text-align:left; padding:14px 16px 14px 50px; border-radius:14px;
  font-size:15px; font-weight:600; line-height:1.45; color:var(--pm-ink); background:transparent; counter-increment:pmguide;
  transition:background .25s, color .25s, box-shadow .25s, translate .25s var(--pm-ease);
}
.sourav-wrapper .sourav-menu-btn::before{
  content:counter(pmguide); position:absolute; left:14px; top:50%; translate:0 -50%;
  width:26px; height:26px; border-radius:8px; display:grid; place-items:center;
  background:#fff; border:1px solid var(--pm-line); font-size:12px; font-weight:800; color:#0b5fd6;
}
.sourav-wrapper .sourav-menu-btn:hover{ background:#fff; color:var(--pm-ink); box-shadow:0 6px 16px rgba(10,22,51,.06); translate:4px 0; }
.sourav-wrapper .sourav-menu-btn.sourav-active{ background:var(--pm-grad); color:#fff; box-shadow:0 12px 26px rgba(11,140,255,.3); translate:none; }
.sourav-wrapper .sourav-menu-btn.sourav-active::before{ background:rgba(255,255,255,.18); border-color:transparent; color:#fff; }
.sourav-wrapper .sourav-content{ width:66%; padding:42px 46px; }
.sourav-wrapper .sourav-content > *{ animation:pmFadeUp .45s var(--pm-ease) both; }
.sourav-wrapper .sourav-content h2{ font-size:24px; font-weight:700; line-height:1.3; color:var(--pm-ink); text-align:left; margin-bottom:16px; }
.sourav-wrapper .sourav-content p{ font-size:15.5px; line-height:1.85; color:var(--pm-text); text-align:left; margin-bottom:14px; }
@keyframes pmFadeUp{ from{ opacity:0; transform:translateY(12px); } to{ opacity:1; transform:none; } }

/* ---------- Key features timeline ---------- */
body > h2:has(+ .timeline){ margin-top:84px !important; margin-bottom:44px !important; }
.company-profile ~ .timeline{ width:calc(100% - 48px); max-width:1160px; margin:0 auto; padding:6px 0 10px; background:transparent; }
.company-profile ~ .timeline::after{ width:3px; margin-left:-1.5px; background:linear-gradient(180deg, rgba(11,140,255,0) 0%, #0b8cff 8%, #00b4c8 92%, rgba(0,180,200,0) 100%); }
.company-profile ~ .timeline .feature-box .content{
  border-radius:22px; border:1px solid var(--pm-line); box-shadow:var(--pm-shadow); padding:26px 28px; text-align:left;
  transition:box-shadow .35s, border-color .35s;
}
.company-profile ~ .timeline .feature-box:hover .content{ box-shadow:var(--pm-shadow-h); border-color:rgba(11,140,255,.35); }
.company-profile ~ .timeline .feature-box::after{ box-shadow:0 0 0 6px rgba(11,140,255,.12); }
.company-profile ~ .timeline .feature-box h3{ font-size:19px; font-weight:700; color:var(--pm-ink); margin:0 0 8px; padding:0; text-align:left; }
.company-profile ~ .timeline .feature-box p{ font-size:15px; line-height:1.8; color:var(--pm-text); text-align:left; }

/* ---------- Industry experience ---------- */
.company-profile ~ .experience-section{
  width:calc(100% - 48px); max-width:1240px; margin:84px auto 0; padding:64px 32px; border-radius:30px; border:1px solid var(--pm-line);
  background:radial-gradient(700px 300px at 8% 0%, #e2edff 0%, transparent 60%), radial-gradient(600px 300px at 100% 100%, #e0f7fa 0%, transparent 60%), #f6f9ff;
}
.company-profile ~ .experience-section > h2 span{ background:var(--pm-grad); -webkit-background-clip:text; background-clip:text; color:transparent; }
.company-profile ~ .experience-section > p{ font-size:16px; line-height:1.8; color:var(--pm-text); text-align:center; }
.experience-section .industry-grid{ gap:18px; max-width:1120px; margin:0 auto; }
.experience-section .industry-item{
  width:150px; padding:22px 12px 18px; background:#fff; border:1px solid var(--pm-line); border-radius:20px; box-shadow:0 10px 24px rgba(10,22,51,.06);
}
.experience-section .industry-item::after{ display:none; }
.experience-section .industry-item:hover{ translate:0 -6px; box-shadow:0 20px 40px rgba(10,22,51,.12); border-color:rgba(11,140,255,.35); }
.experience-section .industry-icon{
  width:68px; height:68px; border:0; background:linear-gradient(135deg,#eaf3ff,#e1f8fb); box-shadow:inset 0 0 0 1px rgba(11,140,255,.18);
  transition:transform .35s var(--pm-ease), background .35s;
}
.experience-section .industry-icon img{ width:36px; height:36px; object-fit:contain; transition:filter .35s; }
.experience-section .industry-item:hover .industry-icon{ background:var(--pm-grad); transform:scale(1.08) rotate(-4deg); }
.company-profile ~ .experience-section .industry-item p{ margin:12px 0 0; font-size:14px; font-weight:600; line-height:1.4; color:var(--pm-ink); text-align:center; }

/* ---------- Portfolio strip ---------- */
.company-profile ~ .gps{ margin-top:84px; }

/* ---------- FAQ + stats ---------- */
.company-profile ~ .sourav-section{ width:calc(100% - 48px); max-width:1240px; margin:84px auto 64px; gap:40px; align-items:flex-start; }
.sourav-section .sourav-faq-section h2{ font-size:clamp(24px,2.6vw,32px); font-weight:700; line-height:1.25; color:var(--pm-ink); text-align:left; margin-bottom:22px; }
.sourav-section .sourav-faq-item{
  border:1px solid var(--pm-line); border-radius:16px; padding:0; margin-bottom:12px; background:#fff;
  box-shadow:0 6px 16px rgba(10,22,51,.04);
}
.sourav-section .sourav-faq-item.active{ border-color:rgba(11,140,255,.4); box-shadow:var(--pm-shadow); }
.sourav-section .sourav-faq-question{ gap:16px; padding:18px 20px; font-size:16px; font-weight:600; line-height:1.5; color:var(--pm-ink); text-align:left; }
.sourav-section .sourav-faq-question span{
  flex:0 0 32px; height:32px; border-radius:50%; display:grid; place-items:center;
  background:#eef5ff; color:#0b5fd6; font-size:20px; line-height:1; transition:transform .3s var(--pm-ease), background .3s, color .3s;
}
.sourav-section .sourav-faq-item.active .sourav-faq-question span{ background:var(--pm-grad); color:#fff; }
.sourav-section .sourav-faq-answer{ margin:0; padding:0 20px; font-size:15px; line-height:1.8; color:var(--pm-text); text-align:left; }
.sourav-section .sourav-faq-item.active .sourav-faq-answer{ max-height:640px; padding-bottom:18px; }
.sourav-section .sourav-stats-section h2{ font-size:clamp(28px,3.2vw,42px); font-weight:700; line-height:1.15; letter-spacing:-.6px; color:var(--pm-ink); text-align:left; }
.sourav-section .sourav-stats-grid{ grid-template-columns:repeat(2,1fr); gap:18px; }
.sourav-section .sourav-stat-box{
  position:relative; overflow:hidden; border-radius:22px; padding:36px 22px; color:#fff; box-shadow:0 18px 40px rgba(10,22,51,.14);
  display:flex; flex-direction:column; align-items:center; justify-content:center;
}
.sourav-section .sourav-stat-box::before{
  content:''; position:absolute; width:150px; height:150px; right:-50px; top:-60px; border-radius:50%; background:rgba(255,255,255,.12);
}
.sourav-section .sourav-stat-box:hover{ translate:0 -6px; box-shadow:0 26px 50px rgba(10,22,51,.2); }
.sourav-section .sourav-blue{ background:linear-gradient(135deg,#0b8cff,#00b4c8); }
.sourav-section .sourav-gray{ background:linear-gradient(135deg,#002357,#0b5fd6); color:#fff; }
.sourav-section .sourav-black{ background:linear-gradient(135deg,#0c8f6c,#22c08a); }
.sourav-section .sourav-green{ background:linear-gradient(135deg,#ff7b06,#ffb547); }
.sourav-section .sourav-stat-box h3{ position:relative; font-family:inherit !important; font-size:44px; font-weight:800; letter-spacing:-1px; line-height:1.1; }
.sourav-section .sourav-stat-box p{ position:relative; color:rgba(255,255,255,.92); font-size:15px; font-weight:600; text-align:center; }

/* ---------- Industry pages: tablet / phone ---------- */
@media (max-width:968px){
  .container > .left-content{ padding:44px 32px; }
  .container > .right-content{ min-height:0; padding:36px 0 40px; }
  /* stacked layout: one project, natural height */
  .right-content .ihs-stack{ position:static; width:100%; padding:0 28px; }
  .right-content .ihs{ flex:none; }
  .right-content .ihs img{ height:auto; aspect-ratio:3/2; }
  .right-content .ihs + .ihs{ display:none; }
  .company-profile ~ .sourav-wrapper{ flex-direction:column; }
  .sourav-wrapper .sourav-sidebar, .sourav-wrapper .sourav-content{ width:100%; }
  .sourav-wrapper .sourav-sidebar{ border-right:0; border-bottom:1px solid var(--pm-line); margin-bottom:0; }
}
@media (max-width:767px){ body > .container:has(> .left-content){ margin-top:0; } } /* top bar hidden */
@media (max-width:640px){
  body > .company-profile, .company-profile ~ .services-section .services-grid,
  .company-profile ~ .sourav-wrapper, .company-profile ~ .timeline, .company-profile ~ .experience-section,
  .company-profile ~ .sourav-section{ width:calc(100% - 32px); }
  .container > .left-content{ padding:32px 20px; }
  .right-content .ihs-stack{ padding:0 16px; }
  .left-content .cta-button{ align-self:stretch; width:100% !important; }
  body > .company-profile{ margin-top:48px; }
  .company-profile .column{ padding:26px 20px; margin-bottom:18px; }
  .company-profile ~ .services-section{ padding-top:56px; }
  .company-profile ~ .services-section .service-box{ padding:32px 22px 24px; }
  body > .sourav-heading, body > h2:has(+ .timeline){ margin-top:56px !important; }
  .sourav-wrapper .sourav-sidebar{ padding:14px; }
  .sourav-wrapper .sourav-content{ padding:26px 20px; }
  .company-profile ~ .experience-section{ margin-top:56px; padding:44px 16px; border-radius:22px; }
  .experience-section .industry-grid{ gap:12px; }
  .experience-section .industry-item{ width:calc(50% - 6px); }
  .company-profile ~ .sourav-section{ margin-top:56px; }
  .sourav-section .sourav-stat-box{ padding:26px 14px; }
  .sourav-section .sourav-stat-box h3{ font-size:34px; }
}

/* ============================================================
   APP PAGES (taxi, dating, astrology, healthcare, travel, medicine,
   online food, job portal) — shared hero: section.hero > .content
   (h1 + .btn) + .image-box > img.jump-img. Scoped with
   :has(> .image-box) so other ".hero" blocks are untouched.
   ============================================================ */
.hero:has(> .image-box){
  position:relative; isolation:isolate; overflow:hidden; min-height:540px; gap:48px; color:#fff; margin:0;
  padding:88px max(24px, calc((100% - 1240px) / 2)) 84px;
  background:radial-gradient(620px 420px at 85% 18%, rgba(11,140,255,.38) 0%, transparent 70%),
             radial-gradient(520px 420px at 8% 100%, rgba(0,194,214,.26) 0%, transparent 70%),
             linear-gradient(135deg,#021a44 0%,#06306f 55%,#0b4fb3 100%);
}
.hero:has(> .image-box)::before{
  content:''; position:absolute; inset:0; z-index:-1; opacity:.55;
  background:radial-gradient(rgba(255,255,255,.2) 1px, transparent 1.2px) 0 0/24px 24px;
  -webkit-mask-image:linear-gradient(90deg, transparent 0%, #000 55%, transparent 100%); mask-image:linear-gradient(90deg, transparent 0%, #000 55%, transparent 100%);
}
.hero:has(> .image-box)::after{
  content:''; position:absolute; z-index:-1; width:520px; height:520px; right:-120px; bottom:-220px; border-radius:50%;
  border:1px solid rgba(255,255,255,.12); box-shadow:0 0 0 70px rgba(255,255,255,.03), 0 0 0 140px rgba(255,255,255,.02);
}
.hero:has(> .image-box) > .content{ position:relative; flex:1 1 52%; text-align:left; }
.hero:has(> .image-box) > .content::before{
  content:''; display:block; width:64px; height:5px; border-radius:5px; margin-bottom:24px;
  background:linear-gradient(90deg,#00c2d6,#0b8cff);
}
.hero:has(> .image-box) .content h1{
  color:#fff !important; font-size:clamp(34px,4.4vw,58px); font-weight:800; line-height:1.1; letter-spacing:-1px;
  margin-bottom:32px; text-shadow:0 8px 30px rgba(0,10,40,.35); text-align:inherit;
}
.hero:has(> .image-box) .btn{
  display:inline-flex; align-items:center; gap:10px; width:auto !important; margin:0;
  padding:16px 34px; border-radius:14px; border:0; font-weight:700; font-size:16px; letter-spacing:.3px; color:#fff;
  background:linear-gradient(120deg,#0b8cff 0%,#00b4d8 100%); box-shadow:0 16px 34px rgba(0,140,255,.4);
  transition:translate .25s var(--pm-ease), box-shadow .25s, background .25s, color .25s;
}
.hero:has(> .image-box) .btn::after{ content:'→'; font-size:18px; line-height:1; transition:translate .25s var(--pm-ease); }
.hero:has(> .image-box) .btn:hover{ background:#fff; color:#002357; transform:none; translate:0 -3px; box-shadow:0 20px 40px rgba(0,10,40,.35); }
.hero:has(> .image-box) .btn:hover::after{ translate:4px 0; }
.hero:has(> .image-box) > .image-box{ position:relative; flex:0 1 min(44%,520px); width:auto; display:flex; justify-content:center; }
.hero:has(> .image-box) > .image-box::before{
  content:''; position:absolute; inset:8% 6%; z-index:-1; border-radius:50%; background:radial-gradient(circle, rgba(0,194,214,.45) 0%, transparent 70%); filter:blur(30px);
}
.hero:has(> .image-box) .jump-img{
  width:100%; max-width:520px; height:auto; max-height:430px; object-fit:contain; border-radius:24px;
  box-shadow:0 34px 70px rgba(0,8,30,.45); animation:pmFloat 6s ease-in-out infinite alternate;
}
.hero:has(> .image-box) .jump-img:hover{ animation:pmFloat 6s ease-in-out infinite alternate; }
@keyframes pmFloat{ from{ transform:translate3d(0,0,0); } to{ transform:translate3d(0,-16px,0); } }
@media (max-width:900px){
  .hero:has(> .image-box){ padding-top:88px; text-align:center; }
  .hero:has(> .image-box) > .content{ text-align:center; }
  .hero:has(> .image-box) > .content::before{ margin-left:auto; margin-right:auto; }
  .hero:has(> .image-box) > .image-box{ flex-basis:auto; width:90%; margin-top:12px; }
}
@media (max-width:767px){
  .hero:has(> .image-box){ min-height:0; padding:40px 20px 52px; gap:28px; }
  .hero:has(> .image-box) .jump-img{ max-height:300px; }
}

/* ---------- Taxi page ---------- */
body:has(.gltTaxiWrap){ background:#f5f8fd; }
main > h2.h1:has(+ #content-area){
  color:var(--pm-ink) !important; margin:88px 24px 0 !important; font-size:clamp(26px,3vw,38px); font-weight:700; line-height:1.2; text-align:center;
}
main > h2.h1:has(+ #content-area)::after{ content:''; display:block; width:72px; height:4px; margin:16px auto 0; border-radius:4px; background:var(--pm-grad); }
#content-area{ max-width:1080px; margin:24px auto 0 !important; padding:0 24px; }
#content-area p{ color:var(--pm-text) !important; font-size:16px; line-height:1.85; text-align:center; }
#content-area ~ .cards{
  display:grid; grid-template-columns:repeat(4,1fr); gap:24px; width:calc(100% - 48px); max-width:1240px; margin:40px auto 0 !important;
}
#content-area ~ .cards .card{
  position:relative; overflow:hidden; margin:0; padding:34px 26px 28px; color:var(--pm-text);
  background:#fff; border:1px solid var(--pm-line); border-radius:22px; box-shadow:var(--pm-shadow);
}
#content-area ~ .cards .card::before{ content:''; position:absolute; left:0; right:0; top:0; height:5px; background:var(--pm-grad); }
#content-area ~ .cards .card:hover{ translate:0 -8px; box-shadow:var(--pm-shadow-h); border-color:rgba(11,140,255,.35); }
#content-area ~ .cards .card h3{ color:var(--pm-ink); font-size:19px; font-weight:700; margin-bottom:10px; }
#content-area ~ .cards .card *{ color:var(--pm-text); font-size:15px; line-height:1.75; }
#content-area ~ .cards .card h3{ color:var(--pm-ink); font-size:19px; }
/* main.css gives every h3 padding:10px 20px 0 */
#content-area ~ .cards .card h3, .gltTaxiWrap .gltTaxiCard h3, .taxiFeatureWrap .taxiBox h3{ padding:0; }
/* leftover demo button that replaced the paragraph above with placeholder text */
button[onclick="changeContent()"]{ display:none !important; }
section.gltTaxiWrap{
  background:radial-gradient(700px 320px at 10% 0%, #e2edff 0%, transparent 60%), linear-gradient(180deg,#f5f9ff 0%,#eaf1fd 100%) !important;
  padding:96px 24px !important; margin-top:88px;
}
.gltTaxiWrap .gltTaxiTitle{ color:var(--pm-ink); font-size:clamp(26px,3vw,38px); font-weight:700; }
.gltTaxiWrap .gltTaxiTitle::after{ content:''; display:block; width:72px; height:4px; margin:16px auto 0; border-radius:4px; background:var(--pm-grad); }
.gltTaxiWrap .gltTaxiSub{ color:var(--pm-text); opacity:1; }
.gltTaxiWrap .gltTaxiGrid{ display:flex; flex-wrap:wrap; justify-content:center; gap:24px; max-width:1240px; margin:0 auto; }
.gltTaxiWrap .gltTaxiCard,
.gltTaxiWrap .gltTaxiCard:hover{
  flex:0 1 calc(33.333% - 16px); position:relative; overflow:hidden; text-align:left; padding:34px 30px; color:#fff;
  background:linear-gradient(160deg,#0a1f47 0%,#0f3b85 100%); border:1px solid rgba(255,255,255,.08); border-radius:22px;
  box-shadow:0 20px 44px rgba(10,22,51,.18);
}
.gltTaxiWrap .gltTaxiCard::after{ content:''; position:absolute; width:180px; height:180px; right:-60px; top:-70px; border-radius:50%; background:rgba(56,164,255,.18); }
.gltTaxiWrap .gltTaxiCard:hover{ box-shadow:0 30px 60px rgba(10,22,51,.28); }
.gltTaxiWrap .gltTaxiIcon{ width:62px; height:62px; display:grid; place-items:center; border-radius:18px; font-size:30px; background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.14); }
.gltTaxiWrap .gltTaxiCard h3{ color:#fff; }
.gltTaxiWrap .gltTaxiCard p{ color:rgba(255,255,255,.82) !important; opacity:1; }
.taxiFeatureWrap{
  position:relative; isolation:isolate; padding:96px 20px !important;
  background:radial-gradient(600px 380px at 85% 10%, rgba(11,140,255,.35) 0%, transparent 70%), linear-gradient(140deg,#021a44 0%,#0b3d91 60%,#0b5fd6 100%) !important;
}
.taxiFeatureWrap .taxiFeatureTitle h2{ color:#fff; font-size:clamp(26px,3vw,38px); }
.taxiFeatureWrap .taxiFeatureTitle p{ color:rgba(255,255,255,.85); }
.taxiFeatureWrap .taxiTabs button{ width:auto !important; margin:0; border-color:rgba(255,255,255,.55); font-weight:600; }
.taxiFeatureWrap .taxiTabs button.active, .taxiFeatureWrap .taxiTabs button:hover{ background:#fff; color:#0b3d91; border-color:#fff; }
.taxiFeatureWrap .taxiContentArea{ max-width:1240px; margin:0 auto; padding:0 24px; }
.taxiFeatureWrap .taxiBox{ background:rgba(255,255,255,.09); border:1px solid rgba(255,255,255,.14); border-radius:18px; padding:24px; backdrop-filter:blur(6px); }
.taxiFeatureWrap .taxiBox:hover{ background:rgba(255,255,255,.16); }
.taxiFeatureWrap .taxiBox h3, .taxiFeatureWrap .taxiBox h4{ color:#fff; font-size:18px; font-weight:700; line-height:1.35; margin-bottom:10px; }
.taxiFeatureWrap .taxiMobile{
  position:relative; background:linear-gradient(170deg,#0b8cff 0%,#00b4d8 100%); border:10px solid #0b1220; border-radius:42px;
  box-shadow:0 40px 80px rgba(0,8,30,.5);
}
.taxiFeatureWrap .taxiMobile::before{ content:''; position:absolute; top:10px; left:50%; width:90px; height:22px; margin-left:-45px; border-radius:12px; background:#0b1220; }
.taxiFeatureWrap .taxiMobile span{ color:#fff; letter-spacing:.5px; }
section.taxiSecWrap{ background:#fff; padding:96px max(24px, calc((100% - 1240px) / 2)); }
.taxiSecWrap.bgLight{ background:linear-gradient(180deg,#f5f9ff 0%,#eef4fd 100%); }
.taxiSecWrap .taxiTextBox h2{ color:var(--pm-ink); font-size:clamp(26px,3vw,36px); font-weight:700; line-height:1.25; }
.taxiSecWrap .taxiTextBox p{ color:var(--pm-text) !important; }
.taxiSecWrap .taxiBtn{ background:var(--pm-grad); border-radius:12px; box-shadow:0 14px 28px rgba(11,140,255,.3); letter-spacing:.5px; }
.taxiSecWrap .taxiBtn:hover{ color:#fff; }
.taxiSecWrap .taxiImgBox{ text-align:center; }
.taxiSecWrap .taxiImgBox img{ border-radius:26px; }
@media (max-width:991px){ #content-area ~ .cards{ grid-template-columns:repeat(2,1fr); } .gltTaxiWrap .gltTaxiCard, .gltTaxiWrap .gltTaxiCard:hover{ flex-basis:calc(50% - 12px); } }
@media (max-width:640px){
  #content-area ~ .cards{ grid-template-columns:1fr; width:calc(100% - 32px); }
  .gltTaxiWrap .gltTaxiCard, .gltTaxiWrap .gltTaxiCard:hover{ flex-basis:100%; }
  main > h2.h1:has(+ #content-area), .gltTaxiWrap{ margin-top:56px !important; }
  .gltTaxiWrap, .taxiFeatureWrap, .taxiSecWrap{ padding-top:64px !important; padding-bottom:64px !important; }
}

/* ---------- Healthcare / travel intro ---------- */
.travel-section{ max-width:1080px; padding:96px 24px 40px; }
.travel-section .top-tag{
  padding:8px 16px; border-radius:999px; background:#e8f2ff; border:1px solid #cfe2ff; color:#0b5fd6; font-size:12.5px; font-weight:800;
}
.travel-section .main-title{ font-size:clamp(28px,3.4vw,44px); font-weight:700; line-height:1.2; color:var(--pm-ink); }
.travel-section .main-title span{ background:var(--pm-grad); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
.travel-section .main-title::after, .travel-section .sub-title::after{ content:''; display:block; width:72px; height:4px; margin:16px auto 0; border-radius:4px; background:var(--pm-grad); }
.travel-section .sub-title{ font-size:clamp(24px,2.8vw,34px); color:var(--pm-ink); margin-top:56px; }
.travel-section .sub-title span{ color:#0b6fe0; }
.travel-section .description{ color:var(--pm-text); font-size:16.5px; line-height:1.9; text-align:center; }
.sourav-container .sourav-hero-img{ border-radius:28px; }
.sourav-container .sourav-hero-text{ color:var(--pm-text); font-size:16px; text-align:left; }
.sourav-container .sourav-card{ background:linear-gradient(160deg,#0a1f47 0%,#0f3b85 100%); border:1px solid rgba(255,255,255,.08); box-shadow:0 24px 54px rgba(10,22,51,.18); }
.sourav-container .sourav-card p{ color:rgba(255,255,255,.85); line-height:1.85; }

/* ---------- Astrology bands ---------- */
/* astrology: inline grey-to-indigo gradient behind white text — deepen the light end for contrast
   (dating uses the same gradient behind dark headings, so it keeps its own) */
section.astro-section[style*="#d2d8e3"], section.section[style*="#d2d8e3"]{ background:linear-gradient(135deg,#0b1f4d 0%,#29229d 100%) !important; }
section.astro-section{ overflow:hidden; } /* the rotating planet hangs 180px off the right edge */

/* ---------- Online food: intro band (second .hero) ---------- */
.circle:has(~ .hero.hero2){ z-index:-1; } /* floating glow shapes sit behind the hero, not over it */
.hero.hero2{ min-height:0; padding:84px 24px 40px; background:transparent; }
.hero.hero2::before{ display:none; }
.hero.hero2 .hero-content{ max-width:960px; margin:0 auto; text-align:center; }
.hero.hero2 h2{ color:var(--pm-ink); font-size:clamp(28px,3.4vw,44px); font-weight:700; line-height:1.2; }
.hero.hero2 h2 span{ background:var(--pm-grad); -webkit-background-clip:text; background-clip:text; color:transparent; }
.hero.hero2 p{ max-width:820px; margin:18px auto 0; color:var(--pm-text) !important; font-size:17px; line-height:1.85; }

/* ---------- Reduced motion ---------- */
@media (prefers-reduced-motion: reduce){
  .hero:has(> .image-box) .jump-img, .hero:has(> .image-box) .jump-img:hover{ animation:none; }
  .hero:has(> .image-box) .btn:hover, #content-area ~ .cards .card:hover{ translate:none; }
  .achievement-card, .grid-container .card, .industry-card, .process-container .step, .app-process-step,
  .lp-card, .lp-step, .lp-ind-item, .lp-btn{ transition:none !important; }
  .achievement-card:hover, .grid-container .card:hover, .industry-card:hover, .process-container .step:hover,
  .app-process-step:hover, .lp-card:hover, .lp-step:hover, .lp-ind-item:hover, .lp-btn:hover{ translate:none; }
  .grid-container .card:hover img, .industry-card:hover img{ transform:none; }
  .company-profile ~ .services-section .service-box:hover, .experience-section .industry-item:hover,
  .sourav-section .sourav-stat-box:hover, .sourav-wrapper .sourav-menu-btn:hover{ translate:none; }
  .experience-section .industry-item:hover .industry-icon{ transform:none; }
  .right-content .ihs img{ transition:none; }
  .right-content .ihs:hover img{ transform:none; }
  .sourav-wrapper .sourav-content > *{ animation:none; }
}

/* ============================================================
   SHARED SERVICE-PAGE COMPONENTS (2026-10-25)
   Section headings, "Customized Business Solutions" grid, page FAQ
   header, "Send Us Your Project Enquiry" block, and the site-wide
   "In short", FAQ and "People also search for" blocks. Service pages
   set p{text-align:center} and other bare-element rules, so alignment
   and colours are set explicitly here.
   ============================================================ */

/* ---------- Hero heading: brand word highlighted ---------- */
.g-hero h1 span{ background:linear-gradient(120deg,#0b6fe0 0%,#00a9c4 100%); -webkit-background-clip:text; background-clip:text; color:transparent; }

/* ---------- Section headings: bare <h2 class="h1"> inside <main> ---------- */
#main-content > h2.h1, .containerq header h2.h1{
  max-width:1000px; margin:84px auto 14px !important; padding:0 24px;
  font-size:clamp(26px,3vw,38px) !important; font-weight:800 !important; line-height:1.2; letter-spacing:-.4px;
  color:var(--pm-ink); text-align:center;
}
#main-content > h2.h1::after, .containerq header h2.h1::after{
  content:''; display:block; width:72px; height:4px; margin:16px auto 0; border-radius:4px; background:var(--pm-grad);
}
#main-content > h2.h1 + p, .containerq header .subtitle{
  max-width:760px; margin:0 auto 36px !important; padding:0 24px;
  font-size:16.5px; line-height:1.75; color:var(--pm-muted); text-align:center;
}
.containerq header{ margin-bottom:8px; }
.containerq header h2.h1{ margin-top:0 !important; }

/* ---------- Headings followed by their own <div class="underline"> ("Customized Business
   Solutions", "Different Industries We Serve"): same size as the other section headings ---------- */
#main-content > h2:has(+ .underline), .industries-section > h2:has(+ .underline){
  max-width:1000px; margin:96px auto 0 !important; padding:0 24px;
  font-size:clamp(26px,3vw,38px) !important; font-weight:800 !important; line-height:1.2; letter-spacing:-.4px;
  color:var(--pm-ink); text-align:center;
}
#main-content > h2:has(+ .underline) + .underline, .industries-section > h2:has(+ .underline) + .underline{
  width:72px !important; height:4px !important; margin:16px auto 44px !important; border-radius:4px; background:var(--pm-grad) !important;
}
.industries-section:has(> h2 + .underline){ padding-top:0; }

/* ---------- "Customized Business Solutions": four cards, shown as a grid ---------- */
.carousel-container:has(#carouselTrack){ width:calc(100% - 48px); max-width:1240px !important; margin:0 auto !important; overflow:visible; }
.carousel-container:has(#carouselTrack) .arrow{ display:none !important; }
.carousel-container #carouselTrack{
  display:grid !important; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; margin:0 !important; transform:none !important;
}
.carousel-container #carouselTrack > .card{
  display:flex; flex-direction:column; flex:none; min-width:0; margin:0; padding:0 !important; overflow:hidden;
  background:#fff; border:1px solid var(--pm-line); border-radius:22px; box-shadow:var(--pm-shadow);
}
.carousel-container #carouselTrack > .card:hover{ translate:0 -8px; box-shadow:var(--pm-shadow-h); border-color:rgba(11,140,255,.35); }
.carousel-container #carouselTrack > .card img{
  display:block; width:100% !important; height:auto !important; aspect-ratio:4/3; object-fit:cover; margin:0 !important; border-radius:0 !important;
  transition:transform .6s var(--pm-ease);
}
.carousel-container #carouselTrack > .card:hover img{ transform:scale(1.06); }
.carousel-container #carouselTrack .card-content{
  position:relative; z-index:1; flex:1; display:flex; align-items:center; justify-content:center; gap:10px;
  margin:0 !important; padding:18px 20px; background:#fff; border-radius:0; box-shadow:none;
  font-size:16.5px; font-weight:700; line-height:1.4; color:var(--pm-ink); text-align:center;
}
.carousel-container #carouselTrack .card-content::after{
  content:'\2192'; flex:0 0 28px; width:28px; height:28px; display:grid; place-items:center; border-radius:50%;
  font-size:14px; color:#fff; background:var(--pm-grad); transition:translate .25s var(--pm-ease);
}
.carousel-container #carouselTrack > .card:hover .card-content::after{ translate:4px 0; }
button.quote-btn, #bookConsultation.cta-button{
  display:block; width:auto !important; margin:40px auto 0 !important; padding:16px 36px; border:0; border-radius:14px; cursor:pointer;
  color:#fff; font-size:15.5px; font-weight:700; letter-spacing:.6px; background:var(--pm-grad); box-shadow:0 14px 30px rgba(11,140,255,.32);
  transition:translate .25s var(--pm-ease), box-shadow .25s;
}
button.quote-btn:hover, #bookConsultation.cta-button:hover{ translate:0 -3px; box-shadow:0 20px 38px rgba(11,140,255,.42); background:var(--pm-grad); color:#fff; }

/* ---------- "Send Us Your Project Enquiry" (include/contact-form-buttom.php) ---------- */
.container10:has(.project-form){
  width:calc(100% - 48px); max-width:1240px; margin:96px auto 0 !important; padding:0 !important;
  background:transparent; border-radius:0; box-shadow:none;
}
.container10:has(.project-form) > h2{
  margin:0 0 40px; font-size:clamp(28px,3.3vw,42px) !important; font-weight:800; line-height:1.15; letter-spacing:-.5px; color:var(--pm-ink); text-align:center;
}
.container10:has(.project-form) > h2::after{ content:''; display:block; width:72px; height:4px; margin:18px auto 0; border-radius:4px; background:var(--pm-grad); }
.container10:has(.project-form) > h2 .highlight{ background:var(--pm-grad); -webkit-background-clip:text; background-clip:text; color:transparent !important; }
.container10 .content-wrapper:has(.project-form){
  display:grid; grid-template-columns:1.3fr .7fr; margin:0; overflow:hidden;
  background:#fff; border:1px solid var(--pm-line); border-radius:28px; box-shadow:0 30px 70px rgba(10,22,51,.12);
}
.container10 .project-form{ display:grid; gap:16px; align-content:start; margin:0 !important; padding:44px 44px 40px !important; }
.container10 .project-form .name-fields{ display:grid; grid-template-columns:1fr 1fr; gap:16px; margin:0; }
.container10 .project-form .form-group{ margin:0; width:100%; }
.container10 .project-form input, .container10 .project-form select, .container10 .project-form textarea{
  display:block; width:100% !important; margin:0 !important; padding:14px 16px !important; border-radius:12px !important;
  border:1px solid var(--pm-line) !important; background:#f7faff !important; color:var(--pm-ink) !important; font-size:15.5px; font-family:inherit;
  animation:none !important; box-shadow:none !important; transition:border-color .2s, box-shadow .2s, background .2s;
}
.container10 .project-form select{ color:var(--pm-muted) !important; height:auto; }
.container10 .project-form textarea{ min-height:150px; resize:vertical; }
.container10 .project-form input:focus, .container10 .project-form select:focus, .container10 .project-form textarea:focus,
.container10 .project-form input:hover, .container10 .project-form textarea:hover{
  outline:none; border-color:var(--pm-blue) !important; background:#fff !important; box-shadow:0 0 0 4px rgba(11,140,255,.14) !important;
}
.container10 .project-form .submit-button{
  width:100%; margin:4px 0 0; padding:16px; border:0; border-radius:12px; cursor:pointer;
  color:#fff; font-size:16.5px; font-weight:700; letter-spacing:.3px; background:var(--pm-grad); box-shadow:0 14px 28px rgba(11,140,255,.32);
  animation:none; transition:translate .25s var(--pm-ease), box-shadow .25s;
}
.container10 .project-form .submit-button:hover{ transform:none; translate:0 -2px; background:var(--pm-grad); box-shadow:0 18px 34px rgba(11,140,255,.42); }
.container10 .domain-expertise{
  margin:0; padding:40px 30px; color:#fff;
  background:radial-gradient(400px 300px at 90% 0%, rgba(47,215,255,.3) 0%, transparent 70%), linear-gradient(160deg,#021a44 0%,#0b3d91 100%);
}
.container10 .domain-expertise h2{ margin:0 0 20px; color:#fff; font-size:21px; font-weight:700; text-align:left; letter-spacing:.2px; }
.container10 .domain-expertise h2::before{ content:'\f0b1'; font-family:'Font Awesome 6 Free'; font-weight:900; margin-right:10px; color:#2fd7ff; }
.container10 .expertise-grid{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.container10 .expertise-item{
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px; min-height:92px; padding:14px 10px; text-align:center;
  background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.14); border-radius:16px; color:#eaf3ff;
  transition:background .25s, border-color .25s, translate .25s var(--pm-ease);
}
.container10 .expertise-item:hover{ background:rgba(255,255,255,.16); border-color:rgba(47,215,255,.45); translate:0 -3px; }
.container10 .expertise-item i{ font-size:22px; color:#2fd7ff; }
.container10 .expertise-item span{ font-size:13.5px; font-weight:600; line-height:1.35; color:#eaf3ff; }

/* ---------- "In short" answer block (include/quick-answer.php) ---------- */
.gletus-answer{
  position:relative; overflow:hidden; width:calc(100% - 48px); max-width:1180px; margin:88px auto 8px; padding:40px 44px 34px;
  background:radial-gradient(600px 260px at 100% 0%, #e3efff 0%, transparent 65%), #f7faff;
  border:1px solid var(--pm-line); border-left:0; border-radius:28px; box-shadow:var(--pm-shadow); text-align:left;
}
.gletus-answer::before{ content:''; position:absolute; left:0; top:0; bottom:0; width:6px; background:var(--pm-grad); }
.gletus-answer h2{
  display:inline-flex; align-items:center; gap:10px; margin:0 0 18px; padding:8px 16px; border-radius:999px;
  background:#e8f2ff; border:1px solid #cfe2ff; color:#0b5fd6; font-size:12.5px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; text-align:left;
}
.gletus-answer h2::before{ content:'\f0eb'; font-family:'Font Awesome 6 Free'; font-weight:900; letter-spacing:0; }
.gletus-answer .ga-body{ max-width:none; margin:0; font-size:clamp(17px,1.5vw,19px); line-height:1.75; color:var(--pm-ink); font-weight:500; text-align:left; }
.gletus-answer .ga-facts{ display:flex; flex-wrap:wrap; gap:12px; margin:26px 0 0; padding:0; }
.gletus-answer .ga-facts li{
  position:relative; flex:1 1 auto; min-width:190px; padding:14px 18px 14px 58px; border-radius:16px; background:#fff; border:1px solid var(--pm-line);
  box-shadow:0 6px 16px rgba(10,22,51,.04); font-size:15px; font-weight:600; line-height:1.45; color:var(--pm-ink); text-align:left;
}
.gletus-answer .ga-facts li::before{
  position:absolute; left:14px; top:50%; translate:0 -50%; width:32px; height:32px; display:grid; place-items:center; border-radius:10px;
  font-family:'Font Awesome 6 Free'; font-weight:900; font-size:14px; color:#fff; background:var(--pm-grad); content:'\f00c';
}
.gletus-answer .ga-facts li:nth-child(1)::before{ content:'\f0b1'; }  /* service */
.gletus-answer .ga-facts li:nth-child(2)::before{ content:'\f1ad'; }  /* provider */
.gletus-answer .ga-facts li:nth-child(3)::before{ content:'\f3c5'; }  /* based in */
.gletus-answer .ga-facts li:nth-child(4)::before{ content:'\f0ac'; }  /* serves */
.gletus-answer .ga-facts li:nth-child(5)::before{ content:'\f017'; }  /* hours */
.gletus-answer .ga-facts b{ display:block; margin-bottom:2px; font-size:11px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; color:var(--pm-muted); }
.gletus-answer .ga-meta{ margin:24px 0 0; padding-top:18px; border-top:1px solid var(--pm-line); font-size:14px; line-height:1.7; color:var(--pm-muted); text-align:left; }
.gletus-answer .ga-meta a{ color:#0b5fd6; }

/* ---------- FAQ block (include/faq-render.php) ---------- */
.gletus-faq{ width:calc(100% - 48px); max-width:1000px; margin:88px auto 10px; padding:0; }
.gletus-faq > h2{
  margin:0 0 10px; font-size:clamp(26px,3vw,36px); font-weight:800; line-height:1.2; letter-spacing:-.4px; color:var(--pm-ink); text-align:center;
}
.gletus-faq > h2::after{ content:''; display:block; width:72px; height:4px; margin:16px auto 0; border-radius:4px; background:var(--pm-grad); }
.gletus-faq .gfq-intro{ max-width:720px; margin:0 auto 30px; font-size:16px; line-height:1.7; color:var(--pm-muted); text-align:center; }
.gletus-faq details{ margin-bottom:12px; border:1px solid var(--pm-line); border-radius:16px; background:#fff; box-shadow:0 6px 16px rgba(10,22,51,.04); transition:border-color .25s, box-shadow .25s; }
.gletus-faq details[open]{ border-color:rgba(11,140,255,.4); box-shadow:var(--pm-shadow); }
.gletus-faq summary{ align-items:center; gap:14px; padding:18px 20px; font-size:16px; font-weight:600; line-height:1.5; color:var(--pm-ink); text-align:left; }
.gletus-faq summary::before{
  content:'+'; flex:0 0 32px; width:32px; height:32px; display:grid; place-items:center; border-radius:50%;
  background:#eef5ff; color:#0b5fd6; font-size:20px; line-height:1; transition:background .25s, color .25s;
}
.gletus-faq details[open] summary::before{ content:'\2212'; background:var(--pm-grad); color:#fff; }
.gletus-faq details[open] summary{ border-bottom:1px solid var(--pm-line); }
.gletus-faq .gfq-a{ padding:16px 20px 20px 66px; font-size:15.5px; line-height:1.8; color:var(--pm-text); text-align:left; }
.gletus-faq .gfq-more{ margin:24px 0 0; font-size:15px; line-height:1.7; color:var(--pm-muted); text-align:center; }

/* ---------- "People also search for" (include/related-searches.php) ---------- */
.gletus-related{
  width:calc(100% - 48px); max-width:1180px; margin:72px auto 64px; padding:44px 44px 36px; text-align:left;
  background:linear-gradient(180deg,#ffffff 0%,#f5f9ff 100%); border:1px solid var(--pm-line); border-radius:28px; box-shadow:var(--pm-shadow);
}
.gletus-related > h2{
  margin:0 0 10px; font-size:clamp(24px,2.6vw,32px); font-weight:800; line-height:1.2; letter-spacing:-.3px; color:var(--pm-ink); text-align:center;
}
.gletus-related > h2::after{ content:''; display:block; width:64px; height:4px; margin:14px auto 0; border-radius:4px; background:var(--pm-grad); }
.gletus-related .grs-lead{ max-width:760px; margin:0 auto 30px; font-size:15.5px; line-height:1.7; color:var(--pm-muted); text-align:center; }
.gletus-related .grs-block{ margin:0 0 22px; padding:22px 22px 20px; border-radius:20px; background:#fff; border:1px solid var(--pm-line); }
.gletus-related .grs-block h3{
  display:flex; align-items:center; gap:10px; margin:0 0 14px; padding:0; font-size:13px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; color:#0b5fd6; text-align:left;
}
.gletus-related .grs-block h3::before{
  width:30px; height:30px; display:grid; place-items:center; border-radius:10px; background:var(--pm-grad); color:#fff;
  font-family:'Font Awesome 6 Free'; font-weight:900; font-size:13px; letter-spacing:0; content:'\f3c5';
}
.gletus-related .grs-block:nth-of-type(2) h3::before{ content:'\f1ad'; }
.gletus-related .grs-block:nth-of-type(3) h3::before{ content:'\f0ac'; }
.gletus-related .grs-also h3::before{ content:'\f0e8' !important; }
.gletus-related .grs-also{ margin-top:0; padding-top:22px; border-top:1px solid var(--pm-line); }
.gletus-related .grs-list{ gap:8px 10px; }
.gletus-related .grs-list a{
  display:inline-flex; align-items:center; gap:7px; padding:8px 14px; border-radius:999px; border:1px solid var(--pm-line); background:#f7faff;
  font-size:14px; font-weight:500; line-height:1.35; color:var(--pm-ink); text-decoration:none;
  transition:background .2s, border-color .2s, color .2s, translate .2s var(--pm-ease);
}
.gletus-related .grs-list a:hover, .gletus-related .grs-list a:focus-visible{ background:var(--pm-grad); border-color:transparent; color:#fff; translate:0 -2px; }

/* ---------- Tablet / phone ---------- */
@media (max-width:991px){
  .carousel-container #carouselTrack{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .container10 .content-wrapper:has(.project-form){ grid-template-columns:1fr; }
  /* page rules put the expertise list first on mobile; the form is the point of this block */
  .container10 .content-wrapper .project-form{ order:1 !important; }
  .container10 .content-wrapper .domain-expertise{ order:2 !important; }
  .container10 .expertise-grid{ grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:640px){
  #main-content > h2.h1, .containerq header h2.h1{ margin-top:56px !important; padding:0 16px; }
  #main-content > h2:has(+ .underline), .industries-section > h2:has(+ .underline){ margin-top:64px !important; padding:0 16px; }
  #main-content > h2.h1 + p, .containerq header .subtitle{ padding:0 16px; }
  .carousel-container:has(#carouselTrack), .container10:has(.project-form), .gletus-answer, .gletus-faq, .gletus-related{ width:calc(100% - 32px); }
  .carousel-container #carouselTrack{ grid-template-columns:1fr; gap:18px; }
  .container10:has(.project-form){ margin-top:64px !important; }
  .container10 .project-form{ padding:26px 18px 24px !important; }
  .container10 .project-form .name-fields{ grid-template-columns:1fr; }
  .container10 .domain-expertise{ padding:28px 18px; }
  .container10 .expertise-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .gletus-answer{ margin-top:56px; padding:28px 20px 24px; border-radius:22px; }
  .gletus-faq{ margin-top:56px; }
  .gletus-faq .gfq-a{ padding-left:20px; }
  .gletus-related{ margin-top:48px; padding:28px 16px 22px; border-radius:22px; }
  .gletus-related .grs-block{ padding:18px 14px 16px; }
}
@media (prefers-reduced-motion: reduce){
  .carousel-container #carouselTrack > .card:hover, button.quote-btn:hover, .container10 .expertise-item:hover, .gletus-related .grs-list a:hover{ translate:none; }
  .carousel-container #carouselTrack > .card:hover img{ transform:none; }
}

/* ============================================================
   SECTION HEADINGS: narrower, balanced, one style (2026-10-25)
   Long centred section titles ran edge to edge (up to 1412px on one
   line) because pages set inline margins like "margin:0 8%". These
   are capped at 940px and wrapped into balanced lines. The side
   margins grow only when the container is wider than 940px, so
   headings inside cards and columns are not moved.
   ============================================================ */
h2.h1, body > h2, .services-section > h2, .hero-title{
  margin-left:max(0px, calc((100% - 940px) / 2)) !important;
  margin-right:max(0px, calc((100% - 940px) / 2)) !important;
  text-wrap:balance;
}
#main-content > h2.h1{ max-width:940px; }

/* section titles that sit directly in <body> on the older service pages */
body > h2.h1{
  position:relative; font-size:clamp(26px,3vw,38px) !important; font-weight:800 !important; line-height:1.2;
  letter-spacing:-.4px; color:var(--pm-ink); text-align:center; padding-bottom:18px; margin-top:72px !important; margin-bottom:28px !important;
}
body > h2.h1::after{ content:''; position:absolute; left:50%; bottom:0; width:72px; height:4px; margin-left:-36px; border-radius:4px; background:var(--pm-grad); }

/* "Why Choose Us For Your … Services?" block (.containergo .hero-section): was 45px */
.containergo .hero-section .hero-title{
  display:block; font-size:clamp(26px,3vw,38px); font-weight:800; line-height:1.2; letter-spacing:-.4px;
  color:var(--pm-ink); text-align:center; padding-bottom:20px; margin-bottom:22px;
}
.containergo .hero-section .hero-title::after{ bottom:0; width:72px; height:4px; border-radius:4px; background:var(--pm-grad); }
.containergo .hero-section .hero-subtitle{ max-width:760px; margin-left:auto; margin-right:auto; font-size:16.5px; line-height:1.75; color:var(--pm-muted); text-align:center; }

@media (max-width:640px){
  body > h2, .services-section > h2, .hero-section > h2.h1, .hero-title{ padding-left:16px !important; padding-right:16px !important; }
  body > h2.h1{ margin-top:52px !important; }
}

/* ---------- Image heroes on About Us / Our Team (header > .overlay + .header-content h1) ----------
   The heading was black / green on a photo; white with a soft shadow reads on any image. */
header .header-content h1{ color:#fff !important; -webkit-text-fill-color:#fff; text-shadow:0 4px 18px rgba(0,10,30,.55), 0 1px 3px rgba(0,0,0,.35); }
