/* ============================================
   acquisition.co.uk — Homepage (scoped)
   Navy + green premium UK acquisition look.
   All selectors are .home-* prefixed or scoped under body.home
   so the rest of the site is unaffected.
   ============================================ */

/* Homepage uses a taller sticky header (76px) than the rest of the site,
   so anchor jumps need a bit more clearance to avoid being hidden under it. */
body.home { scroll-padding-top: 92px; }
:root:has(body.home) { scroll-padding-top: 92px; }

body.home {
    --h-navy: #071B35;
    --h-deep-navy: #031326;
    --h-mid-navy: #0B2748;
    --h-green: #159947;
    --h-green-dark: #0F7A38;
    --h-green-light: #E8F6EE;
    --h-text: #071B35;
    --h-muted: #526176;
    --h-border: #DDE5EE;
    --h-bg: #F7FAFC;
    --h-white: #FFFFFF;
    --h-serif: "Playfair Display", Georgia, "Libre Baskerville", serif;
    --h-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    background: var(--h-white);
    color: var(--h-text);
    font-family: var(--h-sans);
    font-feature-settings: "ss01", "cv11";
}

body.home main {
    /* Hide the top-level sticky site-header from the shared stylesheet,
       since the homepage uses its own .home-header. */
}

body.home .site-header,
body.home .site-footer { display: none; }

/* Registered-trademark mark: small superscript so the ® never renders
   oversized (e.g. as a full-size circled R in large serif headings). */
body.home .tm {
    font-size: 0.58em;
    vertical-align: super;
    line-height: 0;
    font-weight: 400;
    letter-spacing: 0;
}

/* Email-contact "How to sell" card (sell page) */
body.home .sell-card .sell-lead {
    font-size: 1.05rem;
    line-height: 1.6;
    color: var(--h-text);
    margin: 0;
}
body.home .sell-card .sell-lead strong { color: var(--h-navy); }
body.home .sell-card .sell-include-head {
    font-family: var(--h-sans);
    font-size: 0.95rem;
    font-weight: 700;
    color: var(--h-navy);
    margin: 26px 0 16px;
}
body.home .sell-card .home-expect-list { margin: 0 0 28px; }
body.home .sell-card .btn { text-decoration: none; }
body.home .sell-card .sell-note {
    font-size: 0.85rem;
    line-height: 1.55;
    color: var(--h-muted);
    margin: 20px 0 0;
}

/* ============================================
   Internal pages — style overrides so they match the homepage
   ============================================ */

/* Page heroes (sell, agency, domain detail, listing) get the serif H1
   in navy on the navy gradient background, with the green accent. */
body.home .agency-hero,
body.home .sell-hero,
body.home .domain-hero,
body.home .page-header {
    background:
        radial-gradient(ellipse 80% 50% at 50% 0%, rgba(21,153,71,0.18) 0%, transparent 70%),
        var(--h-navy);
    color: #fff;
    border-bottom: 1px solid rgba(255,255,255,0.06);
}

body.home .agency-hero h1,
body.home .sell-hero h1,
body.home .domain-hero .domain-display,
body.home .page-header h1 {
    font-family: var(--h-serif);
    font-weight: 700;
    letter-spacing: -0.02em;
    line-height: 1.1;
    color: #fff;
}

body.home .agency-hero h1 span,
body.home .sell-hero strong {
    color: var(--h-green);
    font-weight: 700;
}

body.home .agency-hero p,
body.home .sell-hero > .container > p,
body.home .page-header p,
body.home .domain-hero .domain-tagline {
    color: rgba(255,255,255,0.78);
}

/* Buttons inside heroes adopt the green primary */
body.home .agency-hero .btn-primary,
body.home .sell-hero .btn-primary {
    background: var(--h-green);
    border-color: var(--h-green);
    color: #fff;
}
body.home .agency-hero .btn-primary:hover,
body.home .sell-hero .btn-primary:hover {
    background: var(--h-green-dark);
    border-color: var(--h-green-dark);
}
body.home .agency-hero .btn-outline {
    border-color: rgba(255,255,255,0.3) !important;
    color: #fff !important;
}
body.home .agency-hero .btn-outline:hover {
    background: rgba(255,255,255,0.08);
    border-color: rgba(255,255,255,0.5) !important;
}

/* Section headings on internal pages.
   NOTE: scoped to internal-page-only section classes (.how-it-works,
   .domain-detail) rather than the broad `section h2`, so homepage
   headings on dark backgrounds (.home-valuation-heading, .home-cta-text)
   and the homepage section/legal heads keep their own styling. */
body.home .how-it-works h2,
body.home .domain-detail h2,
body.home .legal-page h1,
body.home .sell-card-title,
body.home .agency-criteria-section h2,
body.home .agency-why-section h2,
body.home .agency-faq-section h2,
body.home .agency-cta-section h2,
body.home .sell-legal-section h2 {
    font-family: var(--h-serif);
    color: var(--h-navy);
    font-weight: 700;
    letter-spacing: -0.01em;
}

body.home .agency-cta-section h2 { color: #fff; }

/* Replace blue CTA color with green throughout internal pages */
body.home .btn-primary {
    background: var(--h-green);
    border-color: var(--h-green);
}
body.home .btn-primary:hover {
    background: var(--h-green-dark);
    border-color: var(--h-green-dark);
}
body.home .btn-outline {
    color: var(--h-green);
    border-color: var(--h-green);
}
body.home .btn-outline:hover {
    background: var(--h-green);
    border-color: var(--h-green);
}

/* Domain pages: prices, badges, hover accents */
body.home .domain-card .domain-price,
body.home .domain-list-item .domain-price,
body.home .hero-price,
body.home .price-amount {
    color: var(--h-navy);
}
body.home .domain-card::before {
    background: linear-gradient(180deg, var(--h-green) 0%, var(--h-green-dark) 100%) !important;
}
body.home .pair-badge {
    background: var(--h-green-light) !important;
    color: var(--h-green-dark) !important;
}

/* Form focus rings green */
body.home .form-field input:focus,
body.home .form-field textarea:focus,
body.home .form-field select:focus,
body.home .enquiry-form input:focus,
body.home .enquiry-form textarea:focus,
body.home .enquiry-form select:focus {
    border-color: var(--h-green) !important;
    box-shadow: 0 0 0 3px rgba(21,153,71,0.12) !important;
}

/* Sell page tabs */
body.home .sell-tab.active {
    background: var(--h-navy);
}
body.home .sell-tab.active .tab-num {
    background: var(--h-green);
}

/* Declaration cards on sell page get a green accent */
body.home .sell-card-declaration {
    border-left-color: var(--h-green);
    background: var(--h-green-light);
}
body.home .check-row input[type="checkbox"] {
    accent-color: var(--h-green);
}

/* Agency disclaimer banner: keep amber, but harmonise borders */
body.home .agency-disclaimer-banner {
    border-top-color: #d97706;
}

/* Internal-page legal paragraphs */
body.home .legal-page h2 {
    font-family: var(--h-sans);
    color: var(--h-navy);
}
body.home .legal-page a {
    color: var(--h-green);
}

/* Page-specific top padding so anchor links land below the sticky header */
body.home .agency-hero,
body.home .sell-hero,
body.home .domain-hero,
body.home .page-header {
    scroll-margin-top: 92px;
}

/* Polished internal page heroes — green eyebrow chip, serif headline, tighter padding */
body.home .agency-hero,
body.home .sell-hero,
body.home .domain-hero,
body.home .page-header {
    padding: 64px 0 56px;
    position: relative;
    overflow: hidden;
}

body.home .agency-hero::after,
body.home .sell-hero::after,
body.home .domain-hero::after,
body.home .page-header::after {
    content: '';
    position: absolute;
    inset: 0;
    background-image: radial-gradient(circle at 1px 1px, rgba(255,255,255,0.04) 1px, transparent 0);
    background-size: 26px 26px;
    mask-image: linear-gradient(180deg, transparent 0%, #000 30%, #000 70%, transparent 100%);
    -webkit-mask-image: linear-gradient(180deg, transparent 0%, #000 30%, #000 70%, transparent 100%);
    pointer-events: none;
    z-index: 0;
}

body.home .agency-hero > .container,
body.home .sell-hero > .container,
body.home .domain-hero > .container,
body.home .page-header > .container { position: relative; z-index: 1; }

body.home .agency-hero h1,
body.home .sell-hero h1,
body.home .page-header h1 {
    font-size: clamp(1.9rem, 4.4vw, 2.8rem);
    margin-bottom: 16px;
}

body.home .domain-hero .domain-display {
    font-size: clamp(1.8rem, 5vw, 3rem);
    margin-bottom: 12px;
}

body.home .agency-hero p,
body.home .sell-hero > .container > p,
body.home .page-header p {
    font-size: 1rem;
    max-width: 640px;
    line-height: 1.65;
    margin-bottom: 24px;
}

body.home .sell-hero .green-emphasis { color: var(--h-green); }

body.home .agency-hero .hero-eyebrow,
body.home .sell-hero .hero-eyebrow,
body.home .domain-hero .domain-for-sale-label,
body.home .page-header .hero-eyebrow {
    display: inline-block;
    font-family: var(--h-sans);
    font-size: 0.74rem;
    font-weight: 600;
    color: var(--h-green) !important;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    padding: 5px 12px;
    border: 1px solid rgba(21,153,71,0.4);
    border-radius: 100px;
    margin-bottom: 22px;
    background: rgba(21,153,71,0.08);
}
body.home .hero-eyebrow .dot { color: rgba(255,255,255,0.4); margin: 0 8px; }

/* Sell hero meta pills */
body.home .sell-hero-meta {
    list-style: none;
    margin: 28px 0 0 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 10px 12px;
}

body.home .sell-hero-meta li {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 14px;
    background: rgba(255,255,255,0.05);
    border: 1px solid rgba(255,255,255,0.12);
    border-radius: 100px;
    font-size: 0.82rem;
    color: rgba(255,255,255,0.85);
    font-weight: 500;
}

body.home .sell-hero-meta li svg {
    width: 16px; height: 16px;
    color: var(--h-green);
    flex-shrink: 0;
}

/* Agency hero CTA buttons */
body.home .agency-hero-cta {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    margin-top: 8px;
}
body.home .agency-hero-cta .btn { padding: 13px 24px; font-size: 0.92rem; }

/* Sell page form area cards */
body.home .sell-card {
    background: #fff;
    border: 1px solid var(--h-border);
    box-shadow: 0 1px 0 rgba(7,27,53,0.03);
    border-radius: 12px;
}

body.home .sell-card-title {
    font-family: var(--h-serif);
    font-weight: 700;
    color: var(--h-navy);
    letter-spacing: -0.005em;
    font-size: 1.18rem;
}

/* Sell legal cards: navy hover + green left border */
body.home .sell-legal-item {
    border-top-color: var(--h-green);
}

/* Sell page tabs - polished navy active */
body.home .sell-mode-tabs {
    background: #fff;
    box-shadow: 0 1px 0 rgba(7,27,53,0.03);
}

/* Domain detail page card prices */
body.home .domain-detail .price-amount {
    font-family: var(--h-serif);
    font-weight: 700;
}

body.home .enquiry-card .price-display {
    border-bottom: 1px solid var(--h-border);
}

/* Internal page section h2 styling consistency (internal-only sections) */
body.home .how-it-works h2,
body.home .domain-detail h2 {
    font-size: clamp(1.5rem, 2.6vw, 2rem);
}

/* Legal pages: serif H1, navy palette */
body.home .legal-page {
    background: var(--h-bg);
    padding: 56px 0 80px;
}
body.home .legal-page .container {
    background: #fff;
    border: 1px solid var(--h-border);
    border-radius: 12px;
    padding: 48px 56px;
    max-width: 880px;
}
body.home .legal-page h1 {
    font-family: var(--h-serif);
    font-size: clamp(1.9rem, 3.5vw, 2.5rem);
    color: var(--h-navy);
    margin-bottom: 6px;
}
body.home .legal-page .legal-updated {
    color: var(--h-muted);
    font-size: 0.85rem;
    margin-bottom: 32px;
}
body.home .legal-page h2 {
    font-family: var(--h-sans);
    font-size: 1.1rem;
    color: var(--h-navy);
    margin-top: 32px;
    margin-bottom: 12px;
    font-weight: 700;
}

@media (max-width: 720px) {
    body.home .legal-page .container { padding: 28px 22px; }
    body.home .agency-hero,
    body.home .sell-hero,
    body.home .domain-hero,
    body.home .page-header { padding: 44px 0 40px; }
    body.home .sell-hero-meta li { font-size: 0.76rem; padding: 7px 12px; }
}

.home-container {
    max-width: 1180px;
    margin: 0 auto;
    padding: 0 24px;
}

/* ---- Header ---- */

.home-header {
    background: var(--h-white);
    border-bottom: 1px solid var(--h-border);
    position: sticky;
    top: 0;
    z-index: 100;
}

.home-header-inner {
    display: flex;
    align-items: center;
    height: 76px;
    gap: 28px;
}

.home-logo {
    display: flex;
    flex-direction: column;
    text-decoration: none;
    line-height: 1;
    flex-shrink: 0;
}

.home-logo-mark {
    font-family: var(--h-sans);
    font-size: 1.45rem;
    font-weight: 700;
    color: var(--h-navy);
    letter-spacing: -0.02em;
}

.home-logo-ext {
    color: var(--h-green);
    font-weight: 600;
}

.home-logo-sub {
    font-size: 0.72rem;
    color: var(--h-muted);
    font-weight: 500;
    margin-top: 5px;
    letter-spacing: 0.01em;
}

.home-nav {
    display: flex;
    gap: 26px;
    margin-left: auto;
    flex-shrink: 0;
}

.home-nav a {
    color: var(--h-text);
    text-decoration: none;
    font-size: 0.88rem;
    font-weight: 500;
    transition: color 0.15s;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    white-space: nowrap;
}

.home-nav a:hover { color: var(--h-green); }

.home-nav .caret { font-size: 0.7rem; opacity: 0.5; }

.home-header-actions {
    display: flex;
    gap: 8px;
    align-items: center;
    flex-shrink: 0;
}

.home-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 10px 18px;
    font-family: var(--h-sans);
    font-size: 0.88rem;
    font-weight: 600;
    border-radius: 8px;
    text-decoration: none;
    cursor: pointer;
    border: 1.5px solid transparent;
    line-height: 1.2;
    transition: background 0.15s, color 0.15s, border-color 0.15s, transform 0.15s, box-shadow 0.15s;
    white-space: nowrap;
}

.home-btn:active { transform: translateY(1px); }

.home-btn-green {
    background: var(--h-green);
    color: var(--h-white);
    border-color: var(--h-green);
    box-shadow: 0 1px 0 rgba(255,255,255,0.18) inset, 0 1px 2px rgba(15,122,56,0.25);
}
.home-btn-green:hover {
    background: var(--h-green-dark);
    border-color: var(--h-green-dark);
    color: var(--h-white);
    box-shadow: 0 1px 0 rgba(255,255,255,0.18) inset, 0 4px 14px rgba(21,153,71,0.32);
    transform: translateY(-1px);
}

.home-btn-outline-green {
    background: transparent;
    color: var(--h-green);
    border-color: var(--h-green);
}
.home-btn-outline-green:hover {
    background: var(--h-green-light);
    color: var(--h-green-dark);
    border-color: var(--h-green-dark);
}

.home-btn-outline-grey {
    background: transparent;
    color: var(--h-text);
    border-color: var(--h-border);
}
.home-btn-outline-grey:hover {
    background: var(--h-bg);
}

.home-btn-block { width: 100%; }
.home-btn-lg { padding: 14px 26px; font-size: 0.95rem; }

.home-nav-toggle { display: none; }

/* ---- HERO ---- */

.home-hero {
    position: relative;
    background: linear-gradient(180deg, #FFFFFF 0%, #F4F8FB 100%);
    overflow: hidden;
    padding: 56px 0 84px;
}

.home-hero-bg {
    position: absolute;
    inset: 0;
    pointer-events: none;
    overflow: hidden;
}

.home-hero-skyline {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 320px;
    opacity: 0.7;
}

.home-hero-flag {
    position: absolute;
    top: 48px;
    left: 0;
    width: 90px;
    height: 56px;
    box-shadow: 0 6px 20px -6px rgba(7,27,53,0.25);
    border-radius: 0 4px 4px 0;
    overflow: hidden;
    transform: skewY(-2deg);
}
.home-hero-flag svg { width: 100%; height: 100%; }

.home-hero-grid {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 460px);
    gap: 56px;
    align-items: start;
}

.home-hero-left {
    padding-top: 16px;
    padding-left: 0;
    min-width: 0; /* allow children to wrap inside grid track */
}

/* Reserve room for the floating flag only at viewport widths where the
   container hits the viewport edge (the flag is anchored to the section,
   so on wider screens it's already outside the centred container). */
@media (min-width: 1025px) and (max-width: 1240px) {
    .home-hero-left { padding-left: 84px; }
}

.home-eyebrow {
    font-family: var(--h-sans);
    font-size: 0.78rem;
    font-weight: 600;
    color: var(--h-green);
    letter-spacing: 0.18em;
    text-transform: uppercase;
    margin-bottom: 24px;
}
.home-eyebrow .dot { color: var(--h-muted); margin: 0 8px; opacity: 0.6; }

.home-h1 {
    font-family: var(--h-serif);
    font-size: clamp(2.2rem, 4.6vw, 3.85rem);
    font-weight: 700;
    line-height: 1.05;
    letter-spacing: -0.015em;
    color: var(--h-navy);
    margin-bottom: 22px;
}

.home-hero-sub {
    font-size: 1.05rem;
    line-height: 1.65;
    color: var(--h-muted);
    max-width: 560px;
    margin-bottom: 28px;
}
.green-emphasis { color: var(--h-green); font-weight: 600; }

.home-trust-points {
    list-style: none;
    margin: 0 0 32px 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px 22px;
}

.home-trust-points li {
    display: grid;
    grid-template-columns: 24px minmax(0, 1fr);
    grid-template-rows: auto auto;
    column-gap: 10px;
    row-gap: 0;
    font-size: 0.82rem;
    color: var(--h-text);
    min-width: 0;
}

.home-trust-points li strong,
.home-trust-points li span {
    min-width: 0;
    overflow-wrap: break-word;
}
.home-trust-points li svg {
    width: 22px;
    height: 22px;
    color: var(--h-green);
    grid-row: span 2;
    margin-top: 1px;
}
.home-trust-points li strong {
    font-weight: 600;
    line-height: 1.3;
}
.home-trust-points li span {
    color: var(--h-muted);
    line-height: 1.3;
    font-size: 0.78rem;
}

.home-trust-cards {
    display: grid;
    grid-template-columns: 1fr 1.4fr;
    gap: 16px;
    background: rgba(255,255,255,0.8);
    backdrop-filter: blur(6px);
    border: 1px solid var(--h-border);
    border-radius: 14px;
    padding: 18px;
}

.home-trust-card {
    display: flex;
    gap: 14px;
    align-items: flex-start;
}
.home-trust-card-icon {
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    border-radius: 8px;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
}
.home-trust-card-icon-flag svg { width: 100%; height: 100%; }
.home-trust-card-icon-mountain {
    background: var(--h-green-light);
    color: var(--h-green);
}
.home-trust-card-icon-mountain svg { width: 22px; height: 22px; }
.home-trust-card-icon-cp {
    background: transparent;
    border-radius: 8px;
    overflow: hidden;
}
.home-trust-card-icon-cp img { width: 100%; height: 100%; display: block; }
.home-trust-card strong {
    display: block;
    color: var(--h-navy);
    font-size: 0.9rem;
    font-weight: 700;
    margin-bottom: 3px;
}
.home-trust-card p {
    color: var(--h-muted);
    font-size: 0.78rem;
    line-height: 1.55;
    margin: 0;
}

/* ---- VALUATION CARD ---- */

.home-valuation-card {
    background: linear-gradient(180deg, #0B2748 0%, #051428 100%);
    color: var(--h-white);
    border: 1px solid #15315a;
    border-radius: 16px;
    padding: 32px;
    box-shadow: 0 30px 60px -30px rgba(7,27,53,0.5);
}

.home-valuation-heading {
    font-family: var(--h-serif);
    font-size: 1.65rem;
    font-weight: 700;
    line-height: 1.18;
    letter-spacing: -0.005em;
    margin-bottom: 8px;
    color: var(--h-white);
}
.home-valuation-heading em {
    color: var(--h-green);
    font-style: italic;
    font-weight: 700;
}

.home-valuation-sub {
    color: rgba(255,255,255,0.65);
    font-size: 0.88rem;
    margin-bottom: 22px;
}

.home-val-tabs {
    display: flex;
    gap: 0;
    margin-bottom: 20px;
    border-bottom: 1px solid rgba(255,255,255,0.08);
}
.home-val-tab {
    flex: 1;
    background: transparent;
    border: none;
    padding: 10px 8px;
    font-family: var(--h-sans);
    font-size: 0.78rem;
    font-weight: 500;
    color: rgba(255,255,255,0.55);
    cursor: pointer;
    border-bottom: 2px solid transparent;
    transition: color 0.15s, border-color 0.15s;
    text-align: center;
    line-height: 1.3;
}
.home-val-tab:hover { color: rgba(255,255,255,0.85); }
.home-val-tab.active {
    color: var(--h-white);
    border-bottom-color: var(--h-green);
    font-weight: 600;
}

.home-val-form label {
    display: block;
    font-size: 0.78rem;
    font-weight: 500;
    color: rgba(255,255,255,0.7);
    margin-bottom: 6px;
}
.home-val-form input,
.home-val-form select {
    width: 100%;
    padding: 12px 14px;
    border-radius: 8px;
    border: 1px solid rgba(255,255,255,0.12);
    background: rgba(255,255,255,0.96);
    color: var(--h-text);
    font-family: var(--h-sans);
    font-size: 0.92rem;
    margin-bottom: 12px;
}
.home-val-form input:focus,
.home-val-form select:focus {
    outline: none;
    border-color: var(--h-green);
    box-shadow: 0 0 0 3px rgba(21,153,71,0.25);
}

.home-val-input-row {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 10px;
}
.home-val-input-row input { margin-bottom: 0; }
.home-val-input-row .home-btn { padding-left: 20px; padding-right: 20px; }

.home-val-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}

.home-val-helper {
    font-size: 0.78rem;
    color: rgba(255,255,255,0.6);
    margin-bottom: 14px;
    padding: 8px 12px;
    background: rgba(21,153,71,0.08);
    border-left: 2px solid var(--h-green);
    border-radius: 0 4px 4px 0;
}

.home-val-result {
    background: rgba(21,153,71,0.08);
    border: 1px solid rgba(21,153,71,0.4);
    border-radius: 10px;
    padding: 18px;
    margin-bottom: 20px;
}
.home-val-result h3 {
    color: var(--h-green);
    font-size: 0.82rem;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    margin-bottom: 6px;
    font-weight: 700;
}
.home-val-result p {
    color: var(--h-white);
    font-size: 0.95rem;
    margin-bottom: 12px;
    line-height: 1.5;
}
.home-val-result-next {
    margin-top: 14px;
    padding-top: 14px;
    border-top: 1px solid rgba(255,255,255,0.1);
}
.home-val-result-next strong {
    display: block;
    font-size: 0.78rem;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: rgba(255,255,255,0.7);
    margin-bottom: 4px;
}
.home-val-result-next p {
    font-size: 0.85rem;
    color: rgba(255,255,255,0.85);
    margin-bottom: 12px;
}
.home-val-disclaimer {
    margin-top: 14px;
    padding-top: 12px;
    font-size: 0.72rem;
    color: rgba(255,255,255,0.45);
    line-height: 1.5;
    border-top: 1px solid rgba(255,255,255,0.08);
}

.home-val-reassurance {
    list-style: none;
    margin: 22px 0 0 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
    border-top: 1px solid rgba(255,255,255,0.08);
    padding-top: 18px;
}
.home-val-reassurance li {
    display: flex;
    gap: 8px;
    align-items: flex-start;
    font-size: 0.78rem;
}
.home-val-reassurance li svg {
    width: 18px;
    height: 18px;
    color: var(--h-green);
    flex-shrink: 0;
    margin-top: 1px;
}
.home-val-reassurance li strong {
    display: block;
    color: var(--h-white);
    font-size: 0.78rem;
    font-weight: 600;
    line-height: 1.3;
}
.home-val-reassurance li span {
    color: rgba(255,255,255,0.55);
    font-size: 0.72rem;
}

.home-val-check {
    display: flex !important;
    align-items: flex-start;
    gap: 10px;
    padding: 10px 12px;
    background: rgba(255,255,255,0.04);
    border: 1px solid rgba(255,255,255,0.08);
    border-radius: 8px;
    margin-bottom: 10px;
    cursor: pointer;
    color: rgba(255,255,255,0.78) !important;
    font-size: 0.78rem !important;
    line-height: 1.5;
    font-weight: 400 !important;
    transition: border-color 0.15s, background 0.15s;
}
.home-val-check:hover { border-color: rgba(21,153,71,0.5); }
.home-val-check input[type="checkbox"] {
    width: 16px;
    height: 16px;
    margin: 1px 0 0 0 !important;
    flex-shrink: 0;
    accent-color: var(--h-green);
}
.home-val-check span { display: block; }
.home-val-check strong { color: var(--h-white); font-weight: 600; }

.home-val-quality {
    margin: -6px 0 12px 0;
    padding: 8px 12px;
    border-radius: 6px;
    font-size: 0.78rem;
    line-height: 1.5;
}
.home-val-quality.quality-good {
    background: rgba(21,153,71,0.1);
    color: #6dd590;
    border-left: 2px solid var(--h-green);
}
.home-val-quality.quality-warn {
    background: rgba(217,119,6,0.1);
    color: #fbbf24;
    border-left: 2px solid #d97706;
}
.home-val-quality.quality-bad {
    background: rgba(220,38,38,0.1);
    color: #fca5a5;
    border-left: 2px solid #dc2626;
}

.home-val-bulk-link {
    margin-top: 14px;
    text-align: center;
    font-size: 0.78rem;
    color: rgba(255,255,255,0.55);
}
.home-val-bulk-link a {
    color: var(--h-green);
    font-weight: 600;
    text-decoration: none;
}
.home-val-bulk-link a:hover { color: #6dd590; text-decoration: underline; }

.home-val-confidential {
    margin-top: 20px;
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.74rem;
    color: rgba(255,255,255,0.55);
    padding-top: 16px;
    border-top: 1px solid rgba(255,255,255,0.08);
}
.home-val-confidential svg {
    width: 14px; height: 14px;
    color: var(--h-green);
}

/* ---- TRUST BAND ---- */

.home-trust-band {
    background: var(--h-deep-navy);
    color: var(--h-white);
    padding: 36px 0;
    border-top: 1px solid #0c2342;
}

.home-trust-band-grid {
    display: grid;
    grid-template-columns: 1fr 1px 1fr 1px 1fr 1px 1fr;
    gap: 24px;
    align-items: start;
    justify-content: center;
}

.home-tb-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 10px;
    max-width: 220px;
    margin: 0 auto;
}
.home-tb-item svg {
    width: 30px; height: 30px;
    color: var(--h-white);
    flex-shrink: 0;
}
.home-tb-item .home-tb-flag {
    width: 36px; height: 22px;
    border-radius: 3px;
    overflow: hidden;
}
.home-tb-item strong {
    color: var(--h-white);
    font-size: 0.82rem;
    font-weight: 700;
    line-height: 1.35;
    margin-top: 4px;
}
.home-tb-item p {
    color: rgba(255,255,255,0.55);
    font-size: 0.74rem;
    line-height: 1.5;
    margin: 0;
}

.home-tb-divider {
    width: 1px;
    align-self: stretch;
    background: linear-gradient(180deg, transparent 0%, rgba(255,255,255,0.12) 50%, transparent 100%);
}

/* ---- SECTIONS ---- */

.home-section {
    padding: 80px 0;
    background: var(--h-white);
}
.home-section-alt { background: var(--h-bg); }

.home-section-head {
    text-align: center;
    margin-bottom: 48px;
}
.home-section-head h2 {
    font-family: var(--h-serif);
    font-size: clamp(1.7rem, 3vw, 2.4rem);
    font-weight: 700;
    color: var(--h-navy);
    letter-spacing: -0.01em;
    margin-bottom: 10px;
}
.home-section-head p {
    color: var(--h-muted);
    font-size: 1rem;
    max-width: 600px;
    margin: 0 auto;
}

/* ---- WHAT WE BUY ---- */

.home-buy-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}
.home-buy-card {
    background: var(--h-white);
    border: 1px solid var(--h-border);
    border-radius: 12px;
    padding: 32px 28px;
    transition: box-shadow 0.2s, border-color 0.2s, transform 0.2s;
}
.home-buy-card:hover {
    box-shadow: 0 1px 0 rgba(7,27,53,0.04), 0 18px 40px -18px rgba(7,27,53,0.22);
    border-color: var(--h-green);
    transform: translateY(-3px);
}
.home-buy-icon {
    width: 56px;
    height: 56px;
    background: var(--h-green-light);
    color: var(--h-green);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.2s ease, color 0.2s ease, transform 0.25s cubic-bezier(.34,1.56,.64,1);
    margin-bottom: 20px;
}
.home-buy-icon svg { width: 26px; height: 26px; }
.home-buy-card h3 {
    font-family: var(--h-sans);
    font-size: 1.05rem;
    font-weight: 700;
    color: var(--h-navy);
    margin-bottom: 12px;
}
.home-buy-card p {
    color: var(--h-muted);
    font-size: 0.9rem;
    line-height: 1.65;
    margin-bottom: 8px;
}
.home-buy-card p:last-of-type { margin-bottom: 18px; }
.home-buy-card:hover .home-buy-icon {
    background: var(--h-green);
    color: #fff;
    transform: scale(1.06) translateY(-2px);
}
.home-learn-more {
    color: var(--h-green);
    font-weight: 600;
    font-size: 0.88rem;
    text-decoration: none;
    transition: color 0.15s;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}
.home-learn-more:hover { color: var(--h-green-dark); }
.home-learn-more span { transition: transform 0.18s ease; }
.home-buy-card:hover .home-learn-more span { transform: translateX(4px); }

/* ---- HOW IT WORKS ---- */

.home-steps {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: 1fr 40px 1fr 40px 1fr 40px 1fr;
    gap: 0 16px;
    align-items: start;
}
.home-steps > li:not(.home-step-arrow) {
    text-align: center;
    position: relative;
    padding: 0 8px;
}
.home-step-icon {
    width: 64px;
    height: 64px;
    background: var(--h-green-light);
    color: var(--h-green);
    border-radius: 50%;
    margin: 0 auto 14px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.home-step-icon svg { width: 28px; height: 28px; }
.home-step-num {
    position: absolute;
    top: 0;
    left: 50%;
    margin-left: -52px;
    width: 24px;
    height: 24px;
    background: var(--h-green);
    color: var(--h-white);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.78rem;
    font-weight: 700;
    border: 3px solid var(--h-bg);
}
.home-section-alt .home-step-num { border-color: var(--h-bg); }
.home-section .home-step-num { border-color: var(--h-white); }
.home-steps h3 {
    font-family: var(--h-sans);
    font-size: 0.98rem;
    font-weight: 700;
    color: var(--h-navy);
    margin-bottom: 6px;
}
.home-steps p {
    color: var(--h-muted);
    font-size: 0.85rem;
    line-height: 1.55;
    margin: 0;
}
.home-step-arrow {
    height: 64px;
    background-image: linear-gradient(to right, var(--h-border) 50%, transparent 50%);
    background-size: 8px 1px;
    background-repeat: repeat-x;
    background-position: center;
    position: relative;
    margin-top: 32px;
}
.home-step-arrow::after {
    content: '';
    position: absolute;
    right: 0;
    top: 50%;
    width: 0;
    height: 0;
    border-top: 4px solid transparent;
    border-bottom: 4px solid transparent;
    border-left: 6px solid var(--h-border);
    transform: translateY(-50%);
}

/* ---- RECENT PURCHASES + TESTIMONIAL ---- */

.home-recent-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
}

.home-recent-card,
.home-testimonial-card {
    background: var(--h-white);
    border: 1px solid var(--h-border);
    border-radius: 12px;
    padding: 28px 28px 24px;
    position: relative;
    overflow: hidden;
}

.home-card-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 22px;
}
.home-card-head h3 {
    font-family: var(--h-sans);
    font-size: 1.05rem;
    font-weight: 700;
    color: var(--h-navy);
    margin: 0;
}
.home-card-link {
    color: var(--h-green);
    font-size: 0.82rem;
    font-weight: 600;
    text-decoration: none;
}
.home-card-link:hover { color: var(--h-green-dark); }

.home-recent-list {
    list-style: none;
    margin: 0;
    padding: 0;
    position: relative;
    z-index: 1;
}
.home-recent-list li {
    display: flex;
    align-items: baseline;
    gap: 10px;
    padding: 11px 0;
    border-bottom: 1px solid var(--h-border);
    font-size: 0.92rem;
}
.home-recent-list li:last-child { border-bottom: none; }
.home-recent-domain {
    color: var(--h-navy);
    font-weight: 600;
    font-variant-numeric: tabular-nums;
}
.home-recent-dots {
    flex: 1;
    border-bottom: 1px dotted var(--h-border);
    transform: translateY(-3px);
}
.home-recent-price {
    color: var(--h-green);
    font-weight: 700;
    font-variant-numeric: tabular-nums;
}
.home-expect-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 14px;
    position: relative;
    z-index: 1;
}
.home-expect-list li {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    font-size: 0.93rem;
    line-height: 1.55;
    color: var(--h-text);
}
.home-expect-list li svg {
    width: 20px;
    height: 20px;
    color: var(--h-green);
    flex-shrink: 0;
    margin-top: 1px;
}
.home-expect-list li strong {
    color: var(--h-navy);
    font-weight: 700;
}
.home-recent-note {
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid var(--h-border);
    display: flex;
    gap: 10px;
    align-items: center;
    color: var(--h-muted);
    font-size: 0.82rem;
    line-height: 1.5;
}
.home-recent-note svg {
    width: 18px; height: 18px;
    color: var(--h-green);
    flex-shrink: 0;
}
.home-recent-deco {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 320px;
    height: 60px;
    pointer-events: none;
}

/* Testimonial */

.home-testimonials { position: relative; min-height: 200px; }
.home-testimonial {
    margin: 0;
    padding: 0;
    display: none;
}
.home-testimonial.active { display: block; }
.home-quote-mark {
    width: 32px; height: 32px;
    margin-bottom: 8px;
}
.home-testimonial p {
    font-family: var(--h-serif);
    font-size: 1.1rem;
    font-style: italic;
    line-height: 1.5;
    color: var(--h-navy);
    margin-bottom: 24px;
}
.home-testimonial footer {
    display: flex;
    align-items: center;
    gap: 14px;
}
.home-avatar {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--h-green) 0%, var(--h-green-dark) 100%);
    color: var(--h-white);
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 0.9rem;
    flex-shrink: 0;
}
.home-testimonial footer strong {
    display: block;
    color: var(--h-navy);
    font-size: 0.9rem;
    font-weight: 700;
}
.home-testimonial footer span {
    color: var(--h-muted);
    font-size: 0.78rem;
}
.home-testimonial-controls {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 22px;
    padding-top: 18px;
    border-top: 1px solid var(--h-border);
}
.home-carousel-btn {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: var(--h-bg);
    border: 1px solid var(--h-border);
    color: var(--h-text);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.15s;
}
.home-carousel-btn:hover {
    background: var(--h-green-light);
    border-color: var(--h-green);
    color: var(--h-green);
}
.home-carousel-btn svg { width: 16px; height: 16px; }
.home-carousel-dots {
    display: flex;
    gap: 6px;
}
.home-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--h-border);
    border: none;
    padding: 0;
    cursor: pointer;
    transition: background 0.15s;
}
.home-dot.active { background: var(--h-green); }
.home-dot:hover { background: var(--h-green-dark); }

/* ---- Legal & disclosures section ---- */

.home-legal-section {
    background: #f7f8fa;
    border-top: 1px solid var(--h-border);
    padding: 64px 0;
}

.home-legal-section h2 {
    font-family: var(--h-sans);
    font-size: 0.78rem;
    font-weight: 700;
    color: var(--h-navy);
    text-transform: uppercase;
    letter-spacing: 0.1em;
    margin-bottom: 22px;
}

.home-legal-intro {
    font-size: 0.86rem;
    line-height: 1.7;
    color: var(--h-text);
    margin-bottom: 24px;
    max-width: 920px;
}

.home-legal-list {
    list-style: decimal;
    padding-left: 20px;
    max-width: 920px;
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.home-legal-list li {
    font-size: 0.8rem;
    color: var(--h-muted);
    line-height: 1.7;
    padding-left: 4px;
}

.home-legal-list li strong {
    color: var(--h-navy);
    font-weight: 700;
}

.home-legal-list a {
    color: var(--h-green);
    font-weight: 600;
}

.home-legal-foot {
    margin-top: 28px;
    padding-top: 20px;
    border-top: 1px solid var(--h-border);
    font-size: 0.76rem;
    color: var(--h-muted);
    line-height: 1.65;
}

@media (max-width: 720px) {
    .home-legal-section { padding: 44px 0; }
    .home-legal-list { padding-left: 16px; }
    .home-legal-list li,
    .home-legal-intro { font-size: 0.78rem; }
}

/* ---- CTA BANNER ---- */

.home-cta-banner {
    background: linear-gradient(135deg, #0B2748 0%, #051428 100%);
    color: var(--h-white);
    padding: 36px 0;
}
.home-cta-inner {
    display: flex;
    align-items: center;
    gap: 24px;
}
.home-cta-icon {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: rgba(21,153,71,0.15);
    color: var(--h-green);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.home-cta-icon svg { width: 24px; height: 24px; }
.home-cta-text { flex: 1; }
.home-cta-text h2 {
    font-family: var(--h-serif);
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--h-white);
    margin: 0 0 4px 0;
    line-height: 1.25;
}
.home-cta-text p {
    color: rgba(255,255,255,0.65);
    font-size: 0.92rem;
    margin: 0;
}

/* ---- FOOTER ---- */

.home-footer {
    background: var(--h-bg);
    border-top: 1px solid var(--h-border);
    padding: 56px 0 24px;
    color: var(--h-muted);
}
.home-footer-grid {
    display: grid;
    grid-template-columns: 1.6fr 1fr 1fr 1fr 1fr 0.6fr;
    gap: 32px;
    margin-bottom: 36px;
}
.home-footer-brand p {
    margin-top: 14px;
    font-size: 0.85rem;
    line-height: 1.6;
    max-width: 320px;
}
.home-footer-since { margin-top: 12px !important; color: var(--h-text); }

.home-footer-col h4 {
    color: var(--h-navy);
    font-size: 0.78rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin-bottom: 14px;
}
.home-footer-col ul {
    list-style: none;
    margin: 0;
    padding: 0;
}
.home-footer-col li {
    margin-bottom: 8px;
}
.home-footer-col a {
    color: var(--h-muted);
    text-decoration: none;
    font-size: 0.86rem;
    transition: color 0.15s;
}
.home-footer-col a:hover { color: var(--h-green); }

.home-footer-social a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 8px;
    background: var(--h-white);
    border: 1px solid var(--h-border);
    color: var(--h-text);
    transition: all 0.15s;
}
.home-footer-social a:hover {
    background: var(--h-green);
    border-color: var(--h-green);
    color: var(--h-white);
}

.home-footer-bottom {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 8px;
    padding-top: 24px;
    border-top: 1px solid var(--h-border);
    font-size: 0.78rem;
    color: var(--h-muted);
}
.home-footer-bottom p { margin: 0; }

/* ---- RESPONSIVE ---- */

@media (max-width: 1080px) {
    .home-hero {
        padding: 36px 0 56px;
    }
    .home-hero-grid {
        grid-template-columns: 1fr;
        gap: 28px;
    }
    .home-hero-left { padding-left: 0; padding-top: 0; }
    /* Decorative flag is for desktop edge accent only.
       On mobile/tablet the trust card below already has a flag, so this is
       hidden to avoid the orphaned look. */
    .home-hero-flag { display: none; }
    .home-h1 { font-size: clamp(1.9rem, 5.4vw, 2.6rem); }
    .home-trust-points { grid-template-columns: repeat(2, 1fr); }
    .home-trust-cards { grid-template-columns: 1fr 1fr; }
    .home-trust-band-grid { grid-template-columns: 1fr 1fr 1fr; gap: 24px; }
    .home-trust-band-grid .home-tb-divider { display: none; }
    .home-buy-grid { grid-template-columns: 1fr; max-width: 540px; margin: 0 auto; }
    .home-section { padding: 56px 0; }
    .home-section-head { margin-bottom: 32px; }
    .home-steps {
        grid-template-columns: 1fr;
        gap: 28px 0;
    }
    .home-step-arrow { display: none; }
    .home-recent-grid { grid-template-columns: 1fr; }
    .home-cta-inner { flex-direction: column; align-items: flex-start; text-align: left; }
    .home-cta-inner .home-btn { width: 100%; }
    .home-footer-grid {
        grid-template-columns: 1fr 1fr 1fr;
        gap: 32px 24px;
    }
    .home-footer-brand { grid-column: 1 / -1; }
    .home-valuation-card { padding: 28px 24px; }
    .home-valuation-heading { font-size: 1.45rem; }
}

@media (max-width: 980px) {
    .home-nav,
    .home-header-actions { display: none; }
    .home-nav-toggle {
        display: flex;
        flex-direction: column;
        justify-content: center;
        gap: 4px;
        width: 36px;
        height: 36px;
        background: transparent;
        border: 1px solid var(--h-border);
        border-radius: 6px;
        cursor: pointer;
        margin-left: auto;
    }
    .home-nav-toggle span {
        display: block;
        width: 18px;
        height: 1.5px;
        background: var(--h-text);
        margin: 0 auto;
        border-radius: 2px;
    }
    .home-nav.open {
        display: flex;
        position: absolute;
        top: 76px;
        left: 0;
        right: 0;
        flex-direction: column;
        background: var(--h-white);
        border-bottom: 1px solid var(--h-border);
        padding: 16px 24px 24px;
        gap: 14px;
        z-index: 99;
    }
}

@media (max-width: 720px) {
    .home-h1 { font-size: clamp(1.8rem, 7.5vw, 2.4rem); }
    .home-hero { padding: 28px 0 44px; }
    .home-trust-points { grid-template-columns: 1fr 1fr; gap: 12px 16px; }
    .home-trust-cards { grid-template-columns: 1fr; gap: 12px; padding: 14px; }
    .home-trust-band-grid { grid-template-columns: 1fr; gap: 18px; }
    .home-valuation-card { padding: 22px; }
    .home-valuation-heading { font-size: 1.3rem; }
    .home-val-tabs { flex-wrap: wrap; }
    .home-val-tab { flex: 1 1 33%; padding: 10px 4px; font-size: 0.72rem; line-height: 1.2; min-height: 44px; }
    .home-val-grid { grid-template-columns: 1fr; }
    .home-val-reassurance { grid-template-columns: 1fr; gap: 8px; }
    .home-section { padding: 44px 0; }
    .home-section-head { margin-bottom: 28px; }
    .home-section-head h2 { font-size: 1.5rem; }
    .home-recent-card,
    .home-testimonial-card { padding: 22px 20px 18px; }
    .home-recent-deco { display: none; }
    .home-testimonial p { font-size: 0.98rem; }
    .home-cta-banner { padding: 28px 0; }
    .home-cta-text h2 { font-size: 1.15rem; }
    .home-footer-grid {
        grid-template-columns: 1fr 1fr;
        gap: 26px 20px;
    }
    .home-footer-brand { grid-column: 1 / -1; }
    .home-footer-bottom { flex-direction: column; align-items: flex-start; }
}

@media (max-width: 420px) {
    .home-footer-grid { grid-template-columns: 1fr; gap: 22px; }
    .home-footer-brand { grid-column: auto; }
}

/* ============================================
   Scroll reveal (progressive enhancement)
   Hidden state only applies once JS adds .reveal-ready to <html>, so
   no-JS users always see content. Disabled under reduced-motion.
   ============================================ */
.reveal-ready .reveal {
    opacity: 0;
    transform: translateY(22px);
    transition: opacity 0.6s cubic-bezier(0.16, 1, 0.3, 1),
                transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
    will-change: opacity, transform;
}
.reveal-ready .reveal.in-view {
    opacity: 1;
    transform: none;
}
/* Staggered groups */
.reveal-ready .home-buy-grid .reveal:nth-child(2) { transition-delay: 0.08s; }
.reveal-ready .home-buy-grid .reveal:nth-child(3) { transition-delay: 0.16s; }
.reveal-ready .home-trust-band-grid .home-tb-item.reveal:nth-child(3) { transition-delay: 0.06s; }
.reveal-ready .home-trust-band-grid .home-tb-item.reveal:nth-child(5) { transition-delay: 0.12s; }
.reveal-ready .home-trust-band-grid .home-tb-item.reveal:nth-child(7) { transition-delay: 0.18s; }

@media (prefers-reduced-motion: reduce) {
    .reveal-ready .reveal,
    .reveal-ready .reveal.in-view {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
    }
}

/* ---- FAQ ---- */
.home-faq {
    max-width: 800px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.home-faq-item {
    background: var(--h-white);
    border: 1px solid var(--h-border);
    border-radius: 12px;
    overflow: hidden;
    transition: border-color 0.18s ease, box-shadow 0.18s ease;
}
.home-faq-item[open] {
    border-color: #c5d2e2;
    box-shadow: 0 1px 0 rgba(7,27,53,0.04), 0 14px 32px -20px rgba(7,27,53,0.18);
}
.home-faq-item summary {
    list-style: none;
    cursor: pointer;
    padding: 20px 52px 20px 22px;
    font-weight: 600;
    font-size: 0.98rem;
    color: var(--h-navy);
    position: relative;
    user-select: none;
}
.home-faq-item summary::-webkit-details-marker { display: none; }
.home-faq-item summary::after {
    content: '';
    position: absolute;
    right: 22px;
    top: 50%;
    width: 10px;
    height: 10px;
    border-right: 2px solid var(--h-green);
    border-bottom: 2px solid var(--h-green);
    transform: translateY(-65%) rotate(45deg);
    transition: transform 0.2s ease;
}
.home-faq-item[open] summary::after {
    transform: translateY(-35%) rotate(-135deg);
}
.home-faq-item summary:hover { color: var(--h-green-dark); }
.home-faq-item summary:focus-visible {
    outline: 2px solid var(--h-green);
    outline-offset: -2px;
    border-radius: 12px;
}
.home-faq-body {
    padding: 0 22px 20px;
}
.home-faq-body p {
    color: var(--h-muted);
    font-size: 0.92rem;
    line-height: 1.7;
    margin: 0;
}
.home-faq-body a { color: var(--h-green); font-weight: 600; }

/* ---- "What we buy" nav dropdown ---- */
.home-nav-dd {
    position: relative;
    display: inline-flex;
    align-items: center;
}
.home-nav .home-nav-dd-trigger {
    /* inherits .home-nav a styling */
}
.home-nav-dd .caret {
    font-size: 0.7rem;
    opacity: 0.5;
    transition: transform 0.18s ease;
    display: inline-block;
}
.home-nav-dd:hover .caret,
.home-nav-dd:focus-within .caret { transform: rotate(180deg); }

.home-nav-dd-menu {
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%) translateY(8px);
    min-width: 248px;
    background: var(--h-white);
    border: 1px solid var(--h-border);
    border-radius: 10px;
    box-shadow: 0 14px 36px -14px rgba(7,27,53,0.28);
    padding: 8px;
    display: flex;
    flex-direction: column;
    gap: 2px;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.16s ease, transform 0.16s ease, visibility 0.16s;
    z-index: 200;
}
/* Invisible bridge so the cursor can cross the gap without closing */
.home-nav-dd-menu::before {
    content: '';
    position: absolute;
    top: -10px;
    left: 0;
    right: 0;
    height: 10px;
}
.home-nav-dd:hover .home-nav-dd-menu,
.home-nav-dd:focus-within .home-nav-dd-menu {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateX(-50%) translateY(2px);
}
.home-nav-dd-menu a {
    display: block;
    padding: 10px 12px;
    border-radius: 6px;
    font-size: 0.85rem;
    font-weight: 500;
    color: var(--h-text) !important;
    white-space: nowrap;
    text-decoration: none;
    transition: background 0.15s, color 0.15s;
}
.home-nav-dd-menu a:hover,
.home-nav-dd-menu a:focus-visible {
    background: var(--h-green-light);
    color: var(--h-green-dark) !important;
}

/* Mobile: show the dropdown items inline within the open hamburger nav */
@media (max-width: 980px) {
    .home-nav.open .home-nav-dd {
        flex-direction: column;
        align-items: stretch;
        width: 100%;
    }
    .home-nav.open .home-nav-dd-menu {
        position: static;
        transform: none !important;
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        box-shadow: none;
        border: none;
        padding: 6px 0 6px 14px;
        min-width: 0;
        gap: 0;
    }
    .home-nav.open .home-nav-dd-menu::before { display: none; }
    .home-nav.open .home-nav-dd .caret { display: none; }
}
