/* Shared Daniel Solar footer, sourced from the home page. */
.home-footer { --font-display: "Playfair Display", serif; --font-mono: "Space Mono", monospace; font-family: "Jost", sans-serif; }
.home-footer *, .home-footer *::before, .home-footer *::after { box-sizing: border-box; }
.home-footer a { text-decoration: none; }
.home-footer p { margin-bottom: 0; }
.home-footer .wrap { max-width: 1200px; margin: 0 auto; padding: 0 32px; }
.home-footer {
            position: relative;
            overflow: hidden;
            margin-top: 0;
            padding: 64px 0 26px;
            color: #f8f3e8;
            background: radial-gradient(circle at 82% 22%, rgba(169, 129, 42, .16), transparent 34%), #1b1712;
        }
        .home-footer::before {
            content: "";
            position: absolute;
            inset: 0 0 auto;
            height: 3px;
            background: linear-gradient(90deg, #d4af37, #f1d688 48%, #a9812a);
        }
        .home-footer a { color: inherit; }
        .home-footer a:focus-visible { outline: 2px solid #f1d688; outline-offset: 4px; }
        .home-footer .footer-invite {
            position: relative;
            isolation: isolate;
            display: grid;
            grid-template-columns: minmax(0, 1fr) auto;
            align-items: center;
            gap: 30px;
            overflow: hidden;
            padding: 38px 44px;
            border: 1px solid rgba(255, 246, 219, .38);
            border-radius: 20px;
            background: linear-gradient(112deg, #f7ecd0, #e7d29e 78%, #d6b96f);
            color: #211a11;
            box-shadow: 0 18px 48px rgba(0, 0, 0, .16);
        }
        .home-footer .footer-invite::after {
            content: "";
            position: absolute;
            z-index: -1;
            right: -74px;
            top: -124px;
            width: 340px;
            height: 340px;
            border: 1px solid rgba(110, 82, 24, .17);
            border-radius: 50%;
            box-shadow: 0 0 0 38px rgba(255, 255, 255, .07), 0 0 0 78px rgba(110, 82, 24, .05);
            pointer-events: none;
        }
        .home-footer .footer-kicker,
        .home-footer .footer-heading {
            font-family: var(--font-mono);
            font-size: 11px;
            font-weight: 700;
            letter-spacing: .14em;
            text-transform: uppercase;
        }
        .home-footer .footer-kicker { color: #775819; }
        .home-footer .footer-invite h2 {
            max-width: 640px;
            margin: 10px 0 8px;
            font-family: var(--font-display);
            font-size: clamp(29px, 3.3vw, 42px);
            font-weight: 600;
            line-height: 1.12;
            letter-spacing: -.025em;
        }
        .home-footer .footer-invite p { max-width: 590px; font-size: 15px; line-height: 1.5; color: #675333; }
        .home-footer .footer-invite-action { position: relative; display: grid; justify-items: end; gap: 9px; }
        .home-footer .footer-invite-button {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 18px;
            min-height: 52px;
            padding: 0 21px;
            border-radius: 9px;
            background: #1b1712;
            color: #fff8e8;
            font-family: var(--font-mono);
            font-size: 12px;
            font-weight: 700;
            letter-spacing: .04em;
            text-transform: uppercase;
            white-space: nowrap;
            transition: transform .2s ease, background .2s ease;
        }
        .home-footer .footer-invite-button:hover { transform: translateY(-2px); background: #513c17; color: #fff; }
        .home-footer .footer-invite-action small { color: #745b2b; font-size: 11px; }
        .home-footer .footer-main {
            display: grid;
            grid-template-columns: minmax(250px, 1.55fr) minmax(130px, .7fr) minmax(175px, .92fr) minmax(230px, 1.1fr);
            gap: clamp(24px, 3vw, 48px);
            padding: 62px 0 56px;
        }
        .home-footer .footer-identity { display: inline-flex; align-items: center; gap: 12px; max-width: 100%; }
        .home-footer .footer-identity img {
            display: block;
            width: 50px;
            height: 50px;
            flex: none;
            border: 1px solid rgba(255, 255, 255, .27);
            border-radius: 50%;
            background: #fffaf0;
            object-fit: contain;
        }
        .home-footer .footer-identity span { font-family: var(--font-display); font-size: 22px; line-height: 1.1; font-weight: 600; color: #fffaf0; }
        .home-footer .footer-description { max-width: 360px; margin: 19px 0 22px; color: #beb19b; font-size: 14px; line-height: 1.6; }
        .home-footer .footer-trust { display: flex; flex-wrap: wrap; gap: 8px; }
        .home-footer .footer-trust span {
            padding: 8px 10px;
            border: 1px solid rgba(241, 214, 136, .24);
            border-radius: 7px;
            color: #e7d6aa;
            font-family: var(--font-mono);
            font-size: 9px;
            letter-spacing: .035em;
        }
        .home-footer .footer-heading { margin: 7px 0 19px; color: #d9bd74; }
        .home-footer .footer-links { display: grid; gap: 10px; }
        .home-footer .footer-links a { width: fit-content; color: #d4c9b6; font-size: 14px; line-height: 1.35; transition: color .2s ease, transform .2s ease; }
        .home-footer .footer-links a:hover { color: #f2d98f; transform: translateX(3px); }
        .home-footer .footer-contact-link {
            display: block;
            padding: 11px 0;
            border-bottom: 1px solid rgba(255, 255, 255, .12);
            color: #f8f3e8;
            font-size: 15px;
            overflow-wrap: anywhere;
        }
        .home-footer .footer-contact-link:first-of-type { padding-top: 0; }
        .home-footer .footer-contact-link:hover { color: #f2d98f; }
        .home-footer .footer-contact-link small { display: block; margin-bottom: 4px; color: #a89a82; font-family: var(--font-mono); font-size: 9px; letter-spacing: .1em; text-transform: uppercase; }
        .home-footer .footer-location { margin-top: 17px; color: #beb19b; font-size: 13px; }
        .home-footer .footer-rating { display: inline-flex; align-items: center; gap: 7px; margin-top: 16px; color: #e6cf86; font-size: 12px; }
        .home-footer .footer-rating:hover { color: #fff0b8; }
        .home-footer .footer-base {
            display: flex;
            align-items: center;
            justify-content: space-between;
            flex-wrap: wrap;
            gap: 16px 28px;
            padding-top: 24px;
            border-top: 1px solid rgba(255, 255, 255, .14);
            color: #a99b84;
            font-family: var(--font-mono);
            font-size: 10px;
            line-height: 1.5;
        }
        .home-footer .footer-base a { color: #e7d6aa; white-space: nowrap; }
        .home-footer .footer-base a:hover { color: #fff0b8; }
        @media (max-width: 1050px) {
            .home-footer .footer-main { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 42px 36px; }
        }
        @media (max-width: 700px) {
            .home-footer { padding-top: 40px; }
            .home-footer .footer-invite { grid-template-columns: 1fr; gap: 20px; padding: 30px 28px; }
            .home-footer .footer-invite-action { justify-items: start; }
            .home-footer .footer-main { padding: 44px 0 40px; }
            .home-footer .footer-brand-block,
            .home-footer .footer-contact-block { grid-column: 1 / -1; }
        }
        @media (max-width: 420px) {
            .home-footer .footer-invite { padding: 27px 21px; border-radius: 14px; }
            .home-footer .footer-invite h2 { font-size: 28px; }
            .home-footer .footer-invite p { font-size: 13.5px; }
            .home-footer .footer-invite-button { width: 100%; }
            .home-footer .footer-invite-action { justify-items: stretch; }
            .home-footer .footer-main { gap: 32px 18px; }
            .home-footer .footer-links a { font-size: 13px; }
            .home-footer .footer-base { display: grid; gap: 9px; }
        }
