/* ============================================
   Editorial pass (2026-09-26)
   Loaded last on every page. Structural de-templating:
   product-first hero, left-aligned section grid, ledgers
   instead of icon boxes, stronger band rhythm. Brand
   palette + Outfit unchanged. Overrides win by load order.
   ============================================ */
:root {
    --brand-evaluatd: #14b8a6; --brand-evaluatd-rgb: 20, 184, 166;
    --brand-enrolld: #f59e0b;  --brand-enrolld-rgb: 245, 158, 11;
    --brand-dayready: #8b7cff; --brand-dayready-rgb: 139, 124, 255;
    --brand-submitd: #10b981;  --brand-submitd-rgb: 16, 185, 129;
    --band: #0d1222;            /* lifted band */
    --hair: rgba(255, 255, 255, 0.07);
}

/* ---- Type ------------------------------------------------ */
h1, h2 { letter-spacing: -0.03em; text-wrap: balance; }
h1 { line-height: 1.02; }
h2 { line-height: 1.08; }
.lead { text-wrap: pretty; }

/* ---- Eyebrow (replaces pill labels) ----------------------- */
.section-label,
.eyebrow {
    display: inline-flex; align-items: center; gap: 0.75rem;
    background: none; border: 0; padding: 0; border-radius: 0;
    font-size: 0.75rem; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase;
    color: var(--accent-primary);
}
.section-label::before,
.eyebrow-rule {
    content: ""; display: inline-block; width: 28px; height: 1px;
    background: currentColor; opacity: 0.9;
}
.eyebrow { color: var(--text-secondary); margin-bottom: var(--space-6); }
.eyebrow-rule { background: var(--accent-primary); }

/* ---- Section headers: editorial grid ---------------------- */
.section-header {
    display: grid;
    grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
    column-gap: clamp(2rem, 5vw, 5rem); row-gap: var(--space-5);
    align-items: end; text-align: left;
    max-width: none; margin-inline: 0;
    margin-bottom: clamp(2.5rem, 5vw, 4rem);
}
.section-header .section-label { grid-column: 1 / -1; margin: 0; }
.section-header h2 { grid-column: 1; margin: 0; }
.section-header .section-description { grid-column: 2; margin: 0 0 0.3em; max-width: 30rem; color: var(--text-secondary); }

/* ---- Home hero: product-first ----------------------------- */
.hero--editorial {
    min-height: auto; display: block;
    padding: calc(80px + clamp(3rem, 7vw, 6rem)) 0 clamp(3.5rem, 6vw, 5.5rem);
    background:
        radial-gradient(ellipse 60% 50% at 78% 30%, rgba(124, 92, 252, 0.16), transparent 60%),
        radial-gradient(ellipse 50% 40% at 15% 85%, rgba(0, 212, 255, 0.10), transparent 60%),
        var(--bg-primary);
    border-bottom: 1px solid var(--hair);
}
.hero-lines {
    position: absolute; inset: 0; z-index: 0; pointer-events: none;
    background-image:
        linear-gradient(to right, rgba(255, 255, 255, 0.035) 1px, transparent 1px),
        linear-gradient(to bottom, rgba(255, 255, 255, 0.035) 1px, transparent 1px);
    background-size: 64px 64px;
    mask-image: radial-gradient(ellipse 70% 60% at 70% 40%, #000 20%, transparent 75%);
    -webkit-mask-image: radial-gradient(ellipse 70% 60% at 70% 40%, #000 20%, transparent 75%);
}
.hero--editorial .hero-mesh, .hero--editorial .hero-gradient-orb { z-index: 0; }
.hero-wrap {
    position: relative; z-index: 2;
    display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
    gap: clamp(2.5rem, 5vw, 5rem); align-items: center;
}
.hero--editorial .hero-copy { text-align: left; max-width: none; padding: 0; }
.hero--editorial h1 { font-size: clamp(2.75rem, 5vw, 4.5rem); margin-bottom: var(--space-6); animation: fadeInUp 0.6s var(--ease-out) 0.05s both; }
.hero--editorial .lead { margin: 0 0 var(--space-8); max-width: 34rem; font-size: clamp(1.0625rem, 1.5vw, 1.1875rem); animation: fadeInUp 0.6s var(--ease-out) 0.15s both; }
.hero--editorial .hero-actions { justify-content: flex-start; animation-delay: 0.25s; }
.hero--editorial .hero-stats {
    justify-content: flex-start; gap: 0; margin-top: var(--space-10);
    border-top: 1px solid var(--hair); padding-top: var(--space-5);
    animation-delay: 0.4s;
}
.hero--editorial .hero-stat { text-align: left; padding-right: var(--space-8); margin-right: var(--space-8); border-right: 1px solid var(--hair); }
.hero--editorial .hero-stat:last-child { border-right: 0; margin-right: 0; padding-right: 0; }
.hero--editorial .hero-stat-number { font-size: var(--text-3xl); }

/* the suite panel */
.hero-suite {
    position: relative;
    background: linear-gradient(180deg, rgba(20, 26, 46, 0.85), rgba(15, 20, 36, 0.85));
    border: 1px solid var(--border-default);
    border-radius: 20px; padding: var(--space-3) var(--space-3) var(--space-4);
    box-shadow: 0 30px 80px rgba(0, 0, 0, 0.5), inset 0 1px 0 rgba(255, 255, 255, 0.06);
    backdrop-filter: blur(var(--glass-blur));
    animation: fadeInUp 0.7s var(--ease-out) 0.2s both;
}
.suite-head {
    display: flex; justify-content: space-between; align-items: baseline;
    padding: var(--space-3) var(--space-4) var(--space-3);
    font-size: 0.6875rem; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; color: var(--text-tertiary);
}
.suite-head span:first-child { color: var(--text-secondary); }
.suite-row {
    display: grid; grid-template-columns: 112px 1fr; grid-template-rows: auto auto; column-gap: var(--space-4);
    align-items: center; padding: var(--space-4); border-radius: 12px;
    border-top: 1px solid var(--hair); text-decoration: none; color: inherit;
    position: relative; transition: background 0.25s var(--ease-out);
    animation: fadeInUp 0.5s var(--ease-out) both;
}
.suite-row:nth-of-type(1) { animation-delay: 0.45s; }
.suite-row:nth-of-type(2) { animation-delay: 0.55s; }
.suite-row:nth-of-type(3) { animation-delay: 0.65s; }
.suite-row:nth-of-type(4) { animation-delay: 0.75s; }
.suite-row::before { content: ""; position: absolute; left: 0; top: 18%; bottom: 18%; width: 2px; border-radius: 2px; background: var(--row-accent, var(--accent-primary)); opacity: 0.9; }
.suite-row.eval { --row-accent: var(--brand-evaluatd); }
.suite-row.enr  { --row-accent: var(--brand-enrolld); }
.suite-row.sub  { --row-accent: var(--brand-submitd); }
.suite-row.day  { --row-accent: var(--brand-dayready); }
.suite-row img { grid-row: 1 / span 2; height: 30px; width: auto; max-width: 112px; object-fit: contain; justify-self: start; }
.suite-what { font-weight: 600; font-size: 0.9375rem; color: var(--text-primary); line-height: 1.3; }
.suite-meta { font-size: 0.75rem; color: var(--text-tertiary); line-height: 1.4; }
.suite-row:hover { background: rgba(255, 255, 255, 0.04); }
.suite-row:hover .suite-what { color: var(--row-accent); }
.suite-foot { padding: var(--space-4) var(--space-4) 0; border-top: 1px solid var(--hair); font-size: 0.8125rem; color: var(--text-tertiary); line-height: 1.5; }

/* ---- Sub-page heroes: left-aligned, no photo wash --------- */
.page-hero, .evaluatd-hero, .enrolld-hero { text-align: left; }
.page-hero .container, .evaluatd-hero .container, .enrolld-hero .container { text-align: left; }
.page-hero h1, .evaluatd-hero h1, .enrolld-hero h1 { max-width: 18ch; font-size: clamp(2.5rem, 5vw, 4.25rem); margin-bottom: var(--space-6); }
.page-hero .lead, .evaluatd-hero .lead, .enrolld-hero .lead { margin-inline: 0; max-width: 36rem; }
.page-hero .hero-actions, .evaluatd-hero .hero-actions, .enrolld-hero .hero-actions { justify-content: flex-start; }
.page-hero .section-label { margin-bottom: var(--space-5); }
.evaluatd-hero-bg, .evaluatd-hero-overlay { display: none; }
.evaluatd-hero, .enrolld-hero, .page-hero {
    background:
        radial-gradient(ellipse 55% 45% at 85% 20%, rgba(124, 92, 252, 0.14), transparent 60%),
        radial-gradient(ellipse 45% 40% at 10% 90%, rgba(0, 212, 255, 0.10), transparent 60%),
        var(--bg-primary);
    border-bottom: 1px solid var(--hair);
}
.evaluatd-logo, .enrolld-logo { text-align: left; margin-inline: 0; }
.evaluatd-logo img, .enrolld-logo img, .evaluatd-logo-img, .enrolld-logo-img { margin-inline: 0; }
.clients-hero-stats { justify-content: flex-start; }
.clients-hero-stats .stat-item { text-align: left; }

/* ---- Band rhythm ------------------------------------------ */
.section-alt { background: var(--band); box-shadow: inset 0 1px 0 var(--hair), inset 0 -1px 0 var(--hair); }
.mesh-bg::after { opacity: 0.8; }

/* ---- Products: logo inline, no icon strip ---------------- */
.product-card { padding: var(--space-8); }
.product-card .product-card-icon {
    background: none !important; border: 0 !important; padding: 0; height: 40px;
    justify-content: flex-start; margin-bottom: var(--space-5);
}
.product-card .product-card-icon img { height: 34px !important; }

/* ---- "Better together" flow: ledger, not six boxes ------- */
.flow-grid { grid-template-columns: 1fr 1fr; gap: 0 clamp(2rem, 5vw, 4rem); border-top: 1px solid var(--hair); }
.flow-card, .flow-grid .flow-card {
    background: none !important; border: 0 !important; box-shadow: none !important;
    border-bottom: 1px solid var(--hair) !important; border-radius: 0; backdrop-filter: none;
    padding: var(--space-6) 0 var(--space-6) var(--space-6); gap: 0.6rem;
    counter-increment: flow;
}
.flow-card::before { display: none; }
.flow-card::after {
    content: "0" counter(flow); position: absolute; left: 0; top: calc(var(--space-6) + 0.2rem);
    font-size: 0.6875rem; font-weight: 700; letter-spacing: 0.1em; color: var(--text-tertiary);
}
.flow-grid { counter-reset: flow; }
.flow-card:hover { transform: none; }
.flow-card:nth-child(2) { background: linear-gradient(90deg, rgba(0, 212, 255, 0.06), transparent 70%) !important; }
.flow-card h4 { font-size: var(--text-lg); letter-spacing: -0.01em; }

/* ---- Values: three numbered columns ---------------------- */
.values-grid { gap: 0; border-top: 1px solid var(--hair); counter-reset: val; }
.values-grid .feature-card {
    background: none; border: 0; border-radius: 0; box-shadow: none;
    padding: var(--space-8) var(--space-8) var(--space-8) 0; position: relative; counter-increment: val;
}
.values-grid .feature-card + .feature-card { padding-left: var(--space-8); border-left: 1px solid var(--hair); }
.values-grid .feature-card:hover { transform: none; }
.values-grid .feature-card::before {
    content: "0" counter(val); display: block; margin-bottom: var(--space-5);
    font-size: 0.75rem; font-weight: 700; letter-spacing: 0.12em; color: var(--accent-primary);
}
.values-grid .feature-icon { background: none; border: 0; width: auto; height: auto; margin-bottom: var(--space-4); }
.values-grid .feature-card h3 { font-size: var(--text-xl); }
.values-grid .feature-card p { color: var(--text-secondary); }

/* ---- About: team roster instead of 4-up cards ------------ */
.team-grid { grid-template-columns: 1fr 1fr; gap: 0 clamp(2rem, 5vw, 4rem); border-top: 1px solid var(--hair); }
.team-card {
    display: grid; grid-template-columns: 44px 1fr auto; align-items: center; column-gap: var(--space-4);
    text-align: left; padding: var(--space-4) 0; background: none; border: 0; border-bottom: 1px solid var(--hair); border-radius: 0;
}
.team-card:hover { transform: none; box-shadow: none; }
.team-avatar { width: 44px; height: 44px; margin: 0; font-size: 0.8125rem; }
.team-name { margin: 0; font-size: var(--text-base); }
.team-role { margin: 0; font-size: 0.8125rem; text-align: right; }
.about-stats-grid { gap: 0; border-top: 1px solid var(--hair); }
.about-stat-card { background: none; border: 0; border-bottom: 1px solid var(--hair); border-radius: 0; text-align: left; padding: var(--space-6) var(--space-6) var(--space-6) 0; }
.about-stat-card:nth-child(even) { padding-left: var(--space-6); border-left: 1px solid var(--hair); }
.about-stat-card:hover { box-shadow: none; }

/* ---- CTA banner: lit panel, no photo --------------------- */
.cta-section { padding-block: clamp(3rem, 6vw, 5rem); }
.cta-bg-image, .cta-bg-overlay { display: none; }
.cta-section > .container {
    padding-block: clamp(3rem, 6vw, 5rem);
    border: 1px solid var(--border-default); border-radius: 24px;
    background:
        radial-gradient(ellipse 60% 80% at 20% 0%, rgba(0, 212, 255, 0.14), transparent 60%),
        radial-gradient(ellipse 60% 80% at 85% 100%, rgba(124, 92, 252, 0.18), transparent 60%),
        var(--bg-elevated);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

/* ---- Responsive ------------------------------------------ */
@media (max-width: 1024px) {
    .hero-wrap { grid-template-columns: 1fr; gap: var(--space-10); }
    .hero-suite { max-width: 560px; }
}
@media (max-width: 900px) {
    .section-header { grid-template-columns: 1fr; align-items: start; }
    .section-header .section-description { grid-column: 1; margin: 0; }
    .flow-grid, .team-grid { grid-template-columns: 1fr; }
    .values-grid { grid-template-columns: 1fr; border-top: 0; }
    .values-grid .feature-card, .values-grid .feature-card + .feature-card { padding: var(--space-6) 0; border-left: 0; border-top: 1px solid var(--hair); }
}
@media (max-width: 768px) {
    .hero--editorial { padding-top: calc(80px + 2rem); }
    .hero--editorial .hero-stats { flex-wrap: wrap; gap: var(--space-4) 0; }
    .hero--editorial .hero-stat { padding-right: var(--space-5); margin-right: var(--space-5); }
    .suite-row { grid-template-columns: 96px 1fr; }
    .suite-row img { max-width: 96px; height: 26px; }
    .team-card { grid-template-columns: 40px 1fr; }
    .team-role { grid-column: 2; text-align: left; }
    .about-stats-grid { grid-template-columns: 1fr; }
    .about-stat-card:nth-child(even) { padding-left: 0; border-left: 0; }
}
@media (max-width: 480px) {
    .hero--editorial .hero-actions .btn { width: 100%; justify-content: center; }
    .hero--editorial .hero-stats { flex-direction: row; flex-wrap: wrap; align-items: flex-start; gap: var(--space-4) var(--space-6); }
    .hero--editorial .hero-stat { text-align: left; border-right: 0; padding-right: 0; margin-right: 0; }
    .hero--editorial .hero-stat-number { font-size: var(--text-2xl); }
    .suite-head { flex-direction: column; gap: 0.25rem; }
}
@media (prefers-reduced-motion: reduce) {
    .hero-suite, .suite-row, .hero--editorial h1, .hero--editorial .lead { animation: none !important; opacity: 1; }
}
