/* A fuller, credibility-led footer drawn from the existing beta's information structure. */
footer.site-footer{display:block;padding:clamp(46px,7vw,95px) clamp(20px,7vw,110px) 30px;background:var(--brand-navy);color:var(--brand-white);font:400 1rem/1.6 Arial,sans-serif}
.footer-inner{max-width:1280px;margin:auto}.site-footer p{margin:0 0 16px}.site-footer a{color:inherit}.site-footer a:focus-visible{outline:3px solid var(--brand-blue);outline-offset:5px}.footer-credibility{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(28px,6vw,80px);align-items:center;margin-bottom:32px}.site-footer .eyebrow{color:var(--brand-white)}.site-footer h2{color:var(--brand-white);font:700 clamp(2.1rem,3.4vw,3.8rem)/1.08 Georgia,serif;letter-spacing:-.04em;margin:0 0 20px}.footer-trust-intro>p:last-child{color:var(--brand-gray);max-width:49ch}.google-review-card{display:grid;gap:14px;padding:clamp(24px,3vw,40px);background:var(--brand-white);border-top:5px solid var(--brand-blue);border-radius:18px;text-decoration:none;color:var(--brand-navy)!important}.google-profile-label{font-weight:700;font-size:.875rem;letter-spacing:.05em}.google-review-card strong{font:700 clamp(1.7rem,2.5vw,2.6rem)/1.15 Georgia,serif;letter-spacing:-.025em}.google-review-card>span:not(.google-profile-label){font-size:1rem;line-height:1.5}.google-review-card .footer-link-label{font-weight:700;text-decoration:underline;text-underline-offset:5px}.google-review-card:hover{background:var(--brand-gray)}.new-tab-label{font-size:.875rem;font-weight:400;white-space:nowrap}.footer-review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.footer-review{margin:0;padding:25px;background:rgb(255 255 255 / .06);border:1px solid rgb(255 255 255 / .23);border-radius:12px;display:flex;flex-direction:column;gap:24px}.footer-review blockquote{margin:0;flex:1;font:400 1.2rem/1.5 Georgia,serif}.footer-review blockquote p{margin:0}.footer-review figcaption{display:grid;gap:6px}.footer-review figcaption span,.footer-review figcaption a{font-size:.875rem}.footer-review figcaption a{margin-top:6px;text-underline-offset:4px}.footer-review-source{font-size:.875rem;margin:18px 0 42px!important;color:var(--brand-gray)}.footer-information{display:grid;grid-template-columns:1.2fr 1fr 1.2fr 1fr;gap:30px;padding:40px 0;border-block:1px solid rgb(255 255 255 / .23)}.site-footer .footer-brand .logo{width:min(230px,100%);margin-bottom:24px}.site-footer .footer-brand .logo img{width:100%;height:auto}.footer-brand p,.footer-community{font-size:.95rem}.footer-links{display:flex;align-items:flex-start;flex-direction:column;gap:12px}.footer-links h3{color:var(--brand-white);font:700 1.15rem/1.35 Arial,sans-serif;letter-spacing:0;margin:0 0 8px}.footer-links a{font-size:.95rem;text-decoration:none;text-transform:none;letter-spacing:0;font-weight:400;line-height:1.5;overflow-wrap:anywhere}.footer-links a:hover{text-decoration:underline;text-underline-offset:4px}.footer-links p{font-size:.875rem;color:var(--brand-gray);margin-top:8px}.footer-bottom{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px 30px;padding-top:26px;font-size:.875rem}.footer-bottom p{margin:0}.footer-bottom>div{display:flex;flex-wrap:wrap;gap:18px}.footer-bottom a{text-underline-offset:4px}.footer-beta-note{width:100%;color:var(--brand-gray)}
@media(max-width:900px){.footer-information{grid-template-columns:repeat(2,minmax(0,1fr));gap:35px}.footer-review-grid{grid-template-columns:1fr}.footer-review{gap:18px}.footer-credibility{grid-template-columns:1fr}}
@media(max-width:480px){.footer-information{grid-template-columns:1fr}.footer-credibility{gap:24px}.google-review-card{padding:24px 20px}.site-footer p{margin-top:0}.footer-review-source{line-height:1.5}.footer-bottom{align-items:flex-start;flex-direction:column}.footer-links a{min-height:32px}.footer-links{gap:10px}}

/* User-controlled review browsing; all excerpts remain in the document. */
.review-scroll-controls{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;margin:0 0 18px}
.site-footer .review-scroll-controls p{margin:0;font-size:.95rem}
.review-scroll-buttons{display:flex;gap:10px}
.review-scroll-buttons button{min-width:48px;min-height:48px;padding:8px 14px;border:1px solid rgb(255 255 255 / .45);background:transparent;color:var(--brand-white);font-size:1.4rem;letter-spacing:0}
.review-scroll-buttons button:disabled{opacity:.4;cursor:default}
.footer-review-grid.review-scroll-track{display:grid;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:calc((100% - 36px)/3);gap:18px;overflow-x:auto;scroll-snap-type:x proximity;scroll-padding:2px;padding:3px 3px 18px;scrollbar-width:thin;scrollbar-color:var(--brand-blue) rgb(255 255 255 / .15)}
.review-scroll-track .footer-review{min-width:0;scroll-snap-align:start;overflow-wrap:anywhere}
.review-scroll-track:focus-visible{outline:3px solid var(--brand-blue);outline-offset:5px}
@media(max-width:900px){.footer-review-grid.review-scroll-track{grid-auto-columns:calc((100% - 18px)/2)}}
@media(max-width:600px){.footer-review-grid.review-scroll-track{grid-auto-columns:88%}}
@media(prefers-reduced-motion:reduce){.review-scroll-track{scroll-behavior:auto}}

/* A distinct mutual-fit invitation after the review evidence. */
.site-footer .footer-mutual-fit{max-width:none;display:grid;grid-template-columns:1fr auto;align-items:center;gap:18px 36px;padding:clamp(24px,4vw,44px);margin:32px 0 40px;background:var(--brand-white);color:var(--brand-navy);border:0;border-left:5px solid var(--brand-blue);border-radius:14px}
.footer-mutual-fit h3{grid-column:1;font-size:clamp(1.65rem,3vw,2.3rem);margin:0;line-height:1.15}
.site-footer .footer-mutual-fit p{grid-column:1;max-width:720px;margin:0}
.site-footer .footer-mutual-fit .mutual-fit-cta{grid-column:2;grid-row:1/3;max-width:290px;background:var(--brand-navy);color:var(--brand-white);text-decoration:none;white-space:normal;line-height:1.5;text-align:left;padding:18px 22px}
@media(max-width:900px){.site-footer .footer-mutual-fit{grid-template-columns:1fr}.site-footer .footer-mutual-fit .mutual-fit-cta{grid-column:1;grid-row:auto;max-width:none;justify-self:start}}


/* Original white vector belongs with the footer brand/location information. */
.site-footer .footer-brand .footer-logo{display:block;width:min(260px,100%);max-width:100%;padding:0;margin:0 0 24px;background:transparent;border-radius:0;line-height:0}
.site-footer .footer-brand .footer-logo img{display:block;width:100%;height:auto;max-width:100%;object-fit:contain}

/* Focus states: completed DAG results and call preparation retain utility navigation,
   not review browsing or another sales invitation. :has follows the actual visible
   result, including area switches, editing, returning to the overview and restore. */
:is(body.connect-guided-page, body.homepage:has(#start:not([hidden]) #quiz-result:not([hidden]))) .site-footer .footer-inner > :not(.footer-information):not(.footer-bottom){display:none}
:is(body.connect-guided-page, body.homepage:has(#start:not([hidden]) #quiz-result:not([hidden]))) footer.site-footer{padding-top:28px}
:is(body.connect-guided-page, body.homepage:has(#start:not([hidden]) #quiz-result:not([hidden]))) .footer-information{border-top:0;padding-top:0;padding-bottom:24px}
body.homepage:has(#start:not([hidden]) #quiz-result:not([hidden])) #start ~ .home-section{display:none}

/* Shared footer controls: explicit contrast avoids inherited navy on navy. */
.site-footer .footer-mutual-fit a.button{background:#07134f;color:#fff;border:2px solid #07134f;text-decoration:none}
.site-footer .footer-mutual-fit a.button:hover{background:#fff;color:#07134f;border-color:#07134f;text-decoration:underline;text-underline-offset:4px}
.site-footer .footer-mutual-fit a.button:focus-visible{background:#07134f;color:#fff;outline:3px solid #2489f5;outline-offset:4px}
.site-footer .review-scroll-buttons button{display:inline-flex;align-items:center;justify-content:center;color:#fff;min-height:48px;min-width:48px}
.site-footer .review-scroll-buttons button[hidden]{display:none}
.site-footer .review-scroll-buttons svg{display:block;flex:none;width:24px;height:24px}
/* Keep off-screen review cards inside their own horizontal scroller. */
footer.site-footer{overflow-x:clip}
