/* FM PODSTRONY — baza wspólna (reveal v2 + burger-panel + zgody + artykuł), tokeny FootMedica */
html,body{overflow-x:clip}
html[data-anim] main section>div:not(:has([data-reveal])):not(.on){opacity:0;transform:translateY(22px)}
html[data-anim] main [data-reveal]:not(.on){opacity:0;transform:translateY(22px)}
main section>div,main [data-reveal]{transition:opacity .7s cubic-bezier(.2,.6,.2,1),transform .7s cubic-bezier(.2,.6,.2,1)}
html[data-anim] main .fm-artykul,html[data-anim] main [data-reveal]:has(.fm-artykul){opacity:1!important;transform:none!important}
/* panel mobilny (silnik.js ustawia display:flex) */
.fm-mobpanel{display:none;position:absolute;left:0;right:0;top:100%;background:#FFFFFF;flex-direction:column;padding:10px 24px 24px;box-shadow:0 28px 44px rgba(15,34,55,.16);border-top:1px solid #DDE7EA;z-index:60}
.fm-mobpanel a{padding:13px 2px;font-weight:700;color:#244380;text-decoration:none;border-bottom:1px solid #EFF4F6;font-size:1rem}
.fm-mobpanel a:hover{color:#037E8A}
.fm-mobpanel .fm-mob-cta{margin-top:14px;border:0;border-radius:999px;background:linear-gradient(135deg,#00ADBA,#078A94);color:#FFF;text-align:center;padding:13px 22px;font-weight:800}
/* KONTROLKI FORMULARZY — ten sam wzór co na home (fm-pole/fm-znak) */
.fm-pole{display:flex;gap:11px;align-items:flex-start;cursor:pointer;font-size:.8rem;color:#5E6B75;line-height:1.55}
.fm-pole input{position:absolute;opacity:0;width:0;height:0}
.fm-pole .fm-znak{flex:none;width:21px;height:21px;position:relative;top:1px;background:#FFFFFF;
  border:1.6px solid #C9D8DC;border-radius:6px;transition:background .2s,border-color .2s,box-shadow .2s}
.fm-pole .fm-znak.okragly{border-radius:50%}
.fm-pole .fm-znak::after{content:"";position:absolute;left:50%;top:50%;opacity:0;transition:opacity .16s,transform .18s}
.fm-pole .fm-znak:not(.okragly)::after{width:100%;height:100%;left:0;top:0;transform:scale(.55);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='%23fff' stroke-width='3.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5.5 12.8l4.4 4.4L18.6 7.6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center;background-size:11px 11px;
  border:0}
.fm-pole .fm-znak.okragly::after{width:9px;height:9px;border-radius:50%;background:#FFFFFF;transform:translate(-50%,-50%) scale(.4)}
.fm-pole input:checked+.fm-znak{background:#00ADBA;border-color:#00ADBA}
.fm-pole input:checked+.fm-znak:not(.okragly)::after{opacity:1;transform:scale(1)}
.fm-pole input:checked+.fm-znak.okragly::after{opacity:1;transform:translate(-50%,-50%) scale(1)}
.fm-pole input:checked+.fm-znak.okragly::after{transform:translate(-50%,-50%) scale(1)}
.fm-pole input:focus-visible+.fm-znak{box-shadow:0 0 0 4px rgba(0,173,186,.22)}
.fm-pole:hover .fm-znak{border-color:#00ADBA}
.fm-pole a{color:#037E8A}

/* HOVER: globalne a:hover z prototypu (specyficzność 0,1,1) wygrywało z klasami (0,1,0)
   i przemalowywało białe teksty CTA na granat — zerujemy je przez :where(). */
:where(a):hover{color:#244380}
a[style*="background:linear-gradient"]:hover,a[style*="color:#FFFFFF"]:hover{color:#FFFFFF}
.fm-artykul a:hover{color:#244380}

/* typografia artykułu FM */
.fm-artykul{font-size:1.02rem;line-height:1.75;color:#3A474F}
.fm-artykul h2{font-size:clamp(1.3rem,2.3vw,1.7rem);font-weight:800;letter-spacing:-0.015em;color:#244380;margin:1.9em 0 .6em}
.fm-artykul h3{font-size:1.14rem;font-weight:800;color:#244380;margin:1.5em 0 .5em}
.fm-artykul p{margin:0 0 1.05em}
.fm-artykul ul,.fm-artykul ol{margin:.6em 0 1.2em;padding-left:1.4em}
.fm-artykul li{margin:0 0 .45em}
.fm-artykul a{color:#037E8A;text-decoration:underline}
.fm-artykul strong{color:#244380}
/* burger widoczny na mobile (fm-774e57f = przycisk z prototypu; nav chowamy) */
@media (max-width:1080px){
  .fm-4fe9431{display:none!important}
  .fm-774e57f{display:inline-flex!important}
}
@media (min-width:1081px){
  .fm-774e57f{display:none!important}
}
[data-klik]{cursor:pointer}

/* — biblioteka FM: bol-stop — */
.fm-2cfcda6{padding:0;background:radial-gradient(1200px 500px at 85% -10%,rgba(0,173,186,.12),transparent),#EBFFFD}
.fm-085a3ae{max-width:1200px;margin:0 auto;padding:clamp(52px,7vw,92px) clamp(20px,4vw,48px);padding-top:clamp(40px,5.5vw,72px)}
.fm-b0c61ef{display:flex;flex-wrap:wrap;gap:clamp(30px,5vw,58px);align-items:center}
.fm-307573c{flex:1 1 480px;min-width:min(100%,300px)}
.fm-fdbdc96{display:inline-flex;align-items:center;gap:9px;background:#FFFFFF;border:1px solid #DDE7EA;border-radius:999px;padding:8px 16px;font-size:12.5px;font-weight:700;color:#244380;box-shadow:0 6px 18px rgba(36,67,128,.08)}
.fm-ec5ecfb{width:8px;height:8px;border-radius:50%;background:#F0B429}
.fm-09ebbd6{height:16px}
.fm-9832ec4{margin:0;font-size:11.5px;font-weight:700;letter-spacing:.09em;color:#037E8A;text-transform:uppercase}
.fm-005fc58{margin:12px 0 0;font-size:clamp(2.1rem,4.4vw,3.3rem);line-height:1.08;letter-spacing:-0.025em;font-weight:800;color:#244380;text-wrap:balance}
.fm-daabfba{position:relative;display:inline-block;color:#244380}
.fm-0931f79{position:absolute;left:0;right:0;bottom:.04em;height:.16em;border-radius:3px;background:linear-gradient(90deg,#7ED8C3,#F0B429);opacity:.85}
.fm-4c5b3e5{margin:18px 0 0;max-width:54ch;color:#5E6B75;font-size:clamp(1.02rem,1.7vw,1.15rem);line-height:1.65}
.fm-85a9c3f{margin:26px 0 0;display:flex;flex-wrap:wrap;gap:12px}
.fm-e461e46{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 26px;border-radius:999px;background:linear-gradient(135deg,#00ADBA,#078A94);color:#FFFFFF;font-weight:800;font-size:15.5px;text-decoration:none;box-shadow:0 10px 26px rgba(0,173,186,.3);transition:transform .2s,box-shadow .2s}
.fm-e461e46:hover{transform:translateY(-2px);box-shadow:0 14px 32px rgba(0,173,186,.4)}
.fm-589ce8a{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 24px;border-radius:999px;background:#FFFFFF;color:#244380;font-weight:800;font-size:15px;text-decoration:none;border:1.5px solid #DDE7EA;transition:border-color .2s,color .2s}
.fm-589ce8a:hover{border-color:#00ADBA;color:#037E8A}
.fm-cac7644{margin:20px 0 0;display:flex;flex-wrap:wrap;gap:16px}
.fm-41f9a67{display:inline-flex;align-items:center;gap:7px;color:#5E6B75;font-size:.86rem;font-weight:500}
.fm-774dadf{width:7px;height:7px;border-radius:50%;background:#00ADBA}
.fm-942a27f{flex:1 1 440px;min-width:min(100%,300px)}
.fm-dfa376f{position:relative;background:linear-gradient(160deg,#0F2237,#14304F 70%,#1B3A60);border-radius:24px;padding:24px 26px 20px;box-shadow:0 30px 70px rgba(15,34,55,.38)}
.fm-9c987ff{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}
.fm-3a1df95{display:inline-block;width:7px;height:7px;border-radius:50%;background:#F9D66B;margin-right:6px}
.fm-9ebc80a{display:grid;place-items:center;padding:22px 0 18px}
.fm-66aefe0{display:inline-flex;width:110px;height:110px;border-radius:50%;background:rgba(0,173,186,.14);border:1.5px solid rgba(126,216,195,.4);align-items:center;justify-content:center}
.fm-d030691{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:11px 2px;border-bottom:1px solid rgba(126,216,195,.16)}
.fm-65afb9d{font-family:inherit;font-weight:600;font-size:11px;letter-spacing:.1em;color:#8FD4DC;text-transform:uppercase}
.fm-d94486b{font-weight:800;color:#FFFFFF;font-size:.98rem;text-align:right}
.fm-5b2e608{margin:12px 0 0;font-family:inherit;font-weight:600;font-size:10.5px;letter-spacing:.08em;color:#4E7E8C;text-align:center}
.fm-fff8f83{padding:0;background:linear-gradient(155deg,#0F2237,#173355 70%,#1E3E66)}
.fm-a1a07fc{max-width:1200px;margin:0 auto;padding:clamp(52px,7vw,92px) clamp(20px,4vw,48px)}
.fm-3cef1d5{max-width:760px;margin-bottom:clamp(30px,4vw,48px)}
.fm-a9fbbff{margin:0;font-size:11.5px;font-weight:700;letter-spacing:.09em;color:#7ED8C3;text-transform:uppercase}
.fm-b4c9feb{margin:14px 0 0;font-size:clamp(1.8rem,3.2vw,2.6rem);line-height:1.12;letter-spacing:-0.02em;font-weight:800;color:#FFFFFF;text-wrap:balance}
.fm-a2f33e4{display:block;margin:18px 0 0;width:74px;height:5px;border-radius:3px;background:linear-gradient(90deg,#7ED8C3,#F0B429)}
.fm-b07a1d8{display:flex;flex-wrap:wrap;gap:18px}
.fm-8acac94{flex:1 1 300px;min-width:min(100%,260px);background:rgba(255,255,255,.045);border:1px solid rgba(126,216,195,.22);border-radius:18px;padding:24px 22px}
.fm-e40e564{font-family:inherit;font-weight:600;font-size:10.5px;letter-spacing:.12em;color:#7ED8C3;text-transform:uppercase}
.fm-26766ee{margin:12px 0 8px;font-size:1.1rem;font-weight:800;color:#FFFFFF}
.fm-c2865b7{margin:0;font-size:.93rem;color:#B9D4DC;line-height:1.65}
.fm-3dc3f86{margin:26px 0 0;color:#7ED8C3;font-size:.95rem;font-family:inherit;font-weight:600;letter-spacing:.04em}
.fm-55d5202{margin:30px 0 0}
.fm-c2a3fc5{padding:0;background:#EBFFFD}
.fm-e5d0006{margin:14px 0 0;font-size:clamp(1.8rem,3.2vw,2.6rem);line-height:1.12;letter-spacing:-0.02em;font-weight:800;color:#244380;text-wrap:balance}
.fm-a023619{margin:14px 0 0;max-width:56ch;color:#5E6B75;font-size:clamp(1rem,1.6vw,1.12rem);line-height:1.65}
.fm-c8b23af{display:flex;flex-wrap:wrap;gap:22px}
.fm-b3c83e3{flex:1 1 230px;min-width:min(100%,220px);position:relative}
.fm-c9da93d{flex:none;width:46px;height:46px;border-radius:50%;background:#FFFFFF;border:2px solid #00ADBA;display:inline-flex;align-items:center;justify-content:center;font-weight:800;font-size:1.05rem;color:#037E8A}
.fm-5c758e0{flex:1;height:2px;background:linear-gradient(90deg,#7ED8C3,#F0B429);opacity:.9}
.fm-da3756c{margin:14px 0 7px;font-size:1.05rem;font-weight:800;color:#244380}
.fm-42445d3{margin:0;font-size:.9rem;color:#5E6B75;line-height:1.6}
.fm-d43a7f9{flex:1;height:2px;background:linear-gradient(90deg,#7ED8C3,#F0B429);opacity:0}
.fm-fe90df1{padding:0;background:#FFFFFF}
.fm-f7d6b71{display:flex;flex-wrap:wrap;gap:clamp(26px,4.5vw,56px);align-items:center;margin-top:0px}
.fm-20257f4{flex:1 1 420px;min-width:min(100%,290px)}
.fm-29e0309{width:100%;height:auto;display:block;border-radius:20px;box-shadow:0 22px 50px rgba(36,67,128,.16)}
.fm-7b3b10c{flex:1 1 430px;min-width:min(100%,290px)}
.fm-e6e0e73{display:inline-block;font-family:inherit;font-weight:600;font-size:10.5px;letter-spacing:.08em;color:#037E8A;border:1px solid #C9EDEA;background:#EBFFFD;border-radius:999px;padding:4px 11px;text-transform:uppercase}
.fm-f4b9919{margin:14px 0 10px;font-size:clamp(1.3rem,2.4vw,1.75rem);font-weight:800;color:#244380;letter-spacing:-0.015em}
.fm-92f05b4{margin:0 0 16px;color:#5E6B75;font-size:.98rem;line-height:1.65}
.fm-07c772a{list-style:none;margin:0;padding:0}
.fm-be2835d{display:flex;gap:11px;margin:0 0 10px;font-size:.95rem;color:#24313A;line-height:1.55}
.fm-37377f9{flex:none;margin-top:3px}
.fm-43030bf{text-align:center;margin-left:auto;margin-right:auto;max-width:760px;margin-bottom:clamp(30px,4vw,48px)}
.fm-9b9c2ca{display:block;margin:18px auto 0;width:74px;height:5px;border-radius:3px;background:linear-gradient(90deg,#7ED8C3,#F0B429)}
.fm-3861e38{display:flex;flex-wrap:wrap;gap:20px;justify-content:center}
.fm-bce7dde{flex:1 1 320px;min-width:min(100%,270px);background:#FFFFFF;border:1px solid #DDE7EA;border-radius:20px;padding:26px 24px;display:flex;flex-direction:column;gap:14px}
.fm-f5cf709{margin:0;font-size:.95rem;color:#24313A;line-height:1.65;flex:1}
.fm-3d2d2d7{display:flex;align-items:center;gap:12px;border-top:1px solid #DDE7EA;padding-top:14px}
.fm-29e88a8{flex:none;width:40px;height:40px;border-radius:50%;background:#EBFFFD;border:1px solid #C9EDEA;display:inline-flex;align-items:center;justify-content:center;font-weight:800;font-size:.85rem;color:#037E8A}
.fm-b263ff1{display:block;font-size:.92rem;color:#244380}
.fm-66240b3{font-size:.8rem;color:#5E6B75}
.fm-e0b3507{display:flex;flex-wrap:wrap;gap:20px}
.fm-aedbb9b{flex:1 1 336px;min-width:min(100%,240px);background:#FFFFFF;border:1px solid #DDE7EA;border-radius:20px;padding:26px 24px;transition:transform .25s,box-shadow .25s,border-color .25s}
.fm-aedbb9b:hover{transform:translateY(-6px);box-shadow:0 20px 44px rgba(36,67,128,.12);border-color:#C9EDEA}
.fm-5659421{display:inline-flex;width:48px;height:48px;border-radius:14px;background:#EBFFFD;border:1px solid #C9EDEA;align-items:center;justify-content:center}
.fm-fb389ff{margin:16px 0 8px;font-size:1.08rem;font-weight:800;color:#244380;letter-spacing:-0.01em}
.fm-60b1021{margin:0;font-size:.92rem;color:#5E6B75;line-height:1.6}
.fm-0be609f{margin:14px 0 0}
.fm-66ad52d{font-size:.9rem;font-weight:800;color:#037E8A;text-decoration:none}
.fm-66ad52d:hover{color:#244380}
.fm-26dd00c{padding:0;background:radial-gradient(900px 400px at 15% 0%,rgba(0,173,186,.25),transparent),linear-gradient(155deg,#0F2237,#173355 70%,#1E3E66)}
.fm-398e96f{max-width:860px;margin:0 auto;padding:clamp(52px,7vw,92px) clamp(20px,4vw,48px);text-align:center}
.fm-e7add0d{margin:0;text-align:center;font-size:11.5px;font-weight:700;letter-spacing:.09em;color:#7ED8C3;text-transform:uppercase}
.fm-a1294a7{margin:16px auto 0;max-width:52ch;color:#B9D4DC;font-size:1.02rem;line-height:1.65}
.fm-189bf9c{margin:28px 0 0}
.fm-b874cbb{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 24px;border-radius:999px;background:#FFFFFF;color:#244380;font-weight:800;font-size:15px;text-decoration:none;border:1.5px solid #DDE7EA;transition:border-color .2s,color .2s;background:transparent;color:#FFFFFF;border-color:rgba(255,255,255,.45)}
.fm-b874cbb:hover{border-color:#FFF;color:#7ED8C3}
.fm-c4ddae7{margin:20px 0 0;color:#B9D4DC;font-size:.92rem}
.fm-ed2f2d5{color:#FFFFFF;font-weight:800;text-decoration:none}

/* — biblioteka FM: badanie-stop — */
.fm-58489b3{margin:14px 0 0;text-align:center;margin-left:auto;margin-right:auto;max-width:56ch;color:#5E6B75;font-size:clamp(1rem,1.6vw,1.12rem);line-height:1.65}
.fm-b2b9f07{max-width:880px;margin:0 auto;position:relative;aspect-ratio:16/9;border-radius:22px;overflow:hidden;box-shadow:0 26px 60px rgba(36,67,128,.2)}
.fm-08fdf3b{position:absolute;inset:0;width:100%;height:100%;border:0}

/* — biblioteka FM: uslugi/laser-lunula — */
.fm-8e8b999{display:flex;flex-wrap:wrap;gap:clamp(26px,4.5vw,56px);align-items:center;flex-direction:row-reverse;margin-top:clamp(40px,5vw,64px)px}
.fm-a0c833d{max-width:860px;margin:0 auto;padding:clamp(52px,7vw,92px) clamp(20px,4vw,48px)}
.fm-9cab96b{background:#FFFFFF;border:1px solid #DDE7EA;border-radius:20px;padding:10px 22px 16px;box-shadow:0 14px 36px rgba(36,67,128,.07)}
.fm-9d564c1{display:flex;justify-content:space-between;gap:16px;align-items:baseline;padding:15px 4px;border-bottom:1px dashed #DDE7EA}
.fm-bc0fc5c{font-size:.97rem;color:#24313A;font-weight:500}
.fm-4aee10a{display:block;font-size:.8rem;color:#5E6B75;font-weight:400}
.fm-69ae132{flex:none;font-weight:800;color:#244380;font-size:1.02rem}
.fm-e849eff{margin:18px 0 0;font-size:.85rem;color:#5E6B75}
.fm-2d7fefd{max-width:1200px;margin:0 auto;padding:clamp(48px,6vw,84px) clamp(20px,4vw,48px)}
.fm-264f985{max-width:660px;margin:0 auto;background:#FFFFFF;border:1px solid #DDE7EA;border-radius:24px;box-shadow:0 24px 60px rgba(36,67,128,.1);padding:clamp(26px,4vw,44px)}
.fm-dfed34b{margin:0 0 6px;font-size:11px;font-weight:700;letter-spacing:.09em;color:#037E8A;text-transform:uppercase}
.fm-25cd140{margin:0 0 6px;font-size:clamp(1.4rem,2.6vw,1.9rem);font-weight:800;letter-spacing:-0.02em;color:#244380}
.fm-458fb2e{margin:0 0 8px;color:#5E6B75;font-size:.95rem}
.fm-ed71bb9{display:block;font-weight:700;font-size:.86rem;color:#244380;margin:16px 0 7px}
.fm-8394bcd{width:100%;padding:.9em 1.1em;border:1.5px solid #DDE7EA;border-radius:14px;font:inherit;font-size:.96rem;background:#FBFEFE;transition:border-color .2s,box-shadow .2s}
.fm-dd4e283{margin-top:16px}
.fm-4b8b950{text-decoration:underline}
.fm-14414aa{margin:18px 0 0}
.fm-fc6f06f{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 26px;border-radius:999px;background:linear-gradient(135deg,#00ADBA,#078A94);color:#FFFFFF;font-weight:800;font-size:15.5px;text-decoration:none;box-shadow:0 10px 26px rgba(0,173,186,.3);transition:transform .2s,box-shadow .2s;border:0;cursor:pointer;width:100%}
.fm-fc6f06f:hover{transform:translateY(-2px);box-shadow:0 14px 32px rgba(0,173,186,.4)}

/* — biblioteka FM: uslugi/wkladki-ortopedyczne — */
.fm-f550810{max-width:1200px;margin:0 auto;padding:clamp(34px,4.5vw,56px) clamp(20px,4vw,48px)}
.fm-9b2d1e4{display:flex;flex-wrap:wrap;gap:26px;justify-content:space-between;align-items:flex-start;border-top:1px solid #DDE7EA;border-bottom:1px solid #DDE7EA;padding:clamp(24px,3vw,38px) 0}
.fm-ea2578f{flex:1 1 190px;min-width:150px;text-align:center}
.fm-83a16f6{font-size:clamp(1.9rem,3.4vw,2.7rem);font-weight:800;letter-spacing:-0.02em;color:#244380}
.fm-5d8a8f5{margin-top:6px;font-size:.9rem;color:#5E6B75;line-height:1.45}

/* — biblioteka FM: materialy/zestaw-cwiczen — */
.fm-e8dbd96{display:flex;flex-wrap:wrap;gap:clamp(28px,4.5vw,56px);align-items:center}
.fm-4481688{flex:0 1 380px;min-width:min(100%,270px);position:relative}
.fm-4b392ed{position:absolute;left:-12px;top:-12px;width:54%;height:52%;border-radius:22px;background:linear-gradient(135deg,#00ADBA,#7ED8C3);opacity:.9}
.fm-37092fd{position:relative;width:100%;height:auto;display:block;border-radius:22px;box-shadow:0 26px 56px rgba(36,67,128,.22)}
.fm-a47df9a{margin:10px 0 4px;font-size:.8rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#5E6B75}
.fm-f8ef277{margin:0 0 3px;font-size:clamp(1.5rem,2.8vw,2.1rem);font-weight:800;letter-spacing:-0.02em;color:#244380}
.fm-bd2b628{margin:0 0 18px;color:#037E8A;font-weight:800;font-size:.95rem}
.fm-790ffe3{margin:0 0 13px;color:#5E6B75;font-size:.98rem;line-height:1.7}
.fm-b758e15{display:flex;flex-wrap:wrap;gap:20px;margin:22px 0 0;padding-top:20px;border-top:1px solid #DDE7EA}
.fm-3f0c41a{flex:1 1 130px}
.fm-951ec3e{font-size:clamp(1.4rem,2.4vw,1.9rem);font-weight:800;color:#244380}
.fm-3b7d59f{margin-top:3px;font-size:.8rem;color:#5E6B75;line-height:1.4}
@media (max-width:1080px){
  /* Telefon w pasku — na mobile jest w panelu i w stopce, w nagłówku tylko rozpycha.
     Selektor MUSI być dwuklasowy: reguła celu dotykowego a[href^="tel:"] niżej ma
     specyficzność (0,1,1) i pojedyncze .fm-ee81815 (0,1,0) by przegrało — numer wracał
     poniżej 520 px i łamał się na trzy linie. */
  .fm-faf1091 .fm-ee81815{display:none}
}
@media (max-width:640px){
  .fm-8adee87{gap:8px}
  .fm-d83acae{padding:9px 14px;font-size:13px;white-space:nowrap}
  .fm-b4962ac{font-size:15px}
  .fm-7baa886{font-size:8px;letter-spacing:.06em}
}
/* Header prototypu jest position:fixed z PRZEZROCZYSTYM tłem (na home rozjaśnia go runtime
   przy scrollu). Na podstronach: stały biały podkład + odsunięcie treści o wysokość paska. */
.fm-ff7b3c9{position:fixed;background:rgba(255,255,255,.92);backdrop-filter:blur(10px);border-bottom:1px solid #DDE7EA}
main{padding-top:64px}
@media (max-width:640px){ main{padding-top:58px} }

/* — biblioteka FM: bol-stop — */
.fm-9c36024{font-family:inherit;font-weight:600;font-size:10.5px;font-weight:700;letter-spacing:.14em;color:#F9D66B}
.fm-47a0e9a{font-family:inherit;font-weight:600;font-size:11px;letter-spacing:.1em;color:#8FD4DC;text-transform:uppercase}
.fm-e00ff03{margin:12px 0 0;font-family:inherit;font-weight:600;font-size:10.5px;letter-spacing:.08em;color:#4E7E8C;text-align:center}
.fm-b4e04e6{font-family:inherit;font-weight:600;font-size:10.5px;letter-spacing:.12em;color:#7ED8C3;text-transform:uppercase}
.fm-2e7bcc2{margin:26px 0 0;color:#7ED8C3;font-size:.95rem;font-family:inherit;font-weight:600;letter-spacing:.04em}

/* — biblioteka FM: uslugi/laser-lunula — */
.fm-638451a{display:inline-block;font-family:inherit;font-weight:600;font-size:10.5px;letter-spacing:.08em;color:#037E8A;border:1px solid #C9EDEA;background:#EBFFFD;border-radius:999px;padding:4px 11px;text-transform:uppercase}

/* ANIMACJA WEJŚCIA HERO (podstrony): kaskada elementów przy wczytaniu — bez czekania na scroll.
   Nadpisuje mechanikę reveal dla pierwszej sekcji; przy prefers-reduced-motion brak data-anim = brak animacji. */
@keyframes fmHeroIn{from{opacity:0;transform:translateY(26px);filter:blur(6px)}to{opacity:1;transform:none;filter:none}}
@keyframes fmHeroMedia{from{opacity:0;transform:translateY(30px) scale(.955)}to{opacity:1;transform:none}}
html[data-anim] main section:first-of-type [data-reveal]{opacity:1;transform:none}
html[data-anim] main section:first-of-type [data-reveal]:first-child>*{animation:fmHeroIn .75s cubic-bezier(.2,.7,.2,1) both}
html[data-anim] main section:first-of-type [data-reveal]:first-child>*:nth-child(1){animation-delay:.05s}
html[data-anim] main section:first-of-type [data-reveal]:first-child>*:nth-child(2){animation-delay:.14s}
html[data-anim] main section:first-of-type [data-reveal]:first-child>*:nth-child(3){animation-delay:.23s}
html[data-anim] main section:first-of-type [data-reveal]:first-child>*:nth-child(4){animation-delay:.32s}
html[data-anim] main section:first-of-type [data-reveal]:first-child>*:nth-child(5){animation-delay:.41s}
html[data-anim] main section:first-of-type [data-reveal]:first-child>*:nth-child(6){animation-delay:.5s}
html[data-anim] main section:first-of-type [data-reveal][data-rdelay]{animation:fmHeroMedia .9s cubic-bezier(.2,.7,.2,1) .35s both}

/* — biblioteka FM: bol-stop — */
.fm-18695ca{max-width:1240px;margin:0 auto;padding:clamp(52px,7vw,92px) clamp(20px,4vw,48px);padding-top:clamp(40px,5.5vw,72px)}
.fm-7161351{max-width:1240px;margin:0 auto;padding:clamp(52px,7vw,92px) clamp(20px,4vw,48px)}

/* — biblioteka FM: uslugi/laser-lunula — */
.fm-7cad294{max-width:1240px;margin:0 auto;padding:clamp(48px,6vw,84px) clamp(20px,4vw,48px)}

/* — biblioteka FM: uslugi/wkladki-ortopedyczne — */
.fm-1ec60b7{max-width:1240px;margin:0 auto;padding:clamp(34px,4.5vw,56px) clamp(20px,4vw,48px)}

/* DOTYKALNOŚĆ (mobile) — cele min. 40px wysokości; stopka FM ma gęste linki kontaktowe */
@media (max-width:520px){
  footer a{display:inline-flex;align-items:center;min-height:40px}
  a[href^="tel:"],a[href^="mailto:"]{min-height:40px;display:inline-flex;align-items:center}
  /* link w treści zgody: powiększony obszar kliknięcia bez rozbijania akapitu */
  .fm-pole a{display:inline-block;padding:10px 0}   /* cel dotykowy 40 px */
}

/* HOVER a KONTRAST — realne nadpisania generuje napraw-hover-fm.py do bloku AUTO na końcu
   tego pliku (liczy kontrast z faktycznego tła klasy). Selektory [style*="…"] tu NIC nie łapią:
   po ekstrakcji nie ma już atrybutów style, są klasy fm-*. Reguła `footer a:hover` malowała
   linki stopki na miętowo — a stopka FootMediki jest JASNA, więc kontrast spadał do 1,6.
   Usunięta: w stopce zostaje granat z reguły globalnej (kontrast ~8,7). */

/* — biblioteka FM: bol-stop — */
.fm-f197ed8{margin:0 0 14px;color:#5E6B75;font-size:1rem;line-height:1.75}
.fm-e1e04b2{display:flex;flex-wrap:wrap;gap:10px}
.fm-35f32eb{display:inline-flex;align-items:center;gap:8px;background:#FFFFFF;border:1px solid #DDE7EA;border-radius:999px;padding:9px 16px;font-size:.9rem;color:#24313A;line-height:1.3}
.fm-ac88066{width:6px;height:6px;border-radius:50%;background:#00ADBA;flex:none}
.fm-4935335{margin:24px 0 0;color:#5E6B75;font-size:.95rem}
.fm-520f7dd{display:flex;flex-wrap:wrap;gap:clamp(26px,4.5vw,56px);align-items:center;margin-top:clamp(40px,5vw,64px)px}
.fm-0d6705f{flex:1 1 520px;min-width:min(100%,240px);background:#FFFFFF;border:1px solid #DDE7EA;border-radius:20px;padding:26px 24px;transition:transform .25s,box-shadow .25s,border-color .25s}
.fm-0d6705f:hover{transform:translateY(-6px);box-shadow:0 20px 44px rgba(36,67,128,.12);border-color:#C9EDEA}

/* — biblioteka FM: kampanie/swift — */
.fm-ffc097e{flex:1 1 245px;min-width:min(100%,240px);background:#FFFFFF;border:1px solid #DDE7EA;border-radius:20px;padding:26px 24px;transition:transform .25s,box-shadow .25s,border-color .25s}
.fm-ffc097e:hover{transform:translateY(-6px);box-shadow:0 20px 44px rgba(36,67,128,.12);border-color:#C9EDEA}
.fm-be29468{overflow-x:auto;border:1px solid #DDE7EA;border-radius:18px}
.fm-24241bc{width:100%;border-collapse:collapse;min-width:640px}
.fm-76a2513{padding:14px 16px;background:#EBFFFD;border-radius:0}
.fm-af9035e{padding:14px 16px;text-align:left;font-size:.9rem;font-weight:800;color:#FFFFFF;background:#00ADBA;border-radius:14px 14px 0 0}
.fm-4862695{padding:14px 16px;text-align:left;font-size:.9rem;font-weight:800;color:#244380;background:#EBFFFD;border-radius:0}
.fm-adc1b70{padding:13px 16px;text-align:left;font-size:.88rem;font-weight:700;color:#244380;border-bottom:1px solid #DDE7EA;vertical-align:top}
.fm-ed4c092{padding:13px 16px;font-size:.9rem;line-height:1.55;vertical-align:top;color:#24313A;background:rgba(0,173,186,.07);border-bottom:1px solid #DDE7EA}
.fm-f542071{padding:13px 16px;font-size:.9rem;line-height:1.55;vertical-align:top;color:#24313A;background:transparent;border-bottom:1px solid #DDE7EA}
.fm-fa0e74d{display:grid;gap:12px}
.fm-0ea7b81{background:#FFFFFF;border:1px solid #DDE7EA;border-radius:16px;padding:0;overflow:hidden}
.fm-92e6294{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:14px;align-items:center;padding:18px 22px;font-weight:800;font-size:1rem;color:#244380}
.fm-3b3543e{flex:none}
.fm-60c923a{margin:0;padding:0 22px 20px;font-size:.94rem;color:#5E6B75;line-height:1.65}

/* Zdjęcie oblewane tekstem w blokach SEO (fs_tekst z parametrem foto) — na wąskim ekranie
   pływający obraz rozjeżdża akapity, więc wraca do zwykłego bloku nad tekstem. */
.fm-foto-oplyw{float:right}
@media (max-width:720px){.fm-foto-oplyw{float:none!important;width:100%!important;margin:0 0 20px!important}}

/* — biblioteka FM: bol-stop — */
.fm-d421f85{overflow:hidden}
.fm-7a8cfb2{max-width:1040px;margin:0 auto;padding:clamp(52px,7vw,92px) clamp(20px,4vw,48px)}
.fm-137a6dc{float:right;width:min(46%,340px);margin:4px 0 20px 26px;border-radius:20px;display:block;box-shadow:0 22px 48px rgba(36,67,128,.16);shape-outside:inset(0 round 20px)}
.fm-8d62843{margin:22px 0;padding:18px 22px;border-left:4px solid #00ADBA;background:#EBFFFD;border-radius:0 14px 14px 0;color:#244380;font-size:1.06rem;font-weight:500;line-height:1.6}

/* — biblioteka FM: badanie-stop — */
.fm-b7cbb8a{flex:1 1 280px;min-width:min(100%,250px);background:#FFFFFF;border:1px solid #DDE7EA;border-radius:20px;overflow:hidden;display:flex;flex-direction:column;transition:transform .25s,box-shadow .25s}
.fm-b7cbb8a:hover{transform:translateY(-6px);box-shadow:0 22px 46px rgba(36,67,128,.13)}
.fm-422533f{position:relative;aspect-ratio:4/3;background:#EBFFFD;overflow:hidden}
.fm-6aa7190{width:100%;height:100%;object-fit:cover;display:block}
.fm-03f3093{position:absolute;left:14px;top:14px;width:34px;height:34px;border-radius:50%;background:#244380;color:#FFFFFF;display:inline-flex;align-items:center;justify-content:center;font-weight:800;font-size:.92rem;box-shadow:0 6px 16px rgba(15,34,55,.35)}
.fm-8ca0a49{padding:18px 20px 22px}
.fm-14c7e62{margin:0 0 7px;font-size:1.05rem;font-weight:800;color:#244380;letter-spacing:-0.01em}

/* — biblioteka FM: uslugi/wkladki-ortopedyczne — */
.fm-0536dd6{display:flex;flex-wrap:wrap;gap:clamp(30px,5vw,60px);align-items:center}

.fm-2ba06d6{display:flex;gap:11px;font-size:.96rem;color:#24313A;line-height:1.55}
.fm-65a02e6{flex:none;margin-top:2px}

.fm-dd8c53c{display:block;font-size:1.45rem;font-weight:800;color:#244380;letter-spacing:-0.02em}
.fm-2a2113a{display:block;margin-top:2px;font-size:.82rem;color:#5E6B75;line-height:1.4}
.fm-ae3fc82{position:absolute;right:-10px;bottom:-30px;width:44%;max-width:220px;border-radius:18px;border:5px solid #FFFFFF;box-shadow:0 20px 44px rgba(36,67,128,.2);display:block}
.fm-28e9a80{display:flex;flex-wrap:wrap;gap:22px;margin-top:clamp(34px,4.5vw,52px);border-top:1px solid #DDE7EA;padding-top:clamp(24px,3vw,34px)}
.fm-31ff674{flex:1 1 180px;min-width:150px}
.fm-0b4673b{font-size:clamp(1.6rem,2.8vw,2.2rem);font-weight:800;letter-spacing:-0.02em;color:#244380}
.fm-cec3b55{margin-top:4px;font-size:.88rem;color:#5E6B75;line-height:1.45}
.fm-195b217{display:flex;flex-wrap:wrap;gap:22px;justify-content:center}
.fm-fc1609a{flex:1 1 260px;min-width:min(100%,240px);max-width:340px;background:#FFFFFF;border:1px solid #DDE7EA;border-radius:22px;overflow:hidden;display:flex;flex-direction:column;transition:transform .25s,box-shadow .25s,border-color .25s}
.fm-fc1609a:hover{transform:translateY(-6px);box-shadow:0 24px 50px rgba(36,67,128,.14);border-color:#C9EDEA}
.fm-74f1f2a{aspect-ratio:4/5;background:#EBFFFD;overflow:hidden}
.fm-2303d8c{width:100%;height:100%;object-fit:cover;object-position:50% 22%;display:block}
.fm-5c2a926{padding:20px 20px 24px;display:flex;flex-direction:column;gap:8px;flex:1}
.fm-7013454{margin:0;font-size:1.12rem;font-weight:800;color:#244380;letter-spacing:-0.01em}
.fm-d9fdc78{margin:6px 0 0;font-size:.88rem;color:#5E6B75;line-height:1.62}


/* — biblioteka FM: uslugi/wkladki-ortopedyczne — */
.fm-d66cbf7{margin:14px 0 0;font-size:clamp(1.8rem,3.2vw,2.6rem);line-height:1.12;letter-spacing:-0.02em; font-weight:800;color:#244380;text-wrap:balance}
.fm-912781e{display:block;margin:18px 0 22px;width:74px;height:5px;border-radius:3px; background:linear-gradient(90deg,#7ED8C3,#F0B429)}
.fm-16dcfe3{list-style:none;margin:20px 0 0;padding:0;display:grid;gap:11px}
.fm-85b3f0b{flex:1 1 400px;min-width:min(100%,290px);position:relative; margin-bottom:42px}
.fm-11c7658{width:100%;height:auto;display:block;border-radius:24px; box-shadow:0 26px 60px rgba(36,67,128,.18)}
.fm-bdcaf93{position:absolute;left:-14px;bottom:26px;background:#FFFFFF;border:1px solid #DDE7EA;border-radius:16px;padding:13px 18px;box-shadow:0 18px 40px rgba(36,67,128,.16);max-width:210px}


/* — biblioteka FM: uslugi/laser-lunula — */
.fm-ea83e46{text-decoration:underline;display:inline-block;padding:5px 0}

/* ── GEOMETRIA WSPÓLNA Z HOME ─────────────────────────────────────────────────────
   Nagłówek i stopka to partiale z prototypu, stylowane klasami z fm-glowna.css, które
   powstały BEZ resetu box-sizing (home go nie ma). Podstrony mają `*{box-sizing:border-box}`
   z glowa_fm, więc te same `max-width:1240px` obejmowały padding i oś tekstu skakała
   ze 100 px na 148 px przy przejściu home → podstrona. Przywracamy im model pudełka home. */
header>div,footer>div{box-sizing:content-box}

/* ── NAGŁÓWEK NA MOBILE ───────────────────────────────────────────────────────────
   Logo kurczyło się do 94×40 (zamiast 174×40), bo link nie miał flex:none, a img
   max-width:100% z resetu pozwalał zgnieść je w wąskim wierszu — proporcje szły w las. */
/* (reguły logo przeniesione do fm-glowna.css — home ma ten sam problem) */

/* ── PASEK DOLNY (mobile) ─────────────────────────────────────────────────────────
   Home ma go z prototypu (gałąź runtime {{ mobile }}), a na podstronach gałąź jest
   wycinana przy składaniu — stąd brak. Wstrzykujemy go w zloz_fm i pokazujemy tylko
   tam, gdzie ma sens; treść dostaje zapas na dole, żeby pasek niczego nie zasłaniał. */
@media (min-width:900px){ .fm-c161b86{display:none} }
@media (max-width:899px){ body{padding-bottom:78px} }



/* — biblioteka FM: bol-stop — */
.fm-34b800a{max-width:calc(1240px + 2*clamp(20px,4vw,48px));margin:0 auto;padding:clamp(52px,7vw,92px) clamp(20px,4vw,48px);padding-top:clamp(40px,5.5vw,72px)}
.fm-405f7fe{max-width:calc(1040px + 2*clamp(20px,4vw,48px));margin:0 auto;padding:clamp(52px,7vw,92px) clamp(20px,4vw,48px)}
.fm-c1a674a{max-width:calc(1240px + 2*clamp(20px,4vw,48px));margin:0 auto;padding:clamp(52px,7vw,92px) clamp(20px,4vw,48px)}
.fm-9374363{max-width:calc(860px + 2*clamp(20px,4vw,48px));margin:0 auto;padding:clamp(52px,7vw,92px) clamp(20px,4vw,48px);text-align:center}

/* — biblioteka FM: uslugi/laser-lunula — */
.fm-ebbd744{max-width:calc(860px + 2*clamp(20px,4vw,48px));margin:0 auto;padding:clamp(52px,7vw,92px) clamp(20px,4vw,48px)}

/* — biblioteka FM: uslugi/wkladki-ortopedyczne — */
.fm-a594c3d{max-width:calc(1240px + 2*clamp(20px,4vw,48px));margin:0 auto;padding:clamp(34px,4.5vw,56px) clamp(20px,4vw,48px)}

/* ══ SEKCJE DRUGIEJ GENERACJI ══════════════════════════════════════════════════
   Cztery formy, które zastąpiły powtarzające się siatki kart. Wszystko na czystym CSS:
   wybór działa na ukrytych radiach i selektorze :checked ~, oś pionowa na position:sticky.
   Bez JS, więc nie ma czego zepsuć — i działa, zanim cokolwiek się doładuje. */

/* ── WYBÓR ─────────────────────────────────────────────────────────────────── */
.fmw{display:grid;grid-template-columns:minmax(240px,340px) 1fr;gap:clamp(18px,2.4vw,30px);align-items:start}
.fmw>input{position:absolute;opacity:0;width:0;height:0;pointer-events:none}
.fmw-szyna{display:flex;flex-direction:column;gap:8px}
.fmw-e{display:flex;align-items:center;gap:12px;padding:15px 17px;border-radius:15px;cursor:pointer;
  background:#FFFFFF;border:1px solid #DDE7EA;transition:border-color .18s,box-shadow .18s,transform .18s;
  color:#244380;font-weight:700;font-size:.97rem;line-height:1.35}
.fmw-e:hover{border-color:#9FD9DE;transform:translateX(3px)}
.fmw-k{flex:none;font-size:.72rem;font-weight:800;letter-spacing:.06em;color:#7A8C97;
  background:#EBFFFD;border:1px solid #C9EDEA;border-radius:8px;padding:4px 7px}
.fmw-n{flex:1}
.fmw-s{flex:none;opacity:0;transform:translateX(-4px);transition:opacity .18s,transform .18s;color:#7ED8C3}
.fmw-p{display:none;background:#FFFFFF;border:1px solid #DDE7EA;border-radius:22px;
  padding:clamp(24px,3vw,34px);box-shadow:0 18px 44px rgba(36,67,128,.08)}
.fmw-p h3{margin:0 0 10px;font-size:clamp(1.24rem,2vw,1.56rem);font-weight:800;color:#244380;
  letter-spacing:-0.015em;line-height:1.2}
.fmw-p p{margin:0;color:#5E6B75;font-size:1rem;line-height:1.7}
.fmw-p ul{list-style:none;margin:18px 0 0;padding:0;display:grid;gap:10px}
.fmw-p li{display:flex;gap:11px;font-size:.95rem;color:#24313A;line-height:1.55}
/* zaznaczona pozycja: granat, biały tekst i strzałka — od razu widać, co się czyta */
.fmw>input:nth-of-type(1):checked~.fmw-szyna .fmw-e:nth-child(1),
.fmw>input:nth-of-type(2):checked~.fmw-szyna .fmw-e:nth-child(2),
.fmw>input:nth-of-type(3):checked~.fmw-szyna .fmw-e:nth-child(3),
.fmw>input:nth-of-type(4):checked~.fmw-szyna .fmw-e:nth-child(4),
.fmw>input:nth-of-type(5):checked~.fmw-szyna .fmw-e:nth-child(5),
.fmw>input:nth-of-type(6):checked~.fmw-szyna .fmw-e:nth-child(6){
  background:linear-gradient(135deg,#173355,#0F2237);border-color:#0F2237;color:#FFFFFF;
  box-shadow:0 14px 32px rgba(15,34,55,.26);transform:translateX(3px)}
.fmw>input:nth-of-type(1):checked~.fmw-szyna .fmw-e:nth-child(1) .fmw-k,
.fmw>input:nth-of-type(2):checked~.fmw-szyna .fmw-e:nth-child(2) .fmw-k,
.fmw>input:nth-of-type(3):checked~.fmw-szyna .fmw-e:nth-child(3) .fmw-k,
.fmw>input:nth-of-type(4):checked~.fmw-szyna .fmw-e:nth-child(4) .fmw-k,
.fmw>input:nth-of-type(5):checked~.fmw-szyna .fmw-e:nth-child(5) .fmw-k,
.fmw>input:nth-of-type(6):checked~.fmw-szyna .fmw-e:nth-child(6) .fmw-k{
  background:rgba(126,216,195,.16);border-color:rgba(126,216,195,.4);color:#7ED8C3}
.fmw>input:nth-of-type(1):checked~.fmw-szyna .fmw-e:nth-child(1) .fmw-s,
.fmw>input:nth-of-type(2):checked~.fmw-szyna .fmw-e:nth-child(2) .fmw-s,
.fmw>input:nth-of-type(3):checked~.fmw-szyna .fmw-e:nth-child(3) .fmw-s,
.fmw>input:nth-of-type(4):checked~.fmw-szyna .fmw-e:nth-child(4) .fmw-s,
.fmw>input:nth-of-type(5):checked~.fmw-szyna .fmw-e:nth-child(5) .fmw-s,
.fmw>input:nth-of-type(6):checked~.fmw-szyna .fmw-e:nth-child(6) .fmw-s{opacity:1;transform:none}
.fmw>input:nth-of-type(1):checked~.fmw-panele .fmw-p:nth-child(1),
.fmw>input:nth-of-type(2):checked~.fmw-panele .fmw-p:nth-child(2),
.fmw>input:nth-of-type(3):checked~.fmw-panele .fmw-p:nth-child(3),
.fmw>input:nth-of-type(4):checked~.fmw-panele .fmw-p:nth-child(4),
.fmw>input:nth-of-type(5):checked~.fmw-panele .fmw-p:nth-child(5),
.fmw>input:nth-of-type(6):checked~.fmw-panele .fmw-p:nth-child(6){display:block;animation:fmwWej .32s ease both}
@keyframes fmwWej{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.fmw>input:focus-visible~.fmw-szyna .fmw-e{outline:none}
.fmw>input:nth-of-type(1):focus-visible~.fmw-szyna .fmw-e:nth-child(1),
.fmw>input:nth-of-type(2):focus-visible~.fmw-szyna .fmw-e:nth-child(2),
.fmw>input:nth-of-type(3):focus-visible~.fmw-szyna .fmw-e:nth-child(3),
.fmw>input:nth-of-type(4):focus-visible~.fmw-szyna .fmw-e:nth-child(4),
.fmw>input:nth-of-type(5):focus-visible~.fmw-szyna .fmw-e:nth-child(5),
.fmw>input:nth-of-type(6):focus-visible~.fmw-szyna .fmw-e:nth-child(6){outline:3px solid #037E8A;outline-offset:2px}
@media (max-width:860px){.fmw{grid-template-columns:1fr}}

/* ── BENTO ─────────────────────────────────────────────────────────────────── */
.fmb{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,1.6vw,20px)}
.fmb-g{grid-column:span 1;grid-row:span 1;position:relative;border-radius:22px;overflow:hidden;
  min-height:300px;display:flex;align-items:flex-end;background:#0F2237}
/* Duży kafel rozciąga się na dwa rzędy dopiero wtedy, gdy jest czym wypełnić siatkę
   (co najmniej cztery mniejsze) — inaczej zostawiałby pustą dziurę obok siebie. */
.fmb:has(.fmb-k:nth-child(5)) .fmb-g{grid-row:span 2;min-height:340px}
/* Ostatni kafel sam w rzędzie wygląda na pomyłkę — niech zajmie całą szerokość. */
.fmb-k:last-child:nth-child(6){grid-column:1/-1}
.fmb-k:last-child:nth-child(6) p{max-width:70ch}
.fmb-g img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.62}
.fmb-g .fmb-gt{position:relative;padding:clamp(22px,2.6vw,30px);color:#FFFFFF;
  background:linear-gradient(180deg,transparent,rgba(9,24,40,.86) 55%)}
.fmb-g h3{margin:0 0 8px;font-size:clamp(1.24rem,2vw,1.5rem);font-weight:800;letter-spacing:-0.015em}
.fmb-g p{margin:0;font-size:.94rem;line-height:1.6;color:#CFE6EC}
.fmb-k{background:#FFFFFF;border:1px solid #DDE7EA;border-radius:20px;padding:24px 22px;
  transition:transform .25s,box-shadow .25s,border-color .25s}
.fmb-k:hover{transform:translateY(-5px);box-shadow:0 20px 44px rgba(36,67,128,.12);border-color:#C9EDEA}
.fmb-i{display:inline-flex;width:46px;height:46px;border-radius:14px;background:#EBFFFD;
  border:1px solid #C9EDEA;align-items:center;justify-content:center;margin-bottom:14px}
.fmb-k h3{margin:0 0 7px;font-size:1.08rem;font-weight:800;color:#244380;letter-spacing:-0.01em}
.fmb-k p{margin:0;font-size:.92rem;color:#5E6B75;line-height:1.6}
@media (max-width:900px){.fmb{grid-template-columns:repeat(2,1fr)}.fmb-g{grid-column:span 2;grid-row:span 1;min-height:260px}}
@media (max-width:560px){.fmb{grid-template-columns:1fr}.fmb-g{grid-column:span 1}}

/* ── OŚ PIONOWA ────────────────────────────────────────────────────────────── */
.fmo{display:grid;grid-template-columns:minmax(260px,380px) 1fr;gap:clamp(28px,4vw,64px);align-items:start}
.fmo-lewa{position:sticky;top:96px}
.fmo-cta{margin:26px 0 0}
.fmo-prawa{display:grid;gap:clamp(16px,2vw,24px);position:relative}
.fmo-prawa::before{content:"";position:absolute;left:23px;top:14px;bottom:14px;width:2px;
  background:linear-gradient(180deg,#7ED8C3,#F0B429 55%,#00ADBA);opacity:.45}
.fmo-k{position:relative;display:grid;grid-template-columns:48px 1fr;gap:16px;align-items:start;
  background:#FFFFFF;border:1px solid #DDE7EA;border-radius:20px;padding:20px 22px;
  transition:transform .25s,box-shadow .25s,border-color .25s}
.fmo-k:hover{transform:translateX(4px);box-shadow:0 18px 40px rgba(36,67,128,.1);border-color:#C9EDEA}
.fmo-n{grid-row:1/3;width:48px;height:48px;border-radius:50%;background:#0F2237;color:#FFFFFF;
  display:inline-flex;align-items:center;justify-content:center;font-weight:800;font-size:.92rem;
  box-shadow:0 0 0 6px #FFFFFF}
.fmo-t h3{margin:0 0 6px;font-size:1.08rem;font-weight:800;color:#244380;letter-spacing:-0.01em}
.fmo-t p{margin:0;font-size:.93rem;color:#5E6B75;line-height:1.6}
.fmo-k img{grid-column:2;width:100%;height:auto;border-radius:14px;margin-top:14px;display:block}
@media (max-width:900px){.fmo{grid-template-columns:1fr}.fmo-lewa{position:static}}

/* ── PRZED / PO ────────────────────────────────────────────────────────────── */
.fmp{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:clamp(18px,2.4vw,28px)}
.fmp-p{margin:0;background:#FFFFFF;border:1px solid #DDE7EA;border-radius:20px;overflow:hidden;
  box-shadow:0 14px 36px rgba(36,67,128,.08)}
.fmp-para{display:grid;grid-template-columns:1fr 1fr;position:relative}
.fmp-para::after{content:"";position:absolute;left:50%;top:0;bottom:0;width:3px;transform:translateX(-50%);
  background:linear-gradient(180deg,#7ED8C3,#F0B429);z-index:1}
.fmp-o{position:relative;display:block;aspect-ratio:1/1;background:#EBFFFD}
.fmp-o img{width:100%;height:100%;object-fit:cover;display:block}
.fmp-o em{position:absolute;left:10px;bottom:10px;font-style:normal;font-size:10.5px;font-weight:800;
  letter-spacing:.1em;text-transform:uppercase;color:#FFFFFF;background:rgba(15,34,55,.82);
  border-radius:999px;padding:5px 11px}
.fmp-po em{background:linear-gradient(135deg,#00ADBA,#078A94)}
.fmp-p figcaption{padding:16px 18px 18px;display:flex;flex-direction:column;gap:4px}
.fmp-p figcaption strong{font-size:.98rem;color:#244380;font-weight:800;line-height:1.4}
.fmp-p figcaption span{font-size:.84rem;color:#5E6B75}



/* — biblioteka FM: bol-stop — */
.fm-de88c6f{margin:26px 0 0}

/* — biblioteka FM: uslugi/laser-lunula — */
.fm-6ed043a{margin:16px 0 0;color:#5E6B75;font-size:1rem;line-height:1.65}
/* ══ AUTO: KONTRAST HOVERU (napraw-hover-fm.py) — nie edytuj ręcznie ══ */
.fm-03f3093:hover{color:#FFFFFF}   /* kontrast 1.0 na tle typu kolor/globalny */
.fm-af9035e:hover{color:#FFFFFF}   /* kontrast 3.5 na tle typu kolor/globalny */
.fm-dfa376f:hover{color:#FFFFFF}   /* kontrast 1.7 na tle typu gradient/globalny */
.fm-e461e46:hover{color:#FFFFFF}   /* kontrast 3.5 na tle typu gradient/globalny */
.fm-ed4c092:hover{color:#24313A}   /* kontrast 3.5 na tle typu kolor/globalny */
.fm-fc6f06f:hover{color:#FFFFFF}   /* kontrast 3.5 na tle typu gradient/globalny */
.fm-fff8f83:hover{color:#FFFFFF}   /* kontrast 1.7 na tle typu gradient/globalny */
.fm-mobpanel .fm-mob-cta:hover{color:#FFF}   /* kontrast 3.5 na tle typu gradient/globalny */
.fmb-g:hover{color:#FFFFFF}   /* kontrast 1.7 na tle typu kolor/globalny */
.fmb-g .fmb-gt:hover{color:#FFFFFF}   /* kontrast 1.9 na tle typu gradient/globalny */
.fmo-n:hover{color:#FFFFFF}   /* kontrast 1.7 na tle typu kolor/globalny */
.fmp-o em:hover{color:#FFFFFF}   /* kontrast 1.7 na tle typu kolor/globalny */
/* ══ KONIEC AUTO: KONTRAST HOVERU ══ */
