/* ACA Funding Group polish pass (v3): spacing rhythm, type hierarchy, buttons, forms, footer, mobile. Layered last; structure unchanged. */

/* 1. Header: dark navy band that belongs to the site, with the one-line lockup in light ink */
.zip-site.zip-site .top{background:rgba(6,16,31,.92);-webkit-backdrop-filter:saturate(1.3) blur(12px);backdrop-filter:saturate(1.3) blur(12px);border-bottom:1px solid #1b2e4a}
.zip-site.zip-site .top .wrap{height:80px}
.zip-site.zip-site .top a.logo.brand{color:#ffffff}
.zip-site.zip-site .top a.logo.brand .brand-sub{color:#b4c4da}
.zip-site.zip-site .top a.logo.brand:hover .brand-sub{color:#ffffff}
.zip-site.zip-site .top .nav a{color:#b4c4da;transition:color .15s}
.zip-site.zip-site .top .nav a:hover{color:#ffffff}
.zip-site.zip-site .top .mobile-menu button{color:#e8eef8;border-color:#2c4363;background:transparent}
.zip-site.zip-site .mobile-menu nav{top:80px;background:#0d1b31;border:1px solid #233a5b;border-radius:0 0 16px 16px;box-shadow:0 18px 30px #0008}
.zip-site.zip-site .mobile-menu nav a{color:#e8eef8}

/* 2. Spacing rhythm: one section step (104 desktop / 72 mobile) instead of 112 + stacked margins */
.zip-site.zip-site .block{padding-top:104px}
.zip-site.zip-site .estimate-demo{margin:104px 0 0}
.zip-site.zip-site .cta{margin-top:104px}
.zip-site.zip-site .reach-section{padding:56px 0 80px}
.zip-site.zip-site .figures + .concept-note{margin-top:20px}
.zip-site.zip-site .concept-note + .concept-note{margin-top:4px}
.zip-site.zip-site .head{margin-bottom:48px}

/* 3. Type hierarchy: one H2 voice (serif 500), consistent eyebrows */
.zip-site.zip-site .estimate-heading h2,.zip-site.zip-site .cta h2{font-weight:500;letter-spacing:-.015em}
.zip-site.zip-site .estimate-heading h2{font-size:clamp(34px,4vw,48px)}
.zip-site.zip-site .cta h2{font-size:clamp(34px,4.4vw,52px)}
.zip-site.zip-site .reach-box h2{font-size:44px;letter-spacing:-.015em}
.zip-site.zip-site .eyebrow{letter-spacing:.14em;text-transform:uppercase}
.zip-site.zip-site .lede{color:#a9b9cf}
.zip-site.zip-site .figures span{color:#9fb0c7}

/* 4. Feature cards: headings share a two-line slot so the copy lines up across the row */
@media (min-width:1101px){.zip-site.zip-site .why h3{min-height:2.6em}}
.zip-site.zip-site .why article{border:1px solid #1d3352}
.zip-site.zip-site .why h3,.zip-site.zip-site .foot .about,.zip-site.zip-site .lede{text-wrap:pretty}

/* 5. Buttons: same height, weight and arrow spacing everywhere */
.zip-site.zip-site .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:52px;line-height:1;font-weight:600;letter-spacing:.005em;transition:background .15s,border-color .15s,color .15s,transform .15s}
.zip-site.zip-site .top .btn{min-height:42px}
.zip-site.zip-site .btn .arr,.zip-site.zip-site .btn [aria-hidden="true"]{transition:transform .15s}
.zip-site.zip-site .btn:hover .arr{transform:translateX(3px)}
.zip-site.zip-site .btn-ghost{border:1px solid #33507a;color:#e8eef8;background:transparent}
.zip-site.zip-site .btn-ghost:hover{border-color:#4fb0e6;color:#ffffff}
.zip-site.zip-site .cta .btn-ghost{border-color:#4a6a95}
.zip-site.zip-site .btn:focus-visible,.zip-site.zip-site a:focus-visible,.zip-site.zip-site button:focus-visible{outline:2px solid #4fb0e6;outline-offset:3px}

/* 6. How-it-works arch panel in the site's navy instead of grey-green */
.zip-site.zip-site .aca-arch-process{background:radial-gradient(ellipse at 50% 38%,#17345a,#08162a 76%);border-color:#203a5e}
.zip-site.zip-site .arch-topline{color:#a9b9cf;border-bottom:1px solid #1b3252}
.zip-site.zip-site .arch-topline button{color:#d4e0ef;border-color:#33507a}
.zip-site.zip-site .arch-topline button:hover{border-color:#4fb0e6}

/* 7. Industry photos: consistent crop, subtle frame */
.zip-site.zip-site .inds img{aspect-ratio:1/1;object-fit:cover;object-position:50% 30%;width:100%;height:auto}
.zip-site.zip-site .inds figure{overflow:hidden}

/* 8. Contact cards: phone, email and office share one even row */
.zip-site.zip-site .reach-options{max-width:none;grid-template-columns:repeat(3,minmax(0,1fr))}
.zip-site.zip-site .reach-option{min-height:84px}
.zip-site.zip-site .reach-value{overflow-wrap:anywhere}
.zip-site.zip-site .reach-arrow{margin-left:auto}
.zip-site.zip-site .reach-icon{flex:0 0 40px;width:40px;height:40px;display:grid;place-items:center;border-radius:12px;background:#143462;color:#7cc4f2}
.zip-site.zip-site .adviser-options{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:1000px){.zip-site.zip-site .reach-options,.zip-site.zip-site .adviser-options{grid-template-columns:1fr}}

/* 9. Footer: tidy columns, address set like the rest of the footer copy */
.zip-site.zip-site footer{margin-top:0}
.zip-site.zip-site .foot .about{color:#9fb0c7;font-size:15px;line-height:1.65;margin-top:20px}
.zip-site.zip-site .foot .postal-address{color:#9fb0c7;font-size:15px;line-height:1.65;margin-top:10px}
.zip-site.zip-site .foot h4{color:#7f93ad;font-size:12px;letter-spacing:.14em}
.zip-site.zip-site .foot ul a{color:#d4e0ef;font-size:15px}
.zip-site.zip-site .foot ul a:hover{color:#ffffff}
.zip-site.zip-site .legal{color:#7f93ad;font-size:12.5px}
.zip-site.zip-site .legal p:last-child{color:#9fb0c7}
.zip-site.zip-site .policy-page,.zip-site.zip-site .adviser-page,.zip-site.zip-site .application-page{padding-bottom:96px}
.zip-site.zip-site .policy-page + .wrap,.zip-site.zip-site .adviser-page + .wrap,.zip-site.zip-site .application-page + .wrap{border-top:1px solid #1b2e4a;padding-top:8px}

/* 10. Apply form: dark fields that match the partner forms */
.zip-site.zip-site .form-field label{color:#e8eef8;font-size:14.5px}
.zip-site.zip-site .form-field input:not([type="range"]),.zip-site.zip-site .form-field select,.zip-site.zip-site .form-field textarea{background:#0b1a2e;border:1px solid #2a4466;color:#eef3fa;color-scheme:dark;border-radius:10px}
.zip-site.zip-site .form-field input::placeholder,.zip-site.zip-site .form-field textarea::placeholder{color:#6f84a0}
.zip-site.zip-site .form-field input:not([type="range"]):hover,.zip-site.zip-site .form-field select:hover,.zip-site.zip-site .form-field textarea:hover{border-color:#3b5d88}
.zip-site.zip-site .form-field input:focus,.zip-site.zip-site .form-field select:focus,.zip-site.zip-site .form-field textarea:focus{outline:2px solid #4fb0e6;outline-offset:1px;border-color:#4fb0e6}
.zip-site.zip-site .form-field select option{background:#0d1b31;color:#eef3fa}
.zip-site.zip-site .amount-slider-field{background:#0d1b31;border:1px solid #233a5b;border-radius:14px;padding:20px 22px}
.zip-site.zip-site .application-success{background:#0d1b31;border-color:#233a5b}
.zip-site.zip-site .application-success p{color:#a9b9cf}
.zip-site.zip-site .application-status{background:#2a1218;color:#ffc9c9;border-color:#6b2a35}
.zip-site.zip-site .application-intro,.zip-site.zip-site .adviser-intro{color:#a9b9cf}

/* 11. Partners: the deal-file checklist reads as three separated points */
.zip-site.zip-site .broker-checklist p{margin:0;padding:20px 0;border-bottom:1px solid #1d3352;font-size:15px;line-height:1.7;color:#a9b9cf}
.zip-site.zip-site .broker-checklist p:first-child{padding-top:0}
.zip-site.zip-site .broker-checklist p:last-child{border-bottom:0;padding-bottom:0}

/* 12. Mobile */
@media (max-width:860px){
 .zip-site.zip-site .top .wrap{height:68px}
 .zip-site.zip-site .top .btn{display:none}
 .zip-site.zip-site .mobile-menu nav{top:68px}
 .zip-site.zip-site .block{padding-top:72px}
 .zip-site.zip-site .estimate-demo{margin-top:72px}
 .zip-site.zip-site .cta{margin-top:72px}
 .zip-site.zip-site .reach-section{padding:40px 0 72px}
 .zip-site.zip-site .head{margin-bottom:32px}
 .zip-site.zip-site .reach-box h2{font-size:36px}
}
@media (max-width:600px){
 .zip-site.zip-site .hero .ctas,.zip-site.zip-site .cta .row{display:grid;grid-template-columns:1fr;gap:10px}
 .zip-site.zip-site .hero .ctas .btn,.zip-site.zip-site .cta .row .btn,.zip-site.zip-site .qualify .btn,.zip-site.zip-site .application-submit,.zip-site.zip-site .policy-page>.btn,.zip-site.zip-site .adviser-page>.btn,.zip-site.zip-site .iso-form .btn,.zip-site.zip-site .broker-form-card .btn{width:100%}
 .zip-site.zip-site .cta{padding:44px 24px}
 .zip-site.zip-site .hero h1{font-size:36px;line-height:1.08}
 .zip-site.zip-site .figures span{font-size:14px}
 .zip-site.zip-site .amount-slider-field{padding:16px}
 .zip-site.zip-site .foot{gap:32px 24px}
}

/* Native checkboxes and sliders in the brand blue */
.zip-site.zip-site input[type="checkbox"]{accent-color:#1f5fdb;width:18px;height:18px}

/* WhatsApp card restored: four contact cards two by two on tablet and desktop */
@media (min-width:601px){.zip-site.zip-site .reach-options,.zip-site.zip-site .adviser-options{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Floating WhatsApp "Let's chat" button, every page */
.wa-float{position:fixed;right:24px;bottom:24px;z-index:900;display:inline-flex;align-items:center;gap:10px;height:52px;padding:0 22px 0 18px;border-radius:999px;background:#25D366;color:#06301c;font:600 16px/1 var(--sans,'DM Sans',system-ui,sans-serif);letter-spacing:.01em;text-decoration:none;box-shadow:0 10px 28px rgba(0,0,0,.35),0 2px 6px rgba(0,0,0,.25);transition:transform .18s ease,box-shadow .18s ease,background .18s ease}
.wa-float svg{width:24px;height:24px;flex:none}
.wa-float:hover{background:#2ee072;transform:translateY(-2px);box-shadow:0 14px 34px rgba(0,0,0,.4),0 3px 8px rgba(0,0,0,.25)}
.wa-float:focus-visible{outline:3px solid #fff;outline-offset:3px}
@media (max-width:600px){.wa-float{right:14px;bottom:14px;height:46px;padding:0 16px 0 13px;font-size:15px;gap:8px}.wa-float svg{width:22px;height:22px}
 body{padding-bottom:64px}}
@media print{.wa-float{display:none}}
