/* Shared corporate presentation. Brand assets, content and form contracts stay intact. */
:root {
  --bg:#ffffff; --surface:#f3f6fb; --surface2:#eaf0f8;
  --border:#dce4ef; --border2:#c6d2e2; --text:#152b49;
  --white:#152b49; --muted:#52647c; --semimuted:#38649a;
  --text2:#52647c; --text3:#5f7086; --bg2:#f3f6fb;
  --gold:#2156c5; --gold2:#386dd5; --accent:#2156c5;
  --space-2xl:6.5rem;
}
html { scroll-padding-top:110px; }
body { font-weight:400; text-rendering:optimizeLegibility; }
body::before { display:none; }
.nav,.nav.scrolled { background:rgba(255,255,255,.97); border-bottom:1px solid #dce4ef; box-shadow:0 3px 20px #152b4907; }
.nav-logo img { object-fit:contain; }
.nav-links a { font-weight:500; }
.nav-cta { background:#152b49; color:#fff; border:1px solid #152b49; border-radius:6px; }
.nav-cta:hover { background:#2156c5; color:#fff; }
.hero { min-height:760px; min-height: min(880px,100svh); margin-top:90px; padding:90px 6% 75px; background:linear-gradient(90deg,#f5f8fc 0%,#f5f8fcf5 36%,#f5f8fcb3 60%,#f5f8fc12 100%),url('assets/optimized/software-team-hero.webp') right center/cover no-repeat; border-bottom:1px solid #dce4ef; }
.hero .orb { display:none; }
.hero-content { max-width:800px; width:65%; }
.hero-title { font-family:var(--sans); font-size:clamp(44px,5.8vw,84px); font-weight:600; letter-spacing:-.055em; line-height:1.08; color:#152b49; }
.hero-title em { color:#2156c5; font-family:var(--serif); font-weight:400; }
.hero-sub { max-width:590px; font-size:18px; color:#465d78; line-height:1.8; font-weight:400; }
.hero-actions { gap:14px; flex-wrap:wrap; }
.btn-glow,.btn-primary,.drawer-cta { background:#2156c5; color:#fff; border-radius:6px; font-weight:500; box-shadow:0 5px 15px #2156c51a; }
.btn-glow:hover { background:#1946a5; box-shadow:0 7px 20px #2156c52a; transform:translateY(-2px); }
.btn-ghost { background:#ffffffb8; border-color:#b2c1d5; color:#152b49; border-radius:6px; font-weight:500; }
.hero-stats { border-top:1px solid #cbd7e7; padding-top:28px; margin-top:44px; gap:28px; }
.stat-num { color:#152b49; font-family:var(--sans); font-weight:600; }
.stat-label { color:#52647c; font-weight:500; }
.section-wrap { padding:96px 6%; }
.section-title { font-family:var(--sans); font-size:clamp(32px,4vw,54px); font-weight:500; font-style:normal; letter-spacing:-.035em; line-height:1.16; }
.section-title em { color:#38649a; font-family:var(--serif); }
.section-desc { font-weight:400; max-width:560px; }
.section-label { letter-spacing:.13em; font-weight:600; }
.service-card,.industry-card,.whyus-card,.testimonial-card,.email-card,.include-list { background:#fff; border:1px solid #dce4ef; border-radius:12px; box-shadow:0 4px 16px #152b4905; }
.service-card:hover,.industry-card:hover,.whyus-card:hover { border-color:#95b2df; box-shadow:0 12px 30px #152b4910; }
.service-title,.process-title,.whyus-title { font-weight:500; }
.service-desc,.process-desc,.whyus-desc { color:#52647c; font-weight:400; }
.trends-section,.industries-section,.supporting-capabilities { background:#f3f6fb; }
.ticker-wrap { background:#152b49; border:0; }
.ticker-item { color:#e3ecfa; }
.ticker-dot { color:#8facdf; }
.form-input,.form-select,.form-textarea { border:1px solid #c6d2e2; border-radius:6px; background:#fff; color:#152b49; }
.form-input:focus,.form-select:focus,.form-textarea:focus { outline:2px solid #2156c5; outline-offset:2px; }
.contact-form { border-radius:14px; }
.policy-content { color:#152b49; }
.reveal { opacity:1; transform:none; }
:focus-visible { outline:3px solid #2156c5; outline-offset:4px; }
@media (min-width:1500px) { .section-wrap { padding-left:max(6%,calc((100vw - 1320px)/2)); padding-right:max(6%,calc((100vw - 1320px)/2)); } }
@media (max-width:900px) {
  .hero { min-height:auto; padding:80px 6% 55px; background:linear-gradient(90deg,#f5f8fcfa,#f5f8fcdf),url('assets/optimized/software-team-hero.webp') center/cover; }
  .hero-content { width:100%; max-width:720px; }
  .hero-stats { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .section-wrap { padding:64px 6%; }
  .hero-sub { font-size:16px; }
}
@media (max-width:480px) {
  .hero { margin-top:80px; padding-top:54px; }
  .hero-title { font-size:43px; }
  .nav { gap:8px; padding-left:4%; padding-right:4%; }
  .nav-logo img { max-width:190px; }
  .hero-actions a { justify-content:center; padding:14px 20px; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto !important; }
  *,*::before,*::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
}

/* Original Thirisoft line illustrations: consistent optical size for both card sets. */
.service-icon,.industry-icon {
  display:flex; align-items:center; justify-content:center;
  width:76px; height:76px; margin-bottom:24px;
  background:linear-gradient(145deg,#f7fafe,#edf3fa);
  border:1px solid #dce6f2; border-radius:18px 18px 18px 5px;
  flex-shrink:0;
}
.service-icon img,.industry-icon img {
  display:block; width:60px; height:60px; max-width:100%; object-fit:contain;
}
.service-card:hover .service-icon,.industry-card:hover .industry-icon {
  border-color:#a4bfdc; background:#edf4fc;
}

/* Why Thirisoft uses the same icon scale and palette as services and industries. */
.whyus-icon {
  display:flex; align-items:center; justify-content:center;
  width:76px; height:76px; margin-bottom:24px;
  background:linear-gradient(145deg,#f7fafe,#edf3fa);
  border:1px solid #dce6f2; border-radius:18px 18px 18px 5px;
  flex-shrink:0;
}
.whyus-icon img { display:block; width:60px; height:60px; max-width:100%; object-fit:contain; }
.whyus-card:hover .whyus-icon { border-color:#a4bfdc; background:#edf4fc; }

/* Keep legal tables readable without pushing the mobile page beyond the viewport. */
.policy-content,.policy-layout { min-width:0; }
.policy-table-scroll { max-width:100%; overflow-x:auto; margin:20px 0; }
.policy-table-scroll .data-table { margin:0; }
.policy-content a { overflow-wrap:anywhere; }
