/* ==========================================================================
   Coinbase Inc — tracklaso.com
   "BLUEPRINT TERMINAL": hairline grid, sharp corners, mono labels,
   outlined numerals, 1px rules instead of shadows.
   Prefix: bl-
   ========================================================================== */

:root {
    --bg: #ffffff;
    --bg-2: #f4f5f7;
    --panel: #ffffff;
    --panel-2: #f7f8fa;
    --line: #e6e8ec;
    --line-2: #cfd3da;
    --text: #0b0d11;
    --dim: #545a66;
    --faint: #8b93a1;
    --azure: #e0122b;
    --cyan: #ff3b52;
    --emerald: #e0122b;
    --emerald-line: rgba(224,18,43,0.28);
    --azure-soft: rgba(224,18,43,0.07);
    --azure-line: rgba(224,18,43,0.28);
    --up: #067a53;
    --down: #e0122b;
    --accent: linear-gradient(100deg,#e0122b 0%,#ff3b52 100%);
    --r-sm: 2px;
    --r-md: 2px;
    --r-lg: 3px;
    --font: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
    --mono: 'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, monospace;
    --wrap: 1200px;
}

* { margin: 0; padding: 0; box-sizing: border-box; }

html { background: var(--bg); scroll-behavior: smooth; }

body {
    font-family: var(--font);
    color: var(--text);
    line-height: 1.62;
    min-height: 100vh;
    overflow-x: hidden;
    background: var(--bg);
    position: relative;
    -webkit-font-smoothing: antialiased;
}

/* ---- ambient depth, no pattern -------------------------------------------
   Deliberately NO page-wide texture: no grid, no ruled lines, no tick rails.
   A page-spanning pattern is the tell-tale generated look, and it fights the
   content. Depth comes from two soft off-centre washes only; the design's
   character lives in the components (mono labels, outlined numerals, hairline
   dividers inside blocks). */
body::before {
    content: '';
    position: fixed;
    inset: 0;
    pointer-events: none;
    z-index: 0;
    background:
        radial-gradient(1100px 620px at 18% -8%, rgba(22, 179, 120, 0.10), transparent 68%),
        radial-gradient(900px 560px at 96% 6%, rgba(126, 224, 168, 0.055), transparent 66%);
}

a { color: inherit; text-decoration: none; }
img { display: block; width: 100%; height: auto; }

/* live change colours (script toggles .up/.down) */
.up { color: var(--up); }
.down { color: var(--down); }

/* ---- signature device 4: mono micro-labels ------------------------------ */
.bl-mlabel {
    display: block;
    font-family: var(--mono);
    font-size: 11px;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--faint);
    line-height: 1.5;
}
.bl-mlabel b { color: var(--azure); font-weight: 500; }

.bl-eyebrow {
    display: inline-block;
    font-family: var(--mono);
    font-size: 11px;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--azure);
    padding-bottom: 6px;
    border-bottom: 1px solid var(--azure-line);
}

/* ---- signature device 2: corner brackets -------------------------------- */
.bl-bkt {
    position: relative;
    background-origin: border-box;
    background-repeat: no-repeat;
    background-image:
        linear-gradient(90deg,  var(--azure), var(--azure)),
        linear-gradient(180deg, var(--azure), var(--azure)),
        linear-gradient(90deg,  var(--azure), var(--azure)),
        linear-gradient(180deg, var(--azure), var(--azure)),
        linear-gradient(90deg,  var(--azure), var(--azure)),
        linear-gradient(180deg, var(--azure), var(--azure)),
        linear-gradient(90deg,  var(--azure), var(--azure)),
        linear-gradient(180deg, var(--azure), var(--azure));
    background-size:
        13px 1px, 1px 13px,
        13px 1px, 1px 13px,
        13px 1px, 1px 13px,
        13px 1px, 1px 13px;
    background-position:
        left top, left top,
        right top, right top,
        left bottom, left bottom,
        right bottom, right bottom;
}

/* ---- signature device 3: big outlined numerals -------------------------- */
.bl-numeral {
    display: block;
    font-family: var(--mono);
    font-weight: 600;
    line-height: 0.9;
    letter-spacing: -0.03em;
    color: transparent;
    -webkit-text-stroke: 1px var(--line-2);
}
@supports not ((-webkit-text-stroke: 1px #000)) {
    .bl-numeral { color: var(--line-2); }
}

/* ==========================================================================
   BUTTONS
   ========================================================================== */

.bl-btn {
    font-family: var(--mono);
    font-size: 11.5px;
    font-weight: 500;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    padding: 12px 20px;
    border: 1px solid var(--line-2);
    border-radius: var(--r-sm);
    background: transparent;
    color: var(--text);
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    transition: color .16s ease, border-color .16s ease, background .16s ease;
}
.bl-btn-solid {
    background: var(--accent);
    border-color: var(--azure);
    color: #04070f;
    font-weight: 600;
}
.bl-btn-solid:hover { background: var(--cyan); border-color: var(--cyan); }
.bl-btn-ghost { color: var(--dim); }
.bl-btn-ghost:hover { color: var(--cyan); border-color: var(--azure-line); background: var(--azure-soft); }
.bl-btn-lg { padding: 15px 26px; font-size: 12px; }
.bl-btn:focus-visible { outline: 1px solid var(--cyan); outline-offset: 2px; }

/* ==========================================================================
   HEADER — two tiers: live tape strip + main bar
   ========================================================================== */

/* both tiers pin together — sticky must live on the header, not on a child,
   or the bar can only stick inside the header's own box */
.bl-header {
    position: sticky;
    top: 0;
    z-index: 100;
}

.bl-tape {
    border-bottom: 1px solid var(--line);
    background: #05080f;
}
.bl-tape-in {
    max-width: var(--wrap);
    margin: 0 auto;
    padding: 8px 24px;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    font-family: var(--mono);
    font-size: 10px;
    letter-spacing: 0.03em;
    color: var(--dim);
}
.bl-tape-in > span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    white-space: nowrap;
    padding: 2px 0;
}
.bl-tape-in > span + span::before {
    content: '|';
    color: var(--line-2);
    margin: 0 9px;
}
.bl-tape-in strong { color: var(--azure); font-weight: 500; letter-spacing: 0.08em; }
.bl-tape-in .px { color: var(--text); }
.bl-tape-in .ch { color: var(--faint); }

.bl-bar {
    position: relative;
    z-index: 2;
    background: var(--bg);
    border-bottom: 1px solid var(--line);
}
.bl-bar-in {
    position: relative;
    max-width: var(--wrap);
    margin: 0 auto;
    padding: 0 24px;
    height: 66px;
    display: flex;
    align-items: center;
    gap: 20px;
}

.bl-brand { display: inline-flex; align-items: center; gap: 11px; flex-shrink: 0; }
.bl-brand-mark {
    width: 34px;
    height: 34px;
    border: 1px solid var(--line-2);
    border-radius: var(--r-sm);
    background: var(--bg-2);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.bl-brand-mark svg { width: 22px; height: 22px; display: block; }
.bl-brand-name {
    font-size: 19px;
    font-weight: 600;
    letter-spacing: 0.02em;
    color: var(--text);
}
.bl-brand-name span { color: var(--azure); }

.bl-links {
    display: flex;
    align-items: center;
    gap: 2px;
    margin: 0 auto;
}
.bl-links a {
    font-family: var(--mono);
    font-size: 11px;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--dim);
    padding: 9px 13px;
    border: 1px solid transparent;
    border-radius: var(--r-sm);
    transition: color .16s ease, border-color .16s ease, background .16s ease;
}
.bl-links a:hover { color: var(--cyan); border-color: var(--line); }
.bl-links a.active { color: var(--text); border-color: var(--azure-line); background: var(--azure-soft); }

.bl-acts { display: flex; align-items: center; gap: 10px; flex-shrink: 0; }

.bl-burger {
    display: none;
    margin-left: auto;
    width: 40px;
    height: 40px;
    align-items: center;
    justify-content: center;
    font-size: 17px;
    color: var(--cyan);
    background: transparent;
    border: 1px solid var(--line-2);
    border-radius: var(--r-sm);
    cursor: pointer;
}

/* mobile-only "Open App" row inside the collapsed menu */
.bl-nav-app { display: none; }

/* ==========================================================================
   SECTION CHROME — two-column heads with left index rail
   ========================================================================== */

.bl-sec {
    max-width: var(--wrap);
    margin: 0 auto;
    padding: clamp(54px, 7vw, 92px) 24px;
    position: relative;
    z-index: 1;
}

.bl-head {
    display: grid;
    grid-template-columns: 190px 1fr;
    gap: clamp(20px, 4vw, 48px);
    align-items: start;
    padding-bottom: 22px;
    border-bottom: 1px solid var(--line);
    margin-bottom: clamp(30px, 4vw, 52px);
}
.bl-head-rail { padding-top: 4px; }
.bl-head-idx {
    font-family: var(--mono);
    font-size: 12px;
    letter-spacing: 0.14em;
    color: var(--azure);
    display: block;
}
.bl-head-kick {
    font-family: var(--mono);
    font-size: 10.5px;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--faint);
    display: block;
    margin-top: 8px;
    line-height: 1.7;
}
.bl-head-main h2 {
    font-size: clamp(26px, 3.4vw, 40px);
    font-weight: 600;
    letter-spacing: -0.02em;
    line-height: 1.08;
}
.bl-head-main h2 em { font-style: normal; color: var(--azure); }
.bl-head-main p {
    margin-top: 14px;
    font-size: 15px;
    color: var(--dim);
    max-width: 66ch;
}

/* ==========================================================================
   HERO — left-aligned split: copy | spec sheet
   ========================================================================== */

.bl-hero {
    position: relative;
    z-index: 1;
    border-bottom: 1px solid var(--line);
}
.bl-hero-in {
    max-width: var(--wrap);
    margin: 0 auto;
    padding: clamp(44px, 6vw, 86px) 24px clamp(46px, 6vw, 78px);
    display: grid;
    grid-template-columns: 1.15fr 0.85fr;
    gap: clamp(30px, 5vw, 64px);
    align-items: start;
}

.bl-hero-copy { max-width: 640px; }
.bl-hero-h1 {
    font-size: clamp(46px, 7.4vw, 92px);
    font-weight: 600;
    letter-spacing: -0.045em;
    line-height: 0.92;
    margin: 22px 0 0;
}
.bl-hero-h1 span {
    display: block;
    font-size: clamp(22px, 3vw, 36px);
    font-weight: 500;
    letter-spacing: -0.02em;
    line-height: 1.1;
    margin-top: 14px;
    color: var(--dim);
}
.bl-hero-h1 span em { font-style: normal; color: var(--cyan); }
.bl-hero-lead {
    margin-top: 22px;
    font-size: 15.5px;
    color: var(--dim);
    line-height: 1.78;
    max-width: 58ch;
}
.bl-hero-btns {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 30px;
}
.bl-hero-note {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    margin-top: 30px;
    padding-top: 16px;
    border-top: 1px solid var(--line);
    max-width: 60ch;
}
.bl-hero-note .tag {
    flex-shrink: 0;
    font-family: var(--mono);
    font-size: 10px;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--azure);
    border: 1px solid var(--azure-line);
    border-radius: var(--r-sm);
    padding: 4px 8px;
    line-height: 1.2;
}
.bl-hero-note p { font-size: 12.5px; color: var(--faint); line-height: 1.7; }

/* the "spec sheet" that replaces the base's decorative tile wall */
.bl-spec {
    border: 1px solid var(--line-2);
    border-radius: var(--r-md);
    background-color: var(--panel);
    padding: 20px 20px 18px;
}
.bl-spec-head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
    padding-bottom: 14px;
    border-bottom: 1px solid var(--line-2);
}
.bl-spec-head .t {
    font-family: var(--mono);
    font-size: 11.5px;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--text);
}
.bl-spec-head .n { font-family: var(--mono); font-size: 10.5px; letter-spacing: 0.14em; color: var(--faint); }
.bl-spec-rows { display: block; }
.bl-spec-row {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 14px;
    padding: 11px 0;
    border-bottom: 1px solid var(--line);
}
.bl-spec-row .k {
    font-family: var(--mono);
    font-size: 10.5px;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--faint);
    white-space: nowrap;
}
.bl-spec-row .v { font-family: var(--mono); font-size: 12.5px; color: var(--text); text-align: right; }
.bl-spec-row .v.is-off { color: var(--down); }
.bl-spec-row .v.is-on { color: var(--up); }

.bl-spec-live { margin-top: 16px; padding-top: 14px; border-top: 1px solid var(--line-2); }
.bl-spec-live-row {
    display: grid;
    grid-template-columns: 1fr auto auto;
    align-items: baseline;
    gap: 12px;
    padding: 7px 0;
    font-family: var(--mono);
    font-size: 12px;
}
.bl-spec-live-row .sym { color: var(--dim); letter-spacing: 0.06em; }
.bl-spec-live-row .px { color: var(--text); }
.bl-spec-live-row .ch { font-size: 11px; min-width: 62px; text-align: right; color: var(--faint); }
.bl-spec-foot {
    margin-top: 14px;
    padding-top: 12px;
    border-top: 1px solid var(--line);
    font-family: var(--mono);
    font-size: 10px;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--faint);
}

/* ==========================================================================
   INTERFACE SHEET — hairline row listing (no <table>)
   ========================================================================== */

.bl-sheet { border-top: 1px solid var(--line-2); }
.bl-sheet-hd,
.bl-sheet-row {
    display: grid;
    grid-template-columns: 66px 160px 1fr 128px;
    gap: 18px;
    align-items: baseline;
    padding: 14px 6px;
    border-bottom: 1px solid var(--line);
}
.bl-sheet-hd {
    font-family: var(--mono);
    font-size: 10px;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--faint);
}
.bl-sheet-row { transition: background .18s ease; }
.bl-sheet-row:hover { background: rgba(22, 179, 120, 0.04); }
.bl-sheet-row .i { font-family: var(--mono); font-size: 12px; letter-spacing: 0.1em; color: var(--azure); }
.bl-sheet-row .n { font-size: 15.5px; font-weight: 600; letter-spacing: -0.01em; }
.bl-sheet-row .d { font-size: 13.5px; color: var(--dim); line-height: 1.62; }
.bl-sheet-row .s {
    font-family: var(--mono);
    font-size: 9.5px;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--faint);
    border: 1px solid var(--line);
    border-radius: var(--r-sm);
    padding: 3px 7px;
    justify-self: start;
}
.bl-sheet-row .s.is-live { color: var(--up); border-color: rgba(16, 185, 129, 0.4); }
.bl-sheet-row .s.is-off { color: var(--down); border-color: rgba(244, 63, 94, 0.35); }

/* ==========================================================================
   APP SCREENS — stepped row of sharp frames (static PNGs, never cropped)
   ========================================================================== */

.bl-screens { position: relative; z-index: 1; }
.bl-screens-row {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(18px, 3vw, 34px);
    align-items: start;
}
.bl-scr { margin: 0; }
.bl-scr.is-s2 { margin-top: 26px; }
.bl-scr.is-s3 { margin-top: 52px; }

.bl-scr-frame {
    display: block;
    border: 1px solid var(--line-2);
    border-radius: var(--r-md);
    background-color: var(--panel);
    padding: 8px;
    transition: border-color .18s ease;
}
.bl-scr-frame:hover { border-color: var(--azure); }
.bl-scr-frame:focus-visible { outline: 1px solid var(--cyan); outline-offset: 3px; }
.bl-scr-img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: var(--r-sm);
    background: var(--bg-2);
}
.bl-scr-cap {
    margin-top: 12px;
    padding-top: 10px;
    border-top: 1px solid var(--line);
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 10px;
    font-family: var(--mono);
}
.bl-scr-cap .n { font-size: 10.5px; letter-spacing: 0.16em; color: var(--azure); }
.bl-scr-cap .t { font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--dim); }

/* ==========================================================================
   FEATURE GRID — 2x2 formed by hairline dividers only
   ========================================================================== */

.bl-feats {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    border-top: 1px solid var(--line);
    border-left: 1px solid var(--line);
}
.bl-feat {
    border-right: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
    padding: clamp(24px, 3vw, 38px) clamp(20px, 2.6vw, 34px);
    transition: background .18s ease;
}
.bl-feat:hover { background: rgba(22, 179, 120, 0.04); }
.bl-feat .bl-numeral { font-size: clamp(44px, 5.4vw, 68px); }
.bl-feat h3 {
    font-size: 19px;
    font-weight: 600;
    letter-spacing: -0.01em;
    margin: 18px 0 10px;
}
.bl-feat p { font-size: 14px; color: var(--dim); line-height: 1.72; max-width: 46ch; }
.bl-feat-tag {
    display: inline-block;
    margin-top: 14px;
    font-family: var(--mono);
    font-size: 10px;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--faint);
    border: 1px solid var(--line);
    border-radius: var(--r-sm);
    padding: 3px 7px;
}

/* ==========================================================================
   FUTURE APP INTERFACE — horizontal timeline strip
   ========================================================================== */

.bl-road { position: relative; z-index: 1; }
.bl-tl {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    column-gap: clamp(10px, 1.6vw, 20px);
}
.bl-tl-rule {
    grid-column: 1 / -1;
    grid-row: 2;
    height: 1px;
    background: var(--line-2);
    border: 0;
    margin: 0;
}
.bl-tl-item { position: relative; }
.bl-tl-item.is-above { grid-row: 1; align-self: end; padding-bottom: 26px; }
.bl-tl-item.is-below { grid-row: 3; align-self: start; padding-top: 26px; }
/* one item per column — auto-placement would stack them into the first
   three columns because the above/below rows are assigned explicitly */
.bl-tl-item:nth-child(1) { grid-column: 1; }
.bl-tl-item:nth-child(2) { grid-column: 2; }
.bl-tl-item:nth-child(3) { grid-column: 3; }
.bl-tl-item:nth-child(4) { grid-column: 4; }
.bl-tl-item:nth-child(5) { grid-column: 5; }
.bl-tl-item:nth-child(6) { grid-column: 6; }
.bl-tl-tick {
    position: absolute;
    left: 0;
    width: 1px;
    height: 26px;
    background: var(--line-2);
}
.bl-tl-item.is-above .bl-tl-tick { bottom: 0; }
.bl-tl-item.is-below .bl-tl-tick { top: 0; }
.bl-tl-tick::after {
    content: '';
    position: absolute;
    left: -2px;
    width: 5px;
    height: 5px;
    background: var(--azure);
}
.bl-tl-item.is-above .bl-tl-tick::after { bottom: -3px; }
.bl-tl-item.is-below .bl-tl-tick::after { top: -3px; }

.bl-tl-box { border-left: 1px solid var(--line); padding-left: 12px; }
.bl-tl-no {
    font-family: var(--mono);
    font-size: 10px;
    letter-spacing: 0.16em;
    color: var(--faint);
    display: block;
}
.bl-tl-box h3 {
    font-size: 14px;
    font-weight: 600;
    letter-spacing: -0.01em;
    margin: 8px 0 7px;
    line-height: 1.3;
}
.bl-tl-box p { font-size: 12px; color: var(--dim); line-height: 1.6; }
.bl-tl-tag {
    display: inline-block;
    margin-top: 10px;
    font-family: var(--mono);
    font-size: 9.5px;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    border: 1px solid var(--line-2);
    border-radius: var(--r-sm);
    padding: 3px 7px;
    color: var(--faint);
}
.bl-tl-tag.is-shipped { color: var(--up); border-color: rgba(16, 185, 129, 0.4); }
.bl-tl-tag.is-next { color: #04070f; background: var(--azure); border-color: var(--azure); font-weight: 600; }
.bl-tl-tag.is-planned { color: var(--cyan); border-color: var(--azure-line); background: var(--azure-soft); }
.bl-tl-tag.is-exploring { color: var(--faint); }

/* ==========================================================================
   CTA BAND — full-bleed, near-black, hairline framed, mono coordinates
   ========================================================================== */

.bl-cta {
    position: relative;
    z-index: 1;
    background: #04070f;
    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
    padding: clamp(48px, 7vw, 88px) 24px;
    overflow: hidden;
}
/* a single accent hairline across the top of the band — not a row of ticks */
.bl-cta-ticks {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    height: 2px;
    background: linear-gradient(90deg, var(--azure) 0%, var(--cyan) 42%, transparent 88%);
    opacity: 0.85;
    pointer-events: none;
}
.bl-cta-in {
    position: relative;
    max-width: var(--wrap);
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr auto;
    gap: clamp(26px, 4vw, 56px);
    align-items: center;
}
.bl-cta-copy h2 {
    font-size: clamp(28px, 4.2vw, 50px);
    font-weight: 600;
    letter-spacing: -0.035em;
    line-height: 1.02;
    margin-top: 16px;
}
.bl-cta-copy h2 em { font-style: normal; color: var(--azure); }
.bl-cta-copy p { margin-top: 16px; font-size: 14.5px; color: var(--dim); max-width: 54ch; line-height: 1.7; }
.bl-cta-act { display: flex; flex-direction: column; gap: 10px; align-items: stretch; }
.bl-cta-coord {
    position: absolute;
    bottom: 12px;
    font-family: var(--mono);
    font-size: 9.5px;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: #1b2740;
}
.bl-cta-coord.is-l { left: 14px; }
.bl-cta-coord.is-r { right: 14px; }

/* ==========================================================================
   ABOUT PAGE
   ========================================================================== */

/* document masthead */
.bl-doc { border-bottom: 1px solid var(--line); position: relative; z-index: 1; }
.bl-doc-in {
    max-width: var(--wrap);
    margin: 0 auto;
    padding: clamp(46px, 6vw, 82px) 24px clamp(30px, 4vw, 48px);
}
.bl-doc-h1 {
    font-size: clamp(32px, 5vw, 60px);
    font-weight: 600;
    letter-spacing: -0.035em;
    line-height: 1.03;
    margin: 20px 0 0;
    max-width: 22ch;
}
.bl-doc-h1 em { font-style: normal; color: var(--azure); }
.bl-doc-lead {
    margin-top: 20px;
    font-size: 15.5px;
    color: var(--dim);
    line-height: 1.8;
    max-width: 74ch;
}
.bl-doc-meta {
    margin-top: 32px;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    border-top: 1px solid var(--line-2);
    border-left: 1px solid var(--line);
}
.bl-doc-meta-i {
    border-right: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
    padding: 14px 16px;
    display: flex;
    flex-direction: column;
    gap: 7px;
}
.bl-doc-meta-i .k {
    font-family: var(--mono);
    font-size: 10px;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--faint);
}
.bl-doc-meta-i .v { font-family: var(--mono); font-size: 12.5px; color: var(--text); }

/* brief: left contents rail + numbered prose blocks */
.bl-brief { position: relative; z-index: 1; }
.bl-brief-grid {
    display: grid;
    grid-template-columns: 220px 1fr;
    gap: clamp(24px, 4vw, 56px);
    align-items: start;
}
.bl-brief-rail { position: sticky; top: 130px; }
.bl-brief-toc { list-style: none; margin-top: 14px; border-top: 1px solid var(--line); }
.bl-brief-toc li { border-bottom: 1px solid var(--line); }
.bl-brief-toc a {
    display: block;
    padding: 10px 0;
    font-family: var(--mono);
    font-size: 11px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--dim);
    transition: color .16s ease;
}
.bl-brief-toc a:hover { color: var(--cyan); }
.bl-brief-body { border-top: 1px solid var(--line); }
.bl-brief-block {
    display: grid;
    grid-template-columns: 88px 1fr;
    gap: 20px;
    padding: clamp(24px, 3vw, 36px) 0;
    border-bottom: 1px solid var(--line);
}
.bl-brief-block .bl-numeral { font-size: clamp(34px, 4vw, 52px); }
.bl-brief-block h3 {
    font-size: clamp(19px, 2.2vw, 25px);
    font-weight: 600;
    letter-spacing: -0.02em;
    margin-bottom: 12px;
}
.bl-brief-block p { font-size: 14.5px; color: var(--dim); line-height: 1.8; max-width: 62ch; }
.bl-brief-block p + p { margin-top: 12px; }

/* facts: bordered label/value grid (no <table>) */
.bl-facts { position: relative; z-index: 1; }
.bl-facts-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    border-top: 1px solid var(--line-2);
    border-left: 1px solid var(--line);
}
.bl-fact {
    border-right: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
    padding: 18px;
    display: flex;
    flex-direction: column;
    gap: 9px;
}
.bl-fact .k {
    font-family: var(--mono);
    font-size: 10px;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--faint);
}
.bl-fact .v { font-family: var(--mono); font-size: 13px; color: var(--text); line-height: 1.5; }
.bl-fact .v.is-off { color: var(--down); }
.bl-fact .v.is-on { color: var(--up); }

/* build log */
.bl-log { position: relative; z-index: 1; }
.bl-log-list { list-style: none; border-top: 1px solid var(--line); }
.bl-log-row {
    display: grid;
    grid-template-columns: 130px 1fr;
    gap: clamp(16px, 3vw, 34px);
    padding: 22px 0;
    border-bottom: 1px solid var(--line);
    position: relative;
}
.bl-log-row .yr {
    font-family: var(--mono);
    font-size: 12px;
    letter-spacing: 0.16em;
    color: var(--azure);
    padding-top: 3px;
}
.bl-log-body h4 { font-size: 17px; font-weight: 600; letter-spacing: -0.01em; margin-bottom: 8px; }
.bl-log-body p { font-size: 14px; color: var(--dim); line-height: 1.72; max-width: 68ch; }

/* operating notes */
.bl-notes { position: relative; z-index: 1; }
.bl-notes-list {
    list-style: none;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    border-top: 1px solid var(--line);
    border-left: 1px solid var(--line);
}
.bl-note {
    border-right: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
    padding: 26px 22px;
}
.bl-note .bl-numeral { font-size: clamp(32px, 3.4vw, 44px); }
.bl-note h4 { font-size: 16px; font-weight: 600; margin: 14px 0 9px; letter-spacing: -0.01em; }
.bl-note p { font-size: 13.5px; color: var(--dim); line-height: 1.7; }

/* ==========================================================================
   LEGAL PAGES
   ========================================================================== */

.bl-legal { max-width: 880px; margin: 0 auto; padding: clamp(46px, 6vw, 82px) 24px clamp(56px, 7vw, 96px); position: relative; z-index: 1; }
.bl-legal-head { padding-bottom: 26px; margin-bottom: 12px; border-bottom: 1px solid var(--line-2); }
.bl-legal h1 {
    font-size: clamp(30px, 4.6vw, 52px);
    font-weight: 600;
    letter-spacing: -0.035em;
    line-height: 1.04;
    margin: 18px 0 14px;
}
.bl-legal-meta { font-family: var(--mono); font-size: 11px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--faint); }
.bl-legal h2 {
    font-size: 20px;
    font-weight: 600;
    letter-spacing: -0.015em;
    margin: 40px 0 14px;
    padding-top: 18px;
    border-top: 1px solid var(--line);
    display: flex;
    align-items: baseline;
    gap: 14px;
}
/* the head already ends in a rule — don't double it up */
.bl-legal h2:first-of-type { border-top: 0; padding-top: 0; margin-top: 30px; }
.bl-legal h2::before {
    content: '[' attr(data-n) ']';
    font-family: var(--mono);
    font-size: 11.5px;
    font-weight: 400;
    letter-spacing: 0.1em;
    color: var(--azure);
    flex-shrink: 0;
}
.bl-legal h3 {
    font-family: var(--mono);
    font-size: 11.5px;
    font-weight: 500;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--cyan);
    margin: 24px 0 10px;
}
.bl-legal p { font-size: 14.5px; color: var(--dim); line-height: 1.82; margin-bottom: 13px; }
.bl-legal ul { list-style: none; margin: 0 0 18px; }
.bl-legal li {
    font-size: 14px;
    color: var(--dim);
    line-height: 1.7;
    padding: 6px 0 6px 20px;
    position: relative;
}
.bl-legal li::before {
    content: '';
    position: absolute;
    left: 1px;
    top: 15px;
    width: 7px;
    height: 1px;
    background: var(--azure);
}
.bl-legal a { color: var(--cyan); border-bottom: 1px solid var(--azure-line); }
.bl-legal a:hover { border-bottom-color: var(--cyan); }
.bl-legal strong { color: var(--text); font-weight: 600; }

/* ==========================================================================
   FOOTER + DISCLOSURE
   ========================================================================== */

.bl-footer { border-top: 1px solid var(--line); background: #05080f; position: relative; z-index: 1; }
.bl-foot-top {
    max-width: var(--wrap);
    margin: 0 auto;
    padding: clamp(40px, 5vw, 62px) 24px clamp(30px, 4vw, 44px);
    display: grid;
    grid-template-columns: 1.5fr repeat(3, 1fr);
    gap: clamp(24px, 3vw, 44px);
}
.bl-foot-brand { max-width: 340px; }
.bl-foot-brand .bl-brand { margin-bottom: 16px; }
.bl-foot-brand p { font-size: 13px; color: var(--dim); line-height: 1.76; }
.bl-foot-col h4 {
    font-family: var(--mono);
    font-size: 10.5px;
    font-weight: 500;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--azure);
    padding-bottom: 12px;
    margin-bottom: 14px;
    border-bottom: 1px solid var(--line);
}
.bl-foot-col ul { list-style: none; display: flex; flex-direction: column; gap: 10px; }
.bl-foot-col a { font-size: 13px; color: var(--dim); transition: color .15s ease; }
.bl-foot-col a:hover { color: var(--cyan); }

.bl-foot-bottom {
    border-top: 1px solid var(--line);
    max-width: var(--wrap);
    margin: 0 auto;
    padding: 24px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 24px;
}
.bl-company { font-family: var(--mono); font-size: 11.5px; color: var(--faint); line-height: 1.8; flex: 1; min-width: 260px; }
.bl-company p { margin-bottom: 2px; }
.bl-seal {
    flex-shrink: 0;
    width: 88px;
    height: 88px;
    border: 1px solid var(--line);
    border-radius: var(--r-sm);
    background: var(--bg-2);
    padding: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.bl-seal img { width: 100%; height: auto; max-height: 100%; object-fit: contain; }
.bl-copy { font-family: var(--mono); font-size: 11px; letter-spacing: 0.12em; color: var(--faint); text-align: right; }

.bl-disclosure {
    border-top: 1px solid var(--line);
    background: var(--bg-2);
    padding: 20px 24px;
    position: relative;
    z-index: 1;
}
.bl-disclosure-in { max-width: var(--wrap); margin: 0 auto; }
.bl-disclosure h4 {
    font-family: var(--mono);
    font-size: 10.5px;
    font-weight: 500;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--azure);
    margin-bottom: 8px;
}
.bl-disclosure p { font-size: 12px; color: var(--faint); line-height: 1.7; }

/* ==========================================================================
   SUPPORT / CONTACT MODAL
   ========================================================================== */

.bl-cmodal {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 1000;
    background: rgba(4, 7, 15, 0.9);
    padding: 24px;
    overflow-y: auto;
}
.bl-cmodal.show { display: flex; align-items: center; justify-content: center; }
.bl-cmodal-box {
    background-color: var(--panel);
    border: 1px solid var(--line-2);
    border-radius: var(--r-md);
    width: 470px;
    max-width: 100%;
    padding: 30px 28px;
    position: relative;
}
.bl-cmodal-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 14px;
    padding-bottom: 16px;
    margin-bottom: 20px;
    border-bottom: 1px solid var(--line-2);
}
.bl-cmodal-head h2 { font-size: 21px; font-weight: 600; letter-spacing: -0.02em; }
.bl-cmodal-head .bl-mlabel { margin-top: 6px; }
.bl-close {
    background: none;
    border: 1px solid var(--line);
    border-radius: var(--r-sm);
    color: var(--dim);
    font-size: 18px;
    line-height: 1;
    width: 30px;
    height: 30px;
    flex-shrink: 0;
    cursor: pointer;
    transition: color .15s ease, border-color .15s ease;
}
.bl-close:hover { color: var(--cyan); border-color: var(--azure-line); }

.bl-crow { display: flex; gap: 14px; }
.bl-crow > * { flex: 1; min-width: 0; }
.bl-field { margin-bottom: 16px; }
.bl-field label {
    display: block;
    font-family: var(--mono);
    font-size: 10px;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--faint);
    margin-bottom: 7px;
}
.bl-field input,
.bl-field select,
.bl-field textarea {
    width: 100%;
    padding: 11px 12px;
    background: var(--bg);
    border: 1px solid var(--line-2);
    border-radius: var(--r-sm);
    color: var(--text);
    font-family: var(--mono);
    font-size: 13px;
    transition: border-color .15s ease;
}
.bl-field textarea { min-height: 110px; resize: vertical; }
.bl-field input:focus,
.bl-field select:focus,
.bl-field textarea:focus { outline: none; border-color: var(--azure); }
.bl-field select option { background: var(--panel); }

.bl-csubmit {
    width: 100%;
    margin-top: 6px;
    padding: 14px 18px;
    font-family: var(--mono);
    font-size: 11.5px;
    font-weight: 600;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    background: var(--accent);
    color: #04070f;
    border: 1px solid var(--azure);
    border-radius: var(--r-sm);
    cursor: pointer;
    transition: background .16s ease;
}
.bl-csubmit:hover { background: var(--cyan); }

.bl-success { text-align: left; padding: 6px 0 4px; }
.bl-success .ic {
    width: 44px;
    height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    border: 1px solid var(--azure);
    border-radius: var(--r-sm);
    color: var(--azure);
    margin-bottom: 16px;
}
.bl-success h3 { font-size: 19px; font-weight: 600; margin-bottom: 10px; letter-spacing: -0.02em; }
.bl-success p { font-size: 13.5px; color: var(--dim); line-height: 1.7; }

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */

@media (max-width: 1080px) {
    .bl-hero-in { grid-template-columns: 1fr; gap: 38px; }
    .bl-spec { max-width: 520px; }
    .bl-doc-meta { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .bl-facts-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .bl-notes-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .bl-brief-grid { grid-template-columns: 1fr; gap: 26px; }
    .bl-brief-rail { position: static; }
    .bl-foot-top { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 940px) {
    .bl-links {
        display: none;
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        flex-direction: column;
        align-items: stretch;
        gap: 0;
        padding: 8px 24px 16px;
        background: var(--bg);
        border-bottom: 1px solid var(--line-2);
        z-index: 90;
    }
    .bl-links.open { display: flex; }
    .bl-links a { padding: 13px 4px; border: 0; border-bottom: 1px solid var(--line); border-radius: 0; }
    .bl-links a.active { background: transparent; border-color: var(--line); color: var(--cyan); }
    .bl-acts { display: none; }
    .bl-burger { display: inline-flex; }
    .bl-nav-app {
        display: block;
        margin-top: 12px;
        text-align: center;
        color: #04070f !important;
        font-weight: 600;
        background: var(--azure) !important;
        border: 1px solid var(--azure) !important;
        border-radius: var(--r-sm) !important;
    }
    .bl-head { grid-template-columns: 1fr; gap: 16px; }
    .bl-head-rail { display: flex; align-items: baseline; gap: 14px; padding-top: 0; }
    .bl-head-kick { margin-top: 0; }

    /* timeline becomes a vertical rail */
    .bl-tl { display: block; position: relative; padding-left: 28px; }
    .bl-tl-rule { position: absolute; left: 0; top: 4px; bottom: 4px; width: 1px; height: auto; }
    .bl-tl-item.is-above,
    .bl-tl-item.is-below { padding: 0 0 24px; }
    .bl-tl-item.is-above .bl-tl-tick,
    .bl-tl-item.is-below .bl-tl-tick {
        top: 12px;
        bottom: auto;
        left: -28px;
        width: 28px;
        height: 1px;
    }
    .bl-tl-item.is-above .bl-tl-tick::after,
    .bl-tl-item.is-below .bl-tl-tick::after { top: -2px; bottom: auto; left: -2px; }
    .bl-cta-in { grid-template-columns: 1fr; }
    .bl-cta-act { flex-direction: row; flex-wrap: wrap; }
}

@media (max-width: 820px) {
    .bl-sheet-hd { display: none; }
    .bl-sheet-row { grid-template-columns: 54px 1fr; gap: 6px 14px; padding: 16px 4px; }
    .bl-sheet-row .d { grid-column: 2; }
    .bl-sheet-row .s { grid-column: 2; margin-top: 4px; }
    .bl-screens-row { grid-template-columns: 1fr; justify-items: center; gap: 34px; }
    .bl-scr { width: 100%; max-width: 360px; }
    .bl-scr.is-s2,
    .bl-scr.is-s3 { margin-top: 0; }
    .bl-log-row { grid-template-columns: 1fr; gap: 8px; }
    .bl-brief-block { grid-template-columns: 1fr; gap: 10px; }
}

@media (max-width: 620px) {
    /* pipes would orphan at the start of a wrapped row — use gaps instead */
    .bl-tape-in { padding: 7px 16px; font-size: 9.5px; column-gap: 15px; row-gap: 1px; }
    .bl-tape-in > span:nth-child(n+5) { display: none; }
    .bl-tape-in > span + span::before { content: none; margin: 0; }
    .bl-bar-in { padding: 0 16px; height: 60px; }
    .bl-brand-name { font-size: 17px; }
    .bl-sec { padding: 44px 16px; }
    .bl-hero-in { padding: 34px 16px 40px; }
    .bl-doc-in { padding: 36px 16px 28px; }
    .bl-legal { padding: 38px 16px 56px; }
    .bl-cta { padding: 44px 16px; }
    .bl-feats { grid-template-columns: 1fr; }
    .bl-facts-grid { grid-template-columns: 1fr; }
    .bl-notes-list { grid-template-columns: 1fr; }
    .bl-doc-meta { grid-template-columns: 1fr; }
    .bl-foot-top { grid-template-columns: 1fr; gap: 30px; padding: 36px 16px 26px; }
    .bl-foot-bottom { flex-direction: column; align-items: flex-start; padding: 22px 16px; }
    .bl-copy { text-align: left; }
    .bl-crow { flex-direction: column; gap: 0; }
    .bl-cmodal { padding: 16px; }
    .bl-cmodal-box { padding: 24px 20px; }
    .bl-hero-note { flex-direction: column; gap: 10px; }
    .bl-disclosure { padding: 18px 16px; }
    .bl-cta-coord { display: none; }
}

/* ---- themed scrollbars -------------------------------------------------- */
* { scrollbar-width: thin; scrollbar-color: #223350 var(--bg-2); }
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: var(--bg-2); }
::-webkit-scrollbar-thumb { background: #223350; border-radius: 0; border: 2px solid var(--bg-2); }
::-webkit-scrollbar-thumb:hover { background: var(--azure); }
::-webkit-scrollbar-corner { background: var(--bg-2); }

/* ============================================================================
   UNIQUIFY PASS 2 — new hero, restructured [01]/[03], new About layout
   All new class names (bl-h2-*, bl-mod-*, bl-cap-*, bl-ax-*) — no overrides.
   ============================================================================ */

/* ---- HERO v2: stacked, full-width, live board underneath ---- */
.bl-hero2 { position: relative; z-index: 1; }
.bl-h2 { max-width: var(--wrap); margin: 0 auto; padding: clamp(46px,6vw,84px) 24px clamp(30px,4vw,52px); }
.bl-h2-top { display: flex; align-items: center; gap: 12px; margin-bottom: clamp(22px,3vw,34px); }
.bl-h2-top .dot { width: 8px; height: 8px; border-radius: 50%; background: var(--emerald); box-shadow: 0 0 0 4px rgba(22,179,120,.16); flex: none; }
.bl-h2-top .lbl { font-family: var(--mono); font-size: 12px; letter-spacing: .22em; text-transform: uppercase; color: var(--emerald); }
.bl-h2-top .rule { flex: 1; height: 1px; background: var(--line); }
.bl-h2-top .rev { font-family: var(--mono); font-size: 11.5px; letter-spacing: .12em; color: var(--faint); text-transform: uppercase; }

.bl-h2-title {
  font-family: var(--font); font-weight: 800;
  font-size: clamp(48px, 9vw, 118px); line-height: .92; letter-spacing: -.03em;
  margin: 0; color: var(--text);
}
.bl-h2-title .sub {
  display: block; margin-top: .18em;
  font-size: clamp(20px, 3.2vw, 38px); font-weight: 600; letter-spacing: -.01em; color: var(--dim);
}
.bl-h2-title .sub em { font-style: normal; color: var(--emerald); }
.bl-h2-grid {
  display: grid; grid-template-columns: 1.25fr .75fr; gap: clamp(24px,4vw,60px);
  align-items: end; margin-top: clamp(24px,3.4vw,40px);
}
.bl-h2-lead { font-size: clamp(15px,1.7vw,18px); line-height: 1.7; color: var(--dim); max-width: 54ch; }
.bl-h2-facts { display: grid; gap: 0; border-top: 1px solid var(--line); }
.bl-h2-facts > div { display: flex; justify-content: space-between; gap: 14px; padding: 11px 0; border-bottom: 1px solid var(--line); font-family: var(--mono); font-size: 12.5px; }
.bl-h2-facts .k { color: var(--faint); letter-spacing: .06em; text-transform: uppercase; }
.bl-h2-facts .v { color: var(--text); }
.bl-h2-facts .v.off { color: var(--down); }
.bl-h2-facts .v.on { color: var(--emerald); }
.bl-h2-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: clamp(26px,3.4vw,38px); }
.bl-h2-note { display: flex; gap: 13px; align-items: flex-start; margin-top: 22px; padding-top: 18px; border-top: 1px solid var(--line); max-width: 82ch; }
.bl-h2-note .tag { flex: none; font-family: var(--mono); font-size: 10px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--emerald); border: 1px solid var(--emerald-line, rgba(22,179,120,.4)); padding: 5px 9px; }
.bl-h2-note p { font-size: 13px; line-height: 1.65; color: var(--faint); }

/* full-bleed live board */
.bl-h2-board {
  border-top: 1px solid var(--line); border-bottom: 1px solid var(--line);
  background: var(--bg-2);
}
.bl-h2-board-in {
  max-width: var(--wrap); margin: 0 auto; padding: 18px 24px;
  display: grid; grid-template-columns: repeat(5, 1fr); gap: 1px; background: var(--line);
}
.bl-h2-coin { background: var(--bg-2); padding: 14px 16px; display: grid; gap: 6px; }
.bl-h2-coin .sym { font-family: var(--mono); font-size: 11px; letter-spacing: .1em; color: var(--dim); text-transform: uppercase; }
.bl-h2-coin .px { font-size: clamp(15px,1.6vw,19px); font-weight: 700; color: var(--text); font-variant-numeric: tabular-nums; }
.bl-h2-coin .ch { font-family: var(--mono); font-size: 12px; font-weight: 600; }
.bl-h2-coin.is-mc { background: var(--panel); }
.bl-h2-coin.is-mc .sym { color: var(--emerald); }

/* ---- [01] modules: numbered card grid (was a table) ---- */
.bl-mod-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 14px; }
.bl-mod {
  border: 1px solid var(--line); background: var(--panel);
  padding: 18px 16px 20px; display: flex; flex-direction: column; gap: 10px; min-height: 190px;
  position: relative; transition: border-color .16s ease, transform .16s ease;
}
.bl-mod:hover { border-color: var(--emerald-line, rgba(22,179,120,.4)); transform: translateY(-3px); }
.bl-mod-no { font-family: var(--mono); font-size: 11px; letter-spacing: .14em; color: var(--faint); }
.bl-mod-nm { font-family: var(--font); font-weight: 700; font-size: 19px; color: var(--text); }
.bl-mod-d { font-size: 13px; line-height: 1.55; color: var(--dim); flex: 1; }
.bl-mod-s { font-family: var(--mono); font-size: 10px; letter-spacing: .12em; text-transform: uppercase; align-self: flex-start; padding: 4px 8px; border: 1px solid var(--line-2); color: var(--emerald); }
.bl-mod-s.is-off { color: var(--faint); }

/* ---- [03] capabilities: horizontal rows with big left numerals (was 2x2) ---- */
.bl-cap-list { border-top: 1px solid var(--line); }
.bl-cap {
  display: grid; grid-template-columns: clamp(64px,8vw,120px) 1fr auto; gap: clamp(16px,3vw,40px);
  align-items: center; padding: clamp(20px,2.6vw,32px) 4px; border-bottom: 1px solid var(--line);
}
.bl-cap-no { font-family: var(--font); font-weight: 800; font-size: clamp(34px,4.6vw,60px); line-height: 1; color: transparent; -webkit-text-stroke: 1px var(--line-2); }
.bl-cap-main h3 { font-family: var(--font); font-weight: 700; font-size: clamp(17px,2vw,22px); margin: 0 0 5px; color: var(--text); }
.bl-cap-main p { font-size: 14px; line-height: 1.6; color: var(--dim); max-width: 62ch; }
.bl-cap-tag { font-family: var(--mono); font-size: 10.5px; letter-spacing: .12em; text-transform: uppercase; color: var(--emerald); white-space: nowrap; }

/* ---- ABOUT v2: full-width hero + Q/A stack ---- */
.bl-ax-hero { border-bottom: 1px solid var(--line); background: linear-gradient(180deg, var(--bg-2), var(--bg)); }
.bl-ax-hero-in { max-width: var(--wrap); margin: 0 auto; padding: clamp(48px,6vw,88px) 24px clamp(34px,4vw,56px); }
.bl-ax-kick { font-family: var(--mono); font-size: 12px; letter-spacing: .2em; text-transform: uppercase; color: var(--emerald); display: block; margin-bottom: 18px; }
.bl-ax-h1 { font-family: var(--font); font-weight: 800; font-size: clamp(38px,6.4vw,80px); line-height: .96; letter-spacing: -.03em; margin: 0; max-width: 20ch; }
.bl-ax-h1 em { font-style: normal; color: var(--emerald); }
.bl-ax-lead { font-size: clamp(15px,1.8vw,19px); line-height: 1.7; color: var(--dim); max-width: 62ch; margin: 22px 0 0; }
.bl-ax-strip { display: flex; flex-wrap: wrap; gap: 0; margin-top: clamp(28px,3.4vw,40px); border-top: 1px solid var(--line); }
.bl-ax-strip > div { flex: 1 1 190px; padding: 16px 18px 14px 0; border-right: 1px solid var(--line); }
.bl-ax-strip > div:last-child { border-right: 0; }
.bl-ax-strip .k { display: block; font-family: var(--mono); font-size: 10.5px; letter-spacing: .14em; text-transform: uppercase; color: var(--faint); margin-bottom: 6px; }
.bl-ax-strip .v { font-size: 15px; color: var(--text); }

.bl-ax-qa { display: grid; gap: 0; border-top: 1px solid var(--line); margin-top: 8px; }
.bl-ax-q {
  display: grid; grid-template-columns: clamp(70px,8vw,132px) 1fr; gap: clamp(18px,3vw,44px);
  padding: clamp(26px,3.2vw,44px) 4px; border-bottom: 1px solid var(--line); align-items: start;
}
.bl-ax-q-no { font-family: var(--font); font-weight: 800; font-size: clamp(30px,4vw,52px); line-height: .9; color: var(--emerald); }
.bl-ax-q-body h3 { font-family: var(--font); font-weight: 700; font-size: clamp(19px,2.4vw,26px); margin: 0 0 12px; color: var(--text); }
.bl-ax-q-body p { font-size: 15px; line-height: 1.72; color: var(--dim); margin: 0 0 12px; max-width: 74ch; }
.bl-ax-q-body p:last-child { margin-bottom: 0; }

@media (max-width: 900px) {
  .bl-h2-grid { grid-template-columns: 1fr; align-items: start; }
  .bl-h2-board-in { grid-template-columns: repeat(2, 1fr); }
  .bl-mod-grid { grid-template-columns: repeat(2, 1fr); }
  .bl-cap { grid-template-columns: auto 1fr; }
  .bl-cap-tag { grid-column: 2; justify-self: start; margin-top: 4px; }
  .bl-ax-q { grid-template-columns: 1fr; gap: 10px; }
}
@media (max-width: 560px) {
  .bl-h2-board-in { grid-template-columns: 1fr; }
  .bl-mod-grid { grid-template-columns: 1fr; }
  .bl-ax-strip > div { flex: 1 1 100%; border-right: 0; border-bottom: 1px solid var(--line); padding-right: 0; }
}


/* === VARIANT: SWISS — white minimal, crimson accent, sharp === */
body::before { background:
  radial-gradient(900px 420px at 50% -12%, rgba(224,18,43,0.05), transparent 60%); }
.bl-tape { background:var(--bg-2); border-bottom:1px solid var(--line); }
.bl-footer { background:var(--bg-2); }
.bl-disclosure { background:var(--bg-2); }
.bl-cta { background:#0b0d11; }
.bl-cta-copy h2, .bl-cta-copy p, .bl-cta .bl-mlabel { color:#ffffff; }
.bl-cta-copy p { color:#c4c9d2; }
.bl-cta-copy h2 em { color:var(--cyan); }
.bl-cta-coord { color:#2a2f3a; }
.bl-cmodal { background: rgba(11,13,17,0.5); }
.bl-btn-solid, .bl-csubmit, .bl-tl-tag.is-next { color:#fff; }
.bl-nav-app { color:#fff !important; }
.bl-btn { border-radius:2px; font-weight:600; }
.bl-head-main h2, .bl-h2-title, .bl-ax-h1, .bl-cap-main h3, .bl-doc-h1, .bl-legal h1 {
  letter-spacing:-0.04em; font-weight:800; }
/* red square accent before section index */
.bl-head-idx { position:relative; padding-left:16px; }
.bl-head-idx::before { content:''; position:absolute; left:0; top:4px; width:9px; height:9px; background:var(--azure); }
.bl-cap-no, .bl-ax-q-no { -webkit-text-stroke:1px var(--azure); color:transparent; }
.bl-mod { border-width:1px; }
.bl-mod-s { border-radius:2px; }
.bl-h2-coin.is-mc .sym { color:var(--azure); }

