/* =========================================================
   LEARNDEPTH HIRE THEME
   Palette derived from the CVCORP reference (deep maroon +
   coral) applied to the LearnDepth hero layout.
   ========================================================= */

:root{
  /* ---- color tokens ---- */
  --bg-deep:       #240A0C;   /* page base, near-black maroon */
  --bg-hero:       #34100F;   /* hero panel maroon */
  --bg-hero-2:     #451712;   /* secondary maroon for gradient depth */
  --accent-coral:  #EE9081;   /* headline accent, links */
  --accent-coral-soft: #F4B3A8;
  --accent-red:    #8E2A20;   /* solid red, buttons/badges */
  --accent-red-deep: #6E1E17;
  --text-white:    #FBF3EF;
  --text-muted:    #CBA69D;   /* warm muted for subtext */
  --text-faint:    #9C7A73;
  --line-grid:     rgba(251, 243, 239, 0.07);
  --line-grid-soft:rgba(251, 243, 239, 0.035);
  --white:         #FFFFFF;

  /* ---- type ---- */
  --font-display: 'Sora', sans-serif;
  --font-body: 'Inter', sans-serif;

  /* ---- layout ---- */
  --container-w: 1240px;
  --radius-full: 999px;
  --radius-md: 12px;
}

*, *::before, *::after{ box-sizing: border-box; }

html{ scroll-behavior: smooth; }

body{
  margin: 0;
  font-family: var(--font-body);
  background: var(--bg-deep);
  color: var(--text-white);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

a{ text-decoration: none; color: inherit; }
ul{ list-style: none; margin: 0; padding: 0; }
button{ font-family: inherit; cursor: pointer; }

:focus-visible{
  outline: 2px solid var(--accent-coral-soft);
  outline-offset: 3px;
  border-radius: 4px;
}

/* =========================================================
   ANNOUNCEMENT BAR
   ========================================================= */
.announcement-bar{
  background: linear-gradient(90deg, var(--accent-red-deep) 0%, var(--accent-red) 45%, #A8402E 100%);
  padding: 7px 16px;
  text-align: center;
}

.announcement-text{
  margin: 0;
  font-size: 12.5px;
  font-weight: 500;
  color: var(--text-white);
  letter-spacing: 0.01em;
  line-height: 1.5;
}

.announcement-code{
  font-weight: 700;
  color: #FFE9C7;
  background: rgba(255,255,255,0.12);
  padding: 1px 7px;
  border-radius: 5px;
  letter-spacing: 0.03em;
}

.announcement-timer{
  font-weight: 700;
  color: var(--white);
  font-variant-numeric: tabular-nums;
}

/* =========================================================
   NAVBAR
   ========================================================= */
.navbar{
  position: sticky;
  top: 0;
  z-index: 100;
  background: rgba(36, 10, 12, 0.85);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border-bottom: 1px solid rgba(251, 243, 239, 0.08);
}

.navbar-inner{
  max-width: var(--container-w);
  margin: 0 auto;
  padding: 8px 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}

/* Logo */
.logo{
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  height: 40px;      /* Crop to navbar height */
  width: 220px;      /* Allocate space for the logo */
  overflow: hidden;  /* Hide transparent padding */
}

.logo-img {
  height: 250px;     /* Enlarge image to zoom in on the core text */
  width: 250px;
  object-fit: contain;
}

.logo-mark{
  position: relative;
  width: 17px;
  height: 19px;
  display: inline-block;
}

.logo-dot{
  position: absolute;
  border-radius: 50%;
}

.logo-dot--top{
  width: 7px;
  height: 7px;
  background: var(--accent-coral);
  top: 0;
  left: 5px;
}

.logo-dot--bottom{
  width: 12px;
  height: 12px;
  background: var(--accent-red);
  bottom: 0;
  left: 0;
}

.logo-text{
  font-family: var(--font-display);
  font-size: 17px;
  font-weight: 700;
  color: var(--text-white);
  letter-spacing: -0.01em;
}

/* Nav links */
.nav-links{
  display: flex;
  align-items: center;
  gap: 22px;
}

.nav-link{
  font-size: 13.5px;
  font-weight: 500;
  color: var(--text-muted);
  white-space: nowrap;
  transition: color 0.18s ease;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.nav-link:hover{ color: var(--text-white); }

.badge-new{
  font-size: 9px;
  font-weight: 700;
  color: var(--bg-deep);
  background: var(--accent-coral);
  padding: 2px 6px;
  border-radius: var(--radius-full);
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

.nav-divider{
  width: 1px;
  height: 18px;
  background: rgba(251, 243, 239, 0.14);
  margin: 0 2px;
}

.nav-link--login{
  color: var(--text-white);
  font-weight: 600;
}

/* Buttons (shared) */
.btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  font-family: var(--font-body);
  font-size: 13.5px;
  font-weight: 600;
  padding: 9px 19px;
  border-radius: var(--radius-full);
  border: 1px solid transparent;
  white-space: nowrap;
  transition: transform 0.18s ease, background 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
}

.btn svg{ transition: transform 0.18s ease; }

.btn--primary{
  background: var(--white);
  color: var(--bg-hero);
}

.btn--primary:hover{
  background: var(--accent-coral-soft);
  transform: translateY(-1px);
}

.btn--primary:hover svg{ transform: translateX(2px); }

.btn--nav{
  padding: 8px 17px;
  font-size: 13px;
}

.btn--secondary{
  background: transparent;
  color: var(--text-white);
  border: 1px solid rgba(251, 243, 239, 0.3);
}

.btn--secondary:hover{
  border-color: var(--accent-coral-soft);
  color: var(--accent-coral-soft);
  transform: translateY(-1px);
}

/* Hamburger (hidden on desktop) */
.hamburger{
  display: none;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 4px;
  width: 34px;
  height: 34px;
  background: transparent;
  border: 1px solid rgba(251, 243, 239, 0.2);
  border-radius: 7px;
  flex-shrink: 0;
}

.hamburger-line{
  width: 15px;
  height: 1.6px;
  background: var(--text-white);
  border-radius: 2px;
  transition: transform 0.28s ease, opacity 0.2s ease;
}

.hamburger.is-open .hamburger-line:nth-child(1){
  transform: translateY(5.6px) rotate(45deg);
}
.hamburger.is-open .hamburger-line:nth-child(2){
  opacity: 0;
}
.hamburger.is-open .hamburger-line:nth-child(3){
  transform: translateY(-5.6px) rotate(-45deg);
}

/* =========================================================
   HERO
   ========================================================= */
.hero{
  position: relative;
  overflow: hidden;
  background: linear-gradient(180deg, var(--bg-hero) 0%, var(--bg-hero-2) 100%);
  padding: 64px 24px 56px;
  text-align: center;
}

/* white grid-line background texture */
.hero-grid-bg{
  position: absolute;
  inset: 0;
  z-index: 0;
  background-image:
    linear-gradient(var(--line-grid) 1px, transparent 1px),
    linear-gradient(90deg, var(--line-grid) 1px, transparent 1px);
  background-size: 56px 56px;
  -webkit-mask-image: radial-gradient(ellipse 70% 65% at 50% 15%, black 10%, transparent 78%);
  mask-image: radial-gradient(ellipse 70% 65% at 50% 15%, black 10%, transparent 78%);
  pointer-events: none;
}

.hero-glow{
  position: absolute;
  top: -180px;
  left: 50%;
  transform: translateX(-50%);
  width: 760px;
  height: 480px;
  z-index: 0;
  background: radial-gradient(closest-side, rgba(238, 144, 129, 0.28), rgba(238, 144, 129, 0) 72%);
  pointer-events: none;
}

/* smooth gradient blend into the section that follows */
.hero::after{
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 140px;
  z-index: 1;
  background: linear-gradient(180deg, rgba(69, 23, 18, 0) 0%, var(--bg-deep) 100%);
  pointer-events: none;
}

.hero-inner{
  position: relative;
  z-index: 2;
  max-width: 680px;
  margin: 0 auto;
}

.hero-heading{
  margin: 0 0 16px;
  font-family: var(--font-display);
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -0.02em;
}

.hero-heading-line{
  display: block;
  font-size: 38px;
  color: var(--text-white);
}

.hero-heading-line--accent{
  color: var(--accent-coral);
  font-style: italic;
  font-weight: 600;
  font-size: 41px;
}

.hero-subtext{
  margin: 0 auto 28px;
  max-width: 480px;
  font-size: 14.5px;
  line-height: 1.6;
  color: var(--text-muted);
}

.hero-cta-row{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin-bottom: 28px;
  flex-wrap: wrap;
}

.hero-cta-row .btn{
  padding: 11px 22px;
  font-size: 13.5px;
}

.trust-row{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  flex-wrap: wrap;
}

.trust-item{
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-size: 12.5px;
  font-weight: 500;
  color: var(--text-muted);
}

.trust-check{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: var(--accent-red);
  flex-shrink: 0;
}

/* =========================================================
   NEXT SECTION (placeholder — demonstrates the hero's
   bottom gradient hand-off; safe to replace with real content)
   ========================================================= */
.next-section{
  background: var(--bg-deep);
  padding: 48px 24px 64px;
  text-align: center;
}

.next-section-hint{
  margin: 0 auto;
  max-width: 420px;
  font-size: 12.5px;
  color: var(--text-faint);
  font-style: italic;
}

/* =========================================================
   RESPONSIVE
   ========================================================= */

/* Tablet */
@media (max-width: 900px){
  .nav-links{ gap: 16px; }
  .hero-heading-line{ font-size: 33px; }
  .hero-heading-line--accent{ font-size: 36px; }
}

/* Mobile nav + hero */
@media (max-width: 768px){
  .navbar-inner{ padding: 6px 18px; }

  .hamburger{ display: flex; }

  .nav-links{
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    flex-direction: column;
    align-items: stretch;
    gap: 2px;
    background: var(--bg-deep);
    border-bottom: 1px solid rgba(251, 243, 239, 0.1);
    padding: 8px 18px 16px;
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    transition: max-height 0.32s ease, opacity 0.25s ease, padding 0.32s ease;
  }

  .nav-links.is-open{
    max-height: 420px;
    opacity: 1;
    padding: 12px 18px 20px;
  }

  .nav-link{
    padding: 10px 4px;
    border-bottom: 1px solid rgba(251, 243, 239, 0.06);
    width: 100%;
    font-size: 13.5px;
  }

  .nav-divider{
    width: 100%;
    height: 1px;
    margin: 4px 0;
  }

  .nav-link--login{
    border-bottom: 1px solid rgba(251, 243, 239, 0.06);
  }

  .btn--nav{
    margin-top: 10px;
    width: 100%;
    padding: 11px 18px;
  }

  .hero{ padding: 44px 18px 44px; }

  .hero-heading-line{ font-size: 27px; }
  .hero-heading-line--accent{ font-size: 29px; }

  .hero-subtext{ font-size: 13.5px; margin-bottom: 24px; }

  .hero-cta-row{
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
  }

  .hero-cta-row .btn{ width: 100%; }

  .trust-row{
    flex-direction: column;
    align-items: flex-start;
    gap: 11px;
    padding-left: 6px;
  }

  .announcement-text{ font-size: 11px; line-height: 1.5; }
}

@media (max-width: 400px){
  .hero-heading-line{ font-size: 23px; }
  .hero-heading-line--accent{ font-size: 25px; }
  .logo-text{ font-size: 16px; }
}

/* =========================================================
   MENTORSHIP / STATS SECTION
   Relies on the color tokens already declared on :root in
   style.css (--bg-deep, --accent-coral, --accent-coral-soft,
   --text-white, --text-muted, --text-faint, --white,
   --font-display, --font-body). If pasting this into a fresh
   project, copy those variables over first.
   ========================================================= */

.mentorship{
  position: relative;
  overflow: hidden;
  background: var(--bg-deep);
  padding: 8px 24px 64px;
  text-align: center;
}

/* thin glowing line at the very top edge — mirrors the hero's
   bottom gradient so the hand-off between sections reads as one
   continuous surface */
.mentorship-topline{
  position: absolute;
  top: 0;
  left: 50%;
  width: 220px;
  height: 2px;
  transform: translateX(-50%) scaleX(0.4);
  transform-origin: center;
  background: linear-gradient(90deg,
    transparent 0%,
    var(--accent-coral-soft) 22%,
    var(--white) 50%,
    var(--accent-coral-soft) 78%,
    transparent 100%);
  box-shadow:
    0 0 10px 1px rgba(238, 144, 129, 0.65),
    0 0 32px 6px rgba(238, 144, 129, 0.3);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.9s ease, transform 0.9s cubic-bezier(0.16, 1, 0.3, 1);
}

/* the spotlight cone itself — hidden until the section scrolls
   into view, then fades + widens in */
.mentorship-beam{
  position: absolute;
  top: 0;
  left: 50%;
  width: 640px;
  height: 300px;
  transform: translateX(-50%);
  clip-path: polygon(44% 0%, 56% 0%, 84% 100%, 16% 100%);
  background: linear-gradient(180deg,
    rgba(238, 144, 129, 0.55) 0%,
    rgba(238, 144, 129, 0.18) 45%,
    rgba(238, 144, 129, 0) 85%);
  filter: blur(18px);
  opacity: 0;
  pointer-events: none;
  transition: opacity 1.1s ease 0.1s;
}

/* animation trigger — .is-visible is added by mentorship-section.js
   via IntersectionObserver only once the section scrolls into view */
.mentorship.is-visible .mentorship-topline{
  opacity: 1;
  transform: translateX(-50%) scaleX(1);
}

.mentorship.is-visible .mentorship-beam{
  opacity: 1;
}

.mentorship-inner{
  position: relative;
  z-index: 2;
  max-width: 720px;
  margin: 0 auto;
}

/* ---- eyebrow + heading ---- */
.mentorship-eyebrow{
  margin: 44px 0 12px;
  font-size: 13px;
  font-weight: 500;
  color: var(--text-muted);
  letter-spacing: 0.01em;

  opacity: 0;
  transform: translateY(10px);
  transition: opacity 0.7s ease 0.25s, transform 0.7s cubic-bezier(0.16, 1, 0.3, 1) 0.25s;
}

.mentorship.is-visible .mentorship-eyebrow{
  opacity: 1;
  transform: translateY(0);
}

.mentorship-heading{
  margin: 0 0 40px;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 30px;
  line-height: 1.28;
  letter-spacing: -0.01em;

  opacity: 0;
  transform: translateY(14px);
  transition: opacity 0.75s ease 0.35s, transform 0.75s cubic-bezier(0.16, 1, 0.3, 1) 0.35s;
}

.mentorship.is-visible .mentorship-heading{
  opacity: 1;
  transform: translateY(0);
}

.mentorship-line{ display: block; }

.hl-strong{ color: var(--text-white); }
.hl-soft{ color: var(--text-faint); font-weight: 500; }

/* ---- stat cards ---- */
.stat-cards{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}

.stat-card{
  position: relative;
  overflow: hidden;
  padding: 26px 18px 22px;
  border: 1px solid rgba(251, 243, 239, 0.08);
  border-radius: 14px;
  background: rgba(251, 243, 239, 0.02);
  display: flex;
  flex-direction: column;
  align-items: center;

  opacity: 0;
  transform: translateY(16px);
  transition: opacity 0.7s ease, transform 0.7s cubic-bezier(0.16, 1, 0.3, 1),
    border-color 0.25s ease, background 0.25s ease;
}

.mentorship.is-visible .stat-card{
  opacity: 1;
  transform: translateY(0);
}

.mentorship.is-visible .stat-card:nth-child(1){ transition-delay: 0.45s; }
.mentorship.is-visible .stat-card:nth-child(2){ transition-delay: 0.55s; }
.mentorship.is-visible .stat-card:nth-child(3){ transition-delay: 0.65s; }

.stat-card:hover{
  border-color: rgba(238, 144, 129, 0.28);
  background: rgba(251, 243, 239, 0.035);
}

.stat-ghost{
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-family: var(--font-display);
  font-size: 108px;
  font-weight: 800;
  line-height: 1;
  color: transparent;
  -webkit-text-stroke: 1px rgba(251, 243, 239, 0.06);
  user-select: none;
  pointer-events: none;
  z-index: 0;
}

.stat-value{
  position: relative;
  z-index: 1;
  font-family: var(--font-display);
  font-size: 26px;
  font-weight: 800;
  color: var(--accent-coral);
  line-height: 1.2;
}

.stat-label{
  position: relative;
  z-index: 1;
  font-family: var(--font-display);
  font-size: 17px;
  font-weight: 600;
  color: var(--accent-coral-soft);
  margin-top: 1px;
}

.stat-desc{
  position: relative;
  z-index: 1;
  margin: 10px 0 0;
  font-size: 12.5px;
  line-height: 1.5;
  color: var(--text-muted);
  max-width: 200px;
}

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media (max-width: 900px){
  .mentorship-heading{ font-size: 26px; }
  .stat-ghost{ font-size: 90px; }
}

@media (max-width: 768px){
  .mentorship{ padding: 6px 20px 48px; }
  .mentorship-eyebrow{ margin: 36px 0 10px; font-size: 12px; }
  .mentorship-heading{ font-size: 22px; margin-bottom: 28px; }

  .mentorship-beam{ width: 420px; height: 220px; }
  .mentorship-topline{ width: 160px; }

  .stat-cards{
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .stat-card{ padding: 22px 18px 20px; }
  .stat-ghost{ font-size: 76px; }
  .stat-value{ font-size: 23px; }
  .stat-label{ font-size: 15.5px; }
  .stat-desc{ max-width: 260px; }
}

@media (max-width: 400px){
  .mentorship-heading{ font-size: 19px; }
}

/* ---- respect reduced-motion preference ---- */
@media (prefers-reduced-motion: reduce){
  .mentorship-topline,
  .mentorship-beam,
  .mentorship-eyebrow,
  .mentorship-heading,
  .stat-card{
    transition: none !important;
    opacity: 1 !important;
    transform: none !important;
  }
}


/* =========================================================
   ABOUT / FEATURES SECTION
   Relies on the color tokens already declared on :root in
   style.css (--bg-deep, --accent-coral, --accent-coral-soft,
   --accent-red, --text-white, --text-muted, --text-faint,
   --font-display, --font-body). Copy those over first if
   pasting into a fresh project.
   ========================================================= */

.about{
  position: relative;
  overflow: hidden;
  background: #FFFFFF;
  padding: 56px 24px 64px;
}

/* black grid-line background on white, spread evenly across the
   whole section (no spotlight mask) */
.about-grid-bg{
  position: absolute;
  inset: 0;
  z-index: 0;
  background-image:
    linear-gradient(rgba(0, 0, 0, 0.055) 0.5px, transparent 0.5px),
    linear-gradient(90deg, rgba(0, 0, 0, 0.055) 0.5px, transparent 0.5px);
  background-size: 48px 48px;
  -webkit-mask-image: radial-gradient(ellipse 90% 80% at 50% 50%, black 30%, transparent 92%);
  mask-image: radial-gradient(ellipse 90% 80% at 50% 50%, black 30%, transparent 92%);
  pointer-events: none;
}

.about-inner{
  position: relative;
  z-index: 1;
  max-width: 1180px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  gap: 48px;
  align-items: center;
}

/* ---- left column: heading + subtext + feature list ---- */
.about-heading-row{
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 14px;
}

.about-bar{
  width: 4px;
  height: 24px;
  border-radius: 3px;
  background: var(--accent-coral);
  flex-shrink: 0;
}

.about-heading{
  margin: 0;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 24px;
  line-height: 1.3;
  color: #16181B;
  letter-spacing: -0.01em;
}

.about-subtext{
  margin: 0 0 32px;
  max-width: 480px;
  font-size: 14px;
  line-height: 1.65;
  color: #5C6066;
}

.about-features{
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 32px;
  row-gap: 26px;
}

.about-feature{
  display: flex;
  align-items: flex-start;
  gap: 10px;
}

.about-check{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: var(--accent-red);
  flex-shrink: 0;
  margin-top: 3px;
}

.about-feature-title{
  margin: 0 0 4px;
  font-family: var(--font-display);
  font-size: 14.5px;
  font-weight: 600;
  color: #16181B;
  line-height: 1.35;
}

.about-feature-desc{
  margin: 0;
  font-size: 12.5px;
  line-height: 1.55;
  color: #6B6F76;
}

/* ---- right column: image panel ---- */
.about-visual{
  position: relative;
  border-radius: 16px;
  overflow: hidden;
  border: 1px solid rgba(0, 0, 0, 0.08);
  box-shadow: 0 20px 44px -20px rgba(22, 24, 27, 0.28);
  aspect-ratio: 4 / 3;
  background:
    radial-gradient(ellipse at 30% 20%, rgba(238, 144, 129, 0.16), transparent 55%),
    linear-gradient(155deg, var(--bg-hero) 0%, var(--bg-deep) 100%);
}

.about-image{
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media (max-width: 980px){
  .about-inner{ gap: 36px; }
  .about-heading{ font-size: 22px; }
}

@media (max-width: 860px){
  .about-inner{
    grid-template-columns: 1fr;
  }

  .about-visual{
    order: 2;
    max-width: 560px;
    margin: 0 auto;
  }

  .about-content{ order: 1; }
}

@media (max-width: 600px){
  .about{ padding: 44px 20px 48px; }

  .about-heading{ font-size: 20px; }
  .about-bar{ height: 20px; }
  .about-subtext{ font-size: 13px; margin-bottom: 26px; }

  .about-features{
    grid-template-columns: 1fr;
    row-gap: 20px;
  }

  .about-feature-title{ font-size: 14px; }
  .about-feature-desc{ font-size: 12px; }
}

@media (max-width: 400px){
  .about-heading{ font-size: 18px; }
}


/* =========================================================
   INTERVIEW ROUNDS INTRO SECTION
   White background, same as the About section — keeps the
   page flowing on one continuous light surface. Uses its own
   navy/red palette to match the reference exactly, only
   reusing --font-display / --font-body from style.css.
   ========================================================= */

.rounds-intro{
  background: #FFFFFF;
  padding: 52px 24px 48px;
  text-align: center;
}

.rounds-intro-inner{
  max-width: 720px;
  margin: 0 auto;
}

.rounds-intro-inner .rounds-visual{
  max-width: 960px;
}

/* ---- pill badge ---- */
.rounds-badge{
  display: inline-block;
  margin-bottom: 18px;
  padding: 7px 16px;
  border: 1px solid #F3B7B0;
  border-radius: 999px;
  background: #FDF2F1;
  font-family: var(--font-body);
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #D93A2B;
}

/* ---- headline ---- */
.rounds-heading{
  margin: 0 0 14px;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 27px;
  line-height: 1.3;
  letter-spacing: -0.01em;
  color: #14161B;
}

/* ---- subtext ---- */
.rounds-subtext{
  margin: 0 auto;
  max-width: 560px;
  font-size: 14px;
  line-height: 1.65;
  color: #767B82;
}

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media (max-width: 768px){
  .rounds-intro{ padding: 44px 20px 40px; }
  .rounds-heading{ font-size: 22px; }
  .rounds-subtext{ font-size: 13.5px; }
}

@media (max-width: 480px){
  .rounds-badge{ font-size: 10.5px; padding: 6px 13px; }
  .rounds-heading{ font-size: 19px; line-height: 1.35; }
  .rounds-subtext{ font-size: 13px; }
}

/* =========================================================
   IMAGE SHOWCASE SECTION
   White background + black grid-line texture, matching the
   About section, so the page keeps a consistent light surface
   all the way down. The frame is styled to look like a real,
   professionally shot photo panel — soft shadow, hairline
   border, rounded corners — whether or not an image is loaded.
   ========================================================= */

.showcase{
  position: relative;
  overflow: hidden;
  background: #FFFFFF;
  padding: 8px 24px 64px;
}

.showcase-grid-bg{
  position: absolute;
  inset: 0;
  z-index: 0;
  background-image:
    linear-gradient(rgba(0, 0, 0, 0.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(0, 0, 0, 0.05) 1px, transparent 1px);
  background-size: 48px 48px;
  -webkit-mask-image: radial-gradient(ellipse 85% 85% at 50% 50%, black 30%, transparent 90%);
  mask-image: radial-gradient(ellipse 85% 85% at 50% 50%, black 30%, transparent 90%);
  pointer-events: none;
}

.showcase-inner{
  position: relative;
  z-index: 1;
  max-width: 1180px;
  margin: 0 auto;
}

.showcase-frame{
  margin: 0;
  position: relative;
  border-radius: 20px;
  overflow: hidden;
  border: 1px solid rgba(0, 0, 0, 0.08);
  box-shadow:
    0 30px 60px -28px rgba(22, 24, 27, 0.32),
    0 10px 24px -14px rgba(22, 24, 27, 0.18);

  /* realistic fallback surface — reads as a photo panel even
     before a real image is loaded, instead of a flat empty box */
  aspect-ratio: 16 / 8;
  background:
    radial-gradient(ellipse at 22% 18%, rgba(238, 144, 129, 0.22), transparent 55%),
    radial-gradient(ellipse at 78% 82%, rgba(142, 42, 32, 0.28), transparent 55%),
    linear-gradient(155deg, var(--bg-hero, #34100F) 0%, var(--bg-deep, #240A0C) 100%);
}

.showcase-image{
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media (max-width: 900px){
  .showcase-frame{ aspect-ratio: 16 / 9; border-radius: 16px; }
}

@media (max-width: 600px){
  .showcase{ padding: 6px 20px 48px; }
  .showcase-frame{
    aspect-ratio: 4 / 3.6;
    border-radius: 14px;
    box-shadow:
      0 18px 36px -18px rgba(22, 24, 27, 0.30),
      0 6px 14px -8px rgba(22, 24, 27, 0.16);
  }
}


/* =========================================================
   INTERVIEW CHALLENGES SECTION
   Light gray background with a 2-column white card grid —
   self-contained palette to match the reference exactly.
   Continues the light theme from the About / rounds-intro /
   showcase sections above it.
   ========================================================= */

.challenges{
  background: #F6F7F9;
  padding: 56px 24px 64px;
}

.challenges-inner{
  max-width: 1180px;
  margin: 0 auto;
}

/* ---- header ---- */
.challenges-header{
  text-align: center;
  margin-bottom: 36px;
}

.challenges-heading{
  margin: 0 0 12px;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 27px;
  line-height: 1.3;
  letter-spacing: -0.01em;
  color: #14161B;
}

.challenges-subtext{
  margin: 0 auto;
  max-width: 560px;
  font-size: 14px;
  line-height: 1.65;
  color: #767B82;
}

/* ---- grid ---- */
.challenges-grid{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

.challenge-card{
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding: 22px 22px 22px 20px;
  background: #FFFFFF;
  border: 1px solid #E7E9EC;
  border-radius: 14px;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.challenge-card:hover{
  border-color: #F0C6C0;
  box-shadow: 0 14px 28px -18px rgba(22, 24, 27, 0.16);
  transform: translateY(-1px);
}

.challenge-icon{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  flex-shrink: 0;
  border-radius: 10px;
  background: #FDEEEC;
  color: #D93A2B;
}

.challenge-copy{ min-width: 0; }

.challenge-title{
  margin: 0 0 6px;
  font-family: var(--font-display);
  font-size: 15px;
  font-weight: 700;
  color: #14161B;
  line-height: 1.35;
}

.challenge-desc{
  margin: 0;
  font-size: 13px;
  line-height: 1.6;
  color: #767B82;
}

.challenge-check{
  display: inline-flex;
  vertical-align: -2px;
  margin-right: 3px;
  color: #1F9254;
}

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media (max-width: 980px){
  .challenges-heading{ font-size: 24px; }
}

@media (max-width: 720px){
  .challenges{ padding: 44px 20px 48px; }

  .challenges-header{ margin-bottom: 28px; }
  .challenges-heading{ font-size: 20px; }
  .challenges-subtext{ font-size: 13.5px; }

  .challenges-grid{
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .challenge-card{ padding: 18px 18px 18px 16px; }
  .challenge-icon{ width: 30px; height: 30px; border-radius: 9px; }
  .challenge-title{ font-size: 14.5px; }
  .challenge-desc{ font-size: 12.5px; }
}

@media (max-width: 400px){
  .challenges-heading{ font-size: 18px; }
}

/* =========================================================
   TRUSTED-BY LOGO STRIP SECTION
   Light blue-gray background, centered eyebrow + a wrapping
   row of real company logos (grayscale by default, full color
   on hover for a bit of interactivity).
   ========================================================= */

.trusted{
  background: #F5F6FB;
  border-bottom: 1px solid #E7E9F2;
  padding: 28px 24px 26px;
}

.trusted-inner{
  max-width: 1180px;
  margin: 0 auto;
  text-align: center;
}

.trusted-eyebrow{
  margin: 0 0 22px;
  font-family: var(--font-body);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #7A82A6;
}

.trusted-logos{
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  row-gap: 18px;
  column-gap: 40px;
}

.trusted-item{
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.trusted-icon{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  flex-shrink: 0;
  border-radius: 6px;
  font-family: var(--font-display);
  font-size: 12.5px;
  font-weight: 700;
  color: #FFFFFF;
  line-height: 1;
  opacity: 0.85;
  transition: opacity 0.25s ease, transform 0.25s ease;
}

.trusted-item:hover .trusted-icon{
  opacity: 1;
  transform: translateY(-1px);
}

.trusted-icon--google{ background: #4285F4; }
.trusted-icon--amazon{ background: #FF9900; color: #14161B; }
.trusted-icon--meta{ background: #0866FF; }
.trusted-icon--flipkart{ background: #2874F0; }
.trusted-icon--infosys{ background: #007CC3; }
.trusted-icon--tcs{ background: #4A2E83; }
.trusted-icon--wipro{ background: #00A99D; }

/* Microsoft's 4-square mark, built with CSS instead of a letter */
.trusted-icon--microsoft{
  background: transparent;
  display: inline-grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: repeat(2, 1fr);
  gap: 2px;
  padding: 2px;
}

.ms-square{ border-radius: 1px; }
.ms-square--r{ background: #F25022; }
.ms-square--g{ background: #7FBA00; }
.ms-square--b{ background: #00A4EF; }
.ms-square--y{ background: #FFB900; }

.trusted-name{
  font-family: var(--font-body);
  font-size: 15px;
  font-weight: 600;
  color: #3A4160;
  white-space: nowrap;
}

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media (max-width: 768px){
  .trusted{ padding: 24px 20px 22px; }
  .trusted-eyebrow{ font-size: 11px; margin-bottom: 18px; }
  .trusted-logos{ column-gap: 26px; row-gap: 16px; }
  .trusted-icon{ width: 19px; height: 19px; font-size: 11px; }
  .trusted-name{ font-size: 13.5px; }
}

@media (max-width: 460px){
  .trusted-logos{ column-gap: 18px; row-gap: 14px; }
  .trusted-icon{ width: 17px; height: 17px; font-size: 10px; border-radius: 5px; }
  .trusted-name{ font-size: 12.5px; }
}

/* =========================================================
   PRICING SECTION (2 cards)
   Self-contained cream/orange palette, serif headline via a
   system font stack (Georgia) — matches the reference without
   requiring a new font import.
   ========================================================= */

.pricing{
  position: relative;
  overflow: hidden;
  background: linear-gradient(160deg, #0A1130 0%, #101B42 55%, #0A1130 100%);
  padding: 64px 24px 72px;
}

/* white dot pattern across the whole section */
.pricing::before{
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background-image: radial-gradient(rgba(255, 255, 255, 0.16) 1px, transparent 1px);
  background-size: 22px 22px;
  pointer-events: none;
}

/* soft ambient glow so the glass has something to catch */
.pricing::after{
  content: "";
  position: absolute;
  top: -160px;
  left: 50%;
  transform: translateX(-50%);
  width: 780px;
  height: 480px;
  z-index: 0;
  background: radial-gradient(closest-side, rgba(80, 130, 255, 0.28), rgba(80, 130, 255, 0) 72%);
  pointer-events: none;
}

.pricing-inner{
  position: relative;
  z-index: 1;
  max-width: 940px;
  margin: 0 auto;
}

/* ---- header ---- */
.pricing-header{
  text-align: center;
  margin-bottom: 44px;
}

.pricing-heading{
  margin: 0 0 12px;
  font-family: Georgia, 'Times New Roman', serif;
  font-weight: 700;
  font-size: 34px;
  line-height: 1.25;
  letter-spacing: -0.01em;
  color: #F5F7FF;
}

.pricing-subtext{
  margin: 0;
  font-family: var(--font-body);
  font-size: 15px;
  color: rgba(224, 229, 250, 0.68);
}

/* ---- grid ---- */
.pricing-grid{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 22px;
}

.pricing-card{
  position: relative;
  padding: 26px 26px 28px;
  background: rgba(255, 149, 56, 0.09);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border: 1px solid rgba(255, 170, 90, 0.22);
  border-radius: 16px;
  box-shadow:
    0 20px 44px -26px rgba(0, 0, 0, 0.55),
    inset 0 1px 0 rgba(255, 255, 255, 0.08);
  display: flex;
  flex-direction: column;
  transition: border-color 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease;
}

.pricing-card:hover{
  border-color: rgba(255, 170, 90, 0.4);
  transform: translateY(-2px);
}

.pricing-card--highlight{
  background: rgba(255, 149, 56, 0.14);
  border: 1.5px solid rgba(255, 159, 64, 0.55);
  box-shadow:
    0 24px 52px -24px rgba(241, 144, 30, 0.45),
    inset 0 1px 0 rgba(255, 255, 255, 0.12);
}

.pricing-tag{
  margin: 0 0 10px;
  font-family: var(--font-body);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #FFB65C;
}

.pricing-title{
  margin: 0 0 10px;
  font-family: Georgia, 'Times New Roman', serif;
  font-weight: 700;
  font-size: 21px;
  color: #F7F8FF;
}

.pricing-desc{
  margin: 0 0 22px;
  font-family: var(--font-body);
  font-size: 13.5px;
  line-height: 1.55;
  color: rgba(245, 239, 239, 0.65);
  min-height: 40px;
}

.pricing-price{
  margin: 0 0 22px;
  font-family: var(--font-body);
  font-size: 34px;
  font-weight: 800;
  color: #FF9F40;
  line-height: 1;
}

.pricing-currency{
  font-size: 24px;
  font-weight: 700;
  margin-right: 2px;
}

.pricing-features{
  list-style: none;
  margin: 0 0 26px;
  padding: 0;
  flex-grow: 1;
}

.pricing-features li{
  display: flex;
  align-items: flex-start;
  gap: 8px;
  font-family: var(--font-body);
  font-size: 13.5px;
  color: #eff1f5;
  padding: 6px 0;
}

.pf-check{
  color: #B8860F;
  font-weight: 700;
  flex-shrink: 0;
}

/* ---- buttons ---- */
.pricing-btn{
  display: block;
  text-align: center;
  padding: 13px 20px;
  border-radius: 9px;
  font-family: var(--font-body);
  font-size: 14.5px;
  font-weight: 700;
  cursor: pointer;
  transition: transform 0.18s ease, background 0.18s ease, box-shadow 0.18s ease;
}

.pricing-btn--outline{
  background: #FFFFFF;
  color: #14161B;
  border: 1.5px solid #14161B;
}

.pricing-btn--outline:hover{
  background: #14161B;
  color: #FFFFFF;
  transform: translateY(-1px);
}

.pricing-btn--solid{
  background: #F1901E;
  color: #FFFFFF;
  border: 1.5px solid #F1901E;
}

.pricing-btn--solid:hover{
  background: #DB7E0F;
  box-shadow: 0 10px 22px -10px rgba(241, 144, 30, 0.55);
  transform: translateY(-1px);
}

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media (max-width: 900px){
  .pricing-heading{ font-size: 28px; }
}

@media (max-width: 720px){
  .pricing{ padding: 48px 20px 56px; }
  .pricing-header{ margin-bottom: 32px; }
  .pricing-heading{ font-size: 23px; }
  .pricing-subtext{ font-size: 13.5px; }

  .pricing-grid{
    grid-template-columns: 1fr;
    gap: 16px;
    max-width: 420px;
    margin: 0 auto;
  }

  .pricing-card{ padding: 22px 20px 24px; }
  .pricing-title{ font-size: 19px; }
  .pricing-price{ font-size: 29px; }
  .pricing-currency{ font-size: 20px; }
}

@media (max-width: 400px){
  .pricing-heading{ font-size: 20px; }
}


/* =========================================================
   GET CALL BACK BAR SECTION
   Light blue strip, centered text + icon on the left, teal
   button on the right — self-contained palette to match the
   reference exactly.
   ========================================================= */

.callback-bar{
  background: #C8EEFB;
  padding: 14px 24px;
}

.callback-bar-inner{
  max-width: 1180px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  flex-wrap: wrap;
}

.callback-text{
  margin: 0;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--font-body);
  font-size: 14.5px;
  font-weight: 600;
  color: #1B2733;
}

.callback-icon{
  font-size: 16px;
  line-height: 1;
}

.callback-btn{
  display: inline-block;
  padding: 9px 20px;
  border-radius: 7px;
  background: #2E7D93;
  color: #FFFFFF;
  font-family: var(--font-body);
  font-size: 13.5px;
  font-weight: 700;
  white-space: nowrap;
  transition: background 0.2s ease, transform 0.2s ease;
}

.callback-btn:hover{
  background: #256A7D;
  transform: translateY(-1px);
}

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media (max-width: 640px){
  .callback-bar{ padding: 14px 20px; }

  .callback-bar-inner{
    flex-direction: column;
    gap: 12px;
    text-align: center;
  }

  .callback-text{ font-size: 13.5px; }
  .callback-btn{ width: 100%; text-align: center; padding: 10px 20px; }
}

@media (max-width: 380px){
  .callback-text{ font-size: 12.5px; }
}



/* =========================================================
   HR INTERVIEW TOPICS SECTION
   White background + black dot pattern. 3 cards, each with a
   compact, internally-scrollable topic list (12–14 items per
   card) so the section stays a reasonable height instead of
   growing very tall. Reuses --font-display / --font-body from
   style.css; all other colors are self-contained.
   ========================================================= */

.topics{
  position: relative;
  overflow: hidden;
  background: #FFFFFF;
  padding: 56px 24px 64px;
}

.topics-dots-bg{
  position: absolute;
  inset: 0;
  z-index: 0;
  background-image: radial-gradient(rgba(20, 22, 27, 0.09) 1px, transparent 1px);
  background-size: 20px 20px;
  -webkit-mask-image: radial-gradient(ellipse 90% 85% at 50% 40%, black 25%, transparent 90%);
  mask-image: radial-gradient(ellipse 90% 85% at 50% 40%, black 25%, transparent 90%);
  pointer-events: none;
}

.topics-inner{
  position: relative;
  z-index: 1;
  max-width: 1180px;
  margin: 0 auto;
}

/* ---- header ---- */
.topics-header{
  text-align: center;
  margin-bottom: 34px;
}

.topics-heading{
  margin: 0 0 10px;
  font-family: Georgia, 'Times New Roman', serif;
  font-weight: 700;
  font-size: 27px;
  line-height: 1.3;
  letter-spacing: -0.01em;
  color: #14161B;
}

.topics-subtext{
  margin: 0 auto;
  max-width: 620px;
  font-size: 13.5px;
  line-height: 1.6;
  color: #6B6F76;
}

/* ---- grid ---- */
.topics-grid{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}

.topic-card{
  display: flex;
  flex-direction: column;
  background: #FFFFFF;
  border: 1px solid #E9EAEE;
  border-radius: 16px;
  padding: 20px 18px 18px;
  box-shadow: 0 16px 36px -26px rgba(20, 22, 27, 0.28);
}

.topic-card-head{
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 4px;
}

.topic-card-title{
  margin: 0;
  font-family: Georgia, 'Times New Roman', serif;
  font-weight: 700;
  font-size: 18px;
  color: #14161B;
}

.topic-arrow-btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  flex-shrink: 0;
  border-radius: 50%;
  border: 1px solid #E3E5EA;
  color: #14161B;
  background: #FAFAFB;
  transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.topic-arrow-btn:hover{
  background: #14161B;
  border-color: #14161B;
  color: #FFFFFF;
  transform: translateX(1px);
}

.topic-card-desc{
  margin: 0 0 12px;
  font-size: 12px;
  line-height: 1.5;
  color: #8A8E96;
}

/* ---- scrollable topic list ---- */
.topic-list{
  list-style: none;
  margin: 0 0 14px;
  padding: 0;
  max-height: 268px;
  overflow-y: auto;
  border-top: 1px solid #F0F1F4;
}

.topic-list::-webkit-scrollbar{ width: 4px; }
.topic-list::-webkit-scrollbar-track{ background: transparent; }
.topic-list::-webkit-scrollbar-thumb{ background: #E3E5EA; border-radius: 4px; }
.topic-list{ scrollbar-width: thin; scrollbar-color: #E3E5EA transparent; }

.topic-list li{ border-bottom: 1px solid #F0F1F4; }

.topic-list a{
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 9px 4px;
  font-size: 12.5px;
  font-weight: 500;
  color: #2B2E34;
  transition: color 0.18s ease, padding-left 0.18s ease;
}

.topic-list a:hover{
  color: var(--accent-red, #8E2A20);
  padding-left: 3px;
}

.topic-dot{
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--accent-coral, #EE9081);
  flex-shrink: 0;
}

.topic-list a span:not(.topic-dot){
  flex-grow: 1;
}

.topic-chevron{
  margin-left: auto;
  flex-shrink: 0;
  color: #B7BAC2;
}

/* ---- footer button ---- */
.topic-explore-btn{
  margin-top: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 11px 18px;
  border-radius: 9px;
  background: #171A1F;
  color: #FFFFFF;
  font-size: 13px;
  font-weight: 700;
  text-align: center;
  transition: background 0.2s ease, transform 0.2s ease;
}

.topic-explore-btn:hover{
  background: #000000;
  transform: translateY(-1px);
}

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media (max-width: 980px){
  .topics-heading{ font-size: 24px; }
  .topic-card-title{ font-size: 17px; }
}

@media (max-width: 860px){
  .topics-grid{
    grid-template-columns: 1fr;
    max-width: 480px;
    margin: 0 auto;
    gap: 14px;
  }

  .topic-list{ max-height: 240px; }
}

@media (max-width: 600px){
  .topics{ padding: 44px 20px 48px; }
  .topics-header{ margin-bottom: 26px; }

  .topics-heading{ font-size: 20px; }
  .topics-subtext{ font-size: 12.5px; }

  .topic-card{ padding: 16px 14px 14px; border-radius: 14px; }
  .topic-card-title{ font-size: 16px; }
  .topic-card-desc{ font-size: 11.5px; }

  .topic-list{ max-height: 220px; }
  .topic-list a{ font-size: 12px; padding: 8px 3px; }

  .topic-explore-btn{ font-size: 12.5px; padding: 10px 16px; }
}

@media (max-width: 380px){
  .topics-heading{ font-size: 18px; }
}


/* =========================================================
   FAQ SECTION
   White background + black dot pattern (same technique as the
   topics section). Native <details>/<summary> accordion — no
   JS required, every answer lives directly in the HTML.
   ========================================================= */

.faq{
  position: relative;
  overflow: hidden;
  background: #FFFFFF;
  padding: 56px 24px 64px;
}

.faq-dots-bg{
  position: absolute;
  inset: 0;
  z-index: 0;
  background-image: radial-gradient(rgba(20, 22, 27, 0.09) 1px, transparent 1px);
  background-size: 20px 20px;
  -webkit-mask-image: radial-gradient(ellipse 90% 85% at 50% 30%, black 25%, transparent 90%);
  mask-image: radial-gradient(ellipse 90% 85% at 50% 30%, black 25%, transparent 90%);
  pointer-events: none;
}

.faq-inner{
  position: relative;
  z-index: 1;
  max-width: 800px;
  margin: 0 auto;
}

.faq-heading{
  margin: 0 0 28px;
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 27px;
  letter-spacing: -0.01em;
  color: #14161B;
}

/* ---- accordion list ---- */
.faq-list{
  border-top: 1px solid #E9EAEE;
}

.faq-item{
  border-bottom: 1px solid #E9EAEE;
}

/* remove the browser's default disclosure triangle */
.faq-item > summary{
  list-style: none;
}
.faq-item > summary::-webkit-details-marker{
  display: none;
}

.faq-question{
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 17px 4px;
  font-size: 14.5px;
  font-weight: 500;
  color: #4A4E55;
  line-height: 1.5;
  transition: color 0.2s ease;
}

.faq-question:hover{
  color: #14161B;
}

/* bold + dark when the item is open, matching the reference's
   "active question" state */
.faq-item[open] .faq-question{
  color: #14161B;
  font-weight: 700;
}

.faq-arrow{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  color: #6B6F76;
  transition: transform 0.25s ease, color 0.25s ease;
}

.faq-item[open] .faq-arrow{
  transform: rotate(90deg);
  color: #14161B;
}

.faq-answer{
  padding: 0 4px 18px;
  max-width: 620px;
}

.faq-answer p{
  margin: 0 0 10px;
  font-size: 13.5px;
  line-height: 1.7;
  color: #767B82;
}

.faq-answer p:last-child{ margin-bottom: 0; }

.faq-answer ul{
  margin: 0 0 4px;
  padding-left: 18px;
}

.faq-answer li{
  font-size: 13.5px;
  line-height: 1.75;
  color: #767B82;
}

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media (max-width: 640px){
  .faq{ padding: 44px 20px 48px; }

  .faq-heading{ font-size: 21px; margin-bottom: 20px; }

  .faq-question{
    font-size: 13.5px;
    padding: 14px 2px;
    gap: 12px;
  }

  .faq-answer{ padding: 0 2px 16px; }
  .faq-answer p,
  .faq-answer li{ font-size: 12.5px; }
}

@media (max-width: 380px){
  .faq-heading{ font-size: 19px; }
}


/* =========================================================
   GET STARTED IN 3 STEPS SECTION (glassmorphic redesign)
   Dark brown background + white grid-line texture. Each step
   is its own contained glass card (not a full-width divided
   grid) — content sized to fit comfortably inside, medium
   compact spacing throughout.
   ========================================================= */

.steps{
  position: relative;
  overflow: hidden;
  background: linear-gradient(160deg, #2A1710 0%, #1C0F09 60%, #2A1710 100%);
  padding: 56px 24px 60px;
}

/* white grid-line texture across the section */
.steps-grid-bg{
  position: absolute;
  inset: 0;
  z-index: 0;
  background-image:
    linear-gradient(rgba(255, 255, 255, 0.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.06) 1px, transparent 1px);
  background-size: 44px 44px;
  -webkit-mask-image: radial-gradient(ellipse 85% 80% at 50% 40%, black 25%, transparent 90%);
  mask-image: radial-gradient(ellipse 85% 80% at 50% 40%, black 25%, transparent 90%);
  pointer-events: none;
}

/* contained width — not edge-to-edge like before */
.steps-inner{
  position: relative;
  z-index: 1;
  max-width: 980px;
  margin: 0 auto;
}

/* ---- header ---- */
.steps-header{
  text-align: center;
  margin-bottom: 34px;
}

.steps-heading{
  margin: 0 0 10px;
  font-family: Georgia, 'Times New Roman', serif;
  font-weight: 700;
  font-size: 27px;
  letter-spacing: -0.01em;
  color: #FBF3EA;
}

.steps-subtext{
  margin: 0 auto;
  max-width: 520px;
  font-size: 13.5px;
  line-height: 1.6;
  color: rgba(240, 224, 209, 0.62);
}

/* ---- glass card grid ---- */
.steps-grid{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}

.step-card{
  position: relative;
  display: flex;
  flex-direction: column;
  padding: 22px 20px 20px;
  background: rgba(255, 255, 255, 0.055);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 16px;
  box-shadow:
    0 18px 38px -24px rgba(0, 0, 0, 0.6),
    inset 0 1px 0 rgba(255, 255, 255, 0.07);
  transition: border-color 0.25s ease, transform 0.25s ease, background 0.25s ease;
}

.step-card:hover{
  border-color: rgba(255, 255, 255, 0.22);
  background: rgba(255, 255, 255, 0.08);
  transform: translateY(-2px);
}

.step-badge{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  margin-bottom: 14px;
  border-radius: 9px;
  background: linear-gradient(135deg, #E3A452 0%, #B9752D 100%);
  color: #1C0F09;
  font-family: var(--font-body);
  font-size: 14px;
  font-weight: 800;
  box-shadow: 0 8px 18px -8px rgba(227, 164, 82, 0.55);
}

.step-title{
  margin: 0 0 8px;
  font-family: Georgia, 'Times New Roman', serif;
  font-weight: 700;
  font-size: 15.5px;
  line-height: 1.35;
  color: #FBF3EA;
}

.step-desc{
  margin: 0 0 18px;
  font-size: 12px;
  line-height: 1.6;
  color: rgba(240, 224, 209, 0.6);
  flex-grow: 1;
}

.step-btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 9px 15px;
  border-radius: 8px;
  border: 1px solid rgba(255, 255, 255, 0.35);
  background: rgba(255, 255, 255, 0.04);
  color: #FBF3EA;
  font-size: 12px;
  font-weight: 700;
  text-align: center;
  transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.step-btn:hover{
  background: #FBF3EA;
  color: #1C0F09;
  transform: translateY(-1px);
}

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media (max-width: 900px){
  .steps-heading{ font-size: 24px; }
}

@media (max-width: 780px){
  .steps-grid{
    grid-template-columns: 1fr;
    max-width: 380px;
    margin: 0 auto;
    gap: 12px;
  }
}

@media (max-width: 600px){
  .steps{ padding: 44px 20px 48px; }
  .steps-header{ margin-bottom: 26px; }

  .steps-heading{ font-size: 20px; }
  .steps-subtext{ font-size: 12.5px; }

  .step-card{ padding: 18px 16px 16px; border-radius: 14px; }
  .step-badge{ width: 30px; height: 30px; font-size: 12.5px; margin-bottom: 12px; }
  .step-title{ font-size: 14.5px; }
  .step-desc{ font-size: 11.5px; margin-bottom: 14px; }
  .step-btn{ font-size: 11.5px; padding: 8px 14px; }
}

@media (max-width: 380px){
  .steps-heading{ font-size: 18px; }
}


/* =========================================================
   HR INTERVIEW ROADMAP SECTION
   White background, cascading colored-border stage cards
   connected by a tagline pill + vertical line, matching the
   reference layout exactly. Self-contained palette.
   ========================================================= */

.roadmap{
  background: #FFFFFF;
  padding: 56px 24px 60px;
}

.roadmap-inner{
  max-width: 1100px;
  margin: 0 auto;
}

/* ---- header ---- */
.roadmap-header{
  text-align: center;
  margin-bottom: 40px;
}

.roadmap-heading{
  margin: 0 0 12px;
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 26px;
  letter-spacing: -0.01em;
  color: #14161B;
}

.roadmap-subtext{
  margin: 0 auto;
  max-width: 620px;
  font-size: 14px;
  line-height: 1.65;
  color: #767B82;
}

/* ---- timeline ---- */
.roadmap-timeline{
  display: flex;
  flex-direction: column;
}

.roadmap-stage{
  position: relative;
}

/* cascading indent — each stage nudges further right and
   slightly narrower, matching the reference's staircase look */
.roadmap-stage--1{ margin-left: 0; width: 100%; }
.roadmap-stage--2{ margin-left: 26px; width: calc(100% - 26px); }
.roadmap-stage--3{ margin-left: 52px; width: calc(100% - 52px); }
.roadmap-stage--4{ margin-left: 78px; width: calc(100% - 78px); }

/* ---- stage colors ---- */
.roadmap-stage--1{ --stage-color: #3B6FE0; --stage-bg: #EAF1FE; }
.roadmap-stage--2{ --stage-color: #7C5CFF; --stage-bg: #F1EDFF; }
.roadmap-stage--3{ --stage-color: #E3A452; --stage-bg: #FDF3E4; }
.roadmap-stage--4{ --stage-color: #E8622C; --stage-bg: #FDEBE1; }

/* ---- card ---- */
.stage-card{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 18px 22px;
  background: #FFFFFF;
  border: 1px solid #EAEBEF;
  border-left: 4px solid var(--stage-color);
  border-radius: 12px;
  box-shadow: 0 12px 28px -22px rgba(20, 22, 27, 0.3);
}

.stage-card-main{
  display: flex;
  align-items: center;
  gap: 18px;
  min-width: 0;
}

.stage-badge{
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 6px 12px;
  border-radius: 999px;
  background: var(--stage-bg);
  color: var(--stage-color);
  font-size: 12px;
  font-weight: 700;
  white-space: nowrap;
}

.stage-dot{
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--stage-color);
}

.stage-copy{ min-width: 0; }

.stage-title{
  margin: 0 0 3px;
  font-family: var(--font-display);
  font-size: 15.5px;
  font-weight: 700;
  color: #14161B;
}

.stage-desc{
  margin: 0;
  font-size: 12.5px;
  line-height: 1.55;
  color: #767B82;
  max-width: 560px;
}

.stage-pill{
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  padding: 7px 14px;
  border-radius: 999px;
  background: var(--stage-bg);
  color: var(--stage-color);
  font-size: 12px;
  font-weight: 700;
  white-space: nowrap;
}

/* ---- connector: vertical line + tagline pill ---- */
.stage-connector{
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  margin: 8px 0 8px 26px;
}

.stage-line{
  width: 2px;
  height: 14px;
  background: var(--stage-color);
  opacity: 0.35;
  margin-bottom: 6px;
}

.stage-tagline{
  margin: 0;
  padding: 6px 14px;
  border-radius: 999px;
  background: var(--stage-bg);
  color: var(--stage-color);
  font-size: 11.5px;
  font-weight: 600;
  border-left: 2px solid var(--stage-color);
}

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media (max-width: 900px){
  .roadmap-heading{ font-size: 23px; }
}

@media (max-width: 760px){
  /* drop the cascade — stack full-width, it's cleaner and more
     legible on narrow screens than a shrinking staircase */
  .roadmap-stage--1,
  .roadmap-stage--2,
  .roadmap-stage--3,
  .roadmap-stage--4{
    margin-left: 0;
    width: 100%;
  }

  .stage-card{
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
    padding: 16px 16px 16px 18px;
  }

  .stage-card-main{ align-items: flex-start; gap: 12px; }
  .stage-pill{ align-self: flex-start; }
  .stage-desc{ max-width: none; }
  .stage-connector{ margin-left: 18px; }
}

@media (max-width: 560px){
  .roadmap{ padding: 44px 20px 48px; }
  .roadmap-header{ margin-bottom: 28px; }

  .roadmap-heading{ font-size: 19px; }
  .roadmap-subtext{ font-size: 12.5px; }

  .stage-card-main{ flex-direction: column; align-items: flex-start; gap: 8px; }
  .stage-title{ font-size: 14.5px; }
  .stage-desc{ font-size: 12px; }
  .stage-badge{ font-size: 11px; padding: 5px 10px; }
  .stage-pill{ font-size: 11px; padding: 6px 12px; }
  .stage-tagline{ font-size: 10.5px; padding: 5px 11px; }
}

@media (max-width: 380px){
  .roadmap-heading{ font-size: 17px; }
}


/* =========================================================
   TESTIMONIALS SLIDER SECTION
   Center-focused peek carousel: active card full size/opacity,
   neighbors partially visible and dissolving into the page via
   soft gradient "cloud" overlays at the viewport edges.
   ========================================================= */

.testimonials{
  position: relative;
  overflow: hidden;
  background: #FBFBFC;
  padding: 56px 0 64px;
}

.testimonials-inner{
  max-width: 1180px;
  margin: 0 auto;
  padding: 0 24px;
}

/* ---- header ---- */
.testimonials-header{
  text-align: center;
  margin-bottom: 36px;
}

.testimonials-badge{
  display: inline-block;
  margin-bottom: 14px;
  padding: 7px 16px;
  border: 1px solid #F3B7B0;
  border-radius: 999px;
  background: #FDF2F1;
  font-size: 12px;
  font-weight: 600;
  color: #D93A2B;
}

.testimonials-heading{
  margin: 0 0 10px;
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 27px;
  color: #14161B;
}

.testimonials-subtext{
  margin: 0 auto;
  max-width: 520px;
  font-size: 14px;
  color: #767B82;
}

/* ---- viewport / track ---- */
.testimonial-viewport{
  position: relative;
  overflow: hidden;
  padding: 6px 0;
}

.testimonial-track{
  display: flex;
  gap: 22px;
  will-change: transform;
  transition: transform 0.6s cubic-bezier(0.22, 1, 0.36, 1);
}

.testimonial-card{
  flex: 0 0 auto;
  width: min(600px, 78vw);
  padding: 28px 30px 26px;
  background: #FFFFFF;
  border: 1px solid #ECEDF1;
  border-radius: 18px;
  box-shadow: 0 10px 24px -20px rgba(20, 22, 27, 0.2);
  opacity: 0.5;
  transform: scale(0.94);
  transition: opacity 0.5s ease, transform 0.5s ease, box-shadow 0.5s ease, border-color 0.5s ease;
}

.testimonial-card.is-active{
  opacity: 1;
  transform: scale(1);
  border-color: #E3E5EA;
  box-shadow: 0 26px 50px -26px rgba(20, 22, 27, 0.28);
}

.testimonial-quote{
  margin: 0 0 22px;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.5;
  color: #14161B;

  /* clamp to 4 lines so cards stay a consistent height */
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.testimonial-author{
  display: flex;
  align-items: center;
  gap: 12px;
}

.testimonial-avatar{
  width: 44px;
  height: 44px;
  border-radius: 50%;
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #FFFFFF;
  font-family: var(--font-display);
  font-size: 16px;
  font-weight: 700;
}

.testimonial-name{
  margin: 0;
  font-size: 14.5px;
  font-weight: 700;
  color: #14161B;
}

.testimonial-role{
  margin: 0;
  font-size: 12.5px;
  color: #8A8E96;
}

/* ---- cloud-like gradient fade at the viewport edges ---- */
.slider-fade{
  position: absolute;
  top: 0;
  bottom: 0;
  width: 160px;
  z-index: 2;
  pointer-events: none;
}

.slider-fade--left{
  left: 0;
  background: linear-gradient(90deg, #FBFBFC 0%, rgba(251, 251, 252, 0) 100%);
}

.slider-fade--right{
  right: 0;
  background: linear-gradient(270deg, #FBFBFC 0%, rgba(251, 251, 252, 0) 100%);
}

/* ---- controls ---- */
.slider-controls{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin-top: 28px;
}

.slider-btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  border: 1px solid #F3B7B0;
  background: #FFFFFF;
  color: #D93A2B;
  cursor: pointer;
  transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.slider-btn:hover{
  background: #D93A2B;
  color: #FFFFFF;
  transform: translateY(-1px);
}

.slider-btn:active{ transform: translateY(0); }

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media (max-width: 900px){
  .testimonials-heading{ font-size: 23px; }
  .testimonial-card{ padding: 24px 24px 22px; }
  .testimonial-quote{ font-size: 15px; }
  .slider-fade{ width: 80px; }
}

@media (max-width: 640px){
  .testimonials{ padding: 44px 0 48px; }
  .testimonials-header{ margin-bottom: 26px; }

  .testimonials-heading{ font-size: 20px; }
  .testimonials-subtext{ font-size: 13px; }
  .testimonials-badge{ font-size: 11px; padding: 6px 13px; }

  .testimonial-card{
    width: min(420px, 84vw);
    padding: 20px 20px 18px;
    border-radius: 14px;
  }

  .testimonial-quote{ font-size: 14px; margin-bottom: 18px; -webkit-line-clamp: 5; }
  .testimonial-avatar{ width: 38px; height: 38px; font-size: 14px; }
  .testimonial-name{ font-size: 13.5px; }
  .testimonial-role{ font-size: 12px; }

  .slider-fade{ width: 40px; }
  .slider-btn{ width: 34px; height: 34px; }
}

@media (max-width: 380px){
  .testimonials-heading{ font-size: 18px; }
  .testimonial-card{ width: min(320px, 88vw); }
}

/* =========================================================
   CONTACT SECTION
   White background + black dot pattern, matching the other
   light sections. Clean two-column form on desktop, single
   column on mobile.
   ========================================================= */

.contact{
  position: relative;
  overflow: hidden;
  background: #FFFFFF;
  padding: 56px 24px 64px;
}

.contact-dots-bg{
  position: absolute;
  inset: 0;
  z-index: 0;
  background-image: radial-gradient(rgba(20, 22, 27, 0.09) 1px, transparent 1px);
  background-size: 20px 20px;
  -webkit-mask-image: radial-gradient(ellipse 85% 80% at 50% 30%, black 25%, transparent 90%);
  mask-image: radial-gradient(ellipse 85% 80% at 50% 30%, black 25%, transparent 90%);
  pointer-events: none;
}

.contact-inner{
  position: relative;
  z-index: 1;
  max-width: 660px;
  margin: 0 auto;
}

.contact-header{
  text-align: center;
  margin-bottom: 30px;
}

.contact-heading{
  margin: 0 0 8px;
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 26px;
  color: #14161B;
}

.contact-subtext{
  margin: 0;
  font-size: 13.5px;
  color: #767B82;
}

/* ---- form ---- */
.contact-form{
  background: #FFFFFF;
  border: 1px solid #E9EAEE;
  border-radius: 16px;
  padding: 26px;
  box-shadow: 0 20px 44px -30px rgba(20, 22, 27, 0.3);
}

.contact-row{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  margin-bottom: 14px;
}

.contact-field{
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.contact-field--full{ margin-bottom: 18px; }

.contact-label{
  font-size: 12.5px;
  font-weight: 600;
  color: #14161B;
}

.contact-field input,
.contact-field select,
.contact-field textarea{
  font-family: var(--font-body);
  font-size: 13.5px;
  padding: 10px 12px;
  border: 1px solid #DEE1E6;
  border-radius: 8px;
  background: #FAFAFB;
  color: #14161B;
  outline: none;
  transition: border-color 0.2s ease, background 0.2s ease;
}

.contact-field input:focus,
.contact-field select:focus,
.contact-field textarea:focus{
  border-color: var(--accent-coral, #EE9081);
  background: #FFFFFF;
}

.contact-field textarea{ resize: vertical; min-height: 92px; }

.contact-honeypot{
  display: none;
}

.contact-submit{
  width: 100%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 12px 20px;
  border: none;
  border-radius: 9px;
  background: #171A1F;
  color: #FFFFFF;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
  transition: background 0.2s ease, transform 0.2s ease, opacity 0.2s ease;
}

.contact-submit:hover{ background: #000000; transform: translateY(-1px); }
.contact-submit:disabled{ opacity: 0.6; cursor: not-allowed; transform: none; }

.contact-status{
  margin: 12px 0 0;
  min-height: 18px;
  font-size: 12.5px;
  font-weight: 600;
  text-align: center;
}

.contact-status.is-success{ color: #1F9254; }
.contact-status.is-error{ color: #D93A2B; }

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media (max-width: 600px){
  .contact{ padding: 44px 20px 48px; }
  .contact-header{ margin-bottom: 24px; }

  .contact-heading{ font-size: 21px; }
  .contact-subtext{ font-size: 12.5px; }

  .contact-form{ padding: 20px; border-radius: 14px; }

  .contact-row{
    grid-template-columns: 1fr;
    gap: 12px;
    margin-bottom: 12px;
  }

  .contact-field--full{ margin-bottom: 16px; }
  .contact-submit{ font-size: 13px; padding: 11px 18px; }
}


 .footer-wrap{
    --bg-black: #0b0708;
    --bg-maroon: #2a0f12;
    --bg-red: #3a1216;
    --text-white: #ffffff;
    --text-muted: #d9c9cb;
    --accent-purple: #a06bd6;
    --accent-orange: #e0765a;
    --line: rgba(255,255,255,0.18);
    --glass-border: rgba(255,255,255,0.08);
 
    position:relative;
    background:
      radial-gradient(ellipse 900px 500px at 15% 100%, rgba(224,118,90,0.16), transparent 60%),
      radial-gradient(ellipse 700px 400px at 85% 20%, rgba(160,107,214,0.10), transparent 60%),
      linear-gradient(160deg, #120607 0%, #2a0f12 45%, #3a1216 75%, #1a0709 100%);
    overflow:hidden;
    padding-top: 36px;
    font-family: 'Segoe UI', 'Helvetica Neue', Arial, sans-serif;
  }
  .footer-wrap *{ box-sizing:border-box; }
 
  /* subtle white grid overlay */
  .footer-wrap::before{
    content:"";
    position:absolute;
    inset:0;
    background-image:
      linear-gradient(to right, rgba(255,255,255,0.035) 1px, transparent 1px),
      linear-gradient(to bottom, rgba(255,255,255,0.035) 1px, transparent 1px);
    background-size: 32px 32px;
    -webkit-mask-image: radial-gradient(ellipse 100% 100% at 50% 30%, black 40%, transparent 85%);
    mask-image: radial-gradient(ellipse 100% 100% at 50% 30%, black 40%, transparent 85%);
    pointer-events:none;
  }
 
  /* wavy divider like screenshot */
  .footer-wrap .wave-divider{
    position:absolute;
    top: 0;
    left:0;
    width:100%;
    height:36px;
    z-index:2;
    display:block;
  }
  .footer-wrap .wave-divider path{
    fill:#000;
  }
 
  .footer-wrap .footer-inner{
    position:relative;
    z-index:3;
    max-width:1400px;
    margin:0 auto;
    padding: 18px 28px 0 28px;
  }
 
  .footer-wrap .tagline{
    font-size:1.05rem;
    font-weight:700;
    color:var(--text-white);
    line-height:1.3;
    max-width:700px;
    margin:0 0 22px 0;
  }
  .footer-wrap .tagline .accent{
    background: linear-gradient(90deg, var(--accent-orange), var(--accent-purple));
    -webkit-background-clip: text;
    background-clip:text;
    color:transparent;
  }
 
  .footer-wrap .footer-columns{
    display:grid;
    grid-template-columns: 1.2fr 0.8fr 1.3fr 0.8fr;
    gap: 14px;
    padding-bottom: 18px;
  }
 
  .footer-wrap .brand-logo{
    display:flex;
    align-items:center;
    gap:6px;
    margin-bottom: 10px;
  }
  .footer-wrap .brand-logo .logo-circle{
    width:24px;
    height:24px;
    border-radius:50%;
    background:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    flex-shrink:0;
  }
  .footer-wrap .brand-logo .logo-circle svg{ width:14px; height:14px; }
  .footer-wrap .brand-logo .logo-text{
    font-size:0.9rem;
    font-weight:800;
    color:#fff;
    letter-spacing:0.3px;
  }
 
  .footer-wrap .contact-line{
    display:flex;
    align-items:flex-start;
    gap:6px;
    color:var(--text-muted);
    font-size:0.72rem;
    margin-bottom: 8px;
    line-height:1.35;
  }
  .footer-wrap .contact-line svg{
    flex-shrink:0;
    margin-top:2px;
    opacity:0.85;
    width:12px;
    height:12px;
  }
 
  .footer-wrap .iso-badge{ margin-top:6px; }
  .footer-wrap .iso-badge svg{ width:32px; height:32px; }
 
  .footer-wrap .col-heading{
    font-size:0.8rem;
    font-weight:700;
    color:#fff;
    margin:0 0 6px 0;
  }
  .footer-wrap .heading-rule{
    height:1.5px;
    width:100%;
    max-width:130px;
    background: linear-gradient(90deg, var(--accent-orange), transparent);
    margin-bottom: 10px;
  }
 
  .footer-wrap .col-links{
    list-style:none;
    display:flex;
    flex-direction:column;
    gap:6px;
    margin:0;
    padding:0;
  }
  .footer-wrap .col-links a{
    color:var(--text-muted);
    text-decoration:none;
    font-size:0.72rem;
    transition: color 0.2s ease, transform 0.2s ease;
    display:inline-block;
  }
  .footer-wrap .col-links a:hover{
    color:#fff;
    transform: translateX(2px);
  }
 
  .footer-wrap .categories-grid{
    display:grid;
    grid-template-columns: 1fr 1fr;
    gap: 6px 14px;
  }
 
  .footer-wrap .social-icons{
    display:flex;
    flex-direction:column;
    gap:6px;
  }
  .footer-wrap .social-icons a{
    display:flex;
    align-items:center;
    gap:6px;
    color:var(--text-muted);
    text-decoration:none;
    font-size:0.72rem;
    transition: color 0.2s ease, transform 0.2s ease;
  }
  .footer-wrap .social-icons a:hover{
    color:#fff;
    transform: translateX(2px);
  }
  .footer-wrap .icon-circle{
    width:20px;
    height:20px;
    border-radius:50%;
    background: rgba(255,255,255,0.08);
    backdrop-filter: blur(6px);
    border:1px solid var(--glass-border);
    display:flex;
    align-items:center;
    justify-content:center;
    flex-shrink:0;
    transition: background 0.2s ease, border-color 0.2s ease;
  }
  .footer-wrap .social-icons a:hover .icon-circle{
    background: rgba(255,255,255,0.16);
    border-color: rgba(255,255,255,0.3);
  }
  .footer-wrap .icon-circle svg{ width:10px; height:10px; }
 
  .footer-wrap .footer-bottom{
    position:relative;
    z-index:3;
    border-top:1px solid var(--line);
    padding: 10px 28px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    flex-wrap:wrap;
    gap:8px;
    max-width:1400px;
    margin:0 auto;
  }
  .footer-wrap .footer-bottom .copyright{
    color:var(--text-muted);
    font-size:0.68rem;
  }
  .footer-wrap .footer-bottom .legal-links{
    display:flex;
    gap:16px;
  }
  .footer-wrap .footer-bottom .legal-links a{
    color:#fff;
    text-decoration:none;
    font-size:0.68rem;
    font-weight:600;
  }
  .footer-wrap .footer-bottom .legal-links a:hover{
    text-decoration:underline;
  }
 
  /* Responsive — columns stay in ONE row at every size, just shrink further */
  @media (max-width: 900px){
    .footer-wrap .footer-inner{ padding: 14px 16px 0 16px; }
    .footer-wrap .footer-bottom{ padding: 8px 16px; }
    .footer-wrap .footer-columns{
      grid-template-columns: 1fr 0.8fr 1.2fr 0.8fr;
      gap: 8px;
    }
    .footer-wrap .tagline{ font-size:0.85rem; margin-bottom:16px; }
    .footer-wrap .col-heading{ font-size:0.7rem; }
    .footer-wrap .col-links a,
    .footer-wrap .contact-line,
    .footer-wrap .social-icons a{ font-size:0.62rem; }
    .footer-wrap .categories-grid{ gap:4px 8px; }
    .footer-wrap .brand-logo .logo-text{ font-size:0.75rem; }
    .footer-wrap .iso-badge svg{ width:26px; height:26px; }
    .footer-wrap .footer-bottom .legal-links{ gap:10px; }
  }
 
  @media (max-width: 600px){
    .footer-wrap .footer-columns{
      grid-template-columns: 0.9fr 0.7fr 1.1fr 0.7fr;
      gap: 5px;
    }
    .footer-wrap .tagline{ font-size:0.68rem; margin-bottom:10px; }
    .footer-wrap .col-heading{ font-size:0.58rem; margin-bottom:4px; }
    .footer-wrap .heading-rule{ margin-bottom:5px; max-width:60px; }
    .footer-wrap .col-links{ gap:3px; }
    .footer-wrap .col-links a,
    .footer-wrap .contact-line,
    .footer-wrap .social-icons a{ font-size:0.52rem; }
    .footer-wrap .contact-line{ gap:3px; margin-bottom:4px; }
    .footer-wrap .contact-line svg{ width:9px; height:9px; }
    .footer-wrap .categories-grid{ grid-template-columns: 1fr; gap:3px; }
    .footer-wrap .brand-logo{ gap:3px; margin-bottom:5px; }
    .footer-wrap .brand-logo .logo-circle{ width:16px; height:16px; }
    .footer-wrap .brand-logo .logo-circle svg{ width:9px; height:9px; }
    .footer-wrap .brand-logo .logo-text{ font-size:0.58rem; }
    .footer-wrap .iso-badge svg{ width:18px; height:18px; }
    .footer-wrap .icon-circle{ width:14px; height:14px; }
    .footer-wrap .icon-circle svg{ width:7px; height:7px; }
    .footer-wrap .social-icons{ gap:3px; }
    .footer-wrap .footer-bottom{ flex-direction:column; align-items:flex-start; gap:5px; }
    .footer-wrap .footer-bottom .copyright,
    .footer-wrap .footer-bottom .legal-links a{ font-size:0.5rem; }
    .footer-wrap .footer-bottom .legal-links{ gap:8px; }
  }

/* =========================================================
   CHECKOUT PAGE
   ========================================================= */

.checkout-page {
  padding-top: 96px;
  padding-bottom: 48px;
  min-height: calc(100vh - 300px);
}

.checkout-container {
  max-width: var(--container-w);
  margin: 0 auto;
  padding: 0 5%;
}

.checkout-hero {
  margin-bottom: 32px;
  text-align: left;
}

.checkout-hero-label {
  display: inline-block;
  font-size: 0.8rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: var(--accent-coral);
  margin-bottom: 8px;
}

.checkout-hero-heading {
  font-family: var(--font-display);
  font-size: 2.25rem;
  font-weight: 700;
  line-height: 1.2;
  margin: 0 0 8px 0;
}

.checkout-hero-subtext {
  font-size: 0.95rem;
  color: var(--text-muted);
  max-width: 600px;
  margin: 0 0 12px 0;
  line-height: 1.5;
}

.checkout-trust-line {
  font-size: 0.8rem;
  color: var(--text-faint);
  display: flex;
  align-items: center;
  gap: 6px;
}

.checkout-grid {
  display: grid;
  grid-template-columns: 1fr 360px;
  gap: 24px;
  align-items: start;
}

.checkout-section {
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid var(--line-grid);
  border-radius: var(--radius-md);
  padding: 24px;
  margin-bottom: 16px;
}

.checkout-section-title {
  font-family: var(--font-display);
  font-size: 1.5rem;
  font-weight: 600;
  color: var(--white);
  margin: 0 0 16px 0;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--line-grid);
}

.checkout-text {
  font-size: 0.9rem;
  color: var(--text-muted);
  line-height: 1.5;
  margin-bottom: 12px;
}
.checkout-text:last-child {
  margin-bottom: 0;
}

.checkout-features {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

.checkout-feature-item {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  font-size: 0.85rem;
  color: var(--text-white);
  line-height: 1.4;
}

.checkout-feature-icon {
  color: var(--accent-coral);
  font-weight: bold;
  margin-top: 1px;
}

.checkout-journey-list {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.checkout-journey-item {
  display: flex;
  gap: 12px;
}

.checkout-journey-num {
  width: 24px;
  height: 24px;
  flex-shrink: 0;
  border-radius: 50%;
  background: var(--accent-red-deep);
  color: var(--white);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.75rem;
  font-weight: bold;
}

.checkout-journey-content h4 {
  margin: 0 0 4px 0;
  font-size: 0.95rem;
  color: var(--white);
}

.checkout-journey-content p {
  margin: 0;
  font-size: 0.85rem;
  color: var(--text-muted);
  line-height: 1.4;
}

.checkout-summary-card {
  position: sticky;
  top: 96px;
  background: linear-gradient(180deg, var(--bg-hero-2) 0%, rgba(69, 23, 18, 0.4) 100%);
  border: 1px solid var(--line-grid);
  border-radius: var(--radius-md);
  padding: 24px;
}

.checkout-summary-title {
  font-family: var(--font-display);
  font-size: 1.25rem;
  margin: 0 0 16px 0;
  color: var(--white);
  text-align: center;
}

.checkout-summary-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 10px;
  font-size: 0.9rem;
  color: var(--text-white);
}

.checkout-summary-row.total {
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid var(--line-grid);
  font-size: 1.1rem;
  font-weight: bold;
  color: var(--accent-coral);
}

.checkout-ack {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin: 16px 0;
  font-size: 0.8rem;
  color: var(--text-muted);
  line-height: 1.4;
}

.checkout-ack input {
  margin-top: 3px;
  accent-color: var(--accent-coral);
}

.razorpay-btn-wrapper {
  width: 100%;
  margin-top: 16px;
  display: flex;
  justify-content: center;
}

.razorpay-btn-wrapper .razorpay-payment-button {
  width: 100%;
  background: var(--accent-red) !important;
  color: var(--white) !important;
  border: none !important;
  padding: 12px 20px !important;
  border-radius: 8px !important;
  font-family: var(--font-body) !important;
  font-size: 0.95rem !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: background 0.3s ease !important;
}

.razorpay-btn-wrapper .razorpay-payment-button:hover {
  background: var(--accent-red-deep) !important;
}

.checkout-secure-badge {
  text-align: center;
  font-size: 0.75rem;
  color: var(--text-faint);
  margin-top: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
}

.checkout-help {
  text-align: center;
  margin-top: 20px;
  font-size: 0.8rem;
  color: var(--text-muted);
}

.checkout-help a {
  color: var(--accent-coral);
  text-decoration: underline;
}

@media (max-width: 992px) {
  .checkout-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  
  .checkout-summary-card {
    position: static;
  }
}

@media (max-width: 768px) {
  .checkout-page {
    padding-top: 80px;
    padding-bottom: 32px;
  }
  
  .checkout-container {
    padding: 0 20px;
  }

  .checkout-hero-heading {
    font-size: 1.75rem;
  }
  
  .checkout-section-title {
    font-size: 1.25rem;
  }

  .checkout-features {
    grid-template-columns: 1fr;
  }
  
  .checkout-section {
    padding: 20px;
  }
}

@media (max-width: 480px) {
  .checkout-container {
    padding: 0 16px;
  }
  .checkout-section {
    padding: 16px;
  }
  .checkout-summary-card {
    padding: 16px;
  }
}

/* =========================================================
   LEGAL PAGES (Privacy Policy, Terms)
   ========================================================= */

.legal-page {
  background-color: #fcfcfc;
  background-image: radial-gradient(rgba(0, 0, 0, 0.06) 1px, transparent 1px);
  background-size: 16px 16px;
  padding-top: 100px;
  padding-bottom: 60px;
  min-height: calc(100vh - 300px);
}

.legal-container {
  max-width: 900px;
  margin: 0 auto;
  background: #ffffff;
  border-radius: var(--radius-lg);
  padding: 48px;
  box-shadow: 0 4px 24px rgba(0,0,0,0.04);
  color: #333333;
}

.legal-container h1, .legal-container h2, .legal-container h3, .legal-container h4 {
  color: #111111;
  font-family: var(--font-display);
}

.legal-container h1 {
  font-size: 38px;
  font-weight: 700;
  margin-bottom: 8px;
  line-height: 1.2;
}

.legal-updated {
  font-size: 14px;
  color: #666666;
  margin-bottom: 32px;
  display: block;
}

.legal-intro {
  font-size: 15px;
  line-height: 1.7;
  margin-bottom: 32px;
  color: #444444;
}

.legal-section {
  margin-bottom: 32px;
}

.legal-section h2 {
  font-size: 24px;
  font-weight: 600;
  margin-bottom: 16px;
  padding-bottom: 8px;
  border-bottom: 1px solid #eeeeee;
}

.legal-section h3 {
  font-size: 18px;
  font-weight: 600;
  margin-top: 24px;
  margin-bottom: 12px;
}

.legal-section p, .legal-section li {
  font-size: 15px;
  line-height: 1.7;
  color: #444444;
  margin-bottom: 12px;
}

.legal-section ul, .legal-section ol {
  padding-left: 20px;
  margin-bottom: 16px;
}

.legal-section a {
  color: var(--accent-coral);
  text-decoration: underline;
}

@media (max-width: 768px) {
  .legal-page {
    padding-top: 80px;
    padding-bottom: 40px;
  }
  .legal-container {
    padding: 32px 24px;
    margin: 0 16px;
  }
  .legal-container h1 {
    font-size: 30px;
  }
  .legal-section h2 {
    font-size: 22px;
  }
  .legal-section p, .legal-section li {
    font-size: 14px;
  }
}

@media (max-width: 480px) {
  .legal-container {
    padding: 24px 16px;
    margin: 0 16px;
  }
}