/* ===== RESET & BASE ===== */
*, *::before, *::after {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html {
  font-family: 'Inter', sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body {
  width: 100%;
  margin: 0;
  overflow-x: hidden;
  background: #fff;
}

.section-inner {
  position: relative;
  max-width: 1440px;
  width: 100%;
  height: 100%;
  margin-left: auto;
  margin-right: auto;
}

a {
  text-decoration: none;
  color: inherit;
}

ul {
  list-style: none;
}

img {
  display: block;
  max-width: 100%;
}

p {
  margin: 0;
}

/* ===== TOP HEADER ===== */
.top-header {
  position: fixed;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  max-width: 1440px;
  width: 100%;
  height: 96px;
  z-index: 1000;
  padding: 20px 20px 0;
}

/* Frosted glass strip above the pill, from pill top-edge to top of browser.
   Mask fades left/right edges to match the pill's rounded corners (~28px). */
.top-header::before {
  content: '';
  position: absolute;
  top: 0;
  left: 20px;   /* match header padding-left = pill left edge */
  right: 20px;  /* match header padding-right = pill right edge */
  height: 20px; /* match header padding-top = gap above pill */
  background: transparent;
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  -webkit-mask-image: linear-gradient(to right, transparent, black 28px, black calc(100% - 28px), transparent);
  mask-image: linear-gradient(to right, transparent, black 28px, black calc(100% - 28px), transparent);
  pointer-events: none;
}

.menu-area {
  display: flex;
  align-items: center;
  height: 56px;
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(255, 255, 255, 0.55);
  border-radius: 100px;
  padding: 0 20px 0 30px;
  box-shadow: 0 2px 20px rgba(0, 0, 0, 0.07);
}

.logo {
  display: block;
  width: 125px;
  height: 30px;
  flex-shrink: 0;
}

.logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.main-nav {
  display: flex;
  align-items: center;
  gap: 0;
  margin-left: auto;
}

/* Body scroll lock when overlay menu is open */
body.nav-open {
  overflow: hidden;
}

.nav-link {
  font-family: 'Roboto', sans-serif;
  font-weight: 600;
  font-size: 16px;
  color: #000;
  padding: 0 30px;
  line-height: 56px;
}

.nav-link--faded {
  opacity: 0.8;
}

.contact-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 33px;
  padding: 0 24px;
  margin-left: 20px;
  background: #4682b4;
  border: 1.5px solid #4682b4;
  border-radius: 20px;
  box-shadow: 0 4px 4px rgba(0, 0, 0, 0.1);
  font-family: 'Inter', sans-serif;
  font-weight: 500;
  font-size: 16px;
  color: #fff;
  white-space: nowrap;
  flex-shrink: 0;
}

/* ===== CONTACT US MODAL ===== */
.modal-backdrop {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.80);
  z-index: 2000;
  align-items: center;
  justify-content: center;
  animation: modalBackdropFade 0.2s ease;
}
.modal-backdrop.open { display: flex; }

@keyframes modalBackdropFade {
  from { opacity: 0; }
  to   { opacity: 1; }
}

.modal-panel {
  background: #fff;
  border-radius: 15px;
  padding: 32px 36px 36px;
  width: 676px;
  max-width: calc(100vw - 32px);
  max-height: calc(100vh - 48px);
  overflow-y: auto;
  position: relative;
  animation: modalPanelSlide 0.22s ease;
}

@keyframes modalPanelSlide {
  from { opacity: 0; transform: translateY(-16px); }
  to   { opacity: 1; transform: translateY(0); }
}

.modal-close {
  position: absolute;
  top: 14px;
  right: 16px;
  background: none;
  border: none;
  cursor: pointer;
  color: #2563eb;
  font-size: 22px;
  line-height: 1;
  padding: 4px 8px;
  border-radius: 4px;
  transition: background 0.15s;
}
.modal-close:hover { background: rgba(37, 99, 235, 0.08); }

.modal-title {
  font-family: 'Poppins', Helvetica, sans-serif;
  font-size: 26px;
  font-weight: 400;
  color: rgba(0, 0, 0, 0.87);
  margin-bottom: 24px;
}

.modal-contact-row {
  display: flex;
  flex-direction: row;
  gap: 48px;
  margin-bottom: 32px;
}

.modal-contact-box {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.modal-contact-country {
  font-family: 'Inter', sans-serif;
  font-size: 16px;
  font-weight: 500;
  color: rgba(0, 0, 0, 0.87);
  margin-bottom: 2px;
}

.modal-contact-detail {
  font-family: 'Inter', sans-serif;
  font-size: 16px;
  color: rgba(0, 0, 0, 0.87);
  line-height: 1.6;
}

.modal-contact-detail a {
  color: inherit;
  text-decoration: none;
}
.modal-contact-detail a:hover { text-decoration: underline; }

/* HubSpot form overrides */
#hubspot-form-container .hs_email,
#hubspot-form-container .hs_firstname,
#hubspot-form-container .hs_lastname,
#hubspot-form-container .hs_message {
  margin-bottom: 16px;
}

#hubspot-form-container .hs-form-field > label {
  display: block;
  font-family: 'Inter', sans-serif;
  font-size: 14px;
  font-weight: 500;
  color: rgba(0, 0, 0, 0.87);
  margin-bottom: 6px;
}

#hubspot-form-container .hs-input {
  width: 100% !important;
  padding: 10px 14px;
  font-family: 'Inter', sans-serif;
  font-size: 15px;
  color: rgba(0, 0, 0, 0.87);
  background: #f1f3f6;
  border: 1px solid #d1d5db;
  border-radius: 6px;
  outline: none;
  transition: border-color 0.2s, background 0.2s;
}
#hubspot-form-container .hs-input:focus {
  border-color: #4682b4;
  background: #fff;
}
#hubspot-form-container textarea.hs-input {
  min-height: 110px;
  resize: vertical;
}

#hubspot-form-container .hs-button.primary {
  display: inline-block;
  background: rgb(70, 130, 180);
  color: #fff;
  font-family: 'Inter', sans-serif;
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.04em;
  padding: 11px 28px;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  margin-top: 8px;
  transition: background 0.2s ease;
}
#hubspot-form-container .hs-button.primary:hover {
  background: rgb(50, 110, 160);
}

#hubspot-form-container .hs-error-msgs {
  list-style: none;
  margin-top: 4px;
}
#hubspot-form-container .hs-error-msgs .hs-error-msg {
  color: #dc2626;
  font-size: 13px;
}

#hubspot-form-container .submitted-message {
  font-family: 'Inter', sans-serif;
  font-size: 16px;
  color: rgba(0, 0, 0, 0.87);
  padding: 16px 0;
}

@media (max-width: 600px) {
  .modal-panel { padding: 24px 20px 28px; }
  .modal-contact-row { flex-direction: column; gap: 20px; }
  .modal-title { font-size: 22px; }
}

/* ===== REQUEST A DEMO MODAL ===== */
.demo-modal-panel {
  display: flex;
  width: 1000px;
  max-width: calc(100vw - 48px);
  max-height: calc(100vh - 48px);
  border-radius: 15px;
  overflow: hidden;
  position: relative;
  animation: modalPanelSlide 0.22s ease;
}

.demo-modal-left {
  flex: 0 0 520px;
  background: #fff;
  padding: 32px 36px 36px;
  overflow-y: auto;
}

.demo-modal-title {
  font-family: 'Poppins', Helvetica, sans-serif;
  font-size: 26px;
  font-weight: 400;
  color: rgba(0, 0, 0, 0.87);
  margin-bottom: 24px;
}

.demo-modal-right {
  flex: 1;
  background-color: #0d1b2a;
  background-image:
    radial-gradient(ellipse at 25% 35%, rgba(70, 130, 180, 0.5) 0%, transparent 60%),
    radial-gradient(ellipse at 80% 75%, rgba(198, 106, 72, 0.3) 0%, transparent 55%);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 48px 40px;
}

.demo-modal-right-text {
  font-family: 'Inter', sans-serif;
  font-weight: 600;
  font-size: 30px;
  line-height: 42px;
  letter-spacing: -1.5px;
  color: #fff;
  text-align: center;
  margin: 0;
}

.demo-modal-close {
  position: absolute;
  top: 14px;
  right: 16px;
  background: none;
  border: none;
  cursor: pointer;
  color: #555;
  font-size: 20px;
  line-height: 1;
  padding: 6px 10px;
  border-radius: 4px;
  z-index: 1;
  transition: background 0.15s;
}
.demo-modal-close:hover { background: rgba(0, 0, 0, 0.06); }

/* HubSpot form overrides — demo modal */
#hubspot-demo-form-container .hs-form fieldset {
  max-width: 100% !important;
}

#hubspot-demo-form-container .hs_email,
#hubspot-demo-form-container .hs_firstname,
#hubspot-demo-form-container .hs_lastname,
#hubspot-demo-form-container .hs_company {
  margin-bottom: 16px;
}

#hubspot-demo-form-container .hs-form-field > label {
  display: block;
  font-family: 'Inter', sans-serif;
  font-size: 14px;
  font-weight: 500;
  color: rgba(0, 0, 0, 0.87);
  margin-bottom: 6px;
}

#hubspot-demo-form-container .hs-input {
  width: 100% !important;
  padding: 10px 14px;
  font-family: 'Inter', sans-serif;
  font-size: 15px;
  color: rgba(0, 0, 0, 0.87);
  background: #f1f3f6;
  border: 1px solid #d1d5db;
  border-radius: 6px;
  outline: none;
  transition: border-color 0.2s, background 0.2s;
}
#hubspot-demo-form-container .hs-input:focus {
  border-color: #4682b4;
  background: #fff;
}

#hubspot-demo-form-container .hs-button.primary {
  display: inline-block;
  background: rgb(70, 130, 180);
  color: #fff;
  font-family: 'Inter', sans-serif;
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.04em;
  padding: 11px 28px;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  margin-top: 8px;
  transition: background 0.2s ease;
}
#hubspot-demo-form-container .hs-button.primary:hover {
  background: rgb(50, 110, 160);
}

#hubspot-demo-form-container .hs-error-msgs {
  list-style: none;
  margin-top: 4px;
}
#hubspot-demo-form-container .hs-error-msgs .hs-error-msg {
  color: #dc2626;
  font-size: 13px;
}

#hubspot-demo-form-container .submitted-message {
  font-family: 'Inter', sans-serif;
  font-size: 16px;
  color: rgba(0, 0, 0, 0.87);
  padding: 16px 0;
}

@media (max-width: 768px) {
  .demo-modal-panel { flex-direction: column; }
  .demo-modal-left { flex: none; padding: 32px 24px; }
  .demo-modal-right { display: none; }
}

/* ===== HERO UNIT ===== */
.hero {
  position: relative;
  width: 100%;
  height: 1193px;
  overflow: hidden;
  background-color: #f8f5f1;
  background-image:
    url("data:image/svg+xml,%3Csvg viewBox='0 0 1440 1193' xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='none'%3E%3Crect x='0' y='0' height='100%25' width='100%25' fill='url(%23g1)' opacity='1'/%3E%3Cdefs%3E%3CradialGradient id='g1' gradientUnits='userSpaceOnUse' cx='0' cy='0' r='10' gradientTransform='matrix(75.05 -8.3728 10.106 98 511 621.46)'%3E%3Cstop stop-color='rgba(250,249,247,0.9)' offset='0'/%3E%3Cstop stop-color='rgba(250,249,247,0.9)' offset='0.4967'/%3E%3Cstop stop-color='rgba(250,249,247,0)' offset='1'/%3E%3C/radialGradient%3E%3C/defs%3E%3C/svg%3E"),
    url("data:image/svg+xml,%3Csvg viewBox='0 0 1440 1193' xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='none'%3E%3Crect x='0' y='0' height='100%25' width='100%25' fill='url(%23g2)' opacity='1'/%3E%3Cdefs%3E%3CradialGradient id='g2' gradientUnits='userSpaceOnUse' cx='0' cy='0' r='10' gradientTransform='matrix(0.9 113.42 -136.91 1.1752 675 0.000031773)'%3E%3Cstop stop-color='rgba(70,130,180,0.1)' offset='0'/%3E%3Cstop stop-color='rgba(70,130,180,0.1)' offset='0.49755'/%3E%3Cstop stop-color='rgba(70,130,180,0)' offset='1'/%3E%3C/radialGradient%3E%3C/defs%3E%3C/svg%3E"),
    url("data:image/svg+xml,%3Csvg viewBox='0 0 1440 1193' xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='none'%3E%3Crect x='0' y='0' height='100%25' width='100%25' fill='url(%23g3)' opacity='1'/%3E%3Cdefs%3E%3CradialGradient id='g3' gradientUnits='userSpaceOnUse' cx='0' cy='0' r='10' gradientTransform='matrix(7.6962e-16 111.45 -134.52 -6.4208e-15 720 0)'%3E%3Cstop stop-color='rgba(70,130,180,0.1)' offset='0'/%3E%3Cstop stop-color='rgba(70,130,180,0.1)' offset='0.5'/%3E%3Cstop stop-color='rgba(70,130,180,0)' offset='1'/%3E%3C/radialGradient%3E%3C/defs%3E%3C/svg%3E"),
    linear-gradient(180deg, rgb(235, 244, 250) 0%, rgb(235, 242, 249) 10.505%, rgb(251, 240, 234) 100%),
    url("data:image/svg+xml,%3Csvg viewBox='0 0 1440 1193' xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='none'%3E%3Crect x='0' y='0' height='100%25' width='100%25' fill='url(%23g4)' opacity='1'/%3E%3Cdefs%3E%3CradialGradient id='g4' gradientUnits='userSpaceOnUse' cx='0' cy='0' r='10' gradientTransform='matrix(87.3 0.0000040987 -0.0000032021 114 407 1180.5)'%3E%3Cstop stop-color='rgba(198,106,72,0.15)' offset='0'/%3E%3Cstop stop-color='rgba(198,106,72,0.08)' offset='0.5'/%3E%3Cstop stop-color='rgba(198,106,72,0)' offset='1'/%3E%3C/radialGradient%3E%3C/defs%3E%3C/svg%3E"),
    linear-gradient(90deg, rgb(248, 245, 241) 0%, rgb(248, 245, 241) 100%);
  background-size: 100% 100%;
  background-repeat: no-repeat;
}

.hero__tagline {
  position: absolute;
  left: 284px;
  top: 134px;
  width: 958px;
  font-family: 'Inter', sans-serif;
  font-weight: 700;
  font-size: 20px;
  line-height: 36px;
  color: #c66a48;
  letter-spacing: 1px;
}

.hero__title {
  position: absolute;
  left: 284px;
  top: 194px;
  width: 872px;
  font-family: 'Poppins', sans-serif;
  font-weight: 600;
  font-size: 60px;
  line-height: 72px;
  letter-spacing: -0.9px;
  color: #000;
}

.hero__subtitle {
  position: absolute;
  left: 284px;
  top: 386px;
  width: 728px;
  font-family: 'Inter', sans-serif;
  font-weight: 500;
  font-size: 22px;
  line-height: 39.6px;
  letter-spacing: -0.22px;
  color: #000;
}

.hero__video {
  position: absolute;
  left: 208px;
  top: 517px;
  width: 1024px;
  height: 576px;
  background: #1b2537;
  border-radius: 24px;
  box-shadow: 0 4px 24px rgba(0,0,0,0.10), 0 1px 6px rgba(0,0,0,0.06);
  overflow: hidden;
}

.hero__video iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

.hero__video-poster {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  cursor: pointer;
  z-index: 2;
  transition: opacity 0.5s ease;
}

.hero__video-poster--hidden {
  opacity: 0;
  pointer-events: none;
}

/* ===== SECTION 1: AI LEGAL TEAM ===== */
.section-1 {
  position: relative;
  width: 100%;
  background: #f8f5f1;
  padding-bottom: 0;
}

.section-1__hold-spacer {
  height: 700px;
}

/* Opening Message */
.opening-message {
  position: sticky;
  top: max(24px, calc(50vh - 377px));
  z-index: 1;
  max-width: 1440px;
  width: 100%;
  height: 1150px;
  padding-top: 200px;
  padding-left: 284px;
  overflow: hidden;
  background: #f8f5f1;
  margin-left: auto;
  margin-right: auto;
}

.opening-message__arrow {
  position: absolute;
  left: 213px;
  top: 200px;
  width: 28px;
  height: 40px;
}

.opening-message__arrow img {
  width: 100%;
  height: 100%;
}

.opening-message__title {
  font-family: 'Poppins', sans-serif;
  font-weight: 600;
  font-size: 35px;
  line-height: 44px;
  letter-spacing: -1.75px;
  color: #000;
  margin-bottom: 50px;
}

.opening-message__label {
  font-family: 'Poppins', sans-serif;
  font-weight: 600;
  font-size: 20px;
  line-height: 36px;
  letter-spacing: 1px;
  color: #c66a48;
  margin-bottom: 20px;
}

.opening-message__text {
  width: 859px;
  font-family: 'Inter', sans-serif;
  font-weight: 500;
  font-size: 22px;
  line-height: 39.6px;
  letter-spacing: -0.22px;
  color: #000;
}

/* Team Area: sticky scroll cards */
.team-area {
  position: sticky;
  top: max(24px, calc(50vh - 377px));
  width: 100%;
  height: 1150px;
  overflow: hidden;
  z-index: 2;
}

.team-area--research {
  z-index: 3;
  background: linear-gradient(165deg, rgba(240,244,248,0.5) 36.22%, rgba(70,130,180,0.5) 86.71%);
}

.team-area--investigation {
  z-index: 4;
  background: linear-gradient(180.2deg, rgba(255,255,255,0) 56.89%, rgba(70,130,180,0.1) 85.7%, rgba(230,251,90,0.04) 103.2%);
}

.team-area--ediscovery {
  z-index: 5;
  background:
    linear-gradient(189.8deg, rgba(0,0,0,0) 70.13%, rgba(237,102,53,0.2) 106.4%),
    linear-gradient(180deg, rgba(255,255,255,0) 56.73%, rgba(202,51,210,0.25) 100%);
}

.team-area--transcript {
  z-index: 6;
  background: linear-gradient(166.4deg, rgba(255,255,255,0) 53.73%, rgba(246,178,154,0.1) 70.11%, rgba(237,102,53,0.2) 86.5%);
}

/* Team Card */
.team-card {
  position: absolute;
  left: calc(50% - 507px);
  top: 80px;
  width: 1014px;
  height: 690px;
  background: #fff;
  border: 1px solid #c66a48;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0px 2px 4px 4px rgba(198, 106, 72, 0.2);
}

.team-card__left {
  position: relative;
  width: 662px;
  height: 690px;
  padding: 40px 40px 40px 60px;
  flex-shrink: 0;
  overflow: hidden;
}

.team-card__left--research {
  padding-left: 67px;
}

.team-card__left--research .team-card__eyebrow {
  margin-bottom: 27.5px;
}

.team-area--investigation .team-card__eyebrow {
  font-family: 'Poppins', sans-serif;
  font-weight: 600;
  font-size: 18px;
  line-height: 22.5px;
  letter-spacing: 1px;
  margin-bottom: 19.5px;
}

.team-area--ediscovery .team-card__eyebrow {
  font-weight: 600;
  font-size: 18px;
  margin-bottom: 29.5px;
}

.team-area--transcript .team-card__eyebrow {
  font-weight: 600;
  font-size: 18px;
  line-height: 32.4px;
  margin-bottom: 13.6px;
}

.team-card__eyebrow {
  font-family: 'Inter', sans-serif;
  font-weight: 700;
  font-size: 20px;
  line-height: 16.5px;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: #c66a48;
  margin-bottom: 6px;
}

.team-card__name {
  font-family: 'Poppins', sans-serif;
  font-weight: 600;
  font-size: 35px;
  line-height: 36px;
  letter-spacing: -1.75px;
  color: #1b2537;
  margin-top: 6px;
  margin-bottom: 18px;
}

.team-card__intro {
  font-family: 'Inter', sans-serif;
  font-weight: 500;
  font-size: 22px;
  line-height: 39.6px;
  letter-spacing: -0.22px;
  color: #000;
  margin-bottom: 30px;
}

/* Feature rows */
.team-card__feature {
  display: flex;
  gap: 16px;
  margin-bottom: 18px;
  align-items: flex-start;
}

.team-card__feature--compact {
  margin-bottom: 22px;
}

.team-card__feature-icon {
  width: 40px;
  height: 40px;
  flex-shrink: 0;
}

.team-card__feature-icon img {
  width: 100%;
  height: 100%;
}

.team-card__feature-icon-box {
  width: 40px;
  height: 40px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.team-card__feature-icon-box--blue {
  background: rgba(74, 138, 181, 0.12);
}

.team-card__feature-icon-box img {
  width: 20px;
  height: 20px;
}

.team-card__feature-icon-gradient {
  width: 40px;
  height: 40px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.team-card__feature-icon-gradient--orange {
  background: linear-gradient(135deg, rgb(198, 106, 72) 0%, rgb(212, 137, 110) 100%);
}

.team-card__feature-icon-gradient--blue {
  background: linear-gradient(135deg, rgb(74, 128, 168) 0%, rgb(106, 157, 191) 100%);
}

.team-card__feature-icon-gradient--green {
  background: linear-gradient(135deg, rgb(92, 138, 114) 0%, rgb(122, 173, 145) 100%);
}

.team-card__feature-icon-gradient--shield {
  background: none;
}

.team-card__feature-icon-gradient img {
  width: 20px;
  height: 20px;
}

.team-card__feature-icon-gradient--shield img {
  width: 40px;
  height: 40px;
}

.team-card__feature-content {
  flex: 1;
  min-width: 0;
}

.team-card__feature-title {
  font-family: 'Inter', sans-serif;
  font-weight: 600;
  font-size: 18px;
  line-height: 20px;
  color: #1b2537;
  margin-bottom: 4px;
}

.team-card__feature-title-bold {
  font-family: 'Inter', sans-serif;
  font-weight: 700;
  font-size: 18px;
  line-height: 24px;
  color: #1b2537;
  margin-bottom: 4px;
}

.team-card__feature-text {
  font-family: 'Inter', sans-serif;
  font-weight: 400;
  font-size: 18px;
  line-height: 28px;
  color: #4f5b6b;
  max-width: 497px;
  text-wrap: pretty;
}

/* Pagination */
.team-card__pagination {
  position: absolute;
  bottom: 45px;
  left: 47px;
  display: flex;
  align-items: center;
  gap: 6px;
}

.team-card__page-current {
  font-family: 'Inter', sans-serif;
  font-weight: 600;
  font-size: 20px;
  line-height: 30px;
  letter-spacing: -0.5px;
  color: #1b2537;
}

.team-card__page-total {
  font-family: 'Inter', sans-serif;
  font-weight: 500;
  font-size: 14px;
  line-height: 21px;
  color: #4f5b6b;
}

/* Right Panel */
.team-card__right {
  position: absolute;
  left: 661px;
  top: -1px;
  width: 352px;
  height: 690px;
  border-radius: 12px;
  overflow: hidden;
  background: linear-gradient(162.18deg, #ebf4fa 2.05%, #ebf2f9 11.47%, #fbf0ea 96.16%);
}

.team-card__right--research {
  background: linear-gradient(117.03deg, #ebf4fa 0%, #ebf2f9 10%, #fbf0ea 100%);
}

/* Masked hero images in right panel */
.team-card__right-image {
  position: absolute;
  overflow: hidden;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
}

.team-card__right-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Research card image — gradient from top-right */
.team-card__right--research .team-card__right-image {
  left: 78px;
  top: -74px;
  width: 349px;
  height: 349px;
  -webkit-mask-image: radial-gradient(ellipse 280px 220px at 72% 27%, white 0%, rgba(255,255,255,0.6) 40%, rgba(255,255,255,0.2) 65%, transparent 88%);
  mask-image: radial-gradient(ellipse 280px 220px at 72% 27%, white 0%, rgba(255,255,255,0.6) 40%, rgba(255,255,255,0.2) 65%, transparent 88%);
}

/* Investigation card image — gradient from top-right */
.team-area--investigation .team-card__right-image {
  left: 21px;
  top: -5px;
  width: 329px;
  height: 329px;
  -webkit-mask-image: radial-gradient(ellipse 290px 240px at 82% 8%, white 0%, rgba(255,255,255,0.6) 40%, rgba(255,255,255,0.2) 65%, transparent 88%);
  mask-image: radial-gradient(ellipse 290px 240px at 82% 8%, white 0%, rgba(255,255,255,0.6) 40%, rgba(255,255,255,0.2) 65%, transparent 88%);
}

/* eDiscovery card image — gradient from top-right */
.team-area--ediscovery .team-card__right-image {
  left: 66px;
  top: -20px;
  width: 288px;
  height: 288px;
  -webkit-mask-image: radial-gradient(ellipse 280px 230px at 78% 12%, white 0%, rgba(255,255,255,0.6) 40%, rgba(255,255,255,0.2) 65%, transparent 88%);
  mask-image: radial-gradient(ellipse 280px 230px at 78% 12%, white 0%, rgba(255,255,255,0.6) 40%, rgba(255,255,255,0.2) 65%, transparent 88%);
}

/* Transcript card image — gradient from top-center, flipped */
.team-area--transcript .team-card__right-image {
  left: -45px;
  top: -9px;
  width: 410px;
  height: 216px;
  transform: scaleX(-1);
  -webkit-mask-image: radial-gradient(ellipse 280px 220px at 60% 10%, white 0%, rgba(255,255,255,0.6) 40%, rgba(255,255,255,0.2) 75%, transparent 97%);
  mask-image: radial-gradient(ellipse 280px 220px at 60% 10%, white 0%, rgba(255,255,255,0.6) 40%, rgba(255,255,255,0.2) 75%, transparent 97%);
}

.team-card__stat-number {
  position: absolute;
  left: 0;
  right: 0;
  text-align: center;
  font-family: 'Poppins', sans-serif;
  font-weight: 600;
  font-size: 35px;
  line-height: 44px;
  letter-spacing: -0.35px;
  color: #1b2537;
}

.team-card__stat-label {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  text-align: center;
  font-family: 'Inter', sans-serif;
  font-weight: 600;
  font-size: 18px;
  line-height: 32.4px;
  color: #000;
  white-space: nowrap;
}

/* CTA button inside right panel */
.team-card__right-cta {
  position: absolute;
  left: 24px;
  top: 520px;
  display: inline-flex;
  align-items: center;
  padding: 12px 24px;
  background: #c66a48;
  border-radius: 100px;
  box-shadow: 0 1px 2px rgba(0,0,0,0.05), 0 2px 4px rgba(0,0,0,0.05);
  font-family: 'Inter', sans-serif;
  font-weight: 500;
  font-size: 16px;
  line-height: 24px;
  color: #fff;
  white-space: nowrap;
  text-decoration: none;
}

.team-area--ediscovery .team-card__right-cta {
  left: 17px;
  top: 525px;
}

/* ===== SECTION 2: AI-NATIVE ===== */
.section-2 {
  position: relative;
  z-index: 10;
  width: 100%;
  height: 646px;
  background: #eef2f7;
  overflow: hidden;
}

.section-2__title {
  position: absolute;
  left: 284px;
  top: 120px;
  width: 765px;
  font-family: 'Poppins', sans-serif;
  font-weight: 600;
  font-size: 35px;
  line-height: 44px;
  letter-spacing: -1.75px;
  color: #000;
}

.section-2__text {
  position: absolute;
  left: 284px;
  top: 200px;
  width: 709px;
  font-family: 'Inter', sans-serif;
  font-weight: 500;
  font-size: 22px;
  line-height: 39.6px;
  letter-spacing: -0.22px;
  color: #000;
}

.section-2__cta {
  position: absolute;
  left: 281px;
  top: 476px;
  display: inline-flex;
  align-items: center;
  padding: 12px 24px;
  background: #c66a48;
  border-radius: 100px;
  box-shadow: 0 1px 2px rgba(0,0,0,0.05), 0 2px 4px rgba(0,0,0,0.05);
  font-family: 'Inter', sans-serif;
  font-weight: 500;
  font-size: 16px;
  line-height: 24px;
  color: #fff;
}

.section-2__timeline {
  position: absolute;
  right: 208px;
  top: 120px;
  width: 48px;
}

.section-2__timeline-line {
  position: absolute;
  left: 23px;
  top: 44px;
  width: 2px;
  height: 324px;
  background: linear-gradient(to bottom, #4682b4 0%, #2c5f7a 45%, #c66a48 100%);
  border-radius: 2px;
}

.section-2__timeline-icon {
  position: absolute;
  left: 0;
  width: 48px;
  height: 48px;
}

.section-2__timeline-icon img {
  width: 48px;
  height: 48px;
}

.section-2__timeline-icon--1 {
  top: 0;
}

.section-2__timeline-icon--2 {
  top: 177px;
}

.section-2__timeline-icon--3 {
  top: 356px;
}

/* ===== SECTION 3: UNIFIED WORKSPACE ===== */
.section-3 {
  position: relative;
  z-index: 10;
  width: 100%;
  padding-top: 120px;
  padding-bottom: 100px;
  background: #fff;
}

.section-3__title {
  width: 765px;
  margin-left: 274px;
  font-family: 'Poppins', sans-serif;
  font-weight: 600;
  font-size: 35px;
  line-height: 44px;
  letter-spacing: -1.75px;
  color: #000;
  margin-bottom: 30px;
}

.section-3__subtitle {
  width: 719px;
  margin-left: 274px;
  font-family: 'Inter', sans-serif;
  font-weight: 500;
  font-size: 22px;
  line-height: 38.4px;
  color: #000;
  margin-bottom: 52px;
}

.section-3__image {
  width: 1024px;
  height: 640px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 83px;
  border-radius: 6px;
  overflow: hidden;
}

.section-3__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.section-3__features {
  display: flex;
  gap: 52px;
  padding-left: 182px;
}

.section-3__feature {
  flex: 0 0 328px;
}

.section-3__feature-icon {
  width: 46px;
  height: 46px;
  margin-bottom: 30px;
}

.section-3__feature-icon img {
  width: 46px;
  height: 46px;
}

.section-3__feature-title {
  font-family: 'Inter', sans-serif;
  font-weight: 600;
  font-size: 20px;
  line-height: 28px;
  color: #000;
  margin-bottom: 15px;
}

.section-3__feature-text {
  font-family: 'Inter', sans-serif;
  font-weight: 500;
  font-size: 18px;
  line-height: 32.4px;
  color: rgba(0, 0, 0, 0.65);
}

/* ===== SECTION 4: GROUNDED IN YOUR DATA ===== */
.section-4 {
  position: relative;
  z-index: 10;
  width: 100%;
  background: #fff;
  padding-top: 100px;
  padding-bottom: 80px;
  overflow: hidden;
}

.section-4__title {
  width: 834px;
  margin-left: 284px;
  font-family: 'Poppins', sans-serif;
  font-weight: 600;
  font-size: 35px;
  line-height: 44px;
  letter-spacing: -1.75px;
  color: #000;
  margin-bottom: 24px;
}

.section-4__subtitle {
  width: 811px;
  margin-left: 281px;
  font-family: 'Inter', sans-serif;
  font-weight: 500;
  font-size: 22px;
  line-height: 39.6px;
  letter-spacing: -0.22px;
  color: #000;
  margin-bottom: 80px;
}

.section-4__cards-row {
  display: flex;
  gap: 62px;
  padding-left: 209px;
  margin-bottom: 70px;
}

.section-4__card {
  position: relative;
  width: 500px;
  height: 312px;
  border-radius: 16px;
  box-shadow: 0 4px 24px rgba(27, 37, 55, 0.07);
  overflow: hidden;
  padding: 37px 48px 37px 39px;
  flex-shrink: 0;
}

.section-4__card--blue {
  border: 1px solid rgba(70, 130, 180, 0.2);
  border-top: 3px solid rgba(70, 130, 180, 0.2);
  background: linear-gradient(156.39deg, #f5f9ff 6.17%, #fff 39.61%);
}

.section-4__card--orange {
  border: 1px solid rgba(198, 106, 72, 0.2);
  border-top: 3px solid rgba(198, 106, 72, 0.2);
  background: linear-gradient(156.39deg, #fff8f5 6.17%, #fff 93.83%);
}

.section-4__card-header {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 20px;
}

.section-4__card-icon {
  height: 36px;
  width: auto;
  flex-shrink: 0;
}

.section-4__card-title {
  font-family: 'Inter', sans-serif;
  font-weight: 700;
  font-size: 20px;
  line-height: normal;
  color: #000;
}

.section-4__card-text {
  font-family: 'Inter', sans-serif;
  font-weight: 400;
  font-size: 18px;
  line-height: 32.4px;
  color: #000;
}

/* ===== LEGAL PROMPT GUIDE ===== */
.prompt-guide {
  position: relative;
  z-index: 10;
  width: 100%;
  height: 358px;
  overflow: hidden;
  background: #fff;
}

.prompt-guide__bg {
  position: absolute;
  left: 80px;
  top: 73px;
  width: 1300px;
  height: 135px;
  background: linear-gradient(to right, #1e384e, #4681b4);
}

.prompt-guide__cover {
  position: absolute;
  left: 181px;
  top: 29px;
  width: 203px;
  height: 247px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.prompt-guide__cover img {
  width: 173px;
  height: 224px;
  object-fit: cover;
  transform: rotate(-8.25deg);
  box-shadow: 10px 4px 25px 10px rgba(0, 0, 0, 0.35);
}

.prompt-guide__content {
  position: absolute;
  left: 466px;
  top: 94px;
  width: 468px;
}

.prompt-guide__title {
  font-family: 'Inter', sans-serif;
  font-weight: 600;
  font-size: 24px;
  line-height: 30px;
  color: #fff;
  margin-bottom: 8px;
}

.prompt-guide__text {
  font-family: 'Inter', sans-serif;
  font-weight: 600;
  font-size: 20px;
  line-height: 30px;
  color: #fff;
}

.prompt-guide__btn {
  position: absolute;
  left: 977px;
  top: 115px;
  width: 195px;
  height: 48px;
  background: #c66a48;
  border-radius: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: 'Inter', sans-serif;
  font-weight: 600;
  font-size: 20px;
  color: #fff;
}

/* ===== SECTION 5: AI TUNED FOR LEGAL ===== */
.section-5 {
  position: relative;
  z-index: 10;
  width: 100%;
  height: 1034px;
  overflow: hidden;
  background: #eef2f7;
}

.section-5__badge {
  position: absolute;
  left: 278px;
  top: 100px;
  height: 34px;
  padding: 0 20px;
  background: rgba(198, 106, 72, 0.1);
  border: 1px solid rgba(198, 106, 72, 0.3);
  border-radius: 100px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: 'Inter', sans-serif;
  font-weight: 600;
  font-size: 18px;
  line-height: 19.5px;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  color: #c66a48;
}

.section-5__title {
  position: absolute;
  left: 285px;
  top: 174px;
  font-family: 'Poppins', sans-serif;
  font-weight: 600;
  font-size: 35px;
  line-height: 44px;
  letter-spacing: -1.75px;
  color: #000;
}

.section-5__subtitle {
  position: absolute;
  left: 284px;
  top: 278px;
  width: 737px;
  font-family: 'Inter', sans-serif;
  font-weight: 500;
  font-size: 22px;
  line-height: 39.6px;
  letter-spacing: -0.22px;
  color: #000;
}

.section-5__divider {
  position: absolute;
  left: 209px;
  top: 399px;
  width: 950px;
  height: 3px;
  background: linear-gradient(to right, #c66a48, #a6a6a6 50%, #4682b4);
}

.section-5__cards {
  position: absolute;
  left: 209px;
  top: 457px;
  display: flex;
  gap: 44px;
}

.section-5__card {
  width: 288px;
  padding: 0;
}

.section-5__card-icon {
  width: 56px;
  height: 56px;
  margin-bottom: 25px;
}

.section-5__card-icon img {
  width: 56px;
  height: 56px;
}

.section-5__card-label {
  font-family: 'Inter', sans-serif;
  font-weight: 600;
  font-size: 18px;
  line-height: 32.4px;
  text-transform: capitalize;
  color: #000;
  margin-bottom: 26px;
  white-space: nowrap;
}

.section-5__card-line {
  width: 60px;
  height: 2px;
  border-radius: 1px;
  margin-bottom: 25px;
  background: linear-gradient(to right, #c66a48, rgba(0,0,0,0));
}

.section-5__card-text {
  font-family: 'Inter', sans-serif;
  font-weight: 400;
  font-size: 18px;
  line-height: 32.4px;
  color: #000;
  width: 100%;
}

.section-5__cta {
  position: absolute;
  left: 197px;
  top: 886px;
  width: 350px;
  height: 48px;
  background: #c66a48;
  border-radius: 100px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: 'Inter', sans-serif;
  font-weight: 500;
  font-size: 16px;
  line-height: 24px;
  color: #fff;
  text-decoration: none;
  box-shadow: 0 1px 2px rgba(0,0,0,0.05), 0 2px 4px rgba(0,0,0,0.05);
}

/* ===== FOOTER ===== */
.footer {
  position: relative;
  z-index: 10;
  width: 100%;
  height: 472px;
  background: #0d1b2a;
  overflow: hidden;
}

.footer .section-inner {
  padding: 0;
  position: relative;
  height: 100%;
}

.footer__accent {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 3px;
  background: linear-gradient(to right, #e8630a, #f0934a);
}

.footer__logo {
  position: absolute;
  left: 88px;
  top: 81px;
  width: 119px;
  height: 28px;
}

.footer__logo img {
  width: 119px;
  height: 28px;
}

.footer__tagline {
  position: absolute;
  left: 88px;
  top: 126px;
  width: 204px;
  font-family: 'Inter', sans-serif;
  font-weight: 500;
  font-size: 13px;
  line-height: 18px;
  color: #b8cedf;
  margin: 0;
}

.footer__linkedin {
  position: absolute;
  left: 88px;
  top: 266px;
  width: 36px;
  height: 36px;
  display: block;
}

.footer__linkedin img {
  width: 36px;
  height: 36px;
}

.footer__columns {
  position: absolute;
  left: 410px;
  top: 81px;
  width: 942px; /* 1440 - 88 (right margin) - 410 (left start) */
  display: flex;
  gap: 40px;
}

.footer__column {
  display: flex;
  flex-direction: column;
  gap: 20px;
  flex: 1;
}

.footer__column-title {
  font-family: 'Inter', sans-serif;
  font-weight: 700;
  font-size: 10.5px;
  letter-spacing: 1.365px;
  text-transform: uppercase;
  color: #fff;
  margin: 0;
}

.footer__column-underline {
  width: 200px;
  height: 2px;
  background: #e8630a;
  margin-top: -14px;
}

.footer__links {
  display: flex;
  flex-direction: column;
  gap: 20px;
  list-style: none;
  padding: 0;
  margin: 0;
}

.footer__links li {
  font-family: 'Inter', sans-serif;
  font-weight: 500;
  font-size: 13px;
  line-height: 18px;
  color: #fff;
}

.footer__links a {
  color: #fff;
  text-decoration: none;
}

.footer__copyright {
  position: absolute;
  left: 88px;
  top: 416px;
  font-family: 'Inter', sans-serif;
  font-weight: 500;
  font-size: 13px;
  line-height: 18px;
  color: #b8cedf;
  margin: 0;
}

.footer__terms {
  position: absolute;
  left: 410px;
  top: 416px;
  font-family: 'Inter', sans-serif;
  font-weight: 500;
  font-size: 13px;
  line-height: 18px;
  color: #b8cedf;
  margin: 0;
}

.footer__terms a {
  color: #b8cedf;
  text-decoration: none;
}

.footer__phone-us {
  position: absolute;
  left: 1001px;
  top: 413px;
  display: flex;
  align-items: center;
  gap: 8px;
}

.footer__phone-uk {
  position: absolute;
  left: 1246px;
  top: 413px;
  display: flex;
  align-items: center;
  gap: 8px;
}

.footer__phone-flag {
  width: 24px;
  height: 24px;
  object-fit: cover;
  border-radius: 2px;
}

.footer__phone-number {
  font-family: 'Inter', sans-serif;
  font-weight: 500;
  font-size: 13px;
  line-height: 18px;
  color: #b8cedf;
}

/* ============================================================
   RESPONSIVE — Hamburger menu component (hidden by default)
   ============================================================ */
.nav-toggle {
  display: none;
  flex-direction: column;
  justify-content: space-between;
  width: 28px;
  height: 20px;
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
  margin-left: auto;
  flex-shrink: 0;
}

.nav-toggle span {
  display: block;
  height: 2px;
  background: #1b2537;
  border-radius: 2px;
  transition: transform 0.25s, opacity 0.25s;
}

.nav-toggle--open span:nth-child(1) { transform: translateY(9px) rotate(45deg); }
.nav-toggle--open span:nth-child(2) { opacity: 0; }
.nav-toggle--open span:nth-child(3) { transform: translateY(-9px) rotate(-45deg); }
.nav-toggle--open span { background: #1b2537; }

/* ============================================================
   RESPONSIVE — Intermediate desktop (max-width: 1280px)
   Hero only: switch to flow layout so absolute-positioned
   elements don't overflow on viewports narrower than 1440px.
   ============================================================ */
@media (max-width: 1280px) {
  .hero {
    height: auto;
  }

  .hero .section-inner {
    height: auto;
    padding: 130px 48px 64px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
  }

  .hero__tagline {
    position: static;
    width: auto;
    font-size: 18px;
    margin-bottom: 16px;
  }

  .hero__title {
    position: static;
    width: auto;
    font-size: clamp(32px, 4.2vw, 60px);
    line-height: 1.2;
    margin-bottom: 24px;
  }

  .hero__subtitle {
    position: static;
    width: auto;
    max-width: 640px;
    margin-bottom: 40px;
  }

  .hero__video {
    position: relative;
    left: auto;
    top: auto;
    width: 100%;
    max-width: 1024px;
    height: auto;
    aspect-ratio: 16 / 9;
    align-self: center;
  }

  /* Section 1: opening-message text would overflow at widths below ~1143px
     (padding-left 284px + text width 859px). Reduce left padding and reset text width. */
  .opening-message {
    padding-left: 120px;
  }

  .opening-message__arrow {
    display: none;
  }

  /* Opaque background on team-area so opening-message text doesn't
     peek through the semi-transparent card gradients at ≤1280px */
  .team-area {
    background-color: #f8f5f1;
  }

  .opening-message__text {
    width: auto;
    max-width: 720px;
  }

  /* --- Section 2: Flow layout at ≤1280px --- */
  .section-2 {
    height: auto;
  }

  .section-2 .section-inner {
    height: auto;
    padding: 80px 48px;
    display: flex;
    flex-direction: column;
  }

  .section-2__title {
    position: static;
    width: auto;
    max-width: 700px;
    margin-bottom: 20px;
  }

  .section-2__text {
    position: static;
    width: auto;
    max-width: 700px;
    margin-bottom: 32px;
  }

  .section-2__cta {
    position: static;
    align-self: flex-start;
    margin-bottom: 40px;
  }

  .section-2__timeline {
    position: relative;
    right: auto;
    top: auto;
    align-self: center;
    height: 404px;
  }

  /* --- Section 3: Reduce fixed widths at ≤1280px --- */
  .section-3__title {
    width: auto;
    max-width: 700px;
    margin-left: 120px;
  }

  .section-3__subtitle {
    width: auto;
    max-width: 700px;
    margin-left: 120px;
  }

  .section-3__image {
    width: 100%;
    max-width: 1024px;
    height: auto;
    aspect-ratio: 8 / 5;
    margin-left: auto;
    margin-right: auto;
  }

  .section-3__features {
    padding-left: 48px;
    padding-right: 48px;
    gap: 32px;
  }

  .section-3__feature {
    flex: 1 1 250px;
  }

  /* --- Section 4: Flow layout at ≤1280px --- */
  .section-4__title {
    width: auto;
    max-width: 700px;
    margin-left: 120px;
  }

  .section-4__subtitle {
    width: auto;
    max-width: 700px;
    margin-left: 120px;
  }

  .section-4__cards-row {
    padding-left: 48px;
    padding-right: 48px;
    gap: 32px;
  }

  .section-4__card {
    width: auto;
    flex: 1 1 400px;
    height: auto;
    min-height: 280px;
  }

  /* --- Prompt Guide: Tighten at ≤1280px --- */
  .prompt-guide__bg {
    left: 48px;
    right: 48px;
    width: auto;
    height: 165px;
  }

  .prompt-guide__cover {
    left: 80px;
  }

  .prompt-guide__content {
    left: 340px;
    width: auto;
    max-width: 380px;
  }

  .prompt-guide__btn {
    left: auto;
    right: 80px;
  }

  /* --- Section 5: Flow layout at ≤1280px --- */
  .section-5 {
    height: auto;
  }

  .section-5 .section-inner {
    height: auto;
    padding: 80px 48px;
  }

  .section-5__badge {
    position: static;
    display: inline-flex;
    margin-bottom: 24px;
  }

  .section-5__title {
    position: static;
    margin-bottom: 16px;
  }

  .section-5__subtitle {
    position: static;
    width: auto;
    max-width: 700px;
    margin-bottom: 40px;
  }

  .section-5__divider {
    position: static;
    width: 100%;
    max-width: 950px;
    margin-bottom: 48px;
  }

  .section-5__cards {
    position: static;
    display: flex;
    gap: 32px;
    flex-wrap: wrap;
  }

  .section-5__card {
    width: auto;
    flex: 1 1 250px;
  }

  .section-5__card-text {
    width: auto;
  }

  .section-5__cta {
    position: static;
    display: inline-flex;
    margin-top: 40px;
  }

  /* --- Footer: switch to flow layout at ≤1280px so absolute-positioned
     elements (especially UK phone at left:1246px) don't overflow --- */
  .footer {
    height: auto;
  }

  .footer .section-inner {
    height: auto;
    padding: 40px 48px 36px;
  }

  .footer__logo,
  .footer__tagline,
  .footer__linkedin,
  .footer__columns,
  .footer__copyright,
  .footer__phone-us,
  .footer__phone-uk {
    position: static;
    left: auto;
    top: auto;
    width: auto;
  }

  .footer__top {
    display: flex;
    align-items: flex-start;
    gap: 60px;
    padding-top: 10px;
  }

  .footer__left {
    display: flex;
    flex-direction: column;
    gap: 18px;
    min-width: 180px;
  }

  .footer__columns {
    display: flex;
    flex: 1;
    gap: 30px;
  }

  .footer__bottom {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 36px;
    gap: 24px;
  }

  .footer__copyright {
    margin: 0;
  }
}

/* ============================================================
   RESPONSIVE — Tablet (max-width: 1024px)
   ============================================================ */
@media (max-width: 1024px) {

  /* --- Header: Hamburger nav --- */
  .top-header {
    max-width: none;
    left: 0;
    transform: none;
    padding: 20px 16px 0;
  }

  .menu-area {
    position: relative;
  }

  .nav-toggle {
    display: flex;
    position: relative;
    z-index: 1001;
  }

  .logo {
    position: relative;
    z-index: 1001;
  }

  /* Header pill becomes white/clean when overlay is open */
  .menu-area:has(.nav-toggle--open) {
    background: #fff;
    border-color: transparent;
    box-shadow: none;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }

  .top-header:has(.nav-toggle--open)::before {
    display: none;
  }

  /* Full-screen overlay menu — white, top-aligned, left-aligned */
  .main-nav {
    position: fixed;
    inset: 0;
    background: #fff;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    padding-top: 80px;
    gap: 0;
    z-index: 999;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.25s ease, visibility 0.25s;
  }

  .main-nav--open {
    opacity: 1;
    visibility: visible;
  }

  /* Divider line below header area */
  .main-nav .nav-link:first-child {
    border-top: 1px solid #e5e2de;
    padding-top: 44px;
  }

  .nav-link {
    color: #1b2537;
    font-size: 22px;
    font-weight: 700;
    line-height: 1;
    padding: 22px 24px;
    border-bottom: none;
    border-radius: 0;
    display: block;
    width: 100%;
    opacity: 1;
    transform: none;
    transition: background 0.15s ease;
    -webkit-tap-highlight-color: transparent;
  }

  .nav-link:active {
    background: #f0ede9;
  }

  .nav-link:hover,
  .nav-link:focus {
    color: #1b2537;
  }

  .nav-link--faded {
    opacity: 1;
  }

  .contact-btn {
    margin: 32px 24px 0;
    background: #4682b4;
    border-color: #4682b4;
    color: #fff;
    font-size: 18px;
    height: 52px;
    padding: 0;
    border-radius: 28px;
    box-shadow: none;
    display: flex;
    align-items: center;
    justify-content: center;
    width: calc(100% - 48px);
    opacity: 1;
    transform: none;
    transition: background 0.15s ease;
    -webkit-tap-highlight-color: transparent;
  }

  .contact-btn:active {
    background: #3a6f99;
  }

  .contact-btn:hover,
  .contact-btn:focus {
    background: #4682b4;
  }

  /* --- Hero --- */
  .hero {
    height: auto;
  }

  .hero .section-inner {
    height: auto;
    padding: 130px 48px 64px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
  }

  .hero__tagline {
    position: static;
    width: auto;
    font-size: 18px;
    margin-bottom: 16px;
  }

  .hero__title {
    position: static;
    width: auto;
    font-size: clamp(32px, 4.2vw, 60px);
    line-height: 1.2;
    margin-bottom: 24px;
  }

  .hero__subtitle {
    position: static;
    width: auto;
    max-width: 640px;
    margin-bottom: 40px;
  }

  .hero__video {
    position: relative;
    left: auto;
    top: auto;
    width: 100%;
    max-width: 1024px;
    height: auto;
    aspect-ratio: 16 / 9;
    align-self: center;
  }

  /* --- Section 1: Keep sticky, make card responsive --- */
  .opening-message {
    padding: 60px 48px;
    padding-top: 200px;
    height: auto;
    min-height: 1150px;
  }

  .team-card {
    width: calc(100% - 96px);
    left: 48px;
    height: auto;
    min-height: 688px;
    display: flex;
  }

  .team-card__left {
    width: 60%;
    height: auto;
    padding: 32px;
  }

  .team-card__left--research {
    padding-left: 40px;
  }

  .team-card__right {
    position: relative;
    left: auto;
    top: auto;
    width: 40%;
    height: auto;
    min-height: 400px;
    border-radius: 0 12px 12px 0;
    overflow: visible;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 40px 16px 24px;
  }

  .team-card__right--research {
    width: 40%;
  }

  .team-card__right-image,
  .team-card__right--research .team-card__right-image,
  .team-area--investigation .team-card__right-image,
  .team-area--ediscovery .team-card__right-image,
  .team-area--transcript .team-card__right-image {
    position: static;
    transform: none;
    left: auto;
    top: auto;
    width: 100%;
    max-width: 280px;
    height: 180px;
    margin: 0 auto 24px;
    -webkit-mask-image: radial-gradient(ellipse 60% 55% at 50% 45%, white 0%, rgba(255,255,255,0.6) 45%, rgba(255,255,255,0.15) 70%, transparent 100%);
    mask-image: radial-gradient(ellipse 60% 55% at 50% 45%, white 0%, rgba(255,255,255,0.6) 45%, rgba(255,255,255,0.15) 70%, transparent 100%);
  }

  .team-card__right-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .team-card__stat-number {
    position: static;
    margin-bottom: 4px;
  }

  .team-card__stat-label {
    position: static;
    transform: none;
    left: auto;
    right: auto;
    margin-bottom: 20px;
    max-width: 200px;
  }

  .team-card__right-cta {
    position: static;
    margin-top: auto;
    white-space: normal;
    text-align: center;
  }

  .team-area--ediscovery .team-card__right-cta {
    left: auto;
    top: auto;
  }

  .team-card__intro {
    width: 100%;
  }

  .team-card__feature-text {
    max-width: 100%;
  }

  .team-card__pagination {
    position: static;
    margin-top: 24px;
  }

  /* --- Section 2: Flow layout --- */
  .section-2 {
    height: auto;
  }

  .section-2 .section-inner {
    height: auto;
    padding: 60px 48px;
    display: flex;
    flex-direction: column;
  }

  .section-2__title {
    position: static;
    width: auto;
    max-width: 700px;
    margin-bottom: 20px;
  }

  .section-2__text {
    position: static;
    width: auto;
    max-width: 700px;
    margin-bottom: 32px;
  }

  .section-2__cta {
    position: static;
    align-self: flex-start;
    margin-bottom: 40px;
  }

  .section-2__timeline {
    position: relative;
    right: auto;
    top: auto;
    align-self: center;
    height: 404px;
  }

  /* --- Section 3 --- */
  .section-3 {
    padding: 57px 48px 80px;
  }

  .section-3__title {
    width: auto;
    max-width: 700px;
    margin-left: 0;
  }

  .section-3__subtitle {
    width: auto;
    max-width: 700px;
    margin-left: 0;
  }

  .section-3__image {
    width: 100%;
    max-width: 1024px;
    height: auto;
    aspect-ratio: 8 / 5;
    margin-left: auto;
    margin-right: auto;
  }

  .section-3__features {
    padding-left: 0;
    gap: 24px;
  }

  .section-3__feature {
    flex: 1 1 280px;
  }

  /* --- Section 4 --- */
  .section-4 {
    padding: 60px 48px;
  }

  .section-4__title {
    width: auto;
    max-width: 700px;
    margin-left: 0;
  }

  .section-4__subtitle {
    width: auto;
    max-width: 700px;
    margin-left: 0;
  }

  .section-4__cards-row {
    padding: 0;
    gap: 32px;
    flex-wrap: wrap;
  }

  .section-4__card {
    width: auto;
    flex: 1 1 300px;
    height: auto;
    min-height: 320px;
  }

  /* --- Prompt Guide --- */
  .prompt-guide__bg {
    left: 32px;
    right: 32px;
    width: auto;
  }

  .prompt-guide__cover {
    left: 60px;
  }

  .prompt-guide__content {
    left: 320px;
    width: auto;
    max-width: 380px;
  }

  .prompt-guide__btn {
    left: auto;
    right: 60px;
  }

  /* --- Section 5: Flow layout --- */
  .section-5 {
    height: auto;
  }

  .section-5 .section-inner {
    height: auto;
    padding: 60px 48px 80px;
  }

  .section-5__badge {
    position: static;
    display: inline-flex;
    margin-bottom: 24px;
  }

  .section-5__title {
    position: static;
    margin-bottom: 16px;
  }

  .section-5__subtitle {
    position: static;
    width: auto;
    max-width: 700px;
    margin-bottom: 40px;
  }

  .section-5__divider {
    position: static;
    width: 100%;
    max-width: 900px;
    margin-bottom: 48px;
  }

  .section-5__cards {
    position: static;
    display: flex;
    gap: 24px;
    flex-wrap: wrap;
  }

  .section-5__card {
    width: auto;
    flex: 1 1 280px;
  }

  .section-5__card-text {
    width: auto;
  }

  /* --- Footer: tablet padding adjustment (layout set in ≤1280px block) --- */
  .footer .section-inner {
    padding: 36px 40px 32px;
  }
}

/* ============================================================
   RESPONSIVE — Mobile (max-width: 768px)
   ============================================================ */
@media (max-width: 768px) {

  /* --- Header: Compact pill at mobile --- */
  .top-header {
    padding: 12px 16px 0;
    height: auto;
    min-height: 72px;
  }

  .menu-area {
    height: 48px;
    padding: 0 16px;
    border-radius: 16px;
  }

  .nav-link {
    font-size: 24px;
    padding: 20px 24px;
  }

  /* --- Hero --- */
  .hero .section-inner {
    padding: 96px 24px 48px;
  }

  .hero__tagline {
    font-size: 16px;
  }

  .hero__subtitle {
    font-size: 18px;
    line-height: 30px;
  }

  .hero__video-text {
    font-size: 24px;
  }

  /* --- Section 1: Disable sticky, flow layout --- */
  .section-1 {
    padding-bottom: 0;
  }

  .section-1__hold-spacer {
    display: none;
  }

  .opening-message {
    position: static;
    max-width: none;
    height: auto;
    min-height: 0;
    padding: 40px 24px;
  }

  .opening-message__text {
    width: 100%;
    max-width: 720px;
  }

  .opening-message__title {
    font-size: clamp(26px, 4vw, 35px);
    line-height: 1.3;
  }

  .opening-message__label {
    font-size: 16px;
    line-height: 28px;
  }

  .team-area,
  .team-area--research,
  .team-area--investigation,
  .team-area--ediscovery,
  .team-area--transcript {
    position: static;
    max-width: none;
    height: auto;
    padding: 24px;
    z-index: auto;
    background-color: transparent;
  }

  .team-card {
    position: static;
    width: 100%;
    max-width: 1014px;
    left: auto;
    height: auto;
    min-height: 0;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
  }

  .team-card__left,
  .team-card__left--research {
    width: 100%;
    padding: 28px 24px;
  }

  .team-card__right,
  .team-card__right--research {
    width: 100%;
    flex: none;
    padding: 32px 24px;
    border-radius: 0 0 12px 12px;
    overflow: hidden;
  }

  .team-card__right-image,
  .team-card__right--research .team-card__right-image,
  .team-area--investigation .team-card__right-image,
  .team-area--ediscovery .team-card__right-image,
  .team-area--transcript .team-card__right-image {
    max-width: 220px;
    height: 150px;
  }

  .team-card__name {
    font-size: clamp(24px, 4vw, 35px);
    line-height: 1.2;
  }

  .team-card__eyebrow {
    font-size: 16px;
    line-height: 22px;
  }

  .team-card__intro {
    font-size: 16px;
    line-height: 26px;
  }

  .team-card__feature-title,
  .team-card__feature-title-bold {
    font-size: 16px;
  }

  .team-card__feature-text {
    font-size: 16px;
    line-height: 26px;
  }

  .team-card__stats {
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    gap: 24px;
  }

  .team-card__stat {
    min-width: 120px;
  }

  .team-card__stat-number {
    font-size: 32px;
  }

  .team-card__stat-label {
    font-size: 15px;
  }

  /* --- Section 2 --- */
  .section-2 .section-inner {
    padding: 40px 24px;
  }

  .section-2__title {
    font-size: clamp(26px, 3.5vw, 35px);
    line-height: 1.3;
  }

  .section-2__text {
    font-size: 18px;
    line-height: 30px;
  }

  .section-2__timeline {
    display: none;
  }

  /* --- Section 3 --- */
  .section-3 {
    padding: 40px 24px;
  }

  .section-3__title {
    font-size: clamp(26px, 3.5vw, 35px);
    line-height: 1.3;
  }

  .section-3__subtitle {
    font-size: 18px;
    line-height: 30px;
  }

  .section-3__features {
    flex-direction: column;
    gap: 32px;
  }

  .section-3__feature {
    max-width: 100%;
  }

  /* --- Section 4 --- */
  .section-4 {
    padding: 40px 24px;
  }

  .section-4__title {
    font-size: clamp(26px, 3.5vw, 35px);
    line-height: 1.3;
  }

  .section-4__subtitle {
    font-size: 18px;
    line-height: 30px;
  }

  .section-4__cards-row {
    flex-direction: column;
    gap: 24px;
    margin-bottom: 24px;
  }

  .section-4__card {
    flex: none;
    width: 100%;
    height: auto;
    min-height: unset;
    padding: 28px 24px;
  }

  .section-4__card-header {
    margin-bottom: 24px;
  }

  .section-4__card-text {
    font-size: 16px;
    line-height: 28px;
  }

  /* --- Prompt Guide --- */
  .prompt-guide {
    height: auto;
  }

  .prompt-guide .section-inner {
    height: auto;
    padding: 32px 24px 48px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 24px;
  }

  .prompt-guide__bg {
    left: 0;
    right: 0;
    top: 100px;
    bottom: 0;
    transform: none;
    width: auto;
    height: auto;
  }

  .prompt-guide__cover {
    position: relative;
    left: auto;
    top: auto;
    width: auto;
    height: auto;
    z-index: 1;
  }

  .prompt-guide__cover img {
    width: 140px;
    height: auto;
  }

  .prompt-guide__content {
    position: relative;
    left: auto;
    top: auto;
    width: auto;
    max-width: 100%;
    text-align: center;
    z-index: 1;
  }

  .prompt-guide__title {
    font-size: 20px;
  }

  .prompt-guide__text {
    font-size: 16px;
    line-height: 26px;
  }

  .prompt-guide__btn {
    position: relative;
    left: auto;
    right: auto;
    top: auto;
    z-index: 1;
    margin: 0 auto;
  }

  /* --- Section 5 --- */
  .section-5 .section-inner {
    padding: 40px 24px 60px;
  }

  .section-5__badge {
    font-size: 14px;
    letter-spacing: 1.5px;
  }

  .section-5__title {
    font-size: clamp(26px, 3.5vw, 35px);
    line-height: 1.3;
  }

  .section-5__subtitle {
    font-size: 18px;
    line-height: 28px;
  }

  .section-5__cards {
    flex-direction: column;
    gap: 32px;
  }

  .section-5__card {
    flex: none;
    width: 100%;
    padding: 24px;
  }

  .section-5__card-text {
    font-size: 16px;
    line-height: 24px;
  }

  /* --- Footer --- */
  .footer .section-inner {
    padding: 32px 24px;
  }

  .footer__top {
    flex-direction: column;
    gap: 24px;
  }

  .footer__columns {
    flex-direction: column;
    gap: 24px;
    width: 100%;
  }

  .footer__column:first-child,
  .footer__column:nth-child(2) {
    width: 100%;
  }

  .footer__bottom {
    flex-direction: column;
    gap: 16px;
    align-items: flex-start;
    margin-top: 28px;
  }
}

/* ============================================================
   RESPONSIVE — Small mobile (max-width: 480px)
   ============================================================ */
@media (max-width: 480px) {

  .nav-link {
    font-size: 20px;
    padding: 18px 16px;
  }

  .contact-btn {
    font-size: 16px;
    height: 48px;
    margin: 28px 16px 0;
    width: calc(100% - 32px);
  }

  .hero .section-inner {
    padding: 88px 16px 40px;
  }

  .hero__tagline {
    font-size: 14px;
  }

  .hero__subtitle {
    font-size: 16px;
    line-height: 26px;
  }

  .hero__video {
    border-radius: 12px;
  }

  .hero__video-text {
    font-size: 20px;
  }

  .opening-message {
    padding: 32px 16px;
  }

  .opening-message__title {
    margin-bottom: 24px;
  }

  .team-area,
  .team-area--research,
  .team-area--investigation,
  .team-area--ediscovery,
  .team-area--transcript {
    padding: 16px;
  }

  .team-card__left,
  .team-card__left--research {
    padding: 20px 16px;
  }

  .team-card__right,
  .team-card__right--research {
    padding: 24px 16px;
  }

  .section-2 .section-inner { padding: 32px 16px; }
  .section-3 { padding: 32px 16px; }
  .section-4 { padding: 32px 16px; }
  .section-5 .section-inner { padding: 32px 16px 48px; }
  .footer .section-inner { padding: 24px 16px; }

  .prompt-guide .section-inner {
    padding: 24px 16px 40px;
  }

  .prompt-guide__bg {
    left: 16px;
    right: 16px;
  }
}


/* ============================================================
   RESPONSIVE — XS mobile (max-width: 375px)
   ============================================================ */
@media (max-width: 375px) {

  .hero__tagline {
    font-size: 11px;
    letter-spacing: 0.5px;
  }

}


/* ============================================================
   SOLUTIONS PAGE
   Styles specific to solutions.html
   ============================================================ */

/* ===== HERO ===== */
.sol-hero {
  position: relative;
  width: 100%;
  height: 673px;
  background-color: #f8f5f1;
  background-image:
    url("data:image/svg+xml,%3Csvg viewBox='0 0 1440 673' xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='none'%3E%3Crect x='0' y='0' height='100%25' width='100%25' fill='url(%23g1)' opacity='1'/%3E%3Cdefs%3E%3CradialGradient id='g1' gradientUnits='userSpaceOnUse' cx='0' cy='0' r='10' gradientTransform='matrix(75.05 -4.7233 10.106 55.284 511 350.58)'%3E%3Cstop stop-color='rgba(250,249,247,0.9)' offset='0'/%3E%3Cstop stop-color='rgba(250,249,247,0.9)' offset='0.4967'/%3E%3Cstop stop-color='rgba(250,249,247,0)' offset='1'/%3E%3C/radialGradient%3E%3C/defs%3E%3C/svg%3E"),
    url("data:image/svg+xml,%3Csvg viewBox='0 0 1440 673' xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='none'%3E%3Crect x='0' y='0' height='100%25' width='100%25' fill='url(%23g2)' opacity='1'/%3E%3Cdefs%3E%3CradialGradient id='g2' gradientUnits='userSpaceOnUse' cx='0' cy='0' r='10' gradientTransform='matrix(0.9 63.985 -136.91 0.66297 675 0.000017924)'%3E%3Cstop stop-color='rgba(70,130,180,0.1)' offset='0'/%3E%3Cstop stop-color='rgba(70,130,180,0.1)' offset='0.49755'/%3E%3Cstop stop-color='rgba(70,130,180,0)' offset='1'/%3E%3C/radialGradient%3E%3C/defs%3E%3C/svg%3E"),
    url("data:image/svg+xml,%3Csvg viewBox='0 0 1440 673' xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='none'%3E%3Crect x='0' y='0' height='100%25' width='100%25' fill='url(%23g3)' opacity='1'/%3E%3Cdefs%3E%3CradialGradient id='g3' gradientUnits='userSpaceOnUse' cx='0' cy='0' r='10' gradientTransform='matrix(7.6962e-16 62.87 -134.52 -3.6221e-15 720 0)'%3E%3Cstop stop-color='rgba(70,130,180,0.1)' offset='0'/%3E%3Cstop stop-color='rgba(70,130,180,0.1)' offset='0.5'/%3E%3Cstop stop-color='rgba(70,130,180,0)' offset='1'/%3E%3C/radialGradient%3E%3C/defs%3E%3C/svg%3E"),
    linear-gradient(180deg, rgb(235, 244, 250) 0%, rgb(235, 242, 249) 10.505%, rgb(251, 240, 234) 100%),
    url("data:image/svg+xml,%3Csvg viewBox='0 0 1440 673' xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='none'%3E%3Crect x='0' y='0' height='100%25' width='100%25' fill='url(%23g4)' opacity='1'/%3E%3Cdefs%3E%3CradialGradient id='g4' gradientUnits='userSpaceOnUse' cx='0' cy='0' r='10' gradientTransform='matrix(87.3 0.0000023122 -0.0000032021 64.308 407 665.96)'%3E%3Cstop stop-color='rgba(198,106,72,0.15)' offset='0'/%3E%3Cstop stop-color='rgba(198,106,72,0.08)' offset='0.5'/%3E%3Cstop stop-color='rgba(198,106,72,0)' offset='1'/%3E%3C/radialGradient%3E%3C/defs%3E%3C/svg%3E"),
    linear-gradient(90deg, rgb(248, 245, 241) 0%, rgb(248, 245, 241) 100%);
  background-size: 100% 100%;
  background-repeat: no-repeat;
}

.sol-hero .section-inner {
  height: 100%;
}

.sol-hero__eyebrow {
  position: absolute;
  top: 134px;
  left: 284px;
  font-family: 'Inter', sans-serif;
  font-weight: 600;
  font-size: 20px;
  line-height: 36px;
  color: #c66a48;
  letter-spacing: 1px;
  text-transform: uppercase;
  margin: 0;
}

.sol-hero__title {
  position: absolute;
  top: 194px;
  left: 284px;
  width: 776px;
  font-family: 'Poppins', sans-serif;
  font-weight: 600;
  font-size: 60px;
  line-height: 72px;
  letter-spacing: -0.9px;
  color: #000;
  margin: 0;
}

.sol-hero__subtitle {
  position: absolute;
  top: 386px;
  left: 284px;
  width: 728px;
  font-family: 'Inter', sans-serif;
  font-weight: 500;
  font-size: 22px;
  line-height: 39.6px;
  letter-spacing: -0.22px;
  color: #000;
  margin: 0;
}


/* ===== THE DISTINCTION ===== */
.sol-distinction {
  position: relative;
  width: 100%;
  height: 692px;
  border-top: 1px solid #c66a48;
  background: #fff;
  overflow: hidden;
}

.sol-distinction .section-inner {
  height: 100%;
}

.sol-distinction__left {
  position: absolute;
  top: 0;
  left: 284px;
  width: 588px;
}

.sol-distinction__eyebrow {
  margin: 0;
  padding-top: 119px;
  font-family: 'Inter', sans-serif;
  font-weight: 600;
  font-size: 20px;
  line-height: 36px;
  letter-spacing: 1px;
  color: #c66a48;
}

.sol-distinction__title {
  margin: 2px 0 0;
  font-family: 'Inter', sans-serif;
  font-weight: 600;
  font-size: 35px;
  line-height: 44px;
  letter-spacing: -0.35px;
  color: #000;
}

.sol-distinction__text {
  margin: 20px 0 0;
  font-family: 'Inter', sans-serif;
  font-weight: 500;
  font-size: 22px;
  line-height: 39.6px;
  letter-spacing: -0.22px;
  color: #000;
}

.sol-distinction__text:first-of-type {
  margin-top: 24px;
}

.sol-distinction__divider {
  position: absolute;
  top: 188px;
  left: 912px;
  width: 12px;
  height: 450px;
  background: linear-gradient(180deg, rgba(198,106,72,0) 0%, #c66a48 20%, #c66a48 80%, rgba(198,106,72,0) 100%);
  opacity: 0.12;
}

.sol-distinction__right {
  position: absolute;
  top: 0;
  left: 971px;
  width: 344px;
}

.sol-distinction__right-eyebrow {
  margin: 0;
  padding-top: 219px;
  font-family: 'Inter', sans-serif;
  font-weight: 600;
  font-size: 22px;
  line-height: 36px;
  letter-spacing: 1.1px;
  color: #c66a48;
}

.sol-distinction__right-text {
  margin: 10px 0 0;
  font-family: 'Inter', sans-serif;
  font-weight: 500;
  font-size: 22px;
  line-height: 38.4px;
  letter-spacing: -0.16px;
  color: #000;
}

.sol-distinction__highlight {
  color: #c66a48;
}


/* ===== FOUNDATION OF TRUST ===== */
.sol-trust {
  position: relative;
  width: 100%;
  height: 689px;
  background: #fff;
  overflow: hidden;
}

.sol-trust .section-inner {
  height: 100%;
}

.sol-trust__title {
  position: absolute;
  top: 90px;
  left: 284px;
  width: 721px;
  font-family: 'Inter', sans-serif;
  font-weight: 600;
  font-size: 35px;
  line-height: 44px;
  letter-spacing: -0.35px;
  color: #000;
  margin: 0;
}

.sol-trust__subtitle {
  position: absolute;
  top: 168px;
  left: 284px;
  width: 811px;
  font-family: 'Inter', sans-serif;
  font-weight: 500;
  font-size: 22px;
  line-height: 39.4px;
  letter-spacing: -0.22px;
  color: #000;
  margin: 0;
}

.sol-trust__body {
  position: absolute;
  top: 272px;
  left: 284px;
  width: 854px;
  font-family: 'Inter', sans-serif;
  font-weight: 500;
  font-size: 22px;
  line-height: 39.6px;
  letter-spacing: -0.22px;
  color: #000;
  margin: 0;
}

.sol-trust__gradient-rule {
  position: absolute;
  top: 343px;
  left: 284px;
  width: 1000px;
  height: 4px;
  background: linear-gradient(90deg, #c66a48 0%, #a6a6a6 50%, #4682b4 100%);
}

.sol-trust__columns {
  position: absolute;
  top: 407px;
  left: 284px;
  display: flex;
  gap: 50px;
  width: 934px;
}

.sol-trust__column {
  flex: 1;
  width: 278px;
}

.sol-trust__column-title {
  margin: 0 0 7px;
  font-family: 'Inter', sans-serif;
  font-weight: 600;
  font-size: 18px;
  line-height: 32.4px;
  color: #c66a48;
}

.sol-trust__column-text {
  margin: 0;
  font-family: 'Inter', sans-serif;
  font-weight: 500;
  font-size: 18px;
  line-height: 32.4px;
  color: #000;
  text-wrap: pretty;
}


/* ===== AI-NATIVE BUSINESS MODEL ===== */
.sol-pricing {
  position: relative;
  width: 100%;
  height: 1072px;
  background: #f0f4f8;
  overflow: hidden;
}

.sol-pricing .section-inner {
  height: 100%;
}

.sol-pricing__title {
  position: absolute;
  top: 100px;
  left: 284px;
  width: 510px;
  font-family: 'Inter', sans-serif;
  font-weight: 600;
  font-size: 35px;
  line-height: 44px;
  letter-spacing: -1.75px;
  color: #000;
  margin: 0;
}

.sol-pricing__subtitle {
  position: absolute;
  top: 220px;
  left: 284px;
  width: 796px;
  font-family: 'Inter', sans-serif;
  font-weight: 500;
  font-size: 22px;
  line-height: 39.6px;
  letter-spacing: -0.22px;
  color: #000;
  margin: 0;
}

.sol-pricing__body {
  position: absolute;
  top: 366px;
  left: 284px;
  width: 801px;
  font-family: 'Inter', sans-serif;
  font-weight: 500;
  font-size: 22px;
  line-height: 39.4px;
  letter-spacing: -0.22px;
  color: #000;
  margin: 0;
}

.sol-pricing__rule {
  position: absolute;
  top: 469px;
  left: 284px;
  width: 824px;
  height: 1px;
  background: #ccc;
}

.sol-pricing__rule--bottom {
  top: 1028px;
}

.sol-pricing__row {
  position: absolute;
  left: 284px;
  display: flex;
  gap: 21px;
}

.sol-pricing__row:nth-child(5) {
  top: 517px;
}

.sol-pricing__row:nth-child(6) {
  top: 709px;
}

.sol-pricing__row:nth-child(7) {
  top: 901px;
}

.sol-pricing__label {
  flex-shrink: 0;
  width: 209px;
  font-family: 'Inter', sans-serif;
  font-weight: 600;
  font-size: 20px;
  line-height: 36px;
  letter-spacing: 1px;
  color: #c66a48;
}

.sol-pricing__row-text {
  margin: 0;
  width: 572px;
  font-family: 'Inter', sans-serif;
  font-weight: 500;
  font-size: 18px;
  line-height: 32.4px;
  letter-spacing: -0.18px;
  color: #000;
  text-wrap: pretty;
}


/* ===== HOW PRICING WORKS (Steps) ===== */
.sol-steps {
  position: relative;
  width: 100%;
  background: #fff;
  overflow: hidden;
  padding: 99px 0 120px;
}

.sol-steps__title {
  font-family: 'Inter', sans-serif;
  font-weight: 600;
  font-size: 35px;
  line-height: 44px;
  letter-spacing: -1.75px;
  color: #000;
  margin: 0 0 48px 284px;
}

.sol-steps__subtitle {
  width: 752px;
  margin: 0;
  margin-left: 284px;
  font-family: 'Inter', sans-serif;
  font-weight: 500;
  font-size: 22px;
  line-height: 39.6px;
  letter-spacing: -0.22px;
  color: #000;
  text-align: left;
}

.sol-steps__subtitle + .sol-steps__subtitle {
  margin-top: 8px;
}

.sol-steps__timeline {
  position: relative;
  width: 752px;
  margin: 60px 0 0;
  margin-left: 284px;
}

.sol-steps__timeline-line {
  position: absolute;
  left: 20px;
  top: 40px;
  bottom: 122px;
  width: 2px;
  background: linear-gradient(180deg, #c66a48 0%, #4682b4 50%, #b8943a 100%);
}

.sol-steps__step {
  position: relative;
  display: flex;
  gap: 24px;
  padding-bottom: 60px;
}

.sol-steps__step:last-child {
  padding-bottom: 0;
}

.sol-steps__step-circle {
  flex-shrink: 0;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  position: relative;
  z-index: 1;
}

.sol-steps__step-circle--1 {
  background: #c66a48;
}

.sol-steps__step-circle--2 {
  background: #4682b4;
}

.sol-steps__step-circle--3 {
  background: #b8943a;
}

.sol-steps__step-label {
  font-family: 'Inter', sans-serif;
  font-weight: 500;
  font-size: 10px;
  line-height: 1;
  letter-spacing: -0.5px;
  color: #fff;
  text-align: center;
}

.sol-steps__step-number {
  font-family: 'Inter', sans-serif;
  font-weight: 500;
  font-size: 14px;
  line-height: 1;
  letter-spacing: -0.7px;
  color: #fff;
  text-align: center;
  margin-top: 2px;
}

.sol-steps__step-content {
  flex: 1;
  padding-top: 2px;
}

.sol-steps__step-title {
  margin: 0 0 4px;
  font-family: 'Inter', sans-serif;
  font-weight: 600;
  font-size: 18px;
  line-height: 32.4px;
  letter-spacing: -0.18px;
  color: #000;
}

.sol-steps__step:last-child .sol-steps__step-title {
  font-weight: 700;
  letter-spacing: -0.9px;
  line-height: 38.4px;
}

.sol-steps__step-text {
  margin: 0;
  font-family: 'Inter', sans-serif;
  font-weight: 500;
  font-size: 18px;
  line-height: 32.4px;
  letter-spacing: -0.18px;
  color: #000;
}


/* ===== CTA ===== */
.sol-cta {
  position: relative;
  width: 100%;
  height: 465px;
  border-top: 1px solid #c66a48;
  background: #fff;
  overflow: hidden;
}

.sol-cta .section-inner {
  height: 100%;
}

.sol-cta__title {
  position: absolute;
  top: 91px;
  left: 284px;
  width: 441px;
  margin: 0;
  font-family: 'Inter', sans-serif;
  font-weight: 600;
  font-size: 35px;
  line-height: 44px;
  letter-spacing: -1.75px;
  color: #000;
}

.sol-cta__subtitle {
  position: absolute;
  top: 173px;
  left: 284px;
  width: 752px;
  margin: 0;
  font-family: 'Inter', sans-serif;
  font-weight: 500;
  font-size: 22px;
  line-height: 39.4px;
  letter-spacing: -0.22px;
  color: #000;
}

.sol-cta__btn {
  position: absolute;
  top: 312px;
  left: 284px;
  display: inline-block;
  padding: 12px 24px;
  background: #c66a48;
  color: #fff;
  font-family: 'Inter', sans-serif;
  font-weight: 500;
  font-size: 16px;
  line-height: 24px;
  text-decoration: none;
  border-radius: 100px;
  box-shadow: 0 1px 2px rgba(0,0,0,0.05), 0 2px 4px rgba(0,0,0,0.05);
  transition: background 0.2s;
}

.sol-cta__btn:hover {
  background: #b55d3d;
}


/* ============================================================
   SOLUTIONS — Wide Laptop (max-width: 1280px)
   ============================================================ */
@media (max-width: 1280px) {

  /* --- Hero --- */
  .sol-hero {
    height: auto;
  }

  .sol-hero .section-inner {
    height: auto;
    padding: 134px 48px 80px;
  }

  .sol-hero__eyebrow {
    position: static;
    margin-bottom: 12px;
  }

  .sol-hero__title {
    position: static;
    width: auto;
    max-width: 776px;
    margin-bottom: 32px;
  }

  .sol-hero__subtitle {
    position: static;
    width: auto;
    max-width: 728px;
  }

  /* --- Distinction (Fix #45) --- */
  .sol-distinction {
    height: auto;
    padding: 60px 48px;
    overflow: visible;
  }

  .sol-distinction .section-inner {
    height: auto;
    display: flex;
    gap: 48px;
  }

  .sol-distinction__left {
    position: static;
    flex: 1;
    width: auto;
  }

  .sol-distinction__eyebrow {
    padding-top: 0;
  }

  .sol-distinction__divider {
    position: static;
    width: 3px;
    min-height: 250px;
    flex-shrink: 0;
    align-self: center;
  }

  .sol-distinction__right {
    position: static;
    width: 300px;
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }

  .sol-distinction__right-eyebrow {
    padding-top: 0;
  }

  /* --- Trust (Fix #46) --- */
  .sol-trust {
    height: auto;
    padding: 80px 48px;
    overflow: visible;
  }

  .sol-trust .section-inner {
    height: auto;
  }

  .sol-trust__title,
  .sol-trust__subtitle,
  .sol-trust__body {
    position: static;
    width: auto;
    max-width: 854px;
  }

  .sol-trust__title {
    margin-bottom: 24px;
  }

  .sol-trust__subtitle {
    margin-bottom: 16px;
  }

  .sol-trust__body {
    margin-bottom: 40px;
  }

  .sol-trust__gradient-rule {
    position: static;
    width: 100%;
    margin-bottom: 40px;
  }

  .sol-trust__columns {
    position: static;
    width: auto;
    gap: 32px;
  }

  .sol-trust__column {
    width: auto;
  }

  /* --- Pricing --- */
  .sol-pricing {
    height: auto;
    padding: 80px 48px;
    overflow: visible;
  }

  .sol-pricing .section-inner {
    height: auto;
  }

  .sol-pricing__title,
  .sol-pricing__subtitle,
  .sol-pricing__body {
    position: static;
    width: auto;
    max-width: 752px;
  }

  .sol-pricing__title {
    margin-bottom: 24px;
  }

  .sol-pricing__subtitle {
    margin-bottom: 16px;
  }

  .sol-pricing__body {
    margin-bottom: 40px;
  }

  .sol-pricing__rule {
    position: static;
    width: 100%;
    margin-bottom: 40px;
  }

  .sol-pricing__row {
    position: static;
    margin-bottom: 40px;
  }

  .sol-pricing__row:last-child {
    margin-bottom: 0;
  }

  /* --- Steps --- */
  .sol-steps__title {
    margin-left: 0;
  }

  .sol-steps__subtitle {
    margin-left: 0;
    width: auto;
    max-width: 100%;
  }

  .sol-steps__timeline {
    width: auto;
    margin-left: 0;
  }

  /* --- CTA --- */
  .sol-cta {
    height: auto;
    padding: 60px 0 80px;
    overflow: visible;
  }

  .sol-cta .section-inner {
    height: auto;
  }

  .sol-cta__title {
    position: static;
    width: auto;
    margin: 0 0 32px;
    padding-left: 48px;
  }

  .sol-cta__subtitle {
    position: static;
    width: auto;
    margin: 0 0 48px;
    padding-left: 48px;
  }

  .sol-cta__btn {
    position: static;
    margin-left: 48px;
  }
}


/* ============================================================
   SOLUTIONS — Tablet (max-width: 1024px)
   ============================================================ */
@media (max-width: 1024px) {

  /* --- Hero --- */
  .sol-hero {
    height: auto;
  }

  .sol-hero .section-inner {
    height: auto;
    padding: 160px 48px 80px;
  }

  .sol-hero__eyebrow {
    position: static;
    margin-bottom: 12px;
  }

  .sol-hero__title {
    position: static;
    width: auto;
    font-size: clamp(36px, 4.5vw, 60px);
    line-height: 1.2;
    margin-bottom: 32px;
  }

  .sol-hero__subtitle {
    position: static;
    width: auto;
    max-width: 728px;
  }

  /* --- Distinction --- */
  .sol-distinction {
    height: auto;
    padding: 60px 48px 60px;
  }

  .sol-distinction .section-inner {
    height: auto;
    display: flex;
    gap: 48px;
  }

  .sol-distinction__left {
    position: static;
    flex: 1;
    width: auto;
  }

  .sol-distinction__eyebrow {
    padding-top: 0;
  }

  .sol-distinction__divider {
    position: static;
    width: 3px;
    min-height: 250px;
    flex-shrink: 0;
    align-self: center;
  }

  .sol-distinction__right {
    position: static;
    width: 300px;
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }

  .sol-distinction__right-eyebrow {
    padding-top: 0;
  }

  /* --- Trust --- */
  .sol-trust {
    height: auto;
    padding: 80px 48px;
  }

  .sol-trust .section-inner {
    height: auto;
  }

  .sol-trust__title,
  .sol-trust__subtitle,
  .sol-trust__body {
    position: static;
    width: auto;
    max-width: 854px;
  }

  .sol-trust__title {
    margin-bottom: 24px;
  }

  .sol-trust__subtitle {
    margin-bottom: 16px;
  }

  .sol-trust__body {
    margin-bottom: 40px;
  }

  .sol-trust__gradient-rule {
    position: static;
    width: 100%;
    margin-bottom: 40px;
  }

  .sol-trust__columns {
    position: static;
    width: auto;
    gap: 32px;
  }

  .sol-trust__column {
    width: auto;
  }

  /* --- Pricing --- */
  .sol-pricing {
    height: auto;
    padding: 80px 48px;
  }

  .sol-pricing .section-inner {
    height: auto;
  }

  .sol-pricing__title,
  .sol-pricing__subtitle,
  .sol-pricing__body {
    position: static;
    width: auto;
    max-width: 752px;
  }

  .sol-pricing__title {
    margin-bottom: 24px;
  }

  .sol-pricing__subtitle {
    margin-bottom: 16px;
  }

  .sol-pricing__body {
    margin-bottom: 40px;
  }

  .sol-pricing__rule {
    position: static;
    width: 100%;
    margin-bottom: 40px;
  }

  .sol-pricing__row {
    position: static;
    margin-bottom: 40px;
  }

  .sol-pricing__row:last-child {
    margin-bottom: 0;
  }

  /* --- Steps --- */
  .sol-steps__subtitle {
    margin-left: 0;
    width: auto;
    max-width: 100%;
  }

  .sol-steps__timeline {
    width: auto;
    margin-left: 0;
  }

  .sol-steps .section-inner {
    padding: 0 48px;
  }

  /* --- CTA --- */
  .sol-cta {
    height: auto;
    padding: 60px 0 80px;
    overflow: visible;
  }

  .sol-cta .section-inner {
    height: auto;
  }

  .sol-cta__title {
    position: static;
    width: auto;
    margin: 0 0 32px;
    padding-left: 48px;
  }

  .sol-cta__subtitle {
    position: static;
    width: auto;
    margin: 0 0 48px;
    padding-left: 48px;
  }

  .sol-cta__btn {
    position: static;
    margin-left: 48px;
  }
}


/* ============================================================
   SOLUTIONS — Mobile (max-width: 768px)
   ============================================================ */
@media (max-width: 768px) {

  /* --- Hero --- */
  .sol-hero .section-inner {
    padding: 120px 24px 60px;
  }

  .sol-hero__eyebrow { font-size: 16px; }

  .sol-hero__title {
    font-size: clamp(28px, 6vw, 42px);
    line-height: 1.15;
  }

  .sol-hero__subtitle {
    font-size: 20px;
    line-height: 34px;
  }

  /* --- Distinction --- */
  .sol-distinction {
    padding: 40px 24px;
  }

  .sol-distinction .section-inner {
    flex-direction: column;
    gap: 32px;
  }

  .sol-distinction__divider {
    width: 100%;
    height: 3px;
    min-height: unset;
    background: linear-gradient(90deg, #c66a48 0%, rgba(198,106,72,0) 100%);
  }

  .sol-distinction__right {
    width: auto;
  }

  .sol-distinction__title {
    font-size: clamp(26px, 4vw, 35px);
  }

  .sol-distinction__right-text {
    font-size: 20px;
    line-height: 34px;
  }

  /* --- Trust --- */
  .sol-trust {
    padding: 60px 24px;
  }

  .sol-trust__title {
    font-size: clamp(26px, 4vw, 35px);
  }

  .sol-trust__subtitle {
    font-size: 20px;
    line-height: 34px;
  }

  .sol-trust__columns {
    flex-direction: column;
    gap: 40px;
  }

  /* --- Pricing --- */
  .sol-pricing {
    padding: 60px 24px;
  }

  .sol-pricing__title {
    font-size: clamp(26px, 4vw, 35px);
  }

  .sol-pricing__subtitle {
    font-size: 20px;
    line-height: 34px;
  }

  .sol-pricing__row {
    flex-direction: column;
    gap: 12px;
  }

  .sol-pricing__label {
    width: auto;
  }

  /* --- Steps --- */
  .sol-steps {
    padding: 60px 0 80px;
  }

  .sol-steps .section-inner {
    padding: 0 24px;
  }

  .sol-steps__title {
    font-size: clamp(26px, 4vw, 35px);
  }

  .sol-steps__subtitle {
    font-size: 20px;
    line-height: 34px;
  }

  /* --- CTA --- */
  .sol-cta {
    padding: 60px 0 80px;
  }

  .sol-cta__title {
    padding-left: 24px;
    font-size: clamp(26px, 4vw, 35px);
  }

  .sol-cta__subtitle {
    padding-left: 24px;
    padding-right: 24px;
    font-size: 20px;
    line-height: 34px;
  }

  .sol-cta__btn {
    margin-left: 24px;
  }
}


/* ============================================================
   SOLUTIONS — Small mobile (max-width: 480px)
   ============================================================ */
@media (max-width: 480px) {

  .sol-hero .section-inner {
    padding: 100px 16px 48px;
  }

  .sol-hero__eyebrow { font-size: 14px; }

  .sol-hero__subtitle {
    font-size: 18px;
    line-height: 30px;
  }

  .sol-distinction {
    padding: 32px 16px;
  }

  .sol-distinction__eyebrow {
    font-size: 16px;
  }

  .sol-distinction__title {
    font-size: 26px;
  }

  .sol-distinction__text {
    font-size: 16px;
    line-height: 28px;
  }

  .sol-distinction__right-text {
    font-size: 18px;
    line-height: 30px;
  }

  .sol-trust {
    padding: 48px 16px;
  }

  .sol-pricing {
    padding: 48px 16px;
  }

  .sol-steps {
    padding: 48px 0 60px;
  }

  .sol-steps .section-inner {
    padding: 0 16px;
  }

  .sol-steps__step-text,
  .sol-trust__column-text,
  .sol-pricing__row-text,
  .sol-pricing__body {
    font-size: 16px;
    line-height: 28px;
  }

  .sol-cta {
    padding: 48px 0 60px;
  }

  .sol-cta__title {
    padding-left: 16px;
  }

  .sol-cta__subtitle {
    padding-left: 16px;
    padding-right: 16px;
    font-size: 18px;
    line-height: 30px;
  }

  .sol-cta__btn {
    margin-left: 16px;
  }
}

/* ============================================================
   LEGAL AI PLATFORM PAGE  (legal-ai-platform.html)
   Prefix: .lap-
   ============================================================ */

/* ===== HERO ===== */
.lap-hero {
  position: relative;
  width: 100%;
  height: 803px;
  overflow: hidden;
  background-color: #f8f5f1;
  background-image:
    url("data:image/svg+xml,%3Csvg viewBox='0 0 1440 803' xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='none'%3E%3Crect x='0' y='0' height='100%25' width='100%25' fill='url(%23g1)' opacity='1'/%3E%3Cdefs%3E%3CradialGradient id='g1' gradientUnits='userSpaceOnUse' cx='0' cy='0' r='10' gradientTransform='matrix(75.05 -5.6357 10.106 65.963 511 418.3)'%3E%3Cstop stop-color='rgba(250,249,247,0.9)' offset='0'/%3E%3Cstop stop-color='rgba(250,249,247,0.9)' offset='0.4967'/%3E%3Cstop stop-color='rgba(250,249,247,0)' offset='1'/%3E%3C/radialGradient%3E%3C/defs%3E%3C/svg%3E"),
    url("data:image/svg+xml,%3Csvg viewBox='0 0 1440 803' xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='none'%3E%3Crect x='0' y='0' height='100%25' width='100%25' fill='url(%23g2)' opacity='1'/%3E%3Cdefs%3E%3CradialGradient id='g2' gradientUnits='userSpaceOnUse' cx='0' cy='0' r='10' gradientTransform='matrix(0.9 76.345 -136.91 0.79103 675 0.000021386)'%3E%3Cstop stop-color='rgba(70,130,180,0.1)' offset='0'/%3E%3Cstop stop-color='rgba(70,130,180,0.1)' offset='0.49755'/%3E%3Cstop stop-color='rgba(70,130,180,0)' offset='1'/%3E%3C/radialGradient%3E%3C/defs%3E%3C/svg%3E"),
    url("data:image/svg+xml,%3Csvg viewBox='0 0 1440 803' xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='none'%3E%3Crect x='0' y='0' height='100%25' width='100%25' fill='url(%23g3)' opacity='1'/%3E%3Cdefs%3E%3CradialGradient id='g3' gradientUnits='userSpaceOnUse' cx='0' cy='0' r='10' gradientTransform='matrix(7.6962e-16 75.014 -134.52 -4.3218e-15 720 0)'%3E%3Cstop stop-color='rgba(70,130,180,0.1)' offset='0'/%3E%3Cstop stop-color='rgba(70,130,180,0.1)' offset='0.5'/%3E%3Cstop stop-color='rgba(70,130,180,0)' offset='1'/%3E%3C/radialGradient%3E%3C/defs%3E%3C/svg%3E"),
    linear-gradient(180deg, rgb(235, 244, 250) 0%, rgb(235, 242, 249) 10.505%, rgb(251, 240, 234) 100%),
    url("data:image/svg+xml,%3Csvg viewBox='0 0 1440 803' xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='none'%3E%3Crect x='0' y='0' height='100%25' width='100%25' fill='url(%23g4)' opacity='1'/%3E%3Cdefs%3E%3CradialGradient id='g4' gradientUnits='userSpaceOnUse' cx='0' cy='0' r='10' gradientTransform='matrix(87.3 0.0000027588 -0.0000032021 76.73 407 794.6)'%3E%3Cstop stop-color='rgba(198,106,72,0.15)' offset='0'/%3E%3Cstop stop-color='rgba(198,106,72,0.08)' offset='0.5'/%3E%3Cstop stop-color='rgba(198,106,72,0)' offset='1'/%3E%3C/radialGradient%3E%3C/defs%3E%3C/svg%3E"),
    linear-gradient(90deg, rgb(248, 245, 241) 0%, rgb(248, 245, 241) 100%);
  background-size: 100% 100%;
  background-repeat: no-repeat;
}

.lap-hero .section-inner {
  height: 100%;
}

.lap-hero__eyebrow {
  position: absolute;
  top: 134px;
  left: 284px;
  font-family: 'Inter', sans-serif;
  font-weight: 600;
  font-size: 20px;
  line-height: 36px;
  letter-spacing: 1px;
  color: #c66a48;
  margin: 0;
}

.lap-hero__title {
  position: absolute;
  top: 196px;
  left: 284px;
  width: 872px;
  font-family: 'Inter', sans-serif;
  font-weight: 600;
  font-size: 60px;
  line-height: 72px;
  letter-spacing: -0.9px;
  color: #000;
  margin: 0;
}

.lap-hero__subtitle {
  position: absolute;
  top: 364px;
  left: 284px;
  width: 520px;
  font-family: 'Inter', sans-serif;
  font-weight: 500;
  font-size: 22px;
  line-height: 39.4px;
  letter-spacing: -0.22px;
  color: #000;
  margin: 0;
}

.lap-hero__body {
  position: absolute;
  top: 485px;
  left: 284px;
  width: 752px;
  font-family: 'Inter', sans-serif;
  font-weight: 500;
  font-size: 18px;
  line-height: 32.4px;
  color: #000;
  margin: 0;
}

.lap-hero__cta {
  position: absolute;
  top: 658px;
  left: 275px;
  display: inline-block;
  background: #c66a48;
  color: #fff;
  font-family: 'Inter', sans-serif;
  font-weight: 500;
  font-size: 16px;
  line-height: 24px;
  text-decoration: none;
  padding: 12px 24px;
  border-radius: 100px;
  box-shadow: 0 1px 2px rgba(0,0,0,0.05), 0 2px 4px rgba(0,0,0,0.05);
  transition: background 0.2s ease;
}

.lap-hero__cta:hover {
  background: #b05a3a;
}


/* ===== LAP HERO — WIDE LAPTOP (≤1280px) ===== */
@media (max-width: 1280px) {
  .lap-hero {
    height: auto;
    padding: 120px 48px 80px;
  }

  .lap-hero .section-inner {
    height: auto;
  }

  .lap-hero__eyebrow,
  .lap-hero__title,
  .lap-hero__subtitle,
  .lap-hero__body,
  .lap-hero__cta {
    position: static;
    width: auto;
    margin: 0;
  }

  .lap-hero__eyebrow {
    margin-bottom: 12px;
  }

  .lap-hero__title {
    font-size: clamp(42px, 5vw, 60px);
    line-height: 1.15;
    letter-spacing: -2px;
    margin-bottom: 24px;
  }

  .lap-hero__subtitle {
    margin-bottom: 24px;
  }

  .lap-hero__body {
    max-width: 752px;
    margin-bottom: 40px;
  }

  .lap-hero__cta {
    display: inline-block;
  }
}

/* ===== LAP HERO — TABLET (≤1024px) ===== */
@media (max-width: 1024px) {
  .lap-hero {
    height: auto;
    padding: 120px 48px 80px;
  }

  .lap-hero .section-inner {
    height: auto;
    position: relative;
  }

  .lap-hero__eyebrow,
  .lap-hero__title,
  .lap-hero__subtitle,
  .lap-hero__body,
  .lap-hero__cta {
    position: static;
    width: auto;
    margin: 0;
  }

  .lap-hero__eyebrow {
    margin-bottom: 12px;
  }

  .lap-hero__title {
    font-size: clamp(36px, 5vw, 60px);
    line-height: 1.15;
    letter-spacing: -1.5px;
    margin-bottom: 24px;
  }

  .lap-hero__subtitle {
    margin-bottom: 24px;
  }

  .lap-hero__body {
    margin-bottom: 40px;
  }

  .lap-hero__cta {
    display: inline-block;
  }
}

/* ===== LAP HERO — MOBILE (≤768px) ===== */
@media (max-width: 768px) {
  .lap-hero {
    padding: 100px 24px 60px;
  }

  .lap-hero__title {
    font-size: clamp(28px, 7vw, 40px);
    letter-spacing: -1px;
  }

  .lap-hero__subtitle {
    font-size: 18px;
    line-height: 30px;
  }

  .lap-hero__body {
    font-size: 16px;
    line-height: 28px;
    letter-spacing: -0.5px;
  }
}

/* ===== LAP HERO — SMALL MOBILE (≤480px) ===== */
@media (max-width: 480px) {
  .lap-hero {
    padding: 90px 16px 48px;
  }

  .lap-hero__title {
    font-size: 26px;
    letter-spacing: -0.5px;
  }

  .lap-hero__subtitle {
    font-size: 16px;
  }
}

/* ===== SECTION 1: PLATFORM ARCHITECTURE ===== */
.lap-arch {
  position: relative;
  width: 100%;
  height: 1876px;
  background: #f4f8f9;
  overflow: hidden;
}

.lap-arch .section-inner {
  height: 100%;
}

.lap-arch__title {
  position: absolute;
  top: 120px;
  left: 284px;
  width: 752px;
  font-family: 'Inter', sans-serif;
  font-weight: 600;
  font-size: 35px;
  line-height: 44px;
  letter-spacing: -0.35px;
  color: #000;
  margin: 0;
}

.lap-arch__subtitle {
  position: absolute;
  top: 246px;
  left: 284px;
  width: 833px;
  font-family: 'Inter', sans-serif;
  font-weight: 500;
  font-size: 22px;
  line-height: 39.6px;
  letter-spacing: -0.22px;
  color: #000;
  margin: 0;
}

.lap-arch__diagram {
  position: absolute;
  top: 334px;
  left: 266px;
  width: 989px;
  height: 435px;
  object-fit: cover;
  display: block;
}

/* --- Separator lines --- */
.lap-arch__line {
  position: absolute;
  height: 1px;
  width: 834px;
  background: rgba(0, 0, 0, 0.1);
}
.lap-arch__line--1 { top: 841px;  left: 269px; }
.lap-arch__line--2 { top: 1029px; left: 269px; }
.lap-arch__line--3 { top: 1237px; left: 270px; }
.lap-arch__line--4 { top: 1411px; left: 239px; }
.lap-arch__line--5 { top: 1586px; left: 244px; }

/* --- Layer dots (12×12 circles) --- */
.lap-arch__dot {
  position: absolute;
  width: 12px;
  height: 12px;
  border-radius: 50%;
}
.lap-arch__dot--1 { top: 878px;  left: 291px; background: #c66a48; }
.lap-arch__dot--2 { top: 1052px; left: 287px; background: #c4973b; }
.lap-arch__dot--3 { top: 1261px; left: 289px; background: #4682b4; }
.lap-arch__dot--4 { top: 1435px; left: 288px; background: #1b2537; }

/* --- Layer vertical bars --- */
.lap-arch__bar {
  position: absolute;
  width: 4px;
}
.lap-arch__bar--1 { top: 867px;  left: 344px; height: 138px; background: #c66a48; }
.lap-arch__bar--2 { top: 1042px; left: 344px; height: 172px; background: #c4973b; }
.lap-arch__bar--3 { top: 1249px; left: 342px; height: 139px; background: #4682b4; }
.lap-arch__bar--4 { top: 1425px; left: 341px; height: 137px; background: #1b2537; }

/* --- Layer labels --- */
.lap-arch__layer-label {
  position: absolute;
  font-family: 'Inter', sans-serif;
  font-weight: 700;
  font-size: 13px;
  line-height: normal;
  letter-spacing: -0.65px;
  white-space: nowrap;
  margin: 0;
}
.lap-arch__layer-label--1 { top: 897px;  left: 273px; color: #c66a48; }
.lap-arch__layer-label--2 { top: 1071px; left: 269px; color: #c4973b; }
.lap-arch__layer-label--3 { top: 1280px; left: 270px; color: #4682b4; }
.lap-arch__layer-label--4 { top: 1454px; left: 270px; color: #1b2537; }

/* --- Layer headings --- */
.lap-arch__layer-heading {
  position: absolute;
  font-family: 'Inter', sans-serif;
  font-weight: 600;
  font-size: 18px;
  line-height: 32.4px;
  letter-spacing: -0.18px;
  color: #000;
  margin: 0;
}
.lap-arch__layer-heading--1 { top: 877px;  left: 382px; width: 339px; }
.lap-arch__layer-heading--2 { top: 1053px; left: 378px; width: 388px; }
.lap-arch__layer-heading--3 { top: 1260px; left: 379px; width: 394px; }
.lap-arch__layer-heading--4 { top: 1434px; left: 379px; width: 557px; }

/* --- Layer body text --- */
.lap-arch__layer-body {
  position: absolute;
  font-family: 'Inter', sans-serif;
  font-weight: 500;
  font-size: 18px;
  line-height: 32.4px;
  letter-spacing: -0.18px;
  color: #000;
  margin: 0;
}
.lap-arch__layer-body--1 { top: 908px;  left: 382px; width: 653px; }
.lap-arch__layer-body--2 { top: 1084px; left: 378px; width: 687px; }
.lap-arch__layer-body--3 { top: 1291px; left: 379px; width: 694px; }
.lap-arch__layer-body--4 { top: 1465px; left: 379px; width: 758px; }

/* --- Security governance box --- */
.lap-arch__security {
  position: absolute;
  top: 1647px;
  left: 258px;
  width: 902px;
  height: 168px;
  background: #eff2f3;
  border: 1px solid #4682b4;
  border-radius: 8px;
  overflow: hidden;
}

.lap-arch__security-icon {
  position: absolute;
  left: 21px;
  top: 50%;
  transform: translateY(-50%);
  width: 28px;
  height: 29px;
}

.lap-arch__security-title {
  position: absolute;
  top: 27px;
  left: 74px;
  width: 752px;
  font-family: 'Inter', sans-serif;
  font-weight: 700;
  font-size: 18px;
  line-height: 32.4px;
  letter-spacing: -0.18px;
  color: #4682b4;
  margin: 0;
}

.lap-arch__security-body {
  position: absolute;
  top: 56px;
  left: 74px;
  width: 752px;
  font-family: 'Inter', sans-serif;
  font-weight: 500;
  font-size: 18px;
  line-height: 32.4px;
  letter-spacing: -0.18px;
  color: #000;
  margin: 0;
}

/* ===== LAP ARCH — WIDE LAPTOP (≤1280px) (Fix #48 — diagram overflow at 1255px) ===== */
@media (max-width: 1280px) {
  .lap-arch {
    height: auto;
    padding: 80px 48px;
    overflow: visible;
  }

  .lap-arch .section-inner {
    height: auto;
  }

  .lap-arch__title,
  .lap-arch__subtitle,
  .lap-arch__diagram,
  .lap-arch__line,
  .lap-arch__dot,
  .lap-arch__bar,
  .lap-arch__layer-label,
  .lap-arch__layer-heading,
  .lap-arch__layer-body,
  .lap-arch__security {
    position: static;
    width: auto;
    margin: 0;
  }

  .lap-arch__title {
    font-size: clamp(28px, 3.5vw, 35px);
    line-height: 1.3;
    letter-spacing: -1px;
    margin-bottom: 20px;
  }

  .lap-arch__subtitle {
    font-size: 20px;
    line-height: 34px;
    letter-spacing: -0.5px;
    margin-bottom: 40px;
  }

  .lap-arch__diagram {
    width: 100%;
    height: auto;
    margin-bottom: 48px;
  }

  .lap-arch__line { display: none; }
  .lap-arch__dot { display: none; }
  .lap-arch__bar { display: none; }

  .lap-arch__layer-label {
    display: block;
    font-size: 12px;
    letter-spacing: 0.5px;
    margin-bottom: 4px;
    margin-top: 40px;
  }

  .lap-arch__layer-heading {
    font-size: 18px;
    line-height: 28px;
    margin-bottom: 12px;
    padding-left: 16px;
    border-left: 4px solid currentColor;
  }
  .lap-arch__layer-heading--1 { border-left-color: #c66a48; }
  .lap-arch__layer-heading--2 { border-left-color: #c4973b; }
  .lap-arch__layer-heading--3 { border-left-color: #4682b4; }
  .lap-arch__layer-heading--4 { border-left-color: #1b2537; }

  .lap-arch__layer-body {
    font-size: 17px;
    line-height: 30px;
    letter-spacing: -0.5px;
    margin-bottom: 0;
    padding-left: 20px;
  }

  .lap-arch__security {
    width: 100%;
    height: auto;
    padding: 24px 24px 24px 70px;
    margin-top: 48px;
    position: relative;
    left: auto;
    top: auto;
    overflow: visible;
  }

  .lap-arch__security-icon {
    position: absolute;
    left: 20px;
    top: 24px;
    transform: none;
  }

  .lap-arch__security-title,
  .lap-arch__security-body {
    position: static;
    width: auto;
  }

  .lap-arch__security-title {
    margin-bottom: 8px;
  }
}

/* ===== LAP ARCH — TABLET (≤1024px) ===== */
@media (max-width: 1024px) {
  .lap-arch {
    height: auto;
    padding: 60px 48px 80px;
    overflow: visible;
  }

  .lap-arch .section-inner {
    height: auto;
  }

  .lap-arch__title,
  .lap-arch__subtitle,
  .lap-arch__diagram,
  .lap-arch__line,
  .lap-arch__dot,
  .lap-arch__bar,
  .lap-arch__layer-label,
  .lap-arch__layer-heading,
  .lap-arch__layer-body,
  .lap-arch__security {
    position: static;
    width: auto;
    margin: 0;
  }

  .lap-arch__title {
    font-size: clamp(26px, 3.5vw, 35px);
    line-height: 1.3;
    letter-spacing: -1px;
    margin-bottom: 20px;
  }

  .lap-arch__subtitle {
    font-size: 18px;
    line-height: 30px;
    letter-spacing: -0.5px;
    margin-bottom: 40px;
  }

  .lap-arch__diagram {
    width: 100%;
    height: auto;
    margin-bottom: 48px;
  }

  /* Hide separator lines — spacing handled by margins */
  .lap-arch__line { display: none; }

  /* Hide individual dots and bars — replaced by left-border on heading */
  .lap-arch__dot { display: none; }
  .lap-arch__bar { display: none; }

  /* Group layer label + heading + body into stacked flow with left border */
  .lap-arch__layer-label {
    display: block;
    font-size: 12px;
    letter-spacing: 0.5px;
    margin-bottom: 4px;
    margin-top: 40px;
  }

  .lap-arch__layer-heading {
    font-size: 18px;
    line-height: 28px;
    margin-bottom: 12px;
    padding-left: 16px;
    border-left: 4px solid currentColor;
  }
  .lap-arch__layer-heading--1 { border-left-color: #c66a48; }
  .lap-arch__layer-heading--2 { border-left-color: #c4973b; }
  .lap-arch__layer-heading--3 { border-left-color: #4682b4; }
  .lap-arch__layer-heading--4 { border-left-color: #1b2537; }

  .lap-arch__layer-body {
    font-size: 16px;
    line-height: 28px;
    letter-spacing: -0.5px;
    margin-bottom: 0;
    padding-left: 20px;
  }

  .lap-arch__security {
    width: 100%;
    height: auto;
    padding: 24px 24px 24px 70px;
    margin-top: 48px;
    position: relative;
    overflow: visible;
  }

  .lap-arch__security-icon {
    position: absolute;
    left: 20px;
    top: 24px;
    transform: none;
  }

  .lap-arch__security-title {
    position: static;
    width: auto;
    margin-bottom: 8px;
  }

  .lap-arch__security-body {
    position: static;
    width: auto;
  }
}

/* ===== LAP ARCH — MOBILE (≤768px) ===== */
@media (max-width: 768px) {
  .lap-arch {
    padding: 48px 24px 60px;
  }

  /* Hide diagram — text in layers below is redundant and diagram is illegible at this width */
  .lap-arch__diagram {
    display: none;
  }

  .lap-arch__title {
    font-size: clamp(24px, 6vw, 30px);
  }

  .lap-arch__security-title,
  .lap-arch__security-body {
    font-size: 16px;
  }
}

/* ===== LAP ARCH — SMALL MOBILE (≤480px) ===== */
@media (max-width: 480px) {
  .lap-arch {
    padding: 40px 16px 48px;
  }
}

/* ===================================================
   SECTION 2 — LEGAL AI CANVAS  (.lap-canvas)
   =================================================== */

/* ===== LAP CANVAS — DESKTOP ===== */
.lap-canvas {
  position: relative;
  width: 100%;
  height: 1159px;
  background: #ffffff;
  overflow: hidden;
}

.lap-canvas .section-inner {
  height: 100%;
}

.lap-canvas__title {
  position: absolute;
  top: 120px;
  left: 268px;
  width: 752px;
  font-family: 'Inter', sans-serif;
  font-weight: 600;
  font-size: 35px;
  line-height: 44px;
  letter-spacing: -0.35px;
  color: #000000;
  margin: 0;
}

.lap-canvas__body {
  position: absolute;
  top: 245px;
  left: 273px;
  width: 752px;
  font-family: 'Inter', sans-serif;
  font-weight: 500;
  font-size: 22px;
  line-height: 39.4px;
  letter-spacing: -0.22px;
  color: #000000;
  margin: 0;
}

/* Cards grid */
.lap-canvas__grid {
  position: absolute;
  top: 466px;
  left: 263px;
  display: grid;
  grid-template-columns: 395px 395px;
  grid-template-rows: 266px 266px;
  column-gap: 45px;
  row-gap: 50px;
}

.lap-canvas__card {
  position: relative;
  background: #fafaf9;
  border-radius: 12px;
  overflow: hidden;
}

/* Accent bars */
.lap-canvas__card-bar {
  position: absolute;
  top: 0;
  height: 2px;
  border-radius: 12px;
}

.lap-canvas__card-bar--1 { left: 5px;  width: 390px; background: #c66a48; }
.lap-canvas__card-bar--2 { left: 1px;  width: 394px; background: #c4973b; }
.lap-canvas__card-bar--3 { left: 0;    width: 100%;  background: #4682b4; }
.lap-canvas__card-bar--4 { left: -1px; width: 396px; background: #1b2537; top: 1px; }

/* Card title */
.lap-canvas__card-title {
  position: absolute;
  top: 25px;
  left: 24px;
  width: 206px;
  font-family: 'Inter', sans-serif;
  font-size: 18px;
  line-height: 28px;
  letter-spacing: -0.9px;
  margin: 0;
}

.lap-canvas__card-title--1 { font-weight: 600; color: #c66a48; }
.lap-canvas__card-title--2 { font-weight: 600; color: #c4973b; }
.lap-canvas__card-title--3 { font-weight: 500; color: #4682b4; }
.lap-canvas__card-title--4 { font-weight: 500; color: #1b2537; }

/* Card body */
.lap-canvas__card-body {
  position: absolute;
  top: 61px;
  left: 25px;
  width: 347px;
  font-family: 'Inter', sans-serif;
  font-weight: 500;
  font-size: 18px;
  line-height: 32.4px;
  letter-spacing: -0.9px;
  color: #000000;
  margin: 0;
}

/* ===== LAP CANVAS — WIDE LAPTOP (≤1280px) ===== */
@media (max-width: 1280px) {
  .lap-canvas {
    height: auto;
    padding: 80px 48px;
    overflow: visible;
  }

  .lap-canvas .section-inner {
    height: auto;
  }

  .lap-canvas__title,
  .lap-canvas__body {
    position: static;
    width: auto;
    margin: 0;
  }

  .lap-canvas__title {
    margin-bottom: 24px;
  }

  .lap-canvas__body {
    max-width: 752px;
    margin-bottom: 40px;
  }

  .lap-canvas__grid {
    position: static;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto;
    gap: 32px;
  }

  .lap-canvas__card {
    height: auto;
    min-height: 220px;
  }

  .lap-canvas__card-bar {
    left: 0 !important;
    top: 0 !important;
    width: 100% !important;
  }

  .lap-canvas__card-title,
  .lap-canvas__card-body {
    position: static;
    width: auto;
  }

  .lap-canvas__card-title {
    padding: 25px 24px 0;
  }

  .lap-canvas__card-body {
    padding: 8px 25px 25px;
  }
}

/* ===== LAP CANVAS — TABLET (≤1024px) ===== */
@media (max-width: 1024px) {
  .lap-canvas {
    height: auto;
    padding: 60px 48px;
    overflow: visible;
  }

  .lap-canvas .section-inner {
    position: static;
    height: auto;
  }

  .lap-canvas__title {
    position: static;
    width: 100%;
    font-size: 28px;
    line-height: 40px;
    margin-bottom: 24px;
  }

  .lap-canvas__body {
    position: static;
    width: 100%;
    font-size: 18px;
    line-height: 30px;
    margin-bottom: 40px;
  }

  .lap-canvas__grid {
    position: static;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto;
    gap: 24px;
  }

  .lap-canvas__card {
    height: auto;
    min-height: 200px;
  }

  .lap-canvas__card-bar {
    left: 0 !important;
    top: 0 !important;
    width: 100% !important;
  }

  .lap-canvas__card-title,
  .lap-canvas__card-body {
    position: static;
    width: auto;
    display: block;
  }

  .lap-canvas__card-title {
    padding: 25px 24px 0;
  }

  .lap-canvas__card-body {
    padding: 8px 25px 25px;
  }
}

/* ===== LAP CANVAS — MOBILE (≤768px) ===== */
@media (max-width: 768px) {
  .lap-canvas {
    padding: 40px 24px;
  }

  .lap-canvas__grid {
    grid-template-columns: 1fr;
  }

  .lap-canvas__title {
    font-size: 24px;
    line-height: 34px;
  }
}

/* ===== LAP CANVAS — SMALL MOBILE (≤480px) ===== */
@media (max-width: 480px) {
  .lap-canvas {
    padding: 32px 16px 40px;
  }
}


/* ===================================================
   SECTION 3 — INTELLIGENCE GROUNDED IN THE LAW (.lap-intel)
   =================================================== */

/* ===== LAP INTEL — DESKTOP ===== */
.lap-intel {
  position: relative;
  width: 100%;
  height: 855px;
  background: #faf9f7;
  overflow: hidden;
}

.lap-intel .section-inner {
  height: 100%;
}

.lap-intel__eyebrow {
  position: absolute;
  top: 100px;
  left: 284px;
  width: 553px;
  font-family: 'Inter', sans-serif;
  font-weight: 600;
  font-size: 20px;
  line-height: 36px;
  letter-spacing: 1px;
  color: #c66a48;
  margin: 0;
}

.lap-intel__title {
  position: absolute;
  top: 138px;
  left: 284px;
  width: 752px;
  font-family: 'Inter', sans-serif;
  font-weight: 600;
  font-size: 35px;
  line-height: 44px;
  letter-spacing: -0.35px;
  color: #000000;
  margin: 0;
}

.lap-intel__intro {
  position: absolute;
  top: 216px;
  left: 284px;
  width: 752px;
  font-family: 'Inter', sans-serif;
  font-weight: 500;
  font-size: 22px;
  line-height: 39.4px;
  letter-spacing: -0.22px;
  color: #000000;
  margin: 0;
}

.lap-intel__bar {
  position: absolute;
  left: 288px;
  width: 4px;
}

.lap-intel__bar--1 {
  top: 323px;
  height: 162px;
  background: #c66a48;
}

.lap-intel__bar--2 {
  top: 541px;
  height: 227px;
  background: #4682b4;
}

.lap-intel__text {
  position: absolute;
  font-family: 'Inter', sans-serif;
  font-weight: 500;
  font-size: 18px;
  line-height: 32.4px;
  letter-spacing: -0.9px;
  color: #000000;
  margin: 0;
}

.lap-intel__text--1 {
  top: 323px;
  left: 332px;
  width: 752px;
}

.lap-intel__text--2 {
  top: 541px;
  left: 334px;
  width: 748px;
}

/* ===== LAP INTEL — WIDE LAPTOP (≤1280px) ===== */
@media (max-width: 1280px) {
  .lap-intel {
    height: auto;
    padding: 80px 48px;
    overflow: visible;
  }

  .lap-intel .section-inner {
    height: auto;
  }

  .lap-intel__eyebrow,
  .lap-intel__title,
  .lap-intel__intro {
    position: static;
    width: auto;
    margin: 0;
  }

  .lap-intel__eyebrow {
    margin-bottom: 8px;
  }

  .lap-intel__title {
    margin-bottom: 20px;
  }

  .lap-intel__intro {
    max-width: 752px;
    margin-bottom: 40px;
  }

  .lap-intel__bar {
    display: none;
  }

  .lap-intel__text {
    position: static;
    width: auto;
    border-left: 4px solid;
    padding-left: 28px;
    margin-bottom: 32px;
  }

  .lap-intel__text--1 { border-color: #c66a48; }
  .lap-intel__text--2 { border-color: #4682b4; }
}

/* ===== LAP INTEL — TABLET (≤1024px) ===== */
@media (max-width: 1024px) {
  .lap-intel {
    height: auto;
    padding: 60px 48px;
    overflow: visible;
  }

  .lap-intel .section-inner {
    position: static;
    height: auto;
  }

  .lap-intel__eyebrow,
  .lap-intel__title,
  .lap-intel__intro {
    position: static;
    width: 100%;
  }

  .lap-intel__eyebrow {
    margin-bottom: 8px;
  }

  .lap-intel__title {
    font-size: 28px;
    line-height: 40px;
    margin-bottom: 20px;
  }

  .lap-intel__intro {
    font-size: 18px;
    line-height: 30px;
    margin-bottom: 40px;
  }

  .lap-intel__bar {
    display: none;
  }

  .lap-intel__text {
    position: static;
    width: 100%;
    border-left: 4px solid;
    padding-left: 28px;
    margin-bottom: 32px;
  }

  .lap-intel__text--1 { border-color: #c66a48; }
  .lap-intel__text--2 { border-color: #4682b4; }
}

/* ===== LAP INTEL — MOBILE (≤768px) ===== */
@media (max-width: 768px) {
  .lap-intel {
    padding: 40px 24px;
  }

  .lap-intel__title {
    font-size: 24px;
    line-height: 34px;
  }
}

/* ===== LAP INTEL — SMALL MOBILE (≤480px) ===== */
@media (max-width: 480px) {
  .lap-intel {
    padding: 32px 16px 40px;
  }
}


/* ===================================================
   LEGAL PROMPT GUIDE — LAP PAGE (.lap-pg)
   =================================================== */

/* ===== LAP PG — DESKTOP ===== */
.lap-pg {
  position: relative;
  width: 100%;
  height: 358px;
  background: #ffffff;
  overflow: hidden;
}

.lap-pg .section-inner {
  height: 100%;
}

.lap-pg__bg {
  position: absolute;
  left: 81px;
  top: 100px;
  width: 1300px;
  height: 135px;
  background: linear-gradient(to right, #1e384e, #4681b4);
}

.lap-pg__cover {
  position: absolute;
  left: 182px;
  top: 56px;
  width: 203px;
  height: 247px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.lap-pg__cover img {
  width: 173px;
  height: 224px;
  object-fit: cover;
  transform: rotate(-8.25deg);
  box-shadow: 10px 4px 25px 10px rgba(0, 0, 0, 0.35);
}

.lap-pg__content {
  position: absolute;
  left: 467px;
  top: 121px;
  width: 468px;
}

.lap-pg__title {
  font-family: 'Inter', sans-serif;
  font-weight: 600;
  font-size: 24px;
  line-height: 30px;
  color: #ffffff;
  margin: 0 0 8px;
}

.lap-pg__text {
  font-family: 'Inter', sans-serif;
  font-weight: 600;
  font-size: 20px;
  line-height: 30px;
  color: #ffffff;
  margin: 0;
}

.lap-pg__btn {
  position: absolute;
  left: 978px;
  top: 142px;
  width: 195px;
  height: 48px;
  background: #c66a48;
  border-radius: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: 'Inter', sans-serif;
  font-weight: 600;
  font-size: 20px;
  color: #ffffff;
  text-decoration: none;
}

.lap-pg__btn:hover {
  background: #b35a3a;
}

/* ===== LAP PG — WIDE LAPTOP (≤1280px) (Fix #49/#50 — overflow + content clipping) ===== */
@media (max-width: 1280px) {
  .lap-pg {
    height: auto;
    min-height: 358px;
    overflow: visible;
  }

  .lap-pg__bg {
    left: 48px;
    right: 48px;
    width: auto;
    top: 73px;
    height: 165px;
  }

  .lap-pg__cover {
    left: 80px;
    top: 29px;
  }

  .lap-pg__content {
    left: 340px;
    top: 94px;
    width: auto;
    max-width: 380px;
  }

  .lap-pg__btn {
    left: auto;
    right: 80px;
    top: 115px;
  }
}

/* ===== LAP PG — TABLET (≤1024px) ===== */
/* Matches homepage .prompt-guide ≤768px pattern: vertical stack, centered */
@media (max-width: 1024px) {
  .lap-pg {
    height: auto;
    overflow: visible;
  }

  .lap-pg .section-inner {
    height: auto;
    padding: 32px 24px 48px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 24px;
  }

  .lap-pg__bg {
    left: 0;
    right: 0;
    top: 100px;
    bottom: 0;
    width: auto;
    height: auto;
  }

  .lap-pg__cover {
    position: relative;
    left: auto;
    top: auto;
    width: auto;
    height: auto;
    z-index: 1;
  }

  .lap-pg__cover img {
    width: 140px;
    height: auto;
  }

  .lap-pg__content {
    position: relative;
    left: auto;
    top: auto;
    width: auto;
    max-width: 100%;
    text-align: center;
    z-index: 1;
  }

  .lap-pg__title {
    font-size: 20px;
  }

  .lap-pg__text {
    font-size: 16px;
    line-height: 26px;
  }

  .lap-pg__btn {
    position: relative;
    left: auto;
    right: auto;
    top: auto;
    z-index: 1;
    margin: 0 auto;
  }
}

/* ===== LAP PG — MOBILE (≤768px) ===== */
@media (max-width: 768px) {
  .lap-pg .section-inner {
    padding: 32px 24px 48px;
  }
}

/* ===== LAP PG — SMALL MOBILE (≤480px) ===== */
@media (max-width: 480px) {
  .lap-pg .section-inner {
    padding: 24px 16px 40px;
  }

  .lap-pg__bg {
    top: 80px;
  }
}


/* ===================================================
   SECTION 4 — SECURITY & GOVERNANCE (.lap-sec4)
   =================================================== */

/* ===== LAP SEC4 — DESKTOP ===== */
.lap-sec4 {
  position: relative;
  width: 100%;
  height: 1192px;
  background: #f7f8f9;
  overflow: hidden;
}

.lap-sec4 .section-inner {
  height: 100%;
}

.lap-sec4__title {
  position: absolute;
  top: 120px;
  left: 284px;
  width: 653px;
  font-family: 'Inter', sans-serif;
  font-weight: 600;
  font-size: 35px;
  line-height: 44px;
  letter-spacing: -0.35px;
  color: #000000;
  margin: 0;
}

.lap-sec4__intro {
  position: absolute;
  top: 247px;
  left: 284px;
  width: 752px;
  font-family: 'Inter', sans-serif;
  font-weight: 500;
  font-size: 22px;
  line-height: 39.4px;
  letter-spacing: -0.22px;
  color: #000000;
  margin: 0;
}

.lap-sec4__icon {
  position: absolute;
  left: 284px;
  width: 40px;
  height: 40px;
}

.lap-sec4__icon--1 { top: 409px; }
.lap-sec4__icon--2 { top: 525px; }
.lap-sec4__icon--3 { top: 676px; }
.lap-sec4__icon--4 { top: 797px; }
.lap-sec4__icon--5 { top: 983px; }

.lap-sec4__item {
  position: absolute;
  left: 359px;
  width: 752px;
  font-family: 'Inter', sans-serif;
  font-weight: 500;
  font-size: 18px;
  line-height: 32.4px;
  color: #000000;
  margin: 0;
}

.lap-sec4__item--1 { top: 409px; }
.lap-sec4__item--2 { top: 525px; }
.lap-sec4__item--3 { top: 676px; }
.lap-sec4__item--4 { top: 797px; }
.lap-sec4__item--5 { top: 983px; }

.lap-sec4__label {
  font-weight: 700;
}

.lap-sec4__label--1 { color: #c66a48; }
.lap-sec4__label--2 { color: #c4973b; }
.lap-sec4__label--3 { color: #4682b4; }
.lap-sec4__label--4 { color: #7b9ec4; }
.lap-sec4__label--5 { color: #9499a0; }

/* ===== LAP SEC4 — WIDE LAPTOP (≤1280px) ===== */
@media (max-width: 1280px) {
  .lap-sec4 {
    height: auto;
    padding: 80px 48px;
    overflow: visible;
  }

  .lap-sec4 .section-inner {
    height: auto;
  }

  .lap-sec4__title,
  .lap-sec4__intro {
    position: static;
    width: auto;
    margin: 0;
  }

  .lap-sec4__title {
    margin-bottom: 20px;
  }

  .lap-sec4__intro {
    max-width: 752px;
    margin-bottom: 40px;
  }

  .lap-sec4__icon {
    display: none;
  }

  .lap-sec4__item {
    position: static;
    width: auto;
    border-left: 4px solid;
    padding-left: 20px;
    margin-bottom: 28px;
  }

  .lap-sec4__item--1 { border-color: #c66a48; }
  .lap-sec4__item--2 { border-color: #c4973b; }
  .lap-sec4__item--3 { border-color: #4682b4; }
  .lap-sec4__item--4 { border-color: #7b9ec4; }
  .lap-sec4__item--5 { border-color: #9499a0; }
}

/* ===== LAP SEC4 — TABLET (≤1024px) ===== */
@media (max-width: 1024px) {
  .lap-sec4 {
    height: auto;
    padding: 60px 48px;
    overflow: visible;
  }

  .lap-sec4 .section-inner {
    position: static;
    height: auto;
  }

  .lap-sec4__title,
  .lap-sec4__intro {
    position: static;
    width: 100%;
  }

  .lap-sec4__title {
    font-size: 28px;
    line-height: 40px;
    margin-bottom: 20px;
  }

  .lap-sec4__intro {
    font-size: 18px;
    line-height: 30px;
    margin-bottom: 40px;
  }

  .lap-sec4__icon {
    display: none;
  }

  .lap-sec4__item {
    position: static;
    width: 100%;
    border-left: 4px solid;
    padding-left: 20px;
    margin-bottom: 28px;
  }

  .lap-sec4__item--1 { border-color: #c66a48; }
  .lap-sec4__item--2 { border-color: #c4973b; }
  .lap-sec4__item--3 { border-color: #4682b4; }
  .lap-sec4__item--4 { border-color: #7b9ec4; }
  .lap-sec4__item--5 { border-color: #9499a0; }
}

/* ===== LAP SEC4 — MOBILE (≤768px) ===== */
@media (max-width: 768px) {
  .lap-sec4 {
    padding: 40px 24px;
  }

  .lap-sec4__title {
    font-size: 24px;
    line-height: 34px;
  }
}

/* ===== LAP SEC4 — SMALL MOBILE (≤480px) ===== */
@media (max-width: 480px) {
  .lap-sec4 {
    padding: 32px 16px 40px;
  }
}


/* ==========================================================================
   ABOUT US PAGE
   ========================================================================== */

/* ===== AU HERO ===== */
.au-hero {
  position: relative;
  height: 803px;
  width: 100%;
  background-color: #f8f5f1;
  background-image:
    url("data:image/svg+xml,%3Csvg viewBox='0 0 1440 803' xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='none'%3E%3Crect x='0' y='0' height='100%25' width='100%25' fill='url(%23g1)' opacity='1'/%3E%3Cdefs%3E%3CradialGradient id='g1' gradientUnits='userSpaceOnUse' cx='0' cy='0' r='10' gradientTransform='matrix(75.05 -5.6357 10.106 65.963 511 418.3)'%3E%3Cstop stop-color='rgba(250,249,247,0.9)' offset='0'/%3E%3Cstop stop-color='rgba(250,249,247,0.9)' offset='0.4967'/%3E%3Cstop stop-color='rgba(250,249,247,0)' offset='1'/%3E%3C/radialGradient%3E%3C/defs%3E%3C/svg%3E"),
    url("data:image/svg+xml,%3Csvg viewBox='0 0 1440 803' xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='none'%3E%3Crect x='0' y='0' height='100%25' width='100%25' fill='url(%23g2)' opacity='1'/%3E%3Cdefs%3E%3CradialGradient id='g2' gradientUnits='userSpaceOnUse' cx='0' cy='0' r='10' gradientTransform='matrix(0.9 76.345 -136.91 0.79103 675 0.000021386)'%3E%3Cstop stop-color='rgba(70,130,180,0.1)' offset='0'/%3E%3Cstop stop-color='rgba(70,130,180,0.1)' offset='0.49755'/%3E%3Cstop stop-color='rgba(70,130,180,0)' offset='1'/%3E%3C/radialGradient%3E%3C/defs%3E%3C/svg%3E"),
    url("data:image/svg+xml,%3Csvg viewBox='0 0 1440 803' xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='none'%3E%3Crect x='0' y='0' height='100%25' width='100%25' fill='url(%23g3)' opacity='1'/%3E%3Cdefs%3E%3CradialGradient id='g3' gradientUnits='userSpaceOnUse' cx='0' cy='0' r='10' gradientTransform='matrix(7.6962e-16 75.014 -134.52 -4.3218e-15 720 0)'%3E%3Cstop stop-color='rgba(70,130,180,0.1)' offset='0'/%3E%3Cstop stop-color='rgba(70,130,180,0.1)' offset='0.5'/%3E%3Cstop stop-color='rgba(70,130,180,0)' offset='1'/%3E%3C/radialGradient%3E%3C/defs%3E%3C/svg%3E"),
    linear-gradient(180deg, rgb(235, 244, 250) 0%, rgb(235, 242, 249) 10.505%, rgb(251, 240, 234) 100%),
    url("data:image/svg+xml,%3Csvg viewBox='0 0 1440 803' xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='none'%3E%3Crect x='0' y='0' height='100%25' width='100%25' fill='url(%23g4)' opacity='1'/%3E%3Cdefs%3E%3CradialGradient id='g4' gradientUnits='userSpaceOnUse' cx='0' cy='0' r='10' gradientTransform='matrix(87.3 0.0000027588 -0.0000032021 76.73 407 794.6)'%3E%3Cstop stop-color='rgba(198,106,72,0.15)' offset='0'/%3E%3Cstop stop-color='rgba(198,106,72,0.08)' offset='0.5'/%3E%3Cstop stop-color='rgba(198,106,72,0)' offset='1'/%3E%3C/radialGradient%3E%3C/defs%3E%3C/svg%3E"),
    linear-gradient(90deg, rgb(248, 245, 241) 0%, rgb(248, 245, 241) 100%);
  background-size: 100% 100%;
  background-repeat: no-repeat;
  overflow: hidden;
}

.au-hero .section-inner {
  height: 100%;
}

.au-hero__eyebrow {
  position: absolute;
  top: 134px;
  left: 284px;
  font-family: 'Inter', sans-serif;
  font-weight: 600;
  font-size: 20px;
  line-height: 36px;
  color: #c66a48;
  letter-spacing: 1px;
  text-transform: uppercase;
  margin: 0;
}

.au-hero__title {
  position: absolute;
  top: 200px;
  left: 284px;
  font-family: 'Poppins', sans-serif;
  font-weight: 600;
  font-size: 60px;
  line-height: 72px;
  color: #000;
  letter-spacing: -0.9px;
  margin: 0;
}

.au-hero__subtitle {
  position: absolute;
  top: 288px;
  left: 284px;
  width: 663px;
  font-family: 'Inter', sans-serif;
  font-weight: 500;
  font-size: 22px;
  line-height: 32px;
  color: #000;
  letter-spacing: -0.22px;
  margin: 0;
}

.au-hero__offices-label {
  position: absolute;
  top: 432px;
  left: 284px;
  font-family: 'Inter', sans-serif;
  font-weight: 600;
  font-size: 13px;
  line-height: 19.5px;
  color: #c66a48;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  margin: 0;
}

.au-hero__offices {
  position: absolute;
  top: 499px;
  left: 284px;
  width: 891px;
  height: 200px;
  display: flex;
  gap: 34px;
}

/* ===== OFFICE CARDS ===== */
.au-office-card {
  flex: 0 0 281px;
  min-width: 0;
  background: rgba(255, 255, 255, 0.7);
  border: 1px solid #4682b4;
  border-radius: 14px;
  padding: 23px 25px 20px 25px;
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.au-office-card:first-child {
  flex: 0 0 261px;
}

.au-office-card__header {
  display: flex;
  align-items: center;
  gap: 10px;
  height: 36px;
  flex-shrink: 0;
}

.au-office-card__pin-circle {
  width: 36px;
  height: 36px;
  background: rgba(198, 106, 72, 0.08);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.au-office-card__flag-city {
  display: flex;
  align-items: center;
  gap: 7px;
}

.au-office-card__flag {
  font-size: 16px;
  line-height: 1;
  letter-spacing: -0.3125px;
}

.au-office-card__city {
  font-family: 'Inter', sans-serif;
  font-weight: 600;
  font-size: 16px;
  line-height: 22px;
  color: #000;
  white-space: nowrap;
}

.au-office-card__divider {
  height: 1px;
  background: rgba(198, 106, 72, 0.1);
  width: 100%;
  flex-shrink: 0;
}

.au-office-card__details {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.au-office-card__phone-row {
  display: flex;
  align-items: center;
  gap: 7px;
  height: 20px;
}

.au-office-card__phone-icon {
  flex-shrink: 0;
}

.au-office-card__phone {
  font-family: 'Inter', sans-serif;
  font-weight: 500;
  font-size: 14px;
  line-height: 20px;
  color: #000;
  white-space: nowrap;
}

.au-office-card__address {
  font-family: 'Inter', sans-serif;
  font-weight: 400;
  font-size: 14px;
  line-height: 20px;
  color: #000;
  margin: 0;
}

/* ===== AU HERO — WIDE LAPTOP (≤1280px) ===== */
@media (max-width: 1280px) {
  .au-hero {
    height: auto;
    padding: 134px 48px 60px;
  }

  .au-hero .section-inner {
    height: auto;
    position: relative;
  }

  .au-hero__eyebrow,
  .au-hero__title,
  .au-hero__subtitle,
  .au-hero__offices-label,
  .au-hero__offices {
    position: static;
    width: auto;
    margin: 0;
  }

  .au-hero__eyebrow { margin-bottom: 12px; }
  .au-hero__title {
    font-size: clamp(36px, 5vw, 60px);
    line-height: 1.15;
    letter-spacing: -1.5px;
    margin-bottom: 20px;
  }
  .au-hero__subtitle {
    max-width: 663px;
    margin-bottom: 32px;
  }
  .au-hero__offices-label { margin-bottom: 16px; }

  .au-hero__offices {
    height: auto;
    max-width: 891px;
  }
}

/* ===== AU HERO — TABLET (≤1024px) ===== */
@media (max-width: 1024px) {
  .au-hero {
    height: auto;
    padding: 120px 48px 60px;
  }

  .au-hero .section-inner {
    height: auto;
    position: relative;
  }

  .au-hero__eyebrow,
  .au-hero__title,
  .au-hero__subtitle,
  .au-hero__offices-label,
  .au-hero__offices {
    position: static;
    width: auto;
    margin: 0;
  }

  .au-hero__eyebrow { margin-bottom: 12px; }
  .au-hero__title {
    font-size: clamp(36px, 5vw, 60px);
    line-height: 1.15;
    letter-spacing: -1.5px;
    margin-bottom: 20px;
  }
  .au-hero__subtitle { margin-bottom: 32px; }
  .au-hero__offices-label { margin-bottom: 16px; }

  .au-hero__offices {
    height: auto;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
  }

  .au-office-card {
    height: auto;
  }

  .au-office-card:first-child {
    flex: unset;
  }
}

/* ===== AU HERO — MOBILE (≤768px) ===== */
@media (max-width: 768px) {
  .au-hero {
    padding: 100px 24px 48px;
  }

  .au-hero__title { font-size: 36px; }
  .au-hero__subtitle { font-size: 18px; }

  .au-hero__offices {
    grid-template-columns: repeat(3, 1fr);
  }
}

/* ===== AU HERO — SMALL MOBILE (≤480px) ===== */
@media (max-width: 480px) {
  .au-hero {
    padding: 80px 16px 40px;
  }

  .au-hero__title { font-size: 28px; line-height: 1.2; }
  .au-hero__subtitle { font-size: 16px; line-height: 26px; }

  .au-hero__offices {
    grid-template-columns: 1fr;
    gap: 12px;
    max-width: 300px;
    margin: 0 auto;
  }

  .au-office-card {
    text-align: left;
    align-items: flex-start;
  }

  .au-office-card__header {
    justify-content: flex-start;
  }

  .au-office-card__phone-row {
    justify-content: flex-start;
  }

  .au-office-card__address {
    text-align: left;
  }
}

/* ===== AU STATS ===== */
.au-stats {
  position: relative;
  height: 206px;
  background: #fdfdfc;
  border-top: 1px solid #4682b4;
  border-bottom: 1px solid #4682b4;
  overflow: hidden;
}

.au-stats .section-inner {
  height: 100%;
}

.au-stat {
  position: absolute;
  top: 63px;
  text-align: center;
}

.au-stat--1 { left: 107px; width: 212px; }
.au-stat--2 { left: 378px; width: 263px; }
.au-stat--3 { left: 700px; width: 263px; }
.au-stat--4 { left: 1022px; width: 263px; }

.au-stat__number {
  font-family: 'Poppins', sans-serif;
  font-weight: 600;
  font-size: 42px;
  line-height: 46.2px;
  color: #000;
  margin: 0;
}

.au-stat__label {
  font-family: 'Inter', sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 24px;
  color: #000;
  letter-spacing: -0.16px;
  margin: 8px 0 0;
  white-space: nowrap;
}

/* ===== AU STATS — WIDE LAPTOP (≤1280px) ===== */
@media (max-width: 1280px) {
  .au-stats {
    height: auto;
    padding: 40px 48px;
  }

  .au-stats .section-inner {
    height: auto;
    display: flex;
    flex-wrap: wrap;
    gap: 32px;
    justify-content: center;
  }

  .au-stat,
  .au-stat--1,
  .au-stat--2,
  .au-stat--3,
  .au-stat--4 {
    position: static;
    width: auto;
    min-width: 140px;
  }
}

/* ===== AU STATS — TABLET (≤1024px) ===== */
@media (max-width: 1024px) {
  .au-stats {
    height: auto;
    padding: 40px 48px;
  }

  .au-stats .section-inner {
    height: auto;
    display: flex;
    flex-wrap: wrap;
    gap: 32px;
    justify-content: center;
  }

  .au-stat,
  .au-stat--1,
  .au-stat--2,
  .au-stat--3,
  .au-stat--4 {
    position: static;
    width: auto;
    min-width: 140px;
  }
}

/* ===== AU STATS — MOBILE (≤768px) ===== */
@media (max-width: 768px) {
  .au-stats { display: none; }
}

/* ===== AU STATS — SMALL MOBILE (≤480px) — kept for reference ===== */
/* Stats bar hidden at ≤768px, rules below no longer apply */

/* ===== AU WHAT DRIVES US ===== */
.au-drives {
  position: relative;
  height: 811px;
  background: #f8f5f1;
  border-bottom: 1px solid #4682b4;
  overflow: hidden;
}

.au-drives .section-inner {
  height: 100%;
}

.au-drives__eyebrow {
  position: absolute;
  top: 49px;
  left: 281px;
  font-family: 'Inter', sans-serif;
  font-weight: 700;
  font-size: 20px;
  line-height: 30px;
  color: #c66a48;
  letter-spacing: 1px;
  text-transform: uppercase;
  margin: 0;
}

.au-drives__title {
  position: absolute;
  top: 100px;
  left: 284px;
  width: 432px;
  font-family: 'Poppins', sans-serif;
  font-weight: 600;
  font-size: 35px;
  line-height: 44px;
  color: #000;
  letter-spacing: -0.35px;
  margin: 0;
}

.au-drives__intro {
  position: absolute;
  top: 228px;
  left: 284px;
  width: 714px;
  font-family: 'Inter', sans-serif;
  font-weight: 500;
  font-size: 22px;
  line-height: 32px;
  color: #000;
  letter-spacing: -0.22px;
  margin: 0;
}

.au-drives__cards {
  position: absolute;
  top: 405px;
  left: 116px;
  right: 116px;
  height: 310px;
  display: flex;
  gap: 28px;
}

.au-drives__card {
  flex: 1;
  min-width: 0;
  background: #fff;
  border: 1px solid #ccc;
  border-radius: 8px;
  padding: 28px 24px 0 24px;
  position: relative;
}

.au-drives__card-icon {
  width: 52px;
  height: 52px;
  background: rgba(198, 106, 72, 0.1);
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 0;
}

.au-drives__card-title {
  position: absolute;
  top: 107px;
  left: 24px;
  right: 24px;
  font-family: 'Poppins', sans-serif;
  font-weight: 600;
  font-size: 22px;
  line-height: 30px;
  color: #000;
  margin: 0;
  white-space: nowrap;
}

.au-drives__card-body {
  position: absolute;
  top: 158px;
  left: 24px;
  right: 24px;
  font-family: 'Inter', sans-serif;
  font-weight: 500;
  font-size: 16px;
  line-height: 26px;
  color: #000;
  margin: 0;
}

/* ===== AU DRIVES — WIDE LAPTOP (≤1280px) ===== */
@media (max-width: 1280px) {
  .au-drives {
    height: auto;
    padding: 64px 48px 72px;
  }

  .au-drives .section-inner {
    height: auto;
  }

  .au-drives__eyebrow,
  .au-drives__title,
  .au-drives__intro,
  .au-drives__cards {
    position: static;
    width: auto;
    margin: 0;
  }

  .au-drives__eyebrow { margin-bottom: 12px; }
  .au-drives__title {
    max-width: 720px;
    font-size: clamp(28px, 4vw, 35px);
    margin-bottom: 20px;
  }
  .au-drives__intro {
    max-width: 714px;
    font-size: 20px;
    margin-bottom: 40px;
  }

  .au-drives__cards {
    height: auto;
    flex-wrap: wrap;
    gap: 28px;
  }

  .au-drives__card {
    flex: 1 1 calc(33.333% - 19px);
    min-width: 280px;
    min-height: 310px;
    padding: 28px 24px;
  }

  .au-drives__card-title,
  .au-drives__card-body {
    position: static;
    width: auto;
  }

  .au-drives__card-icon { margin-bottom: 40px; }
  .au-drives__card-title { margin-bottom: 16px; white-space: normal; }
}

/* ===== AU DRIVES — TABLET (≤1024px) ===== */
@media (max-width: 1024px) {
  .au-drives {
    height: auto;
    padding: 64px 48px 72px;
  }

  .au-drives .section-inner {
    height: auto;
  }

  .au-drives__eyebrow,
  .au-drives__title,
  .au-drives__intro,
  .au-drives__cards {
    position: static;
    width: auto;
    margin: 0;
  }

  .au-drives__eyebrow { margin-bottom: 12px; }
  .au-drives__title {
    font-size: clamp(28px, 4vw, 35px);
    margin-bottom: 20px;
  }
  .au-drives__intro {
    font-size: 18px;
    margin-bottom: 40px;
  }

  .au-drives__cards {
    height: auto;
    flex-wrap: wrap;
    gap: 28px;
  }

  .au-drives__card {
    flex: 1 1 calc(33.333% - 19px);
    min-width: 0;
    min-height: 310px;
    padding: 28px 24px;
  }

  .au-drives__card-title,
  .au-drives__card-body {
    position: static;
    width: auto;
  }

  .au-drives__card-icon { margin-bottom: 40px; }
  .au-drives__card-title { margin-bottom: 16px; white-space: normal; }
}

/* ===== AU DRIVES — MOBILE (≤768px) ===== */
@media (max-width: 768px) {
  .au-drives { padding: 48px 24px 56px; }

  .au-drives__card {
    flex: 1 1 100%;
  }
}

/* ===== AU DRIVES — SMALL MOBILE (≤480px) ===== */
@media (max-width: 480px) {
  .au-drives { padding: 40px 16px 48px; }

  .au-drives__title { font-size: 26px; }
  .au-drives__intro { font-size: 16px; }

  .au-drives__card { padding: 24px 20px; }
  .au-drives__card-title { font-size: 18px; }
}

/* ===== AU CAREERS — DESKTOP ===== */
.au-careers {
  background: #f8f5f1;
  height: 525px;
  position: relative;
  overflow: hidden;
}

.au-careers__card {
  position: absolute;
  top: 92px;
  left: 180px;
  right: 133px;
  height: 321px;
  background: linear-gradient(to bottom, #1e384e, #4681b4);
  border-radius: 24px;
  box-shadow: 0px 8px 30px 0px rgba(27, 37, 55, 0.2);
  overflow: hidden;
}

.au-careers__eyebrow {
  position: absolute;
  top: 64px;
  left: 64px;
  font-family: 'Inter', sans-serif;
  font-weight: 700;
  font-size: 16px;
  line-height: 24px;
  color: #e4987b;
  letter-spacing: 1px;
  margin: 0;
  white-space: nowrap;
}

.au-careers__heading {
  position: absolute;
  top: 104px;
  left: 64px;
  font-family: 'Poppins', sans-serif;
  font-weight: 600;
  font-size: 40px;
  line-height: 48px;
  color: #ffffff;
  letter-spacing: -0.4px;
  margin: 0;
  white-space: nowrap;
}

.au-careers__body {
  position: absolute;
  top: 181px;
  left: 64px;
  width: 700px;
  font-family: 'Inter', sans-serif;
  font-weight: 400;
  font-size: 18px;
  line-height: 28px;
  color: rgba(255, 255, 255, 0.8);
  margin: 0;
}

.au-careers__btn {
  position: absolute;
  top: 185px;
  left: 854px;
  background: #c66a48;
  color: #ffffff;
  font-family: 'Inter', sans-serif;
  font-weight: 500;
  font-size: 16px;
  line-height: 24px;
  text-decoration: none;
  padding: 12px 24px;
  border-radius: 100px;
  display: inline-block;
  box-shadow: 0px 1px 2px 0px rgba(0,0,0,0.05), 0px 2px 4px 0px rgba(0,0,0,0.05);
  white-space: nowrap;
}

.au-careers__btn:hover {
  background: #b55a39;
}

/* ===== AU CAREERS — WIDE LAPTOP (≤1280px) ===== */
@media (max-width: 1280px) {
  .au-careers {
    height: auto;
    padding: 60px 48px;
  }

  .au-careers__card {
    position: relative;
    top: auto;
    left: auto;
    right: auto;
    height: auto;
    padding: 48px 48px 48px;
    min-height: 280px;
  }

  .au-careers__eyebrow,
  .au-careers__heading,
  .au-careers__body,
  .au-careers__btn {
    position: static;
    display: block;
  }

  .au-careers__eyebrow { margin-bottom: 16px; }
  .au-careers__heading { font-size: 36px; line-height: 44px; margin-bottom: 20px; white-space: normal; }
  .au-careers__body    { font-size: 17px; line-height: 28px; width: auto; margin-bottom: 32px; }
  .au-careers__btn     { display: inline-block; }
}

/* ===== AU CAREERS — TABLET (≤1024px) ===== */
@media (max-width: 1024px) {
  .au-careers {
    height: auto;
    padding: 60px 40px;
  }

  .au-careers__card {
    position: relative;
    top: auto;
    left: auto;
    right: auto;
    height: auto;
    padding: 48px 48px 48px;
    min-height: 280px;
  }

  .au-careers__eyebrow,
  .au-careers__heading,
  .au-careers__body,
  .au-careers__btn {
    position: static;
    display: block;
  }

  .au-careers__eyebrow { margin-bottom: 16px; }
  .au-careers__heading { font-size: 32px; line-height: 40px; margin-bottom: 20px; white-space: normal; }
  .au-careers__body    { font-size: 16px; line-height: 26px; width: auto; margin-bottom: 32px; }
  .au-careers__btn     { display: inline-block; }
}

/* ===== AU CAREERS — MOBILE (≤768px) ===== */
@media (max-width: 768px) {
  .au-careers { padding: 40px 24px; }

  .au-careers__card { padding: 36px 28px; }
  .au-careers__heading { font-size: 26px; line-height: 34px; }
}

/* ===== AU CAREERS — SMALL MOBILE (≤480px) ===== */
@media (max-width: 480px) {
  .au-careers { padding: 32px 16px; }

  .au-careers__card { padding: 28px 20px; }
  .au-careers__heading { font-size: 22px; line-height: 30px; }
  .au-careers__body { font-size: 15px; }
}

/* ===== FOOTER NAV ANCHOR TARGETS =====
   scroll-margin-top offsets each anchor by the fixed nav height (96px)
   plus a small buffer so the heading isn't flush with the nav bar.
   Add new anchor IDs here as each page's footer links are wired up. */
#sol-section-1,
#sol-section-2,
#sol-section-3,
#lap-section-1,
#lap-section-2,
#lap-section-3,
#lap-section-last,
#au-section-1,
#au-section-3,
#au-section-last {
  scroll-margin-top: 110px;
}
