body {
            font-family: 'Inter', sans-serif;
        }

        .page-section {
            display: none;
            animation: fadeIn 0.3s ease-in-out;
        }

            .page-section.active {
                display: block;
            }

        @keyframes fadeIn {
            from {
                opacity: 0;
                transform: translateY(10px);
            }

            to {
                opacity: 1;
                transform: translateY(0);
            }
        }

        .scrollbar-hide::-webkit-scrollbar {
            display: none;
        }

        .scrollbar-hide {
            -ms-overflow-style: none;
            scrollbar-width: none;
        }

        .text-brand-green {
            color: #00341c;
        }

        .bg-brand-green {
            background-color: #00341c;
        }

        .hover-bg-brand-green:hover {
            background-color: #004d2c;
        }

        .text-brand-gold {
            color: #f5b820;
        }

        .bg-brand-gold {
            background-color: #f5b820;
        }

        .border-brand-gold {
            border-color: #f5b820;
        }
    /* Reviews carousel: neighbours recede, active card comes forward */
    .review-slide .review-card {
        transform: scale(0.93);
        opacity: 0.5;
        transition: transform 520ms cubic-bezier(.22,.61,.36,1), opacity 520ms ease;
    }
    .review-slide.is-active .review-card { transform: scale(1); opacity: 1; }
    #reviews-carousel { touch-action: pan-y; }
    .review-text { position: relative; max-height: 6.5em; overflow: hidden; }
    .review-text.is-clamped::after {
        content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 2em;
        background: linear-gradient(to bottom, rgba(255,255,255,0), #fff 85%);
    }
    .review-card.is-expanded .review-text { max-height: none; }
    .review-card.is-expanded .review-text::after { content: none; }
    #reviews-dots button {
        width: 9px; height: 9px; flex: 0 0 auto;
        padding: 0; border: 0; border-radius: 9999px;
        background: #c8d0cb; cursor: pointer;
        transition: background-color 200ms ease, transform 200ms ease, box-shadow 200ms ease;
    }
    #reviews-dots button:hover { background: #9aa8a0; }
    #reviews-dots button[aria-current="true"] {
        background: var(--sos-primary);
        transform: scale(1.15);
        box-shadow: 0 0 0 4px rgba(0, 52, 28, 0.12);
    }
    #reviews-dots button:focus-visible { outline: 2px solid var(--sos-primary); outline-offset: 3px; }
    @media (prefers-reduced-motion: reduce) {
        #reviews-track { transition: none !important; }
        .review-slide .review-card { transition: none; }
    }

.site-footer {
  position: relative;
  /* Starts on the exact tone the closing CTA section fades to (#002512) so the
     two blocks read as one continuous surface, then deepens to a premium
     near-black forest for weight. */
  background: linear-gradient(180deg, #002512 0%, #001b0d 48%, #001008 100%) !important;
  border-top: none;
}
/* Soft gold hairline that fades in from the centre — a premium divider in place
   of the old hard full-width rule. */
.site-footer::before {
  content: "";
  position: absolute; top: 0; left: 0; right: 0; height: 1px;
  background: linear-gradient(90deg, rgba(193,155,46,0) 0%, rgba(193,155,46,0.45) 50%, rgba(193,155,46,0) 100%);
  pointer-events: none;
}

/* Full-color logo on a soft white plate so the dark-green wordmark
   reads on the dark ground (the white logo is banned, so instead we
   light the backing rather than the mark). */
.footer-logo {
  background: #ffffff;
  padding: 13px 18px;
  border-radius: 12px;
  box-shadow: 0 14px 30px -16px rgba(0, 0, 0, 0.55);
}

/* Equal Housing Lender mark — render it white so it stays clearly
   visible on the dark footer. */
.site-footer img[alt="Equal Housing Lender"] {
  filter: brightness(0) invert(1);
}

/* Social icon buttons — soft glass circles that fill gold on hover. */
.social-ico {
  display: inline-flex; align-items: center; justify-content: center;
  width: 38px; height: 38px; border-radius: 9999px;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.16);
  color: #ffffff;
  transition: background-color 160ms var(--sos-ease), border-color 160ms var(--sos-ease),
              color 160ms var(--sos-ease), transform 160ms var(--sos-ease);
}
.social-ico:hover {
  background: var(--sos-cta);
  border-color: var(--sos-cta);
  color: var(--sos-cta-text);
  transform: translateY(-2px);
}
.social-ico svg { width: 18px; height: 18px; fill: currentColor; }
@media (prefers-reduced-motion: reduce) { .social-ico:hover { transform: none; } }

::selection { background: #00341c; color: #fff; }

@media(max-width:767px){
.mslc-stage{position:relative;}
.mslc-viewport{overflow:hidden;border-radius:20px;}
.mslc-track{display:flex!important;gap:0!important;transition:transform .5s cubic-bezier(.4,0,.2,1);will-change:transform;}
.mslc-track>*{flex:0 0 100%;min-width:100%;max-width:100%;box-sizing:border-box;margin:0;min-height:390px;height:auto;display:flex;flex-direction:column;justify-content:center;padding:40px 58px!important;text-align:center;}
.mslc-arrow{position:absolute;top:50%;transform:translateY(-50%);width:50px;height:50px;border-radius:9999px;background:#fff;border:1px solid #cdd6cf;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;color:#00341c;box-shadow:0 10px 22px -12px rgba(0,52,28,0.35);z-index:3;}
.mslc-arrow:active{transform:translateY(-50%) scale(0.94);}
.mslc-arrow.left{left:-4px;}.mslc-arrow.right{right:-4px;}
.mslc-arrow .material-symbols-outlined{font-size:26px;}
.mslc-dots{display:flex;align-items:center;justify-content:center;gap:11px;margin-top:20px;}
.mslc-dot{width:12px;height:12px;border-radius:9999px;background:#cdd6cf;border:none;padding:0;cursor:pointer;transition:transform .2s ease,background .2s ease;}
.mslc-dot.is-on{background:#00341c;transform:scale(1.35);}
}
@media(min-width:768px){.mslc-arrow,.mslc-dots{display:none;}.mslc-viewport{overflow:visible;}.mslc-track{transform:none!important;}}
@media(max-width:767px){
.mslc-track>*{align-items:center;}
.mslc-track>* .flex{flex-direction:column;align-items:center;text-align:center;gap:0;}
.mslc-track>*>span:first-child,.mslc-track>* .flex>span:first-child{width:104px!important;height:104px!important;border-radius:9999px!important;margin:0 0 24px!important;background:radial-gradient(circle at 50% 36%,#eafaf1 0%,#e1f5ee 62%,#d3ecdf 100%)!important;box-shadow:0 16px 32px -16px rgba(0,52,28,0.42);position:relative;flex-shrink:0;overflow:visible!important;}
.mslc-track>*>span:first-child::after,.mslc-track>* .flex>span:first-child::after{content:"";position:absolute;inset:-7px;border-radius:9999px;border:1.5px solid rgba(193,155,46,0.40);}
.mslc-track>*>span:first-child .material-symbols-outlined,.mslc-track>* .flex>span:first-child .material-symbols-outlined{font-size:46px!important;color:#00341c;}
.mslc-track>* h3{font-size:clamp(1.4rem,2.6vw,1.8rem)!important;font-weight:800!important;color:#1a1a1a;letter-spacing:-0.015em;line-height:1.2;margin:0 0 12px!important;}
.mslc-track>* p{font-size:16px!important;line-height:1.65!important;color:#404942;max-width:30rem;margin:0 auto;}
}

.hero-photo{-webkit-mask-image:linear-gradient(180deg,#000 0%,#000 70%,rgba(0,0,0,0) 100%);mask-image:linear-gradient(180deg,#000 0%,#000 70%,rgba(0,0,0,0) 100%);}
@media (min-width:1024px){.hero-photo{-webkit-mask-image:none;mask-image:none;}}
@media (min-width:1024px){ .hero-grid, .hero-media { min-height: clamp(660px, calc(100vh - 96px), 880px); } }
.wsm-band{background:#fff;border-top:1px solid rgba(0,52,28,0.06);border-bottom:1px solid rgba(0,52,28,0.06);padding:26px 0;overflow:hidden;}
.wsm-eyebrow{text-align:center;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0.16em;color:#6b756d;margin:0 0 20px;}
.wsm-viewport{position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 7%,#000 93%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 7%,#000 93%,transparent 100%);}
.wsm-track{display:flex;align-items:center;gap:60px;width:max-content;animation:wsm-scroll 42s linear infinite;}
.wsm-track img{height:30px;width:auto;max-width:148px;object-fit:contain;filter:grayscale(1);opacity:0.6;transition:filter .2s ease,opacity .2s ease;}
.wsm-track img:hover{filter:none;opacity:1;}
@keyframes wsm-scroll{from{transform:translateX(0);}to{transform:translateX(-50%);}}
@media (prefers-reduced-motion:reduce){.wsm-track{animation:none;}}

.trust-band { background:#fff; border-bottom:1px solid rgba(0,52,28,0.07); }
.trust-grid { display:grid; grid-template-columns:repeat(3,1fr); }
.trust-cell { position:relative; min-width:0; display:flex; flex-direction:column; align-items:center; text-align:center; padding:34px 8px; }
@media (min-width:640px){ .trust-cell { padding:44px 24px; } }
@media (min-width:1024px){ .trust-cell { padding:52px 32px; } }
.trust-cell + .trust-cell::before { content:""; position:absolute; left:0; top:50%; transform:translateY(-50%); width:1px; height:58%; background:linear-gradient(180deg, rgba(0,52,28,0) 0%, rgba(0,52,28,0.14) 50%, rgba(0,52,28,0) 100%); }
.trust-num { font-weight:800; line-height:1; color:#1a1a1a; letter-spacing:-0.018em; font-variant-numeric:tabular-nums; font-size:clamp(1.55rem,3.1vw,2.35rem); }
.trust-label { margin-top:13px; font-size:10.5px; font-weight:600; text-transform:uppercase; letter-spacing:0.15em; color:#1a1a1a; }
@media (min-width:640px){ .trust-label { margin-top:15px; font-size:11px; } }
.trust-label .g-logo { height:15px; width:auto; margin-right:1px; vertical-align:-2px; }

.bcase-plate{position:relative;overflow:hidden;height:300px;background:linear-gradient(168deg,#004d2c 0%,#00341c 62%,#002814 100%);}
@media(min-width:768px){.bcase-plate{height:340px;}}
.bcase-rings{position:absolute;right:-70px;bottom:-110px;width:320px;height:320px;border-radius:999px;z-index:0;background:radial-gradient(circle,transparent 58%,rgba(255,255,255,0.05) 58.5%,rgba(255,255,255,0.05) 63%,transparent 63.5%),radial-gradient(circle,transparent 76%,rgba(255,255,255,0.04) 76.5%,rgba(255,255,255,0.04) 81%,transparent 81.5%);}
.bcase-figure{position:absolute;left:50%;bottom:0;transform:translateX(-50%);height:92%;width:auto;max-width:none;z-index:10;object-fit:contain;object-position:bottom;filter:drop-shadow(0 22px 30px rgba(0,0,0,0.32));transition:transform 260ms cubic-bezier(.22,.61,.36,1);}
.bcase-card:hover .bcase-figure{transform:translateX(-50%) translateY(-6px);}

.relres{background:#fff;border-top:1px solid rgba(0,52,28,0.08);}
.relres-grid{display:grid;gap:22px;}
@media(max-width:1023px){
.relres-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:16px;padding:4px 4px 16px;margin:0 -4px;-webkit-overflow-scrolling:touch;scrollbar-width:none;}
.relres-grid::-webkit-scrollbar{display:none;}
.relres-grid .relres-card{flex:0 0 82%;max-width:340px;scroll-snap-align:center;}
}
@media(min-width:1024px){.relres-grid{grid-template-columns:repeat(3,1fr);}}
.relres-card{display:flex;flex-direction:column;background:#fff;border:1px solid rgba(191,201,191,0.45);border-radius:16px;overflow:hidden;box-shadow:0 2px 8px -2px rgba(0,52,28,0.08);transition:box-shadow 160ms ease,transform 160ms ease;}
.relres-card:hover{box-shadow:0 22px 44px -18px rgba(0,52,28,0.28);transform:translateY(-3px);}
.relres-img{aspect-ratio:16/10;overflow:hidden;background:#fff;display:block;border-bottom:1px solid rgba(191,201,191,0.35);}
.relres-img img{width:100%;height:100%;object-fit:contain;display:block;padding:6px;box-sizing:border-box;}
.relres-body{display:flex;flex-direction:column;flex:1;padding:20px 22px 22px;}
.relres-eyebrow{font-size:10.5px;font-weight:800;letter-spacing:0.14em;text-transform:uppercase;color:#00341c;margin-bottom:8px;}
.relres-title{font-size:18px;line-height:1.35;font-weight:800;color:#1a1a1a;letter-spacing:-0.01em;margin:0 0 8px;}
.relres-title a{color:inherit;text-decoration:none;}
.relres-title a:hover{color:#00341c;}
.relres-desc{font-size:13.5px;line-height:1.6;color:#404942;margin:0 0 18px;}
.relres-author{margin-top:auto;display:flex;align-items:center;gap:10px;padding-top:14px;border-top:1px solid rgba(191,201,191,0.35);}
.relres-author img{width:34px;height:34px;border-radius:9999px;object-fit:cover;background:#e1f5ee;padding:3px;}
.relres-author span{font-size:13px;font-weight:700;color:#1a1a1a;}
