:root {
    --fhp-v2-ink: #15201b;
    --fhp-v2-green: #153c2f;
    --fhp-v2-green-bright: #205642;
    --fhp-v2-gold: #e4b85c;
    --fhp-v2-cream: #f5f0e7;
    --fhp-v2-paper: #fffdf8;
    --fhp-v2-line: rgba(21, 32, 27, .16);
    --fhp-v2-muted: #5b655f;
}

.fhp-home-v2-active .entry-header,
.fhp-home-v2-active .wp-block-post-title,
.fhp-home-v2-active main > .entry-content > h1:first-child {
    display: none;
}

.fhp-home-v2-active .site-main,
.fhp-home-v2-active .entry-content,
.fhp-home-v2-active .wp-site-blocks,
.fhp-home-v2-active main {
    max-width: none;
}

.fhp-home-v2-active .entry-content,
.fhp-home-v2-active .wp-block-post-content {
    margin: 0;
    padding: 0;
}

.fhp-v2,
.fhp-v2 * {
    box-sizing: border-box;
}

.fhp-v2 {
    overflow: hidden;
    background: var(--fhp-v2-paper);
    color: var(--fhp-v2-ink);
    font-size: 17px;
    line-height: 1.65;
}

.fhp-v2 h1,
.fhp-v2 h2,
.fhp-v2 h3,
.fhp-v2 p,
.fhp-v2 figure {
    margin-top: 0;
}

.fhp-v2 h1,
.fhp-v2 h2,
.fhp-v2 h3 {
    color: inherit;
    font-family: Georgia, 'Times New Roman', serif;
    font-weight: 700;
    letter-spacing: -.035em;
}

.fhp-v2 h1 {
    max-width: 820px;
    margin-bottom: 24px;
    font-size: clamp(3.1rem, 7.2vw, 6.7rem);
    line-height: .94;
}

.fhp-v2 h2 {
    margin-bottom: 24px;
    font-size: clamp(2.35rem, 4.7vw, 4.7rem);
    line-height: 1.02;
}

.fhp-v2 h3 {
    margin-bottom: 12px;
    font-size: clamp(1.45rem, 2vw, 1.9rem);
    line-height: 1.15;
}

.fhp-v2 p:last-child {
    margin-bottom: 0;
}

.fhp-v2-shell {
    width: min(1240px, calc(100% - 40px));
    margin-inline: auto;
}

.fhp-v2-hero {
    position: relative;
    min-height: min(810px, 88vh);
    display: grid;
    align-items: center;
    color: #fff;
    isolation: isolate;
}

.fhp-v2-hero__image,
.fhp-v2-hero__shade {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.fhp-v2-hero__image {
    z-index: -3;
    object-fit: cover;
    object-position: 62% center;
}

.fhp-v2-hero__shade {
    z-index: -2;
    background: linear-gradient(90deg, rgba(8, 16, 13, .95) 0%, rgba(8, 16, 13, .82) 36%, rgba(8, 16, 13, .22) 73%, rgba(8, 16, 13, .08) 100%);
}

.fhp-v2-hero__inner {
    padding-block: clamp(90px, 12vw, 160px);
}

.fhp-v2-eyebrow,
.fhp-v2-kicker {
    margin-bottom: 22px;
    font-size: .79rem;
    font-weight: 800;
    letter-spacing: .14em;
    line-height: 1.3;
    text-transform: uppercase;
}

.fhp-v2-eyebrow { color: var(--fhp-v2-gold); }
.fhp-v2-kicker { color: var(--fhp-v2-green-bright); }

.fhp-v2-hero__lead {
    max-width: 690px;
    margin-bottom: 32px;
    color: rgba(255, 255, 255, .88);
    font-size: clamp(1.1rem, 2vw, 1.35rem);
    line-height: 1.55;
}

.fhp-v2-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
}

.fhp-v2-button {
    display: inline-flex;
    min-height: 52px;
    align-items: center;
    justify-content: center;
    padding: 13px 22px;
    border: 1px solid transparent;
    border-radius: 3px;
    font-size: .96rem;
    font-weight: 800;
    line-height: 1.2;
    text-decoration: none !important;
    transition: transform .2s ease, background-color .2s ease, border-color .2s ease;
}

.fhp-v2-button:hover { transform: translateY(-2px); }
.fhp-v2-button:focus-visible,
.fhp-v2 summary:focus-visible,
.fhp-v2-text-link:focus-visible { outline: 3px solid #fff; outline-offset: 4px; }
.fhp-v2-button--gold { background: var(--fhp-v2-gold); color: #1b1a13 !important; }
.fhp-v2-button--gold:hover { background: #efca7b; }
.fhp-v2-button--ghost { border-color: rgba(255,255,255,.5); background: rgba(255,255,255,.05); color: #fff !important; backdrop-filter: blur(6px); }
.fhp-v2-button--ghost:hover { border-color: #fff; background: rgba(255,255,255,.12); }

.fhp-v2-hero__note {
    margin: 20px 0 0;
    color: rgba(255,255,255,.68);
    font-size: .88rem;
}

.fhp-v2-proof {
    border-bottom: 1px solid var(--fhp-v2-line);
    background: #fff;
}

.fhp-v2-proof__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
}

.fhp-v2-proof__grid > div {
    padding: 28px clamp(12px, 3vw, 42px);
    border-right: 1px solid var(--fhp-v2-line);
}

.fhp-v2-proof__grid > div:first-child { padding-left: 0; }
.fhp-v2-proof__grid > div:last-child { border-right: 0; }
.fhp-v2-proof strong,
.fhp-v2-proof span { display: block; }
.fhp-v2-proof strong { margin-bottom: 3px; color: var(--fhp-v2-green); font-size: .98rem; }
.fhp-v2-proof span { color: var(--fhp-v2-muted); font-size: .86rem; line-height: 1.45; }

.fhp-v2-section {
    padding-block: clamp(76px, 9vw, 132px);
}

.fhp-v2-section--cream { background: var(--fhp-v2-cream); }

.fhp-v2-intro__grid,
.fhp-v2-heading-row,
.fhp-v2-faq__grid {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(320px, .75fr);
    gap: clamp(40px, 7vw, 110px);
}

.fhp-v2-intro h2 { max-width: 790px; }
.fhp-v2-intro__copy { padding-top: 42px; color: var(--fhp-v2-muted); font-size: 1.09rem; }

.fhp-v2-heading-row {
    align-items: end;
    margin-bottom: 52px;
}

.fhp-v2-heading-row h2 { max-width: 780px; margin-bottom: 0; }
.fhp-v2-heading-row > p { color: var(--fhp-v2-muted); }

.fhp-v2-card-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
}

.fhp-v2-card {
    min-height: 325px;
    padding: 32px;
    border-top: 4px solid var(--fhp-v2-green);
    background: var(--fhp-v2-paper);
    box-shadow: 0 20px 50px rgba(21, 32, 27, .07);
}

.fhp-v2-card__number {
    display: block;
    margin-bottom: 82px;
    color: #9a7a3e;
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .12em;
}

.fhp-v2-card p { color: var(--fhp-v2-muted); font-size: .96rem; }

.fhp-v2-review { background: var(--fhp-v2-green); color: #fff; }
.fhp-v2-review .fhp-v2-kicker { color: var(--fhp-v2-gold); }

.fhp-v2-review__grid {
    display: grid;
    grid-template-columns: minmax(0, 1.12fr) minmax(340px, .88fr);
    gap: clamp(48px, 8vw, 115px);
    align-items: center;
}

.fhp-v2-review__media { margin: 0; }
.fhp-v2-review__media img { display: block; width: 100%; aspect-ratio: 3 / 2; object-fit: cover; border-radius: 2px; }
.fhp-v2-review__media figcaption { margin-top: 12px; color: rgba(255,255,255,.62); font-size: .79rem; }
.fhp-v2-review__content > p { color: rgba(255,255,255,.78); }

.fhp-v2-ticks {
    display: grid;
    gap: 11px;
    margin: 28px 0 30px;
    padding: 0;
    list-style: none;
}

.fhp-v2-ticks li { position: relative; padding-left: 28px; color: rgba(255,255,255,.9); }
.fhp-v2-ticks li::before { content: '✓'; position: absolute; left: 0; color: var(--fhp-v2-gold); font-weight: 900; }

.fhp-v2-text-link {
    display: inline-flex;
    gap: 9px;
    align-items: center;
    color: var(--fhp-v2-gold) !important;
    font-weight: 800;
    text-decoration: none !important;
}

.fhp-v2-text-link span { transition: transform .2s ease; }
.fhp-v2-text-link:hover span { transform: translateX(4px); }

.fhp-v2-process { background: #fff; }
.fhp-v2-process h2 { max-width: 900px; }

.fhp-v2-process__steps {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0;
    margin: 58px 0 0;
    padding: 0;
    list-style: none;
    counter-reset: none;
}

.fhp-v2-process__steps li {
    display: flex;
    gap: 20px;
    padding: 28px 30px 28px 0;
    border-top: 1px solid var(--fhp-v2-line);
}

.fhp-v2-process__steps li + li { padding-left: 30px; border-left: 1px solid var(--fhp-v2-line); }
.fhp-v2-process__steps span { flex: 0 0 auto; color: #9a7a3e; font-size: .82rem; font-weight: 900; }
.fhp-v2-process__steps p { color: var(--fhp-v2-muted); font-size: .94rem; }

.fhp-v2-faq { background: var(--fhp-v2-cream); }
.fhp-v2-faq__list { border-top: 1px solid var(--fhp-v2-line); }
.fhp-v2-faq details { border-bottom: 1px solid var(--fhp-v2-line); }
.fhp-v2-faq summary { padding: 23px 38px 23px 0; cursor: pointer; color: var(--fhp-v2-ink); font-weight: 800; line-height: 1.35; }
.fhp-v2-faq details p { padding: 0 30px 24px 0; color: var(--fhp-v2-muted); }

.fhp-v2-cta {
    padding-block: clamp(65px, 8vw, 105px);
    background: #101a16;
    color: #fff;
}

.fhp-v2-cta__inner { display: flex; gap: 40px; align-items: center; justify-content: space-between; }
.fhp-v2-cta h2 { max-width: 820px; margin-bottom: 0; }
.fhp-v2-cta .fhp-v2-button { flex: 0 0 auto; }

@media (max-width: 900px) {
    .fhp-v2-hero { min-height: 740px; }
    .fhp-v2-hero__image { object-position: 68% center; }
    .fhp-v2-hero__shade { background: linear-gradient(90deg, rgba(8,16,13,.94) 0%, rgba(8,16,13,.78) 58%, rgba(8,16,13,.26) 100%); }
    .fhp-v2-proof__grid,
    .fhp-v2-card-grid,
    .fhp-v2-process__steps { grid-template-columns: 1fr; }
    .fhp-v2-proof__grid > div,
    .fhp-v2-proof__grid > div:first-child { padding: 20px 0; border-right: 0; border-bottom: 1px solid var(--fhp-v2-line); }
    .fhp-v2-proof__grid > div:last-child { border-bottom: 0; }
    .fhp-v2-intro__grid,
    .fhp-v2-heading-row,
    .fhp-v2-review__grid,
    .fhp-v2-faq__grid { grid-template-columns: 1fr; gap: 30px; }
    .fhp-v2-intro__copy { padding-top: 0; }
    .fhp-v2-heading-row { align-items: start; margin-bottom: 38px; }
    .fhp-v2-card { min-height: 0; }
    .fhp-v2-card__number { margin-bottom: 42px; }
    .fhp-v2-process__steps li,
    .fhp-v2-process__steps li + li { padding: 24px 0; border-left: 0; }
    .fhp-v2-cta__inner { display: grid; justify-items: start; }
}

@media (max-width: 600px) {
    .fhp-v2 { font-size: 16px; }
    .fhp-v2-shell { width: min(100% - 30px, 1240px); }
    .fhp-v2-hero { min-height: 720px; align-items: end; }
    .fhp-v2-hero__image { object-position: 72% center; }
    .fhp-v2-hero__shade { background: linear-gradient(0deg, rgba(8,16,13,.98) 0%, rgba(8,16,13,.84) 58%, rgba(8,16,13,.34) 100%); }
    .fhp-v2-hero__inner { padding-block: 72px 58px; }
    .fhp-v2 h1 { font-size: clamp(3rem, 15vw, 4.4rem); }
    .fhp-v2 h2 { font-size: clamp(2.2rem, 11vw, 3.25rem); }
    .fhp-v2-actions { display: grid; }
    .fhp-v2-button { width: 100%; }
    .fhp-v2-card { padding: 26px; }
}

@media (prefers-reduced-motion: reduce) {
    .fhp-v2 *,
    .fhp-v2 *::before,
    .fhp-v2 *::after { scroll-behavior: auto !important; transition: none !important; }
}

