/* Shared public header/footer - one source for all pages. */

/* =========================================================
   SOFTCOM HEADER — balanced to match the site's desktop scale
   ========================================================= */
.sd-header{
  position:sticky;
  top:0;
  z-index:1000;
  width:100%;
  height:72px;
  background:rgba(255,255,255,.98);
  border-bottom:1px solid #e8eef5;
  box-shadow:0 5px 18px rgba(8,35,67,.055);
  font-family:Inter,"Segoe UI",Arial,sans-serif;
}

.sd-nav-shell{
  width:min(90%,1400px);
  height:100%;
  margin:0 auto;
  display:grid;
  grid-template-columns:230px minmax(0,1fr) 190px;
  align-items:center;
  gap:22px;
}

.sd-brand{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  width:max-content;
  text-decoration:none;
}

.sd-brand img{
  display:block;
  width:auto;
  height:42px;
  max-width:170px;
  object-fit:contain;
}

.sd-nav-links{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  height:100%;
  min-width:0;
}

.sd-nav-links a{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height:44px;
  padding:0 14px;
  border-radius:12px;
  color:#40506a;
  text-decoration:none;
  font-size:14px;
  font-weight:650;
  line-height:1;
  letter-spacing:-.01em;
  white-space:nowrap;
  transition:color .18s ease,background .18s ease;
}

.sd-nav-links a:hover{
  color:#0f5df5;
  background:#f5f8fc;
}

.sd-nav-links a.active{
  color:#165dff;
  background:#eef3ff;
}

.sd-nav-links a.active::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:5px;
  width:24px;
  height:2px;
  transform:translateX(-50%);
  border-radius:999px;
  background:#315cff;
}

.sd-nav-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
}

.sd-header-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  width:182px;
  height:46px;
  padding:0 20px;
  border-radius:12px;
  background:#19336f;
  color:#fff!important;
  text-decoration:none;
  font-size:13.5px;
  font-weight:800;
  line-height:1;
  letter-spacing:-.01em;
  white-space:nowrap;
  box-shadow:0 7px 18px rgba(25,51,111,.17);
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease;
}

.sd-header-cta:hover{
  background:#142b61;
  transform:translateY(-1px);
  box-shadow:0 9px 22px rgba(25,51,111,.22);
}

.sd-header-cta svg{
  width:17px;
  height:17px;
  flex:0 0 17px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.sd-menu-toggle{
  display:none;
  width:44px;
  height:44px;
  border:1px solid #dce5f0;
  border-radius:11px;
  background:#fff;
  color:#173451;
  place-items:center;
  cursor:pointer;
}

.sd-menu-toggle svg{
  width:21px;
  height:21px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
}

@media(max-width:1180px){
  .sd-nav-shell{width:92%;grid-template-columns:190px minmax(0,1fr) 168px;gap:14px}
  .sd-brand img{height:38px;max-width:155px}
  .sd-nav-links{gap:2px}
  .sd-nav-links a{font-size:12.5px;padding:0 9px;height:42px}
  .sd-header-cta{width:168px;height:44px;font-size:12.5px;padding:0 16px;gap:10px}
}

@media(max-width:900px){
  .sd-header{height:64px}
  .sd-nav-shell{width:92%;display:flex;gap:12px}
  .sd-brand img{height:37px;max-width:145px}
  .sd-nav-links{
    position:fixed;
    top:64px;
    left:0;
    right:0;
    height:auto;
    display:none;
    flex-direction:column;
    align-items:stretch;
    gap:2px;
    padding:10px 4% 14px;
    background:#fff;
    border-bottom:1px solid #e5ebf3;
    box-shadow:0 14px 30px rgba(15,31,58,.12);
  }
  .sd-nav-links.open{display:flex}
  .sd-nav-links a{width:100%;height:46px;justify-content:flex-start;padding:0 14px;border-radius:10px;font-size:14px}
  .sd-nav-links a.active::after{display:none}
  .sd-nav-actions{margin-left:auto;gap:10px}
  .sd-header-cta{width:auto;height:44px;padding:0 16px;font-size:13px}
  .sd-menu-toggle{display:grid}
}

@media(max-width:640px){
  .sd-header{height:60px}
  .sd-brand img{height:34px;max-width:135px}
  .sd-nav-links{top:60px}
  .sd-header-cta{display:none}
}

.sd-footer{background:#03182b;color:#bfd0e0;padding:30px 0 14px;font-family:Inter,"Segoe UI",Arial,sans-serif}
.sd-footer-shell{width:min(90%,1280px);margin:auto}.sd-footer-grid{display:grid;grid-template-columns:1.3fr .72fr .72fr .82fr .55fr;gap:36px;align-items:start}
.sd-footer-brand img{height:42px;width:auto;filter:brightness(0) invert(1);opacity:.94}.sd-footer-brand p{max-width:280px;font-size:11px;line-height:1.55;margin:10px 0 0;color:#bfd0e0}
.sd-footer-col h4{color:#fff;font-size:9px;letter-spacing:.14em;text-transform:uppercase;margin:4px 0 10px}.sd-footer-col a,.sd-footer-col span{display:block;color:#bfd0e0;text-decoration:none;font-size:10.5px;line-height:1.8}.sd-footer-col a:hover{color:#fff}
.sd-footer-motto{font-family:"Segoe Print","Comic Sans MS",cursive;font-style:italic;color:#fff;font-size:13px;transform:rotate(-5deg);line-height:1.45}
.sd-footer-bottom{border-top:1px solid #17354e;margin-top:22px;padding-top:13px;display:flex;justify-content:space-between;gap:20px;color:#8197aa;font-size:9.5px}.sd-legal-links{display:flex;gap:16px}.sd-legal-links a{color:#9fb2c4;text-decoration:none}.sd-legal-links a:hover{color:#fff}

@media(max-width:980px){
  .sd-footer-grid{grid-template-columns:1fr 1fr 1fr}
  .sd-footer-motto{display:none}
}
@media(max-width:640px){
  .sd-footer-grid{grid-template-columns:1fr 1fr}
  .sd-footer-brand{grid-column:1/-1}
  .sd-footer-bottom{display:block}
  .sd-legal-links{margin-top:8px;flex-wrap:wrap}
}

/* =========================================================
   SOFTCOM MODERN UI SYSTEM — 2026 refresh
   Shared visual polish for every public page.
   Loaded after each page's local CSS, so this is the final skin.
   ========================================================= */
:root{
  --sd-ink:#071d36;
  --sd-ink-2:#133a64;
  --sd-blue:#1769ff;
  --sd-blue-2:#3c82ff;
  --sd-cyan:#13b8ff;
  --sd-orange:#ff6b2c;
  --sd-green:#13a66f;
  --sd-muted:#667d98;
  --sd-border:#dfe9f4;
  --sd-soft:#f6f9fd;
  --sd-soft-blue:#eef5ff;
  --sd-card:#ffffff;
  --sd-shadow-sm:0 8px 24px rgba(8,35,67,.07);
  --sd-shadow-md:0 18px 48px rgba(8,35,67,.10);
  --sd-shadow-lg:0 30px 80px rgba(8,35,67,.14);
  --sd-radius:18px;
  --sd-radius-lg:26px;
}

html{scroll-padding-top:88px}
body{
  color:var(--sd-ink);
  background:
    radial-gradient(circle at 92% 5%,rgba(23,105,255,.055),transparent 22rem),
    radial-gradient(circle at 4% 30%,rgba(19,184,255,.035),transparent 24rem),
    #fff;
}

/* --- refined header --- */
.sd-header{
  height:76px;
  background:rgba(255,255,255,.90);
  border-bottom:1px solid rgba(199,213,229,.72);
  box-shadow:0 8px 28px rgba(7,29,54,.055);
  backdrop-filter:blur(18px) saturate(140%);
  -webkit-backdrop-filter:blur(18px) saturate(140%);
  transition:height .24s ease,box-shadow .24s ease,background .24s ease;
}
.sd-header.is-scrolled{height:68px;background:rgba(255,255,255,.96);box-shadow:0 12px 32px rgba(7,29,54,.09)}
.sd-nav-shell{width:min(92%,1460px);grid-template-columns:220px minmax(0,1fr) 194px;gap:24px}
.sd-brand img{height:43px;max-width:178px;transition:height .24s ease,transform .2s ease}
.sd-brand:hover img{transform:translateY(-1px)}
.sd-nav-links{gap:5px}
.sd-nav-links a{
  height:44px;
  padding:0 15px;
  border-radius:13px;
  color:#40536d;
  font-size:14px;
  font-weight:680;
  transition:all .2s ease;
}
.sd-nav-links a:hover{color:var(--sd-blue);background:rgba(23,105,255,.06);transform:translateY(-1px)}
.sd-nav-links a.active{color:var(--sd-blue);background:linear-gradient(135deg,#eef3ff,#f5f8ff)}
.sd-nav-links a.active::after{bottom:5px;width:25px;background:linear-gradient(90deg,var(--sd-blue),var(--sd-cyan));box-shadow:0 0 10px rgba(23,105,255,.22)}
.sd-header-cta{
  width:188px;
  height:48px;
  border-radius:14px;
  background:linear-gradient(135deg,#102b5e 0%,#1a3e87 100%);
  box-shadow:0 10px 26px rgba(17,50,112,.20);
}
.sd-header-cta:hover{background:linear-gradient(135deg,#0d2758 0%,#173878 100%);box-shadow:0 14px 32px rgba(17,50,112,.26)}

/* --- global typography / controls --- */
.eyebrow{
  letter-spacing:.16em!important;
  font-weight:850!important;
}
h1,h2,.section-title{letter-spacing:-.045em!important}
.btn,.search-btn,.apply,.learn,.story-link,.link-arrow{
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease,background .2s ease,color .2s ease!important;
}
.btn:hover,.search-btn:hover,.apply:hover,.learn:hover,.story-link:hover,.link-arrow:hover{transform:translateY(-2px)}
.btn-primary{
  background:linear-gradient(135deg,#1769ff,#2388ff)!important;
  box-shadow:0 12px 28px rgba(23,105,255,.23)!important;
}
.btn-primary:hover{box-shadow:0 16px 34px rgba(23,105,255,.30)!important}
.btn-secondary,.btn-outline{background:rgba(255,255,255,.92)!important;box-shadow:0 7px 20px rgba(8,35,67,.06)}

/* --- HOME: more spacious, contemporary hierarchy --- */
body:has(.cap-grid) .hero{
  min-height:520px!important;
  background:linear-gradient(104deg,#fff 0 47.5%,#eef7ff 47.5% 100%)!important;
}
body:has(.cap-grid) .hero-in{min-height:520px!important;grid-template-columns:47% 53%!important}
body:has(.cap-grid) .hero-copy{padding:70px 56px 52px 0!important}
body:has(.cap-grid) .hero h1{font-size:clamp(46px,4vw,66px)!important;line-height:.98!important;max-width:650px!important}
body:has(.cap-grid) .hero-desc{font-size:15px!important;line-height:1.65!important;max-width:560px!important;margin:20px 0 24px!important}
body:has(.cap-grid) .hero-actions{gap:12px!important}
body:has(.cap-grid) .hero-actions .btn{height:48px!important;padding:0 21px!important;border-radius:12px!important;font-size:12px!important}
body:has(.cap-grid) .trust{margin-top:26px!important;gap:28px!important;font-size:11px!important}
body:has(.cap-grid) .hero-media{min-height:520px!important}
body:has(.cap-grid) .hero-media img{min-height:520px!important}
body:has(.cap-grid) .idea-card{border-radius:16px!important;box-shadow:var(--sd-shadow-md)!important}
body:has(.cap-grid) .outcome{border-radius:14px!important;box-shadow:var(--sd-shadow-md)!important}
body:has(.cap-grid) .cap{padding:68px 0 76px!important}
body:has(.cap-grid) .cap-top{padding-bottom:30px!important}
body:has(.cap-grid) .cap h2{font-size:clamp(36px,3vw,49px)!important}
body:has(.cap-grid) .cap-grid{gap:15px!important}
body:has(.cap-grid) .cap-card{
  min-height:230px!important;
  border:1px solid var(--sd-border)!important;
  border-radius:18px!important;
  padding:24px 20px!important;
  background:linear-gradient(180deg,#fff,#fbfdff)!important;
  box-shadow:0 8px 22px rgba(8,35,67,.035)!important;
  transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease!important;
}
body:has(.cap-grid) .cap-card:hover{transform:translateY(-6px);border-color:#c6d9ef!important;box-shadow:var(--sd-shadow-md)!important}
body:has(.cap-grid) .cap-icon{width:42px!important;height:42px!important;border-radius:13px!important;background:linear-gradient(135deg,#eef5ff,#e6f6ff)!important}
body:has(.cap-grid) .cap-card h3{font-size:15px!important;line-height:1.25!important}
body:has(.cap-grid) .cap-card p{font-size:11px!important;line-height:1.6!important}
body:has(.cap-grid) .case{background:linear-gradient(125deg,#031d36 0%,#063a66 62%,#086ba2 100%)!important}
body:has(.cap-grid) .case-in{min-height:500px!important}
body:has(.cap-grid) .dashboard{border-radius:22px!important;box-shadow:0 28px 70px rgba(0,0,0,.28)!important}
body:has(.cap-grid) .tech{padding:18px 0!important;background:#f7faff!important}
body:has(.cap-grid) .pill{height:36px!important;border-radius:10px!important;box-shadow:0 4px 12px rgba(8,35,67,.035)}
body:has(.cap-grid) .process{padding:68px 0!important}
body:has(.cap-grid) .step{min-height:185px!important;border-radius:16px!important;background:#fff!important;box-shadow:0 8px 22px rgba(8,35,67,.035)!important;transition:transform .24s ease,box-shadow .24s ease!important}
body:has(.cap-grid) .step:hover{transform:translateY(-5px);box-shadow:var(--sd-shadow-md)!important}
body:has(.cap-grid) .cta{padding:8px 0 26px!important}
body:has(.cap-grid) .cta-box{min-height:130px!important;border-radius:20px!important;box-shadow:var(--sd-shadow-md)!important}

/* --- ABOUT / SERVICES / CASE STUDIES / CAREERS / CONTACT common hero polish --- */
body:has(.foundation-grid) .hero,
body:has(.products-grid) .hero,
body:has(.hero-proof) .hero,
body:has(.hero-points) .hero,
body:has(.contact-grid) .hero{
  position:relative!important;
  overflow:hidden!important;
  border-bottom:1px solid #e3edf7!important;
  background:
    radial-gradient(circle at 86% 18%,rgba(23,105,255,.12),transparent 28rem),
    linear-gradient(135deg,#fbfdff 0%,#f1f7ff 52%,#edf8ff 100%)!important;
}
body:has(.foundation-grid) .hero::after,
body:has(.products-grid) .hero::after,
body:has(.hero-proof) .hero::after,
body:has(.hero-points) .hero::after,
body:has(.contact-grid) .hero::after{
  content:"";position:absolute;right:-120px;top:-160px;width:420px;height:420px;border-radius:50%;border:1px solid rgba(23,105,255,.10);box-shadow:0 0 0 50px rgba(23,105,255,.025),0 0 0 100px rgba(23,105,255,.016);pointer-events:none
}
body:has(.foundation-grid) .hero-copy,
body:has(.products-grid) .hero-copy,
body:has(.hero-proof) .hero-in,
body:has(.hero-points) .hero-grid,
body:has(.contact-grid) .hero-grid{position:relative;z-index:2}

/* common cards */
.foundation-card,.product-card,.story,.value,.contact-card,.step,.premium-site .contact-form,.job-content,.job-apply{
  border-radius:var(--sd-radius)!important;
}
.foundation-card,.product-card,.contact-card,.value{
  border-color:var(--sd-border)!important;
  background:linear-gradient(180deg,#fff 0%,#fbfdff 100%)!important;
  box-shadow:0 8px 22px rgba(8,35,67,.04)!important;
  transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease!important;
}
.foundation-card:hover,.product-card:hover,.contact-card:hover,.value:hover{
  transform:translateY(-6px)!important;
  border-color:#c9dcef!important;
  box-shadow:var(--sd-shadow-md)!important;
}
.card-icon,.value-icon,.contact-icon,.metric-icon,.proof-icon,.step-icon{
  box-shadow:0 6px 16px rgba(23,105,255,.08)!important;
}

/* services product cards */
.products{padding-top:72px!important;padding-bottom:80px!important}
.products-grid{gap:18px!important}
.product-card{overflow:hidden!important}
.product-card .preview{background:linear-gradient(135deg,#f2f7ff,#edfaff)!important;border-top:1px solid #e5edf7!important}
.badge{border-radius:999px!important}

/* case studies */
body:has(.hero-proof) .filters{background:rgba(255,255,255,.88)!important;backdrop-filter:blur(12px);border-bottom:1px solid #e3ebf4!important}
body:has(.hero-proof) .chip{border-radius:999px!important;transition:all .2s ease!important}
body:has(.hero-proof) .chip:hover{transform:translateY(-1px);border-color:#b9d0ec!important}
body:has(.hero-proof) .chip.active{box-shadow:0 8px 18px rgba(23,105,255,.12)!important}
body:has(.hero-proof) .stories{padding-top:54px!important;padding-bottom:78px!important}
body:has(.hero-proof) .story{overflow:hidden!important;border:1px solid var(--sd-border)!important;box-shadow:var(--sd-shadow-sm)!important;transition:transform .25s ease,box-shadow .25s ease!important}
body:has(.hero-proof) .story:hover{transform:translateY(-7px);box-shadow:var(--sd-shadow-lg)!important}

/* careers */
body:has(.hero-points) .value-strip{background:linear-gradient(180deg,#fff,#f8fbff)!important;border-bottom:1px solid #e4edf6!important}
body:has(.hero-points) .jobs{padding-top:62px!important;padding-bottom:78px!important}
body:has(.hero-points) .filters{padding:14px!important;border:1px solid #e0eaf4!important;border-radius:18px!important;background:#fff!important;box-shadow:var(--sd-shadow-sm)!important}
body:has(.hero-points) .jobs-table{border-radius:18px!important;overflow:hidden!important;box-shadow:var(--sd-shadow-sm)!important}
body:has(.hero-points) .jobs-table tbody tr{transition:background .18s ease!important}
body:has(.hero-points) .jobs-table tbody tr:hover{background:#f7fbff!important}

/* contact */
body:has(.contact-grid) .contact-section{padding-top:66px!important;padding-bottom:76px!important}
body:has(.contact-grid) .contact-panel,
body:has(.contact-grid) .contact-form{
  border:1px solid var(--sd-border)!important;
  border-radius:22px!important;
  background:rgba(255,255,255,.96)!important;
  box-shadow:var(--sd-shadow-md)!important;
}
body:has(.contact-grid) .input,
body:has(.contact-grid) .select,
body:has(.contact-grid) .textarea,
.premium-site .input,
.premium-site .textarea{
  border-radius:12px!important;
  border-color:#d7e4f1!important;
  background:#fbfdff!important;
  transition:border-color .2s ease,box-shadow .2s ease,background .2s ease!important;
}
body:has(.contact-grid) .input:focus,
body:has(.contact-grid) .select:focus,
body:has(.contact-grid) .textarea:focus,
.premium-site .input:focus,
.premium-site .textarea:focus{
  outline:none!important;
  border-color:#7fb0ff!important;
  background:#fff!important;
  box-shadow:0 0 0 4px rgba(23,105,255,.09)!important;
}

/* legal + job pages from shared styles.css */
.premium-site{background:linear-gradient(180deg,#fbfdff 0,#fff 320px)!important}
.premium-legal-header,.premium-job-header{
  background:
    radial-gradient(circle at 85% 20%,rgba(23,105,255,.12),transparent 23rem),
    linear-gradient(135deg,#f8fbff,#eef6ff)!important;
  border-bottom:1px solid #e1ebf5!important;
}
.premium-legal-copy,.premium-job-header .container{padding-top:34px!important;padding-bottom:34px!important}
.legal-page{max-width:900px!important}
.legal-page h2,.job-content h2{color:var(--sd-ink)!important}
.job-detail-grid{gap:36px!important;align-items:start!important}
.job-content,.job-apply{
  border:1px solid var(--sd-border)!important;
  background:#fff!important;
  box-shadow:var(--sd-shadow-md)!important;
  padding:30px!important;
}
.job-apply{position:sticky!important;top:96px!important}
.job-meta{gap:8px!important}
.job-meta span{border-radius:999px!important;background:#eef5ff!important;border:1px solid #dae8f8!important;padding:7px 11px!important}

/* 404 */
.premium-404{min-height:calc(100vh - 76px)!important;background:radial-gradient(circle at 50% 18%,rgba(23,105,255,.13),transparent 25rem),linear-gradient(180deg,#fbfdff,#fff)!important}
.premium-404 .container{max-width:760px!important}

/* --- modern footer --- */
.sd-footer{
  position:relative;
  overflow:hidden;
  padding:46px 0 18px;
  background:linear-gradient(135deg,#02172a 0%,#042b4a 58%,#063c61 100%);
}
.sd-footer::after{content:"";position:absolute;right:-180px;top:-220px;width:520px;height:520px;border-radius:50%;border:1px solid rgba(255,255,255,.05);box-shadow:0 0 0 60px rgba(255,255,255,.014),0 0 0 120px rgba(255,255,255,.010);pointer-events:none}
.sd-footer-shell{position:relative;z-index:1;width:min(92%,1380px)}
.sd-footer-grid{gap:44px}
.sd-footer-brand img{height:57px}
.sd-footer-brand p{font-size:12px;line-height:1.65;max-width:310px;color:#b8cddd}
.sd-footer-col h4{font-size:10px;margin-bottom:12px}
.sd-footer-col a,.sd-footer-col span{font-size:11px;line-height:1.9}
.sd-footer-bottom{margin-top:28px;padding-top:16px}

/* accessibility + motion */
:focus-visible{outline:3px solid rgba(23,105,255,.28)!important;outline-offset:3px!important}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

@media(max-width:1180px){
  .sd-header{height:70px}.sd-nav-shell{grid-template-columns:184px minmax(0,1fr) 172px;gap:12px}.sd-brand img{height:39px}.sd-nav-links a{font-size:12.5px;padding:0 9px}.sd-header-cta{width:170px;height:44px;font-size:12.5px}
  body:has(.cap-grid) .hero,body:has(.cap-grid) .hero-in,body:has(.cap-grid) .hero-media,body:has(.cap-grid) .hero-media img{min-height:450px!important}
  body:has(.cap-grid) .hero-copy{padding-top:55px!important}
  body:has(.cap-grid) .cap-card{min-height:205px!important;padding:19px 16px!important}
}

@media(max-width:900px){
  html{scroll-padding-top:68px}
  .sd-header,.sd-header.is-scrolled{height:64px}
  .sd-nav-shell{width:92%}
  .sd-brand img{height:37px}
  .sd-nav-links{top:64px;padding-top:12px}
  body:has(.cap-grid) .hero,body:has(.cap-grid) .hero-in{min-height:auto!important}
  body:has(.cap-grid) .hero-copy{padding:48px 0 40px!important}
  body:has(.cap-grid) .hero-media,body:has(.cap-grid) .hero-media img{min-height:400px!important}
  body:has(.cap-grid) .cap{padding:50px 0!important}
  body:has(.cap-grid) .cap-card{min-height:0!important}
  .products,.stories,.jobs,.contact-section{padding-top:48px!important;padding-bottom:54px!important}
  .job-apply{position:static!important}
  .sd-footer{padding-top:36px}
}

@media(max-width:640px){
  .sd-header,.sd-header.is-scrolled{height:60px}
  .sd-nav-links{top:60px}
  body:has(.cap-grid) .hero h1{font-size:42px!important}
  body:has(.cap-grid) .hero-media,body:has(.cap-grid) .hero-media img{min-height:330px!important}
  .foundation-card,.product-card,.story,.value,.contact-card,.step,.job-content,.job-apply{border-radius:15px!important}
  .job-content,.job-apply{padding:22px!important}
  .sd-footer-grid{gap:26px}
}

/* =====================================================================
   SOFTCOM DIGITECH — MODERN 2026 V2
   High-end digital engineering visual system
   ===================================================================== */
:root{
  --v2-ink:#071a33;
  --v2-ink-2:#0d2a4a;
  --v2-blue:#126bff;
  --v2-cyan:#16b8f3;
  --v2-orange:#ff6b35;
  --v2-mint:#16b884;
  --v2-muted:#667c94;
  --v2-line:#e5edf6;
  --v2-soft:#f5f8fc;
  --v2-card:#ffffff;
  --v2-shadow:0 24px 70px rgba(13,42,74,.10);
  --v2-shadow-sm:0 12px 34px rgba(13,42,74,.07);
  --v2-radius:24px;
}

html{scroll-padding-top:90px}
body{background:#fff;color:var(--v2-ink)}
.wrap,.container{width:min(90%,1320px)!important;max-width:1320px!important}

/* HEADER — intentionally restrained so content leads */
.sd-header{height:76px!important;padding:0!important;background:rgba(255,255,255,.88)!important;border-bottom:1px solid rgba(7,26,51,.07)!important;box-shadow:none!important;backdrop-filter:blur(18px)!important;-webkit-backdrop-filter:blur(18px)!important}
.sd-nav-shell{width:min(92%,1420px)!important;max-width:1420px!important;height:76px!important;min-height:76px!important;margin:auto!important;padding:0 8px!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}



.sd-brand img{
    width:173px!important;
    height:auto!important;
    max-width:none!important;
    max-height:none!important;
    object-fit:contain!important;
}

.sd-nav-links{gap:4px!important}
.sd-nav-links a{height:42px!important;padding:0 14px!important;border-radius:12px!important;font-size:14px!important;font-weight:650!important;color:#40536c!important}
.sd-nav-links a.active{color:var(--v2-blue)!important;background:#edf3ff!important}
.sd-nav-links a.active::after{width:22px!important;bottom:5px!important;height:2px!important;background:var(--v2-blue)!important;box-shadow:none!important}
.sd-header-cta{width:auto!important;height:46px!important;padding:0 20px!important;border-radius:13px!important;background:#102b5e!important;box-shadow:0 9px 24px rgba(16,43,94,.18)!important;font-size:13px!important}
.sd-header-cta:hover{background:#0d254f!important;transform:translateY(-1px)!important}
.sd-header.is-scrolled{height:68px!important;background:rgba(255,255,255,.94)!important;box-shadow:0 10px 30px rgba(13,42,74,.06)!important}
.sd-header.is-scrolled .sd-nav-shell{height:68px!important;min-height:68px!important}

/* GLOBAL TYPOGRAPHY */
.eyebrow{font-size:11px!important;letter-spacing:.15em!important;font-weight:850!important;color:var(--v2-orange)!important}
.eyebrow:before{width:20px!important;height:2px!important;background:var(--v2-orange)!important}
h1,h2,.section-title{font-weight:820!important;letter-spacing:-.052em!important;color:var(--v2-ink)!important}
p{color:var(--v2-muted)}
.btn{border-radius:13px!important;font-weight:750!important}
.btn-primary{background:linear-gradient(135deg,var(--v2-blue),#2989ff)!important;box-shadow:0 14px 30px rgba(18,107,255,.22)!important}
.btn-primary:hover{box-shadow:0 18px 40px rgba(18,107,255,.30)!important}

/* HOME — EDITORIAL / ASYMMETRIC HERO */
body:has(.cap-grid) .hero{
  min-height:650px!important;
  padding:34px 0 42px!important;
  background:
    radial-gradient(circle at 72% 18%,rgba(22,184,243,.11),transparent 24rem),
    radial-gradient(circle at 16% 12%,rgba(18,107,255,.07),transparent 22rem),
    #fbfdff!important;
}
body:has(.cap-grid) .hero-in{
  width:min(90%,1320px)!important;
  max-width:1320px!important;
  min-height:560px!important;
  display:grid!important;
  grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr)!important;
  gap:62px!important;
  align-items:center!important;
}
body:has(.cap-grid) .hero-copy{padding:32px 0!important;align-self:center!important}
body:has(.cap-grid) .hero-copy .eyebrow{margin-bottom:22px!important}
body:has(.cap-grid) .hero h1{font-size:clamp(52px,5vw,76px)!important;line-height:.94!important;max-width:690px!important;margin:0!important}
body:has(.cap-grid) .hero-desc{font-size:16px!important;line-height:1.72!important;max-width:590px!important;margin:24px 0 28px!important}
body:has(.cap-grid) .hero-actions .btn{height:52px!important;padding:0 22px!important;font-size:12px!important}
body:has(.cap-grid) .trust{margin-top:30px!important;gap:22px!important;flex-wrap:wrap!important}
body:has(.cap-grid) .trust span{font-size:11px!important;background:#fff!important;border:1px solid var(--v2-line)!important;padding:9px 11px!important;border-radius:999px!important;box-shadow:0 7px 18px rgba(13,42,74,.04)!important}
body:has(.cap-grid) .hero-media{
  min-height:540px!important;
  height:540px!important;
  margin:0!important;
  border-radius:30px!important;
  overflow:hidden!important;
  box-shadow:0 30px 80px rgba(7,26,51,.16)!important;
  transform:rotate(.35deg)!important;
}
body:has(.cap-grid) .hero-media img{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;min-height:0!important;object-fit:cover!important;object-position:50% center!important}
body:has(.cap-grid) .hero-media:before{content:"";position:absolute;inset:0;z-index:2;background:linear-gradient(180deg,transparent 55%,rgba(4,20,37,.18));pointer-events:none}
body:has(.cap-grid) .idea-card{left:24px!important;top:24px!important;width:128px!important;padding:18px!important;border:1px solid rgba(255,255,255,.18)!important;border-radius:18px!important;background:rgba(5,30,58,.74)!important;backdrop-filter:blur(14px)!important}
body:has(.cap-grid) .outcome{right:22px!important;top:auto!important;bottom:22px!important;padding:13px 15px!important;border-radius:16px!important;background:rgba(255,255,255,.94)!important}
body:has(.cap-grid) .handnote{display:none!important}

/* HOME — capabilities as bento */
body:has(.cap-grid) .cap{padding:96px 0!important;background:#fff!important}
body:has(.cap-grid) .cap-top{grid-template-columns:1.25fr .7fr .3fr!important;gap:52px!important;padding-bottom:38px!important}
body:has(.cap-grid) .cap h2{font-size:clamp(42px,4vw,58px)!important;max-width:700px!important}
body:has(.cap-grid) .cap-top p{font-size:13px!important;line-height:1.7!important}
body:has(.cap-grid) .cap-grid{grid-template-columns:repeat(12,1fr)!important;gap:16px!important}
body:has(.cap-grid) .cap-card{grid-column:span 4!important;min-height:235px!important;padding:26px!important;border:1px solid var(--v2-line)!important;border-radius:24px!important;background:linear-gradient(145deg,#fff,#f8fbff)!important;box-shadow:none!important;position:relative!important;overflow:hidden!important}
body:has(.cap-grid) .cap-card:nth-child(1),body:has(.cap-grid) .cap-card:nth-child(4){grid-column:span 5!important}
body:has(.cap-grid) .cap-card:nth-child(2),body:has(.cap-grid) .cap-card:nth-child(3){grid-column:span 3.5!important}
body:has(.cap-grid) .cap-card:nth-child(5),body:has(.cap-grid) .cap-card:nth-child(6){grid-column:span 3.5!important}
/* fallback because fractional grid-column is invalid */
body:has(.cap-grid) .cap-card:nth-child(2),body:has(.cap-grid) .cap-card:nth-child(3),body:has(.cap-grid) .cap-card:nth-child(5),body:has(.cap-grid) .cap-card:nth-child(6){grid-column:span 3!important}
body:has(.cap-grid) .cap-card:after{content:"";position:absolute;right:-45px;bottom:-55px;width:140px;height:140px;border-radius:50%;background:radial-gradient(circle,rgba(18,107,255,.10),transparent 68%);transition:transform .3s ease}
body:has(.cap-grid) .cap-card:hover{transform:translateY(-7px)!important;box-shadow:var(--v2-shadow-sm)!important;border-color:#cfdef0!important}
body:has(.cap-grid) .cap-card:hover:after{transform:scale(1.25)}
body:has(.cap-grid) .cap-icon{width:48px!important;height:48px!important;border-radius:15px!important;margin-bottom:26px!important;background:linear-gradient(135deg,#eaf2ff,#eafaff)!important}
body:has(.cap-grid) .cap-card h3{font-size:17px!important;line-height:1.18!important;margin-bottom:12px!important}
body:has(.cap-grid) .cap-card p{font-size:12px!important;line-height:1.65!important;max-width:290px!important}

/* HOME — case study becomes a premium feature canvas */
body:has(.cap-grid) .case{margin:0 28px!important;border-radius:32px!important;background:linear-gradient(135deg,#04182d 0%,#07345d 58%,#086e9e 100%)!important;overflow:hidden!important}
body:has(.cap-grid) .case-in{width:min(90%,1280px)!important;min-height:570px!important;grid-template-columns:.82fr 1.18fr!important;gap:46px!important}
body:has(.cap-grid) .case h2{font-size:clamp(44px,4vw,60px)!important;max-width:520px!important;color:#fff!important}
body:has(.cap-grid) .case-desc{font-size:13px!important;line-height:1.72!important;max-width:500px!important}
body:has(.cap-grid) .metrics{gap:30px!important;margin:28px 0!important}
body:has(.cap-grid) .metric strong{font-size:24px!important}
body:has(.cap-grid) .dashboard{height:380px!important;width:100%!important;border:8px solid rgba(255,255,255,.10)!important;border-radius:24px!important;box-shadow:0 28px 70px rgba(0,0,0,.28)!important;transform:perspective(1200px) rotateY(-2.5deg)!important}
body:has(.cap-grid) .dash-wrap{height:440px!important}
body:has(.cap-grid) .tech{margin-top:24px!important;padding:22px 0!important;background:#f7faff!important;border:0!important}
body:has(.cap-grid) .tech-in{gap:26px!important}
body:has(.cap-grid) .pill{height:38px!important;padding:0 13px!important;border:1px solid #e2eaf4!important;border-radius:999px!important;background:#fff!important}

/* HOME — delivery steps as clean timeline */
body:has(.cap-grid) .process{padding:100px 0 92px!important;background:#fff!important}
body:has(.cap-grid) .process-top{margin-bottom:36px!important}
body:has(.cap-grid) .process h2{font-size:clamp(42px,4vw,58px)!important}
body:has(.cap-grid) .steps{grid-template-columns:repeat(5,1fr)!important;gap:14px!important}
body:has(.cap-grid) .step{min-height:210px!important;padding:24px!important;border:1px solid var(--v2-line)!important;border-radius:22px!important;background:#fff!important;box-shadow:none!important;position:relative!important}
body:has(.cap-grid) .step:before{content:"";position:absolute;left:24px;right:24px;top:0;height:3px;border-radius:0 0 3px 3px;background:linear-gradient(90deg,var(--v2-blue),var(--v2-cyan));opacity:0;transition:opacity .2s ease}
body:has(.cap-grid) .step:hover:before{opacity:1}
body:has(.cap-grid) .step:hover{transform:translateY(-5px)!important;box-shadow:var(--v2-shadow-sm)!important}
body:has(.cap-grid) .step h3{font-size:15px!important;margin-top:18px!important}
body:has(.cap-grid) .step p{font-size:11px!important;line-height:1.65!important}
body:has(.cap-grid) .cta{padding:0 0 74px!important}
body:has(.cap-grid) .cta-box{min-height:170px!important;border-radius:28px!important;padding:32px 40px!important;background:linear-gradient(118deg,#081d35 0%,#0c4d81 64%,#0998dc 100%)!important;box-shadow:var(--v2-shadow)!important}
body:has(.cap-grid) .cta-left h2{font-size:32px!important}

/* SHARED INTERNAL PAGE HERO — richer, less template-like */
body:has(.foundation-grid) .hero,
body:has(.products-grid) .hero,
body:has(.hero-proof) .hero,
body:has(.hero-points) .hero,
body:has(.contact-grid) .hero{
  min-height:auto!important;
  padding: 3px; 0 54px!important;
  background:
    radial-gradient(circle at 82% 18%,rgba(18,107,255,.14),transparent 24rem),
    radial-gradient(circle at 12% 8%,rgba(22,184,243,.08),transparent 20rem),
    linear-gradient(180deg,#fbfdff,#f4f8fd)!important;
  border-bottom:1px solid var(--v2-line)!important;
}
body:has(.foundation-grid) .hero h1,
body:has(.products-grid) .hero h1,
body:has(.hero-proof) .hero h1,
body:has(.hero-points) .hero h1,
body:has(.contact-grid) .hero h1{font-size:clamp(48px,5vw,72px)!important;line-height:.98!important;max-width:900px!important}
body:has(.foundation-grid) .hero p,
body:has(.products-grid) .hero p,
body:has(.hero-proof) .hero p,
body:has(.hero-points) .hero p,
body:has(.contact-grid) .hero p{font-size:15px!important;line-height:1.72!important}

/* ABOUT */
body:has(.foundation-grid) .hero-main{display:grid!important;grid-template-columns:1.25fr .75fr!important;gap:62px!important;align-items:end!important}
body:has(.foundation-grid) .hero-metrics{display:grid!important;grid-template-columns:1fr 1fr!important;gap:12px!important}
body:has(.foundation-grid) .hero-stat{min-height:100px!important;padding:18px!important;border:1px solid var(--v2-line)!important;border-radius:18px!important;background:rgba(255,255,255,.82)!important;box-shadow:0 10px 24px rgba(13,42,74,.05)!important}
body:has(.foundation-grid) .trust-strip{margin-top:42px!important;background:transparent!important;border:0!important}
body:has(.foundation-grid) .trust-in{display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:10px!important}
body:has(.foundation-grid) .trust-item{justify-content:center!important;padding:14px!important;border:1px solid var(--v2-line)!important;border-radius:14px!important;background:#fff!important}
body:has(.foundation-grid) .foundation{padding:92px 0!important}
body:has(.foundation-grid) .foundation-head{margin-bottom:36px!important}
body:has(.foundation-grid) .section-title{font-size:clamp(40px,4vw,56px)!important}
body:has(.foundation-grid) .foundation-grid{gap:18px!important}
body:has(.foundation-grid) .foundation-card{min-height:290px!important;padding:30px!important;border-radius:24px!important;border:1px solid var(--v2-line)!important;box-shadow:none!important}
body:has(.foundation-grid) .foundation-card:hover{transform:translateY(-7px)!important;box-shadow:var(--v2-shadow-sm)!important}
body:has(.foundation-grid) .story{padding:0 28px!important;background:#fff!important}
body:has(.foundation-grid) .story-shell{min-height:540px!important;display:grid!important;grid-template-columns:.85fr 1.15fr!important;grid-template-areas:"copy media" "values values"!important;gap:0!important;border-radius:30px!important;overflow:hidden!important;background:#071d34!important;box-shadow:var(--v2-shadow)!important}
body:has(.foundation-grid) .story-copy{grid-area:copy!important;padding:54px!important;align-self:center!important}
body:has(.foundation-grid) .story-copy h2{font-size:48px!important;color:#fff!important}
body:has(.foundation-grid) .story-copy p{font-size:13px!important;line-height:1.75!important;color:#b9cad9!important}
body:has(.foundation-grid) .story-media{grid-area:media!important;height:420px!important;overflow:hidden!important}
body:has(.foundation-grid) .story-media img{width:100%!important;height:100%!important;object-fit:cover!important}
body:has(.foundation-grid) .story-values{grid-area:values!important;display:grid!important;grid-template-columns:repeat(4,1fr)!important;background:rgba(255,255,255,.06)!important;border-top:1px solid rgba(255,255,255,.10)!important}
body:has(.foundation-grid) .story-value{padding:20px 24px!important;color:#fff!important}
body:has(.foundation-grid) .presence{padding:98px 0!important}
body:has(.foundation-grid) .presence-grid{grid-template-columns:.72fr 1.15fr .55fr!important;gap:46px!important;align-items:center!important}
body:has(.foundation-grid) .world{border:1px solid var(--v2-line)!important;border-radius:28px!important;background:linear-gradient(145deg,#f8fbff,#eef7ff)!important;padding:22px!important}

/* SERVICES */
body:has(.products-grid) .hero-grid{display:grid!important;grid-template-columns:1.15fr .65fr!important;gap:64px!important;align-items:center!important}
body:has(.products-grid) .metrics-panel{padding:28px!important;border:1px solid var(--v2-line)!important;border-radius:24px!important;background:rgba(255,255,255,.88)!important;box-shadow:var(--v2-shadow-sm)!important}
body:has(.products-grid) .metric-row{padding:15px 0!important;border-bottom:1px solid var(--v2-line)!important}
body:has(.products-grid) .trust-strip{margin-top:48px!important;display:grid!important;grid-template-columns:repeat(4,1fr)!important;border:1px solid var(--v2-line)!important;border-radius:18px!important;background:#fff!important;box-shadow:0 10px 26px rgba(13,42,74,.045)!important}
body:has(.products-grid) .products{padding:96px 0!important}
body:has(.products-grid) .section-head{margin-bottom:38px!important}
body:has(.products-grid) .section-title{font-size:clamp(40px,4vw,56px)!important}
body:has(.products-grid) .products-grid{grid-template-columns:repeat(2,1fr)!important;gap:20px!important}
body:has(.products-grid) .product-card{min-height:360px!important;border-radius:26px!important;border:1px solid var(--v2-line)!important;box-shadow:none!important;background:#fff!important}
body:has(.products-grid) .product-card:hover{transform:translateY(-7px)!important;box-shadow:var(--v2-shadow-sm)!important}
body:has(.products-grid) .product-body{padding:28px!important}
body:has(.products-grid) .services{padding:96px 0!important;background:#f6f9fd!important}
body:has(.products-grid) .service-grid{gap:16px!important}
body:has(.products-grid) .service-card{border-radius:22px!important;border:1px solid var(--v2-line)!important;background:#fff!important;box-shadow:none!important;transition:.25s ease!important}
body:has(.products-grid) .service-card:hover{transform:translateY(-5px)!important;box-shadow:var(--v2-shadow-sm)!important}
body:has(.products-grid) .engage{padding:96px 0!important}
body:has(.products-grid) .integrations{padding:72px 0!important;background:#071d34!important;color:#fff!important}
body:has(.products-grid) .integrations h2,body:has(.products-grid) .integrations h3{color:#fff!important}

/* CASE STUDIES */
body:has(.hero-proof) .hero-in{padding:0!important}
body:has(.hero-proof) .hero-proof{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:12px!important;margin-top:30px!important}
body:has(.hero-proof) .proof{padding:18px!important;border:1px solid var(--v2-line)!important;border-radius:18px!important;background:#fff!important;box-shadow:0 8px 20px rgba(13,42,74,.04)!important}
body:has(.hero-proof) .filters{position:sticky!important;top:68px!important;z-index:20!important;padding:14px 0!important;background:rgba(255,255,255,.88)!important;backdrop-filter:blur(18px)!important}
body:has(.hero-proof) .stories{padding:72px 0 100px!important}
body:has(.hero-proof) .stories-grid{gap:24px!important}
body:has(.hero-proof) .story{border-radius:26px!important;border:1px solid var(--v2-line)!important;background:#fff!important;box-shadow:none!important;overflow:hidden!important}
body:has(.hero-proof) .story:hover{transform:translateY(-8px)!important;box-shadow:var(--v2-shadow)!important}
body:has(.hero-proof) .story-body{padding:28px!important}

/* CAREERS */
body:has(.hero-points) .hero-grid{display:grid!important;grid-template-columns:1.08fr .92fr!important;gap:56px!important;align-items:center!important}
body:has(.hero-points) .hero-image{border-radius:28px!important;overflow:hidden!important;box-shadow:var(--v2-shadow)!important}
body:has(.hero-points) .hero-image img{width:100%!important;height:430px!important;object-fit:cover!important}
body:has(.hero-points) .value-strip{padding:22px 0!important}
body:has(.hero-points) .value-strip .wrap{display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:12px!important}
body:has(.hero-points) .value{min-height:105px!important;padding:18px!important;border-radius:18px!important;border:1px solid var(--v2-line)!important;background:#fff!important;box-shadow:none!important}
body:has(.hero-points) .jobs{padding:19px 0!important;background:#f7faff!important}
body:has(.hero-points) .filters{border-radius:20px!important;padding:16px!important;box-shadow:0 12px 32px rgba(13,42,74,.06)!important}
body:has(.hero-points) .jobs-table{border-radius:22px!important;box-shadow:0 14px 38px rgba(13,42,74,.06)!important}
body:has(.hero-points) .culture{padding:100px 0!important}
body:has(.hero-points) .culture-grid{grid-template-columns:.8fr 1.2fr!important;gap:60px!important;align-items:center!important}
body:has(.hero-points) .culture-images{gap:14px!important}
body:has(.hero-points) .culture-images img{border-radius:22px!important;box-shadow:var(--v2-shadow-sm)!important}

/* CONTACT */
body:has(.contact-grid) .hero-grid{grid-template-columns:1.15fr .65fr!important;gap:70px!important;align-items:end!important}
body:has(.contact-grid) .hero-note{padding:26px!important;border:1px solid var(--v2-line)!important;border-radius:22px!important;background:rgba(255,255,255,.84)!important;box-shadow:var(--v2-shadow-sm)!important}
body:has(.contact-grid) .contact-section{padding:92px 0!important;background:#fff!important}
body:has(.contact-grid) .contact-grid{grid-template-columns:.78fr 1.22fr!important;gap:28px!important;align-items:start!important}
body:has(.contact-grid) .contact-panel,body:has(.contact-grid) .contact-form{padding:32px!important;border-radius:26px!important;border:1px solid var(--v2-line)!important;background:#fff!important;box-shadow:var(--v2-shadow-sm)!important}
body:has(.contact-grid) .contact-panel{position:sticky!important;top:96px!important}
body:has(.contact-grid) .contact-card{padding:18px 0!important;border:0!important;border-bottom:1px solid var(--v2-line)!important;border-radius:0!important;box-shadow:none!important;background:transparent!important}
body:has(.contact-grid) .contact-card:last-child{border-bottom:0!important}
body:has(.contact-grid) .input,body:has(.contact-grid) .select,body:has(.contact-grid) .textarea{min-height:50px!important;border-radius:13px!important;background:#f8fbff!important}
body:has(.contact-grid) .textarea{min-height:150px!important}
body:has(.contact-grid) .process{padding:90px 0!important;background:#f6f9fd!important}
body:has(.contact-grid) .steps{gap:18px!important}
body:has(.contact-grid) .step{border-radius:22px!important;border:1px solid var(--v2-line)!important;background:#fff!important;box-shadow:none!important}
body:has(.contact-grid) .step-arrow{color:#a8b8c8!important}

/* COMMON CTA on internal pages */
body:has(.foundation-grid) .cta,body:has(.products-grid) .cta,body:has(.hero-proof) .cta,body:has(.hero-points) .cta,body:has(.contact-grid) .cta{padding:0 0 72px!important}
body:has(.foundation-grid) .cta-box,body:has(.products-grid) .cta-box,body:has(.hero-proof) .cta-box,body:has(.hero-points) .cta-box,body:has(.contact-grid) .cta-box{min-height:170px!important;padding:36px 42px!important;border-radius:28px!important;background:linear-gradient(120deg,#071d34,#0b4678 64%,#0a9ad9)!important;box-shadow:var(--v2-shadow)!important}
body:has(.foundation-grid) .cta-box h2,body:has(.products-grid) .cta-box h2,body:has(.hero-proof) .cta-box h2,body:has(.hero-points) .cta-box h2,body:has(.contact-grid) .cta-box h2{font-size:clamp(28px,3vw,38px)!important;color:#fff!important}

/* JOB + LEGAL PAGES */
body.premium-site{background:#fff!important}
body.page-job .premium-job-header,body.page-legal .premium-legal-header{padding:78px 0 68px!important;background:radial-gradient(circle at 82% 18%,rgba(18,107,255,.12),transparent 24rem),linear-gradient(180deg,#fbfdff,#f4f8fd)!important;border-bottom:1px solid var(--v2-line)!important}
body.page-job .premium-job-header .section-title,body.page-legal .premium-legal-header .section-title{font-size:clamp(46px,5vw,70px)!important}
body.premium-site .job-meta span{border-radius:999px!important;background:#fff!important;border:1px solid var(--v2-line)!important;padding:9px 14px!important}
body.premium-site .job-detail-grid{gap:54px!important}
body.premium-site .job-apply{border-radius:24px!important;box-shadow:var(--v2-shadow-sm)!important}
body.page-legal .legal-page{max-width:900px!important}
body.page-legal .legal-page h2{font-size:26px!important;margin-top:42px!important}
body.page-legal .legal-page p,body.page-legal .legal-page li{font-size:16px!important;line-height:1.82!important}

/* FOOTER */
.footer{padding:58px 0 22px!important;background:#041524!important}
.footer-in,.footer-grid{gap:42px!important}
.footer a{transition:color .2s ease,transform .2s ease!important}
.footer a:hover{color:#fff!important;transform:translateX(2px)!important}

/* reveal motion — only enhanced when JS adds class */
html.js-ready .sd-reveal{opacity:0;transform:translateY(22px);transition:opacity .65s ease,transform .65s cubic-bezier(.2,.7,.2,1)}
html.js-ready .sd-reveal.is-visible{opacity:1;transform:none}

@media(max-width:1100px){
  body:has(.cap-grid) .hero-in{gap:34px!important;grid-template-columns:1fr 1fr!important}
  body:has(.cap-grid) .hero h1{font-size:52px!important}
  body:has(.cap-grid) .cap-card{grid-column:span 4!important}
  body:has(.cap-grid) .case-in{grid-template-columns:1fr 1fr!important}
  body:has(.foundation-grid) .presence-grid{grid-template-columns:1fr!important}
  body:has(.products-grid) .hero-grid,body:has(.hero-points) .hero-grid,body:has(.contact-grid) .hero-grid{gap:36px!important}
}

@media(max-width:900px){
  .sd-header,.sd-nav-shell{height:68px!important;min-height:68px!important}
  .sd-nav-shell{width:calc(100% - 28px)!important}
  .sd-brand img{max-width:152px!important}
  .sd-menu-toggle{display:inline-flex!important}
  .sd-header-cta{display:none!important}
  .sd-nav-links{top:calc(100% + 8px)!important;left:0!important;right:0!important;height:auto!important;padding:10px!important;border:1px solid var(--v2-line)!important;border-radius:18px!important;background:rgba(255,255,255,.98)!important;box-shadow:var(--v2-shadow-sm)!important}
  body:has(.cap-grid) .hero{padding-top:30px!important}
  body:has(.cap-grid) .hero-in{grid-template-columns:1fr!important;min-height:auto!important}
  body:has(.cap-grid) .hero-copy{padding:32px 0 8px!important}
  body:has(.cap-grid) .hero-media{height:430px!important;min-height:430px!important;transform:none!important}
  body:has(.cap-grid) .cap-top{grid-template-columns:1fr!important;gap:18px!important}
  body:has(.cap-grid) .cap-grid{grid-template-columns:1fr 1fr!important}
  body:has(.cap-grid) .cap-card{grid-column:auto!important}
  body:has(.cap-grid) .case{margin:0 14px!important}
  body:has(.cap-grid) .case-in{grid-template-columns:1fr!important;padding:42px 0!important}
  body:has(.cap-grid) .steps{grid-template-columns:1fr 1fr!important}
  body:has(.foundation-grid) .hero-main,body:has(.products-grid) .hero-grid,body:has(.hero-points) .hero-grid,body:has(.contact-grid) .hero-grid{grid-template-columns:1fr!important}
  body:has(.foundation-grid) .story-shell{grid-template-columns:1fr!important;grid-template-areas:"copy" "media" "values"!important}
  body:has(.foundation-grid) .story-values{grid-template-columns:1fr 1fr!important}
  body:has(.products-grid) .products-grid{grid-template-columns:1fr!important}
  body:has(.hero-points) .culture-grid{grid-template-columns:1fr!important}
  body:has(.contact-grid) .contact-grid{grid-template-columns:1fr!important}
  body:has(.contact-grid) .contact-panel{position:static!important}
}

@media(max-width:620px){
  .wrap,.container{width:calc(100% - 28px)!important}
  body:has(.cap-grid) .hero h1,body:has(.foundation-grid) .hero h1,body:has(.products-grid) .hero h1,body:has(.hero-proof) .hero h1,body:has(.hero-points) .hero h1,body:has(.contact-grid) .hero h1{font-size:clamp(40px,12vw,54px)!important}
  body:has(.cap-grid) .hero-media{height:330px!important;min-height:330px!important;border-radius:22px!important}
  body:has(.cap-grid) .cap,body:has(.cap-grid) .process,body:has(.foundation-grid) .foundation,body:has(.foundation-grid) .presence,body:has(.products-grid) .products,body:has(.products-grid) .services,body:has(.products-grid) .engage,body:has(.hero-proof) .stories,body:has(.hero-points) .jobs,body:has(.hero-points) .culture,body:has(.contact-grid) .contact-section,body:has(.contact-grid) .process{padding:68px 0!important}
  body:has(.cap-grid) .cap-grid,body:has(.cap-grid) .steps{grid-template-columns:1fr!important}
  body:has(.cap-grid) .case{margin:0 10px!important;border-radius:24px!important}
  body:has(.cap-grid) .dashboard{height:300px!important;transform:none!important}
  body:has(.cap-grid) .dash-wrap{height:330px!important}
  body:has(.foundation-grid) .hero-metrics,body:has(.foundation-grid) .trust-in,body:has(.foundation-grid) .story-values,body:has(.products-grid) .trust-strip,body:has(.hero-points) .value-strip .wrap{grid-template-columns:1fr 1fr!important}
  body:has(.foundation-grid) .story{padding:0 10px!important}
  body:has(.foundation-grid) .story-copy{padding:34px 26px!important}
  body:has(.foundation-grid) .story-copy h2{font-size:38px!important}
  body:has(.foundation-grid) .story-media{height:300px!important}
  body:has(.hero-points) .hero-image img{height:310px!important}
  body:has(.contact-grid) .contact-panel,body:has(.contact-grid) .contact-form{padding:22px!important;border-radius:20px!important}
  body:has(.foundation-grid) .cta-box,body:has(.products-grid) .cta-box,body:has(.hero-proof) .cta-box,body:has(.hero-points) .cta-box,body:has(.contact-grid) .cta-box,body:has(.cap-grid) .cta-box{padding:28px 24px!important;border-radius:22px!important}
}

/* API form submission feedback */
.form-status{min-height:18px;margin:2px 0 8px;font-size:11px;line-height:1.4;font-weight:700;color:#526b84}
.form-status.success{color:#087a55}
.form-status.error{color:#b42318}
button[type="submit"]:disabled{opacity:.7;cursor:not-allowed}

/* =========================================================
   PROFESSIONAL MOBILE EXPERIENCE — 2026
   Dedicated compact footer + shared small-screen polish.
   Desktop/tablet visual system remains unchanged.
   ========================================================= */
.sd-mobile-footer{display:none}

@media(max-width:700px){
  html{scroll-padding-top:74px;-webkit-text-size-adjust:100%}
  body{overflow-x:hidden}
  img,svg,video{max-width:100%}
  button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}
  input,select,textarea{font-size:16px!important}

  /* Shared mobile header */
  .sd-header,.sd-header.is-scrolled{height:62px!important;min-height:62px!important}
  .sd-nav-shell{width:calc(100% - 24px)!important;height:62px!important;min-height:62px!important}
  .sd-brand img{height:34px!important;max-width:136px!important}
  .sd-menu-toggle{width:44px!important;height:44px!important;border-radius:13px!important;display:grid!important}
  .sd-nav-links{
    top:70px!important;
    left:12px!important;
    right:12px!important;
    width:auto!important;
    max-height:calc(100dvh - 84px)!important;
    overflow:auto!important;
    padding:8px!important;
    border-radius:18px!important;
  }
  .sd-nav-links a{min-height:48px!important;font-size:15px!important;padding:0 14px!important;border-radius:12px!important}

  /* Dedicated mobile footer: desktop footer is removed, not merely collapsed */
  .sd-footer{padding:0!important;background:#03182b!important}
  .sd-footer-shell{width:100%!important;margin:0!important}
  .sd-footer-desktop{display:none!important}
  .sd-mobile-footer{display:block;padding:30px 18px calc(20px + env(safe-area-inset-bottom));color:#bfd0e0}
  .sd-mobile-footer-brand{padding-bottom:22px;border-bottom:1px solid rgba(177,204,228,.16)}
  .sd-mobile-footer-brand img{display:block;height:38px;width:auto;filter:brightness(0) invert(1);opacity:.96}
  .sd-mobile-footer-brand p{max-width:330px;margin:12px 0 0;font-size:12.5px!important;line-height:1.65;color:#aebfd0}
  .sd-mobile-motto{margin-top:15px;color:#fff;font-size:18px;font-weight:800;letter-spacing:-.025em}
  .sd-mobile-motto span{color:#62c3ff}
  .sd-mobile-footer-accordions{margin-top:10px}
  .sd-mobile-footer-group{border-bottom:1px solid rgba(177,204,228,.14)}
  .sd-mobile-footer-toggle{width:100%;min-height:54px;padding:0;border:0;background:transparent;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:16px;text-align:left;font-size:13px;font-weight:800;cursor:pointer}
  .sd-mobile-footer-toggle svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s ease}
  .sd-mobile-footer-toggle[aria-expanded="true"] svg{transform:rotate(180deg)}
  .sd-mobile-footer-panel{padding:0 0 13px}
  .sd-mobile-footer-panel[hidden]{display:none!important}
  .sd-mobile-footer-panel a,.sd-mobile-footer-panel span{display:block;min-height:42px;padding:10px 0;color:#b8cadb;text-decoration:none;font-size:13px!important;line-height:1.6}
  .sd-mobile-footer-panel a:active{color:#fff}
  .sd-mobile-footer-contact{padding:20px 0;border-bottom:1px solid rgba(177,204,228,.14);display:grid;gap:7px}
  .sd-mobile-footer-contact a{color:#fff;text-decoration:none;font-size:14px!important;font-weight:750;overflow-wrap:anywhere}
  .sd-mobile-footer-contact span{font-size:12px!important;color:#8ea5b9}
  .sd-mobile-footer-legal{padding-top:18px}
  .sd-mobile-footer-legal>div{display:flex;gap:18px;flex-wrap:wrap}
  .sd-mobile-footer-legal a{color:#c0cfdd;text-decoration:none;font-size:12px!important;min-height:36px;display:inline-flex;align-items:center}
  .sd-mobile-footer-legal p{margin:11px 0 0;color:#7890a5;font-size:10.5px!important;line-height:1.5}

  /* Common mobile readability/touch targets */
  .btn,.ps-btn,.ct-btn,.ab-btn,.search-btn,.apply,.application-submit{min-height:46px!important}
  .eyebrow,.ps-eyebrow,.ct-eyebrow,.ab-eyebrow{font-size:10px!important;line-height:1.4!important}
  .form-status{font-size:12px!important;line-height:1.5!important}

  /* Products & Services page */
  .ps-wrap{width:calc(100% - 28px)!important}
  .ps-hero-grid{grid-template-columns:1fr!important;gap:26px!important;padding:30px 0 22px!important}
  .ps-hero-copy h1{font-size:clamp(38px,11.5vw,48px)!important;line-height:1!important}
  .ps-hero-copy p{font-size:14px!important;line-height:1.65!important}
  .ps-hero-actions{display:grid!important;grid-template-columns:1fr!important}
  .ps-btn{width:100%!important;font-size:13px!important}
  .ps-hero-visual{grid-template-columns:1fr!important;gap:12px!important}
  .ps-product-art{height:230px!important;padding:14px!important}
  .ps-summary{padding:16px!important}
  .ps-trust-grid{grid-template-columns:1fr 1fr!important}
  .ps-trust-item{min-height:58px!important;padding:10px!important;font-size:10.5px!important;border-bottom:1px solid #e4edf5}
  .ps-trust-item:nth-child(2n){border-right:0!important}
  .ps-trust-item:nth-last-child(-n+2){border-bottom:0!important}
  .ps-section{padding:50px 0!important}
  .ps-head{grid-template-columns:1fr!important;gap:12px!important;margin-bottom:20px!important}
  .ps-head p{justify-self:start!important;font-size:13px!important;line-height:1.65!important}
  .ps-title{font-size:32px!important}
  .ps-track{display:grid!important;grid-template-columns:1fr!important;gap:14px!important;overflow:visible!important}
  .product-card,.service-card{flex:none!important;width:100%!important;min-width:0!important}
  .product-card h3,.service-card h3{font-size:18px!important;line-height:1.3!important}
  .product-card p,.service-card p{font-size:13px!important;line-height:1.6!important}
  .product-features,.service-list{font-size:12.5px!important;line-height:1.55!important}
  .product-more,.service-more{font-size:12.5px!important;min-height:36px;display:inline-flex!important;align-items:center}
  .product-preview{height:170px!important}
  .ps-slide-btn,.ps-dots{display:none!important}

  /* VSD / product suite page: prevent dense two-column mobile cards */
  .vsd-wrap,.pd-wrap{width:calc(100% - 28px)!important}
  .vsd-grid,.pd-grid,.products-grid,.services-grid{grid-template-columns:1fr!important}

  /* Careers: mobile-first jobs list and application form */
  .career-application-modal{padding:0!important;align-items:flex-end!important}
  .career-modal-dialog{width:100%!important;max-width:none!important;max-height:92dvh!important;border-radius:22px 22px 0 0!important;padding:20px 16px calc(18px + env(safe-area-inset-bottom))!important}
  .career-modal-close{width:44px!important;height:44px!important;right:12px!important;top:12px!important}
  .career-form h3{font-size:22px!important;line-height:1.2!important}
  .form-grid{grid-template-columns:1fr!important;gap:13px!important}
  .form-grid label>span{font-size:12px!important}
  .form-grid input,.form-grid select{height:48px!important}
  .form-grid textarea{min-height:120px!important}
  .upload-field small,.consent-row{font-size:11.5px!important;line-height:1.55!important}
  .application-submit{width:100%!important;font-size:13px!important}
  .table-wrap{overflow:visible!important;border:0!important;background:transparent!important}
  .jobs-table{display:block!important;background:transparent!important;box-shadow:none!important;border:0!important}
  .jobs-table colgroup,.jobs-table thead{display:none!important}
  .jobs-table tbody{display:grid!important;gap:14px!important}
  .jobs-table tr{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px 12px!important;padding:18px!important;border:1px solid #dde8f3!important;border-radius:18px!important;background:#fff!important;box-shadow:0 10px 26px rgba(7,31,63,.055)!important}
  .jobs-table td{display:block!important;width:auto!important;padding:0!important;border:0!important;font-size:12px!important;line-height:1.5!important}
  .jobs-table td.title{grid-column:1/-1!important;font-size:17px!important;font-weight:850!important}
  .jobs-table td.desc{grid-column:1/-1!important;color:#60758a!important;font-size:12.5px!important}
  .jobs-table td.type{align-self:center!important}
  .jobs-table td:last-child{grid-column:1/-1!important;margin-top:4px!important}
  .jobs-table .apply{width:100%!important;display:flex!important;align-items:center!important;justify-content:center!important;font-size:13px!important}
  .final-job-filters{grid-template-columns:1fr!important;gap:10px!important;padding:14px!important}
  .control,.final-job-filters select{min-height:48px!important;font-size:16px!important}

  /* Contact */
  .ct-wrap{width:calc(100% - 28px)!important}
  .ct-hero-inner{padding:28px 0 30px!important}
  .ct-hero h1{font-size:clamp(38px,11vw,48px)!important;line-height:1!important}
  .ct-hero p{font-size:14px!important;line-height:1.65!important}
  .ct-actions{grid-template-columns:1fr!important}
  .ct-btn{font-size:13px!important}
  .ct-proof b{font-size:13px!important}.ct-proof small{font-size:11px!important}
  .ct-card,.ct-form-card{padding:20px 17px!important;border-radius:18px!important}
  .ct-card h2{font-size:30px!important}
  .ct-card-intro{font-size:13px!important;line-height:1.6!important}
  .ct-contact-label{font-size:10px!important}.ct-contact-item b{font-size:14px!important}.ct-contact-item small{font-size:11px!important}
  .ct-field label{font-size:12px!important}.ct-check{font-size:11.5px!important;line-height:1.55!important}
  .ct-input,.ct-select{height:48px!important}.ct-submit{height:48px!important;font-size:13px!important}

  /* Legal pages */
  body.page-legal .premium-legal-header{padding:42px 0 34px!important}
  body.page-legal .premium-legal-header .section-title{font-size:clamp(36px,11vw,46px)!important}
  body.page-legal .legal-page{padding-left:14px!important;padding-right:14px!important}
  body.page-legal .legal-page h2{font-size:22px!important;line-height:1.25!important;margin-top:32px!important}
  body.page-legal .legal-page p,body.page-legal .legal-page li{font-size:15px!important;line-height:1.75!important}
}

@media(max-width:390px){
  .sd-mobile-footer{padding-left:15px;padding-right:15px}
  .sd-mobile-motto{font-size:17px}
  .ps-hero-copy h1,.ct-hero h1{font-size:36px!important}
  .ps-title{font-size:29px!important}
  .jobs-table tr{grid-template-columns:1fr!important}
  .jobs-table td.title,.jobs-table td.desc,.jobs-table td:last-child{grid-column:auto!important}
}

@media(prefers-reduced-motion:reduce){
  .sd-mobile-footer-toggle svg{transition:none!important}
}

@media(max-width:700px){
  /* Home readability */
  .sd-home .sd-wrap{width:calc(100% - 28px)!important}
  .sd-home .sd-section-title{font-size:clamp(32px,10vw,40px)!important;line-height:1.08!important}
  .sd-home .sd-copy{font-size:13.5px!important;line-height:1.65!important}
  .sd-home .sd-cap-card{padding:20px!important;min-height:0!important}
  .sd-home .sd-cap-card h3{font-size:17px!important}
  .sd-home .sd-cap-card p{font-size:13px!important;line-height:1.6!important}
  .sd-home .sd-process-step h3{font-size:15px!important}
  .sd-home .sd-process-step p{font-size:12.5px!important;line-height:1.6!important}

  /* About page readability */
  .ab-wrap{width:calc(100% - 28px)!important}
  .ab-hero-copy h1{font-size:clamp(36px,10.8vw,46px)!important;line-height:1.02!important}
  .ab-hero-copy p,.ab-copy{font-size:13.5px!important;line-height:1.65!important}
  .ab-stats{grid-template-columns:repeat(3,1fr)!important}
  .ab-stat strong{font-size:22px!important}
  .ab-stat small{font-size:10px!important;line-height:1.4!important}
  .ab-summary-row b,.ab-people-chip b{font-size:10.5px!important}
  .ab-summary-row small,.ab-people-chip small{font-size:9.5px!important;line-height:1.35!important}
  .ab-foundation-item b{font-size:12.5px!important}.ab-foundation-item span{font-size:11.5px!important;line-height:1.45!important}
  .ab-capability{padding:20px!important}.ab-capability h3{font-size:17px!important}.ab-capability>p,.ab-cap-list{font-size:12.5px!important;line-height:1.6!important}
  .ab-final-copy{padding:25px 20px!important}.ab-final-copy .ab-copy{font-size:12.5px!important;line-height:1.6!important}

  /* Case studies */
  .cs-wrap{width:calc(100% - 28px)!important}
  .cs-title{font-size:clamp(36px,10.5vw,46px)!important;line-height:1.02!important}
  .cs-hero-copy p{font-size:13.5px!important;line-height:1.65!important}
  .cs-value-pill{font-size:11.5px!important;line-height:1.45!important}
  .cs-chip{min-height:42px!important;font-size:12px!important}
  .cs-search input,.cs-sort select{min-height:46px!important;font-size:16px!important}
  .cs-card-body{padding:18px!important}.cs-card h3{font-size:18px!important;line-height:1.3!important}
  .cs-card p{font-size:12.5px!important;line-height:1.6!important}.cs-tag{font-size:10px!important}.cs-card-link{font-size:12.5px!important;min-height:36px;display:inline-flex!important;align-items:center}
  .cs-note{font-size:11px!important;line-height:1.5!important}

  /* CTA blocks across public pages */
  .ps-cta-box,.cs-cta-box,.ab-final-box{border-radius:20px!important}
  .ps-cta-copy h2,.cs-cta h2{font-size:25px!important;line-height:1.12!important}
}

@media(max-width:430px){
  .ab-stats{grid-template-columns:1fr 1fr!important;gap:10px!important}
  .ab-stat{padding:10px!important;border:1px solid #dfe8f2!important;border-radius:12px!important}
  .ab-stat:last-child{grid-column:1/-1!important}
  .cs-search-row{grid-template-columns:1fr!important}
  .cs-sort{grid-column:auto!important}
}

/* =========================================================
   MOBILE UX POLISH — swipe cards, balanced media, touch safety
   Responsive-only additions. Desktop design remains unchanged.
   ========================================================= */
@media(max-width:700px){
  /* Keep mobile media predictable and avoid oversized image blocks. */
  .sd-home .sd-hero-media,
  .career-hero-media,
  .ab-story-photo,
  .ab-people-photo,
  .ab-final-photo{
    overflow:hidden!important;
    border-radius:20px!important;
  }
  .sd-home .sd-hero-media img,
  .career-hero-media img,
  .ab-story-photo img,
  .ab-people-photo img,
  .ab-final-photo img{
    width:100%!important;
    height:100%!important;
    display:block!important;
    object-fit:cover!important;
    object-position:center!important;
  }
  .sd-home .sd-hero-media{height:auto!important;min-height:0!important;aspect-ratio:4/3!important}
  .sd-home .sd-hero-media img{min-height:0!important}
  .career-hero-media{height:auto!important;min-height:0!important;aspect-ratio:4/3!important}
  .career-hero-media img{height:100%!important;min-height:0!important}
  .ab-story-photo,.ab-people-photo,.ab-final-photo{height:auto!important;min-height:0!important;aspect-ratio:16/10!important}

  /* Product/service artwork stays readable without dominating the card. */
  .product-preview{height:auto!important;aspect-ratio:16/9!important;overflow:hidden!important}
  .product-preview img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:top center!important}
  .service-art{height:auto!important;min-height:0!important;aspect-ratio:16/9!important;overflow:hidden!important}
  .service-art img{width:100%!important;height:100%!important;object-fit:contain!important;object-position:center!important}

  /* Reusable mobile swipe-row behavior. A small next-card peek teaches swiping. */
  .sd-home .sd-cap-grid,
  .ab-capability-grid,
  .ps-track,
  .cs-grid{
    display:flex!important;
    grid-template-columns:none!important;
    gap:14px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scroll-snap-type:x mandatory!important;
    scroll-padding-inline:14px!important;
    overscroll-behavior-inline:contain!important;
    -webkit-overflow-scrolling:touch!important;
    padding:2px 14px 12px 0!important;
    margin-right:-14px!important;
    scrollbar-width:thin!important;
    scrollbar-color:#b7c9dc #eef4fa!important;
  }
  .sd-home .sd-cap-grid::-webkit-scrollbar,
  .ab-capability-grid::-webkit-scrollbar,
  .ps-track::-webkit-scrollbar,
  .cs-grid::-webkit-scrollbar,
  .sd-tech-logos::-webkit-scrollbar,
  .cs-chips::-webkit-scrollbar{
    height:5px;
  }
  .sd-home .sd-cap-grid::-webkit-scrollbar-track,
  .ab-capability-grid::-webkit-scrollbar-track,
  .ps-track::-webkit-scrollbar-track,
  .cs-grid::-webkit-scrollbar-track,
  .sd-tech-logos::-webkit-scrollbar-track,
  .cs-chips::-webkit-scrollbar-track{
    background:#eef4fa;
    border-radius:999px;
  }
  .sd-home .sd-cap-grid::-webkit-scrollbar-thumb,
  .ab-capability-grid::-webkit-scrollbar-thumb,
  .ps-track::-webkit-scrollbar-thumb,
  .cs-grid::-webkit-scrollbar-thumb,
  .sd-tech-logos::-webkit-scrollbar-thumb,
  .cs-chips::-webkit-scrollbar-thumb{
    background:#b7c9dc;
    border-radius:999px;
  }

  .sd-home .sd-cap-card,
  .ab-capability-grid>.ab-capability,
  .ps-track>.product-card,
  .ps-track>.service-card,
  .cs-grid>.cs-card{
    flex:0 0 min(86vw,360px)!important;
    width:min(86vw,360px)!important;
    max-width:min(86vw,360px)!important;
    scroll-snap-align:start!important;
    scroll-snap-stop:always!important;
    margin:0!important;
  }

  /* Product/service tracks should be touch-driven on phones. */
  .ps-slider{overflow:visible!important}
  .ps-track{width:auto!important}
  .ps-slide-btn,.ps-dots{display:none!important}

  /* Technology and filter-chip rows: keep them compact and clearly scrollable. */
  .sd-tech-logos,
  .cs-chips{
    overflow-x:auto!important;
    overflow-y:hidden!important;
    flex-wrap:nowrap!important;
    scrollbar-width:thin!important;
    scrollbar-color:#b7c9dc #eef4fa!important;
    overscroll-behavior-inline:contain!important;
    -webkit-overflow-scrolling:touch!important;
    padding-bottom:8px!important;
  }
  .sd-tech-logos>* , .cs-chips>*{flex:0 0 auto!important}

  /* Touch + text comfort. */
  a,button,.btn,.apply,.search-btn,.ps-btn,.ct-btn,.ab-btn,.cs-chip{
    -webkit-tap-highlight-color:transparent;
  }
  .sd-nav-links a,.sd-menu-toggle,.cs-chip,.product-more,.service-more,.cs-card-link,.ab-cap-arrow{
    min-height:44px!important;
  }
  .ab-summary-row small,.ab-people-chip small{font-size:11px!important;line-height:1.4!important}
  .ab-summary-row b,.ab-people-chip b{font-size:11.5px!important}

  /* Prevent accidental horizontal page movement while preserving intentional swipe rows. */
  body{overflow-x:hidden!important}
  .sd-home,.ab-page,.ps-page,.cs-page{max-width:100%;overflow-x:clip}
}

@media(max-width:390px){
  .sd-home .sd-cap-card,
  .ab-capability-grid>.ab-capability,
  .ps-track>.product-card,
  .ps-track>.service-card,
  .cs-grid>.cs-card{
    flex-basis:88vw!important;
    width:88vw!important;
    max-width:88vw!important;
  }
  .sd-home .sd-hero-media,.career-hero-media{aspect-ratio:1/1!important}
}
@media(max-width:900px){
  body.sd-nav-open{overflow:hidden!important;touch-action:none}
  body.sd-nav-open .sd-nav-links{max-height:calc(100dvh - 84px);overflow-y:auto}
}
