
:root {
  --black:#000000;
  --off:#F7F7F5;
  --pink:#FF2D6F;
  --light:#BDBDBD;
  --dark:#6E6E6E;
  --white:#FFFFFF;
  --max:1240px;
  --pad:clamp(20px,4vw,58px);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;background:var(--off);color:var(--black);
  font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;
  font-size:16px;line-height:1.55;
}
a{color:inherit}
img{max-width:100%;display:block}
::selection{background:var(--pink);color:#fff}
.shell{width:min(var(--max),calc(100% - var(--pad)*2));margin:0 auto}
.site-header{
  position:sticky;top:0;z-index:50;background:rgba(247,247,245,.96);
  backdrop-filter:blur(14px);border-bottom:1px solid var(--black)
}
.nav{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:26px}
.wordmark{
  display:flex;align-items:center;gap:12px;text-decoration:none;text-transform:uppercase;
  font-size:12px;font-weight:900;letter-spacing:.21em;white-space:nowrap
}
.brand-pip{width:13px;height:13px;background:var(--pink);display:inline-block}
.nav-links{display:flex;align-items:center;gap:24px;list-style:none;padding:0;margin:0;font-size:14px}
.nav-links a{text-decoration:none;border-bottom:1px solid transparent;padding:4px 0}
.nav-links a:hover,.nav-links a:focus-visible{border-bottom-color:var(--black)}
.nav-cta{border:1px solid var(--black)!important;padding:10px 15px!important;font-weight:800}
.nav-cta:hover{background:var(--black);color:var(--off)}
.mobile-menu{display:none}

.eyebrow,.section-label{
  margin:0 0 22px;font-size:11px;font-weight:900;letter-spacing:.18em;text-transform:uppercase
}
.hero{
  display:grid;grid-template-columns:minmax(0,1.58fr) minmax(290px,.42fr);
  min-height:min(800px,calc(100vh - 76px));border-bottom:1px solid var(--black)
}
.hero-main{
  padding:clamp(72px,8vw,120px) var(--pad) 72px max(var(--pad),calc((100vw - var(--max))/2));
  border-right:1px solid var(--black);display:flex;flex-direction:column;justify-content:center
}
.hero-title{
  margin:0;max-width:980px;font-size:clamp(54px,7.5vw,116px);font-weight:950;
  letter-spacing:-.064em;line-height:.87;text-transform:uppercase
}
.hero-title .accent{color:var(--pink)}
.hero-copy{max-width:790px;margin:36px 0 0;font-size:clamp(19px,1.8vw,25px);line-height:1.34}
.buttons{display:flex;gap:12px;flex-wrap:wrap;margin-top:34px}
.button{
  min-height:52px;padding:0 20px;border:1px solid currentColor;text-decoration:none;
  display:inline-flex;align-items:center;justify-content:center;font-size:13px;font-weight:850
}
.button.primary{background:var(--pink);border-color:var(--pink);color:#fff}
.button.primary:hover{background:transparent;color:var(--pink)}
.button.dark:hover{background:var(--black);color:var(--off)}
.button.light{color:var(--off)}
.button.light:hover{background:var(--off);color:var(--black)}

.hero-rail{background:var(--black);color:var(--off);padding:46px 34px;display:flex;flex-direction:column;justify-content:space-between}
.rail-product{font-size:clamp(32px,3vw,48px);font-weight:900;line-height:.95}
.rail-product span{color:var(--pink)}
.rail-list{margin:48px 0 0;padding:0;list-style:none;border-top:1px solid #333}
.rail-list li{padding:16px 0;border-bottom:1px solid #333;font-size:13px;letter-spacing:.04em}
.rail-note{margin-top:44px;color:#cfcfcb;font-size:13px;line-height:1.45}

.section{padding:clamp(78px,8vw,120px) 0;border-bottom:1px solid var(--black)}
.section.dark{background:var(--black);color:var(--off)}
.section.dark .lead,.section.dark .muted{color:#cacac5}
.section-head{display:grid;grid-template-columns:.56fr 1.44fr;gap:42px;margin-bottom:62px}
.section-title{
  margin:0;max-width:950px;font-size:clamp(38px,5vw,76px);line-height:.98;letter-spacing:-.047em
}
.lead{max-width:820px;margin:22px 0 0;font-size:clamp(18px,1.65vw,22px);line-height:1.45;color:#282828}
.muted{color:var(--dark)}

.problem-grid,.benefit-grid,.industry-grid,.trust-grid{
  display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--black);border-left:1px solid var(--black)
}
.problem-card,.benefit-card,.industry-card,.trust-card{
  min-height:255px;padding:28px;border-right:1px solid var(--black);border-bottom:1px solid var(--black);
  display:flex;flex-direction:column
}
.card-kicker{font-size:11px;color:var(--dark);font-weight:900;letter-spacing:.15em;text-transform:uppercase}
.problem-card h3,.benefit-card h3,.industry-card h3,.trust-card h3{
  margin:auto 0 12px;font-size:25px;line-height:1.05
}
.problem-card p,.benefit-card p,.industry-card p,.trust-card p{margin:0;color:#333;font-size:15px}
.icon{
  width:50px;height:50px;margin-bottom:36px;border:1px solid var(--black);
  display:grid;place-items:center;font-weight:950;font-size:18px
}
.icon.pink{background:var(--pink);border-color:var(--pink);color:#fff}

.steps{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--black);border-left:1px solid var(--black)}
.step{min-height:275px;padding:26px;border-right:1px solid var(--black);border-bottom:1px solid var(--black);display:flex;flex-direction:column}
.step-no{color:var(--pink);font-size:12px;font-weight:900}
.step h3{margin:auto 0 12px;font-size:28px;line-height:1}
.step p{margin:0;color:#333;font-size:15px}

.board-wrap{display:grid;grid-template-columns:1.12fr .88fr;gap:0}
.board-copy{padding-right:clamp(32px,5vw,80px)}
.question-list{border-top:1px solid var(--off)}
.question{padding:20px 0;border-bottom:1px solid #333;font-size:clamp(18px,2vw,27px);line-height:1.15}
.question::before{content:"—";color:var(--pink);margin-right:14px}

.rule-panel{display:grid;grid-template-columns:.9fr 1.1fr;border:1px solid var(--black)}
.rule-statement{background:var(--black);color:var(--off);padding:clamp(42px,5vw,70px)}
.rule-statement h3{margin:0;font-size:clamp(38px,5vw,70px);line-height:.96;letter-spacing:-.045em}
.rule-detail{padding:clamp(42px,5vw,70px)}
.rule-detail p{max-width:700px;font-size:18px}
.rule-detail strong{font-weight:900}

.price-strip{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--black)}
.price-card{padding:clamp(34px,4vw,55px);min-height:320px;display:flex;flex-direction:column}
.price-card+ .price-card{border-left:1px solid var(--black)}
.price-card.nfp{background:var(--black);color:var(--off)}
.price-label{font-size:11px;font-weight:900;letter-spacing:.16em;text-transform:uppercase}
.price{font-size:clamp(48px,6vw,86px);font-weight:950;line-height:.95;letter-spacing:-.055em;margin:42px 0 10px}
.price small{font-size:18px;font-weight:700;letter-spacing:0}
.price-card p{margin:0;max-width:470px}
.price-card .buttons{margin-top:auto;padding-top:34px}

.company-band{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px;align-items:start}
.company-band h2{margin:0;font-size:clamp(38px,5vw,72px);line-height:.97;letter-spacing:-.045em}

.cta-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:52px;align-items:end}

.page-hero{padding:clamp(90px,10vw,150px) 0 76px;border-bottom:1px solid var(--black)}
.page-title{margin:0;max-width:1080px;font-size:clamp(56px,8vw,120px);line-height:.84;letter-spacing:-.064em;text-transform:uppercase}
.page-title .accent{color:var(--pink)}
.page-intro{max-width:820px;margin:34px 0 0;font-size:clamp(19px,1.8vw,25px);line-height:1.4}

.feature-list{border-top:1px solid var(--black)}
.feature-row{display:grid;grid-template-columns:110px .8fr 1.2fr;gap:32px;padding:36px 0;border-bottom:1px solid var(--black);align-items:start}
.feature-no{font-size:11px;font-weight:900;letter-spacing:.14em;color:var(--pink)}
.feature-row h3{margin:0;font-size:30px;line-height:1.05}
.feature-row p{margin:0;max-width:620px;color:#333}

.industry-detail{display:grid;grid-template-columns:.7fr 1.3fr;gap:55px;padding:50px 0;border-top:1px solid var(--black)}
.industry-detail:last-child{border-bottom:1px solid var(--black)}
.industry-detail h2{margin:0;font-size:clamp(34px,4vw,58px);line-height:.98}
.industry-detail p{margin-top:0;font-size:18px}

.faq{border-top:1px solid var(--black)}
.faq-item{display:grid;grid-template-columns:.75fr 1.25fr;gap:35px;padding:30px 0;border-bottom:1px solid var(--black)}
.faq-item h3{margin:0;font-size:21px}
.faq-item p{margin:0}

.resource-list{border-top:1px solid var(--black)}
.resource-card{
  display:grid;grid-template-columns:130px 1fr auto;gap:28px;padding:30px 0;border-bottom:1px solid var(--black);
  align-items:baseline;text-decoration:none
}
.resource-card:hover h3{text-decoration:underline}
.resource-type{font-size:11px;color:var(--dark);font-weight:900;letter-spacing:.14em;text-transform:uppercase}
.resource-card h3{margin:0;font-size:26px}
.resource-arrow{font-size:20px}

.article{max-width:850px;margin:0 auto}
.article h2{margin:60px 0 16px;font-size:34px;line-height:1.05}
.article h3{margin:36px 0 12px;font-size:24px}
.article p,.article li{font-size:18px;line-height:1.7}
.article ul{padding-left:22px}
.article-note{border-left:5px solid var(--pink);padding:18px 22px;margin:34px 0;background:#fff}

.demo-layout{display:grid;grid-template-columns:.82fr 1.18fr;gap:70px}
.demo-points{border-top:1px solid var(--black);margin-top:36px}
.demo-points div{padding:18px 0;border-bottom:1px solid var(--black)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.field{display:flex;flex-direction:column;gap:7px}
.field.full{grid-column:1/-1}
label{font-size:12px;font-weight:850}
input,textarea{
  width:100%;border:1px solid var(--black);background:var(--off);border-radius:0;padding:14px 14px;font:inherit;color:var(--black)
}
textarea{min-height:145px;resize:vertical}
.form-note{font-size:12px;color:var(--dark);margin-top:14px}

.footer{background:var(--black);color:var(--off);padding:64px 0 34px}
.footer-grid{display:grid;grid-template-columns:1fr auto;gap:40px;align-items:end}
.footer-brand{font-size:clamp(34px,5vw,68px);font-weight:950;letter-spacing:-.045em;text-transform:uppercase;line-height:.9}
.footer-brand span{color:var(--pink)}
.footer-links{display:flex;gap:18px;flex-wrap:wrap;margin-top:24px;font-size:13px}
.footer-links a{color:#d1d1cc;text-decoration:none}
.footer-small{text-align:right;color:#bcbcb7;font-size:12px}

@media(max-width:980px){
  .nav-links{gap:15px;font-size:13px}
  .hero{grid-template-columns:1fr}
  .hero-main{border-right:0}
  .hero-rail{min-height:360px}
  .problem-grid,.benefit-grid,.industry-grid,.trust-grid{grid-template-columns:repeat(2,1fr)}
  .steps{grid-template-columns:repeat(2,1fr)}
  .board-wrap,.rule-panel,.company-band,.cta-grid,.demo-layout{grid-template-columns:1fr}
  .board-copy{padding-right:0;margin-bottom:50px}
  .feature-row{grid-template-columns:70px 1fr}
  .feature-row p{grid-column:2}
  .industry-detail{grid-template-columns:1fr;gap:18px}
}
@media(max-width:760px){
  .nav{min-height:68px}
  .mobile-menu{
    display:inline-flex;background:transparent;border:1px solid var(--black);padding:8px 11px;font:inherit;font-size:12px;font-weight:850
  }
  .nav-links{
    display:none;position:absolute;top:68px;left:0;right:0;background:var(--off);border-bottom:1px solid var(--black);
    padding:22px var(--pad);flex-direction:column;align-items:flex-start
  }
  .nav-links.open{display:flex}
  .wordmark{font-size:11px;letter-spacing:.15em}
  .hero-title{font-size:clamp(50px,16vw,78px)}
  .section-head{grid-template-columns:1fr;gap:12px}
  .problem-grid,.benefit-grid,.industry-grid,.trust-grid,.steps,.price-strip{grid-template-columns:1fr}
  .price-card+ .price-card{border-left:0;border-top:1px solid var(--black)}
  .feature-row{grid-template-columns:1fr;gap:10px}
  .feature-row p{grid-column:1}
  .resource-card{grid-template-columns:1fr;gap:6px}
  .faq-item{grid-template-columns:1fr;gap:12px}
  .form-grid{grid-template-columns:1fr}
  .field.full{grid-column:auto}
  .footer-grid{grid-template-columns:1fr}
  .footer-small{text-align:left}
}


/* Fifthwave Current — restrained site motion */
.current-progress {
  position: fixed;
  top: 76px;
  left: 0;
  z-index: 60;
  width: 100%;
  height: 2px;
  pointer-events: none;
  background: transparent;
}
.current-progress__bar {
  display: block;
  width: 100%;
  height: 100%;
  background: var(--pink);
  transform: scaleX(0);
  transform-origin: left center;
  will-change: transform;
}

[data-reveal] {
  opacity: 0;
  transform: translateY(24px);
}
[data-reveal].is-visible {
  opacity: 1;
  transform: translateY(0);
  transition: opacity .7s cubic-bezier(.2,.8,.2,1),
              transform .7s cubic-bezier(.2,.8,.2,1);
}

.problem-card,
.benefit-card,
.industry-card,
.trust-card,
.step,
.resource-card,
.pricing-row {
  transition: transform .22s ease, background-color .22s ease;
}
.problem-card:hover,
.benefit-card:hover,
.industry-card:hover,
.trust-card:hover,
.step:hover {
  transform: translateY(-4px);
}
.resource-card:hover {
  transform: translateX(5px);
}

.button {
  transition: transform .18s ease, background-color .18s ease, color .18s ease, border-color .18s ease;
}
.button:hover {
  transform: translateY(-2px);
}

.home-pricing {
  display: grid;
  grid-template-columns: .8fr 1.2fr;
  gap: 60px;
  align-items: start;
}
.home-pricing__summary {
  max-width: 700px;
}
.home-pricing__summary p {
  margin-top: 0;
  font-size: 18px;
}
.home-pricing__meta {
  border-top: 1px solid var(--black);
}
.home-pricing__meta div {
  display: grid;
  grid-template-columns: 150px 1fr;
  gap: 24px;
  padding: 16px 0;
  border-bottom: 1px solid var(--black);
}
.home-pricing__meta strong {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .12em;
}
.home-pricing__meta span {
  color: #333;
}

/* Pricing page */
.pricing-overview {
  display: grid;
  grid-template-columns: .72fr 1.28fr;
  gap: 70px;
  align-items: start;
}
.pricing-overview__intro {
  position: sticky;
  top: 120px;
}
.pricing-overview__intro h2 {
  margin: 0;
  font-size: clamp(38px, 4.5vw, 66px);
  line-height: .98;
  letter-spacing: -.045em;
}
.pricing-overview__intro p {
  font-size: 18px;
}
.pricing-table {
  border-top: 1px solid var(--black);
}
.pricing-row {
  display: grid;
  grid-template-columns: 1.15fr .72fr 1.13fr;
  gap: 26px;
  padding: 28px 0;
  border-bottom: 1px solid var(--black);
  align-items: start;
}
.pricing-row:hover {
  background: rgba(255,255,255,.48);
}
.pricing-row__name h3 {
  margin: 0 0 7px;
  font-size: 22px;
  line-height: 1.1;
}
.pricing-row__name p,
.pricing-row__detail p {
  margin: 0;
  color: #444;
  font-size: 14px;
}
.pricing-row__price {
  font-size: 20px;
  font-weight: 900;
  line-height: 1.2;
  white-space: nowrap;
}
.pricing-row__price small {
  display: block;
  margin-top: 5px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--dark);
}
.pricing-note {
  margin-top: 24px;
  max-width: 850px;
  color: var(--dark);
  font-size: 13px;
}
.included-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid var(--black);
  border-left: 1px solid var(--black);
}
.included-item {
  min-height: 215px;
  padding: 26px;
  border-right: 1px solid var(--black);
  border-bottom: 1px solid var(--black);
}
.included-item span {
  color: var(--pink);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .14em;
}
.included-item h3 {
  margin: 46px 0 10px;
  font-size: 23px;
  line-height: 1.05;
}
.included-item p {
  margin: 0;
  font-size: 14px;
  color: #333;
}
.billing-list {
  border-top: 1px solid var(--black);
}
.billing-item {
  display: grid;
  grid-template-columns: 220px 1fr;
  gap: 35px;
  padding: 24px 0;
  border-bottom: 1px solid var(--black);
}
.billing-item strong {
  font-size: 13px;
  letter-spacing: .04em;
}
.billing-item p {
  margin: 0;
  max-width: 750px;
}
.price-scope {
  font-size: 13px;
  color: var(--dark);
  margin-top: 10px;
}
.price-footnote {
  padding: 26px 30px;
  border: 1px solid var(--black);
  border-left: 7px solid var(--pink);
  margin-top: 42px;
  background: var(--white);
}
.price-footnote p {
  margin: 0;
}

@media (max-width: 980px) {
  .home-pricing,
  .pricing-overview {
    grid-template-columns: 1fr;
  }
  .pricing-overview__intro {
    position: static;
  }
  .included-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 760px) {
  .current-progress { top: 68px; }
  .home-pricing__meta div,
  .billing-item,
  .pricing-row {
    grid-template-columns: 1fr;
    gap: 8px;
  }
  .included-grid {
    grid-template-columns: 1fr;
  }
  .pricing-row__price {
    margin: 4px 0 8px;
  }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  [data-reveal] {
    opacity: 1 !important;
    transform: none !important;
  }
  [data-reveal].is-visible,
  .problem-card,
  .benefit-card,
  .industry-card,
  .trust-card,
  .step,
  .resource-card,
  .pricing-row,
  .button {
    transition: none !important;
    transform: none !important;
  }
  .current-progress { display: none; }
}


/* Canonical Fifthwave square mark */
.header-brand {
  display: inline-flex;
  align-items: center;
  gap: 13px;
  text-decoration: none;
  text-transform: uppercase;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .21em;
  white-space: nowrap;
}

.header-mark {
  width: 31px;
  height: 31px;
  flex: 0 0 auto;
}

.rail-brand-mark {
  width: clamp(96px, 9vw, 142px);
  height: auto;
  margin: 0 0 38px auto;
}

.footer-brand-lockup {
  display: flex;
  align-items: flex-start;
  gap: 22px;
}

.footer-brand-mark {
  width: clamp(54px, 5vw, 76px);
  height: auto;
  flex: 0 0 auto;
}

.brand-signature {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: clamp(24px, 4vw, 58px);
  align-items: center;
  border-top: 1px solid var(--black);
  padding-top: 34px;
  margin-top: 52px;
}

.brand-signature__mark {
  width: clamp(96px, 12vw, 160px);
  height: auto;
}

.brand-signature__copy {
  max-width: 650px;
}

.brand-signature__copy strong {
  display: block;
  font-size: clamp(25px, 3vw, 42px);
  line-height: 1;
  letter-spacing: -.035em;
  margin-bottom: 12px;
}

@media (max-width:760px) {
  .header-mark { width: 27px; height: 27px; }
  .header-brand { font-size: 10px; letter-spacing: .14em; }
  .brand-signature { grid-template-columns: 1fr; }
  .footer-brand-lockup { gap: 16px; }
}


/* Canonical primary brand assets */
.header-brand-logo {
  width: clamp(170px, 16vw, 230px);
  height: auto;
  display: block;
}

.hero-swell-lockup {
  width: min(100%, 520px);
  height: auto;
  margin: 0 0 42px;
}

.company-primary-logo {
  width: min(100%, 680px);
  height: auto;
  margin: 0 0 36px;
}

.footer-company-logo {
  width: min(100%, 360px);
  height: auto;
  background: var(--off);
  display: block;
}

.logo-showcase {
  padding: clamp(44px, 5vw, 72px) 0;
  border-bottom: 1px solid var(--black);
}

.logo-showcase__grid {
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  gap: 52px;
  align-items: center;
}

.logo-showcase__square {
  width: min(100%, 270px);
}

.logo-showcase__swell {
  width: min(100%, 760px);
}

@media (max-width: 900px) {
  .logo-showcase__grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {
  .header-brand-logo {
    width: 165px;
  }
  .hero-swell-lockup {
    width: min(100%, 430px);
  }
}


/* =====================================================================
   v8 — Fifthwave Current / immersive interaction layer
   ===================================================================== */

/* The square mark is now a small brand device only; no logo specimen block. */
.logo-showcase { display: none !important; }

/* Hero line motion */
.hero-title {
  overflow: visible;
}
.hero-line {
  display: block;
  will-change: transform;
}
.hero-line:nth-child(2) {
  padding-left: clamp(0px, 2vw, 34px);
}
.hero-line:nth-child(3) {
  padding-left: clamp(0px, 4vw, 66px);
}

/* Hero rail becomes a live governance current. */
.hero-rail {
  position: relative;
  overflow: hidden;
}
.hero-rail::before {
  content:"";
  position:absolute;
  inset:0;
  opacity:.12;
  pointer-events:none;
  background:
    linear-gradient(to right, transparent 0 49.6%, #fff 49.8% 50.2%, transparent 50.4%),
    linear-gradient(to bottom, transparent 0 24.8%, #fff 25% 25.2%, transparent 25.4% 49.8%, #fff 50% 50.2%, transparent 50.4% 74.8%, #fff 75% 75.2%, transparent 75.4%);
}
.rail-topline {
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:30px;
  font-size:10px;
  font-weight:900;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:#cfcfcb;
}
.rail-pulse {
  width:8px;height:8px;background:var(--pink);display:inline-block;
  animation: railPulse 1.8s ease-in-out infinite;
}
@keyframes railPulse {
  0%,100% { transform:scale(1); opacity:1; }
  50% { transform:scale(.45); opacity:.45; }
}
.hero-swell-lockup {
  position:relative;
  z-index:1;
  width:min(100%,390px);
  margin:0 0 34px;
}
.rail-list {
  position:relative;
  z-index:1;
}
.rail-list li {
  display:grid;
  grid-template-columns:34px 1fr;
  gap:10px;
  transition: color .25s ease, padding-left .25s ease, background-color .25s ease;
}
.rail-list li span {
  color:var(--pink);
  font-size:10px;
  font-weight:900;
  padding-top:2px;
}
.rail-list li.is-active {
  color:#fff;
  padding-left:9px;
  background:linear-gradient(90deg, rgba(255,45,111,.16), transparent 78%);
}
.rail-meter {
  position:absolute;
  right:16px;
  top:42px;
  bottom:42px;
  width:2px;
  background:#2a2a2a;
}
.rail-meter span {
  display:block;
  width:100%;
  height:100%;
  background:var(--pink);
  transform:scaleY(.08);
  transform-origin:top;
  will-change:transform;
}

/* Moving capability ticker */
.capability-current {
  overflow:hidden;
  border-bottom:1px solid var(--black);
  background:var(--pink);
  color:#fff;
  white-space:nowrap;
}
.capability-track {
  display:flex;
  align-items:center;
  gap:24px;
  width:max-content;
  padding:13px 0;
  font-size:11px;
  font-weight:950;
  letter-spacing:.17em;
  animation: currentMarquee 28s linear infinite;
}
.capability-track b { color:#000; font-size:13px; }
@keyframes currentMarquee {
  from { transform:translateX(0); }
  to { transform:translateX(-50%); }
}
.capability-current:hover .capability-track { animation-play-state:paused; }

/* Scroll-story lifecycle */
.journey {
  display:grid;
  grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr);
  gap:clamp(48px,7vw,110px);
  align-items:start;
}
.journey-intro {
  position:sticky;
  top:128px;
}
.journey-progress {
  width:100%;
  height:2px;
  background:var(--light);
  margin-top:34px;
  overflow:hidden;
}
.journey-progress span {
  display:block;
  height:100%;
  background:var(--pink);
  transform:scaleX(0);
  transform-origin:left;
}
.journey-steps {
  border-top:1px solid var(--black);
}
.journey-step {
  min-height:70vh;
  display:grid;
  grid-template-columns:90px 1fr;
  gap:28px;
  align-content:center;
  border-bottom:1px solid var(--black);
  opacity:.35;
  transform:translateX(20px);
  transition:opacity .4s ease, transform .4s ease;
}
.journey-step.is-active {
  opacity:1;
  transform:translateX(0);
}
.journey-no {
  font-size:clamp(42px,5vw,74px);
  font-weight:950;
  line-height:1;
  color:var(--pink);
  letter-spacing:-.05em;
}
.journey-label {
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.16em;
  color:var(--dark);
}
.journey-step h3 {
  margin:12px 0 12px;
  font-size:clamp(34px,4vw,64px);
  line-height:.98;
  letter-spacing:-.04em;
}
.journey-step p {
  margin:0;
  max-width:620px;
  font-size:18px;
}

/* Progressive board questions */
.question {
  position:relative;
  overflow:hidden;
  transition:padding-left .35s ease, color .35s ease, background-color .35s ease;
}
.question.is-active {
  padding-left:16px;
  color:#fff;
  background:linear-gradient(90deg, rgba(255,45,111,.18), transparent 80%);
}
.question.is-active::before {
  animation:questionDash .55s cubic-bezier(.2,.8,.2,1) both;
}
@keyframes questionDash {
  from { margin-right:28px; opacity:0; }
  to { margin-right:14px; opacity:1; }
}
.board-answer {
  margin-top:22px;
  font-size:12px;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#9d9d99;
  opacity:.5;
}
.board-answer span {
  display:inline-block;
  width:7px;height:7px;
  background:var(--pink);
  margin-right:8px;
  animation:railPulse 1.8s ease-in-out infinite;
}

/* Pointer tilt / depth */
[data-tilt] {
  transform-style:preserve-3d;
  will-change:transform;
}
[data-tilt] h3,
[data-tilt] p,
[data-tilt] .icon,
[data-tilt] .card-kicker {
  transform:translateZ(14px);
}

/* Magnetic CTA targets */
[data-magnetic] {
  will-change:transform;
}

/* Hidden brand easter egg overlay */
.fifthwave-egg {
  position:fixed;
  inset:0;
  z-index:9999;
  display:grid;
  place-items:center;
  pointer-events:none;
  opacity:0;
  background:rgba(0,0,0,.94);
  color:var(--off);
}
.fifthwave-egg.is-on {
  animation:eggIn 1.8s cubic-bezier(.2,.8,.2,1) both;
}
.fifthwave-egg__inner {
  text-align:center;
  transform:scale(.9);
}
.fifthwave-egg__mark {
  width:110px;
  margin:0 auto 28px;
}
.fifthwave-egg__text {
  font-size:clamp(38px,7vw,90px);
  font-weight:950;
  letter-spacing:-.05em;
  text-transform:uppercase;
  line-height:.9;
}
.fifthwave-egg__text span { color:var(--pink); }
.fifthwave-egg__sub {
  margin-top:18px;
  color:#aaa;
  font-size:11px;
  letter-spacing:.18em;
  text-transform:uppercase;
}
@keyframes eggIn {
  0% { opacity:0; }
  18%,78% { opacity:1; }
  100% { opacity:0; }
}

/* "Swell" typed easter egg current sweep */
.swell-sweep {
  position:fixed;
  left:-20vw;
  top:50%;
  z-index:9998;
  width:140vw;
  height:3px;
  background:var(--pink);
  pointer-events:none;
  opacity:0;
  transform:rotate(-4deg) translateX(-110vw);
}
.swell-sweep.is-on {
  animation:swellSweep 1.25s cubic-bezier(.2,.8,.2,1);
}
@keyframes swellSweep {
  0% { opacity:0; transform:rotate(-4deg) translateX(-110vw); }
  18% { opacity:1; }
  75% { opacity:1; }
  100% { opacity:0; transform:rotate(-4deg) translateX(110vw); }
}

/* A very small navigation surprise */
.header-brand-logo {
  transition:transform .35s cubic-bezier(.2,.8,.2,1);
}
.header-brand:hover .header-brand-logo {
  transform:translateY(-2px) rotate(-.6deg);
}

/* Fine pointer only */
@media (hover:hover) and (pointer:fine) {
  .problem-card:hover,
  .benefit-card:hover,
  .industry-card:hover {
    box-shadow: 10px 10px 0 rgba(255,45,111,.16);
  }
}

@media (max-width:980px) {
  .journey { grid-template-columns:1fr; }
  .journey-intro { position:static; }
  .journey-step { min-height:420px; }
}
@media (max-width:760px) {
  .hero-line:nth-child(2),
  .hero-line:nth-child(3) { padding-left:0; }
  .journey-step {
    min-height:360px;
    grid-template-columns:64px 1fr;
    gap:18px;
  }
  .journey-no { font-size:42px; }
  .capability-track { animation-duration:34s; }
}
@media (prefers-reduced-motion:reduce) {
  .rail-pulse,
  .capability-track,
  .board-answer span {
    animation:none !important;
  }
  .hero-line,
  .journey-step,
  [data-tilt],
  [data-magnetic],
  .header-brand-logo {
    transform:none !important;
  }
  .journey-step { opacity:1 !important; }
  .fifthwave-egg,
  .swell-sweep { display:none !important; }
}
