/* AKSOY — connection-led footer, inspired by the supplied reference. */
.site-footer.footer-v20 { background:#0a2c43; padding:0; border-top:0; color:#c3d6e5; }
.footer-v20>.container,.footer-services>.container { width:min(100% - 80px,1560px); }
.footer-services { background:#eff5f8; border-top:1px solid #dbe6ed; }
.footer-services-grid { display:grid; grid-template-columns:1fr 1.1fr 1.8fr 1.1fr 1.1fr; gap:30px; min-height:100px; align-items:center; }
.footer-service { display:flex; gap:12px; align-items:center; font-size:.67rem; font-weight:600; color:#12476b; line-height:1.5; padding-block:20px; }
.footer-service:hover { color:#806023; }
.service-request { grid-column:1; }.service-discover { grid-column:2; }.service-location { grid-column:4; }.service-call { grid-column:5; }
.service-icon { width:39px; height:39px; border-radius:50%; display:grid; place-items:center; background:#e1edf4; flex-shrink:0; }
.service-request .service-icon { color:#92703b; }
.footer-main { display:grid; grid-template-columns:1fr 1.1fr 1.8fr 1.1fr 1.1fr; gap:30px; padding-top:63px; padding-bottom:40px; position:relative; align-items:start; }
.footer-column { min-width:0; }
.footer-column h2 { font-family:var(--f-body); color:#fff; font-weight:650; font-size:.94rem; line-height:1.35; letter-spacing:-.02em; margin:0 0 26px; }
.footer-column>a { display:block; width:fit-content; max-width:100%; padding:7px 0; font-size:.79rem; color:#c3d6e5; line-height:1.65; transition:color .2s; overflow-wrap:anywhere; }
.footer-column>a:hover { color:#f0d4a0; text-decoration:underline; text-underline-offset:5px; }
.footer-emblem { position:relative; z-index:1; margin-top:-126px; min-height:320px; background:#f8fbfd; border:1px solid #d3e2ec; border-radius:50% 50% 46% 46%; padding:42px 26px 30px; text-align:center; color:#103c5a; display:flex; flex-direction:column; align-items:center; justify-content:center; }
.emblem-kicker { color:#577a96; font-size:.5rem; letter-spacing:.17em; font-weight:600; }
.footer-emblem .brand { display:block; width:100%; max-width:275px; margin:24px 0 14px; }
.site-footer .footer-emblem .brand-logo { width:100%; height:auto; margin:0; filter:none !important; }
.footer-emblem .emblem-location { font-size:.64rem; color:#778c9b; margin:0; }
.footer-emblem .emblem-message { color:#103c5a; font-size:.93rem; font-weight:500; line-height:1.8; margin:16px 0 20px; }
.emblem-cta { display:inline-flex; align-items:center; justify-content:center; gap:8px; border-radius:999px; padding:12px 18px; color:white; background:#12476b; font-size:.66rem; font-weight:650; transition:background .2s; }
.emblem-cta:hover { background:#806023; }
.footer-social-links { display:flex; flex-wrap:wrap; gap:8px; margin-top:22px; }
.footer-social-links a { display:grid; place-items:center; width:32px; height:32px; color:#d2e1eb; border:1px solid #ffffff25; border-radius:50%; }
.footer-social-links a:hover { color:#f0d4a0; border-color:#b8975d; }
.footer-social-links svg { width:15px; height:15px; }
.footer-address { margin:0 0 14px; font-size:.79rem; line-height:1.9; color:#c3d6e5; }
.footer-reach .footer-phone { color:#e7f0f6; font-weight:600; }
.footer-reach .footer-map-link { font-size:.65rem; color:#9fd1ec; margin-top:14px; }
.footer-promise { display:flex; align-items:center; justify-content:center; gap:17px; margin:14px auto 34px; }
.footer-promise>span { width:min(12vw,180px); height:1px; background:#ffffff13; }
.footer-promise>svg { color:#7cbedf; width:24px; height:24px; flex-shrink:0; }
.footer-promise p { font-size:.55rem; color:#9bd0e8; letter-spacing:.13em; }
.footer-promise strong { color:#e1edf5; font-weight:650; }
.footer-policies { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:14px 27px; padding:26px 0; border-top:1px solid #ffffff16; }
.footer-policies a,.footer-policies button { font:500 .63rem/1.5 var(--f-body); color:#c9dde9; }
.footer-policies a:hover,.footer-policies button:hover { color:#f0d4a0; }
.footer-policies button { display:inline-flex; align-items:center; gap:10px; border:0; padding:0; background:none; }
.footer-policies button svg { width:13px; height:13px; }
.footer-fineprint { text-align:center; font-size:.59rem; color:#92afc0; line-height:1.8; padding:0 0 24px; }
.footer-fineprint p { margin:0; }
.footer-copyright { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:28px 0 30px; border-top:1px solid #ffffff16; font-size:.63rem; color:#9fb9ca; }
.footer-copyright a { color:#b9d3e3; }
.footer-copyright strong { color:#fff; }
@media(max-width:1200px) { .footer-services-grid,.footer-main { grid-template-columns:1fr 1fr 1.65fr 1fr 1.1fr; gap:22px; } .footer-v20>.container,.footer-services>.container { width:calc(100% - 48px); } .footer-column>a,.footer-address { font-size:.73rem; } .footer-column h2 { font-size:.85rem; } .footer-emblem { padding-inline:20px; min-height:300px; } .footer-service { font-size:.61rem; gap:8px; } }
@media(max-width:1000px) { .footer-services-grid { grid-template-columns:repeat(4,1fr); gap:15px; } .footer-service { grid-column:auto; } .footer-main { grid-template-columns:repeat(4,minmax(0,1fr)); gap:30px 24px; padding-top:35px; } .footer-emblem { grid-column:1/-1; grid-row:1; width:360px; max-width:100%; margin:0 auto 10px; border-radius:48% 48% 43% 43%; min-height:290px; padding:35px 30px; } .footer-column h2 { font-size:.9rem; } .footer-column>a,.footer-address { font-size:.77rem; } .footer-promise { margin-top:20px; } }
@media(max-width:640px) { .footer-v20>.container,.footer-services>.container { width:calc(100% - 40px); } .footer-services-grid { grid-template-columns:1fr 1fr; gap:0 20px; padding-block:10px; } .footer-service { padding-block:14px; font-size:.64rem; } .service-icon { width:34px; height:34px; } .footer-main { grid-template-columns:1fr 1fr; gap:32px 22px; padding-top:30px; } .footer-emblem { width:320px; min-height:290px; } .footer-column h2 { font-size:.9rem; margin-bottom:17px; } .footer-column>a { font-size:.76rem; padding-block:6px; } .footer-promise { flex-wrap:wrap; gap:10px; margin-bottom:24px; } .footer-promise>span { display:none; } .footer-promise p { font-size:.51rem; letter-spacing:.07em; } .footer-policies { gap:15px 20px; padding-block:24px; } .footer-fineprint { font-size:.57rem; } .footer-copyright { flex-direction:column; text-align:center; gap:12px; padding-block:25px; line-height:1.7; } }
@media(max-width:360px) { .footer-main { gap:28px 16px; } .footer-column h2 { font-size:.8rem; } .footer-column>a { font-size:.69rem; } }
@media(prefers-reduced-motion:reduce) { .footer-v20 a { transition:none; } }
@media print { .footer-v20 { display:none; } }
