/*
 * Fair E Web Host
 * Public Website Design System v10
 *
 * Loaded after the existing page CSS.
 * Provides one visual authority across:
 *   - native v9 PHP pages
 *   - hybrid legacy service pages
 *   - legal/support pages
 *
 * Legacy source CSS remains in place during the migration.
 */


/* ============================================================
   DESIGN TOKENS
   ============================================================ */

:root {
    --fwh10-navy: #0b2f4a;
    --fwh10-navy-deep: #08263c;
    --fwh10-blue: #0d587f;

    --fwh10-green: #159447;
    --fwh10-green-dark: #11783a;
    --fwh10-green-soft: #eaf7ef;

    --fwh10-ink: #102333;
    --fwh10-copy: #445767;
    --fwh10-muted: #697b8b;

    --fwh10-bg: #f5f8fa;
    --fwh10-soft: #f0f5f7;
    --fwh10-surface: #ffffff;

    --fwh10-border: #dce6ec;
    --fwh10-border-strong: #cad9e2;

    --fwh10-radius-sm: 9px;
    --fwh10-radius: 14px;
    --fwh10-radius-lg: 20px;

    --fwh10-shadow-sm:
        0 2px 6px rgba(15, 35, 50, .035),
        0 8px 22px rgba(15, 35, 50, .045);

    --fwh10-shadow:
        0 20px 55px rgba(8, 38, 60, .12);

    --fwh10-max: 1180px;
}


/* ============================================================
   GLOBAL PUBLIC SITE
   ============================================================ */

html {
    scroll-behavior: smooth;
}

body.fwh-site-v10 {
    margin: 0;
    color: var(--fwh10-ink);
    background: var(--fwh10-bg);
    font-family:
        Inter,
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        Roboto,
        Helvetica,
        Arial,
        sans-serif;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

body.fwh-site-v10 a {
    text-underline-offset: 3px;
}

body.fwh-site-v10 img {
    max-width: 100%;
}


/* ============================================================
   SHARED V9 CHROME
   ============================================================ */

body.fwh-site-v10 .fwh-utility {
    background: var(--fwh10-navy-deep);
}

body.fwh-site-v10 .fwh-v9-header {
    background: rgba(255, 255, 255, .975);
    border-bottom: 1px solid var(--fwh10-border);
    box-shadow:
        0 1px 2px rgba(15, 35, 50, .025),
        0 8px 28px rgba(15, 35, 50, .045);
    backdrop-filter: blur(18px);
}

body.fwh-site-v10 .fwh-nav-link {
    color: #30495b;
    font-weight: 700;
}

body.fwh-site-v10 .fwh-nav-link:hover,
body.fwh-site-v10 .fwh-nav-item.is-open > .fwh-nav-link {
    color: var(--fwh10-green-dark);
}

body.fwh-site-v10 .fwh-mega {
    border: 1px solid var(--fwh10-border);
    border-radius: var(--fwh10-radius);
    box-shadow: var(--fwh10-shadow);
}

body.fwh-site-v10 .fwh-mega-link {
    border-radius: 10px;
}

body.fwh-site-v10 .fwh-mega-link:hover {
    background: #f1f8f4;
}

body.fwh-site-v10 .fwh-mega-icon {
    color: var(--fwh10-green-dark);
    background: var(--fwh10-green-soft);
}

body.fwh-site-v10 .fwh-btn {
    border-radius: 9px;
    font-weight: 750;
}

body.fwh-site-v10 .fwh-btn-primary {
    background: var(--fwh10-green);
    border-color: var(--fwh10-green);
    box-shadow: 0 6px 18px rgba(21, 148, 71, .17);
}

body.fwh-site-v10 .fwh-btn-primary:hover {
    background: var(--fwh10-green-dark);
    border-color: var(--fwh10-green-dark);
}

body.fwh-site-v10 .fwh-directory-footer {
    background:
        linear-gradient(
            180deg,
            var(--fwh10-navy) 0%,
            var(--fwh10-navy-deep) 100%
        );
}


/* ============================================================
   NATIVE V9 PAGE REFINEMENT
   ============================================================ */

body.fwh-v9.fwh-site-v10 .fwh-page-hero {
    background:
        radial-gradient(
            circle at 80% 20%,
            rgba(35, 174, 94, .16),
            transparent 34%
        ),
        linear-gradient(
            135deg,
            var(--fwh10-navy-deep),
            var(--fwh10-blue)
        );
}

body.fwh-v9.fwh-site-v10 .fwh-page-hero h1,
body.fwh-v9.fwh-site-v10 .fwh-home-hero h1 {
    letter-spacing: -.045em;
}

body.fwh-v9.fwh-site-v10 .fwh-service-card,
body.fwh-v9.fwh-site-v10 .fwh-feature-box,
body.fwh-v9.fwh-site-v10 .fwh-use-card,
body.fwh-v9.fwh-site-v10 .fwh-info-panel,
body.fwh-v9.fwh-site-v10 .fwh-live-card {
    border-color: var(--fwh10-border);
    border-radius: var(--fwh10-radius);
    box-shadow: var(--fwh10-shadow-sm);
}

body.fwh-v9.fwh-site-v10 .fwh-service-card:hover,
body.fwh-v9.fwh-site-v10 .fwh-live-card:hover {
    border-color: #b8d8c4;
    box-shadow:
        0 16px 38px rgba(8, 38, 60, .09);
}


/* ============================================================
   LEGACY / HYBRID CONTENT FOUNDATION
   ============================================================ */

body.fwh-legacy-body-upgraded {
    background: var(--fwh10-bg) !important;
    color: var(--fwh10-ink);
}

body.fwh-legacy-body-upgraded main {
    display: block;
    background: var(--fwh10-bg);
}

body.fwh-legacy-body-upgraded main .container {
    width: min(
        calc(100% - 40px),
        var(--fwh10-max)
    ) !important;

    max-width: var(--fwh10-max) !important;
    margin-left: auto !important;
    margin-right: auto !important;
}


/* ============================================================
   LEGACY HEROES
   ============================================================ */

body.fwh-legacy-body-upgraded main > .hero,
body.fwh-legacy-body-upgraded main > .about-hero,
body.fwh-legacy-body-upgraded main > .contact-hero,
body.fwh-legacy-body-upgraded main > .legal-hero,
body.fwh-legacy-body-upgraded main > .support-hero,
body.fwh-legacy-body-upgraded main > [class$="-hero"] {
    position: relative;
    overflow: hidden;

    padding-top: 84px !important;
    padding-bottom: 84px !important;

    color: #fff !important;

    background:
        radial-gradient(
            circle at 84% 16%,
            rgba(39, 189, 102, .18),
            transparent 34%
        ),
        linear-gradient(
            135deg,
            var(--fwh10-navy-deep) 0%,
            var(--fwh10-blue) 100%
        ) !important;
}

body.fwh-legacy-body-upgraded main > .hero::after,
body.fwh-legacy-body-upgraded main > [class$="-hero"]::after {
    content: "";
    position: absolute;
    width: 420px;
    height: 420px;
    right: -210px;
    bottom: -285px;

    border-radius: 50%;
    border: 70px solid rgba(255, 255, 255, .035);

    pointer-events: none;
}

body.fwh-legacy-body-upgraded main .hero h1,
body.fwh-legacy-body-upgraded main .about-hero h1,
body.fwh-legacy-body-upgraded main .contact-hero h1,
body.fwh-legacy-body-upgraded main .legal-hero h1,
body.fwh-legacy-body-upgraded main [class$="-hero"] h1 {
    margin-bottom: 18px !important;
    color: #fff !important;

    font-size: clamp(
        2.15rem,
        5vw,
        4rem
    ) !important;

    line-height: 1.04 !important;
    letter-spacing: -.048em !important;
    font-weight: 850 !important;
}

body.fwh-legacy-body-upgraded main .hero p,
body.fwh-legacy-body-upgraded main .hero .lead,
body.fwh-legacy-body-upgraded main [class$="-hero"] p {
    color: rgba(255, 255, 255, .82) !important;
    line-height: 1.7 !important;
}


/* ============================================================
   LEGACY SECTIONS
   ============================================================ */

body.fwh-legacy-body-upgraded main > section:not(.hero):not([class$="-hero"]) {
    padding-top: 76px;
    padding-bottom: 76px;
}

body.fwh-legacy-body-upgraded main > section:nth-of-type(odd):not(.hero):not([class$="-hero"]) {
    background: var(--fwh10-surface);
}

body.fwh-legacy-body-upgraded main > section:nth-of-type(even):not(.hero):not([class$="-hero"]) {
    background: var(--fwh10-bg);
}

body.fwh-legacy-body-upgraded main .section-title,
body.fwh-legacy-body-upgraded main .section-header h2,
body.fwh-legacy-body-upgraded main section > .container > h2 {
    color: var(--fwh10-navy) !important;
    font-weight: 825 !important;
    letter-spacing: -.035em !important;
}

body.fwh-legacy-body-upgraded main .section-title {
    font-size: clamp(
        1.8rem,
        3vw,
        2.55rem
    ) !important;
}

body.fwh-legacy-body-upgraded main .section-subtitle {
    color: var(--fwh10-muted) !important;
    line-height: 1.7;
}


/* ============================================================
   LEGACY BUTTONS
   ============================================================ */

body.fwh-legacy-body-upgraded main .btn,
body.fwh-legacy-body-upgraded main a.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;

    min-height: 43px;
    padding: 11px 19px !important;

    border: 1px solid transparent;
    border-radius: 9px !important;

    font-weight: 750 !important;
    line-height: 1.2;
    text-decoration: none !important;

    transition:
        transform .16s ease,
        background-color .16s ease,
        border-color .16s ease,
        box-shadow .16s ease;
}

body.fwh-legacy-body-upgraded main .btn:hover {
    transform: translateY(-1px);
}

body.fwh-legacy-body-upgraded main .btn-primary {
    color: #fff !important;
    background: var(--fwh10-green) !important;
    border-color: var(--fwh10-green) !important;
    box-shadow:
        0 6px 17px rgba(21, 148, 71, .16);
}

body.fwh-legacy-body-upgraded main .btn-primary:hover {
    background: var(--fwh10-green-dark) !important;
    border-color: var(--fwh10-green-dark) !important;
}

body.fwh-legacy-body-upgraded main .btn-outline,
body.fwh-legacy-body-upgraded main .btn-secondary {
    color: var(--fwh10-navy) !important;
    background: #fff !important;
    border-color: var(--fwh10-border-strong) !important;
}


/* ============================================================
   LEGACY CARDS
   ============================================================ */

body.fwh-legacy-body-upgraded main .pricing-card,
body.fwh-legacy-body-upgraded main .plan,
body.fwh-legacy-body-upgraded main .feature-card,
body.fwh-legacy-body-upgraded main .benefit-item,
body.fwh-legacy-body-upgraded main .info-card,
body.fwh-legacy-body-upgraded main .category-card,
body.fwh-legacy-body-upgraded main .legal-card,
body.fwh-legacy-body-upgraded main .testimonial,
body.fwh-legacy-body-upgraded main .faq-item,
body.fwh-legacy-body-upgraded main .card {
    background: #fff !important;

    border: 1px solid var(--fwh10-border) !important;
    border-radius: var(--fwh10-radius) !important;

    box-shadow: var(--fwh10-shadow-sm) !important;
}

body.fwh-legacy-body-upgraded main .pricing-card,
body.fwh-legacy-body-upgraded main .plan {
    overflow: hidden;
}

body.fwh-legacy-body-upgraded main .pricing-card:hover,
body.fwh-legacy-body-upgraded main .plan:hover,
body.fwh-legacy-body-upgraded main .feature-card:hover,
body.fwh-legacy-body-upgraded main .info-card:hover,
body.fwh-legacy-body-upgraded main .category-card:hover {
    border-color: #b9d9c5 !important;
    box-shadow:
        0 15px 38px rgba(8, 38, 60, .09) !important;
}


/* ============================================================
   ICONS
   ============================================================ */

body.fwh-legacy-body-upgraded main .feature-icon,
body.fwh-legacy-body-upgraded main .benefit-icon,
body.fwh-legacy-body-upgraded main .info-card-icon,
body.fwh-legacy-body-upgraded main .channel-icon,
body.fwh-legacy-body-upgraded main .contact-info-icon {
    color: var(--fwh10-green-dark) !important;
    background: var(--fwh10-green-soft) !important;

    border-radius: 12px !important;
}


/* ============================================================
   PRICING
   ============================================================ */

body.fwh-legacy-body-upgraded main .plan-price,
body.fwh-legacy-body-upgraded main .price {
    color: var(--fwh10-navy) !important;
}

body.fwh-legacy-body-upgraded main .amount {
    color: var(--fwh10-navy) !important;
    font-weight: 850 !important;
    letter-spacing: -.045em;
}

body.fwh-legacy-body-upgraded main .plan-header,
body.fwh-legacy-body-upgraded main .card-header {
    border-bottom:
        1px solid var(--fwh10-border) !important;
}


/* ============================================================
   DOMAIN SEARCH
   ============================================================ */

body.fwh-legacy-body-upgraded main .domain-search-box {
    max-width: 850px;
    margin-left: auto;
    margin-right: auto;

    padding: 18px !important;

    background: rgba(255, 255, 255, .98) !important;
    border: 1px solid rgba(255, 255, 255, .65) !important;
    border-radius: 16px !important;

    box-shadow: var(--fwh10-shadow) !important;
}

body.fwh-legacy-body-upgraded main .search-input-group {
    display: flex;
    gap: 10px;
}

body.fwh-legacy-body-upgraded main .domain-input {
    flex: 1 1 auto;

    min-height: 52px;
    padding: 0 16px;

    color: var(--fwh10-ink);
    background: #fff;

    border:
        1px solid var(--fwh10-border-strong) !important;
    border-radius: 10px !important;

    outline: 0;
}

body.fwh-legacy-body-upgraded main .domain-input:focus {
    border-color: #63bd83 !important;
    box-shadow:
        0 0 0 3px rgba(21, 148, 71, .11);
}

body.fwh-legacy-body-upgraded main .tld-tag {
    border:
        1px solid var(--fwh10-border) !important;

    border-radius: 999px !important;

    color: var(--fwh10-navy) !important;
    background: #fff !important;
}

body.fwh-legacy-body-upgraded main .domain-price-table {
    width: 100%;
    overflow: hidden;

    background: #fff;

    border-collapse: separate !important;
    border-spacing: 0 !important;

    border:
        1px solid var(--fwh10-border) !important;
    border-radius: var(--fwh10-radius) !important;

    box-shadow: var(--fwh10-shadow-sm);
}

body.fwh-legacy-body-upgraded main .domain-price-table th {
    padding: 15px 16px !important;

    color: #5c7080 !important;
    background: #f5f8fa !important;

    border-bottom:
        1px solid var(--fwh10-border) !important;

    font-size: .74rem;
    letter-spacing: .045em;
    text-transform: uppercase;
}

body.fwh-legacy-body-upgraded main .domain-price-table td {
    padding: 15px 16px !important;
    border-bottom:
        1px solid #edf1f4 !important;
}


/* ============================================================
   FAQ
   ============================================================ */

body.fwh-legacy-body-upgraded main .faq-item {
    overflow: hidden;
    margin-bottom: 12px !important;
}

body.fwh-legacy-body-upgraded main .faq-question {
    color: var(--fwh10-navy) !important;
    font-weight: 775 !important;
}

body.fwh-legacy-body-upgraded main .faq-answer,
body.fwh-legacy-body-upgraded main .faq-content {
    color: var(--fwh10-copy) !important;
    line-height: 1.72 !important;
}


/* ============================================================
   FORMS
   ============================================================ */

body.fwh-legacy-body-upgraded main input:not([type="checkbox"]):not([type="radio"]),
body.fwh-legacy-body-upgraded main select,
body.fwh-legacy-body-upgraded main textarea {
    border:
        1px solid var(--fwh10-border-strong) !important;

    border-radius: 9px !important;
}

body.fwh-legacy-body-upgraded main input:focus,
body.fwh-legacy-body-upgraded main select:focus,
body.fwh-legacy-body-upgraded main textarea:focus {
    border-color: #63bd83 !important;
    outline: none !important;

    box-shadow:
        0 0 0 3px rgba(21, 148, 71, .11) !important;
}


/* ============================================================
   LEGAL CONTENT
   ============================================================ */

body.fwh-legacy-body-upgraded main .legal-content,
body.fwh-legacy-body-upgraded main .legal-section {
    color: var(--fwh10-copy);
}

body.fwh-legacy-body-upgraded main .legal-card h2,
body.fwh-legacy-body-upgraded main .legal-card h3, .legal-card-title,
body.fwh-legacy-body-upgraded main .card h2,
body.fwh-legacy-body-upgraded main .card h3 {
    color: var(--fwh10-navy) !important;
}


/* ============================================================
   CONTENT TYPOGRAPHY
   ============================================================ */

body.fwh-legacy-body-upgraded main p,
body.fwh-legacy-body-upgraded main li {
    line-height: 1.7;
}

body.fwh-legacy-body-upgraded main p {
    color: var(--fwh10-copy);
}


/* ============================================================
   RESPONSIVE
   ============================================================ */

@media (max-width: 767.98px) {

    body.fwh-legacy-body-upgraded main .container {
        width:
            min(
                calc(100% - 28px),
                var(--fwh10-max)
            ) !important;
    }

    body.fwh-legacy-body-upgraded main > .hero,
    body.fwh-legacy-body-upgraded main > [class$="-hero"] {
        padding-top: 62px !important;
        padding-bottom: 62px !important;
    }

    body.fwh-legacy-body-upgraded main > section:not(.hero):not([class$="-hero"]) {
        padding-top: 54px;
        padding-bottom: 54px;
    }

    body.fwh-legacy-body-upgraded main .search-input-group {
        flex-direction: column;
    }

    body.fwh-legacy-body-upgraded main .domain-input,
    body.fwh-legacy-body-upgraded main .search-input-group .btn {
        width: 100%;
    }

    body.fwh-site-v10 .fwh-directory-grid {
        gap: 34px 22px;
    }
}


/* ============================================================
   FWH NATIVE CONTENT V10
   Replaces legacy main.css requirements on PHP content pages.
   ============================================================ */

body.fwh-v9.fwh-site-v10 .container {
    width: min(1180px, calc(100% - 38px));
    max-width: 1180px;
    margin-left: auto;
    margin-right: auto;
}

body.fwh-v9.fwh-site-v10 :where(
    a,
    button,
    input,
    select,
    textarea,
    summary,
    [tabindex]
):focus-visible {
    outline: 3px solid #f59e0b !important;
    outline-offset: 3px !important;
}


/* ============================================================
   LEGACY-NAMED BUTTONS ON NATIVE PHP PAGES
   ============================================================ */

body.fwh-v9.fwh-site-v10 .btn,
body.fwh-v9.fwh-site-v10 .btn-primary,
body.fwh-v9.fwh-site-v10 .btn-secondary,
body.fwh-v9.fwh-site-v10 .btn--primary,
body.fwh-v9.fwh-site-v10 .btn--secondary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;

    min-height: 44px;
    padding: 10px 18px;

    border: 1px solid transparent;
    border-radius: 9px;

    font: inherit;
    font-weight: 750;

    text-decoration: none;

    transition:
        transform .16s ease,
        background-color .16s ease,
        border-color .16s ease,
        box-shadow .16s ease;
}

body.fwh-v9.fwh-site-v10 .btn:hover,
body.fwh-v9.fwh-site-v10 .btn-primary:hover,
body.fwh-v9.fwh-site-v10 .btn--primary:hover {
    transform: translateY(-1px);
}

body.fwh-v9.fwh-site-v10 .btn-primary,
body.fwh-v9.fwh-site-v10 .btn--primary {
    color: #fff !important;
    background: var(--fwh10-green) !important;
    border-color: var(--fwh10-green) !important;
    box-shadow: 0 6px 18px rgba(21,148,71,.15);
}

body.fwh-v9.fwh-site-v10 .btn-primary:hover,
body.fwh-v9.fwh-site-v10 .btn--primary:hover {
    background: var(--fwh10-green-dark) !important;
    border-color: var(--fwh10-green-dark) !important;
}

body.fwh-v9.fwh-site-v10 .btn-secondary,
body.fwh-v9.fwh-site-v10 .btn--secondary {
    color: var(--fwh10-navy) !important;
    background: #fff !important;
    border-color: var(--fwh10-border-strong) !important;
}


/* ============================================================
   ABOUT PAGE
   ============================================================ */

body.fwh-v9.fwh-site-v10 .about-hero {
    position: relative;
    overflow: hidden;

    padding: 82px 0 76px;

    color: #fff;
    text-align: center;

    background:
        radial-gradient(
            circle at 82% 16%,
            rgba(34,197,94,.18),
            transparent 34%
        ),
        linear-gradient(
            135deg,
            var(--fwh10-navy-deep),
            var(--fwh10-blue)
        ) !important;
}

body.fwh-v9.fwh-site-v10 .about-hero h1 {
    margin: 0 0 18px;

    color: #fff !important;

    font-size: clamp(2.45rem,5vw,4.25rem);
    line-height: 1.04;
    letter-spacing: -.05em;
}

body.fwh-v9.fwh-site-v10 .about-hero > .container > p {
    max-width: 760px;
    margin: 0 auto;

    color: #d9eaf2;

    font-size: 1.1rem;
    line-height: 1.7;
}

body.fwh-v9.fwh-site-v10 .hero-stats {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));

    max-width: 720px;
    margin: 40px auto 0;

    border: 1px solid rgba(255,255,255,.16);
    border-radius: 16px;

    background: rgba(255,255,255,.08);

    backdrop-filter: blur(10px);
}

body.fwh-v9.fwh-site-v10 .stat-item {
    padding: 20px 16px;
}

body.fwh-v9.fwh-site-v10 .stat-number {
    display: block;

    color: #fff;

    font-size: 1.7rem;
    font-weight: 850;
}

body.fwh-v9.fwh-site-v10 .stat-label {
    color: #cde0ea;
    font-size: .8rem;
}

body.fwh-v9.fwh-site-v10 :where(
    .our-story,
    .our-values,
    .our-team,
    .our-infrastructure,
    .testimonials
) {
    padding: 78px 0;
}

body.fwh-v9.fwh-site-v10 :where(
    .our-values,
    .testimonials
) {
    background: #f3f7f9;
}

body.fwh-v9.fwh-site-v10 .story-grid,
body.fwh-v9.fwh-site-v10 .infrastructure-grid {
    display: grid;
    grid-template-columns: minmax(0,1.05fr) minmax(300px,.95fr);
    gap: 52px;
    align-items: center;
}

body.fwh-v9.fwh-site-v10 :where(
    .story-content,
    .infrastructure-content
) h2,
body.fwh-v9.fwh-site-v10 :where(
    .our-values,
    .our-team,
    .testimonials
) > .container > h2 {
    color: var(--fwh10-navy) !important;

    font-size: clamp(1.9rem,3vw,2.65rem);
    letter-spacing: -.035em;
}

body.fwh-v9.fwh-site-v10 :where(
    .story-content,
    .infrastructure-content
) p {
    color: var(--fwh10-copy);
    line-height: 1.75;
}

body.fwh-v9.fwh-site-v10 .story-highlights {
    display: grid;
    gap: 12px;
    margin-top: 25px;
}

body.fwh-v9.fwh-site-v10 .highlight-item,
body.fwh-v9.fwh-site-v10 .infrastructure-list li {
    display: flex;
    align-items: flex-start;
    gap: 12px;

    padding: 15px;

    border: 1px solid var(--fwh10-border);
    border-radius: 11px;

    background: #fff;
}

body.fwh-v9.fwh-site-v10 .highlight-item i,
body.fwh-v9.fwh-site-v10 .infrastructure-list li i {
    color: var(--fwh10-green);
}

body.fwh-v9.fwh-site-v10 .story-image img,
body.fwh-v9.fwh-site-v10 .infrastructure-image img {
    display: block;
    width: 100%;

    border-radius: 20px;

    box-shadow: var(--fwh10-shadow);
}

body.fwh-v9.fwh-site-v10 .values-grid {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 18px;
}

body.fwh-v9.fwh-site-v10 .value-item {
    padding: 25px;

    background: #fff;

    border: 1px solid var(--fwh10-border);
    border-radius: 15px;

    box-shadow: var(--fwh10-shadow-sm);
}

body.fwh-v9.fwh-site-v10 .value-icon {
    display: grid;
    place-items: center;

    width: 48px;
    height: 48px;
    margin-bottom: 17px;

    color: var(--fwh10-green-dark);

    background: var(--fwh10-green-soft);

    border-radius: 12px;
}

body.fwh-v9.fwh-site-v10 .value-item h3 {
    color: var(--fwh10-navy);
}

body.fwh-v9.fwh-site-v10 .value-item p {
    color: var(--fwh10-copy);
}

body.fwh-v9.fwh-site-v10 .team-grid,
body.fwh-v9.fwh-site-v10 .testimonials-grid {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 20px;
}

body.fwh-v9.fwh-site-v10 .team-member,
body.fwh-v9.fwh-site-v10 .testimonial {
    overflow: hidden;

    padding: 24px;

    background: #fff;

    border: 1px solid var(--fwh10-border);
    border-radius: 15px;

    box-shadow: var(--fwh10-shadow-sm);
}

body.fwh-v9.fwh-site-v10 .member-image img {
    width: 100%;
    border-radius: 12px;
}

body.fwh-v9.fwh-site-v10 .team-member h3 {
    color: var(--fwh10-navy);
}

body.fwh-v9.fwh-site-v10 .member-title,
body.fwh-v9.fwh-site-v10 .member-bio,
body.fwh-v9.fwh-site-v10 .testimonial p {
    color: var(--fwh10-copy);
}

body.fwh-v9.fwh-site-v10 .stars {
    color: #e6a700;
}

body.fwh-v9.fwh-site-v10 .cta {
    padding: 58px 0;

    color: #fff;

    text-align: center;

    background:
        linear-gradient(
            135deg,
            var(--fwh10-navy),
            var(--fwh10-blue)
        ) !important;
}

body.fwh-v9.fwh-site-v10 .cta h2 {
    color: #fff !important;
}

body.fwh-v9.fwh-site-v10 .cta p {
    color: #d6e7ef;
}


/* ============================================================
   CONTACT PAGE
   ============================================================ */

body.fwh-v9.fwh-site-v10 .contact-hero {
    padding: 80px 0;

    text-align: center;

    background:
        radial-gradient(
            circle at 82% 16%,
            rgba(34,197,94,.18),
            transparent 34%
        ),
        linear-gradient(
            135deg,
            var(--fwh10-navy-deep),
            var(--fwh10-blue)
        ) !important;
}

body.fwh-v9.fwh-site-v10 .contact-hero h1 {
    color: #fff !important;

    font-size: clamp(2.4rem,5vw,4rem);
    letter-spacing: -.045em;
}

body.fwh-v9.fwh-site-v10 .contact-hero p {
    color: #d8e9f1 !important;
}

body.fwh-v9.fwh-site-v10 .contact-section {
    padding: 72px 0;

    background: var(--fwh10-bg) !important;
}

body.fwh-v9.fwh-site-v10 .contact-grid {
    display: grid;
    grid-template-columns: minmax(0,1.2fr) minmax(300px,.8fr);
    gap: 24px;

    margin-top: 0;
}

body.fwh-v9.fwh-site-v10 .contact-card {
    padding: 28px;

    background: #fff;

    border: 1px solid var(--fwh10-border);
    border-radius: 15px;

    box-shadow: var(--fwh10-shadow-sm);
}

body.fwh-v9.fwh-site-v10 .contact-card h2,
body.fwh-v9.fwh-site-v10 .section-header h2 {
    color: var(--fwh10-navy) !important;

    letter-spacing: -.025em;
}

body.fwh-v9.fwh-site-v10 .contact-card > p {
    color: var(--fwh10-copy);
}

body.fwh-v9.fwh-site-v10 .form-group label {
    color: #34495a;

    font-size: .83rem;
    font-weight: 750;
}

body.fwh-v9.fwh-site-v10 .form-group :where(
    input,
    select,
    textarea
) {
    width: 100%;

    border: 1px solid var(--fwh10-border-strong) !important;
    border-radius: 9px !important;

    color: var(--fwh10-ink) !important;

    font: inherit !important;
}

body.fwh-v9.fwh-site-v10 .form-group :where(
    input,
    select,
    textarea
):focus {
    border-color: #63bd83 !important;

    box-shadow:
        0 0 0 3px rgba(21,148,71,.11) !important;
}

body.fwh-v9.fwh-site-v10 .contact-info-item {
    display: flex;
    gap: 14px;

    padding: 16px;

    background: #f8fafb !important;

    border: 1px solid var(--fwh10-border) !important;
    border-radius: 11px !important;
}

body.fwh-v9.fwh-site-v10 .contact-info-icon {
    display: grid;
    place-items: center;

    width: 46px;
    height: 46px;

    flex: 0 0 46px;

    color: var(--fwh10-green-dark) !important;
    background: var(--fwh10-green-soft) !important;

    border-radius: 11px !important;
}

body.fwh-v9.fwh-site-v10 .contact-info-content h3 {
    color: var(--fwh10-navy) !important;
}

body.fwh-v9.fwh-site-v10 .contact-info-content :where(
    p,
    a
) {
    color: var(--fwh10-copy) !important;
}

body.fwh-v9.fwh-site-v10 .channels-section,
body.fwh-v9.fwh-site-v10 .faq-section {
    padding: 72px 0;
}

body.fwh-v9.fwh-site-v10 .channels-section {
    background: #fff;
}

body.fwh-v9.fwh-site-v10 .faq-section {
    background: var(--fwh10-bg);
}

body.fwh-v9.fwh-site-v10 .channels-grid {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 18px;
}

body.fwh-v9.fwh-site-v10 .channel-card {
    padding: 24px;

    background: #fff;

    border: 1px solid var(--fwh10-border);
    border-radius: 14px;

    box-shadow: var(--fwh10-shadow-sm);
}

body.fwh-v9.fwh-site-v10 .channel-icon {
    display: grid;
    place-items: center;

    width: 48px;
    height: 48px;

    color: var(--fwh10-green-dark);
    background: var(--fwh10-green-soft);

    border-radius: 12px;
}

body.fwh-v9.fwh-site-v10 .faq-item {
    margin-bottom: 12px;

    overflow: hidden;

    background: #fff;

    border: 1px solid var(--fwh10-border);
    border-radius: 12px;
}

body.fwh-v9.fwh-site-v10 .faq-question {
    color: var(--fwh10-navy);
}

body.fwh-v9.fwh-site-v10 .faq-answer {
    color: var(--fwh10-copy);
}


/* ============================================================
   LEGAL DIRECTORY PHP PAGE
   ============================================================ */

body.fwh-v9.fwh-site-v10 .legal-hero {
    padding: 74px 0;

    color: #fff;

    text-align: center;

    background:
        linear-gradient(
            135deg,
            var(--fwh10-navy-deep),
            var(--fwh10-blue)
        ) !important;
}

body.fwh-v9.fwh-site-v10 .legal-hero h1 {
    color: #fff !important;

    font-size: clamp(2.3rem,5vw,3.8rem);
    letter-spacing: -.045em;
}

body.fwh-v9.fwh-site-v10 .legal-content {
    padding: 72px 0;

    background: var(--fwh10-bg);
}

body.fwh-v9.fwh-site-v10 .legal-section {
    margin-bottom: 46px;
}

body.fwh-v9.fwh-site-v10 .legal-section > h2 {
    color: var(--fwh10-navy);

    font-size: clamp(1.6rem,2.5vw,2.15rem);
    letter-spacing: -.03em;
}

body.fwh-v9.fwh-site-v10 .legal-grid {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 16px;
}

body.fwh-v9.fwh-site-v10 .legal-card {
    display: block;

    padding: 21px;

    color: var(--fwh10-copy) !important;

    background: #fff;

    border: 1px solid var(--fwh10-border);
    border-radius: 13px;

    box-shadow: var(--fwh10-shadow-sm);
}

body.fwh-v9.fwh-site-v10 .legal-card:hover {
    border-color: #b7d8c3;

    box-shadow:
        0 13px 32px rgba(8,38,60,.08);
}

body.fwh-v9.fwh-site-v10 .legal-card h3, .legal-card-title,
body.fwh-v9.fwh-site-v10 .legal-card strong {
    color: var(--fwh10-navy);
}

body.fwh-v9.fwh-site-v10 .legal-card i {
    color: var(--fwh10-green-dark);
}

body.fwh-v9.fwh-site-v10 .legal-card--highlight {
    border-color: #9dd4af;

    background:
        linear-gradient(
            145deg,
            #fff,
            #f1faf4
        );
}

body.fwh-v9.fwh-site-v10 .legal-contact {
    padding: 26px;

    background: #fff;

    border: 1px solid var(--fwh10-border);
    border-radius: 15px;

    box-shadow: var(--fwh10-shadow-sm);
}


/* ============================================================
   RESPONSIVE NATIVE CONTENT
   ============================================================ */

@media (max-width: 900px) {

    body.fwh-v9.fwh-site-v10 .story-grid,
    body.fwh-v9.fwh-site-v10 .infrastructure-grid,
    body.fwh-v9.fwh-site-v10 .contact-grid {
        grid-template-columns: 1fr;
    }

    body.fwh-v9.fwh-site-v10 .values-grid,
    body.fwh-v9.fwh-site-v10 .team-grid,
    body.fwh-v9.fwh-site-v10 .testimonials-grid,
    body.fwh-v9.fwh-site-v10 .channels-grid,
    body.fwh-v9.fwh-site-v10 .legal-grid {
        grid-template-columns:
            repeat(2,minmax(0,1fr));
    }
}

@media (max-width: 620px) {

    body.fwh-v9.fwh-site-v10 .container {
        width: min(100% - 26px,1180px);
    }

    body.fwh-v9.fwh-site-v10 .hero-stats,
    body.fwh-v9.fwh-site-v10 .values-grid,
    body.fwh-v9.fwh-site-v10 .team-grid,
    body.fwh-v9.fwh-site-v10 .testimonials-grid,
    body.fwh-v9.fwh-site-v10 .channels-grid,
    body.fwh-v9.fwh-site-v10 .legal-grid {
        grid-template-columns: 1fr;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.fwh-site-v10 *,
    body.fwh-site-v10 *::before,
    body.fwh-site-v10 *::after {
        scroll-behavior: auto !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
    }
}

/* SEO/content structure: substantive overview blocks on service pages */
.fwh-section-tight{padding-top:34px;padding-bottom:34px}.fwh-content-panel{max-width:980px}.fwh-content-panel h2{margin:.35rem 0 .85rem}.fwh-content-panel p{max-width:900px;margin:.75rem 0;line-height:1.75;color:var(--fwh-text,#334155)}

/* v11 public catalogue + complete service directory */
.fwh-section-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-top:26px}
.fwh-family-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.fwh-family-directory{background:#fff;border:1px solid #dbe6ee;border-radius:18px;padding:22px;box-shadow:0 10px 30px rgba(11,47,74,.06)}
.fwh-family-directory-head{display:flex;gap:14px;align-items:flex-start;margin-bottom:16px}
.fwh-family-directory-head h3{margin:0 0 4px;font-size:1.2rem;color:#0b2f4a}
.fwh-family-directory-head p{margin:0;color:#607789}
.fwh-family-icon{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border-radius:12px;background:#eaf6f0;color:#16845b;flex:0 0 44px}
.fwh-directory-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.fwh-directory-links a{display:grid;grid-template-columns:24px 1fr 16px;align-items:center;gap:8px;padding:10px 12px;border:1px solid #e3ebf1;border-radius:11px;text-decoration:none;color:#183b52;background:#fbfdfe;min-height:46px}
.fwh-directory-links a:hover{border-color:#95cdb8;background:#f4fbf8;transform:translateY(-1px)}
.fwh-directory-links a>i:first-child{color:#16845b;text-align:center}
.fwh-directory-links a>i:last-child{font-size:.75rem;color:#8aa0af}

.fwh-family-product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.fwh-family-product-card{display:grid;grid-template-columns:44px 1fr 18px;gap:13px;align-items:start;padding:18px;border:1px solid #dbe6ee;border-radius:16px;background:#fff;text-decoration:none;color:#183b52;box-shadow:0 8px 24px rgba(11,47,74,.05)}
.fwh-family-product-card:hover{border-color:#95cdb8;transform:translateY(-2px)}
.fwh-family-product-card h3{margin:0 0 6px;font-size:1.05rem;color:#0b2f4a}
.fwh-family-product-card p{margin:0 0 10px;color:#607789;font-size:.93rem;line-height:1.5}
.fwh-product-count{display:inline-flex;padding:4px 9px;border-radius:999px;background:#edf7f3;color:#176c50;font-size:.78rem;font-weight:700}

.fwh-catalogue-jump{display:flex;flex-wrap:wrap;gap:9px;margin:0 0 24px}
.fwh-catalogue-jump a{display:inline-flex;align-items:center;gap:7px;padding:9px 12px;border:1px solid #dbe6ee;border-radius:999px;text-decoration:none;background:#fff;color:#173b52;font-size:.9rem;font-weight:700}
.fwh-catalogue-jump a:hover{border-color:#16845b;color:#0f6948;background:#f2fbf7}
.fwh-public-catalogue{display:grid;gap:22px}
.fwh-product-family{border:1px solid #dbe6ee;border-radius:20px;background:#fff;padding:22px;box-shadow:0 10px 28px rgba(11,47,74,.05);scroll-margin-top:130px}
.fwh-product-family-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}
.fwh-product-family-head>div{min-width:0}
.fwh-product-family-head .fwh-family-icon{float:left;margin-right:12px}
.fwh-product-family-head h3{margin:3px 0 7px;color:#0b2f4a;font-size:1.35rem}
.fwh-product-family-head p{margin:0;color:#607789;max-width:760px;line-height:1.55}
.fwh-product-mini-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.fwh-product-mini-card{display:flex;flex-direction:column;gap:9px;padding:17px;border:1px solid #e2eaf0;border-radius:15px;background:#fbfdfe}
.fwh-product-mini-card h3,.fwh-product-mini-card h4{margin:0;color:#0b2f4a;font-size:1.04rem}
.fwh-product-mini-card>p{margin:0;color:#617888;font-size:.9rem;line-height:1.45;min-height:2.6em}
.fwh-mini-price{display:flex;align-items:baseline;gap:7px;padding:9px 0;border-top:1px solid #e6edf1;border-bottom:1px solid #e6edf1}
.fwh-mini-price strong{font-size:1.35rem;color:#147a54}
.fwh-mini-price span{font-size:.8rem;color:#6b8190}
.fwh-product-mini-card ul{list-style:none;padding:0;margin:0;display:grid;gap:6px}
.fwh-product-mini-card li{display:flex;gap:7px;align-items:flex-start;color:#365368;font-size:.83rem;line-height:1.4}
.fwh-product-mini-card li i{color:#16845b;margin-top:3px;font-size:.72rem}
.fwh-product-mini-card .fwh-card-link{margin-top:auto;text-decoration:none;font-weight:800;color:#146f50}
.fwh-domain-mini-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.fwh-domain-chip{display:flex;flex-direction:column;gap:4px;padding:14px;border:1px solid #e1eaf0;border-radius:13px;background:#fbfdfe;text-decoration:none;color:#183b52}
.fwh-domain-chip strong{font-size:1.05rem;color:#0b2f4a}
.fwh-domain-chip span{font-size:.88rem;color:#4f6c80}
.fwh-domain-chip small{font-weight:800;color:#147a54}
.fwh-catalogue-note{display:flex;gap:8px;align-items:flex-start;margin:18px 0 0;padding:12px 14px;border-radius:12px;background:#f4f8fb;color:#536e80;font-size:.88rem}
.fwh-catalogue-note i{color:#16845b;margin-top:2px}

.fwh-public-catalogue-full .fwh-product-family{padding:26px}
.fwh-product-grid-detailed{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.fwh-product-card-detailed{display:flex;flex-direction:column;padding:19px;border:1px solid #dfe8ee;border-radius:16px;background:#fbfdfe}
.fwh-product-card-detailed h4{font-size:1.15rem;margin:0 0 6px;color:#0b2f4a}
.fwh-product-card-detailed>div>p{margin:0;color:#607789;line-height:1.5}
.fwh-product-price{display:flex;align-items:baseline;gap:7px;margin:15px 0 4px}
.fwh-product-price strong{font-size:1.65rem;color:#147a54}
.fwh-product-price span{color:#6f8391;font-size:.84rem}
.fwh-product-note{margin:0 0 12px;color:#718594;font-size:.8rem;min-height:1.2em}
.fwh-product-card-detailed ul{list-style:none;padding:0;margin:0 0 17px;display:grid;gap:7px}
.fwh-product-card-detailed li{display:flex;gap:8px;font-size:.86rem;color:#365368;line-height:1.4}
.fwh-product-card-detailed li i{color:#16845b;margin-top:3px;font-size:.72rem}
.fwh-product-card-detailed .fwh-btn{margin-top:auto;justify-content:center}
.fwh-domain-table-wrap{overflow-x:auto;border:1px solid #e0e8ee;border-radius:14px}
.fwh-domain-table{width:100%;border-collapse:collapse;min-width:680px;background:#fff}
.fwh-domain-table th,.fwh-domain-table td{padding:13px 15px;border-bottom:1px solid #e8eef2;text-align:left;color:#365368}
.fwh-domain-table th{background:#f4f8fb;color:#0b2f4a;font-size:.82rem;text-transform:uppercase;letter-spacing:.04em}
.fwh-domain-table tr:last-child td{border-bottom:0}
.fwh-related-products{border-top:1px solid #edf2f5}

@media(max-width:1100px){.fwh-family-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fwh-domain-mini-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){.fwh-family-grid,.fwh-product-mini-grid,.fwh-product-grid-detailed{grid-template-columns:1fr}.fwh-directory-links{grid-template-columns:1fr}.fwh-domain-mini-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fwh-product-family-head{flex-direction:column}.fwh-product-family-head .fwh-btn{width:100%;justify-content:center}}
@media(max-width:640px){.fwh-family-product-grid,.fwh-domain-mini-grid{grid-template-columns:1fr}.fwh-family-directory,.fwh-product-family,.fwh-public-catalogue-full .fwh-product-family{padding:16px}.fwh-catalogue-jump{gap:6px}.fwh-catalogue-jump a{font-size:.82rem;padding:8px 10px}}
.visual-strong,.fwh-speed-value{font-weight:800}
.related-services{padding:34px 0;background:#f5f9fb;border-top:1px solid #e4edf2}
.related-services .related-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:15px}
.related-services .related-links a{display:inline-flex;padding:9px 12px;border:1px solid #dbe6ee;border-radius:10px;background:#fff;text-decoration:none;color:#17425a;font-weight:700}
.related-services .related-links a:hover{border-color:#16845b;color:#126b4b}
