/* ============================================================
   FREE CONSULTATION PAGE — desktop + mobile
   Heroes + form cards follow the approved MSHRM mockups.
   The "What Happens Next" band is kept exactly as approved.
   Built only from MSHRM design-system tokens.
   ============================================================ */

.fc-root{background:var(--paper)}

/* ---------- shared: value strip ---------- */
.fc-value{display:flex;flex-wrap:wrap;gap:1rem 2.125rem}
.fc-value-item{display:inline-flex;align-items:center;gap:0.6875rem}
.fc-value-ic{display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border-radius:0.625rem;
  background:color-mix(in srgb,var(--pink-500) 12%,transparent);border:1px solid color-mix(in srgb,var(--pink-500) 26%,transparent)}
.fc-value-t{font-family:var(--font-mono);font-size:0.6875rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--fg-on-dark-2)}

/* ---------- shared: form base ---------- */
.fc-form{margin-top:1.75rem}
.fc-label{font-family:var(--font-mono);font-size:0.6875rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--fg-on-light);display:block}
.fc-opt{font-weight:500;color:var(--fg-on-light-3);letter-spacing:.08em}

/* inputs — dimensional, premium, clear structure */
.fc-inp{width:100%;box-sizing:border-box;font-family:var(--font-sans);font-size:1rem;color:var(--fg-on-light);
  background:#fff;border:1px solid var(--line-300);border-radius:0.75rem;padding:0.9375rem 1rem;
  box-shadow:0 1px 2px rgba(10,11,13,.05);transition:border-color .2s var(--ease),box-shadow .2s var(--ease)}
.fc-inp::placeholder{color:var(--fg-on-light-3)}
.fc-inp:hover{border-color:var(--fg-on-light-3)}
.fc-inp:focus{outline:none;border-color:var(--pink-500);box-shadow:0 0 0 3px color-mix(in srgb,var(--pink-500) 15%,transparent)}
.fc-inp.is-err{border-color:#D64550}
.fc-textarea{resize:vertical;min-height:6.25rem;line-height:1.5}

/* icon-leading inputs */
.fc-inpwrap{position:relative}
.fc-inp--icon{padding-left:3rem}
.fc-inp-ic{position:absolute;left:1.0625rem;top:50%;transform:translateY(-50%);display:flex;color:var(--fg-on-light-2);pointer-events:none}
.fc-inp-ic--top{top:1.125rem;transform:none}

/* select (mobile business type) */
.fc-select{appearance:none;-webkit-appearance:none;padding-right:2.75rem;cursor:pointer}
.fc-select.is-placeholder{color:var(--fg-on-light-3)}
.fc-select-ic{position:absolute;right:1rem;top:50%;transform:translateY(-50%);display:flex;pointer-events:none}

/* ---------- shared: success ---------- */
.fc-success{text-align:center;padding:1.875rem 0.625rem}
.fc-success-ic{display:inline-flex;align-items:center;justify-content:center;width:4.375rem;height:4.375rem;border-radius:50%;background:var(--pink-500);margin-bottom:1.375rem}
.fc-success-eb{justify-content:center}
.fc-success-h{font-family:var(--font-display);font-weight:900;text-transform:uppercase;font-size:2.4rem;line-height:1;color:var(--fg-on-light);margin:0.875rem 0 0}
.fc-success-d{font-size:1.05rem;line-height:1.6;color:var(--fg-on-light-2);margin:1rem auto 0;max-width:42ch}
.fc-success-redirect{font-family:var(--font-mono);font-size:0.75rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;
  color:var(--pink-500);margin:1.25rem 0 0;opacity:.9}

/* ============================================================
   DESKTOP — hero + overlapping form card (matches mockup)
   ============================================================ */
.fc-desktop{background:var(--ink-900)}
.fc-hero{position:relative;background:var(--ink-900);overflow:hidden;margin-top:-6.25rem;padding:6.25rem 0 4.625rem}
.fc-hero-img{position:absolute;right:0;top:0;width:78%;height:100%;object-fit:cover;object-position:84% 30%;pointer-events:none;z-index:0;
  -webkit-mask-image:linear-gradient(to right,transparent 0%,#000 40%),linear-gradient(to top,transparent 0%,#000 22%);
  -webkit-mask-composite:source-in;
  mask-image:linear-gradient(to right,transparent 0%,#000 40%),linear-gradient(to top,transparent 0%,#000 22%);
  mask-composite:intersect}
.fc-hero-glow{position:absolute;right:6%;top:2%;width:52%;height:80%;z-index:0;pointer-events:none;background:radial-gradient(circle at 54% 46%,rgba(255,0,94,.30),rgba(255,102,0,.14) 46%,transparent 70%);filter:blur(44px)}
.fc-hero-scrim{position:absolute;left:0;top:0;right:0;bottom:0;z-index:1;background:
  linear-gradient(90deg,#0a0b0d 22%,rgba(10,11,13,.26) 50%,rgba(10,11,13,0) 78%),
  linear-gradient(0deg,#0a0b0d 6%,rgba(10,11,13,0) 44%)}
/* ambient drifting glow on the left to balance the mushroom glow on the right */
.fc-hero::after{content:"";position:absolute;left:-8%;top:-6%;width:52%;height:88%;z-index:1;pointer-events:none;
  background:
    radial-gradient(38% 42% at 30% 32%,rgba(255,0,94,.22),transparent 68%),
    radial-gradient(40% 46% at 22% 70%,rgba(131,53,193,.2),transparent 70%),
    radial-gradient(30% 36% at 46% 54%,rgba(255,102,0,.12),transparent 72%);
  filter:blur(26px);mix-blend-mode:screen;
  animation:fcHeroDrift 18s ease-in-out infinite}
@keyframes fcHeroDrift{
  0%{transform:translate3d(0,0,0) scale(1)}
  25%{transform:translate3d(3%,-2.5%,0) scale(1.06)}
  50%{transform:translate3d(1.5%,3%,0) scale(1.02)}
  75%{transform:translate3d(-2.5%,1.2%,0) scale(1.08)}
  100%{transform:translate3d(0,0,0) scale(1)}}
@media (prefers-reduced-motion:reduce){.fc-hero::after{animation:none}}
.fc-hero-in{position:relative;z-index:2;max-width:82.5rem;margin:0 auto;padding:0.875rem 4.375rem 0}
.fc-hero-eb{margin:0 0 1.125rem}
.fc-hero .ds-eyebrow--pink{color:var(--pink-500)}
.fc-hero-h{font-family:var(--font-display);font-weight:900;text-transform:uppercase;
  font-size:clamp(2.6rem,3.9vw,3.95rem);line-height:.92;letter-spacing:-.015em;color:#fff;margin:0 0 0.375rem;max-width:none}
.fc-hero-h .ds-accent{line-height:.96;display:inline-block;white-space:nowrap}
.fc-hero-sub{font-family:var(--font-sans);font-size:1.12rem;line-height:1.55;color:var(--fg-on-dark-2);margin:1.5rem 0 0;max-width:46ch}

.fc-formcard-wrap{position:relative;z-index:2;max-width:81.25rem;margin:1.375rem auto 0;padding:0 3.5rem}
.fc-formcard{background:#fff;border:1px solid var(--line-100);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);padding:2rem 3.125rem 2.5rem}
.fc-form-h{font-family:var(--font-display);font-weight:800;text-transform:uppercase;font-size:2.5rem;line-height:1;color:var(--fg-on-light);margin:0.75rem 0 0}
.fc-form-intro{font-size:1.04rem;line-height:1.5;color:var(--fg-on-light-2);margin:0.75rem 0 0;max-width:52ch}

/* desktop form: left fields · right looking · full message */
.fc-dform{margin-top:1.875rem}
.fc-d2{display:grid;grid-template-columns:1fr 1.04fr;gap:2.875rem;align-items:start}
.fc-d2-fields{display:flex;flex-direction:column;gap:1rem}
.fc-d-row2{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.fc-d2-looking .fc-label{margin-bottom:1rem}
.fc-looks{display:grid;grid-template-columns:1fr 1fr 1fr;gap:0.625rem}
.fc-look{display:inline-flex;align-items:center;gap:0.5rem;padding:0.75rem 0.6875rem;border:1px solid var(--line-200);border-radius:var(--r-pill);
  background:#fff;cursor:pointer;text-align:left;transition:border-color .18s var(--ease),background .18s var(--ease)}
.fc-look:hover{border-color:var(--fg-on-light-3)}
.fc-look-ic{flex:none;display:inline-flex}
.fc-look-t{font-family:var(--font-sans);font-size:.78rem;color:var(--fg-on-light-2);line-height:1.1;white-space:nowrap}
.fc-look.is-sel{border-color:var(--pink-500);background:color-mix(in srgb,var(--pink-500) 6%,#fff)}
.fc-look.is-sel .fc-look-t{color:var(--fg-on-light)}
.fc-d-msg{margin-top:1.5rem}
.fc-d-submitrow{display:flex;align-items:center;gap:1.5rem;margin-top:1.875rem;flex-wrap:wrap}
.fc-d-submit{padding-left:2.125rem;padding-right:2.125rem;box-shadow:none}
.fc-d-submit:hover{box-shadow:none}
.fc-d-secure{display:inline-flex;align-items:center;gap:0.5625rem;font-family:var(--font-mono);font-size:0.6875rem;letter-spacing:.05em;text-transform:uppercase;color:var(--fg-on-light-3)}

/* ---------- shared: what happens next (kept as approved) ---------- */
.fc-nextsec{background:var(--ink-900);padding:5.5rem 0;border-top:1px solid var(--ink-700);position:relative;overflow:hidden}
.fc-next-in{position:relative;max-width:82.5rem;margin:0 auto;padding:0 4.375rem}
.fc-nextsec .fc-value{margin-top:2.75rem;padding-top:2.25rem;border-top:1px solid var(--ink-700)}
.fc-next-eb{margin:0 0 1rem}
.fc-next-h{font-family:var(--font-display);font-weight:800;text-transform:uppercase;font-size:clamp(2rem,3.2vw,3rem);line-height:.98;letter-spacing:-.01em;color:#fff;margin:0}
.fc-next-h .ds-accent{line-height:.98}
.fc-next-list{list-style:none;margin:2.75rem 0 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:1.875rem}
.fc-next-item{display:flex;flex-direction:column;padding-top:1.375rem;border-top:1px solid var(--ink-600)}
.fc-next-n{font-family:var(--font-display);font-weight:900;font-size:1.5rem;color:var(--pink-500);line-height:1;margin-bottom:1rem}
.fc-next-t{font-family:var(--font-sans);font-weight:600;font-size:1.08rem;color:#fff;margin:0 0 0.5rem}
.fc-next-d{font-size:.95rem;line-height:1.5;color:var(--fg-on-dark-2);margin:0}
.fc-reassure{margin-top:3rem;padding:1.75rem 1.875rem;border-radius:var(--r-md);background:rgba(255,255,255,.04);border:1px solid var(--ink-700);max-width:64ch}
.fc-reassure p{font-size:1.02rem;line-height:1.6;color:var(--fg-on-dark-2);margin:0}
.fc-reassure-attr{display:flex;flex-direction:column;gap:0.125rem;margin-top:1.125rem;padding-left:1rem;border-left:2px solid var(--pink-500)}
.fc-reassure-name{font-family:var(--font-display);font-weight:800;text-transform:uppercase;font-size:1.3rem;line-height:1;color:#fff}
.fc-reassure-role{font-family:var(--font-mono);font-size:0.65625rem;letter-spacing:.14em;text-transform:uppercase;color:var(--fg-on-dark-3)}

/* ============================================================
   MOBILE — hero + white form card (matches mockup)
   ============================================================ */
.fc-mobile{background:var(--paper)}
.fc-m-hero{position:relative;background:#0a0b0d;overflow:hidden;padding:0 1.375rem 1.875rem;min-height:21.875rem;display:flex;flex-direction:column}
.fc-m-hero-img{position:absolute;right:0;top:0;width:100%;height:100%;object-fit:cover;object-position:56% 38%;pointer-events:none;z-index:0}
.fc-m-hero-scrim{position:absolute;inset:0;z-index:1;background:
  linear-gradient(0deg,#0a0b0d 13%,rgba(10,11,13,.12) 52%,rgba(10,11,13,.42) 100%),
  linear-gradient(180deg,rgba(10,11,13,.62) 0%,rgba(10,11,13,0) 32%)}
/* Issue 145: Contact header — logo + hamburger +12%, the whole row nudged up toward the
   safe-area top (env protection so it never crowds the status area), logo and burger kept
   vertically centred with one another (bar height = logo height; burger centred via 50%).
   Scoped to the Contact (.fc-mobile) page only. */
.fc-m-hero-bar{position:relative;z-index:2;display:flex;align-items:center;justify-content:center;padding:0;margin-top:max(1.5rem,calc(env(safe-area-inset-top) + 0.375rem))}
.fc-m-hero-logo{height:2.45rem;width:auto;display:block}
/* Issue 189: nudge the hamburger up ~40% of its top-gap so it sits slightly higher than the
   centred logo; size, right alignment, safe-area clearance and touch target preserved. */
.fc-m-hero-burger{position:absolute;right:0;top:50%;transform:translateY(calc(-50% - 0.6rem));background:none;border:0;padding:0.25rem;display:flex;cursor:pointer}
/* Issue 190: logo wordmark wrapped in a reset button that routes home; visually identical. */
.fc-m-hero-logo-btn{background:none;border:0;padding:0;margin:0;cursor:pointer;display:inline-flex;align-items:center;-webkit-tap-highlight-color:transparent}
/* Issue 189: a very subtle soft-white ambient light on the LEFT of the otherwise-black hero,
   balancing the mushroom glow on the right. Predominantly black, understated, sits below the
   content (z-index 1) so it never reduces headline/script contrast. */
.fc-m-hero::before{content:"";position:absolute;left:0;top:0;bottom:0;width:62%;z-index:1;background:radial-gradient(125% 78% at 2% 42%,rgba(255,255,255,.075),rgba(255,255,255,.03) 32%,transparent 62%);pointer-events:none}
.fc-m-hero-in{position:relative;z-index:2;margin-top:2.625rem;padding-top:0}
.fc-m-eb{margin:0 0 0.875rem}
.fc-m-hero-h{font-family:var(--font-display);font-weight:900;text-transform:uppercase;font-size:2.5rem;line-height:.96;letter-spacing:-.02em;color:#fff;margin:0;text-shadow:0 2px 18px rgba(0,0,0,.55)}
.fc-m-hero-h .ds-accent{line-height:.92;display:inline-block;font-size:.86em}
.fc-m-hero-accent{font-family:var(--font-accent);font-style:italic;font-weight:500;color:var(--pink-500);font-size:1.45rem;line-height:1.05;margin:1rem 0 0;text-shadow:0 2px 14px rgba(0,0,0,.6)}

.fc-m-formsec{position:relative;z-index:2;background:#fff;border-radius:1.375rem 1.375rem 0 0;margin-top:-5.9375rem;padding:1.5rem 1.375rem 2.25rem}
.fc-m-form-head{display:flex;align-items:center;gap:0.8125rem;margin-bottom:1.25rem}
.fc-m-form-ic{flex:none;width:3rem;height:3rem;border-radius:50%;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--pink-500) 12%,#fff);border:1px solid color-mix(in srgb,var(--pink-500) 24%,transparent)}
.fc-m-form-h{font-family:var(--font-display);font-weight:800;text-transform:uppercase;font-size:1.5rem;line-height:1;letter-spacing:-.01em;color:var(--fg-on-light);margin:0}
.fc-m-form-sub{font-family:var(--font-sans);font-size:.9rem;color:var(--fg-on-light-2);margin:0.3125rem 0 0}
.fc-mobile .fc-inp-ic{color:var(--pink-500)}
.fc-mform{display:flex;flex-direction:column;gap:0.875rem}
.fc-mobile .fc-inp{font-size:1rem;padding:0.9375rem 1rem}
.fc-mobile .fc-inp--icon{padding-left:3rem}
.fc-mform .fc-textarea{min-height:6rem}
.fc-m-svc-label{font-family:var(--font-mono);font-size:0.8625rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--fg-on-light);margin:1.5rem 0 0}
.fc-m-svc-grid{display:grid;grid-template-columns:1fr 1fr;gap:0.625rem;margin-top:0.875rem}
.fc-m-svc{display:flex;align-items:center;gap:0.625rem;padding:0.875rem 0.6875rem;border:1px solid var(--line-200);border-radius:0.75rem;background:#fff;cursor:pointer;text-align:left;transition:border-color .18s var(--ease),background .18s var(--ease)}
.fc-m-svc-ic{flex:none;display:inline-flex}
.fc-m-svc-t{font-family:var(--font-sans);font-size:.8rem;color:var(--fg-on-light);line-height:1.2}
.fc-m-svc.is-sel{border-color:var(--pink-500);background:color-mix(in srgb,var(--pink-500) 6%,#fff)}
.fc-m-submit{margin-top:1.625rem;width:100%;justify-content:center;box-shadow:none}
.fc-m-submit:hover{box-shadow:none}

.fc-m-next{background:var(--ink-900);padding:2.5rem 1.375rem}
.fc-mobile .fc-next-list{grid-template-columns:1fr;gap:0}
.fc-mobile .fc-next-item{border-top:1px solid var(--ink-600);padding:1.25rem 0}
.fc-mobile .fc-next-item:first-child{padding-top:1.5rem}
.fc-mobile .fc-next-n{margin-bottom:0.625rem}
.fc-mobile .fc-reassure{margin-top:1.75rem;padding:1.375rem}

.fc-m-value{background:var(--ink-850);padding:1.875rem 1.375rem 2.5rem}
.fc-m-value-eb{margin:0 0 1.125rem}
.fc-m-value .fc-value{flex-direction:column;gap:1rem}
