
.page-hero { padding: 64px 0 24px; }
.page-hero-grid { display: grid; grid-template-columns: .96fr 1.04fr; gap: 28px; align-items: center; }
.page-nav-links { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 22px; }
.page-nav-links a { padding: 10px 14px; border-radius: 999px; color: var(--ink-soft); border: 1px solid rgba(255,255,255,.1); background: rgba(255,255,255,.04); transition: background .2s ease, color .2s ease, transform .2s ease; }
.page-nav-links a:hover { color: #fff; background: rgba(141,231,210,.12); transform: translateY(-1px); }
.product-device { margin: 0; padding: 16px; border-radius: var(--radius-xl); border: 1px solid rgba(255,255,255,.1); background: linear-gradient(135deg, rgba(141,231,210,.1), rgba(184,121,255,.12)); box-shadow: var(--shadow); }
.product-device img { width: 100%; border-radius: 24px; }
.engine-lab { display: grid; grid-template-columns: 1fr 180px 1fr; gap: 18px; align-items: center; margin-top: 30px; }
.engine-card { padding: 26px; border-radius: var(--radius-xl); min-height: 360px; }
.engine-icon { width: 52px; height: 52px; display: grid; place-items: center; border-radius: 18px; margin-bottom: 18px; color: #07111b; font-weight: 950; background: linear-gradient(135deg, var(--cyan), var(--gold-2)); box-shadow: 0 0 32px rgba(141,231,210,.18); }
.engine-bridge { display: grid; gap: 12px; justify-items: center; color: var(--ink-soft); font-size: .86rem; }
.engine-bridge::before, .engine-bridge::after { content: ""; width: 1px; height: 48px; background: linear-gradient(var(--cyan), var(--gold)); opacity: .7; }
.engine-bridge span { padding: 8px 10px; border-radius: 999px; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.1); }
.gallery-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; margin-top: 28px; }
.two-up { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
.feature-matrix { border-radius: var(--radius-xl); border: 1px solid rgba(255,255,255,.1); overflow: hidden; background: var(--panel); box-shadow: var(--shadow); }
.feature-matrix > div { display: grid; grid-template-columns: .8fr 1fr 1fr; gap: 18px; padding: 18px 22px; border-top: 1px solid rgba(255,255,255,.08); }
.feature-matrix > div:first-child { border-top: 0; }
.feature-matrix .matrix-head { color: var(--gold-2); background: rgba(255,255,255,.055); letter-spacing: .08em; text-transform: uppercase; font-size: .82rem; }
.feature-matrix span, .feature-matrix em { color: var(--ink-soft); font-style: normal; }
.pain-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
.pain-card { padding: 24px; border-radius: 26px; min-height: 258px; display: flex; flex-direction: column; }
.pain-card span { color: var(--cyan-2); letter-spacing: .14em; font-size: .82rem; }
.pain-card strong { color: var(--gold-2); margin-top: auto; padding-top: 20px; }
.tabs { display: flex; flex-wrap: wrap; gap: 10px; margin: 28px 0 22px; }
.tab-btn { border: 1px solid rgba(255,255,255,.1); border-radius: 999px; padding: 12px 16px; background: rgba(255,255,255,.045); color: var(--ink-soft); cursor: pointer; transition: background .2s ease, color .2s ease, transform .2s ease; }
.tab-btn:hover, .tab-btn.active { color: #07111b; background: linear-gradient(135deg, var(--cyan), var(--gold-2)); transform: translateY(-1px); }
.tab-deck { border-radius: var(--radius-xl); background: linear-gradient(135deg, rgba(141,231,210,.08), rgba(184,121,255,.08)); border: 1px solid rgba(255,255,255,.1); box-shadow: var(--shadow); }
.tab-panel { display: none; padding: 28px; }
.tab-panel.active { display: block; }
.tab-panel h3 { margin-top: 0; font-size: clamp(1.3rem, 2.6vw, 2rem); }
.tab-panel p, .tab-panel li { color: var(--ink-soft); }
.pricing-layout { display: grid; grid-template-columns: .9fr 1.1fr; gap: 24px; align-items: start; }
.pricing-copy img { margin-top: 24px; border-radius: var(--radius-xl); border: 1px solid rgba(255,255,255,.1); box-shadow: var(--shadow); }
.pricing-grid { display: grid; gap: 18px; }
.tier { padding: 24px; border-radius: 26px; }
.tier.popular { background: linear-gradient(135deg, rgba(231,192,100,.18), rgba(141,231,210,.09)), var(--panel); border-color: rgba(231,192,100,.32); }
.tier .tag, .team-card .tag { display: inline-flex; align-items: center; padding: 6px 10px; border-radius: 999px; color: #07111b; background: linear-gradient(135deg, var(--cyan), var(--gold-2)); font-size: .78rem; font-weight: 850; }
.price { font-size: clamp(2.1rem, 5vw, 3.2rem); line-height: 1; color: var(--gold-2); margin: 12px 0; font-weight: 950; }
.price span { font-size: 1rem; color: var(--ink-soft); margin-left: 4px; }
.party-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
.team-card { position: relative; padding: 24px; border-radius: 26px; overflow: hidden; }
.team-card::before { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at top right, rgba(141,231,210,.14), transparent 44%); pointer-events: none; }
.role { position: relative; color: var(--cyan-2); letter-spacing: .12em; text-transform: uppercase; font-size: .78rem; }
.team-card h3, .team-card p, .team-card ul, .team-card .tag { position: relative; }
.team-note { padding: 30px; border-radius: var(--radius-xl); border: 1px solid rgba(255,255,255,.1); background: linear-gradient(135deg, rgba(184,121,255,.14), rgba(231,192,100,.09)); box-shadow: var(--shadow); }
.team-note span { color: var(--gold-2); letter-spacing: .14em; text-transform: uppercase; font-size: .82rem; }
.team-note p { margin: 10px 0 0; font-size: clamp(1.25rem, 2.5vw, 2rem); line-height: 1.42; }
.quest-map { position: relative; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
.quest-map::before { content: ""; position: absolute; left: 6%; right: 6%; top: 44px; height: 2px; background: linear-gradient(90deg, var(--cyan), var(--gold), var(--violet)); opacity: .55; }
.quest-card { position: relative; padding: 24px; border-radius: 26px; min-height: 274px; }
.quest-card::before { content: ""; width: 20px; height: 20px; display: block; border-radius: 50%; margin-bottom: 28px; background: var(--gold-2); box-shadow: 0 0 0 8px rgba(231,192,100,.1), 0 0 28px rgba(231,192,100,.55); }
.phase { color: var(--cyan-2); letter-spacing: .12em; text-transform: uppercase; font-size: .78rem; margin-bottom: 8px; }

@media (max-width: 1080px) {
  .page-hero-grid, .pricing-layout { grid-template-columns: 1fr; }
  .party-grid, .pain-grid, .quest-map { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .quest-map::before { display: none; }
}
@media (max-width: 860px) {
  .engine-lab { grid-template-columns: 1fr; }
  .engine-card { min-height: auto; }
  .engine-bridge { grid-template-columns: repeat(3, 1fr); }
  .engine-bridge::before, .engine-bridge::after { display: none; }
  .gallery-grid, .two-up { grid-template-columns: 1fr; }
  .feature-matrix > div { grid-template-columns: 1fr; gap: 6px; }
}
@media (max-width: 620px) {
  .party-grid, .pain-grid, .quest-map { grid-template-columns: 1fr; }
  .engine-bridge { grid-template-columns: 1fr; }
}

.phone-shot-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  margin-top: 32px;
}
.phone-shot {
  margin: 0;
  padding: 14px;
  border-radius: 28px;
  border: 1px solid rgba(112,132,165,.28);
  background: linear-gradient(180deg, rgba(24,37,56,.86), rgba(10,17,32,.94));
  box-shadow: 0 24px 70px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.05);
}
.phone-shot img {
  width: 100%;
  border-radius: 22px;
  border: 1px solid rgba(255,200,61,.18);
  aspect-ratio: 864 / 1536;
  object-fit: cover;
  object-position: top;
}
.phone-shot figcaption {
  padding: 14px 4px 4px;
  display: grid;
  gap: 6px;
}
.phone-shot strong {
  color: var(--accent);
  font-size: 1.1rem;
}
.phone-shot span {
  color: var(--muted);
  font-size: .94rem;
  line-height: 1.6;
}
@media (max-width: 860px) {
  .phone-shot-grid { grid-template-columns: 1fr; }
  .phone-shot { max-width: 420px; margin-inline: auto; }
}

html { -webkit-text-size-adjust: 100%; }
body {
  line-break: strict;
  overflow-wrap: normal;
}
h1, h2, h3, .section-title, .big-line, .hero-copy h1 {
  text-wrap: balance;
  word-break: keep-all;
}
p, li, figcaption, .page-lead, .section-desc, .caption, .phone-shot span {
  text-wrap: pretty;
  overflow-wrap: break-word;
}
img { height: auto; }
main, section, article, figure, .panel, .card, .image-card, .phone-shot, .tier,
.metric, .loop-card, .pain-card, .team-card, .quest-card, .engine-card,
.tab-deck, .tab-panel, .strategy-card, .scenario-card {
  min-width: 0;
}
.hero-grid-wide {
  grid-template-columns: minmax(0, .92fr) minmax(420px, 1.08fr);
}
.hero-board-image img {
  aspect-ratio: 16 / 9;
  object-fit: cover;
  object-position: center;
}
.showcase-image img {
  aspect-ratio: 16 / 9;
  object-fit: cover;
  object-position: center;
}
.page-hero-product .page-hero-grid {
  grid-template-columns: minmax(0, .82fr) minmax(420px, 1.18fr);
}
.clean-engine-lab .engine-card {
  min-height: auto;
}
.engine-bridge span {
  white-space: nowrap;
}
.compact-shot-grid .phone-shot img {
  max-height: 720px;
}
.phone-shot-grid {
  align-items: start;
}
.phone-shot strong {
  color: var(--gold-2);
}
.phone-shot img {
  background: #07111f;
}
.scenario-grid,
.strategy-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  margin-top: 28px;
}
.scenario-card,
.strategy-card {
  padding: 24px;
  border-radius: 26px;
  border: 1px solid rgba(112,132,165,.28);
  background: linear-gradient(180deg, rgba(24,37,56,.78), rgba(16,26,43,.84));
  box-shadow: var(--shadow);
}
.scenario-card span,
.strategy-card span {
  display: inline-block;
  color: var(--cyan-2);
  letter-spacing: .12em;
  text-transform: uppercase;
  font-size: .78rem;
  margin-bottom: 10px;
}
.scenario-card h3,
.strategy-card h3 {
  margin: 0 0 10px;
  font-size: 1.25rem;
}
.scenario-card p,
.strategy-card p {
  margin: 0;
  color: var(--ink-soft);
}
.strategy-card {
  background: linear-gradient(135deg, rgba(141,231,210,.10), rgba(231,192,100,.08)), rgba(16,26,43,.84);
}
.feature-matrix,
.table-wrap {
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.feature-matrix > div {
  grid-template-columns: minmax(8rem, .8fr) minmax(0, 1fr) minmax(0, 1fr);
}
.feature-matrix > div > *,
table td,
table th {
  min-width: 0;
  overflow-wrap: break-word;
  word-break: normal;
}
table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}
th, td {
  padding: 14px 16px;
  border: 1px solid rgba(255,255,255,.1);
  vertical-align: top;
}
.price { white-space: nowrap; }
.role, .phase, .tag, .kicker, .eyebrow { overflow-wrap: normal; }
.footer p { max-width: 56ch; }

@media (max-width: 1180px) {
  .hero-grid-wide,
  .page-hero-product .page-hero-grid {
    grid-template-columns: 1fr;
  }
  .hero-board-image,
  .showcase-image {
    max-width: 960px;
  }
}
@media (max-width: 980px) {
  .scenario-grid,
  .strategy-grid {
    grid-template-columns: 1fr;
  }
  .header-actions .btn {
    display: none;
  }
}
@media (max-width: 860px) {
  .nav {
    max-height: calc(100vh - 96px);
    overflow-y: auto;
  }
  .section-title, .hero-copy h1 {
    letter-spacing: -.035em;
  }
  .hero-board-image img,
  .showcase-image img {
    aspect-ratio: 16 / 10;
  }
  .phone-shot-grid {
    gap: 22px;
  }
  .phone-shot img {
    max-height: none;
  }
  .tab-panel {
    padding: 22px;
  }
  .tabs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .tab-btn {
    width: 100%;
    padding-inline: 12px;
  }
  table {
    min-width: 640px;
  }
}
@media (max-width: 620px) {
  .container { width: min(calc(100% - 24px), var(--maxw)); }
  .hero-copy h1 {
    font-size: clamp(2.3rem, 13vw, 3.7rem);
    line-height: 1.04;
  }
  .section-title {
    font-size: clamp(1.85rem, 9vw, 2.65rem);
    line-height: 1.12;
  }
  .page-lead,
  .section-desc,
  .hero-copy p {
    font-size: 1rem;
  }
  .kicker {
    width: fit-content;
    max-width: 100%;
    white-space: normal;
    line-height: 1.45;
  }
  .hero-actions .btn,
  .callout-actions .btn {
    width: 100%;
  }
  .hero-board,
  .image-card,
  .callout,
  .panel,
  .team-note,
  .phone-shot,
  .scenario-card,
  .strategy-card {
    border-radius: 22px;
  }
  .hero-board { padding: 10px; }
  .hero-board img { border-radius: 18px; }
  .board-toolbar,
  .board-status {
    font-size: .72rem;
    letter-spacing: .08em;
  }
  .tabs { grid-template-columns: 1fr; }
  .tier, .pain-card, .quest-card, .loop-card, .team-card, .engine-card, .panel {
    padding: 22px;
  }
  .footer-links {
    align-items: flex-start;
    justify-content: flex-start;
  }
}
@media (max-width: 380px) {
  .brand-copy strong { font-size: .86rem; letter-spacing: .12em; }
  .brand-mark { width: 44px; height: 44px; border-radius: 15px; }
  .metric strong { font-size: 1.75rem; }
  .price { font-size: 2rem; }
}

.reveal { opacity: 1; transform: none; }
.js .reveal { opacity: 0; transform: translateY(18px); transition: opacity .7s ease, transform .7s ease; }
.js .reveal.visible { opacity: 1; transform: translateY(0); }

h1, h2, h3, .section-title, .big-line, .hero-copy h1 {
  word-break: normal;
  overflow-wrap: break-word;
}
.image-card, .image-card img, .hero-board, .hero-board img {
  max-width: 100%;
}

@media (min-width: 1280px) {
  .feature-badges {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: stretch;
    gap: 14px;
    max-width: 100%;
  }
  .feature-badges .badge {
    min-width: 0;
    width: 100%;
    justify-content: flex-start;
    flex-wrap: wrap;
    align-content: flex-start;
  }
}
.feature-badges .badge strong {
  white-space: nowrap;
}
.scene-gallery {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
  margin-top: 30px;
}
.scene-tile {
  margin: 0;
  padding: 14px;
  border-radius: 28px;
  border: 1px solid rgba(112,132,165,.28);
  background: linear-gradient(180deg, rgba(24,37,56,.86), rgba(10,17,32,.94));
  box-shadow: var(--shadow);
}
.scene-tile img,
.scenario-card img,
.scene-band-figure img {
  width: 100%;
  display: block;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  object-position: center;
  border-radius: 20px;
  border: 1px solid rgba(255,200,61,.16);
  background: #07111f;
}
.scene-tile figcaption {
  display: grid;
  gap: 8px;
  padding: 14px 4px 2px;
}
.scene-tile strong,
.scene-band-figure strong {
  color: var(--gold-2);
  font-size: 1.08rem;
}
.scene-tile span {
  color: var(--ink-soft);
}
.scenario-card {
  overflow: hidden;
}
.scenario-card img {
  margin-bottom: 16px;
}
.scene-band {
  margin-top: 24px;
}
.scene-band-figure {
  margin: 0;
}
.scene-band-figure .caption {
  padding-top: 16px;
}
@media (min-width: 1450px) {
  .hero-grid-wide {
    grid-template-columns: minmax(0, 1fr) minmax(560px, .95fr);
    gap: 44px;
  }
}
@media (max-width: 980px) {
  .scene-gallery {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 620px) {
  .scene-tile,
  .scene-band-figure {
    border-radius: 22px;
  }
  .scene-tile img,
  .scenario-card img,
  .scene-band-figure img {
    border-radius: 16px;
  }
}

.hero-copy h1.hero-title {
  font-size: clamp(2.65rem, 4.7vw, 4.55rem);
  line-height: 1.06;
  letter-spacing: -0.055em;
  max-width: 11.5em;
  word-break: keep-all;
  overflow-wrap: normal;
  text-wrap: balance;
}
.hero-title .headline-line {
  display: block;
}
.hero-grid-wide {
  grid-template-columns: minmax(0, 1.08fr) minmax(430px, .92fr);
  gap: clamp(28px, 4vw, 54px);
}
.feature-badges {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
}
.feature-badges .badge {
  white-space: nowrap;
  min-width: max-content;
  line-height: 1.2;
}
@media (min-width: 1024px) {
  .feature-badges {
    display: grid;
    grid-template-columns: repeat(3, max-content);
    justify-content: start;
    gap: 12px;
  }
  .feature-badges .badge {
    width: auto;
    min-width: 0;
    padding-inline: 15px;
  }
}
@media (min-width: 1320px) {
  .hero-copy h1.hero-title {
    font-size: clamp(3rem, 4.45vw, 4.75rem);
  }
  .hero-grid-wide {
    grid-template-columns: minmax(0, 1.02fr) minmax(520px, .98fr);
  }
}
@media (max-width: 1180px) {
  .hero-grid-wide {
    grid-template-columns: 1fr;
  }
  .hero-copy h1.hero-title {
    max-width: 12.5em;
  }
}
@media (max-width: 620px) {
  .hero-copy h1.hero-title {
    font-size: clamp(2.2rem, 12vw, 3.35rem);
    line-height: 1.08;
    max-width: 100%;
  }
  .feature-badges .badge {
    min-width: 0;
    white-space: normal;
  }
}
.party-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
}
.team-card {
  display: flex;
  flex-direction: column;
  min-height: 0;
  padding: 28px;
  overflow-wrap: break-word;
}
.team-card h3 {
  font-size: 1.35rem;
  margin-bottom: 12px;
}
.team-card p {
  line-height: 1.75;
}
.team-card ul {
  margin: 16px 0 0;
  padding-left: 1.15rem;
}
.team-card li {
  padding-left: .2rem;
  line-height: 1.7;
}
.team-card .tag {
  width: fit-content;
  max-width: 100%;
  margin-top: auto;
  white-space: normal;
  line-height: 1.35;
}
.role {
  line-height: 1.35;
  word-break: normal;
}
@media (max-width: 860px) {
  .party-grid {
    grid-template-columns: 1fr;
  }
  .team-card {
    padding: 24px;
  }
}

.hero-grid-wide {
  gap: 32px;
}
@media (min-width: 1181px) {
  .hero-grid-wide {
    grid-template-columns: minmax(540px, 1fr) minmax(500px, .95fr);
  }
}
.hero-title {
  font-size: clamp(3rem, 4.2vw, 4rem) !important;
  line-height: 1.04 !important;
  letter-spacing: -.045em !important;
  text-wrap: unset !important;
}
.hero-title-line {
  display: block;
}
@media (min-width: 861px) {
  .hero-title-line {
    white-space: nowrap;
  }
  .hero-copy h1,
  .section-title {
    word-break: keep-all;
    overflow-wrap: normal;
  }
}
.feature-badges {
  align-items: center;
}
@media (min-width: 861px) {
  .feature-badges {
    display: flex;
    flex-wrap: nowrap;
    gap: 10px;
  }
  .feature-badges .badge {
    flex: 0 1 auto;
    width: auto;
    min-width: 0;
    white-space: nowrap;
    flex-wrap: nowrap;
    padding: 10px 13px;
    font-size: .93rem;
    line-height: 1.2;
  }
}
@media (min-width: 1280px) {
  .feature-badges {
    display: flex;
    flex-wrap: nowrap;
    max-width: none;
  }
  .feature-badges .badge {
    width: auto;
  }
}
.party-grid {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr));
  align-items: stretch;
}
.team-card {
  display: flex;
  flex-direction: column;
  min-height: auto;
  gap: 0;
}
.team-card p {
  margin-bottom: 0;
}
.team-card ul {
  margin: 16px 0 18px;
  padding-left: 1.1rem;
}
.team-card li {
  margin: 0 0 8px;
  overflow-wrap: break-word;
}
.team-card .tag {
  margin-top: auto;
  align-self: flex-start;
  max-width: 100%;
  white-space: normal;
  line-height: 1.35;
}
.team-card .role {
  line-height: 1.35;
  word-break: keep-all;
  overflow-wrap: normal;
}
@media (max-width: 1180px) and (min-width: 721px) {
  .party-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 720px) {
  .party-grid {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 620px) {
  .hero-title {
    font-size: clamp(2.45rem, 12vw, 3.35rem) !important;
    line-height: 1.08 !important;
    letter-spacing: -.035em !important;
  }
  .hero-title-line {
    white-space: normal;
  }
  .feature-badges {
    display: grid;
    grid-template-columns: 1fr;
  }
  .feature-badges .badge {
    white-space: normal;
    line-height: 1.35;
  }
}

.hero-copy h1.hero-title {
  font-size: clamp(3rem, 4.35vw, 5.05rem);
  line-height: 1.06;
  letter-spacing: -0.045em;
  margin-bottom: 24px;
  max-width: 12.5ch;
  text-wrap: auto;
  word-break: keep-all;
  overflow-wrap: normal;
}
.hero-title .headline-line {
  display: block;
  white-space: nowrap;
}
@media (min-width: 1181px) {
  .hero-grid-wide {
    grid-template-columns: minmax(0, 1.02fr) minmax(390px, .98fr);
    gap: 40px;
  }
}
.feature-badges {
  display: flex !important;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
}
.feature-badges .badge {
  min-width: 0;
  width: auto !important;
  flex: 0 0 auto;
  justify-content: flex-start;
  white-space: nowrap;
  flex-wrap: nowrap !important;
  line-height: 1.25;
}
@media (min-width: 900px) {
  .feature-badges {
    flex-wrap: nowrap;
  }
  .feature-badges .badge {
    padding-inline: 16px;
    font-size: .94rem;
  }
}
body[data-page="team"] {
  --maxw: 1280px;
}
body[data-page="team"] .party-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
  align-items: stretch;
}
body[data-page="team"] .team-card {
  min-height: 0;
  padding: 28px;
  display: flex;
  flex-direction: column;
}
body[data-page="team"] .team-card p {
  line-height: 1.75;
  margin-bottom: 10px;
}
body[data-page="team"] .team-card ul {
  margin: 12px 0 18px;
  padding-left: 1.25em;
}
body[data-page="team"] .team-card li {
  margin: 7px 0;
  line-height: 1.65;
}
body[data-page="team"] .team-card .tag {
  margin-top: auto;
  align-self: flex-start;
  max-width: 100%;
  white-space: normal;
  line-height: 1.35;
}
body[data-page="team"] .role {
  line-height: 1.3;
  overflow-wrap: anywhere;
}
@media (min-width: 1320px) {
  body[data-page="team"] .party-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  body[data-page="team"] .team-card {
    padding: 26px;
  }
}
@media (max-width: 760px) {
  .hero-copy h1.hero-title {
    font-size: clamp(2.45rem, 11vw, 4.2rem);
    max-width: 100%;
  }
  .hero-title .headline-line {
    white-space: normal;
  }
  .feature-badges,
  .feature-badges .badge {
    width: 100% !important;
  }
  body[data-page="team"] .party-grid {
    grid-template-columns: 1fr;
  }
}

.hero-copy h1.hero-title {
  max-width: 8.6em;
  font-size: clamp(3rem, 4.7vw, 5rem);
  line-height: 1.03;
  letter-spacing: -.045em;
  text-wrap: balance;
}
.hero-title-line {
  display: block;
}
.hero-title-line.text-gradient {
  width: max-content;
  max-width: 100%;
}
.feature-badges {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 10px;
}
.feature-badges .badge {
  width: auto;
  min-width: 0;
  flex: 0 1 auto;
  white-space: nowrap;
  flex-wrap: nowrap;
  padding-inline: 13px;
  font-size: .94rem;
}
.feature-badges .badge span,
.feature-badges .badge strong,
.feature-badges .badge i {
  white-space: nowrap;
}
@media (min-width: 1100px) {
  .hero-grid-wide {
    grid-template-columns: minmax(0, .98fr) minmax(460px, .92fr);
    gap: 34px;
  }
  .hero-copy p {
    max-width: 66ch;
  }
}
@media (min-width: 1280px) {
  .feature-badges {
    display: flex;
    flex-wrap: nowrap;
  }
  .feature-badges .badge {
    flex: 0 0 auto;
  }
}
@media (max-width: 1180px) {
  .hero-copy h1.hero-title {
    max-width: 10em;
    font-size: clamp(2.9rem, 7vw, 4.6rem);
  }
}
@media (max-width: 620px) {
  .hero-copy h1.hero-title {
    max-width: 100%;
    font-size: clamp(2.55rem, 12vw, 3.8rem);
    line-height: 1.06;
  }
  .feature-badges {
    display: grid;
    grid-template-columns: 1fr;
  }
  .feature-badges .badge {
    width: 100%;
    white-space: normal;
  }
}

.party-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: stretch;
}
.team-card {
  display: flex;
  flex-direction: column;
  min-height: auto;
  overflow-wrap: anywhere;
}
.team-card h3 {
  margin-bottom: 12px;
}
.team-card p {
  margin-bottom: 12px;
  text-wrap: pretty;
}
.team-card ul {
  margin: 10px 0 16px;
  padding-left: 1.15em;
}
.team-card li {
  margin: .34em 0;
  line-height: 1.62;
}
.team-card .tag {
  margin-top: auto;
  width: fit-content;
  max-width: 100%;
  white-space: normal;
}
@media (min-width: 1380px) {
  .party-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}
@media (max-width: 760px) {
  .party-grid {
    grid-template-columns: 1fr;
  }
}

.hero-copy,
.section-heading,
.page-lead,
.section-desc,
.panel,
.team-card,
.loop-card,
.quest-card,
.pain-card,
.scenario-card,
.scene-tile figcaption {
  min-width: 0;
}
.caption,
.panel p,
.panel li,
.team-card p,
.team-card li,
.loop-card p,
.quest-card p,
.scenario-card p,
.scene-tile span {
  word-break: normal;
  overflow-wrap: break-word;
}

.hero-copy h1.hero-title {
  max-width: 12em !important;
  font-size: clamp(2.75rem, 4vw, 4.35rem) !important;
  line-height: 1.08 !important;
  letter-spacing: -.04em !important;
  text-wrap: balance !important;
  word-break: keep-all !important;
  overflow-wrap: normal !important;
}
.hero-title-line {
  display: block !important;
}
@media (min-width: 1181px) {
  .hero-grid-wide {
    grid-template-columns: minmax(0, 1.12fr) minmax(420px, .88fr) !important;
    gap: clamp(30px, 4vw, 52px) !important;
  }
  .hero-title-line {
    white-space: nowrap !important;
  }
  .hero-copy p {
    max-width: 68ch !important;
  }
}
@media (max-width: 1180px) {
  .hero-grid-wide {
    grid-template-columns: 1fr !important;
  }
  .hero-title-line {
    white-space: normal !important;
  }
}
@media (max-width: 620px) {
  .hero-copy h1.hero-title {
    max-width: 100% !important;
    font-size: clamp(2.35rem, 10.5vw, 3.45rem) !important;
    line-height: 1.1 !important;
  }
}
.feature-badges {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  align-items: center !important;
}
.feature-badges .badge {
  width: auto !important;
  min-width: 0 !important;
  flex: 0 0 auto !important;
  white-space: nowrap !important;
  flex-wrap: nowrap !important;
  padding: 10px 14px !important;
  font-size: .92rem !important;
}
@media (max-width: 620px) {
  .feature-badges {
    display: grid !important;
    grid-template-columns: 1fr !important;
  }
  .feature-badges .badge {
    width: 100% !important;
    white-space: normal !important;
  }
}
body[data-page="team"] {
  --maxw: 1180px;
}
body[data-page="team"] .party-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 24px !important;
}
body[data-page="team"] .team-card {
  padding: 30px !important;
  min-height: 0 !important;
  overflow: visible !important;
}
body[data-page="team"] .team-card p,
body[data-page="team"] .team-card li {
  word-break: normal !important;
  overflow-wrap: break-word !important;
}
body[data-page="team"] .team-card .tag {
  margin-top: auto !important;
  align-self: flex-start !important;
}
@media (max-width: 760px) {
  body[data-page="team"] .party-grid {
    grid-template-columns: 1fr !important;
  }
}

html, body { max-width: 100%; overflow-x: hidden; }
.container, .section, .page-hero-grid, .split-layout, .party-grid, .quest-map, .two-up, .custom-tokens {
  min-width: 0 !important;
}

.page-hero {
  padding: clamp(52px, 7vw, 88px) 0 clamp(34px, 4vw, 56px) !important;
}
.page-hero-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(300px, 380px) !important;
  gap: clamp(28px, 4vw, 56px) !important;
  align-items: center !important;
}
.page-hero .reveal,
.page-hero .section-heading {
  min-width: 0 !important;
}
.page-hero .section-title,
.page-hero-title {
  max-width: 15.5em !important;
  font-size: clamp(2.45rem, 4.6vw, 3.9rem) !important;
  line-height: 1.16 !important;
  letter-spacing: -.035em !important;
  word-break: normal !important;
  overflow-wrap: break-word !important;
  white-space: normal !important;
  text-wrap: balance !important;
}
.page-hero-title span {
  display: block !important;
}
.page-hero .page-lead {
  max-width: 64ch !important;
  line-height: 1.85 !important;
}
.page-hero-visual,
.page-hero .image-card {
  width: 100% !important;
  max-width: 380px !important;
  justify-self: end !important;
  align-self: center !important;
  overflow: hidden !important;
}
.page-hero-visual img,
.page-hero .image-card > img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 4 / 3 !important;
  object-fit: contain !important;
  object-position: center !important;
  padding: 12px !important;
  background: linear-gradient(180deg, rgba(10,17,32,.68), rgba(7,13,28,.92)) !important;
}
.page-hero .showcase-image,
.page-hero-product .page-hero-visual {
  max-width: 560px !important;
}
.page-hero .showcase-image img,
.page-hero-product .page-hero-visual img {
  aspect-ratio: 16 / 9 !important;
  object-fit: cover !important;
  padding: 0 !important;
}
.page-hero .caption {
  writing-mode: horizontal-tb !important;
  max-width: none !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: break-word !important;
  line-height: 1.65 !important;
}

.split-layout {
  grid-template-columns: minmax(0, .92fr) minmax(340px, .78fr) !important;
  gap: clamp(34px, 5vw, 64px) !important;
  align-items: center !important;
}
.split-layout .section-heading {
  max-width: 660px !important;
  min-width: 0 !important;
}
.split-layout .section-title,
.split-title {
  max-width: 13em !important;
  font-size: clamp(2.15rem, 3.55vw, 3.45rem) !important;
  line-height: 1.18 !important;
  letter-spacing: -.035em !important;
  word-break: normal !important;
  overflow-wrap: break-word !important;
  text-wrap: balance !important;
}
.split-title br { display: block !important; }
.custom-tokens {
  width: 100% !important;
  max-width: 560px !important;
  justify-self: end !important;
}
.token-card {
  min-height: 136px !important;
  padding: 22px !important;
}
.token-card span,
.token-card strong {
  word-break: normal !important;
  overflow-wrap: break-word !important;
  white-space: normal !important;
}

body[data-page="team"] .page-hero-grid,
body[data-page="roadmap"] .page-hero-grid {
  grid-template-columns: minmax(0, 1fr) minmax(280px, 360px) !important;
}
body[data-page="team"] .page-hero .section-title,
body[data-page="roadmap"] .page-hero .section-title {
  max-width: 16em !important;
  font-size: clamp(2.35rem, 4.4vw, 3.65rem) !important;
}
body[data-page="team"] .section:has(.party-grid),
body[data-page="team"] .section:has(.two-up) {
  padding-top: 44px !important;
  padding-bottom: 44px !important;
}
body[data-page="team"] .party-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 22px !important;
  align-items: stretch !important;
}
body[data-page="team"] .team-card {
  padding: clamp(24px, 2.5vw, 32px) !important;
  min-height: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  overflow: hidden !important;
}
body[data-page="team"] .role,
body[data-page="team"] .team-card .role {
  letter-spacing: .11em !important;
  white-space: normal !important;
  line-height: 1.35 !important;
}
body[data-page="team"] .team-card h3 {
  font-size: clamp(1.25rem, 1.9vw, 1.55rem) !important;
  margin-bottom: 12px !important;
}
body[data-page="team"] .team-card p,
body[data-page="team"] .team-card li,
body[data-page="team"] .panel p,
body[data-page="team"] .panel li {
  font-size: .98rem !important;
  line-height: 1.78 !important;
  word-break: normal !important;
  overflow-wrap: break-word !important;
}
body[data-page="team"] .team-card ul {
  margin-top: 14px !important;
  margin-bottom: 20px !important;
}
body[data-page="team"] .team-card .tag {
  margin-top: auto !important;
  align-self: flex-start !important;
  white-space: normal !important;
}
body[data-page="team"] .two-up {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 22px !important;
}
body[data-page="team"] .team-note {
  max-width: 920px !important;
  margin-inline: auto !important;
}

body[data-page="roadmap"] .quest-map {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 22px !important;
}
body[data-page="roadmap"] .quest-map::before { display: none !important; }
body[data-page="roadmap"] .quest-card {
  min-height: 0 !important;
  padding: clamp(24px, 2.5vw, 32px) !important;
}
body[data-page="roadmap"] .quest-card::before {
  margin-bottom: 18px !important;
}
body[data-page="roadmap"] .phase {
  white-space: normal !important;
  line-height: 1.45 !important;
}

.section-title,
.hero-copy h1,
.panel h3,
.team-card h3,
.quest-card h3,
.scenario-card h3 {
  word-break: normal !important;
  overflow-wrap: break-word !important;
  white-space: normal;
}
.panel,
.team-card,
.quest-card,
.scenario-card,
.scene-tile,
.phone-shot,
.image-card {
  min-width: 0 !important;
}

@media (max-width: 1180px) {
  .split-layout,
  .page-hero-grid,
  body[data-page="team"] .page-hero-grid,
  body[data-page="roadmap"] .page-hero-grid {
    grid-template-columns: 1fr !important;
  }
  .page-hero-visual,
  .page-hero .image-card,
  .custom-tokens {
    justify-self: start !important;
    max-width: 720px !important;
  }
  .split-layout .section-title,
  .split-title,
  .page-hero .section-title,
  .page-hero-title {
    max-width: 18em !important;
  }
}
@media (max-width: 860px) {
  body[data-page="team"] .party-grid,
  body[data-page="team"] .two-up,
  body[data-page="roadmap"] .quest-map {
    grid-template-columns: 1fr !important;
  }
  .page-hero .section-title,
  .page-hero-title,
  .split-layout .section-title,
  .split-title {
    font-size: clamp(2rem, 8vw, 3rem) !important;
    line-height: 1.18 !important;
  }
}
@media (max-width: 620px) {
  .page-hero {
    padding-top: 42px !important;
  }
  .custom-tokens {
    grid-template-columns: 1fr !important;
  }
  .split-title br,
  .page-hero-title span {
    display: inline !important;
  }
  .page-hero .image-card,
  .page-hero-visual {
    max-width: 100% !important;
  }
  .page-hero .image-card > img,
  .page-hero-visual img {
    aspect-ratio: 16 / 10 !important;
  }
}

figure,
.image-card,
.page-hero .image-card,
.phone-shot,
.scene-tile {
  margin: 0 !important;
}
