/* ============================================
   Design Tokens
   ============================================ */
:root {
  --_colors---all--green: #222736;
  --_colors---all--pink: #A3B8CB;
  --_colors---all--white: #F2F2F0;
  --_colors---all--transparent: transparent;
  --_colors---all--green-75: color-mix(in hsl, var(--_colors---all--green) 75%, var(--_colors---all--green) 0%);
  --_colors---all--green-56: color-mix(in hsl, var(--_colors---all--green) 56%, var(--_colors---all--green) 0%);
  --_colors---all--green-16: color-mix(in hsl, var(--_colors---all--green) 16%, var(--_colors---all--green) 0%);
  --_colors---all--white-60: color-mix(in hsl, var(--_colors---all--white) 60%, var(--_colors---all--white) 0%);
  --_colors---all--white-24: rgba(242, 242, 240, 0.24);

  --background--primary: var(--_colors---all--white);
  --background--invert: var(--_colors---all--green);
  --background--brand: var(--_colors---all--pink);
  --background--border: var(--_colors---all--green-16);
  --background--invert-secondary: var(--_colors---all--green-75);
  --text--primary: var(--_colors---all--green);
  --text--secondary: var(--_colors---all--green-75);

  --button-primary--background: var(--_colors---all--pink);
  --button-primary--border: var(--_colors---all--pink);
  --button-primary--text: var(--_colors---all--green);
  --button-primary--background-hover: color-mix(in hsl, var(--_colors---all--pink) 85%, black);
  --button-secondary--border: var(--_colors---all--green);
  --button-secondary--background: transparent;
  --button-secondary--text: var(--text--primary);
  --button-secondary--background-hover: var(--_colors---all--green);
  --button-secondary--text-hover: var(--_colors---all--white);

  /* Typography */
  --font-primary: 'Helvetica Neue', Arial, sans-serif;
  --font-mono: 'Geist Mono', monospace;

  /* Spacing */
  --_layout---section--padding: clamp(5rem, 4.57vw + 3.89rem, 8rem);
  --_layout---columns--size: clamp(1rem, 0.76vw + 0.81rem, 1.5rem);
  --_layout---columns--gutter: calc(var(--_layout---columns--size) / 2);
  --_layout---columns--negative-gutter: calc(var(--_layout---columns--gutter) * -1);
  --_layout---container--width: calc(100% - var(--_layout---columns--size) * 2);
  --_layout---container--max-width: 90rem;
  --_fluid-spacing---24-20: clamp(1.25rem, 0.38vw + 1.16rem, 1.5rem);
  --_fluid-spacing---12-4: clamp(0.25rem, 0.76vw + 0.06rem, 0.75rem);

  --_custom---nav-height: 5rem;

  /* Spacing rems */
  --_spacing---rems--0-25rem: 0.25rem;
  --_spacing---rems--0-5rem: 0.5rem;
  --_spacing---rems--0-75rem: 0.75rem;
  --_spacing---rems--1rem: 1rem;
  --_spacing---rems--1-25rem: 1.25rem;
  --_spacing---rems--1-5rem: 1.5rem;
  --_spacing---rems--2rem: 2rem;
  --_spacing---rems--2-5rem: 2.5rem;
  --_spacing---rems--3rem: 3rem;
  --_spacing---rems--3-5rem: 3.5rem;
  --_spacing---rems--4rem: 4rem;
  --_spacing---rems--4-5rem: 4.5rem;
  --_spacing---rems--5rem: 5rem;
  --_spacing---rems--8rem: 8rem;

  /* Easing */
  --ease-out-circ: cubic-bezier(0, 0.55, 0.45, 1);

  /* Pill */
  --pill-bg: #A3B8CB;
  --pill-size: scale(1);
}

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

html {
  background-color: var(--background--primary);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  overscroll-behavior-y: none;
}
html.lenis, html.lenis body { height: auto; }

body {
  font-family: var(--font-primary);
  font-size: var(--_spacing---rems--1rem);
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0em;
  color: var(--text--primary);
  background-color: var(--background--primary);
  overflow-wrap: break-word;
  word-break: normal;
  hyphens: none;
}

::selection { background: var(--_colors---all--green); color: var(--_colors---all--white); }
a { color: inherit; text-decoration: none; }
a:not([class]) { text-decoration: underline; }
img { max-width: 100%; display: block; }
img::selection { background: transparent; }
svg { max-width: 100%; }
button { font: inherit; color: inherit; background: none; border: none; cursor: pointer; }
input, textarea, select {
  font: inherit;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border-radius: 0;
  background-image: none;
  caret-color: var(--text--primary);
}
ul { list-style: none; }

@media (hover: hover) {
  ::-webkit-scrollbar { display: none; height: 0; width: 0; }
}

section, header, footer, .page-main, .page-wrapper, .container { position: relative; }

/* ============================================
   Typography
   ============================================ */
h1, .h1 {
  font-family: var(--font-primary);
  font-size: clamp(2rem, 2.76vw + 1.33rem, 3.81rem);
  font-weight: 400;
  line-height: 1;
  letter-spacing: -0.02em;
  text-transform: uppercase;
  text-wrap: balance;
  margin: 0;
}

h2, .h2 {
  font-family: var(--font-primary);
  font-size: clamp(2rem, 1.52vw + 1.63rem, 3rem);
  font-weight: 400;
  line-height: 1.12;
  letter-spacing: -0.02em;
  text-wrap: balance;
  margin: 0;
}

h3, .h3 {
  font-family: var(--font-primary);
  font-size: clamp(1.75rem, 1.05vw + 1.49rem, 2.44rem);
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: -0.01em;
  text-wrap: balance;
  margin: 0;
}

.h4 {
  font-family: var(--font-primary);
  font-size: clamp(1.5rem, 0.67vw + 1.34rem, 1.94rem);
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: 0em;
  text-wrap: balance;
  margin: 0;
}

.h5 {
  font-family: var(--font-primary);
  font-size: clamp(1.25rem, 0.48vw + 1.13rem, 1.56rem);
  font-weight: 400;
  line-height: 1.5;
  margin: 0;
}

.h6 {
  font-family: var(--font-primary);
  font-size: clamp(1.12rem, 0.19vw + 1.08rem, 1.25rem);
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0em;
  text-wrap: balance;
  margin: 0;
}

.eyebrow {
  font-family: var(--font-mono);
  font-size: 0.8125rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  text-wrap: pretty;
  margin: 0;
}

.p-20 {
  font-family: var(--font-primary);
  font-size: var(--_spacing---rems--1-25rem);
  font-weight: 400;
  line-height: 1.5;
  text-wrap: pretty;
  margin: 0;
}

/* ============================================
   Layout System
   ============================================ */
.section {
  padding-top: var(--_layout---section--padding);
  padding-bottom: var(--_layout---section--padding);
}

.container {
  width: var(--_layout---container--width);
  max-width: var(--_layout---container--max-width);
  margin-left: auto;
  margin-right: auto;
}

.row {
  display: flex;
  flex-wrap: wrap;
  margin-right: var(--_layout---columns--negative-gutter);
  margin-left: var(--_layout---columns--negative-gutter);
}
.row.row-right { justify-content: flex-end; }
.row.row-between { justify-content: space-between; }
.row.u-vgap-40 { row-gap: var(--_spacing---rems--2-5rem); }
.row.u-vgap-64 { row-gap: var(--_spacing---rems--4rem); }

.col {
  padding-right: var(--_layout---columns--gutter);
  padding-left: var(--_layout---columns--gutter);
  flex: 1;
}
.col.col-lg-1 { flex-basis: 8.33%; max-width: 8.333%; }
.col.col-lg-2 { flex-basis: 16.67%; max-width: 16.667%; }
.col.col-lg-3 { flex-basis: 25%; max-width: 25%; }
.col.col-lg-4 { flex-basis: 33.33%; max-width: 33.333%; }
.col.col-lg-5 { flex-basis: 41.67%; max-width: 41.667%; }
.col.col-lg-6 { flex-basis: 50%; max-width: 50%; }
.col.col-lg-7 { flex-basis: 58.33%; max-width: 58.333%; }
.col.col-lg-8 { flex-basis: 66.67%; max-width: 66.667%; }
.col.col-lg-9 { flex-basis: 75%; max-width: 75%; }
.col.col-lg-10 { flex-basis: 83.33%; max-width: 83.333%; }
.col.col-lg-11 { flex-basis: 91.67%; max-width: 91.667%; }
.col.col-lg-12 { flex-basis: 100%; max-width: 100%; }

/* ============================================
   Utility Classes
   ============================================ */
.u-bg-brand { background-color: var(--_colors---all--pink); }
.u-bg-invert { background-color: var(--background--invert); }
.u-bg-border { background-color: var(--background--border); }
.u-color-brand { color: var(--_colors---all--pink); }
.u-color-primary { color: var(--_colors---all--green); }
.u-color-secondary { color: var(--text--secondary); }
.u-align-right { text-align: right; }
.u-align-center { text-align: center; }
.u-h-100 { height: 100%; }
.u-overflow-hidden { overflow: hidden; }
.u-radius-lg { border-radius: var(--_fluid-spacing---24-20); }
.u-radius-md { border-radius: clamp(0.25rem, 0.76vw + 0.06rem, 0.75rem); }
.u-radius-sm { border-radius: var(--_spacing---rems--0-25rem); }
.u-circle { clip-path: circle(50%); }
.u-border { width: 100%; height: 1px; }

.u-theme-dark {
  background-color: var(--_colors---all--green);
  color: var(--_colors---all--white);
  --background--primary: var(--_colors---all--green);
  --text--primary: var(--_colors---all--white);
  --text--secondary: var(--_colors---all--white-60);
  --background--border: var(--_colors---all--white-24);
  --background--invert: var(--_colors---all--white);
  --background--invert-secondary: var(--_colors---all--white-60);
  --background--brand: var(--_colors---all--pink);
}

/* Explanation pill */
.explanation_pill {
  position: relative;
  z-index: 1;
}
.explanation_pill::before {
  content: '';
  position: absolute;
  background: var(--pill-bg);
  transform: var(--pill-size);
  border-radius: 8rem;
  inset: -0.15em -0.3em;
  z-index: -1;
}

/* ============================================
   Buttons
   ============================================ */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--_spacing---rems--0-5rem);
  padding: var(--_spacing---rems--0-75rem) var(--_spacing---rems--1rem);
  border: 1px solid var(--button-primary--border);
  border-radius: 0.375rem;
  background-color: var(--button-primary--background);
  font-family: var(--font-mono);
  font-size: 0.8125rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  text-decoration: none;
  color: var(--button-primary--text);
  transition: color 0.3s, background-color 0.3s, border-color 0.3s, filter 0.3s;
  cursor: pointer;
  overflow: clip;
}
.btn span {
  display: inline-flex;
}
.btn:hover .char {
  transform: translateY(-1em);
}

.char-wrap {
  display: inline-block;
  overflow: clip;
}
.char {
  display: inline-block;
  text-shadow: 0 1em 0 currentColor;
  transition: transform 0.4s cubic-bezier(0.075, 0.82, 0.165, 1);
  will-change: transform;
}
.btn:hover {
  background-color: var(--button-primary--background-hover);
  border-color: var(--button-primary--background-hover);
  filter: brightness(0.85) saturate(2.5);
}
.btn.cc-primary {
  background-color: var(--button-primary--background);
  border-color: var(--button-primary--border);
  color: var(--button-primary--text);
}
.btn.cc-secondary {
  border-color: var(--button-secondary--border);
  background-color: var(--button-secondary--background);
  color: var(--button-secondary--text);
}
.btn.cc-secondary:hover {
  background-color: var(--button-secondary--background-hover);
  color: var(--button-secondary--text-hover);
}
.btn.cc-nav {
  background-color: transparent;
  color: var(--_colors---all--pink);
  border-color: var(--_colors---all--pink);
  transition: background-color 0.3s cubic-bezier(0.075, 0.82, 0.165, 1), border-color 0.3s, color 0.3s;
}
.btn.cc-nav:hover {
  background-color: var(--_colors---all--pink);
  color: var(--_colors---all--white);
}

/* ============================================
   Navigation
   ============================================ */
.page-wrapper {
  padding-top: 3rem;
}

.navigation {
  position: sticky;
  top: 3rem;
  z-index: 10;
}

.nav_layout {
  height: var(--_custom---nav-height);
  padding: 0 var(--_layout---columns--size);
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-radius: var(--_fluid-spacing---24-20);
  transition: background 0.4s, backdrop-filter 0.4s;
}

.nav_logo {
  font-family: var(--font-primary);
  font-size: 1rem;
  font-weight: 400;
  text-decoration: none;
  color: var(--_colors---all--white);
  transition: color 0.3s;
}

.nav_logo-mark {
  width: 2.25rem;
  height: 2.25rem;
  background-color: var(--_colors---all--pink);
  border-radius: 0.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-primary);
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--_colors---all--green);
  letter-spacing: -0.02em;
}

.nav_list {
  display: flex;
  align-items: center;
  gap: var(--_layout---columns--size);
  margin: 0;
  padding: 0;
}

.nav_list-item {
  margin: 0;
  line-height: 1;
}

.nav_link {
  font-family: var(--font-mono);
  font-size: 0.8125rem;
  font-weight: 400;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  text-decoration: none;
  color: var(--_colors---all--white);
  transition: color 0.3s, opacity 0.6s cubic-bezier(0.075, 0.82, 0.165, 1);
  overflow: clip;
}
.nav_link span {
  display: inline-flex;
}
.nav_link:hover .char {
  transform: translateY(-1em);
}

/* ============================================
   Hero
   ============================================ */
.hero-wrap {
  margin-top: calc(-1 * var(--_custom---nav-height));
}

.hero.section {
  padding-top: calc(var(--_custom---nav-height) + 0.75rem);
  padding-bottom: var(--_layout---columns--size);
  min-height: 80svh;
  display: flex;
  align-items: stretch;
}

.hero_inner {
  padding: var(--_layout---columns--size);
  border-radius: var(--_spacing---rems--0-25rem);
  background-color: var(--_colors---all--white);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: stretch;
  height: 100%;
}

.hero_inner-content {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
  gap: var(--_layout---columns--size);
}

.hero_top {
  padding: 0;
}

.hero_inner-grid {
  display: grid;
  grid-template-columns: 8fr 4fr;
  grid-template-rows: auto;
  gap: var(--_layout---columns--size);
  align-items: end;
  height: 100%;
}

.hero_pill {
  display: inline-block;
  background-color: var(--_colors---all--pink);
  border-radius: 8rem;
  padding: 0.06em 0.3em;
}

.hero_left {
  padding-bottom: var(--_layout---columns--size);
  display: flex;
  flex-direction: column;
}

.hero_right {
  padding: var(--_layout---columns--size);
}

.hero_right-content {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  gap: var(--_spacing---rems--2-5rem);
}

.hero_right-top {
  display: flex;
  flex-direction: column;
  gap: var(--_spacing---rems--1rem);
}

.hero_desc {
  font-size: 1rem;
  line-height: 1.6;
  color: var(--_colors---all--white);
}

/* ============================================
   Services / Full-funnel
   ============================================ */
.services_layout {
  display: flex;
  flex-direction: column;
  gap: var(--_spacing---rems--5rem);
}

.services_header {
  display: flex;
  flex-direction: column;
  gap: var(--_spacing---rems--0-75rem);
}

.funnel_item {
  display: flex;
  flex-direction: column;
  gap: var(--_spacing---rems--2-5rem);
}

.funnel_circle {
  width: var(--_spacing---rems--4rem);
  height: var(--_spacing---rems--4rem);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  aspect-ratio: 1;
  pointer-events: none;
  overflow: clip;
}
.funnel_circle .eyebrow { margin: 0; }

.funnel_text {
  display: flex;
  flex-direction: column;
  gap: var(--_spacing---rems--0-75rem);
}

/* ============================================
   Fractional Section
   ============================================ */
.fractional_content {
  display: flex;
  flex-direction: column;
  gap: var(--_spacing---rems--2-5rem);
}

/* ============================================
   About / Meet Section
   ============================================ */
.about.section {
  padding-top: var(--_layout---columns--size);
  padding-bottom: var(--_layout---columns--size);
}

.about_content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: var(--_spacing---rems--2-5rem);
  padding-top: var(--_spacing---rems--4-5rem);
  padding-bottom: var(--_spacing---rems--4-5rem);
  height: 100%;
}

.about_top {
  display: flex;
  flex-direction: column;
  gap: var(--_spacing---rems--0-75rem);
}

.about_bio {
  display: flex;
  flex-direction: column;
  gap: 1em;
}

.about_bio p {
  line-height: 1.6;
}

.about_image {
  height: 100%;
  border-radius: clamp(0.25rem, 0.76vw + 0.06rem, 0.75rem);
  overflow: hidden;
}

.about_image img,
.u-parallax-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* ============================================
   Contact Form
   ============================================ */
.contact_header {
  display: flex;
  flex-direction: column;
  gap: var(--_spacing---rems--0-75rem);
}

.form {
  display: flex;
  flex-direction: column;
  gap: var(--_spacing---rems--2rem);
  width: 100%;
}

.input-group {
  display: flex;
  flex-direction: column;
}

.input-label {
  font-family: var(--font-mono);
  font-size: 0.8125rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  margin-bottom: var(--_spacing---rems--0-25rem);
  z-index: 1;
}

.input {
  min-height: var(--_spacing---rems--3rem);
  padding: var(--_spacing---rems--0-75rem) 0;
  border: none;
  border-bottom: 1px solid var(--background--border);
  background-color: transparent;
  color: var(--text--primary);
  font-family: var(--font-primary);
  font-size: var(--_spacing---rems--1rem);
  line-height: 1;
  font-weight: 400;
  width: 100%;
  transition: color 0.3s, background-color 0.3s, border-color 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
}
.input:focus {
  outline: none;
  border-bottom-color: var(--_colors---all--pink);
}
.input::placeholder {
  color: var(--text--secondary);
}

.input.cc-select {
  background-image: url("data:image/svg+xml,%3Csvg width='48' height='48' viewBox='0 0 48 48' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M18 21L24 27L30 21' stroke='%231A1E2E' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-position: right center;
  background-repeat: no-repeat;
  background-size: 3rem;
}

.input.cc-textarea {
  min-height: var(--_spacing---rems--8rem);
  line-height: 1.6;
  resize: vertical;
  field-sizing: content;
}

.form .btn { align-self: flex-start; }

.form-wrapper {
  position: relative;
}

.form-success {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: var(--_spacing---rems--0-75rem);
  text-align: center;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.6s ease;
}

.form-wrapper.is-submitted .form {
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.6s ease;
}

.form-wrapper.is-submitted .form-success {
  opacity: 1;
  pointer-events: auto;
}

/* ============================================
   FAQ
   ============================================ */
.faq.section {
  border-top-left-radius: var(--_fluid-spacing---24-20);
  border-top-right-radius: var(--_fluid-spacing---24-20);
}

.faq_header {
  display: flex;
  flex-direction: column;
  gap: var(--_spacing---rems--0-75rem);
}

.faq_list {
  display: flex;
  flex-direction: column;
}

.faq_item {
  position: relative;
  border-bottom: 1px solid rgba(255, 255, 255, 0.15);
  transition: border-color 0.6s var(--ease-out-circ);
}
.faq_item[data-accordion-status="active"] {
  border-color: rgba(255, 255, 255, 0.5);
}

.faq_top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: var(--_spacing---rems--1-5rem) 0;
  width: 100%;
  text-align: left;
  cursor: pointer;
  gap: 1rem;
}

.faq_btn {
  flex-shrink: 0;
  width: var(--_spacing---rems--1-5rem);
  height: var(--_spacing---rems--1-5rem);
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--background--border);
  border-radius: 50%;
  transition: border-color 0.6s var(--ease-out-circ);
  color: var(--text--primary);
}
.faq_btn svg path {
  transition: transform 0.6s var(--ease-out-circ);
  transform-origin: center center;
}

.faq_bottom {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.6s var(--ease-out-circ);
}
.faq_bottom > * { overflow: hidden; }

.faq_bottom-wrapper {
  padding-bottom: var(--_spacing---rems--1-5rem);
}

[data-accordion-status="active"] .faq_btn svg path {
  transform: rotate(45deg);
}
[data-accordion-status="active"] .faq_bottom {
  grid-template-rows: 1fr;
}
[data-accordion-status="active"] .faq_btn {
  border-color: var(--background--invert-secondary);
}
[data-accordion-status="active"] .faq_border {
  transform: translateX(0%);
}

.faq_item .faq_top:hover .faq_btn {
  border-color: var(--background--invert-secondary);
}

.u-border {
  display: none;
}

.faq_border {
  display: none;
}

/* ============================================
   Brands Marquee
   ============================================ */
.brands-section {
  padding-bottom: var(--_spacing---rems--3rem);
  overflow: hidden;
}

.brands-marquee {
  margin-top: var(--_spacing---rems--2-5rem);
  overflow: hidden;
  mask-image: linear-gradient(to right, transparent, black 10%, black 90%, transparent);
  -webkit-mask-image: linear-gradient(to right, transparent, black 10%, black 90%, transparent);
}

.brands-track {
  display: flex;
  gap: var(--_spacing---rems--4rem);
  width: max-content;
  animation: marquee 30s linear infinite;
}

.brand-name {
  font-family: var(--font-primary);
  font-size: clamp(1.25rem, 1vw + 1rem, 1.5rem);
  font-weight: 400;
  letter-spacing: -0.01em;
  color: var(--text--secondary);
  white-space: nowrap;
  flex-shrink: 0;
}

@keyframes marquee {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

/* ============================================
   Footer
   ============================================ */
.footer {
  padding-bottom: var(--_layout---columns--size);
}

.footer_layout {
  padding: var(--_layout---columns--size);
  display: flex;
  justify-content: space-between;
  align-items: center;
  background-color: var(--background--brand);
  border-bottom-left-radius: var(--_fluid-spacing---24-20);
  border-bottom-right-radius: var(--_fluid-spacing---24-20);
  gap: var(--_spacing---rems--0-75rem);
}

/* ============================================
   Noise overlay
   ============================================ */
.noise {
  display: none;
}

/* ============================================
   Animation initial states
   ============================================ */
[data-animate="heading"],
[data-animate="eyebrow"] {
  visibility: hidden;
}

[data-animate="heading"] {
  text-wrap: wrap !important;
}

.split-word {
  display: inline-block;
  white-space: nowrap;
}

.split-char {
  display: inline-block;
  will-change: transform, opacity, color;
}

.hero-wrap,
[data-animate="hero-outer"],
[data-animate="hero-inner"],
[data-animate="hero-left"],
[data-animate="hero-right"] {
  visibility: visible;
}

/* ============================================
   Responsive
   ============================================ */
@media screen and (max-width: 991px) {
  .col.col-md-6 { flex-basis: 50%; max-width: 50%; }
  .col.col-md-8 { flex-basis: 66.67%; max-width: 66.667%; }
  .col.col-md-10 { flex-basis: 83.33%; max-width: 83.333%; }

  .hero_inner-grid {
    grid-template-columns: 1fr;
  }
  .hero_right {
    max-width: 100%;
  }
}

@media screen and (max-width: 767px) {
  .col.col-sm-6 { flex-basis: 50%; max-width: 50%; }
  .col.col-sm-10 { flex-basis: 83.33%; max-width: 83.333%; }
  .col.col-sm-12 { flex-basis: 100%; max-width: 100%; }

  .hero_inner-grid {
    grid-template-columns: 1fr;
  }
}

@media screen and (max-width: 479px) {
  .col.col-xs-12 { flex-basis: 100%; max-width: 100%; }
}
