.sec[id] {
  scroll-margin-top: calc(var(--bar-h) + var(--note-h) + var(--nav-h) + var(--s4));
}

.sec-head { margin-bottom: clamp(28px, 4.6vh, 52px); }
.sec-kick { margin-bottom: clamp(20px, 3.6vh, 40px); }

.cr-hero {
  position: relative;
  overflow: hidden;
  padding-top: clamp(40px, 7vh, 88px);
}

.cr-hero-tx { max-width: min(100%, 720px); }

.blueprint {
  position: absolute; inset: 0; z-index: 0;
  pointer-events: none; overflow: hidden;
}

.blueprint::before {
  content: "";
  position: absolute; inset: -1px;
  background-image:
    repeating-linear-gradient(90deg,  var(--hairline) 0 1px, transparent 1px 76px),
    repeating-linear-gradient(180deg, var(--hairline) 0 1px, transparent 1px 76px);
  -webkit-mask-image: radial-gradient(115% 105% at 88% 22%, #000, transparent 62%);
          mask-image: radial-gradient(115% 105% at 88% 22%, #000, transparent 62%);
}

.bp-svg {
  position: absolute; top: 50%; right: 2%;
  width: min(42vw, 480px); height: auto;
  transform: translateY(-48%);
  opacity: .62;
}
.bp-panel { fill: var(--glass-lo); stroke: var(--stroke);   stroke-width: 1; }
.bp-hair  { stroke: var(--hairline);  stroke-width: 1; }
.bp-line  { stroke: var(--stroke);    stroke-width: 1; }
.bp-tick  { stroke: var(--stroke-2);  stroke-width: 1; }
.bp-acc   { stroke: var(--accent-line); stroke-width: 1.5; }
.bp-node  { fill: var(--field); stroke: var(--stroke-2); stroke-width: 1.5; }

.app-copy em {
  font-style: normal; font-family: var(--mono);
  font-size: .92em; letter-spacing: .02em; color: var(--fg);
}

.apps {
  border-top: 1px solid var(--hairline);
  margin-inline: calc(var(--s4) * -1);
}

.app {
  position: relative;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  grid-template-areas: "ic tx meta";
  align-items: center;
  gap: clamp(18px, 3vw, 40px);
  padding: clamp(26px, 4.6vh, 44px) var(--s4);
  border-bottom: 1px solid var(--hairline);
  color: var(--fg);
  transition: background var(--t-mid) var(--ease);
}
.app:hover, .app:focus-visible { background: var(--glass-row); }
.app:focus-visible { outline-offset: -2px; }

.app.is-flagship {
  grid-template-columns: auto minmax(0, 1fr) minmax(190px, 30%) auto;
  grid-template-areas: "ic tx art meta";
  padding-block: clamp(36px, 6.6vh, 72px);
}

.app-ic   { grid-area: ic; }
.app-tx   { grid-area: tx; display: flex; flex-direction: column; gap: var(--s3); min-width: 0; }
.app-art  { grid-area: art; display: block; width: 100%; }
.app-meta { grid-area: meta; display: flex; align-items: center; gap: var(--s4); flex: none; }

.app-top { display: flex; align-items: center; flex-wrap: wrap; gap: var(--s3); }

.app-n {
  display: block;
  font-weight: 700; letter-spacing: -.03em; line-height: 1;
  font-size: clamp(27px, 4.2vw, 46px);
  color: var(--fg);
}
.app.is-flagship .app-n { font-size: clamp(34px, 6vw, 74px); }

.app-n.wordmark { letter-spacing: .22em; }

.app-by {
  display: block;
  font-family: var(--mono); font-size: 10px; letter-spacing: .06em;
  color: var(--faint);
}
.app-copy {
  display: block;
  color: var(--dim); font-size: 14.5px; line-height: 1.7; max-width: 54ch;
}
.app-chips { margin-top: var(--s1); }

.app-v {
  font-family: var(--mono); font-size: 10px; letter-spacing: .06em;
  color: var(--faint); white-space: nowrap;
}
.app-go {
  font-family: var(--mono); font-size: 14px; color: var(--faint-deco);
  transition: color var(--t-mid) var(--ease), transform var(--t-mid) var(--ease);
}
.app:hover .app-go, .app:focus-visible .app-go {
  color: var(--fg); transform: translateX(6px);
}

.tier { display: flex; flex-direction: column; gap: var(--s3); }
.tier .kick { margin-bottom: var(--s2); }
.tier-n { letter-spacing: -.02em; }
.tier-sum { color: var(--dim); font-size: 15px; line-height: 1.55; }

.perks {
  display: flex; flex-direction: column; gap: var(--s3);
  margin-top: var(--s2); padding-top: var(--s4);
  border-top: 1px solid var(--hairline);
}
.perks li {
  display: flex; align-items: baseline; gap: var(--s3);
  color: var(--dim); font-size: 13.5px; line-height: 1.6;
}
.perks .mk {
  flex: none; width: 8px;
  font-family: var(--mono); font-size: 9px; color: var(--faint-deco);
}
.card.lit .perks .mk { color: var(--accent); }

.pat-foot {
  display: flex; flex-direction: column; align-items: flex-start; gap: var(--s5);
  margin-top: clamp(26px, 4.4vh, 48px);
}
.pat-note {
  font-size: 10.5px; letter-spacing: .04em; line-height: 1.9;
  color: var(--faint); max-width: 84ch;
}

.disc {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(230px, 290px);
  gap: clamp(24px, 4vw, 56px);
  align-items: center;
  background:
    radial-gradient(560px 340px at 92% 4%, var(--accent-wash), transparent 66%),
    linear-gradient(180deg, var(--glass-hi), var(--glass-lo));
}
.disc-tx  { display: flex; flex-direction: column; gap: var(--s3); }
.disc-h   { letter-spacing: -.02em; }
.disc-fine {
  margin-top: var(--s1);
  font-size: 10px; letter-spacing: .05em; line-height: 1.8; color: var(--faint);
}
.disc-cta { display: flex; flex-direction: column; gap: var(--s3); }
.disc-sub {
  font-size: 9.5px; letter-spacing: .06em; color: var(--faint); text-align: center;
}

@media (max-width: 1080px) {
  .bp-svg { width: min(42vw, 420px); opacity: .5; }
}

@media (max-width: 900px) {
  .app.is-flagship {
    grid-template-columns: auto minmax(0, 1fr) auto;
    grid-template-areas:
      "ic  tx  meta"
      "art art art";
    row-gap: var(--s5);
  }
}

@media (max-width: 820px) {
  .bp-svg { display: none; }
  .blueprint::before {
    -webkit-mask-image: radial-gradient(120% 110% at 92% 10%, #000, transparent 58%);
            mask-image: radial-gradient(120% 110% at 92% 10%, #000, transparent 58%);
  }
  .disc { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 620px) {

  .app {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: "ic" "tx" "meta";
    row-gap: var(--s5);
  }
  .app.is-flagship {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: "ic" "tx" "art" "meta";
  }
  .app-meta { justify-content: space-between; width: 100%; }
  .app-copy { font-size: 14px; }
  .pat-foot .btns > .btn { flex: 1 1 100%; }
}
