/* REDFORD V6 · footer.css (TOR A, KOREKTA 4).
 * S9 CTA "Powiedz cześć" (mkvision "Zeg gerust hi"): jasna sekcja z ciemnym blokiem 40 px, czerwona poświata, duży nagłówek,
 *   pigułki: wycena (modal), telefon, e-mail; adres z produkcji; znak R po prawej.
 * S10 stopka (mkvision): jasne tło (ton), duże logo REDFORD na całą szerokość, 4 kolumny kafli 24 px (sekcje strony, kontakt,
 *   informacje prawne, ciemny kafel marki z wyceną), pasek prawny z rokiem. Ok. 800 px przy 1440x900.
 * Zaokrąglona góra stopki i wejście na S9: flow.css. Mobile: kafle sekcji i informacji obok siebie, reszta pod spodem. */
.ct{padding:clamp(56px,5.5556vw,80px) 0 calc(var(--fl-r,40px) + clamp(64px,5.5556vw,80px))}
.ct_block{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:48px;overflow:hidden;padding:clamp(56px,5.5556vw,80px) clamp(40px,5.5556vw,80px);border-radius:40px;background:radial-gradient(60% 90% at 100% 100%,rgba(200,23,29,.38),rgba(200,23,29,0) 70%),var(--ink);color:var(--paper)}
.ct_txt{position:relative;z-index:1;min-width:0}
.ct_h{margin:0;font-size:var(--fs-88);line-height:1.02;letter-spacing:-.025em;font-weight:700}
.ct_h .serif-i{color:var(--red-hover)}
.ct_sub{margin:24px 0 0;max-width:34em;font-size:clamp(18px,1.5278vw,22px);line-height:1.4;color:rgba(243,243,239,.78)}
.ct_btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:40px}
.ct_note{margin:28px 0 0;font-size:var(--fs-sm);color:rgba(243,243,239,.55)}

.ft{background:var(--tone);color:var(--ink)}
.ft_in{padding-top:clamp(72px,6.6667vw,96px);padding-bottom:28px}
.ft_logo{display:block;overflow:hidden;color:var(--red);text-decoration:none}
.ft_word_svg{display:block;width:100%;height:auto;fill:var(--red)}
.ft_wl{transform-box:fill-box;transform-origin:50% 100%}
.ft_cards{display:grid;grid-template-columns:1fr 1.25fr .9fr 1.1fr;gap:16px;align-items:stretch;margin-top:clamp(40px,4.4444vw,64px)}
.ft_card{position:relative;display:flex;flex-direction:column;min-width:0;padding:28px 30px;border-radius:24px;background:#fff;color:var(--ink);text-decoration:none}
.ft_lbl{margin:0 0 18px;font-size:var(--fs-lbl);line-height:1.2;letter-spacing:var(--ls-lbl);text-transform:uppercase;color:#6B6B66}
.ft_menu,.ft_fine{margin:0;padding:0;list-style:none}
.ft_menu a{display:inline-flex;align-items:center;gap:10px;padding:3px 0;color:var(--ink);font-size:clamp(24px,2.0833vw,30px);line-height:1.25;letter-spacing:-.015em;text-decoration:none;transition:color .3s var(--e-out)}
@media (hover:hover) and (pointer:fine){.ft_menu a:hover{color:var(--red)}}
.ft_mid{display:flex;flex-direction:column;gap:16px;min-width:0}
.ft_line{flex-direction:row;align-items:center;gap:14px;padding:26px 30px;font-size:clamp(16px,1.3889vw,22px);overflow-wrap:anywhere;line-height:1.2;letter-spacing:-.01em;transition:background-color .3s var(--e-out),color .3s var(--e-out)}
@media (hover:hover) and (pointer:fine){.ft_line:hover{background:var(--ink);color:var(--paper)}}
.ft_fine li+li{margin-top:10px}
.ft_fine a,.ft_fine button{padding:0;border:0;background:none;color:var(--ink);font:700 clamp(16px,1.25vw,20px)/1.3 var(--f-text);text-align:left;text-decoration:none;cursor:pointer;transition:color .3s var(--e-out)}
@media (hover:hover) and (pointer:fine){.ft_fine a:hover,.ft_fine button:hover{color:var(--red)}}
.ft_eco{gap:12px;overflow:hidden;background:radial-gradient(80% 60% at 100% 100%,rgba(200,23,29,.42),rgba(200,23,29,0) 72%),var(--ink);color:var(--paper)}
.ft_eco_t{margin:0;padding-right:72px;font-size:clamp(24px,2.0833vw,30px);line-height:1.1;letter-spacing:-.015em}
.ft_r{position:absolute;top:26px;right:26px;width:56px;pointer-events:none}
.ft_r svg{display:block;width:100%;height:auto}
@media (min-width:1024px) and (max-width:1279px){.ft_cards{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
@media (max-width:1023px){
  .ct{padding:40px 0 calc(var(--fl-r,28px) + 48px)}
  .ct_block{grid-template-columns:minmax(0,1fr);gap:24px;padding:40px 22px;border-radius:28px}
  .ct_h{font-size:clamp(44px,13vw,64px)}
  .ct_sub{margin-top:16px;font-size:17px}
  .ct_btns{margin-top:28px}
  .ct_btns .bp{width:100%}
  .ft_in{padding-top:56px;padding-bottom:20px}
  .ft_cards{grid-template-columns:minmax(0,1fr);gap:10px;margin-top:28px}
  .ft_menu{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:12px}
  .ft_fine{display:flex;flex-wrap:wrap;gap:8px 20px}
  .ft_fine li+li{margin-top:0}
  .ft_mid{gap:10px}
  .ft_eco{min-height:150px}
  .ft_card{padding:20px 18px}
  .ft_lbl{margin-bottom:12px}
  .ft_menu a{padding:2px 0;font-size:20px}
  .ft_fine a,.ft_fine button{font-size:15px}
  .ft_line{padding:18px;font-size:17px}
}

/* KOREKTA 5: stopka. Tytuł czarnego kafla w jednej linii, adres bez łamania w połowie kodu, kafel Informacje bez pustej dolnej połowy
   (linki rozłożone na wysokość kafla, jak lista na mkvision), napis REDFORD ciaśniej do kafli. */
.ft_eco_t{white-space:nowrap;font-size:clamp(24px,2.1vw,32px)}
.ft_legal .ft_fine{display:flex;flex-direction:column;flex:1 1 auto;justify-content:space-between}
.ft_legal .ft_fine li{margin:0;padding:18px 0;border-top:1px solid rgba(14,14,14,.12)}
.ft_legal .ft_fine li:first-child{border-top:0;padding-top:0}
.ft_legal .ft_fine li:last-child{padding-bottom:0}
.ft_legal .ft_fine a,.ft_legal .ft_fine button{font-size:clamp(18px,1.5vw,22px)}
@media (max-width:1023px){.ft_eco_t{font-size:26px}.ft_legal .ft_fine li{padding:14px 0}}
.ft_eco_t{font-size:clamp(22px,1.75vw,28px)}

/* KOREKTA 5: logo stopki = oficjalny lockup REDFORD Agency (czerwony znak R + czarny wordmark), zamiast rozciągniętego napisu.
   Rozmiar: do 1100 px szerokości, wyrównany do lewej jak u mkvision; PNG ma 1275 px, więc nie powiększamy ponad natywny. */
.ft_logo{overflow:visible}
.ft_lockup{display:block;width:min(100%,1100px);height:auto}
@media (max-width:1023px){.ft_lockup{width:min(100%,520px)}}

/* KOREKTA 6 (18.10, Rafał): zamiast logotypu napis REDFORD w tle kart kontaktowo-informacyjnych, kolor ton w ton z tłem stopki.
   Napis SVG (textLength = zawsze na całą szerokość, niezależnie od kroju) leży pod kartami; karty są półprzezroczyste z lekkim blurem,
   więc napis prześwituje przez nie jak przez szkło (jak szkło w hero). */
.ft_cards{position:relative}
.ft_cards>.ft_card,.ft_cards>.ft_mid{position:relative;z-index:1}
.ft_card{background:rgba(255,255,255,.72);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
@media (max-width:1023px){
  .ft_card{background:rgba(255,255,255,.86);-webkit-backdrop-filter:none;backdrop-filter:none}
}
/* korekta napisu: karty prawie szklane bez blura (blur rozmywał napis), napis wyraźniejszy, mniej pustki nad kartami */
.ft_card:not(.ft_eco){background:rgba(255,255,255,.5);-webkit-backdrop-filter:none;backdrop-filter:none}
.ft_in{padding-top:clamp(40px,4vw,56px)}
.ft_cards{margin-top:0}
.ft_eco{background:radial-gradient(80% 60% at 100% 100%,rgba(200,23,29,.42),rgba(200,23,29,0) 72%),var(--ink)}
@media (max-width:1023px){.ft_card:not(.ft_eco){background:rgba(255,255,255,.62)}.ft_in{padding-top:36px}}
/* mobile: napis REDFORD w tle całej siatki kart (nie przycięty przy dolnej karcie), kafel REDFORD Web zostaje czarny */
@media (max-width:1023px){
  .ft_eco{background:radial-gradient(80% 60% at 100% 100%,rgba(200,23,29,.42),rgba(200,23,29,0) 72%),var(--ink)!important;color:var(--paper)}
}
/* P1 (18.10, Rafał): duży napis REDFORD normalny, boldowy. Litery to ścieżki z HelveticaNowDisplay-Bold (krój strony),
   w naturalnych proporcjach (bez rozciągania textLength), na tę samą szerokość i miejsce; wypełnienie pełnym, kryjącym kolorem.
   Rogi kart stopki o połowę mniejsze: 24 -> 12 px. */
.ft_card{border-radius:12px}

/* R2-B (18.10, Rafał, runda 2): stopka czerwona (#C8171D), bez napisu REDFORD w tle (usunięty .ft_ghost z HTML i CSS).
   Karty kontaktowo-informacyjne pełne, jasne (papier), ciemny kafel REDFORD Web bez zmian; teksty na czerwieni jasne (papier, kontrast 5,3:1).
   Sekcja #kontakt: bez linii z adresem; przyciski zeszły na jej miejsce (dół lewej kolumny, ten sam odstęp od dołu bloku co dawny adres),
   nagłówek i podpis u góry, odstęp podpis -> przyciski = dawne 40 + linia adresu, więc wysokość bloku na 1440 bez zmian. */
.ft{background:#C8171D;color:#F3F3EF}
.ft_card:not(.ft_eco){background:#F3F3EF;color:#0E0E0E}
#kontakt .ct_txt{display:flex;flex-direction:column;align-self:stretch}
#kontakt .ct_sub{margin-bottom:clamp(64px,6.25vw,90px)}
#kontakt .ct_btns{margin-top:auto}
@media (max-width:1023px){
  .ft_card:not(.ft_eco){background:#F3F3EF}
  #kontakt .ct_sub{margin-bottom:56px}
}

/* R3-B (18.10, Rafał, runda 3): stopka jasna (ton #E4E4DF), karty czysta biel #FFFFFF z obrysem 1 px i lekkim cieniem,
   żeby wyraźnie odcinały się od tła; rogi 12 px bez zmian. Czerwień #C8171D tylko w akcentach (znacznik, plusy, hover, przycisk, znak R).
   Napis REDFORD w tle nie wraca. Bez odznaki "6" przy Realizacje i bez adresu (usunięte z HTML wraz z regułami .ft_badge/.ft_addr).
   R4-C (19.10, Rafał: "usuń card warszawa"): kafel miejsca (.ft_place ze znacznikiem .ft_pulse i "Warszawa") usunięty z HTML i CSS;
   na desktopie dwa kafle środkowej kolumny (e-mail, telefon) dzielą jej wysokość po równo (flex:1 1 0, po 50%), treść w pionie na środku. */
.ft{background:var(--tone);color:var(--ink)}
.ft_card:not(.ft_eco){background:#FFFFFF;color:#0E0E0E;box-shadow:0 0 0 1px rgba(14,14,14,.07),0 1px 2px rgba(14,14,14,.05),0 10px 28px -14px rgba(14,14,14,.22)}
@media (hover:hover) and (pointer:fine){.ft_line:hover{background:var(--ink);color:var(--paper)}}
@media (min-width:1024px){.ft_mid>.ft_card{flex:1 1 0}}
@media (max-width:1023px){
  .ft_card:not(.ft_eco){background:#FFFFFF}
}

/* R5-A (19.10, Rafał, runda 5): CTA "Powiedz cześć": zamiast znaku R animowana ikona czatów (inline SVG z 09-kontakt.html):
   dwa dymki (kropki, ptaszek), plusy i iskry, półprzezroczyste koło. Bez klasy .is-play (brak JS, reduced motion, poza kadrem)
   ikona statyczna: 3 kropki widoczne, ptaszek narysowany. .is-play nadaje footer.js (IntersectionObserver). Cykl 7 s.
   Stopka: bez plusików przy e-mailu i telefonie; ciemny kafel "REDFORD Agency" z 3 ikonami (Instagram, e-mail, do góry;
   klasa .bp.bp--dk = istniejący hover btnfx) i copyrightem w miejscu dawnego przycisku; bez paska .ft_bar. */
/* szerokość jak dawny znak R poniżej 1440 (przyciski nie zawijają się), od 1440 do 365 px: wysokość bloku CTA bez zmian */
.ct_chat{position:relative;z-index:0;align-self:center;width:clamp(180px,20.8333vw,300px);pointer-events:none}
@media (min-width:1440px){.ct_chat{width:min(25vw,365px)}}
.ct_chat_svg{display:block;width:100%;height:auto;overflow:visible}
.ct_chat .cc_bg,.ct_chat .cc_fl,.ct_chat .cc_d,.ct_chat .cc_s{transform-box:fill-box;transform-origin:50% 50%}
.ct_chat .cc_ck{stroke-dasharray:1;stroke-dashoffset:0}
.ct_chat.is-play .cc_fl{animation:cc-fl 7s ease-in-out infinite}
.ct_chat.is-play .cc_bg{animation:cc-bg 7s ease-in-out infinite}
.ct_chat.is-play .cc_d{animation:cc-d 7s cubic-bezier(.3,.7,.3,1) infinite}
.ct_chat.is-play .cc_d2{animation-delay:.3s}
.ct_chat.is-play .cc_d3{animation-delay:.6s}
.ct_chat.is-play .cc_ck{animation:cc-ck 7s cubic-bezier(.6,0,.3,1) infinite}
.ct_chat.is-play .cc_s{animation:cc-tw 2.8s ease-in-out infinite}
.ct_chat.is-play .cc_s2{animation-duration:3.4s;animation-delay:.6s}
.ct_chat.is-play .cc_s3{animation-duration:3.1s;animation-delay:1.1s}
.ct_chat.is-play .cc_s4{animation-duration:2.4s;animation-delay:.3s}
.ct_chat.is-play .cc_s5{animation-duration:3.7s;animation-delay:1.6s}
.ct_chat.is-play .cc_s6{animation-duration:2.6s;animation-delay:.9s}
.ct_chat.is-play .cc_s7{animation-duration:3.3s;animation-delay:2s}
.ct_chat.is-paused *{animation-play-state:paused!important}
@keyframes cc-fl{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@keyframes cc-bg{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.06);opacity:.7}}
@keyframes cc-d{0%,4%{opacity:0;transform:translateY(4px)}12%{opacity:1;transform:translateY(-2px)}17%,84%{opacity:1;transform:translateY(0)}92%,100%{opacity:0;transform:translateY(0)}}
@keyframes cc-ck{0%,30%{stroke-dashoffset:1;opacity:1}44%,84%{stroke-dashoffset:0;opacity:1}92%{stroke-dashoffset:0;opacity:0}100%{stroke-dashoffset:1;opacity:0}}
@keyframes cc-tw{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.25;transform:scale(.7)}}
@media (prefers-reduced-motion:reduce){.ct_chat *{animation:none!important}}
.ft_line{gap:0}
.ft_eco_t{padding-right:72px}
.ft_soc{display:flex;flex-wrap:wrap;gap:12px;margin-top:10px}
.ft_soc .ft_ic{width:44px;height:44px;padding:0;gap:0;border-radius:50%;flex:0 0 auto}
.ft_soc .ft_ic svg{display:block;width:20px;height:20px}
.ft_eco .ft_co{margin:auto 0 0;padding-top:24px;font-size:14px;line-height:1.3;color:rgba(243,243,239,.72)}
@media (max-width:1023px){
  .ct_chat{order:-1;width:140px}
  .ft_eco .ft_co{font-size:13px;padding-top:20px}
}

/* R23-A: „Projekty i Realizacje” (dłuższa nazwa) w stopce w jednej linii: bez łamania, szersza kolumna sekcji od 1280 px,
   na telefonie i tablecie pierwsza pozycja na całą szerokość siatki dwóch kolumn */
.ft_menu a{white-space:nowrap}
@media (min-width:1280px){.ft_cards{grid-template-columns:1.2fr 1.15fr .9fr 1fr}}
@media (max-width:1023px){.ft_menu li:first-child{grid-column:1/-1}}
