@tailwind base;
@tailwind components;
@tailwind utilities;

@layer base {
  :root {
    --background: 220 20% 97%;
    --foreground: 220 25% 10%;

    --card: 0 0% 100%;
    --card-foreground: 220 25% 10%;

    --popover: 0 0% 100%;
    --popover-foreground: 220 25% 10%;

    --primary: 160 84% 39%;
    --primary-foreground: 0 0% 100%;

    --secondary: 160 50% 95%;
    --secondary-foreground: 160 84% 25%;

    --muted: 220 15% 94%;
    --muted-foreground: 220 10% 45%;

    --accent: 32 95% 55%;
    --accent-foreground: 0 0% 100%;

    --destructive: 0 84.2% 60.2%;
    --destructive-foreground: 210 40% 98%;

    --border: 220 15% 90%;
    --input: 220 15% 90%;
    --ring: 160 84% 39%;

    --radius: 1rem;

    /* Enhanced custom tokens */
    --gradient-primary: linear-gradient(135deg, hsl(160 84% 39%) 0%, hsl(180 70% 35%) 50%, hsl(200 80% 40%) 100%);
    --gradient-hero: linear-gradient(135deg, hsl(160 84% 39%) 0%, hsl(170 75% 30%) 100%);
    --gradient-accent: linear-gradient(135deg, hsl(32 95% 55%) 0%, hsl(20 90% 50%) 100%);
    --gradient-dark: linear-gradient(135deg, hsl(220 25% 10%) 0%, hsl(220 30% 15%) 100%);
    --gradient-mesh: radial-gradient(at 40% 20%, hsl(160 84% 39% / 0.15) 0px, transparent 50%),
                     radial-gradient(at 80% 0%, hsl(200 80% 40% / 0.1) 0px, transparent 50%),
                     radial-gradient(at 0% 50%, hsl(32 95% 55% / 0.08) 0px, transparent 50%);
    
    --shadow-sm: 0 2px 8px -2px hsl(220 25% 10% / 0.08);
    --shadow-md: 0 8px 24px -8px hsl(220 25% 10% / 0.12);
    --shadow-lg: 0 16px 48px -12px hsl(220 25% 10% / 0.18);
    --shadow-glow: 0 0 60px hsl(160 84% 39% / 0.25);
    --shadow-glow-accent: 0 0 60px hsl(32 95% 55% / 0.25);

    --sidebar-background: 0 0% 98%;
    --sidebar-foreground: 240 5.3% 26.1%;
    --sidebar-primary: 240 5.9% 10%;
    --sidebar-primary-foreground: 0 0% 98%;
    --sidebar-accent: 240 4.8% 95.9%;
    --sidebar-accent-foreground: 240 5.9% 10%;
    --sidebar-border: 220 13% 91%;
    --sidebar-ring: 217.2 91.2% 59.8%;
  }

  .dark {
    --background: 220 25% 6%;
    --foreground: 0 0% 98%;

    --card: 220 25% 9%;
    --card-foreground: 0 0% 98%;

    --popover: 220 25% 9%;
    --popover-foreground: 0 0% 98%;

    --primary: 160 80% 45%;
    --primary-foreground: 0 0% 100%;

    --secondary: 160 30% 12%;
    --secondary-foreground: 160 80% 70%;

    --muted: 220 20% 14%;
    --muted-foreground: 220 10% 55%;

    --accent: 32 95% 58%;
    --accent-foreground: 0 0% 10%;

    --destructive: 0 62.8% 30.6%;
    --destructive-foreground: 210 40% 98%;

    --border: 220 20% 15%;
    --input: 220 20% 15%;
    --ring: 160 80% 45%;

    --sidebar-background: 240 5.9% 10%;
    --sidebar-foreground: 240 4.8% 95.9%;
    --sidebar-primary: 224.3 76.3% 48%;
    --sidebar-primary-foreground: 0 0% 100%;
    --sidebar-accent: 240 3.7% 15.9%;
    --sidebar-accent-foreground: 240 4.8% 95.9%;
    --sidebar-border: 240 3.7% 15.9%;
    --sidebar-ring: 217.2 91.2% 59.8%;
  }
}

@layer base {
  * {
    @apply border-border;
  }

  body {
    @apply bg-background text-foreground antialiased;
    font-family: 'Outfit', sans-serif;
  }

  h1, h2, h3, h4, h5, h6 {
    font-family: 'Space Grotesk', sans-serif;
    letter-spacing: -0.02em;
  }
}

@layer utilities {
  .text-gradient {
    @apply bg-clip-text text-transparent;
    background-image: var(--gradient-primary);
  }

  .text-gradient-accent {
    @apply bg-clip-text text-transparent;
    background-image: var(--gradient-accent);
  }

  .bg-hero-gradient {
    background: var(--gradient-hero);
  }

  .bg-gradient-primary {
    background: var(--gradient-primary);
  }

  .bg-gradient-dark {
    background: var(--gradient-dark);
  }

  .bg-mesh {
    background: var(--gradient-mesh);
  }

  .shadow-card {
    box-shadow: var(--shadow-md);
  }

  .shadow-card-hover {
    box-shadow: var(--shadow-lg);
  }

  .shadow-glow {
    box-shadow: var(--shadow-glow);
  }

  .shadow-glow-accent {
    box-shadow: var(--shadow-glow-accent);
  }

  .glass {
    @apply bg-card/80 backdrop-blur-xl border border-border/50;
  }

  .glass-dark {
    @apply bg-foreground/5 backdrop-blur-xl border border-foreground/10;
  }

  /* Animations */
  .animate-float {
    animation: float 6s ease-in-out infinite;
  }

  .animate-float-delayed {
    animation: float 6s ease-in-out infinite;
    animation-delay: -3s;
  }

  .animate-pulse-slow {
    animation: pulse-slow 4s ease-in-out infinite;
  }

  .animate-slide-up {
    animation: slide-up 0.6s ease-out forwards;
  }

  .animate-fade-in {
    animation: fade-in 0.8s ease-out forwards;
  }

  .animate-shimmer {
    animation: shimmer 2.5s linear infinite;
    background-size: 200% 100%;
  }

  .animate-gradient {
    animation: gradient 8s ease infinite;
    background-size: 200% 200%;
  }

  @keyframes float {
    0%, 100% { transform: translateY(0) rotate(0deg); }
    50% { transform: translateY(-15px) rotate(1deg); }
  }

  @keyframes pulse-slow {
    0%, 100% { opacity: 1; transform: scale(1); }
    50% { opacity: 0.85; transform: scale(1.03); }
  }

  @keyframes slide-up {
    from { opacity: 0; transform: translateY(40px); }
    to { opacity: 1; transform: translateY(0); }
  }

  @keyframes fade-in {
    from { opacity: 0; }
    to { opacity: 1; }
  }

  @keyframes shimmer {
    0% { background-position: -200% 0; }
    100% { background-position: 200% 0; }
  }

  @keyframes gradient {
    0%, 100% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
  }

  /* Noise texture overlay */
  .noise::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E");
    opacity: 0.03;
    pointer-events: none;
  }
}

/* ── Cashera (Webflow) brand fonts — shared by the homepage and /apply ── */
@font-face {
  font-family: 'Bagosscondensed';
  src: url('/webflow/fonts/BagossCondensed-SemiBold.woff2') format('woff2');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'InterCashera';
  src: url('/webflow/fonts/UcCo3FwrK3iLTcviYwYZ8UA3.woff2') format('woff2');
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Plus Jakarta Sans Cashera';
  src: url('./assets/fonts/plus-jakarta-sans-800.woff2') format('woff2');
  font-weight: 800;
  font-style: normal;
  font-display: swap;
}

/*
 * Scoped Webflow homepage theme. Applied to the /apply screens so the form
 * matches the new brand palette and typography without touching the tokens
 * used by the rest of the app.
 */
.apply-theme {
  --background: 190 17% 95%;          /* grey-90  #eff3f4 */
  --foreground: 189 93% 5%;           /* dark-90  #01161a */

  --card: 0 0% 100%;
  --card-foreground: 189 93% 5%;

  --popover: 0 0% 100%;
  --popover-foreground: 189 93% 5%;

  --primary: 189 93% 5%;              /* dark-90 */
  --primary-foreground: 0 0% 100%;

  --secondary: 130 33% 93%;           /* green-20 #e9f3eb */
  --secondary-foreground: 189 93% 5%;

  --muted: 187 24% 93%;               /* input    #e9f1f2 */
  --muted-foreground: 0 0% 46%;       /* grey-40  #767676 */

  --accent: 133 100% 67%;             /* green-50 #59ff83 */
  --accent-foreground: 189 93% 5%;

  --destructive: 0 94% 58%;           /* red-50   #f83333 */
  --destructive-foreground: 0 0% 100%;

  --border: 190 15% 91%;              /* grey-70  #e5ebec */
  --input: 190 13% 85%;               /* grey-60  #d5ddde */
  --ring: 189 93% 5%;

  --radius: 0.75rem;

  --shadow-md: 0 8px 24px -12px hsl(189 93% 5% / 0.14);
  --shadow-lg: 0 18px 44px -20px hsl(189 93% 5% / 0.22);

  background-color: hsl(var(--background));
  color: hsl(var(--foreground));
  font-family: 'InterCashera', Inter, Arial, sans-serif;
  letter-spacing: 0;
  -webkit-font-smoothing: antialiased;
}

.apply-theme :is(h1, h2, h3, h4, h5, h6),
.apply-theme .font-display {
  font-family: 'Bagosscondensed', Arial, sans-serif;
  font-weight: 600;
  letter-spacing: 0;
  text-transform: none;
}

.apply-theme h1 {
  line-height: 1.05;
}

/* Webflow uses square-ish, low-radius inputs with a soft tinted fill. */
.apply-theme input:not([type='checkbox']) {
  border-radius: 0.625rem;
  background-color: hsl(187 24% 96%);
}

.apply-theme input:not([type='checkbox']):focus-visible {
  background-color: hsl(0 0% 100%);
}

/* The Webflow stylesheets load last and reset button borders — restore them
   for shadcn controls rendered inside the themed apply screens. */
.apply-theme button[role='checkbox'] {
  border: 1px solid hsl(var(--foreground) / 0.35);
  border-radius: 0.25rem;
  background-color: hsl(0 0% 100%);
}

.apply-theme button[role='checkbox'][data-state='checked'] {
  background-color: hsl(var(--foreground));
  border-color: hsl(var(--foreground));
  color: hsl(var(--primary-foreground));
}

/* Webflow's reset strips button borders — restore them for outlined buttons. */
.apply-theme a > button.border,
.apply-theme button.border {
  border-width: 1px;
  border-style: solid;
}

/* Instant hero static image (replaces Lottie) */
.instant_hero_image {
  display: block;
  width: 100%;
  height: auto;
  max-width: none;
  border-radius: 24px;
  overflow: hidden;
}


/* Instant page review-platform lockup */
.instant_review_logos {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  margin-bottom: 2rem;
  color: hsl(var(--foreground));
}
.instant_review_brand {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  white-space: nowrap;
  font-family: 'InterCashera', sans-serif;
  font-size: 0.875rem;
  letter-spacing: 0;
}
.instant_review_divider {
  width: 1px;
  height: 1.5rem;
  background: hsl(var(--border));
}
@media (max-width: 479px) {
  .instant_review_logos { gap: 0.75rem; margin-bottom: 1.5rem; }
  .instant_review_brand { font-size: 0.75rem; }
}

/* Slimmer mobile nav pill so it doesn't cover the hero faces. */
@media (max-width: 479px) {
  .nav_component {
    --nav--height: 2.5rem;
    --nav--spacing-outer-vertical: 0.5rem;
  }

  .nav_mobile_layout {
    padding: 0.25rem 0.25rem 0.25rem 0.875rem;
    min-height: 2.75rem;
  }

  .nav_mobile_logo_wrap {
    max-width: 6.25rem;
  }

  .nav_mobile_cta_wrapper .button_main_element {
    padding: 0.4rem 0.85rem;
    font-size: 0.8125rem;
  }
}

/* Homepage hero: full-bleed image, reference-led copy and actions. */
.webflow-home .home-hero-overlay {
  position: relative;
  left: calc((100% - 100vw) / 2);
  display: block;
  width: 100vw;
  min-height: 100svh;
  padding: 0;
  isolation: isolate;
  overflow: hidden;
  background-color: var(--swatch--dark-90);
}

.webflow-home .home-hero-media,
.webflow-home .home-hero-media::after,
.webflow-home .home-hero-image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.webflow-home .home-hero-media {
  z-index: 0;
}

.webflow-home .home-hero-media::after {
  content: '';
  pointer-events: none;
  background: linear-gradient(
    90deg,
    color-mix(in srgb, var(--swatch--dark-90) 94%, transparent) 0%,
    color-mix(in srgb, var(--swatch--dark-90) 78%, transparent) 24%,
    color-mix(in srgb, var(--swatch--dark-90) 18%, transparent) 53%,
    transparent 72%
  );
}

.webflow-home .home-hero-image {
  object-fit: cover;
  object-position: 54% center;
}

.webflow-home .home-hero-content {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  width: min(100%, 90rem);
  min-height: 100svh;
  margin: 0 auto;
  padding: clamp(7rem, 12vh, 9rem) clamp(2rem, 5vw, 5rem) clamp(3rem, 7vh, 5rem);
}

.webflow-home .home-hero-copy {
  display: flex;
  width: min(36rem, 46vw);
  flex-direction: column;
  align-items: flex-start;
  gap: 1.5rem;
  color: var(--swatch--white);
}

.webflow-home .home-hero-copy .u-heading h1 {
  width: 100%;
  margin: 0;
  color: var(--swatch--white);
  font-family: 'Plus Jakarta Sans Cashera', 'InterCashera', sans-serif;
  font-size: clamp(3.75rem, 5.65vw, 5.75rem);
  font-weight: 800;
  line-height: 0.92;
  letter-spacing: 0;
  text-transform: uppercase;
  text-wrap: balance;
}

.webflow-home .home-hero-copy .u-heading {
  display: block;
  width: 100%;
  max-width: none;
}

.webflow-home .home-hero-copy .u-heading h1,
.webflow-home .home-hero-copy .u-heading .section_reveal_line {
  display: block !important;
  width: 100% !important;
}

.webflow-home .home-hero-copy .u-text {
  width: 100%;
  max-width: 29rem;
}

.webflow-home .home-hero-copy .u-text p {
  margin: 0;
  color: var(--swatch--white);
  font-size: clamp(0.95rem, 1.15vw, 1.125rem);
  line-height: 1.45;
  text-wrap: pretty;
}

.webflow-home .home-hero-actions {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.webflow-home .home-hero-button {
  flex: none;
}

.webflow-home .home-hero-button.is-secondary .button_main_element {
  border: 1px solid color-mix(in srgb, var(--swatch--dark-90) 12%, transparent);
  background: var(--swatch--white);
  color: var(--swatch--dark-90);
}

.webflow-home .home-hero-button.is-secondary .button_main_fill {
  background: color-mix(in srgb, var(--swatch--white) 86%, var(--swatch--green));
}

.webflow-home .home-hero-approval {
  position: absolute;
  z-index: 2;
  right: clamp(1.5rem, 5vw, 5rem);
  bottom: clamp(1.5rem, 5vh, 3.5rem);
  display: flex;
  min-width: 10.5rem;
  align-items: center;
  gap: 0.8rem;
  padding: 0.8rem 1.15rem;
  border-radius: 0.5rem;
  background: var(--swatch--white);
  color: var(--swatch--dark-90);
  box-shadow: 0 0.75rem 2rem color-mix(in srgb, var(--swatch--dark-90) 18%, transparent);
}

.webflow-home .home-hero-approval-icon {
  display: grid;
  width: 2rem;
  height: 2rem;
  flex: none;
  place-items: center;
  border-radius: 50%;
  background: var(--swatch--green-50);
  color: var(--swatch--dark-90);
}

.webflow-home .home-hero-approval-icon svg {
  width: 1.15rem;
  height: 1.15rem;
  stroke-width: 3;
}

.webflow-home .home-hero-approval-copy {
  display: flex;
  flex-direction: column;
  line-height: 1;
}

.webflow-home .home-hero-approval-copy span {
  font-size: 0.75rem;
}

.webflow-home .home-hero-approval-copy strong {
  margin-top: 0.2rem;
  font-family: 'Bagosscondensed', sans-serif;
  font-size: 1.8rem;
  letter-spacing: 0;
}

/* Keep the full benefit row in the initial desktop viewport at 100% zoom. */
@media (min-width: 992px) {
  .webflow-home .home-hero-overlay,
  .webflow-home .home-hero-content {
    min-height: max(35rem, calc(100svh - 7rem));
  }
}

@media (max-width: 991px) {
  .webflow-home .home-hero-media::after {
    background: linear-gradient(
      to bottom,
      color-mix(in srgb, var(--swatch--dark-90) 10%, transparent) 0%,
      color-mix(in srgb, var(--swatch--dark-90) 6%, transparent) 37%,
      color-mix(in srgb, var(--swatch--dark-90) 82%, transparent) 70%,
      var(--swatch--dark-90) 100%
    );
  }

  .webflow-home .home-hero-image {
    object-position: 61% center;
  }

  .webflow-home .home-hero-content {
    align-items: flex-end;
    padding: 5.5rem clamp(1.25rem, 5vw, 2.5rem) 3.25rem;
  }

  .webflow-home .home-hero-copy {
    width: min(30rem, 72%);
    gap: 1rem;
  }

  .webflow-home .home-hero-copy .u-heading h1 {
    font-size: clamp(3rem, 8vw, 4.5rem);
  }

  .webflow-home .home-hero-approval {
    right: 1.25rem;
    bottom: 3.25rem;
  }
}

@media (max-width: 600px) {
  .webflow-home .home-hero-overlay {
    min-height: auto;
    overflow: visible;
  }

  .webflow-home .home-hero-media {
    position: relative;
    height: 63.5svh;
    min-height: 30rem;
    max-height: 34rem;
  }

  .webflow-home .home-hero-image {
    object-position: 76% center;
  }

  .webflow-home .home-hero-media::after {
    background: linear-gradient(
      to bottom,
      transparent 0%,
      transparent 82%,
      color-mix(in srgb, var(--swatch--dark-90) 18%, transparent) 100%
    );
  }

  .webflow-home .home-hero-content {
    min-height: auto;
    padding: 3.25rem 2rem 2.5rem;
  }

  .webflow-home .home-hero-copy {
    width: 100%;
    padding-right: 0;
    gap: 0.8rem;
  }

  .webflow-home .home-hero-copy .u-heading {
    max-width: 100%;
  }

  .webflow-home .home-hero-copy .u-heading h1 {
    font-size: 2.4rem;
    line-height: 1.03;
  }

  .webflow-home .home-hero-copy .u-heading h1 br {
    display: none;
  }

  .webflow-home .home-hero-copy .u-text {
    max-width: 20rem;
  }

  .webflow-home .home-hero-copy .u-text p {
    font-size: 1rem;
    line-height: 1.5;
  }

  .webflow-home .home-hero-actions {
    width: 100%;
    flex-wrap: wrap;
    gap: 0.55rem;
  }

  .webflow-home .home-hero-actions .button_main_element {
    padding: 0.65rem 1rem;
    font-size: 0.8125rem;
  }

  .webflow-home .home-hero-approval {
    top: min(calc(63.5svh - 4.75rem), 29.25rem);
    right: 1rem;
    bottom: auto;
    min-width: 8.5rem;
    gap: 0.6rem;
    padding: 0.6rem 0.75rem;
  }

  .webflow-home .home-hero-approval-icon {
    width: 1.6rem;
    height: 1.6rem;
  }

  .webflow-home .home-hero-approval-copy strong {
    font-size: 1.45rem;
  }
}

.uk-hero-heading {
  width: 660px;
  height: 228px;
  margin: 0 auto;
  color: #FFFFFF;
  font-family: 'Bagosscondensed', 'Bagoss', Arial, sans-serif;
  font-style: normal;
  font-weight: 600;
  font-size: 84px;
  line-height: 90%;
  text-align: center;
  letter-spacing: -0.01em;
  text-transform: uppercase;
  white-space: nowrap;
  flex: none;
  order: 0;
  flex-grow: 0;
}

/* UK hero headline inside the shared hero layout. */
.webflow-home .home-hero-copy .uk-hero-heading {
  width: 100%;
  max-width: 660px;
  height: auto;
  min-height: 228px;
  margin: 0;
  text-align: left;
}

/* Give the UK hero copy enough room for the 660px headline without wrapping. */
.uk-home-hero .home-hero-copy {
  width: min(42rem, 54vw);
  max-width: 660px;
}

@media (max-width: 767px) {
  .uk-hero-heading {
    width: 100%;
    max-width: 660px;
    height: auto;
    min-height: auto;
    font-size: clamp(2.75rem, 11vw, 4rem);
  }

  .webflow-home .home-hero-copy .uk-hero-heading {
    text-align: left;
  }

  .uk-home-hero .home-hero-copy {
    width: min(30rem, 72%);
    max-width: none;
  }
}

@media (max-width: 600px) {
  .uk-hero-heading {
    font-size: clamp(2.25rem, 10.5vw, 3.25rem);
    line-height: 0.95;
    white-space: normal;
  }
}

/* UK homepage hero: exactly one viewport tall on desktop so the whole
   hero (headline, copy, both CTAs) is visible at 100% zoom without scroll.
   Content matches the Figma reference: centered 660px column, 24px gaps. */
@media (min-width: 992px) {
  .uk-home-hero .home-hero-overlay {
    height: 100svh;
    min-height: 0;
    max-height: 100svh;
  }

  .uk-home-hero .home-hero-content {
    height: 100svh;
    min-height: 0;
    max-height: 100svh;
    justify-content: center;
    padding-top: clamp(5.5rem, 11vh, 7.5rem);
    padding-bottom: clamp(1.5rem, 4vh, 3rem);
  }

  .uk-home-hero .home-hero-copy {
    width: 100%;
    max-width: 660px;
    align-items: center;
    gap: 24px;
  }

  .uk-home-hero .home-hero-copy .uk-hero-heading {
    text-align: center;
  }

  .uk-home-hero .home-hero-copy .u-text {
    max-width: 454px;
  }

  .uk-home-hero .home-hero-copy .u-text p {
    font-family: 'InterCashera', 'Inter', sans-serif;
    font-weight: 500;
    font-size: 16px;
    line-height: 140%;
    text-align: center;
  }

  .uk-home-hero .home-hero-actions {
    justify-content: center;
    gap: 8px;
  }

  .uk-home-hero .home-hero-button .button_main_element {
    display: flex;
    width: 140px;
    min-width: 100px;
    height: 45px;
    align-items: center;
    justify-content: center;
    padding: 8px 16px;
    border-radius: 100px;
  }

  .uk-home-hero .home-hero-button .button_main_text {
    font-family: 'InterCashera', 'Inter', sans-serif;
    font-weight: 600;
    font-size: 15px;
    line-height: 20px;
    letter-spacing: -0.02em;
    color: #01161A;
    white-space: nowrap;
  }
}

/* UK mobile hero: compact spacing so headline, subtext and both CTAs are
   visible at 100% zoom without scrolling on phones. */
@media (max-width: 991px) {
  .uk-home-hero .home-hero-overlay {
    height: auto;
    min-height: auto;
  }

  .uk-home-hero .home-hero-content {
    min-height: auto;
    height: auto;
    padding-top: 4.5rem;
    padding-bottom: 2rem;
  }

  .uk-home-hero .home-hero-copy {
    gap: 0.85rem;
  }
}

@media (max-width: 600px) {
  .uk-home-hero .home-hero-media {
    height: 46svh;
    min-height: 20rem;
    max-height: 25rem;
  }

  .uk-home-hero .home-hero-content {
    padding: 1.5rem 1.5rem 1.75rem;
  }

  .uk-home-hero .home-hero-copy {
    width: 100%;
    max-width: none;
    gap: 0.8rem;
  }

  .webflow-home .home-hero-copy .uk-hero-heading,
  .uk-home-hero .uk-hero-heading {
    min-height: 0;
    height: auto;
    font-size: clamp(1.8rem, 8.5vw, 2.4rem);
    line-height: 0.95;
  }

  .uk-home-hero .home-hero-copy .u-text p {
    font-size: 0.9375rem;
    line-height: 1.45;
  }
}

@media (prefers-reduced-motion: reduce) {
  .webflow-home .home-hero-overlay [data-item-reveal],
  .webflow-home .home-hero-overlay .u-layout-column-1,
  .webflow-home .home-hero-overlay .u-layout-column-2 {
    animation: none !important;
    transition: none !important;
  }
}

/* Big Think Capital referral landing page */
.btc-landing {
  --btc-ink: 216 41% 11%;
  --btc-green: 161 92% 39%;
  --btc-teal: 174 91% 35%;
  --btc-blue: 193 74% 39%;
  --btc-mint: 161 54% 95%;
  --btc-cream: 34 80% 93%;
  --btc-white: 0 0% 100%;
  --btc-line: 210 16% 87%;
  background: hsl(var(--btc-white));
  color: hsl(var(--btc-ink));
  font-family: 'InterCashera', Arial, sans-serif;
  letter-spacing: 0;
}
.btc-landing :is(h1, h2, h3) { margin: 0; font-family: 'Plus Jakarta Sans Cashera', 'InterCashera', sans-serif; font-weight: 800; letter-spacing: 0; }
.btc-landing p { margin: 0; }
.btc-shell { width: min(786px, calc(100% - 40px)); margin-inline: auto; }
.btc-section { padding: 72px 0; background: #e5ebec; }
.btc-partnership { display: grid; place-items: center; gap: 10px; padding: 34px 20px 30px; background: hsl(var(--btc-white)); }
.btc-partnership-logos { display: inline-flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 12px 24px; max-width: 100%; padding: 12px 24px; border: 1px solid hsl(var(--btc-line)); border-radius: 16px; background: hsl(var(--btc-white)); box-shadow: 0 8px 14px hsl(var(--btc-ink) / .08); }
.btc-nav-wordmark { display: block; width: 126px; height: auto; }
.btc-black-wordmark { width: auto; height: 32px; object-fit: contain; }
.btc-cashera-logo { display: block; width: 300px; height: auto; }
.btc-big-think-logo { display: block; width: auto; height: 48px; max-width: 220px; object-fit: contain; }
@media (min-width: 640px) {
  .btc-black-wordmark { height: 40px; }
  .btc-big-think-logo { height: 64px; max-width: 320px; }
}
.btc-partnership-logos .btc-gokapital-logo { filter: none; }
.btc-partnership-logos > svg:not(.btc-nav-wordmark) { width: 20px; height: 20px; color: hsl(var(--btc-green)); }
.btc-partnership > p, .btc-kicker { color: hsl(var(--btc-ink) / .55); font-size: 10px; font-weight: 600; text-transform: uppercase; letter-spacing: .08em; }
.btc-hero { position: relative; overflow: hidden; padding: 44px 0 55px; background: #e5ebec; }
.btc-hero-grid, .btc-split { display: grid; grid-template-columns: 1.08fr .92fr; align-items: center; gap: 56px; }
.btc-hero-copy { display: flex; flex-direction: column; align-items: flex-start; }
.btc-eyebrow { display: inline-flex; align-items: center; gap: 7px; margin-bottom: 18px; padding: 8px 12px; border: 1px solid hsl(var(--btc-green) / .25); border-radius: 999px; background: hsl(var(--btc-green) / .08); color: hsl(var(--btc-green)); font-size: 11px; font-weight: 700; }
.btc-eyebrow svg { width: 15px; }
.btc-hero h1 { font-size: 42px; line-height: 1.03; }
.btc-hero h1 span { color: hsl(var(--btc-teal)); background: linear-gradient(100deg, hsl(var(--btc-green)), hsl(var(--btc-blue))); background-clip: text; -webkit-background-clip: text; -webkit-text-fill-color: transparent; }
.btc-benefits h2 span, .btc-final h2 span { color: hsl(var(--btc-teal)); }
.btc-hero-copy > p { max-width: 420px; margin-top: 20px; color: hsl(var(--btc-ink) / .62); font-size: 14px; line-height: 1.55; }
.btc-actions { margin-top: 22px; }
.btc-landing .btc-primary-button { height: 41px; border-radius: 999px; padding-inline: 22px; background: hsl(var(--btc-green)); color: hsl(var(--btc-white)); font-size: 12px; box-shadow: none; }
.btc-landing .btc-primary-button:hover { background: hsl(var(--btc-teal)); }
.btc-trust-list { display: grid; grid-template-columns: repeat(2, auto); gap: 8px 24px; margin-top: 23px; color: hsl(var(--btc-ink) / .56); font-size: 10px; font-weight: 500; }
.btc-trust-list span { display: flex; align-items: center; gap: 6px; }.btc-trust-list span:last-child { grid-column: 1; }
.btc-trust-list svg { width: 13px; color: hsl(var(--btc-green)); }
.btc-hero-visual { position: relative; min-width: 0; }
.btc-hero-visual > img { display: block; width: 100%; aspect-ratio: 1.46; object-fit: cover; border-radius: 14px; box-shadow: 0 22px 36px hsl(var(--btc-ink) / .14); }
.btc-stat { position: absolute; display: flex; flex-direction: column; color: hsl(var(--btc-white)); text-shadow: 0 1px 5px hsl(var(--btc-ink) / .65); }
.btc-stat strong { font-size: 13px; }.btc-stat span { margin-top: 3px; font-size: 8px; font-weight: 500; text-transform: uppercase; }
.btc-stat-one { bottom: 18px; left: 40px; }.btc-stat-two { bottom: 18px; left: 50%; transform: translateX(-50%); }.btc-stat-three { right: 31px; bottom: 18px; }
.btc-heading { width: min(590px, 100%); margin: 0 auto 38px; text-align: center; }
.btc-heading h2, .btc-story h2, .btc-final h2 { font-size: 34px; line-height: 1.1; }
.btc-heading p { margin-top: 13px; color: hsl(var(--btc-ink) / .6); font-size: 13px; line-height: 1.55; }
.btc-card-grid { display: grid; gap: 14px; }.btc-card-grid-three { grid-template-columns: repeat(3, 1fr); }.btc-card-grid-four { grid-template-columns: repeat(4, 1fr); }
.btc-card { min-width: 0; padding: 24px 20px; border: 1px solid hsl(var(--btc-line)); border-radius: 8px; background: hsl(var(--btc-white)); }
.btc-card h3 { margin-top: 16px; font-size: 17px; line-height: 1.15; }.btc-card p { margin-top: 9px; color: hsl(var(--btc-ink) / .58); font-size: 11px; line-height: 1.55; }
.btc-icon { display: grid; width: 32px; height: 32px; place-items: center; border-radius: 50%; background: hsl(var(--btc-green) / .13); color: hsl(var(--btc-green)); }.btc-icon svg { width: 16px; }
.btc-story, .btc-steps { background: #e5ebec; }
.btc-why, .btc-benefits { background: hsl(var(--btc-white)); }
.btc-split > img { display: block; width: 100%; aspect-ratio: 1.14; object-fit: cover; border-radius: 12px; }
.btc-story .btc-split > div > p { margin: 18px 0; color: hsl(var(--btc-ink) / .61); font-size: 13px; line-height: 1.6; }
.btc-story ul { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }.btc-story li { display: flex; align-items: center; gap: 8px; font-size: 12px; font-weight: 600; }.btc-story li svg { width: 15px; color: hsl(var(--btc-green)); }
.btc-benefits .btc-card { padding: 22px 16px; }.btc-benefits .btc-card h3 { font-size: 15px; }.btc-benefits .btc-card p { font-size: 10px; }
.btc-split-reverse > img { order: 2; }
.btc-step-list { display: grid; gap: 21px; }.btc-step-list article { display: grid; grid-template-columns: 34px 1fr; gap: 14px; }.btc-step-list article > span { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 50%; background: hsl(var(--btc-green)); color: hsl(var(--btc-white)); font-size: 12px; font-weight: 800; }
.btc-step-list h3 { font-size: 17px; }.btc-step-list article p { margin-top: 5px; color: hsl(var(--btc-ink) / .6); font-size: 11px; line-height: 1.55; }
.btc-secure-note { display: flex; align-items: center; gap: 8px; padding-top: 15px; border-top: 1px solid hsl(var(--btc-line)); color: hsl(var(--btc-ink) / .55); font-size: 9px; }.btc-secure-note svg { width: 14px; flex: none; }
.btc-trust-band { padding: 58px 0; text-align: center; background: hsl(var(--btc-white)); }.btc-trust-band .btc-shell { display: flex; flex-direction: column; align-items: center; gap: 17px; }
.btc-trust-lockup { display: flex; align-items: center; gap: 14px; }.btc-trust-lockup .btc-cashera-logo { width: 200px; }.btc-trust-lockup .btc-big-think-logo { width: 64px; }.btc-trust-lockup > span { color: hsl(var(--btc-ink) / .32); font-size: 22px; }
.btc-rating { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 8px; }.btc-rating small { flex-basis: 100%; color: hsl(var(--btc-ink) / .56); font-size: 9px; text-transform: uppercase; }.btc-rating > strong, .btc-rating em { font-size: 11px; font-style: normal; }.btc-rating > span { padding: 3px 7px; background: hsl(var(--btc-green)); color: hsl(var(--btc-white)); font-size: 11px; }
.btc-trust-band .btc-shell > p:last-child { max-width: 610px; color: hsl(var(--btc-ink) / .61); font-size: 12px; line-height: 1.55; }
.btc-final-panel { padding: 58px 24px; border-radius: 14px; background: hsl(var(--btc-white)); text-align: center; }.btc-final-panel p { margin: 14px auto 22px; color: hsl(var(--btc-ink) / .6); font-size: 13px; }

@media (max-width: 991px) {
  .btc-shell { width: min(760px, calc(100% - 40px)); }
  .btc-card-grid-four { grid-template-columns: repeat(2, 1fr); }
  .btc-hero-grid, .btc-split { gap: 38px; }
}

@media (max-width: 767px) {
  .btc-shell { width: min(100% - 40px, 480px); }
  .btc-section { padding: 58px 0; }
  .btc-partnership { padding: 24px 20px 22px; }
  .btc-partnership-logos { width: 100%; height: 62px; gap: 14px; padding: 14px 16px; border-radius: 10px; }
  .btc-partnership-logos .btc-nav-wordmark { width: min(42%, 126px); }
  .btc-hero { padding: 40px 0 52px; }
  .btc-hero-grid, .btc-split { grid-template-columns: 1fr; gap: 38px; }
  .btc-eyebrow { margin-bottom: 20px; }
  .btc-hero h1 { font-size: 42px; line-height: 1.02; }.btc-hero h1 br { display: none; }
  .btc-hero-copy > p { margin-top: 19px; font-size: 15px; line-height: 1.62; }
  .btc-actions { width: 100%; margin-top: 24px; }.btc-landing .btc-primary-button { width: 100%; height: 50px; font-size: 14px; }
  .btc-trust-list { grid-template-columns: 1fr; gap: 9px; margin-top: 20px; font-size: 11px; }.btc-trust-list span:last-child { grid-column: auto; }
  .btc-hero-visual > img { aspect-ratio: 1.28; }
  .btc-stat-one { left: 18px; }.btc-stat-three { right: 15px; }
  .btc-card-grid-three, .btc-card-grid-four { grid-template-columns: 1fr; }
  .btc-heading { margin-bottom: 30px; text-align: left; }.btc-heading h2, .btc-story h2, .btc-final h2 { font-size: 32px; }.btc-heading p { font-size: 13px; }
  .btc-card { padding: 24px; }.btc-card h3, .btc-benefits .btc-card h3 { font-size: 18px; }.btc-card p, .btc-benefits .btc-card p { font-size: 12px; }
  .btc-split-reverse > img { order: 0; }
  .btc-trust-lockup { flex-wrap: wrap; justify-content: center; }.btc-trust-lockup .btc-cashera-logo { width: 176px; }.btc-trust-lockup .btc-big-think-logo { width: 60px; }
  .btc-final-panel { padding: 46px 20px; }
}
