/* Stela: barwy z wizytowki (grafit, zloto, krem), Cormorant Garamond + Inter */
:root{--grafit:#1f2024;--grafit2:#2a2c31;--grafit3:#34363c;--zloto:#b89a55;--zloto2:#c9a961;--zloto-ciemne:#8a6f33;
--krem:#f6f3ec;--krem2:#ece6d8;--tekst:#2a2c31;--szary:#5d5f66;--linia:#d9d2c2;--w:1180px;--pad:clamp(16px,6vw,48px)}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--krem);color:var(--tekst);font:400 17px/1.7 Inter,system-ui,sans-serif;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:var(--zloto-ciemne)}
a:hover{color:var(--grafit)}
h1,h2,h3{font-family:"Cormorant Garamond",Georgia,serif;font-weight:600;line-height:1.15;color:var(--grafit);margin:0 0 .5em}
h1{font-size:clamp(34px,5vw,56px)}
h2{font-size:clamp(27px,3.2vw,38px);margin-top:1.4em}
h2::after{content:"";display:block;width:56px;height:2px;background:var(--zloto);margin-top:.35em}
h3{font-size:24px}
p{margin:0 0 1em}
.w{max-width:var(--w);margin:0 auto;padding:0 var(--pad)}
.skip{position:absolute;left:-9999px}.skip:focus{left:8px;top:8px;z-index:99;background:#fff;padding:8px 12px}
:focus-visible{outline:2px solid var(--zloto);outline-offset:2px}
.btn{display:inline-block;padding:13px 26px;border:1px solid var(--zloto);color:var(--grafit);text-decoration:none;font-weight:500;font-size:15px;letter-spacing:.04em;text-transform:uppercase;transition:.2s}
.btn:hover{background:var(--zloto);color:var(--grafit)}
.btn-zloty{background:var(--zloto);color:var(--grafit)}
.btn-zloty:hover{background:var(--zloto2)}
.btn-jasny{border-color:#fff;color:#fff}
.btn-jasny:hover{background:#fff;color:var(--grafit)}

/* pasek i naglowek */
.pasek{background:var(--grafit);color:#bfbcb4;font-size:13px}
.pasek .w{display:flex;justify-content:space-between;gap:16px;padding-top:6px;padding-bottom:6px}
.pasek a{color:var(--zloto2);text-decoration:none}
.nag{background:var(--grafit2);color:#fff;position:sticky;top:0;z-index:50;border-bottom:1px solid #3d3f45}
.nag-w{display:flex;align-items:center;gap:24px;min-height:84px}
.logo{flex:0 0 auto;width:150px;display:block}
.logo svg{width:100%;height:auto;display:block}
.logo svg *{fill:var(--zloto)}
.menu{list-style:none;margin:0;padding:0;display:flex;gap:2px}
.menu>li{position:relative}
.menu a,.menu button{display:block;white-space:nowrap;padding:10px 9px;color:#eae6dc;text-decoration:none;font:500 13px Inter,sans-serif;letter-spacing:.05em;text-transform:uppercase;background:none;border:0;cursor:pointer}
.menu a:hover,.menu button:hover,.menu a[aria-current],.menu .akt>button{color:var(--zloto2)}
.ma-sub>button::after{content:"";display:inline-block;width:6px;height:6px;border:solid currentColor;border-width:0 1.5px 1.5px 0;transform:rotate(45deg);margin:0 0 3px 8px}
.ma-sub ul{list-style:none;margin:0;padding:8px 0;position:absolute;left:0;top:100%;min-width:250px;background:var(--grafit);border-top:2px solid var(--zloto);display:none;box-shadow:0 12px 30px rgba(0,0,0,.35)}
.ma-sub:hover ul,.ma-sub:focus-within ul,.ma-sub.otw ul{display:block}
.ma-sub ul a{text-transform:none;letter-spacing:0;font-size:15px;padding:9px 20px}
.nag-tel{margin-left:auto;color:#fff;text-decoration:none;font:600 20px Inter,sans-serif;white-space:nowrap;text-align:right;line-height:1.2}
.nag-tel span{display:block;font-size:11px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--zloto2)}
nav[aria-label="Menu główne"]{flex:1 1 auto}
.burger{display:none}
@media (max-width:1100px){
 .nag-w{min-height:68px;gap:12px}
 .logo{width:118px}
 nav[aria-label="Menu główne"]{order:3;flex:0 0 auto}
 .burger{display:block;background:none;border:1px solid var(--zloto);color:#fff;padding:9px 14px;font:500 14px Inter,sans-serif;letter-spacing:.06em;text-transform:uppercase;cursor:pointer}
 .menu{display:none;position:absolute;left:0;right:0;top:100%;flex-direction:column;background:var(--grafit);padding:8px var(--pad) 20px;max-height:calc(100vh - 100px);overflow:auto;border-top:1px solid #3d3f45}
 .menu.otw{display:flex}
 .menu a,.menu button{padding:13px 0;font-size:15px;width:100%;text-align:left;border-bottom:1px solid #34363c}
 .ma-sub ul{position:static;box-shadow:none;border:0;padding:0 0 6px 14px;background:none;min-width:0}
 .ma-sub:hover ul,.ma-sub:focus-within ul{display:none}
 .ma-sub.otw ul{display:block}
 .nag-tel{font-size:17px}
 .pasek-mail{display:none}
}
@media (max-width:520px){.nag-tel span{display:none}.nag-tel{font-size:15px}}

/* strona glowna */
.hero{position:relative;background:var(--grafit);color:#fff;min-height:min(78svh,720px);display:flex;align-items:center;overflow:hidden}
.hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:70% 50%;opacity:.75}
.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,21,24,.92) 0%,rgba(20,21,24,.7) 45%,rgba(20,21,24,.1) 100%);z-index:1}
.hero-w{position:relative;z-index:2;width:100%;padding-top:64px;padding-bottom:64px}
.hero h1{color:#fff;max-width:640px}
.hero-lead{font-size:clamp(18px,2vw,21px);max-width:560px;color:#e6e2d8}
.hero-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.kafle{margin-top:-1px;padding-top:56px;padding-bottom:16px}
.kafle ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.kafle li a{position:relative;display:block;aspect-ratio:4/3;overflow:hidden;background:var(--grafit2);text-decoration:none}
.kafle img{width:100%;height:100%;object-fit:cover;transition:transform .5s;opacity:.85}
.kafle li a:hover img{transform:scale(1.05)}
.kafle span{position:absolute;left:0;right:0;bottom:0;padding:40px 18px 14px;color:#fff;font:600 22px/1.15 "Cormorant Garamond",Georgia,serif;background:linear-gradient(transparent,rgba(20,21,24,.88))}
.kafle span::after{content:"→";float:right;color:var(--zloto2);font-family:Inter,sans-serif;font-size:18px}
.kafle-pogrzeby{text-align:center;margin:22px 0 0}
@media (max-width:900px){.kafle ul{grid-template-columns:repeat(2,1fr)}.kafle span{font-size:19px;padding:30px 12px 10px}}
.sek{padding-top:64px;padding-bottom:64px}
.sek-2{display:grid;grid-template-columns:1.25fr 1fr;gap:clamp(28px,5vw,64px);align-items:center}
.sek-2.odwr{grid-template-columns:1fr 1.25fr}
.sek-2.odwr>div{order:2}
.sek-2 h2{margin-top:0}
.sek-ciemna{background:var(--grafit2);color:#e6e2d8;padding:72px 0}
.sek-ciemna .sek-2{grid-template-columns:1fr 1.25fr}
.sek-ciemna h2{color:#fff}
.sek-ciemna .btn{color:#fff}
.sek-ciemna .btn:hover{color:var(--grafit)}
@media (max-width:900px){.sek-2,.sek-2.odwr,.sek-ciemna .sek-2{grid-template-columns:1fr}.sek-2.odwr>div{order:0}}
.slajdy{padding-top:24px;padding-bottom:64px}
.slajdy ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:20px}
.slajdy li{background:#fff;border-top:3px solid var(--zloto);padding:28px}
.slajdy li h3{margin-bottom:.4em}
.slajdy li p{margin:0 0 1em}
@media (max-width:800px){.slajdy ul{grid-template-columns:1fr}}
.haslo{position:relative;background:var(--grafit);overflow:hidden;text-align:center;padding:96px var(--pad)}
.haslo-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.4}
.haslo p{position:relative;margin:0 auto;max-width:760px;color:#fff;font:500 clamp(26px,3.6vw,42px)/1.25 "Cormorant Garamond",Georgia,serif;padding:28px;border:1px solid rgba(201,169,97,.7)}

/* podstrony */
.ph{position:relative;background:var(--grafit);color:#fff;overflow:hidden}
.ph-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.35}
.ph-w{position:relative;padding-top:56px;padding-bottom:52px}
.ph-foto .ph-w{padding-top:96px;padding-bottom:72px}
.ph h1{color:#fff;margin:0;max-width:900px}
.okr{font-size:14px;color:#c9c4b8;margin-bottom:14px}
.okr a{color:var(--zloto2);text-decoration:none}
.uklad{padding-top:56px;padding-bottom:72px}
.z-bokiem{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:56px;align-items:start}
@media (max-width:900px){.z-bokiem{grid-template-columns:1fr}}
.tresc{max-width:820px;min-width:0}
.tresc>h2:first-child{margin-top:0}
.tresc ul{padding-left:1.2em}
.tresc li{margin-bottom:.35em}
.tresc p a,.tresc li a{overflow-wrap:anywhere}
.lista-zl{list-style:none;padding:0!important}
.lista-zl li{position:relative;padding-left:26px}
.lista-zl li::before{content:"";position:absolute;left:4px;top:.72em;width:8px;height:8px;background:var(--zloto);transform:rotate(45deg)}
.foto{margin:28px 0}
.foto img{width:100%;max-width:640px}
.gal{list-style:none;padding:0!important;margin:24px 0;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.gal li{margin:0}
.gal a{display:block;aspect-ratio:1;overflow:hidden;background:var(--krem2)}
.gal img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.gal a:hover img{transform:scale(1.05)}
.bok{position:sticky;top:110px;background:#fff;border-top:3px solid var(--zloto);padding:24px}
.bok-h{font:600 24px "Cormorant Garamond",Georgia,serif;margin:0 0 8px}
.bok ul{list-style:none;margin:0 0 20px;padding:0}
.bok li a{display:block;padding:8px 0;border-bottom:1px solid var(--linia);text-decoration:none;color:var(--tekst)}
.bok li a[aria-current],.bok li a:hover{color:var(--zloto-ciemne)}
.bok-tel{background:var(--grafit2);color:#ddd;padding:18px;text-align:center}
.bok-tel p{margin:0;font-size:13px;text-transform:uppercase;letter-spacing:.1em;color:var(--zloto2)}
.bok-tel a{color:#fff;font-size:22px;font-weight:600;text-decoration:none}
@media (max-width:900px){.bok{position:static}}
.karta-kontakt{background:#fff;border-top:3px solid var(--zloto);padding:28px;margin-top:32px}
.karta-kontakt h2{margin-top:0}
.form{background:#fff;padding:28px;margin-top:32px;display:grid;gap:14px}
.form label{display:grid;gap:4px;font-size:15px;font-weight:500}
.form input,.form textarea{font:inherit;padding:11px 12px;border:1px solid var(--linia);background:#fff}
.form .hp{position:absolute;left:-9999px}
.mala{font-size:13px;color:var(--szary)}

/* pas 24h i stopka */
.pas24{background:var(--zloto);color:var(--grafit)}
.pas24 .w{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;padding-top:28px;padding-bottom:28px}
.pas24-t{margin:0;font:600 clamp(22px,2.6vw,30px)/1.2 "Cormorant Garamond",Georgia,serif}
.pas24 .btn{background:var(--grafit);border-color:var(--grafit);color:#fff}
.pas24 .btn:hover{background:var(--grafit3)}
.stopka{background:var(--grafit);color:#bfbcb4;font-size:15px;padding-top:56px}
.stopka a{color:#e6e2d8;text-decoration:none}
.stopka a:hover{color:var(--zloto2)}
.stopka-w{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:32px}
.stopka-logo{width:140px;margin-bottom:16px}
.stopka-logo svg *{fill:var(--zloto)}
.stopka-h{font:600 20px "Cormorant Garamond",Georgia,serif;color:var(--zloto2);margin-bottom:10px}
.stopka ul{list-style:none;margin:0;padding:0}
.stopka li{margin-bottom:6px}
.stopka-dol{display:flex;flex-wrap:wrap;gap:20px;border-top:1px solid #34363c;margin-top:40px;padding-top:18px;padding-bottom:90px;font-size:13px}
.stopka-dol span{margin-left:auto}
@media (max-width:900px){.stopka-w{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.stopka-w{grid-template-columns:1fr}.stopka-dol span{margin-left:0}}
.fab-tel{display:none}
@media (max-width:760px){
 .fab-tel{display:block;position:fixed;left:12px;right:12px;bottom:12px;z-index:60;background:var(--zloto);color:var(--grafit);text-align:center;padding:14px;font-weight:600;text-decoration:none;box-shadow:0 6px 20px rgba(0,0,0,.35)}
}
dialog.lb{border:0;padding:0;background:transparent;max-width:94vw;max-height:94vh}
dialog.lb::backdrop{background:rgba(15,15,18,.92)}
dialog.lb img{max-width:94vw;max-height:88vh;object-fit:contain}
dialog.lb button{position:fixed;top:12px;right:16px;background:none;border:0;color:#fff;font-size:34px;cursor:pointer}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}

/* etap 2: mega menu Oferta (desktop) */
.mm{position:absolute;left:0;right:0;top:100%;z-index:49;background:var(--krem);color:var(--tekst);border-top:2px solid var(--zloto);box-shadow:0 24px 48px rgba(0,0,0,.25);opacity:0;visibility:hidden;transition:opacity .2s,visibility 0s .2s}
.mm-otw .mm{opacity:1;visibility:visible;transition:opacity .2s}
.mm-wrap{max-width:var(--w);margin:0 auto;padding:36px var(--pad) 40px;display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:32px}
.mm-uslugi{list-style:none;margin:0 0 0 -12px;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px 8px;align-content:start}
.mm-uslugi .mm-ik{width:40px;height:40px;padding:9px}
.mm-uslugi a{display:grid;grid-template-columns:40px 1fr;gap:12px;align-items:start;padding:12px;text-decoration:none;color:inherit;transition:background .15s}
.mm-uslugi a:hover,.mm-uslugi a:focus-visible{background:var(--krem2)}
.mm-ik,.ik{width:48px;height:48px;padding:12px;border:1px solid var(--linia);border-radius:50%;background:#fff;fill:none;stroke:var(--zloto-ciemne);stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}
.mm-uslugi b{display:block;font:600 20px/1.2 "Cormorant Garamond",Georgia,serif;margin:2px 0 3px}
.mm-uslugi span span{display:block;font-size:14px;line-height:1.5;color:var(--szary)}
.mm-foto{position:relative;display:block;min-height:280px;overflow:hidden;background:var(--grafit);color:#fff;text-decoration:none}
.mm-foto img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:80% 50%}
.mm-foto::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(20,21,24,.95),rgba(20,21,24,.2) 70%)}
.mm-foto-tx{position:absolute;left:22px;right:22px;bottom:20px;z-index:1}
.mm-foto-tx small{display:block;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--zloto2)}
.mm-foto-tx strong{display:block;font:600 34px/1.1 Inter,sans-serif;margin:4px 0}
.mm-foto-tx em{font-style:normal;font-size:13px;color:#cfcac0}
@media (min-width:1101px){.ma-oferta>ul{display:none!important}}
@media (max-width:1100px){.mm{display:none}}
/* winieta: po przewinieciu kompaktowy naglowek */
.nag,.logo{transition:min-height .2s,width .2s}
.zwin .nag-w{min-height:64px}
.zwin .logo{width:112px}
/* cross-selling */
.cross{background:#fff;border-top:1px solid var(--linia);padding:56px 0 64px}
.cross h2{margin-top:0}
.cross-k,.cross-i{list-style:none;margin:0 0 36px;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.cross-i{grid-template-columns:repeat(2,1fr);margin:0}
.cross-k a,.cross-i a{display:block;height:100%;padding:22px;border:1px solid var(--linia);text-decoration:none;color:var(--tekst);transition:border-color .15s,background .15s}
.cross-k a:hover,.cross-i a:hover{border-color:var(--zloto);background:var(--krem)}
.cross-k .ik{margin-bottom:12px}
.cross b{display:block;font:600 22px/1.2 "Cormorant Garamond",Georgia,serif;margin-bottom:4px}
.cross span{display:block;font-size:15px;color:var(--szary)}
.cross-tel{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;background:var(--grafit2);color:#fff;padding:24px 28px;margin-bottom:40px}
.cross-tel p{margin:0;font:500 22px/1.3 "Cormorant Garamond",Georgia,serif}
@media (max-width:800px){.cross-k,.cross-i{grid-template-columns:1fr}}
/* panel ulatwien dostepu */
.a11y{position:fixed;left:14px;bottom:14px;z-index:70}
.a11y-btn{width:46px;height:46px;border-radius:50%;border:1px solid var(--zloto);background:var(--grafit);cursor:pointer;display:grid;place-items:center}
.a11y-btn svg{width:24px;height:24px;fill:none;stroke:var(--zloto2);stroke-width:1.6;stroke-linecap:round}
.a11y-p{position:absolute;left:0;bottom:56px;width:250px;background:#fff;border-top:3px solid var(--zloto);box-shadow:0 10px 30px rgba(0,0,0,.25);padding:16px;font-size:14px}
.a11y-p p{margin:0 0 6px}
.a11y-h{font:600 20px "Cormorant Garamond",Georgia,serif}
.a11y-r{display:flex;gap:6px;margin-bottom:12px}
.a11y-p button[data-a11y]{font:inherit;border:1px solid var(--linia);background:var(--krem);padding:8px 10px;cursor:pointer}
.a11y-t{display:block;width:100%;text-align:left;margin-top:6px}
.a11y-p [aria-pressed="true"]{background:var(--zloto)!important;border-color:var(--zloto)!important}
html.t1{font-size:112%}html.t1 body{font-size:19px}
html.t2 body{font-size:21px}
html.kontrast body{background:#fff;color:#000}
html.kontrast .tresc a,html.kontrast .cross a{color:#000;text-decoration:underline}
html.kontrast .szary,html.kontrast .cross span,html.kontrast .mala{color:#000}
html.kontrast :focus-visible{outline:3px solid #000}
html.bez-ruchu *{transition:none!important;animation:none!important}
@media (max-width:760px){.a11y{bottom:78px}}
