/* =========================================================
   SC SOLUTIONS LLC
   WEBSITE DESIGN SYSTEM
========================================================= */

:root {

  --olive: #20290D;
  --cream: #FAFAEA;
  --blue: #069ADE;
  --black: #000000;
  --navy: #002435;

  --white: #FFFFFF;
  --background: #F7F8F8;
  --soft: #F1F4F4;
  --text: #002435;
  --muted: #607079;
  --light: #89969C;

  --border:
    rgba(0, 36, 53, 0.10);

  --title-font:
    Impact,
    Haettenschweiler,
    "Arial Narrow Bold",
    sans-serif;

  --body-font:
    "Helvetica Now",
    "Helvetica Neue",
    Helvetica,
    Arial,
    sans-serif;

  --subheading-font:
    "Antonio",
    sans-serif;

  --subtitle-font:
    "Anton",
    sans-serif;

  --container: 1240px;

  --radius: 24px;
  --radius-large: 34px;

  --shadow:
    0 30px 80px rgba(0, 36, 53, 0.10);

  --shadow-small:
    0 14px 35px rgba(0, 36, 53, 0.08);
}


/* =========================================================
   RESET
========================================================= */

* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  scroll-behavior: smooth;
}

body {
  font-family: var(--body-font);
  color: var(--text);
  background: var(--white);
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}

a {
  text-decoration: none;
  color: inherit;
}

img {
  display: block;
  max-width: 100%;
}

button,
input,
select,
textarea {
  font: inherit;
}

p {
  color: var(--muted);
}


/* =========================================================
   LAYOUT
========================================================= */

.container {
  width: min(calc(100% - 48px), var(--container));
  margin: auto;
}

.narrow-container {
  max-width: 850px;
}

.center-text {
  text-align: center;
}

.section {
  padding: clamp(90px, 10vw, 145px) 0;
}

.section-white {
  background: var(--white);
}

.section-intro {
  max-width: 780px;
  margin: 0 auto 65px;
}


/* =========================================================
   TYPOGRAPHY
========================================================= */

.eyebrow,
.section-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;

  color: var(--blue);

  font-family: var(--subheading-font);
  font-size: 15px;
  font-weight: 700;

  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.eyebrow::before,
.section-eyebrow::before {
  content: "";
  width: 28px;
  height: 2px;
  background: currentColor;
}

.section-eyebrow.light {
  color: #7DD5F4;
}

.section-title {
  margin-top: 18px;

  font-family: var(--title-font);
  font-size: clamp(48px, 6vw, 82px);
  font-weight: 400;

  line-height: 0.94;
  letter-spacing: -0.025em;

  text-transform: uppercase;
}

.section-description {
  margin-top: 24px;

  color: var(--muted);

  font-size: clamp(17px, 1.7vw, 21px);
  line-height: 1.7;
}

.section-highlight {
  margin-top: 28px;

  color: var(--olive);

  font-family: var(--subtitle-font);
  font-size: 25px;

  text-transform: uppercase;
}

.blue-text {
  color: var(--blue);
}


/* =========================================================
   BUTTONS
========================================================= */

.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  min-height: 54px;
  padding: 0 25px;

  border: 1px solid transparent;
  border-radius: 999px;

  font-weight: 700;

  transition:
    transform 0.25s ease,
    background 0.25s ease,
    color 0.25s ease,
    border-color 0.25s ease,
    box-shadow 0.25s ease;
}

.button:hover {
  transform: translateY(-2px);
}

.button-small {
  min-height: 43px;
  padding: 0 18px;
  font-size: 0.88rem;
}

.button-primary {
  background: var(--blue);
  color: var(--white);

  box-shadow:
    0 12px 30px rgba(6, 154, 222, 0.20);
}

.button-primary:hover {
  background: var(--navy);
}

.button-secondary,
.button-outline {
  border-color: var(--border);
  background: var(--white);
  color: var(--navy);
}

.button-secondary:hover,
.button-outline:hover {
  border-color: var(--navy);
  background: var(--navy);
  color: var(--white);
}

.button-light {
  background: var(--white);
  color: var(--navy);
}

.button-light:hover {
  background: var(--cream);
}

.button-dark-outline {
  color: var(--white);
  border-color: rgba(255, 255, 255, 0.28);
}

.button-dark-outline:hover {
  background: var(--white);
  color: var(--navy);
}


/* =========================================================
   HEADER
========================================================= */

.site-header {
  position: sticky;
  top: 0;

  z-index: 1000;

  background: rgba(255, 255, 255, 0.90);

  border-bottom:
    1px solid rgba(0, 36, 53, 0.06);

  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
}

.nav-container {
  min-height: 82px;

  display: flex;
  align-items: center;
  justify-content: space-between;

  gap: 24px;
}

.logo-link {
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
}

.site-logo {
  width: auto;
  height: 62px;
  max-width: 250px;

  object-fit: contain;
}

.desktop-nav,
.nav-actions {
  display: flex;
  align-items: center;
}

.desktop-nav {
  gap: 28px;
  margin-left: auto;
}

.nav-actions {
  gap: 10px;
}

.desktop-nav a {
  position: relative;

  color: var(--navy);

  font-size: 14px;
  font-weight: 700;
}

.desktop-nav a::after {
  content: "";

  position: absolute;

  left: 0;
  bottom: -7px;

  width: 0;
  height: 2px;

  background: var(--blue);

  transition: width 0.25s ease;
}

.desktop-nav a:hover {
  color: var(--blue);
}

.desktop-nav a:hover::after {
  width: 100%;
}

.mobile-menu-button {
  display: none;

  width: 44px;
  height: 44px;

  border: 0;
  background: transparent;

  cursor: pointer;
}

.mobile-menu-button span {
  display: block;

  width: 24px;
  height: 2px;

  margin: 5px auto;

  background: var(--navy);
}

.mobile-menu {
  display: none;
}


/* =========================================================
   HERO
========================================================= */

.hero-section {
  position: relative;
  overflow: hidden;

  padding:
    clamp(90px, 9vw, 145px)
    0
    clamp(100px, 10vw, 160px);

  background:
    radial-gradient(
      circle at 83% 24%,
      rgba(6, 154, 222, 0.10),
      transparent 31%
    ),
    linear-gradient(
      180deg,
      #FFFFFF 0%,
      #FFFFFF 70%,
      #FAFAEA 100%
    );
}

.hero-section::before {
  content: "";

  position: absolute;

  width: 550px;
  height: 550px;

  right: -250px;
  top: -300px;

  border-radius: 50%;

  background:
    rgba(32, 41, 13, 0.05);
}

.hero-grid {
  position: relative;
  z-index: 2;

  display: grid;

  grid-template-columns:
    minmax(0, 1.08fr)
    minmax(360px, 0.92fr);

  align-items: center;

  gap: clamp(55px, 8vw, 110px);
}

.hero-title {
  margin-top: 24px;

  font-family: var(--title-font);
  font-size: clamp(67px, 8.8vw, 132px);
  font-weight: 400;

  line-height: 0.86;
  letter-spacing: -0.025em;

  text-transform: uppercase;
}

.hero-title span {
  color: var(--blue);
}

.hero-description {
  max-width: 670px;
  margin-top: 30px;

  color: #42555E;

  font-size: clamp(18px, 1.8vw, 22px);
  line-height: 1.65;
}

.hero-description-secondary {
  margin-top: 8px;
}

.hero-buttons {
  display: flex;
  flex-wrap: wrap;

  gap: 13px;

  margin-top: 38px;
}

.hero-values {
  display: grid;
  grid-template-columns: repeat(3, 1fr);

  gap: 16px;

  margin-top: 46px;
}

.hero-value {
  padding-top: 17px;
  border-top: 1px solid var(--border);
}

.hero-value strong {
  display: block;

  color: var(--navy);

  font-family: var(--subtitle-font);
  font-size: 21px;
  font-weight: 400;

  text-transform: uppercase;
}

.hero-value span {
  display: block;

  margin-top: 5px;

  color: var(--muted);
  font-size: 13px;
}


/* =========================================================
   HERO PHONE
========================================================= */

.hero-visual {
  position: relative;
}

.phone-stage {
  position: relative;

  min-height: 680px;

  display: flex;
  align-items: center;
  justify-content: center;
}

.phone-glow {
  position: absolute;

  width: 420px;
  height: 420px;

  border-radius: 50%;

  background:
    rgba(6, 154, 222, 0.15);

  filter: blur(45px);
}

.assistant-phone {
  position: relative;

  z-index: 3;

  max-width: 345px;
  width: 100%;

  margin: auto;

  overflow: hidden;

  border: 13px solid #07161C;
  border-radius: 50px;

  background: #F4F5F6;

  box-shadow:
    0 42px 90px rgba(0, 36, 53, 0.24);
}

.phone-device-top {
  display: flex;
  justify-content: space-between;

  padding: 10px 18px 7px;

  background: var(--white);

  color: var(--black);

  font-size: 10px;
  font-weight: 700;
}

.phone-header {
  display: flex;
  align-items: center;

  gap: 12px;

  padding: 13px 18px 16px;

  border-bottom: 1px solid var(--border);

  background: var(--white);
}

.assistant-avatar {
  display: grid;
  place-items: center;

  width: 42px;
  height: 42px;

  border-radius: 50%;

  background: var(--navy);

  color: var(--white);

  font-family: var(--title-font);
  font-size: 17px;
}

.assistant-header-text {
  display: flex;
  flex-direction: column;
}

.assistant-header-text strong {
  font-size: 13px;
  color: var(--navy);
}

.assistant-header-text span {
  margin-top: 2px;

  color: var(--light);

  font-size: 10px;
}

.phone-conversation {
  display: flex;
  flex-direction: column;

  gap: 10px;

  min-height: 550px;

  padding: 24px 15px;

  background: #F3F4F5;
}

.message {
  max-width: 84%;

  padding: 11px 14px;

  border-radius: 18px;

  font-size: 12px;
  line-height: 1.45;
}

.message-user {
  align-self: flex-end;

  background: var(--blue);

  color: var(--white);

  border-bottom-right-radius: 6px;
}

.message-assistant {
  align-self: flex-start;

  background: #E3E5E6;

  color: #1A2328;

  border-bottom-left-radius: 6px;
}

.assistant-status {
  display: grid;

  gap: 7px;

  margin-top: 7px;

  padding: 14px;

  border:
    1px solid rgba(6, 154, 222, 0.15);

  border-radius: 15px;

  background: var(--white);

  color: var(--navy);

  font-size: 11px;
}

.status-check {
  color: var(--blue);
  font-weight: 900;
}

.floating-card {
  position: absolute;

  z-index: 5;

  padding: 15px 18px;

  border: 1px solid var(--border);
  border-radius: 17px;

  background: rgba(255, 255, 255, 0.94);

  box-shadow: var(--shadow-small);

  backdrop-filter: blur(14px);
}

.floating-card strong {
  display: block;

  color: var(--navy);

  font-size: 12px;
}

.floating-card > span {
  display: block;

  margin-top: 4px;

  color: var(--muted);

  font-size: 11px;
}

.floating-card-one {
  left: -10px;
  top: 110px;
}

.floating-card-two {
  right: -30px;
  bottom: 115px;
}

.floating-dot {
  display: inline-block;

  width: 8px;
  height: 8px;

  margin-right: 7px;

  border-radius: 50%;

  background: var(--blue);
}


/* =========================================================
   SERVICE STRIP
========================================================= */

.service-strip {
  padding: 30px 0;
  background: var(--navy);
}

.service-strip-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;

  gap: 30px;
}

.service-strip h2 {
  color: var(--white);

  font-family: var(--subtitle-font);
  font-size: 22px;
  font-weight: 400;

  line-height: 1.15;

  text-transform: uppercase;
}

.service-strip h2 span {
  display: block;
  color: #69C8EF;
}

.service-strip-items {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;

  gap: 10px 25px;

  color: rgba(255, 255, 255, 0.60);

  font-size: 12px;
}


/* =========================================================
   SERVICES
========================================================= */

.services-section {
  background:
    linear-gradient(
      180deg,
      #FFFFFF,
      #F5F7F7
    );
}

.services-heading-grid {
  display: grid;

  grid-template-columns:
    1.05fr
    0.65fr;

  align-items: end;

  gap: 70px;

  margin-bottom: 60px;
}

.services-title-accent {
  display: block;
  color: var(--blue);
}

.services-heading-copy p {
  font-size: 16px;
  line-height: 1.75;
}

.services-heading-copy p + p {
  margin-top: 13px;
}

.services-premium-grid {
  display: grid;

  grid-template-columns:
    repeat(3, minmax(0, 1fr));

  gap: 18px;
}

.premium-service-card {
  position: relative;

  display: flex;
  flex-direction: column;

  min-height: 345px;

  padding: 31px;

  border: 1px solid var(--border);
  border-radius: var(--radius);

  background: var(--white);

  transition:
    transform 0.3s ease,
    box-shadow 0.3s ease,
    border-color 0.3s ease;
}

.premium-service-card:hover {
  transform: translateY(-7px);

  border-color:
    rgba(6, 154, 222, 0.25);

  box-shadow: var(--shadow);
}

.premium-service-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.premium-service-icon {
  display: grid;
  place-items: center;

  width: 45px;
  height: 45px;

  border-radius: 13px;

  background:
    rgba(6, 154, 222, 0.10);

  color: var(--blue);

  font-family: var(--subheading-font);
  font-size: 13px;
  font-weight: 700;
}

.premium-service-number {
  color: #A3ADB0;

  font-family: var(--subheading-font);
  font-size: 12px;

  letter-spacing: 0.10em;
}

.premium-service-content {
  margin-top: 55px;
}

.premium-service-content h3 {
  color: var(--navy);

  font-family: var(--subtitle-font);
  font-size: 29px;
  font-weight: 400;

  line-height: 1.04;

  text-transform: uppercase;
}

.premium-service-content p {
  margin-top: 16px;

  color: var(--muted);

  font-size: 14px;
  line-height: 1.7;
}

.premium-service-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;

  margin-top: auto;

  padding-top: 30px;

  color: var(--blue);

  font-size: 12px;
  font-weight: 700;
}

.service-arrow {
  display: grid;
  place-items: center;

  width: 42px;
  height: 42px;

  border: 1px solid var(--border);
  border-radius: 50%;

  font-size: 17px;

  transition:
    transform 0.3s ease,
    background 0.3s ease,
    color 0.3s ease;
}

.premium-service-card:hover .service-arrow {
  transform: rotate(-35deg);

  background: var(--blue);

  color: var(--white);
}

.premium-service-featured {
  border-color:
    rgba(6, 154, 222, 0.25);

  background: var(--navy);

  color: var(--white);
}

.premium-service-featured h3 {
  color: var(--white);
}

.premium-service-featured p {
  color: rgba(255, 255, 255, 0.65);
}

.premium-service-featured .premium-service-icon {
  background:
    rgba(6, 154, 222, 0.18);

  color: #75D4FA;
}

.premium-service-featured .premium-service-footer {
  color: #75D4FA;
}

.premium-service-featured .service-arrow {
  border-color:
    rgba(255, 255, 255, 0.18);
}

.premium-service-badge {
  position: absolute;

  top: 28px;
  left: 88px;

  padding: 5px 10px;

  border-radius: 999px;

  background:
    rgba(6, 154, 222, 0.14);

  color: #80D8FB;

  font-size: 10px;
  font-weight: 700;
}

.services-connection-statement {
  display: flex;
  align-items: center;
  justify-content: center;

  gap: 22px;

  max-width: 900px;

  margin: 55px auto 0;
}

.services-connection-line {
  height: 1px;
  flex: 1;

  background: var(--border);
}

.services-connection-statement p {
  color: var(--navy);
  font-size: 14px;
}


/* =========================================================
   BUSINESS ASSISTANT FEATURE
========================================================= */

.business-assistant-feature {
  background: var(--cream);
}

.business-assistant-grid {
  display: grid;

  grid-template-columns:
    0.9fr
    1.1fr;

  align-items: center;

  gap: clamp(60px, 8vw, 100px);
}

.business-assistant-visual {
  position: relative;

  min-height: 625px;

  overflow: hidden;

  border-radius: var(--radius-large);

  background:
    radial-gradient(
      circle at 35% 20%,
      rgba(6, 154, 222, 0.28),
      transparent 33%
    ),
    var(--navy);
}

.assistant-demo-card {
  position: absolute;

  z-index: 2;

  left: 50%;
  top: 50%;

  width: min(82%, 430px);

  padding: 28px;

  border-radius: 27px;

  background:
    rgba(255, 255, 255, 0.97);

  box-shadow:
    0 35px 80px rgba(0, 0, 0, 0.23);

  transform: translate(-50%, -50%);
}

.assistant-demo-head {
  display: flex;
  align-items: center;
  justify-content: space-between;

  margin-bottom: 25px;
}

.assistant-demo-head strong {
  color: var(--navy);
  font-size: 14px;
}

.assistant-demo-head span {
  color: #3A9E60;
  font-size: 11px;
}

.demo-message {
  margin-top: 10px;

  padding: 13px 15px;

  border-radius: 16px;

  font-size: 12px;
  line-height: 1.5;
}

.demo-user {
  margin-left: 45px;

  background: var(--blue);

  color: var(--white);
}

.demo-system {
  margin-right: 35px;

  background: #EDEFF0;

  color: var(--navy);
}

.assistant-background-text {
  position: absolute;

  bottom: -25px;
  left: -5px;

  color:
    rgba(255, 255, 255, 0.045);

  font-family: var(--title-font);
  font-size: 120px;

  line-height: 0.85;

  text-transform: uppercase;
}

.business-assistant-supporting {
  max-width: 650px;

  margin-top: 20px;

  font-size: 16px;
  line-height: 1.7;
}

.assistant-feature-list {
  display: grid;

  grid-template-columns:
    1fr 1fr;

  gap: 14px 28px;

  margin-top: 35px;
}

.assistant-feature-list div {
  display: flex;
  align-items: center;

  gap: 10px;

  color: var(--navy);

  font-size: 14px;
  font-weight: 700;
}

.assistant-feature-list span {
  display: grid;
  place-items: center;

  width: 24px;
  height: 24px;

  flex-shrink: 0;

  border-radius: 50%;

  background:
    rgba(6, 154, 222, 0.12);

  color: var(--blue);
}

.assistant-feature-button {
  margin-top: 38px;
}


/* =========================================================
   ECOSYSTEM
========================================================= */

.ecosystem-section {
  position: relative;

  overflow: hidden;

  background: var(--navy);

  color: var(--white);
}

.ecosystem-section::before {
  content: "";

  position: absolute;

  width: 850px;
  height: 850px;

  right: -380px;
  top: -400px;

  border:
    1px solid rgba(255, 255, 255, 0.07);

  border-radius: 50%;
}

.ecosystem-heading {
  position: relative;
  z-index: 2;

  max-width: 950px;
}

.ecosystem-title {
  color: var(--white);
}

.ecosystem-title span {
  color: #6CCAF1;
}

.ecosystem-heading p {
  max-width: 700px;

  margin-top: 26px;

  color:
    rgba(255, 255, 255, 0.62);

  font-size: 18px;
  line-height: 1.7;
}

.ecosystem-grid {
  position: relative;

  z-index: 2;

  display: grid;

  grid-template-columns:
    repeat(4, 1fr);

  gap: 14px;

  margin-top: 70px;
}

.ecosystem-card {
  min-height: 225px;

  padding: 27px;

  border:
    1px solid rgba(255, 255, 255, 0.10);

  border-radius: 20px;

  background:
    rgba(255, 255, 255, 0.035);

  transition:
    transform 0.25s ease,
    background 0.25s ease;
}

.ecosystem-card:hover {
  transform: translateY(-5px);

  background:
    rgba(255, 255, 255, 0.07);
}

.ecosystem-number {
  display: grid;
  place-items: center;

  width: 44px;
  height: 44px;

  border-radius: 13px;

  background: var(--blue);

  color: var(--white);

  font-family: var(--subheading-font);
  font-size: 13px;
}

.ecosystem-card h3 {
  margin-top: 42px;

  color: var(--white);

  font-family: var(--subtitle-font);
  font-size: 23px;
  font-weight: 400;

  text-transform: uppercase;
}

.ecosystem-card p {
  margin-top: 10px;

  color:
    rgba(255, 255, 255, 0.55);

  font-size: 13px;
  line-height: 1.6;
}


/* =========================================================
   PROCESS
========================================================= */

.how-section {
  background: var(--white);
}

.process-grid {
  display: grid;

  grid-template-columns:
    repeat(4, 1fr);

  margin-top: 70px;

  border-top: 1px solid var(--border);
}

.process-step {
  min-height: 245px;

  padding: 31px 28px;

  border-right: 1px solid var(--border);
}

.process-step:first-child {
  padding-left: 0;
}

.process-step:last-child {
  border-right: 0;
}

.process-number {
  color:
    rgba(0, 36, 53, 0.15);

  font-family: var(--title-font);
  font-size: 48px;
}

.process-step h3 {
  margin-top: 42px;

  color: var(--navy);

  font-family: var(--subtitle-font);
  font-size: 27px;
  font-weight: 400;

  line-height: 1;

  text-transform: uppercase;
}

.process-step p {
  margin-top: 13px;

  font-size: 14px;
  line-height: 1.65;
}


/* =========================================================
   PEACE SECTION
========================================================= */

.peace-section {
  background: var(--cream);
}

.split-section {
  display: grid;

  grid-template-columns:
    repeat(2, minmax(0, 1fr));

  align-items: center;

  gap: clamp(55px, 8vw, 100px);
}

.split-content p {
  margin-top: 18px;

  font-size: 16px;
  line-height: 1.75;
}

.peace-visual {
  min-height: 570px;

  display: flex;
  align-items: center;
  justify-content: center;

  padding: 55px;

  border-radius: var(--radius-large);

  background: var(--olive);

  overflow: hidden;
}

.peace-visual-inner {
  width: 100%;
}

.peace-small {
  color:
    rgba(250, 250, 234, 0.55);

  font-family: var(--subheading-font);
  font-size: 15px;

  letter-spacing: 0.13em;
}

.peace-visual strong {
  display: block;

  color: var(--cream);

  font-family: var(--title-font);
  font-size: clamp(65px, 8vw, 105px);
  font-weight: 400;

  line-height: 0.90;

  text-transform: uppercase;
}

.peace-visual strong:first-of-type {
  margin-top: 35px;
}

.peace-visual .peace-accent {
  color: #59BCE5;
}

.brand-values {
  display: grid;

  grid-template-columns:
    repeat(3, 1fr);

  gap: 15px;

  margin-top: 38px;
}

.brand-values div {
  padding-top: 16px;

  border-top:
    1px solid var(--border);
}

.brand-values strong {
  color: var(--navy);

  font-family: var(--subtitle-font);
  font-size: 18px;
  font-weight: 400;

  text-transform: uppercase;
}

.brand-values span {
  display: block;

  margin-top: 5px;

  color: var(--muted);

  font-size: 12px;
}


/* =========================================================
   TESTIMONIALS
========================================================= */

.testimonials-section {
  background: var(--white);
}

.testimonial-grid {
  display: grid;

  grid-template-columns:
    1.2fr
    0.8fr;

  gap: 18px;

  max-width: 1050px;

  margin: auto;
}

.testimonial-card {
  position: relative;

  min-height: 390px;

  padding: 43px;

  border: 1px solid var(--border);
  border-radius: var(--radius);

  background: #F5F6F6;
}

.testimonial-card-dark {
  background: var(--olive);
  color: var(--cream);
}

.testimonial-quote {
  color: var(--blue);

  font-family: Georgia, serif;
  font-size: 85px;

  line-height: 0.7;
}

.testimonial-card blockquote {
  margin-top: 30px;

  color: var(--navy);

  font-size: clamp(21px, 2.4vw, 30px);
  font-weight: 600;

  line-height: 1.4;
}

.testimonial-card-dark blockquote {
  color: var(--cream);
}

.testimonial-client {
  position: absolute;

  left: 43px;
  bottom: 38px;

  display: flex;
  flex-direction: column;
}

.testimonial-client strong {
  color: inherit;
  font-size: 14px;
}

.testimonial-client span {
  margin-top: 3px;

  color: var(--light);

  font-size: 12px;
}

.testimonial-card-dark .testimonial-client span {
  color:
    rgba(250, 250, 234, 0.55);
}


/* =========================================================
   LOCAL
========================================================= */

.local-section {
  background: var(--cream);
}

.local-button {
  margin-top: 30px;
}

.local-map {
  position: relative;

  min-height: 480px;

  overflow: hidden;

  border-radius: var(--radius-large);

  background:
    radial-gradient(
      circle at 35% 30%,
      rgba(6, 154, 222, 0.28),
      transparent 35%
    ),
    var(--navy);
}

.map-ring {
  position: absolute;

  left: 50%;
  top: 50%;

  border:
    1px solid rgba(255, 255, 255, 0.13);

  border-radius: 50%;

  transform: translate(-50%, -50%);
}

.map-ring-one {
  width: 170px;
  height: 170px;
}

.map-ring-two {
  width: 290px;
  height: 290px;
}

.map-ring-three {
  width: 420px;
  height: 420px;
}

.map-center-logo {
  position: absolute;

  left: 50%;
  top: 50%;

  width: 83px;
  height: 83px;

  display: grid;
  place-items: center;

  border-radius: 50%;

  background: var(--blue);

  color: var(--white);

  font-family: var(--title-font);
  font-size: 28px;

  transform: translate(-50%, -50%);

  box-shadow:
    0 0 0 15px rgba(6, 154, 222, 0.13);
}


/* =========================================================
   FINAL CTA
========================================================= */

.final-cta-section {
  position: relative;

  overflow: hidden;

  padding:
    clamp(115px, 12vw, 175px)
    0;

  background:
    radial-gradient(
      circle at 50% 0%,
      rgba(6, 154, 222, 0.28),
      transparent 37%
    ),
    var(--navy);
}

.final-cta-title {
  max-width: 950px;

  margin: 18px auto 0;

  color: var(--white);

  font-family: var(--title-font);
  font-size: clamp(55px, 7vw, 100px);
  font-weight: 400;

  line-height: 0.93;

  text-transform: uppercase;
}

.final-cta-title span {
  display: block;

  color: #73D0F5;
}

.final-cta-description {
  max-width: 700px;

  margin: 28px auto 0;

  color:
    rgba(255, 255, 255, 0.65);

  font-size: 18px;
  line-height: 1.7;
}

.final-cta-buttons {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;

  gap: 13px;

  margin-top: 37px;
}

.final-brand-line {
  margin-top: 48px;

  color:
    rgba(255, 255, 255, 0.45);

  font-family: var(--subheading-font);
  font-size: 13px;

  letter-spacing: 0.15em;

  text-transform: uppercase;
}


/* =========================================================
   FAQ
   NATIVE HTML DETAILS/SUMMARY
========================================================= */

.faq-section {
  background: #F5F6F6;
}

.faq-wrap {
  max-width: 920px;
}

.faq-list {
  margin-top: 45px;

  border-top:
    1px solid var(--border);
}

.faq-item {
  border-bottom:
    1px solid var(--border);
}

.faq-item summary {
  list-style: none;
}

.faq-item summary::-webkit-details-marker {
  display: none;
}

.faq-item summary::marker {
  display: none;
  content: "";
}

.faq-question {
  width: 100%;

  display: flex;
  align-items: center;
  justify-content: space-between;

  gap: 18px;

  padding: 23px 0;

  color: var(--navy);

  font-size: 16px;
  font-weight: 700;

  cursor: pointer;

  user-select: none;

  transition: color 0.2s ease;
}

.faq-question:hover {
  color: var(--blue);
}

.faq-question:focus-visible {
  outline:
    2px solid var(--blue);

  outline-offset: 6px;

  border-radius: 4px;
}

.faq-icon {
  flex-shrink: 0;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  width: 30px;
  height: 30px;

  color: var(--blue);

  font-size: 26px;
  font-weight: 400;

  line-height: 1;

  transition:
    transform 0.25s ease;
}

.faq-answer {
  padding:
    0 48px 26px 0;

  color: var(--muted);

  font-size: 14px;
  line-height: 1.75;
}

.faq-item[open] .faq-icon {
  transform: rotate(45deg);
}

.faq-item[open] .faq-question {
  color: var(--blue);
}


/* =========================================================
   FOOTER
========================================================= */

.site-footer {
  padding: 70px 0 28px;

  background: var(--black);

  color:
    rgba(255, 255, 255, 0.60);
}

.footer-grid {
  display: grid;

  grid-template-columns:
    1.7fr
    1fr
    1fr
    1fr;

  gap: 45px;
}

.footer-logo-link {
  display: inline-block;
}

.footer-logo {
  width: auto;

  max-width: 230px;
  max-height: 75px;

  object-fit: contain;
}

.footer-brand p {
  max-width: 345px;

  margin-top: 20px;

  color:
    rgba(255, 255, 255, 0.48);

  font-size: 14px;
  line-height: 1.65;
}

.footer-brand strong {
  display: block;

  margin-top: 18px;

  color: var(--white);

  font-family: var(--subtitle-font);
  font-weight: 400;

  text-transform: uppercase;
}

.footer-column {
  display: flex;
  flex-direction: column;
  align-items: flex-start;

  gap: 11px;
}

.footer-column h3 {
  margin-bottom: 5px;

  color: var(--white);

  font-family: var(--subheading-font);
  font-size: 16px;

  text-transform: uppercase;
}

.footer-column a,
.footer-column p {
  color:
    rgba(255, 255, 255, 0.48);

  font-size: 12px;
}

.footer-column a:hover {
  color: var(--blue);
}

.footer-bottom {
  display: flex;
  justify-content: space-between;

  gap: 25px;

  margin-top: 55px;

  padding-top: 24px;

  border-top:
    1px solid rgba(255, 255, 255, 0.09);
}

.footer-bottom p {
  color:
    rgba(255, 255, 255, 0.35);

  font-size: 11px;
}


/* =========================================================
   SHARED CHILD PAGE SUPPORT
========================================================= */

.managed-hero,
.assistant-hero,
.social-hero,
.cyber-hero,
.web-hero,
.integration-hero,
.about-hero,
.contact-hero {
  overflow: hidden;

  padding:
    clamp(90px, 9vw, 145px)
    0
    clamp(90px, 10vw, 155px);

  background:
    radial-gradient(
      circle at 82% 20%,
      rgba(6, 154, 222, 0.10),
      transparent 30%
    ),
    var(--white);
}

.managed-hero-grid,
.assistant-hero-grid,
.social-hero-grid,
.cyber-hero-grid,
.web-hero-grid,
.integration-hero-grid,
.about-hero-grid,
.contact-hero-grid {
  display: grid;

  grid-template-columns:
    minmax(0, 1.05fr)
    minmax(360px, 0.85fr);

  align-items: center;

  gap: clamp(55px, 8vw, 105px);
}

.service-page-title {
  margin-top: 18px;

  font-family: var(--title-font);
  font-size: clamp(58px, 7vw, 105px);

  line-height: 0.94;

  text-transform: uppercase;
}

.service-page-title span {
  display: block;
  color: var(--blue);
}

.service-page-lead,
.service-page-copy {
  max-width: 650px;

  margin-top: 26px;

  color: var(--muted);

  font-size: 17px;
  line-height: 1.7;
}

.service-page-lead {
  color: var(--navy);

  font-size:
    clamp(18px, 2vw, 22px);

  font-weight: 650;
}

.six-card-grid {
  display: grid;

  grid-template-columns:
    repeat(3, minmax(0, 1fr));

  gap: 18px;
}

.info-card {
  min-height: 320px;

  padding: 28px;

  border: 1px solid var(--border);
  border-radius: var(--radius);

  background: var(--white);
}

.info-card h3 {
  color: var(--navy);

  font-family: var(--subtitle-font);
  font-size: 25px;
  font-weight: 400;

  text-transform: uppercase;
}

.info-card p {
  margin-top: 12px;

  font-size: 14px;
  line-height: 1.65;
}

.three-line-grid,
.six-line-grid,
.nine-line-grid,
.four-line-grid {
  display: grid;
  gap: 30px 24px;
}

.three-line-grid {
  grid-template-columns: repeat(3, 1fr);
}

.four-line-grid {
  grid-template-columns: repeat(4, 1fr);
}

.six-line-grid,
.nine-line-grid {
  grid-template-columns: repeat(3, 1fr);
}

.three-line-grid > div,
.four-line-grid > div,
.six-line-grid > div,
.nine-line-grid > div {
  padding-top: 20px;

  border-top:
    1px solid var(--border);
}

.dark-panel {
  display: grid;

  grid-template-columns:
    1.05fr
    0.95fr;

  gap: clamp(45px, 7vw, 90px);

  padding: clamp(40px, 6vw, 70px);

  border-radius: 30px;

  background: var(--navy);

  color: var(--white);
}

.dark-panel .section-title {
  color: var(--white);
}

.dark-panel p {
  margin-top: 18px;

  color:
    rgba(255, 255, 255, 0.62);

  line-height: 1.7;
}

.pricing-grid {
  display: grid;

  grid-template-columns:
    repeat(3, 1fr);

  gap: 18px;
}

.price-card {
  position: relative;

  display: flex;
  flex-direction: column;

  min-height: 540px;

  padding: 30px;

  border: 1px solid var(--border);
  border-radius: var(--radius);

  background: var(--white);
}

.price-card h3 {
  margin-top: 22px;

  color: var(--navy);

  font-family: var(--title-font);
  font-size: 48px;
}

.price-card ul {
  display: grid;

  gap: 11px;

  margin: 24px 0 28px;

  list-style: none;

  color: var(--muted);

  font-size: 14px;
}

.price-card .button {
  margin-top: auto;
}

.featured-price {
  border-color:
    rgba(6, 154, 222, 0.35);

  box-shadow:
    0 22px 55px rgba(6, 154, 222, 0.08);
}

.contact-form-grid {
  display: grid;

  grid-template-columns:
    1.15fr
    0.75fr;

  gap: clamp(45px, 7vw, 85px);

  align-items: start;
}

.contact-form {
  display: grid;

  gap: 18px;

  margin-top: 34px;
}

.contact-form-row {
  display: grid;

  grid-template-columns:
    repeat(2, 1fr);

  gap: 14px;
}

.contact-form label {
  display: grid;

  gap: 7px;

  color: var(--navy);

  font-size: 13px;
  font-weight: 650;
}

.contact-form input,
.contact-form select,
.contact-form textarea {
  width: 100%;

  padding: 13px 14px;

  border: 1px solid var(--border);
  border-radius: 12px;

  background: var(--white);

  color: var(--navy);
}

.contact-form textarea {
  resize: vertical;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1000px) {

  .desktop-nav,
  .nav-actions {
    display: none;
  }

  .mobile-menu-button {
    display: block;
  }

  .mobile-menu {
    position: absolute;

    top: 82px;
    left: 0;

    width: 100%;

    padding: 16px 24px 24px;

    border-bottom:
      1px solid var(--border);

    background:
      rgba(255, 255, 255, 0.98);

    opacity: 0;

    transform:
      translateY(-10px);

    pointer-events: none;

    transition: 0.2s ease;
  }

  .mobile-menu.is-open {
    display: block;

    opacity: 1;

    transform: none;

    pointer-events: auto;
  }

  .mobile-menu nav {
    display: flex;
    flex-direction: column;
  }

  .mobile-menu a {
    padding: 12px 6px;
  }

  .hero-grid,
  .business-assistant-grid,
  .split-section,
  .managed-hero-grid,
  .assistant-hero-grid,
  .social-hero-grid,
  .cyber-hero-grid,
  .web-hero-grid,
  .integration-hero-grid,
  .about-hero-grid,
  .contact-hero-grid,
  .dark-panel,
  .contact-form-grid {
    grid-template-columns: 1fr;
  }

  .hero-content {
    max-width: 850px;
  }

  .phone-stage {
    min-height: 700px;
  }

  .services-heading-grid {
    grid-template-columns: 1fr;
    gap: 25px;
  }

  .services-premium-grid,
  .six-card-grid,
  .six-line-grid,
  .nine-line-grid {
    grid-template-columns:
      repeat(2, 1fr);
  }

  .ecosystem-grid {
    grid-template-columns:
      repeat(2, 1fr);
  }

  .process-grid {
    grid-template-columns:
      repeat(2, 1fr);
  }

  .process-step:nth-child(2) {
    border-right: 0;
  }

  .process-step:nth-child(3),
  .process-step:nth-child(4) {
    border-top:
      1px solid var(--border);
  }

  .testimonial-grid {
    grid-template-columns: 1fr;
  }

  .pricing-grid {
    grid-template-columns: 1fr;

    max-width: 720px;

    margin: auto;
  }

  .footer-grid {
    grid-template-columns:
      repeat(2, 1fr);
  }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 700px) {

  .container {
    width:
      min(
        calc(100% - 30px),
        var(--container)
      );
  }

  .nav-container {
    min-height: 72px;
  }

  .site-logo {
    height: 49px;
    max-width: 205px;
  }

  .mobile-menu {
    top: 72px;
  }

  .section {
    padding: 82px 0;
  }

  .hero-section {
    padding-top: 75px;
  }

  .hero-title {
    font-size:
      clamp(58px, 16vw, 88px);
  }

  .hero-values,
  .services-premium-grid,
  .six-card-grid,
  .six-line-grid,
  .nine-line-grid,
  .assistant-feature-list,
  .ecosystem-grid,
  .process-grid,
  .three-line-grid,
  .four-line-grid,
  .brand-values,
  .testimonial-grid,
  .contact-form-row,
  .footer-grid {
    grid-template-columns: 1fr;
  }

  .hero-buttons,
  .final-cta-buttons {
    flex-direction: column;
    align-items: stretch;
  }

  .button {
    width: 100%;
  }

  .phone-stage {
    min-height: 620px;
  }

  .assistant-phone {
    max-width: 310px;
  }

  .phone-conversation {
    min-height: 500px;
  }

  .floating-card-one {
    display: none;
  }

  .floating-card-two {
    right: 0;
    bottom: 65px;
  }

  .service-strip-inner {
    flex-direction: column;
    align-items: flex-start;
  }

  .service-strip-items {
    justify-content: flex-start;
  }

  .premium-service-card {
    min-height: 315px;
  }

  .business-assistant-visual {
    min-height: 520px;
  }

  .assistant-demo-card {
    width: calc(100% - 34px);
  }

  .process-step,
  .process-step:first-child {
    min-height: 0;

    padding: 27px 0;

    border-right: 0;

    border-top:
      1px solid var(--border);
  }

  .process-step:first-child {
    border-top: 0;
  }

  .testimonial-card {
    min-height: 430px;

    padding: 33px 27px;
  }

  .testimonial-client {
    left: 27px;
    bottom: 30px;
  }

  .peace-visual {
    min-height: 440px;

    padding: 35px;
  }

  .local-map {
    min-height: 400px;
  }

  .map-ring-three {
    width: 340px;
    height: 340px;
  }

  .final-cta-title {
    font-size:
      clamp(50px, 15vw, 78px);
  }

  .faq-answer {
    padding:
      0 10px 24px 0;
  }

  .footer-bottom {
    flex-direction: column;
  }

  .footer-logo {
    max-width: 200px;
  }

}


/* =========================================================
   VERY SMALL DEVICES
========================================================= */

@media (max-width: 430px) {

  .hero-title {
    font-size: 55px;
  }

  .section-title {
    font-size: 46px;
  }

  .floating-card-two {
    display: none;
  }

}

/* =========================================================
   MANAGED IT PAGE
========================================================= */


/* =========================================================
   HERO STATUS VISUAL
========================================================= */

.managed-status-wrap {
  position: relative;

  min-height: 580px;

  display: flex;
  align-items: center;
  justify-content: center;
}

.managed-status-glow {
  position: absolute;

  width: 390px;
  height: 390px;

  border-radius: 50%;

  background:
    rgba(6, 154, 222, 0.14);

  filter: blur(50px);
}

.managed-status-card {
  position: relative;
  z-index: 2;

  width: min(100%, 455px);

  padding: 31px;

  border: 1px solid var(--border);
  border-radius: 29px;

  background:
    rgba(255, 255, 255, 0.97);

  box-shadow: var(--shadow);
}

.managed-status-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;

  gap: 20px;
}

.managed-status-top > div {
  display: flex;
  flex-direction: column;
}

.managed-status-label {
  color: var(--muted);

  font-family: var(--subheading-font);
  font-size: 12px;

  letter-spacing: 0.08em;

  text-transform: uppercase;
}

.managed-status-top strong {
  margin-top: 5px;

  color: var(--navy);

  font-size: 14px;
}

.managed-online {
  padding: 6px 10px;

  border-radius: 999px;

  background:
    rgba(6, 154, 222, 0.10);

  color: var(--blue);

  font-size: 10px;
  font-weight: 700;

  white-space: nowrap;
}

.managed-status-center {
  display: flex;
  flex-direction: column;
  align-items: center;

  padding: 55px 0 45px;
}

.managed-status-center span {
  color: var(--blue);

  font-family: var(--title-font);
  font-size: 90px;

  line-height: 0.9;
}

.managed-status-center small {
  margin-top: 12px;

  color: var(--muted);

  font-size: 12px;

  letter-spacing: 0.08em;

  text-transform: uppercase;
}

.managed-status-list {
  border-top:
    1px solid var(--border);
}

.managed-status-list div {
  display: flex;
  align-items: center;
  justify-content: space-between;

  padding: 15px 0;

  border-bottom:
    1px solid var(--border);

  color: var(--muted);

  font-size: 13px;
}

.managed-status-list strong {
  color: var(--blue);
}


/* =========================================================
   WHAT WE MANAGE
========================================================= */

.managed-services-section {
  background:
    linear-gradient(
      180deg,
      #FFFFFF,
      #F5F7F7
    );
}

.managed-service-grid {
  display: grid;

  grid-template-columns:
    repeat(3, minmax(0, 1fr));

  gap: 18px;
}

.managed-service-card {
  min-height: 320px;

  padding: 30px;

  border: 1px solid var(--border);
  border-radius: var(--radius);

  background: var(--white);

  transition:
    transform 0.3s ease,
    box-shadow 0.3s ease,
    border-color 0.3s ease;
}

.managed-service-card:hover {
  transform: translateY(-6px);

  border-color:
    rgba(6, 154, 222, 0.24);

  box-shadow: var(--shadow);
}

.managed-service-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.managed-service-icon {
  display: grid;
  place-items: center;

  width: 46px;
  height: 46px;

  border-radius: 13px;

  background:
    rgba(6, 154, 222, 0.10);

  color: var(--blue);

  font-family: var(--subheading-font);
  font-size: 12px;
  font-weight: 700;
}

.managed-service-top > span {
  color: #A5AFB3;

  font-family: var(--subheading-font);
  font-size: 11px;

  letter-spacing: 0.10em;
}

.managed-service-card h3 {
  margin-top: 52px;

  color: var(--navy);

  font-family: var(--subtitle-font);
  font-size: 27px;
  font-weight: 400;

  line-height: 1.08;

  text-transform: uppercase;
}

.managed-service-card p {
  margin-top: 15px;

  font-size: 14px;
  line-height: 1.7;
}


/* =========================================================
   PROACTIVE SECTION
========================================================= */

.managed-proactive-section {
  background: var(--white);
}

.managed-cycle {
  position: relative;

  min-height: 500px;
}

.managed-cycle-ring {
  position: absolute;

  left: 50%;
  top: 50%;

  border:
    1px solid var(--border);

  border-radius: 50%;

  transform: translate(-50%, -50%);
}

.managed-cycle-ring-one {
  width: 275px;
  height: 275px;
}

.managed-cycle-ring-two {
  width: 410px;
  height: 410px;
}

.managed-cycle-center {
  position: absolute;

  left: 50%;
  top: 50%;

  width: 125px;
  height: 125px;

  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;

  border-radius: 50%;

  background: var(--navy);

  color: var(--white);

  transform: translate(-50%, -50%);

  box-shadow:
    0 20px 45px rgba(0, 36, 53, 0.16);
}

.managed-cycle-center span {
  font-family: var(--title-font);
  font-size: 31px;
}

.managed-cycle-center small {
  color:
    rgba(255, 255, 255, 0.58);

  font-size: 10px;
}

.managed-cycle-item {
  position: absolute;

  padding: 10px 16px;

  border: 1px solid var(--border);
  border-radius: 999px;

  background: var(--white);

  box-shadow: var(--shadow-small);

  color: var(--navy);

  font-family: var(--subheading-font);
  font-size: 13px;
  font-weight: 700;

  text-transform: uppercase;
}

.cycle-one {
  left: 50%;
  top: 5%;

  transform: translateX(-50%);
}

.cycle-two {
  right: 2%;
  top: 48%;
}

.cycle-three {
  left: 50%;
  bottom: 5%;

  transform: translateX(-50%);
}

.cycle-four {
  left: 2%;
  top: 48%;
}

.managed-check-list {
  display: grid;

  gap: 12px;

  margin-top: 31px;
}

.managed-check-list div {
  display: flex;
  align-items: center;

  gap: 12px;

  color: var(--navy);

  font-weight: 700;
}

.managed-check-list span {
  display: grid;
  place-items: center;

  width: 25px;
  height: 25px;

  flex-shrink: 0;

  border-radius: 50%;

  background:
    rgba(6, 154, 222, 0.11);

  color: var(--blue);
}


/* =========================================================
   BENEFITS
========================================================= */

.managed-benefits-section {
  background: var(--cream);
}

.managed-benefit-grid {
  display: grid;

  grid-template-columns:
    repeat(4, 1fr);

  border-top:
    1px solid var(--border);
}

.managed-benefit {
  min-height: 245px;

  padding: 31px 28px;

  border-right:
    1px solid var(--border);
}

.managed-benefit:first-child {
  padding-left: 0;
}

.managed-benefit:last-child {
  border-right: 0;
}

.managed-benefit > span {
  color:
    rgba(0, 36, 53, 0.16);

  font-family: var(--title-font);
  font-size: 48px;
}

.managed-benefit h3 {
  margin-top: 40px;

  color: var(--navy);

  font-family: var(--subtitle-font);
  font-size: 27px;
  font-weight: 400;

  text-transform: uppercase;
}

.managed-benefit p {
  margin-top: 12px;

  font-size: 14px;
  line-height: 1.65;
}


/* =========================================================
   WHY SC SOLUTIONS
========================================================= */

.managed-why-section {
  background: var(--white);
}

.managed-why-panel {
  display: grid;

  grid-template-columns:
    1.05fr
    0.95fr;

  gap: clamp(50px, 7vw, 90px);

  padding:
    clamp(45px, 6vw, 75px);

  border-radius: var(--radius-large);

  background: var(--navy);

  overflow: hidden;
}

.managed-why-copy .section-title {
  color: var(--white);
}

.managed-why-copy p {
  margin-top: 18px;

  color:
    rgba(255, 255, 255, 0.62);

  line-height: 1.7;
}

.managed-values {
  display: grid;

  grid-template-columns:
    repeat(2, 1fr);

  gap: 20px;
}

.managed-values > div {
  padding-top: 17px;

  border-top:
    1px solid rgba(255, 255, 255, 0.13);
}

.managed-values span {
  color: #76D1F5;

  font-family: var(--subheading-font);
  font-size: 11px;

  letter-spacing: 0.10em;
}

.managed-values strong {
  display: block;

  margin-top: 17px;

  color: var(--white);

  font-family: var(--subtitle-font);
  font-size: 20px;
  font-weight: 400;

  text-transform: uppercase;
}

.managed-values p {
  margin-top: 8px;

  color:
    rgba(255, 255, 255, 0.52);

  font-size: 12px;
  line-height: 1.6;
}


/* =========================================================
   MANAGED IT RESPONSIVE
========================================================= */

@media (max-width: 1000px) {

  .managed-service-grid {
    grid-template-columns:
      repeat(2, 1fr);
  }

  .managed-benefit-grid {
    grid-template-columns:
      repeat(2, 1fr);
  }

  .managed-benefit:nth-child(2) {
    border-right: 0;
  }

  .managed-benefit:nth-child(3),
  .managed-benefit:nth-child(4) {
    border-top:
      1px solid var(--border);
  }

  .managed-why-panel {
    grid-template-columns: 1fr;
  }

}


@media (max-width: 700px) {

  .managed-status-wrap {
    min-height: 540px;
  }

  .managed-status-card {
    padding: 24px;
  }

  .managed-status-top {
    flex-direction: column;
  }

  .managed-status-center span {
    font-size: 74px;
  }

  .managed-service-grid,
  .managed-benefit-grid,
  .managed-values {
    grid-template-columns: 1fr;
  }

  .managed-service-card {
    min-height: 290px;
  }

  .managed-cycle {
    min-height: 410px;
  }

  .managed-cycle-ring-one {
    width: 220px;
    height: 220px;
  }

  .managed-cycle-ring-two {
    width: 330px;
    height: 330px;
  }

  .managed-cycle-center {
    width: 105px;
    height: 105px;
  }

  .managed-cycle-item {
    font-size: 10px;
    padding: 8px 11px;
  }

  .managed-benefit,
  .managed-benefit:first-child {
    min-height: 0;

    padding: 28px 0;

    border-right: 0;

    border-top:
      1px solid var(--border);
  }

  .managed-benefit:first-child {
    border-top: 0;
  }

  .managed-why-panel {
    padding: 38px 27px;
  }

}

/* =========================================================
   CYBERSECURITY PAGE
========================================================= */


/* =========================================================
   HERO VISUAL
========================================================= */

.cyber-visual-wrap {
  position: relative;

  min-height: 580px;

  display: flex;
  align-items: center;
  justify-content: center;
}

.cyber-glow {
  position: absolute;

  width: 410px;
  height: 410px;

  border-radius: 50%;

  background:
    rgba(6, 154, 222, 0.14);

  filter: blur(50px);
}

.cyber-map {
  position: relative;

  z-index: 2;

  width: min(100%, 500px);
  min-height: 500px;
}

.cyber-ring {
  position: absolute;

  left: 50%;
  top: 50%;

  border:
    1px solid var(--border);

  border-radius: 50%;

  transform: translate(-50%, -50%);
}

.cyber-ring-one {
  width: 275px;
  height: 275px;
}

.cyber-ring-two {
  width: 430px;
  height: 430px;
}

.cyber-center {
  position: absolute;

  left: 50%;
  top: 50%;

  width: 130px;
  height: 130px;

  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;

  border-radius: 50%;

  background: var(--navy);

  color: var(--white);

  transform: translate(-50%, -50%);

  box-shadow:
    0 20px 50px rgba(0, 36, 53, 0.18);
}

.cyber-center span {
  font-family: var(--title-font);
  font-size: 32px;
}

.cyber-center small {
  color:
    rgba(255, 255, 255, 0.60);

  font-size: 10px;

  letter-spacing: 0.08em;

  text-transform: uppercase;
}

.cyber-node {
  position: absolute;

  padding: 10px 16px;

  border: 1px solid var(--border);
  border-radius: 999px;

  background: var(--white);

  box-shadow: var(--shadow-small);

  color: var(--navy);

  font-family: var(--subheading-font);
  font-size: 12px;
  font-weight: 700;

  text-transform: uppercase;
}

.cyber-node-one {
  left: 50%;
  top: 2%;

  transform: translateX(-50%);
}

.cyber-node-two {
  right: 2%;
  top: 22%;
}

.cyber-node-three {
  right: 0;
  bottom: 23%;
}

.cyber-node-four {
  left: 50%;
  bottom: 2%;

  transform: translateX(-50%);
}

.cyber-node-five {
  left: 0;
  bottom: 23%;
}

.cyber-node-six {
  left: 2%;
  top: 22%;
}


/* =========================================================
   PROTECTION CARDS
========================================================= */

.cyber-protection-section {
  background:
    linear-gradient(
      180deg,
      #FFFFFF,
      #F5F7F7
    );
}

.cyber-protection-grid {
  display: grid;

  grid-template-columns:
    repeat(3, minmax(0, 1fr));

  gap: 18px;
}

.cyber-protection-card {
  min-height: 320px;

  padding: 30px;

  border: 1px solid var(--border);
  border-radius: var(--radius);

  background: var(--white);

  transition:
    transform 0.3s ease,
    box-shadow 0.3s ease,
    border-color 0.3s ease;
}

.cyber-protection-card:hover {
  transform: translateY(-6px);

  border-color:
    rgba(6, 154, 222, 0.24);

  box-shadow: var(--shadow);
}

.cyber-protection-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.cyber-protection-icon {
  display: grid;
  place-items: center;

  min-width: 46px;
  height: 46px;

  padding: 0 10px;

  border-radius: 13px;

  background:
    rgba(6, 154, 222, 0.10);

  color: var(--blue);

  font-family: var(--subheading-font);
  font-size: 11px;
  font-weight: 700;
}

.cyber-protection-top > span {
  color: #A5AFB3;

  font-family: var(--subheading-font);
  font-size: 11px;

  letter-spacing: 0.10em;
}

.cyber-protection-card h3 {
  margin-top: 52px;

  color: var(--navy);

  font-family: var(--subtitle-font);
  font-size: 27px;
  font-weight: 400;

  line-height: 1.08;

  text-transform: uppercase;
}

.cyber-protection-card p {
  margin-top: 15px;

  font-size: 14px;
  line-height: 1.7;
}


/* =========================================================
   PRACTICAL SECURITY
========================================================= */

.cyber-practical-section {
  background: var(--white);
}

.cyber-posture-card {
  padding: 34px;

  border-radius: var(--radius-large);

  background: var(--navy);

  box-shadow:
    0 30px 70px rgba(0, 36, 53, 0.18);
}

.cyber-posture-top {
  display: flex;
  justify-content: space-between;

  gap: 20px;
}

.cyber-posture-top > span {
  color:
    rgba(255, 255, 255, 0.55);

  font-family: var(--subheading-font);
  font-size: 12px;

  letter-spacing: 0.08em;

  text-transform: uppercase;
}

.cyber-posture-top strong {
  color: #69D69B;

  font-size: 11px;
}

.cyber-posture-main {
  display: flex;
  flex-direction: column;
  align-items: center;

  padding: 65px 0 55px;
}

.cyber-posture-main small {
  color:
    rgba(255, 255, 255, 0.45);

  font-size: 10px;

  text-transform: uppercase;
}

.cyber-posture-main strong {
  margin-top: 10px;

  color: var(--white);

  font-family: var(--title-font);
  font-size: clamp(58px, 7vw, 85px);
  font-weight: 400;

  line-height: 0.95;
}

.cyber-posture-list {
  border-top:
    1px solid rgba(255, 255, 255, 0.12);
}

.cyber-posture-list div {
  display: flex;
  align-items: center;
  justify-content: space-between;

  padding: 16px 0;

  border-bottom:
    1px solid rgba(255, 255, 255, 0.10);

  color:
    rgba(255, 255, 255, 0.65);

  font-size: 13px;
}

.cyber-posture-list span {
  color: #69D69B;
  font-weight: 800;
}


/* =========================================================
   SECURITY SERVICES
========================================================= */

.cyber-services-section {
  background: var(--cream);
}

.cyber-service-grid {
  display: grid;

  grid-template-columns:
    repeat(3, 1fr);

  gap: 35px 24px;
}

.cyber-service-item {
  padding-top: 21px;

  border-top:
    1px solid var(--border);
}

.cyber-service-item > span {
  color:
    rgba(0, 36, 53, 0.17);

  font-family: var(--title-font);
  font-size: 43px;
}

.cyber-service-item h3 {
  margin-top: 25px;

  color: var(--navy);

  font-family: var(--subtitle-font);
  font-size: 24px;
  font-weight: 400;

  line-height: 1.08;

  text-transform: uppercase;
}

.cyber-service-item p {
  margin-top: 11px;

  font-size: 14px;
  line-height: 1.65;
}


/* =========================================================
   WHY SC SOLUTIONS
========================================================= */

.cyber-why-section {
  background: var(--white);
}

.cyber-why-panel {
  display: grid;

  grid-template-columns:
    1.05fr
    0.95fr;

  gap: clamp(50px, 7vw, 90px);

  padding:
    clamp(45px, 6vw, 75px);

  border-radius: var(--radius-large);

  background: var(--olive);

  overflow: hidden;
}

.cyber-why-copy .section-title {
  color: var(--cream);
}

.cyber-why-copy p {
  margin-top: 18px;

  color:
    rgba(250, 250, 234, 0.62);

  line-height: 1.7;
}

.cyber-values {
  display: grid;

  grid-template-columns:
    repeat(2, 1fr);

  gap: 20px;
}

.cyber-values > div {
  padding-top: 17px;

  border-top:
    1px solid rgba(250, 250, 234, 0.14);
}

.cyber-values span {
  color: #72CFF4;

  font-family: var(--subheading-font);
  font-size: 11px;

  letter-spacing: 0.10em;
}

.cyber-values strong {
  display: block;

  margin-top: 17px;

  color: var(--cream);

  font-family: var(--subtitle-font);
  font-size: 20px;
  font-weight: 400;

  text-transform: uppercase;
}

.cyber-values p {
  margin-top: 8px;

  color:
    rgba(250, 250, 234, 0.52);

  font-size: 12px;
  line-height: 1.6;
}


/* =========================================================
   CYBERSECURITY RESPONSIVE
========================================================= */

@media (max-width: 1000px) {

  .cyber-protection-grid,
  .cyber-service-grid {
    grid-template-columns:
      repeat(2, 1fr);
  }

  .cyber-why-panel {
    grid-template-columns: 1fr;
  }

}


@media (max-width: 700px) {

  .cyber-visual-wrap {
    min-height: 470px;
  }

  .cyber-map {
    min-height: 430px;
  }

  .cyber-ring-one {
    width: 220px;
    height: 220px;
  }

  .cyber-ring-two {
    width: 340px;
    height: 340px;
  }

  .cyber-center {
    width: 105px;
    height: 105px;
  }

  .cyber-node {
    padding: 8px 10px;

    font-size: 9px;
  }

  .cyber-protection-grid,
  .cyber-service-grid,
  .cyber-values {
    grid-template-columns: 1fr;
  }

  .cyber-protection-card {
    min-height: 290px;
  }

  .cyber-posture-card {
    padding: 27px;
  }

  .cyber-posture-main strong {
    font-size: 58px;
  }

  .cyber-why-panel {
    padding: 38px 27px;
  }

}

/* =========================================================
   SC BUSINESS ASSISTANT PAGE
========================================================= */


/* =========================================================
   HERO
========================================================= */

.assistant-page-phone-wrap {
  position: relative;

  min-height: 650px;

  display: flex;
  align-items: center;
  justify-content: center;
}

.assistant-page-glow {
  position: absolute;

  width: 420px;
  height: 420px;

  border-radius: 50%;

  background:
    rgba(6, 154, 222, 0.15);

  filter: blur(50px);
}

.assistant-page-float {
  position: absolute;

  z-index: 5;

  padding: 14px 17px;

  border:
    1px solid var(--border);

  border-radius: 17px;

  background:
    rgba(255, 255, 255, 0.95);

  box-shadow:
    var(--shadow-small);
}

.assistant-page-float strong {
  display: block;

  color: var(--navy);

  font-size: 12px;
}

.assistant-page-float span {
  display: block;

  margin-top: 3px;

  color: var(--blue);

  font-size: 10px;
}

.assistant-float-one {
  left: 0;
  top: 130px;
}

.assistant-float-two {
  right: -10px;
  bottom: 125px;
}


/* =========================================================
   REQUEST CARDS
========================================================= */

.assistant-request-section {
  background:
    linear-gradient(
      180deg,
      #FFFFFF,
      #F5F7F7
    );
}

.assistant-request-grid {
  display: grid;

  grid-template-columns:
    repeat(3, minmax(0, 1fr));

  gap: 18px;
}

.assistant-request-card {
  min-height: 325px;

  padding: 30px;

  border:
    1px solid var(--border);

  border-radius:
    var(--radius);

  background:
    var(--white);

  transition:
    transform 0.3s ease,
    box-shadow 0.3s ease,
    border-color 0.3s ease;
}

.assistant-request-card:hover {
  transform:
    translateY(-6px);

  border-color:
    rgba(6, 154, 222, 0.24);

  box-shadow:
    var(--shadow);
}

.assistant-request-icon {
  display: grid;

  place-items: center;

  width: 48px;
  height: 48px;

  border-radius: 14px;

  background:
    rgba(6, 154, 222, 0.10);

  color:
    var(--blue);

  font-family:
    var(--subheading-font);

  font-size: 11px;
  font-weight: 700;
}

.assistant-request-card h3 {
  margin-top: 50px;

  color:
    var(--navy);

  font-family:
    var(--subtitle-font);

  font-size: 25px;
  font-weight: 400;

  line-height: 1.12;

  text-transform: uppercase;
}

.assistant-request-card p {
  margin-top: 15px;

  font-size: 14px;
  line-height: 1.7;
}


/* =========================================================
   FLOW
========================================================= */

.assistant-flow-section {
  background: var(--white);
}

.assistant-flow-grid {
  display: grid;

  grid-template-columns:
    repeat(4, 1fr);

  border-top:
    1px solid var(--border);
}

.assistant-flow-step {
  min-height: 245px;

  padding: 31px 28px;

  border-right:
    1px solid var(--border);
}

.assistant-flow-step:first-child {
  padding-left: 0;
}

.assistant-flow-step:last-child {
  border-right: 0;
}

.assistant-flow-step > span {
  color:
    rgba(0, 36, 53, 0.15);

  font-family:
    var(--title-font);

  font-size: 48px;
}

.assistant-flow-step h3 {
  margin-top: 40px;

  color:
    var(--navy);

  font-family:
    var(--subtitle-font);

  font-size: 26px;
  font-weight: 400;

  line-height: 1;

  text-transform: uppercase;
}

.assistant-flow-step p {
  margin-top: 12px;

  font-size: 14px;
  line-height: 1.65;
}


/* =========================================================
   CONNECTED SYSTEMS
========================================================= */

.assistant-connected-section {
  background:
    var(--cream);
}

.assistant-system-map {
  position: relative;

  min-height: 500px;
}

.assistant-system-ring {
  position: absolute;

  left: 50%;
  top: 50%;

  border:
    1px solid var(--border);

  border-radius: 50%;

  transform:
    translate(-50%, -50%);
}

.assistant-system-ring.ring-one {
  width: 275px;
  height: 275px;
}

.assistant-system-ring.ring-two {
  width: 420px;
  height: 420px;
}

.assistant-system-center {
  position: absolute;

  left: 50%;
  top: 50%;

  width: 130px;
  height: 130px;

  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;

  border-radius: 50%;

  background:
    var(--navy);

  color:
    var(--white);

  transform:
    translate(-50%, -50%);

  box-shadow:
    0 20px 50px rgba(0, 36, 53, 0.18);
}

.assistant-system-center strong {
  font-family:
    var(--title-font);

  font-size: 31px;
}

.assistant-system-center span {
  max-width: 90px;

  margin-top: 2px;

  color:
    rgba(255, 255, 255, 0.60);

  font-size: 9px;

  text-align: center;
}

.assistant-system-node {
  position: absolute;

  padding: 9px 14px;

  border:
    1px solid var(--border);

  border-radius: 999px;

  background:
    var(--white);

  box-shadow:
    var(--shadow-small);

  color:
    var(--navy);

  font-family:
    var(--subheading-font);

  font-size: 11px;
  font-weight: 700;

  text-transform: uppercase;
}

.node-one {
  left: 50%;
  top: 2%;

  transform:
    translateX(-50%);
}

.node-two {
  right: 3%;
  top: 18%;
}

.node-three {
  right: 0;
  top: 49%;
}

.node-four {
  right: 8%;
  bottom: 11%;
}

.node-five {
  left: 50%;
  bottom: 1%;

  transform:
    translateX(-50%);
}

.node-six {
  left: 8%;
  bottom: 11%;
}

.node-seven {
  left: 0;
  top: 49%;
}

.node-eight {
  left: 3%;
  top: 18%;
}


/* =========================================================
   CAPABILITIES
========================================================= */

.assistant-capabilities-section {
  background:
    var(--white);
}

.assistant-capability-grid {
  display: grid;

  grid-template-columns:
    repeat(3, 1fr);

  gap: 35px 24px;
}

.assistant-capability {
  padding-top: 21px;

  border-top:
    1px solid var(--border);
}

.assistant-capability > span {
  color:
    rgba(0, 36, 53, 0.16);

  font-family:
    var(--title-font);

  font-size: 42px;
}

.assistant-capability h3 {
  margin-top: 24px;

  color:
    var(--navy);

  font-family:
    var(--subtitle-font);

  font-size: 23px;
  font-weight: 400;

  line-height: 1.08;

  text-transform: uppercase;
}

.assistant-capability p {
  margin-top: 10px;

  font-size: 14px;
  line-height: 1.65;
}


/* =========================================================
   BUILT FOR PEOPLE
========================================================= */

.assistant-why-section {
  background:
    var(--cream);
}

.assistant-why-panel {
  display: grid;

  grid-template-columns:
    1.05fr
    0.95fr;

  gap:
    clamp(50px, 7vw, 90px);

  padding:
    clamp(45px, 6vw, 75px);

  border-radius:
    var(--radius-large);

  background:
    var(--navy);

  overflow: hidden;
}

.assistant-why-copy .section-title {
  color:
    var(--white);
}

.assistant-why-copy p {
  margin-top: 18px;

  color:
    rgba(255, 255, 255, 0.62);

  line-height: 1.7;
}

.assistant-values {
  display: grid;

  grid-template-columns:
    repeat(2, 1fr);

  gap: 20px;
}

.assistant-values > div {
  padding-top: 17px;

  border-top:
    1px solid rgba(255, 255, 255, 0.13);
}

.assistant-values span {
  color:
    #75D3F7;

  font-family:
    var(--subheading-font);

  font-size: 11px;

  letter-spacing:
    0.10em;
}

.assistant-values strong {
  display: block;

  margin-top: 17px;

  color:
    var(--white);

  font-family:
    var(--subtitle-font);

  font-size: 20px;
  font-weight: 400;

  text-transform: uppercase;
}

.assistant-values p {
  margin-top: 8px;

  color:
    rgba(255, 255, 255, 0.52);

  font-size: 12px;
  line-height: 1.6;
}


/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 1000px) {

  .assistant-request-grid,
  .assistant-capability-grid {
    grid-template-columns:
      repeat(2, 1fr);
  }

  .assistant-flow-grid {
    grid-template-columns:
      repeat(2, 1fr);
  }

  .assistant-flow-step:nth-child(2) {
    border-right: 0;
  }

  .assistant-flow-step:nth-child(3),
  .assistant-flow-step:nth-child(4) {
    border-top:
      1px solid var(--border);
  }

  .assistant-why-panel {
    grid-template-columns: 1fr;
  }

}


@media (max-width: 700px) {

  .assistant-page-phone-wrap {
    min-height: 610px;
  }

  .assistant-float-one {
    display: none;
  }

  .assistant-float-two {
    right: 0;
  }

  .assistant-request-grid,
  .assistant-capability-grid,
  .assistant-flow-grid,
  .assistant-values {
    grid-template-columns: 1fr;
  }

  .assistant-request-card {
    min-height: 290px;
  }

  .assistant-flow-step,
  .assistant-flow-step:first-child {
    min-height: 0;

    padding: 28px 0;

    border-right: 0;

    border-top:
      1px solid var(--border);
  }

  .assistant-flow-step:first-child {
    border-top: 0;
  }

  .assistant-system-map {
    min-height: 430px;
  }

  .assistant-system-ring.ring-one {
    width: 220px;
    height: 220px;
  }

  .assistant-system-ring.ring-two {
    width: 340px;
    height: 340px;
  }

  .assistant-system-center {
    width: 105px;
    height: 105px;
  }

  .assistant-system-node {
    padding: 7px 9px;

    font-size: 8px;
  }

  .assistant-why-panel {
    padding: 38px 27px;
  }

}

/* =========================================================
   SOCIAL MEDIA MARKETING PAGE
========================================================= */


/* =========================================================
   HERO
========================================================= */

.social-board-wrap {
  position: relative;

  min-height: 580px;

  display: flex;
  align-items: center;
  justify-content: center;
}

.social-board-glow {
  position: absolute;

  width: 410px;
  height: 410px;

  border-radius: 50%;

  background:
    rgba(6, 154, 222, 0.13);

  filter: blur(50px);
}

.social-content-board {
  position: relative;

  z-index: 2;

  width: min(100%, 490px);

  padding: 27px;

  border:
    1px solid var(--border);

  border-radius: 28px;

  background:
    rgba(255, 255, 255, 0.97);

  box-shadow:
    var(--shadow);
}

.social-board-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;

  gap: 20px;

  padding-bottom: 21px;

  border-bottom:
    1px solid var(--border);
}

.social-board-head > div {
  display: flex;
  flex-direction: column;
}

.social-board-head span {
  color: var(--muted);

  font-family:
    var(--subheading-font);

  font-size: 11px;

  letter-spacing: 0.08em;

  text-transform: uppercase;
}

.social-board-head strong {
  margin-top: 4px;

  color: var(--navy);

  font-size: 14px;
}

.social-ready {
  padding: 6px 10px;

  border-radius: 999px;

  background:
    rgba(6, 154, 222, 0.10);

  color: var(--blue) !important;

  font-size: 10px !important;
  font-weight: 700;
}

.social-board-grid {
  display: grid;

  grid-template-columns:
    repeat(3, 1fr);

  gap: 11px;

  margin-top: 22px;
}

.social-post-tile {
  min-height: 135px;

  display: flex;
  flex-direction: column;

  justify-content: space-between;

  padding: 15px;

  border:
    1px solid var(--border);

  border-radius: 16px;

  background:
    #F5F7F7;
}

.social-post-tile > span {
  color: var(--muted);

  font-family:
    var(--subheading-font);

  font-size: 9px;

  letter-spacing: 0.08em;
}

.social-post-tile strong {
  color: var(--navy);

  font-family:
    var(--subtitle-font);

  font-size: 17px;
  font-weight: 400;

  text-transform: uppercase;
}

.social-post-tile small {
  color: var(--blue);

  font-size: 16px;
}

.social-tile-blue {
  background: var(--blue);

  border-color: var(--blue);
}

.social-tile-blue span,
.social-tile-blue strong,
.social-tile-blue small {
  color: var(--white);
}

.social-tile-olive {
  background: var(--olive);

  border-color: var(--olive);
}

.social-tile-olive span,
.social-tile-olive strong,
.social-tile-olive small {
  color: var(--cream);
}

.social-float {
  position: absolute;

  z-index: 5;

  padding: 12px 15px;

  border:
    1px solid var(--border);

  border-radius: 15px;

  background:
    rgba(255, 255, 255, 0.95);

  box-shadow:
    var(--shadow-small);
}

.social-float strong {
  color: var(--navy);

  font-size: 11px;
}

.social-float span {
  margin-left: 8px;

  color: var(--blue);
}

.social-float-one {
  left: -15px;
  top: 110px;
}

.social-float-two {
  right: -15px;
  bottom: 105px;
}


/* =========================================================
   CONTENT CARDS
========================================================= */

.social-content-section {
  background:
    linear-gradient(
      180deg,
      #FFFFFF,
      #F5F7F7
    );
}

.social-content-grid {
  display: grid;

  grid-template-columns:
    repeat(3, 1fr);

  gap: 18px;
}

.social-content-card {
  min-height: 320px;

  padding: 30px;

  border:
    1px solid var(--border);

  border-radius:
    var(--radius);

  background:
    var(--white);

  transition:
    transform 0.3s ease,
    box-shadow 0.3s ease,
    border-color 0.3s ease;
}

.social-content-card:hover {
  transform:
    translateY(-6px);

  border-color:
    rgba(6, 154, 222, 0.24);

  box-shadow:
    var(--shadow);
}

.social-content-icon {
  display: grid;
  place-items: center;

  width: 46px;
  height: 46px;

  border-radius: 13px;

  background:
    rgba(6, 154, 222, 0.10);

  color:
    var(--blue);

  font-family:
    var(--subheading-font);

  font-size: 13px;
  font-weight: 700;
}

.social-content-card h3 {
  margin-top: 52px;

  color:
    var(--navy);

  font-family:
    var(--subtitle-font);

  font-size: 27px;
  font-weight: 400;

  line-height: 1.08;

  text-transform: uppercase;
}

.social-content-card p {
  margin-top: 15px;

  font-size: 14px;
  line-height: 1.7;
}


/* =========================================================
   VIDEO SECTION
========================================================= */

.social-video-section {
  background: var(--white);
}

.social-video-frame {
  padding: 20px;

  border-radius:
    var(--radius-large);

  background:
    var(--navy);

  box-shadow:
    var(--shadow);
}

.social-video-screen {
  position: relative;

  min-height: 420px;

  display: flex;

  align-items: center;
  justify-content: center;

  overflow: hidden;

  border-radius: 22px;

  background:
    radial-gradient(
      circle at 30% 25%,
      rgba(6, 154, 222, 0.32),
      transparent 34%
    ),
    var(--olive);
}

.social-video-play {
  display: grid;
  place-items: center;

  width: 88px;
  height: 88px;

  border-radius: 50%;

  background:
    rgba(255, 255, 255, 0.92);

  color: var(--blue);

  font-size: 28px;

  box-shadow:
    0 20px 50px rgba(0, 0, 0, 0.20);
}

.social-video-caption {
  position: absolute;

  left: 28px;
  bottom: 25px;

  max-width: 300px;
}

.social-video-caption span {
  color: #78D2F5;

  font-family:
    var(--subheading-font);

  font-size: 10px;

  letter-spacing: 0.10em;
}

.social-video-caption strong {
  display: block;

  margin-top: 7px;

  color: var(--cream);

  font-family:
    var(--subtitle-font);

  font-size: 23px;
  font-weight: 400;

  line-height: 1.1;

  text-transform: uppercase;
}

.social-video-control {
  display: flex;

  align-items: center;

  gap: 12px;

  padding: 16px 4px 2px;

  color:
    rgba(255, 255, 255, 0.50);

  font-size: 9px;
}

.social-video-control div {
  height: 2px;

  flex: 1;

  background:
    rgba(255, 255, 255, 0.18);
}

.social-check-list {
  display: grid;

  gap: 12px;

  margin-top: 30px;
}

.social-check-list div {
  display: flex;

  align-items: center;

  gap: 11px;

  color: var(--navy);

  font-weight: 700;
}

.social-check-list span {
  display: grid;
  place-items: center;

  width: 25px;
  height: 25px;

  flex-shrink: 0;

  border-radius: 50%;

  background:
    rgba(6, 154, 222, 0.11);

  color: var(--blue);
}


/* =========================================================
   PRICING
========================================================= */

.social-pricing-section {
  background: var(--cream);
}

.price-card > small {
  color: var(--blue);

  font-family:
    var(--subheading-font);

  font-size: 12px;

  font-weight: 700;

  letter-spacing: 0.08em;

  text-transform: uppercase;
}

.price-card h3 span {
  color: var(--muted);

  font-family:
    var(--body-font);

  font-size: 15px;

  font-weight: 500;
}

.price-card > strong {
  display: block;

  margin-top: 13px;

  color: var(--navy);

  font-size: 16px;
}

.price-card > p {
  margin-top: 14px;

  font-size: 14px;

  line-height: 1.65;
}

.featured-price > em {
  position: absolute;

  right: 22px;
  top: 22px;

  padding: 6px 10px;

  border-radius: 999px;

  background:
    rgba(6, 154, 222, 0.10);

  color: var(--blue);

  font-size: 10px;
  font-style: normal;
  font-weight: 700;
}


/* =========================================================
   PROCESS
========================================================= */

.social-process-section {
  background: var(--white);
}


/* =========================================================
   WHY SC SOLUTIONS
========================================================= */

.social-why-section {
  background: var(--cream);
}

.social-why-panel {
  display: grid;

  grid-template-columns:
    1.05fr
    0.95fr;

  gap:
    clamp(50px, 7vw, 90px);

  padding:
    clamp(45px, 6vw, 75px);

  border-radius:
    var(--radius-large);

  background:
    var(--olive);

  overflow: hidden;
}

.social-why-copy .section-title {
  color: var(--cream);
}

.social-why-copy p {
  margin-top: 18px;

  color:
    rgba(250, 250, 234, 0.62);

  line-height: 1.7;
}

.social-values {
  display: grid;

  grid-template-columns:
    repeat(2, 1fr);

  gap: 20px;
}

.social-values > div {
  padding-top: 17px;

  border-top:
    1px solid rgba(250, 250, 234, 0.14);
}

.social-values span {
  color: #72CFF4;

  font-family:
    var(--subheading-font);

  font-size: 11px;

  letter-spacing: 0.10em;
}

.social-values strong {
  display: block;

  margin-top: 17px;

  color: var(--cream);

  font-family:
    var(--subtitle-font);

  font-size: 20px;
  font-weight: 400;

  text-transform: uppercase;
}

.social-values p {
  margin-top: 8px;

  color:
    rgba(250, 250, 234, 0.52);

  font-size: 12px;
  line-height: 1.6;
}


/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 1000px) {

  .social-content-grid {
    grid-template-columns:
      repeat(2, 1fr);
  }

  .social-why-panel {
    grid-template-columns: 1fr;
  }

}


@media (max-width: 700px) {

  .social-board-wrap {
    min-height: 510px;
  }

  .social-board-grid {
    grid-template-columns:
      repeat(2, 1fr);
  }

  .social-post-tile {
    min-height: 115px;
  }

  .social-float-one {
    display: none;
  }

  .social-float-two {
    right: 0;
  }

  .social-content-grid,
  .social-values {
    grid-template-columns: 1fr;
  }

  .social-content-card {
    min-height: 290px;
  }

  .social-video-screen {
    min-height: 340px;
  }

  .social-why-panel {
    padding: 38px 27px;
  }

}

/* =========================================================
   WEBSITES & SEO PAGE
========================================================= */


/* =========================================================
   HERO BROWSER
========================================================= */

.web-browser-wrap {
  position: relative;

  min-height: 590px;

  display: flex;
  align-items: center;
  justify-content: center;
}

.web-browser-glow {
  position: absolute;

  width: 420px;
  height: 420px;

  border-radius: 50%;

  background:
    rgba(6, 154, 222, 0.13);

  filter: blur(50px);
}

.web-browser {
  position: relative;

  z-index: 2;

  width: min(100%, 510px);

  overflow: hidden;

  border:
    1px solid var(--border);

  border-radius: 24px;

  background: var(--white);

  box-shadow: var(--shadow);
}

.web-browser-bar {
  display: flex;
  align-items: center;

  gap: 16px;

  padding: 14px 18px;

  border-bottom:
    1px solid var(--border);

  background:
    #F5F6F6;
}

.browser-dots {
  display: flex;

  gap: 6px;
}

.browser-dots span {
  width: 8px;
  height: 8px;

  border-radius: 50%;

  background:
    rgba(0, 36, 53, 0.20);
}

.browser-address {
  flex: 1;

  padding: 7px 12px;

  border-radius: 999px;

  background: var(--white);

  color: var(--muted);

  font-size: 10px;
}

.web-browser-page {
  padding: 45px 36px 34px;
}

.web-page-eyebrow {
  color: var(--blue);

  font-family:
    var(--subheading-font);

  font-size: 10px;

  letter-spacing: 0.11em;
}

.web-browser-page h3 {
  max-width: 390px;

  margin-top: 14px;

  color: var(--navy);

  font-family:
    var(--title-font);

  font-size:
    clamp(42px, 5vw, 65px);

  font-weight: 400;

  line-height: 0.94;

  text-transform: uppercase;
}

.web-browser-page p {
  max-width: 370px;

  margin-top: 18px;

  font-size: 13px;
  line-height: 1.65;
}

.web-page-button {
  display: inline-flex;

  margin-top: 22px;

  padding: 10px 16px;

  border-radius: 999px;

  background: var(--blue);

  color: var(--white);

  font-size: 11px;
  font-weight: 700;
}

.web-page-grid {
  display: grid;

  grid-template-columns:
    repeat(3, 1fr);

  gap: 10px;

  margin-top: 35px;
}

.web-page-grid div {
  padding: 13px;

  border:
    1px solid var(--border);

  border-radius: 13px;

  background:
    #F7F8F8;
}

.web-page-grid span {
  display: block;

  width: 100%;
  height: 36px;

  border-radius: 8px;

  background:
    rgba(6, 154, 222, 0.10);
}

.web-page-grid strong {
  display: block;

  margin-top: 8px;

  color: var(--navy);

  font-size: 10px;
}

.web-float {
  position: absolute;

  z-index: 5;

  padding: 12px 15px;

  border:
    1px solid var(--border);

  border-radius: 15px;

  background:
    rgba(255, 255, 255, 0.95);

  box-shadow:
    var(--shadow-small);
}

.web-float strong {
  color: var(--navy);

  font-size: 11px;
}

.web-float span {
  margin-left: 8px;

  color: var(--blue);
}

.web-float-one {
  left: -15px;
  top: 125px;
}

.web-float-two {
  right: -15px;
  bottom: 115px;
}


/* =========================================================
   WHAT WE BUILD
========================================================= */

.web-build-section {
  background:
    linear-gradient(
      180deg,
      #FFFFFF,
      #F5F7F7
    );
}

.web-build-grid {
  display: grid;

  grid-template-columns:
    repeat(3, 1fr);

  gap: 18px;
}

.web-build-card {
  min-height: 320px;

  padding: 30px;

  border:
    1px solid var(--border);

  border-radius:
    var(--radius);

  background:
    var(--white);

  transition:
    transform 0.3s ease,
    box-shadow 0.3s ease,
    border-color 0.3s ease;
}

.web-build-card:hover {
  transform:
    translateY(-6px);

  border-color:
    rgba(6, 154, 222, 0.24);

  box-shadow:
    var(--shadow);
}

.web-build-icon {
  display: grid;
  place-items: center;

  min-width: 46px;
  width: fit-content;
  height: 46px;

  padding: 0 10px;

  border-radius: 13px;

  background:
    rgba(6, 154, 222, 0.10);

  color:
    var(--blue);

  font-family:
    var(--subheading-font);

  font-size: 11px;
  font-weight: 700;
}

.web-build-card h3 {
  margin-top: 52px;

  color: var(--navy);

  font-family:
    var(--subtitle-font);

  font-size: 27px;
  font-weight: 400;

  line-height: 1.08;

  text-transform: uppercase;
}

.web-build-card p {
  margin-top: 15px;

  font-size: 14px;
  line-height: 1.7;
}


/* =========================================================
   SEARCH JOURNEY
========================================================= */

.web-search-flow-section {
  background: var(--white);
}

.web-journey-grid {
  display: grid;

  grid-template-columns:
    repeat(2, 1fr);

  gap: 18px;
}

.web-journey-grid > div {
  padding: 23px;

  border:
    1px solid var(--border);

  border-radius: 18px;

  background:
    #F7F8F8;
}

.web-journey-grid span {
  color:
    rgba(0, 36, 53, 0.16);

  font-family:
    var(--title-font);

  font-size: 38px;
}

.web-journey-grid h3 {
  margin-top: 25px;

  color: var(--navy);

  font-family:
    var(--subtitle-font);

  font-size: 23px;
  font-weight: 400;

  text-transform: uppercase;
}

.web-journey-grid p {
  margin-top: 8px;

  font-size: 13px;
}


/* =========================================================
   SEO
========================================================= */

.web-seo-section {
  background: var(--cream);
}

.web-seo-grid {
  display: grid;

  grid-template-columns:
    repeat(3, 1fr);

  gap: 34px 24px;
}

.web-seo-item {
  padding-top: 21px;

  border-top:
    1px solid var(--border);
}

.web-seo-item > span {
  color:
    rgba(0, 36, 53, 0.16);

  font-family:
    var(--title-font);

  font-size: 42px;
}

.web-seo-item h3 {
  margin-top: 24px;

  color: var(--navy);

  font-family:
    var(--subtitle-font);

  font-size: 24px;
  font-weight: 400;

  text-transform: uppercase;
}

.web-seo-item p {
  margin-top: 10px;

  font-size: 14px;
  line-height: 1.65;
}


/* =========================================================
   PRICING
========================================================= */

.web-pricing-section {
  background: var(--white);
}

.web-price-note {
  margin-top: 3px !important;

  color: var(--blue) !important;

  font-size: 11px !important;
  font-weight: 700;
}

.web-addon-row {
  display: grid;

  grid-template-columns:
    repeat(2, 1fr);

  gap: 16px;

  max-width: 760px;

  margin: 30px auto 0;
}

.web-addon-row > div {
  display: flex;
  align-items: center;
  justify-content: space-between;

  padding: 17px 20px;

  border:
    1px solid var(--border);

  border-radius: 15px;

  background:
    var(--cream);
}

.web-addon-row span {
  color: var(--muted);

  font-size: 12px;
}

.web-addon-row strong {
  color: var(--navy);

  font-family:
    var(--subheading-font);

  font-size: 14px;
}


/* =========================================================
   WHY SC SOLUTIONS
========================================================= */

.web-why-section {
  background: var(--cream);
}

.web-why-panel {
  display: grid;

  grid-template-columns:
    1.05fr
    0.95fr;

  gap:
    clamp(50px, 7vw, 90px);

  padding:
    clamp(45px, 6vw, 75px);

  border-radius:
    var(--radius-large);

  background:
    var(--navy);

  overflow: hidden;
}

.web-why-copy .section-title {
  color: var(--white);
}

.web-why-copy p {
  margin-top: 18px;

  color:
    rgba(255, 255, 255, 0.62);

  line-height: 1.7;
}

.web-values {
  display: grid;

  grid-template-columns:
    repeat(2, 1fr);

  gap: 20px;
}

.web-values > div {
  padding-top: 17px;

  border-top:
    1px solid rgba(255, 255, 255, 0.13);
}

.web-values span {
  color: #74D1F5;

  font-family:
    var(--subheading-font);

  font-size: 11px;

  letter-spacing: 0.10em;
}

.web-values strong {
  display: block;

  margin-top: 17px;

  color: var(--white);

  font-family:
    var(--subtitle-font);

  font-size: 20px;
  font-weight: 400;

  text-transform: uppercase;
}

.web-values p {
  margin-top: 8px;

  color:
    rgba(255, 255, 255, 0.52);

  font-size: 12px;
  line-height: 1.6;
}


/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 1000px) {

  .web-build-grid,
  .web-seo-grid {
    grid-template-columns:
      repeat(2, 1fr);
  }

  .web-why-panel {
    grid-template-columns: 1fr;
  }

}


@media (max-width: 700px) {

  .web-browser-wrap {
    min-height: 520px;
  }

  .web-browser-page {
    padding: 34px 24px 26px;
  }

  .web-page-grid {
    grid-template-columns: 1fr;
  }

  .web-float-one {
    display: none;
  }

  .web-float-two {
    right: 0;
  }

  .web-build-grid,
  .web-seo-grid,
  .web-journey-grid,
  .web-values,
  .web-addon-row {
    grid-template-columns: 1fr;
  }

  .web-build-card {
    min-height: 290px;
  }

  .web-why-panel {
    padding: 38px 27px;
  }

}

/* =========================================================
   SYSTEMS INTEGRATION PAGE
========================================================= */


/* =========================================================
   HERO
========================================================= */

.integration-map-wrap {
  position: relative;

  min-height: 570px;

  display: flex;
  align-items: center;
  justify-content: center;
}

.integration-map-glow {
  position: absolute;

  width: 410px;
  height: 410px;

  border-radius: 50%;

  background:
    rgba(6, 154, 222, 0.14);

  filter: blur(50px);
}

.integration-system-map {
  position: relative;

  z-index: 2;

  width: min(100%, 500px);
  min-height: 500px;
}

.integration-map-ring {
  position: absolute;

  left: 50%;
  top: 50%;

  border:
    1px solid var(--border);

  border-radius: 50%;

  transform:
    translate(-50%, -50%);
}

.integration-map-ring.map-ring-one {
  width: 275px;
  height: 275px;
}

.integration-map-ring.map-ring-two {
  width: 430px;
  height: 430px;
}

.integration-map-center {
  position: absolute;

  left: 50%;
  top: 50%;

  width: 130px;
  height: 130px;

  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;

  border-radius: 50%;

  background: var(--navy);

  color: var(--white);

  transform:
    translate(-50%, -50%);

  box-shadow:
    0 20px 50px rgba(0, 36, 53, 0.18);
}

.integration-map-center strong {
  font-family:
    var(--title-font);

  font-size: 31px;
}

.integration-map-center span {
  margin-top: 2px;

  color:
    rgba(255, 255, 255, 0.60);

  font-size: 9px;

  letter-spacing: 0.08em;

  text-transform: uppercase;
}

.integration-node {
  position: absolute;

  padding: 9px 14px;

  border:
    1px solid var(--border);

  border-radius: 999px;

  background: var(--white);

  box-shadow:
    var(--shadow-small);

  color: var(--navy);

  font-family:
    var(--subheading-font);

  font-size: 11px;
  font-weight: 700;

  text-transform: uppercase;
}

.integration-node-one {
  left: 50%;
  top: 1%;

  transform: translateX(-50%);
}

.integration-node-two {
  right: 5%;
  top: 16%;
}

.integration-node-three {
  right: 0;
  top: 46%;
}

.integration-node-four {
  right: 6%;
  bottom: 12%;
}

.integration-node-five {
  left: 50%;
  bottom: 1%;

  transform: translateX(-50%);
}

.integration-node-six {
  left: 6%;
  bottom: 12%;
}

.integration-node-seven {
  left: 0;
  top: 46%;
}

.integration-node-eight {
  left: 5%;
  top: 16%;
}


/* =========================================================
   BEFORE / AFTER
========================================================= */

.integration-compare-section {
  background: var(--cream);
}

.integration-compare-grid {
  display: grid;

  grid-template-columns:
    repeat(2, 1fr);

  gap: 18px;

  max-width: 1050px;

  margin: auto;
}

.integration-compare-card {
  padding: 35px;

  border:
    1px solid var(--border);

  border-radius:
    var(--radius);

  background:
    var(--white);
}

.integration-compare-card small {
  color: var(--muted);

  font-family:
    var(--subheading-font);

  font-size: 11px;

  letter-spacing: 0.12em;

  text-transform: uppercase;
}

.integration-compare-card h3 {
  margin-top: 25px;

  color: var(--navy);

  font-family:
    var(--subtitle-font);

  font-size: 30px;
  font-weight: 400;

  line-height: 1.12;

  text-transform: uppercase;
}

.integration-compare-card ul {
  display: grid;

  gap: 14px;

  margin-top: 30px;

  list-style: none;
}

.integration-compare-card li {
  display: flex;

  gap: 11px;

  color: var(--muted);

  font-size: 14px;

  line-height: 1.55;
}

.integration-compare-card li span {
  color: #B85D5D;

  font-weight: 900;
}

.integration-compare-after {
  background: var(--navy);

  border-color: var(--navy);
}

.integration-compare-after small {
  color: #6FD1F6;
}

.integration-compare-after h3 {
  color: var(--white);
}

.integration-compare-after li {
  color:
    rgba(255, 255, 255, 0.65);
}

.integration-compare-after li span {
  color: #69D69B;
}


/* =========================================================
   WHAT WE CONNECT
========================================================= */

.integration-connect-section {
  background:
    linear-gradient(
      180deg,
      #FFFFFF,
      #F5F7F7
    );
}

.integration-connect-grid {
  display: grid;

  grid-template-columns:
    repeat(3, 1fr);

  gap: 18px;
}

.integration-connect-card {
  min-height: 320px;

  padding: 30px;

  border:
    1px solid var(--border);

  border-radius:
    var(--radius);

  background: var(--white);

  transition:
    transform 0.3s ease,
    box-shadow 0.3s ease,
    border-color 0.3s ease;
}

.integration-connect-card:hover {
  transform: translateY(-6px);

  border-color:
    rgba(6, 154, 222, 0.24);

  box-shadow:
    var(--shadow);
}

.integration-connect-icon {
  display: grid;
  place-items: center;

  min-width: 46px;
  width: fit-content;
  height: 46px;

  padding: 0 10px;

  border-radius: 13px;

  background:
    rgba(6, 154, 222, 0.10);

  color: var(--blue);

  font-family:
    var(--subheading-font);

  font-size: 11px;
  font-weight: 700;
}

.integration-connect-card h3 {
  margin-top: 52px;

  color: var(--navy);

  font-family:
    var(--subtitle-font);

  font-size: 27px;
  font-weight: 400;

  line-height: 1.08;

  text-transform: uppercase;
}

.integration-connect-card p {
  margin-top: 15px;

  font-size: 14px;
  line-height: 1.7;
}


/* =========================================================
   FLOW
========================================================= */

.integration-flow-section {
  background: var(--white);
}

.integration-flow-grid {
  display: grid;

  grid-template-columns:
    repeat(4, 1fr);

  border-top:
    1px solid var(--border);
}

.integration-flow-step {
  min-height: 255px;

  padding: 31px 28px;

  border-right:
    1px solid var(--border);
}

.integration-flow-step:first-child {
  padding-left: 0;
}

.integration-flow-step:last-child {
  border-right: 0;
}

.integration-flow-step > span {
  color:
    rgba(0, 36, 53, 0.16);

  font-family:
    var(--title-font);

  font-size: 48px;
}

.integration-flow-step h3 {
  margin-top: 40px;

  color: var(--navy);

  font-family:
    var(--subtitle-font);

  font-size: 25px;
  font-weight: 400;

  line-height: 1.08;

  text-transform: uppercase;
}

.integration-flow-step p {
  margin-top: 12px;

  font-size: 14px;
  line-height: 1.65;
}


/* =========================================================
   EXAMPLE WORKFLOW
========================================================= */

.integration-example-section {
  background: var(--cream);
}

.integration-vertical-flow {
  max-width: 470px;

  margin: auto;

  padding: 30px;

  border:
    1px solid var(--border);

  border-radius:
    var(--radius-large);

  background:
    var(--white);

  box-shadow:
    var(--shadow-small);
}

.integration-vertical-flow > div {
  display: flex;

  align-items: center;

  gap: 16px;
}

.integration-vertical-flow b {
  display: grid;

  place-items: center;

  width: 38px;
  height: 38px;

  flex-shrink: 0;

  border-radius: 50%;

  background:
    rgba(6, 154, 222, 0.11);

  color: var(--blue);

  font-family:
    var(--subheading-font);

  font-size: 13px;
}

.integration-vertical-flow span {
  color: var(--navy);

  font-weight: 700;
}

.integration-vertical-flow i {
  display: block;

  width: 1px;
  height: 30px;

  margin:
    5px 0
    5px 18px;

  background:
    var(--border);
}


/* =========================================================
   WHY SC SOLUTIONS
========================================================= */

.integration-why-section {
  background: var(--white);
}

.integration-why-panel {
  display: grid;

  grid-template-columns:
    1.05fr
    0.95fr;

  gap:
    clamp(50px, 7vw, 90px);

  padding:
    clamp(45px, 6vw, 75px);

  border-radius:
    var(--radius-large);

  background:
    var(--navy);

  overflow: hidden;
}

.integration-why-copy .section-title {
  color: var(--white);
}

.integration-why-copy p {
  margin-top: 18px;

  color:
    rgba(255, 255, 255, 0.62);

  line-height: 1.7;
}

.integration-values {
  display: grid;

  grid-template-columns:
    repeat(2, 1fr);

  gap: 20px;
}

.integration-values > div {
  padding-top: 17px;

  border-top:
    1px solid rgba(255, 255, 255, 0.13);
}

.integration-values span {
  color: #74D1F5;

  font-family:
    var(--subheading-font);

  font-size: 11px;

  letter-spacing: 0.10em;
}

.integration-values strong {
  display: block;

  margin-top: 17px;

  color: var(--white);

  font-family:
    var(--subtitle-font);

  font-size: 20px;
  font-weight: 400;

  text-transform: uppercase;
}

.integration-values p {
  margin-top: 8px;

  color:
    rgba(255, 255, 255, 0.52);

  font-size: 12px;
  line-height: 1.6;
}


/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 1000px) {

  .integration-connect-grid {
    grid-template-columns:
      repeat(2, 1fr);
  }

  .integration-flow-grid {
    grid-template-columns:
      repeat(2, 1fr);
  }

  .integration-flow-step:nth-child(2) {
    border-right: 0;
  }

  .integration-flow-step:nth-child(3),
  .integration-flow-step:nth-child(4) {
    border-top:
      1px solid var(--border);
  }

  .integration-why-panel {
    grid-template-columns: 1fr;
  }

}


@media (max-width: 700px) {

  .integration-map-wrap {
    min-height: 470px;
  }

  .integration-system-map {
    min-height: 430px;
  }

  .integration-map-ring.map-ring-one {
    width: 220px;
    height: 220px;
  }

  .integration-map-ring.map-ring-two {
    width: 340px;
    height: 340px;
  }

  .integration-map-center {
    width: 105px;
    height: 105px;
  }

  .integration-node {
    padding: 7px 9px;

    font-size: 8px;
  }

  .integration-compare-grid,
  .integration-connect-grid,
  .integration-flow-grid,
  .integration-values {
    grid-template-columns: 1fr;
  }

  .integration-connect-card {
    min-height: 290px;
  }

  .integration-flow-step,
  .integration-flow-step:first-child {
    min-height: 0;

    padding: 28px 0;

    border-right: 0;

    border-top:
      1px solid var(--border);
  }

  .integration-flow-step:first-child {
    border-top: 0;
  }

  .integration-vertical-flow {
    padding: 24px;
  }

  .integration-why-panel {
    padding: 38px 27px;
  }

}

/* =========================================================
   ABOUT PAGE
========================================================= */


/* =========================================================
   HERO BRAND PANEL
========================================================= */

.about-brand-panel {
  min-height: 560px;

  display: flex;
  flex-direction: column;
  justify-content: center;

  padding:
    clamp(40px, 6vw, 68px);

  border-radius:
    var(--radius-large);

  background:
    var(--olive);

  overflow: hidden;

  box-shadow:
    var(--shadow);
}

.about-brand-line {
  margin-bottom: 36px;

  color:
    rgba(250, 250, 234, 0.55);

  font-family:
    var(--subheading-font);

  font-size: 13px;
  font-weight: 700;

  letter-spacing: 0.14em;

  text-transform: uppercase;
}

.about-brand-panel > strong {
  display: block;

  color: var(--cream);

  font-family:
    var(--title-font);

  font-size:
    clamp(68px, 8vw, 105px);

  font-weight: 400;

  line-height: 0.88;

  text-transform: uppercase;
}

.about-brand-panel
.about-brand-accent {
  color: #69C8EF;
}

.about-brand-panel p {
  max-width: 330px;

  margin-top: 35px;

  color:
    rgba(250, 250, 234, 0.60);

  font-size: 14px;
  line-height: 1.65;
}


/* =========================================================
   STORY
========================================================= */

.about-story-section {
  background:
    var(--white);
}

.about-story-copy h3 {
  color: var(--navy);

  font-family:
    var(--subtitle-font);

  font-size:
    clamp(27px, 3vw, 38px);

  font-weight: 400;

  line-height: 1.15;

  text-transform: uppercase;
}

.about-story-copy p {
  margin-top: 17px;

  font-size: 16px;
  line-height: 1.75;
}


/* =========================================================
   TIME / PEACE / CLARITY
========================================================= */

.about-values-section {
  background:
    var(--cream);
}

.about-core-grid {
  display: grid;

  grid-template-columns:
    repeat(3, 1fr);

  border-top:
    1px solid var(--border);
}

.about-core-item {
  min-height: 280px;

  padding: 32px 30px;

  border-right:
    1px solid var(--border);
}

.about-core-item:first-child {
  padding-left: 0;
}

.about-core-item:last-child {
  border-right: 0;
}

.about-core-item > span {
  color:
    rgba(0, 36, 53, 0.16);

  font-family:
    var(--title-font);

  font-size: 50px;
}

.about-core-item h3 {
  margin-top: 47px;

  color: var(--navy);

  font-family:
    var(--subtitle-font);

  font-size: 29px;
  font-weight: 400;

  text-transform: uppercase;
}

.about-core-item p {
  margin-top: 13px;

  font-size: 14px;
  line-height: 1.65;
}


/* =========================================================
   FOUNDERS
========================================================= */

.about-founders-section {
  background:
    var(--white);
}

.about-founder-card {
  position: relative;

  min-height: 560px;

  display: flex;
  flex-direction: column;

  justify-content: space-between;

  padding: 50px;

  border-radius:
    var(--radius-large);

  background:
    var(--navy);

  overflow: hidden;
}

.about-founder-card::before {
  content: "";

  position: absolute;

  width: 420px;
  height: 420px;

  right: -190px;
  top: -190px;

  border-radius: 50%;

  background:
    rgba(6, 154, 222, 0.13);
}

.about-founder-mark {
  position: relative;
  z-index: 2;

  width: 92px;
  height: 92px;

  display: grid;
  place-items: center;

  border-radius: 50%;

  background: var(--blue);

  color: var(--white);

  font-family:
    var(--title-font);

  font-size: 31px;

  box-shadow:
    0 0 0 15px rgba(6, 154, 222, 0.11);
}

.about-founder-copy {
  position: relative;
  z-index: 2;

  display: flex;
  flex-direction: column;
}

.about-founder-copy span {
  color: #74D0F4;

  font-family:
    var(--subheading-font);

  font-size: 11px;

  letter-spacing: 0.13em;
}

.about-founder-copy strong {
  margin-top: 10px;

  color: var(--white);

  font-family:
    var(--subtitle-font);

  font-size:
    clamp(31px, 4vw, 48px);

  font-weight: 400;

  line-height: 1;

  text-transform: uppercase;
}

.about-founder-copy small {
  margin-top: 8px;

  color:
    rgba(255, 255, 255, 0.50);

  font-size: 12px;
}

.about-founder-values {
  position: relative;
  z-index: 2;

  display: flex;
  flex-wrap: wrap;

  gap: 8px;
}

.about-founder-values span {
  padding: 7px 10px;

  border:
    1px solid rgba(255, 255, 255, 0.13);

  border-radius: 999px;

  color:
    rgba(255, 255, 255, 0.58);

  font-family:
    var(--subheading-font);

  font-size: 9px;

  letter-spacing: 0.08em;
}


/* =========================================================
   BELIEFS
========================================================= */

.about-beliefs-section {
  background:
    linear-gradient(
      180deg,
      #FFFFFF,
      #F5F7F7
    );
}

.about-belief-grid {
  display: grid;

  grid-template-columns:
    repeat(5, 1fr);

  gap: 14px;
}

.about-belief-card {
  min-height: 290px;

  padding: 26px;

  border:
    1px solid var(--border);

  border-radius: 20px;

  background: var(--white);

  transition:
    transform 0.3s ease,
    border-color 0.3s ease,
    box-shadow 0.3s ease;
}

.about-belief-card:hover {
  transform:
    translateY(-6px);

  border-color:
    rgba(6, 154, 222, 0.23);

  box-shadow:
    var(--shadow-small);
}

.about-belief-icon {
  display: grid;
  place-items: center;

  width: 45px;
  height: 45px;

  border-radius: 13px;

  background:
    rgba(6, 154, 222, 0.10);

  color: var(--blue);

  font-family:
    var(--subheading-font);

  font-size: 12px;
  font-weight: 700;
}

.about-belief-card h3 {
  margin-top: 47px;

  color: var(--navy);

  font-family:
    var(--subtitle-font);

  font-size: 21px;
  font-weight: 400;

  line-height: 1.08;

  text-transform: uppercase;
}

.about-belief-card p {
  margin-top: 12px;

  font-size: 13px;
  line-height: 1.65;
}


/* =========================================================
   HOW WE WORK
========================================================= */

.about-method-section {
  background:
    var(--cream);
}

.about-method-panel {
  display: grid;

  grid-template-columns:
    1.05fr
    0.95fr;

  gap:
    clamp(50px, 7vw, 90px);

  padding:
    clamp(45px, 6vw, 75px);

  border-radius:
    var(--radius-large);

  background: var(--navy);

  overflow: hidden;
}

.about-method-copy
.section-title {
  color: var(--white);
}

.about-method-copy p {
  margin-top: 18px;

  color:
    rgba(255, 255, 255, 0.62);

  line-height: 1.7;
}

.about-method-values {
  display: grid;

  grid-template-columns:
    repeat(2, 1fr);

  gap: 20px;
}

.about-method-values > div {
  padding-top: 17px;

  border-top:
    1px solid rgba(255, 255, 255, 0.13);
}

.about-method-values span {
  color: #74D1F5;

  font-family:
    var(--subheading-font);

  font-size: 11px;

  letter-spacing: 0.10em;
}

.about-method-values strong {
  display: block;

  margin-top: 17px;

  color: var(--white);

  font-family:
    var(--subtitle-font);

  font-size: 20px;
  font-weight: 400;

  text-transform: uppercase;
}

.about-method-values p {
  margin-top: 8px;

  color:
    rgba(255, 255, 255, 0.52);

  font-size: 12px;
  line-height: 1.6;
}


/* =========================================================
   IDAHO
========================================================= */

.about-local-section {
  background:
    var(--white);
}

.about-local-card {
  position: relative;

  min-height: 470px;

  display: flex;
  flex-direction: column;

  justify-content: flex-end;

  padding: 42px;

  border-radius:
    var(--radius-large);

  background:
    radial-gradient(
      circle at 70% 25%,
      rgba(6, 154, 222, 0.27),
      transparent 32%
    ),
    var(--olive);

  overflow: hidden;
}

.about-local-card > span {
  color:
    rgba(250, 250, 234, 0.55);

  font-family:
    var(--subheading-font);

  font-size: 12px;

  letter-spacing: 0.13em;
}

.about-local-card > strong {
  margin-top: 8px;

  color: var(--cream);

  font-family:
    var(--title-font);

  font-size:
    clamp(53px, 6vw, 78px);

  font-weight: 400;

  line-height: 0.95;

  text-transform: uppercase;
}

.about-local-card p {
  margin-top: 6px;

  color:
    rgba(250, 250, 234, 0.60);

  font-size: 12px;
}

.about-local-mark {
  position: absolute;

  right: 35px;
  top: 35px;

  width: 75px;
  height: 75px;

  display: grid;
  place-items: center;

  border-radius: 50%;

  background: var(--blue);

  color: var(--white);

  font-family:
    var(--title-font);

  font-size: 26px;

  box-shadow:
    0 0 0 13px rgba(6, 154, 222, 0.13);
}


/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 1100px) {

  .about-belief-grid {
    grid-template-columns:
      repeat(3, 1fr);
  }

}


@media (max-width: 1000px) {

  .about-method-panel {
    grid-template-columns: 1fr;
  }

  .about-core-grid {
    grid-template-columns:
      repeat(3, 1fr);
  }

}


@media (max-width: 700px) {

  .about-brand-panel {
    min-height: 460px;

    padding: 35px;
  }

  .about-core-grid,
  .about-belief-grid,
  .about-method-values {
    grid-template-columns: 1fr;
  }

  .about-core-item,
  .about-core-item:first-child {
    min-height: 0;

    padding: 28px 0;

    border-right: 0;

    border-top:
      1px solid var(--border);
  }

  .about-core-item:first-child {
    border-top: 0;
  }

  .about-founder-card {
    min-height: 470px;

    padding: 35px;
  }

  .about-belief-card {
    min-height: 260px;
  }

  .about-method-panel {
    padding: 38px 27px;
  }

  .about-local-card {
    min-height: 400px;

    padding: 32px;
  }

}

/* =========================================================
   CONTACT PAGE
========================================================= */


/* =========================================================
   HERO
========================================================= */

.contact-hero-copy {
  max-width: 720px;
}

.contact-hero-quick {
  display: grid;

  grid-template-columns:
    repeat(2, minmax(0, 1fr));

  gap: 16px;

  max-width: 610px;

  margin-top: 45px;
}

.contact-hero-quick > div {
  padding-top: 16px;

  border-top:
    1px solid var(--border);
}

.contact-hero-quick strong {
  display: block;

  color: var(--navy);

  font-family:
    var(--subheading-font);

  font-size: 12px;

  text-transform: uppercase;
}

.contact-hero-quick a {
  display: block;

  margin-top: 6px;

  color: var(--blue);

  font-size: 13px;
  font-weight: 700;

  overflow-wrap: anywhere;
}


/* =========================================================
   HERO CONTACT CARD
========================================================= */

.contact-hero-card {
  position: relative;

  min-height: 580px;

  display: flex;
  flex-direction: column;
  justify-content: center;

  padding:
    clamp(38px, 6vw, 60px);

  border-radius:
    var(--radius-large);

  background:
    var(--navy);

  overflow: hidden;

  box-shadow:
    var(--shadow);
}

.contact-hero-card::before {
  content: "";

  position: absolute;

  width: 430px;
  height: 430px;

  right: -230px;
  top: -220px;

  border-radius: 50%;

  background:
    rgba(6, 154, 222, 0.16);
}

.contact-hero-card::after {
  content: "";

  position: absolute;

  width: 270px;
  height: 270px;

  left: -170px;
  bottom: -170px;

  border:
    1px solid
    rgba(255, 255, 255, 0.08);

  border-radius: 50%;
}

.contact-hero-card h2 {
  position: relative;

  z-index: 2;

  margin-top: 20px;

  color: var(--white);

  font-family:
    var(--title-font);

  font-size:
    clamp(55px, 6vw, 80px);

  font-weight: 400;

  line-height: 0.90;

  text-transform: uppercase;
}

.contact-hero-card-copy {
  position: relative;

  z-index: 2;

  max-width: 420px;

  margin-top: 21px;

  color:
    rgba(255, 255, 255, 0.58);

  font-size: 14px;

  line-height: 1.65;
}


/* =========================================================
   HERO CONTACT LIST
========================================================= */

.contact-hero-list {
  position: relative;

  z-index: 2;

  display: grid;

  margin-top: 35px;

  border-top:
    1px solid
    rgba(255, 255, 255, 0.12);
}

.contact-hero-list > a,
.contact-hero-list > div {
  display: grid;

  grid-template-columns:
    auto 1fr auto;

  align-items: center;

  gap: 15px;

  padding: 16px 0;

  border-bottom:
    1px solid
    rgba(255, 255, 255, 0.10);

  transition:
    padding-left 0.2s ease;
}

.contact-hero-list > a:hover {
  padding-left: 5px;
}

.contact-hero-icon {
  display: grid;

  place-items: center;

  min-width: 42px;
  height: 42px;

  padding: 0 9px;

  border-radius: 12px;

  background:
    rgba(6, 154, 222, 0.15);

  color:
    #76D3F6;

  font-family:
    var(--subheading-font);

  font-size: 10px;
  font-weight: 700;
}

.contact-hero-list a > div:nth-child(2),
.contact-hero-list > div > div:nth-child(2) {
  display: flex;
  flex-direction: column;

  min-width: 0;
}

.contact-hero-list span {
  color:
    rgba(255, 255, 255, 0.48);

  font-size: 10px;

  text-transform: uppercase;
}

.contact-hero-list strong {
  margin-top: 3px;

  color: var(--white);

  font-size: 13px;

  overflow-wrap: anywhere;
}

.contact-hero-list b {
  color: #75D2F5;

  font-size: 18px;
}


/* =========================================================
   HERO BRAND LINE
========================================================= */

.contact-hero-message {
  position: relative;

  z-index: 2;

  display: flex;
  flex-wrap: wrap;

  gap: 14px;

  margin-top: 30px;
}

.contact-hero-message span {
  color:
    rgba(255, 255, 255, 0.34);

  font-family:
    var(--subheading-font);

  font-size: 10px;

  letter-spacing: 0.13em;
}


/* =========================================================
   INTRO SECTION
========================================================= */

.contact-intro-section {
  background:
    var(--white);
}


/* =========================================================
   FORM SECTION
========================================================= */

.contact-form-section {
  background:
    var(--cream);
}

.contact-page-grid {
  display: grid;

  grid-template-columns:
    minmax(0, 1.12fr)
    minmax(330px, 0.72fr);

  align-items: start;

  gap:
    clamp(45px, 7vw, 85px);
}

.contact-form-intro {
  max-width: 630px;

  margin-top: 22px;

  font-size: 16px;

  line-height: 1.7;
}


/* =========================================================
   LEADCONNECTOR FORM
========================================================= */

.contact-embed-wrap {
  width: 100%;

  min-height: 925px;

  margin-top: 35px;

  overflow: hidden;

  border:
    1px solid var(--border);

  border-radius: 20px;

  background:
    var(--white);

  box-shadow:
    0 20px 55px
    rgba(0, 36, 53, 0.07);
}

.contact-embed-wrap iframe {
  display: block;

  width: 100%;

  min-height: 925px;

  border: 0;
}


/* =========================================================
   WHAT HAPPENS NEXT
========================================================= */

.contact-next-card {
  position: sticky;

  top: 115px;

  padding: 34px;

  border:
    1px solid var(--border);

  border-radius:
    var(--radius-large);

  background:
    var(--white);

  box-shadow:
    var(--shadow-small);
}

.contact-next-card h3 {
  margin-top: 18px;

  color:
    var(--navy);

  font-family:
    var(--subtitle-font);

  font-size: 32px;
  font-weight: 400;

  line-height: 1.05;

  text-transform: uppercase;
}

.contact-next-intro {
  margin-top: 15px;

  font-size: 14px;

  line-height: 1.65;
}

.contact-next-list {
  display: grid;

  margin-top: 30px;

  border-top:
    1px solid var(--border);
}

.contact-next-list > div {
  display: grid;

  grid-template-columns:
    auto 1fr;

  gap: 15px;

  padding: 20px 0;

  border-bottom:
    1px solid var(--border);
}

.contact-next-list > div > span {
  color:
    rgba(0, 36, 53, 0.18);

  font-family:
    var(--title-font);

  font-size: 33px;

  line-height: 1;
}

.contact-next-list strong {
  color:
    var(--navy);

  font-family:
    var(--subheading-font);

  font-size: 14px;

  text-transform: uppercase;
}

.contact-next-list p {
  margin-top: 5px;

  font-size: 12px;

  line-height: 1.55;
}

.contact-text-button {
  width: 100%;

  margin-top: 28px;
}


/* =========================================================
   CONTACT OPTIONS
========================================================= */

.contact-options-section {
  background:
    var(--white);
}

.contact-options-grid {
  display: grid;

  grid-template-columns:
    repeat(3, 1fr);

  gap: 18px;
}

.contact-option-card {
  min-height: 315px;

  display: flex;
  flex-direction: column;

  padding: 30px;

  border:
    1px solid var(--border);

  border-radius:
    var(--radius);

  background:
    var(--white);

  transition:
    transform 0.3s ease,
    border-color 0.3s ease,
    box-shadow 0.3s ease;
}

.contact-option-card:hover {
  transform:
    translateY(-6px);

  border-color:
    rgba(6, 154, 222, 0.25);

  box-shadow:
    var(--shadow-small);
}

.contact-option-card > span {
  color:
    rgba(0, 36, 53, 0.16);

  font-family:
    var(--title-font);

  font-size: 44px;
}

.contact-option-card h3 {
  margin-top: 35px;

  color:
    var(--navy);

  font-family:
    var(--subtitle-font);

  font-size: 30px;
  font-weight: 400;

  text-transform: uppercase;
}

.contact-option-card p {
  margin-top: 12px;

  font-size: 14px;

  line-height: 1.65;
}

.contact-option-card strong {
  margin-top: auto;

  padding-top: 30px;

  color:
    var(--blue);

  font-size: 12px;
}


/* =========================================================
   WHY CONTACT SC SOLUTIONS
========================================================= */

.contact-why-section {
  background:
    var(--cream);
}

.contact-why-panel {
  display: grid;

  grid-template-columns:
    1.05fr
    0.95fr;

  gap:
    clamp(50px, 7vw, 90px);

  padding:
    clamp(45px, 6vw, 75px);

  border-radius:
    var(--radius-large);

  background:
    var(--navy);

  overflow: hidden;
}

.contact-why-copy
.section-title {
  color:
    var(--white);
}

.contact-why-copy p {
  margin-top: 18px;

  color:
    rgba(255, 255, 255, 0.62);

  line-height: 1.7;
}

.contact-values {
  display: grid;

  grid-template-columns:
    repeat(2, 1fr);

  gap: 20px;
}

.contact-values > div {
  padding-top: 17px;

  border-top:
    1px solid
    rgba(255, 255, 255, 0.13);
}

.contact-values span {
  color:
    #74D1F5;

  font-family:
    var(--subheading-font);

  font-size: 11px;

  letter-spacing: 0.10em;
}

.contact-values strong {
  display: block;

  margin-top: 17px;

  color:
    var(--white);

  font-family:
    var(--subtitle-font);

  font-size: 20px;
  font-weight: 400;

  text-transform: uppercase;
}

.contact-values p {
  margin-top: 8px;

  color:
    rgba(255, 255, 255, 0.52);

  font-size: 12px;

  line-height: 1.6;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1000px) {

  .contact-page-grid {
    grid-template-columns:
      1fr;
  }

  .contact-next-card {
    position: relative;

    top: auto;
  }

  .contact-why-panel {
    grid-template-columns:
      1fr;
  }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 700px) {

  .contact-hero-quick {
    grid-template-columns:
      1fr;
  }

  .contact-hero-card {
    min-height: 520px;

    padding:
      34px 26px;
  }

  .contact-hero-card h2 {
    font-size:
      clamp(50px, 14vw, 70px);
  }

  .contact-hero-list strong {
    overflow-wrap:
      anywhere;
  }

  .contact-embed-wrap {
    min-height: 1000px;

    margin-top: 28px;

    border-radius: 15px;
  }

  .contact-embed-wrap iframe {
    min-height: 1000px;
  }

  .contact-next-card {
    padding:
      28px 24px;
  }

  .contact-options-grid,
  .contact-values {
    grid-template-columns:
      1fr;
  }

  .contact-option-card {
    min-height: 265px;
  }

  .contact-why-panel {
    padding:
      38px 27px;
  }

}

/* =========================================================
   CONTACT PAGE
========================================================= */


/* =========================================================
   HERO
========================================================= */

.contact-hero-copy {
  max-width: 720px;
}

.contact-hero-quick {
  display: grid;

  grid-template-columns:
    repeat(2, minmax(0, 1fr));

  gap: 16px;

  max-width: 610px;

  margin-top: 45px;
}

.contact-hero-quick > div {
  padding-top: 16px;

  border-top:
    1px solid var(--border);
}

.contact-hero-quick strong {
  display: block;

  color: var(--navy);

  font-family:
    var(--subheading-font);

  font-size: 12px;

  text-transform: uppercase;
}

.contact-hero-quick a {
  display: block;

  margin-top: 6px;

  color: var(--blue);

  font-size: 13px;
  font-weight: 700;

  overflow-wrap: anywhere;
}


/* =========================================================
   HERO CONTACT CARD
========================================================= */

.contact-hero-card {
  position: relative;

  min-height: 580px;

  display: flex;
  flex-direction: column;
  justify-content: center;

  padding:
    clamp(38px, 6vw, 60px);

  border-radius:
    var(--radius-large);

  background:
    var(--navy);

  overflow: hidden;

  box-shadow:
    var(--shadow);
}

.contact-hero-card::before {
  content: "";

  position: absolute;

  width: 430px;
  height: 430px;

  right: -230px;
  top: -220px;

  border-radius: 50%;

  background:
    rgba(6, 154, 222, 0.16);
}

.contact-hero-card::after {
  content: "";

  position: absolute;

  width: 270px;
  height: 270px;

  left: -170px;
  bottom: -170px;

  border:
    1px solid
    rgba(255, 255, 255, 0.08);

  border-radius: 50%;
}

.contact-hero-card h2 {
  position: relative;

  z-index: 2;

  margin-top: 20px;

  color: var(--white);

  font-family:
    var(--title-font);

  font-size:
    clamp(55px, 6vw, 80px);

  font-weight: 400;

  line-height: 0.90;

  text-transform: uppercase;
}

.contact-hero-card-copy {
  position: relative;

  z-index: 2;

  max-width: 420px;

  margin-top: 21px;

  color:
    rgba(255, 255, 255, 0.58);

  font-size: 14px;

  line-height: 1.65;
}


/* =========================================================
   HERO CONTACT LIST
========================================================= */

.contact-hero-list {
  position: relative;

  z-index: 2;

  display: grid;

  margin-top: 35px;

  border-top:
    1px solid
    rgba(255, 255, 255, 0.12);
}

.contact-hero-list > a,
.contact-hero-list > div {
  display: grid;

  grid-template-columns:
    auto 1fr auto;

  align-items: center;

  gap: 15px;

  padding: 16px 0;

  border-bottom:
    1px solid
    rgba(255, 255, 255, 0.10);

  transition:
    padding-left 0.2s ease;
}

.contact-hero-list > a:hover {
  padding-left: 5px;
}

.contact-hero-icon {
  display: grid;

  place-items: center;

  min-width: 42px;
  height: 42px;

  padding: 0 9px;

  border-radius: 12px;

  background:
    rgba(6, 154, 222, 0.15);

  color:
    #76D3F6;

  font-family:
    var(--subheading-font);

  font-size: 10px;
  font-weight: 700;
}

.contact-hero-list a > div:nth-child(2),
.contact-hero-list > div > div:nth-child(2) {
  display: flex;
  flex-direction: column;

  min-width: 0;
}

.contact-hero-list span {
  color:
    rgba(255, 255, 255, 0.48);

  font-size: 10px;

  text-transform: uppercase;
}

.contact-hero-list strong {
  margin-top: 3px;

  color: var(--white);

  font-size: 13px;

  overflow-wrap: anywhere;
}

.contact-hero-list b {
  color: #75D2F5;

  font-size: 18px;
}


/* =========================================================
   HERO BRAND LINE
========================================================= */

.contact-hero-message {
  position: relative;

  z-index: 2;

  display: flex;
  flex-wrap: wrap;

  gap: 14px;

  margin-top: 30px;
}

.contact-hero-message span {
  color:
    rgba(255, 255, 255, 0.34);

  font-family:
    var(--subheading-font);

  font-size: 10px;

  letter-spacing: 0.13em;
}


/* =========================================================
   BOOKING SECTION
========================================================= */

.booking-section {
  background:
    var(--white);

  scroll-margin-top: 110px;
}

.booking-section .section-intro {
  max-width: 760px;

  margin-left: auto;
  margin-right: auto;

  margin-bottom: 45px;
}


/* =========================================================
   GHL BOOKING CALENDAR
========================================================= */

.booking-embed-wrap {
  width: 100%;

  max-width: 1080px;

  margin: 0 auto;

  padding: 18px;

  border:
    1px solid var(--border);

  border-radius:
    var(--radius-large);

  background:
    var(--white);

  box-shadow:
    0 20px 60px
    rgba(0, 36, 53, 0.08);

  overflow: hidden;
}

.booking-embed-wrap iframe {
  display: block;

  width: 100%;

  min-height: 760px;

  border: 0;
}


/* =========================================================
   FORM SECTION
========================================================= */

.contact-form-section {
  background:
    var(--cream);

  scroll-margin-top: 110px;
}

.contact-page-grid {
  display: grid;

  grid-template-columns:
    minmax(0, 1.12fr)
    minmax(330px, 0.72fr);

  align-items: start;

  gap:
    clamp(45px, 7vw, 85px);
}

.contact-form-intro {
  max-width: 630px;

  margin-top: 22px;

  font-size: 16px;

  line-height: 1.7;
}


/* =========================================================
   GHL CONTACT FORM
========================================================= */

.contact-embed-wrap {
  width: 100%;

  min-height: 925px;

  margin-top: 35px;

  overflow: hidden;

  border:
    1px solid var(--border);

  border-radius: 20px;

  background:
    var(--white);

  box-shadow:
    0 20px 55px
    rgba(0, 36, 53, 0.07);
}

.contact-embed-wrap iframe {
  display: block;

  width: 100%;

  min-height: 925px;

  border: 0;
}


/* =========================================================
   WHAT HAPPENS NEXT
========================================================= */

.contact-next-card {
  position: sticky;

  top: 115px;

  padding: 34px;

  border:
    1px solid var(--border);

  border-radius:
    var(--radius-large);

  background:
    var(--white);

  box-shadow:
    var(--shadow-small);
}

.contact-next-card h3 {
  margin-top: 18px;

  color:
    var(--navy);

  font-family:
    var(--subtitle-font);

  font-size: 32px;
  font-weight: 400;

  line-height: 1.05;

  text-transform: uppercase;
}

.contact-next-intro {
  margin-top: 15px;

  font-size: 14px;

  line-height: 1.65;
}

.contact-next-list {
  display: grid;

  margin-top: 30px;

  border-top:
    1px solid var(--border);
}

.contact-next-list > div {
  display: grid;

  grid-template-columns:
    auto 1fr;

  gap: 15px;

  padding: 20px 0;

  border-bottom:
    1px solid var(--border);
}

.contact-next-list > div > span {
  color:
    rgba(0, 36, 53, 0.18);

  font-family:
    var(--title-font);

  font-size: 33px;

  line-height: 1;
}

.contact-next-list strong {
  color:
    var(--navy);

  font-family:
    var(--subheading-font);

  font-size: 14px;

  text-transform: uppercase;
}

.contact-next-list p {
  margin-top: 5px;

  font-size: 12px;

  line-height: 1.55;
}

.contact-text-button {
  width: 100%;

  margin-top: 28px;
}


/* =========================================================
   CONTACT OPTIONS
========================================================= */

.contact-options-section {
  background:
    var(--white);
}

.contact-options-grid {
  display: grid;

  grid-template-columns:
    repeat(3, 1fr);

  gap: 18px;
}

.contact-option-card {
  min-height: 315px;

  display: flex;
  flex-direction: column;

  padding: 30px;

  border:
    1px solid var(--border);

  border-radius:
    var(--radius);

  background:
    var(--white);

  transition:
    transform 0.3s ease,
    border-color 0.3s ease,
    box-shadow 0.3s ease;
}

.contact-option-card:hover {
  transform:
    translateY(-6px);

  border-color:
    rgba(6, 154, 222, 0.25);

  box-shadow:
    var(--shadow-small);
}

.contact-option-card > span {
  color:
    rgba(0, 36, 53, 0.16);

  font-family:
    var(--title-font);

  font-size: 44px;
}

.contact-option-card h3 {
  margin-top: 35px;

  color:
    var(--navy);

  font-family:
    var(--subtitle-font);

  font-size: 30px;
  font-weight: 400;

  text-transform: uppercase;
}

.contact-option-card p {
  margin-top: 12px;

  font-size: 14px;

  line-height: 1.65;
}

.contact-option-card strong {
  margin-top: auto;

  padding-top: 30px;

  color:
    var(--blue);

  font-size: 12px;
}


/* =========================================================
   DARK CONTACT PANEL
========================================================= */

.contact-why-section {
  background:
    var(--cream);
}

.contact-why-panel {
  display: grid;

  grid-template-columns:
    1.05fr
    0.95fr;

  gap:
    clamp(50px, 7vw, 90px);

  padding:
    clamp(45px, 6vw, 75px);

  border-radius:
    var(--radius-large);

  background:
    var(--navy);

  overflow: hidden;
}

.contact-why-copy .section-title {
  color:
    var(--white);
}

.contact-why-copy p {
  margin-top: 18px;

  color:
    rgba(255, 255, 255, 0.62);

  line-height: 1.7;
}

.contact-values {
  display: grid;

  grid-template-columns:
    repeat(2, 1fr);

  gap: 20px;
}

.contact-values > div {
  padding-top: 17px;

  border-top:
    1px solid
    rgba(255, 255, 255, 0.13);
}

.contact-values span {
  color:
    #74D1F5;

  font-family:
    var(--subheading-font);

  font-size: 11px;

  letter-spacing: 0.10em;
}

.contact-values strong {
  display: block;

  margin-top: 17px;

  color:
    var(--white);

  font-family:
    var(--subtitle-font);

  font-size: 20px;
  font-weight: 400;

  text-transform: uppercase;
}

.contact-values p {
  margin-top: 8px;

  color:
    rgba(255, 255, 255, 0.52);

  font-size: 12px;

  line-height: 1.6;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1000px) {

  .contact-page-grid {
    grid-template-columns:
      1fr;
  }

  .contact-next-card {
    position: relative;

    top: auto;
  }

  .contact-why-panel {
    grid-template-columns:
      1fr;
  }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 700px) {

  .contact-hero-quick {
    grid-template-columns:
      1fr;
  }

  .contact-hero-card {
    min-height: 520px;

    padding:
      34px 26px;
  }

  .contact-hero-card h2 {
    font-size:
      clamp(50px, 14vw, 70px);
  }

  .contact-hero-list strong {
    overflow-wrap:
      anywhere;
  }


  /* BOOKING */

  .booking-section .section-intro {
    margin-bottom: 30px;
  }

  .booking-embed-wrap {
    padding: 7px;

    border-radius: 15px;
  }

  .booking-embed-wrap iframe {
    min-height: 850px;
  }


  /* CONTACT FORM */

  .contact-embed-wrap {
    min-height: 1000px;

    margin-top: 28px;

    border-radius: 15px;
  }

  .contact-embed-wrap iframe {
    min-height: 1000px;
  }


  /* NEXT STEPS */

  .contact-next-card {
    padding:
      28px 24px;
  }


  /* CONTACT OPTIONS */

  .contact-options-grid,
  .contact-values {
    grid-template-columns:
      1fr;
  }

  .contact-option-card {
    min-height: 265px;
  }


  /* DARK PANEL */

  .contact-why-panel {
    padding:
      38px 27px;
  }

}

/* =========================================================
   LEGAL / TRUST PAGES
========================================================= */


/* =========================================================
   HERO
========================================================= */

.legal-hero {
  padding:
    clamp(95px, 10vw, 150px)
    0
    clamp(75px, 8vw, 115px);

  background:
    radial-gradient(
      circle at 80% 20%,
      rgba(6, 154, 222, 0.11),
      transparent 30%
    ),
    var(--cream);
}

.legal-hero-inner {
  max-width: 920px;
}

.legal-title {
  margin-top: 18px;

  color: var(--navy);

  font-family:
    var(--title-font);

  font-size:
    clamp(65px, 8vw, 115px);

  font-weight: 400;

  line-height: 0.92;

  text-transform: uppercase;
}

.legal-lead {
  max-width: 750px;

  margin-top: 26px;

  color: var(--muted);

  font-size:
    clamp(17px, 2vw, 21px);

  line-height: 1.7;
}

.legal-meta {
  margin-top: 28px;

  color: var(--blue);

  font-family:
    var(--subheading-font);

  font-size: 11px;
  font-weight: 700;

  letter-spacing: 0.09em;

  text-transform: uppercase;
}


/* =========================================================
   CONTENT LAYOUT
========================================================= */

.legal-section {
  background: var(--white);
}

.legal-layout {
  display: grid;

  grid-template-columns:
    250px
    minmax(0, 780px);

  justify-content: center;

  align-items: start;

  gap:
    clamp(45px, 7vw, 90px);
}


/* =========================================================
   SIDEBAR
========================================================= */

.legal-sidebar {
  position: sticky;

  top: 120px;

  display: flex;

  flex-direction: column;

  align-items: flex-start;

  padding: 25px;

  border:
    1px solid var(--border);

  border-radius: 18px;

  background: var(--cream);
}

.legal-sidebar strong {
  color: var(--navy);

  font-family:
    var(--subtitle-font);

  font-size: 18px;
  font-weight: 400;

  text-transform: uppercase;
}

.legal-sidebar p {
  margin-top: 8px;

  font-size: 12px;
}

.legal-sidebar a {
  margin-top: 9px;

  color: var(--blue);

  font-size: 12px;

  overflow-wrap: anywhere;
}


/* =========================================================
   LEGAL CONTENT
========================================================= */

.legal-content {
  min-width: 0;
}

.legal-content section {
  padding:
    0 0 42px;

  margin-bottom: 42px;

  border-bottom:
    1px solid var(--border);
}

.legal-content section:last-child {
  margin-bottom: 0;

  border-bottom: 0;
}

.legal-content h2 {
  color: var(--navy);

  font-family:
    var(--subtitle-font);

  font-size:
    clamp(23px, 2.4vw, 31px);

  font-weight: 400;

  line-height: 1.15;

  text-transform: uppercase;
}

.legal-content p {
  margin-top: 15px;

  color: var(--muted);

  font-size: 15px;

  line-height: 1.8;
}

.legal-content ul {
  display: grid;

  gap: 9px;

  margin:
    18px 0 0 20px;

  color: var(--muted);

  font-size: 15px;

  line-height: 1.65;
}

.legal-content li::marker {
  color: var(--blue);
}


/* =========================================================
   CONTACT BOX
========================================================= */

.legal-contact-box {
  display: flex;

  flex-direction: column;

  align-items: flex-start;

  gap: 7px;

  margin-top: 20px;

  padding: 22px;

  border-radius: 16px;

  background: var(--cream);
}

.legal-contact-box strong {
  color: var(--navy);
}

.legal-contact-box span {
  color: var(--muted);

  font-size: 13px;
}

.legal-contact-box a {
  color: var(--blue);

  font-size: 13px;
}

.legal-inline-link {
  display: inline-block;

  margin-top: 18px;

  color: var(--blue);

  font-size: 14px;
  font-weight: 700;
}


/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 900px) {

  .legal-layout {
    grid-template-columns: 1fr;

    max-width: 800px;
  }

  .legal-sidebar {
    position: relative;

    top: auto;
  }

}


@media (max-width: 700px) {

  .legal-hero {
    padding:
      80px 0
      65px;
  }

  .legal-title {
    font-size:
      clamp(55px, 16vw, 80px);
  }

  .legal-content section {
    padding-bottom: 32px;

    margin-bottom: 32px;
  }

  .legal-sidebar {
    padding: 21px;
  }

}