/* ===== Fonts ===== */
@font-face {
  font-family: 'Real Kien Phan Display';
  src: url('../font/RealKienPhanDisplay-Light.otf') format('opentype');
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Real Kien Phan Display';
  src: url('../font/RealKienPhanDisplay-Regular.otf') format('opentype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Real Kien Phan Display';
  src: url('../font/RealKienPhanDisplay-Medium.otf') format('opentype');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Real Kien Phan Display';
  src: url('../font/RealKienPhanDisplay-Bold.otf') format('opentype');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

/* ===== Tokens ===== */
:root {
  --basalt: #1b1f23;
  --bronze: #a6743c;
  --bronze-hold: #94622b;
  --lime: #f5efe3;
  --travertine: #d4c4a8;
  --paper: #fbf8f1;
  --olive: #6e7b4a;
  --dark-panel: #22262c;
  --dark-visual: #22303a;

  --font-serif: 'Cormorant Garamond', serif;
  --font-sans: 'Inter', sans-serif;
  --font-mono: 'JetBrains Mono', monospace;

  --pad-x: max(130px, calc((100vw - 1180px) / 2));
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
html, body { max-width: 100%; overflow-x: hidden; }
body {
  margin: 0;
  font-family: var(--font-sans);
  color: var(--basalt);
  background: var(--paper);
}
img { display: block; max-width: 100%; }
a { text-decoration: none; color: inherit; }
ul, ol { list-style: none; margin: 0; padding: 0; }
h1, h2, p { margin: 0; }

.eyebrow {
  font-family: var(--font-sans);
  font-weight: 700;
  font-size: 11px;
  letter-spacing: 1.1px;
  text-transform: uppercase;
}
.eyebrow--bronze { color: var(--bronze); }

.arrow { display: inline-block; transition: transform 0.25s ease-out; }
.btn:hover .arrow, .link-arrow:hover .arrow { transform: translateX(4px); }

/* Scroll reveal */
[data-reveal] {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.7s cubic-bezier(0.16, 1, 0.3, 1), transform 0.7s cubic-bezier(0.16, 1, 0.3, 1);
}
[data-reveal].is-visible { opacity: 1; transform: translateY(0); }

/* Staggered children reveal: cards/steps fade+rise in sequence once their section is visible */
.stats.is-visible .stat,
.reviews.is-visible .review-card,
.why.is-visible .feature-card,
.timeline.is-visible .timeline__step,
.ghost-cards.is-visible .ghost-card {
  opacity: 0;
  transform: translateY(18px);
  animation: stagger-in 0.6s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}
.stats.is-visible .stat:nth-child(1), .reviews.is-visible .review-card:nth-child(1), .why.is-visible .feature-card:nth-child(1), .timeline.is-visible .timeline__step:nth-child(1), .ghost-cards.is-visible .ghost-card:nth-child(1) { animation-delay: 0.05s; }
.stats.is-visible .stat:nth-child(2), .reviews.is-visible .review-card:nth-child(2), .why.is-visible .feature-card:nth-child(2), .timeline.is-visible .timeline__step:nth-child(2), .ghost-cards.is-visible .ghost-card:nth-child(2) { animation-delay: 0.15s; }
.stats.is-visible .stat:nth-child(3), .reviews.is-visible .review-card:nth-child(3), .why.is-visible .feature-card:nth-child(3), .timeline.is-visible .timeline__step:nth-child(3), .ghost-cards.is-visible .ghost-card:nth-child(3) { animation-delay: 0.25s; }
.stats.is-visible .stat:nth-child(4), .why.is-visible .feature-card:nth-child(4), .timeline.is-visible .timeline__step:nth-child(4) { animation-delay: 0.35s; }
@keyframes stagger-in {
  to { opacity: 1; transform: translateY(0); }
}

@media (prefers-reduced-motion: reduce) {
  [data-reveal],
  .stats.is-visible .stat, .reviews.is-visible .review-card, .why.is-visible .feature-card,
  .timeline.is-visible .timeline__step, .ghost-cards.is-visible .ghost-card {
    opacity: 1; transform: none; transition: none; animation: none;
  }
}

/* Buttons */
.btn {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  border-radius: 100px;
  padding: 14px 30px;
  font-family: var(--font-sans);
  font-weight: 600;
  font-size: 15px;
  white-space: nowrap;
  cursor: pointer;
  border: none;
}
.btn--bronze {
  background: var(--bronze);
  color: var(--lime);
  transition: background-color 0.3s ease-out, transform 0.3s ease-out;
}
.btn--bronze:hover { background: var(--bronze-hold); }
.btn--bronze:active { transform: scale(0.97); }

.btn--outline-dark {
  background: transparent;
  border: 1.5px solid var(--basalt);
  color: var(--basalt);
  transition: background-color 0.3s ease-out, color 0.3s ease-out;
}
.btn--outline-dark:hover { background: var(--basalt); color: var(--lime); }

.btn--outline-light {
  background: transparent;
  border: 1.5px solid var(--lime);
  color: var(--lime);
  transition: background-color 0.15s ease-out, color 0.15s ease-out;
}
.btn--outline-light:hover { background: var(--lime); color: var(--basalt); }

.btn--sm { padding: 9px 19px; font-size: 13.5px; }

/* ===== Header ===== */
.header {
  background: var(--basalt);
  padding: 16px var(--pad-x);
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: sticky;
  top: 0;
  z-index: 50;
  box-shadow: 0 0 0 rgba(0,0,0,0);
  transition: box-shadow 0.3s ease-out, padding 0.3s ease-out;
}
.header.is-scrolled {
  padding-top: 12px;
  padding-bottom: 12px;
  box-shadow: 0 8px 24px rgba(0,0,0,0.28);
}
.brand { display: flex; align-items: center; gap: 8px; }
.brand__mark { width: 38px; height: 30px; }
.brand__name {
  font-family: 'Real Kien Phan Display', Georgia, var(--font-serif), serif;
  font-weight: 700;
  font-size: 25px;
  color: var(--lime);
}
.nav { display: flex; align-items: center; gap: 30px; }
.nav__link {
  position: relative;
  font-family: var(--font-sans); font-weight: 500; font-size: 15px; color: var(--lime);
  transition: color 0.25s ease-out;
  padding-bottom: 2px;
}
.nav__link::after {
  content: '';
  position: absolute; left: 0; bottom: 0;
  width: 0; height: 1.5px;
  background: var(--bronze);
  transition: width 0.25s ease-out;
}
.nav__link:hover { color: var(--bronze); }
.nav__link:hover::after { width: 100%; }

/* Mobile nav toggle (hidden on desktop) */
.nav-toggle {
  display: none;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 5px;
  width: 38px; height: 38px;
  background: transparent;
  border: none;
  cursor: pointer;
  padding: 0;
  flex-shrink: 0;
}
.nav-toggle span {
  display: block;
  width: 22px; height: 2px;
  background: var(--lime);
  border-radius: 2px;
  transition: transform 0.3s ease-out, opacity 0.3s ease-out;
}
.nav-toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.nav-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.nav-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

.mobile-nav {
  display: none;
  position: fixed;
  top: 0; right: 0;
  width: min(78vw, 320px);
  height: 100vh;
  background: var(--basalt);
  flex-direction: column;
  align-items: stretch;
  gap: 4px;
  padding: 88px 28px 28px;
  z-index: 60;
  transform: translateX(100%);
  transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1);
  box-shadow: -12px 0 32px rgba(0,0,0,0.3);
}
.mobile-nav.is-open { transform: translateX(0); }
.mobile-nav__link {
  font-family: var(--font-sans); font-weight: 500; font-size: 17px; color: var(--lime);
  padding: 14px 4px;
  border-bottom: 1px solid rgba(245,239,227,0.1);
}
.mobile-nav__cta { justify-content: center; margin-top: 20px; }
.mobile-nav__backdrop {
  display: none;
  position: fixed; inset: 0;
  background: rgba(0,0,0,0.45);
  z-index: 55;
  opacity: 0;
  transition: opacity 0.3s ease-out;
  pointer-events: none;
}
.mobile-nav__backdrop.is-open { opacity: 1; pointer-events: auto; }

/* ===== Hero ===== */
.hero { background: var(--paper); padding: 100px var(--pad-x); }
.hero__row { display: flex; gap: 56px; align-items: center; }
.hero__intro { flex: 1 0 0; min-width: 0; display: flex; flex-direction: column; gap: 24px; }
.hero__badge {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 14px;
  align-self: flex-start;
  max-width: 100%;
  background: var(--paper);
  border: 1px solid rgba(166,116,60,0.35);
  border-radius: 100px;
  padding: 11px 22px;
}
.hero__badge-kicker { font-family: var(--font-mono); font-weight: 500; font-size: 11px; letter-spacing: 1.98px; text-transform: uppercase; color: var(--bronze); }
.hero__badge-rule { width: 1px; height: 16px; background: rgba(166,116,60,0.4); }
.hero__badge-brand { font-family: var(--font-serif); font-weight: 500; font-size: 19px; color: var(--basalt); }
.hero__title { font-family: var(--font-serif); font-weight: 400; font-size: 54px; line-height: 1.02; color: var(--basalt); }
.hero__lede { font-family: var(--font-sans); font-weight: 500; font-size: 18px; line-height: 1.6; color: var(--basalt); max-width: 584px; }
.hero__buttons { display: flex; gap: 14px; flex-wrap: wrap; }

/* Hero load-in choreography: badge, title, lede, buttons, portrait rise in sequence */
@keyframes hero-rise {
  from { opacity: 0; transform: translateY(22px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes hero-fade-scale {
  from { opacity: 0; transform: scale(0.96); }
  to { opacity: 1; transform: scale(1); }
}
.hero__badge, .hero__title, .hero__lede, .hero__buttons {
  opacity: 0;
  animation: hero-rise 0.8s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}
.hero__badge { animation-delay: 0.05s; }
.hero__title { animation-delay: 0.15s; }
.hero__lede { animation-delay: 0.28s; }
.hero__buttons { animation-delay: 0.4s; }
.hero__portrait { opacity: 0; animation: hero-fade-scale 0.9s cubic-bezier(0.16, 1, 0.3, 1) forwards; animation-delay: 0.25s; }
@media (prefers-reduced-motion: reduce) {
  .hero__badge, .hero__title, .hero__lede, .hero__buttons, .hero__portrait { opacity: 1; animation: none; transform: none; }
}

.hero__portrait { position: relative; width: 540px; height: 560px; flex-shrink: 0; }
.hero__portrait-frame {
  position: absolute; left: 50%; top: 0; transform: translateX(-50%);
  width: 420px; height: 525px; border-radius: 16px; overflow: hidden;
}
.hero__portrait-frame img { width: 100%; height: 120%; object-fit: cover; object-position: center 10%; }
.stat-card {
  position: absolute;
  background: var(--paper);
  border-radius: 10px;
  padding: 14px 18px;
  box-shadow: 0 6px 12px 0 rgba(0,0,0,0.25);
  opacity: 0;
  animation: hero-fade-scale 0.6s cubic-bezier(0.16, 1, 0.3, 1) forwards;
  transition: transform 0.25s ease-out, box-shadow 0.25s ease-out;
}
.stat-card:hover { transform: translateY(-3px); box-shadow: 0 10px 20px 0 rgba(0,0,0,0.3); animation-play-state: paused; opacity: 1; }
.stat-card--loans { top: 42px; right: 39px; animation-delay: 0.75s; }
.stat-card--clients { bottom: 44px; left: 29px; animation-delay: 0.9s; }
.stat-card__figure { font-family: var(--font-serif); font-weight: 400; font-size: 30px; color: var(--basalt); }
.stat-card__caption { font-family: var(--font-sans); font-weight: 500; font-size: 11.5px; color: var(--basalt); margin-top: 3px; }

/* ===== Awards ===== */
.awards { background: var(--basalt); padding: 64px var(--pad-x); display: flex; flex-direction: column; align-items: center; gap: 60px; }
.awards__head { display: flex; flex-direction: column; align-items: center; gap: 16px; text-align: center; max-width: 900px; }
.awards__title { font-family: var(--font-sans); font-weight: 700; font-size: 42px; color: var(--lime); }
.awards__subhead { font-family: var(--font-sans); font-weight: 500; font-size: 18px; color: var(--lime); max-width: 760px; }
.awards__stage { position: relative; width: 100%; min-height: 220px; display: flex; align-items: center; justify-content: center; }
.awards__state {
  position: absolute; inset: 0;
  display: flex; align-items: center; justify-content: center;
  opacity: 0; pointer-events: none; transition: opacity 0.5s ease-in-out;
}
.awards__state.is-active { opacity: 1; pointer-events: auto; }
.awards__tier1-img { height: 220px; width: auto; object-fit: contain; }
.awards__tier2-row, .awards__tier3-row { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; row-gap: 16px; }
.awards__tier2-row img { height: 200px; width: auto; object-fit: contain; margin-left: -60px; }
.awards__tier2-row img:first-child { margin-left: 0; }
.awards__tier3-row img { height: 178px; width: auto; object-fit: contain; margin-left: -40px; }
.awards__tier3-row img:first-child { margin-left: 0; }
.awards__dots { display: flex; align-items: center; gap: 12px; }
.awards__dot {
  width: 10px; height: 10px; border-radius: 100px;
  background: rgba(255,255,255,0.25); border: none; cursor: pointer; padding: 0;
  transition: background-color 0.3s ease-out, transform 0.2s ease-out;
}
.awards__dot:hover { transform: scale(1.3); background: rgba(255,255,255,0.5); }
.awards__dot.is-active { background: var(--bronze); transform: scale(1.15); }

/* Award images cross-fade with a gentle scale-in each cycle */
.awards__state.is-active img, .awards__state.is-active .awards__tier2-row img, .awards__state.is-active .awards__tier3-row img {
  animation: award-pop 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}
@keyframes award-pop {
  from { transform: scale(0.92); opacity: 0.6; }
  to { transform: scale(1); opacity: 1; }
}

/* ===== Stats ===== */
.stats { background: var(--paper); padding: 100px var(--pad-x); }
.stats__grid {
  display: flex;
  border: 1px solid rgba(27,31,35,0.14);
  border-radius: 16px;
  overflow: hidden;
  width: 100%;
}
.stat {
  flex: 1 0 0;
  background: var(--lime);
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: 10px;
  padding: 38px 24px;
  text-align: center;
  border-left: 1px solid rgba(27,31,35,0.12);
}
.stat:first-child { border-left: none; }
.stat__number { font-family: var(--font-serif); font-weight: 400; font-size: 50px; color: var(--basalt); }
.stat__caption { font-family: var(--font-sans); font-weight: 500; font-size: 14.5px; color: var(--basalt); }

/* ===== Testimonials ===== */
.testimonials { background: var(--lime); padding: 64px var(--pad-x); display: flex; flex-direction: column; align-items: center; gap: 40px; }
.testimonials__head { display: flex; flex-direction: column; align-items: center; gap: 16px; text-align: center; }
.testimonials__title { font-family: var(--font-sans); font-weight: 700; font-size: 42px; color: var(--basalt); }
.reviews { display: flex; flex-wrap: wrap; justify-content: center; gap: 24px; }
.review-card {
  width: 100%; max-width: 360px; min-height: 434px;
  background: var(--paper);
  border: 1px solid rgba(27,31,35,0.1);
  border-radius: 20px;
  padding: 40px 40px 36px;
  display: flex; flex-direction: column; justify-content: space-between;
  transition: background-color 0.15s ease-out;
}
.review-card:hover { background: #f3ead9; }
.review-card:active { background: #efe2c8; transition-duration: 0.08s; }
.review-card__head { display: flex; flex-direction: column; gap: 6px; margin-bottom: 16px; }
.review-card__name { font-family: var(--font-sans); font-weight: 700; font-size: 20px; color: var(--basalt); }
.review-card__detail { font-family: var(--font-sans); font-weight: 600; font-size: 14px; line-height: 1.45; color: rgba(166,116,60,0.9); }
.review-card__quote { font-family: var(--font-sans); font-weight: 400; font-size: 13.5px; line-height: 1.65; color: rgba(27,31,35,0.92); flex: 1; }
.review-card__icon {
  width: 44px; height: 44px; margin-top: 16px;
  transition: filter 0.15s ease-out;
}
.review-card__icon:hover { filter: brightness(1.18) saturate(0.85); }
.link-arrow {
  font-family: var(--font-sans); font-weight: 600; font-size: 15px; color: var(--bronze);
  display: inline-flex; align-items: center; gap: 6px;
  transition: color 0.25s ease-out;
}
.link-arrow:hover { color: var(--bronze-hold); }

/* ===== About ===== */
.about {
  position: relative;
  background: var(--basalt);
  padding: 100px var(--pad-x);
  display: flex; flex-direction: column; align-items: center; gap: 48px;
  overflow: hidden;
}
.about__bg { position: absolute; inset: 0; }
.about__bg img { width: 100%; height: 100%; object-fit: cover; opacity: 0.1; }
.about__head { position: relative; display: flex; flex-direction: column; align-items: center; gap: 16px; text-align: center; }
.about__title { font-family: var(--font-sans); font-weight: 700; font-size: 42px; line-height: 1.12; color: var(--lime); }
.about__row { position: relative; display: flex; flex-direction: column; align-items: center; gap: 72px; padding: 0 200px; max-width: 1040px; }
.about__quote { font-family: var(--font-serif); font-style: italic; font-weight: 500; font-size: 25px; line-height: 1.3; color: var(--lime); text-align: center; }
.about__quote-mark { font-family: var(--font-serif); font-weight: 700; font-style: normal; font-size: 30px; color: var(--bronze); }
.about__body { display: flex; flex-direction: column; align-items: center; gap: 32px; }
.about__paragraph { font-family: var(--font-sans); font-weight: 500; font-size: 18px; line-height: 1.6; color: var(--lime); text-align: center; }
.chips { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; }
.chip {
  border: 1px solid var(--bronze);
  border-radius: 100px;
  padding: 6px 12px;
  font-family: var(--font-mono);
  font-weight: 700;
  font-size: 11.5px;
  letter-spacing: 1.38px;
  text-transform: uppercase;
  color: var(--lime);
  transition: background-color 0.25s ease-out, color 0.25s ease-out;
}
.chip:hover { background: var(--bronze); color: var(--basalt); }

/* ===== Why Work With Me ===== */
.why { background: var(--paper); padding: 100px var(--pad-x); display: flex; flex-direction: column; align-items: center; gap: 48px; }
.why__head { display: flex; flex-direction: column; align-items: center; gap: 16px; text-align: center; }
.why__title { font-family: var(--font-sans); font-weight: 700; font-size: 42px; line-height: 1.12; color: var(--basalt); max-width: 1000px; }
.why__cards { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; width: 100%; }
.feature-card {
  background: var(--lime);
  border: 1px solid rgba(27,31,35,0.12);
  border-radius: 16px;
  padding: 32px;
  display: flex; flex-direction: column; gap: 16px;
  transition: transform 0.3s ease-out, border-color 0.3s ease-out, box-shadow 0.3s ease-out;
}
.feature-card:hover {
  transform: translateY(-4px);
  border-color: rgba(27,31,35,0.22);
  box-shadow: 0 12px 24px 0 rgba(27,31,35,0.08);
}
.feature-card:hover .feature-card__icon-box { background: var(--bronze); transform: scale(1.08) rotate(-4deg); }
.feature-card:hover .feature-card__icon-box img { filter: brightness(0) invert(1); }
.feature-card__icon-box {
  width: 52px; height: 52px;
  background: var(--travertine);
  border-radius: 14px;
  display: flex; align-items: center; justify-content: center;
  transition: background-color 0.3s ease-out, transform 0.3s ease-out;
}
.feature-card__icon-box img { width: 24px; height: 24px; transition: filter 0.3s ease-out; }
.feature-card__title { font-family: var(--font-sans); font-weight: 700; font-size: 20px; color: var(--basalt); }
.feature-card__body { font-family: var(--font-sans); font-weight: 500; font-size: 16px; line-height: 1.6; color: var(--basalt); }

/* ===== Strategy Session ===== */
.strategy { background: var(--basalt); padding: 100px var(--pad-x); }
.strategy__row { display: flex; gap: 64px; align-items: center; }
.strategy__col { flex: 1 0 0; min-width: 0; display: flex; flex-direction: column; gap: 50px; justify-content: center; }
.strategy__block { display: flex; flex-direction: column; align-items: flex-start; gap: 18px; }
.strategy__title { font-family: var(--font-sans); font-weight: 700; font-size: 42px; line-height: 1.1; color: var(--lime); }
.strategy__body { font-family: var(--font-sans); font-weight: 500; font-size: 17px; line-height: 1.6; color: var(--lime); opacity: 0.85; max-width: 558px; }
.checklist { display: flex; flex-direction: column; gap: 14px; }
.checklist__item { display: flex; align-items: center; gap: 12px; font-family: var(--font-sans); font-weight: 500; font-size: 16px; color: var(--lime); max-width: 500px; }
.checklist__tick {
  flex-shrink: 0;
  width: 22px; height: 22px;
  border-radius: 100px;
  background: var(--olive);
  color: var(--lime);
  display: flex; align-items: center; justify-content: center;
  font-size: 11px; font-weight: 700;
}
.timeline { position: relative; display: flex; flex-direction: column; gap: 20px; max-width: 558px; margin-bottom: 25px; }
.timeline__step { position: relative; padding-left: 34px; }
.timeline__step:not(:last-child)::after {
  content: ''; position: absolute; left: 10.25px; top: 22px; width: 1.5px; height: calc(100% - 2px);
  background: var(--travertine);
}
.timeline__dot {
  position: absolute; left: 0; top: 0;
  width: 22px; height: 22px;
  border: 1px solid var(--travertine);
  border-radius: 100px;
  display: flex; align-items: center; justify-content: center;
  font-family: var(--font-mono); font-weight: 500; font-size: 10px; color: var(--travertine);
}
.timeline__title { font-family: var(--font-sans); font-weight: 600; font-size: 18px; color: var(--lime); margin-bottom: 8px; }
.timeline__body { font-family: var(--font-sans); font-weight: 500; font-size: 16px; color: var(--lime); }
.strategy__reassurance { font-family: var(--font-sans); font-weight: 500; font-size: 13px; line-height: 1.6; color: var(--lime); opacity: 0.65; max-width: 500px; margin-top: 16px; }
.strategy__visual { flex: 1 0 0; align-self: stretch; border: 1px solid rgba(245,239,227,0.14); border-radius: 16px; overflow: hidden; background: var(--dark-visual); }
.strategy__visual img { width: 100%; height: 100%; object-fit: cover; }

/* ===== YouTube ===== */
.youtube { background: var(--paper); padding: 64px var(--pad-x); display: flex; flex-direction: column; align-items: center; gap: 44px; }
.youtube__head { display: flex; justify-content: space-between; align-items: center; width: 100%; gap: 24px; }
.youtube__head-text { flex: 1 0 0; display: flex; flex-direction: column; gap: 14px; }
.youtube__title { font-family: var(--font-sans); font-weight: 700; font-size: 32px; line-height: 1.2; color: var(--basalt); }
.youtube__subtext { font-family: var(--font-sans); font-weight: 500; font-size: 17px; line-height: 1.5; color: rgba(27,31,35,0.72); max-width: 640px; }
.ghost-cards { display: flex; gap: 32px; width: 100%; }
.ghost-card { flex: 1 0 0; min-width: 0; display: flex; flex-direction: column; gap: 16px; }
.ghost-card__thumb {
  position: relative;
  height: 209px;
  background: rgba(27,31,35,0.05);
  border: 1px solid rgba(27,31,35,0.1);
  border-radius: 14px;
  transition: border-color 0.25s ease-out, background-color 0.25s ease-out;
}
.ghost-card:hover .ghost-card__thumb { border-color: rgba(166,116,60,0.4); background: rgba(27,31,35,0.07); }
.ghost-card__pill {
  position: absolute; top: 15px; left: 15px;
  background: rgba(166,116,60,0.14);
  border-radius: 100px;
  padding: 6px 12px;
  font-family: var(--font-sans); font-weight: 700; font-size: 10px; letter-spacing: 1px; color: var(--bronze);
}
.ghost-card__play {
  position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);
  width: 52px; height: 52px;
  transition: transform 0.25s ease-out;
}
.ghost-card__play img { position: absolute; inset: 0; width: 100%; height: 100%; }
.ghost-card__play::before {
  content: '';
  position: absolute; inset: 0;
  border-radius: 100px;
  background: rgba(166,116,60,0.35);
  animation: play-pulse 2.4s ease-out infinite;
}
@keyframes play-pulse {
  0% { transform: scale(1); opacity: 0.6; }
  100% { transform: scale(1.6); opacity: 0; }
}
.ghost-card:hover .ghost-card__play { transform: translate(-50%, -50%) scale(1.08); }
.ghost-card__lines { display: flex; flex-direction: column; gap: 10px; }
.line { display: block; height: 12px; border-radius: 6px; background: rgba(27,31,35,0.14); }
.line--long { width: 70%; }
.line--short { width: 48%; background: rgba(27,31,35,0.08); }

/* ===== Final CTA ===== */
.cta { background: var(--lime); padding: 64px var(--pad-x); }
.cta__panel {
  background: var(--basalt);
  border-radius: 28px;
  padding: 80px;
  display: flex; justify-content: space-between; align-items: center; gap: 48px;
  flex-wrap: nowrap;
}
.cta__left { display: flex; flex-direction: column; gap: 16px; flex: 1 1 380px; min-width: 260px; max-width: 440px; }
.cta__title { font-family: var(--font-sans); font-weight: 700; font-size: 38px; line-height: 1.04; color: var(--lime); }
.cta__body { font-family: var(--font-sans); font-weight: 500; font-size: 18px; line-height: 1.6; color: var(--lime); opacity: 0.85; }
.cta__form-card { background: var(--dark-panel); border-radius: 20px; padding: 32px; flex: 1 1 420px; min-width: 300px; max-width: 563px; display: flex; flex-direction: column; gap: 16px; }
.cta__form-card form { display: flex; flex-direction: column; gap: 16px; }
.cta__form-title { font-family: var(--font-sans); font-weight: 600; font-size: 18px; color: var(--lime); }
.cta__form-row { display: flex; gap: 16px; }
.cta__form-card input, .cta__form-card textarea {
  flex: 1 0 0;
  background: rgba(245,239,227,0.08);
  border: 1px solid transparent;
  border-radius: 10px;
  padding: 14px 18px;
  font-family: var(--font-sans); font-weight: 500; font-size: 15px;
  color: var(--lime);
  width: 100%;
  transition: border-color 0.2s ease-out, background-color 0.2s ease-out;
}
.cta__form-card input { height: 46px; }
.cta__form-card textarea { resize: vertical; min-height: 100px; height: 100px; }
.cta__form-card input::placeholder, .cta__form-card textarea::placeholder { color: rgba(245,239,227,0.6); }
.cta__form-card input:focus, .cta__form-card textarea:focus {
  outline: none;
  border-color: var(--bronze);
  background: rgba(245,239,227,0.12);
}
.cta__form-actions { display: flex; gap: 16px; flex-wrap: wrap; }
.cta__form-actions .btn { flex: 1 1 auto; flex-shrink: 0; justify-content: center; }
.cta__form-status {
  font-family: var(--font-sans); font-weight: 600; font-size: 14px;
  display: none; margin: 0; padding: 10px 14px; border-radius: 10px;
}
.cta__form-status.is-success { display: block; color: #cdeccb; background: rgba(122,199,116,0.14); }
.cta__form-status.is-error { display: block; color: #f3c6c6; background: rgba(224,110,110,0.14); }
.cta__form-status.is-sending { display: block; color: var(--lime); opacity: 0.75; background: rgba(245,239,227,0.08); }
.cta__form-actions .btn--bronze { padding: 14px 18px; }

/* ===== Footer ===== */
.footer { background: var(--basalt); color: var(--lime); padding: 54px var(--pad-x); display: flex; flex-direction: column; gap: 34px; }
.footer__row { display: flex; justify-content: space-between; align-items: flex-start; gap: 24px; flex-wrap: wrap; }
.footer__brand-name { font-family: var(--font-serif); font-weight: 400; font-size: 20px; }
.footer__tagline { font-family: var(--font-sans); font-weight: 500; font-size: 15px; opacity: 0.7; max-width: 280px; margin-top: 14px; }
.footer__links { display: flex; gap: 28px; font-family: var(--font-sans); font-weight: 500; font-size: 14px; flex-wrap: wrap; }
.footer__links a { opacity: 0.78; transition: opacity 0.25s ease-out, color 0.25s ease-out; }
.footer__links a:hover { opacity: 1; color: var(--bronze); }
.footer__fine {
  display: flex; justify-content: space-between; gap: 24px; flex-wrap: wrap;
  border-top: 1px solid rgba(245,239,227,0.1);
  padding-top: 22px;
  font-family: var(--font-sans); font-weight: 500; font-size: 13px; opacity: 0.55;
}
.footer__fine p:first-child { max-width: 700px; }

/* ===== Responsive ===== */
@media (max-width: 1200px) {
  :root { --pad-x: 60px; }
  .about__row { padding: 0 40px; }
}

@media (max-width: 960px) {
  :root { --pad-x: 28px; }

  /* Header: swap inline nav for the hamburger + slide-in panel */
  .nav { display: none; }
  .nav-toggle { display: flex; }
  .mobile-nav, .mobile-nav__backdrop { display: flex; }

  .hero, .stats, .about, .why, .strategy { padding-top: 64px; padding-bottom: 64px; }
  .awards, .testimonials, .cta { padding-top: 48px; padding-bottom: 48px; }
  .youtube { padding-top: 48px; padding-bottom: 48px; }

  .hero__row { flex-direction: column; }
  .hero__title { font-size: 42px; }
  .hero__portrait { width: 100%; max-width: 420px; height: auto; aspect-ratio: 420 / 525; margin: 0 auto; }
  .hero__portrait-frame { position: static; transform: none; width: 100%; height: 100%; }
  .stat-card--loans { top: 16px; right: 16px; }
  .stat-card--clients { bottom: 16px; left: 16px; }

  .awards__title { font-size: 32px; }
  .awards__stage { min-height: 170px; }
  .awards__tier1-img { height: 160px; }
  .awards__tier2-row img { height: 110px; margin-left: -30px; }
  .awards__tier3-row img { height: 90px; margin-left: -20px; }

  .stats__grid { flex-wrap: wrap; }
  .stat { flex: 1 1 50%; border-left: none; border-top: 1px solid rgba(27,31,35,0.12); padding: 28px 16px; }
  .stat:nth-child(-n+2) { border-top: none; }
  .stat__number { font-size: 38px; }

  .reviews {
    width: 100%; gap: 16px; flex-wrap: nowrap; justify-content: flex-start;
    overflow-x: auto; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; scrollbar-width: none;
  }
  .reviews::-webkit-scrollbar { display: none; height: 0; }
  .review-card { min-height: 0; flex: 0 0 82%; width: 82%; max-width: 340px; scroll-snap-align: center; }

  .about__row { flex-direction: column; padding: 0; gap: 32px; }
  .about__title { font-size: 32px; }

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

  .strategy__row { flex-direction: column; gap: 40px; }
  .strategy__title { font-size: 32px; }
  .strategy__visual { width: 100%; min-height: 320px; order: -1; }

  .youtube__title { font-size: 26px; }
  .youtube__head { flex-direction: column; align-items: flex-start; gap: 20px; }
  .youtube__head .btn { align-self: flex-start; }
  .ghost-cards {
    width: 100%; flex-wrap: nowrap; justify-content: flex-start;
    overflow-x: auto; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; scrollbar-width: none;
  }
  .ghost-cards::-webkit-scrollbar { display: none; height: 0; }
  .ghost-card { flex: 0 0 82%; min-width: 0; scroll-snap-align: center; }

  .cta__panel { padding: 32px; border-radius: 20px; flex-direction: column; align-items: stretch; }
  .cta__title { font-size: 30px; }
  .cta__left, .cta__form-card { flex: 0 0 auto; min-width: 0; max-width: 100%; }

  .footer__row { flex-direction: column; gap: 28px; }
  .footer__fine { flex-direction: column; gap: 10px; }
}

@media (max-width: 640px) {
  :root { --pad-x: 20px; }

  .hero__title { font-size: 34px; }
  .hero__lede { font-size: 16px; }
  .hero__badge-brand { font-size: 16px; }
  .hero__buttons .btn { flex: 1 1 auto; justify-content: center; text-align: center; }

  .stat-card { padding: 10px 14px; }
  .stat-card__figure { font-size: 24px; }

  .awards__title, .about__title, .why__title, .strategy__title { font-size: 26px; }
  .awards__subhead { font-size: 15px; }
  .awards__stage { min-height: 120px; }
  .awards__tier1-img { height: 110px; }
  .awards__tier2-row { flex-wrap: wrap; justify-content: center; row-gap: 12px; }
  .awards__tier2-row img { height: 84px; margin-left: -18px; }
  .awards__tier3-row { flex-wrap: wrap; justify-content: center; row-gap: 10px; }
  .awards__tier3-row img { height: 64px; margin-left: -14px; }

  .stat { flex: 1 1 100%; border-top: 1px solid rgba(27,31,35,0.12); }
  .stat:first-child { border-top: none; }

  .review-card { padding: 28px 24px 24px; }

  .about__quote { font-size: 20px; }
  .about__paragraph { font-size: 16px; }
  .chip { font-size: 10px; padding: 6px 10px; }

  .feature-card { padding: 24px; }

  .checklist__item, .timeline__body { font-size: 15px; }

  .cta__title { font-size: 26px; }
  .cta__body { font-size: 16px; }
  .cta__form-row { flex-direction: column; }
  .cta__form-actions { flex-wrap: wrap; }
  .cta__form-actions .btn { flex: 1 1 auto; flex-shrink: 1; justify-content: center; }

  .footer__tagline { max-width: 100%; }
}

@media (max-width: 400px) {
  :root { --pad-x: 16px; }
  .hero__title { font-size: 30px; }
  .hero__badge { padding: 9px 16px; }
  .stat-card__figure { font-size: 21px; }
  .stat-card__caption { font-size: 10.5px; }
  .cta__panel { padding: 24px; }
}
