.section { padding: 112px max(32px, calc((100vw - 1380px) / 2)); }
.section-heading { display: grid; grid-template-columns: 1.25fr .75fr; gap: 90px; align-items: end; margin-bottom: 58px; }
.section-heading h2, .technology-copy h2, .experience-copy h2, .remote-content h2, .faq-title h2, .cta-section h2 { margin: 14px 0 0; font-size: clamp(42px, 4.4vw, 68px); line-height: 1.04; letter-spacing: -.045em; }
.section-heading > p { margin: 0; color: #5f6881; font-size: 18px; line-height: 1.7; }
.kicker { color: var(--blue); text-transform: uppercase; letter-spacing: .19em; font-size: 12px; font-weight: 800; }
.kicker.light { color: var(--cyan); }

.trust-strip { background: #fff; color: var(--navy); padding: 27px max(32px, calc((100vw - 1380px) / 2)); border-bottom: 1px solid #e9edf3; }
.trust-strip > p { margin: 0 0 20px; text-align: center; color: #7a8295; text-transform: uppercase; letter-spacing: .18em; font-size: 10px; font-weight: 800; }
.brand-row { display: flex; align-items: center; justify-content: space-between; gap: 28px; overflow: hidden; }
.brand-row span { white-space: nowrap; font-size: 18px; font-weight: 800; color: #47526d; letter-spacing: -.03em; }

.solutions-section { background: #f5f7fb; color: var(--navy); }
.solutions-grid { display: grid; grid-template-columns: repeat(4, 1fr); border: 1px solid #dfe5ee; border-radius: 28px; overflow: hidden; background: white; }
.solution-card { min-height: 360px; padding: 34px 30px; display: flex; flex-direction: column; border-right: 1px solid #dfe5ee; transition: transform .25s, background .25s; }
.solution-card:last-child { border-right: 0; }
.solution-card > span { color: var(--blue); font-size: 12px; font-weight: 800; letter-spacing: .16em; }
.solution-card h3 { margin: auto 0 14px; max-width: 220px; font-size: 27px; line-height: 1.08; letter-spacing: -.035em; }
.solution-card p { min-height: 92px; margin: 0 0 26px; color: #657089; font-size: 14px; line-height: 1.6; }
.solution-card a { display: flex; justify-content: space-between; align-items: center; padding-top: 20px; border-top: 1px solid #e5e9f0; font-size: 12px; font-weight: 800; }
.solution-card a b { font-size: 20px; color: var(--blue); }
.solution-card:hover { position: relative; transform: translateY(-8px); background: #fffef2; box-shadow: 0 24px 60px rgba(16,29,76,.12); }

.experience-section { background: var(--navy); display: grid; grid-template-columns: .74fr 1.26fr; gap: 94px; align-items: start; }
.experience-copy { position: sticky; top: 60px; }
.experience-copy h2 { color: white; }
.experience-copy p { max-width: 520px; color: rgba(255,255,255,.66); font-size: 18px; line-height: 1.7; }
.text-link { display: inline-flex; gap: 16px; align-items: center; margin-top: 18px; color: var(--yellow); font-size: 14px; font-weight: 800; }
.experience-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.experience-card { position: relative; min-height: 300px; padding: 28px; overflow: hidden; border-radius: 24px; color: #071b2b; display: flex; flex-direction: column; justify-content: space-between; }
.experience-card::after { content: ""; position: absolute; width: 220px; height: 220px; right: -105px; bottom: -90px; border: 2px solid rgba(16,29,76,.24); border-radius: 50%; }
.experience-card > span { width: fit-content; padding: 8px 12px; border: 1px solid currentColor; border-radius: 999px; text-transform: uppercase; letter-spacing: .12em; font-size: 9px; font-weight: 800; }
.experience-card h3 { margin: 0 0 10px; font-size: 34px; letter-spacing: -.045em; }
.experience-card p { max-width: 310px; margin: 0; font-size: 14px; line-height: 1.55; }
.experience-card i { position: absolute; top: 25px; right: 27px; font-size: 30px; font-style: normal; }
.experience-card.yellow { background: var(--yellow); }
.experience-card.green { background: var(--green); }
.experience-card.orange { background: #ffa51f; }
.experience-card.cyan { background: var(--cyan); }

.live-section { background: var(--navy); padding-top: 0; }
.video-frame { position: relative; height: min(70vw, 740px); min-height: 500px; overflow: hidden; border-radius: 36px; }
.video-frame::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(8,18,61,.9), rgba(8,18,61,.06) 70%); }
.video-frame > img { width: 100%; height: 100%; object-fit: cover; }
.play-button { position: absolute; z-index: 2; inset: 50% auto auto 50%; transform: translate(-50%,-50%); display: grid; justify-items: center; gap: 16px; text-align: center; }
.play-button span { width: 90px; height: 90px; display: grid; place-items: center; padding-left: 5px; border-radius: 50%; background: var(--yellow); color: var(--navy); font-size: 25px; box-shadow: 0 18px 60px rgba(0,0,0,.28); }
.play-button b { font-size: 15px; }
.video-caption { position: absolute; z-index: 2; left: 42px; bottom: 34px; display: flex; gap: 12px; align-items: center; color: rgba(255,255,255,.72); font-size: 13px; }
.video-caption span { padding: 8px 12px; border-radius: 999px; background: #ff354d; color: white; font-size: 10px; text-transform: uppercase; font-weight: 800; letter-spacing: .12em; }

.technology-section { background: white; color: var(--navy); display: grid; grid-template-columns: 1fr 1fr; gap: 100px; align-items: center; }
.technology-visual { position: relative; min-height: 620px; border-radius: 40px; overflow: hidden; background: linear-gradient(145deg, #08afd4, #08759f); }
.technology-visual > img { position: absolute; width: 62%; height: 78%; left: 9%; bottom: 0; object-fit: cover; border-radius: 220px 220px 0 0; filter: saturate(.85); }
.tech-ring { position: absolute; border: 2px solid rgba(255,255,255,.38); border-radius: 50%; }
.ring-a { width: 410px; height: 410px; top: -180px; right: -100px; }
.ring-b { width: 180px; height: 180px; top: 70px; right: 35px; border-color: rgba(255,224,0,.72); }
.response-card { position: absolute; right: 6%; bottom: 9%; width: 260px; padding: 24px; border-radius: 22px; background: rgba(16,29,76,.94); box-shadow: 0 24px 50px rgba(5,22,55,.3); }
.response-card small { color: #aab5d0; }
.response-card strong { display: block; margin: 5px 0 22px; font-size: 23px; }
.bars { display: grid; gap: 8px; }
.bars i { height: 8px; border-radius: 10px; background: linear-gradient(90deg, var(--green) 75%, #35426c 75%); }
.bars i:nth-child(2) { background: linear-gradient(90deg, var(--cyan) 51%, #35426c 51%); }
.bars i:nth-child(3) { background: linear-gradient(90deg, var(--yellow) 33%, #35426c 33%); }
.bars i:nth-child(4) { background: linear-gradient(90deg, #ff8e37 21%, #35426c 21%); }
.technology-copy h2 { margin-bottom: 24px; }
.technology-copy > p { color: #606a82; font-size: 18px; line-height: 1.75; }
.technology-copy ul { list-style: none; padding: 0; margin: 36px 0 0; border-top: 1px solid #dfe5ee; }
.technology-copy li { display: grid; grid-template-columns: .8fr 1.2fr; gap: 20px; padding: 20px 0; border-bottom: 1px solid #dfe5ee; }
.technology-copy li b { font-size: 15px; }
.technology-copy li span { color: #6d768a; font-size: 13px; line-height: 1.5; }

.remote-section { position: relative; overflow: hidden; padding: 108px max(32px, calc((100vw - 1180px) / 2)); background: linear-gradient(135deg, #087fa9, #10b9d4); display: grid; grid-template-columns: 1.3fr .7fr; gap: 110px; align-items: center; }
.remote-section::before { content: ""; position: absolute; width: 520px; height: 520px; left: -300px; top: -210px; border: 2px solid rgba(255,224,0,.7); border-radius: 50%; }
.remote-content { position: relative; z-index: 1; }
.remote-content > p { max-width: 720px; color: rgba(255,255,255,.78); font-size: 19px; line-height: 1.7; }
.remote-badges { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 32px; }
.remote-badges span { padding: 11px 15px; border: 1px solid rgba(255,255,255,.28); border-radius: 999px; background: rgba(16,29,76,.18); font-size: 11px; font-weight: 700; }
.phone-demo { position: relative; width: 300px; min-height: 570px; padding: 54px 24px 24px; border: 10px solid #101627; border-radius: 52px; background: #f6f7fa; color: var(--navy); box-shadow: 0 32px 80px rgba(3,24,55,.32); transform: rotate(4deg); }
.phone-top { position: absolute; width: 110px; height: 22px; top: 0; left: 50%; transform: translateX(-50%); border-radius: 0 0 15px 15px; background: #101627; }
.phone-demo small { color: #81899b; font-size: 10px; }
.phone-demo > p { margin: 24px 0; font-size: 18px; line-height: 1.35; font-weight: 700; }
.answer-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.answer-grid span { height: 90px; border-radius: 20px; display: grid; place-items: center; background: white; border: 1px solid #e0e5ed; box-shadow: 0 7px 18px rgba(16,29,76,.06); font-size: 26px; font-weight: 800; }
.answer-grid span:first-child { background: var(--green); }
.phone-demo > b { position: absolute; left: 0; right: 0; bottom: 28px; text-align: center; color: var(--blue); font-size: 9px; letter-spacing: .15em; }

.process-section { background: #f5f7fb; color: var(--navy); }
.section-heading.compact { margin-bottom: 42px; }
.process-list { list-style: none; padding: 0; margin: 0; border-top: 1px solid #dce2eb; }
.process-list li { display: grid; grid-template-columns: 100px 1fr; gap: 28px; align-items: center; padding: 28px 10px; border-bottom: 1px solid #dce2eb; transition: padding .2s, background .2s; }
.process-list li:hover { padding-left: 28px; background: white; }
.process-list li > span { color: var(--blue); font-size: 13px; font-weight: 800; letter-spacing: .15em; }
.process-list li > div { display: grid; grid-template-columns: .8fr 1.2fr; gap: 40px; align-items: center; }
.process-list h3 { margin: 0; font-size: 25px; letter-spacing: -.025em; }
.process-list p { margin: 0; color: #687287; font-size: 14px; }

.proof-section { background: white; color: var(--navy); display: grid; grid-template-columns: 1fr 1fr; gap: 0; padding-top: 0; padding-bottom: 0; }
.proof-photo { min-height: 650px; margin-left: min(-32px, calc((1380px - 100vw) / 2)); overflow: hidden; }
.proof-photo img { width: 100%; height: 100%; object-fit: cover; }
.proof-copy { padding: 92px 0 92px 85px; align-self: center; }
.quote-mark { color: var(--yellow); font-size: 110px; line-height: .5; font-weight: 800; }
.proof-copy blockquote { margin: 34px 0 22px; font-size: clamp(34px, 3.4vw, 54px); line-height: 1.08; letter-spacing: -.045em; font-weight: 700; }
.proof-copy > p { color: #687287; font-size: 16px; }
.proof-points { display: grid; gap: 12px; margin-top: 34px; }
.proof-points span { padding-left: 18px; border-left: 3px solid var(--green); font-size: 13px; font-weight: 700; }

.faq-section { background: #f5f7fb; color: var(--navy); display: grid; grid-template-columns: .7fr 1.3fr; gap: 90px; }
.faq-title { position: sticky; top: 60px; align-self: start; }
.faq-list { border-top: 1px solid #dce2eb; }
.faq-list details { border-bottom: 1px solid #dce2eb; }
.faq-list summary { position: relative; cursor: pointer; list-style: none; padding: 28px 50px 28px 0; font-size: 18px; font-weight: 700; }
.faq-list summary::after { content: "+"; position: absolute; right: 5px; top: 20px; color: var(--blue); font-size: 28px; }
.faq-list details[open] summary::after { content: "–"; }
.faq-list details p { margin: -8px 60px 28px 0; color: #687287; line-height: 1.7; }

.cta-section { position: relative; overflow: hidden; padding: 130px max(32px, calc((100vw - 1080px) / 2)); background: var(--navy); text-align: center; }
.cta-section::before { content: ""; position: absolute; width: 420px; height: 420px; left: -250px; bottom: -230px; border-radius: 50%; background: var(--green); }
.cta-orbit { position: absolute; width: 360px; height: 360px; right: -180px; top: -180px; border: 2px solid var(--yellow); border-radius: 50%; }
.cta-section h2 { position: relative; max-width: 900px; margin: 18px auto; }
.cta-section > p { position: relative; max-width: 670px; margin: 0 auto; color: rgba(255,255,255,.68); font-size: 18px; line-height: 1.7; }
.cta-actions { position: relative; justify-content: center; margin-top: 34px; }

footer { padding: 46px max(32px, calc((100vw - 1380px) / 2)); background: #091336; display: grid; grid-template-columns: auto 1fr auto; gap: 34px; align-items: center; }
.footer-brand img { width: 90px; height: 72px; object-fit: contain; }
footer > p { color: rgba(255,255,255,.62); font-size: 13px; }
footer nav { font-size: 12px; }
footer small { grid-column: 2 / -1; color: rgba(255,255,255,.35); font-size: 10px; }

@media (max-width: 1050px) {
  .solutions-grid { grid-template-columns: 1fr 1fr; }
  .solution-card:nth-child(2) { border-right: 0; }
  .solution-card:nth-child(-n+2) { border-bottom: 1px solid #dfe5ee; }
  .experience-section, .technology-section, .proof-section, .faq-section { grid-template-columns: 1fr; }
  .experience-copy, .faq-title { position: static; }
  .technology-visual { min-height: 540px; }
  .proof-photo { min-height: 520px; margin: 0; }
  .proof-copy { padding: 75px 0; }
  .remote-section { gap: 50px; }
  .brand-row { justify-content: flex-start; overflow-x: auto; padding-bottom: 6px; }
}

@media (max-width: 760px) {
  .section { padding: 78px 20px; }
  .section-heading { grid-template-columns: 1fr; gap: 24px; margin-bottom: 36px; }
  .section-heading h2, .technology-copy h2, .experience-copy h2, .remote-content h2, .faq-title h2, .cta-section h2 { font-size: 40px; }
  .trust-strip { padding-left: 20px; padding-right: 20px; }
  .solutions-grid, .experience-grid { grid-template-columns: 1fr; }
  .solution-card { min-height: 320px; border-right: 0; border-bottom: 1px solid #dfe5ee; }
  .solution-card:last-child { border-bottom: 0; }
  .experience-section { gap: 48px; }
  .live-section { padding-top: 0; }
  .video-frame { min-height: 460px; border-radius: 22px; }
  .video-caption { left: 18px; right: 18px; bottom: 18px; align-items: flex-start; }
  .technology-section { gap: 52px; }
  .technology-visual { min-height: 500px; }
  .technology-visual > img { width: 80%; }
  .response-card { width: 230px; }
  .technology-copy li { grid-template-columns: 1fr; gap: 7px; }
  .remote-section { padding: 78px 20px; grid-template-columns: 1fr; justify-items: center; }
  .remote-content { width: 100%; }
  .phone-demo { width: 280px; transform: none; }
  .process-list li { grid-template-columns: 50px 1fr; padding-left: 0; padding-right: 0; }
  .process-list li > div { grid-template-columns: 1fr; gap: 8px; }
  .proof-photo { min-height: 430px; }
  .proof-copy { padding: 60px 0 10px; }
  .faq-section { gap: 45px; }
  .cta-section { padding: 95px 20px; }
  footer { grid-template-columns: 1fr; text-align: center; justify-items: center; }
  footer nav { flex-wrap: wrap; justify-content: center; gap: 18px; }
  footer small { grid-column: auto; }
}
