/* FlowX Wk1: sprint offer card + site-wide CTA styles. Uses only tokens/hex already in css/modern-home.css. */
.fx-sprint-card{
  --fx-ink: var(--ink, #0f141a);
  --fx-ink-soft: var(--ink-soft, #394553);
  --fx-surface: var(--surface, #ffffff);
  --fx-warm: var(--accent-warm, #ff8a36);
  --fx-warm-soft: var(--accent-warm-soft, #fff1e4);
  --fx-line: var(--line, rgba(12, 19, 28, 0.12));
  --fx-radius: 28px;
  font-family: var(--font-sans, "Sora", sans-serif);
  color: var(--fx-ink);
  background: linear-gradient(180deg, var(--fx-warm-soft) 0%, var(--fx-surface) 55%);
  border: 1px solid var(--fx-line);
  border-radius: var(--fx-radius);
  box-shadow: var(--shadow-soft, 0 18px 40px rgba(18, 30, 44, 0.12));
  padding: clamp(1.4rem, 2.6vw, 2rem);
  display: grid; gap: 1.1rem;
}
.fx-sprint-label{margin:0;font-size:.78rem;font-weight:600;letter-spacing:.13em;text-transform:uppercase;color:var(--fx-ink-soft)}
.fx-sprint-title{margin:0;font-family:var(--font-serif,"Instrument Serif",serif);font-weight:400;font-size:clamp(2rem,3.2vw,2.6rem);line-height:1.05}
.fx-sprint-price{margin:0;display:flex;align-items:baseline;flex-wrap:wrap;gap:.35rem .7rem}
.fx-sprint-price strong{font-size:clamp(1.6rem,2.4vw,2rem);font-weight:700;letter-spacing:-.01em}
.fx-sprint-price span{font-size:.95rem;font-weight:500;color:var(--fx-ink-soft)}
.fx-sprint-list{margin:0;padding:0;list-style:none;display:grid;gap:.7rem;border-top:1px solid var(--fx-line);padding-top:1.1rem}
.fx-sprint-list li{position:relative;padding-left:1.6rem;font-size:1rem;line-height:1.5;color:var(--fx-ink)}
.fx-sprint-list li::before{content:"";position:absolute;left:0;top:.5em;width:.6rem;height:.6rem;border-radius:50%;background:var(--fx-warm)}
.fx-sprint-note{margin:0;font-size:.88rem;line-height:1.5;color:var(--fx-ink-soft)}

/* Site-wide CTAs */
.fx-cta-primary,.fx-cta-secondary{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  min-height:48px;padding:.9rem 1.35rem;border-radius:999px;
  font-family:var(--font-sans,"Sora",sans-serif);font-size:.95rem;font-weight:600;
  text-decoration:none;cursor:pointer;border:1px solid transparent;
  transition:transform 220ms cubic-bezier(.34,1.56,.64,1),background-color 140ms,color 140ms,box-shadow 220ms;
}
.fx-cta-primary{background:#ff8a36;color:#0f141a;box-shadow:0 12px 24px rgba(15,20,26,.18)}
.fx-cta-primary:hover{background:#0f141a;color:#ffffff;transform:translateY(-1px)}
.fx-cta-primary:active{transform:translateY(0);box-shadow:none}
.fx-cta-secondary{background:transparent;color:#0f141a;border-color:#0f141a}
.fx-cta-secondary:hover{background:#0f141a;color:#ffffff}
.fx-cta-primary:focus-visible,.fx-cta-secondary:focus-visible{outline:2px solid #0a84ff;outline-offset:3px}
.fx-cta-primary[aria-disabled="true"],.fx-cta-secondary[aria-disabled="true"]{opacity:.5;pointer-events:none}
.fx-sprint-card .fx-cta-primary{width:100%;box-sizing:border-box}
/* .hero-actions sets display:flex, which would otherwise show a hidden control. */
.hero-actions[hidden]{display:none !important}

/* Price line. No amount is published. Scope and price are agreed on the call. */
.fx-sprint-sub{margin:0;font-size:1.05rem;font-weight:600;color:var(--fx-ink)}
.fx-sprint-card .fx-sprint-price-line{visibility:visible}
.fx-sprint-card--priced .fx-sprint-sub{display:none}

/* The second proof card sets a light text color. Its dark background has to win
   over the nth-child cream fill, or the copy fades into the section. */
.proof-ledger-card.proof-ledger-card-accent{
  background:linear-gradient(145deg,#0f141a,#1f2c3a);
  border-color:rgba(255,255,255,.14);
  color:#edf3f8;
}
.proof-ledger-card.proof-ledger-card-accent .proof-ledger-label{color:rgba(237,243,248,.72)}
.proof-ledger-card.proof-ledger-card-accent h3,
.proof-ledger-card.proof-ledger-card-accent p{color:#edf3f8}
.proof-ledger-card.proof-ledger-card-accent .text-link{color:#ffd7b8}

.fx-partner-block{
  border:1px solid var(--line, rgba(12,19,28,.12));
  border-radius:28px;
  background:linear-gradient(180deg,#fff1e4 0%,#ffffff 62%);
  padding:clamp(1.4rem,2.6vw,2.1rem);
  box-shadow:var(--shadow-soft, 0 18px 40px rgba(18,30,44,.12));
}
.fx-partner-block h2{
  margin:.35rem 0 0;
  font-family:var(--font-serif,"Instrument Serif",serif);
  font-weight:400;
  font-size:clamp(1.8rem,3vw,2.4rem);
  line-height:1.1;
}
.fx-partner-block p{margin:.8rem 0 0;max-width:64ch;color:var(--ink-soft,#394553)}
.team-member picture{display:block;width:100%}
.brand picture{display:flex;align-items:center}
.page-hero .fx-sprint-price{margin:1rem 0 .25rem}
.page-hero .fx-sprint-price,
.page-hero .fx-sprint-price strong{color:#0f141a}
.page-hero .fx-sprint-price span{color:#394553}

/* Site integration: nav stays outline and compact. Footer links must not restyle the button. One orange primary per page is a markup rule. */
.nav-links a.fx-cta-secondary{
  min-height:40px;
  padding:.55rem 1.1rem;
  font-size:.87rem;
  margin-left:clamp(.4rem,1vw,1rem);
  color:#0f141a;
}
.nav-links a.fx-cta-primary::after,
.nav-links a.fx-cta-secondary::after{display:none}
.nav-links a.fx-cta-secondary:hover,
.nav-links a.fx-cta-secondary:focus-visible{
  color:#ffffff;
  background:#0f141a;
}
.footer-grid a.fx-cta-secondary,
.footer-grid a.fx-cta-primary{
  display:inline-flex;
  width:fit-content;
  margin-top:.9rem;
  font-size:.95rem;
  color:#0f141a;
}
.footer-grid a.fx-cta-secondary:hover,
.footer-grid a.fx-cta-primary:hover{
  color:#ffffff;
  transform:none;
}
.footer-grid a.fx-cta-primary:hover{background:#0f141a}
@media (min-width:821px){
  .proof-ledger-grid.is-two,
  .client-ledger.is-two{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:820px){
  .nav-links a.fx-cta-secondary{margin-left:0;justify-content:center}
  .nav-links a.fx-cta-secondary:hover,
  .nav-links a.fx-cta-secondary.is-active{background:#0f141a;color:#ffffff}
}

/* Round 1: hero width, 5-card grid, FAQ, fit row, US footer. */
.page-hero-box.fx-hero-tight{max-width:880px;margin-inline:auto}

.fx-grid-5{display:grid;grid-template-columns:repeat(6,1fr);gap:var(--gap,20px)}
.fx-grid-5>*{grid-column:span 2;height:100%}
.fx-grid-5>*:nth-child(4){grid-column:2 / span 2}
.fx-grid-5>*:nth-child(5){grid-column:4 / span 2}
@media (max-width:900px){
  .fx-grid-5{grid-template-columns:1fr 1fr}
  .fx-grid-5>*,.fx-grid-5>*:nth-child(n){grid-column:auto}
  .fx-grid-5>*:nth-child(5){grid-column:1 / -1}
}
@media (max-width:600px){
  .fx-grid-5{grid-template-columns:1fr}
  .fx-grid-5>*:nth-child(5){grid-column:auto}
}

.fx-faq{max-width:820px;margin:0 auto}
.fx-faq-group{font-family:var(--font-sans,"Sora",sans-serif);font-size:.8rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;margin:48px 0 12px;color:inherit;opacity:.7}
.fx-faq-item{background:#fff;border:1px solid var(--line, rgba(15,20,26,.08));border-radius:16px;margin:0 0 12px;box-shadow:0 6px 20px rgba(15,20,26,.05)}
.fx-faq-item summary{list-style:none;cursor:pointer;padding:20px 56px 20px 24px;font-weight:600;font-size:1.05rem;position:relative}
.fx-faq-item summary::-webkit-details-marker{display:none}
.fx-faq-item summary::after{content:"+";position:absolute;right:24px;top:50%;transform:translateY(-50%);font-size:1.4rem;color:#ff8a36;transition:transform .2s}
.fx-faq-item[open] summary::after{transform:translateY(-50%) rotate(45deg)}
.fx-faq-item summary:focus-visible{outline:2px solid #0a84ff;outline-offset:2px;border-radius:16px}
.fx-faq-body{padding:0 24px 20px;line-height:1.65}
.fx-faq-body p{margin:0;color:var(--ink-soft,#394553)}
.fx-faq-body a{color:var(--accent-strong,#0056b5);border-bottom:1px solid rgba(0,86,181,.3)}
@media (max-width:600px){
  .fx-faq-item summary{padding:18px 48px 18px 18px;font-size:1rem}
  .fx-faq-body{padding:0 18px 18px}
}

.fx-fit-row{display:grid;grid-template-columns:2fr 1fr;gap:20px;margin-top:20px}
@media (max-width:760px){.fx-fit-row{grid-template-columns:1fr}}

.footer-grid .fx-footer-us a.footer-cta{display:inline-flex;width:fit-content;margin-top:.9rem}
