/* =============================================
   ACCELERATOR PAGE — TOKENS
   ============================================= */
:root {
    color-scheme: light only;
    --acc-black: #0a0a0a;
    --acc-white: #ffffff;
    --acc-light: #f7f7f7;
    --acc-gray-50: #f9fafb;
    --acc-gray-100: #f3f4f6;
    --acc-gray-200: #e5e7eb;
    --acc-gray-400: #9ca3af;
    --acc-gray-500: #6b7280;
    --acc-gray-600: #4b5563;
    --acc-gray-700: #374151;
}

main section[id] { scroll-margin-top: 100px; }

.hdr-accel.acc-nav-active { background: #000; color: #fff; }
.hdr-accel.acc-nav-active:hover { background: #262626; color: #fff; }

main :is(h1, h2, h3) { font-family: 'Barlow', 'Helvetica Neue', Arial, sans-serif; }
main p, main span, main dd, main li { font-family: 'Inter', 'Helvetica Neue', Arial, sans-serif; }

.acc-sr-only {
    position: absolute;
    width: 1px; height: 1px;
    padding: 0; margin: -1px;
    overflow: hidden;
    clip: rect(0,0,0,0);
    white-space: nowrap;
    border: 0;
}

/* =============================================
   HERO
   ============================================= */
.acc-hero {
    position: relative;
    background: var(--acc-white);
    overflow: hidden;
    padding-top: 40px;
}
.acc-hero-pattern {
    position: absolute;
    inset: 0;
    opacity: .5;
    background-image: radial-gradient(#e5e7eb 1px, transparent 1px);
    background-size: 22px 22px;
    pointer-events: none;
}
.acc-hero-inner { position: relative; padding: 64px 0 96px; }
.acc-hero-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 64px;
    align-items: center;
}

.acc-eyebrow {
    font-size: 12px;
    letter-spacing: .15em;
    text-transform: uppercase;
    color: var(--acc-gray-500);
    font-weight: 500;
}

.acc-h1 {
    margin-top: 22px;
    font-size: clamp(2.4rem, 4.6vw, 3.75rem);
    font-weight: 700;
    letter-spacing: -.01em;
    line-height: 1.05;
    color: var(--acc-black);
}

.acc-lead {
    margin-top: 38px;
    font-size: 18px;
    font-weight: 300;
    line-height: 1.75;
    color: var(--acc-gray-700);
    max-width: 560px;
}

.acc-callout {
    margin-top: 38px;
    border-left: 2px solid var(--acc-black);
    padding-left: 24px;
}
.acc-callout-amount {
    margin-top: 10px;
    font-size: clamp(2.4rem, 5vw, 4.25rem);
    font-weight: 700;
    letter-spacing: -.02em;
    color: var(--acc-black);
    line-height: 1.05;
}
.acc-callout-desc {
    margin-top: 14px;
    font-size: 15px;
    line-height: 1.75;
    color: var(--acc-gray-600);
    max-width: 560px;
}

.acc-cta-row { margin-top: 38px; display: flex; flex-wrap: wrap; gap: 14px; }
.acc-btn-black,
.acc-btn-outline {
    display: inline-block;
    padding: 16px 30px;
    font-family: 'Barlow', sans-serif;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    font-size: 12px;
    text-align: center;
    text-decoration: none;
    transition: background .2s, color .2s, border-color .2s;
}
.acc-btn-black {
    background: var(--acc-black);
    color: var(--acc-white);
    border: 1px solid var(--acc-black);
}
.acc-btn-black:hover { background: #262626; border-color: #262626; }
.acc-btn-outline {
    background: transparent;
    color: var(--acc-black);
    border: 1px solid var(--acc-black);
}
.acc-btn-outline:hover { background: var(--acc-gray-50); }

.acc-microcopy { margin-top: 14px; font-size: 12px; color: var(--acc-gray-500); }

.acc-stats {
    margin-top: 44px;
    padding-top: 30px;
    border-top: 1px solid var(--acc-gray-200);
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 28px;
}
.acc-stat-val {
    display: block;
    font-size: 22px;
    font-weight: 700;
    letter-spacing: -.02em;
    color: var(--acc-black);
    line-height: 1;
}
.acc-stat-label {
    display: block;
    margin-top: 8px;
    font-size: 10px;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--acc-gray-500);
}

.acc-hero-img {
    aspect-ratio: 4 / 5;
    border: 1px solid var(--acc-gray-200);
    overflow: hidden;
}
.acc-hero-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: grayscale(100%);
}

/* =============================================
   CAPABILITIES MARQUEE
   ============================================= */
.acc-marquee-section {
    background: var(--acc-black);
    color: var(--acc-white);
    padding: 24px 0;
    border-top: 1px solid #262626;
    border-bottom: 1px solid #262626;
    overflow: hidden;
}
.acc-marquee-viewport { overflow: hidden; }
.acc-marquee-track {
    display: flex;
    align-items: center;
    width: max-content;
    animation: acc-scroll 38s linear infinite;
}
.acc-marquee-track li {
    display: flex;
    align-items: center;
    flex-shrink: 0;
}
.acc-marquee-track span:not(.acc-dot) {
    font-family: 'Barlow', sans-serif;
    font-size: 14px;
    letter-spacing: .12em;
    text-transform: uppercase;
    font-weight: 500;
    white-space: nowrap;
}
.acc-dot {
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: #4b5563;
    margin: 0 32px;
    flex-shrink: 0;
}
@keyframes acc-scroll {
    from { transform: translateX(0); }
    to   { transform: translateX(-50%); }
}
@media (prefers-reduced-motion: reduce) {
    .acc-marquee-track { animation: none; }
}

/* =============================================
   SHARED SECTION
   ============================================= */
.acc-section { background: var(--acc-white); padding: 96px 0; }
.acc-section-light { background: var(--acc-light); }

.acc-section-title { max-width: 760px; margin: 0 auto 52px; text-align: center; }
.acc-section-title-left { margin: 0 0 40px; text-align: left; max-width: 760px; }
.acc-section-title h2 {
    font-size: clamp(1.9rem, 3.6vw, 2.75rem);
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
    color: var(--acc-black);
    margin-bottom: 18px;
}
.acc-section-title p { font-size: 17px; color: var(--acc-gray-600); line-height: 1.75; }

/* =============================================
   COMPARISON TABLE
   ============================================= */
.acc-compare {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1px;
    background: var(--acc-gray-200);
    border: 1px solid var(--acc-gray-200);
}
.acc-compare-head { padding: 24px 28px; }
.acc-compare-head-no { background: var(--acc-gray-50); }
.acc-compare-head-yes { background: var(--acc-white); }
.acc-compare-head h3 {
    font-size: 16px;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
}
.acc-compare-head-no h3 { color: var(--acc-gray-500); }
.acc-compare-head-yes h3 { color: var(--acc-black); }

.acc-compare-cell {
    padding: 24px 28px;
    display: flex;
    gap: 14px;
}
.acc-compare-cell svg { width: 20px; height: 20px; flex-shrink: 0; margin-top: 3px; }
.acc-compare-cell span { line-height: 1.7; }
.acc-compare-no { background: var(--acc-gray-50); color: var(--acc-gray-500); }
.acc-compare-no svg { color: var(--acc-gray-400); }
.acc-compare-yes { background: var(--acc-white); color: var(--acc-black); }
.acc-compare-yes svg { color: var(--acc-black); }
.acc-strong { font-weight: 700; }

.acc-closing-line {
    margin-top: 44px;
    text-align: center;
    font-size: 17px;
    color: var(--acc-gray-600);
    max-width: 680px;
    margin-left: auto;
    margin-right: auto;
    line-height: 1.75;
}

/* =============================================
   TEAM GRID
   ============================================= */
.acc-team-grid-wrap {
    display: grid;
    grid-template-columns: 5fr 7fr;
    gap: 56px;
    align-items: start;
}
.acc-team-intro h2 {
    font-size: clamp(1.9rem, 3.6vw, 2.75rem);
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
    color: var(--acc-black);
    margin-bottom: 18px;
}
.acc-lead-alt { font-size: 19px; font-weight: 300; line-height: 1.75; color: var(--acc-gray-700); }

.acc-team-list > .acc-eyebrow { display: block; margin-bottom: 22px; }
.acc-team-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1px;
    background: var(--acc-gray-200);
    border: 1px solid var(--acc-gray-200);
}
.acc-team-grid li {
    background: var(--acc-white);
    aspect-ratio: 1 / 1;
    padding: 18px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.acc-team-top { display: flex; align-items: flex-start; justify-content: space-between; }
.acc-team-num {
    font-size: 26px;
    font-weight: 700;
    letter-spacing: -.03em;
    color: var(--acc-gray-200);
    line-height: 1;
}
.acc-team-top svg { width: 19px; height: 19px; color: var(--acc-black); }
.acc-team-label {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--acc-black);
}
.acc-team-final {
    background: var(--acc-black) !important;
    justify-content: flex-start !important;
    gap: 14px;
}
.acc-team-final svg { width: 24px; height: 24px; color: var(--acc-white); }
.acc-team-final .acc-team-label { color: var(--acc-white); letter-spacing: .1em; }

/* =============================================
   INVESTMENT LADDER + TIERS
   ============================================= */
.acc-ladder { margin-top: 44px; }
.acc-ladder svg { width: 100%; height: auto; display: block; }

.acc-tier-grid {
    margin-top: 40px;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1px;
    background: var(--acc-gray-200);
    border: 1px solid var(--acc-gray-200);
}
.acc-tier-card { background: var(--acc-white); padding: 32px; }
.acc-tier-card h3 {
    margin-top: 12px;
    font-size: 17px;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--acc-black);
}
.acc-tier-price {
    margin-top: 16px;
    font-size: 24px;
    font-weight: 700;
    letter-spacing: -.02em;
    color: var(--acc-black);
}
.acc-tier-desc { margin-top: 16px; font-size: 14px; line-height: 1.7; color: var(--acc-gray-600); }

.acc-fine-print { margin-top: 20px; font-size: 13px; color: var(--acc-gray-500); max-width: 760px; line-height: 1.75; }

/* =============================================
   THREE WAYS TO PARTNER
   ============================================= */
.acc-model-grid {
    margin-top: 56px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1px;
    background: var(--acc-gray-200);
    border: 1px solid var(--acc-gray-200);
}
.acc-model-card {
    background: var(--acc-white);
    padding: 40px;
    display: flex;
    flex-direction: column;
}
.acc-model-dark { background: var(--acc-black); color: var(--acc-white); }
.acc-model-badge {
    align-self: flex-start;
    margin-bottom: 24px;
    padding: 5px 12px;
    border: 1px solid var(--acc-white);
    font-size: 11px;
    font-weight: 500;
    letter-spacing: .1em;
    text-transform: uppercase;
}
.acc-model-card h3 {
    font-size: 16px;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
}
.acc-model-dark h3 { color: var(--acc-white); }
.acc-model-card:not(.acc-model-dark) h3 { color: var(--acc-black); }

.acc-model-rows { margin-top: 32px; display: flex; flex-direction: column; gap: 20px; }
.acc-model-rows > div { padding-top: 16px; border-top: 1px solid var(--acc-gray-200); min-height: 76px; }
.acc-model-dark .acc-model-rows > div { border-top-color: #262626; }
.acc-model-rows dt {
    font-size: 11px;
    font-weight: 500;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--acc-gray-500);
}
.acc-model-dark .acc-model-rows dt { color: #9ca3af; }
.acc-model-rows dd { margin-top: 8px; font-size: 14px; font-weight: 500; }
.acc-model-dark .acc-model-rows dd { color: var(--acc-white); }
.acc-model-card:not(.acc-model-dark) .acc-model-rows dd { color: var(--acc-black); }

/* =============================================
   YOU EARN FROM THE FIRST SALE
   ============================================= */
.acc-section-bordered { border-top: 1px solid var(--acc-gray-200); border-bottom: 1px solid var(--acc-gray-200); }

.acc-earn-table-wrap { margin: 56px auto 0; max-width: 760px; overflow-x: auto; }
.acc-earn-table { width: 100%; border-collapse: collapse; border: 1px solid var(--acc-gray-200); }
.acc-earn-table th, .acc-earn-table td { padding: 16px; text-align: left; }
.acc-earn-table td { text-align: right; }
.acc-earn-table thead tr { background: var(--acc-gray-50); }
.acc-earn-table thead th {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--acc-gray-500);
}
.acc-earn-table tbody tr { border-top: 1px solid var(--acc-gray-200); }
.acc-earn-table tbody tr.acc-row-alt { background: #fafafa; }
.acc-earn-table tbody th { font-size: 14px; font-weight: 400; color: var(--acc-gray-700); }
.acc-earn-table .acc-strong { font-weight: 700; letter-spacing: -.01em; color: var(--acc-black); }

.acc-earn-grid {
    margin-top: 56px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}
.acc-earn-card {
    background: var(--acc-white);
    border: 1px solid var(--acc-gray-200);
    padding: 32px;
    transition: box-shadow .3s, transform .3s;
}
.acc-earn-card:hover { box-shadow: 0 20px 40px -20px rgba(0,0,0,.15); transform: translateY(-4px); }
.acc-earn-card h3 {
    font-size: 16px;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--acc-black);
}
.acc-earn-card p { margin-top: 16px; font-size: 15px; line-height: 1.75; color: var(--acc-gray-600); }

/* =============================================
   WHO OWNS WHAT (dark)
   ============================================= */
.acc-ownership-grid {
    margin-top: 56px;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1px;
    background: #262626;
    border: 1px solid #262626;
}
.acc-ownership-card { background: var(--acc-black); padding: 40px; }
.acc-ownership-card svg { width: 32px; height: 32px; color: var(--acc-white); }
.acc-ownership-card h3 {
    margin-top: 24px;
    font-size: 17px;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--acc-white);
}
.acc-ownership-card p { margin-top: 16px; font-size: 15px; line-height: 1.75; color: #9ca3af; }

/* =============================================
   BRAND CONCEPTS
   ============================================= */
.acc-concept-grid {
    margin-top: 56px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}
.acc-concept-card {
    position: relative;
    aspect-ratio: 3 / 4;
    overflow: hidden;
    border: 1px solid var(--acc-gray-200);
}
.acc-concept-card img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    /* filter: grayscale(100%); */
    transition: transform .7s ease;
}
.acc-concept-card:hover img { transform: scale(1.05); }
.acc-concept-overlay {
    position: absolute;
    inset: 0;
    background: rgba(10,10,10,.4);
    transition: background .3s ease;
}
.acc-concept-card:hover .acc-concept-overlay { background: rgba(10,10,10,.6); }
.acc-concept-copy {
    position: absolute;
    inset: 0;
    padding: 32px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
}
.acc-concept-desc {
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    margin-bottom: 0;
    font-size: 14px;
    line-height: 1.7;
    color: #e5e7eb;
    transition: max-height .3s ease, opacity .3s ease, margin-bottom .3s ease;
}
.acc-concept-card:hover .acc-concept-desc { max-height: 140px; opacity: 1; margin-bottom: 16px; }
.acc-concept-copy h3 {
    font-size: clamp(1.4rem, 2.6vw, 1.9rem);
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--acc-white);
}
.acc-concept-sub { margin-top: 8px; font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: #d1d5db; }

/* =============================================
   HOW THE PARTNERSHIP WORKS (timeline)
   ============================================= */
.acc-timeline {
    position: relative;
    margin-top: 80px;
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 24px;
    list-style: none;
}
.acc-timeline::before {
    content: '';
    position: absolute;
    top: 24px;
    left: 0;
    right: 0;
    height: 1px;
    background: var(--acc-gray-200);
}
.acc-timeline li { position: relative; z-index: 1; }
.acc-timeline-marker { display: flex; justify-content: center; }
.acc-timeline-num {
    width: 48px;
    height: 48px;
    flex-shrink: 0;
    border-radius: 50%;
    background: var(--acc-black);
    color: var(--acc-white);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .05em;
}
.acc-timeline-line { display: none; }
.acc-timeline-body { margin-top: 24px; text-align: center; }
.acc-timeline-body h3 {
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--acc-black);
}
.acc-timeline-body p { margin-top: 12px; font-size: 14px; line-height: 1.7; color: var(--acc-gray-600); }

.acc-timeline-stats {
    margin-top: 64px;
    padding-top: 32px;
    border-top: 1px solid var(--acc-gray-200);
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 32px;
}
.acc-timeline-stats dt { font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: var(--acc-gray-500); font-weight: 500; }
.acc-timeline-stats dd { margin-top: 8px; font-size: 24px; font-weight: 700; letter-spacing: -.02em; color: var(--acc-black); }

/* =============================================
   WHY WE INVEST
   ============================================= */
.acc-invest-body {
    margin: 32px auto 0;
    max-width: 760px;
    text-align: center;
    font-size: 17px;
    line-height: 1.8;
    color: var(--acc-gray-600);
}
.acc-loop-diagram { margin-top: 56px; }
.acc-loop-diagram svg { display: block; width: 100%; max-width: 560px; height: auto; margin: 0 auto; }

.acc-not-block { margin-top: 40px; padding-top: 40px; border-top: 1px solid var(--acc-gray-200); text-align: center; }
.acc-not-list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px;
    max-width: 700px;
    margin: 0 auto;
}
.acc-not-list li { font-size: 14px; color: var(--acc-gray-400); text-decoration: line-through; }
.acc-not-conclusion {
    margin-top: 32px;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--acc-black);
}

/* =============================================
   WHAT GETS BUILT
   ============================================= */
.acc-deliverable-grid {
    margin-top: 56px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 28px;
}
.acc-deliverable-card {
    background: var(--acc-white);
    border: 1px solid var(--acc-gray-200);
    display: flex;
    flex-direction: column;
    transition: box-shadow .3s, transform .3s;
}
.acc-deliverable-card:hover { box-shadow: 0 24px 48px -24px rgba(0,0,0,.2); transform: translateY(-4px); }
.acc-deliverable-media {
    aspect-ratio: 4 / 5;
    overflow: hidden;
    border-bottom: 1px solid var(--acc-gray-200);
}
.acc-deliverable-media img,
.acc-deliverable-media svg {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .7s ease;
}
.acc-deliverable-card:hover .acc-deliverable-media img,
.acc-deliverable-card:hover .acc-deliverable-media svg { transform: scale(1.05); }
.acc-deliverable-body { padding: 32px; flex: 1; }
.acc-deliverable-body h3 {
    font-size: 16px;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--acc-black);
}
.acc-deliverable-body ul { margin-top: 24px; display: flex; flex-direction: column; gap: 16px; }
.acc-deliverable-body li {
    padding-top: 16px;
    border-top: 1px solid var(--acc-gray-100);
    display: flex;
    align-items: center;
    gap: 12px;
}
.acc-deliverable-body li svg { width: 16px; height: 16px; flex-shrink: 0; color: var(--acc-gray-400); }
.acc-deliverable-body li span { font-size: 14px; color: var(--acc-gray-600); }

/* =============================================
   WHO THIS IS FOR
   ============================================= */
.acc-audience-grid {
    margin-top: 56px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1px;
    background: var(--acc-gray-200);
    border: 1px solid var(--acc-gray-200);
}
.acc-audience-grid li { background: var(--acc-white); padding: 32px; }
.acc-audience-grid h3 {
    margin-top: 32px;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--acc-black);
}
.acc-audience-grid p { margin-top: 12px; font-size: 15px; line-height: 1.7; color: var(--acc-gray-600); }
.acc-audience-grid .acc-team-top svg { width: 21px; height: 21px; color: var(--acc-black); }

.acc-fit-grid {
    margin-top: 32px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    border: 1px solid var(--acc-gray-200);
}
.acc-fit-col { padding: 40px; }
.acc-fit-yes { background: var(--acc-white); border-right: 1px solid var(--acc-gray-200); }
.acc-fit-no { background: var(--acc-gray-50); }
.acc-fit-col h3 {
    font-size: 16px;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
}
.acc-fit-yes h3 { color: var(--acc-black); }
.acc-fit-no h3 { color: var(--acc-gray-500); }
.acc-fit-col ul { margin-top: 30px; display: flex; flex-direction: column; gap: 20px; }
.acc-fit-col li { display: flex; gap: 14px; }
.acc-fit-col svg { width: 20px; height: 20px; flex-shrink: 0; margin-top: 3px; }
.acc-fit-yes svg { color: var(--acc-black); }
.acc-fit-no svg { color: var(--acc-gray-400); }
.acc-fit-yes li span { color: var(--acc-gray-700); line-height: 1.7; }
.acc-fit-no li span { color: var(--acc-gray-500); line-height: 1.7; }

/* =============================================
   WHAT YOU'RE TAKING ON (dark)
   ============================================= */
.acc-section-dark { background: var(--acc-black); color: var(--acc-white); }
.acc-section-dark .acc-section-title h2 { color: var(--acc-white); }
.acc-section-dark .acc-section-title p { color: #9ca3af; }

.acc-obligation-grid {
    margin-top: 56px;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 32px;
}
.acc-obligation-card {
    padding: 40px;
    border: 1px solid #262626;
    transition: border-color .2s;
}
.acc-obligation-card:hover { border-color: var(--acc-white); }
.acc-obligation-card svg { width: 40px; height: 40px; }
.acc-obligation-card h3 {
    margin-top: 32px;
    font-size: 17px;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--acc-white);
}
.acc-obligation-card p { margin-top: 16px; font-size: 15px; line-height: 1.75; color: #9ca3af; }

/* =============================================
   COMPARISON TABLE (3-way)
   ============================================= */
.acc-table-scroll {
    margin: 56px auto 0;
    max-width: 980px;
    overflow-x: auto;
    border: 1px solid var(--acc-gray-200);
    border-radius: 10px;
    box-shadow: 0 24px 60px -32px rgba(0,0,0,.18);
    -webkit-overflow-scrolling: touch;
}
.acc-compare-table {
    width: 100%;
    min-width: 680px;
    border-collapse: collapse;
    text-align: left;
}
.acc-compare-table col.acc-col-label { width: 26%; }
.acc-compare-table th, .acc-compare-table td { padding: 22px 24px; vertical-align: top; }
.acc-compare-table thead th {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
}
.acc-th-blank { background: var(--acc-white); }
.acc-th-us { background: var(--acc-black); color: var(--acc-white); }
.acc-th-alt { background: var(--acc-gray-50); color: var(--acc-gray-500); }
.acc-compare-table tbody th {
    background: var(--acc-white);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .03em;
    text-transform: uppercase;
    color: var(--acc-black);
    border-top: 1px solid var(--acc-gray-200);
}
.acc-compare-table tbody tr:hover th,
.acc-compare-table tbody tr:hover .acc-td-alt { background: var(--acc-gray-50); }
.acc-compare-table tbody tr.acc-row-emph th,
.acc-compare-table tbody tr.acc-row-emph td { border-top: 2px solid var(--acc-black); border-bottom: 2px solid var(--acc-black); }
.acc-td-us { background: var(--acc-black); color: var(--acc-white); border-top: 1px solid var(--acc-gray-200); }
.acc-td-alt { background: var(--acc-gray-50); color: var(--acc-gray-600); border-top: 1px solid var(--acc-gray-200); font-size: 14px; transition: background .15s; }
.acc-cell-inner { display: flex; gap: 12px; }
.acc-compare-table td svg { width: 18px; height: 18px; flex-shrink: 0; margin-top: 2px; }
.acc-td-us svg { color: var(--acc-white); }
.acc-td-alt svg { color: var(--acc-gray-400); }
.acc-td-us span { font-size: 14px; line-height: 1.6; }
.acc-td-us.acc-strong span { font-weight: 700; }

.acc-table-scroll-hint {
    display: none;
    text-align: center;
    padding: 10px;
    font-size: 11px;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--acc-gray-500);
    background: var(--acc-gray-50);
    border-top: 1px solid var(--acc-gray-200);
}

/* =============================================
   TEAM BEHIND IT
   ============================================= */
.acc-people-grid {
    margin-top: 56px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px;
}
.acc-people-card { background: var(--acc-white); border: 1px solid var(--acc-gray-200); }
.acc-people-photo {
    aspect-ratio: 3 / 4;
    background: var(--acc-light);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 14px;
}
.acc-people-photo svg { width: 48px; height: 48px; color: var(--acc-gray-400); }
.acc-people-photo p { font-size: 11px; letter-spacing: .1em; text-transform: uppercase; color: var(--acc-gray-400); }
.acc-people-info { padding: 22px; border-top: 1px solid var(--acc-gray-200); }
.acc-people-info h3 { font-size: 16px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; }
.acc-people-info p { margin-top: 8px; font-size: 11px; letter-spacing: .1em; text-transform: uppercase; color: var(--acc-gray-500); }

.acc-video-placeholder {
    margin-top: 32px;
    aspect-ratio: 16 / 9;
    border: 1px solid var(--acc-gray-200);
    background: var(--acc-white);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 16px;
}
.acc-play-btn {
    width: 64px; height: 64px;
    border-radius: 50%;
    border: 1px solid var(--acc-gray-400);
    display: flex; align-items: center; justify-content: center;
}
.acc-play-btn svg { width: 24px; height: 24px; color: var(--acc-gray-400); }
.acc-video-placeholder p { font-size: 11px; letter-spacing: .1em; text-transform: uppercase; color: var(--acc-gray-400); }

/* =============================================
   APPLY FOR PARTNERSHIP
   ============================================= */
.acc-apply-section .container { max-width: none; }
.acc-apply-intro { max-width: 760px; }
.acc-apply-intro h2 {
    font-size: clamp(1.9rem, 4.2vw, 3.2rem);
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
    color: var(--acc-black);
    line-height: 1.15;
    margin-bottom: 18px;
}
.acc-apply-intro p { font-size: 18px; font-weight: 300; line-height: 1.75; color: var(--acc-gray-700); }

.acc-apply-grid {
    margin-top: 56px;
    /* display: grid; */
    grid-template-columns: 2fr 1fr;
    gap: 32px;
    align-items: stretch;
}
.acc-apply-form {
    background: var(--acc-white);
    border: 1px solid var(--acc-gray-200);
    padding: 44px;
    box-shadow: 0 1px 3px rgba(0,0,0,.05);
}
.acc-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.acc-form-full { grid-column: 1 / -1; }
.acc-form-error {
    margin-bottom: 24px;
    padding: 14px 16px;
    background: #fdecec;
    border: 1px solid #f3b8b8;
    color: #b42318;
    font-size: 14px;
}
.acc-apply-form label {
    display: block;
    margin-bottom: 8px;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--acc-black);
}
.acc-apply-form input,
.acc-apply-form select,
.acc-apply-form textarea {
    width: 100%;
    background: var(--acc-white);
    border: 1px solid var(--acc-gray-200);
    padding: 14px;
    font-size: 15px;
    font-family: 'Inter', sans-serif;
    color: #111;
    border-radius: 0;
    appearance: none;
}
.acc-apply-form input:focus,
.acc-apply-form select:focus,
.acc-apply-form textarea:focus { outline: none; border-color: var(--acc-black); }
.acc-apply-form .acc-btn-black { margin-top: 36px; border: none; cursor: pointer; }
.acc-apply-form .acc-microcopy { margin-top: 20px; }

.acc-presentation-panel {
    background: var(--acc-light);
    border: 1px solid var(--acc-gray-200);
    padding: 40px;
    display: flex;
    flex-direction: column;
}
.acc-presentation-panel svg { width: 32px; height: 32px; color: var(--acc-black); }
.acc-presentation-panel h3 {
    margin-top: 22px;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--acc-black);
}
.acc-presentation-panel p { margin-top: 14px; font-size: 15px; line-height: 1.7; color: var(--acc-gray-600); flex: 1; }
.acc-presentation-panel .acc-btn-outline { margin-top: 26px; text-align: center; }

.acc-contact-row {
    margin-top: 56px;
    padding-top: 44px;
    border-top: 1px solid var(--acc-gray-200);
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 36px;
}
.acc-contact-val { margin-top: 12px; font-size: 16px; color: var(--acc-black); }

/* =============================================
   FAQ
   ============================================= */
.acc-faq-container { max-width: 880px; margin: 0 auto; padding: 0 24px; }
.acc-faq-list { margin-top: 40px; border-top: 1px solid var(--acc-gray-200); }
.acc-faq-item { border-bottom: 1px solid var(--acc-gray-200); }
.acc-faq-question {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding: 24px 0;
    background: none;
    border: none;
    cursor: pointer;
    text-align: left;
}
.acc-faq-question span:first-child {
    font-size: 16px;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
    color: var(--acc-black);
}
.acc-faq-icon {
    flex-shrink: 0;
    width: 32px; height: 32px;
    border: 1px solid var(--acc-black);
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
}
.acc-faq-icon svg { width: 16px; height: 16px; color: var(--acc-black); }
.acc-faq-vline { transition: opacity .2s; }
.acc-faq-item.open .acc-faq-vline { opacity: 0; }
.acc-faq-answer {
    max-height: 0;
    overflow: hidden;
    transition: max-height .3s ease;
}
.acc-faq-item.open .acc-faq-answer { max-height: 400px; }
.acc-faq-answer p { padding: 0 24px 28px 0; font-size: 15px; line-height: 1.8; color: var(--acc-gray-600); }
.acc-faq-answer a { color: var(--acc-black); text-decoration: underline; }

/* =============================================
   RESPONSIVE
   ============================================= */
@media (max-width: 1100px) {
    .acc-team-grid-wrap { grid-template-columns: 1fr; gap: 40px; }
    .acc-tier-grid { grid-template-columns: repeat(2, 1fr); }
    .acc-audience-grid { grid-template-columns: repeat(2, 1fr); }
    .acc-apply-grid { grid-template-columns: 1fr; }
    .acc-model-grid { grid-template-columns: 1fr; }
    .acc-earn-grid { grid-template-columns: 1fr; }
    .acc-concept-grid { grid-template-columns: 1fr; }
    .acc-deliverable-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 1000px) {
    .acc-timeline {
        display: flex;
        flex-direction: column;
        gap: 0;
        margin-top: 56px;
        max-width: 640px;
        margin-left: auto;
        margin-right: auto;
    }
    .acc-timeline::before { display: none; }
    .acc-timeline li { display: flex; gap: 24px; align-items: stretch; }
    .acc-timeline-marker { flex-direction: column; align-items: center; }
    .acc-timeline-line { display: block; width: 1px; flex: 1; background: var(--acc-gray-200); margin: 8px 0; }
    .acc-timeline li:last-child .acc-timeline-line { display: none; }
    .acc-timeline-body { margin-top: 0; text-align: left; padding-bottom: 40px; }
    .acc-timeline li:last-child .acc-timeline-body { padding-bottom: 0; }
    .acc-timeline-stats { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 900px) {
    .acc-hero-grid { grid-template-columns: 1fr; gap: 40px; }
    .acc-hero-media { order: -1; }
    .acc-hero-img { aspect-ratio: 16 / 10; }
    .acc-stats { grid-template-columns: repeat(2, 1fr); }
    .acc-ladder { display: none; }
    .acc-section { padding: 72px 0; }
    .acc-team-grid { grid-template-columns: repeat(3, 1fr); }
    .acc-obligation-grid { grid-template-columns: 1fr; }
    .acc-people-grid { grid-template-columns: repeat(2, 1fr); }
    .acc-contact-row { grid-template-columns: 1fr; gap: 24px; }
    .acc-ownership-grid { grid-template-columns: 1fr; }
    .acc-not-list { grid-template-columns: 1fr; gap: 12px; }
    .acc-loop-diagram { display: none; }
}

@media (max-width: 768px) {
    .acc-compare { grid-template-columns: 1fr; }
    .acc-section-title-left { text-align: center; margin-left: auto; margin-right: auto; }
    .acc-table-scroll-hint { display: block; }
    .acc-table-scroll { border-radius: 8px; }
    .acc-fit-grid { grid-template-columns: 1fr; }
    .acc-fit-yes { border-right: none; border-bottom: 1px solid var(--acc-gray-200); }
    .acc-form-grid { grid-template-columns: 1fr; }
}

@media (max-width: 600px) {
    .acc-hero-inner { padding: 40px 0 64px; }
    .acc-callout { padding-left: 18px; }
    .acc-cta-row { flex-direction: column; }
    .acc-btn-black, .acc-btn-outline { width: 100%; }
    .acc-stats { grid-template-columns: repeat(2, 1fr); gap: 20px; }
    .acc-section { padding: 56px 0; }
    .acc-team-grid { grid-template-columns: repeat(2, 1fr); }
    .acc-tier-grid { grid-template-columns: 1fr; }
    .acc-dot { margin: 0 20px; }
    .acc-audience-grid { grid-template-columns: 1fr; }
    .acc-people-grid { grid-template-columns: 1fr; }
    .acc-apply-form { padding: 28px; }
    .acc-presentation-panel { padding: 28px; }
    .acc-faq-question span:first-child { font-size: 14px; }
    .acc-deliverable-grid { grid-template-columns: 1fr; }
    .acc-timeline-stats { grid-template-columns: 1fr; gap: 20px; }
    .acc-model-card,
    .acc-obligation-card,
    .acc-ownership-card,
    .acc-fit-col { padding: 26px; }
    .acc-model-rows > div { min-height: 0; }
    .acc-deliverable-body,
    .acc-earn-card,
    .acc-audience-grid li { padding: 24px; }
}
