


.hero-opening {
  padding-top:var(--space-m);
  padding-bottom:0;
  position:relative;
  width:100%;
}


.hero-header-lockup {
  display:flex;
  flex-direction:column;
  gap:var(--space-s);
  margin-bottom:var(--space-m);
}


@media (min-width: 900px) {
  .hero-header-lockup {
    display:grid;
    grid-template-columns:minmax(0, 1.25fr) minmax(0, 1fr);
    align-items:flex-end;
    gap:var(--space-xl);
  }
}


.hero-headline {
  font-family:var(--gabe-ee9);
  font-size:clamp(2.3rem, 1.9rem + 2.5vw, 4.2rem);
  font-weight:700;
  line-height:1.05;
  letter-spacing:-0.02em;
  color:var(--ink);
  max-width:14ch;
  view-transition-name:headline;
  margin-bottom:0;
}


.hero-lede-col {
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
}


.hero-lede {
  font-size:var(--gabe-87d);
  line-height:1.5;
  color:var(--ink-soft);
  max-width:var(--measure-lead);

  margin-bottom:0;
}


.hero-figure-wrap {
  position:relative;
  width:100vw;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
  background-color:var(--surface-2);
  overflow:hidden;
  line-height:0;
}


.hero-figure {
  margin:0;
  position:relative;
  width:100%;
  aspect-ratio:3 / 2;
  view-transition-name:hero;
}


@media (min-width: 768px) {
  .hero-figure {
    aspect-ratio:3 / 2;
    max-height:none;
  }
}


@media (min-width: 1200px) {
  .hero-figure {
    aspect-ratio:3 / 2;
    max-height:none;
  }
}


.hero-img {
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:20% 80%;
  view-transition-name:hero;
  display:block;
}


.hero-action-anchor {
  position:absolute;
  top:var(--space-s);
  right:var(--space-s);
  z-index:10;
}


@media (min-width: 768px) {
  .hero-action-anchor {
    top:var(--space-m);
    right:var(--space-l);
  }
}


@media (min-width: 1200px) {
  .hero-action-anchor {
    top:var(--space-l);
    right:var(--space-xl);
  }
}


.hero-action-anchor .btn {
  box-shadow:0 4px 14px rgba(39, 42, 39, 0.35);
  backdrop-filter:blur(4px);
  -webkit-backdrop-filter:blur(4px);
}


.hero-caption-strip {
  background-color:var(--surface);
  border-bottom:1px solid var(--line);
  padding:var(--space-2xs) var(--space-s);
  font-size:var(--step--2);
  color:var(--ink-soft);
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:var(--space-xs);
}


@media (min-width: 768px) {
  .hero-caption-strip { padding-inline:var(--space-l); }
}


@media (min-width: 1200px) {
  .hero-caption-strip { padding-inline:var(--space-xl); }
}



.essay-flow {
  width:100%;
  padding-block:var(--space-m) var(--space-xl);
}


.essay-editorial-spread {
  display:grid;
  grid-template-columns:1fr;
  gap:var(--space-l);
  align-items:start;
}


@media (min-width: 960px) {
  .essay-editorial-spread {
    grid-template-columns:minmax(0, 1.4fr) minmax(300px, 0.8fr);
    gap:var(--space-xl);
  }
}


.essay-body-block {
  max-width:var(--measure-prose);
  margin-inline:0;
}


.essay-feature-aside {
  margin-top:0;
  margin-bottom:var(--space-m);
}


.essay-lead-para {
  font-size:var(--gabe-fcb);
  line-height:1.5;
  color:var(--ink);
  font-weight:400;
  margin-bottom:var(--space-m);
}


.essay-body-block p { margin-bottom:var(--space-m); }


.essay-dropcap::first-letter {
  font-family:var(--gabe-ee9);
  font-size:clamp(3.2rem, 3rem + 1vw, 4.2rem);
  float:left;
  line-height:0.82;
  margin-right:0.12em;
  margin-bottom:-0.05em;
  color:var(--accent);
  font-weight:700;
}


.essay-quote-break {
  margin-block:var(--space-xl);
  padding-block:var(--space-xl);
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  text-align:center;
}


.essay-quote-break blockquote {
  font-family:var(--gabe-ee9);
  font-size:clamp(1.4rem, 1.2rem + 1vw, 2.3rem);
  font-weight:600;
  line-height:1.25;
  color:var(--ink);
  max-width:32ch;
  margin-inline:auto;
}


.essay-quote-break cite {
  display:block;
  margin-top:var(--space-s);
  font-family:var(--gabe-db0);
  font-size:var(--step--2);
  color:var(--accent);
  letter-spacing:0.08em;
  text-transform:uppercase;
  font-style:normal;
}


/* Inset Fact Blocks (Magazine-style callouts) */
.essay-aside-box {
  background-color:var(--surface);
  border:1px solid var(--line);
  border-left:4px solid var(--accent);
  padding:var(--space-m);
  margin-block:var(--space-l);
  border-radius:var(--radius-xs);
  clear:both;
}


@media (min-width: 900px) {
  .essay-aside-box.aside-inset-right {
    float:right;
    width:44%;
    margin-left:var(--space-l);
    margin-top:var(--space-xs);
    margin-bottom:var(--space-m);
    clear:none;
  }


  .essay-aside-box.aside-inset-left {
    float:left;
    width:44%;
    margin-right:var(--space-l);

    margin-top:var(--space-xs);
    margin-bottom:var(--space-m);
    clear:none;
  }
}


.essay-body-block { overflow:hidden; }


.essay-body-block::after {
  content:"";
  display:table;
  clear:both;
}


.subhead-inline { clear:both; }


.aside-box-tag {
  font-family:var(--gabe-db0);
  font-size:var(--step--2);
  text-transform:uppercase;
  color:var(--accent);
  letter-spacing:0.06em;
  margin-bottom:4px;
}


.aside-box-title {
  font-family:var(--gabe-ee9);
  font-size:var(--gabe-87d);
  font-weight:700;
  color:var(--ink);
  line-height:1.25;
  margin-bottom:var(--space-2xs);
}


.aside-box-list {
  display:flex;
  flex-direction:column;
  gap:var(--space-3xs);
  margin-top:var(--space-xs);
}


.aside-box-list li {
  font-size:var(--step--1);
  color:var(--ink);
  display:flex;
  align-items:baseline;
  gap:var(--space-3xs);
}


.aside-box-list .icon {
  width:0.85rem;
  height:0.85rem;
  color:var(--accent);
  flex-shrink:0;
}


.full-bleed-break {
  margin-block:var(--space-2xl);
  width:100vw;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
}


.full-bleed-break figure {
  margin:0;
  position:relative;
  width:100%;
}


.full-bleed-break img {
  width:100%;
  aspect-ratio:16 / 8;
  object-fit:cover;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}


.full-bleed-caption {
  max-width:var(--content-max-width);
  margin-inline:auto;
  padding:var(--space-2xs) var(--space-s);
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:var(--space-s);
  font-size:var(--step--2);
  color:var(--ink-soft);

  flex-wrap:wrap;
}


@media (min-width: 768px) {
  .full-bleed-caption { padding-inline:var(--space-l); }
}



.provenance-section {
  padding-block:var(--space-xl);
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  margin-block:var(--space-2xl);
}


.provenance-intro {
  max-width:var(--measure-prose);
  margin-inline:auto;
  margin-bottom:var(--space-l);
  text-align:center;
}


.provenance-intro h2 {
  font-size:var(--gabe-966);
  margin-bottom:var(--space-2xs);
}


.route-svg-container {
  width:100%;
  max-width:880px;
  margin-inline:auto;
  padding-inline:var(--space-xs);
}


.route-svg {
  width:100%;
  height:auto;
  display:block;
}


.route-line-base {
  stroke:var(--line);
  stroke-width:2.5;
  stroke-linecap:round;
  fill:none;
}


.route-line-animated {
  stroke:var(--accent);
  stroke-width:2.5;
  stroke-linecap:round;
  fill:none;
  stroke-dasharray:800;
  stroke-dashoffset:800;
  transition:stroke-dashoffset 0.1s linear;
}


.route-checkpoint {
  fill:var(--surface);
  stroke:var(--line);
  stroke-width:2;
  transition:fill var(--dur-rapid) var(--ease-snappy),
              stroke var(--dur-rapid) var(--ease-snappy),
              r var(--dur-rapid) var(--ease-snappy);
}


.route-checkpoint.is-reached {
  fill:var(--accent);
  stroke:var(--ground);
}


.route-label {
  font-family:var(--gabe-db0);
  font-size:11px;
  fill:var(--ink-soft);
  font-weight:500;
}


.route-label.is-reached {
  fill:var(--ink);
  font-weight:700;
}


.route-spec-cards {
  display:grid;
  grid-template-columns:1fr;
  gap:var(--space-m);
  max-width:var(--measure-prose);
  margin-inline:auto;
  margin-top:var(--space-l);
}


@media (min-width: 640px) {
  .route-spec-cards { grid-template-columns:repeat(3, 1fr); }
}


.route-card {
  background-color:var(--surface);
  border:1px solid var(--line);
  border-radius:var(--radius-xs);
  padding:var(--space-s);
  transition:border-color var(--dur-rapid) var(--ease-snappy);
}


.route-card.is-active { border-color:var(--accent); }


.route-card-index {
  font-family:var(--gabe-db0);
  font-size:var(--step--2);
  color:var(--accent);
  margin-bottom:2px;
}


.route-card-heading {
  font-family:var(--gabe-ee9);
  font-size:var(--step--1);
  font-weight:700;
  color:var(--ink);
  margin-bottom:4px;
}


.route-card-copy {
  font-size:var(--step--2);
  color:var(--ink-soft);
  line-height:1.4;
  margin-bottom:0;
}



.goods-intro { padding-block:var(--space-l); }


.goods-masthead-title {
  font-family:var(--gabe-ee9);
  font-size:var(--gabe-d92);
  font-weight:700;
  line-height:1.15;
  color:var(--ink);
  margin-bottom:var(--space-xs);
}


.goods-department {
  margin-bottom:var(--space-3xl);
  padding-bottom:var(--space-xl);
  border-bottom:1px solid var(--line);
}


.dept-header {
  display:flex;
  flex-direction:column;
  gap:var(--space-2xs);
  margin-bottom:var(--space-m);
  max-width:var(--measure-prose);
}


.dept-tag {
  font-family:var(--gabe-db0);
  font-size:var(--step--2);
  text-transform:uppercase;
  color:var(--accent);
  letter-spacing:0.08em;
}


.dept-title {
  font-family:var(--gabe-ee9);
  font-size:var(--gabe-966);
  font-weight:700;
  color:var(--ink);
  line-height:1.2;
}


.dept-lead {
  font-size:var(--gabe-87d);
  color:var(--ink-soft);
  line-height:1.55;
  margin-bottom:0;
}


.item-feature-grid {
  display:grid;
  grid-template-columns:1fr;
  gap:var(--space-l);
  align-items:start;
}


@media (min-width: 900px) {
  .item-feature-grid { grid-template-columns:minmax(0, 1.2fr) minmax(0, 1fr); }
}


.item-visual {
  position:relative;
  background-color:var(--surface-2);
  border:1px solid var(--line);
  border-radius:var(--radius-xs);
  overflow:hidden;
}


.item-visual img {
  width:100%;
  aspect-ratio:4 / 3;
  object-fit:cover;
  display:block;
}


.item-specs-panel {
  background-color:var(--surface);
  border:1px solid var(--line);
  border-radius:var(--radius-xs);
  padding:var(--space-m);
}


.spec-line-row {
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  padding-block:var(--space-2xs);
  border-bottom:1px solid var(--line);
  font-size:var(--step--1);
  gap:var(--space-s);
}


.spec-line-row:last-child { border-bottom:none; }


.spec-key {
  font-family:var(--gabe-2ef);
  font-weight:600;
  color:var(--ink);
}


.spec-val {
  font-family:var(--gabe-db0);
  color:var(--ink-soft);
  text-align:right;
}


.spec-val-highlight {
  color:var(--accent);
  font-weight:700;
}


.inquiry-notice-banner {
  background-color:var(--ground);
  border:1px dashed var(--line);
  border-radius:var(--radius-xs);
  padding:var(--space-xs) var(--space-s);
  margin-top:var(--space-m);
  font-size:var(--step--2);
  color:var(--ink-soft);
  line-height:1.45;
}



.vendor-hero-split {
  display:grid;
  grid-template-columns:1fr;
  gap:var(--space-l);
  margin-bottom:var(--space-2xl);
  padding-top:var(--space-l);
}


@media (min-width: 900px) {
  .vendor-hero-split {
    grid-template-columns:minmax(0, 1fr) minmax(0, 1fr);
    align-items:center;
  }
}


.vendor-title-lockup h1 {
  font-size:var(--gabe-d92);
  margin-bottom:var(--space-xs);
}


.vendor-photo-frame {
  position:relative;
  border:1px solid var(--line);
  border-radius:var(--radius-xs);
  overflow:hidden;
}


.vendor-photo-frame img {
  width:100%;
  aspect-ratio:16 / 10;
  object-fit:cover;
  display:block;
}


.dimension-badge {
  position:absolute;
  bottom:var(--space-s);
  left:var(--space-s);
  background-color:var(--ink);
  color:var(--accent-ink);
  font-family:var(--gabe-db0);
  font-size:var(--step--1);
  font-weight:700;
  padding:4px var(--space-xs);
  border-radius:var(--radius-xs);
  box-shadow:0 2px 8px rgba(0, 0, 0, 0.3);
}


.criteria-grid {
  display:grid;
  grid-template-columns:1fr;
  gap:var(--space-m);
  margin-block:var(--space-xl);
}


@media (min-width: 768px) {
  .criteria-grid { grid-template-columns:repeat(2, 1fr); }
}


@media (min-width: 1100px) {
  .criteria-grid { grid-template-columns:repeat(3, 1fr); }
}


.criterion-card {
  background-color:var(--surface);
  border:1px solid var(--line);
  border-radius:var(--radius-xs);
  padding:var(--space-m);
  display:flex;
  flex-direction:column;
}


.criterion-icon-row {
  margin-bottom:var(--space-2xs);
  color:var(--accent);
}


.criterion-name {
  font-family:var(--gabe-ee9);
  font-size:var(--gabe-87d);
  font-weight:700;
  color:var(--ink);
  margin-bottom:var(--space-3xs);
}


.criterion-desc {
  font-size:var(--step--1);
  color:var(--ink-soft);
  line-height:1.5;
  margin-bottom:0;
}


.equipment-checklist {
  background-color:var(--surface);
  border:1px solid var(--line);
  border-radius:var(--radius-xs);
  padding:var(--space-m);
  margin-block:var(--space-l);
}


.checklist-grid {
  display:grid;
  grid-template-columns:1fr;
  gap:var(--space-s);
  margin-top:var(--space-s);
}


@media (min-width: 640px) {
  .checklist-grid { grid-template-columns:repeat(2, 1fr); }
}


.checklist-item {
  display:flex;
  align-items:flex-start;
  gap:var(--space-xs);
  font-size:var(--step--1);
}


.checklist-item .icon {
  color:var(--accent);
  margin-top:3px;
  flex-shrink:0;
}


.operator-proof-banner {
  background-color:var(--ground);
  border:2px solid var(--line);
  border-radius:var(--radius-xs);
  padding:var(--space-m);
  margin-block:var(--space-xl);
  display:flex;
  flex-direction:column;
  gap:var(--space-xs);
}


@media (min-width: 768px) {
  .operator-proof-banner {
    flex-direction:row;
    align-items:center;
    justify-content:space-between;
  }
}


.operator-proof-text {
  font-size:var(--step--1);
  color:var(--ink);
  max-width:58ch;
  line-height:1.5;
  margin-bottom:0;
}



.contact-layout-grid {
  display:grid;
  grid-template-columns:1fr;
  gap:var(--space-xl);
  padding-block:var(--space-l);
}


@media (min-width: 960px) {
  .contact-layout-grid { grid-template-columns:minmax(0, 1.1fr) minmax(0, 1fr); }
}


.contact-details-col {
  display:flex;
  flex-direction:column;
  gap:var(--space-m);
}


.contact-title-lockup h1 {
  font-size:var(--gabe-d92);
  margin-bottom:var(--space-xs);
}


.contact-card-block {
  background-color:var(--surface);
  border:1px solid var(--line);
  border-radius:var(--radius-xs);
  padding:var(--space-m);
}


.contact-info-list {
  display:flex;
  flex-direction:column;
  gap:var(--space-m);
  margin-top:var(--space-s);
}


.contact-info-item {
  display:flex;
  gap:var(--space-s);
  align-items:flex-start;
}


.contact-info-item .icon {
  color:var(--accent);
  margin-top:2px;
  flex-shrink:0;
}


.contact-info-label {
  font-family:var(--gabe-db0);
  font-size:var(--step--2);
  text-transform:uppercase;
  color:var(--ink-soft);
  letter-spacing:0.05em;
  margin-bottom:2px;
}


.contact-info-val {
  font-size:var(--gabe-87d);
  font-weight:600;
  color:var(--ink);
  line-height:1.4;
}


.contact-info-val a {
  color:inherit;
  text-decoration:underline;
  text-underline-offset:2px;
}


.contact-info-val a:hover { color:var(--accent); }


.directions-plain-box {
  background-color:var(--surface-2);
  border:1px solid var(--line);
  border-radius:var(--radius-xs);
  padding:var(--space-m);
  font-size:var(--step--1);
  color:var(--ink);
  line-height:1.55;
}


.directions-plain-box p:last-child { margin-bottom:0; }



.legal-framed-page {
  padding-block:var(--space-xl) var(--space-3xl);
  display:flex;
  justify-content:center;
}


.document-card {
  width:100%;
  max-width:900px;
  background-color:var(--ground);
  border:1px solid var(--line);
  box-shadow:0 10px 30px rgba(39, 42, 39, 0.08);
  border-radius:var(--radius-sm);
  padding:var(--space-m);
  position:relative;
}


@media (min-width: 768px) {
  .document-card { padding:var(--space-xl) var(--space-2xl); }
}


.document-card-masthead {
  border-bottom:2px solid var(--ink);
  padding-bottom:var(--space-m);
  margin-bottom:var(--space-xl);
  display:flex;
  flex-direction:column;
  gap:var(--space-xs);
}


.doc-kicker {
  font-family:var(--gabe-db0);
  font-size:var(--step--2);
  text-transform:uppercase;
  color:var(--accent);
  letter-spacing:0.06em;
}


.doc-title {
  font-family:var(--gabe-ee9);
  font-size:var(--gabe-7be);
  font-weight:700;
  line-height:1.15;
  color:var(--ink);
  margin-bottom:0;
}


.doc-meta-strip {
  display:flex;
  flex-wrap:wrap;
  gap:var(--space-m);
  padding-top:var(--space-xs);
  font-family:var(--gabe-db0);
  font-size:var(--step--2);
  color:var(--ink-soft);
}


.doc-clause {
  margin-bottom:var(--space-xl);
  padding-bottom:var(--space-m);
  border-bottom:1px solid var(--line);
}


.doc-clause:last-of-type { border-bottom:none; }


.clause-num {
  font-family:var(--gabe-db0);
  font-size:var(--step--1);
  font-weight:700;
  color:var(--accent);
  margin-bottom:var(--space-3xs);
}


.clause-heading {
  font-family:var(--gabe-ee9);
  font-size:var(--gabe-fcb);
  font-weight:700;
  color:var(--ink);
  margin-bottom:var(--space-xs);
  line-height:1.3;
}


.gogidf6 {
  font-size:var(--gabe-87d);
  line-height:1.62;
  color:var(--ink);
}


.gogidf6 p {
  max-width:100%;
  margin-bottom:var(--space-s);
}


.gogidf6 p:last-child { margin-bottom:0; }


.signal-code-badge {
  font-family:var(--gabe-db0);
  font-size:var(--step--2);
  background-color:var(--surface-2);
  border:1px solid var(--line);
  padding:1px 6px;
  border-radius:var(--radius-xs);
  color:var(--ink);
  display:inline-block;
}


.touch-target-link {
  display:inline-flex;
  align-items:center;
  min-height:44px;
  margin-left:0.5rem;
}


.inset-fact {
  background-color:var(--surface);
  border:1px solid var(--line);
  border-left:4px solid var(--accent);
  border-radius:var(--radius-xs);
  padding:var(--space-m);
  margin-block:var(--space-m);
}


.inset-fact-title {
  font-family:var(--gabe-ee9);
  font-size:var(--gabe-87d);
  font-weight:700;
  color:var(--ink);
  margin-bottom:var(--space-xs);
}


.inset-fact p {
  margin-bottom:var(--space-2xs);
  font-size:var(--step--1);
  line-height:1.5;
}


.inset-fact p:last-child { margin-bottom:0; }



.dated-rail-page {
  padding-block:var(--space-xl) var(--space-3xl);
  max-width:1080px;
  margin-inline:auto;
}


.dated-rail-header {
  margin-bottom:var(--space-xl);
  border-bottom:1px solid var(--line);
  padding-bottom:var(--space-m);
}


.dated-rail-header h1 {
  font-size:var(--gabe-d92);
  margin-bottom:var(--space-2xs);
}


.dated-rail-layout {
  display:flex;
  flex-direction:column;
  gap:var(--space-xl);
}


@media (min-width: 840px) {
  .dated-rail-layout {
    display:grid;
    grid-template-columns:240px 1fr;
    gap:var(--space-2xl);
    align-items:start;
  }
}


.dated-rail-sidebar {
  position:sticky;
  top:var(--space-l);
  display:flex;
  flex-direction:column;
  gap:var(--space-m);
  background-color:var(--surface);
  border:1px solid var(--line);
  border-radius:var(--radius-xs);
  padding:var(--space-m);
}


@media (max-width: 839px) {
  .dated-rail-sidebar {
    position:static;
    flex-direction:row;
    flex-wrap:wrap;
    justify-content:space-between;
    gap:var(--space-s);
  }
}


.date-milestone {
  display:flex;
  flex-direction:column;
  gap:2px;
}


.date-milestone-label {
  font-family:var(--gabe-db0);
  font-size:var(--step--2);
  text-transform:uppercase;
  color:var(--accent);
  letter-spacing:0.05em;
}


.date-milestone-val {
  font-family:var(--gabe-db0);
  font-size:var(--step--1);
  font-weight:700;
  color:var(--ink);
}


.date-milestone-sub {
  font-size:var(--step--2);
  color:var(--ink-soft);
  line-height:1.35;
}


.dated-timeline-stream {
  display:flex;
  flex-direction:column;
  gap:var(--space-xl);
  border-left:2px solid var(--line);
  padding-left:var(--space-m);
  margin-left:var(--space-2xs);
}


@media (min-width: 840px) {
  .dated-timeline-stream { padding-left:var(--space-l); }
}


.timeline-entry { position:relative; }


.timeline-entry::before {
  content:"";
  position:absolute;
  left:calc(-1 * var(--space-m) - 6px);
  top:6px;
  width:10px;
  height:10px;
  border-radius:50%;
  background-color:var(--ground);
  border:2px solid var(--accent);
}


@media (min-width: 840px) {
  .timeline-entry::before { left:calc(-1 * var(--space-l) - 6px); }
}


.timeline-time-tag {
  font-family:var(--gabe-db0);
  font-size:var(--step--2);
  color:var(--accent);
  text-transform:uppercase;
  letter-spacing:0.05em;
  margin-bottom:var(--space-3xs);
}


.timeline-title {
  font-family:var(--gabe-ee9);
  font-size:var(--gabe-fcb);
  font-weight:700;
  color:var(--ink);
  margin-bottom:var(--space-2xs);
  line-height:1.25;
}


.timeline-content {
  font-size:var(--gabe-87d);
  line-height:1.62;
  color:var(--ink);
}


.timeline-content p {
  max-width:100%;
  margin-bottom:var(--space-s);
}


.timeline-content p:last-child { margin-bottom:0; }



.jump-chips-page {
  padding-block:var(--space-l) var(--space-3xl);
  max-width:var(--measure-prose);
  margin-inline:auto;
}


.terms-header-block { margin-bottom:var(--space-l); }


.terms-header-block h1 {
  font-size:var(--gabe-d92);
  margin-bottom:var(--space-2xs);
}


.terms-header-lede {
  font-size:var(--gabe-87d);
  color:var(--ink-soft);
  line-height:1.55;
}


.pinned-chips-bar {
  position:sticky;
  top:0;
  z-index:80;
  background-color:rgba(228, 234, 227, 0.96);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  padding-block:var(--space-xs);
  margin-bottom:var(--space-xl);
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
}


.pinned-chips-bar::-webkit-scrollbar { display:none; }


.chips-row {
  display:flex;
  align-items:center;
  gap:var(--space-xs);
  white-space:nowrap;
}


.jump-chip {
  display:inline-flex;
  align-items:center;
  padding:var(--space-3xs) var(--space-s);
  border-radius:999px;
  background-color:var(--surface);
  border:1px solid var(--line);
  color:var(--ink);
  font-family:var(--gabe-db0);
  font-size:var(--step--2);
  font-weight:500;
  text-decoration:none;
  min-height:34px;
  transition:background-color var(--dur-rapid) var(--ease-snappy),
              border-color var(--dur-rapid) var(--ease-snappy),
              color var(--dur-rapid) var(--ease-snappy);
}


.jump-chip:hover {
  background-color:var(--surface-2);
  border-color:var(--ink-soft);
  color:var(--accent);
}


.jump-chip:active { background-color:var(--line); }


.jump-chip:focus-visible {
  outline:2px solid var(--accent);
  outline-offset:2px;
}


.terms-section-block {
  padding-block:var(--space-xl);
  border-bottom:1px solid var(--line);
  scroll-margin-top:70px;
}


.terms-section-block:last-of-type { border-bottom:none; }


.terms-standfirst {
  font-family:var(--gabe-2ef);
  font-size:var(--gabe-fcb);
  font-weight:600;
  line-height:1.45;
  color:var(--ink);
  border-left:3px solid var(--accent);
  padding-left:var(--space-s);
  margin-bottom:var(--space-m);
}


.terms-title {
  font-family:var(--gabe-ee9);
  font-size:var(--gabe-966);
  font-weight:700;
  color:var(--ink);
  margin-bottom:var(--space-xs);
}


.terms-prose {
  font-size:var(--gabe-87d);
  line-height:1.62;
  color:var(--ink);
}


.terms-prose p {
  margin-bottom:var(--space-s);
  max-width:100%;
}


.terms-prose p:last-child { margin-bottom:0; }



.faq-accordion-group {
  display:flex;
  flex-direction:column;
  gap:var(--space-xs);
  margin-block:var(--space-xl);
}


.faq-accordion-item {
  background-color:var(--surface);
  border:1px solid var(--line);
  border-radius:var(--radius-xs);
  overflow:hidden;
  transition:border-color var(--dur-rapid) var(--ease-snappy);
}


.faq-accordion-item:hover { border-color:var(--ink-soft); }


.faq-accordion-trigger {
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:var(--space-s) var(--space-m);
  background:none;
  border:none;
  font-family:var(--gabe-ee9);
  font-size:var(--gabe-87d);
  font-weight:700;
  color:var(--ink);
  text-align:left;
  cursor:pointer;
  min-height:52px;
  gap:var(--space-s);
  transition:background-color var(--dur-rapid) var(--ease-snappy),
              color var(--dur-rapid) var(--ease-snappy);
}


.faq-accordion-trigger:hover {
  background-color:var(--surface-2);
  color:var(--accent);
}


.faq-accordion-trigger:focus-visible {
  outline:2px solid var(--accent);
  outline-offset:-2px;
}


.faq-accordion-trigger .icon {
  width:1.25rem;
  height:1.25rem;
  flex-shrink:0;
  color:var(--ink-soft);
  transition:transform var(--dur-moderate) var(--ease-snappy);
}


.faq-accordion-trigger[aria-expanded="true"] .icon { transform:rotate(180deg); }


.faq-accordion-content {
  padding:0 var(--space-m) var(--space-m);
  font-size:var(--step--1);
  color:var(--ink);
  line-height:1.6;
}


.faq-accordion-content p:last-child { margin-bottom:0; }


.faq-accordion-item:not(.is-open) .faq-accordion-content { display:none; }



.scene-404 {
  padding-block:var(--space-3xl);
  text-align:center;
  max-width:var(--measure-prose);
  margin-inline:auto;
}


.num-404 {
  font-family:var(--gabe-ee9);
  font-size:clamp(4rem, 3.5rem + 4vw, 7rem);
  font-weight:700;
  line-height:1;
  color:var(--accent);
  margin-bottom:var(--space-xs);
}


.title-404 {
  font-family:var(--gabe-ee9);
  font-size:var(--gabe-7be);
  font-weight:700;
  color:var(--ink);
  margin-bottom:var(--space-s);
}


.copy-404 {
  font-size:var(--gabe-87d);
  color:var(--ink-soft);
  line-height:1.55;
  margin-bottom:var(--space-l);
}
