/* Wave 1 / W1-07: Fabric Economics Assessment --------------------------- */
.onyx-fea-page .onyx-page__title { max-width: 23ch; }
.onyx-fea-page .onyx-page__sub { max-width: 75ch; }
.onyx-fea-page .onyx-h2 { max-width: 27ch; }
.onyx-fea-page .onyx-eyebrow--dark { color: #0d7569; font-weight: 700; }
.fea-hero { position: relative; padding-bottom: clamp(54px, 7vw, 92px); }
.fea-facts {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1px;
    max-width: 1180px;
    margin: clamp(38px, 5vw, 58px) 0 0;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.13);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.13);
}
.fea-facts > div { min-width: 0; padding: 21px 22px; background: rgba(15, 22, 37, 0.88); }
.fea-facts dt {
    margin: 0 0 8px;
    color: var(--onyx-teal);
    font-family: var(--onyx-font-mono);
    font-size: 10.5px;
    font-weight: 700;
    letter-spacing: 0.1em;
    line-height: 1.45;
    text-transform: uppercase;
}
.fea-facts dd { margin: 0; color: #e8edf5; font-size: 13.5px; line-height: 1.55; }
.fea-triggers .onyx-answer-text { max-width: 78ch; }
.fea-trigger-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    margin: 30px 0 0;
    padding: 0;
    list-style: none;
}
.fea-trigger-grid li {
    position: relative;
    min-width: 0;
    min-height: 108px;
    padding: 42px 20px 20px;
    border: 1px solid var(--lt-card-bd);
    border-radius: 12px;
    background: #fff;
    color: var(--lt-ink);
    font-size: 14px;
    font-weight: 700;
    line-height: 1.5;
}
.fea-trigger-grid li::before {
    content: '';
    position: absolute;
    top: 20px;
    left: 20px;
    width: 24px;
    height: 3px;
    border-radius: 999px;
    background: var(--lt-accent);
}
.fea-fit__grid,
.fea-complexity__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
    margin-top: 34px;
}
.fea-fit__panel,
.fea-complexity-card {
    min-width: 0;
    padding: clamp(27px, 3.6vw, 42px);
    border: 1px solid var(--lt-card-bd);
    border-top: 3px solid var(--lt-accent);
    border-radius: 16px;
    background: #fff;
    box-shadow: var(--lt-card-sh);
}
.fea-fit__panel--defer { border-top-color: var(--onyx-gold); background: var(--onyx-fog); }
.fea-fit__panel h3,
.fea-complexity-card h3,
.fea-not-included h3,
.fea-qualification__context h3,
.fea-method-controls h3 {
    margin: 0 0 20px;
    color: var(--lt-ink);
    font-family: var(--onyx-font-display);
    font-size: clamp(21px, 2.2vw, 28px);
    font-weight: 800;
    line-height: 1.25;
}
.fea-check-list,
.fea-boundary-list,
.fea-complexity-card ul,
.fea-not-included ul,
.fea-boundaries,
.fea-method-controls ul {
    display: grid;
    gap: 13px;
    margin: 0;
    padding: 0;
    list-style: none;
}
.fea-check-list li,
.fea-boundary-list li,
.fea-complexity-card li,
.fea-not-included li,
.fea-boundaries li,
.fea-method-controls li {
    position: relative;
    margin: 0;
    padding-left: 26px;
    color: var(--lt-body);
    font-size: 14.5px;
    line-height: 1.6;
}
.fea-check-list li::before,
.fea-boundary-list li::before,
.fea-complexity-card li::before,
.fea-not-included li::before,
.fea-boundaries li::before,
.fea-method-controls li::before {
    position: absolute;
    top: 0.08em;
    left: 0;
    color: var(--lt-accent);
    font-family: var(--onyx-font-mono);
    font-weight: 800;
}
.fea-check-list li::before { content: '✓'; }
.fea-boundary-list li::before,
.fea-not-included li::before { content: '—'; color: #8c6305; }
.fea-complexity-card li::before,
.fea-boundaries li::before,
.fea-method-controls li::before { content: '•'; }
.fea-section-intro {
    max-width: 76ch;
    margin: 20px 0 0;
    color: var(--lt-body);
    font-size: 16px;
    line-height: 1.7;
}
.fea-complexity { background: var(--onyx-fog); }
.fea-complexity-card:nth-child(2) { border-top-color: var(--onyx-gold); }
.fea-complexity-card__label {
    margin: 0 0 13px;
    color: var(--lt-accent);
    font-family: var(--onyx-font-mono);
    font-size: 10.5px;
    font-weight: 700;
    letter-spacing: 0.1em;
}
.fea-complexity-card:nth-child(2) .fea-complexity-card__label { color: #8c6305; }
.fea-callout {
    max-width: 78ch;
    margin: 26px 0 0;
    padding: 18px 22px;
    border-left: 4px solid var(--onyx-gold);
    border-radius: 0 10px 10px 0;
    background: #fff9e9;
    color: var(--lt-body);
    line-height: 1.65;
}
.fea-evidence,
.fea-acceptance,
.fea-marketplace {
    overflow: hidden;
    background:
        radial-gradient(760px 430px at 8% 14%, rgba(54, 214, 195, 0.09), transparent 64%),
        linear-gradient(155deg, var(--onyx-ink), #151d2f);
}
.fea-evidence__layout,
.fea-boundaries-section__layout,
.fea-qualification-layout {
    display: grid;
    grid-template-columns: minmax(0, 0.88fr) minmax(0, 1.12fr);
    gap: clamp(38px, 7vw, 92px);
    align-items: start;
}
.fea-evidence__layout > div > p:last-child,
.fea-acceptance .onyx-h2 + p { color: #c4ccdb; }
.fea-evidence__inputs {
    display: grid;
    gap: 1px;
    margin: 0;
    padding: 0;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.13);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.13);
    list-style: none;
}
.fea-evidence__inputs li {
    position: relative;
    padding: 16px 20px 16px 46px;
    background: rgba(15, 22, 37, 0.88);
    color: #e8edf5;
    font-size: 14px;
    line-height: 1.55;
}
.fea-evidence__inputs li::before { content: '✓'; position: absolute; left: 20px; color: var(--onyx-teal); font-weight: 800; }
.fea-evidence__classes,
.fea-acceptance__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1px;
    margin-top: 34px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.13);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.13);
}
.fea-evidence__classes article,
.fea-acceptance__grid article { min-width: 0; padding: 25px; background: rgba(15, 22, 37, 0.88); }
.fea-evidence__classes h3,
.fea-acceptance__grid h3,
.fea-marketplace__card h2 { margin: 0 0 10px; color: #fff; font-family: var(--onyx-font-display); font-size: 19px; font-weight: 800; }
.fea-evidence__classes p,
.fea-acceptance__grid p { margin: 0; color: #c4ccdb; font-size: 14px; line-height: 1.6; }
.fea-process__grid,
.fea-value__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 15px;
    margin: 34px 0 0;
    padding: 0;
    list-style: none;
}
.fea-process__grid li,
.fea-value__grid li {
    min-width: 0;
    padding: 25px;
    border: 1px solid var(--lt-card-bd);
    border-radius: 14px;
    background: #fff;
    box-shadow: var(--lt-card-sh);
}
.fea-process__grid span,
.fea-value__grid span {
    display: inline-block;
    margin: 0 0 18px;
    color: var(--lt-accent);
    font-family: var(--onyx-font-mono);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.1em;
}
.fea-process__grid h3,
.fea-value__grid h3,
.fea-endings__grid h3 {
    margin: 0 0 11px;
    color: var(--lt-ink);
    font-family: var(--onyx-font-display);
    font-size: 18px;
    font-weight: 800;
    line-height: 1.3;
}
.fea-process__grid p,
.fea-value__grid p,
.fea-endings__grid p { margin: 0; color: var(--lt-body); font-size: 14px; line-height: 1.62; }
.fea-process__grid li:last-child { grid-column: 3 / 5; }
.fea-deliverables { background: var(--onyx-fog); }
.fea-deliverables__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin: 32px 0 0;
    padding: 0;
    counter-reset: fea-deliverable;
    list-style: none;
}
.fea-deliverables__grid li {
    position: relative;
    min-width: 0;
    min-height: 116px;
    padding: 54px 22px 22px;
    border: 1px solid var(--lt-card-bd);
    border-radius: 13px;
    background: #fff;
    box-shadow: var(--lt-card-sh);
    color: var(--lt-ink);
    font-size: 14.5px;
    font-weight: 700;
    line-height: 1.5;
    counter-increment: fea-deliverable;
}
.fea-deliverables__grid li::before {
    content: counter(fea-deliverable, decimal-leading-zero);
    position: absolute;
    top: 19px;
    left: 22px;
    color: var(--lt-accent);
    font-family: var(--onyx-font-mono);
    font-size: 10.5px;
    font-weight: 800;
    letter-spacing: 0.1em;
}
.fea-acceptance__grid { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.fea-method-controls {
    display: grid;
    grid-template-columns: minmax(190px, 0.48fr) minmax(0, 1.2fr) minmax(190px, 0.62fr);
    gap: 28px;
    align-items: start;
    margin-top: 28px;
    padding: clamp(26px, 3.5vw, 38px);
    border: 1px solid rgba(255, 255, 255, 0.13);
    border-left: 4px solid var(--onyx-gold);
    border-radius: 12px;
    background: rgba(15, 22, 37, 0.72);
}
.fea-method-controls h3 { color: #fff; }
.fea-method-controls li { color: #d8deea; }
.fea-method-controls p { margin: 0; color: #f2cf6b; font-size: 14px; font-weight: 700; line-height: 1.6; }
.fea-value { background: #fff; }
.fea-value__boundary {
    max-width: 84ch;
    margin: 27px 0 0;
    padding-left: 18px;
    border-left: 4px solid var(--onyx-gold);
    color: var(--lt-body);
    font-size: 15px;
    line-height: 1.68;
}
.fea-endings__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    margin-top: 32px;
}
.fea-endings__grid article { min-width: 0; padding: 27px; border: 1px solid var(--lt-card-bd); border-top: 3px solid var(--lt-accent); border-radius: 13px; background: #fff; box-shadow: var(--lt-card-sh); }
.fea-endings__grid article:last-child { border-top-color: var(--onyx-gold); }
.fea-boundaries-section { background: #fff; }
.fea-boundaries-section__layout > div > p:not(.onyx-eyebrow),
.fea-qualification__context > p:not(.onyx-eyebrow) { color: var(--lt-body); font-size: 16px; line-height: 1.72; }
.fea-not-included { padding: clamp(27px, 3.6vw, 42px); border: 1px solid var(--lt-card-bd); border-top: 3px solid var(--onyx-gold); border-radius: 15px; background: var(--onyx-fog); }
.fea-text-link { color: var(--lt-accent); font-weight: 800; text-decoration: none; }
.fea-text-link:hover { text-decoration: underline; }
.fea-marketplace__card { max-width: 940px; padding: clamp(30px, 5vw, 54px); border: 1px solid rgba(255, 255, 255, 0.13); border-radius: 16px; background: rgba(15, 22, 37, 0.74); }
.fea-marketplace__card > p:not(.onyx-eyebrow) { max-width: 72ch; margin: 18px 0 0; color: #e8edf5; font-size: 17px; line-height: 1.7; }
.fea-marketplace__card .fea-marketplace__qualifier { padding-top: 20px; border-top: 1px solid rgba(255, 255, 255, 0.13); color: #c4ccdb; font-size: 14px; }
.fea-faq .onyx-faq { max-width: 900px; }
.fea-qualification { background: var(--onyx-fog); }
.fea-qualification-layout { grid-template-columns: minmax(0, 0.78fr) minmax(0, 1.22fr); }
.fea-boundaries { margin-top: 18px; }
.fea-form { min-width: 0; padding: clamp(22px, 4vw, 36px); border: 1px solid var(--lt-card-bd); border-radius: 16px; background: #fff; box-shadow: var(--lt-card-sh); }
.fea-form__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.fea-field { display: flex; min-width: 0; flex-direction: column; gap: 7px; }
.fea-field--wide { grid-column: 1 / -1; }
.fea-field label { color: var(--lt-ink); font-weight: 800; }
.fea-field input,
.fea-field select,
.fea-field textarea {
    width: 100%;
    min-height: 48px;
    padding: 12px 13px;
    border: 1px solid #687086;
    border-radius: 7px;
    background: #fff;
    color: #111827;
    font: inherit;
}
.fea-field textarea { min-height: 126px; resize: vertical; }
.fea-field input:focus-visible,
.fea-field select:focus-visible,
.fea-field textarea:focus-visible { border-color: #5c430b; outline: 3px solid rgba(138, 100, 16, 0.35); outline-offset: 2px; }
.fea-field [aria-invalid="true"] { border-color: #a3122b; }
.fea-field-error { min-height: 1.25em; color: #8f1026; font-size: 0.875rem; }
.fea-consent { display: flex; align-items: flex-start; gap: 12px; }
.fea-consent input { flex: 0 0 auto; width: 20px; min-height: 20px; height: 20px; margin-top: 2px; }
.fea-form__actions { margin-top: 24px; }
.fea-form__actions button:disabled { cursor: wait; opacity: 0.65; }
.fea-form-status { margin: 16px 0 0; padding: 12px; border-radius: 6px; }
.fea-form-status:empty { display: none; }
.fea-form-status--error { border: 1px solid #c94a60; background: #fff0f2; color: #781023; }
.fea-form-status--success { border: 1px solid #4a9b68; background: #eaf7ef; color: #174c2b; }
.fea-honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
@media (max-width: 1050px) {
    .fea-acceptance__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .fea-method-controls { grid-template-columns: 1fr 1.5fr; }
    .fea-method-controls p { grid-column: 1 / -1; }
}
@media (max-width: 850px) {
    .fea-facts,
    .fea-trigger-grid,
    .fea-process__grid,
    .fea-value__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .fea-process__grid li:last-child { grid-column: auto; }
    .fea-evidence__layout,
    .fea-boundaries-section__layout,
    .fea-qualification-layout { grid-template-columns: 1fr; }
    .fea-acceptance__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 680px) {
    .fea-fit__grid,
    .fea-complexity__grid,
    .fea-endings__grid { grid-template-columns: 1fr; }
    .fea-deliverables__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .fea-evidence__classes { grid-template-columns: 1fr; }
    .fea-method-controls { grid-template-columns: 1fr; }
    .fea-method-controls p { grid-column: auto; }
}
@media (max-width: 520px) {
    .fea-facts,
    .fea-trigger-grid,
    .fea-process__grid,
    .fea-deliverables__grid,
    .fea-acceptance__grid,
    .fea-value__grid,
    .fea-form__grid { grid-template-columns: 1fr; }
    .fea-field--wide { grid-column: auto; }
    .fea-trigger-grid li,
    .fea-deliverables__grid li { min-height: 0; }
    .fea-form__actions .onyx-btn-primary { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
    .fea-form *,
    .fea-form *::before,
    .fea-form *::after { scroll-behavior: auto !important; transition: none !important; }
}
