/* ==========================================================
   CZCIONKI — self-host (assets/fonts/), subsety latin + latin-ext.
   Pliki zmienne (variable): jeden woff2 obsługuje zakres wag.
   Powód: wydajność (zero obcych połączeń) + RODO (Google Fonts
   wysyła IP użytkownika do USA przed jakąkolwiek zgodą).
   ========================================================== */
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:500 700;font-display:swap;src:url('fonts/cormorant-var-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:500 700;font-display:swap;src:url('fonts/cormorant-var-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:500;font-display:swap;src:url('fonts/cormorant-italic-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:500;font-display:swap;src:url('fonts/cormorant-italic-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Jost';font-style:normal;font-weight:300 600;font-display:swap;src:url('fonts/jost-var-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Jost';font-style:normal;font-weight:300 600;font-display:swap;src:url('fonts/jost-var-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Great Vibes';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/greatvibes-400-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Great Vibes';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/greatvibes-400-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}

/* ============================================================
   MAGDALENA OLESZKO — wspólny arkusz (wszystkie podstrony)
   Kierunek: „wnętrze po stagingu” — ciepła kość słoniowa jak ściany,
   granat jak tapicerka, złoto tylko jak okucia (CTA, fokus, romb).
   Sygnatura: złoty romb (logo) prowadzi przez całą stronę.
   ============================================================ */
:root{
  --navy:#14304c;
  --navy-deep:#0d2136;
  --gold:#c19a3f;
  --gold-light:#dcc389;
  --gold-dim:#5a4a1e;
  --teal:#2e8074;
  --ivory:#f7f4ee;
  --ivory-2:#efe9de;      /* pas o ton głębszy — rozdziela sąsiednie jasne sekcje */
  --card:#fffdf9;         /* powierzchnie kart: ciepła, nie #fff */
  --ink:#22303e;
  --muted:#5c6a77;
  --line:rgba(20,48,76,.12);
  --serif:'Cormorant Garamond',Georgia,serif;
  --sans:'Jost','Segoe UI',system-ui,sans-serif;
  --script:'Great Vibes',cursive;
  --shadow:0 18px 50px rgba(13,33,54,.10);
  --shadow-lg:0 30px 70px rgba(13,33,54,.20);
}

*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;max-width:100vw;overflow-x:hidden;overflow-x:clip;overscroll-behavior-x:none;}
body{
  font-family:var(--sans);font-weight:300;color:var(--ink);background:var(--ivory);
  line-height:1.65;-webkit-font-smoothing:antialiased;
  max-width:100vw;overflow-x:hidden;overflow-x:clip;overscroll-behavior-x:none;
  position:relative;
}
/* Jedna warstwa tła przez całą stronę: bardzo powolna poświata w kolorach zdjęć
   (ciepłe światło z okna). Cykl 90 s, pauza poza kartą i przy reduced-motion. */
body::before{
  content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;
  background:
    radial-gradient(60% 50% at 15% 10%,rgba(220,195,137,.16),transparent 70%),
    radial-gradient(50% 45% at 90% 90%,rgba(46,128,116,.10),transparent 70%);
  animation:glow 90s ease-in-out infinite alternate;
}
@keyframes glow{to{transform:translate3d(4%,3%,0) scale(1.06);}}
body.paused *,body.paused *::before,body.paused *::after{animation-play-state:paused !important;}

img{max-width:100%;height:auto;display:block;}
a{color:inherit;}
ul{list-style:none;}
h1,h2,h3{font-family:var(--serif);font-weight:600;line-height:1.12;}
h2{font-size:clamp(2rem,4vw,3rem);color:var(--navy);}
strong{font-weight:500;}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px;}
.container{max-width:1180px;margin:0 auto;padding:0 24px;}
.skip-link{position:absolute;left:-999px;top:8px;background:var(--gold);color:var(--navy-deep);padding:.6rem 1rem;z-index:1000;font-weight:500;}
.skip-link:focus{left:8px;}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
.steps.steps--six{grid-template-columns:repeat(3,1fr);row-gap:3.4rem;}
.steps.steps--six::before{display:none;}
.legal-hero .crumbs a{color:rgba(255,255,255,.8);}

.eyebrow{font-size:.76rem;letter-spacing:.34em;text-transform:uppercase;color:var(--teal);font-weight:500;margin-bottom:1rem;}
.eyebrow--gold{color:var(--gold-light);}
.script{font-family:var(--script);font-weight:400;font-size:1.15em;color:var(--gold);}
.section-head{text-align:center;max-width:680px;margin:0 auto 3.2rem;padding:0 1.5rem;}
.section-head__sub{margin-top:.9rem;color:var(--muted);}
.diamond-sep{display:block;width:10px;height:10px;margin:1.2rem auto 0;background:var(--gold);transform:rotate(45deg);}

/* ---------- PRZYCISKI ---------- */
.btn{
  display:inline-block;padding:.95rem 2.3rem;font-family:var(--sans);font-size:.8rem;font-weight:500;
  letter-spacing:.2em;text-transform:uppercase;text-decoration:none;border:1px solid transparent;
  cursor:pointer;transition:background .3s,color .3s,border-color .3s,transform .3s;text-align:center;
}
.btn:hover{transform:translateY(-2px);}
.btn--ghost{color:#fff;border-color:rgba(255,255,255,.7);background:transparent;}
.btn--ghost:hover{background:#fff;color:var(--navy);}
.btn--gold{background:var(--gold);color:var(--navy-deep);}
.btn--gold:hover{background:var(--gold-light);}
.btn--navy{background:var(--navy);color:#fff;}
.btn--navy:hover{background:var(--teal);}
.btn--outline{color:var(--navy);border-color:var(--navy);background:transparent;}
.btn--outline:hover{background:var(--navy);color:#fff;}
.btn-row{display:flex;gap:1rem;flex-wrap:wrap;justify-content:center;}

/* ---------- WEJŚCIA NA SCROLL ---------- */
.reveal{opacity:0;transform:translateY(30px);transition:opacity .8s ease,transform .8s ease;}
.reveal.is-visible{opacity:1;transform:none;}
.reveal.is-visible.is-done{transition:none;}

/* ============================================================
   NAGŁÓWEK / NAWIGACJA
   ============================================================ */
.site-head{position:fixed;inset:0 0 auto 0;z-index:500;transition:background .35s,box-shadow .35s;}
.site-head::before{content:"";position:absolute;inset:0;z-index:-1;background:transparent;transition:background .35s;}
.site-head.is-solid::before{background:rgba(247,244,238,.96);backdrop-filter:blur(8px);}
.site-head.is-solid{box-shadow:0 6px 30px rgba(13,33,54,.09);}
.nav{display:flex;align-items:center;justify-content:space-between;padding:.7rem 2rem;max-width:1400px;margin:0 auto;gap:1rem;}
.nav__logo img{height:56px;width:auto;filter:brightness(0) invert(1);transition:filter .35s,height .35s;}
.site-head.is-solid .nav__logo img,.site-head--light .nav__logo img{filter:none;height:50px;}
.nav__links{display:flex;align-items:center;gap:1.6rem;}
.nav__links>li{position:relative;}
.nav__links a{
  color:#fff;text-decoration:none;font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;font-weight:400;
  transition:color .3s;display:inline-block;padding:.3rem 0;
}
.site-head.is-solid .nav__links a,.site-head--light .nav__links a{color:var(--navy);}
.nav__links a:hover,.nav__links a:focus-visible{color:var(--gold);}
.nav__links a[aria-current="page"]{color:var(--gold);}
.nav__flag{color:var(--gold-light) !important;font-weight:600 !important;}
.nav__flag::before{content:"◆ ";font-size:.6em;vertical-align:.15em;}
.site-head.is-solid .nav__flag,.site-head--light .nav__flag{color:var(--gold) !important;}
.nav__cta{border:1px solid currentColor;padding:.45rem 1.1rem !important;}
/* Rozwijana „Oferta”: :hover + :focus-within, „mostek” ::before nad listą */
.has-dropdown>a .dd-arrow{font-size:.55em;margin-left:.35em;vertical-align:.2em;}
.nav-dropdown{
  position:absolute;top:100%;left:50%;transform:translate(-50%,8px);min-width:270px;
  background:var(--card);box-shadow:var(--shadow-lg);padding:.7rem 0;opacity:0;visibility:hidden;
  transition:opacity .25s,transform .25s,visibility .25s;
}
.nav-dropdown::before{content:"";position:absolute;left:0;right:0;top:-14px;height:14px;}
.has-dropdown:hover .nav-dropdown,.has-dropdown:focus-within .nav-dropdown{opacity:1;visibility:visible;transform:translate(-50%,0);}
.nav-dropdown li a{display:block;padding:.6rem 1.4rem;color:var(--navy) !important;font-size:.76rem;letter-spacing:.12em;}
.nav-dropdown li a:hover,.nav-dropdown li a:focus-visible{background:var(--ivory);color:var(--gold) !important;}
.nav-dropdown li a.is-flag{color:var(--gold) !important;font-weight:600;}
.burger{display:none;}

/* ============================================================
   HERO — DWA ŚWIATY (strona główna)
   ============================================================ */
.hero{position:relative;display:flex;height:100svh;min-height:640px;background:var(--navy-deep);overflow:hidden;}
.hero__panel{position:relative;flex:1;display:flex;align-items:center;justify-content:center;overflow:hidden;transition:flex 1s cubic-bezier(.6,.05,.25,1);text-decoration:none;}
.hero:has(.hero__panel--left:hover) .hero__panel--left,.hero:has(.hero__panel--right:hover) .hero__panel--right{flex:1.65;}
.hero__img{position:absolute;inset:-40px;width:calc(100% + 80px);height:calc(100% + 80px);object-fit:cover;transition:transform 6s ease;}
.hero__panel:hover .hero__img{transform:scale(1.07);}
/* Przyciemnienie lokalne pod tekstem + brzegi żywe (kierunek-wizualny §9) */
.hero__veil{position:absolute;inset:0;background:
  radial-gradient(60% 55% at 50% 55%,rgba(13,33,54,.72),rgba(13,33,54,.35) 70%,rgba(13,33,54,.25)),
  linear-gradient(180deg,rgba(13,33,54,.55),transparent 30%,transparent 70%,rgba(13,33,54,.7));
  transition:opacity .8s;}
.hero__content{position:relative;text-align:center;color:#fff;padding:0 8%;max-width:560px;
  text-shadow:0 1px 2px rgba(13,33,54,.9),0 0 18px rgba(13,33,54,.7),0 12px 40px rgba(13,33,54,.6);}
.hero__eyebrow{font-size:.72rem;letter-spacing:.34em;text-transform:uppercase;color:var(--gold-light);margin-bottom:1.1rem;font-weight:400;}
.hero__title{font-size:clamp(2.4rem,4.6vw,4.2rem);color:#fff;}
.hero__sub{margin:1.2rem 0 2rem;font-size:1.02rem;color:rgba(255,255,255,.9);}
.hero__content .btn{text-shadow:none;}
.hero__divider{position:relative;z-index:5;width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.1rem;}
.hero__line{width:1px;flex:1;background:linear-gradient(180deg,transparent,var(--gold) 30%,var(--gold) 70%,transparent);opacity:.85;}
.hero__diamond{width:62px;height:62px;flex:none;border:1px solid var(--gold);transform:rotate(45deg);display:flex;align-items:center;justify-content:center;background:rgba(13,33,54,.6);}
.hero__diamond em{transform:rotate(-45deg);font-family:var(--script);font-style:normal;font-size:2rem;color:var(--gold-light);line-height:1;padding-bottom:.4rem;}
.hero__flag{
  position:absolute;bottom:0;left:50%;transform:translateX(-50%);z-index:6;display:flex;flex-direction:column;align-items:center;gap:.15rem;
  padding:1rem 2.6rem 1.1rem;text-decoration:none;text-align:center;background:rgba(13,33,54,.82);
  border:1px solid rgba(193,154,63,.5);border-bottom:none;transition:background .35s;
}
.hero__flag:hover{background:var(--gold);}
.hero__flag:hover .hero__flag-label,.hero__flag:hover .hero__flag-arrow{color:var(--navy-deep);}
.hero__flag:hover .hero__flag-text{color:var(--navy-deep);}
.hero__flag-label{font-size:.66rem;letter-spacing:.4em;text-transform:uppercase;color:var(--gold-light);transition:color .35s;}
.hero__flag-text{font-family:var(--serif);font-size:1.06rem;color:#fff;transition:color .35s;}
.hero__flag-arrow{color:var(--gold-light);animation:bob 2.2s infinite ease-in-out;transition:color .35s;}
@keyframes bob{0%,100%{transform:translateY(0);}50%{transform:translateY(5px);}}

/* ============================================================
   USŁUGA FLAGOWA — OD A DO Z (pas ciemny)
   ============================================================ */
.flag{position:relative;color:#fff;padding:7rem 1.5rem 6rem;overflow:hidden;}
.flag__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.flag__veil{position:absolute;inset:0;background:linear-gradient(160deg,rgba(13,33,54,.96) 30%,rgba(20,48,76,.9) 70%,rgba(46,128,116,.82));}
.flag__inner{position:relative;max-width:1080px;margin:0 auto;text-align:center;}
.flag__title{color:#fff;font-size:clamp(2.2rem,4.4vw,3.4rem);}
.flag__lead{max-width:760px;margin:1.6rem auto 3.6rem;font-size:1.08rem;color:rgba(255,255,255,.9);}
.flag__lead strong{color:var(--gold-light);}
.flag__counter{font-family:var(--serif);font-size:1.35em;font-weight:700;}
.flag__note{font-size:.74rem;color:rgba(255,255,255,.55);margin-top:-2.4rem;margin-bottom:3.6rem;}

.az{display:grid;grid-template-columns:repeat(6,1fr);position:relative;margin:0 0 4rem;}
.az::before{content:"";position:absolute;top:31px;left:8%;right:8%;height:1px;background:linear-gradient(90deg,transparent,var(--gold) 12%,var(--gold) 88%,transparent);opacity:.6;}
.az__step{position:relative;padding:0 .8rem;opacity:0;transform:translateY(26px);transition:opacity .7s,transform .7s;}
.az.is-visible .az__step{opacity:1;transform:none;}
.az.is-visible .az__step:nth-child(1){transition-delay:.05s;}
.az.is-visible .az__step:nth-child(2){transition-delay:.2s;}
.az.is-visible .az__step:nth-child(3){transition-delay:.35s;}
.az.is-visible .az__step:nth-child(4){transition-delay:.5s;}
.az.is-visible .az__step:nth-child(5){transition-delay:.65s;}
.az.is-visible .az__step:nth-child(6){transition-delay:.85s;}
/* Sprzątanie opóźnień po wejściu — powtórzone :nth-child (pułapka 22) */
.az.is-done .az__step:nth-child(n){transition-delay:0s;}
.az__letter{position:relative;z-index:1;width:62px;height:62px;margin:0 auto 1.3rem;display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:1.55rem;font-weight:600;color:var(--gold-light);line-height:1;}
.az__letter::before{content:"";position:absolute;inset:6px;border:1px solid var(--gold);transform:rotate(45deg);background:var(--navy-deep);z-index:-1;}
.az__step--last .az__letter{color:var(--navy-deep);}
.az__step--last .az__letter::before{background:var(--gold);box-shadow:0 0 34px rgba(193,154,63,.55);}
.az__step h3{font-size:1.25rem;color:#fff;margin-bottom:.45rem;}
.az__step p{font-size:.86rem;color:rgba(255,255,255,.75);line-height:1.55;}

.calc{max-width:640px;margin:0 auto 3rem;padding:2.3rem 2.5rem;background:rgba(255,255,255,.06);border:1px solid rgba(193,154,63,.4);}
.calc__title{font-size:1.5rem;color:var(--gold-light);margin-bottom:1.3rem;}
.calc__label{display:block;font-size:.95rem;color:rgba(255,255,255,.88);margin-bottom:.8rem;}
.calc__label output{font-weight:500;color:#fff;}
.calc input[type=range]{width:100%;appearance:none;-webkit-appearance:none;height:2px;background:rgba(255,255,255,.3);outline:none;margin:.4rem 0 1.6rem;}
.calc input[type=range]::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:22px;height:22px;background:var(--gold);transform:rotate(45deg);cursor:pointer;border:2px solid #fff;}
.calc input[type=range]::-moz-range-thumb{width:20px;height:20px;background:var(--gold);transform:rotate(45deg);cursor:pointer;border:2px solid #fff;border-radius:0;}
.calc input[type=range]:focus-visible{outline:2px solid var(--gold);outline-offset:8px;}
.calc__result{display:flex;justify-content:center;gap:3rem;flex-wrap:wrap;}
.calc__result span{display:block;font-size:.72rem;letter-spacing:.25em;text-transform:uppercase;color:rgba(255,255,255,.62);margin-bottom:.3rem;}
.calc__result strong{font-family:var(--serif);font-size:2rem;font-weight:700;color:#fff;}
.calc__plus strong{color:var(--gold-light);}
.calc__note{margin-top:1.3rem;font-size:.74rem;color:rgba(255,255,255,.55);}

/* ============================================================
   PRZED / PO — suwaki
   ============================================================ */
.ba{padding:6.5rem 1.5rem;max-width:1240px;margin:0 auto;}
.ba__grid{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;}
.ba__frame{position:relative;aspect-ratio:19/12;overflow:hidden;cursor:ew-resize;box-shadow:var(--shadow-lg);user-select:none;touch-action:pan-y;background:var(--ivory-2);}
.ba__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none;}
.ba__img--after{clip-path:inset(0 0 0 var(--cut,50%));}
.ba__handle{position:absolute;top:0;bottom:0;left:var(--cut,50%);width:2px;background:#fff;box-shadow:0 0 14px rgba(0,0,0,.4);display:flex;align-items:center;justify-content:center;}
.ba__handle i{position:absolute;font-style:normal;color:var(--navy);background:#fff;width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.8rem;box-shadow:0 3px 12px rgba(0,0,0,.3);}
.ba__handle i:first-child{transform:translateX(-19px);}
.ba__handle i:last-child{transform:translateX(19px);}
.ba__tag{position:absolute;bottom:14px;font-size:.66rem;letter-spacing:.3em;text-transform:uppercase;color:#fff;background:rgba(13,33,54,.78);padding:.35rem .9rem;}
.ba__tag--before{left:14px;}
.ba__tag--after{right:14px;}
.ba figcaption{margin-top:1rem;text-align:center;color:var(--muted);font-style:italic;font-family:var(--serif);font-size:1.05rem;}
.ba__range{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;margin:0;}
.ba__range:focus-visible + .ba__handle{outline:2px solid var(--gold);}

/* ============================================================
   DWIE ŚCIEŻKI — usługi (strona główna)
   ============================================================ */
.services{padding:2rem 0 3rem;background:var(--ivory-2);}
.service{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:clamp(2rem,6vw,6rem);max-width:1240px;margin:0 auto;padding:4rem 1.5rem;}
.service--reverse .service__media{order:2;}
.service__media{position:relative;}
.service__media img{aspect-ratio:4/3;object-fit:cover;width:100%;box-shadow:var(--shadow-lg);}
.service__diamond{position:absolute;width:92px;height:92px;border:1px solid var(--gold);transform:rotate(45deg);top:-30px;right:-30px;pointer-events:none;}
.service--reverse .service__diamond{right:auto;left:-30px;}
.service__body h2{margin-bottom:1.2rem;}
.service__body>p{color:var(--muted);margin-bottom:1.4rem;}
.service__list{margin:0 0 2rem;}
.service__list li{padding:.55rem 0 .55rem 1.9rem;position:relative;border-bottom:1px solid var(--line);}
.service__list li::before{content:"◆";position:absolute;left:0;top:.62rem;font-size:.55rem;color:var(--gold);}
.service__cta{display:flex;gap:1rem;flex-wrap:wrap;align-items:center;}
.link-more{font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:var(--navy);text-decoration:none;border-bottom:1px solid var(--gold);padding-bottom:.15rem;}
.link-more:hover{color:var(--gold);}

/* ============================================================
   O MNIE
   ============================================================ */
.about{display:grid;grid-template-columns:2fr 3fr;gap:clamp(2.5rem,6vw,6rem);align-items:center;max-width:1140px;margin:0 auto;padding:6rem 1.5rem;}
.about__media{position:relative;max-width:400px;}
.about__photo{box-shadow:var(--shadow-lg);position:relative;z-index:1;}
.about__frame{position:absolute;inset:-22px 22px 22px -22px;border:1px solid var(--gold);z-index:0;}
.about__body h2{margin-bottom:1.3rem;}
.about__body p{color:#46545f;margin-bottom:1.1rem;}
.about__sign{width:210px;margin-top:1.2rem;}
.about__facts{display:flex;gap:2rem;flex-wrap:wrap;margin:1.6rem 0 .4rem;}
.about__facts div strong{display:block;font-family:var(--serif);font-size:1.9rem;color:var(--navy);line-height:1;}
.about__facts div span{font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);}

/* ============================================================
   PORTFOLIO — pasek na głównej + strona portfolio
   ============================================================ */
.portfolio{padding:5rem 0 6rem;background:var(--card);}
.portfolio__track{display:flex;gap:1.2rem;overflow-x:auto;padding:0 1.5rem 1.2rem;scroll-snap-type:x mandatory;cursor:grab;scrollbar-width:thin;scrollbar-color:var(--gold) transparent;}
.portfolio__track.is-dragging{cursor:grabbing;scroll-snap-type:none;}
.portfolio__track figure{flex:0 0 clamp(260px,34vw,460px);scroll-snap-align:center;overflow:hidden;position:relative;}
.portfolio__track img{aspect-ratio:4/3;object-fit:cover;width:100%;transition:transform .8s;pointer-events:none;}
.portfolio__track figure:hover img{transform:scale(1.06);}
.portfolio__track figcaption{position:absolute;left:0;right:0;bottom:0;padding:.8rem 1rem;color:#fff;font-family:var(--serif);font-size:1.05rem;background:linear-gradient(transparent,rgba(13,33,54,.85));}
.portfolio__cta{text-align:center;margin-top:2.4rem;}

.case{max-width:1180px;margin:0 auto;padding:4.5rem 1.5rem;border-bottom:1px solid var(--line);}
.case:last-of-type{border-bottom:none;}
.case__hero{display:grid;grid-template-columns:1.25fr 1fr;gap:clamp(1.6rem,4vw,4rem);align-items:end;margin-bottom:1.2rem;}
.case__hero img{aspect-ratio:16/10;object-fit:cover;width:100%;box-shadow:var(--shadow-lg);}
.case__no{font-family:var(--serif);font-size:3.2rem;font-weight:700;color:transparent;-webkit-text-stroke:1px var(--gold);line-height:1;margin-bottom:.6rem;}
.case__body h2{font-size:clamp(1.7rem,2.8vw,2.3rem);margin-bottom:.7rem;}
.case__body h2::after{content:"";display:inline-block;width:9px;height:9px;background:var(--gold);transform:rotate(45deg) translateY(-4px);margin-left:1rem;}
.case__body p{color:var(--muted);font-style:italic;font-family:var(--serif);font-size:1.12rem;}
.case__meta{margin-top:1rem;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--teal);}
.case__thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;}
.case__thumbs img{aspect-ratio:4/3;object-fit:cover;width:100%;transition:transform .6s;}
.case__thumbs a{overflow:hidden;display:block;}
.case__thumbs a:hover img{transform:scale(1.05);}
.case:nth-of-type(even) .case__hero{grid-template-columns:1fr 1.25fr;}
.case:nth-of-type(even) .case__hero img{order:2;}

/* Lightbox (portfolio) */
.lightbox{position:fixed;inset:0;z-index:900;background:rgba(13,33,54,.94);display:none;align-items:center;justify-content:center;padding:2rem;}
.lightbox.open{display:flex;}
.lightbox img{max-width:min(1200px,100%);max-height:90vh;width:auto;height:auto;box-shadow:var(--shadow-lg);}
.lightbox__close,.lightbox__prev,.lightbox__next{position:absolute;background:rgba(255,255,255,.1);color:#fff;border:1px solid rgba(255,255,255,.4);width:46px;height:46px;font-size:1.3rem;cursor:pointer;display:flex;align-items:center;justify-content:center;}
.lightbox__close{top:1rem;right:1rem;}
.lightbox__prev{left:1rem;top:50%;transform:translateY(-50%);}
.lightbox__next{right:1rem;top:50%;transform:translateY(-50%);}
.lightbox__close:hover,.lightbox__prev:hover,.lightbox__next:hover{background:var(--gold);color:var(--navy-deep);}

/* ============================================================
   OPINIE
   ============================================================ */
.reviews{padding:6rem 0 6.5rem;overflow:hidden;background:var(--ivory-2);}
.reviews .section-head{margin-bottom:2.4rem;}
.reviews__note{font-size:.84rem;color:var(--muted);margin-top:.6rem;}
.reviews__note strong{color:var(--navy);}
.reviews__wrap{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);}
.reviews__track{display:flex;width:max-content;animation:rev-marquee 60s linear infinite;}
.reviews__track:hover,.reviews__track:focus-within,.reviews__track.is-off{animation-play-state:paused;}
@keyframes rev-marquee{to{transform:translateX(-50%);}}
.review{width:350px;margin-right:1.4rem;background:var(--card);padding:1.9rem 1.8rem 1.6rem;box-shadow:var(--shadow);position:relative;flex:none;display:flex;flex-direction:column;}
.review::before{content:"„";position:absolute;top:-.4rem;left:1.1rem;font-family:var(--serif);font-size:4.6rem;color:var(--gold);opacity:.55;line-height:1;}
.review__text{font-family:var(--serif);font-style:italic;font-size:1.06rem;color:var(--ink);line-height:1.5;margin-bottom:1.2rem;flex:1;}
.review__meta{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;border-top:1px solid var(--line);padding-top:.9rem;}
.review__who strong{display:block;font-size:.9rem;font-weight:500;color:var(--navy);}
.review__who span{font-size:.74rem;color:var(--muted);letter-spacing:.06em;}
.review__stars{color:var(--gold);font-size:.6rem;letter-spacing:.3em;white-space:nowrap;}
.reviews__cta{text-align:center;margin-top:2.4rem;}
.reviews--static{padding:5.5rem 1.5rem;max-width:1240px;margin:0 auto;overflow:visible;background:transparent;}
.reviews--static .reviews__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;}
.reviews--static .review{width:auto;margin:0;}

/* ============================================================
   KONTAKT (formularz)
   ============================================================ */
.contact{position:relative;padding:6.5rem 1.5rem;color:#fff;overflow:hidden;}
.contact__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.contact__veil{position:absolute;inset:0;background:rgba(13,33,54,.92);}
.contact__inner{position:relative;max-width:1080px;margin:0 auto;display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(2rem,6vw,5rem);align-items:start;}
.contact__inner h2{color:#fff;margin-bottom:1.1rem;}
.contact__lead{color:rgba(255,255,255,.85);margin-bottom:1.8rem;}
.contact__direct{display:grid;gap:.7rem;margin-bottom:1.6rem;}
.contact__direct a{color:#fff;text-decoration:none;font-size:1.15rem;font-family:var(--serif);display:flex;align-items:center;gap:.7rem;}
.contact__direct a span{width:9px;height:9px;background:var(--gold);transform:rotate(45deg);flex:none;}
.contact__direct a:hover{color:var(--gold-light);}
.contact__hours{font-size:.86rem;color:rgba(255,255,255,.65);}
.contact__socials{display:flex;gap:1.2rem;margin-top:1.4rem;}
.contact__socials a{color:var(--gold-light);font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;text-decoration:none;}
.contact__socials a:hover{color:#fff;}
.form{background:var(--card);color:var(--ink);padding:2rem;box-shadow:var(--shadow-lg);}
.form h3{font-size:1.5rem;color:var(--navy);margin-bottom:.3rem;}
.form__sub{font-size:.9rem;color:var(--muted);margin-bottom:1.2rem;}
.form-grid{display:grid;gap:.9rem;}
.form-grid[hidden]{display:none;}
.form-grid label{font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--navy);font-weight:500;display:grid;gap:.35rem;}
.form-grid input,.form-grid select,.form-grid textarea{
  width:100%;font:inherit;font-weight:300;font-size:1rem;padding:.75rem .9rem;border:1px solid var(--line);background:#fff;color:var(--ink);
}
.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{outline:2px solid var(--gold);outline-offset:0;border-color:var(--gold);}
.form-grid textarea{min-height:110px;resize:vertical;}
.form-rodo{font-size:.74rem;color:var(--muted);line-height:1.5;}
.form-rodo a{color:var(--navy);}
.form-status{font-size:.9rem;min-height:1.2em;}
.form-status.err{color:#a4362b;}
.form-done{background:var(--ivory);border:1px solid var(--gold);padding:1.6rem;}
.form-done__title{font-family:var(--serif);font-size:1.5rem;color:var(--navy);margin-bottom:.6rem;}
.form-done__title::before{content:"✓ ";color:var(--gold);}
.form-done p{color:#46545f;}
.form-done p+p{margin-top:.6rem;}
.form-done a{color:var(--navy);font-weight:500;}

/* ============================================================
   STOPKA
   ============================================================ */
.footer{background:var(--ivory);padding:3.2rem 1.5rem 2rem;border-top:1px solid var(--line);}
.footer__grid{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:2.5rem;align-items:start;}
.footer__logo{height:70px;width:auto;margin-bottom:.8rem;}
.footer p{font-size:.86rem;color:var(--muted);}
.footer h4{font-family:var(--sans);font-size:.74rem;letter-spacing:.3em;text-transform:uppercase;color:var(--navy);margin-bottom:.9rem;font-weight:500;}
.footer li{margin-bottom:.45rem;}
.footer li a{color:#46545f;text-decoration:none;font-size:.92rem;}
.footer li a:hover{color:var(--gold);}
.footer__bottom{max-width:1180px;margin:2.4rem auto 0;padding-top:1.2rem;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;font-size:.78rem;color:var(--muted);letter-spacing:.06em;}
.footer__bottom a{color:var(--muted);text-decoration:none;}
.footer__bottom a:hover{color:var(--gold);}

/* ============================================================
   PODSTRONY OFERTOWE
   ============================================================ */
.page-hero{position:relative;min-height:64svh;display:flex;align-items:flex-end;background:var(--navy-deep);overflow:hidden;padding:9rem 0 4.2rem;}
.page-hero__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.page-hero__veil{position:absolute;inset:0;background:
  linear-gradient(180deg,rgba(13,33,54,.55) 0%,rgba(13,33,54,.3) 45%,rgba(13,33,54,.88) 100%),
  radial-gradient(50% 60% at 25% 80%,rgba(13,33,54,.7),transparent 70%);}
.page-hero__content{position:relative;max-width:1180px;width:100%;margin:0 auto;padding:0 24px;color:#fff;
  text-shadow:0 1px 2px rgba(13,33,54,.9),0 0 18px rgba(13,33,54,.7),0 12px 40px rgba(13,33,54,.6);}
.page-hero__title{font-size:clamp(2.5rem,5.4vw,4.6rem);line-height:1.06;}
.page-hero__sub{max-width:34rem;margin-top:1.2rem;color:rgba(255,255,255,.9);font-size:1.04rem;}
.page-hero__cta{margin-top:1.8rem;display:flex;gap:1rem;flex-wrap:wrap;}
.page-hero__cta .btn{text-shadow:none;}
.page-hero__script{position:absolute;right:4%;bottom:2.4rem;font-family:var(--script);font-size:clamp(2.2rem,5vw,3.6rem);color:var(--gold-light);opacity:.9;transform:rotate(-4deg);pointer-events:none;}
.crumbs{font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.7);margin-bottom:1.2rem;}
.crumbs a{color:rgba(255,255,255,.85);text-decoration:none;}
.crumbs a:hover{color:var(--gold-light);}
.crumbs span{margin:0 .5rem;color:var(--gold);}

.stats{background:var(--navy-deep);padding:3.2rem 1.5rem;}
.stats__grid{max-width:1080px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;}
.stats__item{text-align:center;padding:0 1rem;position:relative;}
.stats__item+.stats__item::before{content:"";position:absolute;left:-1rem;top:12%;bottom:12%;width:1px;background:linear-gradient(180deg,transparent,var(--gold),transparent);opacity:.5;}
.stats__item strong{display:block;font-family:var(--serif);font-size:clamp(2.6rem,4.5vw,3.8rem);font-weight:700;color:var(--gold-light);line-height:1;margin-bottom:.55rem;}
.stats__item strong i{font-style:normal;font-size:.55em;}
.stats__item span{font-size:.88rem;color:rgba(255,255,255,.78);}

.offers{padding:6rem 1.5rem 4rem;max-width:1240px;margin:0 auto;}
.offers__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.8rem;}
.offer{background:var(--card);box-shadow:var(--shadow);display:flex;flex-direction:column;transition:transform .45s,box-shadow .45s;}
.offer:hover{transform:translateY(-8px);box-shadow:var(--shadow-lg);}
.offer__media{overflow:hidden;aspect-ratio:16/10;}
.offer__media img{width:100%;height:100%;object-fit:cover;transition:transform .8s;}
.offer:hover .offer__media img{transform:scale(1.06);}
.offer__body{position:relative;padding:2rem 1.7rem 2.2rem;flex:1;}
.offer__no{position:absolute;top:-1.35rem;right:1.4rem;font-family:var(--serif);font-size:2.8rem;font-weight:700;color:var(--gold);background:var(--card);padding:0 .55rem;line-height:1;}
.offer__body h3{font-size:1.45rem;color:var(--navy);margin-bottom:.8rem;}
.offer__body p{font-size:.93rem;color:#46545f;margin-bottom:1.1rem;}
.offer__list li{position:relative;padding:.4rem 0 .4rem 1.5rem;font-size:.88rem;color:#46545f;border-top:1px solid var(--line);}
.offer__list li::before{content:"◆";position:absolute;left:0;top:.5rem;font-size:.5rem;color:var(--gold);}
.offer--accent{outline:1px solid var(--gold);outline-offset:-8px;}

.steps-band{background:var(--card);padding:5.5rem 1.5rem 6rem;}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:2.4rem;max-width:1180px;margin:0 auto;position:relative;}
.steps::before{content:"";position:absolute;top:1.5rem;left:5%;right:5%;height:1px;background:linear-gradient(90deg,transparent,var(--gold) 15%,var(--gold) 85%,transparent);opacity:.5;}
.steps__item{position:relative;padding-top:3.4rem;}
.steps__no{position:absolute;top:0;left:0;font-family:var(--serif);font-size:3rem;font-weight:700;line-height:1;color:transparent;-webkit-text-stroke:1px var(--gold);background:var(--card);padding-right:.6rem;}
.steps__item h3{font-size:1.3rem;color:var(--navy);margin-bottom:.5rem;}
.steps__item p{font-size:.9rem;color:var(--muted);}

.cases{padding:5rem 0 3rem;}
.strip{max-width:1180px;margin:0 auto 3.6rem;padding:0 1.5rem;}
.strip__head{display:flex;align-items:baseline;gap:1.4rem;flex-wrap:wrap;margin-bottom:1.2rem;}
.strip__head h3{font-size:clamp(1.6rem,2.6vw,2.1rem);color:var(--navy);}
.strip__head h3::after{content:"";display:inline-block;width:9px;height:9px;background:var(--gold);transform:rotate(45deg) translateY(-4px);margin-left:1rem;}
.strip__head p{color:var(--muted);font-style:italic;font-family:var(--serif);font-size:1.08rem;}
.strip__track{display:flex;gap:1rem;overflow-x:auto;padding-bottom:.8rem;scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:var(--gold) transparent;}
.strip__track img{height:clamp(220px,30vw,340px);width:auto;flex:0 0 auto;object-fit:cover;scroll-snap-align:start;}

.pricing{padding:6rem 1.5rem 5rem;max-width:1240px;margin:0 auto;}
.pricing__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.4rem;align-items:stretch;}
.pricing__grid.pricing__grid--three{grid-template-columns:repeat(3,1fr);max-width:1020px;margin:0 auto;}
.price{position:relative;background:var(--card);padding:2.2rem 1.6rem;box-shadow:var(--shadow);display:flex;flex-direction:column;transition:transform .4s,box-shadow .4s;}
.price:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);}
.price h3{font-size:1.35rem;color:var(--navy);margin-bottom:.4rem;}
.price__tag{font-family:var(--serif);color:var(--ink);margin-bottom:1.2rem;padding-bottom:1rem;border-bottom:1px solid var(--line);}
.price__tag strong{font-size:2rem;font-weight:700;color:var(--gold);}
.price li{position:relative;padding:.38rem 0 .38rem 1.4rem;font-size:.86rem;color:#46545f;}
.price li::before{content:"◆";position:absolute;left:0;top:.48rem;font-size:.5rem;color:var(--gold);}
.price__pkg{margin-top:.5rem;font-size:.8rem !important;color:var(--navy) !important;}
.price--featured{background:var(--navy);}
.price--featured h3,.price--featured .price__tag{color:#fff;}
.price--featured .price__tag strong{color:var(--gold-light);}
.price--featured li{color:rgba(255,255,255,.85);}
.price--featured .price__tag{border-bottom-color:rgba(255,255,255,.18);}
.price__badge{position:absolute;top:-.85rem;left:50%;transform:translateX(-50%);background:var(--gold);color:var(--navy-deep);font-size:.62rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;padding:.38rem 1rem;white-space:nowrap;}
.pricing__note{text-align:center;margin-top:2.4rem;color:var(--muted);font-size:.95rem;max-width:720px;margin-left:auto;margin-right:auto;}
.pricing__note a{color:var(--navy);font-weight:500;}

/* FAQ — natywne <details> (zero JS, dostępne z klawiatury) */
.faq{max-width:820px;margin:0 auto;padding:5rem 1.5rem 6rem;}
.faq details{border-bottom:1px solid var(--line);}
.faq summary{cursor:pointer;list-style:none;padding:1.1rem 2.4rem 1.1rem 0;font-family:var(--serif);font-size:1.25rem;color:var(--navy);position:relative;}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after{content:"";position:absolute;right:.4rem;top:50%;width:10px;height:10px;border:1px solid var(--gold);transform:translateY(-50%) rotate(45deg);transition:background .3s;}
.faq details[open] summary::after{background:var(--gold);}
.faq details p{padding:0 0 1.2rem;color:#46545f;max-width:64ch;}
.faq details p+p{margin-top:-.4rem;}

/* Dla kogo / lista wypunktowana z rombem (podstrona A–Z) */
.who{max-width:1180px;margin:0 auto;padding:5rem 1.5rem 2rem;display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem;}
.who__card{background:var(--card);padding:1.8rem 1.6rem;box-shadow:var(--shadow);border-top:3px solid var(--gold);}
.who__card h3{font-size:1.3rem;color:var(--navy);margin-bottom:.6rem;}
.who__card p{font-size:.92rem;color:#46545f;}
.two-col{max-width:1180px;margin:0 auto;padding:4rem 1.5rem;display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,5rem);align-items:center;}
.two-col h2{margin-bottom:1rem;}
.two-col p{color:#46545f;margin-bottom:1rem;}
.two-col img{box-shadow:var(--shadow-lg);aspect-ratio:4/3;object-fit:cover;width:100%;}
.quote-big{max-width:900px;margin:0 auto;padding:1rem 1.5rem 5rem;text-align:center;}
.quote-big blockquote{font-family:var(--serif);font-style:italic;font-size:clamp(1.3rem,2.4vw,1.75rem);color:var(--navy);line-height:1.4;}
.quote-big blockquote::before{content:"„";color:var(--gold);font-size:1.4em;}
.quote-big cite{display:block;margin-top:1rem;font-style:normal;font-size:.8rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);}
.cta-band{background:var(--navy);color:#fff;padding:4.5rem 1.5rem;text-align:center;}
.cta-band h2{color:#fff;margin-bottom:.8rem;}
.cta-band p{color:rgba(255,255,255,.85);max-width:640px;margin:0 auto 1.8rem;}

/* ============================================================
   STRONY: polityka, 404
   ============================================================ */
.legal-hero{background:var(--navy);color:#fff;padding:9rem 0 3rem;}
.legal-hero h1{font-size:clamp(2.2rem,4vw,3.2rem);}
.legal{max-width:820px;margin:0 auto;padding:3.5rem 24px 5rem;}
.legal h2{font-size:1.5rem;margin:2.2rem 0 .8rem;}
.legal p,.legal li{color:#46545f;margin-bottom:.7rem;}
.legal ul{padding-left:1.2rem;list-style:disc;}
.legal a{color:var(--navy);}
.stub{min-height:70svh;display:flex;align-items:center;background:var(--navy-deep);color:#fff;padding:8rem 1.5rem 5rem;text-align:center;}
.stub .container{max-width:640px;}
.stub h1{font-size:clamp(2.2rem,5vw,3.6rem);margin:.6rem 0 1rem;}
.stub p{color:rgba(255,255,255,.82);margin-bottom:1.6rem;}
.stub__code{font-family:var(--script);font-size:clamp(3rem,9vw,6rem);color:var(--gold-light);line-height:1;}

/* ============================================================
   BANER ZGÓD + BĄBELEK (markup wstrzykiwany z main.js)
   Te same ID co w gotowcu PROSM (#prosm-cookie-banner, #consent-bubble),
   kolory z tokenów marki. Przyciski równorzędne (odmowa równie łatwa jak zgoda).
   ============================================================ */
#prosm-cookie-banner,#consent-bubble{
  --clp-bg:var(--card);--clp-text:var(--navy);--clp-muted:var(--muted);
  --clp-accent:var(--gold);--clp-accent-text:var(--navy-deep);--clp-soft:var(--ivory-2);
}
#prosm-cookie-banner{
  position:fixed;bottom:20px;left:20px;right:20px;max-width:520px;margin:auto;
  background:var(--clp-bg);color:var(--clp-text);
  box-shadow:0 10px 34px rgba(13,33,54,.22),0 2px 8px rgba(13,33,54,.10);
  border:1px solid var(--clp-soft);border-top:3px solid var(--clp-accent);padding:22px 24px;
  font-family:var(--sans);z-index:999999;display:none;line-height:1.5;
}
#prosm-cookie-banner .clp-title{display:flex;align-items:center;gap:10px;font-family:var(--serif);font-weight:600;font-size:1.25rem;margin:0 0 8px;}
#prosm-cookie-banner .clp-diamond{width:9px;height:9px;background:var(--clp-accent);transform:rotate(45deg);flex:none;}
#prosm-cookie-banner .clp-text{font-size:.9rem;color:var(--clp-muted);margin:0 0 16px;}
#prosm-cookie-banner a{color:var(--clp-text);font-weight:500;text-decoration:underline;}
#prosm-cookie-banner a:hover{color:var(--clp-accent);}
#prosm-cookie-banner .btns{display:flex;gap:10px;flex-wrap:wrap;}
#prosm-cookie-banner button{
  border:1px solid transparent;cursor:pointer;padding:11px 16px;font-family:var(--sans);
  font-weight:500;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;
  transition:transform .12s ease,opacity .15s ease,background .15s ease;
}
#prosm-cookie-banner button:hover{transform:translateY(-1px);}
#prosm-cookie-banner button:focus-visible{outline:2px solid var(--clp-accent);outline-offset:2px;}
#prosm-accept{background:var(--clp-accent);color:var(--clp-accent-text);}
#prosm-accept:hover{opacity:.92;}
#prosm-analytics{background:var(--clp-soft);color:var(--clp-text);}
#prosm-deny{background:transparent;color:var(--clp-text);border-color:var(--clp-soft);}
#prosm-deny:hover{background:var(--clp-soft);}
@media (max-width:600px){
  #prosm-cookie-banner{left:10px;right:10px;bottom:10px;max-width:none;padding:18px 16px;}
  #prosm-cookie-banner .btns{flex-direction:column;}
  #prosm-cookie-banner button{width:100%;}
}
#consent-bubble{
  position:fixed;bottom:16px;left:16px;width:44px;height:44px;border-radius:50%;
  background:var(--clp-bg);border:1px solid var(--clp-soft);
  box-shadow:0 4px 14px rgba(13,33,54,.22);cursor:pointer;
  font-size:21px;line-height:42px;text-align:center;z-index:9999;display:none;
  transition:transform .15s ease,box-shadow .15s ease;
}
#consent-bubble:hover{transform:scale(1.1);box-shadow:0 6px 18px rgba(13,33,54,.30);}
#consent-bubble:focus-visible{outline:2px solid var(--clp-accent);outline-offset:2px;}
#consent-bubble::after{
  content:attr(data-tip);position:absolute;left:52px;top:50%;transform:translateY(-50%);
  background:var(--clp-text);color:#fff;font-size:12px;font-family:var(--sans);line-height:1.3;
  padding:6px 10px;white-space:nowrap;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .15s ease;
}
#consent-bubble:hover::after{opacity:1;visibility:visible;}
@media (max-width:600px){
  #consent-bubble{bottom:12px;left:12px;width:40px;height:40px;line-height:38px;font-size:19px;}
  #consent-bubble::after{display:none;}
}

/* ============================================================
   RESPONSYWNOŚĆ
   ============================================================ */
@media (max-width:1280px){
  .page-hero__script{display:none;}   /* przy węższych ekranach nachodził na przyciski CTA */
}
@media (max-width:1100px){
  .nav__links{gap:1.1rem;}
  .nav__links a{font-size:.72rem;letter-spacing:.12em;}
}
@media (max-width:960px){
  .nav{padding:.7rem 1.2rem;}
  .nav__links{
    position:fixed;inset:0;background:rgba(13,33,54,.98);flex-direction:column;justify-content:center;
    gap:1.5rem;transform:translateY(-100%);transition:transform .45s ease;overflow-y:auto;padding:5rem 1.5rem 3rem;
  }
  .nav__links.open{transform:none;}
  .nav__links a,.site-head.is-solid .nav__links a,.site-head--light .nav__links a{color:#fff;font-size:1rem;}
  .nav__links>li{text-align:center;}
  .nav-dropdown{position:static;transform:none;opacity:1;visibility:visible;background:transparent;box-shadow:none;padding:.4rem 0 0;min-width:0;}
  .nav-dropdown::before{display:none;}
  .nav-dropdown li a{color:rgba(255,255,255,.85) !important;font-size:.85rem;padding:.35rem 0;}
  .nav-dropdown li a:hover{background:transparent;}
  .has-dropdown>a .dd-arrow{display:none;}
  .nav__cta{border-color:var(--gold-light);color:var(--gold-light) !important;}
  .burger{
    display:flex;flex-direction:column;gap:5px;z-index:600;background:none;border:none;cursor:pointer;padding:.5rem;position:relative;
  }
  .burger span{width:26px;height:2px;background:#fff;transition:transform .3s,opacity .3s,background .3s;display:block;}
  .site-head.is-solid .burger span,.site-head--light .burger span{background:var(--navy);}
  /* Otwarte menu: kreski ZAWSZE białe (tło overlayu jest granatowe) i składają się w X */
  html.menu-open .burger span{background:#fff !important;}
  html.menu-open .burger span:nth-child(1){transform:translateY(7px) rotate(45deg);}
  html.menu-open .burger span:nth-child(2){opacity:0;}
  html.menu-open .burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
  html.menu-open,body.menu-open{overflow:hidden;touch-action:none;}

  .hero{flex-direction:column;height:auto;min-height:100svh;}
  .hero__panel{min-height:46svh;}
  .hero:has(.hero__panel--left:hover) .hero__panel--left,.hero:has(.hero__panel--right:hover) .hero__panel--right{flex:1;}
  .hero__divider{flex-direction:row;width:100%;height:0;}
  .hero__line{height:1px;width:auto;flex:1;background:linear-gradient(90deg,transparent,var(--gold) 30%,var(--gold) 70%,transparent);}
  .hero__diamond{width:52px;height:52px;margin:-26px 0;}
  .hero__flag{position:relative;left:0;transform:none;width:100%;border-left:none;border-right:none;}
  .hero__content{padding:4.5rem 8%;}
  .hero__title{font-size:clamp(2.1rem,9vw,3rem);}

  .az{grid-template-columns:1fr 1fr;gap:2.2rem 1rem;}
  .az::before{display:none;}
  .ba__grid{grid-template-columns:1fr;}
  .service,.about,.two-col,.contact__inner{grid-template-columns:1fr;}
  .service--reverse .service__media{order:0;}
  .about__media{margin:0 auto;}
  .calc{padding:1.8rem 1.4rem;}
  .calc__result{gap:1.6rem;}
  .offers__grid,.who{grid-template-columns:1fr;}
  .steps{grid-template-columns:1fr 1fr;}
  .steps::before{display:none;}
  .page-hero__script{display:none;}
  .stats__grid{grid-template-columns:1fr;gap:2.2rem;}
  .stats__item+.stats__item::before{display:none;}
  .pricing__grid,.pricing__grid.pricing__grid--three{grid-template-columns:1fr 1fr;}
  .reviews--static .reviews__grid{grid-template-columns:1fr;}
  .review{width:300px;}
  .footer__grid{grid-template-columns:1fr;gap:1.8rem;}
  .case__hero,.case:nth-of-type(even) .case__hero{grid-template-columns:1fr;}
  .case:nth-of-type(even) .case__hero img{order:0;}
  .case__thumbs{grid-template-columns:1fr 1fr;}
}
@media (max-width:620px){
  .pricing__grid,.pricing__grid.pricing__grid--three{grid-template-columns:1fr;}
  .az{grid-template-columns:1fr;}
  .steps{grid-template-columns:1fr;}
  .form{padding:1.4rem;}
  .hero__panel{min-height:52svh;}
}

/* ============================================================
   REDUCED MOTION — na końcu, żeby wygrać kolejnością
   ============================================================ */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none !important;transition:none !important;scroll-behavior:auto !important;}
  .reveal,.az__step{opacity:1 !important;transform:none !important;}
  .reviews__wrap{mask-image:none;-webkit-mask-image:none;overflow-x:auto;}
  .reviews__track{width:auto;}
}
