.type-scale h1, .type-scale h2, .type-scale h3, .type-scale h4, .type-scale h5, .type-scale h6 { margin-bottom: var(--space-3); }
.ts-h1 { font-size: var(--text-4xl); } .ts-h2 { font-size: var(--text-3xl); } .ts-h3 { font-size: var(--text-2xl); }
.ts-h4 { font-size: var(--text-xl); } .ts-h5 { font-size: var(--text-lg); } .ts-h6 { font-size: var(--text-base); text-transform: uppercase; letter-spacing: 0.1em; }
.type-lab { background: var(--color-surface); }
.type-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-5); }
.type-cell { border: 1px dashed var(--color-border); border-radius: var(--radius-md); padding: var(--space-4); min-width: 0; }
.type-cell mark { background: var(--color-highlight); color: var(--color-text); }
.hl-word { color: var(--color-accent); font-weight: 700; }
.nest .n1 { color: var(--color-text); } .nest .n2 { color: var(--color-primary); } .nest .n3 { color: var(--color-accent); font-style: italic; } .nest .n4 { background: var(--color-highlight); color: var(--color-text); font-weight: 800; }
.mix-serif { font-family: var(--font-heading); font-weight: 900; } .mix-sans { font-family: var(--font-body); font-weight: 300; } .mix-mono { font-family: var(--font-mono); font-weight: 600; }
.spaced { letter-spacing: 0.4em; font-weight: 600; } .tall { line-height: 2.4; }
.shadowed { font-family: var(--font-heading); font-size: var(--text-2xl); font-weight: 900; color: var(--color-primary); text-shadow: 3px 3px 0 var(--color-highlight); }
.grad-text { font-family: var(--font-heading); font-size: var(--text-3xl); font-weight: 900; color: var(--color-primary); border-bottom: 6px solid var(--color-accent); display: inline-block; }
.rotated { display: inline-block; transform: rotate(-6deg); background: var(--color-dark); color: var(--color-on-primary); padding: var(--space-2) var(--space-4); }
.vertical { writing-mode: vertical-rl; font-weight: 800; letter-spacing: 0.2em; color: var(--color-primary); }
.pseudo-text::before { content: "BEFORE → "; color: var(--color-accent); font-weight: 700; }
.pseudo-text::after { content: " ← AFTER"; color: var(--color-primary); font-weight: 700; }
.js-text { font-weight: 700; color: var(--color-primary); }
.svg-text { width: 100%; max-width: 300px; height: auto; }
.svg-text text { font-family: var(--font-heading); font-size: 32px; font-weight: 700; fill: var(--color-accent); }
.inherit-parent { color: var(--color-primary); font-family: var(--font-heading); font-size: var(--text-lg); }
p.compete { color: var(--color-muted); }
.compete.compete-b { color: var(--color-primary); }
#compete { color: var(--color-accent); }
.var-text { --local-ink: var(--color-primary); color: var(--local-ink); font-weight: 700; }
.mq-text { color: var(--color-accent); font-weight: 700; }
.tt-upper { text-transform: uppercase; } .tt-cap { text-transform: capitalize; }
.photo-panel { position: relative; border-radius: var(--radius-lg); overflow: hidden; min-height: 320px; display: grid; align-items: end; background-image: url("/_assets/ast_gvp8rmia1qq.jpg"); background-size: cover; background-position: center; margin-bottom: var(--space-6); }
.photo-panel__overlay { position: absolute; inset: 0; background: var(--color-dark); opacity: 0.65; }
.photo-panel__content { position: relative; padding: var(--space-6); color: var(--color-on-primary); }
.photo-panel__content h2 { color: var(--color-on-primary); font-size: var(--text-3xl); }
.abs-box { position: relative; height: 140px; background: var(--color-primary-soft); border-radius: var(--radius-md); margin-bottom: var(--space-6); }
.abs-box__label { position: absolute; right: var(--space-4); bottom: var(--space-4); background: var(--color-surface); padding: var(--space-2) var(--space-3); border-radius: var(--radius-sm); font-weight: 600; }
@media (max-width: 900px) { .type-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 640px) { .type-grid { grid-template-columns: 1fr; } .mq-text { color: var(--color-primary); } .ts-h1 { font-size: var(--text-3xl); } }

[data-node="p_pfxlzl7k"] {
  color: var(--color-primary);
}

[data-node="h_z3uhkh1w"] {
  color: var(--color-14db36);
}

@media (max-width: 390px) {
  [data-node="p_1paqaomv"] {
    color: var(--color-text);
  }
}

[data-node="p_c4brgp4g"] {
  font-size: 27px;
}
