.company-home { background: #080e14; }
.welcome-hero { position: relative; isolation: isolate; min-height: 600px; height: min(700px, calc(100svh - 118px)); display: flex; align-items: center; overflow: hidden; background: #e8ecee; color: #112b3e; }
.welcome-hero > img { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; }
.welcome-hero::before { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(245,247,248,.94), rgba(245,247,248,.78) 29%, rgba(245,247,248,0) 58%); pointer-events: none; }
.welcome-copy { padding: 42px 7%; }
.welcome-copy .welcome-offer, .welcome-copy .welcome-description { max-width: 430px; }
.welcome-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 16px 24px; }
.project-link { font-size: 14px; color: #153f60; padding: 12px 0; border-bottom: 1px solid #64849d; }
.welcome-copy .eyebrow { color: #146cae; }
.welcome-copy h1 { font-size: 72px; font-weight: 300; line-height: 1.04; margin: 24px 0; letter-spacing: 0; }
.welcome-offer { font-size: 23px; line-height: 1.4; margin-bottom: 16px; }
.welcome-description { color: #425c6f; font-size: 16px; line-height: 1.6; margin: 0 0 28px; }
.company-home .primary { border-radius: 0; box-shadow: none; gap: 32px; min-height: 50px; font-size: 13px; }
.welcome-caption { position: absolute; bottom: 22px; left: 7%; right: 7%; display: flex; gap: 24px; justify-content: space-between; font-size: 10px; color: #23455f; }
.welcome-caption a { color: #eef7ff; background: #132c3f; padding: 7px 12px; }
.home-services { padding: 68px 7% 74px; }
.home-heading h2 { font-size: 38px; margin: 18px 0 40px; }
.service-shortcuts { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 30px; }
.service-shortcuts > a { border-top: 1px solid #405365; padding-top: 20px; position: relative; }
.service-shortcuts span { color: #74b9ed; font-size: 11px; }
.service-shortcuts h3 { font-size: 23px; margin: 20px 0 12px; }
.service-shortcuts p { max-width: 225px; color: #b8c8d4; font-size: 15px; line-height: 1.7; margin-bottom: 0; }
.service-shortcuts b { position: absolute; right: 3px; top: 16px; font-weight: 400; color: #7ac1fa; }
.service-shortcuts a:hover h3 { color: #79c3fc; }
.home-intka { position: relative; isolation: isolate; min-height: 610px; display: flex; align-items: center; overflow: hidden; background: #020b17; }
.home-intka > img { position: absolute; z-index: -2; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 58%; }
.home-intka::before { content: ''; position: absolute; z-index: -1; inset: 0; background: linear-gradient(90deg, rgba(2,11,23,.92), rgba(2,11,23,.65) 32%, transparent 65%); pointer-events: none; }
.home-intka > div { padding: 60px 7%; max-width: 690px; }
.product-signature { width: 195px; height: auto; display: block; margin: 28px 0; }
.home-intka h2 { font-size: 44px; margin: 0; }
.home-intka p:not(.eyebrow) { color: #b6cde0; margin: 23px 0 30px; }
.home-proof { padding: 68px 7%; display: grid; grid-template-columns: 1fr 1.3fr; gap: 10%; background: #101c26; }
.home-proof h2 { font-size: 38px; }
.proof-links a { display: grid; grid-template-columns: minmax(110px,.7fr) minmax(0,1.3fr); align-items: baseline; gap: 20px; padding: 20px 0; border-bottom: 1px solid #374c5c; font-size: 19px; }
.proof-links span { line-height: 1.7; }
.proof-links span { font-size: 12px; color: #a1bed3; }
.home-contact { padding: 60px 7%; display: flex; align-items: center; justify-content: space-between; gap: 35px; }
.home-contact h2 { font-size: 36px; }
.home-contact .primary { flex-shrink: 0; }
.company-footer { padding: 30px 7% 90px; border-top: 1px solid #283e4f; display: flex; align-items: center; gap: 45px; justify-content: space-between; }
.company-footer nav { display: flex; gap: 22px; flex-wrap: wrap; font-size: 12px; color: #a2b6c6; }
.company-page-title { padding: 55px 8% 15px; }
.company-page-title a { font-size: 13px; color: #91b8d4; }
.company-page-title h1 { font-size: 48px; font-weight: 300; line-height: 1.15; margin: 24px 0; }
.company-detail .company-services { padding-top: 40px; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 20px; align-items: stretch; }
.company-detail .company-services article { border: 1px solid #344653; border-radius: 8px; background: #101e29; padding: 26px 22px; min-width: 0; display: flex; flex-direction: column; }
.company-detail .company-services article > .inline-link { margin-top: auto; padding-top: 28px; align-self: flex-start; }
.company-detail .company-services article h3 { font-size: 22px; line-height: 1.3; font-weight: 500; overflow-wrap: break-word; }
.company-detail .company-services article p { font-size: 15px; }
.company-detail .company-services article summary { cursor: pointer; }
.company-detail .company-services article:focus-within { border-color: #70b8ef; }
.company-detail .process-grid { gap: 20px; align-items: stretch; }
.company-detail .process-grid article { border: 1px solid #344653; border-radius: 8px; background: #101e29; padding: 26px 22px; min-width: 0; }
.company-detail .process-grid h3 { font-size: 22px; line-height: 1.3; font-weight: 500; overflow-wrap: break-word; }
.company-detail .process-grid p { margin-bottom: 0; }
.company-detail .company-cases { gap: 24px; align-items: stretch; }
.company-detail .company-cases article { border: 1px solid rgba(160,185,205,.24); border-radius: 8px; padding: 28px; min-width: 0; display: flex; flex-direction: column; }
.company-detail .company-cases article > details { margin-top: auto; }
.company-detail .company-cases summary { cursor: pointer; }
.company-detail .company-cases article:focus-within { border-color: rgba(120,190,240,.65); }
@media (max-width: 600px) {
  .company-detail .company-cases article { padding: 22px; }
  .company-detail .company-cases dl { gap: 10px; }
  .company-detail .company-cases dd { font-size: 24px; overflow-wrap: anywhere; }
}
@media (max-width: 1100px) {
  .company-detail .company-services { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 600px) {
  .company-detail .company-services { grid-template-columns: minmax(0,1fr); }
}
@media(max-width:1100px) {
  .welcome-copy h1 { font-size: 60px; }
  .welcome-offer { font-size: 20px; }
  .welcome-copy { padding-inline: 5%; }
  .service-shortcuts { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 30px; }
}
@media(max-width:600px) {
  .welcome-hero { height: auto; min-height: 710px; align-items: flex-end; }
  .welcome-hero > img { height: 390px; object-position: 82% top; }
  .welcome-hero::before { content: ''; position: absolute; z-index: -1; inset: 230px 0 0; background: linear-gradient(transparent,#e8ecee 145px); }
  .welcome-copy { padding: 320px 24px 64px; }
  .welcome-copy h1 { font-size: 48px; margin: 15px 0 18px; }
  .welcome-offer { font-size: 20px; }
  .welcome-description { font-size: 15px; margin-bottom: 23px; }
  .welcome-caption { left: 24px; bottom: 20px; }
  .welcome-caption a { display: none; }
  .home-services { padding: 48px 24px; }
  .home-heading h2 { font-size: 30px; margin-bottom: 30px; }
  .service-shortcuts { gap: 26px 20px; }
  .service-shortcuts h3 { font-size: 20px; }
  .service-shortcuts p { font-size: 14px; }
  .home-intka { min-height: 650px; align-items: flex-end; }
  .home-intka::before { content: none; }
  .home-intka > img { height: 380px; object-position: 77% top; }
  .home-intka::after { content: ''; position: absolute; z-index: -1; inset: 220px 0 0; background: linear-gradient(transparent,#020b17 160px); }
  .home-intka > div { padding: 310px 24px 48px; }
  .product-signature { width: 150px; margin: 20px 0; }
  .home-intka h2 { font-size: 34px; }
  .home-proof { padding: 48px 24px; grid-template-columns: 1fr; gap: 24px; }
  .home-proof h2 { font-size: 32px; }
  .proof-links a { font-size: 18px; }
  .proof-links span { font-size: 11px; }
  .home-contact { padding: 48px 24px; flex-direction: column; align-items: flex-start; gap: 25px; }
  .home-contact h2 { font-size: 30px; }
  .company-footer { align-items: flex-start; flex-direction: column; gap: 28px; padding: 30px 24px 95px; }
  .company-page-title { padding: 40px 24px 0; }
  .company-page-title h1 { font-size: 36px; }
}
