/* FabryLab v58.28.0 — wspólny, jednorazowy obrys hero (STL, CAD, druk, produkcja, sklep, kontakt). */
.fl100-hero-frame{position:relative!important;isolation:isolate}
.fl100-hero-frame>.fl100-hero-trace{position:absolute;inset:0;width:100%;height:100%;display:block;z-index:7;pointer-events:none;overflow:visible;fill:none;border-radius:inherit}
.fl100-hero-trace rect{fill:none;stroke-width:2.5px;stroke-linejoin:round;stroke-linecap:round;stroke-dasharray:var(--fl100-outline-length,1800px) var(--fl100-outline-length,1800px);stroke-dashoffset:var(--fl100-outline-length,1800px)}
@keyframes fl100-outline-draw{from{stroke-dashoffset:var(--fl100-outline-length,1800px)}to{stroke-dashoffset:0}}
@media(prefers-reduced-motion:no-preference){
.fl100-hero-frame.fl100-in-view>.fl100-hero-trace rect{animation:fl100-outline-draw 1.75s cubic-bezier(.23,.68,.18,1) both}
.fl100-hero-frame--home.fl100-in-view>.fl100-hero-trace rect{animation-duration:2s}
}
@media(prefers-reduced-motion:reduce){.fl100-hero-trace rect{stroke-dashoffset:0!important;animation:none!important}}
/* Stabilne wyglądy wszystkich landingów; nie przerabiamy treści, tylko spójne ramy. */
.fl-v272-hero,.fl-v25-cad-hero,.fl-v583-hero,.fl-store-hero{box-shadow:0 16px 36px rgba(11,49,67,.065)!important}
.fl100-contact-hero{width:min(1180px,calc(100vw - 40px));margin:12px auto 24px;padding:clamp(25px,4vw,48px);box-sizing:border-box;display:grid;grid-template-columns:minmax(0,1.6fr) minmax(260px,.82fr);align-items:center;gap:clamp(20px,4vw,52px);border:1px solid #d5e8eb;border-radius:25px;background:linear-gradient(133deg,#f1fafc,#fff 56%,#edf9f4);box-shadow:0 18px 38px rgba(11,49,67,.07);color:#122b3d;isolation:isolate;position:relative}
.fl100-contact-hero *{box-sizing:border-box}
.fl100-contact-kicker,.fl100-contact-aside>span{display:block;font-size:11px;font-weight:900;letter-spacing:.13em;color:#0b8392}
.fl100-contact-hero h2{font-size:clamp(32px,4.2vw,54px)!important;line-height:1.06;letter-spacing:-.03em;color:#12273a!important;font-weight:850;margin:15px 0 16px!important}
.fl100-contact-main>p{max-width:650px;font-size:17px;line-height:1.6;color:#536e7b;margin:0!important}
.fl100-contact-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:23px}
.fl100-contact-actions a{display:inline-flex;min-height:46px;align-items:center;justify-content:center;border-radius:11px;padding:11px 17px;border:1px solid #1a3543;background:#fff;color:#143547!important;font-weight:800;text-decoration:none!important}
.fl100-contact-actions a.fl100-contact-primary{background:#102d3c;color:#fff!important;border-color:#102d3c}
.fl100-contact-actions a:hover{border-color:#0c8e98;box-shadow:0 9px 18px rgba(12,66,79,.08)}
.fl100-contact-aside{padding:23px;border:1px solid #dce9ed;background:rgba(255,255,255,.94);border-radius:17px;box-shadow:0 9px 24px rgba(11,49,67,.06)}
.fl100-contact-aside>a{display:block;font-weight:820;color:#163b4b!important;text-decoration:none!important;margin-top:15px;overflow-wrap:anywhere;font-size:clamp(14px,1.5vw,18px)}
.fl100-contact-aside>a:hover{text-decoration:underline!important}
.fl100-contact-aside p{margin:18px 0 0!important;border-top:1px solid #e1ecf0;padding-top:14px;color:#607783;font-size:13px;line-height:1.5}
body.page-id-69 .fl-v271-seo-contact{padding-top:12px}
@media(max-width:760px){.fl100-contact-hero{grid-template-columns:1fr;gap:17px;width:min(100vw - 20px,1180px);padding:24px 19px;border-radius:19px}.fl100-contact-main>p{font-size:15px}.fl100-contact-aside{padding:19px}}
@media(max-width:430px){.fl100-contact-actions{flex-direction:column}.fl100-contact-actions a{width:100%}}
