/**
 * Beyond Volatility — Inner pages v6.0 "Structured Swiss" (sections)
 * ===================================================================
 * Section styles for Tools, About, Contact, Toolkit, Referrals, legal.
 * Depends on swiss-core.css. One cacheable sheet for all inner pages.
 * All colors via --sw-* tokens: light + dark automatic.
 *
 * TOC
 *   1. Tools — sticky category nav
 *   2. Tools — platform case files
 *   3. Tools — outro
 *   4. About — story, credentials, ledger timeline, domains
 *   5. Contact — form + aside
 *   6. Toolkit — stack groups
 *   7. Legal — document pages
 *   8. Referrals — offers page
 *   9. Shared blocks (CTA band)
 *  10. Responsive & motion
 */

/* ============================================================
   1. TOOLS — STICKY CATEGORY NAV
   ============================================================ */
.bv-sw-toolnav {
    position: sticky;
    top: 0;
    z-index: 50;
    background: var(--sw-canvas);
    border-bottom: 1px solid var(--sw-line);
}
/* Sticky bar vs wp-admin bar (v6 audit) */
body.admin-bar .bv-sw-toolnav { top: 32px; }
@media (max-width: 782px) {
    body.admin-bar .bv-sw-toolnav { top: 46px; }
}
/* Anchor jumps land below the stuck bar */
[data-tools-cat] { scroll-margin-top: 64px; }
body.admin-bar [data-tools-cat] { scroll-margin-top: 96px; }
.bv-sw-toolnav-row {
    display: flex;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}
.bv-sw-toolnav .bv-toolsv4-nav-link {
    font-family: var(--sw-mono);
    font-size: 0.68rem;
    font-weight: 500;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    text-decoration: none;
    color: var(--sw-graphite);
    padding: 14px 20px;
    border-right: 1px solid var(--sw-line);
    white-space: nowrap;
    border-bottom: 2px solid transparent;
    transition: color 0.15s var(--sw-ease), border-color 0.15s var(--sw-ease);
}
.bv-sw-toolnav .bv-toolsv4-nav-link:first-child { border-left: 1px solid var(--sw-line); }
.bv-sw-toolnav .bv-toolsv4-nav-link:hover { color: var(--sw-ink); }
.bv-sw-toolnav .bv-toolsv4-nav-link.is-active {
    color: var(--sw-ink);
    border-bottom-color: var(--sw-accent);
}

/* ============================================================
   2. TOOLS — PLATFORM CASE FILES
   ============================================================ */
.bv-sw-case {
    display: grid;
    grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
    gap: clamp(24px, 3.5vw, 52px);
    align-items: start;
    background: var(--sw-canvas);
    border: 1px solid var(--sw-line);
    padding: clamp(22px, 3vw, 36px);
    margin: 0 0 clamp(24px, 4vh, 40px);
    transition: transform 0.3s var(--sw-ease), box-shadow 0.3s var(--sw-ease), border-color 0.3s var(--sw-ease);
}
.bv-sw-case:first-of-type { margin-top: clamp(28px, 4vh, 44px); }
.bv-sw-case:hover {
    transform: translateY(-4px);
    box-shadow: var(--sw-lift-shadow);
    border-color: var(--sw-graphite);
}
.bv-sw-case.is-flip .bv-sw-case-media { order: 2; }
.bv-sw-case.is-flip .bv-sw-case-body  { order: 1; }
.bv-sw-case.is-featured { border-top: 2px solid var(--sw-accent); }

.bv-sw-case-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 14px;
}
.bv-sw-case-name {
    font-family: var(--sw-display);
    font-weight: 500;
    font-size: clamp(1.6rem, 2.8vw, 2.1rem);
    line-height: 1.08;
    letter-spacing: -0.02em;
    margin: 0 0 12px;
}
.bv-sw-case-desc {
    font-family: var(--sw-body);
    font-weight: 300;
    font-size: 0.96rem;
    line-height: 1.65;
    color: var(--sw-graphite);
    margin: 0 0 18px;
    max-width: 60ch;
}

/* Feature list — quiet Inter rows with hairline dividers (case files). */
.bv-sw-feats {
    list-style: none;
    margin: 0 0 18px;
    padding: 0;
}
.bv-sw-feats li {
    font-family: var(--sw-body);
    font-weight: 300;
    font-size: 0.9rem;
    line-height: 1.5;
    color: var(--sw-graphite);
    padding: 9px 0 9px 18px;
    border-bottom: 1px solid var(--sw-line);
    position: relative;
}
.bv-sw-feats li:last-child { border-bottom: 0; }
.bv-sw-feats li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 1.05em;
    width: 8px;
    height: 1px;
    background: var(--sw-accent);
}

/* ============================================================
   3. TOOLS — OUTRO
   ============================================================ */
.bv-sw-outro-quote {
    margin: 0 0 clamp(40px, 7vh, 72px);
    padding: 0 0 0 24px;
    border: 0;
    border-left: 2px solid var(--sw-accent);
    max-width: 52ch;
}
.bv-sw-outro-quote p {
    font-family: var(--sw-display);
    font-weight: 400;
    font-size: clamp(1.2rem, 2.2vw, 1.6rem);
    line-height: 1.4;
    letter-spacing: -0.01em;
    color: var(--sw-ink);
    margin: 0;
}
.bv-sw-outro-quote a { color: var(--sw-accent); text-decoration: underline; text-underline-offset: 4px; text-decoration-thickness: 1px; }

/* ============================================================
   4. ABOUT — STORY, CREDENTIALS, LEDGER, DOMAINS
   ============================================================ */
.bv-sw-story-grid {
    display: grid;
    grid-template-columns: minmax(0, 7fr) minmax(0, 4fr);
    gap: clamp(28px, 4vw, 72px);
    align-items: start;
}
.bv-sw-story p {
    font-family: var(--sw-body);
    font-weight: 300;
    font-size: 1.04rem;
    line-height: 1.75;
    color: var(--sw-graphite);
    margin: 0 0 1.3em;
    max-width: 62ch;
}
.bv-sw-story p strong { color: var(--sw-ink); font-weight: 500; }

/* Credentials card */
.bv-sw-cred {
    background: var(--sw-canvas);
    border: 1px solid var(--sw-line);
    transition: transform 0.3s var(--sw-ease), box-shadow 0.3s var(--sw-ease), border-color 0.3s var(--sw-ease);
}
.bv-sw-cred:hover {
    transform: translateY(-4px);
    box-shadow: var(--sw-lift-shadow);
    border-color: var(--sw-graphite);
}
.bv-sw-cred .bv-sw-figure { border: 0; border-bottom: 1px solid var(--sw-line); }
.bv-sw-cred-body { padding: 22px 24px 24px; }
.bv-sw-cred-body h3 {
    font-family: var(--sw-display);
    font-weight: 500;
    font-size: 1.4rem;
    letter-spacing: -0.015em;
    margin: 0 0 2px;
}
.bv-sw-cred-role {
    font-family: var(--sw-mono);
    font-size: 0.64rem;
    font-weight: 500;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--sw-accent);
    margin: 0 0 14px;
}
.bv-sw-cred-bio {
    font-family: var(--sw-body);
    font-weight: 300;
    font-size: 0.9rem;
    line-height: 1.6;
    color: var(--sw-graphite);
    margin: 0 0 18px;
}
.bv-sw-cred-badges { display: flex; flex-wrap: wrap; gap: 8px; }

/* Ledger timeline — annual-report register */
.bv-sw-ledger {
    list-style: none;
    margin: clamp(24px, 4vh, 40px) 0 0;
    padding: 0;
    border-top: 1px solid var(--sw-ink);
}
.bv-sw-ledger li {
    display: grid;
    grid-template-columns: 88px minmax(0, 240px) minmax(0, 1fr);
    gap: 8px 24px;
    padding: 18px 4px;
    border-bottom: 1px solid var(--sw-line);
    align-items: baseline;
}
.bv-sw-ledger .yr {
    font-family: var(--sw-mono);
    font-size: 0.82rem;
    font-weight: 500;
    color: var(--sw-graphite);
}
.bv-sw-ledger .evt {
    font-family: var(--sw-display);
    font-weight: 500;
    font-size: 1.02rem;
    letter-spacing: -0.01em;
    color: var(--sw-ink);
}
.bv-sw-ledger .txt {
    font-family: var(--sw-body);
    font-weight: 300;
    font-size: 0.92rem;
    line-height: 1.6;
    color: var(--sw-graphite);
}
.bv-sw-ledger li.is-now { background: var(--sw-surface); }
.bv-sw-ledger li.is-now .yr { color: var(--sw-accent); }
.bv-sw-ledger li.is-now .evt::after {
    content: ' — current';
    font-family: var(--sw-mono);
    font-size: 0.66rem;
    font-weight: 500;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--sw-accent);
}

/* Domain cards (What I build) */
.bv-sw-domains {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(18px, 2.5vw, 28px);
    margin-top: clamp(24px, 4vh, 40px);
}
.bv-sw-domain {
    background: var(--sw-canvas);
    border: 1px solid var(--sw-line);
    padding: 22px 24px;
    transition: transform 0.3s var(--sw-ease), box-shadow 0.3s var(--sw-ease), border-color 0.3s var(--sw-ease);
}
.bv-sw-domain:hover {
    transform: translateY(-4px);
    box-shadow: var(--sw-lift-shadow);
    border-color: var(--sw-graphite);
}
.bv-sw-domain .num {
    font-family: var(--sw-mono);
    font-size: 0.66rem;
    font-weight: 500;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--sw-accent);
}
.bv-sw-domain h3 {
    font-family: var(--sw-display);
    font-weight: 500;
    font-size: 1.2rem;
    letter-spacing: -0.01em;
    margin: 8px 0 8px;
    color: var(--sw-ink);
}
.bv-sw-domain p {
    font-family: var(--sw-body);
    font-weight: 300;
    font-size: 0.9rem;
    line-height: 1.6;
    color: var(--sw-graphite);
    margin: 0;
}

/* ============================================================
   5. CONTACT — FORM + ASIDE
   ============================================================ */
.bv-sw-contact-grid {
    display: grid;
    grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
    gap: clamp(24px, 4vw, 56px);
    align-items: start;
}
.bv-sw-contact-form {
    background: var(--sw-canvas);
    border: 1px solid var(--sw-line);
    padding: clamp(24px, 3vw, 38px);
}
/* Flatten whatever form plugin renders inside — colors/borders only. */
.bv-sw-contact-form input[type='text'],
.bv-sw-contact-form input[type='email'],
.bv-sw-contact-form input[type='tel'],
.bv-sw-contact-form textarea,
.bv-sw-contact-form select {
    border: 1px solid var(--sw-line-strong) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: var(--sw-canvas) !important;
    color: var(--sw-ink) !important;
    font-family: var(--sw-body) !important;
    font-size: 0.95rem !important;
}
.bv-sw-contact-form input:focus,
.bv-sw-contact-form textarea:focus,
.bv-sw-contact-form select:focus {
    border-color: var(--sw-accent) !important;
}
.bv-sw-contact-form button[type='submit'],
.bv-sw-contact-form input[type='submit'] {
    font-family: var(--sw-display) !important;
    font-weight: 500 !important;
    letter-spacing: 0.04em !important;
    text-transform: uppercase !important;
    background: var(--sw-ink) !important;
    color: var(--sw-canvas) !important;
    border: 1px solid var(--sw-ink) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}
.bv-sw-contact-form button[type='submit']:hover,
.bv-sw-contact-form input[type='submit']:hover {
    background: var(--sw-accent) !important;
    border-color: var(--sw-accent) !important;
    color: var(--sw-on-accent) !important;
}
.bv-sw-contact-aside > div {
    border: 1px solid var(--sw-line);
    background: var(--sw-canvas);
    padding: 20px 22px;
    margin-bottom: 18px;
}
.bv-sw-contact-aside h3 {
    font-family: var(--sw-mono);
    font-size: 0.66rem;
    font-weight: 500;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--sw-accent);
    margin: 0 0 10px;
}
.bv-sw-contact-aside p,
.bv-sw-contact-aside li {
    font-family: var(--sw-body);
    font-weight: 300;
    font-size: 0.9rem;
    line-height: 1.65;
    color: var(--sw-graphite);
}
.bv-sw-contact-aside ul { margin: 0; padding-left: 1.2em; }

/* ============================================================
   6. TOOLKIT — STACK GROUPS
   ============================================================ */
.bv-sw-stackgroup { margin-bottom: clamp(32px, 5vh, 56px); }
.bv-sw-stackgroup-title {
    font-family: var(--sw-mono);
    font-size: 0.7rem;
    font-weight: 500;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--sw-ink);
    border-bottom: 1px solid var(--sw-ink);
    padding-bottom: 10px;
    margin: 0 0 20px;
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 12px;
}
.bv-sw-stackgroup-title .n { color: var(--sw-accent); }
.bv-sw-stackgrid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: 16px;
}
.bv-sw-stackcard {
    background: var(--sw-canvas);
    border: 1px solid var(--sw-line);
    padding: 16px 18px;
    transition: transform 0.3s var(--sw-ease), box-shadow 0.3s var(--sw-ease), border-color 0.3s var(--sw-ease);
}
.bv-sw-stackcard:hover {
    transform: translateY(-4px);
    box-shadow: var(--sw-lift-shadow);
    border-color: var(--sw-graphite);
}
.bv-sw-stackcard .role {
    font-family: var(--sw-mono);
    font-size: 0.6rem;
    font-weight: 500;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--sw-accent);
}
.bv-sw-stackcard h4 {
    font-family: var(--sw-display);
    font-weight: 500;
    font-size: 1.05rem;
    letter-spacing: -0.01em;
    margin: 6px 0 6px;
    color: var(--sw-ink);
}
.bv-sw-stackcard p {
    font-family: var(--sw-body);
    font-weight: 300;
    font-size: 0.82rem;
    line-height: 1.55;
    color: var(--sw-graphite);
    margin: 0;
}

/* Philosophy note */
.bv-sw-philosophy {
    border-left: 2px solid var(--sw-accent);
    padding: 4px 0 4px 24px;
    max-width: 720px;
}
.bv-sw-philosophy .lbl {
    display: block;
    font-family: var(--sw-mono);
    font-size: 0.66rem;
    font-weight: 500;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--sw-accent);
    margin-bottom: 10px;
}
.bv-sw-philosophy p {
    font-family: var(--sw-display);
    font-weight: 400;
    font-size: 1.12rem;
    line-height: 1.55;
    color: var(--sw-ink);
    margin: 0;
}

/* ============================================================
   7. LEGAL — DOCUMENT PAGES
   ============================================================ */
.bv-sw-doc-stamp {
    display: inline-block;
    font-family: var(--sw-mono);
    font-size: 0.66rem;
    font-weight: 500;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    border: 1px solid var(--sw-line);
    padding: 7px 14px;
    background: var(--sw-surface);
    color: var(--sw-graphite);
    margin-bottom: clamp(24px, 4vh, 40px);
}
.bv-sw-doc-stamp .ac { color: var(--sw-accent); }
.bv-sw-disclaimer {
    border: 1px solid var(--sw-line);
    border-left: 2px solid var(--sw-accent);
    background: var(--sw-surface);
    padding: 20px 24px;
    margin: 0 0 clamp(28px, 4vh, 44px);
    max-width: 74ch;
}
.bv-sw-disclaimer h2 {
    font-family: var(--sw-mono);
    font-size: 0.72rem;
    font-weight: 500;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--sw-ink);
    margin: 0 0 10px;
    border: 0;
    padding: 0;
}
.bv-sw-disclaimer p {
    font-family: var(--sw-body);
    font-weight: 300;
    font-size: 0.92rem;
    line-height: 1.65;
    color: var(--sw-graphite);
    margin: 0;
}
.bv-sw-doc-contact {
    border: 1px solid var(--sw-line);
    background: var(--sw-surface);
    padding: 22px 26px;
    margin-top: clamp(28px, 4vh, 44px);
    max-width: 74ch;
    font-family: var(--sw-body);
    font-weight: 300;
    font-size: 0.95rem;
    line-height: 1.7;
    color: var(--sw-graphite);
}
.bv-sw-doc-contact h3 {
    font-family: var(--sw-display);
    font-weight: 500;
    color: var(--sw-ink);
    margin: 0 0 8px;
}
.bv-sw-doc-contact a { color: var(--sw-accent); text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }

/* ============================================================
   8. REFERRALS — OFFERS PAGE
   ============================================================ */
.bv-sw-offers-how {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(16px, 2.5vw, 28px);
    counter-reset: bv-sw-step;
    list-style: none;
    margin: clamp(24px, 4vh, 40px) 0 0;
    padding: 0;
}
.bv-sw-offers-how li {
    border-top: 1px solid var(--sw-ink);
    padding-top: 14px;
    counter-increment: bv-sw-step;
}
.bv-sw-offers-how li::before {
    content: counter(bv-sw-step, decimal-leading-zero);
    display: block;
    font-family: var(--sw-mono);
    font-size: 0.72rem;
    font-weight: 500;
    color: var(--sw-accent);
    margin-bottom: 8px;
}
.bv-sw-offers-how h3 {
    font-family: var(--sw-display);
    font-weight: 500;
    font-size: 1.05rem;
    margin: 0 0 6px;
    color: var(--sw-ink);
}
.bv-sw-offers-how p {
    font-family: var(--sw-body);
    font-weight: 300;
    font-size: 0.88rem;
    line-height: 1.6;
    color: var(--sw-graphite);
    margin: 0;
}
/* FAQ accordion */
.bv-sw-faq { max-width: 780px; }
.bv-sw-faq details {
    border-bottom: 1px solid var(--sw-line);
}
.bv-sw-faq details:first-of-type { border-top: 1px solid var(--sw-ink); }
.bv-sw-faq summary {
    font-family: var(--sw-display);
    font-weight: 500;
    font-size: 1.02rem;
    color: var(--sw-ink);
    padding: 18px 4px;
    cursor: pointer;
    list-style: none;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
}
.bv-sw-faq summary::-webkit-details-marker { display: none; }
.bv-sw-faq summary::after {
    content: '+';
    font-family: var(--sw-mono);
    color: var(--sw-accent);
    flex-shrink: 0;
}
.bv-sw-faq details[open] summary::after { content: '\2212'; }
.bv-sw-faq details > div {
    font-family: var(--sw-body);
    font-weight: 300;
    font-size: 0.94rem;
    line-height: 1.7;
    color: var(--sw-graphite);
    padding: 0 4px 20px;
    max-width: 66ch;
}

/* ============================================================
   9. SHARED BLOCKS
   ============================================================ */
.bv-sw-cta-band {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    border: 1px solid var(--sw-line);
    background: var(--sw-canvas);
    padding: clamp(24px, 3vw, 38px);
}
.bv-sw-cta-band h3 {
    font-family: var(--sw-display);
    font-weight: 500;
    font-size: clamp(1.25rem, 2.2vw, 1.7rem);
    letter-spacing: -0.015em;
    margin: 0;
    color: var(--sw-ink);
}
.bv-sw-cta-band .btns { display: flex; flex-wrap: wrap; gap: 12px; }

/* ============================================================
   10. RESPONSIVE & MOTION
   ============================================================ */
@media (max-width: 900px) {
    .bv-sw-case,
    .bv-sw-story-grid,
    .bv-sw-contact-grid { grid-template-columns: 1fr; }
    .bv-sw-case.is-flip .bv-sw-case-media { order: 0; }
    .bv-sw-case.is-flip .bv-sw-case-body  { order: 0; }
    .bv-sw-domains { grid-template-columns: 1fr; }
    .bv-sw-offers-how { grid-template-columns: 1fr; }
    .bv-sw-ledger li { grid-template-columns: 64px 1fr; }
    .bv-sw-ledger .txt { grid-column: 2; }
}

@media (prefers-reduced-motion: reduce) {
    .bv-sw-case,
    .bv-sw-cred,
    .bv-sw-domain,
    .bv-sw-stackcard,
    .bv-sw-toolnav .bv-toolsv4-nav-link { transition: none; }
    .bv-sw-case:hover,
    .bv-sw-cred:hover,
    .bv-sw-domain:hover,
    .bv-sw-stackcard:hover { transform: none; box-shadow: none; }
}
