:root{
    --red:#bd101f;
    --red-dark:#940b17;
    --ink:#17191d;
    --muted:#62666e;
    --line:#e8e8ea;
    --soft:#f7f7f8;
    --warm:#f1ece8;
    --white:#fff;
    --shadow:0 15px 42px rgba(25,25,28,.09);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:#fff;line-height:1.55}
body.menu-open{overflow:hidden}
a{text-decoration:none;color:inherit}
img{display:block;max-width:100%}
button,input,textarea,select{font:inherit}
.container{width:min(1320px,calc(100% - 48px));margin-inline:auto}
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);backdrop-filter:blur(14px);border-bottom:1px solid rgba(232,232,234,.9)}
.header-row{height:76px;display:flex;align-items:center;gap:30px}
.site-logo{display:inline-flex;align-items:center;gap:13px;min-width:0;max-width:300px;flex:0 1 300px}
.logo-mark{width:38px;height:38px;border:2px solid var(--red);border-radius:12px 12px 16px 16px;display:grid;place-items:center;color:var(--red);font-family:Georgia,serif;font-weight:900;font-size:20px;transform:rotate(45deg)}
.logo-mark span{transform:rotate(-45deg)}
.logo-copy{display:grid;line-height:1.08;min-width:0}
.logo-copy strong{font-family:Arial,Helvetica,sans-serif;font-size:20px;font-weight:900;letter-spacing:-.015em;line-height:1.05;white-space:nowrap}
.logo-copy small{margin-top:5px;color:var(--muted);font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.1em;white-space:nowrap}
.site-nav{margin-left:auto;display:flex;align-items:center;gap:24px;min-width:0}
.site-nav a{font-size:14px;font-weight:800;white-space:nowrap}
.site-nav a:hover{color:var(--red)}
.header-contact{display:flex;align-items:center;gap:14px;margin-left:8px;flex:0 0 auto}
.phone-link{color:var(--red);font-weight:900;white-space:nowrap;display:flex;align-items:center;gap:8px;font-size:15px}
.button{min-height:46px;padding:0 20px;border:1px solid transparent;border-radius:7px;display:inline-flex;align-items:center;justify-content:center;gap:10px;font-weight:900;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease}
.button:hover{transform:translateY(-1px)}
.button-primary{background:var(--red);color:#fff;box-shadow:0 10px 25px rgba(189,16,31,.2)}
.button-primary:hover{background:var(--red-dark)}
.button-outline{background:#fff;color:var(--red);border-color:var(--red)}
.mobile-toggle{display:none;margin-left:auto;width:44px;height:44px;border:1px solid var(--line);background:#fff;border-radius:8px;font-size:22px}
.eyebrow{display:block;color:var(--red);font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.12em;margin-bottom:16px}
h1,h2,h3{font-family:Georgia,"Times New Roman",serif;line-height:1.1;margin-top:0}
h1{font-size:clamp(46px,5.2vw,72px);letter-spacing:-.035em;margin-bottom:22px}
h2{font-size:clamp(34px,3.5vw,48px);letter-spacing:-.025em;margin-bottom:18px}
h3{font-size:20px}
.hero{position:relative;overflow:hidden;background:linear-gradient(90deg,#fff 0 52%,var(--warm) 52%)}
.hero-grid{min-height:560px;display:grid;grid-template-columns:1.05fr .95fr;align-items:stretch}
.hero-copy{padding:62px 60px 34px 0;display:flex;flex-direction:column;justify-content:center}
.hero-copy>p{max-width:650px;color:#373a40;font-size:18px;line-height:1.7;margin:0 0 28px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:48px}
.hero-benefits{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}
.mini-benefit{display:flex;gap:10px;align-items:flex-start}
.icon-line{flex:0 0 38px;width:38px;height:38px;border-radius:10px;background:#fff0f1;color:var(--red);display:grid;place-items:center}
.mini-benefit strong{display:block;font-size:12px;margin-bottom:3px}
.mini-benefit small{display:block;color:var(--muted);font-size:10px;line-height:1.35}
.hero-media{position:relative;min-height:560px;box-shadow:-18px 16px 40px rgba(25,25,28,.08)}
.hero-media img{width:100%;height:100%;object-fit:cover;object-position:center}
.hero-media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--warm) 0,transparent 18%)}
.about{padding:90px 0;background:#fff}
.about-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:70px;align-items:center}
.about-image{border-radius:12px;overflow:hidden;box-shadow:var(--shadow)}
.about-image img{width:100%;aspect-ratio:1.35/1;object-fit:cover}
.about-copy p{color:#484c54;font-size:16px}
.check-list{display:grid;gap:13px;padding:0;margin:26px 0;list-style:none}
.check-list li{display:flex;gap:12px;align-items:center;font-weight:700;font-size:14px}
.check-list li::before{content:"✓";display:grid;place-items:center;width:23px;height:23px;border-radius:50%;background:var(--red);color:#fff;font-size:12px}
.signature{font-family:"Brush Script MT","Segoe Script",cursive;font-size:32px;margin-top:26px}
.process{padding:84px 0;background:linear-gradient(180deg,#fafafa,#f4f4f5)}
.section-heading{text-align:center;max-width:700px;margin:0 auto 48px}
.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;position:relative}
.process-grid::before{content:"";position:absolute;left:10%;right:10%;top:36px;border-top:1px dashed #d7aeb1}
.process-item{text-align:center;position:relative}
.process-number{position:absolute;top:23px;left:calc(50% - 49px);z-index:3;width:25px;height:25px;border-radius:50%;display:grid;place-items:center;background:var(--red);color:#fff;font-weight:900;font-size:12px}
.process-icon{position:relative;z-index:2;margin:0 auto 18px;width:72px;height:72px;border-radius:50%;background:#fff;box-shadow:var(--shadow);display:grid;place-items:center;color:var(--red)}
.process-item p{color:var(--muted);font-size:13px;max-width:220px;margin:0 auto}
.articles{padding:88px 0;background:#fff}
.section-top{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:28px}
.section-top h2{margin-bottom:0}
.more-link{color:var(--red);font-weight:900;font-size:14px}
.article-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.article-card{border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#fff;box-shadow:0 9px 28px rgba(25,25,28,.06);transition:.18s ease}
.article-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.article-image{aspect-ratio:1.65/1;overflow:hidden;background:#eee}
.article-image img{width:100%;height:100%;object-fit:cover}
.article-body{padding:20px}
.article-category{color:var(--red);font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.1em}
.article-body h3{font-family:Arial,Helvetica,sans-serif;font-size:17px;line-height:1.35;margin:9px 0 17px}
.article-meta{display:flex;gap:16px;color:#858990;font-size:11px}
.cta{position:relative;overflow:hidden;background:linear-gradient(90deg,rgba(148,11,23,.98),rgba(189,16,31,.92));color:#fff}
.cta::before{content:"";position:absolute;inset:0;background:url("/assets/images/site/cta-bg.webp") center/cover;opacity:.12}
.cta-row{position:relative;min-height:130px;display:flex;align-items:center;justify-content:space-between;gap:30px}
.cta-title{display:flex;align-items:center;gap:20px}
.cta-circle{width:64px;height:64px;border:3px solid #fff;border-radius:50%;display:grid;place-items:center;font-size:28px}
.cta h2{font-family:Arial,Helvetica,sans-serif;font-size:31px;margin:0}
.cta-actions{display:flex;gap:14px}
.cta .button{background:#fff;color:var(--red)}
.cta .button.button-transparent{background:transparent;color:#fff;border-color:#fff}
.site-footer{background:linear-gradient(135deg,#151619,#232529);color:#fff;padding:60px 0 25px}
.footer-grid{display:grid;grid-template-columns:1.25fr .8fr 1fr;gap:70px}
.footer-brand p,.footer-column p{color:#b9bcc1;font-size:13px;line-height:1.7}
.footer-column h3{font-family:Arial,Helvetica,sans-serif;font-size:12px;text-transform:uppercase;letter-spacing:.08em;margin-bottom:18px}
.footer-links{display:grid;gap:10px}
.footer-links a{color:#d8dadd;font-size:13px}
.footer-links a:hover{color:#fff}
.footer-contact{display:grid;gap:12px;color:#d8dadd;font-size:13px}
.socials{display:flex;gap:10px;margin-top:20px}
.socials a{width:36px;height:36px;border:1px solid #676a70;border-radius:50%;display:grid;place-items:center}
.map-placeholder{height:125px;border:1px solid #3d4045;border-radius:10px;background:radial-gradient(circle at 60% 45%,#35383e 0 8%,transparent 9%),linear-gradient(135deg,#24272c,#17181b);display:grid;place-items:center;color:var(--red);font-size:31px}
.footer-bottom{margin-top:38px;padding-top:20px;border-top:1px solid #35383d;display:flex;justify-content:space-between;color:#999da4;font-size:11px}
.standard-page{padding:80px 0 110px;background:#fff}
.standard-header{padding:70px 0;background:linear-gradient(135deg,#fff,#f5f0ed)}
.standard-content{max-width:850px}
.standard-content p{font-size:17px;color:#454950}
@media(max-width:1050px){
    .hero-grid{grid-template-columns:1fr 1fr}
    .hero-benefits{grid-template-columns:1fr 1fr}
    .footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:820px){
    .header-row{height:68px}
    .site-nav,.header-contact{display:none}
    .mobile-toggle{display:block}
    .site-nav.open{position:fixed;display:grid;align-content:start;top:68px;left:0;right:0;bottom:0;background:#fff;padding:35px 22px;gap:20px}
    .site-nav.open a{font-size:18px;padding:10px 0;border-bottom:1px solid var(--line)}
    .hero{background:#fff}
    .hero-grid{grid-template-columns:1fr}
    .hero-copy{padding:65px 0 40px}
    .hero-media{min-height:480px}
    .about-grid{grid-template-columns:1fr;gap:38px}
    .process-grid{grid-template-columns:1fr 1fr;row-gap:42px}
    .process-grid::before{display:none}
    .article-grid{grid-template-columns:1fr}
    .article-card{display:grid;grid-template-columns:220px 1fr}
    .article-image{height:100%;aspect-ratio:auto}
    .cta-row{padding:30px 0;align-items:flex-start;flex-direction:column}
    .footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){
    .container{width:min(100% - 28px,1180px)}
    h1{font-size:43px}
    h2{font-size:34px}
    .hero-copy>p{font-size:15px}
    .hero-actions,.cta-actions{flex-direction:column;align-items:stretch}
    .hero-actions .button,.cta-actions .button{width:100%}
    .hero-benefits{grid-template-columns:1fr}
    .hero-media{min-height:390px}
    .process-grid{grid-template-columns:1fr}
    .article-card{display:block}
    .footer-grid{grid-template-columns:1fr}
    .footer-bottom{flex-direction:column;gap:10px}
    .cta-title{align-items:flex-start}
    .cta-circle{width:52px;height:52px;flex:0 0 52px}
    .cta h2{font-size:26px}
}


.site-header svg,
.button svg,
.phone-link svg,
.icon-line svg,
.process-icon svg,
.cta svg{
    width:20px;
    height:20px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
    flex:0 0 auto;
}
.icon-line svg{width:21px;height:21px}
.process-icon svg{width:30px;height:30px}
.button:hover{box-shadow:0 12px 28px rgba(25,25,28,.12)}
.site-nav a{position:relative}
.site-nav a::after{
    content:"";
    position:absolute;
    left:0;
    right:0;
    bottom:-7px;
    height:2px;
    background:var(--red);
    transform:scaleX(0);
    transition:transform .18s ease;
}
.site-nav a:hover::after{transform:scaleX(1)}

@media(max-width:1180px){
    .container{width:min(100% - 36px,1220px)}
    .header-row{gap:18px}
    .site-logo{flex-basis:245px;max-width:245px}
    .logo-copy strong{font-size:19px}
    .site-nav{gap:17px}
    .site-nav a{font-size:13px}
    .phone-link{font-size:14px}
    .header-contact .button{padding-inline:15px}
}
@media(max-width:1020px){
    .site-logo{flex-basis:220px;max-width:220px}
    .site-nav{gap:14px}
    .header-contact .button{display:none}
}
@media(max-width:930px){
    .site-nav,.header-contact{display:none}
    .mobile-toggle{display:block}
}


.logo-mark{display:none!important}

.logo-monogram{
    flex:0 0 46px;
    width:46px;
    height:46px;
    border:1.5px solid var(--red);
    border-radius:14px;
    display:grid;
    place-items:center;
    color:var(--red);
    background:#fff;
    font-family:Arial,Helvetica,sans-serif;
    font-size:15px;
    font-weight:900;
    letter-spacing:-.04em;
    box-shadow:0 6px 18px rgba(189,16,31,.08);
}
.site-header .site-logo:hover .logo-monogram{
    background:#fff7f8;
    transform:translateY(-1px);
}
.site-logo .logo-monogram{
    transition:background-color .18s ease,transform .18s ease;
}
.site-footer .site-logo{
    max-width:none;
    color:#fff;
}
.site-footer .logo-monogram{
    background:transparent;
    border-color:#d5444f;
    color:#fff;
    box-shadow:none;
}
.site-footer .logo-copy strong{color:#fff}
.site-footer .logo-copy small{color:#9fa3aa}

@media(max-width:1180px){
    .site-logo{flex-basis:245px;max-width:245px}
    .logo-copy strong{font-size:18px}
    .logo-monogram{width:42px;height:42px;flex-basis:42px}
}
@media(max-width:930px){
    .site-logo{flex-basis:auto;max-width:none}
}
@media(max-width:560px){
    .logo-copy strong{font-size:17px}
    .logo-copy small{font-size:8px}
    .logo-monogram{width:40px;height:40px;flex-basis:40px;border-radius:12px}
}


/* M1.4 — zatwierdzony układ 1:1 */
.hero-approved{
    position:relative;
    padding:38px 0 28px;
    overflow:hidden;
    background:
        radial-gradient(circle at 94% 14%,rgba(199,21,37,.08),transparent 24%),
        linear-gradient(135deg,#fff 0 64%,#fff7f7 64% 100%);
}
.hero-approved-grid{
    min-height:470px;
    display:grid;
    grid-template-columns:minmax(0,.98fr) minmax(500px,1.02fr);
    gap:54px;
    align-items:center;
}
.hero-approved-copy{
    padding:16px 0 4px;
}
.hero-kicker{
    margin-bottom:30px;
}
.hero-approved-title{
    max-width:720px;
    margin:0 0 21px;
    font-family:'Manrope',Arial,Helvetica,sans-serif;
    font-size:clamp(43px,4vw,62px);
    font-weight:700;
    line-height:1.08;
    letter-spacing:-.04em;
}
.hero-approved-title span{
    display:block;
    white-space:nowrap;
}
.hero-approved-title em{
    color:var(--red-600,#bd101f);
    font-style:normal;
}
.hero-approved-lead{
    margin:0 0 25px;
    color:#5e6269;
    font-size:16px;
    line-height:1.7;
}
.hero-approved-actions{
    display:flex;
    gap:14px;
    margin-bottom:28px;
}
.button-hero{
    min-width:175px;
    min-height:52px;
    border-radius:8px;
}
.hero-approved-benefits{
    max-width:705px;
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:14px;
}
.hero-approved-benefits article{
    min-height:78px;
    padding:14px 15px;
    display:flex;
    align-items:center;
    gap:12px;
    border:1px solid #e7e8ea;
    border-radius:12px;
    background:#fff;
    box-shadow:0 9px 28px rgba(24,25,28,.055);
}
.hero-approved-benefits strong,
.hero-approved-benefits small{
    display:block;
}
.hero-approved-benefits strong{
    margin-bottom:4px;
    font-size:13px;
}
.hero-approved-benefits small{
    color:#777b82;
    font-size:10px;
    line-height:1.35;
}
.approved-icon{
    flex:0 0 43px;
    width:43px;
    height:43px;
    display:grid;
    place-items:center;
    border-radius:50%;
    color:var(--red-600,#bd101f);
    background:#fff0f1;
}
.approved-icon svg{
    width:25px;
    height:25px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
}
.hero-approved-media{
    min-height:440px;
    overflow:hidden;
    border-radius:18px;
    background:#eee;
    box-shadow:0 24px 55px rgba(24,25,28,.12);
}
.hero-approved-media img{
    width:100%;
    height:100%;
    min-height:440px;
    object-fit:cover;
    object-position:center;
}

.intro-process{
    padding:34px 0 46px;
    border-top:1px solid #eeeef0;
    background:#fff;
}
.intro-process-grid{
    display:grid;
    grid-template-columns:minmax(480px,.92fr) minmax(0,1.08fr);
    gap:54px;
    align-items:center;
}
.intro-story{
    display:grid;
    grid-template-columns:minmax(220px,.78fr) minmax(300px,1.22fr);
    gap:28px;
    align-items:center;
}
.section-line-label{
    position:relative;
    display:inline-block;
    margin-bottom:18px;
    padding-left:40px;
    font-size:13px;
    font-weight:900;
}
.section-line-label::before{
    content:'';
    position:absolute;
    left:0;
    top:50%;
    width:28px;
    height:2px;
    background:var(--red-600,#bd101f);
}
.intro-story-copy h2,
.approved-process h2{
    margin-bottom:20px;
    font-family:'Manrope',Arial,Helvetica,sans-serif;
    font-size:clamp(28px,2.25vw,38px);
    font-weight:800;
    line-height:1.18;
    letter-spacing:-.035em;
}
.intro-story-copy p{
    margin:0 0 18px;
    color:#666a71;
    font-size:13px;
    line-height:1.7;
}
.intro-photo-pair{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px;
}
.intro-photo-pair img{
    width:100%;
    height:280px;
    object-fit:cover;
    border-radius:12px;
    box-shadow:0 15px 34px rgba(24,25,28,.1);
}
.approved-process{
    min-width:0;
}
.approved-process-list{
    position:relative;
    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:13px;
}
.approved-process-list::before{
    content:'';
    position:absolute;
    left:8%;
    right:8%;
    top:23px;
    height:1px;
    background:#eadadd;
}
.approved-process-step{
    position:relative;
    z-index:1;
    text-align:center;
}
.approved-step-number{
    width:42px;
    height:42px;
    margin:0 auto 12px;
    display:grid;
    place-items:center;
    border:1px solid #efd5d8;
    border-radius:50%;
    color:var(--red-600,#bd101f);
    background:#fff;
    font-size:18px;
    font-weight:800;
}
.approved-step-icon{
    width:58px;
    height:58px;
    margin:0 auto 12px;
    display:grid;
    place-items:center;
    border-radius:50%;
    color:var(--red-600,#bd101f);
    background:#fff1f2;
}
.approved-step-icon svg{
    width:28px;
    height:28px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
}
.approved-process-step strong{
    display:block;
    min-height:38px;
    font-size:12px;
    line-height:1.25;
}
.approved-process-step p{
    margin:8px auto 0;
    color:#777b82;
    font-size:10px;
    line-height:1.55;
}

.compact-contact-cta{
    padding:0 0 42px;
    background:#fff;
}
.compact-contact-card{
    min-height:92px;
    padding:16px 28px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:25px;
    border-radius:13px;
    background:linear-gradient(90deg,#fff5f5,#fff8f8);
}
.compact-contact-message{
    display:flex;
    align-items:center;
    gap:15px;
}
.compact-contact-icon{
    flex:0 0 55px;
    width:55px;
    height:55px;
    display:grid;
    place-items:center;
    border:1px solid #f0cdd1;
    border-radius:50%;
    color:var(--red-600,#bd101f);
    background:#fff;
}
.compact-contact-icon svg{
    width:27px;
    height:27px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
}
.compact-contact-message strong,
.compact-contact-message small{
    display:block;
}
.compact-contact-message strong{
    font-size:20px;
}
.compact-contact-message strong em{
    color:var(--red-600,#bd101f);
    font-style:normal;
}
.compact-contact-message small{
    margin-top:3px;
    color:#7b7e84;
    font-size:13px;
}
.compact-contact-actions{
    display:flex;
    gap:14px;
}
.compact-contact-actions .button{
    min-width:180px;
}

@media(max-width:1180px){
    .hero-approved-grid{
        grid-template-columns:minmax(0,1fr) minmax(440px,.9fr);
        gap:34px;
    }
    .hero-approved-title{
        font-size:50px;
    }
    .intro-process-grid{
        grid-template-columns:1fr;
        gap:50px;
    }
}
@media(max-width:930px){
    .hero-approved-grid{
        grid-template-columns:1fr;
    }
    .hero-approved-title span{
        white-space:normal;
    }
    .hero-approved-media{
        min-height:420px;
    }
    .intro-story{
        grid-template-columns:1fr;
    }
    .intro-photo-pair img{
        height:340px;
    }
}
@media(max-width:720px){
    .hero-approved{
        padding-top:28px;
    }
    .hero-approved-title{
        font-size:42px;
    }
    .hero-approved-actions,
    .compact-contact-actions{
        flex-direction:column;
    }
    .hero-approved-benefits{
        grid-template-columns:1fr;
    }
    .approved-process-list{
        grid-template-columns:1fr;
        gap:16px;
    }
    .approved-process-list::before{
        display:none;
    }
    .approved-process-step{
        padding:14px;
        display:grid;
        grid-template-columns:42px 58px 1fr;
        grid-template-rows:auto auto;
        column-gap:13px;
        text-align:left;
        border:1px solid #ececef;
        border-radius:12px;
    }
    .approved-step-number,
    .approved-step-icon{
        margin:0;
        grid-row:1/3;
    }
    .approved-step-icon{
        grid-column:2;
    }
    .approved-process-step strong,
    .approved-process-step p{
        grid-column:3;
        min-height:0;
        margin:0;
    }
    .compact-contact-card{
        align-items:flex-start;
        flex-direction:column;
    }
    .compact-contact-actions,
    .compact-contact-actions .button{
        width:100%;
    }
}
@media(max-width:560px){
    .hero-approved-title{
        font-size:36px;
    }
    .hero-approved-lead br{
        display:none;
    }
    .hero-approved-media,
    .hero-approved-media img{
        min-height:340px;
    }
    .intro-photo-pair{
        grid-template-columns:1fr;
    }
    .intro-photo-pair img{
        height:300px;
    }
    .compact-contact-card{
        padding:20px;
    }
    .compact-contact-message strong{
        font-size:17px;
    }
}


/* M1.5 — zakres pomocy, zgodny z Design Freeze */
.services-home{
    padding:82px 0 92px;
    border-top:1px solid #eeeeef;
    background:#f7f7f8;
}
.services-home-heading{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:30px;
    margin-bottom:34px;
}
.services-home-heading h2{
    margin-bottom:12px;
    font-family:'Manrope',Arial,Helvetica,sans-serif;
    font-size:clamp(34px,3vw,46px);
    font-weight:800;
    letter-spacing:-.04em;
}
.services-home-heading p{
    max-width:690px;
    margin:0;
    color:#666a71;
}
.services-home-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:18px;
}
.service-home-card{
    overflow:hidden;
    border:1px solid #e4e5e7;
    border-radius:14px;
    background:#fff;
    box-shadow:0 12px 34px rgba(24,25,28,.055);
    transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
.service-home-card:hover{
    transform:translateY(-4px);
    border-color:#e4bdc1;
    box-shadow:0 21px 48px rgba(24,25,28,.095);
}
.service-home-image{
    height:155px;
    overflow:hidden;
    background:#eee;
}
.service-home-image img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .35s ease;
}
.service-home-card:hover img{transform:scale(1.04)}
.service-home-body{padding:20px}
.service-home-body h3{
    margin-bottom:10px;
    font-family:'Manrope',Arial,Helvetica,sans-serif;
    font-size:18px;
    font-weight:800;
}
.service-home-body p{
    min-height:76px;
    margin:0 0 16px;
    color:#6a6e75;
    font-size:13px;
    line-height:1.65;
}
.service-home-body span{
    color:var(--red);
    font-size:12px;
    font-weight:900;
}
.service-home-body span strong{margin-left:5px}

.services-page-hero{
    padding:78px 0 70px;
    background:linear-gradient(135deg,#fff,#fff5f6);
}
.services-page-hero-grid{
    display:grid;
    grid-template-columns:1.25fr .75fr;
    gap:70px;
    align-items:center;
}
.services-page-hero h1,
.service-detail-copy h1{
    max-width:760px;
    margin-bottom:22px;
    font-family:'Manrope',Arial,Helvetica,sans-serif;
    font-size:clamp(44px,4.4vw,66px);
    font-weight:700;
    line-height:1.08;
    letter-spacing:-.05em;
}
.services-page-hero p,
.service-detail-copy>p{
    max-width:720px;
    color:#5f636a;
    font-size:17px;
    line-height:1.75;
}
.services-page-note{
    padding:29px;
    border:1px solid #ead9db;
    border-radius:18px;
    background:#fff;
    box-shadow:0 18px 46px rgba(24,25,28,.07);
}
.services-page-note strong{font-size:18px}
.services-page-note p{font-size:14px}
.services-page-list{padding:80px 0 95px;background:#fff}
.services-page-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:24px;
}
.service-page-card{
    display:grid;
    grid-template-columns:250px 1fr;
    min-height:230px;
    overflow:hidden;
    border:1px solid #e4e5e7;
    border-radius:16px;
    background:#fff;
    box-shadow:0 12px 35px rgba(24,25,28,.055);
    transition:transform .2s ease,box-shadow .2s ease;
}
.service-page-card:hover{transform:translateY(-3px);box-shadow:0 22px 50px rgba(24,25,28,.1)}
.service-page-image img{width:100%;height:100%;object-fit:cover}
.service-page-body{padding:29px}
.service-page-body h2{
    margin-bottom:12px;
    font-family:'Manrope',Arial,Helvetica,sans-serif;
    font-size:23px;
    font-weight:800;
}
.service-page-body p{color:#686c73;font-size:14px;line-height:1.7}
.service-page-body span{color:var(--red);font-size:13px;font-weight:900}

.service-detail-hero{
    padding:58px 0;
    background:linear-gradient(135deg,#fff,#fff6f6);
}
.service-detail-hero-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:58px;
    align-items:center;
}
.service-back{
    display:inline-block;
    margin-bottom:28px;
    color:#73777e;
    font-size:13px;
    font-weight:800;
}
.service-detail-image{
    height:460px;
    overflow:hidden;
    border-radius:18px;
    box-shadow:0 24px 55px rgba(24,25,28,.13);
}
.service-detail-image img{width:100%;height:100%;object-fit:cover}
.service-detail-content{padding:82px 0;background:#fff}
.service-detail-columns{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:24px;
}
.service-info-card{
    padding:35px;
    border:1px solid #e5e6e8;
    border-radius:18px;
    background:#fff;
    box-shadow:0 12px 34px rgba(24,25,28,.05);
}
.service-info-card.soft{background:#f7f7f8}
.service-info-card h2,
.service-faq h2{
    margin-bottom:20px;
    font-family:'Manrope',Arial,Helvetica,sans-serif;
    font-size:30px;
    font-weight:800;
    letter-spacing:-.035em;
}
.service-check-list,
.service-doc-list{
    display:grid;
    gap:13px;
    padding:0;
    list-style:none;
}
.service-check-list li,
.service-doc-list li{
    position:relative;
    padding-left:31px;
    color:#555960;
    line-height:1.6;
}
.service-check-list li::before{
    content:'✓';
    position:absolute;left:0;top:1px;
    width:21px;height:21px;
    display:grid;place-items:center;
    border-radius:50%;
    color:#fff;background:var(--red);
    font-size:11px;font-weight:900;
}
.service-doc-list li::before{
    content:'▤';
    position:absolute;left:0;top:0;color:var(--red);font-weight:900;
}
.service-steps{padding:78px 0;background:#f7f7f8}
.service-steps-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:18px;
}
.service-steps-grid article{
    padding:27px;
    border:1px solid #e2e3e5;
    border-radius:16px;
    background:#fff;
}
.service-steps-grid article>strong{
    width:38px;height:38px;margin-bottom:20px;
    display:grid;place-items:center;
    border-radius:50%;
    color:#fff;background:var(--red);
}
.service-steps-grid h3{font-family:'Manrope',Arial,sans-serif;font-size:18px;font-weight:800}
.service-steps-grid p{color:#6a6e75;font-size:13px;line-height:1.65}
.service-faq{padding:85px 0 92px;background:#fff}
.service-faq-grid{
    display:grid;
    grid-template-columns:.75fr 1.25fr;
    gap:65px;
    align-items:start;
}
.service-faq-grid>div:first-child>p{color:#686c73;line-height:1.75}
.faq-list{display:grid;gap:12px}
.faq-list details{
    border:1px solid #e3e4e6;
    border-radius:13px;
    background:#fff;
}
.faq-list summary{
    padding:20px 22px;
    cursor:pointer;
    font-weight:800;
    list-style:none;
}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary::after{content:'+';float:right;color:var(--red);font-size:22px}
.faq-list details[open] summary::after{content:'−'}
.faq-list details p{margin:0;padding:0 22px 22px;color:#666a71;line-height:1.7}

@media(max-width:1100px){
    .services-home-grid{grid-template-columns:repeat(2,1fr)}
    .services-page-hero-grid,.service-detail-hero-grid{grid-template-columns:1fr}
    .services-page-grid{grid-template-columns:1fr}
    .service-detail-image{height:420px}
}
@media(max-width:820px){
    .services-home-heading{align-items:flex-start;flex-direction:column}
    .service-page-card{grid-template-columns:210px 1fr}
    .service-detail-columns,.service-faq-grid{grid-template-columns:1fr}
    .service-steps-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:600px){
    .services-home-grid,.service-steps-grid{grid-template-columns:1fr}
    .service-page-card{display:block}
    .service-page-image{height:210px}
    .services-page-hero,.service-detail-hero{padding:52px 0}
    .services-page-hero h1,.service-detail-copy h1{font-size:39px}
    .service-detail-image{height:330px}
    .service-info-card{padding:25px}
}


/* M1.6 — Blog i aktualności, zgodne z Design Freeze */
.blog-hero{
    padding:78px 0 68px;
    background:linear-gradient(135deg,#fff,#fff5f6);
}
.blog-hero-grid{
    display:grid;
    grid-template-columns:1.2fr .8fr;
    gap:70px;
    align-items:center;
}
.blog-hero h1{
    max-width:780px;
    margin-bottom:22px;
    font-family:'Manrope',Arial,Helvetica,sans-serif;
    font-size:clamp(45px,4.4vw,66px);
    font-weight:700;
    line-height:1.08;
    letter-spacing:-.05em;
}
.blog-hero>div>div:first-child>p{
    max-width:760px;
    color:#60646b;
    font-size:17px;
    line-height:1.75;
}
.blog-hero-note{
    padding:29px;
    border:1px solid #ead9db;
    border-radius:18px;
    background:#fff;
    box-shadow:0 18px 46px rgba(24,25,28,.07);
}
.blog-hero-note strong{font-size:18px}
.blog-hero-note p{color:#696d74;font-size:14px;line-height:1.65}

.blog-featured{
    padding:72px 0 36px;
    background:#fff;
}
.blog-featured-card{
    display:grid;
    grid-template-columns:1.05fr .95fr;
    min-height:430px;
    overflow:hidden;
    border:1px solid #e3e4e6;
    border-radius:20px;
    background:#fff;
    box-shadow:0 18px 48px rgba(24,25,28,.075);
    transition:transform .2s ease,box-shadow .2s ease;
}
.blog-featured-card:hover{
    transform:translateY(-3px);
    box-shadow:0 28px 64px rgba(24,25,28,.115);
}
.blog-featured-image{overflow:hidden;background:#eee}
.blog-featured-image img{
    width:100%;height:100%;object-fit:cover;
    transition:transform .38s ease;
}
.blog-featured-card:hover img{transform:scale(1.025)}
.blog-featured-copy{
    padding:46px;
    display:flex;
    flex-direction:column;
    justify-content:center;
}
.blog-featured-copy h2{
    margin:12px 0 17px;
    font-family:'Manrope',Arial,Helvetica,sans-serif;
    font-size:clamp(30px,2.8vw,43px);
    font-weight:800;
    line-height:1.15;
    letter-spacing:-.04em;
}
.blog-featured-copy>p{color:#656970;line-height:1.75}
.blog-meta{
    display:flex;
    gap:18px;
    color:#858990;
    font-size:11px;
}
.blog-read-more{
    margin-top:25px;
    color:var(--red);
    font-size:13px;
}

.blog-list{
    padding:44px 0 96px;
    background:#fff;
}
.blog-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:23px;
}
.blog-card{
    overflow:hidden;
    border:1px solid #e3e4e6;
    border-radius:15px;
    background:#fff;
    box-shadow:0 12px 34px rgba(24,25,28,.055);
    transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
.blog-card:hover{
    transform:translateY(-4px);
    border-color:#e4bdc1;
    box-shadow:0 21px 48px rgba(24,25,28,.095);
}
.blog-card-image{
    height:205px;
    overflow:hidden;
    background:#eee;
}
.blog-card-image img{
    width:100%;height:100%;object-fit:cover;
    transition:transform .35s ease;
}
.blog-card:hover img{transform:scale(1.04)}
.blog-card-body{padding:23px}
.blog-card-body h2{
    min-height:70px;
    margin:10px 0 13px;
    font-family:'Manrope',Arial,Helvetica,sans-serif;
    font-size:19px;
    font-weight:800;
    line-height:1.32;
}
.blog-card-body>p{
    min-height:88px;
    margin-bottom:18px;
    color:#696d74;
    font-size:13px;
    line-height:1.67;
}

.article-page{background:#fff}
.article-header{
    padding:72px 0 46px;
    background:linear-gradient(135deg,#fff,#fff7f7);
}
.article-header-inner{max-width:970px;text-align:center}
.article-header .service-back{display:block;text-align:left}
.article-header h1{
    max-width:940px;
    margin:15px auto 20px;
    font-family:'Manrope',Arial,Helvetica,sans-serif;
    font-size:clamp(42px,4.5vw,67px);
    font-weight:700;
    line-height:1.08;
    letter-spacing:-.05em;
}
.article-lead{
    max-width:800px;
    margin:0 auto 23px;
    color:#5d6168;
    font-size:19px;
    line-height:1.7;
}
.article-header-meta{
    display:flex;
    justify-content:center;
    gap:22px;
    color:#858990;
    font-size:12px;
}
.article-cover{
    max-width:1120px;
    height:520px;
    margin-top:48px;
    overflow:hidden;
    border-radius:20px;
    box-shadow:0 22px 55px rgba(24,25,28,.12);
}
.article-cover img{width:100%;height:100%;object-fit:cover}
.article-layout{
    max-width:1010px;
    padding-top:66px;
    padding-bottom:90px;
    display:grid;
    grid-template-columns:80px minmax(0,780px);
    gap:42px;
    justify-content:center;
}
.article-share{
    position:sticky;
    top:105px;
    align-self:start;
    display:grid;
    justify-items:center;
    gap:10px;
}
.article-share>span{
    margin-bottom:4px;
    color:#8a8e95;
    font-size:10px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.08em;
}
.article-share a{
    width:38px;height:38px;
    display:grid;place-items:center;
    border:1px solid #dedfe2;
    border-radius:50%;
    color:var(--red);
    background:#fff;
    font-size:12px;
    font-weight:900;
}
.article-share a:hover{border-color:var(--red);background:#fff5f6}
.article-content{
    color:#363940;
    font-size:17px;
    line-height:1.9;
}
.article-content p{margin:0 0 27px}
.article-content p:first-child{
    font-size:19px;
    font-weight:600;
}
.article-disclaimer{
    margin-top:42px;
    padding:23px 25px;
    border-left:3px solid var(--red);
    border-radius:0 13px 13px 0;
    background:#fff5f6;
}
.article-disclaimer strong{font-size:13px}
.article-disclaimer p{margin:6px 0 0;color:#666a71;font-size:13px}
.related-posts{
    padding:78px 0 94px;
    background:#f7f7f8;
}
.blog-grid-related .blog-card{background:#fff}

@media(max-width:1050px){
    .blog-hero-grid,.blog-featured-card{grid-template-columns:1fr}
    .blog-featured-image{height:390px}
    .blog-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:760px){
    .blog-grid{grid-template-columns:1fr}
    .blog-card-body h2,.blog-card-body>p{min-height:0}
    .article-cover{height:390px}
    .article-layout{grid-template-columns:1fr;padding-top:45px}
    .article-share{
        position:static;
        display:flex;
        justify-content:flex-start;
    }
    .article-share>span{align-self:center;margin:0 7px 0 0}
}
@media(max-width:560px){
    .blog-hero{padding:52px 0}
    .blog-hero h1,.article-header h1{font-size:38px}
    .blog-featured-copy{padding:28px}
    .blog-featured-image{height:280px}
    .article-header-meta{flex-wrap:wrap;gap:10px 17px}
    .article-lead{font-size:16px}
    .article-cover{height:270px;border-radius:14px}
    .article-content{font-size:16px}
}


/* RC2.7 — publiczne ustawienia i banner cookie */
.redpanel-cookie-banner{
    position:fixed;
    left:20px;
    right:20px;
    bottom:20px;
    z-index:9998;
    max-width:1180px;
    margin:auto;
    padding:18px 20px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:25px;
    border:1px solid #e2d2d4;
    border-radius:14px;
    background:rgba(255,255,255,.97);
    box-shadow:0 22px 65px rgba(0,0,0,.18);
    backdrop-filter:blur(14px);
}
.redpanel-cookie-banner strong{display:block;margin-bottom:5px;font-size:14px}
.redpanel-cookie-banner p{margin:0;color:#686c73;font-size:11px;line-height:1.55}
.redpanel-cookie-banner a{display:inline-block;margin-top:5px;color:#b51220;font-size:10px;font-weight:800}
.redpanel-cookie-actions{display:flex;gap:10px;flex:0 0 auto}
.redpanel-cookie-actions button{min-height:42px;padding:0 16px;border:1px solid #d9dbe0;border-radius:8px;background:#fff;font-weight:800;cursor:pointer}
.redpanel-cookie-actions button[data-choice="accept"]{border-color:#b51220;color:#fff;background:#b51220}
@media(max-width:700px){
    .redpanel-cookie-banner{align-items:stretch;flex-direction:column}
    .redpanel-cookie-actions{display:grid;grid-template-columns:1fr 1fr}
}


/* RC3.2 — social links generated from settings */
.runtime-social-links{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-top:16px;
}
.runtime-social-links a{
    padding:7px 10px;
    border:1px solid rgba(255,255,255,.16);
    border-radius:999px;
    color:inherit;
    font-size:10px;
    font-weight:800;
    opacity:.86;
}
.runtime-social-links a:hover{
    opacity:1;
    border-color:currentColor;
}


/* REDPanelCMS 4.1.1 — uporządkowana stopka bez sztucznej mapy */
.footer-grid{
    align-items:start;
}
.footer-contact span{
    display:flex;
    align-items:center;
    gap:9px;
    min-height:24px;
}
.footer-contact svg{
    width:16px;
    height:16px;
    flex:0 0 16px;
    display:block;
    fill:currentColor;
}
.footer-contact{
    max-width:320px;
}
.footer-column:last-child{
    justify-self:start;
}
@media(max-width:1050px){
    .footer-grid{
        grid-template-columns:1.2fr .8fr 1fr;
        gap:35px;
    }
}
@media(max-width:760px){
    .footer-grid{
        grid-template-columns:1fr;
        gap:30px;
    }
}


/* REDPanelCMS 4.1.4 — poprawne publiczne menu mobilne */
.mobile-toggle{
    position:relative;
    z-index:102;
    padding:0;
    align-items:center;
    justify-content:center;
    flex-direction:column;
    gap:5px;
    cursor:pointer;
}
.mobile-toggle span{
    width:22px;
    height:2px;
    display:block;
    border-radius:99px;
    background:#17191d;
    transition:transform .2s ease,opacity .2s ease;
}
.mobile-toggle.is-open span:nth-child(1){
    transform:translateY(7px) rotate(45deg);
}
.mobile-toggle.is-open span:nth-child(2){
    opacity:0;
}
.mobile-toggle.is-open span:nth-child(3){
    transform:translateY(-7px) rotate(-45deg);
}

@media(max-width:930px){
    .site-header{
        z-index:100;
    }
    .header-row{
        position:relative;
    }
    .site-nav{
        display:none !important;
    }
    .site-nav.open{
        position:fixed !important;
        z-index:99;
        top:68px;
        right:0;
        bottom:0;
        left:0;
        width:100%;
        max-width:none;
        margin:0;
        padding:24px 24px 40px;
        display:flex !important;
        align-items:stretch;
        align-content:flex-start;
        flex-direction:column;
        gap:0;
        overflow-y:auto;
        background:#fff;
        box-shadow:0 20px 45px rgba(20,22,26,.14);
        -webkit-overflow-scrolling:touch;
    }
    .site-nav.open a{
        position:relative;
        width:100%;
        min-height:56px;
        padding:16px 4px;
        display:flex;
        align-items:center;
        border-bottom:1px solid #e8e8ea;
        color:#17191d;
        background:#fff;
        font-size:17px;
        font-weight:800;
        line-height:1.2;
        white-space:normal;
    }
    .site-nav.open a::after{
        display:none;
    }
    body.menu-open{
        overflow:hidden;
        touch-action:none;
    }
}

@media(max-width:560px){
    .site-header .container{
        width:calc(100% - 28px);
    }
    .header-row{
        height:76px;
        gap:12px;
    }
    .site-logo{
        flex:1 1 auto;
        min-width:0;
    }
    .logo-copy{
        min-width:0;
    }
    .logo-copy strong{
        overflow:hidden;
        text-overflow:ellipsis;
    }
    .mobile-toggle{
        flex:0 0 46px;
        width:46px;
        height:46px;
        display:flex;
    }
    .site-nav.open{
        top:76px;
        padding:14px 20px 36px;
    }
    .site-nav.open a{
        min-height:54px;
        font-size:16px;
    }
}


/* REDPanelCMS 4.1.5 — pewna ikona hamburgera */
.mobile-toggle{
    position:relative;
    color:#17191d;
}
.mobile-toggle::before,
.mobile-toggle::after{
    content:'';
    position:absolute;
    left:50%;
    width:22px;
    height:2px;
    border-radius:99px;
    background:currentColor;
    transform:translateX(-50%);
    transition:transform .2s ease,top .2s ease;
}
.mobile-toggle::before{
    top:15px;
    box-shadow:0 7px 0 currentColor;
}
.mobile-toggle::after{
    top:29px;
}
.mobile-toggle span{
    display:none !important;
}
.mobile-toggle.is-open::before{
    top:22px;
    box-shadow:none;
    transform:translateX(-50%) rotate(45deg);
}
.mobile-toggle.is-open::after{
    top:22px;
    transform:translateX(-50%) rotate(-45deg);
}


/* ============================================================
   DESIGN FREEZE V1 — zatwierdzony szablon Agent Odszkodowania
   Biały + grafit + czerwone CTA; niebieski wyłącznie jako detal.
   ============================================================ */
:root{
    --brand-blue:#1f65ad;
    --brand-blue-soft:#eef5fc;
    --brand-navy:#0f2035;
    --brand-red:#c8102e;
    --brand-red-dark:#aa0d27;
    --brand-text:#17191d;
    --brand-muted:#6d727a;
    --brand-line:#e7e9ed;
    --brand-surface:#ffffff;
    --brand-surface-soft:#fafbfc;
}

/* Header */
.site-header{
    background:#fff;
    border-bottom:1px solid var(--brand-line);
    box-shadow:0 4px 20px rgba(18,24,32,.025);
}
.header-row{
    min-height:112px;
    height:auto;
}
.site-logo-approved{
    flex:0 0 185px;
    width:185px;
    max-width:185px;
    min-width:185px;
    display:flex;
    align-items:center;
}
.site-logo-approved img{
    width:100%;
    height:auto;
    max-height:102px;
    display:block;
    object-fit:contain;
}
.site-nav{
    gap:32px;
}
.site-nav a{
    color:var(--brand-text);
    font-size:14px;
    font-weight:800;
}
.site-nav a::after{
    height:2px;
    bottom:-9px;
    background:var(--brand-blue);
}
.phone-link svg{
    color:var(--brand-blue);
}
.phone-link span{
    color:var(--brand-red);
}
.button-primary{
    background:var(--brand-red);
    border-color:var(--brand-red);
}
.button-primary:hover{
    background:var(--brand-red-dark);
    border-color:var(--brand-red-dark);
}
.button-outline{
    color:var(--brand-red);
    border-color:var(--brand-red);
    background:#fff;
}
.button-outline:hover{
    color:#fff;
    background:var(--brand-red);
}

/* Hero */
.hero-approved{
    padding:34px 0 26px;
    background:
        radial-gradient(circle at 96% 12%,rgba(200,16,46,.055),transparent 25%),
        linear-gradient(135deg,#fff 0 66%,#fffafa 66% 100%);
}
.hero-approved-grid{
    min-height:480px;
    grid-template-columns:minmax(0,.98fr) minmax(510px,1.02fr);
    gap:54px;
}
.hero-kicker{
    color:var(--brand-red);
}
.hero-approved-title{
    color:var(--brand-text);
}
.hero-approved-title em{
    color:var(--brand-red);
}
.hero-approved-lead{
    color:var(--brand-muted);
}
.hero-approved-media img{
    border-radius:12px;
    box-shadow:0 16px 45px rgba(28,32,38,.12);
}

/* Niebieski tylko jako detal */
.approved-icon,
.approved-process-step .step-icon{
    color:var(--brand-blue) !important;
    background:var(--brand-blue-soft) !important;
}
.hero-approved-benefits article{
    border:1px solid var(--brand-line);
    background:#fff;
    box-shadow:0 10px 28px rgba(22,27,34,.055);
}
.hero-approved-benefits article::after{
    content:"";
    position:absolute;
    left:50%;
    bottom:8px;
    width:18px;
    height:2px;
    border-radius:99px;
    background:var(--brand-blue);
    transform:translateX(-50%);
    opacity:.72;
}
.section-line-label{
    color:var(--brand-red);
}
.approved-process h2,
.intro-story h2{
    color:var(--brand-text);
}
.approved-process-step .step-number{
    color:var(--brand-blue);
    border-color:#d8e5f3;
}
.approved-process-step::before{
    border-color:#e2e7ee;
}

/* Sekcja O mnie i współpraca */
.intro-process{
    background:#fff;
    border-top:1px solid #f0f1f3;
}
.intro-photo-pair img{
    border-radius:12px;
    box-shadow:0 12px 34px rgba(18,23,30,.1);
}
.intro-story p,
.approved-process-step p{
    color:var(--brand-muted);
}

/* Formularze */
input:focus,
select:focus,
textarea:focus{
    border-color:var(--brand-blue) !important;
    box-shadow:0 0 0 3px rgba(31,101,173,.12) !important;
}

/* Artykuły — bez dominacji niebieskiego */
.article-category,
.more-link{
    color:var(--brand-red);
}
.article-card:hover{
    border-color:#dce3eb;
}

/* Stopka jak w zatwierdzonej wizualizacji */
.site-footer{
    color:var(--brand-text);
    padding:42px 0 22px;
    background:#f7f8fa;
    border-top:2px solid var(--brand-red);
}
.footer-grid{
    grid-template-columns:1.1fr .72fr .9fr;
    gap:60px;
}
.footer-logo-approved{
    max-width:190px;
}
.footer-logo-approved img{
    width:100%;
    height:auto;
    max-height:132px;
    display:block;
}
.footer-brand p,
.footer-column p{
    color:var(--brand-muted);
}
.footer-column h3{
    color:var(--brand-text);
}
.footer-column h3::after{
    content:"";
    display:block;
    width:18px;
    height:2px;
    margin-top:8px;
    background:var(--brand-blue);
}
.footer-links a,
.footer-contact{
    color:#454a52;
}
.footer-links a:hover{
    color:var(--brand-blue);
}
.footer-contact svg{
    color:var(--brand-blue);
}
.socials a{
    color:var(--brand-text);
    border-color:#cfd4da;
    background:#fff;
}
.socials a:hover{
    color:#fff;
    border-color:var(--brand-blue);
    background:var(--brand-blue);
}
.footer-bottom{
    color:#7c8188;
    border-top-color:#dfe2e6;
}
.footer-bottom a{
    color:#555b63;
}

/* Mobilne */
@media(max-width:1180px){
    .site-logo-approved{
        flex-basis:165px;
        width:165px;
        max-width:165px;
        min-width:165px;
    }
    .site-nav{gap:20px}
}
@media(max-width:930px){
    .header-row{
        min-height:88px;
    }
    .site-logo-approved{
        flex:0 1 145px;
        width:145px;
        max-width:145px;
        min-width:0;
    }
    .site-logo-approved img{
        max-height:78px;
    }
    .site-nav.open{
        top:88px;
    }
}
@media(max-width:560px){
    .header-row{
        min-height:82px;
    }
    .site-logo-approved{
        flex-basis:128px;
        width:128px;
        max-width:128px;
    }
    .site-logo-approved img{
        max-height:72px;
    }
    .site-nav.open{
        top:82px;
    }
    .hero-approved{
        padding-top:38px;
    }
    .hero-approved-title{
        font-size:clamp(38px,10.5vw,48px);
    }
    .footer-logo-approved{
        max-width:170px;
    }
}


/* ============================================================
   FINAL 1:1 — zatwierdzona wizualizacja
   ============================================================ */
:root{
    --final-red:#d20b26;
    --final-red-dark:#b40820;
    --final-navy:#101d31;
    --final-blue:#1f65ad;
    --final-blue-soft:#edf4fb;
    --final-text:#12161d;
    --final-muted:#626a74;
    --final-line:#e7e9ed;
    --final-footer:#f7f8fa;
}

.container{width:min(100% - 48px,1240px)}

/* Header */
.site-header{
    background:#fff;
    border-bottom:1px solid var(--final-line);
    box-shadow:none;
}
.header-row{
    min-height:100px;
    height:100px;
    gap:34px;
}
.site-logo-horizontal{
    flex:0 0 320px;
    width:320px;
    max-width:320px;
    min-width:260px;
    display:flex;
    align-items:center;
}
.site-logo-horizontal img{
    width:100%;
    height:auto;
    max-height:76px;
    object-fit:contain;
    object-position:left center;
}
.site-nav{
    flex:1;
    justify-content:center;
    gap:34px;
}
.site-nav a{
    color:var(--final-text);
    font-size:14px;
    font-weight:800;
}
.site-nav a::after{
    background:var(--final-blue);
}
.header-contact{
    gap:22px;
}
.phone-link svg{color:var(--final-blue)}
.phone-link span{
    color:var(--final-red);
    font-size:16px;
}
.header-contact .button{
    min-height:50px;
    padding:0 25px;
    border-radius:8px;
}

/* Hero */
.hero-approved{
    padding:28px 0 20px;
    background:
        radial-gradient(circle at 95% 10%,rgba(210,11,38,.05),transparent 27%),
        linear-gradient(135deg,#fff 0 68%,#fffafa 68% 100%);
}
.hero-approved-grid{
    min-height:500px;
    grid-template-columns:minmax(0,.96fr) minmax(540px,1.04fr);
    gap:68px;
    align-items:center;
}
.hero-approved-copy{padding:18px 0 0}
.hero-kicker{
    margin-bottom:28px;
    color:var(--final-red);
    font-size:12px;
    letter-spacing:.13em;
}
.hero-approved-title{
    max-width:780px;
    margin-bottom:25px;
    color:var(--final-text);
    font-size:clamp(40px,3.55vw,56px);
    line-height:1.08;
    letter-spacing:-.045em;
}
.hero-approved-title em{color:var(--final-red)}
.hero-approved-lead{
    margin-bottom:27px;
    color:var(--final-muted);
    font-size:16px;
    line-height:1.75;
}
.hero-approved-actions{
    gap:18px;
    margin-bottom:34px;
}
.button-hero{
    min-width:190px;
    min-height:54px;
    border-radius:8px;
    font-size:15px;
}
.button-primary{
    background:var(--final-red);
    border-color:var(--final-red);
}
.button-primary:hover{
    background:var(--final-red-dark);
    border-color:var(--final-red-dark);
}
.button-outline{
    color:var(--final-red);
    border-color:var(--final-red);
}
.hero-approved-media{
    align-self:stretch;
    min-height:420px;
}
.hero-approved-media img{
    height:100%;
    min-height:420px;
    border-radius:14px;
    object-fit:cover;
    box-shadow:0 18px 44px rgba(18,24,32,.11);
}
.hero-approved-benefits{
    grid-column:1/-1;
    max-width:none;
    margin-top:4px;
    gap:20px;
}
.hero-approved-benefits article{
    min-height:104px;
    padding:20px 24px;
    border:1px solid var(--final-line);
    border-radius:12px;
    box-shadow:0 10px 26px rgba(18,24,32,.055);
}
.approved-icon{
    width:52px;
    height:52px;
    color:var(--final-blue)!important;
    background:var(--final-blue-soft)!important;
}
.hero-approved-benefits strong{font-size:15px}
.hero-approved-benefits small{
    font-size:12px;
    line-height:1.5;
}
.hero-approved-benefits article::after{
    width:20px;
    height:2px;
    background:var(--final-blue);
}

/* About + process */
.intro-process{
    padding:42px 0 28px;
    background:#fff;
}
.intro-process-grid{
    grid-template-columns:minmax(390px,.85fr) minmax(0,1.15fr);
    gap:58px;
    align-items:start;
}
.intro-story{
    display:grid;
    grid-template-columns:190px 1fr;
    gap:34px;
    align-items:center;
}
.intro-story-copy{
    grid-column:1;
}
.section-line-label{
    color:var(--final-red);
    font-size:11px;
}
.intro-story h2{
    margin:18px 0 16px;
    font-size:34px;
    line-height:1.12;
}
.intro-story p{
    font-size:13px;
    line-height:1.65;
}
.intro-photo-pair{
    grid-column:2;
    display:block;
}
.intro-photo-pair img{
    width:100%;
    aspect-ratio:1.28/1;
    object-fit:cover;
    border-radius:12px;
    box-shadow:0 12px 30px rgba(18,24,32,.09);
}
.intro-photo-pair img+img{display:none}
.approved-process{padding-top:4px}
.approved-process h2{
    margin-bottom:24px;
    color:var(--final-text);
    font-size:32px;
}
.approved-process-list{
    gap:12px;
}
.approved-process-list::before{
    top:21px;
    border-top:1px solid #eadde0;
}
.approved-process-step .step-number{
    width:42px;
    height:42px;
    color:var(--final-red);
    border:1px solid #efcbd0;
    background:#fff;
    font-size:14px;
}
.approved-process-step .step-icon{
    width:52px;
    height:52px;
    margin:12px auto 12px;
    color:var(--final-red)!important;
    background:#fff0f2!important;
}
.approved-process-step strong{
    font-size:12px;
    line-height:1.3;
}
.approved-process-step p{
    font-size:10px;
    line-height:1.45;
}

/* Footer — jasny, 4 kolumny */
.site-footer{
    padding:30px 0 14px;
    color:var(--final-text);
    background:var(--final-footer);
    border-top:1px solid var(--final-line);
}
.footer-grid{
    grid-template-columns:220px .8fr .9fr .75fr;
    gap:70px;
    align-items:start;
}
.site-logo-vertical{
    width:150px;
    max-width:150px;
    display:block;
}
.site-logo-vertical img{
    width:100%;
    height:auto;
    display:block;
    object-fit:contain;
}
.footer-brand p{
    display:none;
}
.footer-column h3{
    color:var(--final-text);
    font-size:11px;
    margin-bottom:14px;
}
.footer-column h3::after{
    width:16px;
    height:2px;
    margin-top:7px;
    background:var(--final-blue);
}
.footer-links{gap:7px}
.footer-links a,
.footer-contact{
    color:#323842;
    font-size:12px;
}
.footer-contact{gap:9px}
.footer-contact svg{color:var(--final-navy)}
.footer-follow .socials{
    margin-top:6px;
}
.socials a{
    width:36px;
    height:36px;
    color:var(--final-navy);
    border:1px solid #cfd4db;
    background:#fff;
}
.socials a:hover{
    color:#fff;
    border-color:var(--final-blue);
    background:var(--final-blue);
}
.footer-bottom{
    margin-top:26px;
    padding-top:12px;
    color:#717780;
    border-top:1px solid #dfe2e6;
}
.footer-bottom a{color:#4c535c}

/* Mobile */
@media(max-width:1180px){
    .site-logo-horizontal{
        flex-basis:275px;
        width:275px;
        max-width:275px;
    }
    .site-nav{gap:20px}
    .header-row{gap:18px}
    .hero-approved-grid{
        grid-template-columns:minmax(0,1fr) minmax(460px,1fr);
        gap:38px;
    }
}
@media(max-width:930px){
    .header-row{
        min-height:88px;
        height:88px;
    }
    .site-logo-horizontal{
        flex:0 1 240px;
        width:240px;
        max-width:240px;
        min-width:0;
    }
    .site-logo-horizontal img{max-height:66px}
    .site-nav.open{top:88px}
    .hero-approved-grid{
        grid-template-columns:1fr;
        gap:28px;
    }
    .hero-approved-media{
        min-height:380px;
    }
    .hero-approved-media img{
        min-height:380px;
    }
    .hero-approved-benefits{
        grid-column:auto;
    }
    .intro-process-grid{
        grid-template-columns:1fr;
    }
    .footer-grid{
        grid-template-columns:1fr 1fr;
        gap:34px;
    }
}
@media(max-width:560px){
    .container{width:min(100% - 28px,1240px)}
    .site-logo-horizontal{
        flex-basis:205px;
        width:205px;
        max-width:205px;
    }
    .site-logo-horizontal img{max-height:58px}
    .hero-approved{
        padding-top:28px;
    }
    .hero-approved-title{
        font-size:clamp(38px,10vw,48px);
    }
    .hero-approved-benefits{
        grid-template-columns:1fr;
    }
    .intro-story{
        grid-template-columns:1fr;
    }
    .intro-story-copy,
    .intro-photo-pair{
        grid-column:1;
    }
    .approved-process-list{
        grid-template-columns:repeat(2,1fr);
    }
    .approved-process-list::before{display:none}
    .footer-grid{
        grid-template-columns:1fr;
    }
    .site-logo-vertical{
        width:145px;
    }
}


/* ============================================================
   FIX 1:1 — logo, hero, kafelki i stopka
   ============================================================ */

/* Logo bez efektu wklejonego prostokąta */
.site-logo-horizontal{
    flex:0 0 325px;
    width:325px;
    max-width:325px;
    min-width:270px;
    overflow:visible;
}
.site-logo-horizontal img{
    width:100%;
    height:auto;
    max-height:none;
    display:block;
    object-fit:contain;
    object-position:left center;
    background:transparent;
}
.site-logo-vertical{
    width:160px;
    max-width:160px;
    min-width:160px;
}
.site-logo-vertical img{
    width:100%;
    height:auto !important;
    max-height:none !important;
    aspect-ratio:auto !important;
    display:block;
    object-fit:contain !important;
    background:transparent;
}

/* Hero — tekst i zdjęcie nie nachodzą na siebie */
.hero-approved-grid{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    column-gap:54px;
    row-gap:26px;
    align-items:center;
}
.hero-approved-copy,
.hero-approved-media{
    min-width:0;
}
.hero-approved-copy{
    position:relative;
    z-index:2;
    padding-right:0;
}
.hero-approved-title{
    width:auto;
    max-width:610px;
    margin-right:0;
    font-size:clamp(48px,3.6vw,60px);
    line-height:1.08;
    overflow-wrap:normal;
}
.hero-approved-title span{
    display:block;
    white-space:normal;
}
.hero-approved-media{
    position:relative;
    z-index:1;
    width:100%;
    min-height:430px;
}
.hero-approved-media img{
    width:100%;
    height:430px;
    min-height:430px;
    display:block;
    object-fit:cover;
    object-position:center;
}

/* Kafelki — pełna szerokość i poprawny poziomy układ */
.hero-approved-benefits{
    grid-column:1 / -1;
    width:100%;
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:18px;
    margin-top:2px;
}
.hero-approved-benefits article{
    min-width:0;
    min-height:96px;
    display:grid;
    grid-template-columns:52px minmax(0,1fr);
    align-items:center;
    gap:16px;
    padding:18px 22px;
}
.hero-approved-benefits article>span:last-child{
    min-width:0;
}
.hero-approved-benefits strong,
.hero-approved-benefits small{
    display:block;
    white-space:normal;
}
.hero-approved-benefits strong{
    margin-bottom:5px;
    font-size:15px;
    line-height:1.25;
}
.hero-approved-benefits small{
    font-size:11px;
    line-height:1.45;
}

/* Stopka — logo nie jest ściskane przez siatkę */
.footer-grid{
    grid-template-columns:minmax(190px,240px) minmax(150px,.8fr) minmax(190px,.9fr) minmax(150px,.7fr);
    align-items:start;
}
.footer-brand{
    min-width:0;
}
.footer-brand .site-logo-vertical{
    margin:0;
}
.footer-brand img{
    width:160px !important;
    max-width:160px !important;
    height:auto !important;
}

/* Tablet */
@media(max-width:1180px){
    .site-logo-horizontal{
        flex-basis:285px;
        width:285px;
        max-width:285px;
    }
    .hero-approved-grid{
        grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);
        column-gap:34px;
    }
    .hero-approved-title{
        font-size:clamp(43px,4vw,54px);
    }
}

/* Telefon i mniejszy tablet */
@media(max-width:930px){
    .site-logo-horizontal{
        flex:0 1 235px;
        width:235px;
        max-width:235px;
        min-width:0;
    }
    .hero-approved-grid{
        grid-template-columns:1fr;
        gap:26px;
    }
    .hero-approved-copy{
        order:1;
    }
    .hero-approved-media{
        order:2;
        min-height:360px;
    }
    .hero-approved-media img{
        height:360px;
        min-height:360px;
    }
    .hero-approved-benefits{
        order:3;
        grid-column:1;
    }
    .hero-approved-title{
        max-width:720px;
    }
    .footer-grid{
        grid-template-columns:1fr 1fr;
    }
}

/* Telefon */
@media(max-width:560px){
    .site-logo-horizontal{
        flex-basis:195px;
        width:195px;
        max-width:195px;
    }
    .hero-approved-title{
        font-size:clamp(37px,10vw,47px);
    }
    .hero-approved-media,
    .hero-approved-media img{
        height:300px;
        min-height:300px;
    }
    .hero-approved-benefits{
        grid-template-columns:1fr;
    }
    .footer-grid{
        grid-template-columns:1fr;
    }
    .site-logo-vertical,
    .footer-brand img{
        width:150px !important;
        max-width:150px !important;
    }
}


/* REDPanelCMS 4.2.3a — sekcja O mnie */
.about-motto{
    max-width:250px;
    margin:18px 0 22px;
    color:#555d67;
    font-size:15px;
    font-weight:600;
    line-height:1.55;
}

.about-story-link{
    width:max-content;
    display:inline-flex;
    align-items:center;
    gap:10px;
    padding:2px 0 7px;
    color:#1f65ad;
    border-bottom:2px solid rgba(31,101,173,.28);
    font-size:13px;
    font-weight:800;
    text-decoration:none;
    transition:
        color .22s ease,
        border-color .22s ease;
}

.about-story-link:hover{
    color:#174f89;
    border-color:#1f65ad;
}

.about-story-arrow{
    display:inline-block;
    transition:transform .22s ease;
}

.about-story-link:hover .about-story-arrow{
    transform:translateX(5px);
}

/* Subtelny efekt premium zdjęcia */
.intro-photo-pair{
    overflow:visible;
}

.intro-photo-pair img{
    transform:translate3d(0,0,0) scale(1);
    transform-origin:center;
    transition:
        transform .35s ease,
        box-shadow .35s ease,
        filter .35s ease;
    will-change:transform;
}

@media(hover:hover) and (pointer:fine){
    .intro-photo-pair:hover img{
        transform:translate3d(6px,-2px,0) scale(1.03);
        box-shadow:0 20px 42px rgba(18,24,32,.17);
        filter:saturate(1.025) contrast(1.015);
    }
}

@media(max-width:560px){
    .about-motto{
        max-width:none;
        margin-bottom:18px;
    }

    .intro-photo-pair img{
        transform:none !important;
        transition:none;
    }
}


/* ============================================================
   REDPanelCMS 4.2.3b — finalny układ hero i pełnoszerokie korzyści
   ============================================================ */

/* Logo w nagłówku mniejsze o ok. 20% */
.site-logo-horizontal{
    flex:0 0 260px !important;
    width:260px !important;
    max-width:260px !important;
    min-width:220px !important;
}
.site-logo-horizontal img{
    width:100% !important;
    height:auto !important;
    max-height:none !important;
    object-fit:contain !important;
}

/* Hero: tekst i zdjęcie w prawidłowej proporcji */
.hero-approved-grid{
    grid-template-columns:minmax(0,.98fr) minmax(0,1.02fr) !important;
    column-gap:52px !important;
    row-gap:20px !important;
    align-items:center !important;
}
.hero-approved-copy{
    padding-top:0 !important;
}
.hero-approved-title{
    max-width:650px !important;
    font-size:clamp(46px,3.8vw,61px) !important;
    line-height:1.08 !important;
}
.hero-approved-media{
    min-height:405px !important;
}
.hero-approved-media img{
    width:100% !important;
    height:405px !important;
    min-height:405px !important;
    object-fit:cover !important;
    object-position:center !important;
}

/* Jedna długa belka korzyści przez pełną szerokość sekcji */
.hero-approved-benefits{
    grid-column:1 / -1 !important;
    width:100% !important;
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:0 !important;
    margin-top:0 !important;
    overflow:hidden !important;
    border:1px solid #e7e9ed !important;
    border-radius:12px !important;
    background:#fff !important;
    box-shadow:0 11px 28px rgba(18,24,32,.07) !important;
}
.hero-approved-benefits article{
    min-width:0 !important;
    min-height:98px !important;
    display:grid !important;
    grid-template-columns:58px minmax(0,1fr) !important;
    align-items:center !important;
    gap:18px !important;
    padding:18px 28px !important;
    border:0 !important;
    border-radius:0 !important;
    box-shadow:none !important;
    background:transparent !important;
}
.hero-approved-benefits article + article{
    border-left:1px solid #e5e8ec !important;
}
.hero-approved-benefits article::after{
    left:86px !important;
    bottom:15px !important;
    width:19px !important;
    transform:none !important;
}
.hero-approved-benefits .approved-icon{
    width:54px !important;
    height:54px !important;
    flex:0 0 54px !important;
}
.hero-approved-benefits strong{
    margin-bottom:5px !important;
    font-size:15px !important;
    line-height:1.2 !important;
}
.hero-approved-benefits small{
    font-size:12px !important;
    line-height:1.45 !important;
}

/* Motto dokładnie w dwóch liniach */
.about-motto{
    max-width:240px !important;
    white-space:normal !important;
    line-height:1.6 !important;
}

/* Tablet */
@media(max-width:1180px){
    .site-logo-horizontal{
        flex-basis:235px !important;
        width:235px !important;
        max-width:235px !important;
    }
    .hero-approved-grid{
        column-gap:34px !important;
    }
}

/* Tablet pionowy i telefon */
@media(max-width:930px){
    .site-logo-horizontal{
        flex:0 1 210px !important;
        width:210px !important;
        max-width:210px !important;
        min-width:0 !important;
    }
    .hero-approved-grid{
        grid-template-columns:1fr !important;
    }
    .hero-approved-media,
    .hero-approved-media img{
        height:360px !important;
        min-height:360px !important;
    }
    .hero-approved-benefits{
        grid-column:1 !important;
    }
}

/* Telefon */
@media(max-width:640px){
    .site-logo-horizontal{
        flex-basis:175px !important;
        width:175px !important;
        max-width:175px !important;
    }
    .hero-approved-media,
    .hero-approved-media img{
        height:290px !important;
        min-height:290px !important;
    }
    .hero-approved-benefits{
        grid-template-columns:1fr !important;
    }
    .hero-approved-benefits article + article{
        border-left:0 !important;
        border-top:1px solid #e5e8ec !important;
    }
    .hero-approved-benefits article::after{
        left:86px !important;
    }
}


/* ============================================================
   REDPanelCMS 4.2.4 — finalna struktura hero
   ============================================================ */

/* Dwie równe kolumny: tekst i zdjęcie */
.hero-approved-grid{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
    column-gap:54px !important;
    row-gap:24px !important;
    align-items:center !important;
}

.hero-approved-copy,
.hero-approved-media{
    min-width:0 !important;
}

.hero-approved-copy{
    grid-column:1 !important;
    grid-row:1 !important;
    align-self:center !important;
}

.hero-approved-media{
    grid-column:2 !important;
    grid-row:1 !important;
    width:100% !important;
    height:auto !important;
    min-height:0 !important;
    align-self:center !important;
}

.hero-approved-media img{
    width:100% !important;
    height:auto !important;
    min-height:0 !important;
    aspect-ratio:1.5 / 1 !important;
    display:block !important;
    object-fit:cover !important;
    object-position:center !important;
}

/* Kafelki pod obiema kolumnami, przez pełną szerokość kontenera */
.hero-approved-benefits{
    grid-column:1 / -1 !important;
    grid-row:2 !important;
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:18px !important;
    border:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    overflow:visible !important;
}

.hero-approved-benefits article{
    min-width:0 !important;
    min-height:82px !important;
    display:grid !important;
    grid-template-columns:48px minmax(0,1fr) !important;
    align-items:center !important;
    gap:14px !important;
    padding:16px 18px !important;
    border:1px solid #e7e9ed !important;
    border-radius:11px !important;
    background:#fff !important;
    box-shadow:0 8px 22px rgba(18,24,32,.05) !important;
}

.hero-approved-benefits article + article{
    border-left:1px solid #e7e9ed !important;
}

.hero-approved-benefits article::after{
    display:none !important;
}

.hero-approved-benefits .approved-icon{
    width:46px !important;
    height:46px !important;
    flex:0 0 46px !important;
}

.hero-approved-benefits strong{
    margin-bottom:4px !important;
    font-size:14px !important;
    line-height:1.2 !important;
}

.hero-approved-benefits small{
    font-size:11px !important;
    line-height:1.4 !important;
}

/* Belka kontaktowa: oddech od sekcji usług */
.compact-contact-cta{
    margin-top:14px !important;
    padding-top:0 !important;
}

/* Tablet */
@media(max-width:930px){
    .hero-approved-grid{
        grid-template-columns:1fr !important;
        row-gap:24px !important;
    }

    .hero-approved-copy{
        grid-column:1 !important;
        grid-row:1 !important;
    }

    .hero-approved-media{
        grid-column:1 !important;
        grid-row:2 !important;
    }

    .hero-approved-benefits{
        grid-column:1 !important;
        grid-row:3 !important;
    }

    .hero-approved-media img{
        aspect-ratio:1.45 / 1 !important;
    }
}

/* Telefon */
@media(max-width:640px){
    .hero-approved-benefits{
        grid-template-columns:1fr !important;
        gap:12px !important;
    }

    .hero-approved-benefits article{
        min-height:76px !important;
    }

    .hero-approved-media img{
        aspect-ratio:1.2 / 1 !important;
    }
}


/* ============================================================
   REDPanelCMS 4.2.4a — finalne logo wektorowe
   ============================================================ */
.site-logo-horizontal{
    display:flex !important;
    align-items:center !important;
    overflow:visible !important;
}

.site-logo-horizontal img{
    width:100% !important;
    height:auto !important;
    max-height:none !important;
    aspect-ratio:860 / 190 !important;
    object-fit:contain !important;
    object-position:left center !important;
    background:transparent !important;
}

.site-logo-vertical{
    display:block !important;
    overflow:visible !important;
}

.site-logo-vertical img{
    width:100% !important;
    height:auto !important;
    max-height:none !important;
    aspect-ratio:1 / 1 !important;
    object-fit:contain !important;
    object-position:center !important;
    background:transparent !important;
}


/* ============================================================
   REDPanelCMS 4.2.4b — zatwierdzone logo i proporcjonalny hero
   ============================================================ */

/* Logo dokładnie z zaakceptowanej wizualizacji */
.site-logo-horizontal{
    flex:0 0 315px !important;
    width:315px !important;
    max-width:315px !important;
    min-width:260px !important;
    display:flex !important;
    align-items:center !important;
}

.site-logo-horizontal img{
    width:100% !important;
    height:auto !important;
    max-height:72px !important;
    aspect-ratio:auto !important;
    object-fit:contain !important;
    object-position:left center !important;
    background:transparent !important;
}

.site-logo-vertical{
    width:172px !important;
    max-width:172px !important;
    min-width:172px !important;
}

.site-logo-vertical img{
    width:100% !important;
    height:auto !important;
    max-height:none !important;
    aspect-ratio:auto !important;
    object-fit:contain !important;
    object-position:center !important;
    background:transparent !important;
}

/* Hero — dwa czytelne wiersze na desktopie */
.hero-approved-grid{
    grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr) !important;
    column-gap:46px !important;
}

.hero-approved-title{
    width:100% !important;
    max-width:690px !important;
    font-size:clamp(48px,3.65vw,60px) !important;
    line-height:1.08 !important;
    letter-spacing:-.045em !important;
}

.hero-approved-title > span{
    display:block !important;
}

.hero-approved-title > span:nth-child(2){
    white-space:nowrap !important;
}

/* Zabezpieczenie przed nadmiernym zwężaniem kolumny tekstu */
.hero-approved-copy{
    min-width:0 !important;
}

.hero-approved-media{
    min-width:0 !important;
}

/* Tablet */
@media(max-width:1120px){
    .site-logo-horizontal{
        flex-basis:270px !important;
        width:270px !important;
        max-width:270px !important;
    }

    .hero-approved-grid{
        grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
        column-gap:32px !important;
    }

    .hero-approved-title{
        font-size:clamp(42px,4.3vw,52px) !important;
    }
}

/* Na mniejszych ekranach można ponownie naturalnie łamać tekst */
@media(max-width:930px){
    .site-logo-horizontal{
        flex:0 1 235px !important;
        width:235px !important;
        max-width:235px !important;
        min-width:0 !important;
    }

    .hero-approved-title > span:nth-child(2){
        white-space:normal !important;
    }
}

@media(max-width:560px){
    .site-logo-horizontal{
        flex-basis:195px !important;
        width:195px !important;
        max-width:195px !important;
    }

    .site-logo-vertical{
        width:155px !important;
        max-width:155px !important;
        min-width:155px !important;
    }
}

/* ============================================================
   FINAL — niebieskie ikony i linia procesu, czerwone numerki
   Pozostałe elementy strony bez zmian.
   ============================================================ */
.approved-process-list::before{
    background:#8eb9ff !important;
    border-color:#8eb9ff !important;
}

.approved-step-icon,
.approved-process-step .step-icon{
    color:#2f6bda !important;
    background:#edf4ff !important;
}

.approved-step-number,
.approved-process-step .step-number{
    color:var(--final-red,#d20b26) !important;
    border-color:#efcbd0 !important;
    background:#fff !important;
}

