:root{
  --ink:#0b1f33; --muted:#46586b; --click:#004E98; --click-d:#003b73;
  --bg:#fff; --soft:#f3f6fa; --line:#d6e0ec;
  --fs-text:1.125rem; --fs-small:.9375rem;
  --fs-h1:clamp(2.25rem,1.5rem + 3vw,4rem);
  --fs-h2:clamp(1.75rem,1.35rem + 1.6vw,2.75rem);
  --fs-h3:clamp(1.375rem,1.2rem + .6vw,1.75rem);
  --sec:clamp(3.5rem,2.67rem + 3.7vw,6rem);
  --gap:clamp(1rem,.8rem + .9vw,1.5rem);
  --pad:clamp(1.25rem,.95rem + 1.35vw,2rem);
  --head:clamp(1rem,.75rem + 1vw,2rem);
  --r:.75rem;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;font:400 var(--fs-text)/1.65 system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;color:var(--ink);background:var(--bg)}
img,svg{max-width:100%;height:auto}
h1,h2,h3{margin:0;line-height:1.2;font-weight:700;letter-spacing:-.01em;text-wrap:balance}
h1{font-size:var(--fs-h1);line-height:1.1}
h2{font-size:var(--fs-h2)}
h3{font-size:var(--fs-h3);line-height:1.25}
p{margin:0}
ul,ol{margin:0;padding:0}
a{color:var(--click);text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:.2em}
a:hover{color:var(--click-d)}
:focus-visible{outline:3px solid var(--click);outline-offset:3px;border-radius:.25rem}
.skip{position:absolute;left:-999px;top:0;background:var(--click);color:#fff;padding:.75rem 1rem;z-index:10}
.skip:focus{left:1rem;top:1rem}
.wrap{width:100%;max-width:72rem;margin-inline:auto;padding-inline:1.25rem}
.wrap--narrow{max-width:48rem}

/* header */
.top{border-bottom:1px solid var(--line);background:#fff;position:relative;z-index:5}
.top__in{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:4.5rem}
.logo{display:flex;align-items:center;text-decoration:none;flex:none}
.logo img{display:block;height:2rem;width:auto}
.nav a{color:var(--click);text-decoration:none;font-size:1rem;padding:.5rem 0;border-bottom:2px solid transparent}
.nav a:hover{border-bottom-color:var(--click)}

/* hero */
.hero{padding-block:clamp(4rem,1.6rem + 10vw,8rem) clamp(3.5rem,1.6rem + 8vw,7.5rem)}
.hero h1{max-width:18ch}
.lead{font-size:clamp(1.125rem,1.02rem + .45vw,1.3rem);line-height:1.6;max-width:40rem;margin-top:clamp(1.5rem,1.1rem + 1vw,2rem);color:var(--muted)}
.actions{display:flex;flex-wrap:wrap;gap:1rem;margin-top:clamp(1.75rem,1.3rem + 1.4vw,2.5rem)}

/* buttons: 1 glowny, 1 drugorzedny */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:3.25rem;padding:.75rem 1.75rem;border-radius:var(--r);font-weight:700;font-size:1.0625rem;line-height:1.2;text-decoration:none;text-align:center;border:1.5px solid var(--click);transition:transform .15s,box-shadow .15s,background .15s}
.btn--main{background:var(--click);color:#fff}
.btn--main:hover{background:var(--click-d);color:#fff}
.btn--alt{background:transparent;color:var(--click)}
.btn--alt:hover{background:var(--soft);color:var(--click-d)}
@media(max-width:30rem){.btn{width:100%}}

/* facts */
.facts{border-block:1px solid var(--line)}
.facts__in{display:grid;grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));gap:var(--gap);padding-block:clamp(1.5rem,1.1rem + 1.4vw,2.25rem)}
.facts p{display:flex;flex-direction:column;gap:.15rem}
.facts strong{font-size:clamp(1.375rem,1.2rem + .6vw,1.75rem);line-height:1.15;color:var(--ink)}
.facts span{font-size:var(--fs-small);color:var(--muted)}

/* sections */
.sec{padding-block:var(--sec)}
.sec--soft{border-top:1px solid var(--line)}
.head{max-width:44rem;margin-bottom:clamp(1.75rem,1.2rem + 1.8vw,2.75rem)}
.head h2{margin-bottom:var(--head)}
.head p{color:var(--muted);max-width:68ch}
.grid{display:grid;gap:var(--gap)}
.grid--4{grid-template-columns:repeat(auto-fit,minmax(15.5rem,1fr))}
.grid--2{grid-template-columns:repeat(auto-fit,minmax(17rem,1fr))}
.grid--3{grid-template-columns:repeat(auto-fit,minmax(17rem,1fr))}
.card{border-top:1px solid var(--line);padding:var(--pad) 0 0}
.card h3{margin-bottom:.75rem}
.card p{color:var(--muted)}

/* plans */
.plan{display:flex;flex-direction:column;position:relative}
.plan__for{font-size:var(--fs-small);line-height:1.45;min-height:3.9em;margin-bottom:1rem}
.plan__price{font-size:clamp(1.75rem,1.5rem + 1vw,2.25rem);font-weight:800;color:var(--ink)!important;line-height:1.1;margin:.5rem 0 1.25rem}
.plan__price span{font-size:1rem;font-weight:600;color:var(--muted)}
.plan ul{list-style:none;display:grid;gap:.75rem;margin-bottom:1.25rem}
.plan li{position:relative;padding-left:1.5rem;font-size:1rem;line-height:1.5;color:var(--ink)}
.plan li::before{content:"";position:absolute;left:0;top:.5em;width:.6rem;height:.6rem;border-radius:50%;background:var(--ink)}
.plan__note{font-size:var(--fs-small);line-height:1.5;margin-bottom:1.25rem}
.plan__link{margin-top:auto;font-weight:700;padding-block:.75rem;display:inline-block}
.plan--hit{border-top:3px solid var(--ink)}
.plan__badge{position:absolute;top:.4rem;left:0;margin:0;font-size:var(--fs-small);line-height:1;font-weight:700;color:var(--ink)!important}
.fine{font-size:var(--fs-small);color:var(--muted);max-width:68ch;margin-top:clamp(1.5rem,1.1rem + 1.4vw,2.25rem)}

/* steps */
.steps{list-style:none;counter-reset:s;display:grid;grid-template-columns:repeat(auto-fit,minmax(15.5rem,1fr));gap:var(--gap)}
.steps li{counter-increment:s;border-top:1px solid var(--line);padding-top:1.25rem}
.steps li::before{content:counter(s);display:block;font-size:2.25rem;font-weight:800;line-height:1;color:var(--ink);margin-bottom:.75rem}
.steps h3{margin-bottom:.5rem}
.steps p{color:var(--muted)}

/* works */
.work__tag{font-size:var(--fs-small);font-weight:600;color:var(--muted)!important;margin-bottom:.5rem}
.work__what{font-weight:600;color:var(--ink)!important;margin-bottom:.75rem}
.work a{display:inline-block;margin-top:1rem;font-weight:700;padding-block:.5rem}
.more{margin-top:clamp(1.5rem,1.1rem + 1.4vw,2.25rem)}

/* faq */
.faq{border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;list-style:none;padding:1.25rem 2.5rem 1.25rem 0;font-weight:700;font-size:1.1875rem;line-height:1.4;position:relative;min-height:3.25rem}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:.25rem;top:1rem;font-size:1.75rem;font-weight:400;line-height:1;color:var(--click)}
.faq details[open] summary::after{content:"−"}
.faq details p{padding:0 0 1.5rem;color:var(--muted);max-width:68ch}

/* contact */
.contact h2{margin-bottom:var(--head)}
.contact__lead{color:var(--muted);max-width:55ch}
.contact__more{margin-top:1.75rem}
.contact__hours{margin-top:.5rem;font-size:var(--fs-small);color:var(--muted)}

/* 404 */
.nf{padding-block:var(--sec);text-align:left}
.nf h1{margin-bottom:var(--head)}

@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
@media(min-width:48rem){.wrap{padding-inline:2rem}}

/* header: nav, telefon, menu na telefonie */
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.nav{display:none;gap:1.1rem;margin-left:auto}
.nav a{color:var(--click);text-decoration:none;font-size:1rem;padding:.5rem 0;border-bottom:2px solid transparent}
.nav a:hover,.nav a[aria-current]{border-bottom-color:var(--click)}
.top__tel{display:none;font-weight:700;white-space:nowrap;min-height:2.75rem;align-items:center;margin-left:auto}
.menu{margin-left:auto}
.menu summary{list-style:none;cursor:pointer;min-height:2.75rem;display:inline-flex;align-items:center;gap:.6rem;padding:.5rem 1rem;border:1.5px solid var(--click);border-radius:var(--r);font-weight:700;color:var(--click);background:#fff}
.menu summary::-webkit-details-marker{display:none}
.menu summary::before{content:"";width:1.1rem;height:2px;background:currentColor;box-shadow:0 .35rem 0 currentColor,0 -.35rem 0 currentColor}
.menu[open] summary{background:var(--soft)}
.menu__panel{position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 1rem 1.5rem rgba(11,31,51,.1);padding:.5rem 1.25rem 1.25rem;display:grid}
.menu__panel a{display:block;padding:.9rem 0;font-size:1.125rem;color:var(--click);text-decoration:none;border-bottom:1px solid var(--line)}
.menu__panel a[aria-current]{color:var(--click);font-weight:700}
.menu__panel .menu__tel{font-weight:700}
@media(min-width:40rem){.top__tel{display:inline-flex}.menu{margin-left:1.25rem}}
@media(min-width:68rem){.nav{display:flex}.menu{display:none}.top__tel{margin-left:1.5rem}.logo img{height:2.25rem}}

/* podstrony */
.hero--sub{padding-block:clamp(3rem,1.5rem + 6vw,5.5rem) clamp(2.5rem,1.4rem + 4.5vw,4.5rem)}
.sec + .sec:not(.sec--soft){border-top:1px solid var(--line)}
.prices{margin:0;border-top:1px solid var(--line)}
.prices>div{display:grid;grid-template-columns:1fr auto;gap:.25rem 1.5rem;align-items:baseline;padding:1.1rem 0;border-bottom:1px solid var(--line)}
.prices dt{font-weight:700;font-size:1.1875rem;line-height:1.35}
.prices dt small{display:block;font-weight:400;font-size:var(--fs-small);color:var(--muted);margin-top:.15rem}
.prices dd{margin:0;font-weight:800;font-size:1.25rem;white-space:nowrap;text-align:right}
@media(max-width:36rem){.prices>div{grid-template-columns:1fr}.prices dd{text-align:left}}
.plan__price span{font-size:1rem;font-weight:600;color:var(--muted)}
.steps--2{grid-template-columns:repeat(auto-fit,minmax(18rem,1fr))}
.mt{margin-top:1.25rem}
.wrap--narrow>p{max-width:68ch}

/* footer */
.foot{background:var(--ink);color:#dfe8f2;padding-top:clamp(2.5rem,2rem + 2vw,3.5rem);font-size:var(--fs-small)}
.foot__in{display:grid;grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:2rem}
.foot__brand img{display:block;width:min(15rem,100%);height:auto;margin-bottom:1rem}
.foot__brand p{color:#b9c8d9;max-width:28ch}
.foot__col{display:flex;flex-direction:column;gap:.15rem}
.foot__col h2{font-size:1rem;color:#fff;margin-bottom:.5rem}
.foot a{color:#fff;text-decoration:underline;text-decoration-color:rgba(255,255,255,.4);padding-block:.35rem}
.foot__col p{color:#b9c8d9;margin-top:.35rem}
.foot__bar{margin-top:2rem;padding-block:1.25rem;border-top:1px solid rgba(255,255,255,.15);color:#b9c8d9}
.card__more{margin-top:1rem;font-weight:700}

.hero--home h1{max-width:26ch;font-size:clamp(2rem,1.2rem + 3.2vw,3.5rem)}
