/* ==========================================================================
   ASCEND ADVISORY — CFO / FRACTIONAL CFO STYLES
   Premium gold-dominant treatment for high-value advisory services
   ========================================================================== */

/* -- Gold Utility -------------------------------------------------------- */
.cfo-text-gold { color: var(--color-gold); }

/* -- CFO Hero ------------------------------------------------------------ */
.cfo-hero {
    position: relative;
    padding: var(--space-20) 0 var(--space-16);
    min-height: 80vh;
    display: flex;
    align-items: center;
    overflow: hidden;
    background: var(--color-navy);
}
.cfo-hero__bg {
    position: absolute; inset: 0;
}
.cfo-hero__gradient {
    position: absolute; inset: 0;
    background: linear-gradient(135deg, #0B1D3A 0%, #162B52 40%, #1a3a5c 70%, #0B1D3A 100%);
}
.cfo-hero__pattern {
    position: absolute; inset: 0; opacity: .06;
    background-image: repeating-linear-gradient(45deg, transparent, transparent 25px, rgba(212,168,67,.3) 25px, rgba(212,168,67,.3) 26px);
}
.cfo-hero__grid { position: relative; z-index: 1; max-width: 800px; }
.cfo-hero__brand { display: inline-flex; align-items: center; gap: 10px; margin-bottom: var(--space-4); }
.cfo-hero__brand-text { display: flex; flex-direction: column; line-height: 1; }
.cfo-hero__brand-label {
    font-family: var(--font-heading); font-size: 1.35rem; font-weight: 800; letter-spacing: 0.03em; color: var(--color-gold);
}
.cfo-hero__brand-sub {
    font-family: var(--font-heading); font-size: 0.5rem; font-weight: 500; letter-spacing: 0.28em; text-transform: uppercase; color: rgba(212,168,67,.7);
    margin-top: 1px;
}
.cfo-hero__title {
    font-size: clamp(2.2rem, 5vw, 3.5rem);
    line-height: 1.15;
    font-weight: 800;
    color: #fff;
    margin-bottom: var(--space-6);
}
.cfo-hero__subtitle {
    font-size: var(--text-lg);
    line-height: 1.7;
    color: rgba(255,255,255,.75);
    margin-bottom: var(--space-8);
    max-width: 680px;
}
.cfo-hero__ctas { display: flex; gap: var(--space-4); flex-wrap: wrap; margin-bottom: var(--space-10); }
.cfo-hero__stats { display: flex; gap: var(--space-6); flex-wrap: wrap; align-items: center; }
.cfo-hero__stat-value {
    display: block; font-size: var(--text-xl); font-weight: 800; color: var(--color-gold);
}
.cfo-hero__stat-label { display: block; font-size: var(--text-xs); color: rgba(255,255,255,.55); letter-spacing: .03em; }
.cfo-hero__stat-divider {
    width: 1px; height: 36px; background: rgba(212,168,67,.3);
}

/* -- Buttons (Gold) ------------------------------------------------------ */
.btn-gold {
    background: linear-gradient(135deg, #D4A843 0%, #E8C46A 50%, #D4A843 100%);
    color: var(--color-navy); font-weight: 700; border: none;
    box-shadow: 0 4px 20px rgba(212,168,67,.35);
}
.btn-gold:hover {
    background: linear-gradient(135deg, #d4b878 0%, #e0c88a 50%, #d4b878 100%);
    transform: translateY(-2px); box-shadow: 0 6px 28px rgba(212,168,67,.45);
}
.btn-outline-white {
    background: transparent; color: #fff; border: 2px solid rgba(255,255,255,.35);
}
.btn-outline-white:hover {
    background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.6);
}

/* -- Qualify / Pain Points ----------------------------------------------- */
.cfo-qualify { padding: var(--space-16) 0; }
.cfo-qualify__grid {
    display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-6);
    margin-top: var(--space-10);
}
.cfo-qualify__card {
    background: #fff;
    border: 1px solid var(--color-gray-200);
    border-radius: var(--radius-lg);
    padding: var(--space-6);
    transition: transform .3s, box-shadow .3s;
}
.cfo-qualify__card:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 30px rgba(0,0,0,.08);
    border-color: var(--color-gold);
}
.cfo-qualify__icon { margin-bottom: var(--space-4); }
.cfo-qualify__card p { font-size: var(--text-base); line-height: 1.6; color: var(--color-text); margin: 0; }

/* -- CFO Services Grid --------------------------------------------------- */
.cfo-services__grid {
    display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-6);
    margin-top: var(--space-10);
}
.cfo-service-card {
    background: rgba(255,255,255,.04);
    border: 1px solid rgba(212,168,67,.15);
    border-radius: var(--radius-lg);
    padding: var(--space-8);
    transition: transform .3s, border-color .3s;
}
.cfo-service-card:hover {
    transform: translateY(-4px);
    border-color: var(--color-gold);
}
.cfo-service-card__number {
    font-size: var(--text-sm); font-weight: 800; color: var(--color-gold); letter-spacing: .1em;
    margin-bottom: var(--space-3);
}
.cfo-service-card h3 {
    font-size: var(--text-lg); font-weight: 700; color: #fff; margin-bottom: var(--space-3);
}
.cfo-service-card p {
    font-size: var(--text-sm); line-height: 1.7; color: rgba(255,255,255,.6); margin: 0;
}

/* -- Comparison Table ---------------------------------------------------- */
.cfo-compare { padding: var(--space-16) 0; }
.cfo-compare__table {
    max-width: 900px; margin: var(--space-10) auto 0;
    border-radius: var(--radius-lg); overflow: hidden;
    border: 1px solid var(--color-gray-200);
}
.cfo-compare__row {
    display: grid; grid-template-columns: 1.2fr 1fr 1fr;
    border-bottom: 1px solid var(--color-gray-200);
}
.cfo-compare__row:last-child { border-bottom: none; }
.cfo-compare__row--header {
    background: var(--color-navy); color: #fff; font-weight: 700; font-size: var(--text-sm);
}
.cfo-compare__row--header .cfo-compare__cell { padding: var(--space-4) var(--space-5); }
.cfo-compare__cell {
    padding: var(--space-3) var(--space-5); font-size: var(--text-sm);
    display: flex; align-items: center;
}
.cfo-compare__cell--featured {
    background: rgba(212,168,67,.06); font-weight: 600; color: var(--color-navy);
}
.cfo-compare__row--header .cfo-compare__cell--featured {
    background: var(--color-gold); color: var(--color-navy);
}
.cfo-compare__label { font-weight: 600; color: var(--color-navy); }

/* -- Tier Cards ---------------------------------------------------------- */
.cfo-tiers__grid {
    display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-6);
    margin-top: var(--space-10); align-items: start;
}
.cfo-tier-card {
    background: #fff;
    border: 1px solid var(--color-gray-200);
    border-radius: var(--radius-lg);
    padding: var(--space-8);
    position: relative;
    transition: transform .3s, box-shadow .3s;
}
.cfo-tier-card:hover { transform: translateY(-4px); box-shadow: 0 12px 40px rgba(0,0,0,.1); }
.cfo-tier-card--featured {
    border: 2px solid var(--color-gold);
    box-shadow: 0 8px 30px rgba(212,168,67,.15);
    z-index: 1;
}
.cfo-tier-card__badge {
    position: absolute; top: -12px; left: 50%; transform: translateX(-50%);
    background: var(--color-gold); color: var(--color-navy); font-size: var(--text-xs);
    font-weight: 700; padding: 4px 16px; border-radius: 20px; letter-spacing: .05em;
}
.cfo-tier-card h3 { font-size: var(--text-xl); color: var(--color-navy); margin-bottom: var(--space-2); }
.cfo-tier-card__desc { font-size: var(--text-sm); color: var(--color-text-light); margin-bottom: var(--space-4); }
.cfo-tier-card__price {
    font-size: var(--text-lg); margin-bottom: var(--space-6);
    padding-bottom: var(--space-4); border-bottom: 1px solid var(--color-gray-200);
}
.cfo-tier-card__price strong { font-size: 1.6em; color: var(--color-navy); }
.cfo-tier-card ul { list-style: none; padding: 0; margin: 0 0 var(--space-6); }
.cfo-tier-card li {
    font-size: var(--text-sm); padding: var(--space-2) 0;
    padding-left: 24px; position: relative; color: var(--color-text);
}
.cfo-tier-card li::before {
    content: ''; position: absolute; left: 0; top: 12px;
    width: 12px; height: 12px; border-radius: 50%;
    background: var(--color-gold); opacity: .3;
}
.cfo-tier-card--featured li::before { opacity: 1; }
.btn-block { display: block; width: 100%; text-align: center; }

/* -- CFO FAQ ------------------------------------------------------------- */
.cfo-faq .faq-item {
    background: #fff; border: 1px solid var(--color-gray-200); border-radius: var(--radius-md);
    margin-bottom: var(--space-3); overflow: hidden;
}
.cfo-faq .faq-item[open] { border-color: var(--color-gold); }
.cfo-faq .faq-item__question {
    display: flex; justify-content: space-between; align-items: center;
    padding: var(--space-5) var(--space-6); cursor: pointer; font-weight: 600;
    color: var(--color-navy); font-size: var(--text-base);
    list-style: none;
}
.cfo-faq .faq-item__question::-webkit-details-marker { display: none; }
.cfo-faq .faq-item__question svg { flex-shrink: 0; transition: transform .3s; }
.cfo-faq .faq-item[open] .faq-item__question svg { transform: rotate(180deg); }
.cfo-faq .faq-item__answer {
    padding: 0 var(--space-6) var(--space-5);
    font-size: var(--text-sm); line-height: 1.7; color: var(--color-text-light);
}

/* -- CFO Final CTA ------------------------------------------------------- */
.cfo-final-cta { padding: var(--space-16) 0; }
.cfo-final-cta__inner { text-align: center; max-width: 700px; margin: 0 auto; }
.cfo-final-cta h2 { font-size: clamp(1.8rem, 3.5vw, 2.5rem); color: #fff; margin-bottom: var(--space-4); }
.cfo-final-cta p { font-size: var(--text-lg); color: rgba(255,255,255,.7); margin-bottom: var(--space-8); line-height: 1.7; }
.cfo-final-cta__actions { display: flex; gap: var(--space-4); justify-content: center; flex-wrap: wrap; }

/* -- Homepage CFO Gateway Section ---------------------------------------- */
.cfo-gateway {
    position: relative; overflow: hidden;
    padding: var(--space-16) 0;
    background: linear-gradient(135deg, #0B1D3A 0%, #162B52 50%, #1a3a5c 100%);
}
.cfo-gateway__accent {
    position: absolute; top: 0; left: 0; right: 0; height: 3px;
    background: linear-gradient(90deg, transparent, var(--color-gold), transparent);
}
.cfo-gateway__pattern {
    position: absolute; inset: 0; opacity: .04;
    background-image: repeating-linear-gradient(45deg, transparent, transparent 40px, rgba(212,168,67,.3) 40px, rgba(212,168,67,.3) 41px);
}
.cfo-gateway__inner {
    position: relative; z-index: 1;
    display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-12); align-items: center;
}
.cfo-gateway__brand { display: inline-flex; align-items: center; gap: 10px; margin-bottom: var(--space-4); }
.cfo-gateway__brand-text { display: flex; flex-direction: column; line-height: 1; }
.cfo-gateway__brand-label {
    font-family: var(--font-heading); font-size: 1.35rem; font-weight: 800; letter-spacing: 0.03em; color: var(--color-gold);
}
.cfo-gateway__brand-sub {
    font-family: var(--font-heading); font-size: 0.5rem; font-weight: 500; letter-spacing: 0.28em; text-transform: uppercase; color: rgba(212,168,67,.7); margin-top: 1px;
}
.cfo-gateway h2 {
    font-size: clamp(1.6rem, 3vw, 2.4rem); color: #fff; line-height: 1.2; margin-bottom: var(--space-4);
}
.cfo-gateway__subtitle {
    font-size: var(--text-base); line-height: 1.7; color: rgba(255,255,255,.65); margin-bottom: var(--space-6);
}
.cfo-gateway__features {
    list-style: none; padding: 0; margin: 0 0 var(--space-8); display: grid; gap: var(--space-3);
}
.cfo-gateway__features li {
    font-size: var(--text-sm); color: rgba(255,255,255,.8);
    padding-left: 28px; position: relative;
}
.cfo-gateway__features li::before {
    content: ''; position: absolute; left: 0; top: 4px;
    width: 16px; height: 16px; border-radius: 50%;
    background: var(--color-gold);
    opacity: .6;
}
.cfo-gateway__right {
    display: flex; flex-direction: column; align-items: center; justify-content: center;
}
.cfo-gateway__card {
    background: rgba(255,255,255,.05); border: 1px solid rgba(212,168,67,.25); border-radius: var(--radius-lg);
    padding: var(--space-8); text-align: center; max-width: 400px; width: 100%;
}
.cfo-gateway__card-label {
    font-size: var(--text-xs); font-weight: 700; letter-spacing: .15em; color: var(--color-gold);
    text-transform: uppercase; margin-bottom: var(--space-2);
}
.cfo-gateway__card h3 { color: #fff; font-size: var(--text-xl); margin-bottom: var(--space-2); }
.cfo-gateway__card-price {
    font-size: var(--text-sm); color: rgba(255,255,255,.6); margin-bottom: var(--space-6);
}
.cfo-gateway__card-price strong {
    font-size: var(--text-2xl); color: var(--color-gold); font-weight: 800;
}

/* -- Responsive ---------------------------------------------------------- */
@media (max-width: 1024px) {
    .cfo-qualify__grid, .cfo-services__grid, .cfo-tiers__grid { grid-template-columns: repeat(2, 1fr); }
    .cfo-gateway__inner { grid-template-columns: 1fr; text-align: center; }
    .cfo-gateway__features { justify-items: center; }
    .cfo-gateway__right { margin-top: var(--space-8); }
}
@media (max-width: 640px) {
    .cfo-hero { padding: var(--space-16) 0 var(--space-10); min-height: auto; }
    .cfo-hero__stats { flex-direction: column; gap: var(--space-4); }
    .cfo-hero__stat-divider { display: none; }
    .cfo-qualify__grid, .cfo-services__grid, .cfo-tiers__grid { grid-template-columns: 1fr; }
    .cfo-compare__row { grid-template-columns: 1fr; }
    .cfo-compare__row--header .cfo-compare__cell:first-child { display: none; }
    .cfo-compare__label { font-size: var(--text-xs); color: var(--color-text-light); }
}
