/* =======================================================================
   AI CONSULTING — "Work With Me" page-specific styles
   Loaded AFTER css/styles.css. Reuses tokens.css variables + shared
   component classes (.nav, .hero, .btn, .section, .card-ish, .contact,
   .footer). Only the deltas this page needs live here.
   ======================================================================= */

/* ---------- HERO (consulting variant) -----------------------------------
   The home hero is a full-height stage with the animated brand logo.
   This page leads with the headline + sub + CTAs only, so we tune the
   spacing and let the title flow normally (no per-word rise animation
   markup here — copy is plain, so we fade it in instead). */
.hero--consult {
  min-height: auto;
  justify-content: center;
  padding-top: clamp(150px, 18vh, 240px);
  padding-bottom: clamp(90px, 12vh, 160px);
}
.hero--consult .hero__meta { margin-bottom: 28px; }

.hero__title--consult {
  max-width: 18ch;
  font-size: clamp(40px, 7vw, 104px);
  margin: 8px 0 32px;
  opacity: 0;
  animation: fade 1.1s var(--ease-out) 0.1s forwards;
}
.hero__title--consult em {
  font-style: normal;
  background: var(--grad-bridge);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

/* ---------- 01 · THE REFRAME -------------------------------------------- */
.reframe__grid {
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: clamp(40px, 6vw, 96px);
  align-items: start;
}
.reframe__lead p {
  font-size: var(--fs-body-lg);
  line-height: 1.5;
  color: var(--warm-65);
  margin-bottom: 22px;
  max-width: 50ch;
}
.reframe__lead p strong { color: var(--warm); font-weight: 500; }
.reframe__lead p em {
  font-style: normal;
  font-weight: 600;
  background: var(--grad-bridge);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.reframe__punch {
  font-family: var(--f-display);
  font-weight: 700;
  font-size: var(--fs-h4);
  line-height: 1.25;
  letter-spacing: var(--tr-tight);
  color: var(--warm) !important;
  text-transform: none;
  padding-left: 22px;
  border-left: 2px solid var(--heat);
  margin-top: 8px;
}

/* keep / shed split — a "where the line is drawn" panel */
.reframe__split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  border: 1px solid var(--warm-08);
  background: var(--surface);
}
.reframe__col {
  padding: 30px 26px 34px;
  position: relative;
}
.reframe__col--keep { border-right: 1px solid var(--warm-08); }
.reframe__col--keep::before,
.reframe__col--shed::before {
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 2px;
}
.reframe__col--keep::before { background: var(--heat); }
.reframe__col--shed::before { background: var(--signal); }
.reframe__col-tag {
  display: block;
  font-family: var(--f-mono);
  font-size: var(--fs-mono-xs);
  text-transform: uppercase;
  letter-spacing: var(--tr-wide);
  margin-bottom: 22px;
}
.reframe__col--keep .reframe__col-tag { color: var(--heat); }
.reframe__col--shed .reframe__col-tag { color: var(--signal); }
.reframe__items { display: grid; gap: 14px; }
.reframe__items li {
  font-family: var(--f-mono);
  font-size: var(--fs-mono-sm);
  text-transform: uppercase;
  letter-spacing: var(--tr-mono);
  color: var(--warm-65);
  display: grid;
  grid-template-columns: 16px 1fr;
  gap: 12px;
  align-items: baseline;
  line-height: 1.3;
}
.reframe__items li::before {
  content: "";
  width: 10px; height: 1px;
  align-self: center;
}
.reframe__col--keep .reframe__items li::before { background: var(--heat-dim); }
.reframe__col--shed .reframe__items li::before { background: var(--signal-dim); }

@media (max-width: 900px) {
  .reframe__grid { grid-template-columns: 1fr; gap: 48px; }
}
@media (max-width: 480px) {
  .reframe__split { grid-template-columns: 1fr; }
  .reframe__col--keep { border-right: none; border-bottom: 1px solid var(--warm-08); }
}

/* ---------- 02 · WORK WITH ME (offer ladder) ----------------------------
   Four tiers as cards. Built to match the home .card system (surface bg,
   warm-08 border, hover lift + accent glow) but as a clean ladder. The
   Audit tier is the visually-emphasized one. */
.offers__ladder {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  align-items: stretch;
}
.offer-card {
  position: relative;
  background: var(--surface);
  border: 1px solid var(--warm-08);
  padding: 34px 30px 32px;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  isolation: isolate;
  transition: transform var(--dur-med) var(--ease-out), border-color var(--dur-med);
}
.offer-card::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  opacity: 0;
  background: radial-gradient(ellipse at top right, rgba(34, 211, 238, 0.14), transparent 60%);
  transition: opacity var(--dur-med);
}
.offer-card:hover {
  transform: translateY(-6px);
  border-color: var(--signal);
  box-shadow: 0 24px 60px -24px rgba(34, 211, 238, 0.4);
}
.offer-card:hover::before { opacity: 1; }

.offer-card__top {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
  margin-bottom: 26px;
}
.offer-card__step {
  font-family: var(--f-mono);
  font-size: var(--fs-mono-xs);
  text-transform: uppercase;
  letter-spacing: var(--tr-wide);
  color: var(--warm-40);
}
.offer-card__price {
  font-family: var(--f-display);
  font-size: 26px;
  font-weight: 800;
  letter-spacing: var(--tr-tight);
  color: var(--warm);
  line-height: 1;
  text-align: right;
}
.offer-card__price--free {
  background: var(--grad-bridge);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.offer-card__per {
  font-family: var(--f-mono);
  font-size: 12px;
  font-weight: 400;
  letter-spacing: var(--tr-mono);
  color: var(--warm-40);
}
.offer-card__name {
  font-family: var(--f-display);
  font-size: var(--fs-h4);
  line-height: var(--lh-snug);
  font-weight: 800;
  letter-spacing: var(--tr-tight);
  text-transform: uppercase;
  color: var(--warm);
  margin-bottom: 8px;
}
.offer-card__meta {
  font-family: var(--f-mono);
  font-size: var(--fs-mono-xs);
  text-transform: uppercase;
  letter-spacing: var(--tr-wide);
  color: var(--signal);
  margin-bottom: 18px;
}
.offer-card__desc {
  font-size: 15px;
  line-height: 1.6;
  color: var(--warm-65);
  margin-bottom: 28px;
}
.offer-card__desc strong { color: var(--warm); font-weight: 500; }
.offer-card__cta {
  margin-top: auto;
  align-self: flex-start;
  font-family: var(--f-mono);
  font-size: var(--fs-mono-xs);
  text-transform: uppercase;
  letter-spacing: var(--tr-wide);
  color: var(--warm);
  padding: 13px 20px;
  border: 1px solid var(--warm-20);
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  transition: border-color var(--dur-fast), color var(--dur-fast), background var(--dur-fast);
}
.offer-card__cta .arrow { transition: transform var(--dur-fast) var(--ease-out); }
.offer-card__cta:hover { border-color: var(--signal); color: var(--signal); }
.offer-card__cta:hover .arrow { transform: translateX(4px); }

/* Featured tier — the Audit. Gradient hairline frame + solid CTA. */
.offer-card--feature {
  border-color: transparent;
  background: var(--surface-2);
}
.offer-card--feature::after {
  content: "";
  position: absolute;
  inset: -1px;
  z-index: -2;
  border-radius: inherit;
  background: var(--grad-bridge);
  opacity: 0.9;
}
.offer-card--feature::before {
  background: radial-gradient(ellipse at top right, rgba(61, 220, 151, 0.16), transparent 62%);
  opacity: 0.6;
}
.offer-card--feature:hover {
  transform: translateY(-10px);
  box-shadow: 0 30px 70px -26px rgba(61, 220, 151, 0.4), 0 30px 70px -26px rgba(34, 211, 238, 0.35);
}
.offer-card--feature:hover::after { opacity: 1; }
.offer-card--feature .offer-card__price {
  background: var(--grad-bridge);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.offer-card--feature .offer-card__meta { color: var(--heat); }
.offer-card__flag {
  position: absolute;
  top: 14px; right: 14px;
  font-family: var(--f-mono);
  font-size: 9px;
  text-transform: uppercase;
  letter-spacing: var(--tr-wide);
  color: var(--void);
  background: var(--grad-bridge);
  padding: 5px 10px;
  border-radius: 999px;
  z-index: 3;
}
.offer-card--feature .offer-card__top { margin-top: 14px; }
.offer-card__cta--solid {
  border-color: transparent;
  background: linear-gradient(135deg, var(--heat) 0%, var(--signal) 100%);
  color: var(--void);
  font-weight: 500;
}
.offer-card__cta--solid:hover {
  color: var(--void);
  box-shadow: 0 0 30px rgba(61, 220, 151, 0.35);
}

@media (max-width: 1100px) {
  .offers__ladder { grid-template-columns: 1fr 1fr; gap: 18px; }
  .offer-card--feature { order: -1; }
}
@media (max-width: 560px) {
  .offers__ladder { grid-template-columns: 1fr; }
}

/* ---------- 03 · PROOF --------------------------------------------------- */
.proof__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
}
.proof-card {
  position: relative;
  background: var(--surface);
  border: 1px solid var(--warm-08);
  padding: 34px 32px 32px;
  overflow: hidden;
  isolation: isolate;
  transition: transform var(--dur-med) var(--ease-out), border-color var(--dur-med);
}
.proof-card::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  opacity: 0;
  transition: opacity var(--dur-med);
}
.proof-card:hover { transform: translateY(-4px); }
.proof-card[data-tag="soft"]::before { background: radial-gradient(ellipse at top right, rgba(34, 211, 238, 0.13), transparent 60%); }
.proof-card[data-tag="soft"]:hover { border-color: var(--signal); box-shadow: 0 20px 60px -22px rgba(34, 211, 238, 0.4); }
.proof-card[data-tag="fab"]::before { background: radial-gradient(ellipse at top right, rgba(61, 220, 151, 0.13), transparent 60%); }
.proof-card[data-tag="fab"]:hover { border-color: var(--heat); box-shadow: 0 20px 60px -22px rgba(61, 220, 151, 0.4); }
.proof-card[data-tag="both"]::before { background: radial-gradient(ellipse at top right, rgba(61, 220, 151, 0.10), rgba(34, 211, 238, 0.10) 45%, transparent 70%); }
.proof-card[data-tag="both"]:hover { border-color: var(--signal); box-shadow: 0 20px 60px -22px rgba(61, 220, 151, 0.3), 0 20px 60px -22px rgba(34, 211, 238, 0.3); }
.proof-card:hover::before { opacity: 1; }

.proof-card__head {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 14px;
  font-family: var(--f-mono);
  font-size: var(--fs-mono-xs);
  text-transform: uppercase;
  letter-spacing: var(--tr-wide);
  margin-bottom: 44px;
}
.proof-card__tag {
  color: var(--warm-40);
  padding: 6px 10px;
  border: 1px solid var(--warm-20);
  border-radius: 999px;
}
.proof-card[data-tag="soft"] .proof-card__tag { color: var(--signal); border-color: var(--signal); }
.proof-card[data-tag="fab"] .proof-card__tag { color: var(--heat); border-color: var(--heat); }
.proof-card[data-tag="both"] .proof-card__tag {
  background: var(--grad-bridge);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  border-color: var(--warm-20);
}
.proof-card__status { color: var(--heat); white-space: nowrap; }
.proof-card__status--soon { color: #FFB454; }
.proof-card__status--fab { color: var(--warm-40); }
.proof-card__name {
  font-family: var(--f-display);
  font-size: var(--fs-h3);
  line-height: 1;
  font-weight: 900;
  letter-spacing: var(--tr-display);
  text-transform: uppercase;
  color: var(--warm);
  margin-bottom: 14px;
}
.proof-card__desc {
  font-size: 15px;
  line-height: 1.6;
  color: var(--warm-65);
  max-width: 46ch;
  margin-bottom: 18px;
}
.proof-card__link {
  display: inline-block;
  font-family: var(--f-mono);
  font-size: var(--fs-mono-xs);
  letter-spacing: var(--tr-wide);
  text-transform: uppercase;
  color: var(--signal);
  transition: color var(--dur-fast);
}
.proof-card__link:hover { color: var(--heat); }
.proof-card__link--static { color: var(--warm-40); pointer-events: none; }

@media (max-width: 760px) {
  .proof__grid { grid-template-columns: 1fr; }
  .proof-card__head { margin-bottom: 28px; }
}

/* ---------- 04 · STRAIGHT ANSWERS (accordion) --------------------------- */
.faq__list {
  border-top: 1px solid var(--warm-20);
  max-width: 920px;
}
.faq__item {
  border-bottom: 1px solid var(--warm-08);
  position: relative;
}
.faq__item::before {
  content: "";
  position: absolute;
  left: 0; right: 0; top: 0;
  height: 1px;
  background: var(--grad-bridge);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform var(--dur-slow) var(--ease-out);
}
.faq__item[open]::before,
.faq__item:hover::before { transform: scaleX(1); }
.faq__q {
  font-family: var(--f-display);
  font-size: clamp(20px, 2.4vw, 30px);
  font-weight: 700;
  letter-spacing: var(--tr-tight);
  text-transform: uppercase;
  color: var(--warm);
  padding: 30px 56px 30px 0;
  cursor: pointer;
  list-style: none;
  position: relative;
  transition: color var(--dur-fast), transform var(--dur-med) var(--ease-out);
}
.faq__q::-webkit-details-marker { display: none; }
.faq__item:hover .faq__q { transform: translateX(6px); }
.faq__icon {
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  font-family: var(--f-mono);
  font-weight: 400;
  font-size: 28px;
  line-height: 1;
  color: var(--warm-40);
  transition: transform var(--dur-med) var(--ease-out), color var(--dur-fast);
}
.faq__item[open] .faq__icon {
  transform: translateY(-50%) rotate(45deg);
  color: var(--heat);
}
.faq__a {
  font-size: var(--fs-body-lg);
  line-height: 1.55;
  color: var(--warm-65);
  max-width: 64ch;
  padding: 0 56px 32px 0;
  margin-top: -6px;
}
@media (max-width: 600px) {
  .faq__q { padding-right: 44px; }
  .faq__a { padding-right: 0; font-size: var(--fs-body); }
}

/* ---------- CLOSING CTA (overrides on shared .contact) ------------------ */
/* The shared .contact__card::before injects a hardcoded shop-drawing label
   ("LEO-CTA-001 · REV A"). Re-label it for the consulting context. */
.contact__card--consult::before {
  content: "CONSULT · REV A";
}
.contact__note {
  margin-top: 22px;
  font-family: var(--f-mono);
  font-size: var(--fs-mono-xs);
  text-transform: uppercase;
  letter-spacing: var(--tr-wide);
  color: var(--warm-40);
  max-width: 46ch;
  line-height: 1.6;
}

/* ---------- FOOTER (prevent mobile horizontal overflow) ----------------- */
/* Shared .footer__grid is 5-col, dropping to 2-col only at <=800px. At phone
   widths those two mono-text cells can't shrink (default min-width:auto) and
   push the whole page past the viewport (~449px on a 390 screen). Let cells
   shrink everywhere, and collapse to a single column on phones. */
.footer__cell { min-width: 0; }
.footer__cell .label,
.footer__cell .value { overflow-wrap: anywhere; }
@media (max-width: 560px) {
  .footer__grid { grid-template-columns: 1fr; }
}
